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

: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; overflow-x:hidden; }
body {
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  background:var(--white); color:var(--text);
  line-height:1.6; -webkit-font-smoothing:antialiased;
  max-width:100%;
}
/* ✅ FIX: Footer ke niche white space - html aur body full height ensure karo */
html, body {
  min-height: 100%;
}
/* GP page wrapper bhi full height hona chahiye */
#page, .site {
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
}
.site-content, #content {
  flex: 1 !important;
}
a { color:inherit; text-decoration:none; }

/* ₹ Rupee symbol — consistent Noto Sans font everywhere */
.woocommerce-Price-amount,
.woocommerce-Price-amount bdi,
.woocommerce-Price-currencySymbol {
  font-family: 'Noto Sans', 'Segoe UI', Arial, sans-serif !important;
}
img { max-width:100%; display:block; }
ul  { list-style:none; padding:0; }

.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); }

.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 {
  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%)} }

.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 {
  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 {
  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-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 {
  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; }

.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); }

.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 { 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); }

.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; }

.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;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  position: relative !important;
  left: 0 !important;
  right: 0 !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; }

#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); }

/* 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; 
}

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

@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; }
}

@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; }
}

@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; }
}

/* 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; }

@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-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 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; }

@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; }
}

/* ── 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 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);
}

/* 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               ║
   ╚════════════════════════════════════════════════════════════════╝ */

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,
body.woocommerce-cart    .site-main,
body.woocommerce-checkout .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,
body.woocommerce-cart    .inside-site-content,
body.woocommerce-checkout .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;
}

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;
}

.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;
}

body.woocommerce-cart .woocommerce {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !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;
  background: transparent !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; }

/* ── Cart Page — Extra Design Touches ── */
/* Cart item hover highlight */
body.woocommerce-cart table.shop_table tbody tr:hover td {
  background: #fffbf0 !important;
}
/* Cross-sell section */
body.woocommerce-cart .cross-sells {
  margin-top: 48px !important;
  padding-top: 32px !important;
  border-top: 2px solid #eaecf2 !important;
}
body.woocommerce-cart .cross-sells > h2 {
  font-family: 'Playfair Display', serif !important;
  font-size: 22px !important; font-weight: 800 !important;
  color: #0a1628 !important; margin-bottom: 24px !important;
}
body.woocommerce-cart .cross-sells ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
  gap: 20px !important; list-style: none !important; padding: 0 !important; margin: 0 !important;
}
/* Trust badges below checkout button */
body.woocommerce-cart .wc-proceed-to-checkout::after {
  content: "🔒 Secure Checkout  ✓ Easy Returns  🚚 Fast Delivery";
  display: block !important;
  text-align: center !important;
  font-size: 11.5px !important;
  color: #7b83a6 !important;
  margin-top: 12px !important;
  letter-spacing: .2px !important;
}
/* Cart totals — sticky on desktop */
@media (min-width: 769px) {
  body.woocommerce-cart .cart-collaterals {
    position: relative !important;
  }
  body.woocommerce-cart .cart_totals {
    position: sticky !important;
    top: 100px !important;
  }
}

body.woocommerce-checkout {
  background: #f0f2f8 !important;
}
body.woocommerce-checkout .site-main {
  padding: 40px 0 80px !important;
}
body.woocommerce-cart .site-main {
  padding: 48px 0 72px !important;
}

/* ─── Progress bar (visual step indicator) ─── */
body.woocommerce-checkout .inside-site-content::before {
  content: "🛒 Cart  →  📋 Details  →  ✅ Confirm";
  display: block !important;
  background: var(--navy) !important;
  color: rgba(255,255,255,.55) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .6px !important;
  text-align: center !important;
  padding: 10px 16px !important;
  border-radius: 10px !important;
  margin-bottom: 24px !important;
}

body.woocommerce-checkout h1.entry-title {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(22px, 3vw, 34px) !important;
  font-weight: 900 !important;
  color: var(--navy) !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
body.woocommerce-checkout h1.entry-title::before {
  content: "🔒" !important;
  font-size: 0.75em !important;
}

body.woocommerce-checkout .woocommerce-info {
  background: linear-gradient(135deg, #fffbeb, #fef3c7) !important;
  border: 1.5px solid var(--gold) !important;
  border-radius: 10px !important;
  padding: 12px 18px !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: var(--navy) !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin-bottom: 12px !important;
}
body.woocommerce-checkout .woocommerce-info a,
body.woocommerce-checkout .showlogin,
body.woocommerce-checkout .showcoupon {
  color: var(--gold-dk) !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

/* ─── Coupon / Login collapsible forms ─── */
body.woocommerce-checkout .checkout_coupon,
body.woocommerce-checkout .woocommerce-form-login {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: 12px !important;
  padding: 20px !important;
  margin-bottom: 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
body.woocommerce-checkout .checkout_coupon .button,
body.woocommerce-checkout .woocommerce-form-login .button {
  background: var(--navy) !important;
  color: #fff !important;
  border-radius: 8px !important;
  padding: 10px 22px !important;
  font-weight: 700 !important;
  border: none !important;
  cursor: pointer !important;
  font-family: inherit !important;
  font-size: 13.5px !important;
  transition: background .15s !important;
}
body.woocommerce-checkout .checkout_coupon .button:hover,
body.woocommerce-checkout .woocommerce-form-login .button:hover {
  background: var(--gold-dk) !important;
  color: var(--navy) !important;
}

body.woocommerce-checkout .woocommerce {
  display: grid !important;
  grid-template-columns: 1fr 360px !important;
  gap: 24px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
body.woocommerce-checkout .woocommerce > .woocommerce-notices-wrapper,
body.woocommerce-checkout .woocommerce > .woocommerce-info,
body.woocommerce-checkout .woocommerce > .woocommerce-message,
body.woocommerce-checkout .woocommerce > h3:first-of-type {
  grid-column: 1 / -1 !important;
}

body.woocommerce-checkout #customer_details {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

/* ─── Card wrapper ─── */
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields {
  background: #fff !important;
  border: 1px solid #e4e7f0 !important;
  border-radius: 20px !important;
  padding: 28px !important;
  box-shadow: 0 4px 24px rgba(10,22,40,.06) !important;
  box-sizing: border-box !important;
  width: 100% !important;
  position: relative !important;
}

/* ─── Card top accent ─── */
body.woocommerce-checkout .woocommerce-billing-fields::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--navy), var(--gold)) !important;
  border-radius: 20px 20px 0 0 !important;
}
body.woocommerce-checkout .woocommerce-shipping-fields::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--gold), var(--navy)) !important;
  border-radius: 20px 20px 0 0 !important;
}

/* ─── Section headings ─── */
body.woocommerce-checkout h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: var(--navy) !important;
  margin: 0 0 20px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid #f0f2f8 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* ─── 2-col field grid ─── */
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: 14px !important;
}

/* ─── Full-width fields ─── */
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#billing_city_field,
body.woocommerce-checkout p#shipping_address_1_field,
body.woocommerce-checkout p#shipping_address_2_field,
body.woocommerce-checkout p#shipping_city_field,
body.woocommerce-checkout .form-row-wide,
body.woocommerce-checkout p#order_comments_field {
  grid-column: 1 / -1 !important;
}

/* ─── Form labels ─── */
body.woocommerce-checkout .form-row label {
  display: block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--muted) !important;
  margin-bottom: 6px !important;
  text-transform: uppercase !important;
  letter-spacing: .6px !important;
}
body.woocommerce-checkout .form-row label .required {
  color: var(--red) !important;
}

/* ─── Form inputs — modern floating style ─── */
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: 12px 14px !important;
  border: 1.5px solid #dde1ef !important;
  border-radius: 10px !important;
  font-size: 15px !important;
  font-family: inherit !important;
  box-sizing: border-box !important;
  color: var(--navy) !important;
  background: #fafbfd !important;
  transition: border-color .2s, box-shadow .2s, background .2s !important;
  -webkit-appearance: none !important;
  max-width: 100% !important;
}
body.woocommerce-checkout .form-row input[type="text"]:focus,
body.woocommerce-checkout .form-row input[type="email"]:focus,
body.woocommerce-checkout .form-row input[type="tel"]:focus,
body.woocommerce-checkout .form-row input[type="password"]:focus,
body.woocommerce-checkout .form-row select:focus,
body.woocommerce-checkout .form-row textarea:focus {
  outline: none !important;
  border-color: var(--gold) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(232,184,75,.15) !important;
}
/* Error state */
body.woocommerce-checkout .form-row.woocommerce-invalid input,
body.woocommerce-checkout .form-row.woocommerce-invalid select {
  border-color: var(--red) !important;
  box-shadow: 0 0 0 3px rgba(230,57,70,.1) !important;
}
/* Valid state */
body.woocommerce-checkout .form-row.woocommerce-validated input,
body.woocommerce-checkout .form-row.woocommerce-validated select {
  border-color: var(--green) !important;
}

/* All checkout inputs: prevent horizontal overflow */
body.woocommerce-checkout input,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* ─── Order notes textarea ─── */
body.woocommerce-checkout p#order_comments_field textarea {
  min-height: 90px !important;
  resize: vertical !important;
}

body.woocommerce-checkout #order_review_heading {
  display: none !important;
}
body.woocommerce-checkout #order_review {
  background: var(--navy) !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 28px !important;
  box-shadow: 0 8px 40px rgba(10,22,40,.25) !important;
  position: sticky !important;
  top: 90px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  color: rgba(255,255,255,.85) !important;
}

/* ─── Order summary heading (custom) ─── */
body.woocommerce-checkout #order_review::before {
  content: "🧾 Order Summary" !important;
  display: block !important;
  font-family: 'Playfair Display', serif !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  color: var(--gold) !important;
  margin-bottom: 20px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid rgba(255,255,255,.1) !important;
}

body.woocommerce-checkout #order_review h3 {
  display: none !important;
}

/* ─── Order items table ─── */
body.woocommerce-checkout table.shop_table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: 20px !important;
}
body.woocommerce-checkout table.shop_table thead tr {
  border-bottom: 1px solid rgba(255,255,255,.1) !important;
}
body.woocommerce-checkout table.shop_table th {
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .7px !important;
  color: rgba(255,255,255,.4) !important;
  padding: 0 0 10px !important;
  border-bottom: none !important;
}
body.woocommerce-checkout table.shop_table td {
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
  font-size: 14px !important;
  color: rgba(255,255,255,.85) !important;
  vertical-align: middle !important;
}
body.woocommerce-checkout table.shop_table .product-name {
  font-weight: 600 !important;
}
body.woocommerce-checkout table.shop_table .product-total {
  font-weight: 800 !important;
  color: var(--gold) !important;
  text-align: right !important;
}
/* Subtotal / Shipping rows */
body.woocommerce-checkout table.shop_table tfoot tr th,
body.woocommerce-checkout table.shop_table tfoot tr td {
  padding: 10px 0 !important;
  font-size: 13px !important;
  color: rgba(255,255,255,.65) !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
}
body.woocommerce-checkout table.shop_table tfoot tr th {
  font-weight: 600 !important;
}
/* Total row */
body.woocommerce-checkout table.shop_table tr.order-total th,
body.woocommerce-checkout table.shop_table tr.order-total td {
  font-size: 18px !important;
  font-weight: 900 !important;
  color: #fff !important;
  border-bottom: none !important;
  padding-top: 16px !important;
}
body.woocommerce-checkout table.shop_table tr.order-total td {
  color: var(--gold) !important;
  text-align: right !important;
}
body.woocommerce-checkout table.shop_table tr.order-total {
  border-top: 1px solid rgba(255,255,255,.15) !important;
}

body.woocommerce-checkout #payment {
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 14px !important;
  padding: 20px !important;
  margin-top: 20px !important;
}
body.woocommerce-checkout #payment ul.payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 18px !important;
  border-bottom: 1px solid rgba(255,255,255,.1) !important;
  padding-bottom: 16px !important;
}
body.woocommerce-checkout #payment ul.payment_methods li {
  padding: 10px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
body.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
  accent-color: var(--gold) !important;
  width: 16px !important;
  height: 16px !important;
}
body.woocommerce-checkout #payment label {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.9) !important;
  cursor: pointer !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body.woocommerce-checkout #payment .payment_box {
  background: rgba(255,255,255,.08) !important;
  border-radius: 8px !important;
  padding: 12px !important;
  margin-top: 8px !important;
  font-size: 13px !important;
  color: rgba(255,255,255,.65) !important;
}

/* ─── PLACE ORDER button ─── */
body.woocommerce-checkout #place_order {
  display: block !important;
  width: 100% !important;
  padding: 17px 24px !important;
  background: linear-gradient(135deg, var(--gold), var(--gold2)) !important;
  color: var(--navy) !important;
  border: none !important;
  border-radius: 999px !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  font-family: inherit !important;
  cursor: pointer !important;
  letter-spacing: .3px !important;
  box-shadow: 0 8px 28px rgba(232,184,75,.45) !important;
  transition: all .25s !important;
  text-align: center !important;
  box-sizing: border-box !important;
  margin-top: 16px !important;
  position: relative !important;
}
body.woocommerce-checkout #place_order::before {
  content: "🔒 " !important;
}
body.woocommerce-checkout #place_order:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 16px 44px rgba(232,184,75,.55) !important;
}
body.woocommerce-checkout #place_order:active {
  transform: translateY(0) !important;
}

/* ─── Trust badges below button ─── */
body.woocommerce-checkout #payment::after {
  content: "🔐 SSL Secured  •  100% Safe Checkout" !important;
  display: block !important;
  text-align: center !important;
  font-size: 11px !important;
  color: rgba(255,255,255,.35) !important;
  margin-top: 14px !important;
  letter-spacing: .3px !important;
}

/* 1200px */
@media (max-width: 1200px) {
  body.woocommerce-checkout .woocommerce {
    grid-template-columns: 1fr 320px !important;
    gap: 20px !important;
  }
}

/* 1024px — Tablet landscape */
@media (max-width: 1024px) {
  body.woocommerce-checkout .woocommerce {
    grid-template-columns: 1fr 300px !important;
    gap: 18px !important;
  }
  body.woocommerce-checkout .inside-site-content { padding: 0 20px !important; }
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-shipping-fields { padding: 22px !important; }
  body.woocommerce-checkout #order_review { padding: 22px !important; }
}

/* 768px — Tablet portrait: single column */
@media (max-width: 768px) {
  body.woocommerce-checkout .site-main { padding: 28px 0 60px !important; }
  body.woocommerce-checkout .inside-site-content { padding: 0 14px !important; }
  body.woocommerce-checkout .inside-site-content::before {
    font-size: 11px !important;
    padding: 8px 12px !important;
  }
  body.woocommerce-checkout .woocommerce {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  /* Order summary first on mobile */
  body.woocommerce-checkout #order_review {
    position: static !important;
    top: auto !important;
    order: -1 !important;
    border-radius: 16px !important;
  }
  body.woocommerce-checkout #customer_details { order: 1 !important; }
  /* Billing fields still 2-col on tablet */
  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;
  }
  body.woocommerce-checkout h1.entry-title { font-size: 22px !important; }
}

/* 480px — Mobile */
@media (max-width: 480px) {
  body.woocommerce-checkout .site-main { padding: 20px 0 48px !important; }
  body.woocommerce-checkout .inside-site-content { padding: 0 12px !important; }
  body.woocommerce-checkout .inside-site-content::before {
    display: none !important;
  }
  body.woocommerce-checkout h1.entry-title {
    font-size: 19px !important;
    margin-bottom: 16px !important;
  }
  body.woocommerce-checkout .woocommerce { gap: 12px !important; }
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-shipping-fields {
    padding: 16px !important;
    border-radius: 14px !important;
  }
  body.woocommerce-checkout .woocommerce-billing-fields::before,
  body.woocommerce-checkout .woocommerce-shipping-fields::before {
    border-radius: 14px 14px 0 0 !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 h3 { font-size: 14px !important; margin-bottom: 14px !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 {
    padding: 11px 12px !important;
    font-size: 16px !important; /* Prevent iOS zoom */
    border-radius: 8px !important;
  }
  body.woocommerce-checkout #order_review {
    padding: 16px !important;
    border-radius: 14px !important;
  }
  body.woocommerce-checkout #order_review::before {
    font-size: 15px !important;
    margin-bottom: 14px !important;
    padding-bottom: 12px !important;
  }
  body.woocommerce-checkout table.shop_table td { font-size: 13px !important; padding: 10px 0 !important; }
  body.woocommerce-checkout table.shop_table tr.order-total th,
  body.woocommerce-checkout table.shop_table tr.order-total td { font-size: 16px !important; }
  body.woocommerce-checkout #payment { padding: 14px !important; border-radius: 12px !important; }
  body.woocommerce-checkout #place_order {
    font-size: 15px !important;
    padding: 15px !important;
  }
  body.woocommerce-checkout .checkout_coupon,
  body.woocommerce-checkout .woocommerce-form-login {
    padding: 14px !important;
    border-radius: 10px !important;
  }
}

/* 360px — Small phones */
@media (max-width: 360px) {
  body.woocommerce-checkout .inside-site-content { padding: 0 10px !important; }
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-shipping-fields { padding: 12px !important; }
  body.woocommerce-checkout #order_review { padding: 12px !important; }
  body.woocommerce-checkout #place_order { font-size: 14px !important; padding: 14px !important; }
}

.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;
}

@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; }
}

@media (max-width: 768px) {
  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; }
  body.woocommerce-cart .cart-collaterals { justify-content: flex-start !important; }
  body.woocommerce-cart .cart_totals { max-width: 100% !important; }
}

body.woocommerce-account .site-content,
body.woocommerce-account .content-area,
body.woocommerce-account #primary {
  max-width: 100% !important;
  box-sizing: border-box !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;
  max-width: 100% !important;
  box-sizing: border-box !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;
}

/* 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; }
}

/* ╔════════════════════════════════════════════════════════════════╗

/* ╔════════════════════════════════════════════════════════════╗
   ║  CART PAGE — MOBILE REDESIGN  v7.0  (clean, no conflicts) ║
   ║  640px and below — full card layout                        ║
   ╚════════════════════════════════════════════════════════════╝ */

@media (max-width: 640px) {

 
  body.woocommerce-cart { background: #f0f3f9 !important; }
  body.woocommerce-cart .site-main { padding: 0 0 20px !important; }
  body.woocommerce-cart .inside-site-content { padding: 0 !important; }
  body.woocommerce-cart h1.entry-title {
    font-size: 20px !important; padding: 18px 14px 8px !important;
    margin: 0 !important; border-bottom: none !important;
  }

  /* Progress bar */
  body.woocommerce-cart .woocommerce::before {
    content: '🛒 Cart  ›  Details  ›  Payment  ›  Done' !important;
    display: block !important;
    background: #0f2044 !important; color: rgba(255,255,255,.45) !important;
    font-size: 11px !important; font-weight: 700 !important;
    text-align: center !important; padding: 9px 16px !important;
    letter-spacing: .4px !important;
  }

 
  body.woocommerce-cart table.shop_table thead { display: none !important; }

  body.woocommerce-cart form.woocommerce-cart-form {
    overflow-x: visible !important; width: 100% !important;
  }
  body.woocommerce-cart table.shop_table {
    display: flex !important; flex-direction: column !important;
    gap: 10px !important; width: 100% !important; min-width: unset !important;
    border: none !important; border-radius: 0 !important;
    background: transparent !important; box-shadow: none !important;
    padding: 0 14px !important; margin-bottom: 0 !important;
  }
  body.woocommerce-cart table.shop_table tbody {
    display: flex !important; flex-direction: column !important;
    gap: 10px !important; width: 100% !important;
  }

  /* Each product row = card */
  body.woocommerce-cart table.shop_table tbody tr {
    display: grid !important;
    grid-template-columns: 68px 1fr 32px !important;
    grid-template-rows: auto auto auto !important;
    grid-template-areas:
      "thumb  name    remove"
      "thumb  qty     qty"
      "thumb  price   price" !important;
    gap: 0 10px !important;
    background: #fff !important;
    border-radius: 16px !important; border: 1px solid #e2e6f0 !important;
    padding: 14px !important; box-shadow: 0 2px 12px rgba(10,22,40,.05) !important;
    position: relative !important; overflow: hidden !important;
  }
  /* Gold accent left border */
  body.woocommerce-cart table.shop_table tbody tr::before {
    content: '' !important; position: absolute !important;
    left: 0 !important; top: 0 !important; bottom: 0 !important; width: 3px !important;
    background: linear-gradient(to bottom, #e8b84b, #f5d06e) !important;
    border-radius: 16px 0 0 16px !important;
  }
  body.woocommerce-cart table.shop_table tbody tr:hover td {
    background: transparent !important;
  }

  /* Thumbnail */
  body.woocommerce-cart table.shop_table tbody td.product-thumbnail {
    grid-area: thumb !important; padding: 0 !important;
    border-bottom: none !important;
    display: flex !important; align-items: flex-start !important;
    width: auto !important;
  }
  body.woocommerce-cart td.product-thumbnail a { display: block !important; line-height: 0 !important; }
  body.woocommerce-cart td.product-thumbnail img {
    width: 68px !important; height: 68px !important;
    border-radius: 10px !important; object-fit: cover !important;
    border: 1px solid rgba(232,184,75,.2) !important; display: block !important;
  }

  /* Product name */
  body.woocommerce-cart table.shop_table tbody td.product-name {
    grid-area: name !important; padding: 0 0 2px !important;
    border-bottom: none !important;
    display: flex !important; align-items: flex-start !important;
  }
  body.woocommerce-cart td.product-name a {
    font-size: 13.5px !important; font-weight: 700 !important;
    color: #0a1628 !important; line-height: 1.35 !important;
    display: -webkit-box !important; -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important; overflow: hidden !important;
    text-decoration: none !important;
  }
  body.woocommerce-cart td.product-name .variation {
    font-size: 11px !important; color: #7b83a6 !important; margin-top: 3px !important;
  }

  /* Remove button */
  body.woocommerce-cart td.product-remove {
    grid-area: remove !important; width: 32px !important;
    padding: 0 !important; border-bottom: none !important;
    display: flex !important; align-items: flex-start !important;
    justify-content: flex-end !important;
  }
  body.woocommerce-cart td.product-remove a.remove {
    width: 26px !important; height: 26px !important; border-radius: 50% !important;
    background: #fef2f2 !important; color: #e63946 !important;
    font-size: 14px !important; font-weight: 900 !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    line-height: 1 !important; text-decoration: none !important;
    border: 1px solid rgba(230,57,70,.15) !important;
  }
  body.woocommerce-cart td.product-remove a.remove:hover {
    background: #e63946 !important; color: #fff !important;
  }

  /* Hide desktop price column */
  body.woocommerce-cart th.product-price,
  body.woocommerce-cart td.product-price { display: none !important; }

  /* Quantity */
  body.woocommerce-cart td.product-quantity {
    grid-area: qty !important; padding: 6px 0 4px !important;
    border-bottom: none !important;
    display: flex !important; align-items: center !important; gap: 8px !important;
  }
  body.woocommerce-cart td.product-quantity .quantity {
    display: flex !important; align-items: center !important;
    background: #f0f3f9 !important; border: 1.5px solid #e2e6f0 !important;
    border-radius: 999px !important; overflow: hidden !important;
  }
  body.woocommerce-cart td.product-quantity .quantity input[type="number"] {
    width: 38px !important; height: 30px !important;
    border: none !important; background: transparent !important;
    text-align: center !important; font-size: 13px !important; font-weight: 800 !important;
    color: #0a1628 !important; padding: 0 !important; border-radius: 0 !important;
  }

  /* Subtotal = bottom right price */
  body.woocommerce-cart td.product-subtotal {
    grid-area: price !important; padding: 0 !important;
    border-bottom: none !important;
    display: flex !important; align-items: center !important;
    justify-content: flex-end !important;
  }
  body.woocommerce-cart td.product-subtotal bdi,
  body.woocommerce-cart td.product-subtotal .woocommerce-Price-amount {
    font-size: 17px !important; font-weight: 900 !important;
    color: #c49a2e !important; font-family: 'Playfair Display', Georgia, serif !important;
  }

 
  /* td.actions must break out of the table flex layout */
  body.woocommerce-cart table.shop_table tbody tr.cart_item + tr,
  body.woocommerce-cart table.shop_table tbody tr:has(td.actions) {
    display: block !important;
    background: transparent !important;
    border: none !important; box-shadow: none !important;
    border-radius: 0 !important; padding: 0 !important;
    grid-template-columns: unset !important;
  }
  body.woocommerce-cart td.actions {
    display: block !important; background: transparent !important;
    padding: 0 !important; border: none !important;
    grid-area: unset !important; width: 100% !important;
  }
  body.woocommerce-cart .actions {
    display: flex !important; flex-direction: column !important;
    align-items: stretch !important; gap: 10px !important;
    width: 100% !important;
  }

  /* Coupon — single horizontal row, no wrap */
  body.woocommerce-cart .coupon {
    display: flex !important; flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important; gap: 8px !important;
    background: linear-gradient(135deg, rgba(232,184,75,.08), rgba(245,208,110,.04)) !important;
    border: 1.5px dashed rgba(232,184,75,.4) !important;
    border-radius: 12px !important; padding: 10px 14px !important;
    width: 100% !important; box-sizing: border-box !important;
    min-height: 48px !important;
  }
  body.woocommerce-cart .coupon label { display: none !important; }
  body.woocommerce-cart .coupon input[type="text"] {
    flex: 1 1 0% !important; width: 0 !important; min-width: 0 !important;
    border: none !important; background: transparent !important;
    font-size: 13px !important; font-weight: 600 !important;
    color: #0a1628 !important; padding: 0 !important;
    border-radius: 0 !important; outline: none !important;
    box-sizing: border-box !important; -webkit-appearance: none !important;
  }
  body.woocommerce-cart .coupon input[type="text"]::placeholder {
    color: rgba(10,22,40,.35) !important; font-weight: 500 !important;
  }
  body.woocommerce-cart button[name="apply_coupon"] {
    flex: 0 0 auto !important; width: auto !important;
    background: linear-gradient(135deg, #e8b84b, #f5d06e) !important;
    color: #0a1628 !important; border: none !important;
    border-radius: 999px !important; padding: 9px 18px !important;
    font-size: 12.5px !important; font-weight: 800 !important;
    font-family: inherit !important; cursor: pointer !important;
    white-space: nowrap !important; line-height: 1.2 !important;
    display: inline-flex !important; align-items: center !important;
  }

  /* Update cart */
  body.woocommerce-cart button[name="update_cart"] {
    width: 100% !important; background: #fff !important;
    color: #0a1628 !important; border: 1.5px solid #e2e6f0 !important;
    border-radius: 10px !important; padding: 11px 16px !important;
    font-size: 13px !important; font-weight: 700 !important;
    font-family: inherit !important; text-align: center !important;
    cursor: pointer !important; box-sizing: border-box !important;
  }

 
  body.woocommerce-cart .cart-collaterals {
    display: block !important; padding: 0 14px !important;
    margin-top: 4px !important; justify-content: unset !important;
  }
  body.woocommerce-cart .cart_totals {
    width: 100% !important; max-width: 100% !important;
    position: static !important; top: auto !important;
    background: #fff !important; border: 1px solid #e2e6f0 !important;
    border-radius: 20px !important; overflow: hidden !important;
    padding: 0 !important; box-shadow: 0 4px 24px rgba(10,22,40,.08) !important;
  }
  body.woocommerce-cart .cart_totals h2 {
    background: #0a1628 !important; color: #e8b84b !important;
    font-family: 'Playfair Display', serif !important;
    font-size: 15px !important; font-weight: 700 !important;
    margin: 0 !important; padding: 13px 18px !important;
    border-bottom: none !important;
  }
  /* Totals table */
  body.woocommerce-cart .cart_totals table {
    display: block !important; width: 100% !important;
    border-collapse: collapse !important; margin-bottom: 0 !important;
  }
  body.woocommerce-cart .cart_totals table tbody,
  body.woocommerce-cart .cart_totals table tr {
    display: flex !important; width: 100% !important;
  }
  body.woocommerce-cart .cart_totals table tr {
    justify-content: space-between !important; align-items: center !important;
    padding: 11px 18px !important; border-bottom: 1px solid rgba(226,230,240,.7) !important;
  }
  body.woocommerce-cart .cart_totals table th,
  body.woocommerce-cart .cart_totals table td {
    font-size: 13.5px !important; padding: 0 !important;
    border-bottom: none !important; width: auto !important;
    text-align: left !important; vertical-align: top !important;
  }
  body.woocommerce-cart .cart_totals table th {
    color: #7b83a6 !important; font-weight: 500 !important;
    min-width: 80px !important; padding-top: 2px !important;
    background: transparent !important;
  }
  body.woocommerce-cart .cart_totals table td {
    font-weight: 700 !important; color: #0a1628 !important;
    text-align: right !important; flex: 1 !important;
  }
  /* Shipping row */
  body.woocommerce-cart .cart_totals table tr { align-items: flex-start !important; }
  body.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
  body.woocommerce-cart .cart_totals td.woocommerce-shipping-totals p,
  body.woocommerce-cart .cart_totals td.woocommerce-shipping-totals {
    text-align: right !important; font-size: 12.5px !important; line-height: 1.5 !important;
  }
  body.woocommerce-cart .cart_totals ul.shipping-methods {
    list-style: none !important; padding: 0 !important; margin: 0 !important;
  }
  body.woocommerce-cart .cart_totals ul.shipping-methods li {
    font-size: 12.5px !important; font-weight: 600 !important; color: #0a1628 !important;
    display: flex !important; align-items: center !important;
    justify-content: flex-end !important; gap: 6px !important;
  }
  body.woocommerce-cart .cart_totals ul.shipping-methods li label {
    font-size: 12.5px !important; font-weight: 600 !important; color: #0a1628 !important;
    cursor: pointer !important; text-transform: none !important; letter-spacing: 0 !important;
  }
  body.woocommerce-cart .cart_totals p.woocommerce-shipping-destination {
    font-size: 11.5px !important; color: #7b83a6 !important;
    font-weight: 500 !important; margin-top: 4px !important; text-align: right !important;
  }
  body.woocommerce-cart .cart_totals a.shipping-calculator-button {
    font-size: 11.5px !important; color: #c49a2e !important;
    font-weight: 700 !important; display: block !important;
    margin-top: 4px !important; text-align: right !important;
  }
  /* Total row */
  body.woocommerce-cart .cart_totals table tr.order-total {
    background: rgba(232,184,75,.06) !important;
    border-top: 2px solid rgba(232,184,75,.25) !important;
    border-bottom: none !important; padding: 15px 18px !important;
  }
  body.woocommerce-cart .cart_totals table tr.order-total th {
    font-family: 'Playfair Display', serif !important;
    font-size: 16px !important; font-weight: 900 !important;
    color: #0a1628 !important; background: transparent !important;
  }
  body.woocommerce-cart .cart_totals table tr.order-total td {
    font-family: 'Playfair Display', serif !important;
    font-size: 22px !important; font-weight: 900 !important;
    color: #c49a2e !important; text-align: right !important;
  }
  /* Proceed to Checkout */
  body.woocommerce-cart .wc-proceed-to-checkout {
    padding: 0 16px 16px !important;
  }
  body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: flex !important; align-items: center !important;
    justify-content: center !important; gap: 8px !important;
    width: 100% !important; padding: 15px 20px !important;
    background: linear-gradient(135deg, #e8b84b, #f5d06e) !important;
    color: #0a1628 !important; border-radius: 999px !important;
    font-size: 15px !important; font-weight: 900 !important; font-family: inherit !important;
    text-decoration: none !important;
    box-shadow: 0 6px 24px rgba(232,184,75,.45) !important;
    box-sizing: border-box !important; border: none !important;
  }
  body.woocommerce-cart .wc-proceed-to-checkout::after {
    content: "🔒 Secure  ✅ Instant Access  📞 24/7 Support" !important;
    display: block !important; text-align: center !important;
    font-size: 10.5px !important; color: #7b83a6 !important;
    margin-top: 10px !important; font-weight: 600 !important; letter-spacing: .2px !important;
  }

  /* Cross-sells */
  body.woocommerce-cart .cross-sells {
    margin: 16px 14px 0 !important; padding-top: 20px !important;
    border-top: 2px solid #e2e6f0 !important;
  }
  body.woocommerce-cart .cross-sells > h2 {
    font-size: 17px !important; margin-bottom: 16px !important;
  }

} /* end 640px */

/* 360px tiny phones */
@media (max-width: 360px) {
  body.woocommerce-cart table.shop_table tbody tr {
    grid-template-columns: 58px 1fr 30px !important;
  }
  body.woocommerce-cart td.product-thumbnail img {
    width: 58px !important; height: 58px !important;
  }
  body.woocommerce-cart td.product-subtotal bdi,
  body.woocommerce-cart td.product-subtotal .woocommerce-Price-amount {
    font-size: 15px !important;
  }
}

/* ═══════════════════════════════════════════════════════
   AUTH POPUP — CGPSCedu v7.0
   Login / Register modal — fully responsive
═══════════════════════════════════════════════════════ */

/* Overlay */
.cgpsc-popup-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: rgba(10, 22, 40, 0.82);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
}
.cgpsc-popup-overlay.active {
    display: flex;
    animation: cpOverlayIn .2s ease;
}
@keyframes cpOverlayIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Box */
.cgpsc-popup-box {
    position: relative;
    background: #fff;
    border-radius: 20px;
    padding: 36px 32px 32px;
    width: 100%;
    max-width: 440px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 32px 80px rgba(10,22,40,.35);
    animation: cpBoxIn .25s cubic-bezier(.34,1.56,.64,1);
    scrollbar-width: thin;
}
@keyframes cpBoxIn {
    from { transform: translateY(20px) scale(.97); opacity: 0; }
    to   { transform: translateY(0)    scale(1);   opacity: 1; }
}

/* Close */
.cgpsc-popup-close {
    position: absolute;
    top: 14px; right: 16px;
    background: #f0f2f7;
    border: none;
    border-radius: 50%;
    width: 34px; height: 34px;
    font-size: 14px;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    color: #555;
    transition: background .2s;
    z-index: 2;
}
.cgpsc-popup-close:hover { background: #e0e4ee; }

/* Brand */
.cgpsc-popup-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}
.cpb-logo {
    width: 44px; height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #0a1628, #1e3a5f);
    color: #e8b84b;
    font-family: 'Playfair Display', serif;
    font-size: 16px; font-weight: 900;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.cpb-name  { font-size: 16px; font-weight: 800; color: #0a1628; line-height: 1.2; }
.cpb-tag   { font-size: 11px; color: #7b83a6; font-weight: 500; }

/* Tabs */
.cgpsc-popup-tabs {
    display: flex;
    background: #f0f2f7;
    border-radius: 999px;
    padding: 4px;
    margin-bottom: 20px;
    gap: 0;
}
.cpt {
    flex: 1;
    border: none;
    background: transparent;
    border-radius: 999px;
    padding: 9px 10px;
    font-size: 13.5px;
    font-weight: 700;
    color: #7b83a6;
    cursor: pointer;
    transition: all .2s;
    font-family: inherit;
}
.cpt.active {
    background: #0a1628;
    color: #fff;
    box-shadow: 0 3px 12px rgba(10,22,40,.25);
}

/* Message */
.cgpsc-popup-msg {
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 16px;
    line-height: 1.5;
}
.cgpsc-popup-msg.error   { background: #fef2f2; color: #dc2626; border: 1px solid #fecaca; }
.cgpsc-popup-msg.success { background: #f0fdf4; color: #16a34a; border: 1px solid #bbf7d0; }

/* Forms */
.cgpsc-popup-form { display: none; }
.cgpsc-popup-form.active { display: block; }

/* Field group */
.cpf-group { margin-bottom: 16px; }
.cpf-group label {
    display: block;
    font-size: 12.5px;
    font-weight: 700;
    color: #374151;
    margin-bottom: 6px;
    letter-spacing: .2px;
}
.cpf-group input {
    width: 100%;
    padding: 11px 14px;
    border: 2px solid #e5e7eb;
    border-radius: 10px;
    font-size: 14px;
    font-family: inherit;
    color: #0a1628;
    background: #fafafa;
    box-sizing: border-box;
    transition: border-color .2s, box-shadow .2s;
    outline: none;
    -webkit-appearance: none;
}
.cpf-group input:focus {
    border-color: #e8b84b;
    box-shadow: 0 0 0 3px rgba(232,184,75,.15);
    background: #fff;
}
.cpf-group input::placeholder { color: #9ca3af; }

/* Password wrap */
.cpf-pw-wrap { position: relative; }
.cpf-pw-wrap input { padding-right: 44px; }
.cpf-eye {
    position: absolute;
    right: 12px; top: 50%;
    transform: translateY(-50%);
    background: none; border: none;
    cursor: pointer;
    font-size: 16px;
    padding: 0; line-height: 1;
    color: #9ca3af;
    transition: color .2s;
}
.cpf-eye:hover { color: #0a1628; }

/* Submit button */
.cgpsc-popup-submit {
    width: 100%;
    padding: 13px 20px;
    background: #0a1628;
    color: #fff;
    border: none;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 800;
    font-family: inherit;
    cursor: pointer;
    margin-top: 6px;
    transition: all .2s;
    display: flex; align-items: center; justify-content: center;
    gap: 6px;
    min-height: 48px;
}
.cgpsc-popup-submit:hover:not(:disabled) {
    background: #162840;
    box-shadow: 0 6px 20px rgba(10,22,40,.25);
    transform: translateY(-1px);
}
.cgpsc-popup-submit.gold {
    background: linear-gradient(135deg, #e8b84b, #f5d06e);
    color: #0a1628;
}
.cgpsc-popup-submit.gold:hover:not(:disabled) {
    box-shadow: 0 6px 20px rgba(232,184,75,.45);
}
.cgpsc-popup-submit:disabled {
    opacity: .6; cursor: not-allowed; transform: none;
}

/* Switch text */
.cpf-switch {
    text-align: center;
    font-size: 12.5px;
    color: #7b83a6;
    margin: 14px 0 0;
}
.cpf-link {
    background: none; border: none;
    color: #e8b84b; font-weight: 700;
    font-size: 12.5px; cursor: pointer;
    font-family: inherit; padding: 0;
    text-decoration: underline;
}
.cpf-link:hover { color: #c49a2e; }

/* ── Checkout page — simplified ── */
.cgpsc-checkout-header {
    text-align: center;
    padding: 30px 0 10px;
}
.cgpsc-checkout-header h2 {
    font-family: 'Playfair Display', serif;
    font-size: 26px;
    color: #0a1628;
    margin: 0 0 8px;
}
.cgpsc-checkout-header p {
    color: #7b83a6;
    font-size: 14px;
}

/* Hide unwanted checkout sections */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .field-wrapper--billing_company,
.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #billing_address_1_field,
.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #billing_city_field,
.woocommerce-checkout #billing_postcode_field,
.woocommerce-checkout #billing_state_field,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout #ship-to-different-address,
.woocommerce-checkout .woocommerce-additional-fields {
    display: none !important;
}

/* Clean checkout form look */
.woocommerce-checkout #customer_details {
    max-width: 560px !important;
    margin: 0 auto 30px !important;
    float: none !important;
    width: 100% !important;
}
.woocommerce-checkout .col2-set {
    display: block !important;
    float: none !important;
    width: 100% !important;
}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

/* ── Responsive Popup ── */
@media (max-width: 480px) {
    .cgpsc-popup-box {
        padding: 28px 18px 24px;
        border-radius: 16px;
        max-height: 95vh;
    }
    .cpb-logo  { width: 38px; height: 38px; font-size: 14px; }
    .cpb-name  { font-size: 15px; }
    .cpt       { font-size: 13px; padding: 8px; }
    .cgpsc-popup-submit { font-size: 14px; padding: 12px 16px; }
}

@media (max-width: 360px) {
    .cgpsc-popup-box { padding: 22px 14px 20px; }
}
