/*
Theme Name: DigiSell Premium
Theme URI: https://digisellstore.com
Description: Premium dark marketplace child theme for Twenty Twenty-Five. Design tokens live in theme.json; this file carries the bespoke component styles (glass cards, gradient CTAs, badges, countdown). Gutenberg-native — no Bricks, no WooCommerce. Checkout stays on SuperProfile.
Author: DigiSellStore
Template: twentytwentyfive
Version: 1.0.0
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: digisell-premium
*/

/* ============================================================
   Design tokens (mirror of theme.json — kept here so the .ds-*
   components render identically on front end AND in the editor).
   ============================================================ */
:root {
  --ds-bg-base:#08080D; --ds-bg-surface:#0E0E17;
  --ds-surface-glass:rgba(255,255,255,.03); --ds-surface-glass-hover:rgba(255,255,255,.06);
  --ds-border:rgba(255,255,255,.10); --ds-border-strong:rgba(255,255,255,.14);
  --ds-violet:#8B5CF6; --ds-violet-soft:#C4B5FD; --ds-pink:#EC4899; --ds-pink-soft:#F0ABFC;
  --ds-blue:#3878F6; --ds-blue-soft:#93C5FD; --ds-emerald:#10B981; --ds-emerald-soft:#6EE7B7;
  --ds-amber:#F59E0B; --ds-amber-soft:#FBBF24; --ds-rose:#EF4444; --ds-rose-soft:#FCA5A5;
  --ds-text:#EDEDF2; --ds-text-muted:#A6A6BC; --ds-text-faint:#8A8AA0;
  --ds-grad-cta:linear-gradient(135deg,#8B5CF6,#EC4899);
  --ds-grad-hero:linear-gradient(110deg,#C4B5FD,#F0ABFC,#93C5FD);
  --ds-grad-sig:linear-gradient(135deg,#8B5CF6,#EC4899 55%,#3878F6);
  --ds-font-display:'Space Grotesk',system-ui,sans-serif;
  --ds-font-body:'Geist',-apple-system,system-ui,sans-serif;
  --ds-font-mono:'Geist Mono',ui-monospace,monospace;
  --ds-r-sm:10px; --ds-r-md:13px; --ds-r-lg:20px; --ds-r-xl:28px; --ds-r-pill:999px;
  --ds-shadow-cta:0 14px 40px -10px rgba(236,72,153,.7);
  --ds-shadow-card-hover:0 24px 50px -20px rgba(139,92,246,.5);
  --ds-blur:blur(14px);
}

/* ---- Base / a11y ---- */
body { background:var(--ds-bg-base); color:var(--ds-text); font-family:var(--ds-font-body); }
::selection { background:rgba(168,120,255,.35); }
a, button { -webkit-tap-highlight-color:transparent; }
:where(a,button,input,textarea,[tabindex]):focus-visible {
  outline:2px solid var(--ds-violet-soft); outline-offset:3px; border-radius:10px;
}
.ds-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.ds-skip-link { position:absolute; left:-9999px; top:0; z-index:999; background:var(--ds-violet); color:#fff; padding:12px 18px; border-radius:0 0 10px 0; font-weight:600; text-decoration:none; }
.ds-skip-link:focus { left:0; }

/* ---- Typography helpers ---- */
.ds-eyebrow { font-family:var(--ds-font-mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--ds-violet-soft); }
.ds-grad-text, .ds-grad-text * {
  background:var(--ds-grad-hero); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}

/* ---- Section surface / panels ---- */
.ds-section { padding-block:var(--wp--preset--spacing--100, 72px); }
.ds-panel {
  background:var(--ds-surface-glass); border:1px solid var(--ds-border);
  border-radius:var(--ds-r-xl); backdrop-filter:var(--ds-blur);
}

/* ---- Buttons (applied to link/button blocks via className) ---- */
.ds-btn, a.ds-btn {
  font-family:var(--ds-font-body); font-weight:600; font-size:15px; border:none;
  border-radius:var(--ds-r-md); padding:15px 28px; cursor:pointer; display:inline-flex;
  align-items:center; justify-content:center; gap:8px; text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.ds-btn--primary { color:#fff; background:var(--ds-grad-cta); box-shadow:var(--ds-shadow-cta); }
.ds-btn--primary:hover { transform:translateY(-2px); }
.ds-btn--secondary { color:var(--ds-text); background:var(--ds-surface-glass); border:1px solid var(--ds-border-strong); backdrop-filter:var(--ds-blur); }
.ds-btn--secondary:hover { background:var(--ds-surface-glass-hover); }
.ds-btn--ghost { color:var(--ds-violet-soft); background:transparent; border:1px solid rgba(196,181,253,.35); }
.ds-btn--wide { width:100%; }

/* ---- Inputs ---- */
.ds-input { font-family:var(--ds-font-body); font-size:15px; color:var(--ds-text); background:var(--ds-surface-glass); border:1px solid var(--ds-border-strong); border-radius:var(--ds-r-md); padding:14px 16px; outline:none; width:100%; }
.ds-input::placeholder { color:#5c5c72; }
.ds-input:focus { border-color:rgba(167,139,250,.7); box-shadow:0 0 0 3px rgba(139,92,246,.18); }

/* ---- Cards ---- */
.ds-card {
  border:1px solid var(--ds-border); border-radius:var(--ds-r-lg); overflow:hidden;
  background:var(--ds-surface-glass); text-decoration:none; color:inherit; display:block;
  position:relative; transition:transform .22s, border-color .22s, box-shadow .22s;
}
.ds-card:hover { transform:translateY(-6px); border-color:rgba(196,181,253,.35); box-shadow:var(--ds-shadow-card-hover); }
.ds-card__emoji { font-size:34px; line-height:1; }
.ds-price { font-family:var(--ds-font-display); font-weight:700; font-size:20px; color:var(--ds-text); }
.ds-price--was { font-size:13px; color:var(--ds-text-faint); text-decoration:line-through; margin-left:8px; }

/* ---- Card grid (auto-fit, responsive without media queries) ---- */
.ds-grid-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; }
.ds-grid-cards > * { margin:0 !important; }
.ds-checklist { list-style:none; padding-left:0; }
.ds-checklist li { margin:0 0 10px; color:var(--ds-text-muted); }

/* ---- Badges / chips ---- */
.ds-badge { font-family:var(--ds-font-mono); font-size:10px; font-weight:500; letter-spacing:.06em; text-transform:uppercase; border-radius:7px; padding:5px 9px; display:inline-flex; align-items:center; gap:4px; }
.ds-badge--best { color:#0c0c14; background:linear-gradient(135deg,#FBBF24,#F59E0B); }
.ds-badge--new { color:#fff; background:var(--ds-grad-cta); }
.ds-badge--hot { color:var(--ds-rose-soft); background:rgba(239,68,68,.18); }
.ds-badge--save { color:var(--ds-emerald-soft); border:1px solid rgba(110,231,183,.3); background:rgba(16,185,129,.1); }
.ds-chip { display:inline-flex; align-items:center; gap:6px; font-size:12.5px; color:var(--ds-text-muted); border:1px solid var(--ds-border); border-radius:var(--ds-r-pill); padding:7px 13px; }

/* ---- Header / footer branding ---- */
.ds-header { position:sticky; top:0; z-index:60; backdrop-filter:blur(18px); background:rgba(8,8,13,.72); border-bottom:1px solid rgba(255,255,255,.07); }
.ds-footer { border-top:1px solid var(--ds-border); background:var(--ds-bg-surface); }
.ds-logo__mark { width:26px; height:26px; border-radius:8px; background:var(--ds-grad-cta); box-shadow:0 0 18px rgba(167,139,250,.6); display:inline-block; }

/* ---- Countdown ---- */
.ds-countdown { display:inline-flex; gap:10px; font-family:var(--ds-font-mono); }
.ds-countdown span { background:var(--ds-surface-glass); border:1px solid var(--ds-border-strong); border-radius:var(--ds-r-sm); padding:8px 12px; min-width:54px; text-align:center; font-size:20px; color:var(--ds-text); }
.ds-countdown span small { display:block; font-size:9px; color:var(--ds-text-faint); letter-spacing:.1em; text-transform:uppercase; }

/* ---- Sticky mobile buy bar ---- */
.ds-mobile-bar { display:none; position:fixed; bottom:0; left:0; right:0; z-index:70; backdrop-filter:blur(18px); background:rgba(8,8,13,.92); border-top:1px solid rgba(255,255,255,.09); padding:12px 20px calc(12px + env(safe-area-inset-bottom)); align-items:center; gap:14px; }
@media (max-width:860px) { .ds-mobile-bar { display:flex; } }

/* ---- FAQ (native details) ---- */
.ds-faq details { border:1px solid var(--ds-border); border-radius:var(--ds-r-md); padding:16px 18px; background:var(--ds-surface-glass); margin-bottom:12px; }
.ds-faq summary { cursor:pointer; font-weight:600; color:var(--ds-text); list-style:none; }
.ds-faq summary::-webkit-details-marker {