/* OROS storefront — own CSS, values measured from tryoros.com (ref/outline, 1440/390, 2026-10-19). */
:root {
  --font-body: 'Plus Jakarta Sans', sans-serif;
  --font-head: 'Lato', sans-serif;
  --font-serif: 'Noto Serif', Georgia, serif;
  --ink: rgba(43, 43, 43, 0.9);
  --ink-strong: rgb(43, 43, 43);
  --brand: rgb(22, 8, 84);
  --brand-2: rgb(46, 16, 121);
  --lilac: rgb(244, 241, 255);
  --muted: rgb(85, 85, 85);
  --page: 1300px;
  --gutter: 50px;
}
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
html.panel-open { overflow: hidden; }
body { margin: 0; background: #fff; color: var(--ink); font: 400 16px/1.8 var(--font-body); letter-spacing: 0.03rem; }
img, video { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button { font: inherit; cursor: pointer; }
.skip, .visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.msym { font-family: 'Material Symbols Outlined'; font-weight: 400; font-style: normal; font-size: 1.25em; line-height: 1; letter-spacing: normal; text-transform: none; display: inline-block; vertical-align: -0.22em; white-space: nowrap; word-wrap: normal; direction: ltr; -webkit-font-feature-settings: 'liga'; font-feature-settings: 'liga'; margin-right: 0.15em; color: var(--brand); }

/* ---------- countdown bar ---------- */
.countdown-bar { background: var(--brand); color: #fff; display: flex; align-items: center; justify-content: center; gap: 24px; padding: 8px 16px; font-size: 14px; line-height: 1.3; letter-spacing: .04em; text-align: center; }
.countdown-bar__text { font-weight: 700; }
.countdown-bar__time { display: flex; gap: 6px; align-items: center; font-size: 12px; }
.countdown-bar__time span { display: inline-flex; gap: 3px; align-items: baseline; background: rgba(255,255,255,.12); padding: 2px 6px; border-radius: 4px; }
.countdown-bar__time b { font-size: 15px; }
.countdown-bar__time i { font-style: normal; }

/* ---------- header (desktop 80px, phone 56px; logo 140x55 centred) ---------- */
.header-wrap { position: sticky; top: 0; z-index: 5; background: #fff; transition: box-shadow .2s; }
.header-wrap.is-scrolled { box-shadow: 0 1px 0 rgba(0,0,0,.06); }
.header { max-width: var(--page); margin: 0 auto; height: 80px; padding: 0 20px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; color: var(--ink); }
.header__menu { grid-column: 1; justify-self: start; }
.header__search { grid-column: 1; justify-self: start; margin-left: 44px; }
.header__logo { grid-column: 2; grid-row: 1; display: block; }
.header__logo img { width: 140px; height: 55px; object-fit: contain; }
.header__icons { grid-column: 3; grid-row: 1; justify-self: end; display: flex; align-items: center; }
.header__icon { position: relative; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; background: none; border: 0; color: inherit; padding: 0; }
.header__icon svg { width: 20px; height: 20px; }
.header__cart svg { width: 40px; height: 40px; }
.header__menu, .header__search { grid-row: 1; }
.cart-count { position: absolute; bottom: 6px; right: 4px; min-width: 17px; height: 17px; border-radius: 50%; background: var(--brand); color: #fff; font-size: 9px; line-height: 17px; text-align: center; letter-spacing: 0; }

.menu-drawer { position: fixed; inset: 0; z-index: 20; background: rgba(0,0,0,.35); opacity: 0; transition: opacity .25s; }
.menu-drawer.is-open { opacity: 1; }
.menu-drawer__inner { position: absolute; top: 0; left: 0; bottom: 0; width: min(363px, 88vw); background: #fff; padding: 64px 0 24px; transform: translateX(-100%); transition: transform .3s ease; display: flex; flex-direction: column; }
.menu-drawer.is-open .menu-drawer__inner { transform: none; }
.menu-drawer__close { position: absolute; top: 16px; right: 16px; background: none; border: 0; width: 32px; height: 32px; }
.menu-drawer nav a { display: block; padding: 11px 32px; font-size: 18px; text-decoration: none; border-bottom: 1px solid rgb(43,43,43); }
.menu-drawer__login { margin-top: auto; display: flex; gap: 10px; align-items: center; padding: 16px 32px; text-decoration: none; }
.menu-drawer__login svg { width: 18px; }

.search-modal { position: fixed; inset: 0 0 auto 0; z-index: 20; background: #fff; box-shadow: 0 4px 16px rgba(0,0,0,.08); padding: 22px 20px; opacity: 0; transition: opacity .2s; }
.search-modal.is-open { opacity: 1; }
.search-modal__form { max-width: 740px; margin: 0 auto; display: flex; gap: 8px; align-items: center; }
.search-modal__form .fld { flex: 1; }
.search-modal__form button { background: none; border: 0; width: 44px; height: 44px; }
.search-modal__form svg { width: 18px; height: 18px; }

/* ---------- floating label fields ---------- */
.fld { position: relative; display: block; }
.fld input, .fld textarea { width: 100%; font: inherit; font-size: 16px; color: var(--ink-strong); border: 1px solid rgba(43,43,43,.55); border-radius: 0; background: #fff; padding: 22px 15px 8px; min-height: 45px; outline: none; letter-spacing: .04rem; }
.fld textarea { min-height: 120px; resize: vertical; }
.fld span { position: absolute; left: 15px; top: 12px; font-size: 16px; color: rgba(43,43,43,.75); pointer-events: none; transition: all .12s ease; }
.fld input:focus, .fld textarea:focus { box-shadow: 0 0 0 1px rgba(43,43,43,.55); }
.fld input:focus + span, .fld textarea:focus + span, .fld.is-filled span, .fld input:not(:placeholder-shown) + span { top: 4px; font-size: 11px; }
.form-msg { margin: 8px 0 0; font-size: 14px; min-height: 0; }
.form-msg.is-error { color: rgb(196, 30, 30); }
.form-msg.is-success { color: rgb(30, 120, 60); }

/* ---------- buttons ---------- */
.btn-primary, .b-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 12px 32px; background: var(--brand); color: #fff; text-decoration: none; border: 0; border-radius: 6px; font-weight: 700; font-size: 16px; letter-spacing: .06rem; transition: transform .15s, box-shadow .15s; }
.btn-primary:hover, .b-btn:hover { box-shadow: 0 0 0 2px var(--brand); }
.b-btn[style*="rgba(244, 241, 255, 0)"], .b-btn:not([style*="background"]) { background: var(--brand); color: #fff !important; }

/* ---------- generic sections + blocks ---------- */
.sec { position: relative; overflow: hidden; }
.sec__inner { max-width: var(--page); margin: 0 auto; padding: 48px var(--gutter); display: flex; flex-direction: column; gap: 16px; }
.sec__inner--narrow { max-width: 780px; }
.b-h { margin: 0; font-family: var(--font-head); font-size: var(--fs, 32px); line-height: var(--lh, 1.25); color: var(--ink-strong); letter-spacing: .02em; word-break: break-word; }
.b-p { margin: 0; font-size: var(--fs, 16px); line-height: var(--lh, 1.8); }
.b-list { margin: 0; padding-left: 1.2em; font-size: var(--fs, 16px); line-height: var(--lh, 1.8); }
.b-list li + li { margin-top: 8px; }
.b-img { width: 100%; height: auto; margin: 0 auto; }
.b-video { width: 100%; margin: 0 auto; background: #000; object-fit: cover; border-radius: 12px; }
.b-box { padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.b-box:has(> .b-img:only-child) { padding: 0; overflow: hidden; }
.b-row { display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 24px; align-items: start; }
.b-col { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.b-btn { align-self: center; }
.b-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 740px; width: 100%; margin: 0 auto; }
.b-form .fld--full, .b-form button, .b-form .form-msg { grid-column: 1 / -1; }
.b-form button { justify-self: start; }
.b-embed iframe { display: block; }
.b-gallery { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; overflow-x: auto; scroll-snap-type: x mandatory; border-radius: 12px; scrollbar-width: none; }
.b-gallery img { scroll-snap-align: start; width: 100%; aspect-ratio: 1; object-fit: cover; }
.b-pay { list-style: none; display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.b-pay img { width: 38px; height: 24px; }
.rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(220px, 1fr); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; scrollbar-width: none; }
.rail::-webkit-scrollbar { display: none; }
.rail__item { scroll-snap-align: start; }
.rte p { margin: 0 0 1em; }
.rte img { max-width: 100%; }

/* Lander pages (advertorials/listicles built in a page builder): narrow editorial column */
.template-lander .sec__inner { max-width: 780px; padding: 24px 20px; gap: 14px; }
.template-lander .b-row { gap: 16px; }

/* ---------- PDP (desktop: media | 535px info column at x=835) ---------- */
.pdp__grid { max-width: var(--page); margin: 0 auto; padding: 36px var(--gutter) 48px; display: grid; grid-template-columns: minmax(0, 1fr) 535px; gap: 65px; align-items: start; }
.pdp__media { position: sticky; top: 100px; min-width: 0; }
.pdp__gallery { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; overflow-x: auto; scroll-snap-type: x mandatory; border-radius: 12px; scrollbar-width: none; }
.pdp__gallery::-webkit-scrollbar { display: none; }
.pdp__slide { scroll-snap-align: start; }
.pdp__slide img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.pdp__thumbs { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; margin-top: 10px; }
.pdp__thumbs button { padding: 0; border: 1px solid transparent; border-radius: 8px; overflow: hidden; background: none; }
.pdp__thumbs button.is-active { border-color: var(--brand); }
.pdp__thumbs img { aspect-ratio: 1; object-fit: cover; }
.pdp__dots { display: none; }
.pdp__info { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.pdp__info h1.b-h { font-size: 30px; line-height: 1.2; }
.pdp__info .b-p { font-size: 15px; line-height: 1.6; }

.buybox { display: flex; flex-direction: column; gap: 12px; margin: 6px 0; }
.ship-by { background: var(--lilac); border-radius: 10px; padding: 10px 14px; text-align: center; }
.ship-by p { margin: 0; color: rgb(36, 28, 58); font-size: 15px; line-height: 19.5px; }
.kb-title { margin: 6px 0 0; text-align: center; font-size: 13px; font-weight: 700; line-height: 18.2px; color: #000; letter-spacing: normal; display: flex; align-items: center; gap: 12px; }
.kb-title::before, .kb-title::after { content: ''; flex: 1; height: 2px; background: rgba(22, 8, 84, .3); }
.kb-bars { display: flex; flex-direction: column; gap: 14px; }
.kb-bar { position: relative; display: grid; grid-template-columns: 20px 1fr auto; grid-template-areas: 'r c p' 'g g g'; column-gap: 14px; align-items: center; padding: 14px 16px; min-height: 66px; border: 2px solid rgba(22, 8, 84, .3); border-radius: 10px; background: #fff; cursor: pointer; letter-spacing: normal; transition: border-color .15s, background .15s; }
.kb-bar.is-selected { border-color: var(--brand); background: rgb(227, 225, 234); }
.kb-bar input { position: absolute; opacity: 0; pointer-events: none; }
.kb-bar__radio { grid-area: r; width: 20px; height: 20px; border-radius: 50%; border: 2px solid rgba(22, 8, 84, .3); background: #fff; }
.kb-bar.is-selected .kb-bar__radio { border: 6px solid var(--brand); }
.kb-bar__content { grid-area: c; display: flex; flex-direction: column; min-width: 0; }
.kb-bar__title { font-size: 18px; line-height: 25.2px; color: #000; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.kb-bar__label { font-size: 11px; line-height: 15.4px; color: #fff; background: var(--brand); border-radius: 6px; padding: 4px 8px; font-weight: 400; }
.kb-bar__subtitle { font-size: 13px; line-height: 18.2px; color: var(--muted); }
.kb-bar__price { grid-area: p; display: flex; flex-direction: column; align-items: flex-end; }
.kb-bar__now { font-size: 18px; font-weight: 700; line-height: 25.2px; color: #000; }
.kb-bar__was { font-size: 13px; line-height: 18.2px; color: var(--muted); }
.kb-bar__badge { position: absolute; top: -12px; right: 14px; background: var(--brand); color: #fff; font: 700 12px/12px sans-serif; padding: 6px 10px; border-radius: 6px; }
.kb-bar__gift { grid-area: g; display: flex; justify-content: space-between; margin-top: 10px; padding: 8px 12px; border-radius: 8px; background: var(--lilac); font-size: 13px; font-weight: 700; color: var(--brand); }
.kb-bar__gift s { color: var(--muted); font-weight: 400; }
.kb-sub { display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: center; padding: 12px 16px; min-height: 67px; background: rgb(251, 244, 255); border: 2px dashed rgb(22, 9, 82); border-radius: 10px; cursor: pointer; letter-spacing: normal; }
.kb-sub input { position: absolute; opacity: 0; }
.kb-sub__box { width: 20px; height: 20px; border: 2px solid var(--brand); border-radius: 4px; background: #fff; position: relative; }
.kb-sub input:checked + .kb-sub__box { background: var(--brand); }
.kb-sub input:checked + .kb-sub__box::after { content: ''; position: absolute; left: 5px; top: 1px; width: 5px; height: 10px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.kb-sub strong { font-size: 15px; line-height: 21px; color: #000; }
.kb-sub small { font-size: 11px; line-height: 15.4px; color: var(--muted); }
.atc { width: 100%; min-height: 60px; border: 0; border-radius: 10px; background: var(--brand); color: #fff; font-size: 19px; line-height: 22.8px; letter-spacing: .02em; }
.atc:hover { background: var(--brand-2); }
.price { margin: 0; font-size: 22px; font-weight: 700; color: var(--brand); }
.price s { color: var(--muted); font-size: 16px; font-weight: 400; }

.accordions { margin-top: 8px; }
.acc { border-bottom: 2px dashed rgba(22, 8, 84, .35); }
.acc summary { list-style: none; display: flex; align-items: center; justify-content: space-between; padding: 12px 10px; cursor: pointer; }
.acc summary::-webkit-details-marker { display: none; }
.acc summary h2 { margin: 0; font: 700 18px/1.3 var(--font-head); color: var(--ink-strong); }
.acc__icon { width: 14px; height: 14px; position: relative; }
.acc__icon::before, .acc__icon::after { content: ''; position: absolute; left: 0; right: 0; top: 6px; height: 2px; background: currentColor; transition: transform .2s; }
.acc__icon::after { transform: rotate(90deg); }
.acc[open] .acc__icon::after { transform: rotate(0); }
.acc__body { padding: 0 10px 16px; font-size: 15px; line-height: 1.7; }

.sticky-atc { position: fixed; left: 0; right: 0; bottom: 0; z-index: 4; background: #fff; box-shadow: 0 -4px 16px rgba(0,0,0,.08); display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px max(20px, calc((100vw - 1166px) / 2)); }
.sticky-atc h4 { margin: 0; font: 700 19px/1.2 var(--font-head); color: var(--ink-strong); }
.sticky-atc p { margin: 0; font-size: 16px; }
.sticky-atc [data-sticky-price] { color: var(--brand); font-weight: 700; font-size: 18px; }
.sticky-atc s { font-weight: 700; }
.sticky-atc__save { margin-left: 8px; font-size: 13px; }
.sticky-atc .atc { width: auto; min-height: 52px; padding: 0 44px; }

/* ---------- collection / search / cart page ---------- */
.collection .sec__inner, .cart-page .sec__inner { padding-top: 36px; }
.collection__title { margin: 0 0 24px; font: 700 39px/1.2 var(--font-head); color: var(--ink-strong); }
.grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.card a { text-decoration: none; }
.card__media { position: relative; aspect-ratio: 1; overflow: hidden; border-radius: 12px; background: #f6f6f6; }
.card__media img { width: 100%; height: 100%; object-fit: cover; transition: opacity .3s; }
.card__alt { position: absolute; inset: 0; opacity: 0; }
.card:hover .card__alt { opacity: 1; }
.badge { position: absolute; left: 12px; bottom: 12px; background: var(--brand); color: #fff; font-size: 12px; padding: 2px 12px; border-radius: 40px; }
.card__title { margin: 12px 0 4px; font: 400 16px/1.4 var(--font-body); color: var(--ink-strong); }
.card__price { margin: 0; font-size: 16px; }
.card__price s { color: var(--muted); margin-right: 6px; }
.search-page { max-width: 480px; margin-bottom: 16px; }
.cart-page__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.cart-page__head h1 { margin: 0; font: 700 39px/1.2 var(--font-head); color: var(--ink-strong); }
.cart-page__foot { margin-top: 24px; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.cart-page__empty { text-align: center; padding: 48px 0; }

/* ---------- cart drawer ---------- */
.cart-drawer { position: fixed; inset: 0; z-index: 30; }
.cart-drawer__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.5); opacity: 0; transition: opacity .25s; }
.cart-drawer.is-open .cart-drawer__overlay { opacity: 1; }
.cart-drawer__inner { position: absolute; top: 0; right: 0; bottom: 0; width: min(450px, 100vw); background: #fff; display: flex; flex-direction: column; transform: translateX(100%); transition: transform .3s ease; }
.cart-drawer.is-open .cart-drawer__inner { transform: none; }
.cart-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid rgba(43,43,43,.1); }
.cart-drawer__head h2 { margin: 0; font: 700 22px/1.2 var(--font-head); color: var(--ink-strong); }
.cart-drawer__head button { background: none; border: 0; width: 32px; height: 32px; padding: 6px; }
.cart-drawer__urgency { background: var(--lilac); padding: 10px 20px; text-align: center; font-size: 14px; }
.cart-drawer__urgency p { margin: 0; }
.cart-drawer__body { flex: 1; min-height: 0; overflow-y: auto; padding: 8px 20px 40px; }
.cart-drawer__empty { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; text-align: center; }
.cart-drawer__empty h2 { font: 700 26px/1.2 var(--font-head); color: var(--ink-strong); margin: 0; }
.cart-drawer__foot { border-top: 1px solid rgba(43,43,43,.1); padding: 16px 20px 20px; display: flex; flex-direction: column; gap: 10px; }
.cart-drawer__sub { display: flex; justify-content: space-between; font-size: 18px; font-weight: 700; color: var(--ink-strong); width: 100%; }
.cart-drawer__checkout { width: 100%; min-height: 56px; font-size: 18px; border-radius: 10px; }
.cart-drawer__note { margin: 0; text-align: center; font-size: 13px; color: var(--muted); }
.cl { display: grid; grid-template-columns: 80px 1fr auto; gap: 14px; padding: 16px 0; border-bottom: 1px solid rgba(43,43,43,.08); align-items: start; letter-spacing: normal; }
.cl__img { display: block; width: 80px; height: 80px; border-radius: 8px; overflow: hidden; background: #f4f4f4; }
.cl__img img { width: 100%; height: 100%; object-fit: cover; }
.cl__title { display: block; font-size: 15px; font-weight: 700; line-height: 1.35; text-decoration: none; color: var(--ink-strong); margin: 0; }
.cl__meta, .cl__tag { margin: 2px 0 0; font-size: 13px; line-height: 1.4; color: var(--muted); }
.cl__tag { color: var(--brand); font-weight: 700; }
.cl__row { display: flex; gap: 14px; align-items: center; margin-top: 8px; font-size: 13px; }
.cl__remove { background: none; border: 0; padding: 0; text-decoration: underline; color: var(--muted); font-size: 13px; }
.cl__price { display: flex; flex-direction: column; align-items: flex-end; font-weight: 700; font-size: 15px; }
.cl__price s { color: var(--muted); font-weight: 400; font-size: 13px; }
.cl--gift .cl__img { background: var(--lilac); }

/* ---------- footer (bg rgb(22,8,84)) ---------- */
.footer { background: var(--brand); color: rgba(255,255,255,.9); }
.footer__inner { max-width: var(--page); margin: 0 auto; padding: 48px var(--gutter) 24px; }
.footer__social { list-style: none; display: flex; gap: 20px; margin: 0 0 32px; padding: 0; font-size: 14px; }
.footer__social a { text-decoration: none; }
.footer__cols { display: grid; grid-template-columns: 1fr 1fr 1.4fr; gap: 40px; }
.footer h2 { margin: 0 0 16px; font: 700 18px/1.3 var(--font-head); color: #fff; letter-spacing: .02em; }
.footer__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 15px; }
.footer__col a { text-decoration: none; }
.footer__col a:hover { text-decoration: underline; }
.newsletter { position: relative; max-width: 360px; }
.newsletter .fld input { background: transparent; border-color: rgba(255,255,255,.55); color: #fff; }
.newsletter .fld span { color: rgba(255,255,255,.75); }
.newsletter button[type=submit] { position: absolute; right: 0; top: 0; width: 45px; height: 45px; background: none; border: 0; color: #fff; }
.newsletter button svg { width: 14px; height: 10px; }
.footer__bottom { margin-top: 40px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.15); display: flex; flex-direction: column; align-items: center; gap: 12px; }
.footer__pay { list-style: none; margin: 0; padding: 0; display: flex; gap: 8px; }
.footer__pay img { width: 38px; height: 24px; }
.footer__copy { margin: 0; font-size: 11px; }
.footer__copy a { text-decoration: none; }

/* ---------- tablet (750–989, measured at 820) ---------- */
@media (min-width: 750px) and (max-width: 989px) {
  :root { --gutter: 32px; }
  .pdp__grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ---------- phone (<750, measured at 390) ---------- */
@media (max-width: 749px) {
  :root { --gutter: 15px; }
  body { font-size: 15px; }
  .countdown-bar { flex-direction: column; gap: 4px; font-size: 12px; padding: 6px 10px; }
  .header { height: 56px; padding: 0 8px; }
  .header__logo img { width: 110px; height: 43px; }
  .header__account { display: none; }
  .header__search { margin-left: 36px; }
  .b-h { font-size: var(--fsm, calc(var(--fs, 32px) * .75)); }
  .b-p, .b-list { font-size: var(--fsm, var(--fs, 15px)); }
  .sec__inner { padding: 32px var(--gutter); gap: 12px; }
  .b-row { grid-template-columns: 1fr; gap: 16px; }
  .b-row:has(> .b-col:nth-child(2):last-child .msym), .b-row:has(> .b-col > .b-p:only-child .msym) { grid-template-columns: repeat(var(--n), minmax(0, 1fr)); }
  .b-box { padding: 18px; }
  .b-form { grid-template-columns: 1fr; }
  .pdp__grid { grid-template-columns: 1fr; gap: 20px; padding: 0 0 32px; }
  .pdp__media { position: static; }
  .pdp__gallery { border-radius: 0; }
  .pdp__thumbs { display: none; }
  .pdp__dots { display: flex; justify-content: center; gap: 6px; margin-top: 10px; }
  .pdp__dots i { width: 6px; height: 6px; border-radius: 50%; background: rgba(22,8,84,.25); }
  .pdp__dots i.is-active { background: var(--brand); }
  .pdp__info { padding: 0 15px; }
  .pdp__info h1.b-h { font-size: 26px; }
  .ship-by p { font-size: 13.5px; line-height: 17.55px; }
  .sticky-atc { padding: 10px 15px; }
  .sticky-atc h4 { font-size: 15px; }
  .sticky-atc [data-sticky-price], .sticky-atc p { font-size: 13px; }
  .sticky-atc__save { display: none; }
  .sticky-atc .atc { min-height: 42px; padding: 0 22px; font-size: 15px; }
  .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .collection__title, .cart-page__head h1 { font-size: 29px; }
  .footer__cols { grid-template-columns: 1fr; gap: 28px; }
  .footer__inner { padding: 36px 15px 20px; }
}

/* ===== hand-built sections (sx-*) — own CSS, values measured from the store (data-src/snap) ===== */
.msym--r { font-family: 'Material Symbols Rounded'; }
.sx { position: relative; }
.sx__inner { max-width: 1440px; margin: 0 auto; padding: 52px 70px; }
.sx--dark { color: #fff; }
.sx--dark .sx-h, .sx--dark .sx-p { color: inherit; }
.sx-h { margin: 0; font-family: var(--font-head); font-size: var(--fs, 31px); line-height: 1.24; color: var(--ink-strong); letter-spacing: .02em; }
.sx-p { margin: 0; font-size: var(--fs, 16px); line-height: 1.8; letter-spacing: .03em; }
.sx-link { display: block; text-decoration: none; }
.sx-img { width: 100%; height: auto; object-fit: cover; }
.sx-video { width: 100%; object-fit: cover; border-radius: 12px; background: #000; }
.sx-hr { width: 100%; border: 0; border-top: 1px solid rgb(225, 225, 225); margin: 4px 0; }
.sx-intro { display: flex; flex-direction: column; gap: 12px; margin-bottom: 32px; }
.sx-outro { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-top: 32px; }
.sx-it { margin: 0; display: flex; align-items: center; gap: 6px; font-size: var(--fs, 15px); line-height: 1.3; }
.sx-it .msym { margin: 0; vertical-align: 0; }
.sx-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 49px; padding: 0 30px; border-radius: 8px; background: var(--brand); color: #fff; font-weight: 700; font-size: var(--fs, 16px); letter-spacing: .06em; text-decoration: none; align-self: center; transition: box-shadow .15s; }
.sx-btn:hover { box-shadow: 0 0 0 2px currentColor inset; }
.sx-btn--ghost { background: transparent; color: var(--ink-strong); box-shadow: 0 0 0 1px currentColor inset; }
.sx-btn--light { background: #fff; color: rgb(46, 42, 57); font-weight: 500; font-size: 19px; width: 100%; }
.sx-pill { display: inline-flex; align-items: center; justify-content: center; padding: 9px 14px; font-size: 10px; line-height: 13px; color: var(--muted); }
.sx-pills { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: auto; }
/* stars: own CSS mask drawing (not the theme's icon) */
.sx-stars { display: inline-block; width: 100px; height: 19px; background: var(--star); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 19'%3E%3Cg%3E%3Cpath id='s' d='M9.5 1l2.6 5.6 6.1.6-4.6 4.1 1.3 6-5.4-3.1-5.4 3.1 1.3-6L.8 7.2l6.1-.6z'/%3E%3Cuse href='%23s' x='20'/%3E%3Cuse href='%23s' x='40'/%3E%3Cuse href='%23s' x='60'/%3E%3Cuse href='%23s' x='80'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 19'%3E%3Cg%3E%3Cpath id='s' d='M9.5 1l2.6 5.6 6.1.6-4.6 4.1 1.3 6-5.4-3.1-5.4 3.1 1.3-6L.8 7.2l6.1-.6z'/%3E%3Cuse href='%23s' x='20'/%3E%3Cuse href='%23s' x='40'/%3E%3Cuse href='%23s' x='60'/%3E%3Cuse href='%23s' x='80'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat; }
.sx-rating { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.sx-byline { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; }

/* image + text (hero 650/650 at 1440, text column padded 60) */
.sx-it2 { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 70px; }
.sx-it2--rev .sx-it2__media { order: 2; }
.sx-it2__media img { width: 100%; height: auto; object-fit: cover; }
.sx-it2__text { display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; }
.sx-it2__text .sx-p { font-size: var(--fs, 14px); line-height: 1.8; }
.sx-it2__text .sx-it { justify-content: center; }
.sx--image_with_text:first-child .sx__inner { padding-top: 92px; padding-bottom: 92px; }

/* card grids */
.sx-grid { display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); gap: 20px; }
.sx-grid--rail { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: var(--cw); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
.sx-grid--rail::-webkit-scrollbar { display: none; }
.sx-grid--rail .sx-card { scroll-snap-align: start; }
.sx-card { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.sx-card .sx-h { font-size: var(--fs, 22px); }
.sx-card .sx-p { font-size: var(--fs, 15px); line-height: 1.8; }
.sx-card .sx-img { border-radius: 8px; aspect-ratio: 1; }
.sx-grid--pills { gap: 16px; }
.sx-grid--pills .sx-card { flex-direction: row; justify-content: center; align-items: center; min-height: 38px; }
.sx-grid--pills .sx-it { font-size: 13px; letter-spacing: .04em; }
.sx--custom_columns_new .sx__inner:has(.sx-grid--pills) { padding: 16px 70px; }

/* problem/solution boxes */
.sx--octa_transform .sx-intro { align-items: center; text-align: center; }
.sx--octa_transform .sx-card { padding: 24px; }
.sx--octa_transform .sx-it { font-size: 17px; line-height: 30.6px; gap: 15px; }
.sx--octa_transform .sx-outro { flex-direction: row; justify-content: center; gap: 0; }
.sx--octa_transform .sx-outro .sx-img { width: 175px; }

/* stats with bars */
.sx--stats .sx-intro { align-items: center; text-align: center; max-width: 960px; margin-left: auto; margin-right: auto; }
.sx-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 40px 80px; max-width: 900px; margin: 0 auto; }
.sx-stat { display: flex; flex-direction: column; gap: 6px; }
.sx-stat__v { font: 700 var(--fs, 34px)/1.1 sans-serif; }
.sx-stat .sx-p { line-height: 1.3; }
.sx-bar { height: 10px; border-radius: 5px; background: rgb(242, 234, 222); overflow: hidden; margin-top: 8px; }
.sx-bar i { display: block; height: 100%; border-radius: 5px; background: var(--brand); }
.sx-stats--plain { max-width: none; }

/* OROS vs Others */
.sx-vs { display: grid; grid-template-columns: 1.15fr 1fr; gap: 60px; align-items: center; max-width: 1300px; margin: 0 auto; }
.sx-vs__table { display: grid; grid-template-columns: 306px 251px; align-items: center; justify-content: center; }
.sx-vs__col { display: flex; flex-direction: column; align-items: center; border-radius: 5px; }
.sx-vs__col--ours { background: var(--brand); color: #fff; padding: 20px 0 30px; position: relative; z-index: 1; box-shadow: 0 10px 30px rgba(22, 8, 84, .25); }
.sx-vs__col--ours img { width: 135px; height: auto; margin-bottom: 12px; }
.sx-vs__col--theirs { background: #fff; border: 1px solid rgb(234, 234, 234); padding: 24px 0; }
.sx-vs__col--theirs h3 { margin: 0 0 12px; font: 400 20px/24px var(--font-head); color: #000; }
.sx-vs__row { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 15px 10px; font-size: 16px; line-height: 20.8px; text-align: center; letter-spacing: normal; }
.sx-vs__col--ours .msym { color: #fff; font-size: 24px; margin: 0; }
.sx-vs__col--theirs .msym { color: rgb(136, 136, 136); font-size: 24px; margin: 0; }
.sx-vs__col--theirs .sx-vs__row { color: #000; }
.sx--vsTable { background: var(--brand) !important; }
.sx--vsTable .sx-vs__copy { color: #fff; display: flex; flex-direction: column; gap: 18px; }
.sx-vs__copy h2 { margin: 0; font: 500 36px/1.1 var(--font-head); color: #fff; }
.sx-vs__copy ul { margin: 0; padding: 0 0 0 1.2em; font-size: 17px; line-height: 1.4; display: flex; flex-direction: column; gap: 22px; }
.sx-vs__note { margin: 0; text-align: center; font-size: 15px; }
.sx-vs__note .msym { color: #fff; }

/* FAQ */
.sx--faq .sx-intro { align-items: center; text-align: center; }
.sx-faq { max-width: 1266px; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
.sx-faq__item { background: #fff; border-radius: 6px; }
.sx-faq__item summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 22px; font: 700 18px/1.3 var(--font-head); color: var(--ink-strong); cursor: pointer; }
.sx-faq__item summary::-webkit-details-marker { display: none; }
.sx-faq__item summary i { width: 14px; height: 14px; position: relative; flex: none; }
.sx-faq__item summary i::before, .sx-faq__item summary i::after { content: ''; position: absolute; left: 0; right: 0; top: 6px; height: 2px; background: currentColor; transition: transform .2s; }
.sx-faq__item summary i::after { transform: rotate(90deg); }
.sx-faq__item[open] summary i::after { transform: rotate(0); }
.sx-faq__a { padding: 0 22px 18px; font-size: 15px; line-height: 1.7; }
.sx-faq__a p { margin: 0 0 10px; }

/* tickers (own keyframes) */
.sx--tickerImg .sx__inner, .sx--tickerText .sx__inner { max-width: none; padding: 0; }
.sx-ticker { overflow: hidden; }
.sx-ticker__track { display: flex; gap: 10px; width: max-content; animation: sx-marquee 60s linear infinite; }
.sx-ticker--img img { height: var(--h); width: var(--h); object-fit: cover; flex: none; }
.sx-ticker--text { padding: 6px 0; }
.sx-ticker--text .sx-ticker__track { gap: 40px; animation-duration: 40s; }
.sx-ticker__item { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; white-space: nowrap; }
@keyframes sx-marquee { from { transform: translateX(0) } to { transform: translateX(-25%) } }
@media (prefers-reduced-motion: reduce) { .sx-ticker__track { animation: none; } }

.sx-flow { display: flex; flex-direction: column; gap: 14px; align-items: center; text-align: center; max-width: 1300px; margin: 0 auto; }
.sx-flow .sx-img { max-width: 600px; border-radius: 12px; }

@media (max-width: 989px) {
  .sx__inner { padding: 44px 32px; }
  .sx-vs { grid-template-columns: 1fr; }
}
@media (max-width: 749px) {
  .sx__inner { padding: 36px 15px; }
  .sx-h { font-size: var(--fsm, calc(var(--fs, 31px) * .8)); }
  .sx-p, .sx-it { font-size: var(--fsm, var(--fs, 14px)); }
  .sx-it2 { grid-template-columns: 1fr; gap: 24px; }
  .sx-it2--rev .sx-it2__media { order: 0; }
  .sx--image_with_text:first-child .sx__inner { padding-top: 15px; padding-bottom: 40px; }
  .sx-grid { grid-template-columns: repeat(var(--mcols), minmax(0, 1fr)); gap: 12px; }
  .sx-grid--rail { grid-template-columns: none; grid-auto-columns: 85%; }
  .sx-grid--pills { grid-template-columns: 1fr 1fr; }
  .sx-grid--pills .sx-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .sx-stats { grid-template-columns: 1fr; gap: 28px; }
  .sx-vs__table { grid-template-columns: 1.2fr 1fr; }
  .sx-vs__row { font-size: 13px; padding: 12px 4px; }
  .sx-vs__col--ours img { width: 90px; }
  .sx-vs__copy h2 { font-size: 28px; text-align: center; }
  .sx--octa_transform .sx-it { font-size: 15px; line-height: 1.6; }
  .sx--octa_transform .sx-outro .sx-img { width: 110px; }
  .sx-ticker--img img { height: 180px; width: 180px; }
  .sx-faq__item summary { font-size: 15.6px; padding: 14px 16px; }
}

/* ===== chrome v2 (measured: header 80/56, countdown 53 under header, footer 4×310 columns) ===== */
.header-wrap { position: sticky; top: 0; z-index: 5; background: #fff; transition: transform .25s ease; }
.header-wrap.is-hidden { transform: translateY(-100%); }
.header { max-width: none; height: 80px; padding: 12px 50px; display: grid; grid-template-columns: 1fr 132.5px 1fr; align-items: center; }
.header__menu { grid-column: 1; grid-row: 1; justify-self: start; margin-left: 8px; }
.header__logo { grid-column: 2; grid-row: 1; justify-self: center; }
.header__icons { grid-column: 3; grid-row: 1; justify-self: end; display: flex; }
.header__search { margin: 0; }
.header__icon svg { width: 20px; height: 20px; }
.header__cart svg { width: 40px; height: 40px; margin: -8px; }
.cd-bar { height: 53px; background: var(--brand); color: #fff; display: flex; align-items: center; justify-content: center; gap: 5px; padding: 8px; letter-spacing: normal; }
.cd-bar__text { display: flex; flex-direction: column; align-items: center; font-size: 11px; line-height: 13px; width: 206px; text-align: center; }
.cd-bar__text strong { font-weight: 700; }
.cd-bar__time { display: flex; align-items: center; gap: 5px; }
.cd-bar__time i { font: normal 700 11px/1 var(--font-body); }
.cd-cell { width: 32px; height: 37px; border-radius: 2px; padding: 3px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; line-height: 1; }
.cd-cell b { font-size: 14px; font-weight: 700; }
.cd-cell small { font-size: 8px; }
.menu-drawer { background: rgba(255, 255, 255, .6); }
.menu-drawer__inner { width: min(400px, 90vw); padding: 0; }
.menu-drawer__head { display: flex; justify-content: space-between; align-items: center; padding: 10px; height: 66px; }
.menu-drawer__head span { font: 700 22px/1.1 var(--font-head); color: var(--ink); padding-left: 8px; }
.menu-drawer__close { position: static; width: 30px; height: 30px; border-radius: 7.5%; background: rgba(43,43,43,.05); padding: 5px; }
.menu-drawer nav { padding: 10px; }
.menu-drawer nav a { padding: 12px 8px; font-size: 16px; line-height: 20.8px; border-bottom: 1px solid rgb(43, 43, 43); }
.menu-drawer__login { margin-top: 0; padding: 20px 18px; font-size: 14px; }
.search-modal { box-shadow: none; padding: 21px 20px; }
.fld--search input { border-radius: 6px; min-height: 45px; }

.footer__inner { max-width: none; padding: 68px 70px 20px; }
.footer__cols { display: flex; gap: 20px; }
.footer__cols > .footer__col { flex: 0 0 310px; }
.footer__brand img { width: 200px; height: auto; border-radius: 12px; }
.footer__social { display: flex; gap: 0; margin: 16px 0 0 -13px; }
.footer__social a { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; color: #fff; }
.footer__social svg { width: 18px; height: 18px; }
.footer h2 { font: 700 23.4px/1.2 var(--font-head); margin: 0 0 20px; }
.footer__news h2 { font-size: 21.06px; }
.footer__col ul { gap: 10px; font-size: 14px; line-height: 25.2px; letter-spacing: .03em; }
.footer__col li:first-child a { color: #fff; }
.footer__col a { color: rgba(255, 255, 255, .9); }
.newsletter { max-width: 308px; }
.newsletter .fld input { background: var(--brand); border: 1px solid rgba(255,255,255,.55); border-radius: 6px; min-height: 45px; padding: 15px 50px 15px 15px; }
.newsletter .fld input:focus + span, .newsletter .fld.is-filled span, .newsletter .fld input:not(:placeholder-shown) + span { top: 2px; }
.footer__bottom { margin: 0; border-top: 1px solid rgba(255, 255, 255, .08); padding: 30px 20px; height: 105px; justify-content: center; gap: 6px; }
.footer__copy { font-size: 11px; line-height: 18.7px; letter-spacing: .03em; }
@media (max-width: 749px) {
  .header { height: 56px; padding: 0 3px; grid-template-columns: 1fr 90px 1fr; }
  .header__logo img { width: 90px; height: 35px; }
  .header__menu { margin-left: 0; }
  .cd-bar__text { width: auto; }
  .footer__inner { padding: 40px 15px 20px; }
  .footer__cols { flex-direction: column; gap: 32px; }
  .footer__cols > .footer__col { flex: none; }
  .footer h2 { font-size: 20.8px; }
  .footer__news h2 { font-size: 18.72px; }
  .newsletter { max-width: none; }
  .footer__bottom { height: auto; }
}

/* ===== PDP buy box v2 (measured: info col 535 @x835, media 715; bars 67/81 tall, lilac, no border) ===== */
.pdp__grid { max-width: none; padding: 36px 70px 48px; grid-template-columns: 715px 535px; gap: 50px; justify-content: center; }
.pdp__thumbs { grid-template-columns: repeat(6, 115px); gap: 10px; justify-content: center; margin-top: 10px; overflow: hidden; }
.pdp__thumbs img { width: 115px; height: 115px; }
.pdp__social { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 14.95px; line-height: 26.91px; }
.pdp__info .b-p { font-size: var(--fs, 14px); line-height: var(--lh, 1.6); }
.ship-by { background: rgb(238, 232, 255); border-radius: 10px; padding: 11px; max-width: 535px; display: flex; justify-content: center; }
.ship-by p { color: rgb(36, 28, 58); }
.kb-bars { gap: 6px; }
.kb-bar { border: 0; background: rgb(251, 244, 255); min-height: 67px; padding: 12px 16px; box-shadow: rgba(22, 9, 82, .3) 0 0 0 1px inset; }
.kb-bar:has(.kb-bar__label), .kb-bar:has(.kb-bar__badge) { min-height: 81px; }
.kb-bar.is-selected { background: rgb(191, 182, 232); box-shadow: rgb(22, 9, 82) 0 0 0 2px inset; }
.kb-bar__radio { box-sizing: border-box; border: 3px solid #fff; border-radius: 50%; background: #fff; box-shadow: rgba(22, 9, 82, .3) 0 0 0 2px; width: 20px; height: 20px; }
.kb-bar.is-selected .kb-bar__radio { border: 3px solid #fff; background: rgb(22, 9, 82); box-shadow: rgb(22, 9, 82) 0 0 0 2px; }
.kb-bar__label { border-radius: 10px; }
/* Kaching "most popular" ribbon, measured on the origin: square top, 5px bottom corners, 8px folded tabs either side */
.kb-bar__badge { top: -8px; right: 18px; padding: 6px 8px; border-radius: 0 0 5px 5px; background: rgb(22, 9, 82); }
.kb-bar__badge::before, .kb-bar__badge::after { content: ''; position: absolute; top: 0; width: 0; height: 0; border-bottom: 8px solid rgb(22, 9, 82); }
.kb-bar__badge::before { left: -8px; border-left: 8px solid transparent; }
.kb-bar__badge::after { right: -8px; border-right: 8px solid transparent; }
.kb-sub { padding: 0 16px; min-height: 67px; }
.kb-sub__box { width: 24px; height: 24px; border-radius: 0; }
.kb-sub input:checked + .kb-sub__box::after { left: 7px; top: 2px; width: 6px; height: 12px; }
.atc--main { min-height: 49px; border-radius: 8px; letter-spacing: 1px; text-transform: uppercase; }
.pdp__info .b-row:has(.msym) { display: flex; justify-content: center; gap: 24px; }
.pdp__info .b-row:has(.msym) .b-p { font-size: 14px; line-height: 18.2px; }
.acc summary { padding: 12px 10px; }
.acc summary h2 { font: 700 15.6px/19.2px var(--font-head); color: rgb(18, 18, 18); }
.acc__body { font-size: 14px; }
@media (max-width: 989px) { .pdp__grid { grid-template-columns: 1fr 1fr; padding: 24px 32px; } .pdp__thumbs { grid-template-columns: repeat(6, 1fr); } .pdp__thumbs img { width: 100%; height: auto; } }
@media (max-width: 749px) {
  .pdp__grid { grid-template-columns: 1fr; padding: 0 0 32px; gap: 16px; }
  .pdp__info .b-p { font-size: var(--fsm, 13px); }
  .pdp__social { font-size: 13px; }
  .acc summary h2 { font-size: 15.6px; }
}

/* ===== collection / 404 / contact / policies (measured) ===== */
.collection-banner { padding: 36px 70px 12px; }
.collection-banner h1 { margin: 0; font: 700 39px/1.2 var(--font-head); color: var(--ink-strong); }
.collection .sec__inner { padding-top: 12px; max-width: none; padding-left: 70px; padding-right: 70px; }
.facets { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; font-size: 14px; letter-spacing: normal; }
.facets__filters, .facets__sort { display: flex; align-items: center; gap: 20px; }
.facets__label { color: rgba(43,43,43,.85); }
.facets__d { position: relative; }
.facets__d summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 8px; }
.facets__d summary::-webkit-details-marker { display: none; }
.facets__d summary i { width: 7px; height: 7px; border-right: 1.2px solid; border-bottom: 1.2px solid; transform: rotate(45deg) translateY(-2px); }
.facets__pop { position: absolute; z-index: 3; top: 30px; left: 0; width: 350px; background: #fff; border: 1px solid rgba(43,43,43,.1); border-radius: 10px; box-shadow: 0 6px 24px rgba(0,0,0,.08); }
.facets__head { display: flex; justify-content: space-between; padding: 13px 20px; border-bottom: 1px solid rgba(43,43,43,.1); }
.facets__head a { color: rgba(22, 8, 84, .85); }
.facets__opt { display: flex; gap: 10px; align-items: center; padding: 10px 20px; }
.facets__opt--off { opacity: .5; }
.facets__price { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 16px 20px; }
.facets__apply { margin: 0 20px 16px; min-height: 40px; }
.facets__sort select { border: 0; font: inherit; background: none; color: inherit; }
.facets__count { color: rgba(43,43,43,.75); }
.grid { gap: 20px; }
.badge--save { top: 12px; left: 12px; bottom: auto; font-size: 12px; font-weight: 700; border-radius: 40px; padding: 4px 12px; }
.card__title { font: 700 16.9px/1.3 var(--font-head); letter-spacing: .02em; }
.card__price span { font-weight: 400; }
.card__atc { width: 100%; margin-top: 12px; min-height: 45px; border: 0; border-radius: 8px; background: var(--brand); color: #fff; font: 700 16px/1 var(--font-body); }
.nf-code { text-align: center; opacity: .7; margin: 0; font-size: 16px; }
.nf-title { --fs: 52px; text-align: center; }
.sec--404 .sec__inner { padding: 72px 20px; align-items: center; }
.nl-sec { background: rgb(244, 241, 255); }
.nl-sec__inner { max-width: 1440px; margin: 0 auto; padding: 68px 90px; text-align: center; }
.nl-sec h2 { margin: 0 0 20px; font: 700 39px/48px var(--font-head); color: var(--ink-strong); }
.nl-sec p { margin: 0 auto 24px; max-width: 700px; font-size: 16px; line-height: 28.8px; }
.nl-sec__form { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.nl-sec__form .fld { width: 358px; max-width: 100%; }
.nl-sec__form .fld input { background: rgb(244, 241, 255); border-radius: 6px; }
.nl-sec__form .btn-primary { width: 360px; max-width: 100%; }
/* contact: purple heading, 726px column, full-width Send */
body:has(.b-form[data-form=contact]) .sec__inner { max-width: 866px; }
body:has(.b-form[data-form=contact]) h1.b-h, body:has(.b-form[data-form=contact]) h2.b-h { color: rgb(109, 56, 139); }
.b-form[data-form=contact] { max-width: 726px; }
.b-form[data-form=contact] button { justify-self: stretch; width: 100%; min-height: 49px; border-radius: 6px; }
/* policies: 721px column */
body.template-policy .sec__inner { max-width: 861px; padding-top: 36px; }
body.template-policy h1.b-h { --fs: 39px; margin-bottom: 0; }
body.template-policy h3.b-h { --fs: 23.4px; }
@media (max-width: 749px) {
  .collection-banner { padding: 24px 15px 8px; } .collection-banner h1 { font-size: 29px; }
  .collection .sec__inner { padding-left: 15px; padding-right: 15px; }
  .facets { flex-wrap: wrap; gap: 12px; } .facets__pop { width: 300px; }
  .nl-sec__inner { padding: 48px 15px; } .nl-sec h2 { font-size: 30px; line-height: 1.2; }
  body.template-policy .b-p { font-size: 15px; }
}

/* ===== round-2 templates: icon split, tabs, timeline, proven (measured) ===== */
.sx-intro--c { align-items: center; text-align: center; }
.sx-split__h { text-align: center; margin-bottom: 40px; color: #fff; }
.sx-split { display: flex; align-items: center; justify-content: space-between; gap: 40px; max-width: 1320px; margin: 0 auto; }
.sx-split__grid { flex: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 50px 30px; padding-bottom: 52px; }
.sx-split__item { display: flex; flex-direction: column; gap: 10px; font-weight: 700; font-size: 15px; color: #fff; }
.sx-split__item .msym { font-size: 40px; color: #fff; margin: 0; }
.sx-split__img { width: var(--w); max-width: 45%; height: auto; border-radius: 12px; align-self: flex-end; }
.sx--iconSplit .sx__inner { padding: 52px 50px 0; }
.sx-tabs { display: inline-flex; gap: 6.5px; padding: 4px; border: 1px solid #fff; border-radius: 11.8px; margin: 0 auto 32px; }
.sx--tabs .sx__inner { display: flex; flex-direction: column; max-width: 1200px; padding: 36px 50px; }
.sx-tab { min-width: 137px; height: 38px; padding: 0 16px; border: 0; border-radius: 9px; background: transparent; color: #fff; font: 700 14px/1 var(--font-body); cursor: pointer; }
.sx-tab.is-active { background: #fff; color: rgb(46, 42, 57); }
.sx-panel { display: grid; grid-template-columns: 515px 1fr; gap: 30px; align-items: start; max-width: 1100px; margin: 0 auto; }
.sx-panel img { width: 515px; height: auto; border-radius: 12px; }
.sx-panel__text { display: flex; flex-direction: column; gap: 12px; color: #fff; }
.sx-panel__text .sx-p { color: #fff; font-size: 15px; line-height: 1.6; text-align: left; }
.sx-tl { display: flex; gap: 108px; align-items: center; max-width: 1300px; margin: 0 auto; }
.sx-tl__media { flex: 0 0 628px; }
.sx-tl__media img { width: 100%; border-radius: 12px; }
.sx-tl__media--grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; flex-basis: 630px; }
.sx-tl__steps { list-style: none; margin: 0; padding: 0 0 0 36px; position: relative; flex: 1; display: flex; flex-direction: column; gap: 28px; }
.sx-tl__steps::before { content: ''; position: absolute; left: 11px; top: 8px; bottom: 8px; width: 2px; background: rgb(225, 225, 225); }
.sx-tl__steps li { position: relative; }
.sx-tl__steps .msym { position: absolute; left: -36px; top: 0; font-size: 24px; color: var(--brand); background: #fff; margin: 0; }
.sx-tl__label { margin: 0; font-size: 13px; color: var(--muted); }
.sx-tl__steps h3 { margin: 2px 0 6px; font: 700 23.4px/1.2 var(--font-head); color: var(--ink-strong); }
.sx-tl__steps p { margin: 0; font-size: 14px; line-height: 1.7; }
.sx-proven { display: flex; gap: 83px; align-items: center; max-width: 1170px; margin: 0 auto; color: #fff; }
.sx-proven__stats { display: grid; grid-template-columns: 1fr 1fr; flex: 0 0 644px; }
.sx-proven__stat { padding: 24px 20px; border-right: 1px solid rgba(255,255,255,.3); border-bottom: 1px solid rgba(255,255,255,.3); }
.sx-proven__stat:nth-child(2n) { border-right: 0; }
.sx-proven__stat:nth-child(n+3) { border-bottom: 0; }
.sx-proven__v { font: 500 40px/1.1 var(--font-body); }
.sx-proven__lbl { margin: 6px 0 2px; font-size: 14px; font-weight: 700; }
.sx-proven__sub { margin: 0; font-size: 13px; opacity: .85; }
.sx-proven__copy { flex: 0 0 430px; display: flex; flex-direction: column; gap: 14px; }
.sx-proven__copy h2 { margin: 0; font: 500 31px/1.2 var(--font-head); color: #fff; }
.sx-proven__copy p { margin: 0; font-size: 17px; line-height: 1.5; }
.sx-proven__cta { align-self: flex-start; min-width: 310px; padding: 9px 16px; border-radius: 6px; background: rgb(244, 241, 255); color: var(--brand); font: 700 13px/1.15 var(--font-body); text-align: center; text-decoration: none; text-transform: uppercase; }
.sx-proven__note { font-size: 13px !important; display: flex; align-items: center; gap: 6px; }
.sx-proven__note .msym { color: #fff; margin: 0; }
@media (max-width: 989px) {
  .sx-split, .sx-tl, .sx-proven { flex-direction: column; gap: 32px; }
  .sx-split__img { max-width: 60%; align-self: center; }
  .sx-panel { grid-template-columns: 1fr; }
  .sx-panel img { width: 100%; }
  .sx-tl__media, .sx-proven__stats, .sx-proven__copy { flex-basis: auto; width: 100%; }
}
@media (max-width: 749px) {
  .sx--iconSplit .sx__inner { padding: 36px 15px 0; }
  .sx-split__grid { gap: 28px 16px; padding-bottom: 0; }
  .sx-split__img { width: 210px; max-width: 100%; }
  .sx-tl__steps h3 { font-size: 19px; }
  .sx-proven__v { font-size: 30px; }
  .sx-proven__stat { padding: 16px 10px; }
}

/* ===== round-2 fixes ===== */
/* header: inner max 1400 centred, 1px bottom border; 67px below 990 */
.header-wrap { border-bottom: 1px solid rgba(43, 43, 43, .08); }
.header { max-width: 1400px; margin: 0 auto; padding: 12px 0; }
.header-wrap.is-hidden { transform: translateY(-80px); }
.cd-bar { letter-spacing: .03rem; padding: 8px 16px; }
.cd-cell b { line-height: 18px; }
.cd-cell small { line-height: 10px; }
@media (max-width: 989px) { .header { height: 67px; padding: 6px 12px; } }
@media (max-width: 749px) { .header { height: 56px; padding: 0 3px; } .header-wrap.is-hidden { transform: translateY(-57px); } }
/* footer: fluid columns (4×310 @1440 → 165 @820), socials in a row, padding 68/20 */
.footer__cols { gap: 20px; flex-wrap: nowrap; }
.footer__cols > .footer__col { flex: 1 1 0; max-width: 310px; min-width: 0; }
.footer__social { flex-direction: row !important; gap: 0 !important; }
.footer__copy small { font-size: 11px; }
.footer__pay li { width: 48px; height: 34px; display: flex; align-items: center; justify-content: center; }
.newsletter .fld input { min-height: 45px; height: 45px; border: 0; }
@media (max-width: 989px) {
  .footer__inner { padding: 50px 40px 20px; }
  .footer__cols > .footer__col { max-width: 165px; }
  .footer__brand img { width: 165px; }
  .footer h2 { font-size: 20.8px; }
}
@media (max-width: 749px) { .footer__cols { flex-direction: column; gap: 10px; } .footer__cols > .footer__col { max-width: none; } .footer__cols > .footer__col + .footer__col { margin-top: 24px; } }
/* PDP "Why Trust OROS" navy box after the accordions */
.pdp-trust { margin-top: 16px; padding: 24px; border-radius: 12px; background: rgb(22, 8, 84); color: #fff; }
.pdp-trust .b-h { color: #fff; --fs: 26px; text-align: center; margin-bottom: 12px; }
.pdp-trust .b-row { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px; }
.pdp-trust .b-p { color: #fff; font-size: 15px; display: flex; align-items: center; gap: 8px; }
.pdp-trust .msym { color: #fff; font-size: 18px; }
/* accordions: summaries PJS 16/400, pad 12/10, dotted dividers */
.acc { border-bottom: 1px dotted rgba(43, 43, 43, .35); }
.acc summary h2 { font: 400 16px/19.2px var(--font-body) !important; color: rgb(18, 18, 18); }
.acc__body { font-size: 16px; line-height: 1.6; }
.sx-faq__item summary { font: 500 15.6px/1.3 var(--font-body); }
.sx-faq__a { font-size: 16px; }
/* shipping row inline: icon left of 14px text */
.pdp__info .b-row:has(.msym) .b-col { flex-direction: row; align-items: center; gap: 6px; }
.pdp__info .b-row:has(.msym) .b-p { display: flex; align-items: center; gap: 6px; }
.pdp__gallery, .pdp__slide, .pdp__slide img { border-radius: 0; } /* square main images — rounded corners showed white slivers */
.pdp__thumbs { grid-template-columns: repeat(auto-fill, 115px); grid-auto-flow: column; grid-auto-columns: 115px; overflow-x: auto; justify-content: start; max-width: 627px; margin-left: auto; margin-right: auto; scrollbar-width: none; }
/* mobile: one-card carousels with arrows + dots; badges one row */
@media (max-width: 749px) {
  .sx-grid:not(.sx-grid--pills) { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 350px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .sx-grid:not(.sx-grid--pills)::-webkit-scrollbar { display: none; }
  .sx-grid:not(.sx-grid--pills) .sx-card { scroll-snap-align: center; }
  .sx-grid--pills { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .sx-grid--pills .sx-it { font-size: 8px; gap: 3px; }
  .sx-grid--pills .sx-it .msym { font-size: 14px !important; }
  .sx-grid--pills .sx-card { padding: 4px !important; min-height: 30px; }
  .sx-grid--pills .sx-card:last-child:nth-child(odd) { grid-column: auto; }
  .sx-ticker--img img { height: 250px; width: 250px; object-fit: contain; }
  .pdp__thumbs { display: grid; grid-auto-columns: 78px; max-width: 340px; padding: 0 15px; }
  .pdp__thumbs img { width: 78px; height: 78px; }
}
.sx-nav { display: none; }
@media (max-width: 749px) {
  .sx-nav { display: flex; justify-content: center; align-items: center; gap: 14px; margin-top: 14px; }
  .sx-nav button { width: 24px; height: 24px; border: 0; background: none; padding: 0; color: var(--ink-strong); cursor: pointer; }
  .sx-nav i { width: 8px; height: 8px; border-radius: 50%; background: rgba(43,43,43,.25); }
  .sx-nav i.is-active { background: var(--ink-strong); }
}
/* contact heading colour, 404 title, policy padding */
.sec h1.b-h[style*="Contact"], body:has(.b-form[data-form=contact]) .b-h { color: rgb(109, 56, 139) !important; }
.b-form[data-form=contact] .fld input { min-height: 45px; }
.b-form[data-form=contact] .fld--full textarea { min-height: 100px; }
.nf-title { --fs: 39px; }
.sec--404 .sec__inner { padding-top: 70px; }
body.template-policy .sec__inner { padding-top: 0; }

/* home featured product (measured: media 585 @x70, info 575 @x725, h1 27px) */
.pdp__grid--featured { grid-template-columns: 585px 575px; gap: 70px; padding: 52px 70px; }
.pdp__title { --fs: 27px; }
.pdp__bullets { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 14px; line-height: 18.2px; color: rgb(43,43,43); }
.pdp__bullets li { display: flex; align-items: center; gap: 4px; }
.pdp__bullets .msym { font-size: 18.2px; margin: 0; }
.pdp__secure { margin: 4px 0 0; text-align: center; font-size: 14px; }
.pdp__trustrow { display: flex; justify-content: center; gap: 24px; font-size: 14px; line-height: 18.2px; }
.pdp__trustrow span { display: inline-flex; align-items: center; gap: 6px; }
.pdp__trustrow .msym { margin: 0; font-size: 18px; }
.pdp-trust__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pdp-trust__grid .b-p { display: flex; align-items: center; gap: 8px; color: #fff; font-size: 15px; }
@media (max-width: 989px) { .pdp__grid--featured { grid-template-columns: 1fr 1fr; padding: 40px 32px; gap: 32px; } }
@media (max-width: 749px) { .pdp__grid--featured { grid-template-columns: 1fr; padding: 0 0 32px; gap: 16px; } .pdp__trustrow { font-size: 12px; } }

/* collection (measured): centred title Lato 16.9/700, sale price 16/700 brand then compare 13/700 struck */
.card { text-align: center; }
.card__price { display: flex; justify-content: center; align-items: baseline; gap: 8px; }
.card__price span { font-weight: 700; color: var(--brand); font-size: 16px; }
.card__price s { color: var(--muted); font-size: 13px; font-weight: 700; margin: 0; }
.badge--save { display: inline-flex; align-items: center; gap: 4px; height: 23px; }
.facets__mbtn { display: none; }
@media (max-width: 749px) {
  .collection-banner h1 { text-align: center; font-size: 29.25px; }
  .facets__mbtn { display: block; width: 100%; min-height: 44px; margin-bottom: 12px; border: 1px solid rgba(43,43,43,.45); border-radius: 6px; background: #fff; font: inherit; font-size: 14px; }
  .facets { display: none; } .facets.is-open { display: flex; }
  .card { border: 1px solid rgba(43, 43, 43, .45); border-radius: 3px; padding-bottom: 10px; }
  .card__media { border-radius: 3px 3px 0 0; }
  .card__atc { width: calc(100% - 16px); margin: 10px 8px 0; }
}
/* cart drawer (measured): 400w, "Your Cart" Lato 31.2/700, navy urgency bar, 74px thumbs with shadow,
   qty stepper, free-unit line, Savings/Subtotal rows, 49px button, guarantee note */
.cart-drawer__inner { width: min(400px, 100vw); }
.cart-drawer__head h2 { font-size: 31.2px; }
.cart-drawer__urgency { background: var(--brand); color: #fff; font-size: 14px; padding: 13px 20px; }
.cl { grid-template-columns: 74px 1fr auto; }
.cl__img { width: 74px; height: 74px; box-shadow: 3px 3px 10px rgba(0,0,0,.05); }
.cl__title { font: 700 17.25px/1.25 var(--font-head); }
.cl__step { display: inline-flex; align-items: center; border: 1px solid rgb(120,120,120); border-radius: 6px; background: rgb(244,241,255); height: 27px; }
.cl__step span { min-width: 30px; text-align: center; font-size: 13px; }
.cl__step button { width: 30px; height: 25px; border: 0; background: none; cursor: pointer; font-size: 15px; color: var(--ink-strong); }
.cl__trash { border: 0; background: none; padding: 2px; cursor: pointer; color: var(--muted); }
.cl__price { font-weight: 400; font-size: 16px; }
.cl__save { color: rgb(109, 56, 139); font-size: 12px; }
.cl__tag { display: inline-block; margin-top: 4px; padding: 2px 8px; border-radius: 10px; background: var(--lilac); color: var(--brand); font-size: 11px; font-weight: 700; }
.cart-drawer__rows { display: flex; flex-direction: column; gap: 6px; }
.cart-drawer__rows > div { display: flex; justify-content: space-between; }
.cart-drawer__savings { color: rgb(109, 56, 139); font-size: 14px; }
.cart-drawer__sub { font-size: 18.4px; font-weight: 400; color: var(--brand); }
.cart-drawer__checkout { min-height: 49px; border-radius: 8px; letter-spacing: 1px; }
.cart-drawer__note { display: flex; align-items: center; justify-content: center; gap: 6px; color: var(--ink); }

/* ===== 4-month page sections (measured) ===== */
.sx--logos .sx__inner { padding: 60px 70px; }
.sx-logos { display: flex; justify-content: center; align-items: center; gap: 80px; flex-wrap: wrap; }
.sx-logos img { height: 30px; width: auto; }
.sx-it--img { gap: 12px; }
.sx-it--img img { width: 44px; height: 44px; object-fit: contain; flex: none; }
.sx-it2--all_solution { background: rgb(236, 235, 244); border-radius: 24px; padding: 48px; gap: 64px; max-width: 1200px; margin: 0 auto; }
.sx-it2--all_solution .sx-it2__text, .sx-it2--microneedling_solution .sx-it2__text, .sx-it2--unlock_potential .sx-it2__text { align-items: flex-start; text-align: left; }
.sx-it2--all_solution .sx-h, .sx-it2--microneedling_solution .sx-h { font-size: 36px; color: var(--brand); text-align: left !important; }
.sx-it2--microneedling_solution { gap: 55px; max-width: 1200px; margin: 0 auto; }
.sx-it2--unlock_potential { background: var(--brand); border-radius: 8px; max-width: 1200px; margin: 0 auto; padding: 0 0 0 48px; color: #fff; grid-template-columns: 1fr 300px; }
.sx-it2--unlock_potential .sx-h, .sx-it2--unlock_potential .sx-p { color: #fff; text-align: left !important; }
.sx-mrail { display: grid; grid-auto-flow: column; grid-auto-columns: 226px; gap: 20px; justify-content: center; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.sx-mrail video, .sx-mrail img { width: 226px; height: 402px; object-fit: contain; border-radius: 12px; background: #000; scroll-snap-align: start; }
.sx-ba { display: grid; grid-template-columns: 1fr 450px; gap: 60px; align-items: center; max-width: 1200px; margin: 0 auto; }
.sx-ba__copy { display: flex; flex-direction: column; gap: 14px; }
.sx-ba__frame { position: relative; aspect-ratio: 1; border-radius: 12px; overflow: hidden; }
.sx-ba__frame > img, .sx-ba__before img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sx-ba__before { position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.sx-ba__l, .sx-ba__r { position: absolute; top: 12px; padding: 4px 12px; border-radius: 40px; background: rgba(255,255,255,.9); font-size: 12px; font-weight: 700; color: var(--brand); }
.sx-ba__l { left: 12px; } .sx-ba__r { right: 12px; }
.sx-ba__frame input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; margin: 0; }
.sx-ba__handle { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 3px; background: #fff; transform: translateX(-50%); pointer-events: none; box-shadow: 0 0 6px rgba(0,0,0,.3); }
.sx-steps { display: grid; grid-template-columns: 560px 1fr; gap: 80px; align-items: center; max-width: 1200px; margin: 0 auto; }
.sx-steps__media img { width: 100%; border-radius: 24px; background: rgb(243, 244, 246); box-shadow: 0 10px 30px rgba(0,0,0,.08); }
.sx-steps__body .sx-h { font-size: 36px; font-weight: 800; }
.sx-steps__list { display: flex; flex-direction: column; gap: 16px; }
.sx-steps__card { background: rgb(249, 250, 251); border-radius: 16px; padding: 32px; display: flex; flex-direction: column; gap: 8px; }
.sx-steps--journey { grid-template-columns: 527px 1fr; }
.sx-steps--journey .sx-steps__card { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 4px 20px; padding: 16px; border-radius: 14px; background: #fff; }
.sx-steps--journey .sx-steps__card .sx-img { width: 100px; height: 100px; border-radius: 10px; }
@media (max-width: 989px) { .sx-ba, .sx-steps, .sx-steps--journey { grid-template-columns: 1fr; gap: 32px; } .sx-it2--unlock_potential { grid-template-columns: 1fr; padding: 32px; } }
@media (max-width: 749px) {
  .sx-logos { gap: 28px; } .sx-logos img { height: 22px; }
  .sx-it2--all_solution { padding: 24px; } .sx-it2--all_solution .sx-h, .sx-it2--microneedling_solution .sx-h, .sx-steps__body .sx-h { font-size: 26px; }
  .sx-mrail { justify-content: start; grid-auto-columns: 200px; } .sx-mrail video, .sx-mrail img { width: 200px; height: 356px; }
  .sx-steps__card { padding: 20px; }
}

.pdp4__rating { display: flex; align-items: center; gap: 6px; font-size: 18.4px; }
.pdp4__count { font-size: 14px; color: var(--muted); }
.pdp4__h1 { --fs: 30px; }
.pdp4__price { margin: 0; font: 700 32px/1.2 var(--font-body); color: var(--brand); }
.pdp4__bullets { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 27px; color: var(--brand); font-size: 18px; }
.pdp4__bullets li { display: flex; align-items: center; gap: 10px; }
.pdp4__bullets img { width: 20px; height: 20px; }
.pdp4__once { background: none; border: 0; color: var(--brand); text-decoration: underline; font: 400 14px/1.4 var(--font-body); cursor: pointer; margin-top: 4px; }
.pdp4__social { background: rgb(249, 248, 255); border-radius: 8px; padding: 18px; display: flex; flex-direction: column; gap: 10px; font-size: 14px; color: rgb(70, 83, 102); }
.pdp4__avatars { display: flex; align-items: center; }
.pdp4__avatars img { width: 35px; height: 35px; border-radius: 50%; border: 2px solid #fff; margin-left: -10px; object-fit: cover; }
.pdp4__avatars img:first-child { margin-left: 0; }
.pdp4__avatars span { margin-left: 8px; font-size: 12px; color: rgb(43, 59, 85); font-weight: 700; }
.pdp4__social p { margin: 0; }
.pdp4__guar { display: flex; justify-content: center; gap: 20px; font-size: 12px; color: rgb(70, 83, 102); }
.pdp4__guar span { display: inline-flex; align-items: center; gap: 6px; }

/* ===== round-2 remaining: vs table, octa, image+text, hero ===== */
.sx--vsTable { background: linear-gradient(122deg, rgb(65, 48, 142), rgb(22, 8, 84) 55%) !important; }
.sx-vs__col--ours { background: rgb(22, 8, 84); }
.sx-vs__col--ours .sx-vs__row + .sx-vs__row, .sx-vs__col--theirs .sx-vs__row + .sx-vs__row { border-top: 1px solid rgba(255, 255, 255, .15); }
.sx-vs__col--theirs .sx-vs__row + .sx-vs__row { border-top-color: rgb(234, 234, 234); }
.sx-vs__copy h2 { font-size: 35px; font-weight: 700; }
.sx-vs__copy ul { list-style: none; padding: 0; }
.sx-vs__copy li { display: flex; align-items: center; gap: 10px; }
.sx-vs__copy li .msym { color: #fff; margin: 0; }
.sx-btn--light { max-width: 475px; min-height: 54px; }
@media (max-width: 989px) { .sx-vs__copy { order: -1; } }
.sx--octa_transform .sx-intro .sx-p:first-child { display: inline-flex; align-self: center; padding: 8px 20px; border-radius: 40px; background: rgba(255, 255, 255, .12); }
.sx--octa_transform .sx-card:nth-child(2) { background: rgb(22, 8, 84) !important; box-shadow: 0 0 39px rgba(241, 237, 223, .5); }
.sx--octa_transform .sx-it { line-height: 34px; }
.sx--image_with_text:not(:first-child) .sx__inner { padding-top: 0; padding-bottom: 0; }
.sx--image_with_text:not(:first-child) .sx-it2 { grid-template-columns: 1fr 520px; gap: 60px; }
.sx--image_with_text:not(:first-child) .sx-it2--rev { grid-template-columns: 520px 1fr; }
.sx--image_with_text:not(:first-child) .sx-it2__media img { width: 520px; border-radius: 12px; }
.sx--image_with_text:not(:first-child) .sx-h { --fs: 23px; font-weight: 700 !important; }
.sx-trusted { display: flex; align-items: center; gap: 8px; font-size: 14.95px; line-height: 26.91px; }
.sx--image_with_text:first-child .sx-it2 { grid-template-columns: 650px 650px; gap: 0; justify-content: center; }
.sx--image_with_text:first-child .sx-it2__text { padding: 60px 70px 70px; }
.sx--image_with_text:first-child .sx-it2__media img { width: 650px; }
@media (max-width: 1399px) { .sx--image_with_text:first-child .sx-it2 { grid-template-columns: 1fr 1fr; } .sx--image_with_text:first-child .sx-it2__media img { width: 100%; } }
@media (max-width: 749px) {
  .sx--image_with_text:not(:first-child) .sx-it2, .sx--image_with_text:not(:first-child) .sx-it2--rev, .sx--image_with_text:first-child .sx-it2 { grid-template-columns: 1fr; gap: 20px; }
  .sx--image_with_text:not(:first-child) .sx-it2__media img { width: 100%; }
  .sx--image_with_text:first-child .sx-it2__text { padding: 0 15px; }
  .sx-vs__copy h2 { font-size: 28px; }
}

/* ===== round-3 fixes ===== */
/* type: headings ls .78px, body .48px; PDP accordion titles Lato 15.6/700; PDP trust labels 400 */
.sx-h, .b-h { letter-spacing: .78px; }
.sx-p, .b-p, .b-list { letter-spacing: .48px; }
.acc summary h2 { font: 700 15.6px/19.2px var(--font-head) !important; color: rgb(18, 18, 18); }
.pdp-trust .b-p, .pdp-trust .b-p strong { font-weight: 400; font-size: 15px; }
.sx-faq__a { color: #000; line-height: 28.8px; }
.sx-faq__a p, .sx-faq__a li { margin: 0 0 8px; }
/* hero: section = content box (474) centred around the 363 image */
.sx--image_with_text:first-child .sx__inner { padding-top: 36px !important; padding-bottom: 36px !important; }
@media (max-width: 749px) { .sx-trusted { font-size: 13px; line-height: 23px; } }
/* countdown is a static bar under the header now */
.cd-bar { position: relative; z-index: 1; }
/* header: 50px side padding, full 140px logo */
.header { padding: 12px 50px; grid-template-columns: 1fr 140px 1fr; }
.header__logo img { width: 140px; }
@media (max-width: 989px) { .header { padding: 6px 12px; } }
@media (max-width: 749px) { .header { padding: 0 3px; grid-template-columns: 1fr 90px 1fr; } .header__logo img { width: 90px; } }
/* card rails: 3 visible + arrows/dots at every width */
.sx-nav--all { display: flex; justify-content: center; align-items: center; gap: 14px; margin-top: 18px; }
.sx-nav--all button { width: 24px; height: 24px; border: 0; background: none; padding: 0; color: var(--ink-strong); cursor: pointer; }
.sx-nav--all i { width: 8px; height: 8px; border-radius: 50%; background: rgba(43,43,43,.25); }
.sx-nav--all i.is-active { background: var(--ink-strong); }
.sx-grid--rail .sx-card { padding: 27px 24px !important; }
/* 820 (750–989): two-column splits stay two columns; static proof stacks; reviews 3-up; collection 2-up */
@media (min-width: 750px) and (max-width: 989px) {
  .sx-split, .sx-tl, .sx-proven { flex-direction: row; gap: 24px; }
  .sx-split__img { max-width: 40%; }
  .sx-tl__media { flex: 0 0 45%; }
  .sx-panel { grid-template-columns: 1fr 1fr; }
  .sx-stats { grid-template-columns: 1fr; }
  .sx-grid--rail { grid-auto-columns: calc((100% - 40px) / 3); }
  .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sx-ss { grid-template-columns: 1fr 1fr; }
}
/* static proof: stat rows 214px apart */
.sx-stats { row-gap: 74px; }
/* vs table: product image overlaps the panel top; h2 36/500; plain checks; cream button; table first on mobile */
.sx-vs__col--ours { padding-top: 0; margin-top: 70px; }
.sx-vs__col--ours > img { margin-top: -70px; }
.sx-vs__ot { margin: 4px 0 8px; font: 700 23.4px/1.2 var(--font-head); color: #fff; }
.sx-vs__copy h2 { font-size: 36px; font-weight: 500; letter-spacing: .78px; }
.sx-vs__copy h2 strong { font-weight: 700; color: rgb(249, 248, 255); }
.sx-btn--light { background: rgb(242, 234, 222); color: rgb(22, 8, 84); }
.sx-vs__note { text-align: left; }
@media (max-width: 989px) { .sx-vs__copy { order: 0; } }
.sx-vs__row img { width: 24px; height: 24px; }
/* 4-month reviews: navy summary card + bars; 3-column grid */
.sx-rv__head { text-align: center; margin-bottom: 28px; }
.sx-rv__eyebrow { margin: 0 0 6px; font-size: 13px; letter-spacing: 1px; text-transform: uppercase; color: var(--muted); }
.sx-rv__sum { display: grid; grid-template-columns: 300px 1fr; gap: 32px; align-items: center; max-width: 900px; margin: 0 auto 36px; }
.sx-rv__score { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 24px; border-radius: 16px; background: linear-gradient(135deg, rgb(65, 48, 142), rgb(22, 8, 84)); color: #fff; }
.sx-rv__score strong { font: 800 56px/1 var(--font-head); color: #fff; }
.sx-rv__score small { font-size: 13px; opacity: .85; }
.sx-rv__bars { display: flex; flex-direction: column; gap: 8px; }
.sx-rv__bar { display: grid; grid-template-columns: 34px 1fr 40px; gap: 10px; align-items: center; font-size: 14px; }
.sx-rv__bar i { height: 8px; border-radius: 4px; background: rgb(236, 235, 244); overflow: hidden; }
.sx-rv__bar b { display: block; height: 100%; background: var(--brand); border-radius: 4px; }
.sx-rv__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; max-width: 1300px; margin: 0 auto; }
.sx-rv__card { display: flex; flex-direction: column; gap: 10px; padding: 22px; border: 1px solid rgb(234, 234, 234); border-radius: 12px; background: #fff; }
.sx-rv__card .sx-img { border-radius: 8px; }
/* 4-month "Why Men's Skin…" split: copy + 3 stat cards | 350×330 image */
.sx-ss { display: grid; grid-template-columns: 1fr 350px; gap: 60px; align-items: center; max-width: 1200px; margin: 0 auto; }
.sx-ss__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 20px; }
.sx-ss__stat { padding: 16px; border-radius: 12px; background: #fff; box-shadow: 0 4px 16px rgba(22, 8, 84, .08); text-align: center; }
.sx-ss__img { width: 350px; height: 330px; object-fit: contain; }
@media (max-width: 749px) { .sx-rv__sum, .sx-ss { grid-template-columns: 1fr; } .sx-rv__grid { grid-template-columns: 1fr; } .sx-ss__img { width: 100%; height: auto; } .sx-logos { flex-wrap: nowrap; overflow: hidden; gap: 20px; } .sx-logos img { height: 18px; } }
/* PDP buy-box header: stars row left, description lh 23.4, bullets 24px pitch */
.pdp__social { justify-content: flex-start; }
.pdp__info .b-p { line-height: 23.4px; }
.pdp__info .b-p:has(.msym) { line-height: 18.2px; margin: 3px 0; }
/* mobile PDP thumbs 63px / 70 pitch */
@media (max-width: 749px) { .pdp__thumbs { grid-auto-columns: 63px; gap: 7px; max-width: none; } .pdp__thumbs img { width: 63px; height: 63px; } .sx-ticker--img img { height: var(--h); width: var(--h); } }
/* collection cards */
.collection-banner h1 { text-align: center; }
.card { border: 1px solid rgba(43, 43, 43, .12); border-radius: 6px; padding: 0 0 14px; background: #fff; }
.card__media { border-radius: 6px 6px 0 0; }
.card__title { padding: 0 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 20.8px; letter-spacing: .78px; }
.card__price { line-height: 22.4px; }
.card__price s { color: rgba(43, 43, 43, .9); }
.badge--save { background: rgb(43, 43, 43); border-radius: 0 6px 6px 0; left: 0; letter-spacing: 1px; }
.card__atc { width: 262px; max-width: calc(100% - 24px); min-height: 49px; line-height: 19.2px; letter-spacing: 1px; display: block; margin: 12px auto 0; }
@media (max-width: 749px) { .card__title { font-size: 13px; } .card__price span, .card__price { font-size: 13px; } .badge--save { font-size: 10px; } }
/* drawer details */
.cl { position: relative; }
.cl__trash { position: absolute; top: 14px; right: 0; }
.cl__price span { font-weight: 700; color: var(--brand); }
.cl__price { padding-top: 24px; }
.cart-drawer__checkout { min-height: 49px; }
.cart-drawer__head button { width: 44px; height: 44px; padding: 12px; }
.cart-drawer__head h2 { letter-spacing: .78px; }
.cart-drawer__urgency { padding: 11px 20px; line-height: 18.2px; }
.cart-drawer__urgency strong { font-weight: 400; }
.cart-drawer__sub { font-weight: 700; font-size: 22px; }
.cart-drawer__disc { margin: 0; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 13px; }
@media (max-width: 749px) { .cart-drawer__head h2 { font-size: 26px; } .cl__title { font-size: 15px; } .cl__meta { font-size: 12px; } }
/* policy column 721 @x359; tight title */
body.template-policy .sec__inner { max-width: 861px; padding-left: 70px; padding-right: 70px; gap: 12px; }
body.template-policy h1.b-h { margin: 0; line-height: 46px; }
body.template-policy h3.b-h { --fs: 23.4px; line-height: normal; }
/* form controls: 45px, radius 6, inset 1px line, buttons 49px radius 8 */
.fld input, .fld textarea { min-height: 45px; padding: 15px; border: 0; border-radius: 6px; box-shadow: 0 0 0 1px rgba(43, 43, 43, .55); }
.fld.is-filled input, .fld input:focus, .fld input:not(:placeholder-shown) { padding: 21px 15px 9px; }
.fld span { top: 12px; }
.btn-primary { min-height: 49px; border-radius: 8px; padding: 0 30px; }
.nl-sec { background: transparent; }
.sec--404 .sec__inner { padding-top: 70px; padding-bottom: 40px; }
/* sticky ATC thumb at desktop */
.sticky-atc__thumb { width: 52px; height: 52px; border-radius: 6px; object-fit: cover; }
@media (max-width: 749px) { .sticky-atc__thumb { display: none; } }

/* PDP benefit bullets (product page): measured on the origin — 14/18.2 desktop, 13/16.9 phone, icon 1.3em centred
   on the text block, text indented icon + 0.325em, 6px between rows; divider lines above and below the list */
.pdp__info > .b-p:has(> .msym:first-child) { position: relative; padding-left: 1.625em; font-size: 14px !important; line-height: 18.2px !important; letter-spacing: .48px !important; margin: 0; color: rgb(43, 43, 43); }
.pdp__info > .b-p:has(> .msym:first-child) + .b-p:has(> .msym:first-child) { margin-top: -6px; }
.pdp__info > .b-p:has(> .msym:first-child) .msym { position: absolute; left: 0; top: 50%; transform: translateY(-50%); margin: 0; font-size: 1.3em; line-height: 1; color: var(--brand, #160854); font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24; }
.pdp__info > .b-p:has(> .msym:first-child) strong { font-weight: 700; color: rgb(43, 43, 43); }
/* origin dividers: 1px #e1e1e1, 15px from the text above, 16px (line incl.) to the text below; the flex gap is 12px.
   (:has() can't nest inside :has(), so the closing line is drawn on whatever follows the list.) */
.pdp__info > :not(.b-p:has(> .msym:first-child)) + .b-p:has(> .msym:first-child) { margin-top: 3px; padding-top: 15px; border-top: 1px solid rgb(225, 225, 225); }
.pdp__info > .b-p:has(> .msym:first-child) + :not(.b-p:has(> .msym:first-child)) { margin-top: 3px; padding-top: 15px; border-top: 1px solid rgb(225, 225, 225); }
.pdp__info > :not(.b-p:has(> .msym:first-child)) + .b-p:has(> .msym:first-child) .msym { top: calc(50% + 7.5px); }
@media (max-width: 749px) {
  .pdp__info > .b-p:has(> .msym:first-child) { font-size: 13px !important; line-height: 16.9px !important; letter-spacing: .45px !important; }
}

/* PDP rating row, header spacing and phone gallery — measured on the origin at 1440 and 430 */
.tp-stars { display: block; flex: none; width: 100px; height: auto; }
.pdp__social { gap: 0; }
.pdp__info > .pdp__social + .b-h { margin-top: -3px; }
.pdp__info > .pdp__social + .b-h + .b-p { margin-top: -9px; }
.pdp__tnav { position: relative; }
.pdp__tarrow { display: none; }
@media (max-width: 749px) {
  .tp-stars { width: 87px; }
  .pdp__social { line-height: 23.4px; }
  .pdp__grid { gap: 12.5px; }
  .pdp__media { position: relative; top: auto; container-type: inline-size; }
  .pdp__thumbs { grid-template-columns: none; grid-auto-columns: calc((100% - 30px) / 5); gap: 7.5px; max-width: none; margin: 7.5px 25px 0; padding: 0; }
  .pdp__thumbs button { border: 0; border-radius: 0; }
  .pdp__thumbs img { width: 100%; height: auto; aspect-ratio: 1; }
  .pdp__tarrow { display: flex; align-items: center; justify-content: center; position: absolute; top: 50%; transform: translateY(-50%); width: 25px; height: 44px; padding: 0; border: 0; background: none; color: rgba(43, 43, 43, .9); cursor: pointer; }
  .pdp__tarrow svg { width: 10px; height: 6px; }
  .pdp__tarrow--prev { left: 0; }
  .pdp__tarrow--prev svg { transform: rotate(90deg); }
  .pdp__tarrow--next { right: 0; }
  .pdp__tarrow--next svg { transform: rotate(-90deg); }
  /* dots overlay the bottom 30px of the (square) main image */
  .pdp__dots { position: absolute; left: 0; right: 0; top: calc(100cqw - 30px); height: 30px; margin: 0; gap: 0; align-items: center; justify-content: center; pointer-events: none; }
  .pdp__dots i { width: 6px; height: 6px; margin: 0 7px; border-radius: 50%; background: rgb(43, 43, 43); opacity: .5; }
  .pdp__dots i.is-active { width: 9px; height: 9px; margin: 0 6px; background: rgb(43, 43, 43); opacity: 1; }
}

/* PDP buy box → accordions, measured on the origin at 1440 (base) and 430 (≤749px) */
.buybox { gap: 0; margin-bottom: -6px; }
.buybox > .kb-title { margin: 15px 0 13px; letter-spacing: .48px; }
.buybox > .kb-sub { margin-top: 6px; }
.buybox > .atc { margin-top: 15px; }
.ship-by { align-items: center; gap: 8px; padding: 11px 16px; border-radius: 8px; }
.ship-by p { letter-spacing: .48px; }
.ship-by strong { text-decoration: underline; text-decoration-thickness: 2px; }
.ship-by__clock { flex: none; width: 17px; height: 17px; fill: none; stroke: rgb(91, 63, 145); stroke-width: 2px; stroke-linecap: round; stroke-linejoin: round; }
.kb-bar { padding: 0 14px; column-gap: 18px; align-content: center; }
.kb-sub { grid-template-columns: 24px 1fr; gap: 18px; padding: 0 12px; }
.kb-sub br { display: none; }
.kb-sub strong, .kb-sub small { display: block; }
.kb-sub input:checked + .kb-sub__box { background: #fff; border-color: rgb(22, 9, 82); }
.kb-sub input:checked + .kb-sub__box::after { border-color: rgb(22, 9, 82); }
.pdp__info > .buybox + .b-p { line-height: 18.2px !important; margin: 0; }
.pdp__info > .buybox + .b-p + .b-pay { gap: 10px; margin-top: -1px; }
.b-pay li { display: flex; }
.pdp__info > .b-pay img { width: 30px; height: 18.9px; }
.pdp__info > .b-pay + .b-row:has(.msym) { gap: 1.5em; margin-top: 8px; font-size: 14px; }
.pdp__info > .b-pay + .b-row:has(.msym) .b-col { gap: 0; }
.pdp__info > .b-pay + .b-row:has(.msym) .b-p { margin: 0; gap: 0; font-size: 14px !important; line-height: 18.2px !important; letter-spacing: .48px !important; }
.pdp__info > .b-pay + .b-row:has(.msym) .b-p:has(.msym) { font-size: 19.6px !important; line-height: 1 !important; letter-spacing: normal !important; }
.pdp__info > .b-pay + .b-row:has(.msym) .msym { font-size: 1em; margin: 0 .25em 0 0; vertical-align: 0; color: rgb(43, 43, 43); }
.pdp__info > .b-row:has(.msym) + .accordions { margin-top: -6px; }
.acc { border-bottom: 2px dashed rgb(217, 217, 217); }
.acc summary h2 { padding-left: 9.8px; letter-spacing: .78px; }
.acc__icon { width: 18px; height: 18px; flex: none; color: rgb(18, 18, 18); }
.acc__icon::before, .acc__icon::after { left: 4.5px; right: 4.5px; top: 8.5px; height: 1px; }
@media (max-width: 749px) {
  .ship-by { padding: 10px 12px; }
  .ship-by p { letter-spacing: .45px; }
  .ship-by__clock { width: 16px; height: 16px; }
  .buybox > .kb-title { letter-spacing: .45px; }
  .pdp__info > .buybox + .b-p { line-height: 15.6px !important; }
  .pdp__info > .b-pay img { width: 26px; height: 16.4px; }
  .pdp__info > .b-pay + .b-row:has(.msym) { font-size: 12px; }
  .pdp__info > .b-pay + .b-row:has(.msym) .b-p { font-size: 12px !important; line-height: 15.6px !important; letter-spacing: .45px !important; }
  .pdp__info > .b-pay + .b-row:has(.msym) .b-p:has(.msym) { font-size: 16.8px !important; }
}

/* PDP "Why Trust OROS" box, measured on the origin at 1440 (base) and 430 (≤749px): orosBG.jpg (purple baked in),
   cover / center right, 15px from the accordions, title margins 15/27, 2 columns with 20px gap, 15px row margins */
.pdp__info > .accordions + .pdp-trust { margin-top: 3px; }
.pdp-trust { padding: 15px; border-radius: 12px; overflow: hidden; background: rgb(22, 8, 84) url("https://assets-2-prod.whop.com/public/uploads/2026-10-23/ad6c202e-e5d4-4cd6-940f-a63ee1b716d9/image.jpg") no-repeat 100% 50% / cover; }
.pdp-trust > .b-h { margin: 15px 0 27px; font-size: 26px !important; line-height: normal !important; letter-spacing: .78px !important; }
.pdp__info .pdp-trust > .b-row { display: grid !important; grid-template-columns: 1fr 1fr; gap: 20px; margin: 15px 0; }
.pdp-trust > .b-row > .b-col { display: block; min-width: 0; }
.pdp-trust > .b-row .b-p { display: flex; align-items: center; gap: 0 !important; margin: 0; color: #fff; font-weight: 400; font-size: 15px !important; line-height: 19.5px !important; letter-spacing: .48px !important; }
.pdp-trust > .b-row .msym { flex: none; font-size: 1.2em; line-height: 1; margin: 0 .25em 0 0; color: #fff; }
@media (max-width: 749px) {
  .pdp-trust { padding: 12px; }
  .pdp-trust > .b-h { font-size: 24px !important; }
  .pdp-trust > .b-row .b-p { font-size: 14px !important; line-height: 18.2px !important; letter-spacing: .45px !important; }
}
