/*
Theme Name: SimTest Theme
Theme URI: https://simtest.us
Author: SimTest
Description: SimTest public theme for the exam platform. UI/brand layer only; database and exam logic stay in SimTest-Plugin.
Version: 6.0f.3
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: simtest
*/

/* ============================================================
   DESIGN TOKENS — inspired by State Board Prep aesthetic
   ============================================================ */
:root {
  --navy:       #0B1F3A;
  --navy-2:     #102848;
  --navy-3:     #1A3A5C;
  --blue-mid:   #1D5FA8;
  --orange:     #F26522;
  --orange-h:   #FF7A35;
  --orange-bg:  #FFF4EE;
  --white:      #FFFFFF;
  --off:        #F5F7FA;
  --gray-100:   #EDF0F5;
  --gray-200:   #D1D8E4;
  --gray-400:   #8A97AA;
  --gray-600:   #4A5568;
  --text:       #1A2B3C;
  --text-lt:    #4A5568;
  --text-muted: #8A97AA;
  --green:      #1BAA6D;
  --green-bg:   #E8F8F1;
  --red:        #E03333;
  --red-bg:     #FDEAEA;
  --gold:       #F5A623;

  /* Trade colors */
  --nail-c:#E8579A; --nail-bg:#FEF0F7;
  --hair-c:#9B3FC8; --hair-bg:#F5EEFF;
  --cls-c:#0FA8A8;  --cls-bg:#E6F9F9;
  --elec-c:#F09020; --elec-bg:#FFF5E0;
  --ins-c:#1D6FD4;  --ins-bg:#EBF3FF;
  --real-c:#17A34A; --real-bg:#E8F5EE;
  --hvac-c:#0891B2; --hvac-bg:#E0F7FC;
  --plmb-c:#2563EB; --plmb-bg:#EBF0FF;
  --cont-c:#D97706; --cont-bg:#FEF3C7;
  --gen-c:#64748B;  --gen-bg:#F1F5F9;

  --font-head: 'Barlow', sans-serif;
  --font-body: 'Inter', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;

  --r-xs:  4px;
  --r-sm:  8px;
  --r-md: 12px;
  --r-lg: 20px;
  --r-xl: 28px;
  --r-full: 9999px;

  --shadow-sm: 0 1px 4px rgba(11,31,58,.08);
  --shadow-md: 0 4px 20px rgba(11,31,58,.13);
  --shadow-lg: 0 8px 40px rgba(11,31,58,.18);

  --max-w: 1160px;
  --hh: 70px;
  --ease: 0.2s ease;
}

/* ============================================================ RESET */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-body);color:var(--text);background:var(--white);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue-mid);text-decoration:none;transition:color var(--ease)}
a:hover{color:var(--orange)}
ul{list-style:none}

/* ============================================================ TYPE */
h1,h2,h3,h4,h5,h6{font-family:var(--font-head);font-weight:700;line-height:1.15;color:var(--navy);letter-spacing:-.01em}
h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800}
h2{font-size:clamp(1.6rem,3vw,2.4rem)}
h3{font-size:clamp(1.1rem,2vw,1.5rem)}
h4{font-size:1rem;font-weight:600}
p{margin-bottom:1rem}p:last-child{margin-bottom:0}
.lead{font-size:1.1rem;color:var(--text-lt)}
.muted{color:var(--text-muted)}
.center{text-align:center}

/* ============================================================ LAYOUT */
.wrap{max-width:var(--max-w);margin:0 auto;padding:0 24px}
.section{padding:80px 0}
.section-sm{padding:48px 0}
.section-navy{background:var(--navy)}
.section-off{background:var(--off)}
.section-navy h1,.section-navy h2,.section-navy h3{color:var(--white)}

.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}

@media(max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.section{padding:56px 0}}

.flex-c{display:flex;align-items:center}
.flex-cb{display:flex;align-items:center;justify-content:space-between}
.flex-cc{display:flex;align-items:center;justify-content:center}
.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}
.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}
.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mt-48{margin-top:48px}
.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}
.mb-24{margin-bottom:24px}.mb-32{margin-bottom:32px}.mb-48{margin-bottom:48px}
.hidden{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ============================================================ BUTTONS */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;border-radius:var(--r-full);font-family:var(--font-body);font-size:.95rem;font-weight:600;cursor:pointer;border:2px solid transparent;transition:all var(--ease);text-decoration:none;white-space:nowrap;line-height:1}
.btn:focus-visible{outline:3px solid var(--orange);outline-offset:2px}

.btn-orange{background:var(--orange);color:var(--white);border-color:var(--orange)}
.btn-orange:hover{background:var(--orange-h);border-color:var(--orange-h);color:var(--white);transform:translateY(-1px);box-shadow:0 6px 20px rgba(242,101,34,.4)}

.btn-white{background:var(--white);color:var(--navy);border-color:var(--white)}
.btn-white:hover{background:var(--gray-100);border-color:var(--gray-200);color:var(--navy)}

.btn-outline-white{background:transparent;color:var(--white);border-color:rgba(255,255,255,.5)}
.btn-outline-white:hover{background:rgba(255,255,255,.1);border-color:var(--white);color:var(--white)}

.btn-outline{background:transparent;color:var(--navy);border-color:var(--gray-200)}
.btn-outline:hover{border-color:var(--navy);background:var(--gray-100);color:var(--navy)}

.btn-navy{background:var(--navy);color:var(--white);border-color:var(--navy)}
.btn-navy:hover{background:var(--navy-2);border-color:var(--navy-2);color:var(--white)}

.btn-sm{padding:9px 20px;font-size:.85rem}
.btn-lg{padding:16px 38px;font-size:1.05rem}
.btn-full{width:100%;justify-content:center}
.btn-icon{gap:10px}

/* ============================================================ BADGES */
.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:var(--r-full);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.badge-orange{background:var(--orange-bg);color:var(--orange)}
.badge-navy{background:var(--navy);color:var(--white)}
.badge-green{background:var(--green-bg);color:var(--green)}
.badge-red{background:var(--red-bg);color:var(--red)}
.badge-gray{background:var(--gray-100);color:var(--gray-600)}

/* ============================================================ CARDS */
.card{background:var(--white);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);transition:all var(--ease)}
.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}

/* ============================================================
   HEADER — like State Board Prep: clean, white text on navy
   ============================================================ */
.site-header{position:sticky;top:0;z-index:1000;height:var(--hh);background:var(--navy)}
.site-header .wrap{height:100%}
.hd-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}

/* Logo */
.site-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--white);flex-shrink:0}
.logo-shield{width:38px;height:38px;background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.3);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:18px}
.logo-words{font-family:var(--font-head);font-weight:800;font-size:1.1rem;letter-spacing:.01em;line-height:1.1}
.logo-words span{display:block;font-size:.65rem;font-weight:500;opacity:.65;letter-spacing:.06em;text-transform:uppercase}

/* Desktop nav */
.main-nav{display:flex;align-items:center}
.main-nav>ul{display:flex;align-items:center;gap:2px}
.main-nav a{display:block;padding:8px 14px;color:rgba(255,255,255,.82);font-size:.9rem;font-weight:500;border-radius:var(--r-sm);transition:all var(--ease)}
.main-nav a:hover,.main-nav a.active{color:var(--white);background:rgba(255,255,255,.1)}

/* Dropdown */
.nav-drop{position:relative}
.nav-drop>.drop-menu{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);border:1px solid var(--gray-100);padding:12px;min-width:560px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;opacity:0;visibility:hidden;transition:all var(--ease);pointer-events:none}
.nav-drop:hover>.drop-menu,.nav-drop:focus-within>.drop-menu{opacity:1;visibility:visible;pointer-events:auto}
.drop-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r-md);color:var(--text);font-size:.84rem;font-weight:500;transition:all var(--ease);text-decoration:none}
.drop-item:hover{background:var(--off);color:var(--navy)}
.drop-ico{width:30px;height:30px;border-radius:var(--r-xs);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}

/* Language selector */
.lang-btn{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.85);padding:6px 12px;border-radius:var(--r-full);font-size:.8rem;font-weight:500;cursor:pointer;transition:all var(--ease);position:relative;font-family:var(--font-body)}
.lang-btn:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.4);color:var(--white)}
.lang-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--white);border-radius:var(--r-md);box-shadow:var(--shadow-lg);border:1px solid var(--gray-100);padding:6px;min-width:160px;opacity:0;visibility:hidden;transition:all var(--ease)}
.lang-btn:hover .lang-dropdown,.lang-btn:focus-within .lang-dropdown{opacity:1;visibility:visible}
.lang-opt{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--r-sm);color:var(--text);font-size:.84rem;cursor:pointer;transition:all var(--ease);border:none;background:none;width:100%;font-family:var(--font-body)}
.lang-opt:hover{background:var(--off);color:var(--navy)}
.lang-opt.active{background:var(--navy);color:var(--white)}

/* Auth buttons */
.hd-auth{display:flex;align-items:center;gap:8px}

/* Hamburger */
.hd-ham{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.hd-ham span{display:block;width:22px;height:2px;background:var(--white);border-radius:2px;transition:all var(--ease)}

@media(max-width:960px){
  .main-nav{display:none}
  .hd-ham{display:flex}
  .hd-auth .btn-outline-white{display:none}
}

/* Mobile menu */
.mob-menu{display:none;position:fixed;top:var(--hh);left:0;right:0;bottom:0;background:var(--navy);z-index:999;overflow-y:auto;padding:0}
.mob-menu.open{display:block}
.mob-section{border-bottom:1px solid rgba(255,255,255,.08);padding:16px 20px}
.mob-section-lbl{color:rgba(255,255,255,.35);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}
.mob-menu a{display:flex;align-items:center;gap:10px;padding:10px 8px;color:rgba(255,255,255,.8);font-size:.95rem;font-weight:500;border-radius:var(--r-sm);transition:all var(--ease);text-decoration:none}
.mob-menu a:hover{background:rgba(255,255,255,.08);color:var(--white)}
.mob-lang{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding-top:4px}
.mob-lang-btn{padding:8px 10px;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.2);background:none;color:rgba(255,255,255,.7);font-size:.8rem;cursor:pointer;text-align:center;font-family:var(--font-body);transition:all var(--ease)}
.mob-lang-btn:hover,.mob-lang-btn.active{background:rgba(255,255,255,.15);color:var(--white);border-color:rgba(255,255,255,.4)}

/* ============================================================
   HERO — dark navy with US map texture feel, geometric lines
   ============================================================ */
.hero{background:var(--navy);position:relative;overflow:hidden;padding:90px 0 100px}
.hero-geo{position:absolute;inset:0;opacity:.06;background-image:
  linear-gradient(rgba(255,255,255,.6) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.6) 1px,transparent 1px);
  background-size:60px 60px}
.hero-glow{position:absolute;right:5%;top:50%;transform:translateY(-50%);width:500px;height:500px;background:radial-gradient(circle,rgba(29,95,168,.35) 0%,transparent 70%);pointer-events:none}
.hero-content{position:relative;z-index:1;max-width:680px}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(242,101,34,.15);border:1px solid rgba(242,101,34,.35);color:#FF9A6C;padding:7px 16px;border-radius:var(--r-full);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:22px}
.hero h1{color:var(--white);margin-bottom:18px}
.hero p.hero-sub{color:rgba(255,255,255,.7);font-size:1.15rem;max-width:560px;margin-bottom:32px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.hero-cta .btn-orange{font-size:1rem;padding:15px 36px}

/* Trust bar below hero CTA */
.hero-trust{display:flex;gap:32px;margin-top:48px;padding-top:32px;border-top:1px solid rgba(255,255,255,.1);flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:10px}
.trust-num{font-family:var(--font-head);font-size:1.6rem;font-weight:800;color:var(--white)}
.trust-lbl{font-size:.75rem;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.06em;font-weight:600;line-height:1.3}

/* State map decoration */
.hero-map{position:absolute;right:-40px;top:50%;transform:translateY(-50%);width:520px;opacity:.08;pointer-events:none}

@media(max-width:900px){.hero{padding:64px 0 72px}.hero-map,.hero-glow{display:none}.hero-trust{gap:20px}}

/* ============================================================
   LOGO BAR (trust logos)
   ============================================================ */
.logo-bar{background:var(--off);border-top:1px solid var(--gray-100);border-bottom:1px solid var(--gray-100);padding:24px 0}
.logo-bar-inner{display:flex;align-items:center;justify-content:center;gap:48px;flex-wrap:wrap}
.logo-bar-item{color:var(--gray-400);font-size:.88rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;opacity:.7}

/* ============================================================
   TRADE GRID
   ============================================================ */
.trades-wrap{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
@media(max-width:1000px){.trades-wrap{grid-template-columns:repeat(3,1fr)}}
@media(max-width:580px){.trades-wrap{grid-template-columns:repeat(2,1fr)}}

.trade-tile{display:block;background:var(--white);border:1.5px solid var(--gray-100);border-radius:var(--r-lg);padding:20px 14px;text-align:center;text-decoration:none;transition:all var(--ease);box-shadow:var(--shadow-sm)}
.trade-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.trade-tile-ico{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;font-size:24px}
.trade-tile-name{font-family:var(--font-head);font-size:.9rem;font-weight:700;color:var(--navy);margin-bottom:3px}
.trade-tile-count{font-size:.72rem;color:var(--text-muted)}

/* hover border accent per trade */
.tt-nail:hover{border-color:var(--nail-c)}.tt-nail .trade-tile-ico{background:var(--nail-bg)}
.tt-hair:hover{border-color:var(--hair-c)}.tt-hair .trade-tile-ico{background:var(--hair-bg)}
.tt-cls:hover{border-color:var(--cls-c)}.tt-cls .trade-tile-ico{background:var(--cls-bg)}
.tt-elec:hover{border-color:var(--elec-c)}.tt-elec .trade-tile-ico{background:var(--elec-bg)}
.tt-ins:hover{border-color:var(--ins-c)}.tt-ins .trade-tile-ico{background:var(--ins-bg)}
.tt-real:hover{border-color:var(--real-c)}.tt-real .trade-tile-ico{background:var(--real-bg)}
.tt-hvac:hover{border-color:var(--hvac-c)}.tt-hvac .trade-tile-ico{background:var(--hvac-bg)}
.tt-plmb:hover{border-color:var(--plmb-c)}.tt-plmb .trade-tile-ico{background:var(--plmb-bg)}
.tt-cont:hover{border-color:var(--cont-c)}.tt-cont .trade-tile-ico{background:var(--cont-bg)}
.tt-gen:hover{border-color:var(--gen-c)}.tt-gen .trade-tile-ico{background:var(--gen-bg)}

/* ============================================================
   PRICING — State Board Prep style: white cards, orange CTA on middle
   ============================================================ */
.pricing-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:900px;margin:0 auto}
.p-card{background:var(--white);border-radius:var(--r-xl);padding:32px 28px;border:2px solid var(--gray-100);transition:all var(--ease);position:relative}
.p-card:hover{box-shadow:var(--shadow-md)}
.p-card.featured{border-color:var(--orange);box-shadow:0 0 0 4px rgba(242,101,34,.12)}
.p-card.featured::before{content:attr(data-badge);position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--orange);color:var(--white);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:4px 18px;border-radius:var(--r-full);white-space:nowrap}
.p-name{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:12px}
.p-price{font-family:var(--font-head);font-size:2.8rem;font-weight:800;line-height:1;margin-bottom:4px;color:var(--navy)}
.p-price sup{font-size:1.3rem;vertical-align:top;margin-top:.5rem}
.p-price .mo{font-size:1rem;font-weight:400;color:var(--text-muted)}
.p-desc{font-size:.84rem;color:var(--text-muted);margin:10px 0 20px;line-height:1.5}
.p-feats{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}
.p-feat{display:flex;align-items:flex-start;gap:10px;font-size:.87rem;color:var(--text-lt)}
.p-feat::before{content:'•';color:var(--navy);font-weight:700;flex-shrink:0;margin-top:1px}
.p-card.featured .p-feat::before{color:var(--orange)}

@media(max-width:760px){.pricing-wrap{grid-template-columns:1fr;max-width:400px}}

/* ============================================================
   TESTIMONIALS — slider style like State Board Prep
   ============================================================ */
.testi-section{background:var(--off);padding:80px 0}
.testi-slider{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.testi-card{background:var(--white);border-radius:var(--r-lg);padding:24px;border:1px solid var(--gray-100)}
.testi-quote{font-size:1.5rem;color:var(--gray-200);margin-bottom:8px;font-family:Georgia,serif;line-height:1}"
.testi-text{font-size:.88rem;color:var(--text-lt);font-style:italic;margin-bottom:16px;line-height:1.65}
.testi-author{display:flex;align-items:center;gap:10px}
.testi-av{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:.88rem;font-weight:700;color:var(--white);flex-shrink:0}
.testi-name{font-weight:600;font-size:.85rem;color:var(--navy)}
.testi-trade{font-size:.75rem;color:var(--text-muted)}
@media(max-width:860px){.testi-slider{grid-template-columns:1fr}}

/* ============================================================
   FEATURES (3-col icon grid)
   ============================================================ */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media(max-width:760px){.feat-grid{grid-template-columns:1fr}}
.feat-item{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.feat-icon{width:52px;height:52px;border-radius:var(--r-md);background:var(--navy);display:flex;align-items:center;justify-content:center;font-size:24px}
.feat-title{font-family:var(--font-head);font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:4px}
.feat-desc{font-size:.88rem;color:var(--text-lt);line-height:1.65}

/* ============================================================
   QUIZ ENGINE
   ============================================================ */
.quiz-shell{max-width:800px;margin:0 auto}
.quiz-topbar{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.quiz-prog-wrap{flex:1;min-width:200px}
.quiz-prog-labels{display:flex;justify-content:space-between;font-size:.76rem;color:var(--text-muted);margin-bottom:5px}
.quiz-prog-bar{height:8px;background:var(--gray-100);border-radius:var(--r-full);overflow:hidden}
.quiz-prog-fill{height:100%;background:var(--orange);border-radius:var(--r-full);transition:width .4s ease}
.quiz-timer{font-family:var(--font-mono);font-size:1.1rem;font-weight:600;background:var(--navy);color:var(--white);padding:8px 16px;border-radius:var(--r-md);flex-shrink:0}
.quiz-timer.warn{background:var(--red)}

.q-dots{display:flex;gap:5px;flex-wrap:wrap;justify-content:center;margin-bottom:16px}
.q-dot{width:10px;height:10px;border-radius:50%;background:var(--gray-200);border:none;cursor:pointer;padding:0;transition:all var(--ease)}
.q-dot.answered{background:var(--navy)}
.q-dot.correct{background:var(--green)}
.q-dot.wrong{background:var(--red)}
.q-dot.curr{transform:scale(1.5);box-shadow:0 0 0 3px rgba(242,101,34,.3)}
.q-dot.flagged{background:var(--gold)}

.q-card{background:var(--white);border-radius:var(--r-xl);padding:36px;box-shadow:var(--shadow-md);margin-bottom:14px;border:1px solid var(--gray-100)}
.q-meta{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.q-text{font-size:1.08rem;font-weight:600;color:var(--navy);margin-bottom:22px;line-height:1.6}
.q-img{width:100%;max-height:200px;object-fit:cover;border-radius:var(--r-md);margin-bottom:18px}

.opts{display:flex;flex-direction:column;gap:9px}
.opt{display:flex;align-items:center;gap:14px;padding:13px 18px;border:2px solid var(--gray-200);border-radius:var(--r-md);background:var(--white);cursor:pointer;text-align:left;font-family:var(--font-body);font-size:.93rem;color:var(--text);transition:all var(--ease);width:100%}
.opt:hover:not(:disabled){border-color:var(--orange);background:var(--orange-bg)}
.opt.selected{border-color:var(--navy);background:var(--gray-100)}
.opt.correct{border-color:var(--green);background:var(--green-bg);color:var(--green)}
.opt.wrong{border-color:var(--red);background:var(--red-bg);color:var(--red)}
.opt:disabled{cursor:default}
.opt-ltr{width:28px;height:28px;border-radius:50%;background:var(--gray-100);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.78rem;flex-shrink:0;transition:all var(--ease)}
.opt.correct .opt-ltr{background:var(--green);color:var(--white)}
.opt.wrong .opt-ltr{background:var(--red);color:var(--white)}
.opt.selected .opt-ltr{background:var(--navy);color:var(--white)}

.expl-box{background:var(--off);border-left:4px solid var(--orange);padding:14px 18px;margin-top:16px;font-size:.87rem;border-radius:0 var(--r-sm) var(--r-sm) 0;display:none}
.expl-box.show{display:block}

.quiz-nav{display:flex;align-items:center;justify-content:space-between;gap:10px}

/* Results */
.res-card{background:var(--white);border-radius:var(--r-xl);padding:44px 36px;text-align:center;box-shadow:var(--shadow-lg);max-width:600px;margin:0 auto}
.score-ring{width:150px;height:150px;border-radius:50%;margin:0 auto 22px;position:relative;display:flex;align-items:center;justify-content:center}
.score-ring.pass{background:conic-gradient(var(--green) var(--d,0deg),var(--gray-100) 0)}
.score-ring.fail{background:conic-gradient(var(--red) var(--d,0deg),var(--gray-100) 0)}
.score-inner{width:118px;height:118px;background:var(--white);border-radius:50%;position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center}
.score-num{font-family:var(--font-head);font-size:1.9rem;font-weight:800;line-height:1}
.score-sub{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}
.res-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}
.rs-box{padding:14px;background:var(--off);border-radius:var(--r-md)}
.rs-num{font-family:var(--font-head);font-size:1.5rem;font-weight:800}
.rs-lbl{font-size:.73rem;color:var(--text-muted)}

/* ============================================================
   FLASHCARDS
   ============================================================ */
.fc-scene{width:100%;height:280px;perspective:1100px;cursor:pointer;margin-bottom:18px}
.fc-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.fc-scene.flipped .fc-inner{transform:rotateY(180deg)}
.fc-face{position:absolute;inset:0;background:var(--white);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 36px;text-align:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:2px solid var(--gray-100)}
.fc-face.back{transform:rotateY(180deg);background:var(--navy);border-color:var(--navy-2)}
.fc-face.back h3{color:var(--white)}
.fc-face.back p{color:rgba(255,255,255,.72)}
.fc-lbl{position:absolute;top:14px;right:16px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}
.fc-face.back .fc-lbl{color:rgba(255,255,255,.3)}
.fc-hint{font-size:.78rem;text-align:center;color:var(--text-muted);margin-bottom:14px}
.fc-acts{display:flex;gap:10px;justify-content:center}
.fc-btn{flex:1;max-width:150px;padding:11px;border-radius:var(--r-md);border:none;font-family:var(--font-body);font-weight:600;font-size:.87rem;cursor:pointer;transition:all var(--ease)}
.fc-btn.know{background:var(--green-bg);color:var(--green)}.fc-btn.know:hover{background:var(--green);color:var(--white)}
.fc-btn.skip{background:var(--red-bg);color:var(--red)}.fc-btn.skip:hover{background:var(--red);color:var(--white)}

/* ============================================================
   DASHBOARD
   ============================================================ */
.dash-wrap{display:grid;grid-template-columns:240px 1fr;gap:22px;min-height:calc(100vh - var(--hh));padding:22px 0}
.sidebar{background:var(--white);border-radius:var(--r-lg);padding:16px;border:1px solid var(--gray-100);height:fit-content;position:sticky;top:calc(var(--hh) + 14px)}
.sb-user{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--gray-100);margin-bottom:12px}
.sb-av{width:40px;height:40px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;color:var(--white);font-family:var(--font-head);font-size:.95rem;font-weight:700;flex-shrink:0}
.sb-name{font-weight:600;font-size:.86rem}
.sb-trade{font-size:.73rem;color:var(--text-muted)}
.sb-nav{display:flex;flex-direction:column;gap:2px}
.sb-nav a{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:var(--r-sm);color:var(--text-lt);font-size:.84rem;font-weight:500;transition:all var(--ease);text-decoration:none}
.sb-nav a:hover,.sb-nav a.active{background:var(--off);color:var(--navy)}
.sb-nav a.active{background:var(--navy);color:var(--white)}
.sb-nav .ni{font-size:15px;width:20px;text-align:center;flex-shrink:0}
.sb-lbl{font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:10px 10px 4px}

.dash-main{display:flex;flex-direction:column;gap:20px}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stat-box{background:var(--white);border-radius:var(--r-lg);padding:18px;border:1px solid var(--gray-100)}
.stat-ico{font-size:22px;margin-bottom:8px}
.stat-val{font-family:var(--font-head);font-size:1.8rem;font-weight:800;line-height:1;margin-bottom:3px}
.stat-lbl{font-size:.76rem;color:var(--text-muted)}

@media(max-width:900px){.dash-wrap{grid-template-columns:1fr}.sidebar{position:static}.stat-row{grid-template-columns:repeat(2,1fr)}}

/* ============================================================
   FORMS / AUTH
   ============================================================ */
.form-box{max-width:440px;margin:0 auto;background:var(--white);border-radius:var(--r-xl);padding:36px;box-shadow:var(--shadow-lg);border:1px solid var(--gray-100)}
.form-group{margin-bottom:16px}
.form-label{display:block;font-size:.84rem;font-weight:600;margin-bottom:5px}
.form-input,.form-select{width:100%;padding:11px 14px;border:1.5px solid var(--gray-200);border-radius:var(--r-md);font-family:var(--font-body);font-size:.93rem;color:var(--text);background:var(--white);transition:border-color var(--ease);outline:none}
.form-input:focus,.form-select:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(242,101,34,.12)}
.form-hint{font-size:.74rem;color:var(--text-muted);margin-top:4px}
.form-err{font-size:.74rem;color:var(--red);margin-top:4px}
.divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--text-muted);font-size:.82rem}
.divider::before,.divider::after{content:'';flex:1;height:1px;background:var(--gray-200)}

/* ============================================================
   ALERTS
   ============================================================ */
.alert{padding:12px 16px;border-radius:var(--r-md);font-size:.87rem;display:flex;align-items:center;gap:8px;margin-bottom:14px}
.alert-ok{background:var(--green-bg);border:1px solid var(--green);color:#0D7A4E}
.alert-err{background:var(--red-bg);border:1px solid var(--red);color:var(--red)}
.alert-info{background:var(--orange-bg);border:1px solid var(--orange);color:#A04010}

/* ============================================================
   FOOTER — dark navy like State Board Prep
   ============================================================ */
.site-footer{background:var(--navy);color:rgba(255,255,255,.55);padding:64px 0 0}
.ft-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;padding-bottom:48px}
.ft-brand .ft-logo{font-family:var(--font-head);font-size:1.25rem;font-weight:800;color:var(--white);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.ft-brand p{font-size:.84rem;max-width:260px;line-height:1.7}
.ft-col h4{color:var(--white);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}
.ft-col ul{display:flex;flex-direction:column;gap:8px}
.ft-col a{color:rgba(255,255,255,.5);font-size:.84rem;transition:color var(--ease)}
.ft-col a:hover{color:var(--white)}
.ft-bottom{border-top:1px solid rgba(255,255,255,.08);padding:18px 0;display:flex;align-items:center;justify-content:space-between;font-size:.78rem;flex-wrap:wrap;gap:10px}
.ft-socials{display:flex;gap:7px}
.ft-soc{width:32px;height:32px;background:rgba(255,255,255,.07);border-radius:var(--r-xs);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-size:13px;transition:all var(--ease)}
.ft-soc:hover{background:var(--orange);color:var(--white)}
@media(max-width:760px){.ft-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.ft-grid{grid-template-columns:1fr}}

/* ============================================================
   ANIMATIONS
   ============================================================ */
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.fade-up{animation:fadeUp .45s ease both}
.d1{animation-delay:.1s}.d2{animation-delay:.2s}.d3{animation-delay:.3s}.d4{animation-delay:.4s}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}


/* ============================================================
   BUILD 5.0b — SimTest Frontend Foundation
   ============================================================ */
.site-header{
  background:linear-gradient(180deg,#2D6BC2 0%,#18477F 100%);
  box-shadow:0 2px 14px rgba(0,0,0,.14);
}
.logo-shield{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.42);font-weight:800;color:#fff}
.pml-lang-pills{display:flex;align-items:center;gap:4px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);padding:3px;border-radius:999px}
.pml-lang-pill{border:0;background:transparent;color:rgba(255,255,255,.78);border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:800;letter-spacing:.04em;cursor:pointer;font-family:var(--font-body)}
.pml-lang-pill:hover,.pml-lang-pill.active{background:#fff;color:#18477F}
.user-menu{position:relative}
.user-menu-btn{border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.12);color:#fff;border-radius:999px;padding:9px 16px;font-weight:700;cursor:pointer;font-family:var(--font-body)}
.user-menu-drop{position:absolute;top:calc(100% + 10px);right:0;min-width:190px;background:#fff;border:1px solid var(--gray-100);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:all var(--ease)}
.user-menu:hover .user-menu-drop,.user-menu:focus-within .user-menu-drop{opacity:1;visibility:visible;transform:translateY(0)}
.user-menu-drop a{display:block;padding:10px 12px;border-radius:var(--r-sm);color:var(--text);font-weight:600;font-size:.9rem}
.user-menu-drop a:hover{background:var(--off);color:var(--navy)}
.mob-signup{color:#fff!important;background:var(--orange);justify-content:center;margin-top:8px;font-weight:800!important}

.pml-home-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#245FA8 0%,#123A68 58%,#071F3D 100%);padding:88px 0 96px;color:#fff}
.pml-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:46px;align-items:center}
.pml-hero-copy h1{color:#fff;font-size:clamp(2.35rem,5vw,4rem);margin-bottom:18px;max-width:760px}
.pml-hero-sub{font-size:1.17rem;color:rgba(255,255,255,.78);max-width:620px;margin-bottom:24px}
.pml-hero-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.pml-hero-points span{display:inline-flex;align-items:center;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.15);padding:8px 12px;border-radius:999px;color:rgba(255,255,255,.9);font-weight:700;font-size:.86rem}
.pml-start-card{background:#fff;color:var(--text);border-radius:26px;padding:30px;box-shadow:0 22px 70px rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.55)}
.pml-start-card h2{font-size:1.75rem;margin-bottom:6px;color:var(--navy)}
.pml-start-card p{color:var(--text-lt);margin-bottom:20px}
.pml-start-form{display:grid;gap:12px}
.pml-start-form label{font-size:.78rem;font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}
.pml-start-form select{width:100%;border:1.5px solid var(--gray-200);border-radius:14px;padding:15px 14px;font-size:1rem;font-family:var(--font-body);color:var(--text);background:#fff;outline:none;transition:all var(--ease)}
.pml-start-form select:focus{border-color:var(--blue-mid);box-shadow:0 0 0 4px rgba(29,95,168,.12)}
.pml-card-note{font-size:.82rem;color:var(--text-muted);text-align:center;margin-top:14px}
.pml-stats-bar{background:#fff;border-bottom:1px solid var(--gray-100);box-shadow:var(--shadow-sm)}
.pml-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-top:22px;padding-bottom:22px;text-align:center}
.pml-stats-grid strong{display:block;color:var(--navy);font-family:var(--font-head);font-size:1.45rem;line-height:1;font-weight:800}
.pml-stats-grid span{display:block;color:var(--text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-top:5px}
.pml-steps .card{height:100%}
.pml-step-num{width:38px;height:38px;border-radius:999px;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;margin-bottom:14px}
.pml-final-cta{background:linear-gradient(180deg,#123A68,#071F3D)}
.pml-final-cta p{color:rgba(255,255,255,.72);font-size:1.1rem;margin:0 auto 28px;max-width:560px}

@media(max-width:960px){
  .pml-lang-pills{display:none}
  .hd-auth .btn-orange{display:none}
  .user-menu{display:none}
  .pml-hero-grid{grid-template-columns:1fr;gap:30px}
  .pml-home-hero{padding:64px 0 72px}
  .pml-start-card{max-width:560px;width:100%;margin:0 auto}
}
@media(max-width:640px){
  :root{--hh:66px}
  .wrap{padding:0 18px}
  .logo-words{font-size:.96rem}
  .logo-shield{width:34px;height:34px}
  .pml-home-hero{padding:46px 0 58px}
  .pml-hero-copy h1{text-align:left;font-size:2.15rem}
  .pml-hero-sub{text-align:left;font-size:1.02rem}
  .pml-hero-points{display:grid;gap:8px}
  .pml-start-card{padding:22px;border-radius:20px}
  .pml-start-card h2{font-size:1.45rem}
  .pml-stats-grid{grid-template-columns:repeat(2,1fr);gap:18px}
  .mob-menu a{min-height:50px;font-size:1rem;padding:12px 10px}
  .mob-lang{grid-template-columns:repeat(3,1fr)}
  .mob-lang-btn{min-height:44px;font-weight:800}
}

/* ============================================================ BUILD 5.1 HEADER REFINEMENTS */
.nav-license-drop>.license-mega{min-width:620px;max-width:680px;display:block;padding:18px;left:50%;transform:translateX(-50%) translateY(6px)}
.nav-license-drop:hover>.license-mega,.nav-license-drop:focus-within>.license-mega{transform:translateX(-50%) translateY(0)}
.license-mega .mega-title{font-family:var(--font-head);font-size:.86rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--navy);margin:2px 4px 12px}
.license-mega .mega-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.license-mega .drop-item{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:10px;border-radius:14px}
.license-mega .drop-ico{grid-row:1/3;width:42px;height:42px;border-radius:12px;background:var(--off);display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.license-mega .drop-item span{font-weight:800;color:var(--navy);font-size:.92rem}
.license-mega .drop-item small{color:var(--text-muted);font-size:.78rem;margin-top:2px}
.mega-view-all{display:block;margin-top:12px;padding:12px 14px;border-radius:14px;background:var(--navy);color:#fff!important;text-align:center;font-weight:900;text-decoration:none}
.pml-lang-menu{position:relative}
.pml-lang-current{border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.12);color:#fff;border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer;font-family:var(--font-body);min-width:136px;text-align:left}
.pml-lang-drop{position:absolute;top:calc(100% + 10px);right:0;min-width:190px;background:#fff;border:1px solid var(--gray-100);border-radius:16px;box-shadow:var(--shadow-lg);padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:all var(--ease);z-index:50}
.pml-lang-menu:hover .pml-lang-drop,.pml-lang-menu:focus-within .pml-lang-drop{opacity:1;visibility:visible;transform:translateY(0)}
.pml-lang-option{width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--text);padding:10px 12px;border-radius:12px;text-align:left;font-family:var(--font-body);font-weight:700;cursor:pointer}
.pml-lang-option:hover,.pml-lang-option.active{background:var(--off);color:var(--navy)}

/* ============================================================ BUILD 5.1 EXAM CENTER SHELL */
.pml-exam-shell{background:linear-gradient(180deg,#f7faff 0%,#fff 50%,#f8fafc 100%);min-height:calc(100vh - var(--hh));padding:38px 0 70px}
.pml-exam-topline{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}
.pml-back-home{color:var(--navy);font-weight:800;text-decoration:none}
.pml-route-badge{display:inline-flex;align-items:center;border:1px solid var(--gray-200);background:#fff;color:var(--navy);font-weight:900;border-radius:999px;padding:8px 12px;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}
.pml-exam-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;align-items:start}
.pml-exam-summary-card,.pml-exam-panel{background:#fff;border:1px solid var(--gray-100);border-radius:24px;box-shadow:var(--shadow-sm)}
.pml-exam-summary-card{padding:24px;position:sticky;top:calc(var(--hh) + 22px)}
.pml-license-icon{width:64px;height:64px;border-radius:18px;background:var(--off);display:flex;align-items:center;justify-content:center;font-size:1.7rem;margin-bottom:14px}
.pml-exam-summary-card h2{font-size:1.45rem;margin-bottom:18px}
.pml-summary-row{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid var(--gray-100)}
.pml-summary-row span{color:var(--text-muted);font-weight:700}
.pml-summary-row strong{color:var(--navy);text-align:right}
.pml-exam-panel{padding:34px;min-height:560px}
.pml-exam-step{display:none}.pml-exam-step.active{display:block}
.pml-step-kicker{display:inline-flex;background:rgba(246,97,31,.1);color:var(--orange);border:1px solid rgba(246,97,31,.18);border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}
.pml-lang-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0}
.pml-lang-card{border:1.5px solid var(--gray-200);border-radius:20px;padding:22px;cursor:pointer;display:grid;gap:8px;transition:all var(--ease);position:relative}
.pml-lang-card input{position:absolute;opacity:0;pointer-events:none}
.pml-lang-card.active,.pml-lang-card:hover{border-color:var(--blue-mid);box-shadow:0 0 0 4px rgba(29,95,168,.1);transform:translateY(-1px)}
.pml-lang-mark{width:44px;height:44px;border-radius:50%;background:#eaf2ff;color:var(--navy);display:flex;align-items:center;justify-content:center;font-weight:900}.pml-lang-mark.bi{background:#fff2db;color:#b26b00}
.pml-lang-card strong{font-size:1.05rem;color:var(--navy)}.pml-lang-card small{color:var(--text-muted);font-weight:700}
.pml-second-lang{background:var(--off);border:1px solid var(--gray-100);padding:16px;border-radius:16px;margin-bottom:22px}.pml-second-lang label{display:block;font-weight:900;color:var(--navy);margin-bottom:8px;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em}.pml-second-lang select{width:100%;border:1px solid var(--gray-200);border-radius:12px;padding:13px;background:#fff;font-size:1rem}
.pml-instruction-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}.pml-instruction-list div{border:1px solid var(--gray-100);border-radius:16px;background:var(--off);padding:15px}.pml-instruction-list strong{display:block;color:var(--text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.pml-instruction-list span{color:var(--navy);font-weight:900}
.pml-policy-check{display:flex;align-items:center;gap:10px;margin:18px 0 24px;font-weight:800}.pml-policy-check input{width:18px;height:18px}.pml-step-actions,.pml-exam-nav{display:flex;gap:12px;justify-content:space-between}.pml-start-shell:disabled{opacity:.55;cursor:not-allowed}
.pml-mobile-exam-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;color:var(--navy)}
.pml-progress-track{height:9px;background:var(--gray-100);border-radius:999px;overflow:hidden;margin-bottom:18px}.pml-progress-fill{height:100%;background:linear-gradient(90deg,var(--blue-mid),var(--orange));border-radius:999px}
.pml-question-card{border:1px solid var(--gray-100);border-radius:22px;padding:24px;background:#fff;box-shadow:var(--shadow-sm)}.pml-question-meta{display:flex;justify-content:space-between;gap:12px;color:var(--text-muted);font-weight:800;font-size:.86rem;margin-bottom:14px}.pml-question-card h2{font-size:1.65rem;margin-bottom:16px}
.pml-question-tools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.pml-question-tools button{border:1px solid var(--gray-200);background:#fff;border-radius:999px;padding:8px 12px;font-weight:800;color:var(--navy);cursor:pointer}
.pml-translation-box{background:#fff9ed;border:1px solid #ffe1a8;border-radius:16px;padding:14px;margin-bottom:16px}.pml-translation-box strong{color:#925700}.pml-translation-box p{margin:5px 0 0;color:var(--text)}
.pml-answer-list{display:grid;gap:10px}.pml-answer-list label{display:flex;align-items:flex-start;gap:12px;border:1.5px solid var(--gray-200);border-radius:16px;padding:15px;background:#fff;cursor:pointer;min-height:54px;font-weight:700}.pml-answer-list label:hover{border-color:var(--blue-mid);background:#f8fbff}.pml-answer-list input{margin-top:3px}
.pml-exam-nav{margin-top:18px}

@media(max-width:960px){
  .pml-lang-menu{display:none}
  .nav-license-drop>.license-mega{display:none}
  .pml-exam-grid{grid-template-columns:1fr}.pml-exam-summary-card{position:static}.pml-exam-panel{padding:24px}
}
@media(max-width:640px){
  .pml-exam-shell{padding:22px 0 50px}.pml-exam-topline{align-items:flex-start;flex-direction:column}.pml-lang-choice-grid,.pml-instruction-list{grid-template-columns:1fr}.pml-exam-panel{padding:18px;border-radius:20px}.pml-question-card{padding:18px}.pml-question-card h2{font-size:1.25rem}.pml-question-meta{flex-direction:column}.pml-step-actions,.pml-exam-nav{display:grid;grid-template-columns:1fr 1fr}.pml-answer-list label{min-height:58px}.license-mega .mega-grid{grid-template-columns:1fr}
}

/* ============================================================ BUILD 5.2 HEADER + EXAM POLISH */
.nav-drop{position:relative}
.nav-drop:after{content:"";position:absolute;left:0;right:0;top:100%;height:18px;display:block}
.drop-menu{z-index:80}
.nav-license-drop>.license-mega{top:calc(100% + 8px);margin-top:0;pointer-events:auto}
.nav-license-drop.menu-open>.license-mega,
.nav-license-drop:hover>.license-mega,
.nav-license-drop:focus-within>.license-mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.license-mega .drop-item{min-height:66px}.license-mega .drop-item:hover{background:#f6f9ff}
.pml-lang-menu.menu-open .pml-lang-drop,.pml-lang-menu:hover .pml-lang-drop,.pml-lang-menu:focus-within .pml-lang-drop{opacity:1;visibility:visible;transform:translateY(0)}
.pml-lang-menu:after,.user-menu:after{content:"";position:absolute;left:0;right:0;top:100%;height:14px}
.pml-more-languages{border-top:1px solid var(--gray-100)!important;margin-top:6px;padding-top:12px!important}
.pml-lang-option span{width:22px;text-align:center}

.user-menu-btn{display:flex;align-items:center;gap:8px;padding:7px 12px 7px 8px}
.pml-user-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:linear-gradient(180deg,#123A68,#071f3d);color:#fff;font-weight:900;border:2px solid rgba(245,180,58,.75);font-size:.82rem;line-height:1;flex:0 0 auto}
.pml-user-avatar.lg{width:42px;height:42px;font-size:1rem}
.user-menu-drop{min-width:250px;border-radius:18px;padding:10px;z-index:90}
.user-menu-head{display:flex;align-items:center;gap:12px;padding:10px 10px 12px;border-bottom:1px solid var(--gray-100);margin-bottom:6px;color:var(--navy)}
.user-menu-head strong{display:block}.user-menu-head small{display:block;color:var(--text-muted);font-weight:700;margin-top:2px}
.user-menu.menu-open .user-menu-drop,.user-menu:hover .user-menu-drop,.user-menu:focus-within .user-menu-drop{opacity:1;visibility:visible;transform:translateY(0)}

.mob-lang-list{display:grid;gap:8px}.mob-lang-row{width:100%;border:1px solid var(--gray-100);background:#fff;border-radius:14px;padding:12px 14px;text-align:left;font-weight:800;color:var(--navy);display:flex;gap:10px;align-items:center}.mob-lang-row.active{background:#eaf2ff;border-color:#b8d4ff}
.pml-lang-modal{position:fixed;inset:0;background:rgba(7,26,51,.58);display:none;align-items:center;justify-content:center;padding:20px;z-index:9999}.pml-lang-modal.open{display:flex}.pml-lang-modal-card{width:min(560px,100%);max-height:84vh;background:#fff;border-radius:24px;box-shadow:var(--shadow-lg);padding:24px;position:relative;display:flex;flex-direction:column}.pml-lang-modal-close{position:absolute;right:16px;top:14px;border:0;background:#f1f5f9;border-radius:50%;width:36px;height:36px;font-size:1.5rem;cursor:pointer}.pml-lang-modal h2{margin:0 0 14px}.pml-lang-search{width:100%;border:1px solid var(--gray-200);border-radius:14px;padding:14px 16px;font:inherit;margin-bottom:14px}.pml-lang-all{overflow:auto;display:grid;gap:6px;padding-right:4px}.pml-lang-all-row{border:0;background:#fff;border-radius:12px;padding:12px;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;text-align:left;font-weight:800;color:var(--navy);cursor:pointer}.pml-lang-all-row:hover,.pml-lang-all-row.active{background:var(--off)}.pml-lang-all-row small{color:var(--text-muted);font-weight:900}

.pml-progress-fill{transition:width .25s ease}.pml-answer-list label.selected{border-color:var(--blue-mid);box-shadow:0 0 0 4px rgba(29,95,168,.1);background:#f7fbff}.pml-answer-list.review label.correct{border-color:#16a34a;background:#f0fdf4}.pml-answer-list.review label.wrong{border-color:#dc2626;background:#fef2f2}.pml-feedback-box{margin-top:16px;border-radius:16px;padding:14px 16px;border:1px solid var(--gray-100);background:#f8fafc}.pml-feedback-box.correct{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.pml-feedback-box.wrong{background:#fef2f2;border-color:#fecaca;color:#991b1b}.pml-flag-question.active{background:#fff2db!important;color:#9a5b00!important}.pml-result-card{display:flex;gap:24px;align-items:center;background:#f8fbff;border:1px solid var(--gray-100);border-radius:24px;padding:24px;margin:20px 0}.pml-score-circle{width:126px;height:126px;border-radius:999px;background:linear-gradient(180deg,#245FA8,#123A68);color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:var(--shadow-sm);flex:0 0 auto}.pml-score-circle span{font-family:var(--font-head);font-size:2.1rem;font-weight:900}.pml-score-circle small{opacity:.86;font-weight:800}.pml-review-list{display:grid;gap:10px;margin:20px 0}.pml-review-item{border:1px solid var(--gray-100);border-radius:16px;padding:14px;background:#fff}.pml-review-item.correct{border-left:5px solid #16a34a}.pml-review-item.wrong{border-left:5px solid #dc2626}.pml-review-item strong{display:block;color:var(--navy);margin-bottom:6px}.pml-upgrade-box{border:1px solid #ffdda3;background:#fff8eb;border-radius:24px;padding:24px;margin-top:22px}.pml-upgrade-box .btn{margin-right:10px;margin-top:10px}.pml-next-question.submit-ready{background:#16a34a!important}
@media(max-width:760px){.pml-result-card{display:grid;text-align:center}.pml-score-circle{margin:auto}.pml-upgrade-box .btn{display:block;margin:10px 0 0;width:100%}.user-menu-btn span:not(.pml-user-avatar){display:none}}

/* Build 5.2c Google Translate UI runtime: hide Google widget chrome, keep PML selector only */
.pml-google-translate-host{position:absolute!important;left:-9999px!important;top:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;}
.goog-te-banner-frame.skiptranslate,.goog-te-gadget,.goog-te-balloon-frame{display:none!important;visibility:hidden!important;}
body{top:0!important;}
body > .skiptranslate{display:none!important;}
.pml-exam-shell,.pml-exam-shell *{unicode-bidi:isolate;}

/* ============================================================ Build 6.0a Auth Modal */
.pml-auth-modal{position:fixed;inset:0;background:rgba(2,10,24,.68);backdrop-filter:blur(8px);z-index:99999;display:none;align-items:center;justify-content:center;padding:22px}
.pml-auth-modal.open{display:flex}
.pml-auth-card{position:relative;width:min(440px,96vw);max-height:92vh;overflow:auto;background:#fff;border:1px solid rgba(210,220,236,.95);border-radius:26px;box-shadow:0 30px 90px rgba(0,0,0,.36);padding:30px;color:#0b1b33}
.pml-auth-close{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:28px;line-height:1;color:#64748b;cursor:pointer}
.pml-auth-panel{display:none}.pml-auth-panel.active{display:block}
.pml-auth-panel h2{font:800 30px/1.1 Barlow,Inter,sans-serif;margin:0 0 8px;color:#0b1b33}.pml-auth-sub{color:#66758d;margin:0 0 20px;font-size:15px;line-height:1.55}
.pml-social-btn{width:100%;height:48px;border-radius:11px;border:1px solid #d3dceb;background:#f8fbff;color:#14243b;font-weight:800;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:.18s}.pml-social-btn:hover{border-color:#2d6bc2;background:#eef6ff}.pml-social-btn span{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:50%;font-weight:900;color:#4285f4;background:white;border:1px solid #e4eaf4}
.pml-auth-or{display:flex;align-items:center;gap:12px;color:#7b8798;font-size:14px;margin:22px 0}.pml-auth-or span{height:1px;background:#dbe3ef;flex:1}
.pml-auth-form label{display:block;text-transform:none;letter-spacing:0;color:#102033;font-weight:700;font-size:14px;margin:0 0 14px}.pml-auth-form label b{color:#ff5a1f}.pml-auth-form input[type=email],.pml-auth-form input[type=password],.pml-auth-form input[type=text]{width:100%;height:50px;border-radius:11px;border:1px solid #d2dbea;background:#fff;padding:0 14px;font-size:16px;color:#102033;margin-top:7px;outline:none}.pml-auth-form input:focus{border-color:#2d6bc2;box-shadow:0 0 0 4px rgba(45,107,194,.12)}
.pml-auth-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:2px 0 20px}.pml-check{display:flex!important;align-items:center;gap:8px;margin:0!important;color:#334155!important;font-weight:600!important}.pml-check input{margin:0}.pml-auth-link,.pml-auth-bottom button{background:transparent;border:0;color:#1d5fb8;font-weight:800;cursor:pointer;padding:0}.pml-auth-submit{width:100%;height:54px;border:0;border-radius:12px;background:#ff5a1f;color:#fff;font-weight:900;font-size:16px;cursor:pointer;box-shadow:0 12px 24px rgba(255,90,31,.24)}.pml-auth-submit:hover{filter:brightness(.97)}.pml-auth-submit[disabled]{opacity:.65;cursor:wait}.pml-auth-bottom{text-align:center;margin:22px 0 0;color:#344256}.pml-auth-msg{margin-top:16px;font-size:14px;font-weight:700;min-height:20px}.pml-auth-msg.ok{color:#047857}.pml-auth-msg.err{color:#b42318}.mob-auth-btn{width:100%;text-align:left;display:block;background:transparent;border:0;color:inherit;padding:13px 14px;border-radius:12px;font:inherit}.mob-auth-btn:hover{background:rgba(255,255,255,.08)}
.pml-auth-inline .pml-auth-modal{position:relative;display:flex;background:transparent;backdrop-filter:none;padding:30px 0;z-index:1}.pml-auth-inline .pml-auth-card{box-shadow:0 18px 50px rgba(12,32,68,.12)}
@media(max-width:520px){.pml-auth-card{border-radius:20px;padding:24px 18px}.pml-auth-panel h2{font-size:26px}.pml-auth-row{align-items:flex-start;flex-direction:column}.pml-auth-submit{height:52px}}

/* Build 6.0b Auth + Exam Entry Flow */
.pml-social-btn em{font-style:normal;font-size:.75rem;font-weight:800;color:#8b98aa;background:#eef3f8;border-radius:999px;padding:3px 8px;margin-left:auto}
.pml-google-disabled{cursor:not-allowed!important;opacity:.82;filter:grayscale(.08);}
.pml-google-disabled:hover{border-color:#d3dceb!important;background:#f8fbff!important;transform:none!important}
.pml-social-btn[disabled]{cursor:not-allowed!important;opacity:.82}
.pml-social-btn[disabled]:hover{border-color:#d3dceb!important;background:#f8fbff!important}
.pml-pass-wrap{position:relative;display:block}
.pml-pass-wrap input{padding-right:52px!important;width:100%}
.pml-show-pass{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:0;background:transparent;cursor:pointer;font-size:1.25rem;opacity:.72;padding:8px;line-height:1}
.pml-show-pass:hover{opacity:1}
.pml-form-error{border:1px solid #fecaca;background:#fff1f2;color:#b91c1c;border-radius:12px;padding:11px 13px;font-weight:800;font-size:.92rem}
.pml-field-error{border-color:#ef4444!important;box-shadow:0 0 0 4px rgba(239,68,68,.12)!important}
.pml-entry-form{max-width:620px}.pml-entry-form .btn-full{margin-top:6px}
.pml-exam-shell[data-build="6.0b"] .pml-step-kicker{letter-spacing:.08em}
.pml-exam-shell[data-build="6.0b"] .pml-summary-row strong{max-width:180px;text-align:right}

/* Build 6.0d polish */
.pml-auth-msg:empty{display:none!important;min-height:0!important;margin-top:0!important}
.pml-show-pass{font-size:1.45rem!important;color:#64748b!important;opacity:.85!important}
.pml-show-pass:hover{opacity:1!important;color:#0b1b33!important}
.pml-data-note{margin-top:10px;color:#64748b;font-size:.88rem}

/* Build 6.0f Enterprise Inline Validation */
.pml-auth-form input.pml-field-error{border-color:#e3342f!important;box-shadow:none!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}
.pml-inline-error{display:block;margin:-1px 0 14px;background:#e3342f;color:#fff;border:1px solid #e3342f;border-top:0;border-radius:0 0 11px 11px;padding:10px 14px;font-size:.86rem;font-weight:900;line-height:1.25;letter-spacing:.01em}
.pml-inline-error strong{display:block;text-transform:uppercase;font-size:.78rem;letter-spacing:.06em;margin-bottom:2px;color:#fff}
.pml-auth-msg.err{display:none!important}
.pml-auth-submit.is-loading{position:relative;opacity:.86;cursor:wait!important}
.pml-auth-submit.is-loading::after{content:"";display:inline-block;width:16px;height:16px;margin-left:10px;border:2px solid rgba(255,255,255,.55);border-top-color:#fff;border-radius:50%;vertical-align:-3px;animation:pmlSpin .8s linear infinite}
@keyframes pmlSpin{to{transform:rotate(360deg)}}

.pml-entry-inline-error{display:block;margin:-1px 0 14px;background:#e3342f;color:#fff;border:1px solid #e3342f;border-top:0;border-radius:0 0 11px 11px;padding:10px 14px;font-size:.86rem;font-weight:900;line-height:1.25;letter-spacing:.01em}
.pml-entry-inline-error strong{display:block;text-transform:uppercase;font-size:.78rem;letter-spacing:.06em;margin-bottom:2px;color:#fff}
select.pml-field-error{border-color:#e3342f!important;box-shadow:none!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}

/* Build 6.0f.3 security */
.pml-honeypot{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;}

/* ── SP Settings Bridge — Build 6.1 ── */
.sp-logo-img { max-height:42px; width:auto; display:block; }
.ft-social-sp { display:flex; gap:10px; align-items:center; margin-bottom:8px; }
.sp-social-link { color:rgba(255,255,255,.6); display:flex; align-items:center; transition:color .15s; }
.sp-social-link:hover { color:#fff; }
.ft-copy-wrap { flex:1; }
.ft-right { margin-left:auto; }
