/* ==========================================================================
   FEWSET — Product Experience (design_handoff_fewset_px implementation)
   Two presentations: standard (tinted 2-col PDP) & premium (black editorial).
   Palette via vars: --px-bg --px-ink --px-muted --px-line --px-ph --px-accent
   ========================================================================== */

html.fewset-px-open { overflow: hidden; }

.fewset-px {
  position: fixed;
  inset: 0;
  z-index: 900;
  background: var(--px-bg, #F5F4F1);
  color: var(--px-ink, #191813);
  font-family: var(--font-primary, Poppins, sans-serif);
  font-size: 13px;
  overflow-y: auto;
  overscroll-behavior: contain;
  /* handoff: delayed palette transitions — the bloom covers the swap */
  transition: color .4s ease .1s, background-color .55s ease .15s;
  animation: fewset-px-in .45s cubic-bezier(.22, 1, .36, 1);
}
.fewset-px.px--no-trans, .fewset-px.px--no-trans * { transition: none !important; }
@keyframes fewset-px-in { from { opacity: 0; } to { opacity: 1; } }

.fewset-px *, .fewset-px *::before, .fewset-px *::after { box-sizing: border-box; }
.fewset-px svg { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }

/* ---- top bar ---- */
.fewset-px__topbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 64px;
  display: flex; justify-content: space-between; align-items: center;
  padding: 0 28px 0 36px;
  z-index: 30;
  pointer-events: none;
}
.fewset-px__logo {
  font-family: var(--font-heading, Outfit, sans-serif);
  font-size: 13px; font-weight: 400; letter-spacing: .35em;
  color: var(--px-ink);
}
.fewset-px__close {
  pointer-events: auto;
  width: 36px; height: 36px;
  display: grid; place-items: center;
  background: transparent; border: 0; padding: 0;
  color: var(--px-ink);
  font-size: 16px;
  cursor: pointer;
}
.fewset-px__close:hover { background: transparent; color: var(--px-muted); }

/* ---- transition layers ---- */
@keyframes pxBloom { 0% { transform: scale(.06); opacity: 0; } 14% { opacity: .92; } 100% { transform: scale(4.6); opacity: 1; } }
@keyframes pxGlint { 0% { transform: scale(.05); opacity: 0; } 30% { opacity: .3; } 100% { transform: scale(2.4); opacity: 0; } }
@keyframes pxFlood { to { opacity: 1; } }

/* Blooms/flood live BEHIND the content (z 0 vs content z 1+): the colour
   washes through the background while text and photos stay on top. */
.fewset-px__bloom {
  position: fixed;
  border-radius: 50%;
  z-index: 0;
  pointer-events: none;
  transform: scale(.06); opacity: 0;
  animation: pxBloom .95s cubic-bezier(.22, 1, .36, 1) forwards;
}
.fewset-px__bloom--glint { animation: pxGlint .9s ease-out forwards; }
.fewset-px__flood {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  animation: pxFlood .4s ease .55s forwards;
}

/* ---- shared atoms ---- */
.fewset-px__eyebrow {
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--px-muted);
  margin: 0 0 12px;
  transition: color .4s ease .1s;
}
.fewset-px__eyebrow [data-px-colorname] { color: var(--px-ink); }
.fewset-px__stars { color: var(--px-accent); font-size: 12px; letter-spacing: .22em; }
.fewset-px__price { font-size: 15px; letter-spacing: .06em; }
.fewset-px__price .amount, .fewset-px__price bdi { color: inherit; }

.fewset-px__colors { display: flex; gap: 16px; align-items: center; }
.fewset-px__color {
  width: 22px; height: 22px;
  border: 0; padding: 0; border-radius: 50%;
  background: transparent;
  cursor: pointer;
  position: relative;
}
.fewset-px__color span {
  display: block; width: 100%; height: 100%; border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.14);
}
.fewset-px__color.is-active span { box-shadow: 0 0 0 3px var(--px-bg), 0 0 0 4px var(--px-ink); }
.fewset-px__color::after { content: ''; position: absolute; inset: -11px; } /* 44px hit target */

.fewset-px__sizes { display: flex; gap: 10px; flex-wrap: wrap; }
.fewset-px__size {
  min-width: 48px; height: 40px;
  padding: 0 12px;
  border: 1px solid var(--px-line);
  background: transparent;
  color: var(--px-ink);
  font-size: 12.5px;
  cursor: pointer;
  transition: color .4s ease .1s, border-color .4s ease .1s, background .25s ease;
}
.fewset-px__size:hover { border-color: var(--px-ink); background: transparent; color: var(--px-ink); }
.fewset-px__size.is-active { background: var(--px-ink); color: var(--px-bg); border-color: var(--px-ink); }

.fewset-px__rowhead { display: flex; justify-content: space-between; align-items: baseline; }
.fewset-px__sglink {
  border: 0; background: none; padding: 0 0 1px;
  font-size: 11px; letter-spacing: .1em; text-transform: uppercase;
  color: var(--px-muted);
  border-bottom: 1px solid var(--px-line);
  cursor: pointer;
}
.fewset-px__sglink:hover { color: var(--px-ink); background: none; }

.fewset-px__cta {
  height: 56px;
  width: 100%;
  border: 1px solid var(--px-ink);
  background: var(--px-ink);
  color: var(--px-bg);
  font-family: var(--font-primary, Poppins, sans-serif);
  font-size: 12px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase;
  cursor: pointer;
  transition: background .25s ease, color .25s ease, opacity .2s ease;
}
.fewset-px__cta:hover:not(:disabled) { background: transparent; color: var(--px-ink); }
.fewset-px__cta:disabled { opacity: .4; cursor: not-allowed; }
.fewset-px__cta.is-added { background: transparent; color: var(--px-ink); border-style: dashed; }
.fewset-px__cta.is-gocart { background: transparent; color: var(--px-ink); }

.fewset-px__rating {
  display: flex; align-items: baseline; gap: 8px;
  border: 0; background: none; padding: 0;
  margin: 13px 0 0;
  font-size: 12.5px; color: var(--px-ink);
  cursor: pointer;
}
.fewset-px__rating:hover { background: none; color: var(--px-ink); }
.fewset-px__revcount { border-bottom: 1px solid var(--px-line); color: var(--px-muted); }

/* ---- Prekės info blokas (pdp-usp module, injected via AJAX) ----
   Standard keeps the module's own .fewset-pusp/.fewset-fpp-box look
   (styles ship with shop.css + the module itself); we only space it.
   Premium restyles the same markup for the black stage. */
.fewset-px__usp:empty { display: none; }
.fewset-px__usp--std { margin: 0 0 4px; }
/* Standard: the block adopts the mood palette instead of the theme's
   fixed white surface (user request 2026-07-28). */
.fewset-px__usp--std .fewset-pusp {
  background: transparent;
  border-color: var(--px-line);
  color: var(--px-ink);
}
.fewset-px__usp--std .fewset-pusp__row { border-color: var(--px-line); }
.fewset-px__usp--std .fewset-pusp__head { color: var(--px-ink); }
.fewset-px__usp--std .fewset-pusp__sub {
  background: rgba(0, 0, 0, .045);
  color: var(--px-muted);
}
.fewset-px__usp--std .fewset-pusp__msg { color: var(--px-muted); }
.fewset-px__usp--std .fewset-pusp__bar { background: var(--px-line); }
.fewset-px__usp--std .fewset-pusp__fill { background: var(--px-ink); }
.fewset-px__usp--prem { max-width: 560px; margin: 0 auto; text-align: left; }
.fewset-px__usp--prem .fewset-pusp {
  background: #141414 !important;
  border-color: rgba(245, 244, 241, .16) !important;
  color: #F5F4F1;
}
.fewset-px__usp--prem .fewset-pusp__row { border-color: rgba(245, 244, 241, .12) !important; }
.fewset-px__usp--prem .fewset-pusp__head { color: #F5F4F1; }
.fewset-px__usp--prem .fewset-pusp__head svg { color: var(--px-accent); }
.fewset-px__usp--prem .fewset-pusp__sub,
.fewset-px__usp--prem .fewset-pusp__msg { color: rgba(245, 244, 241, .62); }
.fewset-px__usp--prem .fewset-pusp__bar { background: rgba(245, 244, 241, .18); }
.fewset-px__usp--prem .fewset-pusp__fill { background: var(--px-accent); }
.fewset-px__usp--prem .fewset-pusp__row--free {
  border-left-color: #4CAF82;
  background: rgba(76, 175, 130, .09) !important;
}
.fewset-px__usp--prem .fewset-pusp__row--free .fewset-pusp__head { color: #7ED6AC; }
.fewset-px__usp--prem .fewset-pusp__row--free .fewset-pusp__head svg { color: #4CAF82; }
.fewset-px__usp--prem .fewset-fpp-box {
  background: #141414 !important;
  border-color: rgba(245, 244, 241, .16) !important;
  color: #F5F4F1 !important;
}
.fewset-px__usp--prem .fewset-fpp-box * { color: inherit; }
.fewset-px__usp--prem .fewset-fpp-box .fewset-fpp-bar { background: rgba(245, 244, 241, .18) !important; }
.fewset-px__usp--prem .fewset-fpp-box .woocommerce-Price-amount { color: #F5F4F1; }

/* ---- accordions ---- */
.fewset-px__accs { margin-top: 46px; }
.fewset-px__acc { border-top: 1px solid var(--px-line); }
.fewset-px__acc summary {
  list-style: none;
  display: flex; align-items: center; gap: 14px;
  height: 52px;
  font-size: 12px; letter-spacing: .16em; text-transform: uppercase;
  cursor: pointer;
  color: var(--px-ink);
}
.fewset-px__acc summary::-webkit-details-marker { display: none; }
.fewset-px__acc summary i { margin-left: auto; font-style: normal; font-size: 15px; font-weight: 200; }
.fewset-px__acc[open] summary i::before { content: '−'; }
.fewset-px__acc[open] summary i { font-size: 0; }
.fewset-px__acc[open] summary i::before { font-size: 15px; }
.fewset-px__accnum {
  font-family: var(--font-heading, Outfit, sans-serif);
  font-size: 10.5px; letter-spacing: .18em;
  color: var(--px-accent);
}
.fewset-px__accbody { padding: 0 0 24px; font-size: 12.5px; }
.fewset-px__desc { color: var(--px-muted); line-height: 1.8; max-width: 46ch; }
.fewset-px__desc p { color: inherit; margin: 0 0 1em; }
.fewset-px__comp { width: 100%; border-collapse: collapse; }
.fewset-px__comp tr { display: grid; grid-template-columns: 150px 1fr; padding: 5px 0; }
.fewset-px__comp th { text-align: left; font-weight: 400; color: var(--px-muted); }
.fewset-px__comp td { color: var(--px-ink); }
.fewset-px__care { display: grid; gap: 14px; }
.fewset-px__carerow { display: flex; align-items: center; gap: 14px; color: var(--px-muted); }
.fewset-px__careicon { font-size: 20px; color: var(--px-ink); display: grid; place-items: center; }
.fewset-px__careicon svg { stroke-width: 1.3; }
.fewset-px__origintitle { margin: 0 0 8px; font-size: 13px; color: var(--px-ink); letter-spacing: .04em; }
.fewset-px__originbody p { margin: 2px 0; color: var(--px-muted); }
.fewset-px__reviews .fewset-px__review { border-top: 1px solid var(--px-line); padding: 12px 0; }
.fewset-px__reviews .fewset-px__review:first-child { border-top: 0; }
.fewset-px__review-head { display: flex; gap: 10px; align-items: baseline; margin: 0 0 6px; }
.fewset-px__review-head time { color: var(--px-muted); font-size: 11px; }
.fewset-px__review p { margin: 0; color: var(--px-muted); line-height: 1.7; }
.fewset-px__review p strong { color: var(--px-ink); }
.fewset-px__noreviews { color: var(--px-muted); }

/* ---- capsule ---- */
.fewset-px__capsule { margin-top: 52px; }
.fewset-px__mates { display: flex; gap: 12px; overflow-x: auto; scrollbar-width: thin; padding-bottom: 6px; }
.fewset-px__mate { flex: 0 0 128px; text-decoration: none; color: inherit; }
.fewset-px__mate img, .fewset-px__mate-ph {
  display: block;
  width: 100%; aspect-ratio: 4/5; object-fit: cover;
  background: var(--px-ph);
  border: 1px solid var(--px-line);
  margin-bottom: 8px;
}
.fewset-px__mate-name { display: block; font-size: 11px; letter-spacing: .04em; line-height: 1.4; color: var(--px-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fewset-px__mate-price { font-size: 11px; color: var(--px-muted); }
.fewset-px__mate-price .amount, .fewset-px__mate-price bdi { color: inherit; }

/* =====================================================================
   STANDARD presentation
   ===================================================================== */
.fewset-px__std { display: flex; min-height: 100vh; position: relative; z-index: 1; }
.fewset-px__gal {
  width: 58%;
  padding: 96px 48px 110px 56px;
  display: flex; flex-direction: column; gap: 28px;
}
.fewset-px__frame {
  position: relative;
  margin: 0;
  aspect-ratio: 4/5;
  background: var(--px-ph);
  border: 1px solid var(--px-line);
  cursor: zoom-in;
  transition: background-color .55s ease .15s, border-color .4s ease .1s;
}
.fewset-px__frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fewset-px__zoombadge {
  position: absolute; top: 16px; right: 16px;
  width: 34px; height: 34px;
  display: grid; place-items: center;
  border: 1px solid var(--px-line);
  color: var(--px-ink);
  font-size: 15px;
  background: transparent;
  pointer-events: none;
}
.fewset-px__counter {
  position: absolute; bottom: 12px; right: 16px;
  font-size: 10.5px; letter-spacing: .18em;
  color: var(--px-muted);
  display: none;
}
.fewset-px__info {
  width: 42%;
  position: sticky; top: 0;
  height: 100vh;
  overflow-y: auto;
  scrollbar-width: thin;
  padding: 104px 84px 72px 64px;
}
.fewset-px__tierlbl { font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: var(--px-accent); margin: 0 0 14px; }
.fewset-px__name {
  font-family: var(--font-heading, Outfit, sans-serif);
  font-size: 34px; font-weight: 300; letter-spacing: .015em; line-height: 1.2;
  margin: 0;
}
.fewset-px__info > .fewset-px__price { margin: 16px 0 0; }
.fewset-px__short { color: var(--px-muted); line-height: 1.8; max-width: 42ch; margin: 18px 0 0; }
.fewset-px__info .fewset-px__row { margin: 30px 0 0; }
.fewset-px__info .fewset-px__cta { margin: 38px 0 30px; }
.fewset-px__stdbar { display: none; }

/* =====================================================================
   PREMIUM presentation
   ===================================================================== */
.fewset-px--premium { font-size: 13px; }
.fewset-px__hero {
  position: sticky; top: 0;
  height: 100vh;
  padding: 68px 0 150px;
  display: flex; flex-direction: column; align-items: center; justify-content: flex-end;
  gap: 22px;
  z-index: 1;
  transform-origin: 50% 30%;
}
.fewset-px__vignette {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 45%, rgba(12,12,12,0) 40%, rgba(0,0,0,.55) 100%);
  pointer-events: none;
}
.fewset-px__hero::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: var(--px-accent);
}
.fewset-px__cover { position: absolute; inset: 0; }
.fewset-px__card {
  position: absolute; left: 50%; top: 50%;
  height: min(62vh, calc(100vh - 400px));
  aspect-ratio: 4/5;
  background-size: cover; background-position: center top;
  border: 1px solid var(--px-line);
  transform: translate(-50%, -50%);
  transition: transform .85s cubic-bezier(.22, 1, .36, 1);
  cursor: pointer;
}
.fewset-px__cardzoom {
  position: absolute; bottom: 14px; right: 14px;
  width: 34px; height: 34px;
  display: grid; place-items: center;
  border: 0; padding: 0;
  background: rgba(12,12,12,.5);
  backdrop-filter: blur(6px);
  color: #F5F4F1;
  font-size: 15px;
  cursor: zoom-in;
}
.fewset-px__cardzoom:hover { background: rgba(12,12,12,.7); color: #fff; }
.fewset-px__placard { position: relative; text-align: center; z-index: 2; }
.fewset-px__placard-name { margin: 0; font-size: 11px; letter-spacing: .26em; text-transform: uppercase; }
.fewset-px__placard-sub { margin: 6px 0 0; font-size: 12px; color: var(--px-muted); }
.fewset-px__cue {
  position: fixed;
  left: 50%; transform: translateX(-50%);
  z-index: 24;
  display: flex; align-items: center; gap: 8px;
  border: 0;
  padding: 10px 18px;
  background: rgba(12,12,12,.45);
  backdrop-filter: blur(8px);
  color: #F5F4F1;
  font-size: 11px; letter-spacing: .24em;
  cursor: pointer;
}
.fewset-px__cue svg { animation: pxNudge 1.6s ease-in-out infinite; }
@keyframes pxNudge { 0%, 100% { transform: translateY(0); opacity: .5; } 50% { transform: translateY(5px); opacity: 1; } }

.fewset-px__sheet {
  position: relative;
  z-index: 2;
  background: #0C0C0C;
  border-top: 1px solid var(--px-accent);
  box-shadow: 0 -60px 130px rgba(0,0,0,.75);
  padding: 0 max(84px, calc(50% - 420px)) 230px;
  text-align: center;
}
.fewset-px__handle {
  display: block;
  width: 64px; height: 2px;
  background: var(--px-accent);
  margin: 30px auto 40px;
}
.fewset-px__sheetgroup { opacity: 0; transform: translateY(30px); transition: opacity .7s ease, transform .7s cubic-bezier(.22, 1, .36, 1); }
.fewset-px__sheetgroup.is-revealed { opacity: 1; transform: none; }
.fewset-px__sheethead { display: flex; align-items: center; gap: 18px; justify-content: center; margin-bottom: 22px; }
.fewset-px__rule { width: 44px; height: 1px; background: var(--px-line); }
.fewset-px__premlbl { font-size: 11px; letter-spacing: .3em; color: var(--px-accent); }
.fewset-px__name--prem { font-size: 54px; font-weight: 300; letter-spacing: .02em; line-height: 1.12; }
.fewset-px__price--prem { font-size: 17px; letter-spacing: .08em; margin-top: 16px; }
.fewset-px__accentrule { display: block; width: 28px; height: 1px; background: var(--px-accent); margin: 26px auto 0; }
.fewset-px__premdesc p { color: var(--px-muted); line-height: 1.8; max-width: 54ch; margin: 38px auto; }
.fewset-px__sheet .fewset-px__accs { text-align: left; margin-top: 46px; }
.fewset-px__sheet .fewset-px__acc summary { height: 66px; letter-spacing: .22em; font-size: 12.5px; }
.fewset-px__sheet .fewset-px__capsule { text-align: left; }
.fewset-px__sheet .fewset-px__mate { flex-basis: 160px; }

.fewset-px__bar {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 25;
  display: flex; align-items: stretch;
  min-height: 64px;
  background: #0C0C0C;
  border-top: 1px solid var(--px-accent);
}
.fewset-px__barcell {
  flex: none;
  white-space: nowrap;
  display: flex; flex-direction: column; justify-content: center; gap: 6px;
  padding: 11px 26px;
  border: 0; background: none; text-align: left;
  color: var(--px-ink);
  font-size: 12px;
}
.fewset-px__barcell .fewset-px__eyebrow { margin: 0; font-size: 10.5px; }
.fewset-px__barcell--rev { flex-direction: row; align-items: center; gap: 8px; cursor: pointer; }
.fewset-px__barcell--rev:hover { background: none; color: var(--px-ink); }
.fewset-px__barcolors { display: flex; gap: 12px; }
.fewset-px__color--bar { width: 18px; height: 18px; }
.fewset-px__barsizes { display: flex; gap: 6px; }
.fewset-px__size--bar { min-width: 38px; height: 30px; font-size: 11.5px; padding: 0 8px; }
.fewset-px__barspacer { flex: 1 1 auto; min-width: 0; }
.fewset-px__cta--barprem {
  flex: 0 0 auto;
  align-self: stretch;
  width: auto; height: auto;
  padding: 0 34px;
  border: 0;
  border-left: 1px solid var(--px-line);
}
.fewset-px--premium .fewset-px__sheet + .fewset-px__bar { /* placement guard */ }

/* =====================================================================
   Zoom lightbox
   ===================================================================== */
.fewset-px__zoom {
  position: fixed; inset: 0;
  z-index: 960;
  background: rgba(8,8,8,.96);
  color: #F5F4F1;
  display: flex; flex-direction: column;
  animation: fewset-px-in .45s ease;
  font-family: var(--font-primary, Poppins, sans-serif);
}
.fewset-px__zoomhead {
  display: flex; justify-content: space-between; align-items: center;
  padding: 20px 28px;
  font-size: 11px; letter-spacing: .2em; text-transform: uppercase;
  color: rgba(245,244,241,.7);
}
.fewset-px__zoomclose { width: 36px; height: 36px; display: grid; place-items: center; border: 0; background: none; color: #F5F4F1; font-size: 16px; cursor: pointer; }
.fewset-px__zoomclose:hover { background: none; color: #fff; }
.fewset-px__zoomstage {
  width: 88%; height: 84%;
  margin: 0 auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  cursor: zoom-in;
  transition: background-size .55s cubic-bezier(.22, 1, .36, 1);
  flex: 1;
}
.fewset-px__zoomstage.is-zoomed { background-size: 240%; cursor: zoom-out; }
.fewset-px__zoomhint { text-align: center; margin: 14px 0 22px; font-size: 11px; letter-spacing: .14em; color: rgba(245,244,241,.5); }

/* =====================================================================
   Size guide drawer
   ===================================================================== */
.fewset-px__sg {
  position: fixed; inset: 0;
  z-index: 955;
  background: rgba(12,12,12,0);
  transition: background .4s ease;
  font-family: var(--font-primary, Poppins, sans-serif);
}
.fewset-px__sg.is-open { background: rgba(12,12,12,.35); }
.fewset-px__sgpanel {
  position: absolute; top: 0; right: 0; bottom: 0;
  width: 520px; max-width: 94vw;
  background: #F7F6F3;
  color: #141311;
  padding: 44px 48px;
  overflow-y: auto;
  transform: translateX(105%);
  transition: transform .65s cubic-bezier(.22, 1, .36, 1);
}
.fewset-px__sg.is-open .fewset-px__sgpanel { transform: none; }
.fewset-px__sghead { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 30px; }
.fewset-px__sgtitle { margin: 0; font-family: var(--font-heading, Outfit, sans-serif); font-size: 20px; font-weight: 300; letter-spacing: .04em; }
.fewset-px__sgsub { margin: 6px 0 0; font-size: 12px; color: rgba(20,19,17,.6); }
.fewset-px__sgclose { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid rgba(20,19,17,.2); background: none; color: #141311; font-size: 15px; cursor: pointer; }
.fewset-px__sgclose:hover { background: #141311; color: #F7F6F3; }
.fewset-px__sgtable { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.fewset-px__sgtable thead tr { border-bottom: 1px solid rgba(20,19,17,.4); }
.fewset-px__sgtable tbody tr { border-bottom: 1px solid rgba(20,19,17,.12); }
.fewset-px__sgtable th, .fewset-px__sgtable td { text-align: left; padding: 10px 8px 10px 0; font-weight: 400; }
.fewset-px__sgtable tbody th { color: rgba(20,19,17,.6); width: 30%; }
.fewset-px__sghow { margin: 30px 0 10px; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: rgba(20,19,17,.6); }
.fewset-px__sglist { margin: 0; padding: 0 0 0 16px; font-size: 12.5px; line-height: 1.9; color: #141311; }
.fewset-px__sgnote { margin: 26px 0 0; font-size: 12px; color: rgba(20,19,17,.6); border-top: 1px solid rgba(20,19,17,.12); padding-top: 18px; }

/* =====================================================================
   Cart drawer (design skin)
   ===================================================================== */
.fewset-px-cart {
  position: fixed; inset: 0;
  z-index: 950;
  background: rgba(12,12,12,0);
  opacity: 1;
  transition: background .35s ease;
  font-family: var(--font-primary, Poppins, sans-serif);
}
.fewset-px-cart[hidden] { display: none; }
.fewset-px-cart.is-open { background: rgba(12,12,12,.35); }
.fewset-px-cart__panel {
  position: absolute; top: 0; right: 0; bottom: 0;
  width: 440px; max-width: 94vw;
  background: #FFF;
  color: #141311;
  padding: 40px 44px;
  display: flex; flex-direction: column;
  overflow-y: auto;
  transform: translateX(105%);
  transition: transform .6s cubic-bezier(.22, 1, .36, 1);
}
.fewset-px-cart.is-open .fewset-px-cart__panel { transform: none; }
.fewset-px-cart__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; }
.fewset-px-cart__close { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(20,19,17,.2); background: #FFF; color: #141311; font-size: 14px; cursor: pointer; }
.fewset-px-cart__close:hover { background: #141311; color: #FFF; }
.fewset-px-cart__empty { color: rgba(20,19,17,.55); text-align: center; padding: 40px 0; }
.fewset-px-cart__items { flex: 1; }
.fewset-px-cart__item { display: flex; gap: 14px; align-items: flex-start; padding: 14px 0; border-bottom: 1px solid rgba(20,19,17,.1); }
.fewset-px-cart__item img { width: 64px; height: 80px; object-fit: cover; background: #F5F4F1; flex: 0 0 64px; }
.fewset-px-cart__meta { flex: 1; min-width: 0; }
.fewset-px-cart__name { margin: 0 0 3px; font-size: 13px; }
.fewset-px-cart__attrs { margin: 0; font-size: 11px; color: rgba(20,19,17,.55); letter-spacing: .04em; }
.fewset-px-cart__lineprice { font-size: 12.5px; white-space: nowrap; }
.fewset-px-cart__lineprice .amount, .fewset-px-cart__lineprice bdi { color: inherit; }
.fewset-px-cart__remove { border: 0; background: none; padding: 2px 4px; color: rgba(20,19,17,.4); font-size: 15px; cursor: pointer; }
.fewset-px-cart__remove:hover { color: #141311; background: none; }
.fewset-px-cart__totals { padding-top: 16px; }
.fewset-px-cart__trow { display: flex; justify-content: space-between; padding: 4px 0; font-size: 12.5px; }
.fewset-px-cart__trow--fee { color: #6E1F2E; }
.fewset-px-cart__trow--total { border-top: 1px solid rgba(20,19,17,.25); margin-top: 10px; padding-top: 12px; font-size: 15px; }
.fewset-px-cart__trow .amount, .fewset-px-cart__trow bdi { color: inherit; }
.fewset-px-cart__actions { margin-top: 20px; }
.fewset-px-cart__checkout {
  display: block; text-align: center;
  height: 56px; line-height: 56px;
  background: #141311; color: #FFF;
  text-decoration: none;
  font-size: 12px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase;
  transition: opacity .2s ease;
}
.fewset-px-cart__checkout:hover { opacity: .85; color: #FFF; }
.fewset-px-cart__note { margin: 12px 0 0; text-align: center; font-size: 11px; color: rgba(20,19,17,.5); }

/* ---- loading dots ---- */
.fewset-px__loadingdots { display: flex; gap: 7px; margin: 26px 0; }
.fewset-px__loadingdots span { width: 7px; height: 7px; border-radius: 50%; background: var(--px-muted); animation: fewset-px-dot 1s ease-in-out infinite; }
.fewset-px__loadingdots span:nth-child(2) { animation-delay: .18s; }
.fewset-px__loadingdots span:nth-child(3) { animation-delay: .36s; }
@keyframes fewset-px-dot { 0%, 100% { opacity: .25; } 50% { opacity: 1; } }

/* =====================================================================
   Mobile (≤768px)
   ===================================================================== */
@media (max-width: 768px) {
  .fewset-px { font-size: 12.5px; }
  .fewset-px__topbar { height: 56px; padding: 0 16px 0 20px; }
  .fewset-px__logo { font-size: 12px; }

  /* standard mobile */
  .fewset-px__std { display: block; }
  .fewset-px__gal {
    width: 100%;
    display: flex; flex-direction: row; gap: 0;
    padding: 56px 0 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .fewset-px__frame { flex: 0 0 100vw; scroll-snap-align: center; border-left: 0; border-right: 0; }
  .fewset-px__counter { display: block; }
  .fewset-px__info {
    width: 100%;
    position: static;
    height: auto;
    padding: 26px 20px calc(96px + 50px);
  }
  .fewset-px__name { font-size: 26px; }
  .fewset-px__sizes .fewset-px__size { flex: 1; height: 44px; }
  .fewset-px--standard .fewset-px__stdbar,
  .fewset-px--loading .fewset-px__stdbar { display: flex; }
  .fewset-px__stdbar {
    position: fixed; left: 0; right: 0; bottom: 0;
    z-index: 25;
    align-items: center; gap: 14px;
    padding: 10px 16px;
    background: var(--px-bg);
    border-top: 1px solid var(--px-line);
  }
  .fewset-px__stdbar-info { display: flex; flex-direction: column; gap: 2px; font-size: 14px; }
  .fewset-px__stdbar-stars { font-size: 10.5px; color: var(--px-muted); }
  .fewset-px__cta--bar { flex: 1; height: 48px; margin: 0; }
  .fewset-px--standard .fewset-px__info .fewset-px__cta:not(.fewset-px__cta--bar) { display: none; }

  /* premium mobile */
  .fewset-px__card { height: min(52vh, calc(100vh - 300px)); }
  .fewset-px__sheet { padding: 0 20px 170px; }
  .fewset-px__name--prem { font-size: 30px; }
  .fewset-px__delivery--prem .fewset-px__delrows { grid-template-columns: repeat(2, 1fr); }
  .fewset-px__sheet .fewset-px__acc summary { height: 52px; }
  .fewset-px__bar { flex-wrap: wrap; }
  .fewset-px__barcell { padding: 9px 14px; }
  .fewset-px__barcell--rev { display: none; }
  .fewset-px__cta--barprem { padding: 0 22px; }

  /* size guide → bottom sheet */
  .fewset-px__sgpanel {
    top: auto; left: 0; right: 0; bottom: 0;
    width: 100%; max-width: none; max-height: 86vh;
    padding: 30px 22px;
    transform: translateY(102%);
  }
  .fewset-px__sg.is-open .fewset-px__sgpanel { transform: none; }

  /* cart → bottom sheet */
  .fewset-px-cart__panel {
    top: auto; left: 0; right: 0; bottom: 0;
    width: 100%; max-width: none; max-height: 88vh;
    padding: 26px 22px;
    transform: translateY(102%);
  }
  .fewset-px-cart.is-open .fewset-px-cart__panel { transform: none; }

  .fewset-px__zoomstage { width: 100%; height: 78%; }
}
