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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


/* ══════════════════════════════════════
   WOOCOMMERCE — COMPLETE FIX
   Global GP overrides से WooCommerce
   को बाहर रखें + full responsive layout
══════════════════════════════════════ */

/* ── Step 1: Global GP rules को WooCommerce पर override करें
   higher specificity (body.woocommerce) से ── */

/* grid-container — WooCommerce पर restore */
body.woocommerce .grid-container,
body.woocommerce-page .grid-container,
body.single-product .grid-container {
  max-width: 1200px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* site-main — WooCommerce पर proper padding */
body.woocommerce .site-main,
body.woocommerce-page .site-main,
body.single-product .site-main {
  width: 100% !important;
  max-width: 100% !important;
  padding: 36px 0 60px !important;
  margin: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* site-content */
body.woocommerce .site-content,
body.woocommerce-page .site-content,
body.single-product .site-content,
body.woocommerce #content,
body.woocommerce-page #content,
body.single-product #content {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* inside-site-content */
body.woocommerce .inside-site-content,
body.woocommerce-page .inside-site-content,
body.single-product .inside-site-content {
  padding: 0 24px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* content-area / #primary — full width */
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,
body.woocommerce .hfeed,
body.woocommerce-page .hfeed {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}

/* sidebar — hide (no sidebar on shop) */
body.woocommerce .widget-area,
body.woocommerce-page .widget-area,
body.woocommerce #secondary,
body.woocommerce-page #secondary {
  display: none !important;
}

/* entry-content / inside-article */
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;
}

/* ── Step 2: WooCommerce .woocommerce wrapper ── */
body.woocommerce div.woocommerce,
body.woocommerce-page div.woocommerce {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ── Step 3: Shop page header area ── */
body.woocommerce .woocommerce-products-header,
body.woocommerce-page .woocommerce-products-header {
  margin-bottom: 20px !important;
}

body.woocommerce nav.woocommerce-breadcrumb,
body.woocommerce-page nav.woocommerce-breadcrumb {
  font-size: 12.5px !important;
  color: var(--muted) !important;
  margin-bottom: 6px !important;
  padding: 0 !important;
}
body.woocommerce nav.woocommerce-breadcrumb a,
body.woocommerce-page nav.woocommerce-breadcrumb a {
  color: var(--gold-dk) !important;
}

body.woocommerce h1.woocommerce-products-header__title,
body.woocommerce .page-title,
body.woocommerce-page .page-title {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(22px, 3vw, 32px) !important;
  font-weight: 900 !important;
  color: var(--navy) !important;
  margin: 0 0 6px !important;
}

.woocommerce-result-count {
  font-size: 13px !important;
  color: var(--muted) !important;
}
.woocommerce-ordering select {
  border: 1.5px solid var(--border) !important;
  border-radius: var(--r) !important;
  padding: 7px 12px !important;
  font-size: 13px !important;
  font-family: inherit !important;
  color: var(--text) !important;
  cursor: pointer !important;
}

/* ── Step 4: Products GRID — सबसे important ── */
body.woocommerce ul.products,
body.woocommerce-page ul.products,
body.woocommerce ul.products.columns-1,
body.woocommerce ul.products.columns-2,
body.woocommerce ul.products.columns-3,
body.woocommerce ul.products.columns-4,
body.woocommerce-page ul.products.columns-1,
body.woocommerce-page ul.products.columns-2,
body.woocommerce-page ul.products.columns-3,
body.woocommerce-page ul.products.columns-4 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 40px !important;
  width: 100% !important;
  float: none !important;
  clear: both !important;
}

/* ── हर product li — float/clear reset ── */
body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product,
body.woocommerce ul.products li.product.first,
body.woocommerce-page ul.products li.product.first,
body.woocommerce ul.products li.product.last,
body.woocommerce-page ul.products li.product.last {
  float: none !important;
  clear: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--rlg) !important;
  box-shadow: var(--sh-sm) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s !important;
}
body.woocommerce ul.products li.product:hover,
body.woocommerce-page ul.products li.product:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--sh) !important;
  border-color: rgba(232,184,75,.35) !important;
}

/* Product link wrapper */
body.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  text-decoration: none !important;
}

/* Product image */
body.woocommerce ul.products li.product img,
body.woocommerce-page ul.products li.product img {
  width: 100% !important;
  height: 190px !important;
  object-fit: cover !important;
  object-position: center top !important;
  display: block !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  transition: transform .3s ease !important;
}
body.woocommerce ul.products li.product:hover img,
body.woocommerce-page ul.products li.product:hover img {
  transform: scale(1.04) !important;
}

/* Product title */
body.woocommerce ul.products li.product h2.woocommerce-loop-product__title,
body.woocommerce-page ul.products li.product h2.woocommerce-loop-product__title {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--navy) !important;
  padding: 12px 14px 4px !important;
  margin: 0 !important;
  line-height: 1.4 !important;
  flex: 1 !important;
}
body.woocommerce ul.products li.product:hover h2,
body.woocommerce-page ul.products li.product:hover h2 {
  color: var(--gold-dk) !important;
}

/* Product price */
body.woocommerce ul.products li.product span.price,
body.woocommerce-page ul.products li.product span.price {
  display: block !important;
  font-family: 'Noto Sans', system-ui, sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: var(--gold-dk) !important;
  padding: 2px 14px 10px !important;
  margin: 0 !important;
}
body.woocommerce ul.products li.product span.price del,
body.woocommerce-page ul.products li.product span.price del {
  font-size: 12px !important;
  color: var(--muted) !important;
  font-weight: 400 !important;
  opacity: 0.75 !important;
  margin-right: 4px !important;
}
body.woocommerce ul.products li.product span.price ins,
body.woocommerce-page ul.products li.product span.price ins {
  text-decoration: none !important;
  font-weight: 800 !important;
}

/* Add to Cart button */
body.woocommerce ul.products li.product a.button,
body.woocommerce-page ul.products li.product a.button,
body.woocommerce ul.products li.product .button {
  display: block !important;
  width: calc(100% - 28px) !important;
  margin: 4px 14px 14px !important;
  padding: 9px 16px !important;
  background: var(--navy) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  font-family: inherit !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all .2s !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}
body.woocommerce ul.products li.product a.button:hover,
body.woocommerce-page ul.products li.product a.button:hover {
  background: linear-gradient(135deg, var(--gold), var(--gold2)) !important;
  color: var(--navy) !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--sh-gold) !important;
}

/* Sale badge */
body.woocommerce ul.products li.product span.onsale,
body.woocommerce-page ul.products li.product span.onsale {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  right: auto !important;
  z-index: 2 !important;
  background: var(--red) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  padding: 3px 10px !important;
  border-radius: 999px !important;
  margin: 0 !important;
  min-height: auto !important;
  line-height: 1.7 !important;
  text-transform: uppercase !important;
  letter-spacing: .4px !important;
}

/* WooCommerce notices */
body.woocommerce .woocommerce-message,
body.woocommerce .woocommerce-info,
body.woocommerce .woocommerce-error {
  border-top-color: var(--gold) !important;
  border-radius: var(--r) !important;
  padding: 14px 20px !important;
  margin-bottom: 20px !important;
}

/* ── Single Product Page ── */
body.single-product div.product {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
  align-items: start !important;
  width: 100% !important;
}
body.single-product .woocommerce-product-gallery { width: 100% !important; }
body.single-product .summary { width: 100% !important; }

body.single-product h1.product_title {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(22px, 3vw, 34px) !important;
  font-weight: 900 !important;
  color: var(--navy) !important;
  margin-bottom: 12px !important;
  line-height: 1.2 !important;
}
body.single-product p.price,
body.single-product span.price {
  font-family: 'Noto Sans', system-ui, sans-serif !important;
  font-size: 30px !important;
  font-weight: 900 !important;
  color: var(--gold-dk) !important;
  margin-bottom: 16px !important;
}
body.single-product .single_add_to_cart_button {
  background: linear-gradient(135deg, var(--gold), var(--gold2)) !important;
  color: var(--navy) !important;
  border: none !important;
  padding: 14px 36px !important;
  border-radius: 999px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  font-family: inherit !important;
  cursor: pointer !important;
  box-shadow: var(--sh-gold) !important;
  transition: all .2s !important;
}
body.single-product .single_add_to_cart_button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 32px rgba(232,184,75,.5) !important;
}

/* ── Cart & Checkout ── */
body.woocommerce-cart table.shop_table,
body.woocommerce-checkout table.shop_table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 14px !important;
  border-radius: var(--rmd) !important;
  overflow: hidden !important;
  box-shadow: var(--sh-sm) !important;
}
body.woocommerce-cart table.shop_table th,
body.woocommerce-checkout table.shop_table th {
  background: var(--navy) !important;
  color: #fff !important;
  padding: 12px 16px !important;
  font-weight: 700 !important;
  text-align: left !important;
}
body.woocommerce-cart table.shop_table td,
body.woocommerce-checkout table.shop_table td {
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--border) !important;
  vertical-align: middle !important;
}

/* ── RESPONSIVE ── */

/* Tablet — 2 columns */
@media (max-width: 960px) {
  body.woocommerce ul.products,
  body.woocommerce-page ul.products,
  body.woocommerce ul.products.columns-3,
  body.woocommerce-page ul.products.columns-3,
  body.woocommerce ul.products.columns-4,
  body.woocommerce-page ul.products.columns-4 {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }
  body.single-product div.product {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  body.woocommerce .inside-site-content,
  body.woocommerce-page .inside-site-content {
    padding: 0 16px !important;
  }
}

/* Mobile — 1 column */
@media (max-width: 540px) {
  body.woocommerce ul.products,
  body.woocommerce-page ul.products,
  body.woocommerce ul.products.columns-2,
  body.woocommerce ul.products.columns-3,
  body.woocommerce ul.products.columns-4,
  body.woocommerce-page ul.products.columns-2,
  body.woocommerce-page ul.products.columns-3,
  body.woocommerce-page ul.products.columns-4 {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  body.woocommerce .site-main,
  body.woocommerce-page .site-main {
    padding: 24px 0 40px !important;
  }
  body.woocommerce ul.products li.product img,
  body.woocommerce-page ul.products li.product img {
    height: 160px !important;
  }
}

/* ══════════════════════════════════════
   BLOG LIST — IMAGE LEFT + CONTENT RIGHT
══════════════════════════════════════ */

.blog-body {
  background: var(--white);
  padding: 48px 0 80px;
}

/* Top bar */
.blog-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 0 20px;
  border-bottom: 2px solid var(--border);
  margin-bottom: 28px;
}
.blog-count { font-size:13px; color:var(--muted); font-weight:600; }
.blog-page-info {
  font-size:12px; color:var(--gold-dk);
  background: rgba(232,184,75,.1);
  padding: 4px 14px; border-radius:999px;
  font-weight:700;
}

/* ── Post list container ── */
.bl-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* ── Each post item ── */
.bl-item {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 0;
  border-bottom: 1px solid var(--border);
  padding: 28px 0;
  transition: background .18s;
  position: relative;
}
.bl-item:first-child { padding-top: 0; }
.bl-item:last-child { border-bottom: none; }
.bl-item:hover { background: rgba(232,184,75,.03); }

/* First post — slightly larger */
.bl-item--first {
  grid-template-columns: 340px 1fr;
}
.bl-item--first .bl-title { font-size: clamp(18px, 2.2vw, 22px) !important; }

/* ── Left: Image ── */
.bl-img-wrap {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: var(--rlg);
  flex-shrink: 0;
  height: 200px;
  margin-right: 28px;
  text-decoration: none;
}
.bl-item--first .bl-img-wrap { height: 230px; }

.bl-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .4s ease !important;
}
.bl-item:hover .bl-img { transform: scale(1.05) !important; }

.bl-img-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 52px;
  border-radius: var(--rlg);
}

/* Category pill on image */
.bl-cat-pill {
  position: absolute;
  bottom: 10px;
  left: 10px;
  background: var(--gold);
  color: var(--navy);
  font-size: 10px;
  font-weight: 800;
  padding: 3px 10px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: .5px;
  pointer-events: none;
}

/* ── Right: Content ── */
.bl-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  padding: 4px 0;
}

/* Meta top row */
.bl-meta-top {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.bl-cat-tag {
  font-size: 11px;
  font-weight: 800;
  color: var(--gold-dk);
  background: rgba(232,184,75,.12);
  padding: 3px 10px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: .4px;
  text-decoration: none;
  transition: background .15s;
}
.bl-cat-tag:hover { background: rgba(232,184,75,.25); }
.bl-date, .bl-read {
  font-size: 12px;
  color: var(--muted);
  font-weight: 500;
}

/* Title */
.bl-title {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(16px, 1.8vw, 20px) !important;
  font-weight: 800 !important;
  color: var(--navy) !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}
.bl-title a {
  color: inherit !important;
  text-decoration: none !important;
  transition: color .18s !important;
}
.bl-title a:hover { color: var(--gold-dk) !important; }

/* Excerpt */
.bl-excerpt {
  font-size: 14px !important;
  color: var(--muted) !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Footer row */
.bl-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 4px;
}
.bl-author {
  display: flex;
  align-items: center;
  gap: 8px;
}
.bl-av {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--navy), var(--navy2));
  color: var(--gold);
  font-size: 13px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.bl-author span {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text);
}

/* Read button */
.bl-read-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--navy);
  background: rgba(10,22,40,.06);
  padding: 7px 16px;
  border-radius: 999px;
  text-decoration: none;
  transition: all .18s;
  white-space: nowrap;
}
.bl-read-btn:hover {
  background: linear-gradient(135deg, var(--gold), var(--gold2));
  color: var(--navy);
  transform: translateX(3px);
}

/* ══════════════════════════════════════
   STYLISH PAGINATION
══════════════════════════════════════ */

.bl-pagination {
  margin-top: 56px;
  text-align: center;
}

.bl-pag-inner {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1.5px solid var(--border);
  border-radius: 999px;
  padding: 8px 12px;
  box-shadow: var(--sh-sm);
}

/* Prev / Next buttons */
.bl-pag-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  color: var(--navy);
  background: rgba(10,22,40,.05);
  text-decoration: none;
  transition: all .18s;
  cursor: pointer;
  white-space: nowrap;
}
.bl-pag-btn:hover {
  background: var(--navy);
  color: #fff;
}
.bl-pag-disabled {
  opacity: .35;
  cursor: not-allowed;
  pointer-events: none;
}

/* Page number pills */
.bl-pag-nums {
  display: flex;
  align-items: center;
  gap: 4px;
}
.bl-pag-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px; height: 36px;
  border-radius: 50%;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--navy);
  text-decoration: none;
  transition: all .18s;
}
.bl-pag-num:hover {
  background: rgba(10,22,40,.08);
}
.bl-pag-current {
  background: linear-gradient(135deg, var(--gold), var(--gold2)) !important;
  color: var(--navy) !important;
  box-shadow: 0 4px 14px rgba(232,184,75,.4);
}
.bl-pag-dots {
  color: var(--muted);
  font-size: 14px;
  padding: 0 2px;
  pointer-events: none;
}

/* Progress bar below pagination */
.bl-pag-progress {
  margin: 20px auto 10px;
  max-width: 300px;
  height: 4px;
  background: var(--border);
  border-radius: 999px;
  overflow: hidden;
}
.bl-pag-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--gold), var(--gold2));
  border-radius: 999px;
  transition: width .4s ease;
}
.bl-pag-label {
  font-size: 12px;
  color: var(--muted);
  margin: 0;
}

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  .bl-item,
  .bl-item--first {
    grid-template-columns: 220px 1fr;
  }
  .bl-img-wrap,
  .bl-item--first .bl-img-wrap { height: 160px; margin-right: 20px; }
}

@media (max-width: 640px) {
  .bl-item,
  .bl-item--first {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .bl-img-wrap,
  .bl-item--first .bl-img-wrap {
    height: 200px;
    margin-right: 0;
    width: 100%;
  }
  .bl-pag-inner {
    gap: 4px;
    padding: 6px 8px;
  }
  .bl-pag-btn span { display: none; }
  .bl-pag-btn { padding: 8px 12px; }
}

/* ══════════════════════════════════════
   WOOCOMMERCE GRID — FIRST ROW FIX
   .first class का clear:left grid तोड़ता है
══════════════════════════════════════ */

/* WooCommerce का float-based layout पूरी तरह disable */
body.woocommerce ul.products::before,
body.woocommerce ul.products::after,
body.woocommerce-page ul.products::before,
body.woocommerce-page ul.products::after {
  content: none !important;
  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-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
}

/* Grid force — columns class से override */
body.woocommerce ul.products.columns-3,
body.woocommerce-page ul.products.columns-3 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  float: none !important;
  width: 100% !important;
}

/* सभी li — grid item बनाएं */
body.woocommerce ul.products.columns-3 li.product,
body.woocommerce-page ul.products.columns-3 li.product {
  width: 100% !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
}
