/* Contact page v2 — scoped to the dedicated page-kontakt.php template. */
.lwik-contact-page { --contact-navy:#0a3255; --contact-deep:#061f36; --contact-signal:#f58714; --contact-paper:#f2f4f3; --contact-ink:#0c2233; --contact-muted:#5b6d7a; --contact-line:rgba(10,50,85,.16); background:var(--contact-paper); color:var(--contact-ink); }
.lwik-contact-page .container { width:100%; max-width:1220px; }

.lwik-contact-hero { padding:clamp(3.75rem,7vw,6.25rem) 0 clamp(4.25rem,7vw,6.75rem); background:var(--contact-navy); color:#fff; }
.lwik-contact-hero .lwik-breadcrumbs { margin-bottom:clamp(2.5rem,5vw,4.5rem); }
.lwik-contact-hero .lwik-breadcrumbs,.lwik-contact-hero .lwik-breadcrumbs a { color:rgba(255,255,255,.62); }
.lwik-contact-hero__grid { display:grid; grid-template-columns:minmax(0,.88fr) minmax(360px,.72fr); gap:clamp(3rem,8vw,8rem); align-items:end; }
.lwik-contact-hero .lwik-kicker { margin:0 0 .8rem; color:var(--contact-signal); font-size:.78rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.lwik-contact-page .lwik-contact-hero h1 { margin:0; color:#fff; font-size:clamp(2.7rem,5vw,4.7rem); font-weight:800; letter-spacing:-.035em; line-height:.98; }
.lwik-contact-hero__grid>p { max-width:39rem; margin:0; color:rgba(255,255,255,.82); font-size:clamp(1.05rem,1.4vw,1.24rem); line-height:1.65; }

.lwik-contact-overview { padding:clamp(3rem,6vw,5rem) 0 clamp(5rem,9vw,8rem); }
.lwik-contact-overview__heading { display:grid; grid-template-columns:minmax(0,.8fr) minmax(380px,.7fr); gap:clamp(2rem,6vw,6rem); align-items:end; margin-bottom:clamp(2.25rem,4vw,3.5rem); }
.lwik-contact-eyebrow,.lwik-contact-card__label { margin:0 0 .65rem; color:var(--contact-signal); font-size:.74rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.lwik-contact-page .lwik-contact-overview__heading h2 { margin:0; color:var(--contact-navy); font-size:clamp(2rem,3.4vw,3.35rem); font-weight:800; letter-spacing:-.03em; line-height:1.02; }
.lwik-contact-overview__heading>p { max-width:43rem; margin:0; color:var(--contact-muted); font-size:1.04rem; line-height:1.7; }
.lwik-contact-overview__grid { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; }
.lwik-contact-card { overflow:hidden; border:1px solid var(--contact-line); border-radius:14px; background:#fff; box-shadow:0 18px 45px rgba(6,31,54,.07); }
.lwik-contact-card--direct { display:flex; padding:clamp(2rem,4vw,3.25rem); flex-direction:column; }
.lwik-contact-page .lwik-contact-card h2 { margin:0; color:var(--contact-navy); font-size:clamp(1.65rem,2.5vw,2.35rem); font-weight:800; letter-spacing:-.025em; line-height:1.08; }
.lwik-contact-card__copy { margin:1.15rem 0 2rem; color:var(--contact-muted); font-size:.98rem; line-height:1.65; }
.lwik-contact-methods { display:grid; gap:0; border-top:1px solid var(--contact-line); }
.lwik-contact-method { display:grid; grid-template-columns:72px minmax(0,1fr); gap:1rem; padding:1rem 0; border-bottom:1px solid var(--contact-line); color:var(--contact-navy); text-decoration:none; }
.lwik-contact-method span { padding-top:.12rem; color:var(--contact-muted); font-size:.75rem; font-weight:700; text-transform:uppercase; }
.lwik-contact-method strong { font-size:1rem; font-weight:700; line-height:1.45; }
a.lwik-contact-method:hover strong,a.lwik-contact-method:focus-visible strong { color:var(--contact-signal); }
.lwik-contact-card__actions { display:flex; align-items:center; gap:1.2rem; margin-top:auto; padding-top:2rem; }
.lwik-contact-button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; padding:.8rem 1.3rem; border-radius:10px; background:var(--contact-signal); color:var(--contact-ink); font-weight:800; text-decoration:none; }
.lwik-contact-button:hover,.lwik-contact-button:focus-visible { background:#ff9b2e; color:var(--contact-ink); }
.lwik-contact-text-link { color:var(--contact-navy); font-weight:800; text-decoration:none; }
.lwik-contact-text-link span { margin-left:.35rem; color:var(--contact-signal); }

.lwik-contact-card--location { display:grid; min-width:0; grid-template-columns:minmax(280px,.82fr) minmax(420px,1.18fr); align-items:stretch; }
.lwik-contact-card__location-head { display:flex; min-width:0; padding:clamp(2rem,4vw,3.25rem); flex-direction:column; }
.lwik-contact-card__location-head h2+p { margin:.75rem 0 2rem; color:var(--contact-muted); font-size:1rem; line-height:1.6; }
.lwik-contact-card__location-head h2+p strong { color:var(--contact-navy); }
.lwik-contact-card__location-head .lwik-contact-methods { margin-top:auto; }
.lwik-contact-map { position:relative; height:auto; min-height:350px; border-left:1px solid var(--contact-line); background:#eaf0f3; }
.lwik-contact-page #map.lwik-contact-map.is-loading,.lwik-contact-page #map.lwik-contact-map.is-loaded { height:auto; min-height:350px; }
.lwik-contact-map .lwik-map-placeholder { border:0; border-radius:0; }

.lwik-contact-request { padding:clamp(4.5rem,8vw,7.5rem) 0 clamp(3rem,6vw,5rem); }
.lwik-contact-request__shell { padding:clamp(2rem,5vw,4rem); border:1px solid var(--contact-line); border-radius:14px; background:#fff; box-shadow:0 18px 45px rgba(6,31,54,.06); }
.lwik-contact-page .lwik-contact-form { width:100%; max-width:none; margin:0; padding:0; border:0; }
.lwik-contact-page .lwik-contact-form h2 { margin:0 0 1rem; color:var(--contact-navy); font-size:clamp(2rem,3.2vw,3rem); font-weight:800; letter-spacing:-.03em; }
.lwik-contact-page .lwik-contact-form>p { max-width:52rem; margin:0 0 2.5rem; color:var(--contact-muted); font-size:1rem; line-height:1.65; }
.lwik-contact-page .lwik-contact-form form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1.5rem; }
.lwik-contact-page .lwik-contact-form form>p { min-width:0; grid-column:auto!important; margin-bottom:1.25rem; }
.lwik-contact-page .lwik-contact-form form>p:nth-of-type(n+9) { grid-column:1/-1!important; }
.lwik-contact-page .lwik-contact-form input:not([type="checkbox"]),.lwik-contact-page .lwik-contact-form select,.lwik-contact-page .lwik-contact-form textarea { width:100%; max-width:none; border-color:#b8c6d1; border-radius:8px; background:#f9fbfc; }
.lwik-contact-page .lwik-contact-form button[type="submit"] { border-radius:10px; color:var(--contact-deep); }

@media (max-width:900px) {
	.lwik-contact-hero__grid,.lwik-contact-overview__heading { grid-template-columns:1fr; gap:1.5rem; }
	.lwik-contact-overview__grid { grid-template-columns:1fr; }
	.lwik-contact-card--location { grid-template-columns:1fr; }
	.lwik-contact-map { height:300px; min-height:300px; border-top:1px solid var(--contact-line); border-left:0; }
	.lwik-contact-page #map.lwik-contact-map.is-loading,.lwik-contact-page #map.lwik-contact-map.is-loaded { height:300px; min-height:300px; }
}
@media (max-width:575px) {
	.lwik-contact-hero { padding:2.75rem 0 3.5rem; }
	.lwik-contact-hero .lwik-breadcrumbs { margin-bottom:2rem; }
	.lwik-contact-page .lwik-contact-hero h1 { font-size:2.55rem; }
	.lwik-contact-overview { padding:3rem 0 4rem; }
	.lwik-contact-overview__heading { margin-bottom:1.75rem; }
	.lwik-contact-card--direct { padding:1.5rem; }
	.lwik-contact-card__actions { align-items:stretch; flex-direction:column; }
	.lwik-contact-button,.lwik-contact-text-link { width:100%; justify-content:center; text-align:center; }
	.lwik-contact-card__location-head { padding:1.5rem; }
	.lwik-contact-map { height:220px; min-height:220px; }
	.lwik-contact-page #map.lwik-contact-map.is-loading,.lwik-contact-page #map.lwik-contact-map.is-loaded { height:220px; min-height:220px; }
	.lwik-contact-request__shell { padding:1.5rem; }
	.lwik-contact-page .lwik-contact-form form { grid-template-columns:1fr; }
	.lwik-contact-page .lwik-contact-form form>p { grid-column:1!important; }
}
