/* Simulados Jur. — sistema visual "cartão-resposta".
   Base: papel frio, tinta quase preta, azul de caneta esferográfica e marca-texto amarelo.
   Verde e vermelho só marcam acerto e erro. Bricolage Grotesque (títulos e interface) + Source Serif 4 (leitura). */

:root{
  --paper:#f3f4ef; --card:#ffffff; --ink:#11141b; --dim:#474e5c; --faint:#646d7c;
  --line:#d9dbd1; --line-strong:#b6baab;
  --accent:#2638d9; --on-accent:#ffffff; --accent-soft:#e8ebfc;
  --mark:#ffe14d; --mark-ink:#3a2f00;
  --ok:#14704a; --ok-bg:#e5f3eb; --err:#b4232f; --err-bg:#fbe9ea;
  --f-display:'Bricolage Grotesque',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-text:'Source Serif 4',Georgia,'Times New Roman',serif;
  --radius:10px; --wrap:1120px;
}
html[data-theme="dark"]{
  --paper:#0f1218; --card:#171b24; --ink:#eceef4; --dim:#c0c6d4; --faint:#939bad;
  --line:#2a303d; --line-strong:#3e4659;
  --accent:#95a2ff; --on-accent:#0f1218; --accent-soft:#1c2243;
  --mark:rgba(255,225,77,.22); --mark-ink:#ffe98a;
  --ok:#62c995; --ok-bg:rgba(98,201,149,.12); --err:#f08a96; --err-bg:rgba(240,138,150,.12);
}

.hub{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-text);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}
.hub *{box-sizing:border-box}
:where(.hub) a{color:inherit;text-decoration:none}
:where(.hub) :is(h1,h2,h3,h4){font-family:var(--f-display);margin:0;font-weight:700;letter-spacing:-.02em;line-height:1.1;font-variation-settings:"wdth" 92}
:where(.hub) p{margin:0}
:where(.hub) ul,:where(.hub) ol{margin:0;padding:0;list-style:none}
:where(.hub) mark{background:var(--mark);color:var(--mark-ink);padding:0 .15em;border-radius:3px}
.hub :focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.hub-wrap{width:min(var(--wrap),calc(100% - 40px));margin-inline:auto}
.hub-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hub-skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:var(--paper)!important;padding:10px 14px;border-radius:8px;z-index:100;font:600 .9rem var(--f-display)}
.hub-skip:focus{top:12px}

/* ---------- cabeçalho ---------- */
.h-header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line)}
.h-header-in{display:flex;align-items:center;gap:20px;min-height:64px}
.h-brand{display:inline-flex;align-items:center;gap:10px;font:700 1.18rem var(--f-display);letter-spacing:-.02em;font-variation-settings:"wdth" 90}
.h-mark{display:block;flex:none}
.h-mark circle{fill:none;stroke:currentColor;stroke-width:1.6}
.h-mark circle.on{fill:var(--accent);stroke:var(--accent)}
.h-nav{display:flex;gap:2px;margin-left:12px}
.h-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;font:500 .95rem var(--f-display);color:var(--dim);border-radius:8px}
.h-nav a:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}
.h-nav a[aria-current=page]{color:var(--ink);font-weight:700;box-shadow:inset 0 -3px 0 var(--accent);border-radius:0}
.h-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.h-account{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1.5px solid var(--ink);border-radius:var(--radius);font:600 .92rem var(--f-display)}
.h-account:hover{background:var(--ink);color:var(--paper)}
.hub .site-theme-toggle{width:44px;height:44px;border-radius:var(--radius);border:1px solid var(--line-strong);background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer}
.hub .theme-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.hub .theme-icon-moon{display:none}
html[data-theme="dark"] .hub .theme-icon-sun{display:none}
html[data-theme="dark"] .hub .theme-icon-moon{display:block}
.hub .theme-control{position:relative}
.hub .theme-hint{display:none}
@media (max-width:640px){
  .h-header-in{flex-wrap:wrap;gap:0 10px;padding-top:6px}
  .h-actions{order:2}
  .h-nav{order:3;flex:1 0 100%;margin:0 -8px;overflow-x:auto}
  .h-mark{width:46px;height:auto}
  .h-brand{font-size:1.05rem;gap:8px}
  .h-account{padding:0 12px;font-size:.88rem}
}

/* ---------- botões ---------- */
.h-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:var(--radius);font:600 1rem var(--f-display);border:1.5px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;transition:background .15s,color .15s}
.h-btn:hover{background:var(--ink);color:var(--paper)}
.h-btn--solid{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.h-btn--solid:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.h-btn--sm{min-height:44px;padding:0 16px;font-size:.92rem}
.h-btns{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- home: abertura ---------- */
.h-hero{padding:clamp(40px,7vw,88px) 0 clamp(48px,7vw,88px)}
.h-hero-grid>div{max-width:900px}
.h-hero h1{font-size:clamp(2.5rem,6.4vw,4.6rem);font-weight:800;line-height:1.02;letter-spacing:-.035em;font-variation-settings:"wdth" 86;max-width:16ch;text-wrap:balance}
.h-hero-sub{margin-top:22px;max-width:34em;font-size:1.2rem;color:var(--dim)}
.h-hero .h-btns{margin-top:30px}

/* ---------- seções ---------- */
.h-section{padding:clamp(44px,6vw,80px) 0;border-top:1px solid var(--line)}
.h-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px 48px;align-items:end;margin-bottom:clamp(24px,4vw,44px)}
.h-section-head h2{font-size:clamp(1.8rem,3.8vw,2.7rem)}
.h-section-head p{color:var(--dim);max-width:36em}
@media (max-width:760px){.h-section-head{grid-template-columns:1fr}}

/* áreas */
.h-areas{border-top:1.5px solid var(--ink)}
.h-area{position:relative;display:grid;grid-template-columns:minmax(190px,.8fr) minmax(0,1.5fr) minmax(0,.8fr) auto;gap:12px 32px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}
.h-area-name{font:800 clamp(1.9rem,3.4vw,2.6rem) var(--f-display);letter-spacing:-.04em;font-variation-settings:"wdth" 84;line-height:1}
.h-area-name small{display:block;margin-top:8px;font:500 .95rem var(--f-display);letter-spacing:0;color:var(--dim);font-variation-settings:"wdth" 100}
.h-area p{color:var(--dim)}
.h-area-meta{font:500 .95rem var(--f-display);color:var(--dim)}
.h-area-meta b{display:block;color:var(--ink);font-weight:700}
.h-area--on:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.h-area--on .h-btn::after{content:"";position:absolute;inset:0}
.h-area--soon .h-area-name,.h-area--soon p,.h-area--soon .h-area-meta{color:var(--faint)}
.h-soon{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border:1.5px dashed var(--line-strong);border-radius:999px;font:600 .85rem var(--f-display);color:var(--faint)}
@media (max-width:860px){
  .h-area{grid-template-columns:1fr;gap:10px;padding:24px 0}
  .h-area .h-btn,.h-area .h-soon{justify-self:start;margin-top:6px}
}

/* partes da disciplina */
.h-parts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 28px}
.h-part{border-top:3px solid var(--ink);padding-top:16px}
.h-part h3{font-size:1.4rem;margin-bottom:8px}
.h-part p{color:var(--dim);font-size:1rem}
.h-part .h-tag{display:inline-block;margin-top:14px;padding:3px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font:600 .85rem var(--f-display)}
html[data-theme="dark"] .h-part .h-tag{color:var(--accent)}
@media (max-width:900px){.h-parts{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}}
@media (max-width:520px){.h-parts{grid-template-columns:1fr}}

/* prévia da correção */
.h-proof{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,64px);align-items:start}
.h-proof-intro h2{font-size:clamp(1.8rem,3.8vw,2.7rem);margin-bottom:14px}
.h-proof-intro p{color:var(--dim);margin-bottom:24px}
.h-q{background:var(--card);border:1px solid var(--line-strong);border-radius:14px;overflow:hidden}
.h-q-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 20px;border-bottom:1px solid var(--line);font:600 .92rem var(--f-display);color:var(--dim)}
.h-q-head strong{color:var(--ink)}
.h-q-text{padding:20px 20px 8px;font-size:1.15rem;line-height:1.55}
.h-choices{padding:8px 20px 20px;display:grid;gap:8px}
.h-choice{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius)}
.h-choice-l{flex:none;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--ink);display:grid;place-items:center;font:700 .82rem var(--f-display)}
.h-choice small{display:block;font:600 .8rem var(--f-display);margin-bottom:2px}
.h-choice--no{border-color:var(--err);background:var(--err-bg)}
.h-choice--no .h-choice-l{background:var(--err);border-color:var(--err);color:#fff}
.h-choice--no small{color:var(--err)}
.h-choice--ok{border-color:var(--ok);background:var(--ok-bg)}
.h-choice--ok .h-choice-l{background:var(--ok);border-color:var(--ok);color:#fff}
.h-choice--ok small{color:var(--ok)}
.h-explain{border-top:1.5px dashed var(--line-strong);padding:18px 20px 22px;display:grid;gap:14px}
.h-explain h4{font-size:1rem}
.h-explain p{color:var(--dim)}
.h-explain .h-core{padding:12px 14px;border-left:4px solid var(--mark);background:color-mix(in srgb,var(--mark) 18%,transparent);border-radius:0 8px 8px 0}
.h-explain .h-core h4{margin-bottom:4px}
.h-explain .h-core p{color:var(--ink)}
@media (max-width:860px){.h-proof{grid-template-columns:1fr}}

/* ---------- rodapé ---------- */
.h-footer{border-top:1px solid var(--line);padding:36px 0 44px;margin-top:clamp(24px,4vw,48px);font:500 .95rem var(--f-display);color:var(--dim)}
.h-footer-in{display:flex;flex-wrap:wrap;gap:20px 48px;justify-content:space-between;align-items:flex-start}
.h-footer nav{display:flex;flex-wrap:wrap;gap:4px 20px}
.h-footer a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong)}
.h-footer a:hover{color:var(--ink);text-decoration-color:var(--ink)}
.h-footer-brand{display:flex;align-items:center;gap:10px;font:700 1.05rem var(--f-display);color:var(--ink);margin-bottom:4px}

/* ---------- páginas internas ---------- */
.h-page{padding:clamp(24px,4vw,48px) 0 24px}
.h-crumbs{display:flex;flex-wrap:wrap;gap:2px 8px;font:500 .92rem var(--f-display);color:var(--dim);margin-bottom:18px}
.h-crumbs a{display:inline-flex;align-items:center;min-height:32px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong)}
.h-crumbs a:hover{color:var(--ink)}
.h-crumbs li+li::before{content:"/";margin-right:8px;color:var(--line-strong)}
.h-crumbs li{display:flex;align-items:center}
.h-title{font-size:clamp(2.1rem,5vw,3.6rem);font-weight:800;letter-spacing:-.035em;max-width:20ch;text-wrap:balance}
.h-lead{margin-top:14px;max-width:36em;font-size:1.15rem;color:var(--dim)}
.h-facts{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:18px;font:500 .95rem var(--f-display);color:var(--dim)}
.h-facts b{color:var(--ink);font-weight:700}

/* abas da disciplina */
.d-tabs{position:sticky;top:64px;z-index:40;background:var(--paper);border-bottom:1.5px solid var(--ink);margin-top:28px}
.d-tabs-in{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.d-tabs-in::-webkit-scrollbar{display:none}
.d-tab{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 18px;font:600 1rem var(--f-display);color:var(--dim);border-bottom:4px solid transparent;margin-bottom:-1.5px}
.d-tab:hover{color:var(--ink)}
.d-tab[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent);font-weight:800}
.d-tab i{font:600 .75rem var(--f-display);font-style:normal;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}
@media (max-width:640px){.d-tabs{top:108px}.d-tab{padding:0 14px}}

.d-body{padding:clamp(28px,4vw,48px) 0 24px}
.d-cols{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
@media (max-width:860px){.d-cols{grid-template-columns:1fr}}
.d-h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:6px}
.d-sub{color:var(--dim);margin-bottom:20px;max-width:36em}

/* programa (temas) */
.d-syllabus{border-top:1.5px solid var(--ink)}
.d-syllabus li{padding:16px 0;border-bottom:1px solid var(--line);font-size:1.12rem;display:flex;gap:14px;align-items:baseline}
.d-syllabus li::before{content:"";flex:none;width:10px;height:10px;border:1.5px solid var(--ink);border-radius:50%;transform:translateY(1px)}

/* painel lateral */
.d-aside{border:1.5px solid var(--ink);border-radius:14px;background:var(--card);padding:22px;display:grid;gap:16px;position:sticky;top:132px}
.d-aside h2{font-size:1.3rem}
.d-aside p{color:var(--dim);font-size:1rem}
.d-aside .h-btn{width:100%}
.d-status{display:inline-flex;align-items:center;gap:8px;font:700 .92rem var(--f-display);color:var(--ok)}
.d-status::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--ok)}
@media (max-width:860px){.d-aside{position:static}}

/* etapas (simulado) */
.d-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:36px}
.d-step{border:1.5px solid var(--ink);border-radius:14px;background:var(--card);padding:24px;display:grid;gap:10px;align-content:start}
.d-step h2{font-size:1.5rem}
.d-step p{color:var(--dim)}
.d-step .h-btn{justify-self:start;margin-top:8px}
@media (max-width:760px){.d-steps{grid-template-columns:1fr}}
.d-note{border-left:4px solid var(--accent);padding:14px 18px;background:var(--accent-soft);border-radius:0 var(--radius) var(--radius) 0;margin-bottom:28px}
.d-note strong{font-family:var(--f-display)}

/* quadro de memorização */
.q-table{border-top:1.5px solid var(--ink)}
.q-head,.q-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1.4fr);gap:8px 32px}
.q-head{padding:12px 0;font:700 .9rem var(--f-display);color:var(--dim);border-bottom:1px solid var(--line-strong)}
.q-row{padding:22px 0;border-bottom:1px solid var(--line)}
.q-row h3{font-size:1.2rem}
.q-row .q-label{display:none;font:700 .85rem var(--f-display);color:var(--dim);margin-bottom:2px}
.q-core{background:linear-gradient(transparent 62%,color-mix(in srgb,var(--mark) 70%,transparent) 62%);display:inline}
@media (max-width:760px){
  .q-head{display:none}
  .q-row{grid-template-columns:1fr}
  .q-row .q-label{display:block}
}

/* flashcards: moldura */
.d-deck{max-width:760px}

/* ---------- página de área (UGV / OAB) ---------- */
.a-periods{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0 0}
.a-periods a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1.5px solid var(--ink);border-radius:999px;font:600 .95rem var(--f-display)}
.a-periods a:hover{background:var(--ink);color:var(--paper)}
.a-group{padding-top:clamp(32px,5vw,56px)}
.a-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-bottom:1.5px solid var(--ink);padding-bottom:12px}
.a-group-head h2{font-size:clamp(1.6rem,3vw,2.2rem)}
.a-group-head span{font:500 .95rem var(--f-display);color:var(--dim)}
.a-row{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:8px 24px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
.a-row:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}
.a-abbr{width:56px;height:56px;border-radius:50%;border:1.5px solid var(--ink);display:grid;place-items:center;font:800 1rem var(--f-display);letter-spacing:-.02em}
.a-row h3{font-size:1.35rem;margin-bottom:4px}
.a-row p{color:var(--dim);font-size:1rem}
.a-actions{display:flex;gap:10px;flex-wrap:wrap}
.a-row .h-btn--solid::after{content:"";position:absolute;inset:0}
.a-actions a:not(.h-btn--solid){position:relative;z-index:2}
@media (max-width:760px){
  .a-row{grid-template-columns:48px minmax(0,1fr)}
  .a-abbr{width:48px;height:48px;font-size:.9rem}
  .a-actions{grid-column:1 / -1}
}
.a-empty{margin-top:36px;padding:26px;border:1.5px dashed var(--line-strong);border-radius:14px}
.a-empty h2{font-size:1.4rem;margin-bottom:8px}
.a-empty p{color:var(--dim);margin-bottom:16px}

/* matérias OAB */
.o-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 48px;margin-top:8px}
.o-group h3{font-size:1.25rem;padding-bottom:10px;border-bottom:1.5px solid var(--ink)}
.o-subject{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:10px 0;border-bottom:1px solid var(--line);font-size:1.05rem}
.o-subject:hover{color:var(--accent)}
.o-subject small{font:500 .85rem var(--f-display);color:var(--faint);text-align:right}
@media (max-width:760px){.o-groups{grid-template-columns:1fr}}
.o-fact{border:1.5px solid var(--ink);border-radius:14px;background:var(--card);padding:22px;display:grid;gap:10px;align-content:start}
.o-fact b{font:800 2.4rem var(--f-display);letter-spacing:-.04em;line-height:1}
.o-fact span{font:600 .95rem var(--f-display);color:var(--dim)}
.o-fact a{text-decoration:underline;text-underline-offset:3px;font:600 .95rem var(--f-display)}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hub *{transition:none!important}}

/* ajustes finais */
.h-area .h-btn{white-space:nowrap}
html[data-theme="dark"] .h-b.ok,html[data-theme="dark"] .h-b.no,html[data-theme="dark"] .h-choice--ok .h-choice-l,html[data-theme="dark"] .h-choice--no .h-choice-l{color:#0f1218}
.hub .revision-page{min-height:0;background:transparent}
.hub .revision-deck{margin:24px 0 36px}
.hub .d-h2{margin-bottom:8px}

/* Integração com a camada legada: cabeçalho, tema e abas operáveis. */
:root{--hub-header-height:65px}
.h-headwrap{position:sticky;top:0;z-index:60}
.h-headwrap .h-header{position:static}
.d-tabs{top:var(--hub-header-height)}
.d-tabs-in{scrollbar-width:thin;scrollbar-gutter:auto;overflow-y:hidden}
.d-tabs-in::-webkit-scrollbar{display:block;height:6px}
.hub .theme-icon-sun{display:block}
.hub .theme-icon-moon{display:none}
html[data-theme="dark"] .hub .theme-icon-sun{display:none}
html[data-theme="dark"] .hub .theme-icon-moon{display:block}
.hub :is(a,button){cursor:pointer}
.hub :is(button:disabled,[aria-disabled="true"]){cursor:default}
.hub :is(.btn.primary,.revision-solid){background:var(--accent);color:var(--on-accent)}
.hub .h-hero h1{font-weight:800}
.hub :is(.h-title,.h-area-name){font-weight:800}
.hub .h-btn:active{transform:translateY(1px)}
.hub .h-btn:disabled{opacity:.6;cursor:default}
.hub main{scroll-margin-top:var(--hub-header-height)}
.hub [id]{scroll-margin-top:calc(var(--hub-header-height) + 70px)}
html{scrollbar-gutter:stable}
@media(max-width:640px){
 :root{--hub-header-height:95px}
 .h-header-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 8px;min-height:0;padding-top:6px}
 .h-header-in .h-brand{grid-column:1;grid-row:1;min-width:0;font-size:1rem}
 .h-header-in .h-brand .h-mark{width:32px}
 .h-header-in .h-actions{grid-column:2;grid-row:1;gap:8px}
 .h-header-in .h-account{max-width:92px;justify-content:center;text-align:center;white-space:normal;line-height:1.1;padding:0 10px}
 .h-header-in .h-nav{grid-column:1/-1;grid-row:2;margin:0;min-width:0}
 .d-tabs{top:var(--hub-header-height)}
}
@media(forced-colors:active){
 *{scrollbar-color:auto}
 .hub :focus-visible{outline-color:Highlight}
 .d-tab[aria-current=page]{border-color:Highlight}
}

/* Checkout reutilizado nas novas abas: cores semânticas e largura estável. */
.hub .purchase-layout{grid-template-columns:minmax(0,1fr) minmax(320px,390px);gap:32px}
.hub .plan-options{grid-template-columns:minmax(0,1fr)}
.hub .plan-card{grid-template-columns:minmax(0,1fr) auto;min-height:0;padding:24px;gap:18px;background:var(--card);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:none}
.hub .plan-card:hover{border-color:var(--accent);transform:none}
.hub .plan-card.selected{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.hub .plan-main{min-width:0}
.hub .plan-main strong{font-family:var(--f-display);font-size:1.2rem;padding-right:20px}
.hub .plan-badge{max-width:100%;width:fit-content;color:var(--accent)}
.hub .plan-description{font-size:.95rem;color:var(--dim)}
.hub .plan-price{grid-column:auto;min-width:0;align-self:end;color:var(--ink)}
.hub .plan-price s{color:var(--dim)}
.hub .plan-price strong{font-family:var(--f-display);color:var(--ink)}
.hub .plan-check{border-color:var(--line-strong);color:var(--on-accent)}
.hub .plan-card.selected .plan-check{border-color:var(--accent);background:var(--accent)}
.hub .discipline-picker,.hub .checkout-panel{background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--ink);box-shadow:none;min-width:0}
.hub .checkout-panel{top:calc(var(--hub-header-height) + 70px)}
.hub .discipline-picker label{border-color:var(--line);color:var(--ink)}
.hub .discipline-picker label:has(input:checked){background:var(--accent-soft);border-color:var(--accent)}
.hub .discipline-picker :is(legend,strong){color:var(--ink)}
.hub .discipline-picker>p,.hub .checkout-step p,.hub .checkout-account span,.hub .order-summary>div,.hub .payment-trust p,.hub .purchase-notes{color:var(--dim);font-size:.9rem}
.hub .checkout-step h2{font:700 1.1rem var(--f-display)}
.hub .order-summary strong{color:var(--ink);max-width:60%}
.hub .order-summary .order-total{border-color:var(--line);color:var(--ink)!important}
.hub .order-total strong{color:var(--accent)}
.hub .account-step,.hub .order-step{border-color:var(--line)}
.hub .checkout-account{margin:0 24px 20px;padding:12px;background:var(--accent-soft);border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}
.hub .checkout-account :is(span,strong){display:block}
.hub .mercado-pago-notice{display:flex;gap:10px;margin:0 24px 20px;padding:14px;background:var(--accent-soft);border:1px solid var(--line);border-radius:8px;color:var(--ink)}
.hub .mercado-pago-notice p{font-size:.9rem;color:var(--dim);margin-top:6px}
.hub .secure-notice-icon{flex:none}
.hub .checkout-panel .buy{width:100%;justify-content:center;background:var(--accent);color:var(--on-accent)}
.hub .checkout-panel .buy:disabled{background:var(--line);color:var(--dim)}
.hub .included-list :is(strong,p){color:var(--ink)}
.hub .included-list p{color:var(--dim)}
.hub .benefit-icon{color:var(--accent);background:var(--accent-soft);border-color:var(--line)}
@media(max-width:900px){.hub .purchase-layout{grid-template-columns:minmax(0,1fr)}.hub .checkout-panel{position:static}}
@media(max-width:620px){
 .hub .plan-card{grid-template-columns:minmax(0,1fr);padding:22px 18px;gap:14px}
 .hub .plan-price{grid-column:1;text-align:left}
 .hub .plan-price strong{margin-left:8px}
 .hub .plan-main strong{padding-right:22px}
 .hub .discipline-picker>div{grid-template-columns:minmax(0,1fr)}
}
