/*
 * ╔══════════════════════════════════════════════════════════════╗
 * ║          TORVALI THEME — FROZEN DUSK                         ║
 * ║  A deep, luxurious winter theme inspired by moonlit snow,    ║
 * ║  frozen lakes, silver birch forests, and ice-crystal blue.   ║
 * ║                                                              ║
 * ║  HOW IT WORKS                                                ║
 * ║  • This file is loaded AFTER the base storefront styles      ║
 * ║  • Override any variable or class below                      ║
 * ║  • The merchant's chosen accent color is applied via JS      ║
 * ║    and will override --accent at runtime                     ║
 * ║  • See /theme-spec for full documentation                    ║
 * ╚══════════════════════════════════════════════════════════════╝
 */


/* ═══════════════════════════════════════════════════════════════
   GOOGLE FONTS — Cormorant Garamond (headings) + Outfit (body)
   ═══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,600;0,700;1,400;1,600&family=Outfit:wght@300;400;500;600;700&display=swap');

:root {
  --font: 'Outfit', sans-serif;
}

body {
  font-family: var(--font);
}

h1, h2, h3, h4, .sf-logo, .sf-footer-brand .sf-footer-name {
  font-family: 'Cormorant Garamond', serif;
}


/* ═══════════════════════════════════════════════════════════════
   1. DESIGN TOKENS — Frozen Dusk Palette
   ═══════════════════════════════════════════════════════════════ */

:root {
  /* Accent — glacial ice blue */
  --accent:       #5EADD4;
  --accent-dark:  #2E7FA8;

  /* Surfaces — deep midnight blue-black */
  --surface:      #0F1923;
  --white:        #111D28;   /* "white" is deep navy in dark theme */

  /* Typography */
  --text:         #E8EFF5;   /* pale frost white */
  --text-muted:   #7B9BB5;   /* steel-blue muted */

  /* Borders — faint ice-blue shimmer */
  --border:       #1E3245;

  /* Shape — sharper angles, like frozen crystal edges */
  --radius:       8px;

  /* Elevation — deep cold shadows */
  --shadow:
    0 2px 8px rgba(0, 0, 0, 0.40),
    0 12px 32px rgba(0, 0, 0, 0.30);

  /* Winter palette extras */
  --frost-white:    #E8EFF5;
  --ice-blue:       #A8D4E8;
  --glacier:        #5EADD4;
  --deep-navy:      #0A1420;
  --midnight:       #060D16;
  --silver:         #B8C8D4;
  --aurora-teal:    #2DD4BF;
  --aurora-violet:  #818CF8;
  --ember-gold:     #F59E0B;   /* fireplace warmth accent */
  --ember-orange:   #EA580C;
  --snow:           #F0F6FA;
}


/* ═══════════════════════════════════════════════════════════════
   2. NAVIGATION — frosted glass on dark night sky
   ═══════════════════════════════════════════════════════════════ */

.sf-nav {
  background: rgba(10, 20, 32, 0.88);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(94, 173, 212, 0.15);
  box-shadow: 0 1px 0 rgba(94, 173, 212, 0.08), 0 4px 24px rgba(0,0,0,0.35);
}

.sf-logo {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem;
  font-weight: 700;
  font-style: italic;
  letter-spacing: 0.02em;
  /* Moonlit silver-to-ice gradient */
  background: linear-gradient(135deg, #E8EFF5 0%, var(--glacier) 60%, var(--aurora-teal) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}


/* ═══════════════════════════════════════════════════════════════
   3. ANNOUNCEMENT BAR — aurora borealis ribbon
   ═══════════════════════════════════════════════════════════════ */

.sf-announcement {
  background: linear-gradient(90deg,
    var(--deep-navy)      0%,
    #0E3D5C               20%,
    #0D4A6B               40%,
    #1A3A6E               60%,
    #2D1B4E               80%,
    var(--deep-navy)      100%);
  /* Aurora shimmer effect via border */
  border-bottom: 1px solid rgba(94, 173, 212, 0.25);
  color: var(--ice-blue);
  font-family: 'Outfit', sans-serif;
  font-size: 0.85rem;
  font-weight: 500;
  padding: 10px 24px;
  text-align: center;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}


/* ═══════════════════════════════════════════════════════════════
   4. HERO SECTION — moonlit frozen tundra
   ═══════════════════════════════════════════════════════════════ */

.sf-hero-bg {
  /* Deep midnight sky to frozen ground */
  background: linear-gradient(
    170deg,
    #060D16  0%,
    #0A1828  30%,
    #0D2640  55%,
    #0F3355  75%,
    #0A2845  100%
  );
  position: relative;
  overflow: hidden;
}

/* Aurora borealis glow layers */
.sf-hero-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(ellipse 70% 40% at 20% 30%, rgba(45, 212, 191, 0.12) 0%, transparent 60%),
    radial-gradient(ellipse 50% 30% at 75% 20%, rgba(129, 140, 248, 0.10) 0%, transparent 55%),
    radial-gradient(ellipse 40% 25% at 50% 60%, rgba(94, 173, 212, 0.08) 0%, transparent 50%),
    radial-gradient(ellipse 80% 20% at 50% 100%, rgba(14, 61, 92, 0.80) 0%, transparent 60%);
  pointer-events: none;
}

/* Snowfield shimmer at bottom */
.sf-hero-bg::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 120px;
  background: linear-gradient(to top, rgba(94, 173, 212, 0.06) 0%, transparent 100%);
  pointer-events: none;
}

.sf-hero h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.4rem, 6vw, 3.8rem);
  font-weight: 600;
  font-style: italic;
  color: var(--frost-white);
  line-height: 1.10;
  margin-bottom: 20px;
  letter-spacing: -0.01em;
  /* Frost crystal text shadow */
  text-shadow:
    0 0 40px rgba(94, 173, 212, 0.30),
    0 2px 20px rgba(0,0,0,0.50);
}

.sf-hero-desc {
  color: rgba(168, 212, 232, 0.85);
  font-family: 'Outfit', sans-serif;
  font-size: 1.05rem;
  font-weight: 300;
  max-width: 500px;
  line-height: 1.8;
  letter-spacing: 0.01em;
}

.sf-hero-btn {
  background: transparent;
  color: var(--frost-white);
  padding: 14px 32px;
  border-radius: var(--radius);
  border: 1.5px solid rgba(94, 173, 212, 0.55);
  font-family: 'Outfit', sans-serif;
  font-weight: 600;
  font-size: 0.95rem;
  display: inline-block;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  /* Frosted glass button */
  background: rgba(94, 173, 212, 0.10);
  backdrop-filter: blur(8px);
  box-shadow: 0 0 20px rgba(94, 173, 212, 0.12), inset 0 1px 0 rgba(255,255,255,0.08);
  transition: background 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.sf-hero-btn:hover {
  background: rgba(94, 173, 212, 0.22);
  border-color: rgba(94, 173, 212, 0.85);
  box-shadow: 0 0 32px rgba(94, 173, 212, 0.25), inset 0 1px 0 rgba(255,255,255,0.12);
}


/* ═══════════════════════════════════════════════════════════════
   5. CATEGORY BAR — dark ice shelf
   ═══════════════════════════════════════════════════════════════ */

.sf-cats {
  border-bottom: 1px solid var(--border);
  background: var(--white);
}

.sf-cat-btn {
  color: var(--text-muted);
  font-family: 'Outfit', sans-serif;
  font-weight: 500;
  font-size: 0.875rem;
  border-bottom: 2px solid transparent;
  padding: 14px 18px;
  letter-spacing: 0.04em;
  transition: color 0.15s;
}

.sf-cat-btn:hover {
  color: var(--ice-blue);
}

.sf-cat-btn.active {
  color: var(--glacier);
  border-bottom-color: var(--glacier);
}


/* ═══════════════════════════════════════════════════════════════
   6. PRODUCT CARDS — dark glass panels, frost on hover
   ═══════════════════════════════════════════════════════════════ */

.sf-product-card {
  background: var(--surface);
  border-radius: var(--radius);
  border: 1px solid var(--border);
  overflow: hidden;
  transition: box-shadow 0.22s ease, transform 0.22s ease, border-color 0.22s ease;
  cursor: pointer;
}

.sf-product-card:hover {
  box-shadow: var(--shadow), 0 0 0 1px rgba(94, 173, 212, 0.20);
  transform: translateY(-3px);
  border-color: rgba(94, 173, 212, 0.30);
}

.sf-product-name {
  font-family: 'Outfit', sans-serif;
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.45;
  color: var(--frost-white);
}

.sf-price {
  font-family: 'Outfit', sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--glacier);
}

/* Sale badge — ember gold warmth against the cold */
.sf-discount-badge {
  background: rgba(245, 158, 11, 0.15);
  color: var(--ember-gold);
  font-family: 'Outfit', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 4px;
  border: 1px solid rgba(245, 158, 11, 0.25);
  letter-spacing: 0.03em;
}


/* ═══════════════════════════════════════════════════════════════
   7. CART BUTTON & SIDEBAR
   ═══════════════════════════════════════════════════════════════ */

.sf-cart-count {
  background: var(--glacier);
  color: var(--deep-navy);
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
}

.sf-cart-checkout-btn {
  background: linear-gradient(135deg, var(--glacier) 0%, var(--aurora-teal) 100%);
  color: var(--deep-navy);
  border-radius: var(--radius);
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.9rem;
  box-shadow: 0 4px 20px rgba(94, 173, 212, 0.30);
  transition: filter 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.sf-cart-checkout-btn:hover {
  filter: brightness(1.10);
  transform: translateY(-1px);
  box-shadow: 0 8px 28px rgba(94, 173, 212, 0.40);
}


/* ═══════════════════════════════════════════════════════════════
   8. FOOTER — deep arctic midnight
   ═══════════════════════════════════════════════════════════════ */

.sf-footer {
  background: var(--midnight);
  color: var(--text-muted);
  padding: 64px 24px 36px;
  border-top: 1px solid var(--border);
  /* Faint aurora across the top */
  box-shadow: inset 0 1px 0 rgba(94, 173, 212, 0.12);
}

.sf-footer-brand .sf-footer-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.35rem;
  font-weight: 700;
  font-style: italic;
  background: linear-gradient(135deg, var(--frost-white) 0%, var(--glacier) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.sf-footer-col h4 {
  font-family: 'Outfit', sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--silver);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.sf-footer-col ul li a {
  color: var(--text-muted);
  font-family: 'Outfit', sans-serif;
  font-weight: 300;
  transition: color 0.15s;
}

.sf-footer-col ul li a:hover {
  color: var(--ice-blue);
}


/* ═══════════════════════════════════════════════════════════════
   9. BUTTONS & FORM INPUTS
   ═══════════════════════════════════════════════════════════════ */

.btn-primary,
.cart-checkout-btn,
.checkout-submit {
  background: linear-gradient(135deg, var(--glacier) 0%, var(--aurora-teal) 100%);
  color: var(--deep-navy);
  border-radius: var(--radius);
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.9rem;
  box-shadow: 0 4px 20px rgba(94, 173, 212, 0.25);
  transition: filter 0.15s ease, transform 0.15s ease;
}

.btn-primary:hover,
.cart-checkout-btn:hover,
.checkout-submit:hover {
  filter: brightness(1.10);
  transform: translateY(-1px);
}

input,
select,
textarea {
  background: var(--surface);
  border-color: var(--border);
  color: var(--frost-white);
  font-family: 'Outfit', sans-serif;
}

input::placeholder,
textarea::placeholder {
  color: var(--text-muted);
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--glacier);
  outline: none;
  box-shadow: 0 0 0 3px rgba(94, 173, 212, 0.18);
}


/* ═══════════════════════════════════════════════════════════════
   10. RATINGS & REVIEWS — cold ember gold
   ═══════════════════════════════════════════════════════════════ */

.sf-stars {
  color: var(--ember-gold);
  filter: drop-shadow(0 0 4px rgba(245, 158, 11, 0.35));
}


/*
 * ─── FROZEN DUSK THEME NOTES ───────────────────────────────────
 *
 *  Palette summary:
 *    Accent       — Glacial Ice     #5EADD4
 *    Teal         — Aurora Teal     #2DD4BF
 *    Violet       — Aurora Violet   #818CF8
 *    Gold         — Ember/Fireplace #F59E0B
 *    Frost White  — Moonlit Snow    #E8EFF5
 *    Surface      — Midnight Navy   #0F1923
 *    Deep         — Arctic Night    #060D16
 *    Muted        — Steel Blue      #7B9BB5
 *
 *  Typography:
 *    Headings     — Cormorant Garamond (italic, elegant, old-world cold)
 *    Body         — Outfit (light weight, geometric, ultra-clean)
 *
 *  Special effects:
 *    • Hero has layered aurora borealis radial gradients
 *    • Hero CTA is a frosted-glass ghost button
 *    • Logo uses moonlit silver-to-ice gradient text
 *    • Sale badges use ember gold — warm contrast against cold blue
 *    • Checkout button inverts to dark text on bright ice gradient
 *    • Inputs styled for dark surfaces with frost-blue focus ring
 *    • Page background stays dark throughout (true dark theme)
 *
 * ─── TIPS ──────────────────────────────────────────────────────
 *
 *  • Keep file size under 1 MB
 *  • Avoid JavaScript or <script> tags — CSS only
 *  • Test by uploading to your own merchant store first
 *
 * ─── SUBMIT ────────────────────────────────────────────────────
 *
 *  Ready? Head to /designer → Submit New → Theme
 *
 * ───────────────────────────────────────────────────────────── */
