/* SANTA ON SWANGAS — focused single-product campaign */
.one-product-page{background:#09090d}
.one-product-page .announcement{background:#e8e7eb;color:#111015}
.one-product-page .announcement span{color:#9470cb}
.one-product-page .nav-wrap{min-height:76px}
.one-product-page .wordmark span{color:#a98be8}
.single-hero{width:min(100%,1320px);margin:0 auto;padding:54px 34px 76px;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:clamp(36px,6vw,92px);align-items:center}
.single-visual{min-width:0}
.visual-kicker,.product-number,.visual-note{font-size:9px;font-weight:800;letter-spacing:.2em;color:#8f899a}
.visual-kicker{margin-bottom:13px}
.main-art{position:relative;aspect-ratio:1/1;background:radial-gradient(ellipse at 50% 44%,#30283c 0%,#17141e 58%,#101015 100%);border:1px solid #35303e;padding:clamp(12px,2.5vw,28px);overflow:hidden}
.main-art:after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.05);pointer-events:none}
.main-art img{width:100%;height:100%;object-fit:contain;object-position:center;mix-blend-mode:normal;display:block}
.visual-thumbs{display:flex;gap:10px;margin-top:13px;flex-wrap:wrap}
.thumb{width:76px;height:76px;flex:0 0 76px;padding:4px;border:1px solid #393441;background:#111;opacity:.62;cursor:pointer}
.thumb.is-active,.thumb:hover{opacity:1;border-color:#a98be8}
.thumb img{width:100%;height:100%;object-fit:cover}
.visual-note{margin-top:15px;color:#77717f}
.single-info{padding:12px 0}
.single-info .eyebrow{color:#aa8ae7;margin-bottom:13px}
.product-number{margin:0 0 18px}
.single-info h1{margin:0;font-family:var(--font-display);font-size:clamp(54px,7.1vw,94px);line-height:.88;letter-spacing:-.025em}
.single-info h1 span{color:#a98be8}
.product-deck{margin:20px 0 15px;color:#aaa4b2;font-size:10px;font-weight:800;letter-spacing:.16em}
.product-price{font-size:23px;font-weight:700;letter-spacing:.025em}
.stock-line{margin-top:7px;color:#a98be8;font-size:9px;font-weight:800;letter-spacing:.15em}
.stock-line.is-out{color:#c36b75}
.product-divider{height:1px;background:#302b39;margin:23px 0}
.option-head,.quantity-line{display:flex;align-items:center;justify-content:space-between;gap:12px}
.option-head{margin-bottom:12px;font-size:10px;font-weight:900;letter-spacing:.14em}
.option-head a{color:#a98be8;font-size:9px}
.size-options{display:flex;flex-wrap:wrap;gap:8px;min-height:39px}
.size-choice{min-width:43px;height:39px;padding:0 12px;border:1px solid #4a4354;background:transparent;color:#eee;font-size:10px;font-weight:800}
.size-choice:hover,.size-choice.is-selected{background:#a98be8;border-color:#a98be8;color:#100d15}
.size-choice:disabled{opacity:.25;text-decoration:line-through;cursor:not-allowed}
.loading-size,.catalog-error{font-size:11px;color:#a39cab;line-height:1.6}
.quantity-line{margin:24px 0 16px;font-size:10px;font-weight:900;letter-spacing:.14em}
.quantity-control{display:flex;align-items:center;border:1px solid #48414f;height:38px}
.quantity-control button{width:38px;height:36px;border:0;background:transparent;color:#fff;font-size:18px}
.quantity-control output{min-width:30px;text-align:center;font-size:11px}
.add-product{width:100%;min-height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border:0;background:#eeeef2;color:#111015;font-size:11px;font-weight:900;letter-spacing:.16em;cursor:pointer;transition:background .2s,transform .2s}
.add-product:hover:not(:disabled){background:#c8b5ed;transform:translateY(-2px)}
.add-product:disabled{opacity:.45;cursor:not-allowed}
.add-product span{font-size:18px}
.secure-note{text-align:center;margin:12px 0 25px;color:#77717f;font-size:8px;font-weight:800;letter-spacing:.16em}
.detail-accordions{border-top:1px solid #302b39}
.detail-accordions details{border-bottom:1px solid #302b39}
.detail-accordions summary{display:flex;justify-content:space-between;gap:12px;padding:17px 0;list-style:none;cursor:pointer;font-size:9px;font-weight:900;letter-spacing:.15em}
.detail-accordions summary::-webkit-details-marker{display:none}
.detail-accordions summary span{color:#a98be8;font-size:14px}
.detail-accordions details[open] summary span{transform:rotate(45deg)}
.detail-accordions details p{margin:0;padding:0 22px 18px 0;color:#a8a3ae;font-size:11px;line-height:1.85}
.story-section{display:grid;grid-template-columns:1fr 1fr;min-height:370px;background:#111016;border-top:1px solid #292532;border-bottom:1px solid #292532}
.story-photo{min-height:350px;overflow:hidden}
.story-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(.76) saturate(.9)}
.story-copy{align-self:center;padding:55px clamp(25px,7vw,90px)}
.story-copy .eyebrow{color:#a98be8}
.story-copy h2{margin:0;font-family:var(--font-display);font-size:clamp(42px,5.5vw,70px);line-height:.92}
.story-copy h2 span{color:#a98be8}
.story-copy>p:not(.eyebrow){max-width:440px;margin:20px 0;color:#aaa4b2;font-size:12px;line-height:1.9}
.story-link{display:inline-block;margin-top:9px;padding-bottom:7px;border-bottom:1px solid #a98be8;font-size:9px;font-weight:900;letter-spacing:.15em}
.size-guide{width:min(100%,760px);margin:auto;padding:65px 24px;text-align:center}
.size-guide .eyebrow{color:#a98be8}
.size-guide h2{margin:0;font-family:var(--font-display);font-size:42px}
.size-guide>p:not(.eyebrow){color:#96909d;font-size:11px}
.size-table-wrap{overflow:auto;margin-top:24px}
.size-table{width:100%;border-collapse:collapse;text-align:center}
.size-table th,.size-table td{padding:13px;border-bottom:1px solid #302b39;font-size:10px}
.size-table th{color:#a98be8;letter-spacing:.13em}
.last-call{padding:35px 20px;text-align:center;background:#131019;border-top:1px solid #302b39}
.last-call p{margin:0 0 12px;font-family:var(--font-display);font-size:clamp(28px,4vw,44px)}
.last-call a{color:#b99fe8;font-size:9px;font-weight:900;letter-spacing:.18em}
.one-product-page .footer-main{grid-template-columns:1.5fr repeat(3,1fr)}
.one-product-page .footer-brand .wordmark span{color:#a98be8}
@media(max-width:820px){
 .single-hero{grid-template-columns:1fr;max-width:680px;padding:28px 22px 52px;gap:34px}
 .single-info{padding:0}
 .single-info h1{font-size:clamp(58px,12vw,86px)}
 .story-section{grid-template-columns:1fr}
 .story-photo{aspect-ratio:1.55/1;min-height:0}
 .story-copy{padding:38px 24px 45px}
}
@media(max-width:600px){
 .one-product-page .nav-wrap{min-height:66px;padding:0 17px}
 .one-product-page .nav-links{display:flex;gap:15px}
 .one-product-page .nav-link{font-size:8px;letter-spacing:.09em}
 .one-product-page .nav-tools{gap:6px}
 .single-hero{padding:20px 15px 40px;gap:28px}
 .visual-kicker{font-size:8px}
 .main-art{padding:9px}
 .thumb{width:62px;height:62px}
 .single-info h1{font-size:clamp(56px,15vw,76px)}
 .product-deck{font-size:8px;letter-spacing:.12em}
 .product-price{font-size:21px}
 .story-copy h2{font-size:48px}
 .size-guide{padding:48px 16px}
 .one-product-page .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));padding:34px 18px 26px}
 .one-product-page .footer-brand{grid-column:1/-1}
 .one-product-page .footer-bottom{padding:14px 18px}
}


/* MOBILE PRODUCT PAGE REFINEMENT — compact navigation and calmer composition */
.one-product-page .nav-wrap{min-height:78px}
.one-product-page .nav-tools{display:flex;align-items:center;gap:14px}
.single-menu-toggle{display:none;width:38px;height:38px;border:1px solid #393441;background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.single-menu-toggle span{display:block;width:17px;height:1.5px;background:#f5f4f7}
.single-hero{grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:clamp(32px,5vw,72px);padding-top:46px}
.main-art{max-width:100%;aspect-ratio:1/1;padding:18px;background:radial-gradient(ellipse at 50% 42%,#292332 0%,#17151c 58%,#101015 100%);border:1px solid #37313f}
.main-art img{object-fit:contain}
.visual-thumbs{gap:9px}
.thumb{width:66px;height:66px}
.visual-note{font-size:8px;letter-spacing:.16em}
.single-info h1{font-size:clamp(54px,6.3vw,82px);letter-spacing:-.035em}
.product-deck{line-height:1.7}
.single-info .eyebrow{letter-spacing:.19em}
.product-number{color:#817b89}
.add-product{background:#eeeef2;color:#111015}
.add-product:hover:not(:disabled){background:#cbb9ed}
@media(max-width:820px){
 .one-product-page .nav-wrap{min-height:68px}
 .one-product-page .nav-links{display:none;position:absolute;top:100%;left:0;right:0;padding:17px 20px 20px;background:#0b0a0e;border-top:1px solid #292532;border-bottom:1px solid #393342;flex-direction:column;align-items:flex-start;gap:17px;z-index:70}
 .one-product-page .nav-links.is-open{display:flex}
 .one-product-page .nav-tools{margin-left:auto}
 .single-menu-toggle{display:flex}
 .single-hero{grid-template-columns:1fr;max-width:650px;padding:26px 22px 50px;gap:34px}
 .single-visual{width:100%}
 .main-art{width:min(100%,460px);margin:0 auto;aspect-ratio:1/1;padding:14px}
 .visual-kicker{width:min(100%,460px);margin:0 auto 12px}
 .visual-thumbs{width:min(100%,460px);margin:12px auto 0}
 .visual-note{width:min(100%,460px);margin:13px auto 0}
 .single-info{max-width:520px;width:100%;margin:0 auto}
 .single-info h1{font-size:clamp(56px,10vw,76px)}
}
@media(max-width:600px){
 .one-product-page .announcement{min-height:30px;padding:7px 10px;font-size:8px;letter-spacing:.1em}
 .one-product-page .nav-wrap{padding:0 17px}
 .one-product-page .wordmark{font-size:27px}
 .one-product-page .nav-tools{gap:10px}
 .single-hero{padding:20px 17px 42px;gap:30px}
 .visual-kicker{font-size:8px}
 .main-art{width:min(100%,390px);padding:10px;aspect-ratio:1/1}
 .main-art:after{inset:8px}
 .thumb{width:58px;height:58px}
 .visual-note{font-size:7px;letter-spacing:.13em}
 .single-info h1{font-size:clamp(52px,13.4vw,68px);line-height:.91}
 .product-number{font-size:8px;margin-bottom:13px}
 .single-info .eyebrow{font-size:9px;margin-bottom:10px}
 .product-deck{font-size:8px;margin:15px 0 12px}
 .product-price{font-size:21px}
 .product-divider{margin:18px 0}
 .size-choice{min-width:40px;height:37px}
 .quantity-line{margin:19px 0 14px}
 .add-product{min-height:52px}
 .detail-accordions summary{padding:15px 0}
 .story-photo{aspect-ratio:1.35/1}
 .story-copy{padding:32px 20px 38px}
 .story-copy h2{font-size:43px}
}


/* FINAL POLISH — consistent alignment, compact mobile header, corrected product image */
.one-product-page .single-hero {
  width: min(100%, 1280px);
  padding-left: clamp(18px, 4vw, 52px);
  padding-right: clamp(18px, 4vw, 52px);
  align-items: start;
}
.one-product-page .single-visual,
.one-product-page .single-info { min-width: 0; }
.one-product-page .single-info { padding-top: 28px; }
.one-product-page .visual-kicker,
.one-product-page .product-number,
.one-product-page .single-info .eyebrow,
.one-product-page .single-info h1,
.one-product-page .product-deck,
.one-product-page .product-price,
.one-product-page .stock-line,
.one-product-page .option-head,
.one-product-page .quantity-line,
.one-product-page .detail-accordions,
.one-product-page .secure-note {
  text-align: left;
}
.one-product-page .main-art {
  aspect-ratio: 1 / 1.08;
  padding: 0;
  background: #0d0b12;
}
.one-product-page .main-art img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: normal;
}
.one-product-page .main-art:after { inset: 10px; }
.one-product-page .single-info h1 { max-width: 100%; }
.one-product-page .product-deck { max-width: 34ch; line-height: 1.7; }
.one-product-page .visual-note { text-align: left; }
.one-product-page .footer-main { align-items: start; }
.one-product-page .footer-column,
.one-product-page .footer-brand { text-align: left; }
@media(max-width:600px) {
  .one-product-page .nav-wrap {
    min-height: 70px;
    justify-content: space-between;
    padding: 0 20px;
  }
  .one-product-page .nav-links { display: none; }
  .one-product-page .nav-links.is-open { display: flex; }
  .one-product-page .single-hero {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 22px 18px 42px;
  }
  .one-product-page .single-visual,
  .one-product-page .single-info {
    width: 100%;
    max-width: 100%;
    padding: 0;
  }
  .one-product-page .main-art {
    width: 100%;
    aspect-ratio: 1 / 1.04;
  }
  .one-product-page .single-info h1 {
    font-size: clamp(58px, 15vw, 76px);
    line-height: .9;
    overflow-wrap: normal;
  }
  .one-product-page .product-number { margin-bottom: 14px; }
  .one-product-page .product-deck { margin-top: 14px; }
  .one-product-page .visual-thumbs { margin-top: 12px; }
  .one-product-page .visual-note { margin: 13px 0 0; }
  .one-product-page .footer-main {
    text-align: left;
    align-items: start;
  }
  .one-product-page .footer-column a { text-align: left; }
}


/* -------------------------------------------------------------------------
   DIRT RICH HOLIDAY CAMPAIGN — premium visual layer
   Existing Square/product/cart architecture is intentionally preserved.
   ------------------------------------------------------------------------- */
:root {
  --dr-violet: #a855f7;
  --dr-lilac: #d8b4fe;
  --dr-purple: #6d28d9;
  --dr-ink: #07060b;
  --dr-line: rgba(205,170,255,.22);
}
.one-product-page {
  background:
    radial-gradient(ellipse at 50% 0%, rgba(82,31,139,.13), transparent 42%),
    #08070c;
}
.one-product-page .announcement {
  min-height: 34px;
  background: linear-gradient(90deg,#eeeaf4,#fff,#e9e2f2);
  color: #17101f;
  gap: 13px;
  letter-spacing: .15em;
  font-size: 9px;
}
.one-product-page .announcement-star {
  color: #8b3fe4;
  animation: dr-star-pulse 2.4s ease-in-out infinite;
}
.one-product-page .site-header {
  background: rgba(7,6,11,.94);
  border-bottom: 1px solid rgba(177,126,255,.24);
  backdrop-filter: blur(16px);
}
.one-product-page .nav-wrap { min-height: 84px; }
.brand-image img {
  width: 112px;
  height: 76px;
  object-fit: contain;
  filter: drop-shadow(0 0 10px rgba(168,85,247,.34));
}
.one-product-page .nav-link { color: #c8bfd3; }
.one-product-page .nav-link:hover,
.one-product-page .nav-link.is-active { color: #fff; }
.one-product-page .nav-link.is-active:after {
  background: linear-gradient(90deg,#7e22ce,#e9d5ff);
  box-shadow: 0 0 12px rgba(168,85,247,.75);
}
.one-product-page .cart-count {
  background: #9b5de5;
  box-shadow: 0 0 12px rgba(168,85,247,.6);
}
.single-menu-toggle span {
  background: #f5eaff;
  box-shadow: 0 0 8px rgba(168,85,247,.35);
}
.campaign-hero {
  min-height: min(790px, calc(100svh - 118px));
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: clamp(72px,9vw,132px) max(6vw,28px) clamp(82px,9vw,118px);
  border-bottom: 1px solid rgba(190,140,255,.3);
  background: #09070f;
}
.campaign-backdrop,
.campaign-shade,
.hero-snow,
.holiday-garland {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.campaign-backdrop {
  z-index: -4;
  object-fit: cover;
  object-position: center 43%;
  opacity: .91;
  transform: scale(1.015);
  animation: dr-hero-breathe 24s ease-in-out infinite alternate;
}
.campaign-shade {
  z-index: -3;
  background:
    linear-gradient(90deg,rgba(5,4,9,.94) 0%,rgba(5,4,9,.84) 28%,rgba(5,4,9,.35) 58%,rgba(5,4,9,.10) 100%),
    linear-gradient(0deg,rgba(5,4,9,.84),transparent 24%,transparent 72%,rgba(5,4,9,.32));
}
.campaign-content {
  width: min(720px,65%);
  position: relative;
  z-index: 3;
  animation: dr-rise-in .9s cubic-bezier(.2,.75,.2,1) both;
}
.campaign-kicker {
  display: flex;
  align-items: center;
  gap: 13px;
  margin: 0 0 22px;
  color: #e9d5ff;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .27em;
}
.campaign-kicker span {
  width: 29px;
  height: 1px;
  background: #bd83ff;
  box-shadow: 0 0 9px #a855f7;
}
.campaign-content h1 {
  margin: 0;
  max-width: 760px;
  font-family: var(--font-display);
  font-size: clamp(58px,7.8vw,112px);
  line-height: .88;
  letter-spacing: -.025em;
  color: #fbf9ff;
  text-shadow: 0 5px 35px rgba(0,0,0,.5);
}
.campaign-content h1 em {
  color: #c084fc;
  font-style: normal;
  text-shadow: 0 0 18px rgba(168,85,247,.52),0 0 48px rgba(126,34,206,.32);
}
.campaign-subtitle {
  margin: 25px 0 27px;
  color: #f2eaff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .24em;
}
.campaign-subtitle b { color: #c084fc; padding: 0 8px; }
.campaign-cta {
  min-width: 220px;
  min-height: 54px;
  padding: 0 25px;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  color: #fff;
  border: 1px solid #d8b4fe;
  border-radius: 2px;
  background: linear-gradient(110deg,rgba(126,34,206,.38),rgba(40,12,64,.7));
  box-shadow: 0 0 8px rgba(168,85,247,.85),inset 0 0 14px rgba(168,85,247,.17),0 0 34px rgba(126,34,206,.25);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .17em;
  transition: transform .25s,box-shadow .25s,background .25s;
}
.campaign-cta:hover {
  transform: translateY(-3px);
  background: linear-gradient(110deg,#7e22ce,#4c1d95);
  box-shadow: 0 0 13px #c084fc,0 0 48px rgba(168,85,247,.55);
}
.campaign-cta span { font-size: 18px; }
.campaign-edition {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 37px;
  color: rgba(239,226,255,.68);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .24em;
}
.campaign-edition i { width: 42px; height: 1px; background: rgba(216,180,254,.65); }
.campaign-scroll {
  position: absolute;
  z-index: 3;
  bottom: 24px;
  left: max(6vw,28px);
  display: flex;
  align-items: center;
  gap: 11px;
  color: rgba(238,225,255,.7);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .2em;
}
.campaign-scroll span {
  width: 25px;
  height: 1px;
  background: #c084fc;
  box-shadow: 0 0 9px #a855f7;
}
.hero-corner-mark {
  position: absolute;
  z-index: 3;
  right: 28px;
  bottom: 25px;
  color: rgba(238,225,255,.55);
  font-family: var(--font-display);
  font-size: 12px;
  font-style: italic;
  letter-spacing: .12em;
}
.hero-corner-mark b { color: #c084fc; font: 9px var(--font-ui); vertical-align: top; }
.holiday-garland {
  z-index: 2;
  inset: 0 0 auto;
  height: 75px;
  pointer-events: none;
  opacity: .9;
  background:
    radial-gradient(circle at 4% 9%,#f2dcff 0 2px,transparent 4px),
    radial-gradient(circle at 13% 18%,#b45cff 0 3px,transparent 6px),
    radial-gradient(circle at 22% 5%,#fff 0 2px,transparent 4px),
    radial-gradient(circle at 33% 17%,#a855f7 0 3px,transparent 6px),
    radial-gradient(circle at 44% 8%,#f4dfff 0 2px,transparent 4px),
    radial-gradient(circle at 56% 18%,#b45cff 0 3px,transparent 6px),
    radial-gradient(circle at 67% 6%,#fff 0 2px,transparent 4px),
    radial-gradient(circle at 78% 17%,#a855f7 0 3px,transparent 6px),
    radial-gradient(circle at 90% 7%,#f4dfff 0 2px,transparent 4px),
    linear-gradient(180deg,rgba(20,7,32,.36),transparent);
  filter: drop-shadow(0 0 7px rgba(168,85,247,.85));
  animation: dr-lights-flicker 3.7s steps(1,end) infinite;
}
.holiday-garland:before {
  content:"";
  position:absolute;
  left:-2%;right:-2%;top:0;height:35px;
  border-top:2px solid rgba(168,85,247,.5);
  border-radius:0 0 50% 50%;
  filter:drop-shadow(0 0 8px #a855f7);
}
.hero-snow { z-index: 2; pointer-events: none; overflow: hidden; }
.snowflake {
  position: absolute;
  top: -14px;
  left: var(--snow-x);
  width: var(--snow-size);
  height: var(--snow-size);
  border-radius: 50%;
  background: rgba(255,255,255,var(--snow-opacity));
  box-shadow: 0 0 7px rgba(230,205,255,.8);
  animation: dr-snow-fall var(--snow-duration) linear var(--snow-delay) infinite;
}
@keyframes dr-snow-fall {
  0% { transform: translate3d(0,-15px,0); }
  100% { transform: translate3d(var(--snow-drift),820px,0); }
}
@keyframes dr-lights-flicker {
  0%,18%,20%,51%,53%,100% { opacity:.94; filter:brightness(1.1) drop-shadow(0 0 9px #a855f7); }
  19%,52% { opacity:.62; filter:brightness(.7) drop-shadow(0 0 3px #7e22ce); }
  72% { opacity:.82; }
}
@keyframes dr-star-pulse { 0%,100%{opacity:1;text-shadow:0 0 8px #a855f7} 50%{opacity:.55;text-shadow:0 0 2px #a855f7} }
@keyframes dr-hero-breathe { from{transform:scale(1.015)} to{transform:scale(1.055)} }
@keyframes dr-rise-in { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:translateY(0)} }
.trust-rail {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4,1fr);
  border-bottom: 1px solid rgba(190,140,255,.22);
  background: linear-gradient(90deg,#0b0910,#120b1b,#0b0910);
}
.trust-item {
  min-height: 84px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:16px 12px;
  border-right:1px solid rgba(190,140,255,.15);
}
.trust-item:last-child { border-right:0; }
.trust-icon { color:#c084fc;font-size:25px;text-shadow:0 0 12px rgba(168,85,247,.6); }
.trust-item b,.trust-item small { display:block; }
.trust-item b { color:#f4eaff;font-size:9px;letter-spacing:.14em; }
.trust-item small { margin-top:4px;color:#94889f;font-size:8px;letter-spacing:.12em; }
.one-product-page .single-hero {
  padding-top: 76px;
  padding-bottom: 88px;
  gap: clamp(40px,7vw,104px);
}
.one-product-page .main-art {
  border-color: rgba(190,140,255,.38);
  background: radial-gradient(ellipse at 50% 42%,#342044 0%,#17111f 58%,#09080d 100%);
  box-shadow: 0 20px 65px rgba(0,0,0,.42),0 0 35px rgba(126,34,206,.12);
}
.one-product-page .main-art:after {
  border-color: rgba(222,195,255,.12);
}
.one-product-page .single-info h1 span { color:#c084fc; text-shadow:0 0 20px rgba(168,85,247,.23); }
.one-product-page .size-choice:hover,
.one-product-page .size-choice.is-selected {
  background:linear-gradient(135deg,#c084fc,#8b5cf6);
  border-color:#e9d5ff;
  color:#100916;
  box-shadow:0 0 18px rgba(168,85,247,.3);
}
.one-product-page .add-product {
  color:#fff;
  background:linear-gradient(110deg,#7e22ce,#4c1d95);
  border:1px solid #d8b4fe;
  box-shadow:0 0 14px rgba(168,85,247,.48),inset 0 0 14px rgba(255,255,255,.08);
}
.one-product-page .add-product:hover:not(:disabled) {
  background:linear-gradient(110deg,#9333ea,#6d28d9);
  box-shadow:0 0 22px rgba(192,132,252,.72);
}
.one-product-page .story-section {
  background:linear-gradient(115deg,#0b0810,#171020 55%,#0b0810);
  border-color:rgba(190,140,255,.2);
}
.one-product-page .story-photo img { filter:brightness(.8) saturate(1.12); }
.one-product-page .size-guide { background:#0a080e; }
.one-product-page .last-call {
  background:radial-gradient(ellipse at 50% 0%,rgba(126,34,206,.22),transparent 65%),#08070c;
}
.one-product-page .last-call a {
  border-color:#c084fc;
  color:#f3e8ff;
  box-shadow:0 0 18px rgba(168,85,247,.22);
}
.footer-logo img { width:100px;height:88px;object-fit:contain;filter:drop-shadow(0 0 9px rgba(168,85,247,.3)); }
.one-product-page .site-footer {
  border-top:1px solid rgba(190,140,255,.22);
  background:#07060a;
}
.mobile-sticky-buy {
  display:none;
  position:fixed;
  z-index:70;
  left:14px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom));
  min-height:54px;
  padding:0 19px;
  align-items:center;
  justify-content:space-between;
  border:1px solid #e9d5ff;
  border-radius:3px;
  color:#fff;
  background:linear-gradient(105deg,#7e22ce,#4c1d95);
  box-shadow:0 0 18px rgba(168,85,247,.55),0 10px 35px rgba(0,0,0,.45);
  font-size:10px;font-weight:900;letter-spacing:.14em;
}
.mobile-sticky-buy:disabled { opacity:.5; }
.mobile-sticky-buy b { font-size:12px; }
@media (min-width: 900px) {
  .campaign-content { width:min(660px,54%); }
}
@media (max-width: 899px) {
  .campaign-hero { min-height:680px; padding:100px 6vw 95px; }
  .campaign-backdrop { object-position:62% center; }
  .campaign-shade {
    background:linear-gradient(90deg,rgba(5,4,9,.88),rgba(5,4,9,.52) 58%,rgba(5,4,9,.2)),
               linear-gradient(0deg,rgba(5,4,9,.76),transparent 50%,rgba(5,4,9,.25));
  }
  .campaign-content { width:min(650px,78%); }
  .campaign-content h1 { font-size:clamp(58px,9vw,90px); }
  .trust-rail { grid-template-columns:repeat(2,1fr); }
  .trust-item:nth-child(2) { border-right:0; }
  .trust-item:nth-child(-n+2) { border-bottom:1px solid rgba(190,140,255,.15); }
}
@media (max-width: 600px) {
  .one-product-page .announcement { min-height:32px;padding:6px 8px;gap:7px;font-size:7px;letter-spacing:.1em; }
  .one-product-page .nav-wrap { min-height:70px;padding:0 18px; }
  .brand-image img { width:91px;height:65px; }
  .campaign-hero { min-height: min(760px, calc(100svh - 102px)); padding:88px 22px 94px; align-items:flex-end; }
  .campaign-backdrop { object-position:64% center; }
  .campaign-shade {
    background:linear-gradient(0deg,rgba(5,4,9,.96) 0%,rgba(5,4,9,.82) 32%,rgba(5,4,9,.28) 72%,rgba(5,4,9,.18) 100%);
  }
  .campaign-content { width:100%; }
  .campaign-kicker { font-size:7px;letter-spacing:.2em;margin-bottom:15px;gap:8px; }
  .campaign-kicker span { width:18px; }
  .campaign-content h1 { font-size:clamp(43px,11.3vw,58px);line-height:.9; }
  .campaign-subtitle { font-size:8px;letter-spacing:.15em;margin:17px 0 20px; }
  .campaign-cta { min-height:50px;min-width:190px;font-size:9px; }
  .campaign-edition { margin-top:24px;font-size:7px; }
  .campaign-scroll { left:22px;bottom:23px;font-size:7px; }
  .hero-corner-mark { display:none; }
  .holiday-garland { height:45px; }
  .trust-rail { grid-template-columns:repeat(2,1fr); }
  .trust-item { min-height:68px;gap:9px;padding:11px 9px;justify-content:flex-start;padding-left:15px; }
  .trust-icon { font-size:19px; }
  .trust-item b { font-size:7px;letter-spacing:.1em; }
  .trust-item small { font-size:6px;letter-spacing:.08em; }
  .one-product-page .single-hero { padding:42px 18px 58px;gap:30px; }
  .one-product-page .main-art { aspect-ratio:1/1.04;padding:10px; }
  .one-product-page .single-info h1 { font-size:clamp(54px,14vw,74px); }
  .mobile-sticky-buy { display:flex; bottom:calc(104px + env(safe-area-inset-bottom)); z-index:220; }
  .one-product-page .site-footer { padding-bottom:92px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important; }
  .hero-snow { display:none; }
}



/* Cart drawer and full cart page refinements */
.cart-drawer { z-index:260; width:min(460px,100vw); padding:clamp(20px,5vw,30px); padding-bottom:calc(28px + env(safe-area-inset-bottom)); background:linear-gradient(160deg,#111014 0%,#09080b 100%); }
.cart-open { overflow:hidden; }
.cart-open .mobile-sticky-buy { display:none !important; }
.cart-drawer .summary-row { margin-top:18px; padding:18px 0; border-top:1px solid rgba(190,140,255,.22); }
.cart-drawer .summary-total { font-size:17px; }
.cart-drawer .summary-note { margin-top:12px; line-height:1.6; }
.cart-drawer .btn { min-height:56px; }
.cart-line-image { width:clamp(92px,22vw,150px); height:clamp(112px,28vw,180px); object-fit:contain; background:#17151b; border:1px solid rgba(190,140,255,.2); }
.cart-main { width:min(1120px,100%); margin:0 auto; padding:clamp(44px,8vw,90px) clamp(18px,5vw,54px) 100px; min-height:65vh; }
.cart-main>h1,.order-confirmation h1 { margin:8px 0 38px; font-family:var(--font-display); font-size:clamp(54px,10vw,100px); line-height:.95; }
.cart-main>h1 span,.order-confirmation h1 span { color:#b77aff; }
.cart-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr); gap:clamp(24px,5vw,60px); align-items:start; }
.cart-items-panel,.cart-summary-panel { border:1px solid rgba(190,140,255,.2); background:linear-gradient(145deg,#111014,#09080b); padding:clamp(18px,3vw,28px); }
.cart-line { display:grid; grid-template-columns:120px minmax(0,1fr) auto; gap:18px; align-items:center; padding:0 0 22px; margin-bottom:22px; border-bottom:1px solid #302b36; }
.cart-line>img { width:120px; height:150px; object-fit:contain; background:#17151b; }
.cart-line-name { font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.cart-line-meta,.cart-line-price { margin-top:8px; color:#aaa3b2; font-size:12px; letter-spacing:.08em; }
.cart-line-actions { grid-column:2/-1; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.cart-checkout { width:100%; min-height:58px; margin-top:18px; cursor:pointer; }
.cart-checkout:disabled { opacity:.6; cursor:wait; }
.continue-shopping { display:inline-block; margin-top:24px; color:#c29aff; font-size:10px; font-weight:900; letter-spacing:.14em; }
.cart-summary-panel .summary-row { gap:16px; align-items:center; font-size:12px; }
.cart-summary-panel .summary-total { font-size:15px; }
.cart-summary-panel .summary-note { line-height:1.7; margin-top:18px; }
.order-confirmation { width:min(720px,100%); min-height:75vh; margin:auto; padding:18vh 24px 80px; text-align:center; }
.order-confirmation>p:not(.eyebrow) { color:#aaa3b2; line-height:1.8; margin:18px auto; max-width:540px; }
@media(max-width:700px) {
 .cart-layout { grid-template-columns:1fr; }
 .cart-main { padding-top:38px; }
 .cart-line { grid-template-columns:92px minmax(0,1fr); gap:14px; }
 .cart-line>img { width:92px; height:118px; }
 .cart-line-price { grid-column:2; }
 .cart-line-actions { grid-column:2; }
 .cart-summary-panel { position:static; }
}


/* DIRT RICH — refined slide-out bag drawer */
.cart-backdrop {
  position:fixed; inset:0; z-index:258; border:0; padding:0;
  background:rgba(0,0,0,.72); backdrop-filter:blur(3px);
  opacity:0; visibility:hidden; transition:opacity .24s,visibility .24s;
}
.cart-open .cart-backdrop { opacity:1; visibility:visible; }
.cart-drawer {
  position:fixed; z-index:260; top:0; right:0; bottom:0;
  width:min(470px,100vw); height:100dvh; overflow-y:auto;
  display:flex; flex-direction:column; gap:0;
  padding:clamp(22px,5vw,34px);
  padding-bottom:calc(20px + env(safe-area-inset-bottom));
  background:radial-gradient(ellipse at 100% 0%,rgba(111,35,183,.14),transparent 42%),#0b0a0e;
  border-left:1px solid rgba(190,140,255,.3);
  transform:translateX(102%); transition:transform .28s cubic-bezier(.2,.8,.2,1);
  box-shadow:none;
}
.cart-drawer.is-open { transform:translateX(0); box-shadow:-24px 0 80px rgba(0,0,0,.55); }
.drawer-head { display:flex;align-items:center;justify-content:space-between;gap:18px;padding:4px 0 26px;border-bottom:1px solid #302a37; }
.drawer-head .eyebrow { margin:0 0 7px;color:#b88bfa;font-size:9px;letter-spacing:.22em;font-weight:900; }
.drawer-head h3 { margin:0;font-family:var(--font-display);font-size:clamp(25px,6vw,34px);letter-spacing:.025em;line-height:1; }
.drawer-head h3 span { color:#b77aff; }
.drawer-close { flex:0 0 44px;width:44px;height:44px;border:1px solid #62576c;background:transparent;color:#fff;font-size:27px;line-height:1; }
.drawer-items { display:grid;gap:0; }
.drawer-item { display:grid;grid-template-columns:104px minmax(0,1fr);gap:17px;padding:25px 0;border-bottom:1px solid #302a37; }
.drawer-item-image { width:104px;height:132px;object-fit:contain;background:#17141b;border:1px solid rgba(190,140,255,.25); }
.drawer-item-info { min-width:0;display:flex;flex-direction:column;align-items:flex-start; }
.drawer-item-info h4 { margin:3px 0 7px;font-size:12px;line-height:1.4;letter-spacing:.08em;font-weight:900;text-transform:uppercase; }
.drawer-item-info p { margin:0 0 8px;color:#aaa3b2;font-size:10px;letter-spacing:.1em;text-transform:uppercase; }
.drawer-item-info strong { font-size:14px; }
.drawer-item-controls { width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:14px; }
.drawer-qty { display:flex;align-items:center;border:1px solid #4a4054;min-height:34px; }
.drawer-qty button { width:34px;height:32px;border:0;background:transparent;color:#fff;font-size:18px; }
.drawer-qty span { min-width:26px;text-align:center;font-size:12px; }
.drawer-remove,.drawer-continue { border:0;background:transparent;color:#b99aeb;font-size:9px;font-weight:900;letter-spacing:.14em;padding:8px 0; }
.drawer-footer { margin-top:auto;padding-top:24px; }
.drawer-subtotal { display:flex;justify-content:space-between;align-items:center;padding:18px 0 22px;border-top:1px solid #302a37;color:#fff;font-size:11px;font-weight:900;letter-spacing:.12em; }
.drawer-subtotal strong { font-size:20px;letter-spacing:0; }
.drawer-checkout { min-height:58px;width:100%;cursor:pointer; }
.drawer-footer .summary-note { margin:14px 0 8px;color:#a59eac;font-size:10px;line-height:1.7; }
.drawer-policy { margin:0;color:#817989;font-size:8px;font-weight:800;letter-spacing:.12em;line-height:1.7; }
.drawer-continue { margin-top:16px;text-align:left; }
.drawer-empty { display:grid;gap:22px;padding:42px 0; }
.drawer-empty p { color:#aaa3b2;font-size:11px;letter-spacing:.14em;font-weight:800; }
.cart-open { overflow:hidden; }
.cart-open .mobile-sticky-buy { visibility:hidden!important;pointer-events:none!important; }
@media(max-width:520px) {
 .cart-drawer { width:100vw;border-left:0;padding:22px 20px calc(18px + env(safe-area-inset-bottom)); }
 .drawer-item { grid-template-columns:92px minmax(0,1fr);gap:14px; }
 .drawer-item-image { width:92px;height:120px; }
}


/* Final mobile cart corrections: keep the bag in-page and protect controls from Netlify badge. */
.cart-drawer { z-index: 2147483000 !important; width: min(440px, 100vw) !important; max-width:100vw; }
.cart-backdrop { z-index: 2147482999 !important; }
.drawer-item-controls { flex-wrap:wrap; }
.drawer-qty { flex:0 0 auto; width:104px; min-width:104px; max-width:104px; justify-content:space-between; border-radius:2px; }
.drawer-qty button { flex:0 0 32px; width:32px; min-width:32px; padding:0; }
.drawer-qty span { flex:1 1 auto; min-width:24px; text-align:center; }
.drawer-remove { white-space:nowrap; }
.cart-drawer { padding-bottom:calc(170px + env(safe-area-inset-bottom)) !important; }
.drawer-footer { padding-bottom:12px; }
.drawer-checkout { position:relative; z-index:2; }
.cart-open .mobile-sticky-buy { display:none !important; visibility:hidden !important; pointer-events:none !important; }
@media(max-width:520px) {
 .cart-drawer { width:100vw !important; padding:20px 18px calc(170px + env(safe-area-inset-bottom)) !important; }
 .drawer-item { grid-template-columns:84px minmax(0,1fr); gap:12px; }
 .drawer-item-image { width:84px; height:112px; }
 .drawer-item-controls { gap:12px; }
 .drawer-footer { margin-top:20px; }
}
