/* ═══════════════════════════════════════
   PakLaw.online — style.css
   Mobile-First, Fully Responsive
═══════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

:root{
  --gold:#c9a84c;--gold-light:#f0d080;--gold-dark:#9a7530;
  --navy:#0842a0;--navy-mid:#0842a0;--navy-light:#0b57d0;
  --blue:#0b57d0;--blue-light:#e8f0fe;
  --bg:#f8f9fb;--white:#ffffff;--text:#1a1f36;--muted:#6b7280;
  --border:#e5e7eb;
  --shadow-sm:0 2px 12px rgba(10,22,40,.07);
  --shadow-md:0 8px 32px rgba(10,22,40,.13);
  --shadow-lg:0 20px 60px rgba(10,22,40,.18);
  --radius:16px;--radius-sm:10px;
  --nav-h:58px;
  --font-head:'Cormorant Garamond',Georgia,serif;
  --font-body:'DM Sans',sans-serif;
}

/* ── DARK MODE ── */
body.dark-mode{--bg:#080e1c;--white:#0d1829;--text:#f0ece4;--muted:#8899bb;--border:#1a2d50;--blue-light:#0d1a3a;}
body.dark-mode nav{background:rgba(8,14,28,.95);}
body.dark-mode .card,body.dark-mode .uni-card,body.dark-mode .article-card,body.dark-mode .testi-card{background:#0d1829;}
body.dark-mode footer{background:#050b16;}
body.dark-mode .modal-box{background:#0d1829;border-color:#1a2d50;}
body.dark-mode .modal-box h2,body.dark-mode .modal-box label{color:#f0ece4;}
body.dark-mode .modal-input{background:#111f38;border-color:#1a2d50;color:#f0ece4;}
body.dark-mode .modal-input::placeholder{color:#4a6080;}
body.dark-mode .social-btn{background:#111f38;border-color:#1a2d50;color:#f0ece4;}
body.dark-mode .modal-divider span{background:#0d1829;color:#4a6080;}
body.dark-mode .modal-divider::before{background:#1a2d50;}
body.dark-mode .login-tabs{background:#111f38;}
body.dark-mode .login-tab.active{background:#1a2d50;}
body.dark-mode .phone-flag{background:#111f38;border-color:#1a2d50;color:#8899bb;}
body.dark-mode .section-tools{background:var(--bg);}
body.dark-mode .section-articles{background:#080e1c;}
body.dark-mode .section-unis{background:var(--bg);}
body.dark-mode .mobile-nav{background:#0d1829;}
body.dark-mode .mobile-nav ul li a{color:#f0ece4;}
body.dark-mode .label-pill{background:rgba(201,168,76,.1);color:var(--gold);border-color:rgba(201,168,76,.2);}
body.dark-mode .stat-num{color:#f0ece4;}
body.dark-mode .article-tag{background:rgba(201,168,76,.1);color:var(--gold);}

/* ── BASE ── */
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  background:var(--bg);color:var(--text);
  line-height:1.6;font-size:16px;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
}
img{display:block;max-width:100%;height:auto;}
a{text-decoration:none;color:inherit;}
button{font-family:var(--font-body);}

/* ── UTILITY ── */
.container{width:100%;max-width:1180px;margin:0 auto;padding:0 16px;}
.section{padding:56px 0;}
.label-pill{
  display:inline-flex;align-items:center;gap:7px;
  font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold-dark);background:linear-gradient(135deg,#fdf3dc,#fae6b0);
  padding:5px 14px;border-radius:50px;margin-bottom:16px;
  border:1px solid rgba(201,168,76,.3);
}
.section-title{
  font-family:var(--font-head);
  font-size:clamp(1.6rem,5vw,2.8rem);
  color:var(--text);margin-bottom:12px;line-height:1.2;font-weight:700;
}
.section-sub{color:var(--muted);max-width:520px;margin-bottom:32px;font-size:.92rem;line-height:1.7;}

.grid-3{display:grid;grid-template-columns:1fr;gap:16px;}
.grid-4{display:grid;grid-template-columns:1fr 1fr;gap:12px;}

/* ══════════════════════════════════════
   NAVBAR
══════════════════════════════════════ */
nav{
  position:sticky;top:0;z-index:1000;
  height:var(--nav-h);
  background:rgba(248,249,251,.97);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  box-shadow:var(--shadow-sm);
}
.nav-inner{
  height:100%;display:flex;align-items:center;
  justify-content:space-between;
  padding:0 14px;max-width:1180px;margin:0 auto;
}
.nav-logo{
  font-family:var(--font-head);font-size:1.35rem;font-weight:700;
  color:var(--navy);display:flex;align-items:center;gap:7px;flex-shrink:0;
}
.nav-logo .logo-dot{color:var(--gold);}
.nav-logo .logo-badge{
  font-family:var(--font-body);font-size:.58rem;font-weight:600;
  background:var(--gold);color:#fff;padding:2px 6px;
  border-radius:4px;text-transform:uppercase;letter-spacing:.08em;
}
.nav-links{display:none;align-items:center;gap:2px;list-style:none;}
.nav-links a{
  padding:7px 13px;border-radius:50px;font-size:.86rem;
  font-weight:500;color:var(--muted);transition:background .2s,color .2s;white-space:nowrap;
}
.nav-links a:hover,.nav-links a.active{background:var(--blue-light);color:var(--blue);}
.nav-theme-btn{
  display:none;background:transparent;border:1.5px solid var(--border);
  padding:6px 12px;border-radius:50px;font-size:.8rem;font-weight:500;
  color:var(--muted);cursor:pointer;transition:all .2s;
  align-items:center;gap:6px;white-space:nowrap;min-height:40px;
}
.nav-theme-btn:hover{border-color:var(--gold);color:var(--gold);}
.nav-auth{display:none;align-items:center;gap:8px;margin-left:4px;}
.btn-login{
  padding:8px 16px;border-radius:50px;font-size:.86rem;font-weight:600;
  color:var(--navy);background:transparent;border:1.5px solid var(--border);
  cursor:pointer;transition:all .2s;min-height:40px;white-space:nowrap;
}
.btn-login:hover{border-color:var(--navy);background:var(--blue-light);}
.btn-signup{
  padding:8px 18px;border-radius:50px;font-size:.86rem;font-weight:600;
  color:#fff;background:var(--navy);border:2px solid var(--navy);
  cursor:pointer;transition:all .2s;min-height:40px;white-space:nowrap;
  box-shadow:0 3px 14px rgba(10,22,40,.22);
}
.btn-signup:hover{background:var(--navy-mid);}
.nav-user{display:none;align-items:center;gap:8px;}
.nav-user.visible{display:flex;}
.user-avatar{
  width:36px;height:36px;border-radius:50%;
  background:linear-gradient(135deg,var(--navy),var(--blue));
  color:#fff;font-weight:700;font-size:.86rem;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;border:2px solid rgba(201,168,76,.5);flex-shrink:0;
}
.btn-logout{
  padding:6px 12px;border-radius:50px;font-size:.8rem;font-weight:600;
  color:var(--muted);background:transparent;border:1.5px solid var(--border);
  cursor:pointer;transition:all .2s;min-height:36px;
}
.btn-logout:hover{background:#fee2e2;color:#dc2626;border-color:#fca5a5;}
.nav-right-mobile{display:flex;align-items:center;gap:6px;}
.nav-theme-mobile{
  display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:50%;
  border:1.5px solid var(--border);background:transparent;
  cursor:pointer;font-size:1rem;transition:all .2s;flex-shrink:0;
}
.nav-theme-mobile:hover{border-color:var(--gold);}
.hamburger{
  display:flex;flex-direction:column;justify-content:center;
  gap:5px;cursor:pointer;padding:8px;border:none;background:transparent;
  width:44px;height:44px;border-radius:8px;flex-shrink:0;transition:background .2s;
}
.hamburger:hover{background:var(--blue-light);}
.hamburger span{
  display:block;width:22px;height:2px;background:var(--text);
  border-radius:2px;transition:transform .28s,opacity .28s;margin:0 auto;
}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ── MOBILE NAV ── */
.mobile-nav{
  display:none;
  position:fixed;top:var(--nav-h);left:0;right:0;
  background:var(--white);
  border-bottom:2px solid var(--border);
  z-index:999;
  box-shadow:0 8px 32px rgba(10,22,40,.15);
  overflow-y:auto;
  max-height:calc(100vh - var(--nav-h));
}
.mobile-nav.open{display:block;animation:slideDown .22s ease;}
@keyframes slideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.mobile-nav ul{list-style:none;padding:8px 12px;}
.mobile-nav ul li a{
  display:flex;align-items:center;
  padding:14px 16px;border-radius:10px;
  font-weight:500;font-size:1rem;
  color:var(--text);transition:background .2s,color .2s;min-height:52px;
}
.mobile-nav ul li a:hover,.mobile-nav ul li a.active{background:var(--blue-light);color:var(--blue);}
.mobile-auth{
  display:flex;gap:10px;margin:6px 12px 16px;
  padding-top:12px;border-top:1px solid var(--border);
}
.mobile-auth button{
  flex:1;padding:13px 8px;border-radius:50px;
  font-size:.9rem;font-weight:600;cursor:pointer;
  transition:all .2s;min-height:50px;
}
.mob-login{background:transparent;color:var(--navy);border:2px solid var(--border);}
.mob-signup{background:var(--navy);color:#fff;border:2px solid var(--navy);}

/* ── ANNOUNCEMENT BAR ── */
.announcement-bar{
  background:linear-gradient(90deg,var(--navy),var(--navy-mid),var(--navy));
  padding:9px 16px;text-align:center;
  font-size:.74rem;color:rgba(255,255,255,.65);
  border-bottom:1px solid rgba(201,168,76,.15);line-height:1.5;
}
.announcement-bar span{color:var(--gold);font-weight:600;}

/* ══════════════════════════════════════
   HERO
══════════════════════════════════════ */
.hero-section{padding:0;background:var(--bg);}
.hero-slider-outer{padding:12px 12px 0;max-width:1180px;margin:0 auto;}
.slider-wrap{
  position:relative;width:100%;height:240px;
  overflow:hidden;border-radius:14px;
  box-shadow:0 8px 40px rgba(10,22,40,.2);
}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .9s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;justify-content:flex-end;}
.slide.active{opacity:1;}
.slide-visual{position:absolute;inset:0;border-radius:14px;overflow:hidden;}
.slide-1 .slide-visual{background:linear-gradient(135deg,#0842a0,#0b57d0);}
.slide-2 .slide-visual{background:linear-gradient(135deg,#0842a0,#0842a0);}
.slide-3 .slide-visual{background:linear-gradient(135deg,#0842a0,#0b57d0);}
.slide-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:14px;display:block;}
.slide-icon{font-size:3.5rem;opacity:.1;position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);user-select:none;pointer-events:none;}
.slide-overlay{position:absolute;inset:0;border-radius:14px;background:linear-gradient(to top,rgba(4,10,28,.88) 0%,rgba(4,10,28,.35) 55%,rgba(4,10,28,.05) 100%);}
.slide-content{position:relative;z-index:2;padding:14px 14px 18px;}
.slide-tag{display:inline-flex;align-items:center;gap:5px;background:rgba(201,168,76,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--gold-light);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:50px;margin-bottom:6px;border:1px solid rgba(201,168,76,.3);}
.slide-title{font-family:var(--font-head);font-size:clamp(.95rem,4vw,1.6rem);color:#fff;line-height:1.22;text-shadow:0 2px 12px rgba(0,0,0,.5);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.slide-sub{font-size:.8rem;color:rgba(255,255,255,.72);margin-top:5px;display:none;}
.slide-progress{position:absolute;bottom:0;left:0;height:3px;background:var(--gold);border-radius:0 3px 3px 0;width:0%;z-index:20;transition:width 4.2s linear;}
.slide-progress.running{width:100%;}
.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:36px;height:36px;background:rgba(255,255,255,.15);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:background .2s;}
.slider-arrow:active{background:rgba(255,255,255,.3);}
.slider-arrow.prev{left:8px;}
.slider-arrow.next{right:8px;}
.slider-dots{position:absolute;bottom:12px;right:14px;display:flex;align-items:center;gap:5px;z-index:10;}
.slider-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.35);border:none;cursor:pointer;transition:all .3s;}
.slider-dot.active{background:var(--gold);width:20px;border-radius:4px;}

/* ── HERO STATS ── */
.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 12px 0;max-width:1180px;margin:0 auto;}
.stat-box{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:14px 12px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-sm);transition:transform .2s;}
.stat-box:active{transform:scale(.98);}
.stat-icon{font-size:1.4rem;flex-shrink:0;line-height:1;}
.stat-num{font-family:var(--font-head);font-size:1.35rem;font-weight:700;color:var(--navy);line-height:1;}
.stat-label{font-size:.7rem;color:var(--muted);margin-top:3px;font-weight:500;line-height:1.3;}

/* ══════════════════════════════════════
   CARDS / TOOLS
══════════════════════════════════════ */
.section-tools{background:var(--white);}
.card{background:var(--white);border-radius:var(--radius);padding:22px 18px;box-shadow:var(--shadow-sm);border:1px solid var(--border);display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s;}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--navy),var(--blue));opacity:0;transition:opacity .25s;}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.card:hover::before{opacity:1;}
.card:active{transform:scale(.99);}
.card-icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--navy),var(--blue));display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0;box-shadow:0 4px 14px rgba(26,77,204,.22);}
.card-title{font-family:var(--font-head);font-size:1.2rem;color:var(--text);line-height:1.3;font-weight:700;}
.card-desc{font-size:.9rem;color:var(--muted);line-height:1.7;flex-grow:1;}
.card-link{display:inline-flex;align-items:center;gap:7px;font-size:.86rem;font-weight:600;color:var(--blue);margin-top:4px;transition:gap .2s;min-height:44px;}
.card-link:hover{gap:11px;}

/* ══════════════════════════════════════
   ARTICLES
══════════════════════════════════════ */
.section-articles{background:var(--bg);}
.article-card{background:var(--white);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;}
.article-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.article-card:active{transform:scale(.99);}
.article-thumb{height:140px;display:flex;align-items:center;justify-content:center;font-size:2.6rem;position:relative;overflow:hidden;}
.article-thumb::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 40%,rgba(0,0,0,.15));}
.a-thumb-1{background:linear-gradient(135deg,#0842a0,#0b57d0);}
.a-thumb-2{background:linear-gradient(135deg,#0842a0,#0842a0);}
.a-thumb-3{background:linear-gradient(135deg,#0842a0,#0b57d0);}
.article-body{padding:18px 16px;display:flex;flex-direction:column;gap:8px;flex-grow:1;}
.article-tag{display:inline-flex;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dark);background:linear-gradient(135deg,#fdf3dc,#fae6b0);padding:3px 10px;border-radius:50px;width:fit-content;border:1px solid rgba(201,168,76,.2);}
.article-title{font-family:var(--font-head);font-size:1.1rem;color:var(--text);line-height:1.35;font-weight:700;}
.article-excerpt{font-size:.88rem;color:var(--muted);line-height:1.65;flex-grow:1;}
.article-footer{padding:0 16px 16px;display:flex;align-items:center;justify-content:space-between;}
.article-meta{font-size:.76rem;color:var(--muted);display:flex;align-items:center;gap:5px;}
.article-read{font-size:.82rem;font-weight:600;color:var(--blue);display:flex;align-items:center;gap:4px;transition:gap .2s;min-height:44px;}
.article-read:hover{gap:8px;}

/* ══════════════════════════════════════
   UNIVERSITIES
══════════════════════════════════════ */
.section-unis{background:var(--white);}
.uni-card{background:var(--white);border-radius:var(--radius);padding:22px 18px;box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;gap:14px;}
.uni-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.uni-logo{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:800;color:#fff;}
.u1{background:linear-gradient(135deg,var(--navy),var(--blue));}
.u2{background:linear-gradient(135deg,#6d28d9,#8b5cf6);}
.u3{background:linear-gradient(135deg,#0f766e,#14b8a6);}
.u4{background:linear-gradient(135deg,#b45309,#d97706);}
.u5{background:linear-gradient(135deg,#be123c,#f43f5e);}
.u6{background:linear-gradient(135deg,#0842a0,#0b57d0);}
.uni-name{font-family:var(--font-head);font-size:1.1rem;color:var(--text);font-weight:700;}
.uni-info{font-size:.8rem;color:var(--muted);margin-top:2px;}
.uni-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px;}
.uni-tag{font-size:.7rem;font-weight:600;color:var(--blue);background:var(--blue-light);padding:3px 10px;border-radius:50px;}

/* ══════════════════════════════════════
   FEATURES STRIP
══════════════════════════════════════ */
.features-strip{background:var(--navy);padding:48px 0;}
.features-grid{display:grid;grid-template-columns:1fr;gap:24px;}
.feat-item{display:flex;gap:14px;align-items:flex-start;}
.feat-icon{width:44px;height:44px;border-radius:12px;background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.2);display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0;}
.feat-title{font-family:var(--font-head);font-size:1.02rem;color:#fff;font-weight:600;margin-bottom:4px;}
.feat-desc{font-size:.83rem;color:rgba(255,255,255,.5);line-height:1.65;}

/* ══════════════════════════════════════
   TESTIMONIALS
══════════════════════════════════════ */
.section-testimonials{background:var(--bg);padding:56px 0;}
.testimonials-grid{display:grid;grid-template-columns:1fr;gap:14px;}
.testi-card{background:var(--white);border-radius:var(--radius);padding:22px 18px;border:1px solid var(--border);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px;}
.testi-stars{color:var(--gold);font-size:1rem;letter-spacing:2px;}
.testi-text{font-size:.9rem;color:var(--muted);line-height:1.72;font-style:italic;}
.testi-author{display:flex;align-items:center;gap:12px;margin-top:4px;}
.testi-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.86rem;color:#fff;flex-shrink:0;}
.testi-name{font-weight:600;font-size:.88rem;color:var(--text);}
.testi-role{font-size:.76rem;color:var(--muted);}

/* ══════════════════════════════════════
   CTA BANNER
══════════════════════════════════════ */
.cta-banner{background:linear-gradient(135deg,var(--navy),var(--navy-mid),#0842a0);padding:56px 0;position:relative;overflow:hidden;}
.cta-banner::before{content:'';position:absolute;top:-60px;right:-60px;width:240px;height:240px;border-radius:50%;background:rgba(201,168,76,.07);}
.cta-banner::after{content:'';position:absolute;bottom:-60px;left:-30px;width:180px;height:180px;border-radius:50%;background:rgba(26,77,204,.12);}
.cta-inner{text-align:center;max-width:560px;margin:0 auto;position:relative;z-index:1;padding:0 4px;}
.cta-inner h2{font-family:var(--font-head);font-size:clamp(1.5rem,5vw,2.6rem);color:#fff;margin-bottom:12px;}
.cta-inner p{color:rgba(255,255,255,.65);margin-bottom:28px;font-size:.92rem;}
.cta-btns{display:flex;flex-direction:column;gap:10px;align-items:stretch;}
.btn-gold{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:#fff;font-size:.92rem;font-weight:700;padding:14px 28px;border-radius:50px;border:none;cursor:pointer;box-shadow:0 4px 20px rgba(201,168,76,.35);transition:transform .2s;min-height:52px;}
.btn-gold:active{transform:scale(.98);}
.btn-outline-white{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:rgba(255,255,255,.85);font-size:.92rem;font-weight:600;padding:13px 28px;border-radius:50px;border:1.5px solid rgba(255,255,255,.3);cursor:pointer;transition:all .2s;min-height:52px;}
.btn-outline-white:active{background:rgba(255,255,255,.08);}

/* ══════════════════════════════════════
   FOOTER
══════════════════════════════════════ */
footer{background:var(--navy);color:rgba(255,255,255,.45);padding:40px 0 20px;}
.footer-top{display:grid;grid-template-columns:1fr;gap:24px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.06);}
.footer-brand{display:flex;flex-direction:column;gap:10px;}
.footer-logo{font-family:var(--font-head);font-size:1.3rem;font-weight:700;color:#fff;}
.footer-tagline{font-size:.83rem;line-height:1.65;max-width:280px;}
.footer-col-title{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:10px;}
.footer-col a{display:flex;align-items:center;font-size:.83rem;color:rgba(255,255,255,.4);padding:6px 0;transition:color .2s;min-height:38px;}
.footer-col a:hover{color:#fff;}
.footer-bottom{display:flex;flex-direction:column;gap:10px;padding-top:20px;}
.footer-copy{font-size:.78rem;}
.footer-links-bot{display:flex;gap:14px;flex-wrap:wrap;}
.footer-links-bot a{font-size:.78rem;color:rgba(255,255,255,.35);transition:color .2s;}
.footer-links-bot a:hover{color:#fff;}

/* ══════════════════════════════════════
   AUTH MODALS
══════════════════════════════════════ */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(5,10,22,.72);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:2000;align-items:flex-end;justify-content:center;padding:0;overflow-y:auto;}
.modal-overlay.open{display:flex;animation:fadeIn .2s ease;}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.modal-box{background:var(--white);border-radius:20px 20px 0 0;padding:28px 20px;padding-bottom:max(28px,env(safe-area-inset-bottom));width:100%;max-width:100%;box-shadow:0 -8px 40px rgba(10,22,40,.22);border:1px solid var(--border);border-bottom:none;position:relative;animation:slideUpModal .28s ease;max-height:92vh;overflow-y:auto;}
.modal-box::before{content:'';display:block;width:40px;height:4px;background:#e0e0e0;border-radius:4px;margin:0 auto 20px;}
@keyframes slideUpModal{from{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}
.modal-close{position:absolute;top:20px;right:16px;width:34px;height:34px;border:none;background:var(--bg);border-radius:50%;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:all .2s;}
.modal-close:hover{background:#fee2e2;color:#dc2626;}
.modal-logo{font-family:var(--font-head);font-size:1.05rem;font-weight:700;color:var(--navy);margin-bottom:4px;}
.modal-logo .dot{color:var(--gold);}
.modal-box h2{font-family:var(--font-head);font-size:1.5rem;color:var(--text);margin-bottom:4px;}
.modal-sub{font-size:.86rem;color:var(--muted);margin-bottom:20px;}
.social-btn{width:100%;padding:12px;border-radius:12px;border:1.5px solid var(--border);background:var(--white);font-size:.9rem;font-weight:500;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .2s;margin-bottom:10px;min-height:50px;}
.social-btn:hover{background:var(--bg);border-color:var(--blue);}
.modal-divider{position:relative;text-align:center;margin:14px 0;}
.modal-divider::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border);}
.modal-divider span{position:relative;background:var(--white);padding:0 12px;font-size:.8rem;color:var(--muted);}
.modal-field{margin-bottom:12px;}
.modal-field label{display:block;font-size:.82rem;font-weight:600;color:var(--text);margin-bottom:5px;}
.modal-input{width:100%;padding:13px 14px;border-radius:10px;border:1.5px solid var(--border);background:var(--bg);font-size:16px;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s;min-height:50px;}
.modal-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,77,204,.1);}
.modal-input.error{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.1);}
.field-error{font-size:.76rem;color:#dc2626;margin-top:3px;display:none;}
.field-error.visible{display:block;}
.phone-wrap{display:flex;align-items:stretch;}
.phone-flag{display:flex;align-items:center;gap:6px;padding:0 12px;border:1.5px solid var(--border);border-right:none;border-radius:10px 0 0 10px;background:var(--bg);font-size:.85rem;font-weight:600;color:var(--muted);white-space:nowrap;min-width:72px;transition:border-color .2s;min-height:50px;}
.phone-wrap .modal-input{border-radius:0 10px 10px 0;flex:1;}
.phone-wrap.error-wrap .phone-flag,.phone-wrap.error-wrap .modal-input{border-color:#dc2626;}
.phone-wrap:focus-within .phone-flag{border-color:var(--blue);}
.login-tabs{display:flex;background:var(--bg);border-radius:10px;padding:3px;margin-bottom:16px;gap:3px;}
.login-tab{flex:1;padding:10px;border:none;border-radius:8px;background:transparent;font-size:.84rem;font-weight:600;color:var(--muted);cursor:pointer;transition:all .2s;min-height:44px;}
.login-tab.active{background:var(--white);color:var(--blue);box-shadow:0 2px 8px rgba(10,22,40,.1);}
.pass-wrap{position:relative;}
.pass-wrap .modal-input{padding-right:50px;}
.pass-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--muted);padding:8px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;transition:color .2s;}
.pass-toggle:hover{color:var(--blue);}
.modal-options{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px;}
.modal-check{display:flex;align-items:center;gap:8px;font-size:.84rem;color:var(--muted);cursor:pointer;}
.modal-check input{accent-color:var(--blue);width:16px;height:16px;cursor:pointer;}
.modal-forgot{font-size:.84rem;font-weight:600;color:var(--blue);background:none;border:none;cursor:pointer;transition:opacity .2s;min-height:44px;padding:4px 0;}
.modal-forgot:hover{opacity:.7;}
.btn-modal-submit{width:100%;padding:15px;border-radius:50px;border:none;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;box-shadow:0 4px 18px rgba(10,22,40,.25);transition:transform .15s;position:relative;overflow:hidden;min-height:54px;}
.btn-modal-submit:active{transform:scale(.98);}
.btn-modal-submit:disabled{opacity:.7;cursor:not-allowed;transform:none;}
.btn-modal-submit .spinner{display:none;width:18px;height:18px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin:0 auto;}
.btn-modal-submit.loading .spinner{display:block;}
.btn-modal-submit.loading .btn-text{display:none;}
@keyframes spin{to{transform:rotate(360deg)}}
.modal-switch{text-align:center;margin-top:16px;font-size:.86rem;color:var(--muted);}
.modal-switch button{background:none;border:none;color:var(--blue);font-weight:700;cursor:pointer;font-size:.86rem;transition:opacity .2s;min-height:44px;padding:4px 8px;}
.modal-switch button:hover{opacity:.7;}

/* ── TOAST ── */
.toast{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%) translateY(100px);z-index:3000;background:var(--navy);color:#fff;padding:13px 20px;border-radius:12px;font-size:.88rem;font-weight:500;box-shadow:0 8px 32px rgba(0,0,0,.28);display:flex;align-items:center;gap:10px;opacity:0;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .35s;pointer-events:none;max-width:calc(100vw - 32px);width:max-content;}
.toast.show{transform:translateX(-50%) translateY(0);opacity:1;}
.toast.success{border-left:4px solid #22c55e;}
.toast.error{border-left:4px solid #ef4444;}
.toast.info{border-left:4px solid var(--gold);}


/* ══════════════════════════════════════
   MCQ TOOL — styles
   (moved from gat-mcqs inline styles)
══════════════════════════════════════ */

/* MCQ Tool Variables — extend root */
:root {
  --mcq-primary:   #0842a0;
  --mcq-action:    #0b57d0;
  --mcq-gold:      #c5a059;
  --mcq-gold-dark: #a07830;
  --mcq-gold-light:#f5edd9;
  --mcq-blue-light:#e8eef8;
  --mcq-surface:   #f8fafc;
  --mcq-text:      #0f1923;
  --mcq-mid:       #3a4a5c;
  --mcq-light:     #6b7f95;
  --mcq-border:    #d4dde8;
  --mcq-radius:    12px;
  --mcq-radius-sm: 8px;
  --mcq-radius-lg: 20px;
  --mcq-shadow-sm: 0 2px 8px rgba(8,66,160,0.08);
  --mcq-shadow-md: 0 4px 20px rgba(8,66,160,0.12);
  --mcq-shadow-lg: 0 8px 40px rgba(8,66,160,0.16);
}

/* ── MCQ DARK MODE ── */
body.dark-mode .setup-card,
body.dark-mode .question-card,
body.dark-mode .question-map-wrapper,
body.dark-mode .breakdown-section,
body.dark-mode .result-card,
body.dark-mode .stat-pill {
  background: #0d1829 !important;
  border-color: #1a2d50 !important;
  color: #f0ece4 !important;
}
body.dark-mode .setup-title,
body.dark-mode .result-title,
body.dark-mode .q-counter,
body.dark-mode .question-text,
body.dark-mode .rc-val,
body.dark-mode .breakdown-title {
  color: #f0ece4 !important;
}
body.dark-mode .setup-subtitle,
body.dark-mode .form-label,
body.dark-mode .form-hint,
body.dark-mode .map-title,
body.dark-mode .rc-label,
body.dark-mode .progress-label,
body.dark-mode .map-legend { color: #8899bb !important; }
body.dark-mode .form-select,
body.dark-mode .form-input {
  background: #111f38 !important;
  border-color: #1a2d50 !important;
  color: #f0ece4 !important;
}
body.dark-mode .form-select:focus,
body.dark-mode .form-input:focus { border-color: var(--mcq-action) !important; }
body.dark-mode .option-label {
  background: #111f38 !important;
  border-color: #1a2d50 !important;
}
body.dark-mode .option-label:hover { background: #0d1a3a !important; border-color: var(--mcq-action) !important; }
body.dark-mode .option-text { color: #f0ece4 !important; }
body.dark-mode .option-bubble { background: #0d1829 !important; border-color: #1a2d50 !important; color: #8899bb !important; }
body.dark-mode .option-label.selected { background: rgba(197,160,89,.15) !important; border-color: var(--mcq-gold) !important; }
body.dark-mode .option-label.selected .option-bubble { background: var(--mcq-gold) !important; border-color: var(--mcq-gold) !important; color: #fff !important; }
body.dark-mode .subject-tag { background: #0d1a3a !important; color: #6b9fff !important; }
body.dark-mode .timer { background: #0d1829 !important; border-color: #1a2d50 !important; color: #f0ece4 !important; }
body.dark-mode .map-dot { background: #111f38 !important; border-color: #1a2d50 !important; color: #8899bb !important; }
body.dark-mode .map-dot.current { background: var(--mcq-primary) !important; color: #fff !important; }
body.dark-mode .map-dot.answered { background: var(--mcq-gold) !important; border-color: var(--mcq-gold) !important; color: #fff !important; }
body.dark-mode .feedback-msg { background: #0d1a3a !important; color: #6b9fff !important; }
body.dark-mode .weakest-banner { background: rgba(197,160,89,.1) !important; border-color: rgba(197,160,89,.3) !important; }
body.dark-mode .btn-outline { color: #6b9fff !important; border-color: #1a2d50 !important; }
body.dark-mode .btn-outline:hover { background: #0d1a3a !important; }
body.dark-mode .setup-container,
body.dark-mode .test-wrapper,
body.dark-mode .result-wrapper { background: transparent; }

/* Mode toggle */
body.dark-mode .mode-toggle-row { border-color: #1a2d50 !important; }
body.dark-mode .mode-toggle-btn { background: #111f38 !important; color: #8899bb !important; }
body.dark-mode .mode-toggle-btn.active { background: var(--mcq-primary) !important; color: #fff !important; }

/* Range panel */
body.dark-mode .range-panel { background: #0d1a3a !important; border-color: #1a2d50 !important; }
body.dark-mode .range-inp { background: #111f38 !important; border-color: #1a2d50 !important; color: #f0ece4 !important; }

/* Alloc panel */
body.dark-mode .subject-alloc-panel { background: #0d1829 !important; border-color: #1a2d50 !important; }
body.dark-mode .alloc-row { border-color: #1a2d50 !important; }
body.dark-mode .alloc-subj-name { color: #f0ece4 !important; }
body.dark-mode .alloc-btn { background: #111f38 !important; border-color: #1a2d50 !important; }
body.dark-mode .alloc-inp,
body.dark-mode .alloc-range-inp { background: #111f38 !important; border-color: #1a2d50 !important; color: #f0ece4 !important; }
body.dark-mode .alloc-total-row { background: #0a1020 !important; border-color: #1a2d50 !important; }

/* MCQ cancel modal */
body.dark-mode .cancel-modal { background: #0d1829 !important; }
body.dark-mode .cancel-modal-title { color: #f0ece4 !important; }
body.dark-mode .cancel-modal-body { color: #8899bb !important; }

/* ── MCQ SCREENS ── */
.screen { display:none; min-height:calc(100vh - 60px); animation:mcqFadeIn .3s ease; }
.screen.active { display:block; }
@keyframes mcqFadeIn { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }

/* ── MCQ SETUP ── */
.setup-container { max-width:520px; margin:0 auto; padding:40px 20px 60px; }
.setup-card {
  background: var(--white);
  border-radius: var(--mcq-radius-lg);
  box-shadow: var(--mcq-shadow-lg);
  padding: 40px 36px;
  border-top: 4px solid var(--mcq-gold);
}
.setup-header { text-align:center; margin-bottom:32px; }
.setup-icon { font-size:2.8rem; margin-bottom:12px; display:block; }
.setup-title {
  font-family:'Playfair Display',serif;
  font-size:1.8rem; color:var(--mcq-primary);
  margin-bottom:8px;
}
.setup-subtitle { color:var(--mcq-mid); font-size:.9rem; }

/* ── MCQ FORM ── */
.form-group { margin-bottom:22px; }
.form-label {
  display:block; font-size:.82rem; font-weight:600;
  color:var(--mcq-primary); margin-bottom:8px;
  text-transform:uppercase; letter-spacing:.05em;
}
.select-wrapper { position:relative; }
.form-select, .form-input {
  width:100%; padding:12px 16px;
  border:1.5px solid var(--mcq-border);
  border-radius:var(--mcq-radius-sm);
  font-family:inherit; font-size:.95rem;
  color:var(--mcq-text); background:var(--mcq-surface);
  transition:border-color .22s,box-shadow .22s;
  appearance:none; -webkit-appearance:none; outline:none;
}
.form-select:focus,.form-input:focus {
  border-color:var(--mcq-action);
  box-shadow:0 0 0 3px rgba(11,87,208,.12);
  background:#fff;
}
.select-arrow { position:absolute; right:14px; top:50%; transform:translateY(-50%); color:var(--mcq-primary); font-size:.7rem; pointer-events:none; }
.form-hint { display:block; margin-top:5px; font-size:.75rem; color:var(--mcq-light); }
.error-msg { background:#fdf0e0; border:1.5px solid var(--mcq-gold); color:var(--mcq-gold-dark); padding:10px 14px; border-radius:var(--mcq-radius-sm); font-size:.85rem; margin-top:14px; display:flex; align-items:center; gap:6px; }
.error-msg::before { content:'⚠'; }

/* ── MCQ BUTTONS ── */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 24px; border-radius:var(--mcq-radius-sm); font-family:inherit; font-size:.92rem; font-weight:600; cursor:pointer; border:2px solid transparent; transition:all .22s; text-decoration:none; white-space:nowrap; }
.btn-gold { background:var(--mcq-gold); color:#fff; border-color:var(--mcq-gold); }
.btn-gold:hover { background:var(--mcq-gold-dark); border-color:var(--mcq-gold-dark); transform:translateY(-1px); box-shadow:0 4px 16px rgba(197,160,89,.3); }
.btn-outline { background:transparent; color:var(--mcq-primary); border-color:var(--mcq-primary); }
.btn-outline:hover { background:var(--mcq-blue-light); border-color:var(--mcq-action); color:var(--mcq-action); }
.btn-submit { background:var(--mcq-primary); color:#fff; border-color:var(--mcq-primary); }
.btn-submit:hover { background:var(--mcq-action); border-color:var(--mcq-action); box-shadow:0 4px 16px rgba(8,66,160,.25); }
.btn-full { width:100%; margin-bottom:10px; }
.btn-icon { font-size:.85rem; }

/* ── STATS PILLS ── */
.setup-stats-row { display:flex; gap:10px; margin-top:20px; justify-content:center; flex-wrap:wrap; }
.stat-pill { background:var(--white); border:1.5px solid var(--mcq-border); color:var(--mcq-mid); font-size:.78rem; font-weight:600; padding:6px 14px; border-radius:20px; }

/* ── MCQ LOADING ── */
.loading-container { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:calc(100vh - 60px); gap:20px; }
.spinner { width:48px; height:48px; border:4px solid var(--mcq-border); border-top-color:var(--mcq-gold); border-radius:50%; animation:spin .8s linear infinite; }
.loading-text { color:var(--mcq-primary); font-size:1rem; font-weight:600; letter-spacing:.03em; }

/* ── MCQ TEST ── */
.test-wrapper { max-width:720px; margin:0 auto; padding:28px 20px 60px; }
.test-topbar { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.subject-tag { background:var(--mcq-blue-light); color:var(--mcq-primary); font-size:.78rem; font-weight:700; padding:5px 12px; border-radius:20px; text-transform:uppercase; letter-spacing:.04em; }
.q-counter { font-family:'Playfair Display',serif; font-size:1rem; color:var(--mcq-primary); font-weight:700; }
.timer { display:flex; align-items:center; gap:6px; background:#fff; border:1.5px solid var(--mcq-border); border-radius:20px; padding:5px 14px; font-weight:700; font-size:.88rem; color:var(--mcq-primary); transition:all .22s; }
.timer.warning { border-color:var(--mcq-gold); color:var(--mcq-gold-dark); background:var(--mcq-gold-light); animation:pulse 1s ease-in-out infinite; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.6} }
.timer-icon { font-size:.85rem; }
.progress-track { background:var(--mcq-border); border-radius:99px; height:8px; overflow:hidden; margin-bottom:6px; }
.progress-fill { background:linear-gradient(90deg,var(--mcq-primary),var(--mcq-gold)); height:100%; border-radius:99px; transition:width .4s ease; }
.progress-label { display:flex; justify-content:space-between; font-size:.75rem; color:var(--mcq-light); margin-bottom:20px; }

/* Question Card */
.question-card { background:#fff; border-radius:var(--mcq-radius-lg); box-shadow:var(--mcq-shadow-md); padding:32px 28px; margin-bottom:20px; position:relative; border-left:4px solid var(--mcq-gold); transition:box-shadow .22s; }
.question-card:hover { box-shadow:var(--mcq-shadow-lg); }
.question-num-badge { position:absolute; top:-12px; left:24px; background:var(--mcq-primary); color:#fff; font-size:.72rem; font-weight:700; padding:3px 12px; border-radius:20px; letter-spacing:.05em; }
.question-text { font-family:'Playfair Display',serif; font-size:1.05rem; color:var(--mcq-text); line-height:1.65; margin-bottom:24px; margin-top:8px; }
.options-grid { display:flex; flex-direction:column; gap:11px; }
.option-label { display:flex; align-items:flex-start; gap:12px; padding:13px 16px; border:1.5px solid var(--mcq-border); border-radius:var(--mcq-radius-sm); cursor:pointer; transition:all .22s; background:var(--mcq-surface); }
.option-label:hover { border-color:var(--mcq-action); background:var(--mcq-blue-light); transform:translateX(3px); }
.option-label input[type="radio"] { display:none; }
.option-bubble { width:28px; height:28px; border-radius:50%; border:2px solid var(--mcq-border); display:flex; align-items:center; justify-content:center; font-size:.72rem; font-weight:700; flex-shrink:0; color:var(--mcq-mid); background:#fff; transition:all .22s; }
.option-text { font-size:.93rem; color:var(--mcq-text); line-height:1.5; padding-top:3px; }
.option-label.selected { border-color:var(--mcq-gold); background:var(--mcq-gold-light); }
.option-label.selected .option-bubble { background:var(--mcq-gold); border-color:var(--mcq-gold); color:#fff; }

/* Navigation */
.nav-row { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:24px; }
.nav-row .btn { flex:1; min-width:120px; }

/* ── MCQ QUESTION MAP ── */
.question-map-wrapper { background:#fff; border-radius:var(--mcq-radius); padding:18px 20px; box-shadow:var(--mcq-shadow-sm); }
.map-title { font-size:.78rem; font-weight:700; color:var(--mcq-light); text-transform:uppercase; letter-spacing:.06em; margin-bottom:12px; }
.question-map { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:12px; }
.map-dot { width:30px; height:30px; border-radius:6px; border:1.5px solid var(--mcq-border); display:flex; align-items:center; justify-content:center; font-size:.7rem; font-weight:600; cursor:pointer; color:var(--mcq-mid); transition:all .22s; background:var(--mcq-surface); }
.map-dot:hover { transform:scale(1.12); border-color:var(--mcq-action); }
.map-dot.current { border-color:var(--mcq-primary); background:var(--mcq-primary); color:#fff; }
.map-dot.answered { background:var(--mcq-gold); border-color:var(--mcq-gold); color:#fff; }
.map-dot.flagged { background:#fdf0e0; border-color:var(--mcq-gold-dark); color:var(--mcq-gold-dark); }
.map-legend { display:flex; gap:16px; font-size:.72rem; color:var(--mcq-light); flex-wrap:wrap; }
.legend-dot { display:inline-block; width:10px; height:10px; border-radius:3px; margin-right:4px; }
.legend-dot.answered { background:var(--mcq-gold); }
.legend-dot.flagged { background:#a07830; opacity:.6; }
.legend-dot.unanswered { background:var(--mcq-border); }

/* ── MCQ RESULT ── */
.result-wrapper { max-width:620px; margin:0 auto; padding:36px 20px 60px; }
.result-hero { text-align:center; margin-bottom:32px; }
.result-icon { font-size:3rem; margin-bottom:8px; }
.result-title { font-family:'Playfair Display',serif; font-size:2rem; color:var(--mcq-primary); margin-bottom:20px; }
.score-circle { width:110px; height:110px; border-radius:50%; background:var(--mcq-primary); display:inline-flex; align-items:center; justify-content:center; box-shadow:0 4px 24px rgba(8,66,160,.25); border:5px solid var(--mcq-gold); }
.score-pct { font-family:'Playfair Display',serif; font-size:1.6rem; font-weight:700; color:#fff; }
.result-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:28px; }
.result-card { background:#fff; border-radius:var(--mcq-radius); padding:16px 10px; text-align:center; box-shadow:var(--mcq-shadow-sm); border-top:3px solid var(--mcq-border); }
.result-card.correct { border-top-color:var(--mcq-gold); }
.result-card.wrong { border-top-color:var(--mcq-primary); }
.result-card.skipped { border-top-color:var(--mcq-light); }
.rc-icon { font-size:1.3rem; margin-bottom:4px; }
.rc-val { font-family:'Playfair Display',serif; font-size:1.6rem; font-weight:700; color:var(--mcq-primary); line-height:1.2; }
.rc-label { font-size:.72rem; color:var(--mcq-light); text-transform:uppercase; letter-spacing:.05em; margin-top:2px; }
.breakdown-section { background:#fff; border-radius:var(--mcq-radius); padding:20px; margin-bottom:20px; box-shadow:var(--mcq-shadow-sm); }
.breakdown-title { font-family:'Playfair Display',serif; font-size:1.05rem; color:var(--mcq-primary); margin-bottom:16px; }
.breakdown-item { margin-bottom:14px; }
.breakdown-row { display:flex; justify-content:space-between; font-size:.82rem; color:var(--mcq-mid); margin-bottom:5px; }
.breakdown-bar-track { background:var(--mcq-border); border-radius:99px; height:7px; overflow:hidden; }
.breakdown-bar-fill { background:linear-gradient(90deg,var(--mcq-primary),var(--mcq-gold)); height:100%; border-radius:99px; transition:width .6s ease; }
.weakest-banner { background:var(--mcq-gold-light); border:1.5px solid var(--mcq-gold); border-radius:var(--mcq-radius-sm); padding:12px 16px; margin-bottom:20px; font-size:.88rem; color:var(--mcq-gold-dark); font-weight:600; display:flex; align-items:flex-start; gap:8px; }
.weakest-icon { font-size:1.1rem; }
.feedback-msg { text-align:center; font-family:'Playfair Display',serif; font-size:1rem; color:var(--mcq-primary); margin-bottom:24px; padding:14px; background:var(--mcq-blue-light); border-radius:var(--mcq-radius-sm); font-style:italic; }
.result-actions { display:flex; flex-direction:column; gap:10px; }

/* ── MCQ MODE TOGGLE ── */
.mode-toggle-row { display:flex; gap:0; border:1.5px solid #d0daea; border-radius:10px; overflow:hidden; margin-bottom:18px; }
.mode-toggle-btn { flex:1; padding:9px 0; border:none; background:#fff; font-size:.84rem; font-weight:700; color:#64748b; cursor:pointer; transition:.15s; }
.mode-toggle-btn.active { background:var(--mcq-primary); color:#fff; }
.mode-toggle-btn:first-child { border-right:1px solid #d0daea; }

/* ── MCQ RANGE PANEL ── */
.range-panel { background:#f0f6ff; border:1.5px solid #c8d9f4; border-radius:12px; padding:16px 18px; margin-bottom:4px; }
.range-panel-title { font-size:.78rem; font-weight:700; color:var(--mcq-primary); text-transform:uppercase; letter-spacing:.05em; margin-bottom:12px; }
.range-row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.range-label { font-size:.83rem; color:var(--mcq-mid); font-weight:600; white-space:nowrap; }
.range-inp { width:90px; border:1.5px solid #b8d0f0; border-radius:8px; padding:7px 10px; font-size:.9rem; font-weight:700; color:var(--mcq-text); text-align:center; outline:none; background:#fff; transition:.15s; }
.range-inp:focus { border-color:var(--mcq-primary); box-shadow:0 0 0 3px rgba(8,66,160,.08); }
.range-sep { font-size:1rem; color:#94a3b8; font-weight:700; }
.range-hint { font-size:.76rem; color:var(--mcq-light); margin-top:8px; }
.range-calc { font-size:.82rem; color:#1a7f4b; font-weight:700; margin-top:6px; }

/* ── MCQ SUBJECT ALLOC ── */
.subject-alloc-panel { background:#f8fafc; border:1.5px solid #c8d9f4; border-radius:12px; overflow:hidden; margin-bottom:18px; }
.alloc-header { background:var(--mcq-primary); padding:12px 18px; }
.alloc-title { display:block; color:#fff; font-size:.9rem; font-weight:700; }
.alloc-subtitle { display:block; color:rgba(255,255,255,.7); font-size:.75rem; margin-top:3px; }
.alloc-rows { display:flex; flex-direction:column; }
.alloc-row { border-bottom:1px solid #e2e8f2; padding:10px 14px; display:flex; flex-direction:column; gap:8px; }
.alloc-row:last-child { border-bottom:none; }
.alloc-subj-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px; }
.alloc-subj-name { font-size:.88rem; font-weight:700; color:var(--mcq-text); }
.alloc-avail { font-size:.72rem; background:#e8f0fe; padding:2px 8px; border-radius:10px; color:var(--mcq-primary); font-weight:600; }
.alloc-mode-tabs { display:flex; gap:0; border:1px solid #d0daea; border-radius:7px; overflow:hidden; }
.alloc-tab { padding:4px 12px; font-size:.75rem; font-weight:700; border:none; background:#fff; color:#64748b; cursor:pointer; transition:.12s; }
.alloc-tab.active { background:var(--mcq-primary); color:#fff; }
.alloc-tab:first-child { border-right:1px solid #d0daea; }
.alloc-count-row { display:flex; align-items:center; gap:6px; }
.alloc-btn { width:28px; height:28px; border-radius:6px; border:1.5px solid #b8d0f0; background:#fff; color:var(--mcq-primary); font-size:1rem; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:.15s; line-height:1; }
.alloc-btn:hover:not(:disabled) { background:#e8f0fe; }
.alloc-btn:disabled { opacity:.3; cursor:default; }
.alloc-inp { width:54px; text-align:center; border:1.5px solid #b8d0f0; border-radius:6px; padding:5px 4px; font-size:.88rem; font-weight:700; color:var(--mcq-text); outline:none; background:#fff; }
.alloc-inp:focus { border-color:var(--mcq-primary); }
.alloc-inp:disabled { opacity:.3; }
.alloc-range-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.alloc-range-inp { width:72px; border:1.5px solid #b8d0f0; border-radius:6px; padding:5px 6px; font-size:.85rem; font-weight:700; text-align:center; outline:none; background:#fff; color:var(--mcq-text); }
.alloc-range-inp:focus { border-color:var(--mcq-primary); }
.alloc-range-inp:disabled { opacity:.3; background:#f1f5f9; }
.alloc-range-lbl { font-size:.78rem; color:var(--mcq-mid); font-weight:600; white-space:nowrap; }
.alloc-range-calc { font-size:.74rem; color:#1a7f4b; font-weight:700; }
.alloc-total-row { display:flex; justify-content:space-between; align-items:center; padding:10px 18px; background:#eef3fb; border-top:1.5px solid #c8d9f4; }
.alloc-total-label { font-size:.82rem; font-weight:700; color:var(--mcq-mid); }
.alloc-total-val { font-size:1.1rem; font-weight:700; transition:.2s; }

/* ── MCQ AVAILABILITY ── */
.mcq-availability { display:flex; align-items:center; gap:6px; margin-top:7px; font-size:.8rem; color:#1a7f4b; font-weight:600; }
.avail-dot { width:8px; height:8px; border-radius:50%; background:#1a7f4b; flex-shrink:0; }

/* ── MCQ CANCEL BUTTON ── */
.btn-cancel { background:transparent; color:#b91c1c; border:1.5px solid #fca5a5; font-size:.84rem; font-weight:700; padding:8px 14px; border-radius:8px; cursor:pointer; transition:.15s; }
.btn-cancel:hover { background:#fef2f2; border-color:#b91c1c; }

/* ── MCQ CANCEL MODAL ── */
.mcq-modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:99999; display:flex; align-items:center; justify-content:center; padding:16px; }
.cancel-modal { background:#fff; border-radius:18px; padding:32px 28px; max-width:420px; width:100%; text-align:center; }
.cancel-modal-icon { font-size:2.5rem; margin-bottom:12px; }
.cancel-modal-title { font-size:1.2rem; font-weight:700; color:var(--mcq-text); margin-bottom:10px; }
.cancel-modal-body { font-size:.9rem; color:var(--mcq-mid); line-height:1.7; margin-bottom:22px; }
.cancel-modal-actions { display:flex; flex-direction:column; gap:9px; }
.cancel-modal-btn { width:100%; padding:11px; border-radius:10px; font-size:.88rem; font-weight:700; cursor:pointer; transition:.15s; }
.btn-danger { background:#b91c1c; color:#fff; border:none; }
.btn-danger:hover { background:#991b1b; }

/* ── MCQ HIDDEN ── */
.mcq-hidden { display:none !important; }
.hidden { display:none !important; }

/* ── MCQ RESPONSIVE ── */
@media(max-width:600px) {
  .setup-card { padding:28px 20px; }
  .test-wrapper { padding:20px 14px 40px; }
  .question-card { padding:24px 18px; }
  .nav-row .btn { font-size:.82rem; padding:10px 14px; }
  .result-cards { grid-template-columns:repeat(2,1fr); }
  .result-title { font-size:1.5rem; }
  .q-counter { font-size:.88rem; }
}
@media(max-width:380px) {
  .result-cards { grid-template-columns:1fr 1fr; }
  .map-dot { width:26px; height:26px; font-size:.65rem; }
}


/* ═══════════════════════════════════════
   RESPONSIVE BREAKPOINTS (global)
═══════════════════════════════════════ */
@media(min-width:640px){
  .container{padding:0 24px;}
  .section{padding:72px 0;}
  .section-testimonials{padding:72px 0;}
  .hero-slider-outer{padding:16px 24px 0;}
  .slider-wrap{height:320px;border-radius:18px;}
  .slide-visual{border-radius:18px;}
  .slide-bg-img,.slide-overlay{border-radius:18px;}
  .slide-content{padding:22px 28px 28px;}
  .slide-sub{display:block;}
  .slider-arrow{width:40px;height:40px;}
  .slider-arrow.prev{left:14px;}
  .slider-arrow.next{right:14px;}
  .hero-stats{grid-template-columns:repeat(4,1fr);gap:14px;padding:16px 24px 0;}
  .stat-num{font-size:1.5rem;}
  .grid-3{grid-template-columns:1fr 1fr;gap:18px;}
  .section-sub{margin-bottom:40px;}
  .testimonials-grid{grid-template-columns:1fr 1fr;}
  .features-grid{grid-template-columns:1fr 1fr;}
  .footer-top{grid-template-columns:1fr 1fr;gap:28px;}
  .footer-bottom{flex-direction:row;align-items:center;}
  .cta-btns{flex-direction:row;justify-content:center;align-items:center;}
  .btn-gold,.btn-outline-white{width:auto;}
  .modal-overlay{align-items:center;padding:24px;}
  .modal-box{border-radius:22px;max-width:440px;padding:32px 28px 32px;border-bottom:1px solid var(--border);}
  .modal-box::before{display:none;}
}
@media(min-width:960px){
  :root{--nav-h:70px;}
  .container{padding:0 28px;}
  .section{padding:96px 0;}
  .section-testimonials{padding:80px 0;}
  .nav-links{display:flex;}
  .nav-theme-btn{display:flex;}
  .nav-auth{display:flex;}
  .hamburger{display:none !important;}
  .mobile-nav{display:none !important;}
  .nav-right-mobile{display:none !important;}
  .nav-theme-mobile{display:none !important;}
  .hero-slider-outer{padding:24px 28px 0;}
  .slider-wrap{height:460px;max-height:56vw;border-radius:22px;}
  .slide-visual{border-radius:22px;}
  .slide-bg-img,.slide-overlay{border-radius:22px;}
  .slide-content{padding:28px 36px 34px;}
  .slider-arrow{width:44px;height:44px;}
  .slider-arrow.prev{left:20px;}
  .slider-arrow.next{right:20px;}
  .hero-stats{gap:16px;padding:20px 28px 0;}
  .stat-num{font-size:1.55rem;}
  .grid-3{grid-template-columns:repeat(3,1fr);gap:26px;}
  .grid-4{grid-template-columns:repeat(4,1fr);gap:20px;}
  .section-sub{margin-bottom:56px;}
  .features-grid{grid-template-columns:repeat(3,1fr);gap:30px;}
  .features-strip{padding:60px 0;}
  .testimonials-grid{grid-template-columns:repeat(3,1fr);gap:24px;}
  .footer-top{grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;}
  footer{padding:48px 0 28px;}
  .cta-banner{padding:80px 0;}
}
@media(hover:none) and (pointer:coarse){
  .card:hover,.article-card:hover,.uni-card:hover,.testi-card:hover,.stat-box:hover{transform:none;box-shadow:var(--shadow-sm);}
  .card:hover::before{opacity:0;}
  .btn-gold:hover{transform:none;}
}
@media(max-height:480px) and (orientation:landscape){
  :root{--nav-h:50px;}
  .slider-wrap{height:180px;}
  .hero-stats{grid-template-columns:repeat(4,1fr);}
  .slide-sub{display:none;}
  .modal-box{max-height:95vh;}
}
@supports(padding:env(safe-area-inset-bottom)){
  .mobile-nav{padding-bottom:env(safe-area-inset-bottom);}
  .nav-inner{
    padding-left:max(14px,env(safe-area-inset-left));
    padding-right:max(14px,env(safe-area-inset-right));
  }
}