/* =========================================================
   booyage.info – Seitenspezifisch: kontakt.html
   Wird nur von kontakt.html geladen (nach booyage-visual.css).
   ========================================================= */
.bv .kv svg:not(.kv-svg),.bv .contact-topic svg,.bv .mail-prev svg,.bv .contact-card .btn svg,.bv .fit-card svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Header: Themen → ein Ansprechpartner ---------- */
.bv .kv{position:relative;width:100%;height:calc(380px * var(--s,1))}
.bv .kv-stage{position:absolute;left:0;top:0;width:560px;height:380px;transform:scale(var(--s,1));transform-origin:top left}
.bv .kv-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.bv .k-line{fill:none;stroke:#cfdde7;stroke-width:2;stroke-dasharray:4 6}
.bv .k-dot{fill:#e72fa0;filter:drop-shadow(0 0 4px rgba(231,47,160,.6))}
.bv .k-chip{position:absolute;translate:-50% -50%;display:inline-flex;align-items:center;gap:8px;padding:7px 12px 7px 7px;background:#fff;border:1px solid var(--line);border-radius:12px;font-size:.84rem;font-weight:750;color:var(--ink2);box-shadow:0 10px 24px rgba(22,55,79,.08);white-space:nowrap;z-index:2}
.bv .k-chip i{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--soft2);color:var(--blue)}
.bv .k-chip svg{width:16px;height:16px}
.bv .k-card{position:absolute;left:280px;top:190px;translate:-50% -50%;width:236px;padding:18px;border-radius:20px;background:var(--navy);color:#fff;box-shadow:0 26px 56px rgba(13,36,56,.3);overflow:hidden;z-index:3}
.bv .k-card:before{content:"";position:absolute;width:220px;height:220px;right:-90px;top:-110px;border-radius:50%;background:var(--brand);filter:blur(28px);opacity:.5}
.bv .k-card>*{position:relative}
.bv .kc-top{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.bv .kc-top img{width:22px;height:31px;object-fit:contain}
.bv .kc-top b{display:block;font:400 1.15rem/1 var(--serif)}
.bv .kc-top span{font-size:.72rem;color:rgba(255,255,255,.65)}
.bv .kc-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid rgba(255,255,255,.12);font-size:.78rem;color:rgba(255,255,255,.85)}
.bv .kc-row svg{width:15px;height:15px;color:#ffb23f}
.bv .kc-badge{margin-top:12px;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.12);font-size:.72rem;font-weight:800;text-align:center}
@media (prefers-reduced-motion:no-preference){
 .bv .k-card{animation:bv-pop .7s cubic-bezier(.2,.9,.2,1.3) .2s both}
 .bv .k-chip{animation:bv-pop .55s cubic-bezier(.2,.9,.2,1.3) both;animation-delay:calc(.5s + var(--i) * .12s)}
 .bv .k-line{animation:bv-rise .6s ease both;animation-delay:calc(1s + var(--i) * .12s)}
}

/* ---------- Themen & Formular ---------- */
.bv .contact-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:44px;align-items:start}
.bv .contact-copy h2{font-size:clamp(2rem,3.4vw,3rem);margin-bottom:16px}
.bv .contact-copy>p{color:var(--muted)}
.bv .contact-topics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.bv .contact-topic{position:relative;display:grid;gap:6px;padding:18px 18px 18px;border-radius:16px;background:#fff;border:1px solid var(--line);color:inherit;text-decoration:none;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.bv .contact-topic strong{font:400 1.08rem/1.2 var(--serif);color:var(--ink)}
.bv .contact-topic span:not(.ct-ic){font-size:.84rem;line-height:1.5;color:var(--muted)}
.bv .ct-ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#eaf4fa;color:var(--blue);margin-bottom:4px;transition:background .25s ease,color .25s ease}
.bv .ct-ic svg{width:19px;height:19px}
.bv .contact-topic:hover{border-color:#cfe0eb;box-shadow:0 12px 28px rgba(22,55,79,.08);transform:translateY(-2px)}
.bv .contact-topic.is-active{border-color:#f2c6d6;box-shadow:0 14px 30px rgba(214,52,135,.14)}
.bv .contact-topic.is-active .ct-ic{background:var(--brand);color:#fff}
.bv .contact-topic.is-active:after{content:"✓";position:absolute;right:14px;top:14px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:.74rem;color:#fff;background:var(--brand)}
.bv .contact-card{position:sticky;top:100px;border-radius:22px;padding:30px;box-shadow:var(--shadow);overflow:hidden}
.bv .contact-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--brand)}
.bv .contact-card h2{font-size:clamp(1.6rem,2.4vw,2.1rem);margin-bottom:8px}
.bv .contact-card .intro{color:var(--muted);font-size:.92rem;margin-bottom:18px}
.bv .contact-card .field input,.bv .contact-card .field select,.bv .contact-card .field textarea{background:#fbfdfe;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.bv .contact-card .field input:focus,.bv .contact-card .field select:focus,.bv .contact-card .field textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(45,121,168,.12);background:#fff}
.bv .contact-card .field select.is-picked{border-color:#f2c6d6;box-shadow:0 0 0 4px rgba(231,47,160,.1)}
.bv .contact-card .btn{display:inline-flex;align-items:center;gap:8px;margin-top:16px}
.bv .contact-card .btn svg{width:17px;height:17px}
.bv .contact-direct{margin-top:16px;padding-top:14px;border-top:1px dashed #d6e2ea;font-size:.88rem;color:var(--muted)}
.bv .contact-direct a{font-weight:750}
/* E-Mail-Vorschau */
.bv .mail-prev{margin-top:16px;border:1px solid var(--line);border-radius:14px;background:#f8fbfd;overflow:hidden}
.bv .mp-head{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#f0f5f9;border-bottom:1px solid var(--line);font-size:.78rem}
.bv .mp-head svg{width:15px;height:15px;color:var(--blue)}
.bv .mp-head b{color:var(--ink)}
.bv .mp-to{margin-left:auto;color:var(--muted)}
.bv .mp-subj{padding:9px 14px 0;font-size:.78rem;font-weight:750;color:var(--ink2)}
.bv .mp-body{padding:6px 14px 12px;font-size:.8rem;line-height:1.55;color:var(--ink2);white-space:pre-line;max-height:170px;overflow:auto}
.bv .mp-empty{color:var(--muted);font-style:italic}
.bv .mp-line{display:block}
.bv .mp-line b{color:var(--ink)}
.bv .mp-line.is-new{animation:bv-rise .35s ease}

/* ---------- Ablauf (statisches Band) ---------- */
.bv .steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.bv .band-static .bt-fill{transform:none}
.bv .band-static .bt-steps>*:before{border-left-color:var(--blue)}
.bv .step-card{overflow:visible}
.bv .step-no{display:block;font:400 2rem/1 var(--serif);color:#c9d9e5;margin-bottom:10px}
@media(max-width:820px){.bv .band-static .bt-vrail span{transform:none}}

/* ---------- Gesprächsanlässe ---------- */
.bv .fit-box{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bv .fit-card{display:flex;flex-direction:column}
.bv .fit-card>strong{display:inline-flex;align-items:center;gap:8px;font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--blue);margin-bottom:8px}
.bv .fc-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eaf4fa;color:var(--blue);margin-bottom:14px}
.bv .fc-ic svg{width:21px;height:21px}
.bv .fit-card h3{font-size:1.45rem}
.bv .fc-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:auto;padding-top:14px}

/* ---------- FAQ ---------- */
.bv .faq-wrap{display:grid;grid-template-columns:.86fr 1.14fr;gap:46px;align-items:start}
.bv .faq-wrap h2{font-size:clamp(2rem,3.5vw,3rem)}
.bv .faq-intro{color:var(--muted);margin-top:16px;max-width:380px}
.bv .sec-faq .faq{max-width:none;background:#fff;border:1px solid var(--line);border-radius:18px;padding:6px 26px}
.bv .faq details{border-bottom:1px solid var(--line)}
.bv .faq details:last-child{border-bottom:0}
.bv .faq details p{color:var(--muted);padding-bottom:16px;margin:0}

/* ---------- Tablet & Handy ---------- */
@media(max-width:980px){
 .bv .kv{max-width:560px;margin:0 auto}
 .bv .contact-layout{grid-template-columns:1fr;gap:30px}
 .bv .contact-card{position:relative;top:auto}
 .bv .faq-wrap{grid-template-columns:1fr;gap:22px}
}
@media(max-width:820px){.bv .steps-grid{grid-template-columns:1fr}}
@media(max-width:640px){
 .bv .contact-topics{grid-template-columns:1fr 1fr;gap:8px}
 .bv .contact-topic{padding:14px}
 .bv .contact-topic span:not(.ct-ic){display:none}
 .bv .contact-topic strong{font-size:.96rem}
 .bv .contact-card{padding:22px 18px}
 .bv .fit-box{grid-template-columns:1fr}
 .bv .sec-faq .faq{padding:4px 18px}
 .bv .mp-to{display:none}
 .bv .k-chip{font-size:.92rem}
}

/* NEU: Erstgespräch & Antwortzeit im Hero */
.bv .k-promise{display:flex;gap:10px;align-items:flex-start;margin:20px 0 0;padding:12px 16px;border-radius:14px;background:#fff;border:1px solid var(--line);font-size:.9rem;line-height:1.5;color:var(--ink2);max-width:560px}
.bv .k-promise i{flex:0 0 8px;width:8px;height:8px;margin-top:7px;border-radius:50%;background:var(--brand)}

/* NEU: Abschluss-CTA – Augen-Logo statt B-Band */
.bv .cta-ribbon.cta-face{width:230px;right:-10px}
.bv .cta-ribbon.cta-face path{stroke-width:5.5}
