/* ============================================================
   CANADA STEROID DEPOT — FRONT PAGE
   Loaded only on the homepage (see front-page-functions.php enqueue).
   All classes are csd- prefixed to avoid colliding with Martfury/Dokan
   CSS, same lesson learned from the header build.
   ============================================================ */

.csd-fp{overflow-x:hidden;max-width:100vw}
.csd-fp *{box-sizing:border-box}
.csd-container{max-width:1400px;margin:0 auto;padding:0 24px}
.csd-section{padding:64px 0;border-bottom:1px solid var(--border)}
.csd-eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--brand);display:flex;align-items:center;gap:10px;margin-bottom:12px}
.csd-eyebrow::before{content:"";width:24px;height:2px;background:var(--brand);border-radius:2px}
.csd-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:32px}
.csd-sec-head h2{font-family:var(--font-display);font-weight:700;font-size:32px;letter-spacing:-.02em;margin:0}
.csd-see-all{color:var(--action);font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:6px;flex:none}

.csd-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--font-body);font-weight:600;font-size:15px;border:1.5px solid transparent;border-radius:var(--r-md);padding:13px 22px;cursor:pointer;transition:background .2s,box-shadow .2s,transform .12s;text-decoration:none}
.csd-btn:active{transform:translateY(1px)}
.csd-btn-primary{background:var(--action);color:#fff;box-shadow:var(--sh-xs)}
.csd-btn-primary:hover{background:var(--action-hover);box-shadow:var(--sh-md)}
.csd-btn-outline-white{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.csd-btn-outline-white:hover{background:rgba(255,255,255,.08)}
.csd-btn-onblue{background:#fff;color:var(--action)}
.csd-btn-onblue:hover{background:var(--blue-50)}
.csd-btn-block{width:100%}

/* ---------- HERO ---------- */
.csd-hero{background:radial-gradient(900px 500px at 80% -10%,rgba(62,153,254,.28),transparent 60%),linear-gradient(160deg,var(--ink) 0%,var(--navy) 100%);color:#fff;position:relative;overflow:hidden}
.csd-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(700px 420px at 78% 12%,#000,transparent 75%);mask-image:radial-gradient(700px 420px at 78% 12%,#000,transparent 75%)}
.csd-hero-inner{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:76px 24px 84px;max-width:1280px;margin:0 auto}
.csd-hero h1{font-family:var(--font-display);font-weight:800;font-size:clamp(36px,4.4vw,58px);line-height:1.04;letter-spacing:-.03em;margin:0 0 18px;color:#fff}
.csd-hero h1 .csd-hl{background:linear-gradient(120deg,#8ec5fe,#3e99fe);-webkit-background-clip:text;background-clip:text;color:transparent}
.csd-hero p{font-size:18px;color:#c5d8ee;max-width:54ch;margin:0 0 28px}
.csd-hero .csd-eyebrow{color:#9fc8ff}
.csd-hero .csd-eyebrow::before{background:#9fc8ff}
.csd-hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:32px}
.csd-hero-chips{display:flex;flex-wrap:wrap;gap:10px}
.csd-chip{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:12.5px;padding:8px 13px;border-radius:9999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#d7e6f7}
.csd-chip svg{stroke:var(--accent)}
.csd-hero-visual{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.csd-hero-visual img{width:100%;height:100%;object-fit:cover;display:block}
.csd-hero-badge{position:absolute;top:14px;left:14px;background:var(--accent);color:#fff;font-family:var(--font-mono);font-size:12px;font-weight:600;padding:9px 14px;border-radius:var(--r-md);box-shadow:0 8px 20px rgba(13,143,126,.4);display:flex;align-items:center;gap:7px;z-index:2}

/* ---------- CATEGORIES ---------- */
.csd-cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}
.csd-cat-tile{display:flex;flex-direction:column;align-items:center;gap:14px;padding:28px 16px;border:1px solid var(--border);border-radius:var(--r-lg);background:#fff;text-align:center;transition:border-color .2s,box-shadow .2s,transform .2s;text-decoration:none;color:var(--text)}
.csd-cat-tile:hover{border-color:var(--brand);box-shadow:var(--sh-lg);transform:translateY(-4px)}
.csd-cat-tile .csd-ico{width:56px;height:56px;border-radius:14px;background:var(--blue-50);display:grid;place-items:center;color:var(--action)}
.csd-cat-tile .csd-label{font-family:var(--font-display);font-weight:600;font-size:15px}
.csd-cat-tile .csd-count{font-family:var(--font-mono);font-size:11px;color:var(--muted)}

/* ---------- PRODUCT CARDS (shared by Featured/Popular) ---------- */
.csd-pcard{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-xs);display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s;height:100%}
.csd-pcard:hover{box-shadow:var(--sh-lg);transform:translateY(-4px)}
.csd-pcard-thumb{height:200px;background:linear-gradient(135deg,var(--blue-50),var(--blue-100));position:relative;display:block;overflow:hidden}
.csd-pcard-thumb img{width:100%;height:100%;object-fit:contain;padding:16px}
.csd-badge{position:absolute;top:12px;left:12px;font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.5px;padding:4px 9px;border-radius:9999px;text-transform:uppercase;z-index:2}
.csd-badge--hot{background:#FEF3C7;color:#92400e}
.csd-badge--sale{background:#FEE2E2;color:#b91c1c}
.csd-pcard-body{padding:16px;display:flex;flex-direction:column;gap:7px;flex:1}
.csd-pname{font-family:var(--font-display);font-size:15px;font-weight:600;line-height:1.3;color:var(--text);text-decoration:none}
.csd-rating{display:flex;align-items:center;gap:6px;font-size:13px}
.csd-stars{color:#f59e0b;letter-spacing:1px}
.csd-rating-num{font-family:var(--font-mono);color:var(--muted);font-size:12px}
.csd-price{font-family:var(--font-display);font-size:18px;font-weight:700;margin-top:auto;color:var(--text)}
.csd-price del{font-family:var(--font-mono);font-size:13px;color:var(--muted);font-weight:400;margin-right:6px}
.csd-price ins{text-decoration:none}

/* ---------- CAROUSELS ---------- */
.csd-sec-head-actions{display:flex;align-items:center;gap:10px;flex:none}
.csd-carousel-nav-btn{width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid var(--border);display:grid;place-items:center;cursor:pointer;color:var(--ink);flex:none}
.csd-carousel-nav-btn:hover{border-color:var(--brand);color:var(--action)}
.csd-carousel-nav-btn:disabled{opacity:.35;cursor:default}

.csd-carousel-wrap{position:relative;max-width:100%}
.csd-carousel-viewport{overflow:hidden;max-width:100%}
.csd-carousel-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 4px 10px;max-width:100%;margin:0 auto;-ms-overflow-style:none;scrollbar-width:none}
.csd-carousel-track::-webkit-scrollbar{display:none}
.csd-carousel-track > *{flex:0 0 240px;scroll-snap-align:start}
.csd-carousel-track.csd-track--review > *{flex:0 0 340px}

/* ---------- NEW COLLECTION ---------- */
.csd-collection{padding:64px 0}
.csd-collection-panel{background:linear-gradient(135deg,var(--action),var(--brand));border-radius:24px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;color:#fff;box-shadow:0 20px 48px rgba(27,115,212,.3)}
.csd-collection-figure{background:rgba(255,255,255,.08);display:flex;align-items:center}
.csd-collection-figure img{width:100%;height:100%;object-fit:cover;display:block}
.csd-collection-body{padding:48px 44px}
.csd-collection-body .csd-eyebrow{color:#cfe6ff}
.csd-collection-body .csd-eyebrow::before{background:#cfe6ff}
.csd-collection-body h3{font-family:var(--font-display);font-weight:700;font-size:30px;letter-spacing:-.02em;margin:0 0 14px;line-height:1.15;color:#fff}
.csd-collection-body p{font-size:15.5px;color:#e3f0ff;max-width:42ch;margin:0 0 26px}

/* ---------- TRUST BADGES ---------- */
.csd-trust{background:linear-gradient(160deg,var(--ink),var(--navy));color:#fff;position:relative;overflow:hidden}
.csd-trust::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:radial-gradient(800px 360px at 50% 0%,#000,transparent 80%);mask-image:radial-gradient(800px 360px at 50% 0%,#000,transparent 80%)}
.csd-trust .csd-container{position:relative}
.csd-trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.csd-trust-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);padding:30px}
.csd-trust-ico{width:54px;height:54px;border-radius:14px;background:rgba(15,185,163,.15);display:grid;place-items:center;color:var(--accent);margin-bottom:18px}
.csd-trust-card h3{font-family:var(--font-display);font-size:18px;font-weight:600;margin:0 0 8px;color:#fff}
.csd-trust-card p{font-size:14px;color:#c5d8ee;margin:0}

/* ---------- REVIEWS ---------- */
.csd-reviews{background:var(--blue-50)}
.csd-rev-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:24px;box-shadow:var(--sh-xs);display:flex;flex-direction:column;gap:16px;height:100%}
.csd-rev-top{display:flex;align-items:center;gap:12px}
.csd-avatar{width:46px;height:46px;border-radius:50%;background:var(--slate-200);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;color:var(--slate-600);font-size:15px;flex:none}
.csd-rev-name{font-family:var(--font-display);font-weight:600;font-size:15px}
.csd-verified{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--accent-dark)}
.csd-rev-stars{display:flex;align-items:center;gap:8px}
.csd-rev-stars .csd-stars{font-size:16px;letter-spacing:2px}
.csd-rev-card p{font-size:14.5px;color:var(--slate-700);margin:0;flex:1;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.csd-rev-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px solid var(--slate-100);font-size:12px;color:var(--muted)}
.csd-rev-foot a{color:var(--action);font-weight:600;font-size:13px}

/* ---------- WHY BUY FROM US ---------- */
.csd-why{background:#fff;padding:72px 0;border-bottom:1px solid var(--border)}
.csd-why-intro{max-width:760px;margin:0 auto 48px;padding:0 24px}
.csd-why-intro h2{font-family:var(--font-display);font-weight:700;font-size:34px;letter-spacing:-.02em;margin:0 0 14px;line-height:1.15}
.csd-why-intro p{font-size:17px;color:var(--text-2);margin:0}
.csd-why-block{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;margin:0 auto 48px;max-width:1280px;padding:0 24px}
.csd-why-block:last-child{margin-bottom:0}
.csd-why-fig{height:300px;border-radius:var(--r-lg);display:grid;place-items:center}
.csd-why-fig--photo{width:100%;height:300px;object-fit:cover;display:block}
.csd-why-fig span{font-family:var(--font-mono);font-size:12px}
.csd-why-fig--a{background:repeating-linear-gradient(45deg,#0f2c4d,#0f2c4d 14px,#14375f 14px,#14375f 28px)}
.csd-why-fig--a span{color:rgba(255,255,255,.55)}
.csd-why-fig--b{background:repeating-linear-gradient(45deg,#1b73d4,#1b73d4 14px,#3e99fe 14px,#3e99fe 28px)}
.csd-why-fig--b span{color:rgba(255,255,255,.7)}
.csd-why-block h3{font-family:var(--font-display);font-weight:600;font-size:24px;letter-spacing:-.01em;margin:0 0 14px}
.csd-why-block p{font-size:15.5px;color:var(--text-2);margin:0 0 16px}
.csd-why-link{color:var(--action);font-weight:600;font-size:15px;display:inline-flex;align-items:center;gap:7px}

/* ---------- FAQ ---------- */
.csd-faq{background:var(--bg)}
.csd-faq-inner{max-width:880px;margin:0 auto;padding:0 24px}
.csd-faq-head{text-align:center;margin-bottom:36px}
.csd-faq-head h2{font-family:var(--font-display);font-weight:700;font-size:32px;letter-spacing:-.02em;margin:0}
.csd-faq-item{background:#fff;border:1px solid var(--border);border-radius:12px;margin-bottom:12px;overflow:hidden}
.csd-faq-q{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;cursor:pointer;font-family:var(--font-display);font-weight:600;font-size:16px;width:100%;border:0;background:none;text-align:left;color:var(--text)}
.csd-faq-q svg{flex:none;stroke:var(--slate-600);transition:transform .2s}
.csd-faq-a{padding:0 22px;max-height:0;overflow:hidden;color:var(--text-2);font-size:14.5px;transition:max-height .25s ease,padding .25s ease}
.csd-faq-item--open .csd-faq-q svg{stroke:var(--action);transform:rotate(180deg)}
.csd-faq-item--open .csd-faq-a{max-height:240px;padding:0 22px 20px}

/* ---------- ARTICLES ---------- */
.csd-art-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.csd-art-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-xs);display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s;text-decoration:none;color:inherit}
.csd-art-card:hover{box-shadow:var(--sh-lg);transform:translateY(-4px)}
.csd-art-thumb{height:180px;display:grid;place-items:center;background:repeating-linear-gradient(45deg,#0f2c4d,#0f2c4d 12px,#14375f 12px,#14375f 24px);overflow:hidden}
.csd-art-thumb img{width:100%;height:100%;object-fit:cover}
.csd-art-thumb span{font-family:var(--font-mono);font-size:11px;color:rgba(255,255,255,.55)}
.csd-art-body{padding:20px;display:flex;flex-direction:column;gap:8px}
.csd-art-tag{font-family:var(--font-mono);font-size:11px;color:var(--brand);text-transform:uppercase;letter-spacing:.6px}
.csd-art-title{font-family:var(--font-display);font-size:17px;font-weight:600;line-height:1.3;color:var(--text)}
.csd-art-date{font-family:var(--font-mono);font-size:12px;color:var(--muted);margin-top:4px}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px){
  .csd-hero-inner{grid-template-columns:1fr;gap:36px;padding:56px 24px 64px}
  .csd-hero-visual{max-width:520px}
}
@media (max-width:768px){
  .csd-section{padding:48px 0}
  .csd-why{padding:48px 0}
  .csd-sec-head h2,.csd-why-intro h2,.csd-faq-head h2{font-size:26px}
  .csd-collection-panel{grid-template-columns:1fr}
  .csd-collection-figure{min-height:220px}
  .csd-cat-grid .csd-cat-tile:nth-child(n+9){display:none}
  .csd-why-block,.csd-why-block--reverse{grid-template-columns:1fr}
  .csd-why-block .csd-why-fig{order:-1}

  /* Featured products becomes a static 2x2 grid on mobile instead of
     a single-card carousel -- shows the first 4 only, no scrolling. */
  .csd-track--featured{
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:12px;
    width:100% !important;
    max-width:100% !important;
    overflow:visible;
    scroll-snap-type:none;
    padding:4px 0 0;
  }
  .csd-track--featured > *:nth-child(n+5){display:none}
  #csd-featured .csd-carousel-nav-btn{display:none}

  /* Same treatment for Popular products */
  .csd-track--popular{
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:12px;
    width:100% !important;
    max-width:100% !important;
    overflow:visible;
    scroll-snap-type:none;
    padding:4px 0 0;
  }
  .csd-track--popular > *:nth-child(n+5){display:none}
  #csd-popular .csd-carousel-nav-btn{display:none}
}
@media (max-width:560px){
  .csd-container{padding:0 16px}
  .csd-hero h1{font-size:32px}
  .csd-hero p{font-size:16px}
  .csd-hero-cta .csd-btn{flex:1}
  .csd-cat-grid{grid-template-columns:1fr 1fr;gap:12px}
  .csd-sec-head{flex-direction:column;align-items:flex-start;gap:10px}
  .csd-collection-body{padding:32px 24px}
  .csd-carousel-nav-btn{display:none}
}