/** Shopify CDN: Minification failed

Line 2230:14 Expected identifier but found whitespace
Line 2230:15 Unexpected "600"

**/
/* Watch PDP — layout + theme isolation (prototype v3.120) */

body.fs-pdp-active #fs-app .priceline--discontinued .p {
  font-size: 18px;
  font-weight: 600;
  color: var(--mid, #5c6370);
}

@keyframes fs-pdp-spin {
  to {
    transform: rotate(360deg);
  }
}

body.fs-pdp-active #fs-app .btn.busy,
body.fs-pdp-active #fs-app .pwish.busy,
body.fs-pdp-active #fs-app .wh.busy,
body.fs-pdp-active #fs-app .spare-add.busy,
body.fs-pdp-active #fs-app .pc-add.busy {
  opacity: 0.65 !important;
  pointer-events: none !important;
  position: relative !important;
}

body.fs-pdp-active #fs-app .wh.busy {
  opacity: 1 !important;
}

body.fs-pdp-active #fs-app .wh.busy svg {
  opacity: 0 !important;
}

body.fs-pdp-active #fs-app .wh.busy::after {
  content: '' !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 16px !important;
  height: 16px !important;
  margin: -8px 0 0 -8px !important;
  border: 2px solid var(--pink, #e8286e) !important;
  border-top-color: transparent !important;
  border-radius: 50% !important;
  animation: fs-pdp-spin 0.65s linear infinite !important;
  box-sizing: border-box !important;
}

body.fs-pdp-active #fs-app .btn.busy:not(.pc-add),
body.fs-pdp-active #fs-app .pwish.busy {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}

body.fs-pdp-active #fs-app .pwish.busy {
  color: transparent !important;
}

body.fs-pdp-active #fs-app .pwish.busy svg,
body.fs-pdp-active #fs-app .pwish.busy [data-wish-label] {
  visibility: hidden !important;
}

body.fs-pdp-active #fs-app .pwish.busy::after {
  content: '' !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 16px !important;
  height: 16px !important;
  margin: -8px 0 0 -8px !important;
  border: 2px solid var(--black, #111315) !important;
  border-top-color: transparent !important;
  border-radius: 50% !important;
  animation: fs-pdp-spin 0.65s linear infinite !important;
  box-sizing: border-box !important;
}

body.fs-pdp-active #fs-app .btn.busy::after,
body.fs-pdp-active #fs-app .spare-add.busy::after,
body.fs-pdp-active #fs-app .pc-add.busy::after {
  content: '' !important;
  width: 14px !important;
  height: 14px !important;
  border: 2px solid currentColor !important;
  border-top-color: transparent !important;
  border-radius: 50% !important;
  animation: fs-pdp-spin 0.65s linear infinite !important;
  flex: none !important;
  display: inline-block !important;
}

body.fs-pdp-active #fs-app .pc-add.busy {
  color: transparent !important;
}

body.fs-pdp-active #fs-app .pc-add.busy::after {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  margin: -7px 0 0 -7px !important;
  color: var(--black) !important;
  border-color: var(--black) !important;
  border-top-color: transparent !important;
}

/* ---- Shell: beat legacy .wrap { flex-wrap } and center content ---- */
body.fs-pdp-active #main {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.fs-pdp-active #main > .shopify-section.fs-product-main,
body.fs-pdp-active .shopify-section.fs-product-main {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

body.fs-pdp-active #fs-app.fs-pdp-redesign {
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
  /* Theme body is Inter 300; Claude PDP body is 400 — inherit that here. */
  font-weight: 400;
}

body.fs-pdp-active #fs-app .wrap,
body.fs-pdp-active #fs-app .fs-pdp-shell {
  max-width: var(--maxw) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--edge) !important;
  padding-right: var(--edge) !important;
  box-sizing: border-box !important;
  flex-wrap: nowrap !important;
}

body.fs-pdp-active #fs-app.fs-pdp-redesign,
body.fs-pdp-active #fs-app.fs-pdp-redesign * {
  box-sizing: border-box;
}

/* ---- Global theme h1 / typography resets inside PDP ---- */
body.fs-pdp-active #fs-app h1,
body.fs-pdp-active #fs-app h2,
body.fs-pdp-active #fs-app h3 {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  clear: none !important;
  padding-top: 0 !important;
  font-family: inherit;
  color: var(--black) !important;
}

body.fs-pdp-active #fs-app.fs-pdp-redesign .buy {
  text-align: left !important;
}

body.fs-pdp-active #fs-app.fs-pdp-redesign .buy h1 {
  font-family: var(--disp) !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0.005em !important;
  font-size: clamp(28px, 3.6vw, 44px) !important;
  line-height: 1 !important;
  margin: 5px 0 8px !important;
  color: var(--black) !important;
  width: auto !important;
  text-align: left !important;
}

body.fs-pdp-active #fs-app nav.crumb {
  padding: 12px 0 !important;
  font-family: var(--body) !important;
  font-weight: 400 !important;
  font-size: 12.5px !important;
  line-height: 1.55 !important;
  color: var(--soft) !important;
  text-align: left !important;
}

body.fs-pdp-active #fs-app nav.crumb a,
body.fs-pdp-active #fs-app nav.crumb .sep {
  font-family: inherit !important;
  font-weight: inherit !important;
  font-size: inherit !important;
}

/* Prototype: apparel PDP sits inside .sec.tight after the crumb (extra vertical rhythm). Watch/part zero top pad only. */
body.fs-pdp-active #fs-app .fs-pdp-shell .pdp:not(.appdp) {
  padding-top: 0;
}

/* ---- Gallery: square stage like prototype (fix oversized carousel) ---- */
body.fs-pdp-active #fs-app .pdp {
  display: grid !important;
  grid-template-columns: 1.06fr 0.94fr !important;
  gap: clamp(20px, 3vw, 48px) !important;
  align-items: start !important;
  padding: clamp(16px, 2.4vw, 32px) 0 var(--pad) !important;
}

@media (max-width: 940px) {
  body.fs-pdp-active #fs-app .pdp {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
}

body.fs-pdp-active #fs-app .gal {
  min-width: 0;
  max-width: 100%;
}

/* Part PDP (.pdp.pt) uses prototype v3.59 gallery rules in fs-part-pdp.css — not watch square stage */
body.fs-pdp-active #fs-app .pdp:not(.appdp):not(.pt) .gal .stage {
  background: var(--grey) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r) !important;
  padding: clamp(14px, 2.4vw, 30px) !important;
}

body.fs-pdp-active #fs-app .pdp:not(.appdp):not(.pt) .gal .stage img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
}

body.fs-pdp-active #fs-app .pp-swipe .gal .stage,
body.fs-pdp-active #fs-app .pp-swipe .gal .th {
  display: none !important;
}

/* Swipe carousel — match fs-prototype-base .pp-swipe .pg / .pg-s (pad on slide, not outer box) */
body.fs-pdp-active #fs-app .pp-swipe .pg {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: hidden !important;
  background: var(--grey) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r) !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.fs-pdp-active #fs-app .pp-swipe .pg-t {
  display: flex !important;
  height: auto !important;
  align-items: stretch !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior-x: contain !important;
}

body.fs-pdp-active #fs-app .pp-swipe .pg-t::-webkit-scrollbar {
  display: none !important;
}

body.fs-pdp-active #fs-app .pp-swipe .pg-s {
  flex: 0 0 100% !important;
  min-width: 0 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  scroll-snap-align: center !important;
  display: grid !important;
  place-items: center !important;
  padding: clamp(8px, 1.4vw, 18px) !important;
  box-sizing: border-box !important;
}

body.fs-pdp-active #fs-app .pp-swipe .pg-s img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
}

body.fs-pdp-active #fs-app .gal .th button {
  flex: 1 !important;
  max-width: none !important;
}

body.fs-pdp-active #fs-app .pg-a {
  position: absolute !important;
  top: 50% !important;
  left: auto !important;
  right: auto !important;
  transform: translateY(-50%) !important;
  width: clamp(38px, 3.4vw, 46px) !important;
  height: clamp(38px, 3.4vw, 46px) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  line-height: 1 !important;
  background: rgba(255, 255, 255, 0.55) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: 0 2px 10px rgba(17, 19, 21, 0.1) !important;
  cursor: pointer !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  text-transform: none !important;
  font: inherit !important;
  color: inherit !important;
}

body.fs-pdp-active #fs-app .pg-a.l {
  left: 12px !important;
}

body.fs-pdp-active #fs-app .pg-a.r {
  right: 12px !important;
}

body.fs-pdp-active #fs-app .pg-a svg {
  width: 18px !important;
  height: 18px !important;
  fill: none !important;
  stroke: var(--black) !important;
  stroke-width: 2 !important;
  display: block !important;
}

body.fs-pdp-active #fs-app .pg-a:disabled {
  opacity: 0 !important;
  pointer-events: none !important;
}

body.fs-pdp-active #fs-app .pg-d {
  position: absolute !important;
  left: 50% !important;
  bottom: 12px !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  gap: 6px !important;
  padding: 6px 9px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.55) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  margin: 0 !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
}

body.fs-pdp-active #fs-app .pg-d i {
  width: 6px !important;
  height: 6px !important;
  border-radius: 99px !important;
  background: rgba(17, 19, 21, 0.28) !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.fs-pdp-active #fs-app .pg-d i.on {
  width: 18px !important;
  background: var(--black) !important;
}

body.fs-pdp-active #fs-app .buy {
  min-width: 0;
}

body.fs-pdp-active #fs-app .buy .desc {
  line-height: 1.55;
}

/* Size / strap / color option labels — match Claude PDP (not theme body 300). */
body.fs-pdp-active #fs-app .opt-g .lab {
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  margin-bottom: 8px !important;
}

body.fs-pdp-active #fs-app .opt-g .lab b {
  font-family: var(--disp) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--black) !important;
}

body.fs-pdp-active #fs-app .opt-g .lab span {
  font-family: var(--body) !important;
  font-weight: 400 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: var(--mid) !important;
}

body.fs-pdp-active #fs-app .szrow {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
}

body.fs-pdp-active #fs-app .szo {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  border: 1.5px solid var(--line) !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  background: #fff !important;
  text-decoration: none !important;
  color: var(--black) !important;
  box-shadow: none !important;
  font-weight: 400 !important;
}

body.fs-pdp-active #fs-app .szo:hover {
  border-color: #b9c0c5 !important;
}

body.fs-pdp-active #fs-app .szo.on {
  border-color: var(--black) !important;
  box-shadow: inset 0 0 0 1px var(--black) !important;
}

body.fs-pdp-active #fs-app .szo b {
  font-family: var(--disp) !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  text-transform: uppercase !important;
  color: var(--black) !important;
}

body.fs-pdp-active #fs-app .szo span {
  font-family: var(--body) !important;
  font-weight: 400 !important;
  font-size: 12.5px !important;
  line-height: 1.35 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: var(--mid) !important;
}

body.fs-pdp-active #fs-app .fact b {
  display: block !important;
  font-family: var(--disp) !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  line-height: 1.1 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  color: var(--black) !important;
}

body.fs-pdp-active #fs-app .fact > span > span {
  display: block !important;
  font-family: var(--body) !important;
  font-weight: 400 !important;
  font-size: 12.5px !important;
  line-height: 1.35 !important;
  color: var(--mid) !important;
  margin-top: 2px !important;
}

body.fs-pdp-active #fs-app .onlynote {
  margin: 9px 0 0 !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  color: var(--soft) !important;
  line-height: 1.45 !important;
}

body.fs-pdp-active #fs-app .buy .stocknote {
  margin: 6px 0 0;
  font-size: 12.5px;
  color: var(--mid);
  text-align: center;
}

body.fs-pdp-active #fs-app .buy-actions {
  display: flex;
  gap: 8px;
  margin-top: 14px;
  align-items: stretch;
  width: 100%;
}

body.fs-pdp-active #fs-app .buy form.product-form,
body.fs-pdp-active #fs-app .buy .fs-ap-atb-wrap form {
  margin: 0 !important;
  padding: 0 !important;
}

/* ATC: form must fill the buy row; theme `button` rules + Barlow metrics were
   shrinking width and sitting the label optically low in .pp-big. */
body.fs-pdp-active #fs-app .buy-actions > form.product-form,
body.fs-pdp-active #fs-app .buy-actions > form {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  display: block !important;
}

body.fs-pdp-active #fs-app .buy-actions .btn.wide,
body.fs-pdp-active #fs-app .buy-actions .btn.pp-big,
body.fs-pdp-active #fs-app .btn.wide.pp-big {
  width: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 58px !important;
  height: 58px !important;
  padding: 0 26px !important;
  line-height: 1.55 !important;
  font-size: 17px !important;
  font-family: var(--disp) !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

/* Sticky ATC — same vertical centering (theme button padding sat label low). */
body.fs-pdp-active .stickybuy .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 0 18px !important;
  line-height: 1 !important;
  font-family: var(--disp) !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  box-sizing: border-box !important;
}

body.fs-pdp-active #fs-app .stars .jdgm-preview-badge {
  display: none !important;
}

body.fs-pdp-active #fs-app .stars.has-fallback .jdgm-preview-badge {
  display: none !important;
}

body.fs-pdp-active #fs-app .stars:not(.has-fallback) .fs-stars-fallback {
  display: none;
}

body.fs-pdp-active #fs-app .stars .fs-stars-fallback {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  color: var(--mid);
}

body.fs-pdp-active #fs-app .pp-cswipe .famrow,
body.fs-pdp-active #fs-app .famrow {
  align-items: flex-start !important;
}

body.fs-pdp-active #fs-app .fam {
  text-decoration: none;
  color: inherit;
  flex: 0 0 84px !important;
  max-width: 84px !important;
  min-width: 0 !important;
  align-self: flex-start !important;
  padding: 6px 4px 8px !important;
  gap: 3px !important;
  height: auto !important;
}

body.fs-pdp-active #fs-app .fam .fam-img,
body.fs-pdp-active #fs-app .fam img {
  width: 76px !important;
  height: 76px !important;
  max-width: 100% !important;
  max-height: 76px !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  background: var(--grey) !important;
  border-radius: 8px !important;
  display: block !important;
  margin: 0 !important;
}

body.fs-pdp-active #fs-app .fam span {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-align: center !important;
}

body.fs-pdp-active #fs-app .fam em {
  font-family: var(--body) !important;
  font-style: normal !important;
  font-size: 10.5px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
  color: var(--soft) !important;
}

body.fs-pdp-active #fs-app .fvb {
  flex: none !important;
  width: 76px !important;
  height: 56px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  background: #f4f5f6 !important;
  box-shadow: none !important;
}

body.fs-pdp-active #fs-app .fvb:hover {
  background: #f4f5f6 !important;
  transform: none !important;
}

/* Part PDP — "How the clip/leash works" (theme button:hover paints cyan otherwise) */
body.fs-pdp-active #fs-app .pt-how {
  all: unset !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 10px !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  padding: 8px !important;
  background: #fff !important;
  width: calc(100% - 18px) !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  color: inherit !important;
  text-align: left !important;
}

body.fs-pdp-active #fs-app .pt-how:hover,
body.fs-pdp-active #fs-app .pt-how:focus {
  background: #fff !important;
  border-color: var(--black) !important;
  color: inherit !important;
  box-shadow: none !important;
  transform: none !important;
}

body.fs-pdp-active #fs-app .pt-how:focus-visible {
  outline: 2px solid var(--sea-3) !important;
  outline-offset: 2px !important;
}

body.fs-pdp-active #fs-app .pt-how .pt-vid {
  width: 96px !important;
  height: 72px !important;
  object-fit: cover !important;
  border-radius: 10px !important;
  flex: none !important;
  background: var(--grey) !important;
  pointer-events: none;
}

body.fs-pdp-active #fs-app .fvid {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  pointer-events: none;
}

body.fs-pdp-active #fs-app .svid {
  width: 100% !important;
  border-radius: 12px !important;
  margin: 10px 0 0 !important;
  background: #f4f5f6 !important;
  display: block !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
}

body.fs-pdp-active #fs-app .fact > svg {
  width: 26px !important;
  height: 26px !important;
  flex: none !important;
  stroke: var(--black) !important;
  fill: none !important;
  stroke-width: 1.7 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.fs-pdp-active #fs-app .fact .ndi {
  flex: none !important;
  line-height: 0 !important;
}

body.fs-pdp-active #fs-app .fact .ndi svg {
  width: 26px !important;
  height: 26px !important;
  display: block !important;
}

body.fs-pdp-active #fs-app .fact {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
  padding: 11px 14px !important;
  background: var(--grey) !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

body.fs-pdp-active #fs-app .pp-sum,
body.fs-pdp-active #fs-app .pp-sb {
  min-width: 0 !important;
  max-width: 100% !important;
}

body.fs-pdp-active #fs-app .fact > span {
  flex: 1 1 0% !important;
  min-width: 0 !important;
}

body.fs-pdp-active #fs-app .pp-sum > summary {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

body.fs-pdp-active #fs-app a.simc {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-top: 8px;
  border: 1px dashed #c9ced2;
  border-radius: 12px;
  padding: 9px 12px;
  font-size: 13px;
  color: var(--fs-mid, #5b6469);
  background: #fff;
  text-decoration: none;
}

body.fs-pdp-active #fs-app a.simc img {
  width: 46px;
  height: 46px;
  object-fit: contain;
  flex: none;
}

body.fs-pdp-active #fs-app a.simc em {
  display: block;
  font-style: normal;
  font-weight: 700;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #8a6200;
  margin-bottom: 3px;
}

body.fs-pdp-active #fs-app a.simc > span > b {
  display: block;
  font-size: 13.5px;
  color: var(--fs-ink, #1f2427);
}

body.fs-pdp-active #fs-app a.simc:hover {
  border-color: var(--fs-ink, #1f2427);
}

body.fs-pdp-active #fs-app .pp-sum .pp-sl span {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Prototype .shipbar — lock against theme overrides (watch + all PDPs) */
body.fs-pdp-active #fs-app .shipbar {
  margin-top: 16px !important;
  margin-bottom: 0 !important;
  background: var(--grey) !important;
  border-radius: 10px !important;
  padding: 11px 13px !important;
  box-sizing: border-box !important;
}

body.fs-pdp-active #fs-app .shipbar .t {
  font-size: 12.5px !important;
  font-weight: 400 !important;
  color: var(--ink) !important;
  margin-bottom: 7px !important;
  display: flex !important;
  gap: 6px !important;
  align-items: center !important;
  line-height: 1.35 !important;
}

body.fs-pdp-active #fs-app .shipbar .t span {
  font-size: 12.5px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  color: var(--ink) !important;
}

body.fs-pdp-active #fs-app .shipbar .t b {
  color: var(--sea-3) !important;
  font-weight: 700 !important;
}

body.fs-pdp-active #fs-app .shipbar.done .t b {
  color: var(--ok) !important;
}

body.fs-pdp-active #fs-app .shipbar .track {
  height: 6px !important;
  border-radius: 999px !important;
  background: var(--grey-2) !important;
  overflow: hidden !important;
}

body.fs-pdp-active #fs-app .shipbar .fill {
  height: 100% !important;
  background: linear-gradient(90deg, var(--cyan), var(--sea-2)) !important;
  border-radius: 999px !important;
  transition: width 0.3s ease !important;
}

body.fs-pdp-active #fs-app .shipbar.done .fill {
  background: var(--ok) !important;
}

/* Prototype button hovers — override theme blue link/button styles */
body.fs-pdp-active #fs-app a.btn,
body.fs-pdp-active #fs-app button.btn,
body.fs-pdp-active #fs-app .btn {
  background: var(--black) !important;
  color: #fff !important;
  border: 2px solid var(--black) !important;
  text-decoration: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

body.fs-pdp-active #fs-app a.btn:hover,
body.fs-pdp-active #fs-app button.btn:hover,
body.fs-pdp-active #fs-app .btn:hover,
body.fs-pdp-active #fs-app input.btn:hover {
  background: #000 !important;
  border-color: #000 !important;
  color: #fff !important;
  box-shadow: 0 6px 18px rgba(17, 19, 21, 0.26) !important;
}

body.fs-pdp-active #fs-app a.btn.ghost,
body.fs-pdp-active #fs-app button.btn.ghost,
body.fs-pdp-active #fs-app .btn.ghost {
  background: transparent !important;
  color: var(--black) !important;
  border: 2px solid var(--line) !important;
  box-shadow: none !important;
}

body.fs-pdp-active #fs-app a.btn.ghost:hover,
body.fs-pdp-active #fs-app button.btn.ghost:hover,
body.fs-pdp-active #fs-app .btn.ghost:hover {
  background: var(--grey) !important;
  color: var(--black) !important;
  border-color: var(--black) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.fs-pdp-active #fs-app .pwish {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  margin-top: 8px !important;
  padding: 12px !important;
  border: 1.5px solid var(--line) !important;
  border-radius: 999px !important;
  background: #fff !important;
  cursor: pointer !important;
  font: 600 14px/1 var(--body) !important;
  color: var(--black) !important;
  box-shadow: none !important;
  min-height: 0 !important;
  height: auto !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  transform: none !important;
  vertical-align: middle !important;
  transition: background 0.13s ease, border-color 0.13s ease, color 0.13s ease !important;
}

body.fs-pdp-active #fs-app .pwish span {
  line-height: 1 !important;
  display: block !important;
}

body.fs-pdp-active #fs-app .pwish svg {
  width: 18px !important;
  height: 18px !important;
  stroke: var(--black) !important;
  fill: none !important;
  stroke-width: 1.8 !important;
  flex: none !important;
  display: block !important;
  margin: 0 !important;
}

body.fs-pdp-active #fs-app .pwish[aria-pressed='true'] svg {
  fill: var(--pink) !important;
  stroke: var(--pink) !important;
}

body.fs-pdp-active #fs-app .pwish:hover {
  background: #fff !important;
  border-color: var(--black) !important;
  color: var(--black) !important;
  transform: none !important;
  box-shadow: none !important;
}

body.fs-pdp-active #fsToast {
  z-index: 10001 !important;
}

body.fs-pdp-active #fsToast button {
  font: 700 12px/1 var(--disp) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  background: var(--cyan) !important;
  color: var(--black) !important;
  padding: 9px 13px !important;
  border-radius: 999px !important;
  border: 0 !important;
  cursor: pointer !important;
  flex: none !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  box-shadow: none !important;
}

body.fs-pdp-active #fs-app .fact > .lnk,
body.fs-pdp-active #fs-app .fact > button.lnk,
body.fs-pdp-active #fs-app .lnk,
body.fs-pdp-active #fs-app button.lnk {
  flex: none !important;
  align-self: center !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--mid) !important;
  box-shadow: none !important;
  font: 500 12.5px/1.2 var(--body) !important;
  text-decoration: underline !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  white-space: nowrap !important;
  display: inline !important;
  cursor: pointer !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

body.fs-pdp-active #fs-app .fact > .lnk:hover,
body.fs-pdp-active #fs-app .fact > button.lnk:hover,
body.fs-pdp-active #fs-app .lnk:hover,
body.fs-pdp-active #fs-app button.lnk:hover {
  background: none !important;
  color: var(--black) !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.fs-pdp-active #mdl .mdl-x {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  width: 40px !important;
  height: 40px !important;
  min-height: 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: var(--grey) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: var(--ink) !important;
  box-shadow: none !important;
  text-align: center !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
body.fs-pdp-active #mdl .mdl-x svg {
  width: 18px !important;
  height: 18px !important;
  display: block !important;
  flex: none !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  transform: none !important;
}

body.fs-pdp-active #mdl .mdl-x:hover {
  background: var(--black) !important;
  color: #fff !important;
}

body.fs-pdp-active #mdl .mdl-tabs button {
  border: 1.5px solid var(--line) !important;
  background: #fff !important;
  border-radius: 99px !important;
  padding: 9px 14px !important;
  cursor: pointer !important;
  font: 700 13px/1 var(--disp) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--ink) !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

body.fs-pdp-active #mdl .mdl-tabs button[aria-selected='true'] {
  background: var(--black) !important;
  border-color: var(--black) !important;
  color: #fff !important;
}

body.fs-pdp-active #mdl .mdl-tabs button em {
  font: 500 11px/1 var(--body) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: var(--soft) !important;
  margin-left: 4px !important;
  font-style: normal !important;
}

body.fs-pdp-active #mdl .mdl-tabs button[aria-selected='true'] em {
  color: rgba(255, 255, 255, 0.7) !important;
}

body.fs-pdp-active #mdl .mdl-ph {
  display: block;
  aspect-ratio: 3 / 4;
  max-height: 100%;
  margin: 0 auto;
  background: linear-gradient(180deg, #e8eaec 0%, #d5d9dc 100%);
  border-radius: 8px;
}

/* Compare sizes — placeholder inside photometric stage (if used) */
body.fs-pdp-active #mdl .scr-st .ph {
  display: block !important;
  margin: 0 auto !important;
  aspect-ratio: 3 / 4 !important;
  max-height: 100% !important;
  border-radius: 10px !important;
  background: #fff !important;
  border: 1.5px solid var(--line) !important;
  box-sizing: border-box !important;
}

/* ---- PDP modals (Compare sizes, How it works) — scroll + safe area on phones ---- */
body.fs-pdp-active #mdl {
  z-index: 100000 !important;
}

body.fs-pdp-active #mdl .mdl-b {
  max-height: min(calc(100dvh - 40px), calc(100vh - 40px)) !important;
  box-sizing: border-box !important;
}

body.fs-pdp-active #mdl #mdlC {
  box-sizing: border-box !important;
}

body.fs-pdp-active #mdl .mdl-pane .svid,
body.fs-pdp-active #mdl .mdl-pane video {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  display: block !important;
}

/* Prototype .mdl-pane p — theme body is Inter 300; design copy is regular 400 */
body.fs-pdp-active #mdl .mdl-pane p {
  margin: 12px 0 0 !important;
  color: var(--ink) !important;
  font-family: var(--body) !important;
  font-weight: 400 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  letter-spacing: normal !important;
  max-width: 60ch !important;
}

/*
  Compare sizes + modal body content — beat theme table/button resets (same intent as
  assets/fs-redesign-collection.css .fs-redesign-mdl .mdl-*).
*/
body.fs-pdp-active #mdl .mdl-t {
  font-family: var(--disp) !important;
  font-weight: 700 !important;
  font-size: 30px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  margin: 0 48px 8px 0 !important;
  color: var(--black) !important;
}

body.fs-pdp-active #mdl .mdl-l {
  margin: 0 0 18px !important;
  color: var(--mid) !important;
  font-family: var(--body) !important;
  font-weight: 400 !important;
  font-size: 14.5px !important;
  line-height: 1.45 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  max-width: 58ch !important;
}

body.fs-pdp-active #mdl .mdl-l b {
  color: var(--black) !important;
  font-weight: 600 !important;
}

/* Compare sizes — photo row wrapper: no tray (prototype has no grey band / padding on .gmscl) */
body.fs-pdp-active #mdl .gmscl {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
}

body.fs-pdp-active #mdl .scr {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(10px, 2vw, 22px) !important;
  align-items: end !important;
  max-width: 100% !important;
  opacity: 0 !important;
  transition: opacity 0.25s ease !important;
}

body.fs-pdp-active #mdl .scr.on {
  opacity: 1 !important;
}

body.fs-pdp-active #mdl .scr-f {
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  min-width: 0 !important;
}

body.fs-pdp-active #mdl .scr-st {
  position: relative !important;
  width: 100% !important;
  overflow: hidden !important;
  background: #fff !important;
  isolation: isolate !important;
  /* Design fade — soft top/bottom edge. Parent .gmscl has no grey fill, so this fades into the modal white. */
  -webkit-mask-image: linear-gradient(#0000, #000 14%, #000 86%, #0000) !important;
  mask-image: linear-gradient(#0000, #000 14%, #000 86%, #0000) !important;
}

body.fs-pdp-active #mdl .scr-st img {
  position: absolute !important;
  max-width: none !important;
  height: auto !important;
  /* White photo field drops out; grey contact shadow in the shot stays. Do not set filter here — it must not override the inline brightness() from fsLayoutCompareScr. */
  mix-blend-mode: multiply !important;
}

body.fs-pdp-active #mdl .scr-st .scr-o {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  border: 2.4px solid #111315 !important;
  border-radius: 22% !important;
  background: #f2f3f5 !important;
  box-sizing: border-box !important;
}

body.fs-pdp-active #mdl .scr-ru {
  height: 12px !important;
  display: flex !important;
  justify-content: center !important;
  margin-top: 4px !important;
  flex: none !important;
}

body.fs-pdp-active #mdl .scr-ru i {
  display: block !important;
  height: 8px !important;
  border: 2px solid #111315 !important;
  border-top: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.fs-pdp-active #mdl .scr-f figcaption {
  text-align: center !important;
  margin-top: 8px !important;
  width: 100% !important;
}

body.fs-pdp-active #mdl .scr-f figcaption b {
  display: block !important;
  font: 700 clamp(22px, 3vw, 34px) / 1 var(--disp) !important;
  color: var(--black) !important;
}

body.fs-pdp-active #mdl .scr-f figcaption b small {
  font-size: 0.5em !important;
  margin-left: 2px !important;
  color: var(--soft) !important;
  font-weight: 500 !important;
}

body.fs-pdp-active #mdl .scr-f figcaption span {
  display: block !important;
  font-size: 13px !important;
  color: var(--mid) !important;
  font-weight: 500 !important;
  margin-top: 4px !important;
  white-space: nowrap !important;
}

body.fs-pdp-active #mdl .scr-f.est figcaption span::after {
  content: ' · ' attr(data-est) !important;
  display: block !important;
  color: var(--soft) !important;
  font-weight: 400 !important;
  font-size: 11px !important;
  margin-top: 2px !important;
}

body.fs-pdp-active #mdl .mdl-n.mdl-szcap-line {
  margin: 8px 0 16px !important;
  color: var(--mid) !important;
  font-family: var(--body) !important;
  font-weight: 400 !important;
  font-size: 13.5px !important;
  line-height: 1.45 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  max-width: 58ch !important;
}

body.fs-pdp-active #mdl .mdl-n.mdl-szcap-line b {
  color: var(--black) !important;
  font-weight: 600 !important;
}

body.fs-pdp-active #mdl .mdl-tb {
  overflow-x: auto !important;
  margin-top: 4px !important;
  margin-bottom: 0 !important;
}

body.fs-pdp-active #mdl .mdl-tb table {
  width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  font-size: 13.5px !important;
  min-width: 520px !important;
  background: #fff !important;
  border: 0 !important;
  margin-bottom: 0 !important;
}

body.fs-pdp-active #mdl .mdl-tb tr,
body.fs-pdp-active #mdl .mdl-tb thead tr,
body.fs-pdp-active #mdl .mdl-tb tbody tr,
body.fs-pdp-active #mdl .mdl-tb tr:first-child {
  border: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
}

body.fs-pdp-active #mdl .mdl-tb thead th {
  font-family: var(--body) !important;
  font-weight: 600 !important;
  font-size: 13.5px !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: var(--ink) !important;
  background: #fff !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--line) !important;
}

body.fs-pdp-active #mdl .mdl-tb th,
body.fs-pdp-active #mdl .mdl-tb td {
  padding: 10px 8px !important;
  border: 0 !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  text-align: center !important;
  vertical-align: middle !important;
  background: #fff !important;
  color: var(--ink) !important;
  font-family: var(--body) !important;
  font-weight: 400 !important;
  font-size: 13.5px !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

body.fs-pdp-active #mdl .mdl-tb thead tr:first-child th,
body.fs-pdp-active #mdl .mdl-tb tr:first-child th,
body.fs-pdp-active #mdl .mdl-tb tr:first-child td {
  border-top: 0 !important;
}

body.fs-pdp-active #mdl .mdl-tb tbody th {
  text-align: left !important;
  color: var(--soft) !important;
  font-family: var(--body) !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  background: #fff !important;
}

body.fs-pdp-active #mdl .mdl-tb th.on,
body.fs-pdp-active #mdl .mdl-tb td.on {
  background: #f4fbfd !important;
  font-weight: 600 !important;
  color: var(--black) !important;
}

body.fs-pdp-active #mdl .mdl-scroll-pad {
  display: block;
  width: 100%;
  pointer-events: none;
}

@media (max-width: 640px) {
  body.fs-pdp-active #mdl {
    align-items: flex-end !important;
    justify-content: stretch !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.fs-pdp-active #mdl .mdl-b {
    width: 100% !important;
    max-width: 100% !important;
    max-height: calc(var(--fs-mdl-vh, 100svh) - env(safe-area-inset-top, 0px) - 6px) !important;
    border-radius: 18px 18px 0 0 !important;
    margin: 0 !important;
    display: block !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: contain !important;
    touch-action: pan-y !important;
    padding: 14px 16px calc(52px + env(safe-area-inset-bottom, 24px)) !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  body.fs-pdp-active #mdl.on .mdl-b {
    transform: none !important;
  }

  body.fs-pdp-active #mdl #mdlC {
    overflow: visible !important;
    max-height: none !important;
    min-height: 0 !important;
    padding-bottom: 0 !important;
  }

  body.fs-pdp-active #mdl .mdl-scroll-pad {
    display: none !important;
  }

  body.fs-pdp-active #mdl .mdl-t {
    font-size: 26px !important;
    margin-right: 44px !important;
  }

  body.fs-pdp-active #mdl .mdl-pane .svid,
  body.fs-pdp-active #mdl .mdl-pane video {
    max-height: min(36svh, 220px) !important;
  }

  body.fs-pdp-active #mdl .gmscl {
    margin: 0 !important;
    padding: 0 !important;
  }

  body.fs-pdp-active #mdl .scr {
    gap: 8px !important;
  }

  body.fs-pdp-active #mdl .scr-f figcaption {
    margin-top: 7px !important;
  }

  body.fs-pdp-active #mdl .scr-f figcaption b {
    font-size: 20px !important;
  }

  body.fs-pdp-active #mdl .scr-f figcaption span {
    font-size: 11px !important;
    font-weight: 500 !important;
    margin-top: 3px !important;
  }

  body.fs-pdp-active #mdl .scr-f.est figcaption span::after {
    font-size: 10px !important;
  }

  body.fs-pdp-active #mdl .mdl-tb {
    padding-bottom: 12px !important;
    margin-bottom: 0 !important;
  }

  body.fs-pdp-active #mdl .mdl-n {
    padding-bottom: 8px !important;
  }
}

/* Review / question modal forms (.rvf) — override theme inputs + align two-column rows */
body.fs-pdp-active #mdl label.rvf-g,
body.fs-pdp-active #mdl .rvf-g {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  min-width: 0 !important;
  margin: 0 !important;
  font-weight: inherit !important;
  text-transform: none !important;
}

body.fs-pdp-active #mdl .rvf-l {
  font: 700 12px/1.35 var(--disp, 'Barlow Condensed', sans-serif) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--black, #111315) !important;
}

body.fs-pdp-active #mdl .rvf-l em {
  font: 500 12px/1.35 var(--body, Inter, sans-serif) !important;
  font-style: normal !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--soft, #8b9199) !important;
  margin-left: 6px !important;
}

body.fs-pdp-active #mdl .rvf-2 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  align-items: start !important;
}

body.fs-pdp-active #mdl .rvf-2 > .rvf-g {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  min-width: 0 !important;
}

body.fs-pdp-active #mdl .rvf-2 .rvf-l {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  align-content: flex-start !important;
  gap: 0 6px !important;
  min-height: 2.75em !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.fs-pdp-active #mdl .rvf input:not([type='file']),
body.fs-pdp-active #mdl .rvf textarea,
body.fs-pdp-active #mdl .rvf select {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 48px !important;
  padding: 12px 14px !important;
  margin: 0 !important;
  margin-bottom: 0 !important;
  box-sizing: border-box !important;
  border: 1.5px solid var(--line, #e8eaed) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--ink, #2b2f36) !important;
  font: 400 16px/1.35 var(--body, Inter, sans-serif) !important;
  line-height: 1.35 !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

body.fs-pdp-active #mdl .rvf select {
  padding-right: 40px !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111315' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 14px !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

body.fs-pdp-active #mdl .rvf input:focus,
body.fs-pdp-active #mdl .rvf textarea:focus,
body.fs-pdp-active #mdl .rvf select:focus {
  outline: none !important;
  border-color: var(--black, #111315) !important;
  box-shadow: none !important;
}

body.fs-pdp-active #mdl .rvf-2 .rvf-g input,
body.fs-pdp-active #mdl .rvf-2 .rvf-g select {
  flex: 0 0 auto !important;
  align-self: stretch !important;
}

body.fs-pdp-active #mdl .rvf-2 .rvf-err {
  margin: 0 !important;
  min-height: 0 !important;
}

body.fs-pdp-active #mdl .rvf-2 .rvf-err[hidden] {
  display: none !important;
}

@media (max-width: 640px) {
  body.fs-pdp-active #mdl .rvf-2 {
    grid-template-columns: 1fr !important;
  }

  body.fs-pdp-active #mdl .rvf-2 .rvf-l {
    min-height: 0 !important;
  }
}

body.fs-pdp-active #fs-app .spare-add {
  background: #fff !important;
  color: var(--black) !important;
  border: 1px solid var(--black) !important;
}

/* v3.152 watch spare strap — open .spare.rec rail (not folded .pp-spf) */
body.fs-pdp-active #fs-app .buy .spare.rec {
  margin-top: 16px !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  background: #fff !important;
  padding: 14px 0 12px !important;
  box-sizing: border-box !important;
}

body.fs-pdp-active #fs-app .buy .spare.rec .spare-h {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  gap: 6px 10px !important;
  flex-wrap: wrap !important;
  padding: 0 14px !important;
}

body.fs-pdp-active #fs-app .buy .spare.rec .spare-h b {
  font: 700 18px/1 var(--disp) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
}

body.fs-pdp-active #fs-app .buy .spare.rec .spare-h span {
  font-size: 12.5px !important;
  color: var(--soft) !important;
}

body.fs-pdp-active #fs-app .buy .spare.rec .rec-row {
  display: flex !important;
  gap: 10px !important;
  overflow-x: auto !important;
  flex-wrap: nowrap !important;
  scroll-snap-type: x proximity !important;
  scroll-padding-inline: 14px !important;
  padding: 12px 14px 4px !important;
  scrollbar-width: thin !important;
  -webkit-overflow-scrolling: touch !important;
}

body.fs-pdp-active #fs-app .buy .spare.rec .rec-i {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  max-width: 150px !important;
  scroll-snap-align: start !important;
}

body.fs-pdp-active #fs-app .buy .spare.rec .spare-i {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px !important;
  text-align: center !important;
  min-width: 0 !important;
}

body.fs-pdp-active #fs-app .buy .spare.rec .spare-i .im {
  width: 100% !important;
  aspect-ratio: 1 !important;
  background: var(--grey) !important;
  border-radius: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

body.fs-pdp-active #fs-app .buy .spare.rec .spare-i img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 6px !important;
}

body.fs-pdp-active #fs-app .buy .spare.rec .rec-n b {
  display: block !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
  text-transform: none !important;
}

body.fs-pdp-active #fs-app .buy .spare.rec .sp-p {
  font-size: 12px !important;
  color: var(--mid) !important;
  margin-top: -3px !important;
}

body.fs-pdp-active #fs-app .buy .spare.rec .spare-add {
  width: 100% !important;
  max-width: 100% !important;
  border: 1px solid var(--black) !important;
  background: #fff !important;
  border-radius: 99px !important;
  padding: 8px 12px !important;
  min-height: 34px !important;
  font: 700 12px/1 var(--disp) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  color: var(--black) !important;
  box-shadow: none !important;
  transform: none !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease !important;
}

body.fs-pdp-active #fs-app .buy .spare.rec .spare-add:hover,
body.fs-pdp-active #fs-app .buy .spare.rec .spare-add:focus-visible,
body.fs-pdp-active #fs-app .buy .spare.rec .spare-add.done,
body.fs-pdp-active #fs-app .buy .spare.rec .spare-add[aria-pressed='true'] {
  background: var(--black) !important;
  color: #fff !important;
  border-color: var(--black) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.fs-pdp-active #fs-app .spare-add:hover,
body.fs-pdp-active #fs-app .spare-add.done {
  background: var(--black) !important;
  color: #fff !important;
  border-color: var(--black) !important;
}

body.fs-pdp-active #fs-app .pg-a:hover {
  background: rgba(255, 255, 255, 0.85) !important;
  color: inherit !important;
}

body.fs-pdp-active #fs-app .pc .pc-add {
  display: grid !important;
  place-items: center !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: var(--black) !important;
  color: #fff !important;
  cursor: pointer !important;
  font: 400 18px/1 var(--body) !important;
  flex: none !important;
  box-shadow: none !important;
  transform: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

body.fs-pdp-active #fs-app .pc .pc-add span {
  display: block !important;
  line-height: 1 !important;
}

body.fs-pdp-active #fs-app .pc .pc-add:hover {
  background: #000 !important;
  color: #fff !important;
  transform: none !important;
  box-shadow: none !important;
}

body.fs-pdp-active .shopify-section:not(.fs-product-main) .jdgm-widget,
body.fs-pdp-active #shopify-section-product-recommendations .jdgm-widget {
  display: none !important;
}

body.fs-pdp-active #fs-app #reviews .jdgm-review-widget {
  display: block !important;
  margin-top: 8px;
}

body.fs-pdp-active #fs-app #reviews .jdgm-review-widget .jdgm-rev-widg__header,
body.fs-pdp-active #fs-app #reviews .jdgm-review-widget .jdgm-widget-actions,
body.fs-pdp-active #fs-app #reviews .jdgm-review-widget .jdgm-write-rev-link,
body.fs-pdp-active #fs-app #reviews .jdgm-review-widget .jdgm-ask-question-btn {
  display: none !important;
}

body.fs-pdp-active #fs-app #reviews .fs-reviews-proto {
  display: block;
}

/* Section headings below fold — left align, prototype .d2 */
body.fs-pdp-active #fs-app .sechead,
body.fs-pdp-active #fs-app .sechead h2.d2 {
  text-align: left !important;
}

body.fs-pdp-active #fs-app .sechead h2.d2 {
  font-family: var(--disp, 'Barlow Condensed', sans-serif) !important;
  font-weight: 700 !important;
  font-style: normal !important;
  text-transform: uppercase !important;
  font-size: clamp(24px, 3.2vw, 38px) !important;
  line-height: 1 !important;
  letter-spacing: 0.005em !important;
  color: var(--black) !important;
  margin: 0 !important;
}

/* Prototype v3.199: lede line-height matches static build (~1.55 at 15px) */
body.fs-pdp-active #fs-app .sec .lede {
  line-height: 1.55 !important;
}

body.fs-pdp-active #fs-app .sechead .btn.ghost.sm {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  align-self: flex-end !important;
}

body.fs-pdp-active #fs-app .buy-actions .btn.wide {
  width: 100% !important;
}

body.fs-pdp-active #fs-app .buy-actions .btn:not(.wide) {
  width: auto !important;
}

body.fs-pdp-active #fs-app .btn.ghost.sm,
body.fs-pdp-active #fs-app .qadd,
body.fs-pdp-active #fs-app button.lnk,
body.fs-pdp-active #fs-app .spare-add,
body.fs-pdp-active #fs-app .pc-add {
  width: auto !important;
  max-width: 100% !important;
}

/* .fvb excluded above — width:auto was collapsing the strap text column on narrow viewports */
body.fs-pdp-active #fs-app .fvb {
  flex: none !important;
  width: 76px !important;
  height: 56px !important;
  max-width: 76px !important;
}

/* ---- Features band (.feats) — prototype isolation from theme ---- */
body.fs-pdp-active #fs-app .feats {
  background: var(--grey) !important;
  border-top: 1px solid var(--line) !important;
  border-bottom: 1px solid var(--line) !important;
}

body.fs-pdp-active #fs-app .feats .in {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(16px, 2.6vw, 36px) !important;
  max-width: var(--maxw) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: clamp(26px, 3.4vw, 44px) var(--edge) !important;
  box-sizing: border-box !important;
}

@media (max-width: 820px) {
  body.fs-pdp-active #fs-app .feats .in {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }
}

body.fs-pdp-active #fs-app .feats .in:first-child {
  padding-bottom: clamp(22px, 2.8vw, 34px) !important;
}

body.fs-pdp-active #fs-app .feats .specrow {
  display: block !important;
  border-top: 1px solid var(--line) !important;
  padding-top: clamp(22px, 2.8vw, 32px) !important;
  padding-bottom: clamp(26px, 3.4vw, 44px) !important;
}

body.fs-pdp-active #fs-app .feats .f b {
  display: block !important;
  font-family: var(--disp) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-size: clamp(24px, 3vw, 38px) !important;
  line-height: 0.94 !important;
  letter-spacing: -0.005em !important;
  color: var(--black) !important;
  margin: 0 !important;
}

body.fs-pdp-active #fs-app .feats .f b span {
  display: block !important;
}

body.fs-pdp-active #fs-app .feats .f i {
  display: block !important;
  width: 34px !important;
  height: 3px !important;
  background: var(--cyan) !important;
  margin: 11px 0 10px !important;
  border: none !important;
}

body.fs-pdp-active #fs-app .feats .f:nth-child(2) i {
  background: var(--yellow) !important;
}

body.fs-pdp-active #fs-app .feats .f:nth-child(3) i {
  background: var(--pink) !important;
}

body.fs-pdp-active #fs-app .feats .f:nth-child(4) i {
  background: var(--lime) !important;
}

body.fs-pdp-active #fs-app .feats .f p {
  margin: 0 !important;
  font-size: 14px !important;
  color: var(--mid) !important;
  line-height: 1.5 !important;
  max-width: 32ch !important;
  font-weight: 400 !important;
}

body.fs-pdp-active #fs-app .feats .f-lk {
  display: inline-block !important;
  margin-top: 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  font: 600 13.5px/1.35 var(--body) !important;
  color: var(--black) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  cursor: pointer !important;
  text-align: left !important;
}

body.fs-pdp-active #fs-app .feats .f-lk:hover,
body.fs-pdp-active #fs-app .feats .f-lk:focus-visible {
  color: var(--sea-3, #0e7c86) !important;
}

/* Water rating popup — prototype .wrm-* */
body.fs-pdp-active #mdl .wrm-top {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  margin-top: 10px !important;
}

body.fs-pdp-active #mdl .wrm-r {
  background: var(--black) !important;
  color: #fff !important;
  border-radius: 16px !important;
  padding: 14px 16px !important;
  text-align: center !important;
  min-width: 96px !important;
}

body.fs-pdp-active #mdl .wrm-r b {
  display: block !important;
  font: 700 40px/1 var(--disp) !important;
  color: #fff !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}

body.fs-pdp-active #mdl .wrm-r span {
  font: 700 13px var(--disp) !important;
  letter-spacing: 0.08em !important;
  color: var(--cyan, #3fc7ea) !important;
}

body.fs-pdp-active #mdl .wrm-n {
  margin: 0 0 8px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  color: var(--black) !important;
}

body.fs-pdp-active #mdl .wrm-acts {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 6px !important;
}

body.fs-pdp-active #mdl .wrm-acts li {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  border: 1.5px solid var(--line) !important;
  border-radius: 10px !important;
  padding: 8px 10px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  margin: 0 !important;
}

body.fs-pdp-active #mdl .wrm-acts li svg {
  width: 18px !important;
  height: 18px !important;
  flex: none !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.7 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.fs-pdp-active #mdl .wrm-acts li span {
  flex: 1 !important;
}

body.fs-pdp-active #mdl .wrm-acts li em {
  font-style: normal !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

body.fs-pdp-active #mdl .wrm-acts li.y {
  border-color: #bfe3d0 !important;
  background: #eef8f2 !important;
  color: var(--black) !important;
}

body.fs-pdp-active #mdl .wrm-acts li.y em {
  color: #1d6b2a !important;
}

body.fs-pdp-active #mdl .wrm-acts li.n {
  color: #9aa2a7 !important;
}

body.fs-pdp-active #mdl .wrm-acts li.n em {
  color: #9aa2a7 !important;
}

body.fs-pdp-active #mdl .wrm-tip {
  margin: 8px 0 0 !important;
  font-size: 13px !important;
  color: var(--mid) !important;
  font-weight: 400 !important;
}

body.fs-pdp-active #mdl .wrm-h {
  font: 700 20px/1 var(--disp) !important;
  text-transform: uppercase !important;
  margin: 22px 0 10px !important;
  color: var(--black) !important;
}

body.fs-pdp-active #mdl .wrm-tw {
  overflow-x: auto !important;
}

body.fs-pdp-active #mdl .wrm-t {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 14px !important;
  background: #fff !important;
}

body.fs-pdp-active #mdl .wrm-t th,
body.fs-pdp-active #mdl .wrm-t td {
  padding: 9px 8px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  text-align: center !important;
  background: #fff !important;
  vertical-align: middle !important;
}

body.fs-pdp-active #mdl .wrm-t thead th {
  font: 700 16px var(--disp) !important;
  vertical-align: bottom !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: var(--black) !important;
}

body.fs-pdp-active #mdl .wrm-t th small {
  display: block !important;
  font: 700 10px var(--body) !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--sea-3, #0e7c86) !important;
}

body.fs-pdp-active #mdl .wrm-t tbody th {
  text-align: left !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 14px !important;
  color: var(--black) !important;
}

body.fs-pdp-active #mdl .wrm-t .on {
  background: #eef7f8 !important;
}

body.fs-pdp-active #mdl .wrm-y svg {
  width: 18px !important;
  height: 18px !important;
  fill: none !important;
  stroke: var(--sea-3, #0e7c86) !important;
  stroke-width: 2.4 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  vertical-align: middle !important;
}

body.fs-pdp-active #mdl .wrm-no {
  color: #c9ced2 !important;
}

body.fs-pdp-active #mdl .wrm-care {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}

body.fs-pdp-active #mdl .wrm-care li {
  display: flex !important;
  gap: 10px !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
  padding: 12px !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: var(--mid) !important;
  font-weight: 400 !important;
  margin: 0 !important;
}

body.fs-pdp-active #mdl .wrm-care li b {
  display: block !important;
  color: var(--black) !important;
  font-size: 14px !important;
  margin-bottom: 2px !important;
}

body.fs-pdp-active #mdl .wrm-i {
  flex: none !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  background: var(--grey) !important;
  display: grid !important;
  place-items: center !important;
}

body.fs-pdp-active #mdl .wrm-i svg {
  width: 20px !important;
  height: 20px !important;
  fill: none !important;
  stroke: var(--black) !important;
  stroke-width: 1.6 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.fs-pdp-active #mdl .wrm-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 20px !important;
}

body.fs-pdp-active #mdl .vh {
  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;
}
  font-weight: 600 !important;
  color: var(--ink) !important;
  text-decoration: underline !important;
}

@media (max-width: 640px) {
  body.fs-pdp-active #mdl .wrm-top {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body.fs-pdp-active #mdl .wrm-r {
    display: flex !important;
    align-items: baseline !important;
    gap: 8px !important;
    justify-content: center !important;
  }

  body.fs-pdp-active #mdl .wrm-care {
    grid-template-columns: 1fr !important;
  }

  body.fs-pdp-active #mdl .wrm-t {
    font-size: 13px !important;
  }

  body.fs-pdp-active #mdl .wrm-t th,
  body.fs-pdp-active #mdl .wrm-t td {
    padding: 8px 4px !important;
  }
}

body.fs-pdp-active #fs-app .feats .specrow .lab {
  font-family: var(--disp) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  font-size: 11px !important;
  color: var(--soft) !important;
  margin-bottom: 16px !important;
}

/* Description Read more + spec/desc tabs — beat legacy theme button:hover */
body.fs-pdp-active #fs-app .dmore,
body.fs-pdp-active #fs-app button.dmore {
  appearance: none !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-top: 8px !important;
  min-height: 0 !important;
  height: auto !important;
  width: auto !important;
  cursor: pointer !important;
  font: 700 14px/1.4 var(--body) !important;
  color: var(--black) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  text-decoration-color: var(--cyan) !important;
  text-decoration-thickness: 2px !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

body.fs-pdp-active #fs-app .dmore:hover,
body.fs-pdp-active #fs-app .dmore:focus,
body.fs-pdp-active #fs-app .dmore:focus-visible,
body.fs-pdp-active #fs-app button.dmore:hover,
body.fs-pdp-active #fs-app button.dmore:focus,
body.fs-pdp-active #fs-app button.dmore:focus-visible {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  color: var(--sea-3, #2c6f7a) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  text-decoration-color: currentColor !important;
  text-decoration-thickness: 2px !important;
}

body.fs-pdp-active #fs-app .dtabs button {
  background: none !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -1px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 0 9px !important;
  cursor: pointer !important;
  font-family: var(--disp, 'Barlow Condensed', sans-serif) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--soft) !important;
}

body.fs-pdp-active #fs-app .dtabs button[aria-selected='true'] {
  color: var(--black) !important;
  border-bottom-color: var(--cyan) !important;
}

body.fs-pdp-active #fs-app .dtabs button:hover,
body.fs-pdp-active #fs-app .dtabs button:focus,
body.fs-pdp-active #fs-app .dtabs button:focus-visible {
  background: none !important;
  box-shadow: none !important;
  transform: none !important;
  color: var(--black) !important;
}

body.fs-pdp-active #fs-app .dtabs button[aria-selected='true']:hover,
body.fs-pdp-active #fs-app .dtabs button[aria-selected='true']:focus-visible {
  border-bottom-color: var(--cyan) !important;
}

/* Description body links — match prototype .prose a, beat legacy theme link blue */
body.fs-pdp-active #fs-app .dx a {
  color: var(--sea-3, #2c6f7a) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  font-weight: inherit !important;
}

body.fs-pdp-active #fs-app .dx a:hover,
body.fs-pdp-active #fs-app .dx a:focus-visible {
  color: var(--sea-2, #4e9aa4) !important;
  text-decoration-thickness: 2px !important;
}

body.fs-pdp-active #fs-app .feats .spec-links {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 6px 18px !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  font-size: 13.5px !important;
  line-height: 1.4 !important;
}

body.fs-pdp-active #fs-app .feats .spec-links a.pol,
body.fs-pdp-active #fs-app .feats .spec-links a.pol:link,
body.fs-pdp-active #fs-app .feats .spec-links a.pol:visited {
  display: inline !important;
  font-family: var(--body) !important;
  font-weight: 400 !important;
  font-size: 13.5px !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: var(--ink) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
  text-decoration-color: currentColor !important;
  transition: text-decoration-thickness 0.15s ease, color 0.15s ease !important;
}

body.fs-pdp-active #fs-app .feats .spec-links a.pol:hover,
body.fs-pdp-active #fs-app .feats .spec-links a.pol:focus-visible {
  color: var(--ink) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
}

/* Inline water modal trigger in spec grid — same as .pol links (v3.199 prototype parity) */
body.fs-pdp-active #fs-app .feats .facts .spec-modal-btn {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  text-align: left !important;
  display: inline !important;
  font-family: var(--body) !important;
  font-weight: 400 !important;
  font-size: 13.5px !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: var(--ink) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
  text-decoration-color: currentColor !important;
}
body.fs-pdp-active #fs-app .feats .facts .spec-modal-btn:hover,
body.fs-pdp-active #fs-app .feats .facts .spec-modal-btn:focus-visible {
  text-decoration-thickness: 2px !important;
}

body.fs-pdp-active #fs-app .feats .facts.six {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  gap: 22px 28px !important;
  grid-template-columns: unset !important;
}

body.fs-pdp-active #fs-app .feats .facts.six > div {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
}

body.fs-pdp-active #fs-app .feats .facts b {
  display: block !important;
  font-family: var(--disp) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: var(--black) !important;
}

body.fs-pdp-active #fs-app .feats .facts .tx > span {
  display: block !important;
  font-size: 13px !important;
  color: var(--soft) !important;
  margin-top: 4px !important;
  line-height: 1.25 !important;
}

body.fs-pdp-active #fs-app .feats .facts svg {
  width: 26px !important;
  height: 26px !important;
  flex: none !important;
  stroke: var(--black) !important;
  fill: none !important;
  stroke-width: 1.55 !important;
}

@media (max-width: 1120px) {
  body.fs-pdp-active #fs-app .feats .facts.six {
    justify-content: flex-start !important;
    gap: 22px 40px !important;
  }
}

@media (max-width: 620px) {
  body.fs-pdp-active #fs-app .feats .facts.six {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 20px !important;
  }
}

/* ---- Parts for this watch (.pfw) ---- */
body.fs-pdp-active #fs-app .pfw.sec {
  padding: var(--pad) 0 !important;
  box-sizing: border-box !important;
}

body.fs-pdp-active #fs-app .pfw.sec.grey {
  background: var(--grey) !important;
}

body.fs-pdp-active #fs-app .pfw .wrap {
  max-width: var(--maxw) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--edge) !important;
  padding-right: var(--edge) !important;
  box-sizing: border-box !important;
}

body.fs-pdp-active #fs-app .pfw .sechead {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  margin-bottom: clamp(16px, 2vw, 24px) !important;
}

body.fs-pdp-active #fs-app .pfw .sechead h2.d2 {
  font-family: var(--disp) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-size: clamp(24px, 3.2vw, 38px) !important;
  line-height: 1 !important;
  letter-spacing: 0.005em !important;
  color: var(--black) !important;
  margin: 0 !important;
}

body.fs-pdp-active #fs-app .pfw .sechead .lede {
  color: var(--mid) !important;
  font-size: clamp(15px, 1.3vw, 17px) !important;
  max-width: 62ch !important;
  margin: 6px 0 0 !important;
  line-height: 1.55 !important;
}

body.fs-pdp-active #fs-app .pfw .sechead a.btn.ghost.sm,
body.fs-pdp-active #fs-app .pfw .sechead .btn.ghost.sm {
  padding: 9px 16px !important;
  font-size: 13.5px !important;
  font-family: var(--disp) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  border-radius: 999px !important;
  flex: none !important;
  align-self: flex-end !important;
  background: transparent !important;
  color: var(--black) !important;
  border: 2px solid var(--line) !important;
  box-shadow: none !important;
}

body.fs-pdp-active #fs-app .pfw .sechead a.btn.ghost.sm:hover,
body.fs-pdp-active #fs-app .pfw .sechead .btn.ghost.sm:hover {
  background: var(--grey-2) !important;
  color: var(--black) !important;
  border-color: var(--black) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.fs-pdp-active #fs-app .pfw .p3 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: stretch !important;
}

@media (min-width: 901px) {
  body.fs-pdp-active #fs-app .pfw .p3.n2,
  body.fs-pdp-active #fs-app .pfw .p3:has(.pc:nth-child(2):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 820px !important;
    align-items: stretch !important;
  }
}

@media (max-width: 900px) {
  body.fs-pdp-active #fs-app .pfw .p3,
  body.fs-pdp-active #fs-app .pfw .p3.n2,
  body.fs-pdp-active #fs-app .pfw .p3:has(.pc:nth-child(2):last-child) {
    grid-template-columns: 1fr !important;
    max-width: none !important;
  }
}

body.fs-pdp-active #fs-app .pfw .pc {
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: 16px !important;
  padding: 12px !important;
  min-width: 0 !important;
  height: auto !important;
  align-self: stretch !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body.fs-pdp-active #fs-app .pfw .pc > .pc-lk {
  flex: none !important;
  align-self: center !important;
  display: block !important;
  text-decoration: none !important;
}

body.fs-pdp-active #fs-app .pfw .pc .im {
  width: 84px !important;
  flex: none !important;
  aspect-ratio: 1 !important;
  background: var(--grey) !important;
  border-radius: 12px !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
}

body.fs-pdp-active #fs-app .pfw .pc .im img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 6px !important;
}

body.fs-pdp-active #fs-app .pfw .pc .im.bz {
  background: #fff !important;
}

body.fs-pdp-active #fs-app .pfw .pc .im.bz img {
  padding: 0 !important;
  object-fit: cover !important;
}

body.fs-pdp-active #fs-app .pfw .pc .tx {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 4px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  justify-content: flex-start !important;
  align-self: center !important;
}

body.fs-pdp-active #fs-app .pfw .pc .tx .ptag {
  margin: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  text-align: left !important;
  line-height: 1.25 !important;
}

body.fs-pdp-active #fs-app .pfw .pc .tx > b {
  font-family: var(--body) !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  color: var(--black) !important;
}

body.fs-pdp-active #fs-app .pfw .pc .tx > b a {
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 700 !important;
  letter-spacing: inherit !important;
  text-transform: none !important;
  color: inherit !important;
  text-decoration: none !important;
}

body.fs-pdp-active #fs-app .pfw .pc .tx > b a:hover {
  text-decoration: underline !important;
}

body.fs-pdp-active #fs-app .pfw .pc .jstars {
  display: flex !important;
  align-items: center !important;
  gap: 2px !important;
  height: 12px !important;
  min-height: 12px !important;
  margin: 0 !important;
}

body.fs-pdp-active #fs-app .pfw .pc .jstars i {
  width: 12px !important;
  height: 12px !important;
  flex: none !important;
  background: #d9dde0 !important;
  clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%) !important;
}

body.fs-pdp-active #fs-app .pfw .pc .jstars.on i {
  background: var(--yellow, #fbcd0a) !important;
}

body.fs-pdp-active #fs-app .pfw .pc .jstars em {
  font-style: normal !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: var(--soft) !important;
  margin-left: 4px !important;
  line-height: 12px !important;
}

body.fs-pdp-active #fs-app .pfw .pc .jstars .js-n,
body.fs-pdp-active #fs-app .pfw .pc .jstars .js-0 {
  display: none !important;
}

@media (max-width: 640px) {
  body.fs-pdp-active #fs-app .pfw .pc .jstars {
    height: auto !important;
  }

  body.fs-pdp-active #fs-app .pfw .pc .jstars .js-n {
    display: inline !important;
    font: 700 12px/12px var(--body) !important;
    color: var(--black) !important;
    margin-right: 3px !important;
  }

  body.fs-pdp-active #fs-app .pfw .pc .jstars i:nth-of-type(n + 2) {
    display: none !important;
  }

  body.fs-pdp-active #fs-app .pfw .pc .jstars .js-0 {
    display: inline !important;
  }
}

body.fs-pdp-active #fs-app .pfw .pc small {
  flex: 0 0 auto !important;
  margin: 0 !important;
  font-size: 12.5px !important;
  color: var(--mid) !important;
  line-height: 1.3 !important;
}

body.fs-pdp-active #fs-app .pfw .pc .row.pc-row .pc-add {
  align-self: center !important;
}

body.fs-pdp-active #fs-app .pfw .pc .row.pc-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  margin: 4px 0 0 !important;
  padding: 0 !important;
  gap: 8px !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
  float: none !important;
  zoom: normal !important;
}

body.fs-pdp-active #fs-app .pfw .pc .row.pc-row::before,
body.fs-pdp-active #fs-app .pfw .pc .row.pc-row::after {
  display: none !important;
  content: none !important;
}

body.fs-pdp-active #fs-app .pfw .pc .row.pc-row .pc-pr {
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  color: var(--black) !important;
  margin: 0 !important;
  padding: 0 4px 0 0 !important;
  text-align: left !important;
}

body.fs-pdp-active #fs-app .pfw .pc .row.pc-row .pc-pr .cbb-currency,
body.fs-pdp-active #fs-app .pfw .pc .row.pc-row .pc-pr * {
  font-weight: inherit !important;
  font-size: inherit !important;
  color: inherit !important;
}

body.fs-pdp-active #fs-app .pfw .pc .row.pc-row .pc-add,
body.fs-pdp-active #fs-app .pfw .pc .row.pc-row .pc-so {
  flex: 0 0 auto !important;
  margin: 0 !important;
  width: 32px !important;
  max-width: 32px !important;
  min-width: 32px !important;
}

body.fs-pdp-active #fs-app .pfw .pc .row.pc-row .pc-so {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
}

body.fs-pdp-active #fs-app .pfw .ptag {
  align-self: flex-start !important;
  display: inline-flex !important;
  border-radius: 99px !important;
  padding: 3px 9px !important;
  font: 700 11px/1.2 var(--body) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

body.fs-pdp-active #fs-app .pfw .ptag.o {
  background: var(--sea-3) !important;
  color: #fff !important;
}

body.fs-pdp-active #fs-app .pfw .ptag.t {
  background: var(--grey-2) !important;
  color: var(--mid) !important;
}

body.fs-pdp-active #fs-app .pfw .pc-so {
  font-style: normal !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: var(--soft) !important;
}
body.fs-pdp-active #fs-app .pdp > * {
  min-width: 0;
}

body.fs-pdp-active #fs-app .pp-cswipe .famrow {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  scroll-snap-type: x proximity !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior-x: contain !important;
  gap: 8px !important;
  padding: 2px 2px 4px !important;
}

body.fs-pdp-active #fs-app .pp-cswipe .famrow::-webkit-scrollbar {
  display: none !important;
}

body.fs-pdp-active #fs-app .pp-cswipe .famrow.more {
  padding-right: 28px !important;
  -webkit-mask-image: linear-gradient(90deg, #000 82%, transparent) !important;
  mask-image: linear-gradient(90deg, #000 82%, transparent) !important;
}

body.fs-pdp-active #fs-app .pp-cswipe .fam {
  flex: 0 0 84px !important;
  scroll-snap-align: start !important;
}

body.fs-pdp-active #fs-app .facts.trust {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px 26px !important;
  margin-top: 22px !important;
}

body.fs-pdp-active #fs-app .facts.trust > div {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  min-width: 0 !important;
}

body.fs-pdp-active #fs-app .facts.trust svg {
  width: 26px !important;
  height: 26px !important;
  flex: none !important;
  stroke: var(--black) !important;
  fill: none !important;
  stroke-width: 1.55 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  display: block !important;
}

body.fs-pdp-active #fs-app .facts.trust .tx {
  min-width: 0 !important;
  display: block !important;
  margin-top: 0 !important;
  font-size: inherit !important;
  color: inherit !important;
  line-height: inherit !important;
}

body.fs-pdp-active #fs-app .facts.trust b,
body.fs-pdp-active #fs-app .facts.trust b a.pol {
  display: block !important;
  font-family: var(--disp) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  font-size: 14px !important;
  line-height: 1 !important;
  color: var(--black) !important;
}

body.fs-pdp-active #fs-app .facts.trust .tx > span,
body.fs-pdp-active #fs-app .facts.trust .tx > span a.pol {
  display: block !important;
  font-family: var(--body) !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  color: var(--soft) !important;
  margin-top: 4px !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

body.fs-pdp-active #fs-app .facts.trust a.pol {
  color: inherit !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}

body.fs-pdp-active #fs-app .facts.trust a.pol:hover {
  text-decoration-thickness: 2px !important;
}

/* ---- Part PDP horizontal rails (.pt-rail) — prototype partCard + card() ---- */
body.fs-pdp-active #fs-app .rail-t.pt-rail .card.rv {
  height: 100% !important;
}

body.fs-pdp-active #fs-app .rail-t.pt-rail .card.rv:hover {
  border-color: #cfd4d8 !important;
  box-shadow: 0 6px 20px rgba(17, 19, 21, 0.07) !important;
}

body.fs-pdp-active #fs-app .rail-t.pt-rail .card.rv h3 {
  font-family: var(--body) !important;
  font-weight: 600 !important;
  font-size: 14.5px !important;
}

body.fs-pdp-active #fs-app .rail-t.pt-rail .card.rv .foot .pr {
  font-size: 15.5px !important;
}

body.fs-pdp-active #fs-app .rail-t.pt-rail .card.rv .lp-fit {
  font-family: var(--body) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: var(--soft) !important;
  margin: -2px 0 6px !important;
  line-height: 1.35 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

body.fs-pdp-active #fs-app .rail-t.pt-rail .card.rv .lp-so {
  font: 600 12px/1 var(--body) !important;
  color: var(--soft) !important;
}

body.fs-pdp-active #fs-app .rail-t.pt-rail .card.rv .tx {
  gap: 6px !important;
  padding: 11px 12px 12px !important;
}

/* ---- More watches grid (.card.rv) ---- */
body.fs-pdp-active #fs-app .sec[data-fs-more-watches] .sechead h2.d2 {
  font-family: var(--disp, 'Barlow Condensed', sans-serif) !important;
  font-weight: 700 !important;
  font-style: normal !important;
  text-transform: uppercase !important;
  font-size: clamp(24px, 3.2vw, 38px) !important;
  line-height: 1 !important;
  letter-spacing: 0.005em !important;
  color: var(--black) !important;
  margin: 0 !important;
}

body.fs-pdp-active #fs-app .sec[data-fs-more-watches] .grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(10px, 1.4vw, 18px) !important;
}

@media (max-width: 1000px) {
  body.fs-pdp-active #fs-app .sec[data-fs-more-watches] .grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  body.fs-pdp-active #fs-app .sec[data-fs-more-watches] .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}

body.fs-pdp-active #fs-app .card.rv {
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r) !important;
  overflow: hidden !important;
  min-width: 0 !important;
  opacity: 1 !important;
  transform: none !important;
  position: relative !important;
}

body.fs-pdp-active #fs-app .card.rv:not(.lpc):not(.bzc) .im {
  display: block !important;
  position: relative !important;
  aspect-ratio: 1 !important;
  background: var(--grey) !important;
  padding: 8px !important;
}

body.fs-pdp-active #fs-app .card.rv:not(.lpc):not(.bzc) .im img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

/* Part / strap kit cards (.lpc, .bzc) — prototype sizing, not watch squares */
body.fs-pdp-active #fs-app .card.rv.lpc .im,
body.fs-pdp-active #fs-app .card.rv.bzc .im {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  aspect-ratio: 1 / 1 !important;
  padding: 10px !important;
  box-sizing: border-box !important;
}

body.fs-pdp-active #fs-app .card.rv.lpc .im img,
body.fs-pdp-active #fs-app .card.rv.lpc .im img.lpc-img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: min(66%, 190px) !important;
  max-height: 190px !important;
  object-fit: contain !important;
  object-position: center !important;
  flex: 0 0 auto !important;
}

body.fs-pdp-active #fs-app .card.rv.bzc .im img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  padding: 0 !important;
}

body.fs-pdp-active #fs-app .card.rv .wh {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  z-index: 3 !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  border: 0 !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 1px 4px rgba(17, 19, 21, 0.12) !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
  padding: 0 !important;
}

body.fs-pdp-active #fs-app .card.rv .wh svg {
  width: 18px !important;
  height: 18px !important;
  stroke: var(--black) !important;
  fill: none !important;
  stroke-width: 1.8 !important;
}

body.fs-pdp-active #fs-app .card.rv .wh[aria-pressed='true'] svg {
  fill: var(--pink) !important;
  stroke: var(--pink) !important;
}

body.fs-pdp-active #fs-app .card.rv .tx {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  padding: 10px 12px 12px !important;
  gap: 4px !important;
}

body.fs-pdp-active #fs-app .card.rv .meta {
  font-size: 11.5px !important;
  color: var(--soft) !important;
  letter-spacing: 0.02em !important;
}

body.fs-pdp-active #fs-app .card.rv h3 {
  font-family: var(--body, Inter, sans-serif) !important;
  font-size: 14.5px !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  font-weight: 600 !important;
  font-style: normal !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  color: var(--black) !important;
}

body.fs-pdp-active #fs-app .card.rv h3 a {
  color: inherit !important;
  text-decoration: none !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

body.fs-pdp-active #fs-app .card.rv .foot {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-top: auto !important;
  padding-top: 6px !important;
}

body.fs-pdp-active #fs-app .card.rv .foot .pr {
  font-weight: 700 !important;
  font-size: 14px !important;
}

body.fs-pdp-active #fs-app .card.rv .im {
  position: relative !important;
}

body.fs-pdp-active #fs-app .card.rv .badges {
  position: absolute !important;
  top: 9px !important;
  left: 9px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  align-items: flex-start !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

body.fs-pdp-active #fs-app .card.rv .tag {
  font: 700 10px/1 var(--disp) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 4px 6px !important;
  border-radius: 4px !important;
}

body.fs-pdp-active #fs-app .card.rv .tag.yl {
  background: var(--yellow) !important;
  color: var(--black) !important;
}

body.fs-pdp-active #fs-app .card.rv .tag.nd {
  background: #111315 !important;
  color: #fff !important;
}

body.fs-pdp-active #fs-app .card.rv .foot .pr s {
  color: var(--soft) !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  margin-right: 4px !important;
}

body.fs-pdp-active #fs-app .card.rv .jstars {
  display: flex !important;
  align-items: center !important;
  gap: 2px !important;
  height: 12px !important;
  margin: 0 !important;
  min-height: 12px !important;
}

body.fs-pdp-active #fs-app .card.rv .jstars i {
  width: 12px !important;
  height: 12px !important;
  flex: none !important;
  background: #d9dde0 !important;
  clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%) !important;
}

body.fs-pdp-active #fs-app .card.rv .jstars.on i {
  background: var(--yellow) !important;
}

body.fs-pdp-active #fs-app .card.rv .jstars em {
  font-style: normal !important;
  font-size: 11px !important;
  color: var(--soft) !important;
  margin-left: 4px !important;
  line-height: 12px !important;
}

body.fs-pdp-active #fs-app .card.rv .jstars .js-n,
body.fs-pdp-active #fs-app .card.rv .jstars .js-0 {
  display: none !important;
}

@media (max-width: 640px) {
  body.fs-pdp-active #fs-app .card.rv .jstars {
    height: auto !important;
  }

  body.fs-pdp-active #fs-app .card.rv .jstars .js-n {
    display: inline !important;
    font: 700 12px/12px var(--body) !important;
    color: var(--black) !important;
    margin-right: 3px !important;
  }

  body.fs-pdp-active #fs-app .card.rv .jstars i:nth-of-type(n + 2) {
    display: none !important;
  }

  body.fs-pdp-active #fs-app .card.rv .jstars .js-0 {
    display: inline !important;
  }
}

body.fs-pdp-active #fs-app .card.rv .qadd {
  border: 1px solid var(--black) !important;
  background: #fff !important;
  border-radius: 999px !important;
  padding: 7px 13px !important;
  cursor: pointer !important;
  font: 700 12px/1 var(--disp) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  flex: none !important;
}

body.fs-pdp-active #fs-app .card.rv .qadd:hover:not(.dead) {
  background: var(--black) !important;
  color: #fff !important;
}

body.fs-pdp-active #fs-app .card.rv .qadd.dead {
  border-color: var(--line) !important;
  color: var(--soft) !important;
  cursor: default !important;
}

/* ============================================================
   PDP responsive — prototype v3.124 breakpoints (940 / 820 / 760 / 720 / 440)
   ============================================================ */
@media (max-width: 940px) {
  body.fs-pdp-active #fs-app .gal .stage {
    padding: 10px !important;
  }

  body.fs-pdp-active #fs-app .pdp:not(.appdp):not(.pt) .gal .stage img {
    max-height: 44vh !important;
    height: auto !important;
  }

  body.fs-pdp-active #fs-app .gal .th {
    gap: 6px !important;
    margin-top: 7px !important;
  }

  body.fs-pdp-active #fs-app .gal .th button {
    padding: 4px !important;
    max-width: 88px !important;
  }

  /* Swipe: .pg-s padding uses design clamp(8px, 1.4vw, 18px) — no mobile override */
  /* Swipe: prototype .pg-s img max-height; use 44vh to match .gal .stage img (not 48vh) */
  body.fs-pdp-active #fs-app .pp-swipe .pg-s img {
    max-height: 44vh !important;
  }

  body.fs-pdp-active #fs-app .pp-cswipe .fam {
    flex-basis: 78px !important;
    max-width: 78px !important;
  }

  body.fs-pdp-active #fs-app .buy a.stars,
  body.fs-pdp-active #fs-app .stars {
    flex-wrap: wrap !important;
    row-gap: 2px !important;
  }
}

@media (max-width: 820px) {
  body.fs-pdp-active #fs-app #reviews .rv-top {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }

  body.fs-pdp-active #fs-app #reviews .rv-cta {
    flex-direction: row !important;
  }

  body.fs-pdp-active #fs-app #reviews .rv-cta .btn {
    flex: 1 !important;
    justify-content: center !important;
  }

  body.fs-pdp-active #fs-app #reviews .rv-flt {
    margin-left: 0 !important;
    width: 100% !important;
  }

  body.fs-pdp-active #fs-app #reviews .rv-avg {
    flex-direction: row !important;
    align-items: baseline !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
  }

  body.fs-pdp-active #fs-app #reviews .rv-avg b {
    font-size: 44px !important;
  }
}

@media (max-width: 760px) {
  body.fs-pdp-active #fs-app .pp-sum > summary {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 6px 10px !important;
  }

  body.fs-pdp-active #fs-app .pp-sum .pp-sl {
    display: contents !important;
  }

  body.fs-pdp-active #fs-app .pp-sum .pp-sl > b {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  body.fs-pdp-active #fs-app .pp-sum .pp-sm {
    grid-column: 2 !important;
    grid-row: 1 !important;
    max-width: none !important;
  }

  body.fs-pdp-active #fs-app .pp-sum .pp-sl > span {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    white-space: nowrap !important;
    font-size: min(14px, 3.75vw) !important;
    letter-spacing: -0.005em !important;
  }

  body.fs-pdp-active #fs-app .pp-sb .fact {
    flex-wrap: wrap !important;
    align-items: flex-start !important;
  }

  body.fs-pdp-active #fs-app .pp-sb .fact > .fvb {
    flex: 0 0 76px !important;
    width: 76px !important;
    max-width: 76px !important;
  }

  body.fs-pdp-active #fs-app .pp-sb .fact > span {
    flex: 1 1 calc(100% - 88px) !important;
    min-width: 0 !important;
  }

  body.fs-pdp-active #fs-app .pp-sb .fact > .lnk,
  body.fs-pdp-active #fs-app .pp-sb .fact > button.lnk {
    flex: 0 0 100% !important;
    padding-left: 88px !important;
    box-sizing: border-box !important;
    display: block !important;
    text-align: left !important;
  }

  body.fs-pdp-active #fs-app .pfw .sechead {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  body.fs-pdp-active #fs-app .pfw .sechead .btn.ghost.sm {
    align-self: flex-start !important;
  }
}

@media (max-width: 720px) {
  body.fs-pdp-active #fs-app .card.rv .qadd {
    padding: 10px 14px !important;
    min-height: 36px !important;
  }
}

@media (max-width: 440px) {
  body.fs-pdp-active #fs-app .facts.trust {
    grid-template-columns: 1fr 1fr !important;
    gap: 14px 12px !important;
  }

  body.fs-pdp-active #fs-app .facts.trust > div {
    gap: 8px !important;
    align-items: flex-start !important;
  }

  body.fs-pdp-active #fs-app .facts.trust svg {
    width: 22px !important;
    height: 22px !important;
  }

  body.fs-pdp-active #fs-app .facts.trust b,
  body.fs-pdp-active #fs-app .facts.trust b a.pol {
    font-size: 12.5px !important;
  }

  body.fs-pdp-active #fs-app .facts.trust .tx > span,
  body.fs-pdp-active #fs-app .facts.trust .tx > span a.pol {
    font-size: 11.5px !important;
  }
}

/* v3.134 photo viewer + main watch crop */
body.fs-pdp-active #fs-app .gal .stage {
  position: relative;
}

body.fs-pdp-active #fs-app .gal .stage img,
body.fs-pdp-active #fs-app .gal .pg-s img {
  cursor: zoom-in;
}

/* Prototype parity: no hero zoom/clip on watch PDP (fs-prototype-base .gal .stage img) */
body.fs-pdp-active #fs-app .gal img.pf {
  transform: none !important;
  clip-path: none !important;
}

body.fs-pdp-active #fs-app .pdp.pt .gal img.pf {
  transform: none !important;
  clip-path: none !important;
}

body.fs-pdp-active #fs-app .gal .zv-btn {
  position: absolute;
  right: 12px;
  top: 12px;
  width: 38px;
  height: 38px;
  min-width: 38px;
  min-height: 38px;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50%;
  border: 0 !important;
  display: grid !important;
  place-items: center !important;
  line-height: 0 !important;
  cursor: pointer;
  z-index: 2;
  background: rgba(255, 255, 255, 0.55) !important;
  backdrop-filter: blur(8px);
  box-shadow: 0 2px 10px rgba(17, 19, 21, 0.1) !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  text-transform: none !important;
  font: inherit !important;
  color: inherit !important;
  transition: background 0.13s ease, box-shadow 0.13s ease !important;
}

body.fs-pdp-active #fs-app .gal .zv-btn:hover {
  background: rgba(255, 255, 255, 0.85) !important;
  color: inherit !important;
  transform: none !important;
  box-shadow: 0 2px 10px rgba(17, 19, 21, 0.12) !important;
}

body.fs-pdp-active #fs-app .gal .pg .zv-btn {
  right: 16px;
  top: 16px;
}

body.fs-pdp-active #fs-app .gal .zv-btn svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  flex: none !important;
  fill: none;
  stroke: var(--black);
  stroke-width: 2;
  stroke-linecap: round;
  pointer-events: none;
}

.zv {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: flex;
  flex-direction: column;
  background: #fff;
  opacity: 0;
  transition: opacity 0.18s;
}

.zv.on {
  opacity: 1;
}

.zv-top {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 56px;
  padding: 0 10px 0 18px;
}

.zv-n {
  font: 700 13px/1 var(--disp);
  letter-spacing: 0.1em;
  color: var(--mid);
}

.zv-x {
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: var(--grey);
  display: grid;
  place-items: center;
  cursor: pointer;
  padding: 0;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  transition: background 0.13s ease, transform 0.13s ease;
}

.zv-x:hover {
  background: var(--grey-2, #e3e6e8);
}

.zv-x:active {
  transform: scale(0.96);
}

.zv-x:focus-visible {
  outline: 2px solid var(--black);
  outline-offset: 2px;
}

.zv-x svg,
.zv-a svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: var(--black);
  stroke-width: 2;
  stroke-linecap: round;
  pointer-events: none;
}

.zv-v {
  position: relative;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  touch-action: none;
  user-select: none;
}

.zv-t {
  display: flex;
  height: 100%;
  will-change: transform;
}

.zv-t.anim {
  transition: transform 0.28s cubic-bezier(0.32, 0.72, 0, 1);
}

.zv-s {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 8px;
  box-sizing: border-box;
}

.zv-s img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
  transform-origin: center center;
  cursor: zoom-in;
}

.zv-s img.anim {
  transition: transform 0.25s ease;
}

.zv.zoomed .zv-s img {
  cursor: zoom-out;
}

.zv-a {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  padding: 0;
  margin: 0;
  border-radius: 50%;
  border: 0;
  background: rgba(255, 255, 255, 0.85);
  box-shadow: 0 2px 12px rgba(17, 19, 21, 0.12);
  display: grid;
  place-items: center;
  line-height: 0;
  cursor: pointer;
  z-index: 2;
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  transition: background 0.13s ease, box-shadow 0.13s ease;
}

.zv-a.l {
  left: 16px;
}

.zv-a.r {
  right: 16px;
}

.zv-a:disabled {
  opacity: 0;
  pointer-events: none;
}

.zv-b {
  flex: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 8px 16px calc(14px + env(safe-area-inset-bottom));
}

.zv-th {
  display: flex;
  gap: 8px;
  justify-content: center;
  overflow-x: auto;
  scrollbar-width: none;
  max-width: 100%;
}

.zv-th button {
  flex: none;
  width: 56px;
  height: 56px;
  padding: 3px;
  border: 1.5px solid var(--line);
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
}

.zv-th button[aria-current='true'] {
  border-color: var(--black);
}

.zv-th img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.zv-tip {
  margin: 0;
  font-size: 12.5px;
  color: var(--soft);
}

.zv.zoomed .zv-tip {
  opacity: 0;
}

.zv.one .zv-a,
.zv.one .zv-th {
  display: none;
}

@media (hover: none) {
  .zv-a {
    display: none;
  }
}

/* Lightbox images must not inherit PDP gallery width:100% / tall crop */
body.fs-zv-open .zv .zv-s img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  aspect-ratio: unset !important;
}

body.fs-zv-open .zv .zv-th img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
}

/* Lightbox lives on body — beat legacy theme button / button:hover */
body.fs-zv-open .zv button {
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  text-transform: none !important;
  font: inherit !important;
}

body.fs-zv-open .zv button.zv-a {
  position: absolute !important;
  top: 50% !important;
  left: auto !important;
  right: auto !important;
  transform: translateY(-50%) !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  line-height: 0 !important;
  background: rgba(255, 255, 255, 0.85) !important;
  color: inherit !important;
  box-shadow: 0 2px 12px rgba(17, 19, 21, 0.12) !important;
  transition: background 0.13s ease, box-shadow 0.13s ease !important;
}

body.fs-zv-open .zv button.zv-a.l {
  left: 16px !important;
}

body.fs-zv-open .zv button.zv-a.r {
  right: 16px !important;
}

body.fs-zv-open .zv button.zv-a:hover,
body.fs-zv-open .zv button.zv-a:focus-visible {
  background: rgba(255, 255, 255, 0.95) !important;
  color: inherit !important;
  transform: translateY(-50%) !important;
  box-shadow: 0 2px 12px rgba(17, 19, 21, 0.18) !important;
}

body.fs-zv-open .zv button.zv-a svg {
  display: block !important;
  margin: 0 !important;
}

body.fs-zv-open .zv button.zv-x {
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: var(--grey) !important;
  color: inherit !important;
  transition: background 0.13s ease, transform 0.13s ease !important;
}

body.fs-zv-open .zv button.zv-x:hover {
  background: var(--grey-2, #e3e6e8) !important;
  color: inherit !important;
}

body.fs-zv-open .zv .zv-th button {
  padding: 3px !important;
  background: #fff !important;
  color: inherit !important;
  border: 1.5px solid var(--line) !important;
  border-radius: 10px !important;
  transition: border-color 0.13s ease !important;
}

body.fs-zv-open .zv .zv-th button:hover {
  background: #fff !important;
  color: inherit !important;
  border-color: var(--black) !important;
  transform: none !important;
}
