/* BrainYounger — Funnel v2: Start, Popups, Verkaufsseite, Bezahlung
   Wird zusaetzlich zu brainyounger.css geladen. */

/* schlanker Header wie bei MyIQ */
.nav-in{height:72px}
.nav-cta{margin-left:auto}

/* Startbildschirm */
.start-list{display:flex;flex-direction:column;gap:12px;margin:22px 0 26px}
.start-list div{display:flex;gap:12px;align-items:flex-start;font-size:17px;color:var(--ink-2)}
.gender-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gender-row .btn{min-height:60px}
.gender-skip{display:block;width:100%;text-align:center;margin-top:12px;font-size:15px;color:var(--muted);
             background:none;border:0;cursor:pointer;text-decoration:underline;min-height:auto;padding:6px;font-family:inherit}
.legal-box{margin-top:22px;padding:16px 18px;background:#F7FAF9;border:1px solid var(--line);
           border-radius:14px;font-size:14.5px;line-height:1.6;color:var(--ink-2)}
.legal-box b{color:var(--ink)}
.legal-box a{color:var(--mint-dark)}

/* Popups waehrend der Auswertung */
.modal-bg{position:fixed;inset:0;background:rgba(8,20,16,.55);backdrop-filter:blur(6px);
          z-index:90;display:flex;align-items:center;justify-content:center;padding:20px}
.modal{background:#fff;border-radius:22px;padding:30px 26px 26px;width:100%;max-width:440px;
       box-shadow:0 30px 80px rgba(0,0,0,.35);text-align:center;
       animation:pop .28s cubic-bezier(.2,.9,.3,1.2)}
@keyframes pop{from{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}
.modal .spark{width:54px;height:54px;margin:0 auto 14px;color:var(--mint)}
.modal h3{font-size:21px;margin-bottom:8px}
.modal p{font-size:16.5px;color:var(--ink-2)}
.modal .lockline{display:flex;gap:10px;align-items:center;text-align:left;background:#F7FAF9;
                 border-radius:12px;padding:12px 14px;margin:16px 0 4px;font-size:15px;color:var(--ink-2)}
.modal-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.modal-btns.one{grid-template-columns:1fr}
.modal-btns .btn{min-height:54px}

/* Klebrige Leiste oben auf der Verkaufsseite */
.sticky-bar{position:sticky;top:0;z-index:60;background:var(--ink);color:#fff;
            padding:8px 14px;display:flex;align-items:center;justify-content:center;gap:12px;
            font-size:15px;flex-wrap:nowrap;text-align:center;min-height:52px}
.sticky-bar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sticky-bar b{color:var(--glow)}
.sticky-bar .btn{min-height:40px;padding:8px 16px;font-size:14px;background:var(--mint);color:#04241B;
                 border-color:var(--mint);box-shadow:none}

/* Konfetti */
.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.confetti i{position:absolute;top:-12px;width:8px;height:12px;border-radius:2px;opacity:.9;
            animation:fall linear forwards}
@keyframes fall{to{transform:translateY(110vh) rotate(540deg);opacity:0}}

/* Verkaufs-Hero */
.sale-hero{position:relative;overflow:hidden;background:
   radial-gradient(70% 90% at 80% 10%, #DCF5EA 0%, rgba(220,245,234,0) 62%),
   linear-gradient(180deg,#FFFFFF,#F1F8F5);border-bottom:1px solid var(--line);
   padding:clamp(30px,5vw,60px) 0}
.sale-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;position:relative;z-index:1}
.sale-hero h1{font-size:clamp(30px,4.6vw,48px)}
.sale-hero h1 span{display:block;color:var(--mint-dark)}
.cmp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:end}
.cmp{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;
     box-shadow:var(--shadow-m);text-align:center}
.cmp .cmp-head{padding:10px 8px;font-weight:700;font-size:15px;background:#F3F7F5;color:var(--ink-2)}
.cmp .cmp-body{padding:18px 8px 16px}
.cmp .cmp-val{font-size:clamp(22px,3vw,32px);font-weight:750;letter-spacing:-.02em}
.cmp .cmp-lbl{font-size:13px;color:var(--muted);margin-top:4px}
.cmp.you{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-8px)}
.cmp.you .cmp-head{background:rgba(255,255,255,.08);color:#CFE9DE}
.cmp.you .cmp-val{color:var(--glow);filter:blur(7px)}
.cmp.you.open .cmp-val{filter:none}
.cmp.you .cmp-lbl{color:#9FBDB3}
/* Auch das Gehirnalter bleibt bis zum Freischalten verdeckt */
.cmp.you .cmp-lbl b{filter:blur(6px);color:var(--glow)}
.cmp.you.open .cmp-lbl b{filter:none}
.cmp .ico{width:40px;height:40px;margin:0 auto 8px;color:var(--mint-dark)}
.cmp.you .ico{color:var(--glow)}
@media(max-width:820px){.sale-grid{grid-template-columns:1fr}.cmp .cmp-val{font-size:24px}}

/* Verkaufsblock: Vertrauen links, Zusammenfassung rechts */
.sale-cols{display:grid;grid-template-columns:1fr 1.05fr;gap:22px;align-items:start}
@media(max-width:900px){.sale-cols{grid-template-columns:1fr}}
.trust-col{background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);
           padding:26px 24px;box-shadow:var(--shadow-s)}
.trust-col h4{margin:0 0 16px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.trust-item{display:flex;gap:14px;margin-bottom:18px}
.trust-item svg{width:30px;height:30px;flex:0 0 30px;color:var(--mint-dark)}
.trust-item b{display:block;font-size:16.5px;margin-bottom:3px}
.trust-item p{font-size:14.5px;color:var(--ink-2);line-height:1.5}

.summary{background:var(--card);border:2px solid var(--mint);border-radius:var(--r-l);
         padding:24px;box-shadow:var(--shadow-l)}
.summary .inc{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
.summary .inc div{display:flex;gap:10px;align-items:flex-start;font-size:16px;color:var(--ink-2)}
.sum-box{background:#F7FAF9;border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.sum-box h5{margin:0 0 10px;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sum-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:15.5px;
         border-bottom:1px solid var(--line)}
.sum-row:last-child{border-bottom:0}
.sum-row b{color:var(--mint-dark)}
.due{display:flex;justify-content:space-between;align-items:baseline;margin:16px 0 14px;
     font-size:17px;font-weight:650}
.due .amt{font-size:30px;font-weight:750;letter-spacing:-.02em}

.pay-methods{display:flex;flex-direction:column;gap:10px}
.pay-btn{min-height:54px;border-radius:12px;font-weight:650;font-size:16px;display:flex;
         align-items:center;justify-content:center;gap:10px;cursor:pointer;border:2px solid transparent;
         font-family:inherit;width:100%}
.pay-btn.card{background:var(--mint);color:#04241B}
.pay-btn.soon{background:#F1F4F3;color:#8A9A93;border-color:var(--line);cursor:not-allowed}
.pay-btn.soon small{font-weight:500;font-size:12.5px}
.card-form{margin-top:12px;display:none;flex-direction:column;gap:10px}
.card-form.show{display:flex}
.card-form label{font-size:13.5px;color:var(--muted);font-weight:600;margin-bottom:-4px}
.card-form .field{min-height:54px;font-size:16.5px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.card-form .btn{margin-top:6px}
.pay-note{font-size:13.5px;color:var(--muted);text-align:center;margin-top:8px}

/* Unter der Verkaufsseite */
.report{background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);
        padding:26px 24px;box-shadow:var(--shadow-s);position:relative}
.report h3{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.report .intro{font-size:16.5px;color:var(--ink-2);margin-bottom:14px}
.report-blur{position:relative;color:var(--ink-2);font-size:16px;line-height:1.6}
.report-blur .txt{filter:blur(6px);user-select:none}
.report-blur.open .txt{filter:none}
.lock-badge{position:absolute;inset:0;display:grid;place-items:center}
.lock-badge span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 16px;
                 font-size:14px;font-weight:650;color:var(--mint-dark);display:inline-flex;gap:8px;
                 align-items:center;box-shadow:var(--shadow-m)}
.report-blur.open .lock-badge{display:none}
.benefits{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.benefit{background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:24px;
         box-shadow:var(--shadow-s)}
.benefit h3{font-size:20px;margin-bottom:12px}
.benefit div{display:flex;gap:10px;align-items:flex-start;font-size:15.5px;color:var(--ink-2);margin-bottom:9px}
@media(max-width:760px){.benefits{grid-template-columns:1fr}}

.res-shell{max-width:1040px}
.res-sec{margin-top:26px}
.res-sec h2{font-size:clamp(24px,3.4vw,32px);margin-bottom:14px}

/* Abfrage-Bildschirme fuer Alter und Abschluss */
.age-warn{background:#FFF9EC;border:1px solid #F2E2BE;border-radius:14px;padding:16px 18px;
          font-size:15.5px;color:#7A5A16;line-height:1.55;margin:4px 0 18px}
.age-warn b{color:#5C4200}

/* Fortschritt bei der Auswertung (Balken + Liste) */
.analyz .bar{height:14px;margin:18px 0 6px}
.analyz .pct{font-size:13px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}

@media(max-width:560px){
  .gender-row{grid-template-columns:1fr}
  .modal{padding:24px 18px 20px}
  .modal-btns{grid-template-columns:1fr}
  .sticky-bar{font-size:13.5px;gap:8px;padding:6px 10px}
  .sticky-bar .btn{min-height:34px;padding:6px 12px;font-size:13px}
  .cmp-cards{gap:8px}
  .cmp .cmp-head{font-size:13px;padding:8px 6px}
  .field-row{grid-template-columns:1fr}
}

/* =========================================================
   Nachtrag 5: Antworten fuer das Handy optimiert
   Immer untereinander, groessere Tippflaechen, keine Buchstaben.
   ========================================================= */
.opts{gap:12px}
.opt{min-height:68px;font-size:18px;padding:16px 20px;line-height:1.35;
     justify-content:flex-start;text-align:left}
.opt.wide{justify-content:center;text-align:center}
.opts.two{grid-template-columns:1fr 1fr}
.opts.two .opt{justify-content:center;text-align:center;font-size:22px;font-weight:650}

/* Musterreihen: Antwortfelder gross genug zum Tippen */
.svg-opts{gap:12px}
.svg-opt{min-height:82px;padding:10px}

.quiz-card{padding:clamp(20px,4vw,40px)}
.q-title{font-size:clamp(20px,3vw,27px);line-height:1.3}

@media(max-width:640px){
  .quiz-card{padding:20px 16px;border-radius:20px}
  .opt{min-height:66px;font-size:17.5px;padding:15px 16px}
  .opts.two .opt{font-size:21px;min-height:64px}
  .q-title{font-size:21px;margin-bottom:20px}
  .q-sub{font-size:15.5px}
  .memo-box{font-size:clamp(42px,13vw,58px);padding:26px 0}
  .stroop{font-size:clamp(48px,15vw,72px);padding:20px 0}
  .tapzone{height:180px;font-size:18px}
  .svg-opts{grid-template-columns:repeat(3,1fr);gap:9px}
  .svg-opt{min-height:70px;padding:8px}
  .start-list div{font-size:16px}
  .gender-row .btn{min-height:64px;font-size:18px}
  .quiz-top{margin-bottom:18px}
}
/* sehr schmale Geraete */
@media(max-width:380px){
  .opt{min-height:62px;font-size:16.5px;padding:13px 14px}
  .q-title{font-size:19.5px}
  .svg-opt{padding:5px;min-height:64px}
  .svg-opts{gap:7px}
}

/* Sichtbarer Countdown bei den Merkaufgaben */
.cd-track{height:10px;background:var(--line);border-radius:999px;overflow:hidden;margin:6px 0 14px}
.cd-fill{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--mint),var(--glow));border-radius:999px}
.cd-num{display:inline-block;min-width:1.1em;font-size:1.35em;font-weight:750;color:var(--mint-dark);
        font-variant-numeric:tabular-nums}

/* =========================================================
   Laufzeit in der Kopfzeile, rechts — linke Seite bleibt frei
   ========================================================= */
.hdr-timer{margin-left:auto;display:inline-flex;align-items:center;gap:7px;
  background:var(--card);border:1px solid var(--line);border-radius:999px;
  padding:7px 14px 7px 12px;font-size:15px;font-weight:600;color:var(--ink-2);
  box-shadow:var(--shadow-s);font-variant-numeric:tabular-nums}
.hdr-timer svg{width:17px;height:17px;flex:0 0 17px;color:var(--mint-dark)}
.hdr-timer b{font-weight:750;color:var(--ink);min-width:2.9em;text-align:left}

/* =========================================================
   Aufgabenseite: Frage oben, Antworten unten am Daumen
   ========================================================= */
.quiz-page{display:flex;flex-direction:column;align-items:center;
  padding:26px 20px calc(30px + env(safe-area-inset-bottom))}
.q-actions:empty{display:none}
.q-body .num{font-size:clamp(40px,7vw,58px);font-weight:750;letter-spacing:-.03em;color:var(--mint-dark)}

@media(max-width:820px){
  .quiz-page{min-height:calc(100dvh - 72px);padding:18px 14px calc(20px + env(safe-area-inset-bottom))}
  .quiz-page .quiz-card{flex:1 1 auto;display:flex;flex-direction:column;width:100%}
  .q-body{flex:1 1 auto}
  .q-actions{margin-top:auto;padding-top:20px}
}
@media(max-width:560px){
  .nav-in{height:60px}
  .quiz-page{min-height:calc(100dvh - 60px)}
  .hdr-timer{padding:6px 12px 6px 10px;font-size:14px}
  .hdr-timer svg{width:15px;height:15px;flex:0 0 15px}
}

/* Matrizen und Figurenreihen skalieren mit */
.mtx{max-width:100%;height:auto}
.svg-opt .fig{display:block;width:100%;height:auto;max-width:96px;margin:0 auto}

/* Buchstaben- und Zahlenreihen im Fragetext */
.big-word,.seq{display:block;margin-top:14px;font-weight:750;text-align:center;color:var(--ink)}
.big-word{font-size:clamp(25px,6.6vw,36px);letter-spacing:.1em}
.seq{font-size:clamp(23px,5.8vw,33px);letter-spacing:.03em;font-variant-numeric:tabular-nums}

/* Wortlisten und Paare zum Merken */
.memo-list{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:18px 0 8px}
.memo-list span{background:var(--mint-soft);border-radius:12px;padding:12px 16px;
  font-size:clamp(18px,4.4vw,23px);font-weight:700;letter-spacing:.06em}
.memo-pairs{display:grid;gap:10px;margin:18px 0 8px}
.memo-pairs div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  background:var(--mint-soft);border-radius:12px;padding:13px 16px}
.memo-pairs b{font-size:clamp(19px,4.4vw,23px)}
.memo-pairs small{font-size:14px;color:var(--ink-2);font-weight:700;
  text-transform:uppercase;letter-spacing:.1em}

/* Reaktionsaufgabe mit zwei Feldern */
.two-tap{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tapzone.half{height:200px;font-size:20px}
@media(max-width:640px){
  .tapzone{height:32vh;min-height:170px}
  .tapzone.half{height:28vh;min-height:150px}
}
