/* Kontakt-Hero: vertikales Padding (fehlte ganz → Hero war gequetscht unter der Nav) */
.page-hero{padding-top:48px;padding-bottom:14px;border-bottom:1px solid var(--brd)}
/* Formular-Sektion näher an den Hero rücken (vorher 80px → große Leerfläche) */
.contact-section{padding:44px 56px 80px;background:var(--bg)}
.contact-wrapper{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.55fr 1fr;gap:48px;align-items:flex-start}
.contact-form-card{background:linear-gradient(160deg,var(--card) 0%,#1e3044 100%);border:1px solid var(--brd);border-radius:20px;padding:44px 44px 36px;box-shadow:0 32px 80px rgba(0,0,0,.4);position:relative;overflow:hidden}
.contact-form-card::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(184,154,90,.45),transparent)}
.cf-head{margin-bottom:36px;padding-bottom:28px;border-bottom:1px solid var(--brd)}
.cf-head h2{font-size:30px;font-weight:700;line-height:1.18;margin:10px 0 14px;color:var(--w);letter-spacing:-.01em}
.cf-head p{font-size:15px;line-height:1.6;color:var(--t);margin:0;max-width:560px}
.cf-section{margin-bottom:30px}
.cf-section-h{font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-l);margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid rgba(184,154,90,.12);display:flex;align-items:center;gap:10px}
.cf-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:rgba(184,154,90,.18);color:var(--gold-l);font-size:11px;font-weight:700;letter-spacing:0;font-feature-settings:"tnum"}
.cf-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}
.cf-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.cf-field.cf-full{grid-column:1 / -1}
.cf-label{font-size:12.5px;font-weight:600;color:var(--m);letter-spacing:.02em}
.cf-req{color:var(--gold-l);font-weight:700;margin-left:2px}
.cf-input{background:rgba(13,26,45,.65);border:1px solid var(--brd);border-radius:10px;padding:12px 14px;color:var(--w);font-family:inherit;font-size:14px;line-height:1.4;transition:border-color .2s,box-shadow .2s,background .2s;outline:none;width:100%;box-sizing:border-box}
.cf-input:focus{border-color:var(--gold);background:rgba(13,26,45,.85);box-shadow:0 0 0 3px rgba(184,154,90,.14)}
.cf-input::placeholder{color:var(--f);opacity:1}
select.cf-input{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--m) 50%),linear-gradient(135deg,var(--m) 50%,transparent 50%);background-position:calc(100% - 18px) center,calc(100% - 13px) center;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:36px;cursor:pointer}
.cf-textarea{min-height:140px;resize:vertical;font-family:inherit;line-height:1.55}
.cf-hint{font-size:12px;color:var(--m);margin:14px 0 0;line-height:1.5;font-style:italic}
.cf-radio-group{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-top:18px;padding-top:18px;border-top:1px dashed var(--brd)}
.cf-radio-label{font-size:12.5px;font-weight:600;color:var(--m);letter-spacing:.02em;margin-right:4px}
.cf-radio{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--t);cursor:pointer;user-select:none}
.cf-radio input{accent-color:var(--gold);margin:0}
.cf-upload-zone{margin-top:18px;display:flex;align-items:center;gap:18px;padding:18px 22px;border:2px dashed rgba(184,154,90,.32);border-radius:12px;background:rgba(184,154,90,.04);position:relative;cursor:pointer;transition:background .2s,border-color .2s}
.cf-upload-zone:hover{background:rgba(184,154,90,.08);border-color:rgba(184,154,90,.5)}
.cf-upload-icon{flex:0 0 44px;height:44px;border-radius:10px;background:rgba(184,154,90,.18);color:var(--gold-l);font-size:22px;font-weight:700;display:flex;align-items:center;justify-content:center}
.cf-upload-text{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.cf-upload-text strong{font-size:14px;font-weight:600;color:var(--w)}
.cf-upload-text span{font-size:12.5px;color:var(--m)}
.cf-file-input{position:absolute;inset:0;opacity:0;cursor:pointer}
.cf-consent{margin:32px 0 24px;padding:22px;background:rgba(13,26,45,.5);border:1px solid var(--brd);border-radius:12px;display:flex;flex-direction:column;gap:14px}
.cf-check{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.55;color:var(--t);cursor:pointer}
.cf-check input{margin-top:3px;accent-color:var(--gold);flex:0 0 auto}
.cf-submit{width:100%;padding:18px 28px;background:linear-gradient(135deg,var(--gold),var(--gold-l));color:#0D1A2D;border:none;border-radius:12px;font-family:inherit;font-size:15px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:14px;transition:transform .15s,box-shadow .2s;box-shadow:0 14px 36px rgba(184,154,90,.28)}
.cf-submit:hover{transform:translateY(-1px);box-shadow:0 18px 44px rgba(184,154,90,.4)}
.cf-submit-arrow{font-size:18px;transition:transform .2s}
.cf-submit:hover .cf-submit-arrow{transform:translateX(4px)}
.cf-disclaimer{font-size:12px;color:var(--m);margin:18px 0 0;line-height:1.55;font-style:italic;text-align:center}
.contact-sidebar{display:flex;flex-direction:column;gap:18px;position:sticky;top:20px}
.contact-card{background:linear-gradient(160deg,var(--card) 0%,#162638 100%);border:1px solid var(--brd);border-radius:16px;padding:26px 26px 24px;position:relative;overflow:hidden}
.contact-card::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(184,154,90,.30),transparent)}
.contact-card-h{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--brd)}
.contact-flag{flex:0 0 28px;height:20px;border-radius:4px;overflow:hidden}
.contact-flag-de{display:flex;flex-direction:column}
.contact-flag-de span{flex:1;display:block}
.contact-flag-de span:nth-child(1){background:#000}
.contact-flag-de span:nth-child(2){background:#DD0000}
.contact-flag-de span:nth-child(3){background:#FFCE00}
.contact-flag-cn{background:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 20" preserveAspectRatio="none"><rect width="30" height="20" fill="%23DE2910"/><polygon points="5.00,2.00 5.67,4.07 7.85,4.07 6.09,5.35 6.76,7.43 5.00,6.15 3.24,7.43 3.91,5.35 2.15,4.07 4.33,4.07" fill="%23FFDE00"/><polygon points="9.14,2.51 9.62,1.97 9.25,1.34 9.91,1.63 10.39,1.08 10.33,1.80 11.00,2.09 10.29,2.25 10.22,2.97 9.85,2.35" fill="%23FFDE00"/><polygon points="11.01,4.14 11.66,3.82 11.56,3.10 12.07,3.62 12.72,3.30 12.38,3.95 12.88,4.47 12.17,4.34 11.83,4.99 11.73,4.27" fill="%23FFDE00"/><polygon points="11.04,6.73 11.76,6.70 11.96,6.00 12.21,6.68 12.94,6.66 12.37,7.10 12.62,7.79 12.01,7.38 11.44,7.83 11.64,7.13" fill="%23FFDE00"/><polygon points="9.22,8.38 9.90,8.63 10.35,8.06 10.32,8.79 11.00,9.05 10.30,9.24 10.26,9.96 9.87,9.36 9.16,9.55 9.62,8.98" fill="%23FFDE00"/></svg>') center/cover no-repeat #DE2910}
.contact-card-h h3{font-size:16px;font-weight:700;margin:0;color:var(--w)}
.contact-card-sub{font-size:11.5px;color:var(--gold-l);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.contact-card-body{display:flex;flex-direction:column;gap:9px;font-size:14px;color:var(--t);line-height:1.55}
.contact-card-body strong{color:var(--w);font-weight:700;font-size:14.5px}
.contact-line{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding-top:9px;border-top:1px dashed var(--brd);font-size:13.5px}
.contact-line .cl-l{color:var(--m);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.contact-line a{color:var(--gold-l);text-decoration:none;font-weight:600}
.contact-line a:hover{text-decoration:underline}
.contact-promise{background:linear-gradient(160deg,rgba(184,154,90,.06) 0%,rgba(184,154,90,.02) 100%);border:1px solid rgba(184,154,90,.20);border-radius:16px;padding:24px 26px}
.contact-promise h4{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-l);margin:0 0 18px}

/* Responsive: Layout auf schmalen Schirmen einspaltig stapeln */
@media(max-width:900px){
  .contact-wrapper{grid-template-columns:1fr;gap:32px}
  .cf-grid{grid-template-columns:1fr}
  .contact-sidebar{position:static;top:auto}
  .contact-form-card{padding:32px 22px 28px}
}

/* Aufklappbare optionale Technik-Sektion (weniger wahrgenommene Friktion) */
.cf-details{border:1px solid var(--brd);border-radius:12px;background:rgba(13,26,45,.3);overflow:hidden;margin-bottom:30px}
.cf-details>summary.cf-details-summary{margin:0;padding:16px 18px;border-bottom:0;cursor:pointer;list-style:none}
.cf-details-summary::-webkit-details-marker{display:none}
.cf-details-summary::after{content:"⌄";margin-left:auto;color:var(--m);font-size:18px;line-height:1;transition:transform .25s var(--ease-out)}
.cf-details[open]>summary.cf-details-summary{border-bottom:1px solid var(--brd)}
.cf-details[open] .cf-details-summary::after{transform:rotate(180deg)}
.cf-details .cf-grid{padding:18px}
.cf-details-summary:focus-visible{outline:2px solid var(--gold-l);outline-offset:2px}
.cf-optional{margin-left:2px;font-size:11px;font-weight:500;letter-spacing:.02em;text-transform:none;font-style:italic;color:var(--m)}

/* Reassurance-Zeile über dem Senden-Button */
.cf-reassure{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;margin:24px 0 16px}
.cf-reassure span{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--t)}
.cf-reassure span::before{content:"✓";color:var(--gold-l);font-weight:700;font-size:13px}
