/*
Theme Name: Guider Store
Template: generatepress
Author: Guider Store
Description: Premium, fast, SEO/AI-friendly child theme for Guider Store — nursing test banks, study guides & exam prep. Built on GeneratePress.
Version: 1.1.0
Text Domain: guider
*/

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root{
  --gs-primary:#0E7C66; --gs-primary-700:#0a5e4d; --gs-primary-900:#0b3b31; --gs-primary-50:#e7f3f0;
  --gs-accent:#F4A300; --gs-accent-700:#c98500;
  --gs-ink:#13242a; --gs-muted:#56676e; --gs-line:#e4ebe9;
  --gs-bg:#ffffff; --gs-soft:#f3f8f6; --gs-dark:#0c1f1b;
  --gs-success:#1a8f5e;
  --gs-r:14px; --gs-r-sm:10px; --gs-r-pill:999px;
  --gs-sh-sm:0 1px 2px rgba(12,31,27,.06), 0 2px 6px rgba(12,31,27,.05);
  --gs-sh:0 6px 18px rgba(12,31,27,.08), 0 18px 40px rgba(12,31,27,.07);
  --gs-sh-lg:0 20px 60px rgba(12,31,27,.16);
  --gs-maxw:1200px;
  --gs-font-head:'Sora', ui-sans-serif, system-ui, sans-serif;
  --gs-font-body:'Inter', ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --gs-space:clamp(56px, 7vw, 96px);
}

/* ============================================================
   BASE
   ============================================================ */
body{ color:var(--gs-ink); font-family:var(--gs-font-body); overflow-x:hidden; }
h1,h2,h3,h4{ font-family:var(--gs-font-head); letter-spacing:-.02em; color:var(--gs-ink); }
a{ color:var(--gs-primary-700); }
a:hover{ color:var(--gs-primary); }
img{ max-width:100%; height:auto; }
.gs-wrap{ max-width:var(--gs-maxw); margin:0 auto; padding:0 24px; }
.gs-center{ text-align:center; }
.gs-section{ padding:var(--gs-space) 0; }
.gs-soft-section{ background:var(--gs-soft); width:100vw; position:relative; left:50%; transform:translateX(-50%); }
.gs-soft-section > .gs-wrap{ position:static; }

/* section heading */
.gs-shead{ max-width:680px; margin:0 auto 2.4rem; text-align:center; }
.gs-shead h2{ font-size:clamp(1.6rem,3.4vw,2.3rem); margin:0 0 .35em; }
.gs-shead p{ color:var(--gs-muted); font-size:1.06rem; margin:0; line-height:1.55; }

/* buttons */
.gs-btn{ display:inline-flex; align-items:center; gap:.5rem; font-family:var(--gs-font-head); font-weight:600;
  border-radius:var(--gs-r-pill); padding:.8rem 1.5rem; text-decoration:none; cursor:pointer; border:0;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease; font-size:.98rem; }
.gs-btn:active{ transform:translateY(1px); }
.gs-btn-primary{ background:var(--gs-primary); color:#fff; box-shadow:var(--gs-sh-sm); }
.gs-btn-primary:hover{ background:var(--gs-primary-700); color:#fff; box-shadow:var(--gs-sh); transform:translateY(-2px); }
.gs-btn-amber{ background:var(--gs-accent); color:#13242a; }
.gs-btn-amber:hover{ background:var(--gs-accent-700); color:#13242a; transform:translateY(-2px); }
.gs-btn-ghost{ background:transparent; color:var(--gs-primary-700); box-shadow:inset 0 0 0 1.5px var(--gs-line); }
.gs-btn-ghost:hover{ background:#fff; color:var(--gs-primary-700); box-shadow:inset 0 0 0 1.5px var(--gs-primary); }

/* WooCommerce buttons -> brand */
.woocommerce a.button, .woocommerce button.button, .woocommerce #respond input#submit,
.wc-block-components-button, .woocommerce-page button.button{
  background:var(--gs-primary); color:#fff; border-radius:var(--gs-r-pill); font-weight:600; font-family:var(--gs-font-head);
}
.woocommerce a.button:hover, .woocommerce button.button:hover{ background:var(--gs-primary-700); color:#fff; }
.woocommerce .price, .woocommerce-Price-amount{ color:var(--gs-primary-700); font-weight:700; }

/* ============================================================
   STICKY HEADER + NAV
   ============================================================ */
.site-header{ position:sticky; top:0; z-index:200; background:rgba(255,255,255,.92); backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--gs-line); transition:box-shadow .2s ease; }
.site-header.gs-scrolled{ box-shadow:var(--gs-sh-sm); }
.site-logo a, .main-title a{ font-family:var(--gs-font-head)!important; font-weight:800!important; }
.main-navigation .main-nav ul li a{ font-family:var(--gs-font-head); font-weight:600; font-size:.95rem; }
.main-navigation .main-nav ul li a{ position:relative; }
.main-navigation .main-nav ul li > a::after{ content:''; position:absolute; left:1.2em; right:1.2em; bottom:.55em; height:2px;
  background:var(--gs-accent); transform:scaleX(0); transform-origin:left; transition:transform .18s ease; border-radius:2px; }
.main-navigation .main-nav ul li:hover > a::after, .main-navigation .main-nav ul li.current-menu-item > a::after{ transform:scaleX(1); }
.main-navigation .sub-menu{ box-shadow:var(--gs-sh); border-radius:0 0 var(--gs-r-sm) var(--gs-r-sm); border-top:2px solid var(--gs-primary); }
/* header utility (cart/search) */
.gs-headutil{ display:flex; align-items:center; gap:.4rem; }
.gs-headutil a{ display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%;
  color:var(--gs-ink); text-decoration:none; position:relative; }
.gs-headutil a:hover{ background:var(--gs-primary-50); color:var(--gs-primary-700); }
.gs-headutil svg{ width:20px; height:20px; }
.gs-cart-count{ position:absolute; top:2px; right:2px; background:var(--gs-accent); color:#13242a; font-size:.62rem; font-weight:800;
  min-width:16px; height:16px; border-radius:8px; display:flex; align-items:center; justify-content:center; padding:0 3px; }

/* ============================================================
   HERO (asymmetric)
   ============================================================ */
.gs-hero{ background:radial-gradient(120% 140% at 85% 0%, #12463a 0%, var(--gs-dark) 55%); color:#eaf4f0;
  width:100vw; position:relative; left:50%; transform:translateX(-50%); padding:76px 0 84px; overflow:hidden; }
.gs-hero::before{ content:''; position:absolute; inset:0; background:radial-gradient(40% 60% at 12% 110%, rgba(244,163,0,.14), transparent 70%); pointer-events:none; }
.gs-hero-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:center; position:relative; }
.gs-eyebrow{ display:inline-flex; align-items:center; gap:.5rem; text-transform:uppercase; letter-spacing:.09em; font-size:.74rem;
  font-weight:700; color:#bfe7dd; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); padding:.4rem .8rem; border-radius:var(--gs-r-pill); margin:0 0 1.1rem; }
.gs-dot{ width:7px; height:7px; border-radius:50%; background:var(--gs-accent); box-shadow:0 0 0 3px rgba(244,163,0,.25); }
.gs-hero h1{ color:#fff; font-size:clamp(2.1rem,4.6vw,3.4rem); line-height:1.08; margin:0 0 .5em; }
.gs-hl{ color:var(--gs-accent); }
.gs-hero .gs-sub{ color:#cfe4dd; font-size:1.12rem; line-height:1.6; margin:0 0 1.6rem; max-width:540px; }
.gs-search{ display:flex; align-items:center; max-width:540px; background:#fff; border-radius:var(--gs-r-pill); padding:5px 5px 5px 16px; box-shadow:var(--gs-sh); }
.gs-search-ic{ color:var(--gs-muted); display:flex; }.gs-search-ic svg{ width:18px; height:18px; }
.gs-search input{ flex:1; border:0; outline:0; padding:.7rem .7rem; font-size:1rem; background:transparent; color:var(--gs-ink); font-family:var(--gs-font-body); }
.gs-search button{ border:0; background:var(--gs-accent); color:#13242a; font-weight:700; font-family:var(--gs-font-head); border-radius:var(--gs-r-pill); padding:.62rem 1.3rem; cursor:pointer; }
.gs-hero-cta{ display:flex; flex-wrap:wrap; gap:.8rem; margin:1.4rem 0 1.3rem; }
.gs-trustrow{ display:flex; flex-wrap:wrap; gap:1.4rem; list-style:none; margin:0; padding:0; color:#bcd4cc; font-size:.9rem; }
.gs-trustrow strong{ color:#fff; }

/* sample-question card */
.gs-hero-card{ position:relative; }
.gs-qcard{ background:#fff; color:var(--gs-ink); border-radius:18px; padding:22px; box-shadow:var(--gs-sh-lg);
  transform:rotate(1.2deg); transition:transform .3s ease; }
.gs-hero-card:hover .gs-qcard{ transform:rotate(0); }
.gs-qtag{ display:inline-block; font-size:.72rem; font-weight:700; color:var(--gs-primary-700); background:var(--gs-primary-50); padding:.3rem .6rem; border-radius:var(--gs-r-pill); }
.gs-qtext{ font-weight:600; margin:.8rem 0 .9rem; line-height:1.45; }
.gs-qopts{ list-style:none; margin:0 0 .9rem; padding:0; display:grid; gap:.4rem; }
.gs-qopts li{ font-size:.9rem; border:1px solid var(--gs-line); border-radius:var(--gs-r-sm); padding:.5rem .7rem; color:var(--gs-muted); }
.gs-qopts li.is-correct{ border-color:var(--gs-success); background:#eafaf2; color:var(--gs-success); font-weight:700; }
.gs-qrat{ font-size:.84rem; color:var(--gs-muted); line-height:1.5; border-top:1px dashed var(--gs-line); padding-top:.7rem; }
.gs-qcard-badge{ position:absolute; right:-10px; top:-14px; background:var(--gs-accent); color:#13242a; font-weight:800; font-family:var(--gs-font-head);
  font-size:.74rem; text-align:center; line-height:1.1; padding:.6rem .7rem; border-radius:12px; box-shadow:var(--gs-sh); transform:rotate(6deg); }

/* ============================================================
   STAT STRIP
   ============================================================ */
.gs-stats{ background:#fff; border-bottom:1px solid var(--gs-line); }
.gs-stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; padding:26px 24px; text-align:center; }
.gs-stat-n{ display:block; font-family:var(--gs-font-head); font-weight:800; font-size:1.7rem; color:var(--gs-primary-700); }
.gs-stat-l{ display:block; font-size:.85rem; color:var(--gs-muted); margin-top:2px; }

/* ============================================================
   BENTO categories
   ============================================================ */
.gs-bento{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.gs-tile{ display:flex; flex-direction:column; gap:.3rem; background:#fff; border:1px solid var(--gs-line); border-radius:var(--gs-r);
  padding:20px; text-decoration:none; color:var(--gs-ink); box-shadow:var(--gs-sh-sm); transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease; }
.gs-tile:hover{ transform:translateY(-4px); box-shadow:var(--gs-sh); border-color:#cfe0db; }
.gs-tile-ic{ width:42px; height:42px; border-radius:11px; background:var(--gs-primary-50); color:var(--gs-primary-700); display:flex; align-items:center; justify-content:center; margin-bottom:.4rem; }
.gs-tile-ic svg{ width:22px; height:22px; }
.gs-tile-name{ font-family:var(--gs-font-head); font-weight:700; font-size:1rem; }
.gs-tile-count{ color:var(--gs-muted); font-size:.84rem; }
.gs-tile-desc{ color:var(--gs-muted); font-size:.92rem; line-height:1.5; }
.gs-tile-go{ margin-top:auto; color:var(--gs-accent-700); font-weight:700; font-size:.9rem; font-family:var(--gs-font-head); }
.gs-tile-hero{ grid-column:span 2; grid-row:span 2; background:linear-gradient(160deg,#0f7a64,#0b3b31); color:#fff; border:0; justify-content:flex-start; }
.gs-tile-hero .gs-tile-ic{ background:rgba(255,255,255,.14); color:#fff; width:52px; height:52px; }
.gs-tile-hero .gs-tile-name{ font-size:1.5rem; margin-top:.3rem; }
.gs-tile-hero .gs-tile-desc{ color:#d4e9e2; font-size:1rem; }

/* ============================================================
   PRODUCT CARDS
   ============================================================ */
.gs-prodgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:18px; }
.gs-pcard{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--gs-line); border-radius:var(--gs-r); overflow:hidden;
  text-decoration:none; color:var(--gs-ink); box-shadow:var(--gs-sh-sm); transition:transform .14s ease, box-shadow .14s ease; }
.gs-pcard:hover{ transform:translateY(-4px); box-shadow:var(--gs-sh); }
.gs-pcard-thumb{ position:relative; background:var(--gs-soft); aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.gs-pcard-thumb img{ width:100%; height:100%; object-fit:cover; }
.gs-pcard-tag{ position:absolute; left:10px; top:10px; background:rgba(12,31,27,.78); color:#fff; font-size:.68rem; font-weight:700; padding:.25rem .55rem; border-radius:var(--gs-r-pill); }
.gs-pcard-title{ font-weight:600; font-size:.94rem; line-height:1.35; padding:14px 14px 8px; flex:1; }
.gs-pcard-foot{ display:flex; align-items:center; justify-content:space-between; padding:0 14px 14px; }
.gs-pcard-price{ font-family:var(--gs-font-head); font-weight:700; color:var(--gs-primary-700); }
.gs-pcard-go{ color:var(--gs-accent-700); font-weight:700; font-size:.85rem; }

/* ============================================================
   HOW IT WORKS
   ============================================================ */
.gs-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; list-style:none; margin:0; padding:0; counter-reset:s; }
.gs-steps li{ position:relative; background:#fff; border:1px solid var(--gs-line); border-radius:var(--gs-r); padding:28px 22px; }
.gs-step-n{ display:flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%;
  background:var(--gs-primary); color:#fff; font-family:var(--gs-font-head); font-weight:800; margin-bottom:.8rem; }
.gs-steps h3{ font-size:1.08rem; margin:0 0 .35em; }
.gs-steps p{ color:var(--gs-muted); margin:0; line-height:1.55; font-size:.95rem; }

/* ============================================================
   WHY CHOOSE
   ============================================================ */
.gs-why{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.gs-whycard{ background:#fff; border:1px solid var(--gs-line); border-radius:var(--gs-r); padding:22px; box-shadow:var(--gs-sh-sm); }
.gs-why-ic{ width:46px; height:46px; border-radius:12px; background:var(--gs-primary-50); color:var(--gs-primary-700); display:flex; align-items:center; justify-content:center; margin-bottom:.7rem; }
.gs-why-ic svg{ width:24px; height:24px; }
.gs-whycard h3{ font-size:1.02rem; margin:0 0 .35em; }
.gs-whycard p{ color:var(--gs-muted); margin:0; font-size:.92rem; line-height:1.5; }

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.gs-testi{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.gs-tcard{ background:#fff; border:1px solid var(--gs-line); border-radius:var(--gs-r); padding:24px; margin:0; box-shadow:var(--gs-sh-sm); }
.gs-tstars{ color:var(--gs-accent); letter-spacing:2px; }
.gs-tcard blockquote{ margin:.7rem 0 1.1rem; border:0; padding:0; font-size:1rem; line-height:1.6; color:var(--gs-ink); }
.gs-tcard figcaption{ display:flex; align-items:center; gap:.7rem; font-size:.88rem; color:var(--gs-muted); }
.gs-tavatar{ width:40px; height:40px; border-radius:50%; background:var(--gs-primary); color:#fff; font-family:var(--gs-font-head); font-weight:800; display:flex; align-items:center; justify-content:center; }
.gs-microcopy{ text-align:center; color:var(--gs-muted); font-size:.82rem; margin-top:1.4rem; }

/* ============================================================
   CTA band
   ============================================================ */
.gs-cta{ width:100vw; position:relative; left:50%; transform:translateX(-50%); background:linear-gradient(135deg,var(--gs-primary),var(--gs-primary-900)); color:#fff; padding:var(--gs-space) 0; }
.gs-cta-inner{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.8rem; }
.gs-cta h2{ color:#fff; font-size:clamp(1.5rem,3vw,2rem); margin:0 0 .4rem; }
.gs-cta p{ color:#d4e9e2; margin:0; max-width:520px; }
.gs-leadform{ display:flex; gap:.6rem; flex:1 1 360px; max-width:480px; }
.gs-leadform input{ flex:1; border:0; border-radius:var(--gs-r-pill); padding:.85rem 1.2rem; font-size:1rem; font-family:var(--gs-font-body); }

/* ============================================================
   FAQ
   ============================================================ */
.gs-faq-wrap{ max-width:800px; }
.gs-faq{ border:1px solid var(--gs-line); border-radius:var(--gs-r-sm); margin:.55rem 0; background:#fff; overflow:hidden; }
.gs-faq summary{ cursor:pointer; font-family:var(--gs-font-head); font-weight:600; padding:1.05rem 1.15rem; list-style:none; color:var(--gs-ink); position:relative; }
.gs-faq summary::-webkit-details-marker{ display:none; }
.gs-faq summary::after{ content:'+'; position:absolute; right:1.15rem; color:var(--gs-primary); font-weight:700; font-size:1.3rem; line-height:1; }
.gs-faq[open] summary::after{ content:'\2013'; }
.gs-faq[open] summary{ color:var(--gs-primary-700); }
.gs-faq-a{ padding:0 1.15rem 1.05rem; color:var(--gs-muted); line-height:1.6; }

/* ============================================================
   PRODUCT PAGE helpers (used by functions.php)
   ============================================================ */
.gs-pills{ display:flex; flex-wrap:wrap; gap:.5rem; margin:.85rem 0 0; padding:0; list-style:none; }
.gs-pills li{ background:var(--gs-primary-50); color:var(--gs-primary-700); font-size:.8rem; font-weight:600; border-radius:var(--gs-r-pill); padding:.32rem .7rem; }
.gs-product-meta{ list-style:none; margin:1rem 0; padding:.9rem 1.1rem; border:1px solid var(--gs-line); border-radius:var(--gs-r-sm); background:var(--gs-soft); font-size:.92rem; }
.gs-product-meta li{ margin:.2rem 0; }
.gs-product-meta .gs-k{ color:var(--gs-muted); display:inline-block; min-width:96px; }
.gs-product-meta .gs-v{ font-weight:600; }
.gs-reviewed-by{ font-size:.86rem; color:var(--gs-muted); margin:.5rem 0; }
.gs-reviewed-by strong{ color:var(--gs-ink); }
.gs-sampleq{ border-left:3px solid var(--gs-primary); background:var(--gs-soft); padding:.9rem 1.1rem; border-radius:0 var(--gs-r-sm) var(--gs-r-sm) 0; margin:1rem 0; }
.gs-sampleq .gs-ans{ color:var(--gs-success); font-weight:700; }
.gs-sampleq .gs-rationale{ color:var(--gs-muted); font-size:.94rem; }
.single-product .entry-content h2{ font-size:1.35rem; margin-top:1.6rem; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product{ background:#fff; border:1px solid var(--gs-line); border-radius:var(--gs-r); padding:14px; box-shadow:var(--gs-sh-sm); transition:transform .14s ease, box-shadow .14s ease; }
.woocommerce ul.products li.product:hover{ transform:translateY(-4px); box-shadow:var(--gs-sh); }
/* category page intro */
.term-description{ max-width:760px; margin:0 auto 1.8rem; color:var(--gs-muted); font-size:1.04rem; line-height:1.6; text-align:center; }
.woocommerce .woocommerce-products-header__title, .woocommerce-products-header h1{ text-align:center; font-size:clamp(1.6rem,3vw,2.2rem); }

/* ============================================================
   FOOTER
   ============================================================ */
.gs-footer{ background:var(--gs-dark); color:#cdded8; padding:54px 0 14px; width:100vw; position:relative; left:50%; transform:translateX(-50%); }
.gs-footer-grid{ display:grid; gap:30px; grid-template-columns:1.5fr 1fr 1fr 1fr; }
.gs-foot-logo{ font-family:var(--gs-font-head); font-weight:800; font-size:1.25rem; color:#fff; }
.gs-foot-brand p{ color:#9fb6af; font-size:.92rem; line-height:1.55; margin:.6rem 0 0; max-width:330px; }
.gs-foot-col h4{ font-family:var(--gs-font-head); color:#fff; font-size:.95rem; margin:0 0 .7rem; }
.gs-foot-col ul{ list-style:none; margin:0; padding:0; }
.gs-foot-col li{ margin:.35rem 0; }
.gs-foot-col a{ color:#bcd2cb; text-decoration:none; font-size:.92rem; }
.gs-foot-col a:hover{ color:#fff; }
.site-info, .inside-site-info{ background:#081311; color:#8aa39c; font-size:.85rem; }
.site-info a{ color:#bcd2cb; }

/* ============================================================
   SCROLL REVEAL
   ============================================================ */
[data-reveal]{ opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
[data-reveal].is-visible{ opacity:1; transform:none; }
[data-reveal][data-reveal-delay="1"]{ transition-delay:.12s; }
@media (prefers-reduced-motion:reduce){ [data-reveal]{ opacity:1; transform:none; transition:none; } .gs-qcard{ transform:none; } }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:980px){
  .gs-hero-grid{ grid-template-columns:1fr; gap:36px; }
  .gs-hero-card{ max-width:440px; }
  .gs-bento{ grid-template-columns:repeat(2,1fr); }
  .gs-tile-hero{ grid-column:span 2; grid-row:span 1; }
  .gs-why, .gs-steps, .gs-testi{ grid-template-columns:1fr 1fr; }
  .gs-footer-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:600px){
  .gs-stats-grid{ grid-template-columns:1fr 1fr; gap:14px 8px; }
  .gs-bento{ grid-template-columns:1fr; }
  .gs-tile-hero{ grid-column:span 1; }
  .gs-why, .gs-steps, .gs-testi, .gs-footer-grid{ grid-template-columns:1fr; }
  .gs-search{ flex-wrap:wrap; border-radius:var(--gs-r); }
  .gs-search button{ width:100%; margin-top:.4rem; }
  .gs-cta-inner{ flex-direction:column; align-items:flex-start; }
  .gs-leadform{ width:100%; }
}
