/* ============================================================================
   Solwen — footwear vitrine. Design system prefix: sw-
   Palette: ivory #f4f1ea · ink #14151a · cobalt #2b4cf0
   Type: Archivo Black (display) · Public Sans (text)
   ========================================================================== */

:root{
  --sw-ivory:#f4f1ea;
  --sw-ivory-2:#ece7dc;
  --sw-paper:#fbfaf6;
  --sw-ink:#14151a;
  --sw-ink-2:#2a2c34;
  --sw-mute:#6b6d77;
  --sw-line:#dcd7ca;
  --sw-line-2:#e7e2d6;
  --sw-cobalt:#2b4cf0;
  --sw-cobalt-d:#1f3ad0;
  --sw-cobalt-wash:#e7ebfe;
  --sw-white:#ffffff;

  --sw-display:'Archivo Black','Arial Black',system-ui,sans-serif;
  --sw-text:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;

  --sw-maxw:1280px;
  --sw-gap:clamp(1rem,3vw,2rem);
  --sw-pad:clamp(1rem,5vw,4rem);
  --sw-radius:4px;
  --sw-radius-lg:10px;
  --sw-head-h:72px;
  --sw-shadow:0 1px 2px rgba(20,21,26,.05),0 8px 30px rgba(20,21,26,.07);
  --sw-shadow-lg:0 30px 80px -20px rgba(20,21,26,.35);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--sw-text);
  color:var(--sw-ink);
  background:var(--sw-ivory);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
h1,h2,h3,h4{margin:0;font-weight:400;line-height:1.05}
p{margin:0}
ul{margin:0;padding:0;list-style:none}

.sw-container{max-width:var(--sw-maxw);margin:0 auto;padding-inline:var(--sw-pad)}
.sw-display{font-family:var(--sw-display)}
.sw-eyebrow{
  font-family:var(--sw-text);font-weight:700;font-size:.72rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--sw-cobalt);
}
.sw-eyebrow-mute{color:var(--sw-mute)}

/* ── Buttons ───────────────────────────────────────────────── */
.sw-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--sw-text);font-weight:700;font-size:.92rem;letter-spacing:.01em;
  padding:.85rem 1.5rem;border:1.5px solid var(--sw-ink);border-radius:999px;
  background:var(--sw-ink);color:var(--sw-ivory);transition:.18s ease;white-space:nowrap;
}
.sw-btn:hover{background:var(--sw-cobalt);border-color:var(--sw-cobalt);color:#fff}
.sw-btn-cobalt{background:var(--sw-cobalt);border-color:var(--sw-cobalt);color:#fff}
.sw-btn-cobalt:hover{background:var(--sw-cobalt-d);border-color:var(--sw-cobalt-d)}
.sw-btn-ghost{background:transparent;color:var(--sw-ink)}
.sw-btn-ghost:hover{background:var(--sw-ink);color:var(--sw-ivory)}
.sw-btn-sm{padding:.55rem 1rem;font-size:.82rem}
.sw-btn-block{width:100%}
.sw-btn:disabled{opacity:.45;pointer-events:none}

.sw-arrowlink{
  display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:.9rem;
  color:var(--sw-ink);border-bottom:2px solid transparent;padding-bottom:2px;transition:.18s;
}
.sw-arrowlink:hover{border-color:var(--sw-cobalt);color:var(--sw-cobalt)}
.sw-arrowlink svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}

/* ============================================================================
   HEADER — MINIMAL (archetype E): logo + "Menu" button; nav lives in a panel
   that slides in even on desktop. Cart + lang live in the panel / corner.
   ========================================================================== */
.sw-head{
  position:sticky;top:0;z-index:60;background:var(--sw-ivory);
  border-bottom:1px solid transparent;transition:border-color .2s,background .2s;
}
.sw-head--stuck{border-bottom-color:var(--sw-line);background:rgba(244,241,234,.92);backdrop-filter:blur(8px)}
.sw-head-inner{
  max-width:var(--sw-maxw);margin:0 auto;padding-inline:var(--sw-pad);position:relative;
  height:var(--sw-head-h);display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.sw-menu-btn{
  display:inline-flex;align-items:center;gap:.6rem;background:transparent;border:1.5px solid var(--sw-ink);
  border-radius:999px;padding:.5rem .95rem;font-weight:700;font-size:.82rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--sw-ink);transition:.18s;
}
.sw-menu-btn:hover{background:var(--sw-ink);color:var(--sw-ivory)}
.sw-menu-btn:hover .sw-burger span{background:var(--sw-ivory)}
.sw-burger{display:inline-flex;flex-direction:column;gap:3px;width:16px}
.sw-burger span{height:2px;width:100%;background:var(--sw-ink);border-radius:2px;transition:.2s}

.sw-brand{
  font-family:var(--sw-display);font-size:1.45rem;letter-spacing:-.01em;color:var(--sw-ink);
  line-height:1;position:absolute;left:50%;transform:translateX(-50%);
}
.sw-brand sup{color:var(--sw-cobalt);font-size:.5em;vertical-align:super;margin-left:.1em}

.sw-head-right{display:flex;align-items:center;gap:.5rem}
.sw-icon-btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:999px;border:1.5px solid transparent;background:transparent;color:var(--sw-ink);transition:.18s;
}
.sw-icon-btn:hover{border-color:var(--sw-ink)}
.sw-icon-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sw-cart-badge{
  position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;
  background:var(--sw-cobalt);color:#fff;font-size:.68rem;font-weight:700;display:flex;align-items:center;justify-content:center;
}

/* ── Nav panel (overlay menu, used on ALL viewports) ── */
.sw-navpanel-overlay{
  position:fixed;inset:0;background:rgba(20,21,26,.45);opacity:0;visibility:hidden;
  transition:.25s;z-index:90;
}
.sw-navpanel-overlay.is-open{opacity:1;visibility:visible}
.sw-navpanel{
  position:fixed;top:0;left:0;height:100%;width:min(440px,90vw);background:var(--sw-ink);color:var(--sw-ivory);
  z-index:95;transform:translateX(-100%);transition:transform .32s cubic-bezier(.4,0,.1,1);
  display:flex;flex-direction:column;padding:clamp(1.5rem,4vw,2.5rem);overflow-y:auto;
}
.sw-navpanel.is-open{transform:translateX(0)}
.sw-navpanel-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:2.5rem}
.sw-navpanel-brand{font-family:var(--sw-display);font-size:1.4rem;color:var(--sw-ivory)}
.sw-navpanel-brand sup{color:var(--sw-cobalt);font-size:.5em;vertical-align:super}
.sw-navpanel-close{
  background:transparent;border:none;color:var(--sw-ivory);font-size:1.8rem;line-height:1;width:40px;height:40px;border-radius:999px;transition:.18s;
}
.sw-navpanel-close:hover{background:rgba(255,255,255,.12)}
.sw-navlist{display:flex;flex-direction:column;gap:.1rem}
.sw-navlist a{
  font-family:var(--sw-display);font-size:clamp(1.6rem,5vw,2.3rem);line-height:1.18;color:var(--sw-ivory);
  display:flex;align-items:baseline;gap:.9rem;padding:.25rem 0;transition:.18s;
}
.sw-navlist a:hover{color:var(--sw-cobalt);transform:translateX(6px)}
.sw-navlist .sw-navnum{font-family:var(--sw-text);font-size:.8rem;font-weight:700;color:var(--sw-cobalt);letter-spacing:.1em;width:1.6rem;flex:0 0 auto}
.sw-navpanel-foot{margin-top:auto;padding-top:2rem;border-top:1px solid rgba(255,255,255,.14)}
.sw-navpanel-foot-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.sw-navpanel-mail{font-size:.9rem;color:var(--sw-ivory)}
.sw-navpanel-mail a{color:var(--sw-cobalt);font-weight:700}
.sw-lang-row{display:flex;gap:.35rem}
.sw-lang-btn{
  background:transparent;border:1px solid rgba(255,255,255,.22);color:var(--sw-ivory);
  border-radius:999px;padding:.3rem .6rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;transition:.18s;
}
.sw-lang-btn:hover{border-color:var(--sw-ivory)}
.sw-lang-btn.is-active{background:var(--sw-cobalt);border-color:var(--sw-cobalt);color:#fff}

/* ============================================================================
   HERO — ASYMMETRIC (archetype 7): big shoe photo overflowing the right edge,
   huge title left, a product card overlapping the seam.
   ========================================================================== */
.sw-hero{position:relative;background:var(--sw-ivory);overflow:hidden;border-bottom:1px solid var(--sw-line)}
.sw-hero-grid{
  max-width:var(--sw-maxw);margin:0 auto;padding-left:var(--sw-pad);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;
  min-height:min(82vh,720px);gap:clamp(1rem,3vw,2rem);
}
.sw-hero-left{padding:clamp(2.5rem,6vw,4rem) 0;position:relative;z-index:3;max-width:36rem}
.sw-hero-kicker{display:flex;align-items:center;gap:.7rem;margin-bottom:1.4rem}
.sw-hero-kicker .sw-rule{height:1px;width:40px;background:var(--sw-cobalt)}
.sw-hero-title{
  font-family:var(--sw-display);font-size:clamp(2.7rem,7vw,5.3rem);line-height:.94;letter-spacing:-.02em;color:var(--sw-ink);
  margin-bottom:1.3rem;
}
.sw-hero-title em{font-style:normal;color:var(--sw-cobalt)}
.sw-hero-lede{font-size:clamp(1rem,1.6vw,1.18rem);color:var(--sw-ink-2);max-width:30rem;margin-bottom:1.9rem}
.sw-hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}
.sw-hero-stats{display:flex;gap:clamp(1.2rem,3vw,2.4rem);margin-top:2.6rem;flex-wrap:wrap}
.sw-hero-stat-n{font-family:var(--sw-display);font-size:1.5rem;color:var(--sw-ink)}
.sw-hero-stat-l{font-size:.78rem;color:var(--sw-mute);font-weight:600;letter-spacing:.02em}

.sw-hero-right{position:relative;align-self:stretch;min-height:360px}
.sw-hero-photo{
  position:absolute;inset:0 calc(-1 * var(--sw-pad)) 0 0;background:var(--sw-ink);overflow:hidden;
}
.sw-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.sw-hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,var(--sw-ivory) 0%,rgba(244,241,234,0) 22%)}
/* overlapping product card straddling the seam */
.sw-hero-card{
  position:absolute;left:-3.5rem;bottom:clamp(1.5rem,5vw,3rem);z-index:4;width:min(280px,68%);
  background:var(--sw-white);border:1px solid var(--sw-line);border-radius:var(--sw-radius-lg);
  box-shadow:var(--sw-shadow-lg);padding:.7rem;display:flex;gap:.85rem;align-items:center;
}
.sw-hero-card-img{width:78px;height:78px;border-radius:8px;overflow:hidden;flex:0 0 auto;background:var(--sw-ivory-2)}
.sw-hero-card-img img{width:100%;height:100%;object-fit:cover}
.sw-hero-card-cat{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sw-cobalt)}
.sw-hero-card-name{font-weight:700;font-size:.95rem;line-height:1.2;margin:.1rem 0 .25rem}
.sw-hero-card-price{font-family:var(--sw-display);font-size:1.05rem}
.sw-hero-tag{
  position:absolute;top:clamp(1rem,3vw,2rem);right:0;z-index:4;background:var(--sw-cobalt);color:#fff;
  font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:.5rem .9rem;border-radius:999px;
}

/* ── Marquee strip under hero ── */
.sw-strip{background:var(--sw-ink);color:var(--sw-ivory);overflow:hidden;white-space:nowrap}
.sw-strip-track{display:inline-flex;gap:3rem;padding:.7rem 0;animation:sw-marquee 26s linear infinite}
.sw-strip-item{font-weight:700;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;display:inline-flex;align-items:center;gap:3rem}
.sw-strip-item::after{content:"\25CF";color:var(--sw-cobalt);font-size:.5em}
@keyframes sw-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.sw-strip-track{animation:none}}

/* ============================================================================
   SECTIONS
   ========================================================================== */
.sw-section{padding-block:clamp(3.5rem,8vw,6rem)}
.sw-section-alt{background:var(--sw-paper)}
.sw-section-ink{background:var(--sw-ink);color:var(--sw-ivory)}
.sw-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:2.5rem;flex-wrap:wrap}
.sw-section-title{font-family:var(--sw-display);font-size:clamp(1.8rem,4vw,2.8rem);letter-spacing:-.01em;line-height:1;max-width:22ch}
.sw-section-ink .sw-section-title{color:var(--sw-ivory)}
.sw-section-sub{color:var(--sw-mute);max-width:42ch;margin-top:.6rem}

/* ── Category rail ── */
.sw-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;background:var(--sw-line);border:1px solid var(--sw-line);border-radius:var(--sw-radius-lg);overflow:hidden}
.sw-cat{
  background:var(--sw-paper);padding:1.4rem 1.3rem;min-width:0;display:flex;flex-direction:column;gap:.4rem;transition:.18s;position:relative;
}
.sw-cat:hover{background:var(--sw-cobalt);color:#fff}
.sw-cat:hover .sw-cat-n,.sw-cat:hover .sw-cat-arrow,.sw-cat:hover .sw-cat-count{color:#fff}
.sw-cat-n{font-family:var(--sw-text);font-weight:700;font-size:.72rem;color:var(--sw-cobalt);letter-spacing:.1em}
.sw-cat-name{font-family:var(--sw-display);font-size:1.12rem;line-height:1.1}
.sw-cat-count{font-size:.8rem;color:var(--sw-mute)}
.sw-cat-arrow{position:absolute;top:1.1rem;right:1.1rem;color:var(--sw-mute);transition:.18s}

/* ── Product grid + cards ── */
.sw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:clamp(1rem,2.5vw,1.7rem)}
.sw-card{
  background:var(--sw-white);border:1px solid var(--sw-line);border-radius:var(--sw-radius-lg);overflow:hidden;
  display:flex;flex-direction:column;min-width:0;transition:.2s;
}
.sw-card:hover{transform:translateY(-4px);box-shadow:var(--sw-shadow);border-color:var(--sw-line-2)}
.sw-card-imgwrap{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--sw-ivory-2)}
.sw-card-imgwrap img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.sw-card:hover .sw-card-imgwrap img{transform:scale(1.045)}
.sw-card-badge{position:absolute;top:.7rem;left:.7rem;background:var(--sw-ink);color:var(--sw-ivory);font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.28rem .6rem;border-radius:999px}
.sw-card-body{padding:1.05rem 1.1rem 1.15rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.sw-card-cat{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sw-cobalt)}
.sw-card-name{font-weight:700;font-size:1.02rem;line-height:1.25}
.sw-card-name a:hover{color:var(--sw-cobalt)}
.sw-card-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto}
.sw-chip{font-size:.7rem;font-weight:600;color:var(--sw-ink-2);background:var(--sw-ivory);border:1px solid var(--sw-line);border-radius:999px;padding:.2rem .55rem}
.sw-chip-cobalt{color:var(--sw-cobalt-d);background:var(--sw-cobalt-wash);border-color:transparent}
.sw-card-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.7rem;border-top:1px solid var(--sw-line-2);margin-top:.6rem}
.sw-price{font-family:var(--sw-display);font-size:1.12rem}
.sw-price-from{font-size:.7rem;color:var(--sw-mute);font-weight:600}

/* ── Split feature (editorial) ── */
.sw-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.sw-split-media{border-radius:var(--sw-radius-lg);overflow:hidden;aspect-ratio:5/4;background:var(--sw-ivory-2)}
.sw-split-media img{width:100%;height:100%;object-fit:cover}
.sw-split-body{min-width:0}
.sw-split-title{font-family:var(--sw-display);font-size:clamp(1.6rem,3.5vw,2.4rem);line-height:1.02;margin:.7rem 0 1rem}
.sw-split-list{display:flex;flex-direction:column;gap:1rem;margin-top:1.6rem}
.sw-split-li{display:flex;gap:.9rem;align-items:flex-start}
.sw-split-li-n{font-family:var(--sw-display);color:var(--sw-cobalt);font-size:1.1rem;line-height:1.2;flex:0 0 auto}
.sw-split-li h4{font-weight:700;font-size:1rem;margin-bottom:.15rem}
.sw-split-li p{font-size:.92rem;color:var(--sw-mute)}

/* ── Promise band (ink) ── */
.sw-promise{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:clamp(1.2rem,3vw,2.5rem)}
.sw-promise-item{min-width:0}
.sw-promise-n{font-family:var(--sw-display);font-size:1.05rem;color:var(--sw-cobalt);margin-bottom:.5rem}
.sw-promise-item h4{font-weight:700;font-size:1.05rem;color:var(--sw-ivory);margin-bottom:.35rem}
.sw-promise-item p{font-size:.9rem;color:rgba(244,241,234,.7)}

/* ── Newsletter ── */
.sw-news{background:var(--sw-cobalt);color:#fff;border-radius:var(--sw-radius-lg);padding:clamp(2rem,5vw,3.5rem);display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
.sw-news-title{font-family:var(--sw-display);font-size:clamp(1.6rem,3.5vw,2.4rem);line-height:1.02;color:#fff}
.sw-news p{color:rgba(255,255,255,.85);margin-top:.7rem}
.sw-news-form{display:flex;gap:.6rem;flex-wrap:wrap}
.sw-news-form input{flex:1;min-width:0;border:none;border-radius:999px;padding:.85rem 1.2rem;font-family:inherit;font-size:.95rem;background:#fff;color:var(--sw-ink)}
.sw-news-form .sw-btn{background:var(--sw-ink);border-color:var(--sw-ink)}
.sw-news-form .sw-btn:hover{background:#000;border-color:#000}
.sw-news-fine{font-size:.78rem;color:rgba(255,255,255,.75);margin-top:.7rem}

/* ============================================================================
   SHOP
   ========================================================================== */
.sw-pagehero{background:var(--sw-ink);color:var(--sw-ivory);padding-block:clamp(2.5rem,6vw,4rem)}
.sw-pagehero .sw-eyebrow{color:#9db0ff}
.sw-page-title{font-family:var(--sw-display);font-size:clamp(2.2rem,6vw,4rem);line-height:.98;color:var(--sw-ivory);margin-top:.8rem}
.sw-page-sub{color:rgba(244,241,234,.72);max-width:46ch;margin-top:1rem}

.sw-shop-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-block:1.4rem;border-bottom:1px solid var(--sw-line)}
.sw-filters{display:flex;gap:.5rem;flex-wrap:wrap;min-width:0}
.sw-filter{
  background:transparent;border:1.5px solid var(--sw-line);border-radius:999px;padding:.45rem .95rem;
  font-weight:600;font-size:.85rem;color:var(--sw-ink-2);transition:.18s;white-space:nowrap;
}
.sw-filter:hover{border-color:var(--sw-ink)}
.sw-filter.is-active{background:var(--sw-ink);border-color:var(--sw-ink);color:var(--sw-ivory)}
.sw-sort{display:flex;align-items:center;gap:.5rem}
.sw-sort label{font-size:.82rem;color:var(--sw-mute);font-weight:600}
.sw-sort select{border:1.5px solid var(--sw-line);border-radius:999px;padding:.45rem 2rem .45rem .9rem;font-family:inherit;font-size:.85rem;background:var(--sw-white);color:var(--sw-ink);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2314151a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center}
.sw-shop-count{font-size:.85rem;color:var(--sw-mute);padding-block:1rem}

/* ============================================================================
   PDP
   ========================================================================== */
.sw-breadcrumb{font-size:.82rem;color:var(--sw-mute);padding-block:1rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.sw-breadcrumb a:hover{color:var(--sw-cobalt)}
.sw-breadcrumb-sep{color:var(--sw-line)}
.sw-pdp{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);padding-bottom:clamp(2.5rem,6vw,4rem);align-items:start}
.sw-pdp-gallery{position:sticky;top:calc(var(--sw-head-h) + 1rem);min-width:0}
.sw-pdp-mainimg{aspect-ratio:1/1;border-radius:var(--sw-radius-lg);overflow:hidden;background:var(--sw-ivory-2);border:1px solid var(--sw-line)}
.sw-pdp-mainimg img{width:100%;height:100%;object-fit:cover}
.sw-pdp-thumbs{display:flex;gap:.6rem;margin-top:.7rem;flex-wrap:wrap}
.sw-pdp-thumb{width:72px;height:72px;border-radius:8px;overflow:hidden;border:1.5px solid var(--sw-line);background:var(--sw-ivory-2);padding:0}
.sw-pdp-thumb.is-active{border-color:var(--sw-cobalt)}
.sw-pdp-thumb img{width:100%;height:100%;object-fit:cover}
.sw-pdp-right{min-width:0}
.sw-pdp-cat{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sw-cobalt);margin-bottom:.6rem}
.sw-pdp-name{font-family:var(--sw-display);font-size:clamp(1.7rem,3.5vw,2.6rem);line-height:1.02;margin-bottom:1rem}
.sw-pdp-short{font-size:1.05rem;color:var(--sw-ink-2);margin-bottom:1.5rem}
.sw-pdp-specs{border:1px solid var(--sw-line);border-radius:var(--sw-radius-lg);overflow:hidden;margin-bottom:1.6rem;background:var(--sw-paper)}
.sw-pdp-spec-row{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 1rem;border-bottom:1px solid var(--sw-line-2)}
.sw-pdp-spec-row:last-child{border-bottom:none}
.sw-pdp-spec-key{font-size:.82rem;color:var(--sw-mute);font-weight:600}
.sw-pdp-spec-val{font-size:.88rem;font-weight:600;text-align:right}
.sw-selector{margin-bottom:1.3rem}
.sw-selector-label{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sw-ink);margin-bottom:.6rem;display:flex;justify-content:space-between}
.sw-selector-opts{display:flex;gap:.5rem;flex-wrap:wrap}
.sw-selector-opt{
  border:1.5px solid var(--sw-line);background:var(--sw-white);border-radius:8px;padding:.55rem .85rem;
  font-family:inherit;font-size:.85rem;font-weight:600;color:var(--sw-ink-2);transition:.15s;min-width:0;
}
.sw-selector-opt:hover{border-color:var(--sw-ink)}
.sw-selector-opt.is-active{background:var(--sw-ink);border-color:var(--sw-ink);color:var(--sw-ivory)}
.sw-pdp-pricerow{display:flex;align-items:baseline;gap:.7rem;margin:1.5rem 0 1.2rem}
.sw-pdp-price{font-family:var(--sw-display);font-size:1.9rem}
.sw-pdp-price-unit{font-size:.85rem;color:var(--sw-mute);font-weight:600}
.sw-pdp-qtyrow{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem}
.sw-qty{display:inline-flex;align-items:center;border:1.5px solid var(--sw-line);border-radius:999px;overflow:hidden}
.sw-qty button{width:40px;height:40px;border:none;background:var(--sw-white);font-size:1.1rem;color:var(--sw-ink)}
.sw-qty button:hover{background:var(--sw-ivory)}
.sw-qty span{min-width:36px;text-align:center;font-weight:700}
.sw-pdp-long{margin-top:2.5rem;border-top:1px solid var(--sw-line);padding-top:1.8rem;color:var(--sw-ink-2);line-height:1.7}
.sw-pdp-care{margin-top:1.5rem;background:var(--sw-cobalt-wash);border-radius:var(--sw-radius-lg);padding:1.2rem 1.3rem}
.sw-pdp-care-label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sw-cobalt-d);margin-bottom:.4rem}
.sw-pdp-care p{font-size:.9rem;color:var(--sw-ink-2)}

.sw-related{padding-block:clamp(2.5rem,6vw,4rem);border-top:1px solid var(--sw-line)}

/* ============================================================================
   CART PAGE
   ========================================================================== */
.sw-cartpage{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(1.5rem,4vw,3rem);padding-block:clamp(2rem,5vw,3.5rem);align-items:start}
.sw-cart-list{display:flex;flex-direction:column;gap:1rem;min-width:0}
.sw-cart-row{display:flex;gap:1rem;border:1px solid var(--sw-line);border-radius:var(--sw-radius-lg);padding:1rem;background:var(--sw-white);align-items:center;min-width:0}
.sw-cart-row img{width:88px;height:88px;border-radius:8px;object-fit:cover;flex:0 0 auto;background:var(--sw-ivory-2)}
.sw-cart-row-info{flex:1;min-width:0}
.sw-cart-row-name{font-weight:700}
.sw-cart-row-meta{font-size:.82rem;color:var(--sw-mute);margin-top:.2rem}
.sw-cart-row-price{font-family:var(--sw-display);white-space:nowrap}
.sw-cart-empty{padding:3rem 1rem;text-align:center;color:var(--sw-mute)}
.sw-cart-summary{border:1px solid var(--sw-line);border-radius:var(--sw-radius-lg);padding:1.5rem;background:var(--sw-paper);position:sticky;top:calc(var(--sw-head-h) + 1rem)}
.sw-cart-summary h2{font-family:var(--sw-display);font-size:1.3rem;margin-bottom:1.2rem}
.sw-cart-sum-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.92rem}
.sw-cart-sum-total{display:flex;justify-content:space-between;font-family:var(--sw-display);font-size:1.25rem;border-top:1px solid var(--sw-line);margin-top:.7rem;padding-top:1rem}

/* ============================================================================
   CART DRAWER + TOAST (shared)
   ========================================================================== */
.sw-drawer-overlay{position:fixed;inset:0;background:rgba(20,21,26,.45);opacity:0;visibility:hidden;transition:.25s;z-index:97}
.sw-drawer-overlay.is-visible{opacity:1;visibility:visible}
.sw-drawer{position:fixed;top:0;right:0;height:100%;width:min(420px,92vw);background:var(--sw-ivory);z-index:98;transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column;box-shadow:var(--sw-shadow-lg)}
.sw-drawer.is-open{transform:translateX(0)}
.sw-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:1.3rem 1.5rem;border-bottom:1px solid var(--sw-line)}
.sw-drawer-title{font-family:var(--sw-display);font-size:1.2rem}
.sw-drawer-close{background:transparent;border:none;font-size:1.7rem;line-height:1;width:40px;height:40px;border-radius:999px;color:var(--sw-ink)}
.sw-drawer-close:hover{background:var(--sw-ivory-2)}
.sw-drawer-items{flex:1;overflow-y:auto;padding:1rem 1.5rem;display:flex;flex-direction:column;gap:1rem}
.sw-drawer-empty{color:var(--sw-mute);text-align:center;padding-top:2rem}
.sw-drawer-item{display:flex;gap:.85rem;align-items:flex-start}
.sw-drawer-item-img{width:64px;height:64px;border-radius:8px;object-fit:cover;flex:0 0 auto;background:var(--sw-ivory-2)}
.sw-drawer-item-info{flex:1;min-width:0}
.sw-drawer-item-name{font-weight:700;font-size:.92rem;line-height:1.2}
.sw-drawer-item-meta{font-size:.78rem;color:var(--sw-mute);margin-top:.15rem}
.sw-drawer-item-row{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem}
.sw-qtyctrl{display:inline-flex;align-items:center;border:1px solid var(--sw-line);border-radius:999px;overflow:hidden}
.sw-qtyctrl button{width:28px;height:28px;border:none;background:var(--sw-white);color:var(--sw-ink)}
.sw-qtyctrl span{min-width:26px;text-align:center;font-size:.85rem;font-weight:700}
.sw-drawer-item-price{font-weight:700;font-size:.9rem}
.sw-drawer-remove{background:transparent;border:none;color:var(--sw-mute);font-size:1.2rem;line-height:1;padding:.1rem .3rem}
.sw-drawer-remove:hover{color:var(--sw-cobalt)}
.sw-drawer-foot{padding:1.3rem 1.5rem;border-top:1px solid var(--sw-line)}
.sw-drawer-subtotal{display:flex;justify-content:space-between;font-weight:700;margin-bottom:1rem}
.sw-drawer-lock{overflow:hidden}

#sw-toast-container{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:120;display:flex;flex-direction:column;gap:.5rem;align-items:center;width:max-content;max-width:90vw}
.sw-toast{background:var(--sw-ink);color:var(--sw-ivory);padding:.7rem 1.2rem;border-radius:999px;font-size:.88rem;font-weight:600;opacity:0;transform:translateY(10px);transition:.25s;box-shadow:var(--sw-shadow)}
.sw-toast.is-visible{opacity:1;transform:translateY(0)}

/* ── Search overlay ── */
.sw-search-overlay{position:fixed;inset:0;background:rgba(20,21,26,.5);opacity:0;visibility:hidden;transition:.2s;z-index:100;padding-top:12vh}
.sw-search-overlay.is-open{opacity:1;visibility:visible}
.sw-search-box{max-width:640px;margin:0 auto;padding:0 1rem}
.sw-search-input{width:100%;border:none;border-radius:999px;padding:1.1rem 1.6rem;font-family:inherit;font-size:1.1rem;background:var(--sw-ivory);color:var(--sw-ink)}
.sw-search-results{margin-top:1rem;background:var(--sw-ivory);border-radius:var(--sw-radius-lg);max-height:55vh;overflow-y:auto}
.sw-search-result{display:flex;gap:.85rem;align-items:center;padding:.7rem 1rem;border-bottom:1px solid var(--sw-line-2)}
.sw-search-result:hover{background:var(--sw-white)}
.sw-search-result img{width:48px;height:48px;border-radius:6px;object-fit:cover}
.sw-search-result-name{font-weight:700;font-size:.92rem}
.sw-search-result-meta{font-size:.78rem;color:var(--sw-mute)}

/* ============================================================================
   EDITORIAL PAGES (about / contact / legal)
   ========================================================================== */
.sw-prose{max-width:70ch;margin:0 auto;padding-block:clamp(2rem,5vw,3.5rem)}
.sw-prose h2{font-family:var(--sw-display);font-size:clamp(1.4rem,3vw,2rem);margin:2rem 0 .8rem;line-height:1.1}
.sw-prose h3{font-weight:700;font-size:1.1rem;margin:1.6rem 0 .5rem}
.sw-prose p{margin-bottom:1rem;color:var(--sw-ink-2)}
.sw-prose a{color:var(--sw-cobalt);font-weight:600}
.sw-prose ul{list-style:disc;padding-left:1.3rem;margin-bottom:1rem;color:var(--sw-ink-2)}
.sw-prose li{margin-bottom:.4rem}

.sw-about-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:2.5rem 0}
.sw-about-stat{border:1px solid var(--sw-line);border-radius:var(--sw-radius-lg);padding:1.3rem;background:var(--sw-paper);min-width:0}
.sw-about-stat-n{font-family:var(--sw-display);font-size:1.8rem;color:var(--sw-cobalt)}
.sw-about-stat-l{font-size:.85rem;color:var(--sw-mute);margin-top:.2rem}

.sw-contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);padding-block:clamp(2rem,5vw,3.5rem);align-items:start}
.sw-contact-title{font-family:var(--sw-display);font-size:1.6rem;margin-bottom:1rem}
.sw-contact-meta h3{font-weight:700;font-size:.95rem;margin:1.4rem 0 .3rem}
.sw-contact-meta p{color:var(--sw-ink-2);font-size:.95rem}
.sw-contact-meta a{color:var(--sw-cobalt);font-weight:600}
.sw-form{display:flex;flex-direction:column;gap:1.1rem;background:var(--sw-paper);border:1px solid var(--sw-line);border-radius:var(--sw-radius-lg);padding:clamp(1.3rem,3vw,2rem)}
.sw-form-group{display:flex;flex-direction:column;gap:.4rem}
.sw-form-label{font-size:.82rem;font-weight:700;letter-spacing:.04em;color:var(--sw-ink)}
.sw-form-input,.sw-form-select,.sw-form-textarea{
  border:1.5px solid var(--sw-line);border-radius:8px;padding:.75rem .9rem;font-family:inherit;font-size:.95rem;background:var(--sw-white);color:var(--sw-ink);width:100%;
}
.sw-form-input:focus,.sw-form-select:focus,.sw-form-textarea:focus{outline:none;border-color:var(--sw-cobalt);box-shadow:0 0 0 3px var(--sw-cobalt-wash)}
.sw-form-textarea{min-height:130px;resize:vertical}
.sw-form-success{display:none;background:var(--sw-cobalt-wash);color:var(--sw-cobalt-d);border-radius:8px;padding:1rem;font-weight:600;font-size:.92rem}
.sw-form-success.is-visible{display:block}

/* ============================================================================
   FOOTER
   ========================================================================== */
.sw-foot{background:var(--sw-ink);color:var(--sw-ivory);padding-block:clamp(2.5rem,6vw,4rem) 1.5rem;margin-top:clamp(2rem,5vw,3rem)}
.sw-foot-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:clamp(1.5rem,4vw,3rem);max-width:var(--sw-maxw);margin:0 auto;padding-inline:var(--sw-pad)}
.sw-foot-brand{font-family:var(--sw-display);font-size:1.6rem;color:var(--sw-ivory)}
.sw-foot-brand sup{color:var(--sw-cobalt);font-size:.5em;vertical-align:super}
.sw-foot-tagline{color:rgba(244,241,234,.65);margin:.7rem 0 1.1rem;max-width:32ch;font-size:.92rem}
.sw-foot-address{color:rgba(244,241,234,.65);font-size:.88rem;line-height:1.7}
.sw-foot-address a{color:var(--sw-cobalt)}
.sw-foot-col h4{font-weight:700;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(244,241,234,.5);margin-bottom:.9rem}
.sw-foot-col li{margin-bottom:.55rem}
.sw-foot-col a{color:rgba(244,241,234,.85);font-size:.92rem}
.sw-foot-col a:hover{color:var(--sw-cobalt)}
.sw-foot-bottom{max-width:var(--sw-maxw);margin:2.5rem auto 0;padding:1.5rem var(--sw-pad) 0;border-top:1px solid rgba(244,241,234,.12);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.sw-foot-fine{font-size:.82rem;color:rgba(244,241,234,.5)}
.sw-foot-fine-links{display:flex;gap:1.2rem}
.sw-foot-fine-links a{font-size:.82rem;color:rgba(244,241,234,.6)}
.sw-foot-fine-links a:hover{color:var(--sw-cobalt)}
.sw-foot-langrow{display:flex;gap:.35rem;margin-top:1.2rem}

/* ============================================================================
   RESPONSIVE — cover the full range (768 AND 480/390). min-width:0 set above.
   ========================================================================== */
@media (max-width:1024px){
  .sw-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,.95fr)}
  .sw-foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  :root{--sw-head-h:64px}
  .sw-brand{font-size:1.25rem}
  .sw-hero-grid{grid-template-columns:1fr;min-height:0}
  .sw-hero-left{padding:clamp(2rem,7vw,3rem) 0 1rem;max-width:none}
  .sw-hero-right{min-height:clamp(300px,60vw,460px);margin-inline:calc(-1 * var(--sw-pad));margin-top:.5rem}
  .sw-hero-photo{inset:0}
  .sw-hero-photo::after{background:linear-gradient(0deg,rgba(20,21,26,.25),rgba(20,21,26,0) 40%)}
  .sw-hero-card{left:var(--sw-pad);bottom:1rem;width:min(260px,78%)}
  .sw-hero-tag{right:var(--sw-pad)}
  .sw-pdp{grid-template-columns:1fr;gap:1.5rem}
  .sw-pdp-gallery{position:static;top:auto}
  .sw-cartpage{grid-template-columns:1fr}
  .sw-cart-summary{position:static;top:auto}
  .sw-contact-wrap{grid-template-columns:1fr}
  .sw-split{grid-template-columns:1fr}
  .sw-split-media{order:-1}
  .sw-news{grid-template-columns:1fr}
}
@media (max-width:600px){
  .sw-foot-grid{grid-template-columns:1fr 1fr;gap:1.5rem 1rem}
  .sw-section-head{flex-direction:column;align-items:flex-start}
}
@media (max-width:480px){
  body{font-size:15.5px}
  .sw-foot-grid{grid-template-columns:1fr}
  .sw-foot-bottom{flex-direction:column;align-items:flex-start}
  .sw-shop-bar{flex-direction:column;align-items:stretch}
  .sw-sort{justify-content:space-between}
  .sw-hero-stats{gap:1.2rem}
  .sw-cart-row{flex-wrap:wrap}
  .sw-cart-row img{width:64px;height:64px}
  .sw-hero-card{position:static;width:100%;margin-top:1rem;box-shadow:var(--sw-shadow)}
}
