/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://cgpscedu.in/
 Description:  CGPSCedu Premium Education Theme v4
 Author:       CGPSCedu
 Template:     generatepress
 Version:      4.0.0
 Text Domain:  generatepress-child
*/

/* ══════════════════════════════════════
   DESIGN TOKENS
══════════════════════════════════════ */
:root {
  --navy:     #0a1628;
  --navy2:    #0f2044;
  --navy3:    #162d5a;
  --navy4:    #1e3c72;
  --gold:     #e8b84b;
  --gold2:    #f5d06e;
  --gold-dk:  #c49a2e;
  --gold-glow:rgba(232,184,75,.18);
  --white:    #ffffff;
  --off:      #f6f5f1;
  --text:     #1a1a2e;
  --text2:    #3d4468;
  --muted:    #7b83a6;
  --border:   #e2e4ed;
  --red:      #e63946;
  --green:    #2dc653;
  --sh-sm:    0 2px 12px rgba(10,22,40,.07);
  --sh:       0 8px 32px rgba(10,22,40,.12);
  --sh-lg:    0 24px 64px rgba(10,22,40,.18);
  --sh-gold:  0 8px 28px rgba(232,184,75,.28);
  --r:        6px;
  --rmd:      12px;
  --rlg:      20px;
  --rxl:      28px;
}

*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  background:var(--white); color:var(--text);
  line-height:1.6; -webkit-font-smoothing:antialiased;
  overflow-x:hidden; max-width:100%;
}
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
ul  { list-style:none; padding:0; }

/* ══════════════════════════════════════
   LAYOUT
══════════════════════════════════════ */
.section-container {
  max-width:1160px !important;
  margin:0 auto !important;
  padding:0 32px !important;
  width:100% !important;
}
.section-wrap        { padding:80px 0; }
.bg-white            { background:var(--white); }
.bg-offwhite         { background:var(--off); }
.section-head.center { text-align:center; margin-bottom:52px; }

/* Full-width wrapper to prevent horizontal scroll */
.announce-bar, .top-header, .features-strip,
.section-wrap, .quiz-section, .cta-section, .site-footer {
  width:100%;
  max-width:100%;
}

.sec-badge {
  display:inline-flex; align-items:center; gap:7px;
  padding:6px 16px; border-radius:999px;
  background:var(--gold-glow); border:1px solid rgba(232,184,75,.3);
  color:var(--gold-dk); font-size:11.5px; font-weight:700;
  text-transform:uppercase; letter-spacing:.7px; margin-bottom:14px;
}
.sec-badge.light { background:rgba(232,184,75,.15); border-color:rgba(232,184,75,.35); color:var(--gold); }

.sec-title {
  font-family:'Playfair Display',serif;
  font-size:clamp(26px,4vw,40px); font-weight:800;
  color:var(--navy); line-height:1.2; letter-spacing:-.3px;
}
.sec-title span {
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.sec-title.white { color:#fff; }
.gold-text {
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.sec-sub       { font-size:15px; color:var(--muted); margin-top:10px; }
.sec-sub.light { color:rgba(255,255,255,.65); }

/* ══════════════════════════════════════
   BUTTONS
══════════════════════════════════════ */
.btn-primary {
  display:inline-flex; align-items:center; gap:8px;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:var(--navy) !important; border:none;
  padding:13px 28px; border-radius:999px;
  font-weight:800; font-size:14px; font-family:inherit;
  box-shadow:var(--sh-gold); transition:all .22s ease; cursor:pointer;
}
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 14px 32px rgba(232,184,75,.45); }
.btn-primary.lg   { padding:15px 36px; font-size:15px; }

.btn-outline-white {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,255,255,.08); color:rgba(255,255,255,.9) !important;
  border:1.5px solid rgba(255,255,255,.22);
  padding:13px 28px; border-radius:999px;
  font-weight:700; font-size:14px; font-family:inherit;
  transition:all .22s ease;
}
.btn-outline-white:hover { background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.45); transform:translateY(-2px); }
.btn-outline-white.lg { padding:15px 36px; font-size:15px; }

/* ══════════════════════════════════════
   ANNOUNCE BAR
══════════════════════════════════════ */
.announce-bar {
  background:var(--navy);
  border-bottom:1px solid rgba(255,255,255,.06);
  padding:10px 0; overflow:hidden; position:relative;
}
.announce-bar::before,
.announce-bar::after {
  content:''; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none;
}
.announce-bar::before { left:0;  background:linear-gradient(90deg, var(--navy),transparent); }
.announce-bar::after  { right:0; background:linear-gradient(270deg,var(--navy),transparent); }
.announce-inner {
  max-width:1400px; margin:0 auto; padding:0 24px;
  display:flex; align-items:center;
}
.announce-label {
  flex-shrink:0; margin-right:18px; z-index:3;
  display:flex; align-items:center; gap:7px;
  background:var(--red); color:#fff;
  padding:3px 12px; border-radius:999px;
  font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.7px;
}
.announce-dot {
  width:7px; height:7px; border-radius:50%;
  background:#fff; animation:adot 1.2s infinite;
}
@keyframes adot { 0%,100%{opacity:1} 50%{opacity:.2} }
.announce-track { flex:1; overflow:hidden; }
.announce-items {
  display:inline-flex; gap:52px; white-space:nowrap;
  animation:marquee 38s linear infinite;
}
.announce-items:hover { animation-play-state:paused; }
.announce-items a { color:rgba(255,255,255,.78); font-size:12.5px; font-weight:500; transition:color .15s; }
.announce-items a:hover { color:var(--gold); }
@keyframes marquee { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ══════════════════════════════════════
   HEADER
══════════════════════════════════════ */
.top-header {
  background:var(--navy2);
  position:sticky; top:0; z-index:500;
  border-bottom:1px solid rgba(255,255,255,.07);
  box-shadow:0 2px 24px rgba(10,22,40,.35);
}
.header-flex-container {
  max-width:1400px; margin:0 auto;
  padding:0 28px; min-height:70px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
}

/* ✅ Logo — whole branding is a link */
.site-branding {
  display:flex; align-items:center; gap:12px;
  flex-shrink:0; cursor:pointer;
}
.site-branding:hover .logo-name { color:var(--gold2); }
.site-logo { display:flex; align-items:center; }
.site-logo img { max-height:46px; width:auto; }
.logo-text-wrap { display:flex; flex-direction:column; }
.logo-name {
  font-family:'Playfair Display',serif;
  font-size:21px; font-weight:900; color:var(--gold);
  line-height:1; letter-spacing:-.3px; transition:color .2s;
}
.logo-tagline {
  font-size:10px; color:rgba(255,255,255,.42);
  font-weight:500; letter-spacing:.7px; text-transform:uppercase; margin-top:2px;
}
.site-info { display:none; }

/* Desktop Nav */
.cg-stylish-nav { flex:1; display:flex; justify-content:center; }
.cg-menu-items {
  display:flex !important; gap:2px !important;
  margin:0 !important; padding:0 !important;
  align-items:center; list-style:none !important;
}
.cg-menu-items > li { position:relative; list-style:none !important; }
.cg-menu-items > li > a {
  color:rgba(255,255,255,.82) !important;
  padding:8px 15px !important; border-radius:var(--rmd) !important;
  font-size:13.5px !important; font-weight:600 !important;
  display:block; transition:all .15s ease; white-space:nowrap;
}
.cg-menu-items > li > a:hover { background:rgba(255,255,255,.09) !important; color:var(--gold) !important; }
.cg-menu-items > li > a::after,
.cg-menu-items > li > a::before { display:none !important; }
.cg-menu-items .sub-menu {
  position:absolute !important; top:calc(100% + 8px) !important; left:0 !important;
  background:#fff !important; min-width:200px !important;
  border-radius:var(--rlg) !important; box-shadow:var(--sh-lg) !important;
  border:1px solid var(--border) !important; padding:8px 0 !important;
  display:none !important; z-index:9999; list-style:none !important;
}
.cg-menu-items > li:hover > .sub-menu { display:block !important; }
.cg-menu-items .sub-menu li { list-style:none !important; }
.cg-menu-items .sub-menu a {
  color:var(--text2) !important; padding:10px 20px !important;
  font-size:13px !important; font-weight:500 !important;
  border-radius:0 !important; display:block; transition:all .15s;
}
.cg-menu-items .sub-menu a:hover { background:var(--off) !important; color:var(--navy) !important; padding-left:26px !important; }

/* Header Right */
.header-right { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.header-buttons { display:flex; align-items:center; gap:8px; }
.btn-login {
  color:rgba(255,255,255,.82) !important; background:transparent !important;
  border:1.5px solid rgba(255,255,255,.22) !important;
  padding:8px 18px !important; border-radius:999px !important;
  font-size:13px !important; font-weight:600 !important; transition:all .15s;
}
.btn-login:hover { border-color:rgba(255,255,255,.5) !important; color:#fff !important; }
.btn-register {
  background:linear-gradient(135deg,var(--gold),var(--gold2)) !important;
  color:var(--navy) !important; border:none !important;
  padding:8px 20px !important; border-radius:999px !important;
  font-size:13px !important; font-weight:800 !important;
  box-shadow:var(--sh-gold); transition:all .18s;
}
.btn-register:hover { transform:translateY(-1px) !important; box-shadow:0 10px 24px rgba(232,184,75,.45) !important; }

/* Mobile toggle */
.mobile-menu-toggle {
  display:none; background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18); border-radius:var(--r);
  width:40px; height:40px; padding:8px; cursor:pointer;
  flex-direction:column; align-items:center; justify-content:center; gap:4px;
}
.hamburger-line { display:block; width:20px; height:2px; background:#fff; border-radius:2px; transition:all .25s; }
.mobile-menu-toggle.active .hamburger-line:nth-child(1) { transform:rotate(45deg) translate(4px,4px); }
.mobile-menu-toggle.active .hamburger-line:nth-child(2) { opacity:0; }
.mobile-menu-toggle.active .hamburger-line:nth-child(3) { transform:rotate(-45deg) translate(4px,-4px); }

.mobile-nav-dropdown {
  display:none; position:absolute; top:100%; left:0; right:0;
  background:var(--navy); border-top:1px solid rgba(255,255,255,.06);
  box-shadow:0 24px 48px rgba(0,0,0,.4); z-index:499;
}
.mobile-nav-dropdown.open { display:block; }
.mobile-nav-dropdown a {
  display:block; padding:14px 28px;
  color:rgba(255,255,255,.8); font-size:14px; font-weight:600;
  border-bottom:1px solid rgba(255,255,255,.05); transition:all .15s;
}
.mobile-nav-dropdown a:hover { background:rgba(255,255,255,.05); color:var(--gold); padding-left:34px; }

/* ══════════════════════════════════════
   HERO SECTION — FULL WIDTH, PREMIUM
══════════════════════════════════════ */
.hero-section {
  width:100% !important;
  position:relative;
  background:var(--navy) !important;
  min-height:100vh;
  display:flex; align-items:center;
  overflow:hidden;
  padding:0 !important; margin:0 !important;
}

/* Animated blobs */
.hero-bg-shapes { position:absolute; inset:0; pointer-events:none; z-index:0; }
.shape { position:absolute; border-radius:50%; filter:blur(90px); }
.shape-1 {
  width:700px; height:700px;
  background:radial-gradient(circle,rgba(232,184,75,.22),transparent 65%);
  top:-250px; right:-150px;
  animation:blobMove 9s ease-in-out infinite;
}
.shape-2 {
  width:500px; height:500px;
  background:radial-gradient(circle,rgba(30,60,114,.8),transparent 65%);
  bottom:-150px; left:-120px;
  animation:blobMove 11s ease-in-out infinite reverse;
}
.shape-3 {
  width:350px; height:350px;
  background:radial-gradient(circle,rgba(232,184,75,.12),transparent 65%);
  top:45%; left:38%;
  animation:blobMove 13s ease-in-out infinite 2s;
}
@keyframes blobMove { 0%,100%{transform:translate(0,0) scale(1)} 50%{transform:translate(25px,-25px) scale(1.05)} }

/* Dot-grid overlay */
.hero-grid-overlay {
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px);
  background-size:36px 36px;
}

/* Bottom fade */
.hero-section::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:120px;
  background:linear-gradient(to bottom,transparent,var(--white));
  z-index:1; pointer-events:none;
}

/* Two-column inner — full viewport width */
.hero-inner {
  position:relative; z-index:2;
  width:100%; max-width:1400px; margin:0 auto;
  padding:110px 64px 140px;
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:64px; align-items:center;
}

/* LEFT — text */
.hero-pre-badge {
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 18px; border-radius:999px; width:fit-content;
  background:rgba(232,184,75,.1); border:1px solid rgba(232,184,75,.25);
  color:var(--gold); font-size:12px; font-weight:700;
  letter-spacing:.6px; text-transform:uppercase; margin-bottom:24px;
  animation:fadeSlideUp .7s ease both;
}
.badge-dot {
  width:8px; height:8px; border-radius:50%;
  background:var(--green); flex-shrink:0;
  box-shadow:0 0 0 3px rgba(45,198,83,.25);
  animation:pulse 1.8s infinite;
}
@keyframes pulse { 0%,100%{box-shadow:0 0 0 3px rgba(45,198,83,.25)} 50%{box-shadow:0 0 0 6px rgba(45,198,83,.1)} }

.hero-title {
  font-family:'Playfair Display',serif;
  font-size:clamp(40px,5.5vw,68px) !important;
  font-weight:900 !important; color:#fff !important;
  line-height:1.08 !important; margin-bottom:24px !important;
  letter-spacing:-.5px;
  animation:fadeSlideUp .7s ease .1s both;
}
.hero-title em {
  font-style:normal;
  background:linear-gradient(135deg,var(--gold) 0%,var(--gold2) 60%,#fff 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.hero-subtitle {
  font-size:16.5px !important; color:rgba(255,255,255,.68) !important;
  line-height:1.8 !important; margin-bottom:36px !important; max-width:480px;
  animation:fadeSlideUp .7s ease .2s both;
}

/* Stats box */
.hero-stats {
  display:flex !important; align-items:center !important;
  margin-bottom:36px !important; width:fit-content;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--rlg); overflow:hidden;
  animation:fadeSlideUp .7s ease .3s both;
}
.stat-item { padding:16px 22px; text-align:center; }
.stat-number {
  display:block !important;
  font-family:'Noto Sans','Plus Jakarta Sans',system-ui,sans-serif;
  font-size:26px !important; font-weight:900 !important;
  color:var(--gold) !important; line-height:1;
}
.stat-label { font-size:10.5px !important; color:rgba(255,255,255,.48) !important; margin-top:3px; letter-spacing:.3px; }
.stat-sep { width:1px; background:rgba(255,255,255,.1); align-self:stretch; }

/* Buttons */
.hero-buttons {
  display:flex !important; gap:14px !important; margin-bottom:32px !important; flex-wrap:wrap;
  animation:fadeSlideUp .7s ease .4s both;
}

/* Trust row */
.hero-trust {
  display:flex; align-items:center; gap:14px;
  padding-top:22px; border-top:1px solid rgba(255,255,255,.08);
  animation:fadeSlideUp .7s ease .5s both;
}
.trust-avatars { display:flex; }
.trust-avatars span {
  width:30px; height:30px; border-radius:50%;
  border:2px solid var(--navy); margin-left:-10px;
  background:linear-gradient(135deg,var(--navy3),var(--navy4));
  display:flex; align-items:center; justify-content:center;
  font-size:11px; color:var(--gold); font-weight:800;
}
.trust-avatars span:first-child { margin-left:0; }
.hero-trust p { font-size:13px; color:rgba(255,255,255,.5); }
.hero-trust p strong { color:var(--gold); }

/* RIGHT — Cards column */
.hero-cards-col {
  display:flex; flex-direction:column; gap:14px;
}
.hero-cards-label {
  font-size:11px; font-weight:700; color:rgba(255,255,255,.38);
  text-transform:uppercase; letter-spacing:.9px; margin-bottom:2px;
  display:flex; align-items:center; gap:6px;
}

/* Individual exam card */
.hcard {
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--rlg); padding:18px 22px;
  display:flex; align-items:center; gap:16px;
  cursor:pointer; transition:all .25s ease;
  /* Entrance animation */
  opacity:0; transform:translateX(40px);
  animation:slideInCard .6s cubic-bezier(.22,1,.36,1) forwards;
}
.hcard-1 { animation-delay:.2s; }
.hcard-2 { animation-delay:.35s; }
.hcard-3 { animation-delay:.5s; }
.hcard-4 { animation-delay:.65s; }

.hcard:hover {
  background:rgba(255,255,255,.11);
  border-color:rgba(232,184,75,.4);
  transform:translateX(-5px) !important;
  box-shadow:0 8px 28px rgba(0,0,0,.25);
}
.hcard-icon {
  font-size:26px; flex-shrink:0;
  width:52px; height:52px; border-radius:var(--rmd);
  background:rgba(255,255,255,.07);
  display:flex; align-items:center; justify-content:center;
}
.hcard-body { flex:1; min-width:0; }
.hcard-title { font-size:14px; font-weight:800; color:#fff; line-height:1.25; }
.hcard-sub   { font-size:12px; color:rgba(255,255,255,.48); margin-top:3px; font-weight:500; }
.hcard-badge {
  flex-shrink:0; padding:4px 11px; border-radius:999px;
  font-size:10px; font-weight:800; letter-spacing:.5px; text-transform:uppercase;
}
.hcard-badge.hot  { background:rgba(230,57,70,.2);  color:#ff8c93; }
.hcard-badge.new  { background:rgba(45,198,83,.2);  color:#52e87c; }
.hcard-badge.live { background:rgba(232,184,75,.2); color:var(--gold); }
.hcard-badge.alert{ background:rgba(255,255,255,.1); color:#fff; }

/* Rating row */
.hero-rating {
  display:flex; align-items:center; gap:12px;
  padding:14px 20px; border-radius:var(--rlg);
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07);
  opacity:0; animation:slideInCard .6s cubic-bezier(.22,1,.36,1) .78s forwards;
}
.hero-rating span:last-child { font-size:12px; color:rgba(255,255,255,.45); font-weight:500; }

/* Shared entrance keyframes */
@keyframes fadeSlideUp {
  from { opacity:0; transform:translateY(24px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes slideInCard {
  from { opacity:0; transform:translateX(40px); }
  to   { opacity:1; transform:translateX(0); }
}

/* ══════════════════════════════════════
   FEATURES STRIP
══════════════════════════════════════ */
.features-strip {
  background:var(--white);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  position:relative; z-index:10;
}
.fstrip-inner {
  max-width:1400px; margin:0 auto;
  display:grid; grid-template-columns:repeat(4,1fr);
}
.fstrip-item {
  display:flex; align-items:center; gap:16px;
  padding:24px 28px; border-right:1px solid var(--border);
  transition:background .15s; cursor:pointer;
}
.fstrip-item:last-child { border-right:none; }
.fstrip-item:hover { background:var(--off); }
.fstrip-icon {
  width:46px; height:46px; border-radius:var(--rmd); flex-shrink:0;
  background:linear-gradient(135deg,var(--navy),var(--navy3));
  display:flex; align-items:center; justify-content:center; font-size:20px;
}
.fstrip-label { font-size:14px; font-weight:700; color:var(--navy); }
.fstrip-sub   { font-size:12px; color:var(--muted); margin-top:2px; }

/* ══════════════════════════════════════
   EXAM CARDS
══════════════════════════════════════ */
.exam-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.exam-card {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--rxl); padding:28px;
  box-shadow:var(--sh-sm); transition:all .22s; position:relative; overflow:hidden;
}
.exam-card::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--navy),var(--gold));
  opacity:0; transition:opacity .2s;
}
.exam-card:hover { transform:translateY(-7px); box-shadow:var(--sh-lg); border-color:transparent; }
.exam-card:hover::after { opacity:1; }
.exam-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.exam-icon-wrap {
  width:54px; height:54px; border-radius:var(--rmd);
  background:linear-gradient(135deg,var(--navy),var(--navy3));
  display:flex; align-items:center; justify-content:center; font-size:24px;
}
.etag { padding:4px 11px; border-radius:999px; font-size:10.5px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; }
.etag-hot  { background:rgba(230,57,70,.1);  color:var(--red);     border:1px solid rgba(230,57,70,.2); }
.etag-new  { background:rgba(45,198,83,.1);  color:var(--green);   border:1px solid rgba(45,198,83,.2); }
.etag-open { background:rgba(232,184,75,.12);color:var(--gold-dk); border:1px solid rgba(232,184,75,.25); }
.exam-card h3 {
  font-family:'Playfair Display',serif;
  font-size:18px; font-weight:700; color:var(--navy); margin-bottom:6px;
}
.exam-card > p { font-size:13px; color:var(--muted); margin-bottom:14px; }
.exam-meta {
  display:flex; gap:14px; flex-wrap:wrap;
  padding:10px 0; border-top:1px solid var(--border); margin-bottom:18px;
}
.exam-meta span { font-size:12px; color:var(--muted); font-weight:500; }
.exam-cta {
  display:inline-flex; align-items:center; gap:6px;
  padding:9px 20px; border-radius:999px;
  background:var(--navy); color:#fff !important;
  font-size:13px; font-weight:700; transition:all .18s;
}
.exam-cta span { transition:transform .18s; }
.exam-cta:hover { background:var(--gold); color:var(--navy) !important; }
.exam-cta:hover span { transform:translateX(3px); }

/* ══════════════════════════════════════
   QUIZ SECTION
══════════════════════════════════════ */
.quiz-section {
  padding:80px 0; background:var(--navy); position:relative; overflow:hidden;
}
.quiz-bg-glow {
  position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 55% 80% at 80% 50%,rgba(232,184,75,.07),transparent);
}
.quiz-layout { display:grid; grid-template-columns:3fr 2fr; gap:60px; align-items:center; position:relative; z-index:1; }
.quiz-feats { display:flex; gap:14px; margin-bottom:36px; flex-wrap:wrap; }
.qfeat {
  flex:1; min-width:100px; display:flex; align-items:center; gap:9px;
  padding:13px 18px; border-radius:var(--rmd);
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.09);
  font-size:13px; font-weight:600; color:rgba(255,255,255,.8);
  transition:all .18s;
}
.qfeat:hover { background:rgba(255,255,255,.1); border-color:rgba(232,184,75,.3); }
.qfeat span:first-child { font-size:20px; }
.quiz-card-big {
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.09);
  border-radius:var(--rxl); padding:36px 28px; text-align:center;
}
.qcb-ring { position:relative; width:160px; height:160px; margin:0 auto 18px; }
.ring-svg  { width:100%; height:100%; }
.ring-label {
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-family:'Noto Sans',system-ui,sans-serif;
  font-size:32px; font-weight:900; color:#fff;
}
.ring-sub { font-size:14px; color:rgba(255,255,255,.55); margin-bottom:20px; font-weight:500; }
.quiz-mini-stats {
  display:flex; align-items:center;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07);
  border-radius:var(--rlg); overflow:hidden;
}
.qms { flex:1; padding:14px 20px; text-align:center; }
.qms strong {
  display:block;
  font-family:'Noto Sans',system-ui,sans-serif;
  font-size:22px; font-weight:900; color:var(--gold);
}
.qms span   { font-size:11px; color:rgba(255,255,255,.45); }
.qms-sep    { width:1px; background:rgba(255,255,255,.07); align-self:stretch; }

/* ══════════════════════════════════════
   SUCCESS STORIES
══════════════════════════════════════ */
.stories-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.story-card {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--rxl); padding:28px;
  box-shadow:var(--sh-sm); transition:all .2s;
}
.story-card:hover { transform:translateY(-6px); box-shadow:var(--sh); border-color:rgba(232,184,75,.3); }
.story-top  { display:flex; align-items:center; gap:14px; margin-bottom:16px; }
.story-avatar {
  width:48px; height:48px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg,var(--navy),var(--navy3));
  display:flex; align-items:center; justify-content:center;
  font-size:15px; font-weight:800; color:var(--gold);
}
.story-name { font-size:15px; font-weight:800; color:var(--navy); line-height:1.2; }
.story-exam { font-size:12.5px; color:var(--gold-dk); font-weight:600; margin-top:2px; }
.story-quote {
  font-size:13.5px; color:var(--text2); line-height:1.75; font-style:italic;
  margin-bottom:18px; border-left:3px solid var(--gold); padding-left:14px;
}
.story-badges { display:flex; gap:8px; flex-wrap:wrap; }
.story-badges span { padding:4px 13px; border-radius:999px; font-size:11px; font-weight:700; background:var(--navy); color:var(--gold); }

/* ══════════════════════════════════════
   PRICING
══════════════════════════════════════ */
.plan-feats {
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:52px;
}
.plan-feat {
  display:flex; align-items:center; gap:14px;
  padding:18px 20px; background:var(--white);
  border:1px solid var(--border); border-radius:var(--rlg); transition:all .2s;
}
.plan-feat:hover { border-color:var(--gold); box-shadow:var(--sh); transform:translateY(-3px); }
.plan-feat > span { font-size:26px; flex-shrink:0; }
.plan-feat b { font-size:14px; font-weight:700; color:var(--navy); display:block; }
.plan-feat p { font-size:12px; color:var(--muted); margin-top:2px; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:start; }
.price-card {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--rxl); padding:36px 28px;
  box-shadow:var(--sh-sm); transition:all .2s; position:relative;
}
.price-card:hover { transform:translateY(-6px); box-shadow:var(--sh); }
.price-card.featured {
  background:var(--navy); border-color:transparent;
  transform:scale(1.04); box-shadow:var(--sh-lg);
}
.price-card.featured:hover { transform:scale(1.04) translateY(-4px); }
.pc-popular {
  position:absolute; top:-14px; left:50%; transform:translateX(-50%);
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:var(--navy); padding:4px 18px; border-radius:999px;
  font-size:11px; font-weight:800; white-space:nowrap; box-shadow:var(--sh-gold);
}
.pc-header { margin-bottom:24px; }
.pc-plan {
  font-family:'Playfair Display',serif;
  font-size:20px; font-weight:800; color:var(--navy); margin-bottom:10px;
}
.price-card.featured .pc-plan { color:#fff; }
/* ✅ Rupee fix — Noto Sans has ₹ glyph */
.pc-price {
  font-family:'Noto Sans','Segoe UI',Arial,system-ui,sans-serif;
  font-size:44px; font-weight:900; color:var(--navy); line-height:1;
}
.pc-price.gold { color:var(--gold); }
.price-card.featured .pc-price { color:var(--gold); }
.pc-price span { font-size:14px; font-family:'Plus Jakarta Sans',sans-serif; color:var(--muted); font-weight:500; }
.price-card.featured .pc-price span { color:rgba(255,255,255,.5); }
.pc-list { display:flex; flex-direction:column; gap:11px; margin:20px 0 28px; }
.pc-list li { font-size:13.5px; color:var(--text2); font-weight:500; }
.pc-list.light li { color:rgba(255,255,255,.8); }
.pc-btn {
  display:block; text-align:center; padding:13px 28px; border-radius:999px;
  background:var(--navy); color:#fff !important;
  font-weight:700; font-size:14px; transition:all .2s;
}
.pc-btn:hover { background:var(--gold); color:var(--navy) !important; transform:translateY(-2px); }
.pc-btn.gold-btn {
  background:linear-gradient(135deg,var(--gold),var(--gold2)) !important;
  color:var(--navy) !important; box-shadow:var(--sh-gold);
}
.pc-btn.gold-btn:hover { background:var(--white) !important; }

/* ══════════════════════════════════════
   POSTS GRID
══════════════════════════════════════ */
.posts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.post-card {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--rxl); padding:26px;
  box-shadow:var(--sh-sm); transition:all .2s;
  display:flex; flex-direction:column; gap:12px;
}
.post-card:hover { transform:translateY(-5px); box-shadow:var(--sh); border-color:rgba(232,184,75,.3); }
.post-tag {
  display:inline-flex; align-items:center; gap:5px;
  padding:5px 13px; border-radius:999px; width:fit-content;
  background:var(--off); color:var(--navy);
  font-size:11px; font-weight:700; border:1px solid var(--border);
}
.post-card h3 { font-size:15px; font-weight:700; line-height:1.45; flex:1; }
.post-card h3 a { color:var(--navy); transition:color .15s; }
.post-card h3 a:hover { color:var(--gold-dk); }
.post-card p { font-size:13px; color:var(--muted); line-height:1.65; }
.post-foot {
  display:flex; justify-content:space-between; align-items:center;
  padding-top:12px; border-top:1px solid var(--border);
  font-size:12px; color:var(--muted);
}
.post-foot a { color:var(--gold-dk); font-weight:700; font-size:13px; transition:color .15s; }
.post-foot a:hover { color:var(--navy); }

/* ══════════════════════════════════════
   FINAL CTA
══════════════════════════════════════ */
.cta-section {
  padding:100px 0; background:var(--navy);
  position:relative; overflow:hidden; text-align:center;
}
.cta-glow {
  position:absolute; inset:0;
  background:radial-gradient(ellipse 70% 80% at 50% 50%,rgba(232,184,75,.07),transparent);
  pointer-events:none;
}
.cta-inner { position:relative; z-index:1; }
.cta-stats {
  display:flex; justify-content:center; align-items:stretch; gap:0;
  margin:0 auto 44px; width:fit-content;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
  border-radius:var(--rxl);
}
/* ✅ Rupee fix in CTA */
.cs strong {
  display:block;
  font-family:'Noto Sans','Segoe UI',Arial,system-ui,sans-serif;
  font-size:34px; font-weight:900; color:var(--gold); line-height:1;
}
.cs { text-align:center; padding:22px 28px; }
.cs span  { font-size:12px; color:rgba(255,255,255,.5); margin-top:4px; display:block; }
.cs-sep   { width:1px; background:rgba(255,255,255,.1); }
.cta-btns { display:flex; justify-content:center; gap:14px; flex-wrap:wrap; }

/* ══════════════════════════════════════
   FOOTER
══════════════════════════════════════ */
.site-footer {
  background:var(--navy) !important;
  border-top:3px solid var(--gold) !important;
  padding:72px 0 0 !important;
  color:rgba(255,255,255,.75) !important;
}
.footer-content {
  max-width:1160px; margin:0 auto; padding:0 32px 52px;
  display:grid; grid-template-columns:2fr 1fr 1fr 1.3fr; gap:44px;
}
.footer-column h4 {
  font-size:12px !important; font-weight:800 !important;
  text-transform:uppercase !important; letter-spacing:.9px !important;
  color:var(--gold) !important; margin-bottom:20px !important;
  padding-bottom:10px !important; border-bottom:1px solid rgba(255,255,255,.07) !important;
}
.footer-column ul li { margin-bottom:9px !important; }
.footer-column ul li a {
  color:rgba(255,255,255,.55) !important; font-size:13px !important; font-weight:500 !important; transition:all .15s !important;
}
.footer-column ul li a:hover { color:var(--gold) !important; padding-left:4px !important; }
.social-links { display:flex !important; gap:10px !important; margin-top:20px !important; }
.social-links a {
  width:36px !important; height:36px !important; border-radius:var(--r) !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  font-weight:800 !important; font-size:13px !important;
  transition:all .2s !important; color:#fff !important;
}
.social-links a:hover { transform:translateY(-2px) !important; }
.footer-bottom {
  max-width:1160px; margin:0 auto; padding:22px 32px;
  border-top:1px solid rgba(255,255,255,.06) !important;
  display:flex !important; justify-content:space-between !important;
  align-items:center !important; flex-wrap:wrap !important; gap:12px !important;
}
.copyright p { font-size:13px !important; color:rgba(255,255,255,.38) !important; }
.footer-links a { font-size:12.5px !important; color:rgba(255,255,255,.38) !important; margin-left:18px !important; transition:color .15s !important; }
.footer-links a:hover { color:var(--gold) !important; }

/* ══════════════════════════════════════
   SCROLL PROGRESS + BACK TO TOP
══════════════════════════════════════ */
#scrollProgress {
  position:fixed; top:0; left:0; z-index:9999;
  height:3px; width:0;
  background:linear-gradient(90deg,var(--gold),var(--gold2));
  transition:width .1s linear; pointer-events:none;
}
#backToTop {
  position:fixed; bottom:28px; right:28px; z-index:100;
  width:46px; height:46px; border-radius:50%;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:var(--navy); border:none; font-size:20px; font-weight:800;
  cursor:pointer; box-shadow:var(--sh-gold);
  display:none; align-items:center; justify-content:center; transition:all .2s;
}
#backToTop:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(232,184,75,.45); }

/* ══════════════════════════════════════
   PARENT GP OVERRIDES — COMPLETE RESET
══════════════════════════════════════ */

/* Hide GP's own header completely */
.site-header.grid-container,
#masthead,
.site-header { display:none !important; }

/* Hide GP page hero */
.inside-page-hero, .page-hero { display:none !important; }

/* ── Body margin reset (only default margin, NOT GP sticky padding) ──
   NOTE: Do NOT override body padding-top with !important — 
   GP's sticky header JS adds padding-top dynamically to prevent content jump.
   We let GP handle that, and our .top-header handles its own sticky via CSS. */
body { 
  margin-top:0;
}
/* GP adds .has-header-1 / .has-header-2 for its own sticky header which is hidden.
   Reset only when GP header is hidden (our header handles sticky itself). */
body.has-header-1 .site-header,
body.has-header-2 .site-header {
  display:none !important;
}

/* GP site structure — strip all padding/margin/width constraints */
#page,
.site,
.site-content,
#content,
.inside-site-content {
  padding:0 !important;
  margin:0 !important;
  max-width:100% !important;
  width:100% !important;
}

/* GP grid containers — these cause the left offset + right gap */
/* GP grid-container reset — WooCommerce pages exclude */
body:not(.woocommerce):not(.woocommerce-page):not(.single-product) .grid-container {
  max-width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  width:100% !important;
}

/* GP content area (main column) */
.content-area,
.content-area.grid-parent,
#primary,
.hfeed {
  width:100% !important;
  max-width:100% !important;
  padding:0 !important;
  margin:0 !important;
  float:none !important;
}

/* GP article wrappers */
.inside-article,
.page .inside-article,
.post .inside-article,
article.post,
article.page,
.entry-content,
.page-content {
  max-width:100% !important;
  padding:0 !important;
  margin:0 !important;
}

/* GP sidebar — hide (WooCommerce pages handle their own) */
body:not(.woocommerce):not(.woocommerce-page) .widget-area,
body:not(.woocommerce):not(.woocommerce-page) #sidebar,
body:not(.woocommerce):not(.woocommerce-page) .sidebar,
body:not(.woocommerce):not(.woocommerce-page) #secondary { 
  display:none !important; 
}

/* GP .site-main — WooCommerce pages exclude */
body:not(.woocommerce):not(.woocommerce-page):not(.single-product) .site-main { 
  overflow:visible !important;
  padding:0 !important;
  margin:0 !important;
  width:100% !important;
  max-width:100% !important;
}

/* GP footer — hide default one since we have custom */
.site-footer.grid-container,
.site-info.grid-container { 
  display:none !important; 
}

/* ══════════════════════════════════════
   RESPONSIVE — TABLET 1200px
══════════════════════════════════════ */
@media (max-width:1200px) {
  .hero-inner  { padding:80px 40px 110px; gap:48px; }
  .plan-feats  { grid-template-columns:repeat(2,1fr); }
}

/* ══════════════════════════════════════
   RESPONSIVE — TABLET 960px
══════════════════════════════════════ */
@media (max-width:960px) {
  .cg-stylish-nav     { display:none; }
  .mobile-menu-toggle { display:flex; }

  /* Hero — single col, centered, constrained width to remove right gap */
  .hero-inner         { grid-template-columns:1fr; padding:64px 32px 96px; text-align:center; max-width:680px; margin-left:auto; margin-right:auto; }
  .hero-cards-col     { display:none; }
  .hero-pre-badge     { margin-left:auto; margin-right:auto; }
  .hero-subtitle      { margin-left:auto; margin-right:auto; max-width:100% !important; }
  .hero-stats         { margin-left:auto !important; margin-right:auto !important; }
  .hero-buttons       { justify-content:center; }
  .hero-trust         { justify-content:center; flex-wrap:wrap; }

  .section-wrap       { padding:60px 0; }
  .section-container  { padding:0 20px !important; }
  .fstrip-inner       { grid-template-columns:repeat(2,1fr); }
  .exam-grid          { grid-template-columns:1fr; gap:16px; }

  /* Quiz section — single col, centered to remove right gap */
  .quiz-layout        { grid-template-columns:1fr; max-width:700px; margin-left:auto; margin-right:auto; }
  .quiz-right         { display:none; }

  .stories-grid       { grid-template-columns:1fr; gap:16px; }
  .plan-feats         { grid-template-columns:repeat(2,1fr); gap:14px; }
  .pricing-grid       { grid-template-columns:1fr; gap:20px; }
  .price-card.featured{ transform:scale(1); }
  .posts-grid         { grid-template-columns:1fr; gap:16px; }
  .footer-content     { grid-template-columns:1fr 1fr; gap:32px; padding:0 20px 40px; }
  .footer-bottom      { padding:18px 20px; }
  .cta-stats          { padding:0; }
  .cs                 { padding:16px 20px; }
}

/* ══════════════════════════════════════
   RESPONSIVE — MOBILE 640px
══════════════════════════════════════ */
@media (max-width:640px) {
  /* Header */
  .header-flex-container { padding:0 16px; min-height:62px; }
  .logo-name             { font-size:18px; }
  .logo-tagline          { display:none; }
  .btn-login             { display:none !important; }
  .btn-register          { padding:7px 14px !important; font-size:12px !important; }

  /* Announce */
  .announce-bar   { padding:8px 0; }
  .announce-items a { font-size:12px; }

  /* Hero */
  .hero-inner      { padding:52px 20px 80px; max-width:100%; }
  .hero-title      { font-size:clamp(30px,8.5vw,44px) !important; }
  .hero-subtitle   { font-size:14.5px !important; margin-bottom:26px !important; }
  .hero-pre-badge  { font-size:10.5px; padding:5px 14px; }

  /* Stats — 2×2 */
  .hero-stats {
    display:grid !important;
    grid-template-columns:1fr 1fr;
    width:100% !important;
    border-radius:var(--rlg); overflow:hidden;
    background:rgba(255,255,255,.06);
    margin-bottom:28px !important;
  }
  .stat-sep   { display:none; }
  .stat-item  { padding:16px 10px; border:1px solid rgba(255,255,255,.06); margin:-1px 0 0 -1px; }
  .stat-number { font-size:24px !important; }
  .stat-label  { font-size:10px !important; }

  .hero-buttons { flex-direction:column; gap:10px !important; }
  .btn-primary,.btn-outline-white { width:100% !important; justify-content:center; padding:14px 20px !important; }

  /* Features strip */
  .fstrip-inner { grid-template-columns:1fr !important; }
  .fstrip-item  { border-right:none; border-bottom:1px solid var(--border); padding:18px 20px; }
  .fstrip-item:last-child { border-bottom:none; }

  /* Sections */
  .section-wrap        { padding:48px 0; }
  .section-container   { padding:0 16px !important; }
  .section-head.center { margin-bottom:36px; }
  .sec-title           { font-size:clamp(22px,6vw,32px); }
  .exam-card           { padding:22px; }

  /* Quiz feats wrap to 3 cols */
  .quiz-feats  { gap:10px; }
  .qfeat       { flex:none; width:calc(33.33% - 7px); flex-direction:column; text-align:center; justify-content:center; padding:12px 8px; }
  .qfeat span:first-child { font-size:22px; }
  .qfeat span:last-child  { font-size:11px; }
  .btn-primary.lg          { width:100%; justify-content:center; padding:14px 20px !important; font-size:14px !important; }

  /* Story */
  .story-card  { padding:20px; }
  .story-quote { font-size:13px !important; }

  /* Pricing */
  .plan-feats   { grid-template-columns:1fr 1fr !important; gap:12px; margin-bottom:32px; }
  .plan-feat    { padding:14px 12px; flex-direction:column; text-align:center; gap:8px; }
  .plan-feat > span { font-size:22px; }
  .pricing-grid { grid-template-columns:1fr !important; gap:16px; }
  .price-card   { padding:28px 20px; }
  .pc-popular   { font-size:10px; padding:4px 14px; }
  .pc-price     { font-size:36px !important; }

  /* Posts */
  .post-card   { padding:20px; }

  /* CTA */
  .cta-section { padding:60px 0; }
  .cta-stats   {
    display:grid !important; grid-template-columns:1fr 1fr;
    width:calc(100% - 32px) !important;
    background:rgba(255,255,255,.05);
    border-radius:var(--rlg); overflow:hidden;
    margin-bottom:32px !important;
  }
  .cs         { padding:18px 12px; border:1px solid rgba(255,255,255,.06); margin:-1px 0 0 -1px; }
  .cs strong  { font-size:26px !important; }
  .cs-sep     { display:none; }
  .cta-btns   { flex-direction:column; align-items:center; gap:12px; }
  .btn-primary.lg,.btn-outline-white.lg { width:100%; max-width:300px; justify-content:center; }

  /* Footer */
  .footer-content { grid-template-columns:1fr !important; gap:28px; padding:0 16px 36px; }
  .footer-bottom  { flex-direction:column; gap:10px; text-align:center; padding:18px 16px; }
  .footer-links a { margin-left:10px; }
  .footer-links a:first-child { margin-left:0; }
}

/* ══════════════════════════════════════
   RESPONSIVE — SMALL PHONES 400px
══════════════════════════════════════ */
@media (max-width:400px) {
  .hero-title  { font-size:28px !important; }
  .pc-price    { font-size:30px !important; }
  .logo-name   { font-size:16px; }
  .qfeat       { width:100%; flex-direction:row; text-align:left; }
}

/* ══════════════════════════════════════
   BLOG / INNER PAGE STYLES
══════════════════════════════════════ */

/* Archive Hero Banner */
.cgpsc-archive-hero {
  background:var(--navy);
  padding:70px 0 60px;
  position:relative;
  overflow:hidden;
}
.cgpsc-archive-hero::before {
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(ellipse 60% 80% at 70% 50%, rgba(232,184,75,.08), transparent);
  pointer-events:none;
}
.cgpsc-archive-hero .section-container { position:relative; z-index:1; }

/* Article Page */
.cgpsc-page-content { background:var(--white); min-height:60vh; }

.cgpsc-article {
  max-width:820px;
  margin:0 auto;
}

.cgpsc-post-header { margin-bottom:28px; }

.cgpsc-post-title {
  font-family:'Playfair Display',serif;
  font-size:clamp(26px,4vw,42px);
  font-weight:900;
  color:var(--navy);
  line-height:1.2;
  margin-top:16px;
  margin-bottom:14px;
}

.cgpsc-post-meta {
  display:flex; align-items:center; flex-wrap:wrap; gap:16px;
  font-size:13px; color:var(--muted); font-weight:500;
  padding:14px 0;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  margin-bottom:28px;
}

.cgpsc-post-thumb {
  border-radius:var(--rxl);
  overflow:hidden;
  margin-bottom:32px;
  border:1px solid var(--border);
  box-shadow:var(--sh);
}
.cgpsc-post-thumb img {
  width:100%;
  height:auto;
  object-fit:cover;
  max-height:480px;
}

/* Post body typography */
.cgpsc-post-body {
  font-size:16px;
  line-height:1.85;
  color:var(--text);
}
.cgpsc-post-body h2 {
  font-family:'Playfair Display',serif;
  font-size:24px; font-weight:800;
  color:var(--navy); margin:32px 0 14px;
  padding-bottom:8px;
  border-bottom:2px solid var(--gold);
}
.cgpsc-post-body h3 {
  font-size:20px; font-weight:700;
  color:var(--navy2); margin:26px 0 12px;
}
.cgpsc-post-body p { margin-bottom:18px; }
.cgpsc-post-body a { color:var(--gold-dk); font-weight:600; text-decoration:underline; }
.cgpsc-post-body a:hover { color:var(--navy); }
.cgpsc-post-body ul, .cgpsc-post-body ol {
  padding-left:24px; margin-bottom:18px; list-style:revert;
}
.cgpsc-post-body li { margin-bottom:6px; }
.cgpsc-post-body blockquote {
  border-left:4px solid var(--gold);
  padding:16px 20px;
  background:var(--off);
  border-radius:0 var(--r) var(--r) 0;
  font-style:italic; margin:24px 0;
  color:var(--text2);
}
.cgpsc-post-body img {
  border-radius:var(--rmd);
  margin:16px 0;
  box-shadow:var(--sh-sm);
}
.cgpsc-post-body table {
  width:100%; border-collapse:collapse;
  margin:24px 0; font-size:14px;
}
.cgpsc-post-body th, .cgpsc-post-body td {
  padding:10px 14px;
  border:1px solid var(--border);
}
.cgpsc-post-body th { background:var(--navy); color:#fff; font-weight:700; }
.cgpsc-post-body tr:nth-child(even) td { background:var(--off); }

/* Tags */
.cgpsc-tags {
  margin-top:28px; display:flex; flex-wrap:wrap; gap:8px;
}
.cgpsc-tags a {
  padding:5px 14px; border-radius:999px; font-size:12px; font-weight:700;
  background:var(--off); color:var(--navy);
  border:1px solid var(--border); transition:all .15s;
}
.cgpsc-tags a:hover { background:var(--navy); color:#fff; border-color:var(--navy); }

/* Post Navigation */
.cgpsc-post-nav {
  display:flex; justify-content:space-between; gap:16px;
  margin-top:40px; padding-top:28px;
  border-top:1px solid var(--border);
  flex-wrap:wrap;
}
.post-nav-btn {
  padding:12px 22px; border-radius:999px;
  background:var(--off); color:var(--navy) !important;
  font-size:13px; font-weight:700;
  border:1px solid var(--border); transition:all .18s;
  max-width:48%;
}
.post-nav-btn:hover { background:var(--navy); color:#fff !important; border-color:transparent; }

/* Pagination */
.cgpsc-pagination {
  margin-top:48px; text-align:center;
}
.cgpsc-pagination .nav-links {
  display:flex; justify-content:center;
  flex-wrap:wrap; gap:8px;
}
.cgpsc-pagination .page-numbers {
  padding:9px 16px; border-radius:var(--r);
  background:var(--off); color:var(--navy);
  font-size:14px; font-weight:700;
  border:1px solid var(--border); transition:all .15s;
}
.cgpsc-pagination .page-numbers.current,
.cgpsc-pagination .page-numbers:hover {
  background:var(--navy); color:#fff; border-color:transparent;
}

/* No posts */
.cgpsc-no-posts {
  text-align:center; padding:60px 20px;
  font-size:18px; color:var(--muted);
}
.cgpsc-no-posts .btn-primary { margin-top:20px; }

/* Comments */
.cgpsc-comments { margin-top:40px; }

/* ══════════════════════════════════════
   MOBILE — Blog Pages
══════════════════════════════════════ */
@media (max-width:640px) {
  .cgpsc-archive-hero { padding:50px 0 40px; }
  .cgpsc-post-title   { font-size:clamp(22px,7vw,30px); }
  .cgpsc-post-nav     { flex-direction:column; }
  .post-nav-btn       { max-width:100%; }
  .cgpsc-post-body    { font-size:15px; }
}

/* ══════════════════════════════════════
   CGPSC FULL-WIDTH CONTENT CLASS
   (Added via functions.php filter)
══════════════════════════════════════ */
.cgpsc-content-full,
.cgpsc-article-reset {
  width:100% !important;
  max-width:100% !important;
  padding:0 !important;
  margin:0 !important;
  float:none !important;
}

/* ── MOBILE NAV — higher z-index, ensure visibility ── */
.mobile-nav-dropdown {
  z-index:9999 !important;
}

/* ── Ensure our custom header sits above everything ── */
.top-header {
  z-index:9998 !important;
  position:relative !important;
}
.announce-bar {
  position:relative !important;
  z-index:9997 !important;
}

/* ══════════════════════════════════════
   BLOG PAGE — PREMIUM MAGAZINE STYLE
══════════════════════════════════════ */

/* ── Blog Hero ── */
.blog-hero {
  background: var(--navy);
  position: relative;
  overflow: hidden;
  padding: 72px 0 56px;
}
.blog-hero-shapes { position:absolute; inset:0; pointer-events:none; }
.bh-shape { position:absolute; border-radius:50%; filter:blur(80px); }
.bh-s1 {
  width:500px; height:500px;
  background:radial-gradient(circle, rgba(232,184,75,.15), transparent 65%);
  top:-200px; right:-100px;
  animation: blobMove 10s ease-in-out infinite;
}
.bh-s2 {
  width:350px; height:350px;
  background:radial-gradient(circle, rgba(30,60,114,.7), transparent 65%);
  bottom:-100px; left:-80px;
  animation: blobMove 13s ease-in-out infinite reverse;
}
.blog-hero-grid {
  position:absolute; inset:0; pointer-events:none;
  background-image: radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 32px 32px;
}
.blog-hero-inner {
  position:relative; z-index:2;
  display:flex; align-items:center;
  justify-content:space-between; gap:32px; flex-wrap:wrap;
}
.blog-hero-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(30px, 4vw, 50px);
  font-weight: 900; color: #fff;
  line-height: 1.15; margin: 12px 0 14px;
}
.blog-hero-title em {
  font-style:normal;
  background: linear-gradient(135deg, var(--gold), var(--gold2));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
}
.blog-hero-sub { font-size:14px; color:rgba(255,255,255,.55); max-width:480px; }

.blog-hero-stats {
  display:flex; align-items:center;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius: var(--rxl); overflow:hidden;
  flex-shrink:0;
}
.bhs-item { padding:18px 28px; text-align:center; }
.bhs-num  {
  display:block;
  font-family:'Noto Sans',system-ui,sans-serif;
  font-size:26px; font-weight:900; color:var(--gold); line-height:1;
}
.bhs-lab  { font-size:11px; color:rgba(255,255,255,.45); margin-top:3px; letter-spacing:.3px; }
.bhs-sep  { width:1px; background:rgba(255,255,255,.1); align-self:stretch; }

/* ── Blog Body ── */
.blog-body {
  background: var(--off);
  padding: 52px 0 80px;
}

/* ── Blog Layout: Featured + Grid ── */
.blog-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}

/* ── FEATURED CARD ── */
.blog-featured-card {
  display:block;
  border-radius: var(--rxl);
  overflow: hidden;
  box-shadow: var(--sh-lg);
  position: relative;
  text-decoration: none;
  transition: transform .3s ease, box-shadow .3s ease;
}
.blog-featured-card:hover { transform: translateY(-4px); box-shadow: 0 32px 80px rgba(10,22,40,.22); }

.bfc-image {
  position: relative;
  min-height: 420px;
  background: var(--navy);
  display:flex; align-items: flex-end;
}
.bfc-image img {
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
}
.bfc-no-thumb {
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-size: 90px;
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy3) 50%, var(--navy4) 100%);
}
.bfc-overlay {
  position:absolute; inset:0;
  background: linear-gradient(
    to top,
    rgba(10,22,40,.97) 0%,
    rgba(10,22,40,.65) 45%,
    rgba(10,22,40,.1)  100%
  );
  z-index:1;
}
.bfc-content {
  position:relative; z-index:2;
  padding: 36px 40px; width:100%;
}
.bfc-meta {
  display:flex; align-items:center; gap:12px; margin-bottom:14px; flex-wrap:wrap;
}
.bfc-cat {
  background: linear-gradient(135deg, var(--gold), var(--gold2));
  color: var(--navy);
  font-size:11px; font-weight:800;
  padding:4px 14px; border-radius:999px;
  text-transform:uppercase; letter-spacing:.6px;
}
.bfc-date { font-size:12px; color:rgba(255,255,255,.5); font-weight:500; }

.bfc-title {
  font-family:'Playfair Display', serif;
  font-size: clamp(22px, 3vw, 36px);
  font-weight:900; color:#fff;
  line-height:1.2; margin-bottom:12px;
  max-width:680px;
}
.bfc-excerpt {
  font-size:14.5px; color:rgba(255,255,255,.62);
  line-height:1.75; max-width:600px; margin-bottom:22px;
}
.bfc-read {
  display:inline-flex; align-items:center; gap:8px;
  color:var(--gold); font-size:13.5px; font-weight:700;
  padding:10px 22px; border-radius:999px;
  border:1.5px solid rgba(232,184,75,.4);
  background:rgba(232,184,75,.08);
  transition: all .2s;
}
.blog-featured-card:hover .bfc-read {
  background:var(--gold);
  color:var(--navy);
  border-color:var(--gold);
}

/* ── POSTS GRID ── */
.blog-posts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.bpg-card {
  background: #fff;
  border-radius: var(--rlg);
  overflow: hidden;
  border: 1px solid var(--border);
  box-shadow: var(--sh-sm);
  display: flex; flex-direction: column;
  text-decoration: none;
  position: relative;
  transition: all .25s ease;
}
.bpg-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--sh);
  border-color: rgba(232,184,75,.35);
}

/* Thumb */
.bpg-thumb {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: var(--off);
}
.bpg-thumb img {
  width:100%; height:100%;
  object-fit:cover;
  transition: transform .4s ease;
}
.bpg-card:hover .bpg-thumb img { transform: scale(1.06); }

.bpg-icon-thumb {
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  font-size: 44px;
  transition: transform .3s ease;
}
.bpg-card:hover .bpg-icon-thumb { transform: scale(1.1); }

.bpg-cat-pill {
  position:absolute; top:12px; left:12px;
  background:linear-gradient(135deg, var(--gold), var(--gold2));
  color:var(--navy); font-size:10px; font-weight:800;
  padding:3px 11px; border-radius:999px;
  text-transform:uppercase; letter-spacing:.5px;
  box-shadow: 0 2px 8px rgba(232,184,75,.4);
}

/* Body */
.bpg-body { padding:20px 20px 16px; flex:1; display:flex; flex-direction:column; gap:8px; }

.bpg-title {
  font-family:'Playfair Display', serif;
  font-size:16px; font-weight:800;
  color:var(--navy); line-height:1.35;
  transition: color .15s;
}
.bpg-card:hover .bpg-title { color: var(--gold-dk); }

.bpg-excerpt { font-size:13px; color:var(--muted); line-height:1.65; flex:1; }

.bpg-foot {
  display:flex; align-items:center;
  justify-content:space-between;
  padding-top:12px;
  border-top:1px solid var(--border);
  margin-top:auto;
}
.bpg-author {
  display:flex; align-items:center; gap:8px;
  font-size:12px; color:var(--text2); font-weight:600;
}
.bpg-avatar {
  width:26px; height:26px; border-radius:50%;
  background:linear-gradient(135deg, var(--navy), var(--navy3));
  color:var(--gold); font-size:11px; font-weight:800;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.bpg-date { font-size:11.5px; color:var(--muted); font-weight:500; }

/* Hover arrow */
.bpg-arrow {
  position:absolute; top:12px; right:12px;
  width:32px; height:32px; border-radius:50%;
  background:var(--navy); color:#fff;
  display:flex; align-items:center; justify-content:center;
  opacity:0; transform:translateY(4px) scale(.8);
  transition: all .2s ease;
}
.bpg-card:hover .bpg-arrow {
  opacity:1; transform:translateY(0) scale(1);
}

/* ── Pagination ── */
.blog-pagination {
  margin-top: 52px;
  display:flex; justify-content:center;
}
.blog-pagination .nav-links {
  display:flex; align-items:center; gap:6px; flex-wrap:wrap;
}
.blog-pagination .page-numbers {
  display:inline-flex; align-items:center; gap:4px;
  padding:10px 18px; border-radius:999px;
  font-size:13.5px; font-weight:700;
  background:#fff; color:var(--navy);
  border:1.5px solid var(--border);
  transition: all .18s; text-decoration:none;
}
.blog-pagination .page-numbers.current {
  background:var(--navy); color:#fff; border-color:var(--navy);
}
.blog-pagination .page-numbers:hover:not(.current) {
  background:var(--gold); color:var(--navy); border-color:var(--gold);
  transform:translateY(-2px); box-shadow:var(--sh-gold);
}
.blog-pagination .prev.page-numbers,
.blog-pagination .next.page-numbers {
  padding:10px 20px;
}

/* ── Empty State ── */
.blog-empty {
  text-align:center; padding:80px 20px;
}
.blog-empty-icon { font-size:64px; margin-bottom:20px; }
.blog-empty h2 {
  font-family:'Playfair Display',serif;
  font-size:26px; color:var(--navy); margin-bottom:10px;
}
.blog-empty p { color:var(--muted); font-size:15px; margin-bottom:28px; }

/* ══════════════════════════════════════
   BLOG RESPONSIVE
══════════════════════════════════════ */
@media (max-width:1024px) {
  .blog-posts-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:768px) {
  .blog-hero-inner  { flex-direction:column; align-items:flex-start; }
  .blog-hero-stats  { width:100%; }
  .bhs-item         { flex:1; padding:14px 12px; }
  .bfc-content      { padding:24px 24px; }
  .bfc-excerpt      { display:none; }
  .blog-posts-grid  { grid-template-columns:repeat(2,1fr); gap:14px; }
}

@media (max-width:560px) {
  .blog-hero        { padding:52px 0 40px; }
  .blog-body        { padding:32px 0 60px; }
  .blog-posts-grid  { grid-template-columns:1fr; }
  .bfc-image        { min-height:300px; }
  .bfc-title        { font-size:20px; }
  .bpg-body         { padding:16px; }
  .bpg-title        { font-size:15px; }
}

/* ══════════════════════════════════════
   SINGLE POST — PREMIUM STYLE
══════════════════════════════════════ */

/* ── Post Hero ── */
.sp-hero {
  position: relative;
  min-height: 460px;
  display:flex; align-items:flex-end;
  overflow: hidden;
  background: var(--navy);
}
.sp-hero-bg {
  position:absolute; inset:0;
}
.sp-hero-bg img {
  width:100%; height:100%; object-fit:cover;
}
.sp-hero-no-img {
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy3) 50%, var(--navy4) 100%);
}
.sp-hero-overlay {
  position:absolute; inset:0;
  background: linear-gradient(to top, rgba(10,22,40,.98) 0%, rgba(10,22,40,.7) 40%, rgba(10,22,40,.25) 100%);
  z-index:1;
}
.sp-hero-grid {
  position:absolute; inset:0; z-index:0;
  background-image: radial-gradient(rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 28px 28px;
}
.sp-hero-content {
  position:relative; z-index:2;
  padding-bottom:44px; padding-top:80px;
}

/* Breadcrumb */
.sp-breadcrumb {
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  margin-bottom:18px;
  font-size:12.5px; color:rgba(255,255,255,.45);
}
.sp-breadcrumb a { color:rgba(255,255,255,.55); transition:color .15s; }
.sp-breadcrumb a:hover { color:var(--gold); }
.sp-breadcrumb span:not(.sp-breadcrumb > span:last-child) { color:rgba(255,255,255,.3); }

/* Category badge */
.sp-cat-badge {
  display:inline-block;
  background:linear-gradient(135deg, var(--gold), var(--gold2));
  color:var(--navy); font-size:11px; font-weight:800;
  padding:4px 14px; border-radius:999px;
  text-transform:uppercase; letter-spacing:.6px;
  margin-bottom:16px;
}

/* Post title */
.sp-title {
  font-family:'Playfair Display', serif;
  font-size: clamp(26px, 4vw, 48px);
  font-weight:900; color:#fff;
  line-height:1.15; margin-bottom:22px;
  max-width:800px;
}

/* Meta row */
.sp-meta-row {
  display:flex; align-items:center;
  justify-content:space-between; flex-wrap:wrap; gap:12px;
}
.sp-author-chip {
  display:flex; align-items:center; gap:12px;
}
.sp-author-av {
  width:38px; height:38px; border-radius:50%;
  background:linear-gradient(135deg, var(--gold), var(--gold2));
  color:var(--navy); font-size:15px; font-weight:900;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.sp-author-name { font-size:14px; color:#fff; font-weight:700; }
.sp-meta-sep   { color:rgba(255,255,255,.3); margin:0 4px; }
.sp-meta-date  { font-size:13px; color:rgba(255,255,255,.5); }
.sp-read-time  {
  padding:6px 16px; border-radius:999px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12);
  font-size:12.5px; color:rgba(255,255,255,.6); font-weight:500;
}

/* ── Post Body ── */
.sp-body-wrap {
  background: var(--off);
  padding: 52px 0 60px;
}
.sp-body-inner { display:flex; gap:48px; align-items:flex-start; }

.sp-article {
  flex:1; min-width:0;
  background:#fff;
  border-radius:var(--rxl);
  box-shadow:var(--sh-sm);
  border:1px solid var(--border);
  overflow:hidden;
}

/* Post content typography */
.sp-content {
  padding:40px 44px;
  font-size:16.5px;
  line-height:1.9;
  color:var(--text);
}
.sp-content h2 {
  font-family:'Playfair Display',serif;
  font-size:clamp(20px,2.5vw,28px); font-weight:800;
  color:var(--navy); margin:36px 0 16px;
  padding-bottom:10px;
  border-bottom:2px solid var(--gold);
}
.sp-content h3 {
  font-size:20px; font-weight:700;
  color:var(--navy2); margin:28px 0 12px;
}
.sp-content h4 {
  font-size:17px; font-weight:700;
  color:var(--navy3); margin:22px 0 10px;
}
.sp-content p { margin-bottom:20px; }
.sp-content a { color:var(--gold-dk); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.sp-content a:hover { color:var(--navy); }
.sp-content ul, .sp-content ol { padding-left:28px; margin-bottom:20px; }
.sp-content ul { list-style:none; }
.sp-content ul li { position:relative; padding-left:16px; margin-bottom:8px; }
.sp-content ul li::before {
  content:''; position:absolute; left:0; top:10px;
  width:7px; height:7px; border-radius:50%;
  background:var(--gold);
}
.sp-content ol { list-style:decimal; }
.sp-content ol li { margin-bottom:8px; }
.sp-content blockquote {
  border-left:4px solid var(--gold);
  padding:20px 24px; margin:28px 0;
  background:linear-gradient(90deg, rgba(232,184,75,.07), transparent);
  border-radius:0 var(--rmd) var(--rmd) 0;
  font-style:italic; font-size:17px;
  color:var(--text2); line-height:1.75;
}
.sp-content blockquote p { margin:0; }
.sp-content img {
  border-radius:var(--rmd); margin:22px 0;
  box-shadow:var(--sh); max-width:100%;
}
.sp-content table {
  width:100%; border-collapse:collapse; margin:28px 0;
  font-size:14px; border-radius:var(--rmd); overflow:hidden;
  box-shadow:var(--sh-sm);
}
.sp-content th {
  background:var(--navy); color:#fff; font-weight:700;
  padding:12px 16px; text-align:left;
}
.sp-content td { padding:11px 16px; border-bottom:1px solid var(--border); }
.sp-content tr:last-child td { border-bottom:none; }
.sp-content tr:nth-child(even) td { background:var(--off); }
.sp-content code {
  background:var(--off); border:1px solid var(--border);
  padding:2px 8px; border-radius:4px;
  font-size:14px; font-family:monospace;
}
.sp-content pre {
  background:var(--navy); color:#e8e8e8;
  padding:22px 24px; border-radius:var(--rmd);
  overflow-x:auto; margin:24px 0; font-size:13.5px;
}

/* Tags */
.sp-tags {
  display:flex; align-items:center; flex-wrap:wrap; gap:8px;
  padding:24px 44px; border-top:1px solid var(--border);
}
.sp-tags-label { font-size:13px; color:var(--muted); font-weight:600; }
.sp-tag-pill {
  padding:5px 14px; border-radius:999px; font-size:12px; font-weight:700;
  background:var(--off); color:var(--navy); border:1px solid var(--border);
  transition:all .15s; text-decoration:none;
}
.sp-tag-pill:hover { background:var(--navy); color:#fff; border-color:var(--navy); }

/* Share */
.sp-share {
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  padding:22px 44px; border-top:1px solid var(--border);
}
.sp-share-label { font-size:13px; font-weight:700; color:var(--text2); margin-right:4px; }
.sp-share-btn {
  display:inline-flex; align-items:center; gap:7px;
  padding:8px 18px; border-radius:999px;
  font-size:12.5px; font-weight:700; text-decoration:none;
  transition:all .18s;
}
.sp-share-fb { background:#1877f222; color:#1877f2; border:1px solid #1877f233; }
.sp-share-fb:hover { background:#1877f2; color:#fff; }
.sp-share-tw { background:#1da1f222; color:#1da1f2; border:1px solid #1da1f233; }
.sp-share-tw:hover { background:#1da1f2; color:#fff; }
.sp-share-wa { background:#25d36622; color:#25d366; border:1px solid #25d36633; }
.sp-share-wa:hover { background:#25d366; color:#fff; }

/* Post Navigation */
.sp-post-nav {
  display:grid; grid-template-columns:1fr 1fr; gap:16px;
  padding:24px 44px; border-top:1px solid var(--border);
}
.sp-nav-btn {
  display:flex; flex-direction:column; gap:5px;
  padding:16px 20px; border-radius:var(--rlg);
  background:var(--off); border:1.5px solid var(--border);
  text-decoration:none; transition:all .2s;
}
.sp-nav-btn:hover {
  background:var(--navy); border-color:var(--navy);
  transform:translateY(-2px); box-shadow:var(--sh);
}
.sp-nav-next { text-align:right; }
.sp-nav-dir {
  font-size:11.5px; color:var(--muted); font-weight:600;
  text-transform:uppercase; letter-spacing:.5px;
  transition:color .2s;
}
.sp-nav-btn:hover .sp-nav-dir { color:var(--gold); }
.sp-nav-title {
  font-size:14px; color:var(--navy); font-weight:700; line-height:1.35;
  transition:color .2s;
}
.sp-nav-btn:hover .sp-nav-title { color:#fff; }

/* Related Posts Section */
.sp-related {
  background:var(--off);
  padding:60px 0 80px;
  border-top:1px solid var(--border);
}
.sp-related-head { margin-bottom:36px; }

/* ── Single Post Responsive ── */
@media (max-width:768px) {
  .sp-hero { min-height:360px; }
  .sp-title { font-size:clamp(22px,6vw,34px); }
  .sp-content { padding:28px 24px; }
  .sp-tags, .sp-share, .sp-post-nav { padding:18px 24px; }
  .sp-post-nav { grid-template-columns:1fr; }
  .sp-meta-row { flex-direction:column; align-items:flex-start; }
}
@media (max-width:480px) {
  .sp-content { padding:22px 18px; font-size:15px; }
  .sp-tags, .sp-share { padding:16px 18px; }
  .sp-post-nav { padding:16px 18px; }
  .sp-share-btn span:not(svg) { display:none; }
  .sp-share-btn { padding:8px 12px; }
}

/* ══════════════════════════════════════
   MOBILE NAV — ICON MENU REDESIGN
══════════════════════════════════════ */

/* Mobile nav dropdown */
.mobile-nav-dropdown {
  display:none;
  position:absolute; top:100%; left:0; right:0;
  background:var(--navy);
  border-top:1px solid rgba(255,255,255,.06);
  box-shadow:0 24px 48px rgba(0,0,0,.45);
  z-index:9999 !important;
  overflow:hidden;
  max-height:0;
  transition: max-height .35s cubic-bezier(.4,0,.2,1);
}
.mobile-nav-dropdown.open {
  display:block;
  max-height:100vh;
}

/* Each menu item */
.mobile-nav-dropdown .mn-item {
  display:flex !important;
  align-items:center;
  gap:14px;
  padding:14px 24px !important;
  color:rgba(255,255,255,.82) !important;
  font-size:14px !important;
  font-weight:600 !important;
  border-bottom:1px solid rgba(255,255,255,.05) !important;
  transition:all .15s ease;
  text-decoration:none;
}
.mobile-nav-dropdown .mn-item:hover,
.mobile-nav-dropdown .mn-item.mn-active {
  background:rgba(255,255,255,.07) !important;
  color:#fff !important;
  padding-left:30px !important;
}
.mobile-nav-dropdown .mn-item.mn-active {
  border-left:3px solid var(--gold);
  padding-left:27px !important;
}

/* Icon circle */
.mn-icon {
  width:34px; height:34px;
  border-radius:var(--r);
  background:rgba(255,255,255,.08);
  display:flex !important;
  align-items:center; justify-content:center;
  font-size:16px;
  flex-shrink:0;
  transition:background .15s;
}
.mn-item:hover .mn-icon { background:rgba(232,184,75,.2); }
.mn-item.mn-active .mn-icon { background:rgba(232,184,75,.25); }

/* Join button — gold accent */
.mobile-nav-dropdown .mn-join {
  background:linear-gradient(135deg, rgba(232,184,75,.12), rgba(245,208,110,.08)) !important;
  color:var(--gold) !important;
  border-top:1px solid rgba(232,184,75,.2) !important;
  border-bottom:none !important;
  font-weight:800 !important;
  margin-top:4px;
}
.mobile-nav-dropdown .mn-join:hover {
  background:linear-gradient(135deg, var(--gold), var(--gold2)) !important;
  color:var(--navy) !important;
  padding-left:24px !important;
}
.mobile-nav-dropdown .mn-join .mn-icon {
  background:rgba(232,184,75,.2);
}
.mobile-nav-dropdown .mn-join:hover .mn-icon {
  background:rgba(10,22,40,.2);
}

/* ══════════════════════════════════════
   STICKY HEADER — FIXED POSITION FIX
   overflow-x:hidden on html breaks sticky,
   so we use position:fixed instead
══════════════════════════════════════ */

/* Wrapper जो announce-bar + header दोनों को fix करे */
.site-top-wrapper {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9990 !important;
  width: 100% !important;
}

/* announce-bar और top-header की sticky/relative reset करें */
.site-top-wrapper .announce-bar {
  position: relative !important;
}
.site-top-wrapper .top-header {
  position: relative !important;
  top: auto !important;
}

/* Body को push down करें ताकि content header के नीचे न जाए
   announce-bar ~41px + header ~70px = ~111px */
body {
  padding-top: 111px !important;
}

/* Mobile पर height कम होती है */
@media (max-width: 640px) {
  body { padding-top: 102px !important; }
}

/* ── Mobile nav dropdown — wrapper के अंदर position fix ── */
.site-top-wrapper {
  /* overflow visible ताकि dropdown बाहर आ सके */
  overflow: visible !important;
}
/* mobile dropdown को wrapper के relative position से नीचे खोलें */
#mobileNav {
  position: fixed !important;
  top: auto !important;
  left: 0 !important;
  right: 0 !important;
}

/* ╔════════════════════════════════════════════════════════════════╗
   ║  CGPSCedu — WooCommerce Complete System  v5.0                ║
   ║  Single Product · Shop · Cart · Checkout · Confirmation       ║
   ║  Responsive: 1920 · 1366 · 1024 · 768 · 480px               ║
   ╚════════════════════════════════════════════════════════════════╝ */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   § 1  GP + WOOCOMMERCE — BASE LAYOUT RESET
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

body.woocommerce         .grid-container,
body.woocommerce-page    .grid-container,
body.single-product      .grid-container {
  max-width: 1200px !important;
  padding: 0 28px !important;
  margin: 0 auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
body.woocommerce         .site-main,
body.woocommerce-page    .site-main,
body.single-product      .site-main {
  width: 100% !important; max-width: 100% !important;
  padding: 0 !important; margin: 0 !important; overflow: visible !important;
}
body.woocommerce         .inside-site-content,
body.woocommerce-page    .inside-site-content,
body.single-product      .inside-site-content {
  max-width: 1200px !important; margin: 0 auto !important;
  padding: 0 28px !important; width: 100% !important; box-sizing: border-box !important;
}
body.woocommerce         .content-area,
body.woocommerce-page    .content-area,
body.single-product      .content-area,
body.woocommerce         #primary,
body.woocommerce-page    #primary,
body.single-product      #primary {
  width: 100% !important; max-width: 100% !important;
  float: none !important; padding: 0 !important; margin: 0 !important;
}
body.woocommerce         .entry-content,
body.woocommerce-page    .entry-content,
body.single-product      .entry-content,
body.woocommerce         .inside-article,
body.woocommerce-page    .inside-article,
body.single-product      .inside-article {
  padding: 0 !important; margin: 0 !important; max-width: 100% !important;
}
body.woocommerce         div.woocommerce,
body.woocommerce-page    div.woocommerce {
  width: 100% !important; max-width: 100% !important; padding: 0 !important; margin: 0 !important;
}
/* Hide sidebar on all WooCommerce pages */
body.woocommerce         .widget-area,
body.woocommerce-page    .widget-area,
body.woocommerce         #secondary,
body.woocommerce-page    #secondary,
body.single-product      #secondary { display: none !important; }

/* Suppress WooCommerce's built-in float-based grid */
body.woocommerce         ul.products::before,
body.woocommerce         ul.products::after,
body.woocommerce-page    ul.products::before,
body.woocommerce-page    ul.products::after { display: none !important; }
body.woocommerce         ul.products li.product.first,
body.woocommerce         ul.products li.product.last,
body.woocommerce-page    ul.products li.product.first,
body.woocommerce-page    ul.products li.product.last {
  clear: none !important; float: none !important; margin: 0 !important; width: 100% !important;
}

/* Breadcrumb */
nav.woocommerce-breadcrumb {
  font-size: 12.5px !important; color: #7b83a6 !important; margin-bottom: 8px !important; padding: 0 !important;
}

/* Ordering */
.woocommerce-ordering select {
  border: 1.5px solid #dde0ea !important; border-radius: 8px !important;
  padding: 7px 12px !important; font-size: 13px !important; font-family: inherit !important;
  background: #fff !important; cursor: pointer !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   § 2  SINGLE PRODUCT PAGE
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

body.single-product .site-main { padding: 40px 0 64px !important; }

/* ── Duplicate Image Kill-Switch ──────────────────────────────── */
/* GP renders featured image via multiple action hooks.
   Hide EVERY image element that is not inside .woocommerce-product-gallery */
body.single-product .generate-featured-image,
body.single-product .post-image,
body.single-product .featured-image-wrap,
body.single-product figure.post-thumbnail,
body.single-product .inside-article > figure,
body.single-product .inside-article > a > img,
body.single-product .inside-article > img,
body.single-product .entry-header .post-image,
body.single-product .page-header-image,
body.single-product .wp-post-image:not(.woocommerce-product-gallery .wp-post-image),
body.single-product .woocommerce-product-gallery ~ img { display: none !important; }

/* Ensure WooCommerce gallery is never hidden */
body.single-product .woocommerce-product-gallery { display: block !important; }

/* ── 2-Column Product Layout ──────────────────────────────────── */
body.single-product div.product {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 52px !important;
  align-items: start !important;
  padding: 28px 0 0 !important;
  width: 100% !important;
}

/* Gallery column */
body.single-product .woocommerce-product-gallery {
  width: 100% !important;
  position: sticky !important;
  top: 88px !important;
}
body.single-product .woocommerce-product-gallery__image img,
body.single-product .woocommerce-product-gallery .wp-post-image {
  width: 100% !important;
  height: auto !important;
  max-height: 500px !important;
  object-fit: cover !important;
  border-radius: 18px !important;
  display: block !important;
}
body.single-product .flex-control-thumbs {
  display: flex !important; gap: 8px !important; margin-top: 10px !important;
  list-style: none !important; padding: 0 !important; flex-wrap: wrap !important;
}
body.single-product .flex-control-thumbs img {
  width: 68px !important; height: 68px !important;
  object-fit: cover !important; border-radius: 8px !important;
  border: 2px solid #eaecf2 !important; cursor: pointer !important; transition: border-color .15s !important;
}
body.single-product .flex-control-thumbs .flex-active img { border-color: #e8b84b !important; }

/* Summary column */
body.single-product .summary { width: 100% !important; min-width: 0 !important; }

/* Category badge */
body.single-product .summary .woocommerce-breadcrumb { font-size: 12px !important; color: #7b83a6 !important; margin-bottom: 14px !important; }

/* Product Title */
body.single-product h1.product_title {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(22px, 3vw, 36px) !important;
  font-weight: 900 !important; color: #0a1628 !important;
  margin: 0 0 14px !important; line-height: 1.2 !important;
}
/* Rating */
body.single-product .woocommerce-product-rating {
  display: flex !important; align-items: center !important; gap: 8px !important; margin-bottom: 18px !important;
}
/* Price */
body.single-product p.price, body.single-product span.price {
  display: flex !important; align-items: baseline !important; gap: 10px !important; flex-wrap: wrap !important;
  font-size: 34px !important; font-weight: 900 !important; color: #c49a2e !important; margin: 0 0 20px !important;
}
body.single-product p.price del, body.single-product span.price del {
  font-size: 18px !important; color: #aaa !important; font-weight: 400 !important; text-decoration: line-through !important;
}
body.single-product p.price ins, body.single-product span.price ins { text-decoration: none !important; }

/* Short description */
body.single-product .woocommerce-product-details__short-description {
  font-size: 14.5px !important; line-height: 1.75 !important; color: #4a5275 !important;
  margin-bottom: 24px !important; padding: 16px !important; background: #f8f9fc !important;
  border-radius: 10px !important; border-left: 3px solid #e8b84b !important;
}

/* Cart row: qty + button */
body.single-product form.cart {
  display: flex !important; gap: 12px !important; align-items: center !important;
  flex-wrap: wrap !important; margin-bottom: 24px !important;
}
body.single-product .quantity input[type="number"] {
  width: 72px !important; height: 48px !important;
  border: 2px solid #e2e4ed !important; border-radius: 8px !important;
  text-align: center !important; font-size: 16px !important; font-weight: 700 !important;
  font-family: inherit !important; color: #0a1628 !important; background: #fff !important;
}

/* ENROLL NOW / ADD TO CART button */
body.single-product .single_add_to_cart_button,
body.single-product button[name="add-to-cart"] {
  flex: 1 !important; min-width: 180px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important;
  padding: 14px 28px !important;
  background: linear-gradient(135deg, #e8b84b 0%, #f5d06e 100%) !important;
  color: #0a1628 !important; border: none !important; border-radius: 999px !important;
  font-size: 15px !important; font-weight: 800 !important; font-family: inherit !important;
  cursor: pointer !important; box-shadow: 0 6px 24px rgba(232,184,75,.4) !important;
  transition: all .22s !important; text-decoration: none !important; text-align: center !important;
  letter-spacing: .2px !important;
}
body.single-product .single_add_to_cart_button:hover,
body.single-product button[name="add-to-cart"]:hover {
  transform: translateY(-2px) !important; box-shadow: 0 12px 36px rgba(232,184,75,.55) !important;
  background: linear-gradient(135deg, #f5d06e 0%, #e8b84b 100%) !important;
}
/* Loading state */
body.single-product .single_add_to_cart_button.loading { opacity: .75 !important; cursor: wait !important; }

/* Product meta */
body.single-product .product_meta {
  font-size: 12.5px !important; color: #7b83a6 !important;
  border-top: 1px solid #eaecf2 !important; padding-top: 16px !important; margin-top: 8px !important; line-height: 1.8 !important;
}
body.single-product .product_meta a { color: #c49a2e !important; text-decoration: none !important; }

/* Tabs */
body.single-product .woocommerce-tabs { margin-top: 52px !important; clear: both !important; }
body.single-product .woocommerce-tabs ul.tabs {
  display: flex !important; list-style: none !important; padding: 0 !important; margin: 0 !important;
  border-bottom: 2px solid #eaecf2 !important; gap: 0 !important; flex-wrap: wrap !important;
}
body.single-product .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; }
body.single-product .woocommerce-tabs ul.tabs li a {
  display: block !important; padding: 12px 24px !important; font-weight: 700 !important; font-size: 13.5px !important;
  color: #7b83a6 !important; text-decoration: none !important;
  border-bottom: 2px solid transparent !important; margin-bottom: -2px !important; transition: color .15s !important;
}
body.single-product .woocommerce-tabs ul.tabs li.active a { color: #0a1628 !important; border-bottom-color: #e8b84b !important; }
body.single-product .woocommerce-tabs .panel {
  padding: 28px 0 !important; font-size: 14.5px !important; line-height: 1.75 !important; color: #4a5275 !important;
}

/* Related products */
body.single-product .related { margin-top: 56px !important; }
body.single-product .related > h2 {
  font-family: 'Playfair Display', serif !important; font-size: 24px !important;
  font-weight: 900 !important; color: #0a1628 !important; margin-bottom: 24px !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   § 3  ADD TO CART — VIEW CART BUTTON & NOTICE
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.woocommerce-notices-wrapper {
  width: 100% !important; position: relative !important; z-index: 9999 !important;
}

/* Notice base styles */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  gap: 16px !important; flex-wrap: wrap !important;
  border-radius: 12px !important; padding: 14px 20px !important;
  margin: 0 0 16px !important; font-size: 14px !important; font-weight: 500 !important;
  list-style: none !important; border-left: none !important;
  width: 100% !important; box-sizing: border-box !important;
}
.woocommerce-message {
  background: #ecfdf5 !important; border: 1.5px solid #6ee7b7 !important; color: #065f46 !important;
}
.woocommerce-info {
  background: #eff6ff !important; border: 1.5px solid #93c5fd !important; color: #1e40af !important;
}
.woocommerce-error {
  background: #fef2f2 !important; border: 1.5px solid #fca5a5 !important; color: #991b1b !important;
}

/* VIEW CART button — must always be visible */
.woocommerce-message a.button,
.woocommerce-message .button,
.woocommerce-info a.button,
.woocommerce-info .button,
a.added_to_cart.wc-forward {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  padding: 9px 22px !important; background: #0a1628 !important; color: #fff !important;
  border-radius: 8px !important; font-weight: 700 !important; font-size: 13px !important;
  text-decoration: none !important; white-space: nowrap !important; border: none !important;
  cursor: pointer !important; transition: background .15s, transform .15s !important;
  flex-shrink: 0 !important; visibility: visible !important; opacity: 1 !important;
  pointer-events: auto !important; line-height: 1.5 !important; box-sizing: border-box !important;
}
.woocommerce-message a.button:hover,
.woocommerce-info a.button:hover,
a.added_to_cart.wc-forward:hover {
  background: #e8b84b !important; color: #0a1628 !important; transform: translateY(-1px) !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   § 4  CART PAGE
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

body.woocommerce-cart .site-main { padding: 48px 0 72px !important; }

/* Cart title */
body.woocommerce-cart h1.entry-title {
  font-family: 'Playfair Display', serif !important; font-size: clamp(24px, 3vw, 38px) !important;
  font-weight: 900 !important; color: #0a1628 !important;
  margin: 0 0 32px !important; padding-bottom: 16px !important; border-bottom: 2px solid #eaecf2 !important;
}

/* Cart table wrapper */
body.woocommerce-cart form.woocommerce-cart-form { width: 100% !important; }
body.woocommerce-cart table.shop_table {
  width: 100% !important;
  border-collapse: separate !important; border-spacing: 0 !important;
  border: 1px solid #eaecf2 !important; border-radius: 16px !important;
  overflow: hidden !important; box-shadow: 0 2px 24px rgba(10,22,40,.07) !important;
  margin-bottom: 32px !important; background: #fff !important;
}

/* Thead */
body.woocommerce-cart table.shop_table thead th {
  background: #0a1628 !important; color: #fff !important;
  padding: 13px 16px !important; font-size: 11px !important; font-weight: 700 !important;
  text-align: left !important; text-transform: uppercase !important; letter-spacing: .8px !important; border: none !important;
}
body.woocommerce-cart table.shop_table th.product-remove { width: 52px !important; text-align: center !important; }
body.woocommerce-cart table.shop_table th.product-thumbnail { width: 100px !important; }
body.woocommerce-cart table.shop_table th.product-price { width: 110px !important; }
body.woocommerce-cart table.shop_table th.product-quantity { width: 130px !important; }
body.woocommerce-cart table.shop_table th.product-subtotal { width: 120px !important; }

/* Tbody */
body.woocommerce-cart table.shop_table tbody tr { background: #fff !important; }
body.woocommerce-cart table.shop_table tbody tr:nth-child(even) { background: #fafbfc !important; }
body.woocommerce-cart table.shop_table tbody td {
  padding: 16px !important; border-bottom: 1px solid #eaecf2 !important;
  vertical-align: middle !important; font-size: 14px !important; color: #0a1628 !important;
}
body.woocommerce-cart table.shop_table tbody tr:last-child td { border-bottom: none !important; }

/* Remove × cell */
body.woocommerce-cart td.product-remove {
  width: 52px !important; text-align: center !important; padding: 16px 8px !important;
}
body.woocommerce-cart td.product-remove a.remove {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  width: 30px !important; height: 30px !important; border-radius: 50% !important;
  background: #fee2e2 !important; color: #dc2626 !important;
  font-size: 20px !important; font-weight: 700 !important; text-decoration: none !important;
  line-height: 1 !important; transition: all .15s !important;
}
body.woocommerce-cart td.product-remove a.remove:hover {
  background: #dc2626 !important; color: #fff !important; transform: scale(1.1) !important;
}

/* Thumbnail cell */
body.woocommerce-cart td.product-thumbnail {
  width: 100px !important; padding: 12px 8px 12px 16px !important;
}
body.woocommerce-cart td.product-thumbnail a { display: inline-block !important; }
body.woocommerce-cart td.product-thumbnail img {
  width: 76px !important; height: 76px !important; object-fit: cover !important;
  border-radius: 10px !important; display: block !important; border: 1px solid #eaecf2 !important;
}

/* Product name */
body.woocommerce-cart td.product-name a {
  font-weight: 700 !important; color: #0a1628 !important; text-decoration: none !important;
  font-size: 14px !important; line-height: 1.4 !important; transition: color .15s !important;
}
body.woocommerce-cart td.product-name a:hover { color: #c49a2e !important; }
body.woocommerce-cart td.product-name .variation { font-size: 12px !important; color: #7b83a6 !important; margin-top: 4px !important; }

/* Price + Subtotal */
body.woocommerce-cart td.product-price,
body.woocommerce-cart td.product-subtotal { font-weight: 800 !important; color: #c49a2e !important; white-space: nowrap !important; }

/* Quantity */
body.woocommerce-cart td.product-quantity .quantity input[type="number"] {
  width: 64px !important; height: 38px !important;
  border: 2px solid #e2e4ed !important; border-radius: 8px !important;
  text-align: center !important; font-size: 15px !important; font-weight: 700 !important;
  font-family: inherit !important; color: #0a1628 !important; background: #fff !important;
}

/* Actions row */
body.woocommerce-cart td.actions { background: #f8f9fc !important; padding: 16px !important; border-bottom: none !important; }
body.woocommerce-cart .actions {
  display: flex !important; justify-content: space-between !important;
  align-items: center !important; gap: 12px !important; flex-wrap: wrap !important;
}
body.woocommerce-cart .coupon {
  display: flex !important; gap: 8px !important; align-items: center !important; flex-wrap: wrap !important;
}
body.woocommerce-cart .coupon input[type="text"] {
  padding: 9px 14px !important; border: 2px solid #e2e4ed !important; border-radius: 8px !important;
  font-size: 13.5px !important; font-family: inherit !important; width: 210px !important;
  transition: border-color .15s !important; color: #0a1628 !important; box-sizing: border-box !important;
}
body.woocommerce-cart .coupon input[type="text"]:focus { outline: none !important; border-color: #e8b84b !important; }
body.woocommerce-cart button[name="apply_coupon"] {
  padding: 9px 18px !important; background: #0a1628 !important; color: #fff !important;
  border: none !important; border-radius: 8px !important; font-weight: 700 !important;
  font-size: 13px !important; font-family: inherit !important; cursor: pointer !important; transition: background .15s !important;
}
body.woocommerce-cart button[name="apply_coupon"]:hover { background: #e8b84b !important; color: #0a1628 !important; }
body.woocommerce-cart button[name="update_cart"] {
  padding: 9px 18px !important; background: #fff !important; color: #0a1628 !important;
  border: 2px solid #e2e4ed !important; border-radius: 8px !important; font-weight: 700 !important;
  font-size: 13px !important; font-family: inherit !important; cursor: pointer !important; transition: all .15s !important;
}
body.woocommerce-cart button[name="update_cart"]:hover { border-color: #0a1628 !important; }

/* Cart totals */
body.woocommerce-cart .cart-collaterals {
  display: flex !important; justify-content: flex-end !important; margin-top: 8px !important;
}
body.woocommerce-cart .cart_totals {
  width: 100% !important; max-width: 440px !important; background: #fff !important;
  border: 1px solid #eaecf2 !important; border-radius: 16px !important;
  padding: 24px !important; box-shadow: 0 4px 28px rgba(10,22,40,.08) !important;
}
body.woocommerce-cart .cart_totals h2 {
  font-family: 'Playfair Display', serif !important; font-size: 20px !important;
  font-weight: 800 !important; color: #0a1628 !important;
  margin: 0 0 16px !important; padding-bottom: 12px !important; border-bottom: 2px solid #eaecf2 !important;
}
body.woocommerce-cart .cart_totals table { width: 100% !important; border-collapse: collapse !important; margin-bottom: 20px !important; }
body.woocommerce-cart .cart_totals table th {
  font-size: 13px !important; font-weight: 600 !important; color: #7b83a6 !important;
  padding: 10px 0 !important; border-bottom: 1px solid #eaecf2 !important; vertical-align: top !important; width: 40% !important;
}
body.woocommerce-cart .cart_totals table td {
  font-size: 14px !important; font-weight: 700 !important; color: #0a1628 !important;
  padding: 10px 0 !important; border-bottom: 1px solid #eaecf2 !important; text-align: right !important;
}
body.woocommerce-cart .cart_totals table tr.order-total th,
body.woocommerce-cart .cart_totals table tr.order-total td {
  font-size: 18px !important; font-weight: 900 !important; border-bottom: none !important; padding-top: 14px !important;
}
body.woocommerce-cart .cart_totals table tr.order-total td { color: #c49a2e !important; }

/* Proceed to Checkout */
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 100% !important; padding: 15px !important;
  background: linear-gradient(135deg, #e8b84b, #f5d06e) !important;
  color: #0a1628 !important; border-radius: 999px !important;
  font-size: 15px !important; font-weight: 800 !important; font-family: inherit !important;
  text-decoration: none !important; box-shadow: 0 6px 24px rgba(232,184,75,.4) !important;
  transition: all .22s !important; box-sizing: border-box !important; gap: 8px !important; border: none !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  transform: translateY(-2px) !important; box-shadow: 0 14px 40px rgba(232,184,75,.5) !important;
}

/* Empty cart */
body.woocommerce-cart .cart-empty { text-align: center !important; padding: 60px 24px !important; font-size: 16px !important; color: #7b83a6 !important; }
body.woocommerce-cart .return-to-shop .button {
  display: inline-block !important; margin-top: 16px !important; padding: 12px 28px !important;
  background: #0a1628 !important; color: #fff !important; border-radius: 999px !important;
  font-weight: 700 !important; text-decoration: none !important; transition: background .15s !important;
}
body.woocommerce-cart .return-to-shop .button:hover { background: #e8b84b !important; color: #0a1628 !important; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   § 5  CHECKOUT PAGE
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

body.woocommerce-checkout .site-main { padding: 48px 0 72px !important; }

body.woocommerce-checkout h1.entry-title {
  font-family: 'Playfair Display', serif !important; font-size: clamp(24px, 3vw, 38px) !important;
  font-weight: 900 !important; color: #0a1628 !important;
  margin: 0 0 32px !important; padding-bottom: 16px !important; border-bottom: 2px solid #eaecf2 !important;
}

/* 2-col: form left | order summary right */
body.woocommerce-checkout .woocommerce {
  display: grid !important; grid-template-columns: 1fr 400px !important;
  gap: 32px !important; align-items: start !important;
}
body.woocommerce-checkout .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1 !important; }
body.woocommerce-checkout .woocommerce > h3:first-of-type { grid-column: 1 / -1 !important; }

/* Billing/Shipping cards */
body.woocommerce-checkout #customer_details { display: flex !important; flex-direction: column !important; gap: 20px !important; }
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields {
  background: #fff !important; border: 1px solid #eaecf2 !important;
  border-radius: 16px !important; padding: 24px !important; box-shadow: 0 2px 16px rgba(10,22,40,.05) !important;
}
/* 2-col field grid inside the card */
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
  display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 16px !important;
}
/* Full-width fields */
body.woocommerce-checkout p#billing_first_name_field + p,
body.woocommerce-checkout p#billing_address_1_field,
body.woocommerce-checkout p#billing_address_2_field,
body.woocommerce-checkout p#billing_company_field,
body.woocommerce-checkout p#shipping_address_1_field,
body.woocommerce-checkout p#shipping_address_2_field,
body.woocommerce-checkout .form-row-wide,
body.woocommerce-checkout p#order_comments_field { grid-column: 1 / -1 !important; }

body.woocommerce-checkout h3 {
  font-family: 'Playfair Display', serif !important; font-size: 18px !important;
  font-weight: 800 !important; color: #0a1628 !important;
  margin: 0 0 20px !important; padding-bottom: 12px !important; border-bottom: 2px solid #eaecf2 !important;
}
body.woocommerce-checkout .form-row label {
  display: block !important; font-size: 12px !important; font-weight: 600 !important;
  color: #4a5275 !important; margin-bottom: 5px !important;
  text-transform: uppercase !important; letter-spacing: .4px !important;
}
body.woocommerce-checkout .form-row label .required { color: #e63946 !important; }
body.woocommerce-checkout .form-row input[type="text"],
body.woocommerce-checkout .form-row input[type="email"],
body.woocommerce-checkout .form-row input[type="tel"],
body.woocommerce-checkout .form-row input[type="password"],
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .form-row textarea {
  width: 100% !important; padding: 10px 14px !important;
  border: 2px solid #e2e4ed !important; border-radius: 8px !important;
  font-size: 14px !important; font-family: inherit !important; box-sizing: border-box !important;
  color: #0a1628 !important; background: #fff !important; transition: border-color .15s !important;
  -webkit-appearance: none !important;
}
body.woocommerce-checkout .form-row input:focus,
body.woocommerce-checkout .form-row select:focus {
  outline: none !important; border-color: #e8b84b !important; box-shadow: 0 0 0 3px rgba(232,184,75,.15) !important;
}

/* Order Review (right, sticky) */
body.woocommerce-checkout #order_review_heading { display: none !important; }
body.woocommerce-checkout #order_review {
  background: #fff !important; border: 1px solid #eaecf2 !important;
  border-radius: 16px !important; padding: 24px !important;
  box-shadow: 0 2px 16px rgba(10,22,40,.05) !important;
  position: sticky !important; top: 88px !important;
}
body.woocommerce-checkout #order_review h3 {
  margin-top: 0 !important; border-bottom: 2px solid #eaecf2 !important; display: block !important;
}
body.woocommerce-checkout table.shop_table { width: 100% !important; border-collapse: collapse !important; margin-bottom: 16px !important; }
body.woocommerce-checkout table.shop_table th {
  font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: .5px !important; color: #7b83a6 !important; padding: 8px 0 !important; border-bottom: 2px solid #eaecf2 !important;
}
body.woocommerce-checkout table.shop_table td { padding: 12px 0 !important; border-bottom: 1px solid #eaecf2 !important; font-size: 14px !important; }
body.woocommerce-checkout table.shop_table .product-total { font-weight: 800 !important; color: #c49a2e !important; text-align: right !important; }
body.woocommerce-checkout table.shop_table tr.order-total th,
body.woocommerce-checkout table.shop_table tr.order-total td {
  font-size: 17px !important; font-weight: 900 !important; border-bottom: none !important; padding-top: 14px !important;
}
body.woocommerce-checkout table.shop_table tr.order-total td { color: #c49a2e !important; }

/* Payment box */
body.woocommerce-checkout #payment { background: #f8f9fc !important; border-radius: 12px !important; padding: 20px !important; margin-top: 16px !important; }
body.woocommerce-checkout #payment ul.payment_methods { list-style: none !important; padding: 0 !important; margin: 0 0 20px !important; border-bottom: 1px solid #eaecf2 !important; padding-bottom: 16px !important; }
body.woocommerce-checkout #payment ul.payment_methods li { padding: 10px 0 !important; }
body.woocommerce-checkout #payment label { font-size: 14px !important; font-weight: 600 !important; color: #0a1628 !important; cursor: pointer !important; text-transform: none !important; letter-spacing: 0 !important; }

/* PLACE ORDER button */
body.woocommerce-checkout #place_order {
  display: block !important; width: 100% !important; padding: 16px !important;
  background: linear-gradient(135deg, #e8b84b, #f5d06e) !important;
  color: #0a1628 !important; border: none !important; border-radius: 999px !important;
  font-size: 16px !important; font-weight: 800 !important; font-family: inherit !important;
  cursor: pointer !important; box-shadow: 0 6px 24px rgba(232,184,75,.4) !important;
  transition: all .22s !important; text-align: center !important; box-sizing: border-box !important; margin-top: 12px !important;
}
body.woocommerce-checkout #place_order:hover { transform: translateY(-2px) !important; box-shadow: 0 14px 40px rgba(232,184,75,.5) !important; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   § 6  ORDER CONFIRMATION PAGE
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.woocommerce-order-received .site-main { padding: 48px 0 72px !important; }
.woocommerce-order-received .woocommerce { max-width: 760px !important; margin: 0 auto !important; }
.woocommerce-notice--success {
  background: #ecfdf5 !important; border: 1.5px solid #6ee7b7 !important; color: #065f46 !important;
  border-radius: 12px !important; padding: 16px 20px !important; margin-bottom: 24px !important; font-weight: 600 !important;
}
.woocommerce-order-details, .woocommerce-customer-details {
  background: #fff !important; border: 1px solid #eaecf2 !important;
  border-radius: 16px !important; padding: 24px !important; margin-bottom: 24px !important;
  box-shadow: 0 2px 16px rgba(10,22,40,.05) !important;
}
.woocommerce-order-details h2, .woocommerce-customer-details h2 {
  font-family: 'Playfair Display', serif !important; font-size: 18px !important;
  font-weight: 800 !important; color: #0a1628 !important;
  margin: 0 0 16px !important; padding-bottom: 12px !important; border-bottom: 2px solid #eaecf2 !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   § 7  RESPONSIVE — All WooCommerce Pages
   Breakpoints: 1920 · 1366 · 1024 · 768 · 480px
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ── 1366px: Standard Laptop ── */
@media (max-width: 1366px) {
  body.single-product div.product { gap: 40px !important; }
  body.woocommerce-checkout .woocommerce { grid-template-columns: 1fr 360px !important; }
}

/* ── 1024px: Tablet Landscape ── */
@media (max-width: 1024px) {
  body.woocommerce .inside-site-content,
  body.woocommerce-page .inside-site-content,
  body.single-product .inside-site-content { padding: 0 20px !important; }
  body.single-product div.product { gap: 28px !important; }
  body.woocommerce-checkout .woocommerce { grid-template-columns: 1fr 320px !important; gap: 24px !important; }
}

/* ── 768px: Tablet Portrait ── */
@media (max-width: 768px) {
  /* Single product: stack vertically */
  body.single-product div.product {
    grid-template-columns: 1fr !important; gap: 24px !important; padding-top: 20px !important;
  }
  body.single-product .woocommerce-product-gallery { position: static !important; }
  body.single-product .woocommerce-product-gallery__image img { max-height: 380px !important; }

  /* Checkout: single column */
  body.woocommerce-checkout .woocommerce { grid-template-columns: 1fr !important; gap: 20px !important; }
  body.woocommerce-checkout #order_review { position: static !important; top: auto !important; }

  /* Cart totals: full width */
  body.woocommerce-cart .cart-collaterals { justify-content: flex-start !important; }
  body.woocommerce-cart .cart_totals { max-width: 100% !important; }
}

/* ── 480px: Mobile ── */
@media (max-width: 480px) {
  /* All pages: tighter padding */
  body.woocommerce .inside-site-content,
  body.woocommerce-page .inside-site-content,
  body.single-product .inside-site-content,
  body.woocommerce-cart .inside-site-content,
  body.woocommerce-checkout .inside-site-content { padding: 0 12px !important; }
  body.woocommerce-cart .site-main,
  body.woocommerce-checkout .site-main { padding: 28px 0 48px !important; }

  /* Single product */
  body.single-product h1.product_title { font-size: 20px !important; line-height: 1.25 !important; }
  body.single-product p.price, body.single-product span.price { font-size: 26px !important; }
  body.single-product form.cart { flex-direction: column !important; }
  body.single-product .quantity input[type="number"] { width: 100% !important; height: 44px !important; }
  body.single-product .single_add_to_cart_button { width: 100% !important; min-width: unset !important; }
  body.single-product .woocommerce-tabs ul.tabs li a { padding: 10px 12px !important; font-size: 12.5px !important; }
  body.single-product .flex-control-thumbs img { width: 54px !important; height: 54px !important; }

  /* View Cart notice: stack on mobile */
  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error { flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; }
  .woocommerce-message a.button,
  .woocommerce-info a.button,
  a.added_to_cart.wc-forward { width: 100% !important; justify-content: center !important; padding: 12px !important; font-size: 14px !important; }

  /* Cart table: keep as table, compact columns */
  body.woocommerce-cart table.shop_table { font-size: 12.5px !important; }
  body.woocommerce-cart table.shop_table thead th { padding: 10px 6px !important; font-size: 9.5px !important; }
  body.woocommerce-cart table.shop_table tbody td { padding: 10px 6px !important; }
  body.woocommerce-cart th.product-price,
  body.woocommerce-cart td.product-price { display: none !important; }
  body.woocommerce-cart td.product-remove { width: 36px !important; padding: 8px 4px !important; }
  body.woocommerce-cart td.product-remove a.remove { width: 26px !important; height: 26px !important; font-size: 16px !important; }
  body.woocommerce-cart td.product-thumbnail { width: 56px !important; padding: 8px 4px !important; }
  body.woocommerce-cart td.product-thumbnail img { width: 48px !important; height: 48px !important; border-radius: 8px !important; }
  body.woocommerce-cart td.product-name a { font-size: 12.5px !important; }
  body.woocommerce-cart td.product-quantity .quantity input[type="number"] { width: 48px !important; height: 32px !important; font-size: 13px !important; }
  body.woocommerce-cart .actions { flex-direction: column !important; align-items: stretch !important; }
  body.woocommerce-cart .coupon { flex-direction: column !important; width: 100% !important; }
  body.woocommerce-cart .coupon input[type="text"] { width: 100% !important; }
  body.woocommerce-cart button[name="apply_coupon"],
  body.woocommerce-cart button[name="update_cart"] { width: 100% !important; text-align: center !important; }
  body.woocommerce-cart .cart_totals { max-width: 100% !important; padding: 16px !important; }
  body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { font-size: 14px !important; padding: 14px !important; }

  /* Checkout */
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr !important; }
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-shipping-fields,
  body.woocommerce-checkout #order_review { padding: 16px !important; border-radius: 12px !important; }
  body.woocommerce-checkout #place_order { font-size: 15px !important; padding: 14px !important; }
}

/* ╔══════════════════════════════════════════════════════════════╗
   ║  CHECKOUT PAGE — Mobile Complete Fix                        ║
   ║  MY ACCOUNT PAGE — Complete Design + Mobile Fix             ║
   ╚══════════════════════════════════════════════════════════════╝ */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   CHECKOUT — Overflow + Container Fixes
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body.woocommerce-checkout {
  overflow-x: hidden !important;
}
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout .site-content,
body.woocommerce-checkout .content-area,
body.woocommerce-checkout #primary {
  max-width: 100% !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}
/* Checkout grid container */
body.woocommerce-checkout .woocommerce {
  display: grid !important;
  grid-template-columns: 1fr 400px !important;
  gap: 28px !important;
  align-items: start !important;
  width: 100% !important;
  padding: 0 !important;
}
/* All form inputs — prevent overflow on mobile */
body.woocommerce-checkout input,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea {
  max-width: 100% !important;
  box-sizing: border-box !important;
}
/* Coupon / login toggle links */
body.woocommerce-checkout .showlogin,
body.woocommerce-checkout .showcoupon {
  display: inline-block !important;
  color: #c49a2e !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  text-decoration: underline !important;
}
/* Login / coupon collapsible boxes */
body.woocommerce-checkout .woocommerce-info.login-toggle,
body.woocommerce-checkout .checkout_coupon,
body.woocommerce-checkout .woocommerce-form-login {
  background: #fff !important;
  border: 1px solid #eaecf2 !important;
  border-radius: 12px !important;
  padding: 20px !important;
  margin-bottom: 20px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  grid-column: 1 / -1 !important;
}
body.woocommerce-checkout .woocommerce-info.login-toggle .button,
body.woocommerce-checkout .checkout_coupon .button,
body.woocommerce-checkout .woocommerce-form-login .button {
  background: #0a1628 !important;
  color: #fff !important;
  border-radius: 8px !important;
  padding: 10px 20px !important;
  font-weight: 700 !important;
  font-size: 13.5px !important;
  border: none !important;
  cursor: pointer !important;
  font-family: inherit !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   MY ACCOUNT PAGE — Full Design
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body.woocommerce-account {
  overflow-x: hidden !important;
}
body.woocommerce-account .site-main {
  padding: 40px 0 72px !important;
  width: 100% !important;
  max-width: 100% !important;
}
body.woocommerce-account .inside-site-content {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 28px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
body.woocommerce-account .content-area,
body.woocommerce-account #primary {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  padding: 0 !important;
}
body.woocommerce-account .widget-area,
body.woocommerce-account #secondary { display: none !important; }

/* Page Title */
body.woocommerce-account h1.entry-title {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(22px, 3vw, 34px) !important;
  font-weight: 900 !important;
  color: #0a1628 !important;
  margin: 0 0 28px !important;
  padding-bottom: 16px !important;
  border-bottom: 2px solid #eaecf2 !important;
}

/* ── My Account: 2-column layout (nav left | content right) ── */
body.woocommerce-account .woocommerce {
  display: grid !important;
  grid-template-columns: 220px 1fr !important;
  gap: 32px !important;
  align-items: start !important;
  width: 100% !important;
}

/* ── Left Sidebar Navigation ── */
body.woocommerce-account .woocommerce-MyAccount-navigation {
  background: #fff !important;
  border: 1px solid #eaecf2 !important;
  border-radius: 16px !important;
  padding: 8px !important;
  box-shadow: 0 2px 16px rgba(10,22,40,.06) !important;
  position: sticky !important;
  top: 88px !important;
  overflow: hidden !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  margin: 0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 11px 14px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #4a5275 !important;
  text-decoration: none !important;
  border-radius: 10px !important;
  transition: all .15s !important;
  white-space: nowrap !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background: #f0f4ff !important;
  color: #0a1628 !important;
  padding-left: 18px !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--active a {
  background: linear-gradient(135deg, #0a1628, #162d5a) !important;
  color: #e8b84b !important;
  font-weight: 700 !important;
  padding-left: 14px !important;
}

/* Nav icons via data-endpoint pseudo */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li::before {
  display: none !important;
}

/* ── Right: Content Panel ── */
body.woocommerce-account .woocommerce-MyAccount-content {
  background: #fff !important;
  border: 1px solid #eaecf2 !important;
  border-radius: 16px !important;
  padding: 28px !important;
  box-shadow: 0 2px 16px rgba(10,22,40,.06) !important;
  min-width: 0 !important;
  overflow-x: auto !important;
}
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #0a1628 !important;
  margin: 0 0 18px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid #eaecf2 !important;
}
body.woocommerce-account .woocommerce-MyAccount-content p {
  font-size: 14px !important;
  color: #4a5275 !important;
  line-height: 1.65 !important;
  margin-bottom: 12px !important;
}

/* ── Dashboard welcome box ── */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message {
  background: #eff6ff !important;
  border: 1.5px solid #93c5fd !important;
  color: #1e40af !important;
  border-radius: 10px !important;
  padding: 14px 18px !important;
  font-size: 14px !important;
  margin-bottom: 20px !important;
}

/* ── Orders Table ── */
body.woocommerce-account table.woocommerce-orders-table,
body.woocommerce-account table.shop_table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid #eaecf2 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  font-size: 13.5px !important;
  margin-bottom: 24px !important;
}
body.woocommerce-account table.woocommerce-orders-table thead th,
body.woocommerce-account table.shop_table thead th {
  background: #0a1628 !important;
  color: #fff !important;
  padding: 12px 16px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-align: left !important;
  text-transform: uppercase !important;
  letter-spacing: .7px !important;
  border: none !important;
}
body.woocommerce-account table.woocommerce-orders-table tbody td,
body.woocommerce-account table.shop_table tbody td {
  padding: 13px 16px !important;
  border-bottom: 1px solid #eaecf2 !important;
  vertical-align: middle !important;
  color: #0a1628 !important;
}
body.woocommerce-account table.woocommerce-orders-table tbody tr:last-child td,
body.woocommerce-account table.shop_table tbody tr:last-child td {
  border-bottom: none !important;
}
body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a,
body.woocommerce-account table.shop_table a {
  color: #c49a2e !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a:hover,
body.woocommerce-account table.shop_table a:hover {
  text-decoration: underline !important;
}

/* View order button in table */
body.woocommerce-account .button.view,
body.woocommerce-account a.button {
  display: inline-block !important;
  padding: 7px 16px !important;
  background: #0a1628 !important;
  color: #fff !important;
  border-radius: 7px !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border: none !important;
  cursor: pointer !important;
  font-family: inherit !important;
  transition: background .15s !important;
  white-space: nowrap !important;
}
body.woocommerce-account .button.view:hover,
body.woocommerce-account a.button:hover {
  background: #e8b84b !important;
  color: #0a1628 !important;
}

/* ── Account Forms (edit address, change password, etc.) ── */
body.woocommerce-account .woocommerce-EditAccountForm,
body.woocommerce-account .woocommerce-address-fields,
body.woocommerce-account form.edit-account,
body.woocommerce-account form.woocommerce-form-login,
body.woocommerce-account form.register,
body.woocommerce-account form.lost_reset_password {
  width: 100% !important;
  box-sizing: border-box !important;
}
body.woocommerce-account .woocommerce-address-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
}
body.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-wide,
body.woocommerce-account .woocommerce-address-fields__field-wrapper p#billing_address_1_field,
body.woocommerce-account .woocommerce-address-fields__field-wrapper p#billing_address_2_field,
body.woocommerce-account .woocommerce-address-fields__field-wrapper p#shipping_address_1_field,
body.woocommerce-account .woocommerce-address-fields__field-wrapper p#shipping_address_2_field {
  grid-column: 1 / -1 !important;
}
body.woocommerce-account .form-row label {
  display: block !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #4a5275 !important;
  margin-bottom: 5px !important;
  text-transform: uppercase !important;
  letter-spacing: .4px !important;
}
body.woocommerce-account .form-row label .required { color: #e63946 !important; }
body.woocommerce-account .form-row input[type="text"],
body.woocommerce-account .form-row input[type="email"],
body.woocommerce-account .form-row input[type="tel"],
body.woocommerce-account .form-row input[type="password"],
body.woocommerce-account .form-row select,
body.woocommerce-account .form-row textarea {
  width: 100% !important;
  padding: 10px 14px !important;
  border: 2px solid #e2e4ed !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-family: inherit !important;
  box-sizing: border-box !important;
  color: #0a1628 !important;
  background: #fff !important;
  transition: border-color .15s !important;
  -webkit-appearance: none !important;
  max-width: 100% !important;
}
body.woocommerce-account .form-row input:focus,
body.woocommerce-account .form-row select:focus {
  outline: none !important;
  border-color: #e8b84b !important;
  box-shadow: 0 0 0 3px rgba(232,184,75,.15) !important;
}
/* Save / Submit buttons */
body.woocommerce-account .woocommerce-MyAccount-content .button[type="submit"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 28px !important;
  background: linear-gradient(135deg, #e8b84b, #f5d06e) !important;
  color: #0a1628 !important;
  border: none !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  font-family: inherit !important;
  cursor: pointer !important;
  box-shadow: 0 4px 18px rgba(232,184,75,.4) !important;
  transition: all .2s !important;
  margin-top: 8px !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .button[type="submit"]:hover,
body.woocommerce-account .woocommerce-MyAccount-content input[type="submit"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(232,184,75,.5) !important;
}

/* ── Address boxes on dashboard ── */
body.woocommerce-account .woocommerce-Addresses {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
}
body.woocommerce-account .woocommerce-Address {
  background: #f8f9fc !important;
  border: 1px solid #eaecf2 !important;
  border-radius: 12px !important;
  padding: 20px !important;
}
body.woocommerce-account .woocommerce-Address-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 12px !important;
}
body.woocommerce-account .woocommerce-Address-title h3 {
  border-bottom: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 15px !important;
}
body.woocommerce-account .woocommerce-Address-title a {
  font-size: 12px !important;
  color: #c49a2e !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
body.woocommerce-account address {
  font-size: 13.5px !important;
  color: #4a5275 !important;
  line-height: 1.65 !important;
  font-style: normal !important;
}

/* Login / Register page (when not logged in) */
body.woocommerce-account .woocommerce-notices-wrapper { margin-bottom: 16px !important; }
body.woocommerce-account .u-columns.woocommerce-columns {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 32px !important;
}
body.woocommerce-account .col-1.woocommerce-column--1,
body.woocommerce-account .col-2.woocommerce-column--2 {
  background: #fff !important;
  border: 1px solid #eaecf2 !important;
  border-radius: 16px !important;
  padding: 28px !important;
  box-shadow: 0 2px 16px rgba(10,22,40,.05) !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   RESPONSIVE — CHECKOUT + MY ACCOUNT
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* 1024px — Tablet Landscape */
@media (max-width: 1024px) {
  body.woocommerce-checkout .woocommerce {
    grid-template-columns: 1fr 300px !important;
    gap: 20px !important;
  }
  body.woocommerce-account .woocommerce {
    grid-template-columns: 190px 1fr !important;
    gap: 20px !important;
  }
  body.woocommerce-account .inside-site-content { padding: 0 20px !important; }
}

/* 768px — Tablet Portrait */
@media (max-width: 768px) {
  /* Checkout: single column */
  body.woocommerce-checkout .woocommerce {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  body.woocommerce-checkout #order_review {
    position: static !important;
    top: auto !important;
  }
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  /* My Account: nav top, content below */
  body.woocommerce-account .woocommerce {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation {
    position: static !important;
    top: auto !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    padding: 8px !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul li { border-radius: 8px !important; }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    padding: 8px 14px !important;
    font-size: 12.5px !important;
    border-radius: 8px !important;
    background: #f0f4ff !important;
    white-space: nowrap !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
  body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--active a {
    background: #0a1628 !important;
    color: #e8b84b !important;
    padding-left: 14px !important;
  }
  body.woocommerce-account .woocommerce-Addresses {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  body.woocommerce-account .u-columns.woocommerce-columns {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  body.woocommerce-account .woocommerce-address-fields__field-wrapper {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* 480px — Mobile */
@media (max-width: 480px) {
  /* Checkout */
  body.woocommerce-checkout .inside-site-content { padding: 0 12px !important; }
  body.woocommerce-checkout .woocommerce { gap: 16px !important; }
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-shipping-fields,
  body.woocommerce-checkout #order_review {
    padding: 14px !important;
    border-radius: 12px !important;
  }
  body.woocommerce-checkout h3 { font-size: 16px !important; }
  body.woocommerce-checkout .form-row input[type="text"],
  body.woocommerce-checkout .form-row input[type="email"],
  body.woocommerce-checkout .form-row input[type="tel"],
  body.woocommerce-checkout .form-row input[type="password"],
  body.woocommerce-checkout .form-row select { font-size: 16px !important; } /* Prevent iOS zoom */
  body.woocommerce-checkout #place_order {
    padding: 15px !important;
    font-size: 15px !important;
  }
  body.woocommerce-checkout #payment { padding: 14px !important; }

  /* My Account */
  body.woocommerce-account .inside-site-content { padding: 0 12px !important; }
  body.woocommerce-account .site-main { padding: 24px 0 48px !important; }
  body.woocommerce-account .woocommerce-MyAccount-content { padding: 16px !important; border-radius: 12px !important; }
  body.woocommerce-account .woocommerce-MyAccount-content h2,
  body.woocommerce-account .woocommerce-MyAccount-content h3 { font-size: 17px !important; }

  /* Orders table on mobile: scroll horizontally */
  body.woocommerce-account .woocommerce-MyAccount-content {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  body.woocommerce-account table.woocommerce-orders-table,
  body.woocommerce-account table.shop_table { min-width: 420px !important; }

  /* Address form: single column */
  body.woocommerce-account .woocommerce-address-fields__field-wrapper {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  body.woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr !important; }
  body.woocommerce-account .woocommerce-Address { padding: 14px !important; }
  body.woocommerce-account .form-row input[type="text"],
  body.woocommerce-account .form-row input[type="email"],
  body.woocommerce-account .form-row input[type="password"],
  body.woocommerce-account .form-row select { font-size: 16px !important; } /* Prevent iOS zoom */
  body.woocommerce-account .woocommerce-MyAccount-content .button[type="submit"],
  body.woocommerce-account .woocommerce-MyAccount-content input[type="submit"] {
    width: 100% !important;
    padding: 14px !important;
  }
  /* Nav pills smaller */
  body.woocommerce-account .woocommerce-MyAccount-navigation ul { gap: 4px !important; padding: 6px !important; }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul li a { font-size: 12px !important; padding: 7px 10px !important; }

  /* Login/Register: single column */
  body.woocommerce-account .u-columns.woocommerce-columns { gap: 16px !important; }
  body.woocommerce-account .col-1.woocommerce-column--1,
  body.woocommerce-account .col-2.woocommerce-column--2 { padding: 18px !important; border-radius: 12px !important; }
}
