/*  Urban Plug — Design System
    Streetwear print-on-demand. Bold, fast, conversion-first.
    No external fonts/assets: everything is system-stack + inline SVG so it
    renders in sandboxed previews and scores 100 on LCP.
--------------------------------------------------------------------------- */

:root{
  /* Brand */
  --ink:        #1a1a18;
  --ink-2:      #14141B;
  --ink-3:      #1E1E28;
  --line:       #2A2A36;
  --volt:       #caff22;
  --volt-dk:    #92b500;
  --violet:     #7C5CFF;
  --coral:      #FF5C5C;
  --paper:      #F7F7F4;
  --paper-2:    #ECECE6;
  --muted:      #8A8A99;
  --muted-2:    #B6B6C2;
  --white:      #FFFFFF;
  --ok:         #3DDC84;

  /* Type */
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto,
          "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  --step--1: clamp(.78rem, .76rem + .1vw, .85rem);
  --step-0:  clamp(.95rem, .92rem + .15vw, 1.02rem);
  --step-1:  clamp(1.15rem, 1.08rem + .35vw, 1.4rem);
  --step-2:  clamp(1.45rem, 1.3rem + .75vw, 2rem);
  --step-3:  clamp(1.9rem, 1.6rem + 1.5vw, 3rem);
  --step-4:  clamp(2.6rem, 1.9rem + 3.4vw, 5.2rem);
  --step-5:  clamp(3.2rem, 2rem + 6vw, 8rem);

  /* Space */
  --sp-1:.25rem; --sp-2:.5rem;  --sp-3:.75rem; --sp-4:1rem;
  --sp-5:1.5rem; --sp-6:2rem;   --sp-7:3rem;   --sp-8:4.5rem; --sp-9:7rem;

  --wrap: 1280px;
  --wrap-narrow: 760px;
  --radius: 14px;
  --radius-sm: 8px;
  --radius-lg: 24px;
  --shadow: 0 1px 2px rgba(0,0,0,.06), 0 12px 32px -12px rgba(0,0,0,.18);
  --shadow-lg: 0 24px 70px -24px rgba(0,0,0,.45);
  --ease: cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--font);font-size:var(--step-0);line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;line-height:1.04;letter-spacing:-.03em;font-weight:800}
h1{font-size:var(--step-4)}
h2{font-size:var(--step-3)}
h3{font-size:var(--step-2)}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em;padding-left:1.15em}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--sp-5)}
.narrow{max-width:var(--wrap-narrow)}
.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}
.skip-link{position:absolute;left:-9999px;z-index:999;padding:.75rem 1rem;background:var(--volt);color:var(--ink);font-weight:700}
.skip-link:focus{left:1rem;top:1rem}
:focus-visible{outline:3px solid var(--violet);outline-offset:3px;border-radius:4px}

/* ---------------------------------------------------------------- buttons */
.btn{
  --bg:var(--ink); --fg:var(--paper); --bd:var(--ink);
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.85rem 1.5rem;background:var(--bg);color:var(--fg);
  border:2px solid var(--bd);border-radius:999px;
  font-weight:750;font-size:var(--step-0);letter-spacing:-.01em;
  transition:transform .18s var(--ease), box-shadow .18s var(--ease), background .18s;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px -10px rgba(0,0,0,.5)}
.btn:active{transform:translateY(0)}
.btn--volt{--bg:var(--volt);--fg:var(--ink);--bd:var(--volt)}
.btn--ghost{--bg:transparent;--fg:var(--ink);--bd:var(--ink)}
.btn--ghost-light{--bg:transparent;--fg:var(--paper);--bd:#3A3A48}
.btn--violet{--bg:var(--violet);--fg:#fff;--bd:var(--violet)}
.btn--dark{--bg:var(--ink);--fg:var(--paper);--bd:var(--ink)}
.btn--sm{padding:.55rem 1rem;font-size:var(--step--1)}
.btn--lg{padding:1.05rem 2rem;font-size:var(--step-1)}
.btn--block{display:flex;width:100%}

.tag{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border-radius:999px;
  font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.tag--volt{background:var(--volt);color:var(--ink)}
.tag--violet{background:var(--violet);color:#fff}
.tag--coral{background:var(--coral);color:#fff}
.tag--ghost{border:1px solid var(--line);color:var(--muted-2)}
.tag--ink{background:var(--ink);color:var(--paper)}

.eyebrow{font-size:.74rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}

/* ----------------------------------------------------------- announcement */
.announce{background:var(--ink);color:var(--paper);font-size:.78rem;overflow:hidden}
.announce__track{display:flex;gap:3rem;width:max-content;padding:.55rem 0;
  animation:marquee 32s linear infinite}
.announce__track span{display:inline-flex;align-items:center;gap:.5rem;
  font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.announce__track b{color:var(--volt)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ------------------------------------------------------------------ header */
.site-header{position:sticky;top:0;z-index:60;background:rgba(247,247,244,.85);
  backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid rgba(11,11,15,.08)}
.header__bar{display:flex;align-items:center;gap:var(--sp-5);height:68px}
.brand{display:flex;align-items:center;gap:.5rem;font-weight:900;font-size:1.2rem;
  letter-spacing:-.045em;flex-shrink:0}
.brand__mark{display:grid;place-items:center;flex-shrink:0}
.brand__mark svg{width:34px;height:39px;display:block}
.brand__word{line-height:1}
.brand__dot{color:var(--volt)}
.nav{display:flex;align-items:center;gap:1.35rem;margin-left:.5rem}
.nav a{font-weight:650;font-size:.92rem;position:relative;padding:.4rem 0;color:#2A2A36}
.nav a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--ink);
  transition:width .22s var(--ease)}
.nav a:hover::after{width:100%}
.nav a.is-hot{color:var(--ink)}
.nav a.is-hot::before{content:"";position:absolute;top:2px;right:-9px;width:5px;height:5px;
  border-radius:50%;background:var(--coral)}
.header__actions{margin-left:auto;display:flex;align-items:center;gap:.4rem}
.icon-btn{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;
  transition:background .18s}
.icon-btn:hover{background:rgba(11,11,15,.07)}
.icon-btn svg{width:20px;height:20px;stroke:var(--ink);stroke-width:1.8;fill:none;
  stroke-linecap:round;stroke-linejoin:round}
.cart-btn{position:relative}
.cart-count{position:absolute;top:2px;right:2px;min-width:17px;height:17px;padding:0 4px;
  border-radius:999px;background:var(--coral);color:#fff;font-size:.62rem;font-weight:800;
  display:grid;place-items:center;line-height:1}
.burger{display:none}

@media (max-width:980px){
  .nav{display:none}
  .burger{display:grid}
}

/* -------------------------------------------------------------------- hero */
/* Single full-bleed background image + dark scrim, text overlaid at left. */
.hero{position:relative;background:var(--ink);color:var(--paper);overflow:hidden;
  display:flex;align-items:center;min-height:clamp(520px,78vh,760px)}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:70% center;z-index:0}
/* Scrim: darkest at the left where the copy sits, fading to reveal the photo
   on the right. Plus a subtle brand-tinted glow and a bottom vignette. */
.hero__scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(90deg, rgba(11,11,15,.94) 0%, rgba(11,11,15,.86) 30%, rgba(11,11,15,.55) 58%, rgba(11,11,15,.28) 100%),
    linear-gradient(0deg, rgba(11,11,15,.72) 0%, transparent 42%),
    radial-gradient(760px 420px at 88% 8%, rgba(124,92,255,.30), transparent 60%)}
.hero__inner{position:relative;z-index:2;width:100%;
  padding-block:clamp(3rem,7vw,5.5rem)}
.hero__content{max-width:min(620px,92%)}
.hero__title{font-size:var(--step-5);font-weight:900;letter-spacing:-.045em;line-height:.9;
  margin:.7rem 0 1.1rem;text-wrap:balance;color:var(--white);
  text-shadow:0 2px 30px rgba(0,0,0,.35)}
.hero__title em{font-style:normal;color:var(--volt);position:relative;display:inline-block}
.hero__title em::after{content:"";position:absolute;left:0;right:0;bottom:.08em;height:.09em;
  background:var(--violet);border-radius:2px}
.hero__sub{font-size:var(--step-1);color:rgba(247,247,244,.86);max-width:46ch;
  margin-bottom:1.9rem;line-height:1.5}
.hero__cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2.2rem}
.hero__proof{display:flex;flex-wrap:wrap;gap:clamp(1.1rem,3vw,2rem);padding-top:1.6rem;
  border-top:1px solid rgba(255,255,255,.16)}
.proof__n{font-size:var(--step-2);font-weight:900;letter-spacing:-.04em;color:var(--white)}
.proof__l{font-size:.74rem;color:rgba(247,247,244,.62);text-transform:uppercase;
  letter-spacing:.12em;font-weight:700}

@media (max-width:720px){
  .hero{min-height:0}
  .hero__img{object-position:64% center}
  .hero__scrim{background:
    linear-gradient(180deg, rgba(11,11,15,.72) 0%, rgba(11,11,15,.80) 55%, rgba(11,11,15,.92) 100%),
    radial-gradient(600px 340px at 80% 6%, rgba(124,92,255,.28), transparent 60%)}
  .hero__content{max-width:100%}
}

/* ------------------------------------------------------------- ticker band */
.band{background:var(--volt);color:var(--ink);overflow:hidden;
  border-block:3px solid var(--ink)}
.band__track{display:flex;gap:2.5rem;width:max-content;padding:.8rem 0;
  animation:marquee 26s linear infinite}
.band__track span{font-weight:900;font-size:1.05rem;letter-spacing:-.02em;
  text-transform:uppercase;white-space:nowrap;display:inline-flex;align-items:center;gap:2.5rem}
.band__track span::after{content:"◆";font-size:.7rem;opacity:.5}

/* ---------------------------------------------------------------- sections */
.section{padding-block:clamp(3rem,7vw,5.5rem)}
.section--dark{background:var(--ink);color:var(--paper)}
.section--paper2{background:var(--paper-2)}
.section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;
  margin-bottom:var(--sp-6);flex-wrap:wrap}
.section__head p{margin:.6rem 0 0;color:var(--muted);max-width:56ch}
.section--dark .section__head p{color:var(--muted-2)}
.section__title{font-size:var(--step-3);text-wrap:balance}

/* ----------------------------------------------------------- product cards */
.grid{display:grid;gap:var(--sp-5)}
.grid--4{grid-template-columns:repeat(4,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--2{grid-template-columns:repeat(2,1fr)}
@media (max-width:1080px){.grid--4{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){
  .grid--4,.grid--3{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .grid--4,.grid--3,.grid--2{grid-template-columns:1fr}
}

.card{position:relative;background:var(--white);border-radius:var(--radius);overflow:hidden;
  border:1px solid rgba(11,11,15,.08);transition:transform .25s var(--ease),box-shadow .25s var(--ease);
  display:flex;flex-direction:column}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.card__media{position:relative;aspect-ratio:4/5;background:var(--paper-2);overflow:hidden}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.card:hover .card__media img{transform:scale(1.06)}
.card__badges{position:absolute;top:.7rem;left:.7rem;display:flex;flex-direction:column;
  gap:.35rem;align-items:flex-start;z-index:2}
.card__wish{position:absolute;top:.7rem;right:.7rem;width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.92);display:grid;place-items:center;z-index:2;
  opacity:0;transform:translateY(-6px);transition:.22s var(--ease)}
.card:hover .card__wish{opacity:1;transform:none}
.card__wish svg{width:17px;height:17px;stroke:var(--ink);stroke-width:1.8;fill:none}
.card__quick{position:absolute;left:.7rem;right:.7rem;bottom:.7rem;z-index:2;
  opacity:0;transform:translateY(10px);transition:.24s var(--ease)}
.card:hover .card__quick{opacity:1;transform:none}
.card__body{padding:.9rem 1rem 1.1rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.card__cat{font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.card__title{font-size:1rem;font-weight:750;letter-spacing:-.02em;line-height:1.25}
.card__row{margin-top:auto;padding-top:.5rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.price{font-weight:850;font-size:1.05rem;letter-spacing:-.02em}
.price del{color:var(--muted);font-weight:600;font-size:.85rem;margin-right:.35rem}
.stars{display:flex;align-items:center;gap:.25rem;font-size:.76rem;color:var(--muted)}
.stars svg{width:13px;height:13px;fill:#F5B301}
.swatches{display:flex;gap:.28rem;margin-top:.15rem}
.sw{width:15px;height:15px;border-radius:50%;border:1.5px solid rgba(0,0,0,.14)}

/* --------------------------------------------------------------- ai engine */
.engine{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5)}
@media (max-width:900px){.engine{grid-template-columns:1fr}}
.engine__card{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.6rem;display:flex;flex-direction:column;gap:.7rem;position:relative;overflow:hidden}
.engine__card::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;
  background:linear-gradient(90deg,var(--volt),var(--violet))}
.engine__ico{width:44px;height:44px;border-radius:12px;background:var(--ink-3);
  display:grid;place-items:center;margin-bottom:.4rem}
.engine__ico svg{width:22px;height:22px;stroke:var(--volt);stroke-width:1.8;fill:none;
  stroke-linecap:round;stroke-linejoin:round}
.engine__card h3{font-size:1.18rem}
.engine__card p{color:var(--muted-2);font-size:.9rem;margin:0}
.engine__stat{margin-top:auto;padding-top:1rem;font-family:var(--mono);font-size:.74rem;
  color:var(--volt);letter-spacing:.04em}

/* ------------------------------------------------------------------- steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-5);counter-reset:s}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
.step{counter-increment:s;position:relative;padding-top:2.6rem}
.step::before{content:counter(s,decimal-leading-zero);position:absolute;top:0;left:0;
  font-family:var(--mono);font-size:.8rem;font-weight:700;color:var(--ink);
  background:var(--volt);padding:.2rem .5rem;border-radius:5px}
.step h3{font-size:1.1rem;margin-bottom:.4rem}
.step p{color:var(--muted);font-size:.9rem;margin:0}

/* -------------------------------------------------------------------- blog */
.post{display:flex;flex-direction:column;gap:.7rem;background:var(--white);
  border:1px solid rgba(11,11,15,.08);border-radius:var(--radius);overflow:hidden;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.post:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.post__media{aspect-ratio:16/10;background:var(--paper-2);overflow:hidden}
.post__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.post:hover .post__media img{transform:scale(1.05)}
.post__body{padding:1rem 1.1rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}
.post__meta{display:flex;gap:.6rem;align-items:center;font-size:.72rem;color:var(--muted);
  text-transform:uppercase;letter-spacing:.09em;font-weight:700}
.post__title{font-size:1.1rem;font-weight:750;letter-spacing:-.025em;line-height:1.3}
.post__ex{font-size:.88rem;color:var(--muted);margin:0}

/* ------------------------------------------------------------------ social */
.social-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem}
@media (max-width:900px){.social-strip{grid-template-columns:repeat(3,1fr)}}
.social-strip a{position:relative;aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:var(--paper-2)}
.social-strip img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}
.social-strip a:hover img{transform:scale(1.08)}

/* ----------------------------------------------------------------- capture */
.capture{background:var(--violet);color:#fff;border-radius:var(--radius-lg);
  padding:clamp(2rem,5vw,3.5rem);position:relative;overflow:hidden}
.capture::after{content:"";position:absolute;right:-60px;top:-60px;width:280px;height:280px;
  border-radius:50%;background:rgba(215,255,62,.22)}
.capture__in{position:relative;z-index:2;max-width:640px}
.capture h2{font-size:var(--step-3);margin-bottom:.6rem}
.capture p{color:rgba(255,255,255,.88);margin-bottom:1.4rem}
.form-row{display:flex;gap:.6rem;flex-wrap:wrap}
.form-row input{flex:1;min-width:220px;padding:.95rem 1.1rem;border-radius:999px;border:2px solid transparent;
  background:#fff;color:var(--ink);font-weight:600}
.form-row input::placeholder{color:var(--muted)}
.form-row input:focus{outline:none;border-color:var(--volt)}
.capture small{display:block;margin-top:.8rem;color:rgba(255,255,255,.7);font-size:.76rem}

/* ------------------------------------------------------------------ footer */
.site-footer{background:var(--ink);color:var(--muted-2);padding-block:var(--sp-8) var(--sp-5)}
.footer__grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:var(--sp-6)}
@media (max-width:980px){.footer__grid{grid-template-columns:1fr 1fr}.footer__about{grid-column:1/-1}}
@media (max-width:560px){
  .site-footer{padding-block:2.6rem 1.25rem}
  .footer__grid{grid-template-columns:1fr 1fr;gap:2rem 1.1rem}
  .footer__about{grid-column:1/-1;padding-bottom:1.4rem;border-bottom:1px solid rgba(255,255,255,.14)}
  .footer__about p{max-width:30rem;font-size:.84rem}
  .footer__col h4{margin-bottom:.65rem}
  .footer__col ul{gap:.45rem}
  .footer__col a{font-size:.82rem}
  .footer__bottom{margin-top:2.2rem;padding-top:1.2rem;flex-direction:column;align-items:center;text-align:center}
  .pay{justify-content:center;width:100%}
}
.site-footer .brand{margin-bottom:.8rem}
.site-footer .brand__word{color:var(--paper)}
.footer__col h4{font-size:.76rem;text-transform:uppercase;letter-spacing:.14em;
  color:var(--paper);margin-bottom:.9rem;font-weight:800}
.footer__col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem}
.footer__col a{font-size:.89rem;transition:color .18s}
.footer__col a:hover{color:var(--volt)}
.footer__about p{font-size:.89rem;max-width:34ch}
.socials{display:flex;gap:.5rem;margin-top:1rem}
.socials a{width:36px;height:36px;border-radius:9px;border:1px solid var(--line);
  display:grid;place-items:center;transition:.2s}
.socials a:hover{background:var(--volt);border-color:var(--volt)}
.socials svg{width:17px;height:17px;fill:currentColor}
.socials a:hover svg{fill:var(--ink)}
.footer__bottom{margin-top:var(--sp-7);padding-top:var(--sp-5);border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8rem}
.pay{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}
.pay img{display:block;width:min(100%,300px);height:auto;border-radius:8px;background:#fff}

/* --------------------------------------------------------------- utilities */
.mt-0{margin-top:0}.mb-0{margin-bottom:0}
.flex{display:flex}.between{justify-content:space-between}.center{align-items:center}
.gap-2{gap:.5rem}.gap-4{gap:1rem}
.text-center{text-align:center}
.mx-auto{margin-inline:auto}

/* ------------------------------------------------------------- woocommerce */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  border-radius:var(--radius-sm);padding:1rem 1.2rem;border-left:4px solid var(--violet);
  background:var(--white);list-style:none;margin-bottom:1.5rem}
.woocommerce-error{border-left-color:var(--coral)}
.woocommerce-message{border-left-color:var(--ok)}
.single-product .quantity input{width:64px;padding:.6rem;border:2px solid var(--line);
  border-radius:var(--radius-sm);text-align:center}

/* =========================================================================
   Shop, single product, article & drawer surfaces
   Added after live testing against WooCommerce markup.
   ========================================================================= */

/* ------------------------------------------------------------ breadcrumbs */
.crumbs{margin:0 0 var(--sp-5)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem;padding:0;margin:0;
  font-size:.8rem;color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:.45rem;opacity:.45}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--ink);text-decoration:underline}
.crumbs [aria-current]{color:var(--ink);font-weight:650}

/* ------------------------------------------------------------ shop layout */
.shop-layout{display:block}
.woocommerce-products-header{margin-bottom:var(--sp-6)}
.woocommerce-products-header__title{font-size:var(--step-3);letter-spacing:-.03em;margin:0 0 .5rem}
.term-description{color:var(--muted);max-width:68ch}

.woocommerce-result-count{color:var(--muted);font-size:.85rem;margin:0}
.woocommerce-ordering select{padding:.6rem 2rem .6rem .9rem;border:2px solid rgba(11,11,15,.12);
  border-radius:999px;background:var(--white);font-weight:600;font-size:.85rem;cursor:pointer}
.woocommerce-notices-wrapper:empty{display:none}

/* WooCommerce renders ul.products — make it our grid. */
ul.products{list-style:none;margin:0 0 var(--sp-6);padding:0;
  display:grid;gap:var(--sp-5);grid-template-columns:repeat(4,1fr)}
ul.products::before,ul.products::after{display:none!important}
ul.products li.product{margin:0!important;width:auto!important;float:none!important;
  clear:none!important;padding:0!important}
@media (max-width:1080px){ul.products{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){ul.products{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){ul.products{grid-template-columns:1fr}}

/* Toolbar row above the grid. */
.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  flex-wrap:wrap;margin-bottom:var(--sp-5);padding-bottom:var(--sp-4);
  border-bottom:1px solid rgba(11,11,15,.09)}

/* ------------------------------------------------------- single product */
.product-single{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,4vw,3.5rem);
  align-items:start;margin-bottom:var(--sp-8)}
@media (max-width:900px){.product-single{grid-template-columns:1fr}}

.product-gallery{position:sticky;top:96px}
@media (max-width:900px){.product-gallery{position:static}}
.woocommerce-product-gallery{border-radius:var(--radius-lg);overflow:hidden;
  background:var(--paper-2);border:1px solid rgba(11,11,15,.08)}
.woocommerce-product-gallery img{width:100%;height:auto;display:block}
.flex-control-thumbs{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);
  gap:.5rem;padding:.5rem 0 0;margin:0}
.flex-control-thumbs li{cursor:pointer}
.flex-control-thumbs img{border-radius:8px;border:2px solid transparent;transition:border-color .2s}
.flex-control-thumbs img.flex-active,.flex-control-thumbs img:hover{border-color:var(--ink)}

.product_title{font-size:var(--step-3);letter-spacing:-.035em;margin:0 0 .6rem}
.product-summary .price{font-size:var(--step-2);font-weight:850;display:block;margin-bottom:1rem}
.product-summary .price del{font-size:.6em;color:var(--muted);font-weight:600;margin-right:.4rem}
.product-summary .price ins{text-decoration:none}
.woocommerce-product-details__short-description{color:#3A3A48;font-size:1.02rem;
  line-height:1.65;margin-bottom:1.4rem}

.variations{width:100%;border-collapse:collapse;margin-bottom:1rem}
.variations th{text-align:left;padding:.5rem 0;font-size:.74rem;font-weight:800;
  text-transform:uppercase;letter-spacing:.1em;color:var(--muted);width:90px;vertical-align:middle}
.variations td{padding:.5rem 0}
.variations select{width:100%;padding:.8rem 1rem;border:2px solid rgba(11,11,15,.14);
  border-radius:var(--radius-sm);background:var(--white);font-weight:600;cursor:pointer}
.variations select:focus{outline:none;border-color:var(--ink)}
.reset_variations{font-size:.78rem;color:var(--muted);text-decoration:underline}

/* Premium variation controls: native selects remain in the DOM for WooCommerce,
   while customers interact with tactile size chips and true colour dots. */
.variation-select--enhanced{position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important}
.variation-swatches{display:flex;flex-wrap:wrap;gap:.55rem;width:100%}
.variation-swatch{appearance:none;border:1.5px solid var(--line);background:#fff;color:var(--ink);
  min-height:44px;border-radius:12px;padding:.6rem .85rem;font:800 .82rem/1 var(--font,inherit);
  cursor:pointer;transition:border-color .16s,box-shadow .16s,transform .16s,background .16s}
.variation-swatch:hover{border-color:var(--ink);transform:translateY(-1px)}
.variation-swatch.is-active{border-color:var(--ink);background:var(--ink);color:#fff;
  box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ink)}
.variation-swatch:disabled{opacity:.3;cursor:not-allowed;text-decoration:line-through;transform:none}
.variation-swatches--size .variation-swatch{min-width:48px;padding-inline:.8rem}
.variation-swatches--colour .variation-swatch{display:inline-flex;align-items:center;gap:.55rem;
  padding:.48rem .72rem .48rem .5rem;background:#fff;color:var(--ink)}
.variation-swatches--colour .variation-swatch.is-active{background:#fff;color:var(--ink)}
.variation-swatch__dot{display:block;width:25px;height:25px;border-radius:50%;background:var(--swatch-colour);
  border:1px solid rgba(11,11,15,.2);box-shadow:inset 0 0 0 2px rgba(255,255,255,.5)}
.variation-swatches--colour .variation-swatch.is-active .variation-swatch__dot{
  box-shadow:0 0 0 3px #fff,0 0 0 5px var(--ink)}

.single_variation_wrap .price{font-size:var(--step-2);margin-bottom:.8rem}
form.cart{display:flex;flex-wrap:wrap;gap:.6rem;align-items:stretch;margin-bottom:1.2rem}
form.cart .quantity{display:flex}
form.cart .quantity input{width:76px;padding:.9rem .6rem;border:2px solid rgba(11,11,15,.14);
  border-radius:999px;text-align:center;font-weight:700}
.single_add_to_cart_button{flex:1;min-width:200px;display:inline-flex;align-items:center;
  justify-content:center;gap:.5rem;padding:1rem 2rem;background:var(--ink);color:var(--paper);
  border:2px solid var(--ink);border-radius:999px;font-weight:750;font-size:1rem;
  transition:transform .18s var(--ease),box-shadow .18s var(--ease)}
.single_add_to_cart_button:hover{transform:translateY(-2px);
  box-shadow:0 12px 26px -12px rgba(0,0,0,.55)}
.single_add_to_cart_button.disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}

/* "Design this" call-to-action on plain single-product pages. */
.product-design-cta{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  margin:1.4rem 0;padding:1.2rem 1.3rem;border:1px solid var(--line);border-radius:var(--radius-lg);
  background:linear-gradient(120deg,rgba(202,255,34,.14),rgba(202,255,34,.04))}
.product-design-cta__body{min-width:200px;flex:1}
.product-design-cta h3{font-size:1.15rem;font-weight:850;margin:.2rem 0 .35rem;letter-spacing:-.01em}
.product-design-cta p{font-size:.88rem;color:var(--muted-2);line-height:1.5;margin:0;max-width:44ch}
.product-design-cta .btn{white-space:nowrap;text-decoration:none}
@media (max-width:520px){.product-design-cta .btn{width:100%;justify-content:center}}

/* Payment methods and trust badges under the purchase actions. */
.product-payment-methods{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;
  margin:1rem 0 0;padding:1rem 0;border-top:1px solid rgba(11,11,15,.1)}
.product-payment-methods>span{font-size:.7rem;line-height:1;text-transform:uppercase;letter-spacing:.11em;
  color:var(--muted);font-weight:850}
.product-payment-methods img{display:block;width:min(100%,363px);height:auto;border-radius:8px}
.trust{list-style:none;padding:1.2rem 0 0;margin:0;display:flex;flex-direction:column;gap:.7rem;
  border-top:1px solid rgba(11,11,15,.1)}
.trust li{display:flex;align-items:center;gap:.65rem;font-size:.9rem;color:#3A3A48}
.trust svg{width:19px;height:19px;stroke:var(--ink);stroke-width:1.8;fill:none;
  stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

.product_meta{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid rgba(11,11,15,.1);
  font-size:.82rem;color:var(--muted);display:flex;flex-direction:column;gap:.35rem}
.product_meta a{color:var(--ink);text-decoration:underline}

/* Tabs */
.woocommerce-tabs{margin-bottom:var(--sp-8)}
.woocommerce-tabs ul.tabs{list-style:none;display:flex;gap:.4rem;padding:0;margin:0 0 var(--sp-5);
  border-bottom:1px solid rgba(11,11,15,.12);flex-wrap:wrap}
.woocommerce-tabs ul.tabs li{margin:0}
.woocommerce-tabs ul.tabs a{display:block;padding:.8rem 1.2rem;font-weight:700;font-size:.9rem;
  color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-1px}
.woocommerce-tabs ul.tabs li.active a{color:var(--ink);border-bottom-color:var(--volt)}
.woocommerce-Tabs-panel h2{font-size:var(--step-1);margin-bottom:.8rem}
.woocommerce-Tabs-panel{max-width:70ch;color:#3A3A48;line-height:1.7}
.woocommerce-Tabs-panel ul{padding-left:1.1rem}
.woocommerce-Tabs-panel li{margin-bottom:.4rem}

.related.products>h2,.upsells>h2{font-size:var(--step-2);letter-spacing:-.03em;
  margin:0 0 var(--sp-5)}

/* ----------------------------------------------------------------- article */
.article{max-width:var(--wrap-narrow)}
.article__head{margin-bottom:var(--sp-5)}
.article__head h1{font-size:var(--step-3);margin:.8rem 0 .7rem;text-wrap:balance}
.article__hero{margin:0 0 var(--sp-6);border-radius:var(--radius-lg);overflow:hidden}
.article__hero img{width:100%;height:auto;display:block}
.article__body{font-size:1.06rem;line-height:1.75;color:#24242E}
.article__body h2{font-size:var(--step-2);margin:2.2rem 0 .8rem;letter-spacing:-.03em}
.article__body h3{font-size:var(--step-1);margin:1.8rem 0 .6rem}
.article__body p{margin:0 0 1.2em}
.article__body ul,.article__body ol{margin:0 0 1.4em;padding-left:1.3em}
.article__body li{margin-bottom:.5em}
.article__body a{color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;
  text-underline-offset:3px;text-decoration-color:var(--volt-dk)}
.article__body a:hover{background:var(--volt)}
.article__body blockquote{margin:1.8rem 0;padding:1rem 0 1rem 1.4rem;
  border-left:4px solid var(--volt);font-size:1.12rem;font-style:italic;color:var(--ink)}
/* Pricing/comparison tables are the most useful thing in the guides and the
   most likely to break on a phone: width:100% does not stop a table whose
   cell content cannot compress below ~500px. Wrapping the table in its own
   scroll container keeps the page itself from scrolling sideways (which
   silently clips content) while the table stays fully readable. */
.article__body .table-scroll{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin:1.6rem 0;
  border-radius:var(--radius);
}
.article__body .table-scroll > table{margin:0;min-width:34rem}
.article__body table{width:100%;border-collapse:collapse;margin:1.6rem 0;font-size:.94rem}
.article__body th,.article__body td{padding:.75rem .9rem;border:1px solid rgba(11,11,15,.12);
  text-align:left}
.article__body th{background:var(--paper-2);font-weight:800;font-size:.8rem;
  text-transform:uppercase;letter-spacing:.06em}
.article__body img{border-radius:var(--radius);margin:1.5rem 0}
.article__tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:var(--sp-6);
  padding-top:var(--sp-5);border-top:1px solid rgba(11,11,15,.1)}
.article__tags a{padding:.3rem .75rem;border:1px solid rgba(11,11,15,.15);border-radius:999px;
  font-size:.78rem;font-weight:650;color:var(--muted)}
.article__tags a:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}

.autolink{color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;
  text-underline-offset:3px;text-decoration-color:var(--violet)}

.related{margin:var(--sp-8) 0 0}
.related__title{font-size:var(--step-2);margin-bottom:var(--sp-5)}

/* ----------------------------------------------------------------- shipbar */
.shipbar{background:var(--white);border:1px solid rgba(11,11,15,.1);border-radius:var(--radius);
  padding:1rem 1.2rem;margin-bottom:var(--sp-5)}
.shipbar p{margin:0 0 .6rem;font-size:.9rem;font-weight:650}
.shipbar__track{height:7px;background:var(--paper-2);border-radius:999px;overflow:hidden}
.shipbar__track span{display:block;height:100%;background:var(--volt);
  transition:width .4s var(--ease)}

/* ------------------------------------------------------------------ pager */
.pager{margin-top:var(--sp-7);display:flex;justify-content:center}
.pager .nav-links{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
.pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;height:42px;padding:0 .7rem;border-radius:10px;font-weight:700;font-size:.9rem;
  border:1px solid rgba(11,11,15,.14);color:var(--ink)}
.pager .page-numbers:hover{background:var(--paper-2)}
.pager .page-numbers.current{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.pager .page-numbers svg{width:15px;height:15px}
.pager .flip{transform:rotate(180deg)}

/* ----------------------------------------------------------- side cart */
body.has-sidecart{overflow:hidden}
.sidecart{position:fixed;inset:0;z-index:220;pointer-events:none;visibility:hidden}
.sidecart.is-open{pointer-events:auto;visibility:visible}
.sidecart__scrim{position:absolute;inset:0;border:0;background:rgba(11,11,15,.58);opacity:0;
  backdrop-filter:blur(3px);transition:opacity .28s ease;cursor:default}
.sidecart.is-open .sidecart__scrim{opacity:1}
.sidecart__panel{position:absolute;top:0;right:0;bottom:0;width:min(480px,100vw);background:#fff;
  display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;transform:translateX(102%);
  transition:transform .32s cubic-bezier(.2,.8,.2,1);box-shadow:-28px 0 70px rgba(11,11,15,.2)}
.sidecart.is-open .sidecart__panel{transform:none}
.sidecart__header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.35rem;
  border-bottom:1px solid var(--line)}
.sidecart__header .eyebrow{font-size:.65rem;color:var(--muted)}
.sidecart__header h2{display:flex;align-items:center;gap:.5rem;margin:.15rem 0 0;font-size:1.55rem}
.sidecart__header h2 span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 .35rem;
  border-radius:999px;background:var(--volt);font-size:.72rem}
.sidecart__close{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;
  color:var(--ink);font-size:1.7rem;line-height:1;cursor:pointer;transition:.18s}
.sidecart__close:hover{background:var(--ink);color:#fff;transform:rotate(6deg)}
.sidecart__shipping{padding:.8rem 1.35rem;background:#f7f7f2;border-bottom:1px solid var(--line)}
.sidecart__shipping p{margin:0 0 .5rem;font-size:.76rem;text-align:center;color:var(--muted-2)}
.sidecart__shipping p.is-unlocked{color:var(--ink)}
.sidecart__shipping>div{height:5px;border-radius:999px;background:#deded7;overflow:hidden}
.sidecart__shipping i{display:block;height:100%;border-radius:inherit;background:var(--volt);transition:width .3s ease}
.sidecart__body{overflow-y:auto;overscroll-behavior:contain;padding:0 1.35rem}
.sidecart__body.is-loading{opacity:.55;pointer-events:none}
.sidecart__loading{display:grid;place-items:center;min-height:240px;color:var(--muted);font-size:.85rem}
.sidecart__items{display:flex;flex-direction:column}
.sidecart-item{display:grid;grid-template-columns:92px 1fr;gap:1rem;padding:1.1rem 0;
  border-bottom:1px solid var(--line)}
.sidecart-item__image{display:grid;place-items:center;width:92px;height:110px;border-radius:14px;
  overflow:hidden;background:#f2f2ed;text-decoration:none;color:var(--ink);font-weight:900}
.sidecart-item__image img{width:100%;height:100%;object-fit:cover;display:block}
.sidecart-item__main{min-width:0;display:flex;flex-direction:column}
.sidecart-item__top{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem}
.sidecart-item__top>a{font-size:.9rem;line-height:1.25;font-weight:850;color:var(--ink);text-decoration:none}
.sidecart-item__remove{flex:0 0 auto;width:26px;height:26px;border:0;border-radius:50%;background:#f1f1ec;
  color:var(--muted);font-size:1.1rem;line-height:1;cursor:pointer}
.sidecart-item__meta{display:flex;flex-wrap:wrap;gap:.25rem .5rem;margin:.38rem 0;color:var(--muted);font-size:.68rem}
.sidecart-item__meta span{padding:.18rem .38rem;border-radius:5px;background:#f6f6f2}
.sidecart-item__bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto}
.sidecart-item__bottom strong{font-size:.88rem}
.sidecart-qty{display:grid;grid-template-columns:30px 30px 30px;align-items:center;border:1px solid var(--line);
  border-radius:999px;overflow:hidden;background:#fff}
.sidecart-qty button{height:30px;border:0;background:#fff;color:var(--ink);font-size:1rem;cursor:pointer}
.sidecart-qty button:hover{background:var(--volt)}
.sidecart-qty span{text-align:center;font-size:.74rem;font-weight:850}
.sidecart__footer{padding:1rem 1.35rem 1.15rem;border-top:1px solid var(--line);background:#fff;
  box-shadow:0 -16px 32px rgba(11,11,15,.05)}
.sidecart__total{display:flex;align-items:center;justify-content:space-between;font-size:1.05rem}
.sidecart__total strong{font-size:1.25rem}
.sidecart__footer>p{margin:.25rem 0 .85rem;text-align:center;font-size:.68rem;color:var(--muted)}
.sidecart__checkout{display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:13px;
  background:var(--ink);color:#fff!important;text-transform:uppercase;letter-spacing:.07em;
  font-size:.8rem;font-weight:900;text-decoration:none}
.sidecart__view{display:block;margin:.65rem 0;text-align:center;color:var(--ink);font-size:.76rem;font-weight:800}
.sidecart__payments{display:block;width:min(100%,290px);height:auto;margin:.4rem auto 0;border-radius:7px}
.sidecart__empty{display:flex;min-height:100%;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:2rem 1rem}
.sidecart__empty>span{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;
  background:var(--volt);font-size:1.4rem;font-weight:900}
.sidecart__empty h3{margin:1rem 0 .35rem;font-size:1.5rem}
.sidecart__empty p{max-width:32ch;margin:0 0 1.2rem;color:var(--muted);font-size:.86rem;line-height:1.6}
.sidecart__empty .btn{width:100%;max-width:260px;justify-content:center;margin:.25rem 0;text-decoration:none}
.sidecart__empty button{margin-top:.8rem;border:0;background:var(--ink);color:#fff;border-radius:9px;padding:.7rem 1rem}
.sidecart.is-busy .sidecart__body,.sidecart.is-busy .sidecart__footer{pointer-events:none;opacity:.6}
@media(max-width:520px){
  .sidecart__panel{width:100vw}
  .sidecart__header{padding:1rem}
  .sidecart__shipping{padding:.75rem 1rem}
  .sidecart__body{padding:0 1rem}
  .sidecart__footer{padding:.85rem 1rem max(.85rem,env(safe-area-inset-bottom))}
  .sidecart-item{grid-template-columns:78px 1fr;gap:.75rem;padding:.85rem 0}
  .sidecart-item__image{width:78px;height:96px}
  .sidecart__payments{max-width:250px}
}

/* ----------------------------------------------------------------- drawer */
.drawer{position:fixed;inset:0;z-index:100;pointer-events:none;visibility:hidden}
.drawer.is-open{pointer-events:auto;visibility:visible}
.drawer__scrim{position:absolute;inset:0;background:rgba(11,11,15,.55);opacity:0;
  transition:opacity .3s var(--ease);backdrop-filter:blur(2px)}
.drawer.is-open .drawer__scrim{opacity:1}
.drawer__panel{position:absolute;top:0;right:0;bottom:0;width:min(340px,86vw);
  background:var(--paper);padding:1.2rem;transform:translateX(100%);
  transition:transform .32s var(--ease);overflow-y:auto;display:flex;flex-direction:column}
.drawer.is-open .drawer__panel{transform:none}
.drawer__menu{list-style:none;padding:0;margin:1.5rem 0 0;display:flex;flex-direction:column}
.drawer__menu li,
.drawer__menu > a{border-bottom:1px solid rgba(11,11,15,.09)}
.drawer__menu a{display:block;padding:.95rem .2rem;font-size:1.05rem;font-weight:700;
  letter-spacing:-.02em}
.drawer__menu a.is-hot{color:var(--violet)}

/* ------------------------------------------------------------------ toast */
.toast{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%,140%);z-index:200;
  background:var(--ink);color:var(--paper);padding:.85rem 1.5rem;border-radius:999px;
  font-weight:700;font-size:.9rem;box-shadow:var(--shadow-lg);
  transition:transform .35s var(--ease)}
.toast.is-on{transform:translate(-50%,0)}

/* ----------------------------------------------------------------- widgets */
.widget{margin-bottom:var(--sp-6)}
.widget__title{font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;
  margin-bottom:.9rem;color:var(--muted)}
.widget ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}
.widget a{font-size:.92rem}
.widget a:hover{text-decoration:underline}

/* ------------------------------------------------------------ searchform */
.searchform{display:flex;gap:.5rem;max-width:520px}
.searchform input{flex:1;padding:.8rem 1.1rem;border:2px solid rgba(11,11,15,.14);
  border-radius:999px;background:var(--white)}
.searchform input:focus{outline:none;border-color:var(--ink)}

/* --------------------------------------------------------------- capture */
.capture__done{font-size:1.05rem;font-weight:700;margin:0}

/* -------------------------------------------------------------- printing */
@media print{
  .site-header,.site-footer,.announce,.band,.capture,.drawer,.toast{display:none!important}
  body{background:#fff}
}

/* --------------------------------------------------------------- comments */
.comments{max-width:var(--wrap-narrow);margin:var(--sp-8) auto 0;
  padding-top:var(--sp-6);border-top:1px solid rgba(11,11,15,.1)}
.comments__title{font-size:var(--step-2);margin-bottom:var(--sp-5)}
.comment-list{list-style:none;padding:0;margin:0 0 var(--sp-6)}
.comment-list li{margin-bottom:1.5rem}
.comment-list .children{list-style:none;padding-left:1.5rem;margin-top:1.5rem}
.comment-body{background:var(--white);border:1px solid rgba(11,11,15,.09);
  border-radius:var(--radius);padding:1.1rem 1.3rem}
.comment-author{display:flex;align-items:center;gap:.6rem;font-weight:700;margin-bottom:.4rem}
.comment-author img{border-radius:50%}
.comment-metadata{font-size:.76rem;color:var(--muted);margin-bottom:.6rem}
.comment-reply-link{font-size:.82rem;font-weight:700;text-decoration:underline}
.comment-form{display:flex;flex-direction:column;gap:.9rem}
.comment-form label{font-size:.8rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:var(--muted);display:block;margin-bottom:.3rem}
.comment-form input[type=text],.comment-form input[type=email],
.comment-form input[type=url],.comment-form textarea{width:100%;padding:.85rem 1.1rem;
  border:2px solid rgba(11,11,15,.14);border-radius:var(--radius-sm);background:var(--white)}
.comment-form textarea{min-height:130px;resize:vertical}
.comment-form input:focus,.comment-form textarea:focus{outline:none;border-color:var(--ink)}
.comment-notes{font-size:.82rem;color:var(--muted)}
.form-submit{margin:0}

/* =========================================================================
   Fixes from live browser testing
   ========================================================================= */

/* Inline SVGs inside pills/tags were inheriting no size and blowing up.
   Constrain every icon that sits inside a text run. */
.tag svg,
.hero__badge svg,
.btn svg,
.stars svg,
.engine__stat svg{
  width:1em;height:1em;flex:0 0 auto;stroke-width:2.2
}
.tag{white-space:nowrap}
.tag--volt svg{stroke:currentColor}

/* Hero badges: keep them on one line and compact. */
.hero__badge{white-space:nowrap;font-size:.78rem;padding:.55rem .95rem;line-height:1}
.hero__badge svg{width:14px;height:14px}
@media (max-width:1100px){
  .hero__badge{font-size:.72rem;padding:.45rem .8rem}
}
@media (max-width:620px){
  .hero__badge--1{left:0;bottom:12%}
  .hero__badge--2{right:0;bottom:2%}
}

/* Hero imagery: bias the crop to the top so faces are never cut off. */
.float img{object-position:50% 22%}

/* The eyebrow pill above the H1 should hug its text. */
.hero .tag{max-width:max-content}

/* Tighter hero rhythm on large screens. */
@media (min-width:1200px){
  .hero__title{font-size:clamp(3.2rem,5.6vw,6.4rem)}
}

/* ---------------------------------------- single product layout corrections */

/* The gallery column was collapsing to the image's intrinsic width because
   WooCommerce's wrapper is floated/inline-block by default. */
.product-single .woocommerce-product-gallery{
  width:100%!important;float:none!important;margin:0!important;opacity:1!important
}
.product-single .woocommerce-product-gallery__wrapper{margin:0}
.product-single .woocommerce-product-gallery__image{display:block}
.product-single .woocommerce-product-gallery__image img{width:100%;height:auto}

/* Woo's own summary float fights our grid. */
.product-single .summary{width:100%!important;float:none!important;margin:0!important}
.product-single .product-gallery,
.product-single .product-summary{min-width:0}

/* Variation table: label column narrow, select fills the rest. */
.variations{table-layout:fixed}
.variations th.label{width:92px;padding-right:1rem}
.variations td.value{width:auto}
.variations select{
  width:100%;min-width:0;max-width:none;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B0B0F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .9rem center;background-size:16px;
  padding-right:2.6rem;text-overflow:ellipsis
}

/* Quantity + add-to-cart must sit on one row. */
.product-single form.cart{
  display:flex;flex-wrap:nowrap;align-items:stretch;gap:.6rem;margin:1.2rem 0
}
.product-single form.cart .quantity{flex:0 0 auto}
.product-single form.cart .quantity input{height:100%;min-height:52px}
.product-single .single_add_to_cart_button{flex:1 1 auto;min-width:0}
@media (max-width:420px){
  .product-single form.cart{flex-wrap:wrap}
  .product-single .single_add_to_cart_button{width:100%}
}

/* Variation price block spacing. */
.woocommerce-variation-price{margin:.4rem 0 1rem}
.woocommerce-variation-availability{font-size:.85rem;color:var(--muted);margin-bottom:.6rem}
.woocommerce-variation-description p{margin:0 0 .8rem;font-size:.92rem;color:#3A3A48}

/* Sale flash badge on the gallery. */
.product-single .onsale{
  position:absolute;z-index:3;top:.8rem;left:.8rem;
  background:var(--coral);color:#fff;padding:.3rem .7rem;border-radius:999px;
  font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em
}
.product-single .woocommerce-product-gallery{position:relative}

/* Zoom trigger. */
.woocommerce-product-gallery__trigger{
  position:absolute;top:.8rem;right:.8rem;z-index:3;width:38px;height:38px;
  border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;
  font-size:1rem;text-decoration:none;box-shadow:0 2px 10px rgba(0,0,0,.12)
}

/* Stars in the summary. */
.product-summary .woocommerce-product-rating{display:flex;align-items:center;gap:.5rem;
  margin-bottom:.8rem;font-size:.85rem}

/* WooCommerce nests .woocommerce-variation-add-to-cart inside the variations
   form, which our flex row was pulling alongside the selects. Force the
   variation wrapper to own a full-width block below the dropdowns. */
.product-single form.variations_form{display:block}
.product-single .single_variation_wrap{display:block;width:100%;margin-top:1rem}
.product-single .woocommerce-variation-add-to-cart{
  display:flex;flex-wrap:nowrap;align-items:stretch;gap:.6rem;width:100%
}
.product-single .woocommerce-variation-add-to-cart .quantity{flex:0 0 auto}
.product-single .woocommerce-variation-add-to-cart .quantity input{min-height:52px;height:100%}
.product-single .woocommerce-variation-add-to-cart .single_add_to_cart_button{
  flex:1 1 auto;min-width:0
}
@media (max-width:420px){
  .product-single .woocommerce-variation-add-to-cart{flex-wrap:wrap}
  .product-single .woocommerce-variation-add-to-cart .single_add_to_cart_button{width:100%}
}

/* -------------------------------- premium single-product experience */
.single-product .site-main>.wrap{max-width:1320px}
.product-assurance-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  margin:0 0 clamp(1.2rem,3vw,2.2rem);border:1px solid var(--line);border-radius:18px;
  background:#fff;overflow:hidden}
.product-assurance-strip__item{display:flex;align-items:center;justify-content:center;gap:.75rem;
  padding:.9rem 1rem;border-right:1px solid var(--line)}
.product-assurance-strip__item:last-child{border-right:0}
.product-assurance-strip__icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  background:var(--volt);color:var(--ink);font-weight:900;flex:0 0 auto}
.product-assurance-strip__item span:last-child{display:flex;flex-direction:column;line-height:1.25}
.product-assurance-strip__item strong{font-size:.82rem;font-weight:850}
.product-assurance-strip__item small{font-size:.72rem;color:var(--muted);margin-top:.14rem}

.product-single{grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);gap:clamp(1.5rem,4vw,4.5rem)}
.product-single .product-gallery{top:88px}
.product-single .woocommerce-product-gallery{background:#f5f5f0;border:0;border-radius:24px;
  box-shadow:inset 0 0 0 1px rgba(11,11,15,.06)}
.product-single .woocommerce-product-gallery__image img{aspect-ratio:1/1;object-fit:contain;padding:clamp(.5rem,2vw,1.5rem)}
.product-single .flex-control-thumbs{gap:.7rem;padding-top:.75rem}
.product-single .flex-control-thumbs img{background:#f5f5f0;border-radius:12px}
.product-single .product-summary{padding:clamp(1.25rem,2.4vw,2rem);border:1px solid var(--line);
  border-radius:24px;background:#fff;box-shadow:0 24px 70px -45px rgba(11,11,15,.45)}
.product-summary>.card__cat{display:inline-flex;margin-bottom:.7rem;font-size:.72rem;text-transform:uppercase;
  letter-spacing:.13em;font-weight:850;color:var(--muted)}
.product-summary__badges{display:flex;gap:.45rem;flex-wrap:wrap;margin:.75rem 0 1rem}
.product-summary__badges span{display:inline-flex;padding:.34rem .62rem;border-radius:999px;
  background:var(--paper-2);font-size:.7rem;font-weight:800;color:#34343d}
.product-single .product_title{font-size:clamp(2rem,3.2vw,3.7rem);line-height:.98;max-width:13ch;margin-bottom:.85rem}
.product-single .product-summary .price{font-size:clamp(1.5rem,2.2vw,2.1rem);letter-spacing:-.03em}
.product-single .woocommerce-product-details__short-description{font-size:.98rem;line-height:1.7;
  border-bottom:1px solid var(--line);padding-bottom:1.2rem}
.product-single .variations th.label{display:block;width:auto;padding:0 0 .42rem}
.product-single .variations td.value{display:block;width:100%;padding:0 0 1rem}
.product-single .variations select{min-height:52px;border:1px solid var(--line);border-radius:14px;
  background-color:#fafaf7;font-size:.94rem}
.product-single form.cart .quantity input{border-radius:14px;border:1px solid var(--line);background:#fafaf7}
.product-single .single_add_to_cart_button{border-radius:14px!important;background:var(--ink)!important;
  color:#fff!important;border-color:var(--ink)!important;min-height:54px;text-transform:uppercase;
  letter-spacing:.06em;font-size:.85rem;font-weight:850;box-shadow:none}
.product-single .single_add_to_cart_button:after{content:'→';font-size:1.1rem}
.product-single form.cart .upc-design-this,
.product-single .woocommerce-variation-add-to-cart .upc-design-this{flex:0 0 auto;margin:0!important}
.product-single .trust{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;padding-top:1rem}
.product-single .trust li{font-size:.78rem;align-items:flex-start}
.product-single .product_meta{font-size:.74rem}
.product-design-cta{position:relative;overflow:hidden;border:0;padding:1.35rem;background:var(--volt)}
.product-design-cta:after{content:'✦';position:absolute;right:-.1rem;top:-1.4rem;font-size:6rem;
  opacity:.12;line-height:1;color:var(--ink);pointer-events:none}
.product-design-cta h3,.product-design-cta p,.product-design-cta .eyebrow{position:relative;z-index:1}
.product-design-cta p{color:rgba(11,11,15,.72)}
.product-design-cta .btn{position:relative;z-index:1;border-radius:12px}
.product-support-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  margin-top:1rem;padding:1rem 0 0;border-top:1px solid var(--line)}
.product-support-card div{display:flex;flex-direction:column;gap:.15rem}
.product-support-card strong{font-size:.82rem}
.product-support-card span{font-size:.74rem;color:var(--muted)}
.product-support-card a{font-size:.8rem;font-weight:850;color:var(--ink);white-space:nowrap}

.product-reasons{margin:clamp(2rem,5vw,5rem) 0;padding:clamp(1.5rem,4vw,3.5rem);
  border-radius:28px;background:var(--ink);color:var(--paper)}
.product-reasons__intro{display:grid;grid-template-columns:.45fr 1fr;gap:1.5rem;align-items:end;
  padding-bottom:clamp(1.5rem,3vw,2.5rem);border-bottom:1px solid rgba(255,255,255,.18)}
.product-reasons__intro .eyebrow{color:var(--volt)}
.product-reasons__intro h2{font-size:clamp(1.8rem,3.8vw,4.2rem);line-height:1;letter-spacing:-.045em;
  max-width:16ch;margin:0}
.product-reasons__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.product-reasons__grid article{padding:clamp(1.3rem,2.5vw,2.3rem);border-right:1px solid rgba(255,255,255,.18)}
.product-reasons__grid article:first-child{padding-left:0}
.product-reasons__grid article:last-child{border-right:0;padding-right:0}
.product-reasons__number{display:block;font:700 .72rem/1 var(--mono,monospace);color:var(--volt);margin-bottom:2.2rem}
.product-reasons h3{font-size:1.08rem;margin:0 0 .55rem;color:#fff}
.product-reasons p{font-size:.86rem;line-height:1.65;color:rgba(255,255,255,.65);margin:0;max-width:32ch}
.single-product .woocommerce-tabs{border:1px solid var(--line);border-radius:24px;padding:clamp(1.2rem,3vw,2.5rem)}
.single-product .woocommerce-tabs ul.tabs{margin-bottom:1.5rem}
.single-product .related.products>h2,.single-product .upsells.products>h2{font-size:clamp(1.7rem,3vw,3rem);
  letter-spacing:-.035em;margin-bottom:1.5rem}

@media(max-width:900px){
  .product-assurance-strip{grid-template-columns:1fr}
  .product-assurance-strip__item{justify-content:flex-start;border-right:0;border-bottom:1px solid var(--line)}
  .product-assurance-strip__item:last-child{border-bottom:0}
  .product-single{grid-template-columns:1fr}
  .product-single .product-summary{padding:1.2rem;border-radius:18px}
  .product-reasons__intro{grid-template-columns:1fr}
}
@media(max-width:640px){
  .product-assurance-strip__item:nth-child(1){display:none}
  .product-single .product_title{font-size:2.25rem}
  .product-single .trust{grid-template-columns:1fr}
  .product-single form.cart,.product-single .woocommerce-variation-add-to-cart{flex-wrap:wrap}
  .product-single .single_add_to_cart_button,.product-single .upc-design-this{flex:1 1 calc(50% - .3rem);width:auto}
  .product-single form.cart .quantity{flex:0 0 100%}
  .product-single form.cart .quantity input{width:100%}
  .product-support-card{align-items:flex-start;flex-direction:column}
  .product-reasons{border-radius:20px}
  .product-reasons__grid{grid-template-columns:1fr}
  .product-reasons__grid article,.product-reasons__grid article:first-child,.product-reasons__grid article:last-child{
    padding:1.3rem 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}
  .product-reasons__grid article:last-child{border-bottom:0}
  .product-reasons__number{margin-bottom:.8rem}
}

/* ------------------------------------------------------------------
   WooCommerce Blocks: Cart & Checkout
   Woo 11 renders these as React blocks that ship their own stylesheet,
   which lands AFTER the theme's. Left alone the primary button renders
   ink-on-grey (#0B0B0F on #32373C, ~1.4:1) and underlined -- effectively
   invisible. These rules pull the blocks back into the design system.
   ------------------------------------------------------------------ */

/* Primary action: Proceed to Checkout / Place Order */
/* Woo's own rule underlines this anchor with higher specificity, so the
   text-decoration override is repeated at :any-link strength below. */
a.wc-block-cart__submit-button,
a.wc-block-cart__submit-button:any-link,
a.wc-block-cart__submit-button:hover,
a.wc-block-cart__submit-button:focus{
  text-decoration:none;
}
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button{
  display:block;
  width:100%;
  background:var(--volt);
  color:var(--ink);
  font-weight:700;
  font-size:1rem;
  letter-spacing:.01em;
  text-decoration:none;
  text-align:center;
  border:0;
  border-radius:999px;
  padding:1rem 1.5rem;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover{
  background:#e6ff6b;
  text-decoration:none;
  transform:translateY(-1px);
  box-shadow:0 8px 24px rgba(215,255,62,.28);
}
.wc-block-cart__submit-button:focus-visible,
.wc-block-components-checkout-place-order-button:focus-visible{
  outline:3px solid var(--violet);
  outline-offset:2px;
}

/* Totals panel */
.wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-sidebar{
  background:#fff;
  border:1px solid rgba(11,11,15,.08);
  border-radius:var(--radius,14px);
  padding:1.25rem;
}
.wc-block-components-totals-item__label{color:var(--muted);font-weight:500}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font-weight:800;
  font-size:1.35rem;
  color:var(--ink);
}

/* Product titles in the line-item table */
.wc-block-components-product-name{
  color:var(--ink);
  font-weight:700;
  text-decoration:none;
}
.wc-block-components-product-name:hover{text-decoration:underline}

/* Quantity stepper */
.wc-block-components-quantity-selector{
  border:1px solid rgba(11,11,15,.15);
  border-radius:999px;
  overflow:hidden;
}
.wc-block-components-quantity-selector__button{color:var(--ink);background:transparent}
.wc-block-components-quantity-selector__button:hover{background:rgba(11,11,15,.05)}

/* Secondary links (coupons, remove) */
.wc-block-components-panel__button,
.wc-block-cart-item__remove-link{color:var(--muted)}
.wc-block-components-panel__button:hover,
.wc-block-cart-item__remove-link:hover{color:var(--ink)}

/* ==================================================================== */
/* Design Studio (/design/)                                             */
/* ==================================================================== */
.studio{background:var(--paper);padding-bottom:clamp(3rem,6vw,5rem)}
.studio__head{padding-top:clamp(2rem,5vw,3.5rem);padding-bottom:1.5rem;
  display:flex;gap:1.5rem;justify-content:space-between;align-items:flex-end;flex-wrap:wrap}
.studio__head h1{font-size:var(--step-4);font-weight:900;letter-spacing:-.045em;margin:.5rem 0 .5rem}
.studio__lead{max-width:60ch;color:var(--muted-2);font-size:var(--step-1);line-height:1.5}
/* 3-step progress: 01 Product → 02 Design → 03 Prepare */
.studio__progress{list-style:none;display:flex;gap:.5rem;margin:0;padding:.5rem;flex-wrap:wrap;
  background:var(--paper,#fff);border:1px solid var(--line);border-radius:99px}
.studio__progress li{display:flex;align-items:center;gap:.45rem;font-weight:700;font-size:.82rem;
  color:var(--muted-2);padding:.4rem .85rem;border-radius:99px;transition:.18s;white-space:nowrap}
.studio__progress li span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;
  background:var(--line-2,#E4E4DE);color:var(--ink);font-size:.72rem;font-weight:800}
.studio__progress li.is-active{background:var(--ink);color:var(--paper)}
.studio__progress li.is-active span{background:var(--volt);color:var(--ink)}
.studio__progress li.is-done{color:var(--ink)}
.studio__progress li.is-done span{background:var(--volt);color:var(--ink)}
@media (max-width:600px){.studio__progress{width:100%;justify-content:space-between}}

.studio__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) minmax(280px,.82fr);
  gap:clamp(1.2rem,2.5vw,2.25rem);align-items:start}
@media (max-width:1080px){.studio__grid{grid-template-columns:1fr 1fr}
  .studio__price{grid-column:1/-1}}
@media (max-width:760px){.studio__grid{grid-template-columns:1fr}}

/* Stage / preview */
.studio__stage{position:sticky;top:90px}
@media (max-width:1080px){.studio__stage{position:static}}
@media (max-width:760px){.studio__stage{max-width:420px;margin:0 auto;width:100%}}
.stage__label{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;
  margin-bottom:.55rem;font-weight:800;font-size:.9rem;color:var(--ink)}
.stage__label em{font-style:normal;font-weight:600;font-size:.76rem;color:var(--muted);
  display:inline-flex;align-items:center;gap:.3rem}
.stage__label em::before{content:"";width:14px;height:14px;border-radius:3px;border:1.5px dashed var(--volt-dk,#A8CC1F)}
.stage__garment{position:relative;aspect-ratio:4/5;border-radius:var(--radius-lg);
  overflow:hidden;background:radial-gradient(130% 100% at 50% 15%,#fbfbf8,#eceae3);
  display:grid;place-items:center;
  border:1px solid var(--line);box-shadow:var(--shadow-lg)}
/* Dashed print-safe zone overlay */
.stage__safe{position:absolute;left:26%;top:28%;width:48%;height:42%;z-index:2;pointer-events:none;
  border:1.5px dashed rgba(168,204,31,.9);border-radius:6px;opacity:0;transition:opacity .2s}
.stage__garment.show-safe .stage__safe{opacity:1}
.stage__safe span{position:absolute;top:-9px;left:8px;background:var(--volt);color:var(--ink);
  font-size:.6rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:1px 6px;border-radius:99px}
.stage__canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1;
  cursor:grab;transition:transform .05s linear;
  filter:drop-shadow(0 12px 26px rgba(0,0,0,.14))}
.stage__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1;
  cursor:grab;transition:transform .05s linear;
  filter:drop-shadow(0 12px 26px rgba(0,0,0,.10))}
.stage__canvas.is-grabbing,.stage__photo.is-grabbing{cursor:grabbing}
.stage__safe{transition:transform .05s linear,opacity .2s}
/* Layer stack container — upload + text + AI art layers all live here */
.stage__layers{position:absolute;inset:0;z-index:3;pointer-events:none}
.stage__layers[hidden]{display:none}
/* Full artwork layer — draggable, never cropped */
.stage__art{position:absolute;left:50%;top:46%;width:52%;z-index:3;
  transform:translate(-50%,-50%);transform-origin:center center;
  object-fit:contain;pointer-events:auto;cursor:grab;touch-action:none;
  user-select:none;-webkit-user-drag:none;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.18))}
.stage__art[hidden]{display:none}
.stage__art:active,.stage__art.is-grabbing{cursor:grabbing}
.stage__art.is-selected{outline:2px dashed var(--volt,#caff22);
  outline-offset:3px;border-radius:2px}
/* Layer panel */
.layers{margin-top:.9rem;border:1.5px solid var(--line-2,#E4E4DE);border-radius:12px;
  background:#fff;padding:.65rem .7rem}
.layers[hidden]{display:none}
.layers__head{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}
.layers__title{font-weight:800;font-size:.9rem;color:var(--ink)}
.layers__hint{font-size:.72rem;color:var(--muted-2)}
.layers__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}
.layers__item{display:flex;align-items:center;gap:.55rem;padding:.35rem .4rem;
  border:1.5px solid transparent;border-radius:9px;background:var(--paper,#f7f7f2)}
.layers__item.is-selected{border-color:var(--ink);background:#fff}
.layers__thumb{width:34px;height:34px;flex:0 0 auto;border-radius:6px;
  background:#eee center/cover no-repeat;border:1px solid var(--line-2,#E4E4DE)}
.layers__thumb--text{background-color:#1a1a18}
.layers__name{flex:1;min-width:0;text-align:left;background:none;border:0;cursor:pointer;
  font-weight:700;font-size:.82rem;color:var(--ink);white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;padding:0}
.layers__acts{display:flex;gap:.2rem;flex:0 0 auto}
.layers__btn{width:26px;height:26px;border:1.5px solid var(--line-2,#E4E4DE);background:#fff;
  border-radius:7px;cursor:pointer;font-size:.75rem;line-height:1;color:var(--muted-2);
  display:flex;align-items:center;justify-content:center;transition:.15s}
.layers__btn:hover{border-color:var(--ink);color:var(--ink)}
.layers__del:hover{border-color:#d33;color:#d33}
.layers__bg{font-size:.9rem;color:var(--violet,#6a5cff)}
.layers__bg:hover{border-color:var(--violet,#6a5cff);color:var(--violet,#6a5cff)}
.layers__bg.is-busy{opacity:.5;pointer-events:none}
/* Strategic on-canvas quick actions (Remove background / Auto-trim) */
.stage__quick{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.7rem}
.stage__quick[hidden]{display:none}
.stage__quickbtn{display:inline-flex;align-items:center;gap:.4rem;border:1.5px solid var(--line-2,#E4E4DE);
  background:#fff;border-radius:99px;padding:.5rem .9rem;font-weight:700;font-size:.82rem;color:var(--ink);
  cursor:pointer;transition:.15s;-webkit-tap-highlight-color:transparent}
.stage__quickbtn svg{width:15px;height:15px}
.stage__quickbtn:hover{border-color:var(--ink)}
.stage__quickbtn--primary{background:var(--volt);border-color:var(--volt);color:var(--ink)}
.stage__quickbtn--primary:hover{filter:brightness(.96)}
.stage__quickbtn.is-busy{opacity:.6;pointer-events:none}
.stage__quickstatus{font-size:.76rem;font-weight:700;color:var(--ok,#2E9E5B)}
/* Per-layer image editor (background removal + crop) */
.ledit{margin-top:.7rem;padding-top:.7rem;border-top:1.5px dashed var(--line-2,#E4E4DE)}
.ledit[hidden]{display:none}
.ledit__head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.5rem}
.ledit__title{font-weight:800;font-size:.84rem;color:var(--ink)}
.ledit__title em{font-style:normal;font-weight:600;color:var(--muted-2)}
.ledit__dims{font-size:.72rem;color:var(--muted-2);font-variant-numeric:tabular-nums}
.ledit__group{background:var(--paper,#f7f7f2);border:1.5px solid var(--line-2,#E4E4DE);
  border-radius:10px;padding:.55rem .6rem;margin-bottom:.5rem}
.ledit__row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}
.ledit__row:last-child{margin-bottom:0}
.ledit__lbl{font-weight:700;font-size:.8rem;color:var(--ink)}
.ledit__slide{display:flex;align-items:center;gap:.5rem;margin:.3rem 0}
.ledit__slide span{flex:0 0 84px;font-size:.74rem;color:var(--muted-2)}
.ledit__slide input[type=range]{flex:1;min-width:0;max-width:100%;box-sizing:border-box}
.ledit__chk{display:flex;align-items:center;gap:.4rem;font-size:.74rem;color:var(--muted-2);margin-top:.35rem}
.ledit__chk input{margin:0}
.ledit__note{font-size:.72rem;color:var(--muted-2);margin:.4rem 0 .1rem;line-height:1.35}
.ledit__adv{margin-top:.35rem}
.ledit__adv>summary{cursor:pointer;font-size:.74rem;font-weight:700;color:var(--muted-2);
  list-style:none;user-select:none}
.ledit__adv>summary::-webkit-details-marker{display:none}
.ledit__adv>summary::before{content:"⚙ ";opacity:.7}
.ledit__adv[open]>summary{color:var(--ink)}
.ledit__crop{display:grid;grid-template-columns:1fr 1fr;gap:.35rem .8rem;margin:.2rem 0 .5rem}
/* Crop sliders: compact stacked layout so the range never overflows its cell */
.ledit__crop .ledit__slide{flex-direction:column;align-items:stretch;gap:.15rem;margin:0;min-width:0}
.ledit__crop .ledit__slide span{flex:none;width:auto;font-weight:700}
.ledit__crop .ledit__slide input[type=range]{width:100%;max-width:100%;box-sizing:border-box;margin:0}
.ledit__link{background:none;border:0;padding:0;cursor:pointer;font-size:.74rem;font-weight:700;
  color:var(--muted-2);text-decoration:underline;text-underline-offset:2px}
.ledit__link:hover{color:var(--ink)}
.ledit__foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}
.ledit__status{font-size:.74rem;color:var(--muted-2)}
@media (max-width:560px){.ledit__crop{grid-template-columns:1fr}}
.stage__sides{display:flex;gap:.4rem;margin-bottom:.7rem}
.stage__side{flex:1;border:1.5px solid var(--line-2,#E4E4DE);background:#fff;border-radius:10px;
  padding:.5rem .75rem;font-weight:700;font-size:.85rem;color:var(--muted-2);cursor:pointer;transition:.15s}
.stage__side:hover{border-color:var(--ink);color:var(--ink)}
.stage__side.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
/* Layer target toggle — choose whether tools move/resize the art or product */
.stage__target{display:flex;align-items:center;gap:.4rem;margin-top:.85rem;flex-wrap:wrap}
.stage__target-lbl{font-size:.76rem;font-weight:700;color:var(--muted-2);margin-right:.15rem}
.stage__seg{border:1.5px solid var(--line-2,#E4E4DE);background:#fff;border-radius:99px;
  padding:.4rem .85rem;font-weight:700;font-size:.78rem;color:var(--ink);cursor:pointer;transition:.15s}
.stage__seg:hover:not(:disabled){border-color:var(--ink)}
.stage__seg.is-active{background:var(--ink);color:var(--volt);border-color:var(--ink)}
.stage__seg:disabled{opacity:.4;cursor:not-allowed}
.stage__tools{display:flex;align-items:center;gap:.55rem;margin-top:.6rem}
.stage__tool{width:34px;height:34px;border-radius:9px;border:1.5px solid var(--line-2,#E4E4DE);
  background:#fff;font-size:1.1rem;font-weight:800;line-height:1;cursor:pointer;color:var(--ink);
  display:grid;place-items:center;transition:.15s}
.stage__tool:hover{border-color:var(--ink)}
.stage__tool--reset{width:auto;padding:0 .8rem;font-size:.78rem;font-weight:700;color:var(--muted-2)}
.stage__tools input[type=range]{flex:1;accent-color:var(--violet)}
.stage__drag{margin-top:.55rem;font-size:.76rem;color:var(--muted);text-align:center;line-height:1.4}
.stage__view{display:flex;gap:.5rem;margin-top:.8rem;justify-content:center}
.stage__viewbtn{display:inline-flex;align-items:center;gap:.4rem;border:1.5px solid var(--line-2,#E4E4DE);
  background:#fff;border-radius:99px;padding:.5rem .95rem;font-weight:700;font-size:.8rem;color:var(--ink);
  cursor:pointer;transition:.15s}
.stage__viewbtn:hover{border-color:var(--ink)}
.stage__viewbtn.is-active{background:var(--violet,#7C5CFF);color:#fff;border-color:var(--violet,#7C5CFF)}
.stage__viewico{font-weight:800;letter-spacing:-.02em}
.stage__viewbtn.is-hidden,.stage__drag.is-hidden,.stage__viewbtn .is-hidden{display:none}
.is-hidden{display:none!important}
.stage__canvas.is-spin{cursor:ew-resize}
.stage__hint{position:absolute;left:0;right:0;bottom:.9rem;z-index:2;
  display:flex;align-items:center;justify-content:center;
  gap:.5rem;color:var(--muted);font-size:.8rem;font-weight:600;padding:0 1rem;text-align:center}
.stage__hint svg{width:18px;height:18px;stroke:var(--muted)}
.stage__meta{margin-top:.9rem;font-size:.9rem;color:var(--ink);line-height:1.5}
.stage__meta span{color:var(--muted)}

/* Control panel */
/* Design Studio — category bar + product grid */
.catbar{display:flex;flex-wrap:wrap;gap:.4rem;padding-bottom:.6rem;margin-bottom:.9rem}
.catbar__tab{flex:0 0 auto;border:1.5px solid var(--line-2,#E4E4DE);background:#fff;
  border-radius:99px;padding:.42rem .85rem;font-size:.8rem;font-weight:700;color:var(--muted-2);
  cursor:pointer;white-space:nowrap;transition:all .15s ease}
.catbar__tab:hover{border-color:var(--ink);color:var(--ink)}
.catbar__tab.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
/* search + count bar above the grid */
.blankgrid__bar{display:flex;align-items:center;gap:.6rem;margin-bottom:.7rem}
.blanksearch{flex:1;display:flex;align-items:center;gap:.5rem;background:#fff;
  border:1.5px solid var(--line-2,#E4E4DE);border-radius:10px;padding:.5rem .75rem;transition:.15s}
.blanksearch:focus-within{border-color:var(--ink)}
.blanksearch svg{width:16px;height:16px;stroke:var(--muted);flex:0 0 auto}
.blanksearch input{border:0;outline:0;flex:1;font-size:.86rem;background:transparent;color:var(--ink);min-width:0}
.blankgrid__count{flex:0 0 auto;font-size:.74rem;font-weight:700;color:var(--muted);white-space:nowrap}
.blankgrid__none{font-size:.85rem;color:var(--muted);padding:1rem 0}

.blankgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:.6rem;
  max-height:min(70vh,640px);overflow-y:auto;padding:.2rem;margin:0 -.2rem;
  scrollbar-width:thin;scrollbar-color:var(--line-2,#DEDED7) transparent}
.blankgrid::-webkit-scrollbar{width:8px}
.blankgrid::-webkit-scrollbar-thumb{background:var(--line-2,#DEDED7);border-radius:99px}
.blankcard{display:flex;flex-direction:column;gap:.5rem;text-align:left;
  border:1.5px solid var(--line-2,#E7E7E1);background:#fff;border-radius:14px;
  padding:.5rem;cursor:pointer;transition:transform .18s var(--ease),border-color .15s,box-shadow .18s;
  -webkit-tap-highlight-color:transparent}
.blankcard:hover{border-color:#C9C9C1;transform:translateY(-2px);box-shadow:var(--shadow)}
.blankcard:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.blankcard.is-active{border-color:var(--ink);box-shadow:0 0 0 1.5px var(--ink),0 10px 24px -12px rgba(0,0,0,.3)}
.blankcard__media{position:relative;display:block}
.blankcard__thumb{width:100%;aspect-ratio:1/1;border-radius:10px;background:#f4f2ec;display:block;
  object-fit:cover}
.blankcard__tick{position:absolute;top:.35rem;right:.35rem;width:22px;height:22px;border-radius:50%;
  background:var(--ink);color:var(--volt);display:grid;place-items:center;opacity:0;transform:scale(.6);
  transition:.18s var(--ease);box-shadow:0 2px 6px rgba(0,0,0,.25)}
.blankcard__tick svg{width:13px;height:13px}
.blankcard.is-active .blankcard__tick{opacity:1;transform:scale(1)}
.blankcard__text{display:flex;flex-direction:column;gap:.1rem;padding:0 .1rem .1rem}
.blankcard__name{font-weight:700;font-size:.8rem;line-height:1.25;color:var(--ink)}
.blankcard__price{font-size:.74rem;font-weight:700;color:var(--muted)}
.blankcard.is-active .blankcard__price{color:var(--ink)}

.studio__panel{display:flex;flex-direction:column;gap:1.4rem}
.studio__step{border:1px solid var(--line-2,#E4E4DE);border-radius:var(--radius);
  padding:1.05rem 1.15rem;background:#fff}
.studio__step legend{font-weight:800;font-size:.95rem;display:flex;align-items:center;gap:.5rem;
  padding:0 .35rem}
.studio__step legend span{width:22px;height:22px;border-radius:50%;background:var(--ink);
  color:var(--volt);font-size:.75rem;display:grid;place-items:center;font-weight:900;flex:0 0 auto}
.studio__pick{font-style:normal;font-weight:600;font-size:.82rem;color:var(--muted);margin-left:auto}
.studio__spec{color:var(--muted);font-size:.82rem;margin-top:.6rem;line-height:1.45}

.chipset{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{border:1.5px solid var(--line-2,#DEDED7);background:#fff;border-radius:999px;
  padding:.5rem .95rem;font-weight:700;font-size:.86rem;cursor:pointer;transition:.15s;color:var(--ink)}
.chip--sm{padding:.4rem .8rem;font-size:.82rem}
.chip:hover{border-color:var(--ink)}
.chip.is-active{background:var(--ink);color:var(--white);border-color:var(--ink)}
.chip--toggle.is-active{background:var(--volt);color:var(--ink);border-color:var(--volt)}
.placements{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem}

.swatchset{display:flex;flex-wrap:wrap;gap:.55rem}
.swatch{width:36px;height:36px;border-radius:50%;cursor:pointer;border:0;
  box-shadow:0 0 0 0 var(--ink);transition:transform .15s var(--ease),box-shadow .15s;position:relative}
.swatch--bordered{outline:1px solid rgba(0,0,0,.12);outline-offset:-1px}
.swatch:hover{transform:scale(1.1)}
.swatch:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.swatch.is-active{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--ink)}

/* Uploader */
.uploader{display:flex;flex-direction:column;align-items:center;gap:.35rem;text-align:center;
  border:2px dashed var(--line-2,#D3D3CC);border-radius:var(--radius);padding:1.5rem 1rem;
  cursor:pointer;transition:.15s;background:var(--paper)}
.uploader:hover,.uploader.is-drag{border-color:var(--violet);background:#fff}
.uploader svg{width:26px;height:26px;stroke:var(--violet)}
.uploader__title{font-weight:800}
.uploader__hint{font-size:.76rem;color:var(--muted)}
.uploader__status{font-size:.82rem;margin-top:.55rem;min-height:1.1em}
.uploader__status.is-ok{color:var(--ok,#2E9E5B);font-weight:700}
.uploader__status.is-error{color:var(--coral);font-weight:700}
.studio__or{text-align:center;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;
  color:var(--muted);margin:.9rem 0 .7rem;font-weight:700}
.ai-row{display:flex;gap:.5rem}
.ai-row input{flex:1;border:1.5px solid var(--line-2,#DEDED7);border-radius:10px;padding:.55rem .8rem;
  font-size:.88rem}
.studio__ai[data-disabled="1"]{opacity:.7}

/* ---- artwork mode tabs (Upload / Add text / Describe it) ---- */
.artmode{display:flex;gap:.4rem;background:#f1f1ec;border:1px solid var(--line-2,#DEDED7);
  border-radius:12px;padding:.3rem;margin-bottom:.9rem}
.artmode__tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;
  border:0;background:transparent;border-radius:9px;padding:.5rem .4rem;font-weight:700;font-size:.82rem;
  color:var(--muted-2);cursor:pointer;transition:.15s}
.artmode__tab svg{width:15px;height:15px}
.artmode__tab:hover{color:var(--ink)}
.artmode__tab.is-active{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}

/* ---- text designer ---- */
.tdz{display:flex;flex-direction:column;gap:.7rem}
.tdz__text{width:100%;border:1.5px solid var(--line-2,#DEDED7);border-radius:10px;padding:.6rem .8rem;
  font-family:inherit;font-size:1rem;font-weight:700;resize:vertical;line-height:1.3}
.tdz__field{display:flex;flex-direction:column;gap:.25rem;font-size:.74rem;font-weight:700;
  color:var(--muted-2);text-transform:uppercase;letter-spacing:.04em;flex:1;min-width:0}
.tdz__field select,.tdz__field input[type=range]{width:100%}
.tdz__field select{border:1.5px solid var(--line-2,#DEDED7);border-radius:9px;padding:.45rem .55rem;
  font-size:.85rem;font-weight:600;color:var(--ink);background:#fff;text-transform:none;letter-spacing:0}
.tdz__row{display:flex;gap:.6rem;align-items:flex-end}
.tdz__field--color{flex:0 0 auto}
.tdz__field--color input[type=color]{width:44px;height:34px;border:1.5px solid var(--line-2,#DEDED7);
  border-radius:9px;padding:2px;background:#fff;cursor:pointer}
.tdz__field--check{flex:0 0 auto}
.tdz__field--check input{width:20px;height:20px;accent-color:var(--violet)}
.tdz__field input[type=range]{accent-color:var(--violet);margin-bottom:.35rem}
.tdz__swatches{display:flex;flex-wrap:wrap;gap:.35rem}
.tdz__sw{width:24px;height:24px;border-radius:50%;border:2px solid #fff;
  box-shadow:0 0 0 1px var(--line-2,#DEDED7);cursor:pointer;transition:transform .1s}
.tdz__sw:hover{transform:scale(1.15)}
.tdz__hint{font-size:.76rem;color:var(--muted);text-align:center;margin:.1rem 0 0}
#designNote{width:100%;border:1.5px solid var(--line-2,#DEDED7);border-radius:10px;padding:.6rem .8rem;
  font-family:inherit;font-size:.88rem;resize:vertical}

/* Price card */
.studio__price{position:sticky;top:90px;background:var(--ink);color:var(--paper);
  border-radius:var(--radius-lg);padding:1.4rem 1.4rem 1.5rem;box-shadow:var(--shadow-lg)}
@media (max-width:1080px){.studio__price{position:static}}
.studio__price h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);
  margin-bottom:.4rem}
.price__big{font-size:2.7rem;font-weight:900;letter-spacing:-.03em;color:var(--white);line-height:1;
  transition:transform .18s var(--ease)}
.price__big.is-bump{transform:scale(1.06)}
.price__lines{list-style:none;margin:1.1rem 0;padding:0;border-top:1px solid rgba(255,255,255,.14)}
.price__lines li{display:flex;justify-content:space-between;gap:1rem;padding:.42rem 0;
  font-size:.85rem;color:rgba(247,247,244,.82);border-bottom:1px solid rgba(255,255,255,.07)}
.price__lines li span:last-child{white-space:nowrap;color:var(--white)}
.price__lines strong{color:var(--volt)}
.price__note{font-size:.78rem;color:rgba(247,247,244,.6);line-height:1.5;margin-bottom:1rem}
.btn--block{width:100%;justify-content:center}
.price__meta{display:flex;align-items:center;gap:.45rem;font-size:.78rem;color:rgba(247,247,244,.7);
  margin-top:.9rem}
.price__meta svg{width:16px;height:16px;stroke:var(--volt)}

/* ---- Shop range pages (Plain / Designed) ---- */
.shop-range__head{max-width:720px;margin:0 auto 2rem;text-align:center}
.shop-range__lead{color:var(--muted-2);margin:.6rem 0 1.1rem;line-height:1.55}
.shop-range__tabs{display:inline-flex;gap:.5rem;flex-wrap:wrap;justify-content:center}
.shop-range__tabs .chip{text-decoration:none}
.chip--volt{background:var(--volt);border-color:var(--volt);color:var(--ink);font-weight:800}
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.2rem}
.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;
  display:flex;flex-direction:column;transition:transform .18s var(--ease),box-shadow .18s var(--ease)}
.pcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.pcard__media{display:block;aspect-ratio:1/1;background:#f2f1ec;overflow:hidden}
.pcard__media img{width:100%;height:100%;object-fit:cover;display:block}
.pcard__body{padding:.9rem 1rem 1.1rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.pcard__title{font-size:1rem;font-weight:800;line-height:1.25;margin:0}
.pcard__title a{color:inherit;text-decoration:none}
.pcard__price{color:var(--muted-2);font-weight:700;font-size:.95rem;margin-top:auto}
.pcard__price .amount{color:var(--ink)}
.pcard__acts{display:flex;gap:.45rem;flex-wrap:wrap}
.pcard__acts .btn{flex:1;justify-content:center;text-decoration:none}
.shop-range__pager{display:flex;justify-content:center;gap:.4rem;margin:2rem 0 0}
.shop-range__pager .page-numbers{display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0 .5rem;
  border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink);font-weight:700}
.shop-range__pager .page-numbers.current{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.shop-range__empty{text-align:center;max-width:520px;margin:2.5rem auto;color:var(--muted-2)}
.shop-range__empty .btn{margin-top:1rem;text-decoration:none}
.upc-design-this{display:inline-flex!important;align-items:center;justify-content:center;min-height:54px;
  padding:.85rem 1.2rem!important;border:2px solid var(--volt)!important;border-radius:14px!important;
  background:var(--volt)!important;color:var(--ink)!important;font-size:.82rem!important;font-weight:900!important;
  letter-spacing:.04em;text-transform:uppercase;text-decoration:none!important;white-space:nowrap;
  transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease)}
.upc-design-this:hover{background:#b8eb17!important;transform:translateY(-2px);box-shadow:0 10px 24px -14px rgba(11,11,15,.7)}

/* ---- "Added to cart / design again" modal ---- */
.upcmodal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:1.2rem}
.upcmodal__scrim{position:absolute;inset:0;background:rgba(11,11,15,.55);backdrop-filter:blur(2px)}
.upcmodal__card{position:relative;background:#fff;border-radius:var(--radius-lg);padding:1.8rem 1.6rem;
  max-width:400px;width:100%;text-align:center;box-shadow:var(--shadow-lg);animation:upcpop .18s ease}
@keyframes upcpop{from{transform:translateY(10px) scale(.98);opacity:0}to{transform:none;opacity:1}}
.upcmodal__tick{width:52px;height:52px;margin:0 auto .8rem;border-radius:50%;background:var(--volt);
  color:var(--ink);font-size:1.6rem;font-weight:900;display:grid;place-items:center}
.upcmodal__title{font-size:1.4rem;font-weight:900;letter-spacing:-.02em;margin:0 0 .4rem}
.upcmodal__text{color:var(--muted-2);font-size:.92rem;line-height:1.5;margin:0 0 1.3rem}
.upcmodal__acts{display:flex;gap:.6rem;flex-wrap:wrap}
.upcmodal__acts .btn{flex:1;justify-content:center;min-height:48px;white-space:nowrap}
@media (max-width:420px){.upcmodal__acts{flex-direction:column}}

/* ---- Sticky mobile checkout bar (conversion) ---- */
.studio__mobar{display:none}
@media (max-width:760px){
  /* Reorder the studio so mobile users go: preview → design → price,
     and give the sticky bar room so it never covers content. */
  .studio__grid{display:flex;flex-direction:column}
  .studio__stage{order:1}
  .studio__panel{order:2}
  .studio__price{order:3}
  .studio{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
  .studio__mobar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;
    align-items:center;gap:.8rem;padding:.6rem .9rem calc(.6rem + env(safe-area-inset-bottom,0px));
    background:var(--ink);color:var(--paper);box-shadow:0 -6px 22px rgba(0,0,0,.22)}
  .mobar__info{display:flex;flex-direction:column;line-height:1.1}
  .mobar__label{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
  .mobar__price{font-size:1.35rem;font-weight:900;color:#fff}
  .mobar__btn{flex:1;justify-content:center;min-height:48px;font-size:.95rem}
  /* The desktop price CTA is redundant on mobile once the bar is present. */
  .studio__price .btn--block{display:none}
  /* Bigger, thumb-friendly touch targets across the studio on mobile. */
  .chip{padding:.6rem 1.05rem;font-size:.9rem}
  .swatch{width:42px;height:42px}
  .stage__tool{width:40px;height:40px}
  .stage__seg{padding:.55rem 1rem;font-size:.85rem}
  .catbar__tab{padding:.55rem 1rem;font-size:.85rem}
  .artmode__tab{padding:.65rem .4rem;font-size:.85rem}
  .layers__btn{width:32px;height:32px;font-size:.85rem}
  .stage__quickbtn{padding:.6rem 1rem;font-size:.88rem;min-height:44px}
  .blankcard__thumb{aspect-ratio:1/1}
  /* Slightly taller product grid so more real photos are visible at a glance */
  .blankgrid{max-height:none;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
}
@media (max-width:420px){
  .studio__head h1{font-size:var(--step-3)}
  .blankgrid{grid-template-columns:repeat(2,1fr)}
  .mobar__price{font-size:1.2rem}
}

/* =============================================================== gift studio */
.giftstudio__grid{display:grid;grid-template-columns:1fr 380px;gap:clamp(1.5rem,3vw,2.5rem);
  padding-bottom:clamp(3rem,6vw,5rem);align-items:start}
@media (max-width:1080px){.giftstudio__grid{grid-template-columns:1fr}}

.giftstudio__panel{display:flex;flex-direction:column;gap:1.1rem}
.giftstudio__fill{margin-left:auto;font-style:normal;font-size:.8rem;font-weight:700;
  color:var(--muted);background:var(--paper-2);border-radius:999px;padding:.2rem .7rem;
  transition:background .25s,color .25s}
.giftstudio__fill.is-max{background:var(--volt);color:var(--ink)}
.giftstudio__fill.is-full{animation:giftshake .4s}
@keyframes giftshake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}
  50%{transform:translateX(4px)}75%{transform:translateX(-3px);background:var(--coral);color:#fff}}

/* box picker */
.boxset{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}
.boxcard{display:flex;flex-direction:column;gap:.25rem;text-align:left;cursor:pointer;
  border:1.5px solid var(--line-2,#DEDED7);background:#fff;border-radius:var(--radius);
  padding:.8rem .9rem;transition:border-color .15s,box-shadow .15s,transform .1s}
.boxcard:hover{border-color:var(--ink)}
.boxcard.is-active{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink) inset}
.boxcard__name{font-weight:800;font-size:.92rem;line-height:1.2}
.boxcard__slots{font-size:.76rem;color:var(--muted)}

/* goodie grid */
.giftcats{display:flex;flex-direction:column;gap:1.4rem}
.giftcat__title{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;
  color:var(--muted);font-weight:800;margin:0 0 .6rem}
.giftcat__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}
.gooditem{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;
  gap:.15rem;border:1.5px solid var(--line-2,#E4E4DE);border-radius:var(--radius);
  padding:.85rem .6rem .7rem;background:#fff;transition:border-color .15s,box-shadow .15s}
.gooditem.is-in{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink) inset}
.gooditem__emoji{font-size:1.7rem;line-height:1}
.gooditem__photo{display:block;width:100%;aspect-ratio:1/1;border-radius:10px;overflow:hidden;
  background:#f3f3ee;margin-bottom:.15rem}
.gooditem__photo img{width:100%;height:100%;object-fit:cover;display:block}
/* Product shots with generous white margins need a closer crop in the picker. */
.gooditem--zoom .gooditem__photo img{transform:scale(1.42);transform-origin:center;transition:transform .2s ease}
.gooditem--zoom:hover .gooditem__photo img{transform:scale(1.5)}
.giftpreview__item--photo{width:34px;height:34px;border-radius:7px;overflow:hidden;
  box-shadow:0 2px 6px rgba(0,0,0,.28)}
.giftpreview__item--photo img{width:100%;height:100%;object-fit:cover;display:block}
.gooditem__label{font-size:.82rem;font-weight:600;line-height:1.25}
.gooditem__price{font-size:.78rem;color:var(--muted);font-weight:700}
.gooditem__ctrl{margin-top:.5rem;width:100%;display:flex;justify-content:center}
.gooditem__add{width:100%;border:1.5px solid var(--ink);background:#fff;color:var(--ink);
  border-radius:999px;padding:.35rem .6rem;font-weight:800;font-size:.82rem;cursor:pointer;
  transition:background .12s,color .12s}
.gooditem__add:hover{background:var(--ink);color:var(--paper)}
.gooditem__ctrl .stepper{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--ink);
  background:#fff;color:var(--ink);font-size:1.2rem;line-height:1;cursor:pointer;font-weight:800;
  display:flex;align-items:center;justify-content:center}
.gooditem__ctrl .stepper--plus{background:var(--volt);border-color:var(--volt)}
.stepper__n{min-width:34px;text-align:center;font-weight:800;align-self:center}

/* card personalisation */
.cardfields{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:.6rem}
@media (max-width:520px){.cardfields{grid-template-columns:1fr}}
.giftstudio__panel input[type=text],
.giftstudio__panel textarea{width:100%;border:1.5px solid var(--line-2,#DEDED7);border-radius:12px;
  padding:.7rem .85rem;font:inherit;font-size:.92rem;background:#fff;color:var(--ink)}
.giftstudio__panel textarea{resize:vertical;min-height:70px}
.giftstudio__panel input:focus,.giftstudio__panel textarea:focus{outline:none;border-color:var(--ink)}

/* preview + price column */
.giftstudio__side{display:flex;flex-direction:column;gap:1.2rem;position:sticky;top:90px}
@media (max-width:1080px){.giftstudio__side{position:static}}

.giftpreview{background:linear-gradient(160deg,#20202b,#12121a);border-radius:var(--radius);
  padding:1.6rem;display:flex;flex-direction:column;align-items:center;gap:1.1rem}
.giftpreview__box{position:relative;width:100%;max-width:260px;aspect-ratio:5/4;
  background:linear-gradient(#c8a26a,#a97f45);border-radius:10px;overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,.45),inset 0 -14px 24px rgba(0,0,0,.25)}
.giftpreview__lid{position:absolute;top:0;left:0;right:0;height:34%;
  background:linear-gradient(#d8b478,#bd9051);border-bottom:2px solid rgba(0,0,0,.18);z-index:2}
.giftpreview__ribbon{position:absolute;top:0;bottom:0;left:50%;width:24px;transform:translateX(-50%);
  background:linear-gradient(var(--violet),#5b3fd6);z-index:3;box-shadow:0 0 0 1px rgba(0,0,0,.1)}
.giftpreview__ribbon::before{content:"";position:absolute;top:26%;left:50%;width:44px;height:20px;
  transform:translate(-50%,-50%);background:var(--volt);border-radius:50% 50% 50% 50%/60% 60% 40% 40%;
  box-shadow:-16px 0 var(--volt),16px 0 var(--volt)}
.giftpreview__contents{position:absolute;left:8%;right:8%;bottom:8%;top:38%;z-index:1;
  display:flex;flex-wrap:wrap;align-content:flex-start;gap:2px;padding:4px;overflow:hidden}
.giftpreview__item{font-size:1.35rem;line-height:1.1;animation:giftpop .25s ease}
@keyframes giftpop{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}
.giftpreview__empty{position:absolute;inset:38% 8% 8%;display:flex;align-items:center;
  justify-content:center;text-align:center;color:rgba(255,255,255,.7);font-size:.82rem;z-index:1}

.giftpreview__card{width:100%;max-width:260px;background:#fffdf6;border-radius:8px;
  padding:.9rem 1rem;color:#2a2620;box-shadow:0 6px 18px rgba(0,0,0,.3);
  border-left:4px solid var(--violet)}
.giftpreview__card-to{font-weight:800;font-size:.85rem;margin-bottom:.3rem}
.giftpreview__card-msg{font-size:.9rem;line-height:1.45;white-space:pre-wrap;font-style:italic}
.giftpreview__card-from{margin-top:.5rem;text-align:right;font-weight:700;font-size:.82rem}

.price__warn span{color:var(--coral);font-weight:700}

/* ============================================================ mockup gallery */
.studio__mockups{padding-top:clamp(2.5rem,5vw,4rem);padding-bottom:clamp(3rem,6vw,5rem);
  border-top:1px solid var(--line-2,#E4E4DE);margin-top:clamp(2rem,4vw,3.5rem)}
.mockup-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:1rem;margin-top:1.5rem}
.mockup{margin:0;background:#f3f3ee;border:1px solid var(--line-2,#E4E4DE);border-radius:var(--radius);
  overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s,transform .1s}
.mockup:hover{box-shadow:0 10px 30px rgba(0,0,0,.10);transform:translateY(-2px)}
.mockup__canvas{width:100%;height:auto;display:block;background:#f3f3ee}
.mockup__cap{font-size:.82rem;font-weight:700;padding:.6rem .8rem .2rem;color:var(--ink)}
.mockup__dl{margin:.4rem .8rem .8rem;border:1.5px solid var(--ink);background:#fff;color:var(--ink);
  border-radius:999px;padding:.4rem .8rem;font-weight:800;font-size:.8rem;cursor:pointer;
  transition:background .12s,color .12s}
.mockup__dl:hover{background:var(--ink);color:var(--paper)}
/* Studio asset library — Printful-inspired workflow in Urban Plug styling. */
.asset-library{padding:14px 0}.asset-library__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.asset-library__head input{max-width:190px;padding:9px 11px;border:1px solid var(--line);border-radius:9px}.asset-library__head span{font-size:11px;background:var(--volt);padding:5px 8px;border-radius:99px;font-weight:800}.assetgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-height:330px;overflow:auto;padding-right:3px}.assetcard{min-height:100px;border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:.18s}.assetcard:hover{border-color:var(--purple);transform:translateY(-2px);box-shadow:0 8px 22px rgba(11,11,15,.09)}.assetcard span{font-size:30px;font-weight:900;line-height:1}.assetcard small{font-size:11px;font-weight:750}.artmode{flex-wrap:wrap}.artmode__tab{flex:1 1 auto}@media(max-width:600px){.assetgrid{grid-template-columns:repeat(2,1fr)}.asset-library__head{align-items:flex-start;flex-direction:column}.asset-library__head input{max-width:none;width:100%}}
.assetcard img{width:74px;height:74px;object-fit:contain;display:block}.assetcard:has(img){min-height:132px;background:linear-gradient(145deg,#f7f7f4,#fff)}
.uploadterms[hidden]{display:none!important}.uploadterms{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:20px}.uploadterms__scrim{position:absolute;inset:0;background:rgba(5,5,8,.78);backdrop-filter:blur(5px)}.uploadterms__card{position:relative;width:min(620px,100%);max-height:90vh;overflow:auto;background:#fff;color:#101015;border-radius:18px;padding:28px;box-shadow:0 24px 90px rgba(0,0,0,.4)}.uploadterms__card h3{margin:0 36px 12px 0;font-size:1.55rem}.uploadterms__card p,.uploadterms__card li{line-height:1.55}.uploadterms__card a{color:#5038c9;text-decoration:underline}.uploadterms__close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:30px;cursor:pointer}.uploadterms__accept{display:flex;gap:10px;align-items:flex-start;padding:15px;margin:18px 0;background:#f2f3ed;border-radius:10px;font-weight:700}.uploadterms__accept input{margin-top:3px;transform:scale(1.2)}body.has-modal{overflow:hidden}@media(max-width:600px){.uploadterms{padding:10px}.uploadterms__card{padding:22px 18px;border-radius:14px}.uploadterms__card h3{font-size:1.3rem}}
.stage__fill,.stage__fillpad{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;background:#fff;border:1px solid rgba(11,11,15,.14);border-radius:9px;font-size:12px;font-weight:700;color:#111}.stage__fill input{accent-color:var(--volt)}.stage__fillcolor{display:inline-flex;width:34px;height:34px;border-radius:9px;overflow:hidden;border:1px solid rgba(11,11,15,.14)}.stage__fillcolor input{width:44px;height:44px;border:0;padding:0;margin:-5px;cursor:pointer}.stage__fillpad input{width:72px}.stage__quickbtn[hidden]{display:none!important}@media(max-width:600px){.stage__fillpad{width:100%;justify-content:space-between}.stage__fillpad input{flex:1}}

/* ------------------------------------------------------------------
   Conversion checkout — wide, calm, readable and mobile-first
   ------------------------------------------------------------------ */
.woocommerce-checkout .commerce-page{width:100%;max-width:1240px;margin-inline:auto}
.woocommerce-checkout .commerce-page>h1{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.045em;margin:0 0 1.5rem}
.woocommerce-checkout .wc-block-checkout{max-width:none!important;margin:0!important;padding:0!important}
.woocommerce-checkout .wc-block-checkout__main{padding-right:clamp(1.5rem,4vw,4rem)!important}
.woocommerce-checkout .wc-block-checkout__sidebar{margin-top:0!important;padding:1.4rem!important;background:#fff;border:1px solid rgba(11,11,15,.1);border-radius:22px;box-shadow:0 18px 50px rgba(11,11,15,.08)}
.woocommerce-checkout .wc-block-components-checkout-step{margin:0 0 1rem!important;padding:1.4rem!important;background:#fff;border:1px solid rgba(11,11,15,.09);border-radius:18px}
.woocommerce-checkout .wc-block-components-checkout-step__heading{margin:0 0 1rem!important}
.woocommerce-checkout .wc-block-components-checkout-step__title{font-size:1.2rem!important;font-weight:800!important;letter-spacing:-.02em;line-height:1.25!important}
.woocommerce-checkout .wc-block-components-checkout-step__description{color:var(--muted);line-height:1.55;margin-top:.35rem!important}
.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-combobox-control input,
.woocommerce-checkout .wc-block-components-address-form select{min-height:54px!important;border:1.5px solid rgba(11,11,15,.18)!important;border-radius:12px!important;background:#fff!important;font-size:16px!important;padding-inline:1rem!important}
.woocommerce-checkout .wc-block-components-text-input label,
.woocommerce-checkout .wc-block-components-combobox-control label{font-size:.85rem!important;color:#4a4a55!important}
.woocommerce-checkout .wc-block-components-text-input input:focus,
.woocommerce-checkout .wc-block-components-combobox-control input:focus{border-color:var(--violet)!important;box-shadow:0 0 0 3px rgba(107,78,158,.14)!important;outline:0!important}
.woocommerce-checkout .wc-block-components-order-summary{border:0!important}
.woocommerce-checkout .wc-block-components-order-summary-item{padding:1rem 0!important;display:grid!important;grid-template-columns:64px minmax(0,1fr) auto!important;gap:.9rem!important}
.woocommerce-checkout .wc-block-components-order-summary-item__image{width:64px!important}
.woocommerce-checkout .wc-block-components-order-summary-item__description{min-width:0!important;padding:0!important}
.woocommerce-checkout .wc-block-components-order-summary-item__description p,
.woocommerce-checkout .wc-block-components-product-details li{white-space:normal!important;overflow-wrap:anywhere;line-height:1.45!important}
.woocommerce-checkout .wc-block-components-product-name{font-size:.95rem!important;line-height:1.35!important}
.woocommerce-checkout .wc-block-components-totals-wrapper{padding:1rem 0!important;border-top:1px solid rgba(11,11,15,.09)!important}
.woocommerce-checkout .wc-block-components-totals-item{display:flex!important;justify-content:space-between!important;gap:1rem!important;line-height:1.5!important}
.woocommerce-checkout .wc-block-components-checkout-place-order-button{min-height:58px!important;font-size:1.05rem!important;margin-top:1rem!important}
.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button{font-weight:700;text-decoration:none}
.woocommerce-checkout .wc-block-components-notice-banner{border-radius:14px!important;line-height:1.5}
@media(max-width:781px){
 .woocommerce-checkout .commerce-page>h1{margin-bottom:1rem}
 .woocommerce-checkout .wc-block-checkout__main{padding-right:0!important}
 .woocommerce-checkout .wc-block-checkout__sidebar{padding:1rem!important;border-radius:16px;margin-bottom:1rem!important}
 .woocommerce-checkout .wc-block-components-checkout-step{padding:1rem!important;border-radius:14px}
 .woocommerce-checkout .wc-block-components-order-summary-item{grid-template-columns:54px minmax(0,1fr) auto!important;gap:.65rem!important}
 .woocommerce-checkout .wc-block-components-order-summary-item__image{width:54px!important}
}

/* Journal index and conversion-friendly article layout */
.blog .section__head,.archive .section__head{padding:clamp(1.5rem,4vw,3rem);background:var(--ink);color:#fff;border-radius:24px;margin-bottom:2rem}
.blog .section__head p,.archive .section__head p{color:rgba(255,255,255,.72);max-width:60ch;margin:.6rem 0 0}
.journal-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:clamp(2rem,5vw,5rem);align-items:start;max-width:1180px;margin:0 auto}
.journal-article{min-width:0;max-width:780px}
.journal-article .article__head h1{font-size:clamp(2.35rem,6vw,4.8rem);line-height:.98;letter-spacing:-.055em;margin:.8rem 0 1rem}
.journal-article .article__hero{margin:2rem 0;border-radius:22px;overflow:hidden;background:#f3f3ef}
.journal-article .article__hero img{display:block;width:100%;height:auto}
.journal-article .article__body{font-size:1.08rem;line-height:1.8;color:#30303a}
.journal-article .article__body h2,.journal-article .article__body h3{scroll-margin-top:110px;color:var(--ink);line-height:1.16;letter-spacing:-.025em}
.journal-article .article__body h2{font-size:clamp(1.65rem,3vw,2.35rem);margin:2.8rem 0 1rem}
.journal-article .article__body h3{font-size:1.35rem;margin:2rem 0 .8rem}
.journal-article .article__body p{margin:0 0 1.35rem}
.journal-sidebar{position:sticky;top:100px;display:grid;gap:1rem}
.journal-toc,.journal-related{background:#fff;border:1px solid rgba(11,11,15,.1);border-radius:18px;padding:1.25rem;box-shadow:0 12px 32px rgba(11,11,15,.05)}
.journal-toc ol{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.15rem}
.journal-toc li{border-left:2px solid #e7e7e1}
.journal-toc .toc-level-3{padding-left:.75rem}
.journal-toc a{display:block;padding:.45rem .65rem;color:#4a4a55;text-decoration:none;font-size:.9rem;line-height:1.35}
.journal-toc a:hover{color:var(--ink);border-left:2px solid var(--volt);margin-left:-2px}
.journal-related{display:grid;gap:.25rem}
.related-post{display:grid;grid-template-columns:54px minmax(0,1fr);gap:.75rem;align-items:center;padding:.8rem 0;border-bottom:1px solid rgba(11,11,15,.08);color:var(--ink);text-decoration:none}
.related-post:last-child{border-bottom:0;padding-bottom:0}.related-post img{width:54px;height:54px;object-fit:cover;border-radius:10px}.related-post strong{display:block;font-size:.88rem;line-height:1.25}.related-post small{display:block;color:var(--muted);margin-top:.25rem;font-size:.73rem}
@media(max-width:900px){.journal-layout{grid-template-columns:1fr}.journal-sidebar{position:static;grid-row:1}.journal-related{display:none}.journal-toc{padding:1rem}.journal-article{max-width:none}}

/* Stable, conversion-focused WooCommerce cart (including Gift Builder lines) */
.woocommerce-cart .commerce-page{width:100%;max-width:1240px;margin-inline:auto}
.woocommerce-cart .commerce-page>h1{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.045em;margin:0 0 1.5rem}
.woocommerce-cart .wp-block-woocommerce-cart{max-width:none!important;margin:0!important}
.woocommerce-cart .wc-block-cart{display:grid!important;grid-template-columns:minmax(0,1fr) 380px!important;gap:clamp(1.5rem,4vw,3.5rem)!important;align-items:start!important}
.woocommerce-cart .wc-block-cart__main{width:auto!important;padding-right:0!important;min-width:0!important}
.woocommerce-cart .wc-block-cart__sidebar{width:auto!important;margin:0!important;position:sticky;top:100px}
.woocommerce-cart .wc-block-cart-items{width:100%!important;border-collapse:separate!important;border-spacing:0 12px!important}
.woocommerce-cart .wc-block-cart-items thead{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important}
.woocommerce-cart .wc-block-cart-items__row{display:grid!important;grid-template-columns:130px minmax(0,1fr) auto!important;gap:1rem!important;background:#fff;border:1px solid rgba(11,11,15,.09)!important;border-radius:18px!important;padding:1rem!important;margin:0 0 12px!important}
.woocommerce-cart .wc-block-cart-item__image{grid-column:1!important;width:130px!important;padding:0!important}
.woocommerce-cart .wc-block-cart-item__image img{width:130px!important;height:130px!important;object-fit:contain!important;border-radius:12px;background:#f5f5f1}
.woocommerce-cart .wc-block-cart-item__product{grid-column:2!important;min-width:0!important;padding:0!important}
.woocommerce-cart .wc-block-cart-item__total{grid-column:3!important;padding:0!important;text-align:right!important;white-space:nowrap}
.woocommerce-cart .wc-block-components-product-name{display:block;font-size:1rem!important;line-height:1.35!important;margin-bottom:.45rem!important;overflow-wrap:anywhere}
.woocommerce-cart .wc-block-components-product-details{margin:.5rem 0!important;padding:0!important;display:grid!important;gap:.25rem!important}
.woocommerce-cart .wc-block-components-product-details li{display:flex!important;align-items:flex-start!important;gap:.35rem!important;margin:0!important;font-size:.82rem!important;line-height:1.45!important;white-space:normal!important;overflow-wrap:anywhere!important}
.woocommerce-cart .wc-block-components-product-details__name{font-weight:700!important;flex:0 0 auto}
.woocommerce-cart .wc-block-components-product-details__value{min-width:0;overflow-wrap:anywhere}
.woocommerce-cart .wc-block-cart-item__quantity{display:flex!important;align-items:center!important;gap:.75rem!important;flex-wrap:wrap!important;margin-top:.8rem!important}
.woocommerce-cart .wc-block-cart-item__remove-link{font-size:.78rem!important;text-decoration:none!important}
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-sidebar{padding:1.35rem!important;border-radius:20px!important;box-shadow:0 18px 46px rgba(11,11,15,.08)}
.woocommerce-cart .wc-block-components-totals-item{display:flex!important;justify-content:space-between!important;gap:1rem!important;line-height:1.5!important}
.woocommerce-cart .wc-block-components-totals-wrapper{padding:1rem 0!important}
.woocommerce-cart .wc-block-cart__submit-container{margin-top:1rem!important}
.woocommerce-cart .wc-block-cart__submit-button{min-height:58px!important;display:flex!important;align-items:center!important;justify-content:center!important}
@media(max-width:900px){
 .woocommerce-cart .wc-block-cart{grid-template-columns:1fr!important;gap:1rem!important}
 .woocommerce-cart .wc-block-cart__sidebar{position:static!important;grid-row:2}
}
@media(max-width:600px){
 .woocommerce-cart .wc-block-cart-items__row{grid-template-columns:82px minmax(0,1fr)!important;gap:.8rem!important;padding:.85rem!important;border-radius:14px!important}
 .woocommerce-cart .wc-block-cart-item__image{grid-column:1!important;grid-row:1 / span 2!important;width:82px!important}
 .woocommerce-cart .wc-block-cart-item__image img{width:82px!important;height:82px!important}
 .woocommerce-cart .wc-block-cart-item__product{grid-column:2!important;grid-row:1!important}
 .woocommerce-cart .wc-block-cart-item__total{grid-column:2!important;grid-row:2!important;text-align:left!important;margin-top:.5rem!important}
 .woocommerce-cart .wc-block-components-product-details li{display:block!important}
 .woocommerce-cart .wc-block-components-product-details__name{display:inline!important}
 .woocommerce-cart .wc-block-components-product-details__value{display:inline!important}
 .woocommerce-cart .wc-block-cart__sidebar .wc-block-components-sidebar{padding:1rem!important;border-radius:16px!important}
}
.woocommerce-cart .wc-block-cart__empty-cart__title{font-size:clamp(1.5rem,3vw,2.4rem)!important;letter-spacing:-.03em!important;margin:2rem 0!important}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block hr{border:0;border-top:1px solid rgba(11,11,15,.1);margin:2rem 0}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-heading{text-align:left!important}
