/*
Theme Name: KarieStudia MX
Theme URI: https://kariestudiamx.com
Author: Karina Fuentes Medrano
Author URI: https://www.interpolyglot.mx
Description: Tema personalizado para KarieStudia MX — recursos educativos con diagnóstico TKT integrado.
Version: 2.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kariestudiamx
*/

/* ─── TOKENS ────────────────────────────────── */
:root{
  --bg:#FAF8F3; --bg-card:#F0F7FF; --text:#2C2C2C;
  --ts:#5a5a7a; --th:#9898b0;
  --pri:#4A9FFF; --sec:#8B5CF6; --ac1:#FF7A3F; --ac2:#FFCC3F;
  --brd:rgba(44,44,44,.09); --brd-acc:#4A9FFF;
  --grn:#34c97a; --red:#FF6B6B;
  --sur:#ffffff; --shad:0 4px 24px rgba(74,159,255,.10);
  --r:16px; --r-sm:8px;
  --nav-h:64px;
}
[data-theme=dark]{
  --bg:#0F0F12; --bg-card:#1C1C22; --text:#F1F1F3;
  --ts:#B0B0C0; --th:#6B6B80;
  --pri:#5EB8FF; --sec:#A06EFF; --ac1:#FF8A4D; --ac2:#FFDB5E;
  --brd:#33333A; --brd-acc:#5EB8FF;
  --grn:#4ADE80;
  --sur:#252530; --shad:0 4px 32px rgba(0,0,0,.50);
}

/* ─── BASE ──────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Arial',sans-serif;font-size:16px;line-height:1.75;background:var(--bg);color:var(--text);transition:background .3s,color .3s;overflow-x:hidden}
h1,h2,h3,h4,h5{font-family:'Dosis',sans-serif;line-height:1.2}
.fi{font-family:'Inter',sans-serif}
a{color:var(--pri);text-decoration:none;transition:opacity .2s}
a:hover{opacity:.8}
.container{max-width:1120px;margin:0 auto;padding:0 28px}

/* ─── BADGES ────────────────────────────────── */
.badge{display:inline-flex;align-items:center;gap:5px;font-family:'Inter',sans-serif;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:4px 13px;border-radius:100px}
.bd-blue{background:rgba(74,159,255,.13);color:var(--pri)}
.bd-purple{background:rgba(139,92,246,.13);color:var(--sec)}
.bd-orange{background:rgba(255,122,63,.13);color:var(--ac1)}
.bd-gold{background:rgba(255,204,63,.18);color:#9a6d00}
.bd-green{background:rgba(52,201,122,.13);color:var(--grn)}
[data-theme=dark] .bd-gold{color:var(--ac2)}
.tag{font-family:'Inter',sans-serif;font-size:11px;font-weight:500;padding:3px 10px;border-radius:100px;border:1px solid var(--brd);color:var(--ts)}

/* ─── BUTTONS ───────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:7px;padding:10px 22px;border-radius:100px;font-family:'Inter',sans-serif;font-size:13.5px;font-weight:600;cursor:pointer;border:none;transition:transform .15s,box-shadow .2s,opacity .2s;text-decoration:none}
.btn:hover{transform:translateY(-1px);opacity:1}
.btn-pri{background:var(--pri);color:#fff;box-shadow:0 4px 16px rgba(74,159,255,.28)}
.btn-out{background:transparent;border:1.5px solid var(--pri);color:var(--pri)}
.btn-cta{background:var(--ac1);color:#fff;box-shadow:0 4px 16px rgba(255,122,63,.28);font-size:15px;padding:13px 30px}
.btn-ghost{background:transparent;border:1.5px solid var(--brd);color:var(--ts);font-size:13px;padding:8px 18px}

/* ═══════════════════════════════════════════════
   NAVBAR  —  INEPSI-style: transparent → solid
   ═══════════════════════════════════════════════ */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:500;
  height:var(--nav-h);
  background:transparent;
  border-bottom:1px solid transparent;
  transition:background .35s ease,border-color .35s ease,box-shadow .35s ease;
  pointer-events:auto;
}
/* scrolled state (added by JS) */
.navbar.scrolled{
  background:rgba(250,248,243,.96);
  border-color:var(--brd);
  box-shadow:0 2px 24px rgba(0,0,0,.07);
}
[data-theme=dark] .navbar.scrolled{background:rgba(15,15,18,.96);box-shadow:0 2px 24px rgba(0,0,0,.45)}

/* when page top: links white if over dark hero, else normal */
.navbar:not(.scrolled) .nav-link,
.navbar:not(.scrolled) .nav-btn{color:rgba(44,44,44,.85)}
[data-theme=dark] .navbar:not(.scrolled) .nav-link,
[data-theme=dark] .navbar:not(.scrolled) .nav-btn{color:rgba(241,241,243,.85)}

.nav-inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:1120px;margin:0 auto;padding:0 28px;gap:8px}

/* Logo */
.logo{font-family:'Dosis',sans-serif;font-size:21px;font-weight:800;color:var(--text);display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none}
.logo-mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--pri),var(--sec));display:flex;align-items:center;justify-content:center;flex-shrink:0}
.logo-k{color:var(--ac2)}

/* Nav links row */
.nav-links{display:flex;align-items:center;gap:2px;list-style:none;flex:1;justify-content:center}
.nav-link,.nav-btn{font-family:'Inter',sans-serif;font-size:13.5px;font-weight:500;color:var(--ts);padding:8px 13px;border-radius:8px;display:flex;align-items:center;gap:4px;cursor:pointer;background:none;border:none;white-space:nowrap;transition:color .2s,background .2s;position:relative}
.nav-link:hover,.nav-btn:hover{color:var(--pri);background:rgba(74,159,255,.07);opacity:1}
.nav-link.active,.nav-btn.active{color:var(--pri)}

/* Active underline dot */
.nav-link.active::after,.nav-btn.active::after{content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--pri)}

/* Chevron */
.chev{width:11px;height:11px;transition:transform .22s;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round}
.nav-item:hover .chev{transform:rotate(180deg)}

/* ── DROPDOWN ── */
.nav-item{position:relative}
.nav-item::after{content:'';position:absolute;top:100%;left:-20px;right:-20px;height:14px;background:transparent}
.dropdown{
  position:absolute;top:calc(100% + 4px);left:50%;
  transform:translateX(-50%) translateY(-8px);
  background:var(--sur);border:1px solid var(--brd);border-radius:14px;
  box-shadow:0 16px 48px rgba(0,0,0,.13);
  padding:10px;min-width:210px;z-index:9999;
  opacity:0;visibility:hidden;
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
  pointer-events:none;
}
[data-theme=dark] .dropdown{box-shadow:0 16px 48px rgba(0,0,0,.55)}
.nav-item:hover .dropdown{
  opacity:1;visibility:visible;
  transform:translateX(-50%) translateY(0);
  pointer-events:auto;
}
/* arrow pip — single combined transform */
.dropdown::before{
  content:'';position:absolute;top:-5px;left:50%;
  width:10px;height:10px;
  background:var(--sur);border:1px solid var(--brd);
  border-bottom:none;border-right:none;
  transform:translateX(-50%) rotate(45deg);
}

.dd-label{font-family:'Inter',sans-serif;font-size:10px;font-weight:700;color:var(--th);letter-spacing:.08em;text-transform:uppercase;padding:7px 14px 4px}
.dd-link{display:flex;align-items:center;gap:10px;font-family:'Inter',sans-serif;font-size:13px;font-weight:500;color:var(--text);padding:9px 14px;border-radius:9px;transition:background .15s,color .15s;text-decoration:none}
.dd-link:hover{background:rgba(74,159,255,.08);color:var(--pri);opacity:1}
.dd-ico{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.dd-div{height:1px;background:var(--brd);margin:5px 10px}

/* MEGA dropdown */
.mega{min-width:420px;display:grid;grid-template-columns:1fr 1fr}
.mega-col:first-child{border-right:1px solid var(--brd);padding-right:4px}
.mega-col{padding:4px}

/* Nav right */
.nav-right{display:flex;align-items:center;gap:9px;flex-shrink:0}
.btn-theme{width:36px;height:36px;border-radius:50%;border:1px solid var(--brd);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ts);transition:background .2s}
.btn-theme:hover{background:var(--bg-card)}
.btn-theme svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}

/* ─── HERO spacer (fixed nav covers top) ─────── */
.hero-spacer{height:var(--nav-h)}

/* ─── TICKER (INEPSI-style scrolling stats) ──── */
.ticker{
  overflow:hidden;border-top:1px solid var(--brd);border-bottom:1px solid var(--brd);
  background:var(--bg-card);padding:10px 0;
}
.ticker-track{
  display:flex;gap:0;
  animation:ticker-scroll 28s linear infinite;
  width:max-content;
}
.ticker-track:hover{animation-play-state:paused}
.ticker-item{
  display:flex;align-items:center;gap:10px;padding:0 36px;
  font-family:'Inter',sans-serif;font-size:13px;font-weight:500;color:var(--ts);
  border-right:1px solid var(--brd);white-space:nowrap;
}
.ticker-item:last-child{border-right:none}
.ticker-num{font-family:'Dosis',sans-serif;font-size:17px;font-weight:800;color:var(--pri)}
@keyframes ticker-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ─── HERO ──────────────────────────────────── */
.hero{padding:80px 0 76px;text-align:center;position:relative;overflow:hidden}
.hero-glow{position:absolute;top:-80px;left:50%;transform:translateX(-50%);width:900px;height:600px;border-radius:50%;background:radial-gradient(ellipse,rgba(74,159,255,.08) 0%,transparent 68%);pointer-events:none}
[data-theme=dark] .hero-glow{background:radial-gradient(ellipse,rgba(94,184,255,.07) 0%,transparent 68%)}
.hero .badge{margin-bottom:22px}
.hero h1{font-size:clamp(40px,6.5vw,72px);font-weight:800;letter-spacing:-.025em;margin-bottom:22px;
  /* subtle entrance */
  animation:fadeUp .7s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.hero-sub{font-family:'Inter',sans-serif;font-size:18px;color:var(--ts);max-width:540px;margin:0 auto 38px;font-weight:300;line-height:1.8;animation:fadeUp .7s .12s ease both}
.hero em{font-style:normal;color:var(--pri)}
.line-acc{position:relative;display:inline-block}
.line-acc::after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:4px;background:var(--ac2);border-radius:4px}
.hero-actions{display:flex;align-items:center;gap:14px;justify-content:center;flex-wrap:wrap;animation:fadeUp .7s .22s ease both}

/* stats row */
.hero-stats{display:flex;align-items:center;justify-content:center;gap:48px;flex-wrap:wrap;margin-top:64px;padding-top:38px;border-top:1px solid var(--brd);animation:fadeUp .7s .32s ease both}
.stat-num{font-family:'Dosis',sans-serif;font-size:34px;font-weight:800;color:var(--pri);line-height:1}
.stat-lbl{font-family:'Inter',sans-serif;font-size:12px;color:var(--th);margin-top:4px}

/* ─── SECTION HEAD ──────────────────────────── */
.sec-head{text-align:center;margin-bottom:52px}
.sec-head h2{font-size:clamp(28px,4vw,42px);font-weight:700;letter-spacing:-.02em;margin-bottom:10px}
.sec-head p{font-family:'Inter',sans-serif;font-size:16px;color:var(--ts);max-width:500px;margin:0 auto}

/* ─── SCROLL-REVEAL ─────────────────────────── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ─── CAT GRID ──────────────────────────────── */
.sec-cat{padding:84px 0}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:18px}
.cat-card{background:var(--bg-card);border:1px solid var(--brd);border-radius:var(--r);padding:28px 26px;cursor:pointer;position:relative;overflow:hidden;transition:transform .22s,box-shadow .22s,border-color .22s}
.cat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--cc-acc,var(--pri));border-radius:3px 3px 0 0}
.cat-card:hover{transform:translateY(-5px);box-shadow:var(--shad);border-color:var(--brd-acc)}
.cat-ico{width:160px;height:160px;border-radius:24px;margin-bottom:20px;display:flex;align-items:center;justify-content:center;background:transparent}
.cat-ico svg{width:160px;height:160px;display:block}
.cat-card h3{font-size:18px;font-weight:700;margin-bottom:7px}
.cat-card p{font-family:'Inter',sans-serif;font-size:13.5px;color:var(--ts);line-height:1.65}
.cat-count{font-family:'Inter',sans-serif;margin-top:15px;font-size:12px;color:var(--th);font-weight:500}

/* ─── RECURSOS ──────────────────────────────── */
.sec-rec{padding:84px 0;background:var(--bg-card)}
.rec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}
.rec-card{background:var(--sur);border:1px solid var(--brd);border-radius:var(--r);overflow:hidden;transition:transform .22s,box-shadow .22s}
.rec-card:hover{transform:translateY(-4px);box-shadow:var(--shad)}
.rec-thumb{height:152px;display:flex;align-items:center;justify-content:center;position:relative}
.rec-pill{position:absolute;top:12px;right:12px}
.rec-body{padding:20px 22px 22px}
.rec-body h3{font-size:17px;font-weight:700;margin-bottom:7px}
.rec-body p{font-family:'Inter',sans-serif;font-size:13px;color:var(--ts);margin-bottom:14px;line-height:1.6}
.rec-meta{display:flex;align-items:center;justify-content:space-between}
.rec-author{display:flex;align-items:center;gap:8px}
.av{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--pri),var(--sec));display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif;font-size:10px;font-weight:700;color:#fff}
.rec-author span{font-family:'Inter',sans-serif;font-size:12px;color:var(--th)}

/* ─── TIKTOK BANNER ─────────────────────────── */
.sec-tt{padding:84px 0}
.tt-inner{background:linear-gradient(135deg,var(--sec),var(--pri));border-radius:24px;padding:60px 40px;text-align:center;position:relative;overflow:hidden}
.tt-inner::before{content:'';position:absolute;top:-50px;right:-50px;width:250px;height:250px;border-radius:50%;background:rgba(255,255,255,.06)}
.tt-inner::after{content:'';position:absolute;bottom:-70px;left:-40px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.04)}
.tt-inner h2{font-size:clamp(24px,4vw,40px);font-weight:800;color:#fff;margin-bottom:8px}
.tt-inner .tt-sub{font-family:'Inter',sans-serif;color:rgba(255,255,255,.80);font-size:16px;margin-bottom:10px}
.tt-inner .tt-note{font-family:'Inter',sans-serif;color:rgba(255,255,255,.60);font-size:13px;margin-bottom:28px;font-style:italic}
.btn-tt{background:#fff;color:#1a1a2e;padding:13px 30px;border-radius:100px;font-family:'Inter',sans-serif;font-size:14px;font-weight:700;display:inline-flex;align-items:center;gap:9px;box-shadow:0 6px 24px rgba(0,0,0,.18);transition:transform .15s,box-shadow .2s;text-decoration:none}
.btn-tt:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(0,0,0,.25);opacity:1}

/* Interpolyglot callout */
.tt-ipl{margin-top:24px;display:inline-flex;align-items:center;gap:8px;font-family:'Inter',sans-serif;font-size:13px;color:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.25);border-radius:100px;padding:8px 18px;text-decoration:none;transition:background .2s}
.tt-ipl:hover{background:rgba(255,255,255,.12);opacity:1}

/* ─── NIVELES ───────────────────────────────── */
.sec-niv{padding:84px 0}
.feat-row{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.feat-text h2{font-size:clamp(26px,4vw,38px);font-weight:700;margin-bottom:14px;line-height:1.2}
.feat-text p{font-family:'Inter',sans-serif;color:var(--ts);margin-bottom:24px;line-height:1.8}
.feat-list{list-style:none;display:flex;flex-direction:column;gap:13px}
.feat-list li{display:flex;align-items:flex-start;gap:11px;font-family:'Inter',sans-serif;font-size:14.5px;color:var(--ts)}
.fchk{width:22px;height:22px;border-radius:50%;background:rgba(52,201,122,.13);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:3px}
.fchk svg{width:12px;height:12px;stroke:var(--grn);stroke-width:2.5;stroke-linecap:round;fill:none}
.lev-stack{display:flex;flex-direction:column;gap:12px}
.lev-card{background:var(--bg-card);border:1px solid var(--brd);border-radius:10px;padding:16px 20px;display:flex;align-items:center;gap:16px;transition:border-color .2s,transform .2s}
.lev-card:hover{border-color:var(--pri);transform:translateX(5px)}
.lev-dot{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.lev-dot svg{width:19px;height:19px;stroke-width:1.8;stroke-linecap:round;fill:none}
.lev-txt h4{font-family:'Inter',sans-serif;font-size:13.5px;font-weight:600;margin-bottom:2px}
.lev-txt p{font-family:'Inter',sans-serif;font-size:12px;color:var(--th);margin:0}
.lev-right{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.prog{width:76px;height:5px;border-radius:3px;background:var(--brd);overflow:hidden}
.prog-f{height:100%;border-radius:3px}
.prog-pct{font-family:'Inter',sans-serif;font-size:10px;color:var(--th)}

/* ─── INTERPOLYGLOT MENTION ─────────────────── */
.sec-ipl{padding:60px 0;background:var(--bg-card)}
.ipl-inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;border:1px solid var(--brd);border-radius:24px;padding:48px;background:var(--sur)}
.ipl-badge{margin-bottom:14px}
.ipl-text h2{font-size:clamp(22px,3vw,32px);font-weight:700;margin-bottom:10px}
.ipl-text p{font-family:'Inter',sans-serif;font-size:14.5px;color:var(--ts);line-height:1.8;margin-bottom:20px}
.ipl-visual{display:flex;flex-direction:column;gap:10px}
.ipl-pill{background:var(--bg-card);border:1px solid var(--brd);border-radius:10px;padding:14px 18px;display:flex;align-items:center;gap:12px;transition:border-color .2s,transform .2s}
.ipl-pill:hover{border-color:var(--sec);transform:translateX(4px)}
.ipl-pill-ico{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ipl-pill-ico svg{width:17px;height:17px;stroke-width:1.8;stroke-linecap:round;fill:none}
.ipl-pill h4{font-family:'Inter',sans-serif;font-size:13px;font-weight:600;margin-bottom:2px}
.ipl-pill p{font-family:'Inter',sans-serif;font-size:12px;color:var(--th);margin:0}

/* ─── NEWSLETTER ────────────────────────────── */
.sec-nl{padding:84px 0}
.nl-inner{max-width:520px;margin:0 auto;text-align:center}
.nl-inner h2{font-size:32px;font-weight:700;margin-bottom:10px}
.nl-inner p{font-family:'Inter',sans-serif;color:var(--ts);margin-bottom:26px}
.form-row{display:flex;gap:10px}
.inp{flex:1;padding:12px 18px;border-radius:100px;border:1.5px solid var(--brd);background:var(--sur);color:var(--text);font-family:'Inter',sans-serif;font-size:14px;outline:none;transition:border-color .2s}
.inp:focus{border-color:var(--pri)}
.inp::placeholder{color:var(--th)}

/* ─── ABOUT PAGE ────────────────────────────── */
.about-wrap{padding:56px 0 80px}
.about-hero-grid{display:grid;grid-template-columns:1fr 340px;gap:60px;align-items:start;margin-bottom:60px}
.about-card-side{background:var(--bg-card);border:1px solid var(--brd);border-radius:24px;padding:32px;display:flex;flex-direction:column;align-items:center;gap:18px;position:relative;overflow:hidden}
.about-card-side::before{content:'';position:absolute;top:-40px;right:-40px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(74,159,255,.13),transparent 70%)}
.photo-pl{width:170px;height:170px;border-radius:50%;background:linear-gradient(135deg,var(--pri),var(--sec));display:flex;align-items:center;justify-content:center;font-family:'Dosis',sans-serif;font-size:56px;font-weight:800;color:#fff;border:4px solid var(--sur);box-shadow:0 8px 28px rgba(74,159,255,.22)}
.about-name-txt{font-family:'Dosis',sans-serif;font-size:21px;font-weight:800;text-align:center}
.about-role-txt{font-family:'Inter',sans-serif;font-size:13px;color:var(--ts);text-align:center;line-height:1.6}
.social-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.s-btn{display:flex;align-items:center;gap:6px;font-family:'Inter',sans-serif;font-size:12px;font-weight:600;padding:7px 13px;border-radius:100px;border:1px solid var(--brd);color:var(--ts);transition:all .2s;background:var(--sur);text-decoration:none}
.s-btn:hover{border-color:var(--pri);color:var(--pri);opacity:1}
.s-btn svg{width:13px;height:13px;stroke-width:2;stroke-linecap:round;fill:none}
.about-text h1{font-size:clamp(28px,4vw,44px);font-weight:800;margin-bottom:6px}
.about-tagline{font-family:'Inter',sans-serif;font-size:17px;color:var(--pri);margin-bottom:22px;font-weight:500}
.about-text p{font-family:'Inter',sans-serif;font-size:15px;color:var(--ts);line-height:1.85;margin-bottom:18px}
.about-cards-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:48px}
.about-mini{background:var(--bg-card);border:1px solid var(--brd);border-radius:var(--r);padding:22px}
.about-mini-ico{width:42px;height:42px;border-radius:12px;margin-bottom:14px;display:flex;align-items:center;justify-content:center}
.about-mini-ico svg{width:21px;height:21px;stroke-width:1.8;stroke-linecap:round;fill:none}
.about-mini h3{font-size:15.5px;font-weight:700;margin-bottom:6px}
.about-mini p{font-family:'Inter',sans-serif;font-size:13px;color:var(--ts);line-height:1.6}
.contact-box{background:var(--bg-card);border:1px solid var(--brd);border-radius:var(--r);padding:44px 36px;max-width:600px;margin:0 auto;text-align:center}
.contact-box h2{font-size:28px;font-weight:700;margin-bottom:10px}
.contact-box p{font-family:'Inter',sans-serif;color:var(--ts);margin-bottom:26px}
.email-link{display:inline-flex;align-items:center;gap:9px;font-family:'Inter',sans-serif;font-size:15px;font-weight:600;color:var(--pri);padding:13px 26px;border-radius:12px;border:1.5px solid var(--brd-acc);background:rgba(74,159,255,.06);transition:background .2s;text-decoration:none}
.email-link:hover{background:rgba(74,159,255,.12);opacity:1}
.email-link svg{width:17px;height:17px;stroke:currentColor;stroke-width:2;stroke-linecap:round;fill:none}

/* ─── FOOTER ─────────────────────────────────── */
footer{padding:52px 0 28px;border-top:1px solid var(--brd)}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
.foot-logo{margin-bottom:14px}
.foot-brand p{font-family:'Inter',sans-serif;font-size:13px;color:var(--ts);line-height:1.75}
.foot-col h4{font-family:'Inter',sans-serif;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--th);margin-bottom:14px}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.foot-col a{font-family:'Inter',sans-serif;font-size:13.5px;color:var(--ts);display:flex;align-items:center;gap:6px;transition:color .2s}
.foot-col a:hover{color:var(--pri);opacity:1}
.foot-col a svg{width:12px;height:12px;stroke:currentColor;stroke-width:2;stroke-linecap:round;flex-shrink:0;fill:none}
.foot-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:22px;border-top:1px solid var(--brd);font-family:'Inter',sans-serif;font-size:12px;color:var(--th)}

/* ─── PAGE SWITCHER ─────────────────────────── */
.page{display:none}.page.active{display:block}

/* ─── RESPONSIVE ────────────────────────────── */
@media(max-width:920px){
  .nav-links{display:none}
  .about-hero-grid{grid-template-columns:1fr;gap:36px}
  .about-card-side{order:-1}
  .feat-row{grid-template-columns:1fr;gap:40px}
  .ipl-inner{grid-template-columns:1fr;gap:32px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:28px}
  .mega{min-width:280px;grid-template-columns:1fr}
  .mega-col:first-child{border-right:none;border-bottom:1px solid var(--brd);padding-bottom:4px}
}
@media(max-width:600px){
  .hero-stats{gap:22px}.form-row{flex-direction:column}
  .foot-grid{grid-template-columns:1fr}
  .container{padding:0 18px}
}


/* ════════════════════════════════════════════════════
   TKT DIAGNÓSTICO — estilos aislados (#tkt-page)
   ════════════════════════════════════════════════════ */

/* TKT Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=DM+Sans:wght@300;400;500;600&display=swap');

/* Contenedor raíz */
#tkt-page {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #F1F1F3;
  background: #0F0F12;
  min-height: 100vh;
  width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
}
#tkt-page *, #tkt-page *::before, #tkt-page *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
#tkt-page a { text-decoration: none; }
#tkt-page img { max-width: 100%; height: auto; }

/* WP compat: override any WP theme padding/max-width inside tkt */
.entry-content #tkt-page,
.wp-block-group #tkt-page,
.wp-block-post-content #tkt-page,
main #tkt-page {
  padding: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

#tkt-page {
  /* Night palette */
  --bg:#0F0F12;
  --bg2:#1C1C22;
  --bg3:#252530;
  --surface:#1C1C22;
  --surface2:#252530;
  --surface3:#2A2A38;
  --border:#33333A;
  --border2:#5EB8FF;
  /* Brand colors */
  --primary:#5EB8FF;
  --secondary:#A06EFF;
  --accent1:#FF8A4D;
  --accent2:#FFDB5E;
  /* Semantic aliases */
  --gold:#FF8A4D;
  --gold2:#FFDB5E;
  --gold3:rgba(255,219,94,.15);
  --teal:#5EB8FF;
  --teal2:#90CFFF;
  --teal-dark:#2A8FE0;
  --red:#FF6B6B;
  --red-dark:#EF4444;
  --red-bg:rgba(255,107,107,.12);
  --green:#4ADE80;
  --green-dark:#22C55E;
  --green-bg:rgba(74,222,128,.12);
  --amber:#FF8A4D;
  --amber-bg:rgba(255,138,77,.12);
  /* Text */
  --text:#F1F1F3;
  --text2:#B0B0C0;
  --text3:#6B6B80;
  /* Module accents */
  --m1:#5EB8FF;  --m1l:#90CFFF;  --m1bg:rgba(94,184,255,.1);
  --m2:#A06EFF;  --m2l:#C4A3FF;  --m2bg:rgba(160,110,255,.1);
  --m3:#FF8A4D;  --m3l:#FFAF82;  --m3bg:rgba(255,138,77,.1);
  --navy:#5EB8FF;
  --navy-light:rgba(94,184,255,.08);
}
*{box-sizing:border-box;margin:0;padding:0}
#tkt-page{font-family:'DM Sans',sans-serif;background:#0F0F12;color:#F1F1F3;min-height:100vh;font-size:14px;line-height:1.6}

/* HEADER */
.header{background:#1C1C22;border-bottom:1px solid var(--border);padding:0;position:sticky;top:0;z-index:100}
.header-top{display:flex;align-items:center;gap:16px;padding:14px 24px;border-bottom:1px solid var(--border)}
.logo{font-family:'Playfair Display',serif;font-size:18px;font-weight:700;color:var(--accent2)}
.logo span{color:var(--text2);font-weight:400;font-size:13px;margin-left:8px;font-family:'DM Sans',sans-serif}
.header-stats{display:flex;gap:20px;margin-left:auto}
.hstat{text-align:center}
.hstat-n{font-size:16px;font-weight:600;color:var(--accent2)}
.hstat-l{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.08em}

/* TIMER */
.timer-stat{border-left:1px solid var(--border);padding-left:20px;position:relative}
.timer-display{font-variant-numeric:tabular-nums;letter-spacing:.04em;min-width:72px;transition:color .3s;color:var(--accent2)}
.timer-display.paused{color:var(--text3)!important}
.timer-label{display:flex;align-items:center;gap:4px;justify-content:center}
.timer-dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0}
.timer-dot-active{background:var(--green);box-shadow:0 0 6px rgba(74,222,128,.6);animation:pulse-dot 2s ease-in-out infinite}
.timer-dot-paused{background:var(--text3);box-shadow:none;animation:none}
@keyframes pulse-dot{0%,100%{opacity:1}50%{opacity:.3}}
.timer-paused-badge{position:absolute;top:-6px;right:-6px;background:var(--amber);color:#000;font-size:8px;font-weight:700;padding:1px 5px;border-radius:99px;letter-spacing:.04em;opacity:0;transition:opacity .3s}
.timer-paused-badge.show{opacity:1}
.per-mod-times{display:flex;gap:12px;margin-top:6px;flex-wrap:wrap}
.pmt{font-size:11px;color:var(--text3)}
.pmt strong{color:var(--text2)}

/* ═══ ONBOARDING ═══ */
.ob-hero{text-align:center;padding:40px 20px 28px;margin-bottom:8px}
.ob-icon{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,#5EB8FF 0%,#A06EFF 100%);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:20px;font-weight:700;color:#0F0F12;margin:0 auto 18px;box-shadow:0 0 24px rgba(94,184,255,.35),0 4px 16px rgba(0,0,0,.4)}
.ob-title{font-family:'Playfair Display',serif;font-size:28px;font-weight:700;color:var(--gold);margin-bottom:10px}
.ob-sub{font-size:14px;color:var(--text2);max-width:480px;margin:0 auto;line-height:1.6}
.ob-steps{display:flex;align-items:center;justify-content:center;gap:0;margin:0 auto 28px;max-width:480px}
.ob-step{display:flex;flex-direction:column;align-items:center;gap:4px;opacity:.4;transition:opacity .3s}
.ob-step.active{opacity:1}
.ob-step.done{opacity:.7}
.os-num{width:28px;height:28px;border-radius:50%;background:var(--surface2);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--text3);transition:all .3s}
.ob-step.active .os-num{background:var(--accent1);border-color:var(--accent1);color:#0F0F12}
.ob-step.done .os-num{background:var(--green-dark);border-color:var(--green-dark);color:#1C1C22}
.os-label{font-size:10px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.ob-step.active .os-label{color:var(--accent1)}
.ob-step-line{flex:1;height:2px;background:var(--border);margin:0 4px;margin-bottom:14px}
.ob-card{display:none;background:#1C1C22;border:1px solid var(--border);border-radius:10px;padding:28px;margin-bottom:16px;animation:ob-in .25s ease}
.ob-card.active{display:block}
@keyframes ob-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.ob-q-label{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text3);margin-bottom:10px}
.ob-q-title{font-family:'Playfair Display',serif;font-size:20px;color:var(--text);margin-bottom:6px}
.ob-q-sub{font-size:13px;color:var(--text2);margin-bottom:20px;line-height:1.5}
.ob-options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-bottom:4px}
.ob-opt{background:#252530;border:2px solid var(--border);border-radius:8px;padding:16px;cursor:pointer;transition:all .18s;user-select:none}
.ob-opt:hover{border-color:var(--border2);background:var(--surface2)}
.ob-opt.selected{border-color:var(--accent1);background:rgba(255,138,77,.1)}
.ob-opt-sm{padding:12px}
.ob-opt-icon{font-size:22px;margin-bottom:8px;line-height:1}
.ob-opt-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px}
.ob-opt-desc{font-size:11px;color:var(--text3);line-height:1.4}
.ob-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}
.ob-chip{padding:7px 14px;border-radius:99px;border:1.5px solid #33333A;font-size:12px;font-weight:500;color:var(--text2);cursor:pointer;transition:all .15s;user-select:none}
.ob-chip:hover{border-color:var(--border2);color:var(--text)}
.ob-chip.selected{border-color:var(--accent1);background:rgba(255,138,77,.12);color:var(--accent1)}
.ob-nav{display:flex;gap:10px;margin-top:24px;align-items:center;justify-content:flex-end}
.ob-error{font-size:12px;color:var(--red);margin-top:8px;display:none}
.ob-error.show{display:block}
/* Profile summary card shown at test start */
.profile-banner{background:#252530;border:1px solid var(--border);border-radius:8px;padding:14px 18px;margin-bottom:20px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.pb-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text3);margin-bottom:2px}
.pb-val{font-size:12px;color:var(--text)}
.pb-item{flex:1;min-width:100px}
.pb-divider{width:1px;height:32px;background:var(--border)}

/* MODULE TABS */
.mod-tabs{display:flex;padding:0 24px;background:#1C1C22}
.mod-tab{padding:12px 24px;font-size:13px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;color:#6B6B80;transition:all .2s;position:relative;user-select:none}
.mod-tab:hover{color:var(--text)}
.mod-tab.m0.active{color:var(--m1);border-bottom-color:var(--m1)}
.mod-tab.m1.active{color:var(--m2);border-bottom-color:var(--m2)}
.mod-tab.m2.active{color:var(--m3);border-bottom-color:var(--m3)}
.mod-tab.m0:hover{color:var(--m1)}
.mod-tab.m1:hover{color:var(--m2)}
.mod-tab.m2:hover{color:var(--m3)}
.tab-badge{font-size:9px;font-weight:700;padding:2px 6px;border-radius:99px;margin-left:6px;vertical-align:middle}
.tab-badge.done{background:rgba(74,222,128,.15);color:var(--green)}
.tab-badge.pct{background:var(--surface2);color:var(--text3)}

/* MAIN */
.main{max-width:820px;margin:0 auto;padding:28px 24px 80px;background:#0F0F12}

/* MODULE PANEL */
.mod-panel{display:none}.mod-panel.active{display:block}

/* SECTION STEPPER */
.stepper{display:flex;gap:4px;margin-bottom:24px;flex-wrap:wrap}
.step-dot{width:28px;height:6px;border-radius:3px;cursor:pointer;transition:all .2s;background:#33333A}
.step-dot.done{background:var(--teal-dark)}
.step-dot.active.m0{background:var(--m1);box-shadow:0 0 8px rgba(94,184,255,.4)}
.step-dot.active.m1{background:var(--m2)}
.step-dot.active.m2{background:var(--m3);box-shadow:0 0 8px rgba(255,138,77,.4)}
.step-dot.partial{background:var(--surface2)}
.step-dot:hover{opacity:.8}
.stepper-label{display:flex;justify-content:space-between;margin-bottom:8px;font-size:11px;color:var(--text3)}

/* SECTION HEADER */
.sec-header{margin-bottom:20px}
.sec-tag{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text3);margin-bottom:6px}
.sec-title{font-family:'Playfair Display',serif;font-size:22px;font-weight:600;color:var(--text);margin-bottom:4px}
.sec-progress{font-size:12px;color:var(--text3)}

/* INSTRUCTIONS */
.instr{background:var(--bg3);border-left:3px solid var(--border2);padding:12px 16px;font-size:13px;color:var(--text2);margin-bottom:18px;border-radius:0 4px 4px 0;line-height:1.6}
.instr strong{color:var(--primary);display:block;margin-bottom:3px}

/* OPTIONS BANK */
.bank{background:#252530;border:1px solid var(--border);border-radius:6px;padding:14px 18px;margin-bottom:18px}
.bank-title{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text3);margin-bottom:10px}
.bank-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px}
.bdef{font-size:12px;color:var(--text2);padding:3px 0}.bdef strong{color:var(--text);font-weight:600}

/* PASSAGE */
.passage{background:rgba(94,184,255,.04);border:1px solid var(--border);border-radius:6px;padding:16px 20px;margin-bottom:18px;font-family:'Playfair Display',serif;font-size:15px;line-height:1.8;color:var(--text2)}
.passage-title{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text3);margin-bottom:8px;font-family:'DM Sans',sans-serif}
.ul{color:var(--gold);font-weight:600}

/* QUESTION */
.qb{background:#1C1C22;border:1px solid var(--border);border-left:3px solid var(--border);border-radius:6px;margin-bottom:8px;overflow:hidden;transition:border-left-color .15s}
.qb.correct{border-left-color:var(--green)}
.qb.wrong{border-left-color:var(--red)}
.qi{padding:14px 16px}
.qrow{display:flex;gap:10px;align-items:flex-start}
.qnum{font-size:11px;font-weight:600;color:var(--text3);min-width:24px;padding-top:2px}
.qbody{flex:1}
.qstem{font-family:'Playfair Display',serif;font-size:14.5px;line-height:1.55;color:var(--text);margin-bottom:10px}
.choices{display:grid;gap:4px}
.ch{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;border:1px solid #33333A;border-radius:4px;cursor:pointer;font-size:12.5px;color:var(--text2);transition:all .12s;user-select:none;line-height:1.45}
.ch:hover:not(.locked-ch){border-color:var(--primary);color:var(--text);background:rgba(94,184,255,.07)}
.ch.selected{border-color:var(--primary);background:rgba(94,184,255,.1);color:var(--primary)}
.ch.reveal-ok{border-color:var(--green);background:rgba(74,222,128,.1);color:var(--green)}
.ch.reveal-wrong{border-color:var(--red);background:rgba(255,107,107,.1);color:var(--red)}
.locked-ch{cursor:default}
.clbl{font-weight:700;font-size:11px;min-width:14px;color:inherit}

/* FEEDBACK */
.fb{display:none;padding:10px 16px 12px;border-top:1px solid var(--border);font-size:12px;line-height:1.65}
.fb.show{display:block}
.fb-ok{background:rgba(74,222,128,.08);border-top-color:rgba(74,222,128,.2)}.fb-bad{background:rgba(255,107,107,.08);border-top-color:rgba(255,107,107,.2)}
.fb-hd{font-weight:600;margin-bottom:4px;color:var(--text)}
.fb-exp{color:var(--text2)}
.fb-tip{margin-top:7px;padding-top:7px;border-top:1px solid var(--border);font-style:italic;font-size:11px;color:var(--text3)}

/* NAV */
.sec-nav{display:flex;gap:10px;margin-top:24px;align-items:center}
.btn{padding:10px 22px;border-radius:4px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;border:none}
.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text2)}
.btn-ghost:hover{border-color:var(--border2);color:var(--text)}
.btn-next{background:var(--primary);color:#0F0F12;border:none;font-weight:600}
.btn-next:hover{background:var(--m1l);filter:brightness(1.05)}
.btn-submit{background:var(--accent1);color:#0F0F12;font-weight:700}
.btn-submit:hover{background:#FF7A3F}
.btn-submit:disabled{opacity:.4;cursor:not-allowed}
.btn-route{background:linear-gradient(135deg,#5EB8FF 0%,#A06EFF 100%);color:#0F0F12;font-weight:700;padding:12px 28px;font-size:14px;border:none;border-radius:10px;cursor:pointer;font-family:'DM Sans',sans-serif;box-shadow:0 0 24px rgba(94,184,255,.35),0 4px 16px rgba(0,0,0,.4);display:inline-block;text-align:center}
.btn-route:hover{opacity:.9;box-shadow:0 0 28px rgba(94,184,255,.5);transform:translateY(-2px);transition:all .2s}
.nav-info{margin-left:auto;font-size:12px;color:var(--text3)}

/* RESULTS */
.results-panel{display:none;margin-top:24px;background:#0F0F12}.results-panel.show{display:block}
.res-header{background:var(--surface);border:1px solid var(--border);border-radius:8px 8px 0 0;padding:24px 28px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.score-ring{width:80px;height:80px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}
.score-ring.m0{border:3px solid var(--m1)}
.score-ring.m1{border:3px solid var(--m2)}
.score-ring.m2{border:3px solid var(--m3)}
.score-n{font-family:'Playfair Display',serif;font-size:28px;font-weight:700;line-height:1}
.score-n.m0{color:var(--m1)}.score-n.m1{color:var(--m2)}.score-n.m2{color:var(--m3)}
.score-d{font-size:11px;color:var(--text3)}
.res-info h3{font-family:'Playfair Display',serif;font-size:20px;color:var(--text);margin-bottom:4px}
.res-info p{font-size:12px;color:var(--text2)}
.band-box{margin-left:auto;text-align:center}
.band-lbl{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--text3);margin-bottom:2px}
.band-val{font-family:'Playfair Display',serif;font-size:40px;font-weight:700;color:var(--gold)}
.res-table{background:#1C1C22;border:1px solid var(--border);border-top:none;border-radius:0 0 8px 8px;overflow:hidden}
.res-table-title{padding:14px 24px 10px;font-family:'Playfair Display',serif;font-size:16px;color:var(--text);border-bottom:1px solid var(--border)}
table{width:100%;border-collapse:collapse}
th{font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text3);padding:9px 20px;text-align:left;background:var(--bg3);border-bottom:1px solid var(--border)}
td{padding:10px 20px;border-bottom:1px solid var(--border);font-size:12px;vertical-align:middle;color:var(--text2)}
tr:last-child td{border-bottom:none}
.td-name{font-weight:500;color:var(--text)}
.bw{width:120px;height:4px;background:var(--bg3);border-radius:2px;overflow:hidden}
.bf{height:100%;border-radius:2px}
.bf-g{background:var(--green)}.bf-a{background:var(--amber)}.bf-r{background:var(--red-dark)}
.pct-cell{font-weight:600;font-size:12px;text-align:right}
.tag{font-size:9px;font-weight:700;padding:2px 7px;border-radius:99px;letter-spacing:.04em}
.tok{background:var(--green-bg);color:var(--green)}.twk{background:var(--amber-bg);color:var(--amber)}.tfoc{background:var(--red-bg);color:var(--red)}
.res-note{padding:10px 24px;font-size:11px;color:var(--text3);font-style:italic;background:var(--bg3)}

/* STUDY ROUTE */
.route-section{display:none;margin-top:32px;background:#0F0F12}.route-section.show{display:block}
.route-header{background:linear-gradient(135deg,var(--surface),var(--surface2));border:1px solid var(--border);border-radius:8px;padding:28px;margin-bottom:20px;text-align:center}
.route-header h2{font-family:'Playfair Display',serif;font-size:28px;color:var(--accent2);margin-bottom:8px}
.route-header p{color:var(--text2);font-size:13px}
.route-grid{display:grid;gap:8px}
.route-phase{background:#1C1C22;border:1px solid var(--border);border-radius:6px;overflow:hidden}
.route-phase-head{display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;user-select:none}
.route-phase-head:hover{background:var(--surface2)}
.rph-num{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0}
.rph-title{flex:1;font-weight:600;font-size:14px;color:var(--text)}
.rph-dates{font-size:11px;color:var(--text3)}
.rph-chevron{font-size:11px;color:var(--text3);transition:transform .2s}
.rph-chevron.open{transform:rotate(90deg)}
.route-phase-body{display:none;border-top:1px solid var(--border)}
.route-phase-body.open{display:block}
.route-week{padding:14px 18px;border-bottom:1px solid var(--border)}
.route-week:last-child{border-bottom:none}
.rw-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.rw-num{font-size:10px;font-weight:700;color:var(--text3)}
.rw-topic{font-size:13px;font-weight:600;color:var(--text)}
.rw-focus{font-size:11px;padding:2px 8px;border-radius:99px;margin-left:auto}
.sessions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.session-card{background:var(--bg3);border-radius:4px;padding:10px 12px}
.sess-day{font-size:10px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.sess-text{font-size:11px;color:var(--text2);line-height:1.5}
.sess-ref{font-size:10px;color:var(--text3);margin-top:4px;font-style:italic}
.priority-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;padding:2px 7px;border-radius:99px}
.pb-high{background:var(--red-bg);color:var(--red)}
.pb-mid{background:var(--amber-bg);color:var(--amber)}
.pb-low{background:var(--green-bg);color:var(--green)}
.score-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
.ss-card{background:#1C1C22;border:1px solid var(--border);border-radius:8px;padding:16px;text-align:center}
.ss-mod{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px;color:var(--text2)}
.ss-score{font-family:'Playfair Display',serif;font-size:28px;font-weight:700;line-height:1;color:var(--text)}
.ss-band{font-size:11px;color:var(--text2);margin-top:2px}
.all-done-msg{text-align:center;padding:32px;color:var(--text2)}
.all-done-msg h3{font-family:'Playfair Display',serif;font-size:24px;color:var(--gold);margin-bottom:8px}

@media(max-width:600px){
  .main{padding:20px 16px 60px}
  .sessions-grid{grid-template-columns:1fr}
  .score-summary{grid-template-columns:1fr}
  th:nth-child(3),td:nth-child(3){display:none}
  .res-header{flex-wrap:wrap}
  .band-box{margin-left:0}
}

/* ════ /TKT DIAGNÓSTICO ════ */
