/* GGW Kontakt V1.0.0 – scoped, uses active GDS season tokens */
.ggw-contact { color: var(--gds-text-primary, var(--text, #292923)); font-family: inherit; }
.ggw-contact__hero { position:relative; width:100%; min-height:clamp(280px,32vw,465px); overflow:hidden; border-radius: 0 0 24px 24px; display:flex; align-items:center; justify-content:flex-end; isolation:isolate; }
.ggw-contact__hero-image { position:absolute; inset:0; width:100%;height:100%;object-fit:cover;object-position:50% 45%;z-index:-2; }
.ggw-contact__hero::before { content:""; position:absolute;inset:0;background:linear-gradient(90deg,transparent 38%,rgba(20,28,17,.26) 60%,rgba(22,29,19,.67) 100%);z-index:-1; }
.ggw-contact__hero-copy { margin:clamp(18px,4vw,65px);max-width:440px;padding:clamp(18px,2.4vw,30px);color:#fff;background:rgba(20,34,22,.55);border:1px solid rgba(255,255,255,.26);border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.18); }
.ggw-contact__hero-copy h1 { font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.15;color:#fff;margin:.2em 0 .4em; }
.ggw-contact__hero-copy p { color:#fff;margin:0;line-height:1.65; }
.ggw-contact__hero-copy .ggw-contact__eyebrow { font-size:.86rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700; }
.ggw-contact__content { max-width:850px;margin:clamp(20px,4vw,48px) auto;padding:0 18px 50px; }
.ggw-contact__content .com-contact { background:var(--gds-surface-card,var(--card,#fffdf8));border:1px solid var(--gds-border-soft,var(--border-card,#ddd));border-radius:22px;padding:clamp(18px,3.5vw,38px);box-shadow:var(--gds-shadow-card,var(--shadow-soft,0 8px 25px rgba(0,0,0,.08))); }
.ggw-contact__form .form-horizontal, .ggw-contact__form .well { background:transparent;border:0;box-shadow:none;padding:0;margin:0; }
.ggw-contact__form fieldset { border:0;padding:0;min-width:0; }
.ggw-contact__form legend { font-size:1.05rem;font-weight:700;margin:10px 0 16px;color:inherit; }
.ggw-contact__form-intro { margin:0 0 18px; }
.ggw-contact__form .control-group, .ggw-contact__form .mb-3 { margin-bottom:17px; }
.ggw-contact__form label, .ggw-contact__topic-field label { font-weight:650;display:block;margin-bottom:7px; }
.ggw-contact__form input:not([type=checkbox]):not([type=hidden]),.ggw-contact__form textarea,.ggw-contact__form select { width:100%;max-width:100%;border:1px solid var(--gds-border-soft,var(--border-card,#c9c9c9));border-radius:10px;padding:10px 13px;background:var(--gds-surface-card,var(--card,#fff));color:var(--gds-text-primary,var(--text,#222));min-height:44px; }
.ggw-contact__form textarea { min-height:155px; }
.ggw-contact__form :is(input,textarea,select):focus { outline:2px solid var(--accent,#447c50);outline-offset:2px; }
.ggw-contact__topic-field { margin:0 0 22px; }
.ggw-contact__privacy { margin:20px 0;font-size:.91rem;line-height:1.6;color:var(--gds-text-secondary,var(--muted,inherit)); }
.ggw-contact__form button[type=submit] { border-radius:10px;padding:11px 24px;font-weight:700;background:var(--accent,#4c8050);border-color:transparent;color:#fff; }
.ggw-contact__form button[type=submit]:hover { filter:brightness(.92); }
@media (max-width:700px) { .ggw-contact__hero { min-height:430px;align-items:flex-end;justify-content:stretch; } .ggw-contact__hero-image {object-position:26% 50%;} .ggw-contact__hero::before {background:linear-gradient(to bottom,transparent 18%,rgba(18,30,19,.78) 100%);} .ggw-contact__hero-copy {max-width:unset;margin:12px;padding:18px;} .ggw-contact__content {padding:0 12px 30px;} }
