/* ============================ Krankenkassenvergleich ======================== */
:root{
  --ink:#0c1322; --ink-2:#3a4660; --ink-3:#6b7794;
  --line:#e6e9f2; --line-2:#eef1f8;
  --bg:#f6f7fb; --card:#ffffff;
  --blue:#1300ff; --blue-ink:#1300ff; --blue-soft:#eef0ff;
  --green:#0a7c54; --green-soft:#e7f6ef;
  --amber:#9a6400; --amber-soft:#fff3da;
  --red:#b42318;
  --radius:18px; --radius-sm:12px;
  --shadow:0 1px 2px rgba(12,19,34,.04), 0 8px 30px rgba(12,19,34,.06);
  --shadow-lg:0 2px 6px rgba(12,19,34,.06), 0 20px 50px rgba(12,19,34,.10);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"Hanken Grotesque",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased;
  background-image:radial-gradient(60rem 60rem at 110% -10%, #eef0ff 0%, transparent 55%),
                   radial-gradient(50rem 50rem at -10% 0%, #eafcf4 0%, transparent 50%);
}
.wrap{max-width:1140px; margin:0 auto; padding:0 20px}
h1,h2,h3,.brand,.hero-amount,.ex-num{font-family:"Bricolage Grotesque",system-ui,sans-serif; letter-spacing:-.02em}
a{color:var(--blue)}

/* ---- Topbar ---- */
.topbar{position:sticky; top:0; z-index:20; background:rgba(255,255,255,.82); backdrop-filter:blur(12px); border-bottom:1px solid var(--line)}
.topbar-inner{display:flex; align-items:center; justify-content:space-between; height:60px}
.brand{font-weight:800; font-size:1.18rem; display:flex; align-items:center; gap:.55rem}
.brand-mark{width:22px; height:22px; border-radius:7px; background:linear-gradient(135deg,var(--blue),#5a4cff); box-shadow:0 2px 8px rgba(19,0,255,.35); position:relative}
.brand-mark::after{content:"+"; position:absolute; inset:0; display:grid; place-items:center; color:#fff; font-weight:800; font-size:14px; line-height:1}
.brand-year{color:var(--blue); font-weight:800}
.brand-note{font-size:.82rem; color:var(--ink-3)}

/* ---- Intro ---- */
.intro{padding:48px 0 26px}
.intro h1{font-size:clamp(1.9rem,4vw,3rem); line-height:1.05; margin:0 0 .55rem; font-weight:800}
.lede{font-size:1.12rem; color:var(--ink-2); max-width:62ch; margin:0}
.lede strong{color:var(--ink)}

/* ---- Layout ---- */
.layout{display:grid; grid-template-columns:340px 1fr; gap:26px; align-items:start}
@media (max-width:920px){ .layout{grid-template-columns:1fr} }

/* ---- Controls ---- */
.controls{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:20px; box-shadow:var(--shadow); position:sticky; top:78px}
@media (max-width:920px){ .controls{position:static} }
.ctrl{margin-bottom:20px}
.ctrl:last-of-type{margin-bottom:6px}
.ctrl label{display:block; font-weight:700; font-size:.92rem; margin-bottom:8px}
.ctrl .opt{color:var(--ink-3); font-weight:500}
.hint{display:block; color:var(--ink-3); font-size:.78rem; margin-top:6px; line-height:1.35}
select, input[type=number]{
  width:100%; padding:11px 12px; border:1px solid var(--line); border-radius:var(--radius-sm);
  font:inherit; color:var(--ink); background:#fff; appearance:none;
}
select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7794' stroke-width='2.4'><path d='M6 9l6 6 6-6'/></svg>"); background-repeat:no-repeat; background-position:right 12px center; padding-right:34px}
select:focus, input:focus{outline:none; border-color:var(--blue); box-shadow:0 0 0 3px var(--blue-soft)}

.brutto-input{display:flex; align-items:center; gap:8px; position:relative}
.brutto-input input{flex:1; font-weight:700; font-size:1.05rem}
.brutto-input .eur{position:absolute; left:calc(100% - 145px); display:none}
.brutto-input select{width:auto; flex:0 0 124px; font-size:.9rem}
input[type=range]{width:100%; margin-top:14px; accent-color:var(--blue); height:4px}
.slider-scale{display:flex; justify-content:space-between; color:var(--ink-3); font-size:.72rem; margin-top:4px}
.assumptions{font-size:.76rem; color:var(--ink-3); background:var(--bg); border:1px solid var(--line-2); border-radius:var(--radius-sm); padding:10px 12px; line-height:1.4; margin-top:8px}

/* ---- Hero ---- */
.hero{background:linear-gradient(135deg,#0c1322,#1a2348 60%,#241a6b); color:#fff; border-radius:var(--radius); padding:26px 28px; box-shadow:var(--shadow-lg); position:relative; overflow:hidden}
.hero::after{content:""; position:absolute; right:-40px; top:-60px; width:220px; height:220px; border-radius:50%; background:radial-gradient(circle,rgba(90,76,255,.55),transparent 65%)}
.hero-eyebrow{font-size:.82rem; text-transform:uppercase; letter-spacing:.08em; color:#b9c0e6; font-weight:600}
.hero-amount{font-size:clamp(2.6rem,7vw,3.9rem); font-weight:800; line-height:1; margin:.18rem 0 .4rem; color:#fff}
.hero-sub{color:#d3d8f2; max-width:54ch; font-size:.98rem}
.hero-sub strong{color:#fff}
.hero-pills{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; position:relative; z-index:1}
.pill{background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.16); border-radius:12px; padding:8px 13px; display:flex; flex-direction:column; gap:1px}
.pill-k{font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; color:#aab2dd}
.pill-v{font-weight:700; font-size:1.02rem}
.pill.highlight{background:var(--green-soft); border-color:transparent}
.pill.highlight .pill-k{color:#0a7c54}
.pill.highlight .pill-v{color:#08603f}

/* ---- Breakdown ---- */
.breakdown{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px; margin-top:16px; box-shadow:var(--shadow)}
.bd-title{font-weight:700; margin-bottom:10px; font-size:.98rem}
.bd-table{width:100%; border-collapse:collapse; font-size:.92rem}
.bd-table td{padding:7px 0; border-bottom:1px solid var(--line-2); color:var(--ink-2)}
.bd-table td:last-child{text-align:right; font-variant-numeric:tabular-nums; color:var(--ink); font-weight:600; white-space:nowrap}
.bd-table tr:last-child td{border-bottom:none}
.bd-sum td{font-weight:800 !important; color:var(--ink) !important; font-size:1.02rem; padding-top:10px}
.bd-note{background:var(--amber-soft); color:var(--amber); border-radius:10px; padding:9px 12px; font-size:.82rem; margin-top:12px}
.bd-foot{font-size:.8rem; color:var(--ink-3); margin-top:12px; line-height:1.45}

/* ---- Results bar ---- */
.results-bar{display:flex; align-items:center; justify-content:space-between; gap:12px; margin:22px 2px 12px; flex-wrap:wrap}
.count{font-weight:700; color:var(--ink-2); font-size:.92rem}
.sort{display:flex; align-items:center; gap:6px; font-size:.85rem; color:var(--ink-3)}
.sort button{border:1px solid var(--line); background:#fff; color:var(--ink-2); border-radius:99px; padding:6px 13px; font:inherit; font-size:.85rem; cursor:pointer; transition:.15s}
.sort button:hover{border-color:#c7cce0}
.sort button.active{background:var(--ink); color:#fff; border-color:var(--ink)}

/* ---- Cards ---- */
.cards{display:flex; flex-direction:column; gap:12px}
.card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:16px 18px 14px; box-shadow:var(--shadow); position:relative; display:grid; grid-template-columns:auto 1fr auto; grid-template-areas:"rank head cost" "rank toggle cost" "leis leis leis"; column-gap:14px; align-items:center; transition:.15s}
.card:hover{box-shadow:var(--shadow-lg); transform:translateY(-1px)}
.card.best{border-color:#bdf0d8; box-shadow:0 0 0 2px #bdf0d8, var(--shadow)}
.card.current{border-color:#c3c9ff; box-shadow:0 0 0 2px #c3c9ff, var(--shadow)}
.card-rank{grid-area:rank; font-family:"Bricolage Grotesque"; font-weight:800; color:var(--ink-3); font-size:1.05rem; min-width:34px}
.card.best .card-rank{color:var(--green)}
.card-head{grid-area:head; min-width:0}
.card-name{font-weight:700; font-size:1.06rem; display:flex; align-items:center; gap:8px; flex-wrap:wrap; line-height:1.2}
.chip{font-size:.68rem; font-weight:700; padding:2px 8px; border-radius:99px; text-transform:uppercase; letter-spacing:.03em}
.chip-best{background:var(--green-soft); color:var(--green)}
.chip-cur{background:var(--blue-soft); color:var(--blue)}
.card-tags{display:flex; flex-wrap:wrap; gap:6px; margin-top:6px}
.tag{font-size:.72rem; color:var(--ink-2); background:var(--bg); border:1px solid var(--line-2); padding:2px 9px; border-radius:99px}
.tag.warn{background:var(--amber-soft); color:var(--amber); border-color:transparent}

.card-cost{grid-area:cost; text-align:right}
.cc-month{font-family:"Bricolage Grotesque"; font-weight:800; font-size:1.5rem; white-space:nowrap; font-variant-numeric:tabular-nums}
.cc-month small{font-size:.7rem; font-weight:600; color:var(--ink-3)}
.cc-year{display:block; font-size:.78rem; color:var(--ink-3); margin-top:1px}
.cc-spar{margin-top:6px; display:flex; flex-direction:column; align-items:flex-end; gap:2px}
.spar{background:var(--green-soft); color:var(--green); font-weight:700; font-size:.82rem; padding:2px 9px; border-radius:99px}
.mehr{background:#fdeceb; color:var(--red); font-weight:700; font-size:.82rem; padding:2px 9px; border-radius:99px}
.neutral{color:var(--ink-3); font-size:.78rem; font-weight:600}
.cc-delta{font-size:.72rem; color:var(--ink-3)}

.leis-toggle{grid-area:toggle; justify-self:start; margin-top:8px; background:none; border:none; color:var(--blue); font:inherit; font-size:.84rem; font-weight:600; cursor:pointer; padding:2px 0}
.card-leis{grid-area:leis; display:none; margin-top:12px; padding-top:12px; border-top:1px solid var(--line-2); grid-column:1 / -1}
.card.open .card-leis{display:block}
.card.open .leis-toggle::after{content:" ▴"}
.leis-row{display:flex; align-items:center; justify-content:space-between; padding:5px 0; font-size:.88rem; color:var(--ink-2); border-bottom:1px dashed var(--line-2)}
.leis-row:last-of-type{border-bottom:none}
.leis-bonus{display:inline-block; background:var(--blue-soft); color:var(--blue); font-weight:700; font-size:.8rem; padding:3px 10px; border-radius:99px; margin-bottom:8px}
.dots{display:inline-flex; gap:4px}
.dot{width:8px; height:8px; border-radius:50%; background:var(--line); }
.dot.on{background:var(--blue)}
.kasse-link{display:inline-block; margin-top:12px; font-weight:600; font-size:.88rem; text-decoration:none}
.kasse-link:hover{text-decoration:underline}

@media (max-width:560px){
  .card{grid-template-columns:auto 1fr; grid-template-areas:"rank head" "cost cost" "toggle toggle" "leis leis"; row-gap:6px}
  .card-cost{text-align:left}
  .cc-spar{align-items:flex-start}
}

/* ---- Explainer ---- */
.explainer{margin:54px 0 30px}
.explainer h2{font-size:1.6rem; margin:0 0 18px}
.explainer-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
@media (max-width:860px){ .explainer-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:480px){ .explainer-grid{grid-template-columns:1fr} }
.ex-card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:18px; box-shadow:var(--shadow)}
.ex-card.highlight{background:linear-gradient(160deg,#fff,#f3f4ff); border-color:#d8dcff}
.ex-num{font-weight:800; font-size:1.5rem; color:var(--blue)}
.ex-card h3{margin:.3rem 0 .35rem; font-size:1rem}
.ex-card p{margin:0; font-size:.86rem; color:var(--ink-2); line-height:1.45}

/* ---- Footer ---- */
.foot{border-top:1px solid var(--line); margin-top:30px; padding:22px 0 60px; color:var(--ink-3); font-size:.82rem; line-height:1.5}
.foot strong{color:var(--ink-2)}
.foot-sources{margin-top:10px; font-size:.76rem}

/* Embedded mode (inside StudyKit/CareerKit app shell): hide own chrome */
.embed .topbar{display:none}
.embed .intro{padding-top:22px}
.embed main.wrap{padding-top:0}

/* ===================== Shared component additions ========================== */
/* Topbar toggles */
.topbar-right{display:flex; align-items:center; gap:10px}
.seg{display:inline-flex; background:var(--bg); border:1px solid var(--line); border-radius:99px; padding:3px}
.seg button{border:none; background:none; font:inherit; font-size:.82rem; font-weight:600; color:var(--ink-3); padding:5px 12px; border-radius:99px; cursor:pointer; transition:.15s}
.seg button.active{background:#fff; color:var(--ink); box-shadow:var(--shadow)}
.seg.lang button{padding:5px 10px; font-size:.76rem}
@media (max-width:640px){ .seg button{padding:5px 9px; font-size:.76rem} }

/* Student eligibility controls */
.ctrl.elig{background:var(--bg); border:1px solid var(--line-2); border-radius:var(--radius-sm); padding:12px}
.check{display:flex; align-items:flex-start; gap:8px; font-weight:500 !important; font-size:.88rem !important; margin:6px 0 !important; cursor:pointer}
.check input{margin-top:3px}
.elig-msg{font-size:.8rem; border-radius:8px; padding:8px 10px; margin-top:8px; line-height:1.4}
.elig-msg.ok{background:var(--green-soft); color:var(--green)}
.elig-msg.warn{background:var(--amber-soft); color:var(--amber)}

/* Featured partner card */
.featured{background:linear-gradient(135deg,#101a4d,#1e2a73 55%,#3a2a8c); color:#fff; border-radius:var(--radius); padding:20px 22px; box-shadow:var(--shadow-lg); margin-bottom:16px; position:relative; overflow:hidden}
.featured::after{content:""; position:absolute; right:-50px; bottom:-70px; width:240px; height:240px; border-radius:50%; background:radial-gradient(circle,rgba(120,108,255,.45),transparent 65%)}
.ft-eyebrow{font-size:.78rem; font-weight:700; letter-spacing:.04em; color:#cdd3ff; text-transform:uppercase; position:relative; z-index:1}
.ft-badge{background:rgba(255,255,255,.16); padding:2px 9px; border-radius:99px; font-size:.72rem; letter-spacing:0}
.ft-body{display:grid; grid-template-columns:1fr 230px; gap:20px; margin-top:12px; position:relative; z-index:1}
@media (max-width:680px){ .ft-body{grid-template-columns:1fr} }
.ft-name{font-family:"Bricolage Grotesque"; font-weight:800; font-size:1.45rem; margin-bottom:8px}
.ft-strengths{margin:0; padding-left:18px; display:flex; flex-direction:column; gap:5px}
.ft-strengths li{font-size:.9rem; color:#e3e6ff}
.ft-transparency{margin-top:12px; font-size:.74rem; color:#aab2e8; line-height:1.45; background:rgba(0,0,0,.18); border-radius:8px; padding:8px 10px}
.ft-right{display:flex; flex-direction:column; align-items:stretch; justify-content:center; gap:6px}
.ft-price{font-family:"Bricolage Grotesque"; font-weight:800; font-size:2rem; line-height:1}
.ft-price small{font-size:.7rem; font-weight:600; color:#bcc2ee}
.ft-pricenote{font-size:.78rem; color:#cdd3ff; margin-bottom:6px}
.ft-cta{background:#fff; color:#16205a; border:none; border-radius:11px; padding:12px 16px; font:inherit; font-weight:700; font-size:.96rem; cursor:pointer; transition:.15s; box-shadow:0 6px 18px rgba(0,0,0,.25)}
.ft-cta:hover{transform:translateY(-1px)}
.ft-link{color:#cdd3ff; font-size:.8rem; text-align:center; text-decoration:none; margin-top:2px}
.ft-link:hover{text-decoration:underline; color:#fff}

.chip-partner{background:linear-gradient(135deg,#1e2a73,#3a2a8c); color:#fff}
.card.featured{border-color:#c3c9ff; box-shadow:0 0 0 2px #c3c9ff, var(--shadow)}
.cta-member{border:none; background:var(--blue); color:#fff !important; padding:8px 14px; border-radius:10px; cursor:pointer; font-weight:700; margin-top:12px; display:inline-block}
.cta-member:hover{background:#1000cc; text-decoration:none !important}

/* ---- Enrollment modal ---- */
#enroll-modal{position:fixed; inset:0; z-index:100; display:none}
.enroll-backdrop{position:absolute; inset:0; background:rgba(8,12,28,.55); backdrop-filter:blur(3px)}
.enroll-card{position:relative; max-width:640px; margin:5vh auto; background:#fff; border-radius:20px; box-shadow:0 30px 80px rgba(8,12,28,.4); padding:26px 28px; max-height:90vh; overflow:auto}
@media (max-width:680px){ .enroll-card{margin:0; min-height:100vh; border-radius:0; max-height:none} }
.enroll-x{position:absolute; top:14px; right:16px; background:none; border:none; font-size:1.6rem; line-height:1; color:var(--ink-3); cursor:pointer}
.enroll-title{font-family:"Bricolage Grotesque"; font-weight:800; font-size:1.4rem}
.enroll-sub{color:var(--ink-3); font-size:.88rem; margin-top:3px}
.enroll-steps{display:flex; gap:6px; margin-top:16px; flex-wrap:wrap}
.es{font-size:.74rem; color:var(--ink-3); background:var(--bg); border:1px solid var(--line-2); padding:4px 10px; border-radius:99px}
.es.on{color:var(--blue); border-color:#c3c9ff; background:var(--blue-soft)}
.es.cur{background:var(--blue); color:#fff; border-color:var(--blue)}
.enroll-count{font-size:.78rem; color:var(--ink-3); margin-top:8px}
.ef-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px 14px; margin:18px 0}
@media (max-width:520px){ .ef-grid{grid-template-columns:1fr} }
.ef{display:flex; flex-direction:column; gap:5px}
.ef.wide{grid-column:1 / -1}
.ef > span{font-size:.82rem; font-weight:600; color:var(--ink-2)}
.ef input, .ef select{padding:10px 11px; border:1px solid var(--line); border-radius:10px; font:inherit; background:#fff}
.ef input:focus, .ef select:focus{outline:none; border-color:var(--blue); box-shadow:0 0 0 3px var(--blue-soft)}
.rq{color:var(--red)}
.ef-consents{grid-column:1 / -1; display:flex; flex-direction:column; gap:10px; background:var(--bg); border-radius:12px; padding:14px}
.ef-check{display:flex; align-items:flex-start; gap:9px; font-size:.85rem; color:var(--ink-2); cursor:pointer}
.ef-check input{margin-top:3px}
.err{color:var(--red); font-size:.74rem; margin-top:3px}
.enroll-foot{display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid var(--line-2); padding-top:16px}
.enr-back{background:none; border:1px solid var(--line); border-radius:10px; padding:11px 16px; font:inherit; font-weight:600; color:var(--ink-2); cursor:pointer}
.enroll-done{text-align:center; padding:24px 8px}
.enroll-done-emoji{font-size:2.4rem}
.enroll-done h3{font-family:"Bricolage Grotesque"; font-size:1.5rem; margin:.4rem 0}
.enroll-done p{color:var(--ink-2); max-width:46ch; margin:0 auto 18px}

/* ===================== Onboarding wizard (flow=wizard) ===================== */
#wizard{display:none}
body[data-flow="wizard"] .intro,
body[data-flow="wizard"] .layout,
body[data-flow="wizard"] .explainer{display:none}
body[data-flow="wizard"] #wizard{display:block; max-width:720px; margin:8px auto 0}
.wizard{padding-top:8px}

.wiz-steps{display:flex; align-items:center; gap:6px; margin:6px 0 18px}
.ws{display:flex; align-items:center; gap:8px; font-size:.84rem; font-weight:600; color:var(--ink-3)}
.ws-n{width:24px; height:24px; border-radius:50%; background:var(--bg); border:1px solid var(--line); display:grid; place-items:center; font-size:.78rem}
.ws.on{color:var(--ink)}
.ws.on .ws-n{background:var(--blue-soft); border-color:#c3c9ff; color:var(--blue)}
.ws.cur .ws-n{background:var(--blue); border-color:var(--blue); color:#fff}
.ws-line{flex:1; height:1px; background:var(--line)}

.wiz-card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow)}
.wiz-h{font-family:"Bricolage Grotesque"; font-size:1.55rem; margin:0 0 .35rem; font-weight:800; letter-spacing:-.02em}
.wiz-sub{color:var(--ink-2); margin:0 0 20px}
.wiz-field{margin-bottom:16px}
.wiz-field label{display:block; font-weight:700; font-size:.9rem; margin-bottom:7px}
.wiz-field select, .wiz-field input{width:100%; padding:11px 12px; border:1px solid var(--line); border-radius:var(--radius-sm); font:inherit; background:#fff}
.wiz-field select:focus, .wiz-field input:focus{outline:none; border-color:var(--blue); box-shadow:0 0 0 3px var(--blue-soft)}
.wiz-row{display:grid; grid-template-columns:1fr 1fr; gap:14px}
@media (max-width:520px){.wiz-row{grid-template-columns:1fr}}
.wiz-salary{position:relative; display:flex; align-items:center; gap:10px}
.wiz-salary input{font-weight:700; font-size:1.1rem}
.wiz-prof{flex:none; font-size:.78rem; font-weight:700; color:var(--green); background:var(--green-soft); padding:6px 10px; border-radius:99px; white-space:nowrap}
.wiz-nav{display:flex; align-items:center; justify-content:space-between; margin-top:18px}

.prio-grid{display:grid; grid-template-columns:1fr 1fr; gap:11px}
@media (max-width:520px){.prio-grid{grid-template-columns:1fr}}
.prio{display:flex; align-items:center; gap:10px; padding:14px 15px; border:1.5px solid var(--line); border-radius:14px; background:#fff; font:inherit; font-weight:600; font-size:.94rem; color:var(--ink-2); cursor:pointer; text-align:left; transition:.14s}
.prio:hover{border-color:#c7cce0}
.prio.on{border-color:var(--blue); background:var(--blue-soft); color:var(--blue)}
.prio-ic{font-size:1.15rem}
.prio-check{margin-left:auto; font-weight:800}

.wiz-hero{background:linear-gradient(135deg,#0c1322,#1a2348 60%,#241a6b); color:#fff; border-radius:var(--radius); padding:24px 26px; box-shadow:var(--shadow-lg); text-align:center}
.wiz-hero-eyebrow{font-size:.8rem; text-transform:uppercase; letter-spacing:.07em; color:#b9c0e6; font-weight:600}
.wiz-hero-amount{font-family:"Bricolage Grotesque"; font-weight:800; font-size:3rem; line-height:1; margin:.15rem 0 .35rem}
.wiz-hero-sub{color:#d3d8f2; font-size:.92rem; max-width:50ch; margin:0 auto}
.wiz-hero-sub strong{color:#fff}

.wiz-results{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:14px}
@media (max-width:600px){.wiz-results{grid-template-columns:1fr}}
.wiz-result-card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px; box-shadow:var(--shadow); display:flex; flex-direction:column}
.wiz-result-card.partner{background:linear-gradient(160deg,#fff,#f3f4ff); border-color:#d8dcff}
.wrc-badge{font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:var(--green); background:var(--green-soft); align-self:flex-start; padding:3px 9px; border-radius:99px; margin-bottom:10px}
.wrc-badge.partnerb{color:#fff; background:linear-gradient(135deg,#1e2a73,#3a2a8c)}
.wrc-top{display:flex; align-items:baseline; justify-content:space-between; gap:10px}
.wrc-name{font-family:"Bricolage Grotesque"; font-weight:800; font-size:1.12rem; line-height:1.2}
.wrc-price{font-family:"Bricolage Grotesque"; font-weight:800; font-size:1.4rem; white-space:nowrap}
.wrc-price small{font-size:.66rem; font-weight:600; color:var(--ink-3)}
.wrc-reason{font-size:.88rem; color:var(--ink-2); margin:8px 0}
.wrc-strengths{margin:6px 0 8px; padding-left:18px; display:flex; flex-direction:column; gap:4px}
.wrc-strengths li{font-size:.82rem; color:var(--ink-2)}
.wrc-meta{font-size:.78rem; color:var(--ink-3); margin-top:auto; padding-top:8px}
.wrc-link{font-size:.84rem; font-weight:600; text-decoration:none; margin-top:8px}
.wrc-link:hover{text-decoration:underline}
.wrc-cta{margin-top:12px; width:100%}
.wiz-actions{display:flex; gap:12px; align-items:center; margin-top:16px; flex-wrap:wrap}
.wiz-compare{flex:1; min-width:200px; background:#fff; border:1.5px solid var(--line); border-radius:12px; padding:12px 16px; font:inherit; font-weight:700; color:var(--ink-2); cursor:pointer; transition:.14s}
.wiz-compare:hover{border-color:var(--blue); color:var(--blue)}
