/* Icy Collections Styles */
:root{
  --brand:#e11d48; --brand-ink:#fff;
  --bg:#0b0c0f; --surface:#12141a; --ink:#e8e8ea; --muted:#a2a6b0;
  --ring:0 0 0 3px rgba(225,29,72,.35);
  --radius:14px; --space-s:.75rem; --space-m:1rem; --space-l:1.5rem; --space-xl:2rem; --space-2xl:3rem;
  --maxw:72rem; --shadow:0 10px 30px rgba(0,0,0,.25);
  color-scheme: dark;
}
@media (prefers-color-scheme: light){
  :root{ --bg:#fff; --surface:#f8fafc; --ink:#0f172a; --muted:#475569; color-scheme: light; }
}
*{ box-sizing:border-box }
body{ margin:0; font:16px/1.6 system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Arial, sans-serif; color:var(--ink); background:linear-gradient(180deg,var(--bg),#0b0c0f 60%); }
img{ max-width:100%; display:block }
a{ color:var(--brand); text-decoration:none }
a:hover{ text-decoration:underline }
.container{ width:min(100% - 2rem, var(--maxw)); margin-inline:auto }
.section{ padding: var(--space-2xl) 0 }
.section.alt{ background: linear-gradient(180deg, rgba(148,163,184,.07), transparent) }
.section__header{ text-align:center; margin-bottom: var(--space-xl) }
h1,h2,h3{ margin:0 0 .5em; line-height:1.2 }
.lead{ color:var(--muted) }
.grid-two{ display:grid; gap:var(--space-xl); grid-template-columns: 1.1fr .9fr; align-items:center }
.grid-three{ display:grid; gap:var(--space-l); grid-template-columns: repeat(3,1fr) }
@media (max-width:900px){ .grid-two,.grid-three{ grid-template-columns:1fr } }
.stack{ display:flex; flex-direction:column }
.stack.gap-s{ gap:.75rem } .stack.gap-m{ gap:1rem }
.cluster{ display:flex; flex-wrap:wrap; align-items:center; gap:.75rem } .cluster.spread{ justify-content:space-between }
.card{ background:var(--surface); border-radius:var(--radius); box-shadow:var(--shadow); padding: var(--space-l); border:1px solid rgba(148,163,184,.12) }
.btn{ display:inline-block; padding:.75rem 1rem; border-radius:.8rem; background:var(--brand); color:var(--brand-ink); border:none; font-weight:700; box-shadow:0 6px 16px rgba(225,29,72,.35) }
.btn:hover{ filter:brightness(1.05); text-decoration:none } .btn--ghost{ background:transparent; color:var(--ink); border:1px solid rgba(148,163,184,.3); box-shadow:none }
.btn--sm{ padding:.55rem .8rem; font-size:.9rem } .btn--full{ display:block; text-align:center }
.badge{ display:inline-block; background: rgba(225,29,72,.18); color:var(--brand); padding:.25rem .5rem; border-radius:.5rem; font-weight:700; margin-bottom:.25rem }
.price{ font-size:2rem; font-weight:800 } .price span{ font-size:1rem; color:var(--muted) }
.muted{ color:var(--muted) }
.site-header{ position:sticky; top:0; backdrop-filter: blur(8px); background: color-mix(in oklab, var(--bg) 75%, transparent); z-index:10; border-bottom:1px solid rgba(148,163,184,.12) }
.header-inner{ display:flex; align-items:center; justify-content:space-between; padding:.75rem 0 }
.brand{ display:flex; align-items:center; gap:.6rem; font-weight:900; letter-spacing:.2px; color:var(--ink) }
.nav__toggle{ display:none; border:1px solid rgba(148,163,184,.3); background:transparent; color:var(--ink); padding:.4rem .6rem; border-radius:.6rem }
.nav__list{ display:flex; gap:1rem; align-items:center; list-style:none; padding:0; margin:0 }
.icon-btn{ background:transparent; border:1px solid rgba(148,163,184,.3); color:var(--ink); padding:.35rem .6rem; border-radius:.6rem; cursor:pointer }
.cart-count{ margin-left:.35rem; background:rgba(225,29,72,.18); color:var(--brand); padding:.05rem .35rem; border-radius:.5rem; font-size:.8rem }
@media (max-width:850px){ .nav__toggle{ display:inline-block } .nav__list{ position:absolute; right:1rem; top:calc(100% + .5rem); background:var(--surface); border:1px solid rgba(148,163,184,.2); padding:.75rem; border-radius:.8rem; display:none; flex-direction:column; min-width:12rem } .nav__list.show{ display:flex } }
.hero{ padding-top:4rem }
.checklist{ list-style:none; padding:0; margin:1rem 0 0 } .checklist li::before{ content:"✓"; color:#10b981; margin-right:.5rem }
.bullets{ list-style:none; padding:0; margin:0 } .bullets li{ padding-left:1.25rem; position:relative } .bullets li+li{ margin-top:.35rem } .bullets li::before{ content:"•"; position:absolute; left:0; color:var(--brand) }
.gallery img{ border-radius:var(--radius) }
label span{ display:block; margin-bottom:.35rem; font-weight:600 }
input[type="text"],input[type="email"],textarea{ width:100%; padding:.7rem .9rem; border-radius:.6rem; border:1px solid rgba(148,163,184,.3); background:transparent; color:var(--ink) }
input:focus,textarea:focus{ outline: var(--ring) }
.switch{ display:inline-flex; align-items:center; gap:.5rem; cursor:pointer; user-select:none } .switch input{ display:none } .slider{ width:42px; height:24px; background: rgba(148,163,184,.35); border-radius:20px; position:relative; transition:.2s } .slider::after{ content:""; position:absolute; width:18px; height:18px; border-radius:50%; background:#fff; left:3px; top:3px; transition:.2s } .switch input:checked + .slider{ background:var(--brand) } .switch input:checked + .slider::after{ transform:translateX(18px) }
.site-footer{ padding: var(--space-xl) 0; border-top:1px solid rgba(148,163,184,.12); margin-top: var(--space-2xl) }
.sr-only,.skip-link{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0 }
.skip-link:focus{ left:1rem; top:1rem; width:auto; height:auto; background:var(--brand); color:var(--brand-ink); padding:.5rem .75rem; border-radius:.5rem; z-index:999 }
.cart{ position:fixed; right:0; top:0; bottom:0; width:min(420px,100%); background:var(--surface); box-shadow: -10px 0 30px rgba(0,0,0,.35); transform: translateX(100%); transition: .25s; z-index:20; border-left:1px solid rgba(148,163,184,.2) }
.cart.open{ transform: translateX(0) } .cart__inner{ height:100%; display:flex; flex-direction:column; padding:1rem; gap:1rem }
.cart__items{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.75rem; overflow:auto }
.cart__item{ display:flex; align-items:center; gap:.75rem; justify-content:space-between; border:1px solid rgba(148,163,184,.12); border-radius:.6rem; padding:.6rem }
.cart__footer{ border-top:1px solid rgba(148,163,184,.12); padding-top:.75rem }
.modal{ position:fixed; inset:0; background: rgba(0,0,0,.5); display:none; place-items:center; z-index:25 }
.modal.open{ display:grid } .modal__inner{ background:var(--surface); padding:1rem; border-radius:.8rem; width:min(92vw,520px) }

/* Icy standard photo style */
.icy-photo{box-shadow:0 0 25px rgba(225,29,72,.4);border-radius:12px}


/* Icy "New" badge styling */
.badge {
  display:inline-block;
  font-size:0.7rem;
  text-transform:uppercase;
  letter-spacing:0.08em;
  padding:0.15rem 0.5rem;
  border-radius:999px;
  background:#e11d48;
  color:#fff;
  margin-bottom:0.3rem;
}
.badge--new {
  background:#e11d48;
  color:#fff;
}
.badge-row {
  display:flex;
  justify-content:flex-start;
}



/* Simple filter pill row above shop grid */
.filter-row {
  display:flex;
  align-items:center;
  gap:0.75rem;
  margin-bottom:1rem;
  flex-wrap:wrap;
}
.filter-pill {
  border-radius:999px;
  border:1px solid rgba(148,163,184,.6);
  padding:0.15rem 0.75rem;
  font-size:0.75rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.filter-pill--active {
  background:#e11d48;
  border-color:#e11d48;
  color:#fff;
}

