/** Shopify CDN: Minification failed

Line 835:0 Unexpected "}"

**/
/* ==========================================================================
   Imperio — a refined Shopify theme for watches & accessories
   Uses logical properties throughout so RTL layouts mirror automatically.
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
  font-weight: var(--font-body-weight);
  font-style: var(--font-body-style);
  font-size: var(--body-size);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.overflow-hidden { overflow: hidden; }
img, video, svg { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
input, select, textarea { font: inherit; color: inherit; }
ul[role="list"], ol[role="list"] { list-style: none; margin: 0; padding: 0; }
[hidden] { display: none !important; }
sticky-header, announcement-bar, slide-show, variant-picker, pickup-availability,
recently-viewed, product-recommendations, facet-filters, product-form, main-cart,
predictive-search, product-tabs, before-after, press-rotator, lookbook-hotspots { display: block; }

.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link:focus { position: fixed; inset-block-start: 8px; inset-inline-start: 8px; width: auto; height: auto; clip: auto; z-index: 999; background: var(--color-bg); padding: 10px 16px; }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }

/* ---------- Type ---------- */
h1, h2, h3, h4, .h1, .h2, .h3, .h4 {
  font-family: var(--font-heading);
  font-weight: var(--font-heading-weight);
  font-style: var(--font-heading-style);
  text-transform: var(--heading-transform);
  letter-spacing: var(--heading-spacing);
  line-height: 1.15;
  margin: 0 0 .5em;
}
.h0 { font-family: var(--font-heading); font-size: calc(clamp(40px, 6.4vw, 92px) * var(--heading-scale)); line-height: 1.02; margin: 0 0 .35em; font-weight: var(--font-heading-weight); }
h1, .h1 { font-size: calc(clamp(32px, 4.4vw, 58px) * var(--heading-scale)); }
h2, .h2 { font-size: calc(clamp(26px, 3.2vw, 42px) * var(--heading-scale)); }
h3, .h3 { font-size: calc(clamp(20px, 2vw, 26px) * var(--heading-scale)); }
h4, .h4 { font-size: calc(18px * var(--heading-scale)); }
.eyebrow { display: inline-block; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: var(--color-accent); margin-block-end: 14px; font-weight: 600; }
.muted { color: var(--color-muted); }
.rte > *:first-child { margin-block-start: 0; }
.rte > *:last-child { margin-block-end: 0; }
.rte a { text-decoration: underline; text-underline-offset: 3px; }
.rte img { margin-block: 1.5em; border-radius: var(--radius); }
.rte table { width: 100%; border-collapse: collapse; }
.rte td, .rte th { border: 1px solid var(--color-border); padding: 10px 12px; text-align: start; }
.text-center { text-align: center; }

/* ---------- Layout ---------- */
.container { width: 100%; max-width: var(--page-width); margin-inline: auto; padding-inline: var(--gutter); }
.container--narrow { max-width: 860px; }
.section { padding-block: var(--section-space); }
.section--tight { padding-block: calc(var(--section-space) * .55); }
.section--alt { background: var(--color-bg-alt); }
.section-header { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-block-end: clamp(28px, 4vw, 52px); flex-wrap: wrap; }
.section-header--center { flex-direction: column; align-items: center; text-align: center; }
.section-header h2 { margin: 0; }
.section-header p { margin: 8px 0 0; color: var(--color-muted); max-width: 560px; }
.grid { display: grid; gap: clamp(14px, 2vw, 28px); grid-template-columns: repeat(var(--cols-mobile, 2), minmax(0, 1fr)); }
@media (min-width: 750px) { .grid { grid-template-columns: repeat(var(--cols-tablet, 3), minmax(0, 1fr)); } }
@media (min-width: 1100px) { .grid { grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); } }

/* ---------- Buttons & forms ---------- */
.button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 50px; padding: 0 30px;
  background: var(--color-button); color: var(--color-button-text);
  border: 1px solid var(--color-button); border-radius: var(--radius-button);
  font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
  transition: background .25s, color .25s, border-color .25s, opacity .25s;
  cursor: pointer; text-align: center;
}
.button:hover { background: transparent; color: var(--color-button); }
.button--outline { background: transparent; color: var(--color-text); border-color: currentColor; }
.button--outline:hover { background: var(--color-text); color: var(--color-bg); border-color: var(--color-text); }
.button--light { background: #fff; color: #111; border-color: #fff; }
.button--light:hover { background: transparent; color: #fff; }
.button--accent { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-accent-text); }
.button--accent:hover { color: var(--color-accent); }
.button--full { width: 100%; }
.button--small { min-height: 40px; padding: 0 18px; font-size: 11px; }
.button[disabled], .button[aria-disabled="true"] { opacity: .45; pointer-events: none; }
.button.is-loading { color: transparent !important; position: relative; pointer-events: none; }
.button.is-loading::after { content: ""; position: absolute; width: 18px; height: 18px; border: 2px solid var(--color-button-text); border-block-start-color: transparent; border-radius: 50%; animation: spin .7s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.link { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.link-arrow { display: inline-flex; gap: 8px; align-items: center; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; border-block-end: 1px solid currentColor; padding-block-end: 4px; }

.field { display: flex; flex-direction: column; gap: 6px; margin-block-end: 16px; }
.field label { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--color-muted); }
.input, .select, .textarea {
  width: 100%; min-height: 50px; padding: 12px 16px;
  background: transparent; border: 1px solid var(--color-border); border-radius: var(--radius);
  transition: border-color .2s;
}
.input:focus, .select:focus, .textarea:focus { outline: none; border-color: var(--color-text); }
.textarea { min-height: 130px; resize: vertical; }
.select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23777' fill='none'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; padding-inline-end: 40px; }
[dir="rtl"] .select { background-position: left 16px center; }
.form-message { padding: 14px 18px; margin-block-end: 18px; border-radius: var(--radius); font-size: 14px; }
.form-message--success { background: color-mix(in srgb, var(--color-success) 12%, transparent); color: var(--color-success); }
.form-message--error { background: color-mix(in srgb, var(--color-sale) 10%, transparent); color: var(--color-sale); }
.icon { width: 20px; height: 20px; flex-shrink: 0; }
.icon--small { width: 14px; height: 14px; }
[dir="rtl"] .icon--flip { transform: scaleX(-1); }

/* ---------- Announcement bar / promo banners ---------- */
.announcement { background: var(--ann-bg, var(--color-text)); color: var(--ann-fg, var(--color-bg)); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.announcement__inner { display: flex; align-items: center; justify-content: center; gap: 16px; min-height: 40px; position: relative; }
.announcement__slides { position: relative; overflow: hidden; flex: 1; text-align: center; }
.announcement__slide { display: none; padding-block: 10px; }
.announcement__slide.is-active { display: block; animation: fadeUp .5s ease; }
.announcement__nav { opacity: .7; }
.announcement__nav:hover { opacity: 1; }
@keyframes fadeUp { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* ---------- Header ---------- */
.header-wrapper { position: relative; z-index: 50; }
.header-wrapper--sticky { position: sticky; inset-block-start: 0; }
.header { background: var(--color-header-bg); color: var(--color-header-text); border-block-end: 1px solid var(--color-border); transition: transform .35s ease, background .3s; }
.header-wrapper.is-hidden .header { transform: translateY(-100%); }
.header--transparent:not(.is-scrolled) { background: transparent; color: #fff; border-color: transparent; }
.header__inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: var(--header-height); gap: 20px; }
.header__left, .header__right { display: flex; align-items: center; gap: 4px; }
.header__right { justify-content: flex-end; }
.header__logo { text-align: center; font-family: var(--font-heading); font-size: 26px; letter-spacing: .2em; text-transform: uppercase; line-height: 1; }
.header__logo img { margin-inline: auto; }
.header__icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; position: relative; }
.header__cart-count { position: absolute; inset-block-start: 6px; inset-inline-end: 4px; min-width: 18px; height: 18px; padding-inline: 4px; border-radius: 9px; background: var(--color-accent); color: var(--color-accent-text); font-size: 10px; display: flex; align-items: center; justify-content: center; font-weight: 600; }
.header__nav { display: none; }
@media (min-width: 1100px) {
  .header__menu-toggle { display: none !important; }
  .header--logo-left .header__inner { grid-template-columns: auto 1fr auto; }
  .header--logo-left .header__logo { order: -1; text-align: start; }
  .header__nav { display: block; }
}
.nav { display: flex; gap: 6px; flex-wrap: wrap; }
.nav__item { position: static; }
.nav__link { display: inline-flex; align-items: center; gap: 4px; padding: 26px 12px; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; font-weight: 500; position: relative; }
.nav__link::after { content: ""; position: absolute; inset-inline: 12px; inset-block-end: 20px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .3s; }
.nav__item:hover > .nav__link::after, .nav__link[aria-current="page"]::after { transform: scaleX(1); }
.nav__item--dropdown { position: relative; }
.dropdown { position: absolute; inset-block-start: 100%; inset-inline-start: 0; min-width: 230px; background: var(--color-bg); color: var(--color-text); border: 1px solid var(--color-border); padding: 18px 0; opacity: 0; visibility: hidden; transform: translateY(8px); transition: .25s ease; box-shadow: 0 20px 40px rgba(0,0,0,.06); }
.dropdown a { display: block; padding: 7px 24px; font-size: 14px; }
.dropdown a:hover { color: var(--color-accent); }
.nav__item:hover > .dropdown, .nav__item:focus-within > .dropdown,
.nav__item:hover > .mega, .nav__item:focus-within > .mega { opacity: 1; visibility: visible; transform: none; }
.mega { position: absolute; inset-inline: 0; inset-block-start: 100%; background: var(--color-bg); color: var(--color-text); border-block: 1px solid var(--color-border); opacity: 0; visibility: hidden; transform: translateY(8px); transition: .25s ease; box-shadow: 0 30px 50px rgba(0,0,0,.06); }
.mega__inner { display: grid; grid-template-columns: 1fr auto; gap: 48px; padding-block: 44px; }
.mega__columns { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 32px; }
.mega__title { display: block; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; font-weight: 600; margin-block-end: 14px; color: var(--color-accent); }
.mega__columns a { display: block; padding-block: 5px; font-size: 14px; }
.mega__columns a:hover { color: var(--color-accent); }
.mega__promos { display: flex; gap: 20px; }
.mega-promo { width: 240px; display: block; }
.mega-promo__image { aspect-ratio: 4/5; overflow: hidden; border-radius: var(--radius); background: var(--color-bg-alt); }
.mega-promo__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.mega-promo:hover img { transform: scale(1.05); }
.mega-promo__title { margin-block-start: 12px; font-family: var(--font-heading); font-size: 18px; }
.mega-promo__sub { font-size: 12px; color: var(--color-muted); letter-spacing: .1em; text-transform: uppercase; }

/* ---------- Drawers & modals ---------- */
.drawer, .modal { position: fixed; inset: 0; z-index: 200; visibility: hidden; pointer-events: none; }
.drawer.is-open, .modal.is-open { visibility: visible; pointer-events: auto; }
.drawer__overlay, .modal__overlay { position: absolute; inset: 0; background: rgba(15,14,12,.45); opacity: 0; transition: opacity .35s; }
.drawer.is-open .drawer__overlay, .modal.is-open .modal__overlay { opacity: 1; }
.drawer__panel { position: absolute; inset-block: 0; inset-inline-end: 0; width: min(440px, 100vw); background: var(--color-bg); display: flex; flex-direction: column; transform: translateX(100%); transition: transform .45s cubic-bezier(.2,.8,.2,1); }
[dir="rtl"] .drawer__panel { transform: translateX(-100%); }
.drawer--left .drawer__panel { inset-inline-end: auto; inset-inline-start: 0; transform: translateX(-100%); }
[dir="rtl"] .drawer--left .drawer__panel { transform: translateX(100%); }
.drawer.is-open .drawer__panel { transform: none; }
.drawer__header { display: flex; align-items: center; justify-content: space-between; padding: 22px 26px; border-block-end: 1px solid var(--color-border); }
.drawer__header h2 { font-size: 20px; margin: 0; }
.drawer__body { flex: 1; overflow-y: auto; padding: 22px 26px; }
.drawer__footer { padding: 20px 26px 26px; border-block-start: 1px solid var(--color-border); background: var(--color-bg); }
.modal { display: flex; align-items: center; justify-content: center; padding: 20px; }
.modal__panel { position: relative; background: var(--color-bg); width: min(var(--modal-width, 980px), 100%); max-height: 90vh; overflow-y: auto; border-radius: var(--radius); opacity: 0; transform: translateY(20px) scale(.98); transition: .35s ease; }
.modal.is-open .modal__panel { opacity: 1; transform: none; }
.modal__close { position: absolute; inset-block-start: 14px; inset-inline-end: 14px; z-index: 2; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background: var(--color-bg); border-radius: 50%; }
.modal__content { padding: clamp(24px, 4vw, 44px); }

/* ---------- Predictive search ---------- */
.search-drawer .drawer__panel { width: min(560px, 100vw); }
.search-form { position: relative; }
.search-form .input { padding-inline-end: 50px; min-height: 56px; font-size: 16px; }
.search-form button { position: absolute; inset-inline-end: 14px; inset-block-start: 50%; transform: translateY(-50%); }
.predictive { margin-block-start: 22px; }
.predictive__group { margin-block-end: 26px; }
.predictive__heading { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--color-muted); margin-block-end: 12px; }
.predictive__item { display: flex; gap: 14px; align-items: center; padding-block: 8px; }
.predictive__item img { width: 64px; aspect-ratio: var(--card-ratio); object-fit: cover; background: var(--color-bg-alt); }
.predictive__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { display: inline-flex; padding: 7px 14px; border: 1px solid var(--color-border); border-radius: 30px; font-size: 13px; }
.chip:hover { border-color: var(--color-text); }

/* ---------- Product card ---------- */
.card { position: relative; display: flex; flex-direction: column; }
.card__media { position: relative; aspect-ratio: var(--card-ratio, 4/5); overflow: hidden; background: var(--color-bg-alt); border-radius: var(--radius); }
.card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .6s ease, transform 1.2s ease; }
.card__media .card__img--secondary { opacity: 0; }
@media (hover: hover) {
  .card:hover .card__img--secondary { opacity: 1; }
  .card:hover .card__media img { transform: scale(1.04); }
}
.card__badges { position: absolute; inset-block-start: 12px; inset-inline-start: 12px; display: flex; flex-direction: column; gap: 6px; z-index: 2; align-items: flex-start; }
.badge { display: inline-block; padding: 5px 10px; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; background: var(--color-bg); color: var(--color-text); border-radius: var(--radius-button); }
.badge--sale { background: var(--color-sale); color: #fff; }
.badge--soldout { background: var(--color-text); color: var(--color-bg); }
.badge--preorder { background: var(--color-accent); color: var(--color-accent-text); }
.card__actions { position: absolute; inset-inline: 12px; inset-block-end: 12px; display: flex; gap: 8px; z-index: 2; opacity: 0; transform: translateY(10px); transition: .3s ease; }
.card:hover .card__actions, .card:focus-within .card__actions { opacity: 1; transform: none; }
@media (hover: none) { .card__actions { opacity: 1; transform: none; } .card__actions .button span { display: none; } }
.card__actions .button { flex: 1; min-height: 42px; background: rgba(255,255,255,.94); color: #111; border-color: transparent; padding-inline: 12px; backdrop-filter: blur(6px); }
.card__actions .button:hover { background: #111; color: #fff; }
.card__actions .button--icon { flex: 0 0 42px; padding: 0; }
.card__info { padding-block-start: 16px; display: flex; flex-direction: column; gap: 4px; }
.card__vendor { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--color-muted); }
.card__title { font-family: var(--font-heading); font-size: 17px; line-height: 1.3; }
.card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.card__swatches { display: flex; gap: 6px; margin-block-start: 6px; position: relative; z-index: 3; flex-wrap: wrap; }
.card__swatch { width: 16px; height: 16px; border-radius: 50%; border: 1px solid var(--color-border); background: var(--swatch); background-size: cover; outline-offset: 2px; }
.card__swatch.is-active, .card__swatch:hover { outline: 1px solid var(--color-text); }
.card__swatch-more { font-size: 11px; color: var(--color-muted); align-self: center; }

.price { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; font-size: 15px; }
.price__compare { color: var(--color-muted); text-decoration: line-through; font-size: .9em; }
.price--sale .price__current { color: var(--color-sale); }
.price__unit { font-size: 12px; color: var(--color-muted); width: 100%; }
.price--large { font-size: 22px; }

/* ---------- Slideshow ---------- */
.slideshow { position: relative; overflow: hidden; color: #fff; }
.slideshow__track { display: grid; }
.slide { grid-area: 1 / 1; position: relative; min-height: var(--slide-height, 88vh); display: flex; align-items: var(--align-y, center); opacity: 0; visibility: hidden; transition: opacity 1s ease, visibility 1s; }
.slide.is-active { opacity: 1; visibility: visible; z-index: 1; }
.slide__media { position: absolute; inset: 0; }
.slide__media img, .slide__media video { width: 100%; height: 100%; object-fit: cover; transform: scale(1.08); transition: transform 7s ease; }
.slide.is-active .slide__media img { transform: scale(1); }
.slide__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,var(--overlay, .35)), rgba(0,0,0,calc(var(--overlay, .35) * .4))); }
.slide__content { position: relative; z-index: 1; width: 100%; padding-block: 90px; }
.slide__text { max-width: 640px; }
.slide--center .slide__text { margin-inline: auto; text-align: center; }
.slide--end .slide__text { margin-inline-start: auto; }
.slide .eyebrow { color: #fff; opacity: .85; }
.slide__text > * { opacity: 0; transform: translateY(20px); transition: .9s ease; }
.slide.is-active .slide__text > * { opacity: 1; transform: none; }
.slide.is-active .slide__text > *:nth-child(2) { transition-delay: .15s; }
.slide.is-active .slide__text > *:nth-child(3) { transition-delay: .3s; }
.slide.is-active .slide__text > *:nth-child(4) { transition-delay: .45s; }
.slide__buttons { display: flex; gap: 12px; flex-wrap: wrap; }
.slide--center .slide__buttons { justify-content: center; }
.slideshow__controls { position: absolute; inset-block-end: 30px; inset-inline: 0; z-index: 3; }
.slideshow__dots { display: flex; gap: 14px; }
.slideshow__dot { width: 46px; height: 2px; background: rgba(255,255,255,.35); position: relative; overflow: hidden; }
.slideshow__dot::after { content: ""; position: absolute; inset: 0; background: #fff; transform: scaleX(0); transform-origin: left; }
.slideshow__dot.is-active::after { animation: progress var(--autoplay, 6s) linear forwards; }
@keyframes progress { to { transform: scaleX(1); } }
.placeholder-svg { width: 100%; height: 100%; background: var(--color-bg-alt); fill: color-mix(in srgb, var(--color-text) 25%, transparent); }

/* ---------- Image with text / promo tiles ---------- */
.split { display: grid; gap: clamp(30px, 6vw, 90px); align-items: center; }
@media (min-width: 900px) { .split { grid-template-columns: 1fr 1fr; } .split--reverse .split__media { order: 2; } }
.split__media { aspect-ratio: 4/5; overflow: hidden; border-radius: var(--radius); background: var(--color-bg-alt); }
.split__media img { width: 100%; height: 100%; object-fit: cover; }
.split__content { max-width: 520px; }
.split__content p { color: var(--color-muted); }
.promo-tiles { display: grid; gap: clamp(12px, 1.6vw, 22px); }
@media (min-width: 750px) { .promo-tiles { grid-template-columns: repeat(var(--cols, 3), 1fr); } }
.promo-tile { position: relative; display: flex; align-items: flex-end; min-height: var(--tile-height, 480px); overflow: hidden; border-radius: var(--radius); color: #fff; background: var(--color-bg-alt); }
.promo-tile--wide { grid-column: span 2; }
.promo-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s ease; }
.promo-tile:hover img { transform: scale(1.05); }
.promo-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.55), transparent 60%); }
.promo-tile__content { position: relative; z-index: 1; padding: clamp(22px, 3vw, 36px); }
.promo-tile__content h3 { margin-block-end: 12px; }
.promo-tile--text { background: var(--tile-bg, var(--color-accent)); color: var(--tile-fg, #fff); align-items: center; }
.promo-tile--text::after { display: none; }

/* ---------- Collection list ---------- */
.collection-tile { display: block; text-align: center; }
.collection-tile__image { aspect-ratio: 1; overflow: hidden; background: var(--color-bg-alt); border-radius: var(--tile-radius, 50%); margin-block-end: 16px; }
.collection-tile__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s ease; }
.collection-tile:hover img { transform: scale(1.06); }
.collection-tile__title { font-family: var(--font-heading); font-size: 18px; }

/* ---------- Scroller (horizontal carousels) ---------- */
.scroller { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--cols-mobile, 2) - 1) * 16px) / var(--cols-mobile, 2) - 12px); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-block-end: 4px; }
.scroller::-webkit-scrollbar { display: none; }
.scroller > * { scroll-snap-align: start; }
@media (min-width: 750px) { .scroller { grid-auto-columns: calc((100% - (var(--cols-tablet, 3) - 1) * 24px) / var(--cols-tablet, 3)); gap: 24px; } }
@media (min-width: 1100px) { .scroller { grid-auto-columns: calc((100% - (var(--cols, 4) - 1) * 28px) / var(--cols, 4)); gap: 28px; } }
.scroller-nav { display: flex; gap: 8px; }
.scroller-nav button { width: 44px; height: 44px; border: 1px solid var(--color-border); border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: .2s; }
.scroller-nav button:hover { border-color: var(--color-text); }

/* ---------- Press ---------- */
.press { text-align: center; }
.press__quote { font-family: var(--font-heading); font-size: clamp(22px, 2.8vw, 34px); line-height: 1.35; max-width: 820px; margin: 0 auto 40px; display: none; }
.press__quote.is-active { display: block; animation: fadeUp .6s ease; }
.press__logos { display: flex; justify-content: center; align-items: center; gap: clamp(24px, 5vw, 70px); flex-wrap: wrap; }
.press__logo { opacity: .35; transition: opacity .3s; max-width: 140px; }
.press__logo.is-active, .press__logo:hover { opacity: 1; }
.press__logo img { max-height: 34px; width: auto; filter: grayscale(1); }
.press__logo span { font-family: var(--font-heading); font-size: 20px; letter-spacing: .1em; }

/* ---------- Trust badges ---------- */
.trust { display: grid; gap: 28px; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 900px) { .trust { grid-template-columns: repeat(var(--cols, 4), 1fr); } }
.trust__item { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; }
.trust__icon { width: 34px; height: 34px; color: var(--color-accent); }
.trust__item h3 { font-family: var(--font-body); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; margin: 0; }
.trust__item p { margin: 0; font-size: 14px; color: var(--color-muted); }
.trust-inline { display: flex; flex-wrap: wrap; gap: 14px 22px; padding-block: 18px; border-block: 1px solid var(--color-border); margin-block: 22px; font-size: 13px; }
.trust-inline span { display: inline-flex; gap: 8px; align-items: center; }
.trust-inline .icon { color: var(--color-accent); width: 18px; height: 18px; }

/* ---------- Countdown ---------- */
.countdown-section { position: relative; color: var(--cd-fg, #fff); background: var(--cd-bg, var(--color-text)); overflow: hidden; }
.countdown-section__media { position: absolute; inset: 0; opacity: .45; }
.countdown-section__media img { width: 100%; height: 100%; object-fit: cover; }
.countdown-section .container { position: relative; }
.countdown { display: flex; gap: clamp(14px, 3vw, 36px); justify-content: center; margin-block: 28px; }
.countdown__unit { display: flex; flex-direction: column; align-items: center; min-width: 64px; }
.countdown__num { font-family: var(--font-heading); font-size: clamp(36px, 5vw, 64px); line-height: 1; font-variant-numeric: tabular-nums; }
.countdown__label { font-size: 10px; letter-spacing: .22em; text-transform: uppercase; opacity: .7; margin-block-start: 8px; }
.countdown--inline { justify-content: flex-start; margin-block: 12px; gap: 10px; }
.countdown--inline .countdown__unit { min-width: 52px; padding: 8px; background: var(--color-bg-alt); }
.countdown--inline .countdown__num { font-size: 22px; }

/* ---------- Before / after ---------- */
.before-after { position: relative; aspect-ratio: var(--ratio, 16/9); overflow: hidden; border-radius: var(--radius); user-select: none; touch-action: pan-y; --pos: 50%; }
.before-after img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.before-after__after { clip-path: inset(0 0 0 var(--pos)); }
[dir="rtl"] .before-after__after { clip-path: inset(0 var(--pos) 0 0); }
.before-after__handle { position: absolute; inset-block: 0; inset-inline-start: var(--pos); width: 2px; background: #fff; transform: translateX(-50%); }
.before-after__handle::after { content: "⟷"; position: absolute; inset-block-start: 50%; inset-inline-start: 50%; transform: translate(-50%, -50%); width: 48px; height: 48px; border-radius: 50%; background: #fff; color: #111; display: flex; align-items: center; justify-content: center; font-size: 18px; box-shadow: 0 4px 20px rgba(0,0,0,.2); }
.before-after__range { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; margin: 0; }
.before-after__label { position: absolute; inset-block-end: 16px; padding: 6px 12px; background: rgba(0,0,0,.55); color: #fff; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.before-after__label--before { inset-inline-start: 16px; }
.before-after__label--after { inset-inline-end: 16px; }

/* ---------- Lookbook / hotspots ---------- */
.lookbook { display: grid; gap: 40px; align-items: center; }
@media (min-width: 900px) { .lookbook { grid-template-columns: 1.4fr 1fr; } }
.hotspots { position: relative; border-radius: var(--radius); overflow: hidden; }
.hotspots img { width: 100%; }
.hotspot { position: absolute; transform: translate(-50%, -50%); z-index: 2; }
.hotspot__dot { width: 30px; height: 30px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 0 rgba(255,255,255,.7); animation: pulse 2s infinite; }
.hotspot__dot::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #111; }
@keyframes pulse { 70% { box-shadow: 0 0 0 14px rgba(255,255,255,0); } 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); } }
.hotspot__card { position: absolute; inset-block-end: calc(100% + 12px); inset-inline-start: 50%; transform: translateX(-50%) translateY(6px); width: 230px; background: var(--color-bg); color: var(--color-text); padding: 12px; display: flex; gap: 12px; align-items: center; box-shadow: 0 15px 40px rgba(0,0,0,.15); opacity: 0; visibility: hidden; transition: .25s; }
.hotspot.is-active .hotspot__card, .hotspot:hover .hotspot__card { opacity: 1; visibility: visible; transform: translateX(-50%); }
.hotspot__card img { width: 60px; aspect-ratio: 1; object-fit: cover; }
.lookbook__products { display: flex; flex-direction: column; gap: 14px; }
.lookbook__product { display: flex; gap: 16px; align-items: center; padding: 12px; border: 1px solid transparent; transition: .2s; }
.lookbook__product.is-active { border-color: var(--color-border); background: var(--color-bg-alt); }
.lookbook__product img { width: 80px; aspect-ratio: var(--card-ratio); object-fit: cover; }

/* ---------- FAQ / accordions ---------- */
.accordion { border-block-start: 1px solid var(--color-border); }
.accordion details { border-block-end: 1px solid var(--color-border); }
.accordion summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 0; cursor: pointer; list-style: none; font-size: 16px; font-weight: 500; }
.accordion summary::-webkit-details-marker { display: none; }
.accordion summary .icon-plus { transition: transform .3s; }
.accordion details[open] summary .icon-plus { transform: rotate(45deg); }
.accordion__content { padding-block-end: 22px; color: var(--color-muted); }
.faq-layout { display: grid; gap: 40px; }
@media (min-width: 900px) { .faq-layout { grid-template-columns: 260px 1fr; gap: 80px; } .faq-nav { position: sticky; inset-block-start: calc(var(--header-height) + 30px); align-self: start; } }
.faq-nav a { display: block; padding: 8px 0; color: var(--color-muted); }
.faq-nav a:hover { color: var(--color-text); }
.faq-group { margin-block-end: 50px; scroll-margin-top: 120px; }

/* ---------- Video ---------- */
.video-section { position: relative; aspect-ratio: var(--ratio, 16/9); overflow: hidden; border-radius: var(--radius); background: #000; }
.video-section video, .video-section iframe, .video-section img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0; }
.video-section__play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 16px; color: #fff; z-index: 2; background: rgba(0,0,0,.25); }
.video-section__play span:first-child { width: 84px; height: 84px; border-radius: 50%; border: 1px solid #fff; display: flex; align-items: center; justify-content: center; transition: .3s; }
.video-section__play:hover span:first-child { background: #fff; color: #111; }

/* ---------- Newsletter / rich text ---------- */
.newsletter-form { display: flex; gap: 0; max-width: 480px; margin: 24px auto 0; border-block-end: 1px solid currentColor; }
.newsletter-form .input { border: 0; padding-inline: 0; }
.newsletter-form button { padding-inline: 10px; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; }

/* ---------- Breadcrumbs ---------- */
.breadcrumbs { font-size: 12px; color: var(--color-muted); padding-block: 18px; display: flex; flex-wrap: wrap; gap: 8px; letter-spacing: .04em; }
.breadcrumbs a:hover { color: var(--color-text); }
.breadcrumbs span[aria-hidden] { opacity: .5; }

/* ---------- Product page ---------- */
.product { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(28px, 4vw, 70px); padding-block: 10px var(--section-space); }
@media (min-width: 990px) { .product { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); } .product__info-inner { position: sticky; inset-block-start: calc(var(--header-height) + 24px); } }
.gallery { display: grid; gap: 12px; }
@media (min-width: 990px) {
  .gallery--grid .gallery__main { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .gallery--grid .gallery__item:first-child { grid-column: span 2; }
  .gallery--grid .gallery__thumbs { display: none; }
}
.gallery__main { position: relative; }
.gallery--slider .gallery__main { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.gallery--slider .gallery__main::-webkit-scrollbar { display: none; }
@media (max-width: 989px) {
  .gallery__main { display: grid !important; grid-auto-flow: column; grid-auto-columns: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; grid-template-columns: none !important; }
  .gallery__main::-webkit-scrollbar { display: none; }
  .gallery__item:first-child { grid-column: auto !important; }
}
.gallery__item { position: relative; scroll-snap-align: start; background: var(--color-bg-alt); border-radius: var(--radius); overflow: hidden; aspect-ratio: var(--media-ratio, 1); }
.gallery__item img, .gallery__item video, .gallery__item iframe, .gallery__item model-viewer { width: 100%; height: 100%; object-fit: cover; }
.gallery__zoom { cursor: zoom-in; }
.gallery__zoom-btn { position: absolute; inset-block-end: 14px; inset-inline-end: 14px; width: 42px; height: 42px; border-radius: 50%; background: rgba(255,255,255,.9); color: #111; display: flex; align-items: center; justify-content: center; z-index: 2; }
.gallery__thumbs { display: flex; gap: 10px; overflow-x: auto; scrollbar-width: none; }
.gallery__thumb { flex: 0 0 76px; aspect-ratio: 1; border: 1px solid transparent; overflow: hidden; border-radius: var(--radius); opacity: .6; position: relative; }
.gallery__thumb.is-active { border-color: var(--color-text); opacity: 1; }
.gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }
.gallery__thumb-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; background: rgba(0,0,0,.25); }
.zoom-lens { position: absolute; inset: 0; background-repeat: no-repeat; background-size: 220%; opacity: 0; pointer-events: none; transition: opacity .2s; z-index: 1; }
.gallery__zoom:hover .zoom-lens { opacity: 1; }
.lightbox { position: fixed; inset: 0; z-index: 300; background: var(--color-bg); display: flex; align-items: center; justify-content: center; }
.lightbox img { max-height: 100vh; width: auto; cursor: zoom-out; }
.lightbox__close { position: fixed; inset-block-start: 20px; inset-inline-end: 20px; }
.lightbox__nav { position: fixed; inset-block-start: 50%; width: 48px; height: 48px; border: 1px solid var(--color-border); border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--color-bg); }
.lightbox__nav--prev { inset-inline-start: 20px; }
.lightbox__nav--next { inset-inline-end: 20px; }

.product__vendor { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--color-accent); font-weight: 600; }
.product__title { margin-block: 10px 14px; font-size: calc(clamp(28px, 3vw, 40px) * var(--heading-scale)); }
.product__meta { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-block-end: 22px; border-block-end: 1px solid var(--color-border); margin-block-end: 22px; flex-wrap: wrap; }
.product__sku { font-size: 12px; color: var(--color-muted); }
.product__block { margin-block-end: 22px; }
.product__text { color: var(--color-muted); }
.option { border: 0; padding: 0; margin: 0 0 22px; }
.option__legend { display: flex; justify-content: space-between; width: 100%; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; margin-block-end: 12px; }
.option__legend strong { font-weight: 500; text-transform: none; letter-spacing: 0; color: var(--color-muted); margin-inline-start: 6px; }
.option__values { display: flex; flex-wrap: wrap; gap: 8px; }
.option__values input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.option__pill { min-width: 54px; padding: 10px 16px; border: 1px solid var(--color-border); text-align: center; font-size: 14px; cursor: pointer; border-radius: var(--radius-button); transition: .2s; }
.option__swatch { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--color-border); background: var(--swatch); background-size: cover; background-position: center; cursor: pointer; position: relative; outline-offset: 3px; }
input:checked + .option__pill { border-color: var(--color-text); background: var(--color-text); color: var(--color-bg); }
input:checked + .option__swatch { outline: 1px solid var(--color-text); }
input.is-unavailable + .option__pill, input.is-unavailable + .option__swatch { opacity: .45; background-image: linear-gradient(to bottom right, transparent calc(50% - 1px), var(--color-muted) 50%, transparent calc(50% + 1px)); }
input.is-unavailable + .option__swatch { background: linear-gradient(to bottom right, transparent calc(50% - 1px), var(--color-muted) 50%, transparent calc(50% + 1px)), var(--swatch); }
.option__size-chart { font-size: 12px; text-decoration: underline; text-underline-offset: 3px; display: inline-flex; gap: 6px; align-items: center; text-transform: none; letter-spacing: 0; }
.quantity { display: inline-flex; align-items: center; border: 1px solid var(--color-border); border-radius: var(--radius-button); height: 50px; }
.quantity button { width: 44px; height: 100%; display: flex; align-items: center; justify-content: center; }
.quantity input { width: 44px; text-align: center; border: 0; background: none; -moz-appearance: textfield; }
.quantity input::-webkit-outer-spin-button, .quantity input::-webkit-inner-spin-button { -webkit-appearance: none; }
.quantity--small { height: 38px; }
.quantity--small button { width: 32px; }
.quantity--small input { width: 32px; font-size: 14px; }
.buy-buttons { display: flex; flex-direction: column; gap: 10px; }
.buy-buttons__row { display: flex; gap: 10px; }
.buy-buttons__row .button { flex: 1; }
.shopify-payment-button__button { border-radius: var(--radius-button) !important; min-height: 50px !important; }
.shopify-payment-button__button--unbranded { background: var(--color-accent) !important; text-transform: uppercase; letter-spacing: .18em; font-size: 12px !important; font-weight: 600 !important; }
.shopify-payment-button__more-options { font-size: 12px; text-decoration: underline; }
.stock { display: flex; align-items: center; gap: 10px; font-size: 13px; margin-block-end: 18px; }
.stock__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--color-success); box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-success) 18%, transparent); }
.stock--low .stock__dot { background: var(--color-sale); box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-sale) 18%, transparent); animation: blink 1.6s infinite; }
.stock--low { color: var(--color-sale); }
.stock--out .stock__dot { background: var(--color-muted); box-shadow: none; }
.stock__bar { flex: 1; max-width: 160px; height: 3px; background: var(--color-border); overflow: hidden; }
.stock__bar span { display: block; height: 100%; background: currentColor; }
@keyframes blink { 50% { opacity: .4; } }
.price-breaks { margin-block-end: 18px; border: 1px solid var(--color-border); font-size: 14px; }
.price-breaks__row { display: flex; justify-content: space-between; padding: 10px 14px; border-block-end: 1px solid var(--color-border); }
.price-breaks__row:last-child { border: 0; }
.price-breaks__title { padding: 10px 14px; background: var(--color-bg-alt); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.pickup { display: flex; gap: 12px; padding: 16px 0; font-size: 14px; }
.pickup .icon { color: var(--color-success); margin-block-start: 3px; }
.pickup--unavailable .icon { color: var(--color-muted); }
.pickup button { text-decoration: underline; font-size: 13px; }
.pickup-location { padding-block: 16px; border-block-end: 1px solid var(--color-border); }
.product-tabs__nav { display: flex; gap: 28px; border-block-end: 1px solid var(--color-border); overflow-x: auto; }
.product-tabs__nav button { padding: 14px 0; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; border-block-end: 1px solid transparent; margin-block-end: -1px; white-space: nowrap; color: var(--color-muted); }
.product-tabs__nav button[aria-selected="true"] { border-color: var(--color-text); color: var(--color-text); }
.product-tabs__panel { padding-block: 22px; color: var(--color-muted); }
.spec-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.spec-table th, .spec-table td { padding: 12px 0; border-block-end: 1px solid var(--color-border); text-align: start; vertical-align: top; }
.spec-table th { font-weight: 500; color: var(--color-text); width: 42%; }
.info-inline { display: flex; gap: 14px; align-items: flex-start; padding-block: 14px; border-block-end: 1px solid var(--color-border); font-size: 14px; }
.info-inline .icon { margin-block-start: 3px; color: var(--color-accent); }
.complementary { margin-block-start: 28px; }
.complementary__title { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; margin-block-end: 14px; }
.mini-card { display: flex; gap: 14px; align-items: center; padding-block: 12px; border-block-end: 1px solid var(--color-border); }
.mini-card img { width: 68px; aspect-ratio: var(--card-ratio); object-fit: cover; background: var(--color-bg-alt); }
.mini-card__info { flex: 1; font-size: 14px; }
.mini-card__title { font-family: var(--font-heading); font-size: 15px; display: block; }
.share { display: flex; gap: 14px; font-size: 12px; align-items: center; color: var(--color-muted); margin-block-start: 22px; }

/* Sticky add to cart */
.sticky-atc { position: fixed; inset-inline: 0; inset-block-end: 0; z-index: 40; background: var(--color-bg); border-block-start: 1px solid var(--color-border); transform: translateY(110%); transition: transform .4s ease; box-shadow: 0 -10px 30px rgba(0,0,0,.05); }
.sticky-atc.is-visible { transform: none; }
.sticky-atc__inner { display: flex; align-items: center; gap: 18px; padding-block: 12px; }
.sticky-atc__product { display: flex; align-items: center; gap: 14px; flex: 1; min-width: 0; }
.sticky-atc__product img { width: 52px; height: 52px; object-fit: cover; }
.sticky-atc__title { font-family: var(--font-heading); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 749px) { .sticky-atc__product { display: none; } .sticky-atc .button { flex: 1; } }

/* ---------- Collection page ---------- */
.collection-hero { position: relative; color: #fff; min-height: 340px; display: flex; align-items: flex-end; overflow: hidden; }
.collection-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.collection-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.5), transparent); }
.collection-hero .container { position: relative; z-index: 1; padding-block: 50px; }
.collection-header { padding-block: 20px 40px; text-align: center; }
.collection-header__desc { max-width: 640px; margin: 0 auto; color: var(--color-muted); }
.subcollections { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-block-start: 26px; }
.collection-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-block: 16px; border-block: 1px solid var(--color-border); margin-block-end: 30px; position: sticky; inset-block-start: var(--sticky-offset, 0); background: var(--color-bg); z-index: 10; }
.collection-toolbar__left, .collection-toolbar__right { display: flex; align-items: center; gap: 18px; }
.collection-toolbar button, .collection-toolbar label { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.collection-toolbar select { border: 0; background: none; font-size: 13px; cursor: pointer; }
.layout-switch button { opacity: .4; }
.layout-switch button.is-active { opacity: 1; }
.collection-layout { display: grid; gap: 40px; }
@media (min-width: 990px) { .collection-layout--sidebar { grid-template-columns: 260px 1fr; } .collection-layout--sidebar .facets-drawer-toggle { display: none; } }
.facets-sidebar { display: none; }
@media (min-width: 990px) { .collection-layout--sidebar .facets-sidebar { display: block; } }
.facet { border-block-end: 1px solid var(--color-border); }
.facet summary { display: flex; justify-content: space-between; align-items: center; padding: 18px 0; cursor: pointer; list-style: none; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; }
.facet summary::-webkit-details-marker { display: none; }
.facet[open] summary .icon { transform: rotate(180deg); }
.facet__values { padding-block-end: 18px; display: flex; flex-direction: column; gap: 10px; max-height: 280px; overflow-y: auto; }
.facet__values--swatch { flex-direction: row; flex-wrap: wrap; gap: 10px; }
.facet__check { display: flex; align-items: center; gap: 10px; font-size: 14px; cursor: pointer; }
.facet__check input { width: 16px; height: 16px; accent-color: var(--color-text); }
.facet__check--disabled { opacity: .4; }
.facet__count { color: var(--color-muted); font-size: 12px; margin-inline-start: auto; }
.facet__swatch { position: relative; }
.facet__swatch input { position: absolute; opacity: 0; }
.facet__swatch span { display: block; width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--color-border); background: var(--swatch); background-size: cover; outline-offset: 2px; cursor: pointer; }
.facet__swatch input:checked + span { outline: 1px solid var(--color-text); }
.facet__price { display: flex; gap: 10px; align-items: center; }
.facet__price .input { min-height: 42px; }
.active-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-block-end: 24px; }
.active-filters a { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; background: var(--color-bg-alt); font-size: 13px; border-radius: 30px; }
.collection-grid.is-loading { opacity: .4; pointer-events: none; transition: opacity .2s; }
.pagination { display: flex; justify-content: center; gap: 6px; margin-block-start: 60px; }
.pagination a, .pagination span { min-width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; font-size: 14px; }
.pagination .is-current { border-color: var(--color-text); }
.empty-state { text-align: center; padding-block: 80px; }
.empty-state p { color: var(--color-muted); }

/* ---------- Cart ---------- */
.cart-item { display: grid; grid-template-columns: 90px 1fr; gap: 16px; padding-block: 18px; border-block-end: 1px solid var(--color-border); }
.cart-item__image { aspect-ratio: var(--card-ratio); background: var(--color-bg-alt); overflow: hidden; border-radius: var(--radius); }
.cart-item__image img { width: 100%; height: 100%; object-fit: cover; }
.cart-item__title { font-family: var(--font-heading); font-size: 16px; display: block; margin-block-end: 4px; }
.cart-item__meta { font-size: 13px; color: var(--color-muted); }
.cart-item__row { display: flex; justify-content: space-between; align-items: center; margin-block-start: 12px; gap: 10px; }
.cart-item__remove { font-size: 12px; text-decoration: underline; color: var(--color-muted); }
.cart-item__discount { font-size: 12px; color: var(--color-success); }
.cart-item.is-loading { opacity: .5; pointer-events: none; }
.shipping-bar { margin-block-end: 6px; font-size: 13px; text-align: center; }
.shipping-bar__track { height: 3px; background: var(--color-border); margin-block-start: 10px; overflow: hidden; }
.shipping-bar__track span { display: block; height: 100%; background: var(--color-accent); transition: width .6s ease; }
.cart-totals { display: flex; justify-content: space-between; font-size: 16px; margin-block-end: 6px; }
.cart-totals__amount { font-weight: 600; }
.cart-tax { font-size: 12px; color: var(--color-muted); margin-block-end: 16px; }
.cart-note summary { cursor: pointer; font-size: 13px; padding-block: 8px; list-style: none; display: flex; gap: 8px; align-items: center; }
.cart-note summary::-webkit-details-marker { display: none; }
.cart-note textarea { min-height: 80px; margin-block: 8px 12px; }
.cart-trust { font-size: 12px; color: var(--color-muted); text-align: center; margin-block-start: 12px; display: flex; align-items: center; justify-content: center; gap: 6px; }
.cart-upsell { margin-block-start: 26px; padding: 18px; background: var(--color-bg-alt); }
.cart-upsell h3 { font-family: var(--font-body); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; margin-block-end: 6px; }
.cart-page { display: grid; gap: 50px; padding-block: 20px var(--section-space); }
@media (min-width: 990px) { .cart-page { grid-template-columns: 1fr 380px; } }
.cart-page__summary { background: var(--color-bg-alt); padding: 30px; align-self: start; position: sticky; inset-block-start: calc(var(--header-height) + 20px); }
.cart-empty { text-align: center; padding-block: 50px; }

/* ---------- Blog ---------- */
.article-card__image { aspect-ratio: 3/2; overflow: hidden; border-radius: var(--radius); background: var(--color-bg-alt); margin-block-end: 18px; }
.article-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s ease; }
.article-card:hover img { transform: scale(1.04); }
.article-card__meta { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--color-muted); margin-block-end: 10px; }
.article-card__title { font-size: 22px; }
.article-card__excerpt { color: var(--color-muted); font-size: 14px; }
.article-hero { aspect-ratio: 21/9; overflow: hidden; margin-block-end: 50px; }
.article-hero img { width: 100%; height: 100%; object-fit: cover; }
.article__header { text-align: center; padding-block: 40px 30px; }
.article__body { font-size: 17px; line-height: 1.8; }
.blog-tags { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-block-end: 50px; }
.comment { padding-block: 24px; border-block-end: 1px solid var(--color-border); }

/* ---------- Contact ---------- */
.contact-layout { display: grid; gap: 50px; }
@media (min-width: 900px) { .contact-layout { grid-template-columns: 1fr 1.3fr; gap: 90px; } }
.contact-info__item { padding-block: 18px; border-block-end: 1px solid var(--color-border); }
.contact-info__item h3 { font-family: var(--font-body); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; margin-block-end: 6px; }
.form-grid { display: grid; gap: 0 16px; }
@media (min-width: 750px) { .form-grid { grid-template-columns: 1fr 1fr; } .form-grid .field--full { grid-column: span 2; } }
.map-embed { aspect-ratio: 16/10; border: 0; width: 100%; filter: grayscale(.6); border-radius: var(--radius); }

/* ---------- Footer ---------- */
.footer { background: var(--color-footer-bg); color: var(--color-footer-text); padding-block: 80px 30px; font-size: 14px; }
.footer a { opacity: .75; transition: opacity .2s; }
.footer a:hover { opacity: 1; }
.footer__top { display: grid; gap: 40px; padding-block-end: 60px; border-block-end: 1px solid color-mix(in srgb, var(--color-footer-text) 15%, transparent); }
@media (min-width: 900px) { .footer__top { grid-template-columns: 1.5fr repeat(var(--cols, 3), 1fr); } }
.footer__brand { font-family: var(--font-heading); font-size: 28px; letter-spacing: .2em; text-transform: uppercase; margin-block-end: 18px; }
.footer__title { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; margin-block-end: 18px; font-weight: 600; opacity: .9; }
.footer__links li { margin-block-end: 10px; }
.footer .newsletter-form { margin: 18px 0 0; }
.footer__social { display: flex; gap: 14px; margin-block-start: 22px; }
.footer__bottom { display: flex; flex-wrap: wrap; gap: 20px; justify-content: space-between; align-items: center; padding-block-start: 28px; font-size: 12px; }
.footer__selectors { display: flex; gap: 12px; flex-wrap: wrap; }
.footer__selectors select { background: transparent; border: 1px solid color-mix(in srgb, var(--color-footer-text) 25%, transparent); color: inherit; padding: 8px 30px 8px 12px; font-size: 12px; }
.footer__selectors option { color: #111; }
.payment-icons { display: flex; gap: 6px; flex-wrap: wrap; }
.payment-icons svg { width: 38px; height: 24px; }

/* ---------- Popups ---------- */
.popup .modal__panel { --modal-width: 820px; display: grid; }
@media (min-width: 750px) { .popup--image .modal__panel { grid-template-columns: 1fr 1fr; } }
.popup__image img { width: 100%; height: 100%; object-fit: cover; min-height: 280px; }
.popup__content { padding: clamp(28px, 5vw, 56px); display: flex; flex-direction: column; justify-content: center; text-align: center; }
.popup__code { display: inline-block; padding: 12px 20px; border: 1px dashed var(--color-accent); font-size: 18px; letter-spacing: .2em; margin-block: 14px; cursor: pointer; }
.age-gate { position: fixed; inset: 0; z-index: 500; background: var(--age-bg, #0f0e0c); color: #fff; display: flex; align-items: center; justify-content: center; text-align: center; padding: 24px; }
.age-gate__inner { max-width: 460px; }
.age-gate__buttons { display: flex; gap: 12px; justify-content: center; margin-block-start: 26px; flex-wrap: wrap; }
.age-gate__denied { margin-block-start: 20px; color: #f3b2a8; }

/* ---------- Size chart ---------- */
.size-chart table { width: 100%; border-collapse: collapse; font-size: 14px; }
.size-chart th, .size-chart td { padding: 12px; border-block-end: 1px solid var(--color-border); text-align: center; }

/* ---------- Quick view ---------- */
.quick-view .modal__panel { --modal-width: 1040px; }
.quick-view__grid { display: grid; }
@media (min-width: 750px) { .quick-view__grid { grid-template-columns: 1.1fr 1fr; } }
.quick-view__media { background: var(--color-bg-alt); }
.quick-view__media .gallery__main { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.quick-view__info { padding: clamp(24px, 4vw, 44px); }
.quick-view__loading { min-height: 400px; display: flex; align-items: center; justify-content: center; }
.spinner { width: 30px; height: 30px; border: 2px solid var(--color-border); border-block-start-color: var(--color-text); border-radius: 50%; animation: spin .7s linear infinite; }

/* ---------- Toast ---------- */
.toast { position: fixed; inset-block-end: 24px; inset-inline-start: 50%; transform: translateX(-50%); background: var(--color-text); color: var(--color-bg); padding: 14px 22px; z-index: 400; font-size: 14px; border-radius: var(--radius); animation: fadeUp .3s ease; }
[dir="rtl"] .toast { transform: translateX(50%); }

/* ---------- Password ---------- */
.password-page { min-height: 100vh; display: flex; align-items: center; justify-content: center; text-align: center; padding: 30px; }

/* ---------- Reveal animations ---------- */
.reveal { opacity: 0; transform: translateY(30px); transition: opacity 1s ease, transform 1s cubic-bezier(.2,.8,.2,1); }
.reveal.is-visible { opacity: 1; transform: none; }
.reveal-stagger > * { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s ease; }
.reveal-stagger.is-visible > * { opacity: 1; transform: none; }
.reveal-stagger.is-visible > *:nth-child(2) { transition-delay: .08s; }
.reveal-stagger.is-visible > *:nth-child(3) { transition-delay: .16s; }
.reveal-stagger.is-visible > *:nth-child(4) { transition-delay: .24s; }
.reveal-stagger.is-visible > *:nth-child(5) { transition-delay: .32s; }
.reveal-stagger.is-visible > *:nth-child(n+6) { transition-delay: .4s; }
.no-js .reveal, .no-js .reveal-stagger > * { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .reveal, .reveal-stagger > * { opacity: 1; transform: none; }
}

/* ---------- Customer accounts ---------- */
.account-box { max-width: 460px; margin-inline: auto; padding-block: 40px var(--section-space); }
.account-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.account-table th, .account-table td { padding: 14px 8px; border-block-end: 1px solid var(--color-border); text-align: start; }
.shop-login { margin-block: 18px; display: flex; justify-content: center; }
.divider { display: flex; align-items: center; gap: 14px; color: var(--color-muted); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; margin-block: 22px; }
.divider::before, .divider::after { content: ""; flex: 1; height: 1px; background: var(--color-border); }

/* Grid children must be allowed to shrink, otherwise wide content (galleries, tabs) pushes the page off-screen on phones */
.product > *, .collection-layout > *, .cart-page > *, .contact-layout > *, .split > *, .faq-layout > *,
.lookbook > *, .quick-view__grid > *, .footer__top > *, .mega__inner > * { min-width: 0; }
.collection-layout, .cart-page, .contact-layout, .faq-layout, .quick-view__grid { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 990px) { .collection-layout--sidebar { grid-template-columns: 260px minmax(0, 1fr); } .cart-page { grid-template-columns: minmax(0, 1fr) 380px; } }
@media (min-width: 900px) { .contact-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); } .faq-layout { grid-template-columns: 260px minmax(0, 1fr); } }
@media (min-width: 750px) { .quick-view__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); } }
html, body { overflow-x: clip; }

/* ---------- WhatsApp, pre-order, notify, wishlist, floating actions ---------- */
.button--whatsapp { background: #25D366; border-color: #25D366; color: #fff; }
.button--whatsapp:hover { background: #1EBE5A; border-color: #1EBE5A; color: #fff; }
.button--whatsapp .icon { width: 18px; height: 18px; }
.buy-block { display: flex; flex-direction: column; gap: 10px; }
.buy-block > product-form, .buy-block .buy-buttons { display: flex; flex-direction: column; gap: 10px; }
.preorder-note { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; background: color-mix(in srgb, var(--color-accent) 10%, transparent); border-inline-start: 3px solid var(--color-accent); font-size: 14px; }
.preorder-note .icon { color: var(--color-accent); margin-block-start: 3px; }
.preorder-note strong { display: block; font-weight: 600; }
.notify-box { padding: 18px; border: 1px solid var(--color-border); }
.notify-box__title { display: flex; gap: 8px; align-items: center; margin: 0 0 12px; font-weight: 500; }
.notify-form__row { display: flex; gap: 8px; }
.notify-form__row .input { flex: 1; min-width: 0; }
.product__title-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.wish-btn { width: 42px; height: 42px; flex-shrink: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--color-border); background: var(--color-bg); transition: .2s; }
.wish-btn:hover { border-color: var(--color-text); }
.wish-btn.is-active { color: var(--color-sale); border-color: currentColor; }
.wish-btn.is-active svg { fill: currentColor; }
.card__wish { position: absolute; inset-block-start: 10px; inset-inline-end: 10px; z-index: 3; width: 36px; height: 36px; background: rgba(255,255,255,.9); border-color: transparent; color: #111; }
.header__wish .header__cart-count { background: var(--color-text); color: var(--color-bg); }
.floating-actions { position: fixed; inset-inline-end: 18px; inset-block-end: 18px; z-index: 45; display: flex; flex-direction: column; gap: 10px; align-items: flex-end; transition: transform .35s ease; }
body.has-sticky-atc .floating-actions { transform: translateY(-76px); }
.floating-btn { width: 52px; height: 52px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 8px 24px rgba(0,0,0,.18); background: var(--color-bg); color: var(--color-text); border: 1px solid var(--color-border); }
.floating-btn--whatsapp { background: #25D366; color: #fff; border: 0; width: auto; padding: 0 16px; gap: 8px; border-radius: 26px; }
.floating-btn--whatsapp .icon { width: 24px; height: 24px; }
.floating-btn__label { font-size: 13px; font-weight: 600; }
@media (max-width: 749px) { .floating-btn__label { display: none; } .floating-btn--whatsapp { width: 52px; padding: 0; } .header__logo { font-size: 20px; letter-spacing: .14em; } .header__icon { width: 38px; } }
@media print { .floating-actions { display: none; } }
.header__logo a { white-space: nowrap; }
@media (max-width: 749px) {
  .header__logo { font-size: clamp(15px, 4.4vw, 20px); letter-spacing: .1em; }
  .header__inner { gap: 6px; }
  .sticky-atc product-form, .sticky-atc product-form form { flex: 1; display: flex; }
  .sticky-atc product-form .button { width: 100%; }
}

/* ==========================================================================
   Design layer v2 — premium header, mobile menu, homepage & product page
   ========================================================================== */
:root { --header-h: 72px; }
@media (max-width: 1099px) { :root { --header-h: 60px; } }

/* ---------- Announcement ---------- */
.announcement { font-size: 11px; letter-spacing: .16em; }
.announcement__inner { min-height: 36px; }
.announcement__slide { padding-block: 9px; }
@media (max-width: 749px) {
  .announcement__nav { display: none; }
  .announcement__slide { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 10px; letter-spacing: .1em; }
}

/* ---------- Header ---------- */
.header { box-shadow: none; transition: transform .35s ease, box-shadow .3s ease, background .3s ease; }
.header.is-scrolled { box-shadow: 0 8px 28px rgba(20, 18, 14, .06); }
.header__inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: var(--header-h); gap: 16px; }
.header__start, .header__end { display: flex; align-items: center; gap: 2px; min-width: 0; }
.header__end { justify-content: flex-end; }
.header__logo { margin: 0; text-align: center; line-height: 1; font-size: inherit; }
.header__logo-link { display: inline-flex; align-items: center; }
.header__logo-img { width: var(--logo-w); max-width: 100%; height: auto; }
.header__logo-img--light { display: none; }
.header--transparent:not(.is-scrolled) .header__logo-img--light { display: block; }
.header--has-light.header--transparent:not(.is-scrolled) .header__logo-img--default { display: none; }
.header__logo-text { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 24px; letter-spacing: .22em; text-transform: uppercase; white-space: nowrap; }
.header__icon { width: 42px; height: 42px; border-radius: 50%; transition: background .2s ease; }
.header__icon:hover { background: color-mix(in srgb, currentColor 7%, transparent); }
.header__badge { position: absolute; inset-block-start: 4px; inset-inline-end: 2px; min-width: 17px; height: 17px; padding-inline: 4px; border-radius: 9px; background: var(--color-accent); color: var(--color-accent-text); font-size: 10px; font-weight: 600; line-height: 1; display: flex; align-items: center; justify-content: center; }
.header__badge--dark { background: var(--color-text); color: var(--color-bg); }
.header__badge[hidden] { display: none !important; }
.header__nav { display: none; }
.header__search-desktop, .header__account { display: none; }
.nav__link { font-size: 12px; letter-spacing: .16em; padding: 24px 14px; }
.nav__link::after { inset-block-end: 18px; inset-inline: 14px; }
@media (min-width: 1100px) {
  .header__menu-toggle, .header__search-mobile { display: none !important; }
  .header__search-desktop, .header__account { display: inline-flex; }
  .header__nav { display: block; }
  .header--logo-left .header__inner { grid-template-columns: auto 1fr auto; gap: 32px; }
  .header--logo-left .header__start { display: none; }
  .header--logo-left .header__logo { order: 0; text-align: start; }
  .header__nav--center .nav { justify-content: center; }
}
@media (max-width: 1099px) {
  .header__inner { gap: 8px; }
  .header__logo-img { width: var(--logo-w-m); }
  .header__logo-text { font-size: clamp(15px, 4.6vw, 20px); letter-spacing: .14em; }
  .header__icon { width: 40px; height: 40px; }
}
@media (max-width: 360px) { .header__wish { display: none; } }

/* ---------- Mobile menu ---------- */
.mobile-menu .drawer__panel { width: min(420px, 90vw); }
.mobile-menu__top { display: flex; align-items: center; justify-content: space-between; min-height: var(--header-h); padding: 8px 12px 8px 22px; border-block-end: 1px solid var(--color-border); }
.mobile-menu__brand { font-family: var(--font-heading); font-size: 16px; letter-spacing: .2em; text-transform: uppercase; }
.mobile-menu__scroll { flex: 1; overflow-y: auto; padding: 18px 22px 32px; display: flex; flex-direction: column; gap: 24px; }
.mobile-menu__search { display: flex; align-items: center; gap: 10px; width: 100%; padding: 13px 18px; border: 1px solid var(--color-border); border-radius: 999px; color: var(--color-muted); font-size: 14px; text-align: start; }
.mobile-menu__list { list-style: none; margin: 0; padding: 0; }
.mobile-menu__item { border-block-end: 1px solid var(--color-border); }
.mobile-menu__link { display: flex; align-items: center; justify-content: space-between; padding: 16px 0; font-family: var(--font-heading); font-size: 22px; line-height: 1.2; cursor: pointer; list-style: none; }
.mobile-menu__link::-webkit-details-marker { display: none; }
.mobile-menu__chev { display: inline-flex; transition: transform .25s ease; color: var(--color-muted); }
.mobile-menu__group[open] .mobile-menu__chev { transform: rotate(180deg); }
.mobile-menu__sub, .mobile-menu__subsub { list-style: none; margin: 0; padding: 0; }
.mobile-menu__sub { padding-block-end: 14px; }
.mobile-menu__subsub { padding-inline-start: 14px; }
.mobile-menu__sublink { display: block; padding: 8px 0; font-size: 15px; color: var(--color-muted); }
.mobile-menu__sublink--title { color: var(--color-text); font-weight: 500; }
.mobile-menu__viewall { color: var(--color-accent); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; padding-block-start: 12px; }
.mobile-menu__promo { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mobile-menu__promo-card { display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.mobile-menu__promo-card img { width: 100%; aspect-ratio: 3/4; object-fit: cover; border-radius: var(--radius); background: var(--color-bg-alt); }
.mobile-menu__quick { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.mobile-menu__quick a { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 14px 6px; background: var(--color-bg-alt); border-radius: var(--radius); font-size: 12px; text-align: center; }
.mobile-menu__contact { display: flex; flex-direction: column; gap: 14px; padding: 18px; background: var(--color-bg-alt); border-radius: var(--radius); font-size: 14px; }
.mobile-menu__social { display: flex; gap: 18px; color: var(--color-muted); }
.mobile-menu__social:empty { display: none; }

/* ---------- Drawers (search & cart) ---------- */
.drawer__panel { box-shadow: -20px 0 60px rgba(0, 0, 0, .12); }
.drawer--left .drawer__panel { box-shadow: 20px 0 60px rgba(0, 0, 0, .12); }
@media (max-width: 749px) { .drawer__header, .drawer__body, .drawer__footer { padding-inline: 18px; } }

/* ---------- Hero / slideshow ---------- */
.slide__empty { position: absolute; inset: 0; background: radial-gradient(120% 90% at 78% 18%, #4a3d2d 0%, #221d17 46%, #0f0d0b 100%); }
.slide__empty::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(118deg, rgba(255, 255, 255, .028) 0 1px, transparent 1px 16px); }
.slide .h0 { text-wrap: balance; }
@media (max-width: 749px) {
  .slide { min-height: min(var(--slide-height, 88vh), 78svh); }
  .slide__content { padding-block: 56px 72px; }
  .slide .h0 { font-size: clamp(34px, 10vw, 46px); }
  .slide__buttons { flex-direction: column; align-items: stretch; }
  .slide--center .slide__buttons, .slide__buttons { width: 100%; }
  .slideshow__controls .scroller-nav { display: none; }
}

/* ---------- Sections ---------- */
.section-header h2 { text-wrap: balance; }
@media (max-width: 749px) {
  .section-header { margin-block-end: 24px; gap: 14px; }
  .section-header .scroller-nav { display: none; }
  .scroller { margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); scroll-padding-inline: var(--gutter); grid-auto-columns: 68%; }
}
.split__empty { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: linear-gradient(160deg, var(--color-bg-alt), color-mix(in srgb, var(--color-accent) 20%, var(--color-bg-alt))); color: var(--color-accent); }
.split__empty .icon { width: 96px; height: 96px; stroke-width: .7; }
@media (max-width: 899px) { .split__media { aspect-ratio: 4/3 !important; } .split__content { max-width: none; } }
}
@media (max-width: 749px) { .promo-tile { min-height: 340px; } .promo-tile--wide { grid-column: auto; } .collection-tile__title { font-size: 15px; } }

/* ---------- Product cards ---------- */
.card__title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 16px; }
@media (max-width: 749px) {
  .card__info { padding-block-start: 12px; gap: 3px; }
  .card__title { font-size: 14.5px; }
  .card__vendor { font-size: 9.5px; }
  .card .price { font-size: 14px; }
  .card__actions { inset-inline: 8px; inset-block-end: 8px; }
  .card__actions .button { min-height: 36px; }
  .card__wish { width: 32px; height: 32px; inset-block-start: 8px; inset-inline-end: 8px; }
  .badge { font-size: 9px; padding: 4px 7px; }
  .card__badges { inset-block-start: 8px; inset-inline-start: 8px; }
}

/* ---------- Product page ---------- */
.product { padding-block: 0 var(--section-space); }
.gallery__dots { display: none; align-items: center; justify-content: center; gap: 6px; padding-block-start: 14px; }
.gallery__dot { width: 6px; height: 6px; border-radius: 3px; background: var(--color-border); transition: width .25s ease, background .25s ease; }
.gallery__dot.is-active { width: 18px; background: var(--color-text); }
.gallery__count { margin-inline-start: 10px; font-size: 12px; color: var(--color-muted); font-variant-numeric: tabular-nums; }
@media (max-width: 989px) {
  .product { gap: 22px; }
  .product__media { margin-inline: calc(var(--gutter) * -1); }
  .product__media .gallery__item { border-radius: 0; }
  .product__media .gallery__thumbs { display: none; }
  .product__media .gallery__dots { display: flex; }
  .breadcrumbs { font-size: 11px; padding-block: 12px; }
}
@media (min-width: 990px) {
  .product { grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr); gap: clamp(40px, 5vw, 80px); }
  .product__info-inner { max-width: 540px; }
}
.product__title-row .product__title { margin: 6px 0 12px; }
.product__title { font-size: calc(clamp(26px, 3vw, 38px) * var(--heading-scale)); line-height: 1.15; text-wrap: balance; }
.product__meta { padding-block-end: 18px; margin-block-end: 20px; }
.product__meta .price--large { font-size: 24px; }
.buy-buttons__row .button, .buy-block > .button, .buy-block product-form .button { min-height: 54px; }
.buy-buttons__row .quantity { height: 54px; }
.trust-inline { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; text-align: center; font-size: 12px; line-height: 1.35; }
.trust-inline span { flex-direction: column; justify-content: flex-start; gap: 8px; }
.trust-inline .icon { width: 22px; height: 22px; }
.product-accordion { border-block-start: 1px solid var(--color-border); margin-block: 10px 0; }
.product-accordion--row { border-block-start: 0; margin-block: 0; }
.product-accordion summary { padding: 18px 0; font-size: 13px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.product-accordion summary > span { gap: 12px; }
.product-accordion .accordion__content { font-size: 15px; }
@media (max-width: 749px) {
  .sticky-atc__product { display: flex; }
  .sticky-atc__product img, .sticky-atc__title { display: none; }
  .sticky-atc__inner { gap: 12px; }
  .sticky-atc .price { flex-wrap: nowrap; font-size: 15px; }
  .sticky-atc .price__compare { display: none; }
}

/* ---------- Footer ---------- */
@media (max-width: 749px) {
  .footer { padding-block: 56px 28px; }
  .footer__top { gap: 32px; padding-block-end: 40px; }
  .footer__bottom { flex-direction: column; align-items: flex-start; gap: 14px; }
}

/* Touch devices: one compact round quick-add button on product cards */
@media (hover: none) {
  .card__actions { inset-inline-start: auto; gap: 0; }
  .card__actions .button { flex: 0 0 38px; width: 38px; min-height: 38px; padding: 0; border-radius: 50%; background: var(--color-text); color: var(--color-bg); border-color: var(--color-text); box-shadow: 0 4px 14px rgba(0,0,0,.18); }
  .card__actions .button--icon { display: none; }
  .card__actions product-form { flex: 0 0 38px !important; }
}

/* Header always spans the full screen width, whatever wrapper Shopify adds */
.shopify-header-section, .header-wrapper, .header { width: 100%; }
.shopify-header-section { display: block; }

/* ---------- Trust badges (premium) ---------- */
.trust { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; }
.trust__item { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; padding: 22px 12px; position: relative; }
.trust__badge { width: 54px; height: 54px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--color-accent) 11%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 28%, transparent); flex-shrink: 0; }
.trust__badge .trust__icon { width: 24px; height: 24px; color: var(--color-accent); stroke-width: 1.4; }
.trust__text { display: flex; flex-direction: column; gap: 6px; }
.trust__item h3 { font-family: var(--font-body); font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; line-height: 1.4; margin: 0; color: var(--color-text); }
.trust__item p { font-size: 13px; line-height: 1.5; color: var(--color-muted); margin: 0; max-width: 240px; }
/* hairline dividers between badges */
.trust__item:nth-child(odd)::after { content: ""; position: absolute; inset-block: 22%; inset-inline-end: 0; width: 1px; background: var(--color-border); }
.trust__item:nth-child(-n+2) { border-block-end: 1px solid var(--color-border); }
.trust__item:nth-last-child(-n+2):nth-child(odd), .trust__item:nth-last-child(1) { border-block-end: 0; }
@media (max-width: 749px) {
  .trust__item { padding: 22px 8px; gap: 12px; }
  .trust__item h3 { font-size: 10px; letter-spacing: .16em; }
  .trust__item p { font-size: 12px; }
}
@media (min-width: 900px) {
  .trust { grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); }
  .trust__item { padding: 10px 24px; border-block-end: 0 !important; }
  .trust__item::after { content: ""; position: absolute; inset-block: 15%; inset-inline-end: 0; width: 1px; background: var(--color-border); }
  .trust__item:last-child::after { display: none; }
}

/* ---------- Promo tiles: premium category cards ---------- */
.promo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.promo-grid--stack { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 750px) { .promo-grid { grid-template-columns: repeat(var(--cols, 2), minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 24px); } .promo-card--wide { grid-column: span 2; } }
.promo-card { position: relative; display: block; overflow: hidden; border-radius: var(--radius); background: var(--tile-bg); color: var(--tile-fg); aspect-ratio: var(--tile-ratio, 4/5); isolation: isolate; }
.promo-card--wide { aspect-ratio: auto; }
.promo-card__media { position: absolute; inset: 0; z-index: -1; }
.promo-card__media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.001); transition: transform 1.4s cubic-bezier(.2,.8,.2,1); }
.promo-card:hover .promo-card__media img { transform: scale(1.06); }
.promo-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(10, 9, 7, .78) 0%, rgba(10, 9, 7, .28) 42%, rgba(10, 9, 7, 0) 70%); }
.promo-card--plain .promo-card__media { background: radial-gradient(110% 80% at 70% 20%, color-mix(in srgb, var(--tile-bg) 70%, #6b5638) 0%, var(--tile-bg) 60%); }
.promo-card--plain .promo-card__media::after { display: none; }
.promo-card__icon { position: absolute; inset-block-start: 22%; inset-inline-start: 50%; transform: translateX(-50%); color: color-mix(in srgb, var(--tile-fg) 35%, transparent); }
.promo-card__icon .icon { width: 72px; height: 72px; stroke-width: .7; }
.promo-card__content { position: absolute; inset-inline: 0; inset-block-end: 0; padding: clamp(16px, 3vw, 36px); display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.promo-card--center .promo-card__content { inset-block: 0; justify-content: center; align-items: center; text-align: center; }
.promo-card__eyebrow { font-size: 10px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; opacity: .85; }
.promo-card__title { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: clamp(19px, 2.6vw, 36px); line-height: 1.12; margin: 0; text-wrap: balance; }
.promo-card__cta { display: inline-flex; align-items: center; gap: 8px; margin-block-start: 4px; font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; padding-block-end: 4px; border-block-end: 1px solid currentColor; }
.promo-card__cta .icon { transition: transform .3s ease; }
.promo-card:hover .promo-card__cta .icon { transform: translateX(4px); }
[dir="rtl"] .promo-card:hover .promo-card__cta .icon { transform: translateX(-4px) scaleX(-1); }
@media (max-width: 749px) {
  .promo-card__content { padding: 14px 14px 16px; gap: 6px; }
  .promo-card__eyebrow { font-size: 9px; letter-spacing: .2em; }
  .promo-card__title { font-size: 19px; }
  .promo-card__cta { font-size: 9.5px; letter-spacing: .14em; }
  .promo-grid--stack .promo-card { aspect-ratio: 4/3; }
  .promo-grid--stack .promo-card__title { font-size: 26px; }
}

/* ---------- Collection toolbar (phones) ---------- */
@media (max-width: 749px) {
  .collection-toolbar { padding-block: 12px; margin-block-end: 20px; gap: 10px; }
  .collection-toolbar [data-product-count], .collection-toolbar .layout-switch { display: none; }
  .collection-toolbar label[for^="SortBy"] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .collection-toolbar__left button, .collection-toolbar select { height: 40px; border: 1px solid var(--color-border); border-radius: 999px; padding: 0 16px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; background-color: var(--color-bg); }
  .collection-toolbar select { max-width: 56vw; appearance: none; -webkit-appearance: none; padding-inline-end: 34px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23777' fill='none'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; text-overflow: ellipsis; }
  [dir="rtl"] .collection-toolbar select { background-position: left 14px center; }
  .collection-header { padding-block: 8px 24px; }
}

/* ---------- Product page polish ---------- */
.product__vendor { font-size: 10.5px; letter-spacing: .26em; }
.product__highlights { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 16px; padding: 0; }
.product__highlights li { display: inline-flex; align-items: baseline; gap: 6px; padding: 7px 12px; border: 1px solid var(--color-border); border-radius: 999px; font-size: 12.5px; background: var(--color-bg); }
.product__highlights li span { color: var(--color-muted); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.product__meta { align-items: flex-end; border-block-end: 1px solid var(--color-border); }
.product__meta .price { gap: 10px; }
.product__meta .price__compare { font-size: 16px; }
.option__legend { font-size: 11px; letter-spacing: .16em; margin-block-end: 10px; }
.option__pill { min-width: 60px; padding: 11px 18px; font-size: 13px; letter-spacing: .04em; transition: border-color .2s, background .2s, color .2s; }
.option__pill:hover { border-color: var(--color-text); }
.option__swatch { width: 36px; height: 36px; box-shadow: inset 0 0 0 2px var(--color-bg); }
input:checked + .option__swatch { outline: 1.5px solid var(--color-text); outline-offset: 3px; }
.stock { font-size: 12.5px; margin-block: 4px 16px; }
.buy-block { gap: 10px; }
.buy-block .button, .buy-buttons__row .button { letter-spacing: .2em; font-size: 11.5px; }
.button--whatsapp { background: #1DA851; border-color: #1DA851; }
.button--whatsapp:hover { background: #17924A; border-color: #17924A; }
/* service panel: trust row + delivery estimate as one soft card */
.trust-inline { background: var(--color-bg-alt); border: 0; border-radius: var(--radius); padding: 18px 10px; margin-block: 20px 0; }
.trust-inline + .info-inline, .info-inline { background: var(--color-bg-alt); border: 0; border-radius: var(--radius); padding: 14px 16px; margin-block-start: 10px; }
.info-inline strong { font-size: 13.5px; }
.product-accordion { margin-block-start: 24px; }
.share { padding-block: 18px 0; }
@media (max-width: 749px) {
  .product__title { font-size: 26px; }
  .product__meta .price--large { font-size: 22px; }
  .product__highlights li { font-size: 12px; padding: 6px 10px; }
  .trust-inline { font-size: 11px; padding: 16px 6px; }
}
.collection-toolbar .layout-switch { }
@media (max-width: 749px) { .collection-toolbar .layout-switch { display: none !important; } }
@media (min-width: 750px) { .promo-card { max-height: min(78vh, 720px); } }
.product-accordion.product-accordion--row { margin-block-start: 0; }
.product-accordion--row summary > span .icon { display: none; }
.product-accordion--row summary > span { gap: 0; }

/* ---------- Trust badges: animated scrolling cards ---------- */
.trust-marquee { position: relative; overflow: hidden; padding: 18px 0; background: #fff; border: 1px solid var(--color-border); border-radius: 22px; box-shadow: 0 18px 50px rgba(20, 18, 14, .06); -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); }
.trust-marquee__track { display: flex; width: max-content; animation: trust-marquee var(--marquee-speed, 28s) linear infinite; will-change: transform; }
.trust-marquee__group { display: flex; gap: 18px; padding-inline-end: 18px; }
.trust-marquee:hover .trust-marquee__track, .trust-marquee:active .trust-marquee__track, .trust-marquee:focus-within .trust-marquee__track { animation-play-state: paused; }
@keyframes trust-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes trust-marquee-rtl { from { transform: translateX(0); } to { transform: translateX(50%); } }
[dir="rtl"] .trust-marquee__track { animation-name: trust-marquee-rtl; }

.trust-marquee .trust__item { flex: 0 0 auto; width: 260px; min-height: 150px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 22px 20px; text-align: center; background: var(--color-bg-alt); border: 1px solid var(--color-border); border-inline-start: 4px solid var(--color-text); border-radius: 16px; box-shadow: 0 6px 18px rgba(20, 18, 14, .05); }
.trust-marquee .trust__item::after { display: none !important; }
.trust-marquee .trust__badge { width: 58px; height: 58px; background: color-mix(in srgb, var(--color-accent) 16%, transparent); box-shadow: none; }
.trust-marquee .trust__badge .trust__icon { width: 26px; height: 26px; color: var(--color-accent); }
.trust-marquee .trust__item h3 { font-size: 15px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; color: var(--color-text); }
.trust-marquee .trust__item p { font-size: 12.5px; max-width: 210px; }
@media (max-width: 749px) {
  .trust-marquee { padding: 14px 0; border-radius: 18px; }
  .trust-marquee .trust__item { width: 200px; min-height: 128px; padding: 18px 14px; gap: 12px; border-radius: 14px; }
  .trust-marquee .trust__badge { width: 50px; height: 50px; }
  .trust-marquee .trust__item h3 { font-size: 13px; }
  .trust-marquee__group { gap: 14px; padding-inline-end: 14px; }
}
/* Visitors who prefer less motion: a still row they can swipe */
@media (prefers-reduced-motion: reduce) {
  .trust-marquee { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
  .trust-marquee__track { animation: none !important; padding-inline: 18px; }
  .trust-marquee__group[aria-hidden="true"] { display: none; }
}

/* ---------- Standard-size product cards on phones ---------- */
@media (max-width: 749px) {
  .grid { gap: 22px 12px; }
  .collection-grid .grid { gap: 26px 12px; }
  .scroller { grid-auto-columns: calc(50% - 20px); gap: 12px; }
  .card__media { border-radius: calc(var(--radius) * .75); }
  .card__info { padding-block-start: 10px; gap: 2px; }
  .card__vendor { font-size: 9px; letter-spacing: .16em; }
  .card__title { font-size: 13.5px; line-height: 1.35; }
  .card .price { font-size: 13.5px; gap: 6px; flex-wrap: wrap; }
  .card .price__compare { font-size: 11.5px; }
  .card__swatches { margin-block-start: 4px; gap: 5px; }
  .card__swatch { width: 13px; height: 13px; }
  .card__swatch-more { font-size: 10px; }
  .card__badges { inset-block-start: 6px; inset-inline-start: 6px; gap: 4px; }
  .badge { font-size: 8.5px; padding: 3px 6px; letter-spacing: .1em; }
  .card__wish { width: 30px; height: 30px; inset-block-start: 6px; inset-inline-end: 6px; }
  .card__wish .icon { width: 13px; height: 13px; }
  .card__actions { inset-inline-end: 6px; inset-block-end: 6px; }
}
@media (max-width: 749px) and (hover: none) {
  .card__actions .button { flex-basis: 34px; width: 34px; min-height: 34px; }
  .card__actions product-form { flex: 0 0 34px !important; }
  .card__actions .icon { width: 13px; height: 13px; }
}
/* Product page on phones: calmer sizes */
@media (max-width: 749px) {
  .product__title { font-size: 23px; }
  .product__meta .price--large { font-size: 20px; }
  .product__meta .price__compare { font-size: 14px; }
  .product__media .gallery__item { aspect-ratio: 1; }
}

/* ==========================================================================
   Homepage v3 sections
   ========================================================================== */
tab-group { display: block; }
.tabs-nav { display: flex; justify-content: center; gap: 6px; flex-wrap: wrap; margin-block-end: 28px; }
.tabs-nav--start { justify-content: flex-end; margin: 0; }
.tabs-nav__btn { padding: 10px 20px; border: 1px solid var(--color-border); border-radius: 999px; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--color-muted); background: var(--color-bg); transition: background .25s, color .25s, border-color .25s; white-space: nowrap; }
.tabs-nav__btn:hover { border-color: var(--color-text); color: var(--color-text); }
.tabs-nav__btn[aria-selected="true"] { background: var(--color-text); border-color: var(--color-text); color: var(--color-bg); }
@media (max-width: 749px) {
  .tabs-nav { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; scrollbar-width: none; margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); }
  .tabs-nav::-webkit-scrollbar { display: none; }
  .tabs-nav__btn { padding: 9px 16px; font-size: 10px; }
}

/* ---------- Brand showcase ---------- */
.brands__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; list-style: none; margin: 0; padding: 0; }
.brand-tile { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 120px; padding: 22px 14px; background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius); text-align: center; transition: border-color .3s, box-shadow .3s, transform .3s; overflow: hidden; }
.brand-tile::before { content: ""; position: absolute; inset-inline: 0; inset-block-end: 0; height: 2px; background: var(--color-accent); transform: scaleX(0); transition: transform .35s ease; }
.brand-tile:hover { border-color: color-mix(in srgb, var(--color-text) 35%, transparent); box-shadow: 0 14px 34px rgba(20, 18, 14, .07); transform: translateY(-2px); }
.brand-tile:hover::before { transform: scaleX(1); }
.brand-tile__name { font-family: var(--font-heading); font-size: 20px; letter-spacing: .14em; text-transform: uppercase; line-height: 1.2; color: var(--color-text); }
.brand-tile__logo { max-height: 44px; max-width: 140px; width: auto; object-fit: contain; filter: grayscale(1); opacity: .85; transition: filter .3s, opacity .3s; }
.brand-tile:hover .brand-tile__logo { filter: none; opacity: 1; }
.brand-tile__cta { display: inline-flex; align-items: center; gap: 6px; font-size: 10px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--color-muted); opacity: 0; transform: translateY(4px); transition: opacity .3s, transform .3s; }
.brand-tile:hover .brand-tile__cta { opacity: 1; transform: none; color: var(--color-accent); }
@media (hover: none) { .brand-tile__cta { opacity: 1; transform: none; } }
@media (max-width: 749px) {
  .brands__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .brand-tile { min-height: 92px; padding: 16px 10px; gap: 6px; }
  .brand-tile__name { font-size: 14.5px; letter-spacing: .1em; }
  .brand-tile__cta { font-size: 9px; }
}

/* ---------- Product tabs carousel ---------- */
.showcase__header { align-items: flex-end; }
.showcase__footer { display: flex; justify-content: center; margin-block-start: 32px; }
@media (max-width: 749px) {
  .showcase__header { flex-direction: column; align-items: stretch; gap: 16px; }
  .showcase__header .tabs-nav { margin-block-start: 4px; }
  .showcase__footer { margin-block-start: 24px; }
}

/* ---------- Watch of the week ---------- */
.spotlight { display: grid; gap: clamp(24px, 5vw, 72px); align-items: center; }
@media (min-width: 990px) { .spotlight { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); } }
.spotlight > * { min-width: 0; }
.spotlight__media { position: relative; }
.spotlight__media .gallery__item { border-radius: var(--radius); }
.spotlight__image { aspect-ratio: 1; }
.spotlight__image img { width: 100%; height: 100%; object-fit: cover; }
.spotlight__badge { position: absolute; inset-block-start: 16px; inset-inline-start: 16px; z-index: 2; padding: 7px 14px; background: var(--color-text); color: var(--color-bg); font-size: 10px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; border-radius: 999px; }
.spotlight__info { max-width: 520px; }
.spotlight__title { margin-block: 6px 14px; }
.spotlight__title a:hover { color: var(--color-accent); }
.spotlight__text { margin-block-end: 18px; color: var(--color-muted); }
.spotlight__more { margin-block-start: 22px; }
.spotlight .gallery__thumbs { display: none; }
.spotlight .gallery__dots { display: flex; }
@media (max-width: 989px) { .spotlight__info { max-width: none; } }

/* ---------- Shop by budget ---------- */
.budget-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; list-style: none; margin: 0; padding: 0; }
@media (min-width: 900px) { .budget-grid { grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); gap: 18px; } }
.budget-tile { position: relative; display: flex; flex-direction: column; gap: 8px; min-height: 150px; padding: 24px 22px; border-radius: var(--radius); background: linear-gradient(150deg, var(--color-bg-alt), color-mix(in srgb, var(--color-accent) 14%, var(--color-bg-alt))); border: 1px solid var(--color-border); overflow: hidden; transition: transform .3s, box-shadow .3s; }
.budget-tile::after { content: ""; position: absolute; inset-inline-end: -40px; inset-block-start: -40px; width: 140px; height: 140px; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--color-accent) 35%, transparent); }
.budget-tile:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(20, 18, 14, .08); }
.budget-tile__label { font-size: 10.5px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--color-accent); }
.budget-tile__range { font-family: var(--font-heading); font-size: clamp(19px, 2vw, 26px); line-height: 1.2; color: var(--color-text); }
.budget-tile__cta { margin-block-start: auto; width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--color-text); color: var(--color-bg); transition: transform .3s; }
.budget-tile:hover .budget-tile__cta { transform: translateX(4px); }
@media (max-width: 749px) { .budget-tile { min-height: 132px; padding: 18px 16px; } .budget-tile__range { font-size: 17px; } .budget-tile__cta { width: 32px; height: 32px; } }

/* ---------- Boutique ---------- */
.boutique { display: grid; gap: clamp(24px, 5vw, 72px); align-items: center; }
@media (min-width: 990px) { .boutique { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); } }
.boutique > * { min-width: 0; }
.boutique__media { aspect-ratio: 4/3; border-radius: var(--radius); overflow: hidden; background: var(--color-bg-alt); }
.boutique__media img, .boutique__map { width: 100%; height: 100%; object-fit: cover; border: 0; display: block; }
.boutique__map { filter: grayscale(.85) contrast(1.05); }
.boutique__facts { list-style: none; margin: 24px 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.boutique__facts li { display: flex; gap: 14px; align-items: flex-start; }
.boutique__facts .icon { color: var(--color-accent); margin-block-start: 2px; }
.boutique__facts strong { display: block; font-size: 10.5px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; margin-block-end: 2px; }
.boutique__facts span, .boutique__facts a { font-size: 15px; }
.boutique__buttons { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 749px) { .boutique__buttons .button { flex: 1 1 100%; } .boutique__media { aspect-ratio: 16/11; } }

/* ---------- Social gallery ---------- */
.social-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; list-style: none; margin: 0; padding: 0; }
@media (min-width: 750px) { .social-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; } }
.social-tile { position: relative; display: block; aspect-ratio: 1; overflow: hidden; border-radius: calc(var(--radius) * .6); background: var(--color-bg-alt); }
.social-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.social-tile:hover img { transform: scale(1.06); }
.social-tile__empty { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--color-muted); }
.social-tile__overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(15, 13, 10, .35); color: #fff; opacity: 0; transition: opacity .3s; }
.social-tile:hover .social-tile__overlay { opacity: 1; }

/* ---------- WhatsApp band ---------- */
.cta-band { background: var(--cta-bg); color: var(--cta-fg); }
.cta-band .eyebrow { color: color-mix(in srgb, var(--color-accent) 80%, #fff); }
.cta-band__inner { display: grid; gap: 36px; align-items: center; }
@media (min-width: 990px) { .cta-band__inner { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 80px; } }
.cta-band h2 { color: inherit; max-width: 560px; }
.cta-band .rte { opacity: .8; max-width: 520px; }
.cta-band__wa { margin-block-start: 22px; }
.cta-band__form-title { font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; opacity: .85; margin: 0 0 6px; }
.cta-band .newsletter-form { margin: 0; max-width: none; border-color: color-mix(in srgb, var(--cta-fg) 45%, transparent); }
.cta-band .newsletter-form .input { color: inherit; }
.cta-band .newsletter-form .input::placeholder { color: color-mix(in srgb, var(--cta-fg) 55%, transparent); }
/* Brand grid: centered rows (5 per row on laptop, 3 on phones) */
.brands__grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.brands__grid > li { flex: 0 0 calc((100% - 4 * 12px) / 5); }
@media (max-width: 989px) { .brands__grid > li { flex-basis: calc((100% - 3 * 12px) / 4); } }
@media (max-width: 749px) {
  .brands__grid { gap: 8px; }
  .brands__grid > li { flex-basis: calc((100% - 2 * 8px) / 3); }
  .brand-tile { min-height: 70px; padding: 12px 6px; gap: 4px; }
  .brand-tile__name { font-size: 11.5px; letter-spacing: .06em; }
  .brand-tile__cta { display: none; }
  .brand-tile__logo { max-height: 30px; max-width: 90%; }
}
/* Category cards: fill their columns on laptops */
@media (min-width: 750px) { .promo-card { max-height: none; aspect-ratio: var(--tile-ratio-desktop, 5/4); } }
@media (min-width: 750px) { .brand-tile__cta { position: absolute; inset-block-end: 12px; inset-inline: 0; justify-content: center; } }

/* Trust badges: compact standard strip (small icon beside the title) */
.trust-marquee { padding: 12px 0; border-radius: 16px; }
.trust-marquee .trust__item { flex-direction: row; justify-content: flex-start; width: auto; min-width: 210px; min-height: 0; gap: 12px; padding: 12px 20px 12px 16px; text-align: start; border-radius: 12px; border-inline-start-width: 3px; }
.trust-marquee .trust__badge { width: 38px; height: 38px; }
.trust-marquee .trust__badge .trust__icon { width: 18px; height: 18px; stroke-width: 1.5; }
.trust-marquee .trust__text { gap: 2px; }
.trust-marquee .trust__item h3 { font-size: 12px; font-weight: 600; letter-spacing: .08em; white-space: nowrap; }
.trust-marquee .trust__item p { font-size: 11.5px; max-width: 200px; }
.trust-marquee__group { gap: 12px; padding-inline-end: 12px; }
@media (max-width: 749px) {
  .trust-marquee { padding: 10px 0; border-radius: 14px; }
  .trust-marquee .trust__item { min-width: 0; padding: 10px 16px 10px 12px; gap: 10px; border-radius: 10px; }
  .trust-marquee .trust__badge { width: 32px; height: 32px; }
  .trust-marquee .trust__badge .trust__icon { width: 15px; height: 15px; }
  .trust-marquee .trust__item h3 { font-size: 11px; letter-spacing: .06em; }
  .trust-marquee__group { gap: 10px; padding-inline-end: 10px; }
}
/* Grid layout option: smaller icon circles too */
.trust .trust__badge { width: 44px; height: 44px; }
.trust .trust__badge .trust__icon { width: 20px; height: 20px; }

/* ---------- Desktop menu: always one line ---------- */
@media (min-width: 1100px) {
  .header__nav { min-width: 0; }
  .header__nav .nav { flex-wrap: nowrap; gap: 0; }
  .header__nav .nav__link { white-space: nowrap; }
}
@media (min-width: 1100px) and (max-width: 1439px) {
  .header__nav .nav__link { padding-inline: 10px; letter-spacing: .1em; font-size: 11.5px; }
  .header__nav .nav__link::after { inset-inline: 10px; }
  .header--logo-left .header__inner { gap: 20px; }
}
@media (min-width: 1100px) and (max-width: 1259px) {
  .header__nav .nav__link { padding-inline: 7px; letter-spacing: .06em; font-size: 11px; }
  .header__nav .nav__link::after { inset-inline: 7px; }
}

/* ==========================================================================
   v4 · Product cards with one-tap cart + premium product page
   ========================================================================== */
/* --- Card: always-visible cart button --- */
.card__cart-form { position: absolute; inset-block-end: 12px; inset-inline-end: 12px; z-index: 3; margin: 0; }
.card__cart-form form { margin: 0; }
.card__media > .card__cart { position: absolute; inset-block-end: 12px; inset-inline-end: 12px; z-index: 3; }
.card__cart { position: relative; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; display: grid; place-items: center; background: var(--color-text); color: var(--color-bg); box-shadow: 0 6px 18px rgba(0,0,0,.16); cursor: pointer; transition: transform .2s ease, background .2s ease, color .2s ease; }
.card__cart:hover { transform: scale(1.08); background: var(--color-accent); color: var(--color-accent-text); }
.card__cart:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
.card__cart .icon { width: 18px; height: 18px; stroke-width: 1.6; }
.card__cart-done { display: none; }
.card__cart.is-loading .icon { opacity: .35; }
.card__cart.is-added { background: var(--color-success); color: #fff; }
.card__cart.is-added .card__cart-icon { display: none; }
.card__cart.is-added .card__cart-done { display: block; }
@media (hover: hover) {
  .card__cart::after { content: attr(data-tip); position: absolute; inset-inline-end: calc(100% + 8px); inset-block-start: 50%; transform: translateY(-50%); padding: 6px 10px; border-radius: 4px; background: var(--color-text); color: var(--color-bg); font-size: 11px; letter-spacing: .06em; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity .2s ease; }
  .card__cart:hover::after { opacity: 1; }
}
.card__quick { position: absolute; inset-block-end: 12px; inset-inline-start: 12px; z-index: 3; display: inline-flex; align-items: center; gap: 7px; height: 44px; padding: 0 16px; border: 0; border-radius: 999px; background: rgba(255,255,255,.95); color: #111; font-size: 11px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; box-shadow: 0 6px 18px rgba(0,0,0,.08); opacity: 0; transform: translateY(8px); transition: opacity .3s ease, transform .3s ease; }
.card:hover .card__quick, .card__quick:focus-visible { opacity: 1; transform: none; }
@media (hover: none) { .card__quick { display: none; } }
@media (max-width: 749px) {
  .card__cart-form, .card__media > .card__cart { inset-block-end: 8px; inset-inline-end: 8px; }
  .card__cart { width: 38px; height: 38px; }
  .card__cart .icon { width: 16px; height: 16px; }
}
@media (max-width: 380px) { .card__cart { width: 34px; height: 34px; } .card__cart .icon { width: 14px; height: 14px; } }

/* --- Product page --- */
.product__vendor a { color: inherit; }
.product__vendor a:hover { text-decoration: underline; text-underline-offset: 3px; }
.product__title-actions { display: flex; gap: 8px; flex-shrink: 0; margin-block-start: 6px; }
.product__title-actions .wish-btn { width: 42px; height: 42px; }
.product__highlights { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 8px; margin: 4px 0 22px; }
.product__highlights li { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 12px 14px; border-radius: calc(var(--radius) + 6px); font-size: 13.5px; font-weight: 500; line-height: 1.3; background: var(--color-bg-alt); border-color: transparent; }
.product__highlights li span { font-weight: 400; }
.product__price-wrap { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.product__savings { display: inline-flex; padding: 4px 10px; border-radius: 999px; background: color-mix(in srgb, var(--color-success) 11%, transparent); color: var(--color-success); font-size: 12px; font-weight: 600; letter-spacing: .02em; }
.product__price-note { width: 100%; margin: 4px 0 0; font-size: 13px; color: var(--color-muted); }
.buy-buttons .button .icon { width: 17px; height: 17px; }

.gift-option { display: flex; flex-direction: column; gap: 12px; margin-block-end: 14px; padding: 14px 16px; border: 1px dashed color-mix(in srgb, var(--color-text) 28%, transparent); border-radius: calc(var(--radius) + 6px); }
.gift-option__toggle { position: relative; display: flex; align-items: center; gap: 10px; font-size: 14px; line-height: 1.35; cursor: pointer; }
.gift-option__toggle > .icon { color: var(--color-accent); flex-shrink: 0; }
.gift-option__toggle input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.gift-option__box { width: 20px; height: 20px; flex-shrink: 0; display: grid; place-items: center; border: 1px solid var(--color-text); border-radius: 5px; transition: background .2s ease; }
.gift-option__box .icon { width: 13px; height: 13px; opacity: 0; stroke-width: 2.2; }
.gift-option__toggle input:checked + .gift-option__box { background: var(--color-text); color: var(--color-bg); }
.gift-option__toggle input:checked + .gift-option__box .icon { opacity: 1; }
.gift-option__toggle input:focus-visible + .gift-option__box { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.gift-option__message { min-height: 70px; resize: vertical; font-size: 14px; }
.gift-option__message[hidden] { display: none; }

.trust-inline { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 1px; padding: 0; overflow: hidden; border-radius: calc(var(--radius) + 6px); background: color-mix(in srgb, var(--color-text) 8%, var(--color-bg-alt)); }
.trust-inline span { flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 8px; padding: 16px 8px; font-size: 12px; line-height: 1.35; background: var(--color-bg-alt); }
.trust-inline .icon { width: 22px; height: 22px; }

.expert-card { display: flex; gap: 14px; align-items: flex-start; margin-block-start: 12px; padding: 18px; border: 1px solid var(--color-border); border-radius: calc(var(--radius) + 6px); }
.expert-card__icon { width: 44px; height: 44px; flex-shrink: 0; display: grid; place-items: center; border-radius: 50%; background: var(--color-bg-alt); color: var(--color-accent); }
.expert-card__title { margin: 0; font-family: var(--font-heading); font-size: 18px; line-height: 1.25; }
.expert-card__text { margin: 4px 0 12px; font-size: 13.5px; line-height: 1.5; color: var(--color-muted); }
.expert-card__links { display: flex; flex-wrap: wrap; gap: 10px 20px; }
.expert-card__links a { display: inline-flex; align-items: center; gap: 7px; padding-block-end: 2px; border-block-end: 1px solid currentColor; font-size: 13px; font-weight: 500; }
.expert-card__links a:first-child { color: #1A9E4B; }

.pay-methods { display: flex; flex-direction: column; gap: 10px; margin-block-start: 18px; }
.pay-methods__label { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--color-muted); }
.pay-methods__list { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.pay-methods__list li { padding: 6px 11px; border: 1px solid var(--color-border); border-radius: 6px; background: var(--color-bg); font-size: 12px; font-weight: 500; }
@media (max-width: 749px) {
  .product__highlights { grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 6px; }
  .product__highlights li { padding: 10px 11px; font-size: 12.5px; }
  .trust-inline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .expert-card { padding: 16px; }
}

/* ==========================================================================
   v5 · Clean, quiet product presentation
   ========================================================================== */
/* One small, quiet label per card */
.badge, .badge--sale, .badge--soldout, .badge--preorder { padding: 5px 9px; border: 0; border-radius: 999px; background: rgba(255,255,255,.92); color: var(--color-text); font-size: 9.5px; font-weight: 500; letter-spacing: .14em; box-shadow: 0 1px 4px rgba(0,0,0,.05); }
.badge--sale { color: var(--color-sale); }
.badge--soldout { color: var(--color-muted); }
.badge--preorder { color: var(--color-accent); }
.card__badges { inset-block-start: 12px; inset-inline-start: 12px; gap: 0; }

/* Stacked prices: selling price on top, regular price below */
.price--sale .price__current { color: var(--color-text); }
.card .price { flex-direction: column; align-items: center; gap: 2px; flex-wrap: nowrap; }
.card .price__current { font-size: 15px; font-weight: 500; letter-spacing: .01em; }
.card .price__compare { font-size: 12.5px; }

/* Calm card layout */
.card__info { align-items: center; text-align: center; gap: 4px; padding-block-start: 14px; }
.card__vendor { font-size: 10px; letter-spacing: .2em; color: var(--color-muted); }
.card__title { font-size: 15.5px; line-height: 1.35; margin: 0; }
.card__swatches { justify-content: center; margin-block-start: 6px; }
.card--soldout .price__current { color: var(--color-muted); }

/* Lighter controls on the photo */
.card__cart { width: 40px; height: 40px; background: rgba(255,255,255,.95); color: var(--color-text); box-shadow: 0 2px 10px rgba(0,0,0,.08); }
.card__cart:hover { background: var(--color-text); color: var(--color-bg); }
.card__cart .icon { width: 17px; height: 17px; }
.card__wish { width: 34px; height: 34px; background: transparent; box-shadow: none; color: var(--color-text); }
.card__wish:hover, .card__wish[aria-pressed="true"] { background: rgba(255,255,255,.92); }
@media (hover: hover) {
  .card__wish:not([aria-pressed="true"]) { opacity: 0; transition: opacity .25s ease; }
  .card:hover .card__wish, .card__wish:focus-visible { opacity: 1; }
}
@media (max-width: 749px) {
  .card__badges { inset-block-start: 8px; inset-inline-start: 8px; }
  .badge, .badge--sale, .badge--soldout, .badge--preorder { font-size: 8.5px; padding: 4px 7px; letter-spacing: .12em; }
  .card__info { padding-block-start: 10px; gap: 3px; }
  .card__title { font-size: 13.5px; }
  .card .price__current { font-size: 13.5px; }
  .card .price__compare { font-size: 11.5px; }
  .card__swatches { display: none; }
  .card__cart { width: 34px; height: 34px; }
  .card__cart .icon { width: 15px; height: 15px; }
  .card__wish { width: 30px; height: 30px; inset-block-start: 4px; inset-inline-end: 4px; }
}

/* Product page: stacked price, no duplicate sale label */
.product__meta { align-items: flex-start; }
.product__meta .price { flex-direction: column; align-items: flex-start; gap: 4px; }
.product__meta .price--large .price__current { font-size: 28px; font-weight: 500; letter-spacing: .01em; line-height: 1.15; }
.product__meta .price__compare { font-size: 15px; }
.product__savings { margin-block-start: 4px; }
.product__meta [data-dynamic^="badges-"]:empty { display: none; }
@media (max-width: 749px) { .product__meta .price--large .price__current { font-size: 24px; } }

/* Quick view & spotlight: same calm price */
.quick-view .price, .spotlight .price { flex-direction: column; align-items: flex-start; gap: 4px; }
.card__quick { height: 38px; padding: 0 14px; font-size: 10.5px; box-shadow: 0 2px 10px rgba(0,0,0,.06); }
.product__highlights + .product__meta, .product__title-row + .product__meta { margin-block-start: 12px; }

/* Sold out: clear but refined */
.badge--soldout { background: var(--color-text); color: var(--color-bg); box-shadow: none; }

/* Collection toolbar stays in place instead of floating over products */
.collection-toolbar { position: static; }
.card--soldout .card__media .card__img--primary { opacity: 1; filter: none; }

/* Sale price in the theme's refined red (Theme settings → Colors → Sale) */
.price--sale .price__current, .card .price--sale .price__current, .product__meta .price--sale .price__current { color: var(--color-sale); }
.card--soldout .price--sale .price__current { color: var(--color-muted); }

/* ==========================================================================
   v6 · Refined menu bar & dropdowns
   ========================================================================== */
.header { border-block-end: 1px solid color-mix(in srgb, var(--color-text) 8%, transparent); }
.header-wrapper--sticky.is-scrolled .header, .is-scrolled .header { box-shadow: 0 6px 24px rgba(0,0,0,.05); }
@media (min-width: 1100px) {
  .header__nav .nav__link { font-weight: 500; letter-spacing: .17em; }
  .nav__link .icon-chevron-down { width: 10px; height: 10px; margin-inline-start: 2px; opacity: .55; transition: transform .3s ease, opacity .3s ease; }
  .nav__item:hover > .nav__link .icon-chevron-down, .nav__item:focus-within > .nav__link .icon-chevron-down { transform: rotate(180deg); opacity: 1; }
  .nav__link::after { height: 1.5px; transform-origin: center; background: var(--color-accent); }
  .nav__link[aria-current="page"]::after { background: currentColor; }
  .nav__item:hover > .nav__link { color: var(--color-accent); }

  /* Simple dropdown */
  .dropdown { inset-inline-start: 50%; min-width: 240px; padding: 22px 0 0; border: 1px solid color-mix(in srgb, var(--color-text) 7%, transparent); border-radius: 10px; box-shadow: 0 24px 50px -12px rgba(0,0,0,.14); transform: translate(-50%, 10px); transition: opacity .25s ease, transform .25s ease, visibility .25s; }
  .nav__item:hover > .dropdown, .nav__item:focus-within > .dropdown { transform: translate(-50%, 0); }
  .dropdown::before { content: ""; position: absolute; inset-inline: 0; inset-block-end: 100%; height: 14px; }
  .dropdown__list { display: grid; grid-auto-flow: row; padding: 0 10px; }
  .dropdown--cols-2 { min-width: 440px; } .dropdown--cols-2 .dropdown__list { grid-template-columns: repeat(2, 1fr); }
  .dropdown--cols-3 { min-width: 620px; } .dropdown--cols-3 .dropdown__list { grid-template-columns: repeat(3, 1fr); }
  .dropdown a { position: relative; padding: 8px 14px; border-radius: 6px; font-size: 14px; transition: background .2s ease, color .2s ease, padding .2s ease; }
  .dropdown__list a:hover, .dropdown__list a[aria-current="page"] { background: var(--color-bg-alt); color: var(--color-text); padding-inline-start: 18px; }
  .dropdown__all { display: flex !important; align-items: center; justify-content: space-between; gap: 8px; margin-block-start: 14px; padding: 14px 24px !important; border-block-start: 1px solid var(--color-border); border-radius: 0 0 10px 10px !important; font-size: 11px !important; letter-spacing: .16em; text-transform: uppercase; font-weight: 500; color: var(--color-accent); }
  .dropdown__all:hover { background: var(--color-bg-alt); }

  /* Mega menu */
  .mega { border-block: 0; box-shadow: 0 30px 60px -20px rgba(0,0,0,.16); border-block-start: 1px solid color-mix(in srgb, var(--color-text) 7%, transparent); }
  .mega__inner { padding-block: 40px 36px; gap: 56px; }
  .mega--no-promo .mega__inner { grid-template-columns: 1fr; }
  .mega__main { display: flex; flex-direction: column; gap: 28px; }
  .mega--no-promo .mega__main { align-items: center; }
  .mega__columns { grid-template-columns: repeat(var(--mega-cols, 4), minmax(160px, 220px)); gap: 0; }
  .mega__columns > div { padding-inline: 32px; border-inline-start: 1px solid var(--color-border); }
  .mega__columns > div:first-child { border-inline-start: 0; padding-inline-start: 0; }
  .mega--no-promo .mega__columns > div:first-child { padding-inline-start: 32px; }
  .mega__title { font-size: 10.5px; letter-spacing: .22em; margin-block-end: 16px; }
  .mega__columns a:not(.mega__title) { padding-block: 6px; font-size: 14.5px; color: color-mix(in srgb, var(--color-text) 85%, transparent); transition: color .2s ease, transform .2s ease; }
  .mega__columns a:not(.mega__title):hover { color: var(--color-text); transform: translateX(4px); }
  .mega__all { display: inline-flex; align-items: center; gap: 10px; align-self: flex-start; padding-block-end: 3px; border-block-end: 1px solid currentColor; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; font-weight: 500; }
  .mega--no-promo .mega__all { align-self: center; }
  .mega__all:hover { color: var(--color-accent); }
}
@media (min-width: 1100px) {
  .nav > .nav__item--dropdown:nth-last-child(-n+2) > .dropdown { inset-inline-start: auto; inset-inline-end: 0; transform: translateY(10px); }
  .nav > .nav__item--dropdown:nth-last-child(-n+2):hover > .dropdown, .nav > .nav__item--dropdown:nth-last-child(-n+2):focus-within > .dropdown { transform: none; }
  .nav > .nav__item--dropdown:first-child > .dropdown { inset-inline-start: 0; transform: translateY(10px); }
  .nav > .nav__item--dropdown:first-child:hover > .dropdown, .nav > .nav__item--dropdown:first-child:focus-within > .dropdown { transform: none; }
}

/* ==========================================================================
   v7 · Category tiles on phones: editorial cards, text below the image
   ========================================================================== */
@media (max-width: 749px) {
  .promo-grid--stack { grid-template-columns: 1fr; gap: 30px; }
  .promo-grid--stack .promo-card { aspect-ratio: var(--tile-ratio-mobile, 4/3); }
  .promo-grid--below .promo-card { aspect-ratio: auto; display: flex; flex-direction: column; overflow: visible; border-radius: 0; background: none; color: var(--color-text); }
  .promo-grid--below .promo-card__media { position: relative; inset: auto; z-index: 0; aspect-ratio: var(--tile-ratio-mobile, 4/3); overflow: hidden; border-radius: calc(var(--radius) + 4px); background: var(--tile-bg); }
  .promo-grid--below .promo-card__media::after { display: none; }
  .promo-grid--below .promo-card__content { position: static; padding: 16px 2px 0; gap: 5px; }
  .promo-grid--below .promo-card__eyebrow { color: var(--color-accent); opacity: 1; font-size: 10px; letter-spacing: .24em; }
  .promo-grid--below .promo-card__title { font-size: 24px; line-height: 1.15; }
  .promo-grid--below .promo-card__cta { margin-block-start: 6px; font-size: 10.5px; letter-spacing: .18em; border-color: currentColor; }
  .promo-grid--below:not(.promo-grid--stack) { gap: 14px; }
  .promo-grid--below:not(.promo-grid--stack) .promo-card__title { font-size: 17px; }
  .promo-grid--below:not(.promo-grid--stack) .promo-card__content { padding-block-start: 12px; }
}

/* ==========================================================================
   v8 · Uniform product photos, bolder prices, cleaner menus
   ========================================================================== */
/* Product photos: same frame, whole watch visible, seamless background */
.card__media { background: var(--card-img-bg, #fff); }
.card__media img { object-fit: var(--card-fit, contain); padding: var(--card-img-pad, 7%); }
.card:hover .card__media img { transform: scale(1.035); }
.gallery__item, .spotlight .gallery__item, .quick-view .gallery__item { background: var(--card-img-bg, #fff); }
.gallery__item img { object-fit: var(--card-fit, contain); }
.predictive__item img, .mini-card img, .cart-item__image img, .sticky-atc__product img { object-fit: contain; background: var(--card-img-bg, #fff); }

/* Prices: a little bolder */
.price__current { font-weight: 600; }
.card .price__current { font-weight: 600; letter-spacing: .01em; }
.product__meta .price--large .price__current { font-weight: 600; }
.price__compare { font-weight: 400; }

/* Desktop menu: smaller, lighter, calmer */
@media (min-width: 1100px) {
  .header__nav .nav__link { font-size: 11px; letter-spacing: .18em; font-weight: 500; }
  .dropdown a { font-size: 13.5px; }
  .mega__columns a:not(.mega__title) { font-size: 14px; }
}
@media (min-width: 1100px) and (max-width: 1259px) { .header__nav .nav__link { font-size: 10.5px; letter-spacing: .1em; } }

/* Phone menu: compact uppercase links with a soft staggered entrance */
.mobile-menu__link { padding: 16px 0; font-family: var(--font-body); font-size: 12.5px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; }
.mobile-menu__chev .icon { width: 12px; height: 12px; }
.mobile-menu__sub { padding: 0 0 14px 2px; }
.mobile-menu__sublink { padding: 9px 0; font-size: 14px; letter-spacing: .01em; }
.mobile-menu__sublink--title { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--color-accent); padding-block-start: 12px; }
.mobile-menu__viewall { font-size: 11px; }
.mobile-menu__top { min-height: 64px; }
.mobile-menu__brand { font-size: 14px; letter-spacing: .24em; }
.mobile-menu__scroll > * { opacity: 0; transform: translateY(10px); transition: opacity .45s ease, transform .45s ease; }
.mobile-menu__item { opacity: 0; transform: translateX(-12px); transition: opacity .4s ease, transform .4s ease; }
.drawer.is-open .mobile-menu__scroll > *, .drawer.is-open .mobile-menu__item { opacity: 1; transform: none; }
.drawer.is-open .mobile-menu__scroll > :nth-child(1) { transition-delay: .08s; }
.drawer.is-open .mobile-menu__scroll > :nth-child(2) { transition-delay: .12s; }
.drawer.is-open .mobile-menu__item:nth-child(1) { transition-delay: .14s; }
.drawer.is-open .mobile-menu__item:nth-child(2) { transition-delay: .19s; }
.drawer.is-open .mobile-menu__item:nth-child(3) { transition-delay: .24s; }
.drawer.is-open .mobile-menu__item:nth-child(4) { transition-delay: .29s; }
.drawer.is-open .mobile-menu__item:nth-child(5) { transition-delay: .34s; }
.drawer.is-open .mobile-menu__item:nth-child(n+6) { transition-delay: .38s; }
.drawer.is-open .mobile-menu__scroll > :nth-child(n+3) { transition-delay: .36s; }
@media (prefers-reduced-motion: reduce) { .mobile-menu__scroll > *, .mobile-menu__item { opacity: 1; transform: none; transition: none; } }

/* Badges at the bottom-left of the photo (Quick view takes their place on hover) */
.card__badges { inset-block-start: auto; inset-block-end: 12px; inset-inline-start: 12px; transition: opacity .25s ease; }
@media (hover: hover) { .card:hover .card__badges { opacity: 0; } }
@media (max-width: 749px) { .card__badges { inset-block-start: auto; inset-block-end: 10px; inset-inline-start: 8px; } }

/* Journal on phones: swipeable row like the desktop layout */
@media (max-width: 749px) {
  .journal-row { display: grid; grid-auto-flow: column; grid-auto-columns: 84%; grid-template-columns: none; gap: 16px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter, 16px); margin-inline: calc(var(--gutter, 16px) * -1); padding-inline: var(--gutter, 16px); padding-block-end: 6px; scrollbar-width: none; }
  .journal-row::-webkit-scrollbar { display: none; }
  .journal-row > li { scroll-snap-align: start; min-width: 0; }
  .journal-row .article-card__image { aspect-ratio: 4/3; margin-block-end: 14px; }
  .journal-row .article-card__meta { font-size: 10px; margin-block-end: 8px; }
  .journal-row .article-card__title { font-size: 19px; line-height: 1.25; }
  .journal-row .article-card__excerpt { font-size: 13.5px; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
}

/* ==========================================================================
   v9 · Mobile polish pass
   ========================================================================== */
/* Logo: keep the header compact (square logos no longer stretch it) */
.header__logo-img { width: auto; max-width: var(--logo-w); max-height: 84px; object-fit: contain; }
@media (max-width: 1099px) { .header__logo-img { max-width: var(--logo-w-m); max-height: 52px; } }

/* Hero on phones: one strong button + a quiet text link */
@media (max-width: 749px) {
  .slide__buttons { gap: 14px; align-items: center; }
  .slide__buttons .button--outline { width: auto; min-height: 0; padding: 4px 0; border: 0; border-block-end: 1px solid currentColor; border-radius: 0; background: none; font-size: 11px; }
}

/* Watch of the week: badge sits on the photo, never over the heading */
.spotlight__badge { inset-block-start: 14px; inset-inline-start: 14px; }
@media (max-width: 989px) { .spotlight__media { margin-block-end: 8px; } .spotlight__media .spotlight__badge { inset-block-start: 12px; inset-block-end: auto; } }

/* Shop by budget: equal tiles */
.budget-grid > li { display: flex; } .budget-grid .budget-tile { flex: 1; }

/* Footer: tidy accordions on phones, static columns on desktop */
.footer__group > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; cursor: default; }
.footer__group > summary::-webkit-details-marker { display: none; }
.footer__plus { display: none; transition: transform .3s ease; }
@media (max-width: 749px) {
  .footer__top { gap: 0; }
  .footer__top > div:first-child { padding-block-end: 28px; }
  .footer__group { border-block-start: 1px solid rgba(255,255,255,.12); }
  .footer__group:last-child { border-block-end: 1px solid rgba(255,255,255,.12); }
  .footer__group > summary { cursor: pointer; padding-block: 18px; margin: 0; }
  .footer__plus { display: block; opacity: .7; }
  .footer__group[open] .footer__plus { transform: rotate(45deg); }
  .footer__group .footer__links, .footer__group .rte { padding-block-end: 18px; }
}

/* Cart drawer recommendations: neat round add button */
[data-upsell-inner] .mini-card .button { width: 38px; height: 38px; min-height: 38px; padding: 0; border-radius: 50%; font-size: 18px; font-weight: 300; letter-spacing: 0; }
[data-upsell-inner] .mini-card .button:hover { background: var(--color-text); color: var(--color-bg); }
[data-upsell-inner] .price { flex-direction: column; align-items: flex-start; gap: 2px; }

/* Footer · Visit us */
.footer-visit { display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.footer-visit__line { display: flex; gap: 10px; align-items: flex-start; margin: 0; opacity: .82; line-height: 1.5; }
.footer-visit__line .icon { flex-shrink: 0; margin-block-start: 3px; opacity: .7; }
.footer-visit__links { display: flex; flex-wrap: wrap; gap: 8px; margin-block-start: 8px; }
.footer-visit__links a { display: inline-flex; align-items: center; gap: 7px; padding: 8px 14px; border: 1px solid color-mix(in srgb, var(--color-footer-text) 25%, transparent); border-radius: 999px; font-size: 12px; letter-spacing: .06em; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.footer-visit__links a:hover { background: var(--color-footer-text); color: var(--color-footer-bg); border-color: var(--color-footer-text); }
@media (max-width: 749px) { .footer-visit { padding-block-end: 18px; } }

/* ==========================================================================
   v10 · Shop by budget: refined framed cards
   ========================================================================== */
.budget-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; list-style: none; margin: 0; padding: 0; }
@media (min-width: 990px) { .budget-grid { grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); gap: 20px; } }
.budget-tile { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; min-height: 0; padding: 34px 18px 28px; text-align: center; background: var(--color-bg); border: 1px solid var(--color-border); border-radius: calc(var(--radius) + 4px); box-shadow: none; overflow: hidden; transition: background .35s ease, color .35s ease, border-color .35s ease, transform .35s ease, box-shadow .35s ease; }
.budget-tile::after { content: ""; position: absolute; inset: auto 50% 0; width: 0; height: 2px; border: 0; border-radius: 0; background: var(--color-accent); transform: none; transition: inset .4s ease, width .4s ease; }
.budget-tile::before { content: ""; display: block; width: 28px; height: 1px; margin-block-end: 14px; background: var(--color-accent); order: 1; }
.budget-tile__index { order: 0; margin-block-end: 12px; font-family: var(--font-heading); font-size: 13px; letter-spacing: .1em; color: color-mix(in srgb, var(--color-text) 35%, transparent); transition: color .35s ease; }
.budget-tile__label { order: 2; margin: 0 0 8px; font-size: 10.5px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--color-accent); }
.budget-tile__range { order: 3; font-family: var(--font-heading); font-size: clamp(17px, 1.7vw, 22px); line-height: 1.25; white-space: nowrap; }
.budget-tile__cta { order: 4; display: inline-flex; align-items: center; gap: 8px; width: auto; height: auto; margin-block-start: 18px; padding: 0 0 3px; border: 0; border-block-end: 1px solid currentColor; border-radius: 0; background: none; color: inherit; font-size: 10.5px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; opacity: .8; transition: opacity .3s ease; }
.budget-tile__cta .icon { width: 12px; height: 12px; transition: transform .3s ease; }
.budget-tile:hover { background: var(--color-text); color: var(--color-bg); border-color: var(--color-text); transform: translateY(-3px); box-shadow: 0 18px 40px -16px rgba(20,18,14,.35); }
.budget-tile:hover::after { inset-inline: 0; width: 100%; }
.budget-tile:hover .budget-tile__index { color: color-mix(in srgb, var(--color-bg) 50%, transparent); }
.budget-tile:hover .budget-tile__cta { opacity: 1; }
.budget-tile:hover .budget-tile__cta .icon { transform: translateX(4px); }
@media (max-width: 749px) {
  .budget-tile { padding: 24px 10px 20px; }
  .budget-tile__index { margin-block-end: 8px; font-size: 12px; }
  .budget-tile::before { width: 22px; margin-block-end: 10px; }
  .budget-tile__label { font-size: 9.5px; letter-spacing: .2em; }
  .budget-tile__range { font-size: clamp(14px, 4.1vw, 17px); white-space: normal; text-wrap: balance; }
  .budget-tile__cta { margin-block-start: 14px; font-size: 9.5px; letter-spacing: .14em; }
}
.budget-tile__range { color: inherit; }
.budget-tile:hover .budget-tile__range, .budget-tile:focus-visible .budget-tile__range { color: var(--color-bg); }
.budget-tile:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }

/* ==========================================================================
   v11 · Editorial collection (e.g. The ladies' edit)
   ========================================================================== */
.editorial { display: grid; gap: 28px; }
.editorial__media { position: relative; display: block; overflow: hidden; border-radius: calc(var(--radius) + 4px); aspect-ratio: 4/5; background: var(--ed-bg); color: #fff; isolation: isolate; }
.editorial__media img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s cubic-bezier(.2,.8,.2,1); }
.editorial__media:hover img { transform: scale(1.04); }
.editorial__media::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(10,9,7,.72) 0%, rgba(10,9,7,.2) 45%, rgba(10,9,7,0) 70%); }
.editorial__media--plain { background: radial-gradient(120% 90% at 75% 15%, color-mix(in srgb, var(--ed-bg) 65%, #7a6142) 0%, var(--ed-bg) 65%); }
.editorial__media--plain::after { display: none; }
.editorial__copy { position: absolute; inset-inline: 0; inset-block-end: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: clamp(22px, 3.4vw, 44px); }
.editorial__eyebrow { font-size: 10.5px; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; opacity: .9; }
.editorial__title { margin: 0; font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: clamp(28px, 3.4vw, 46px); line-height: 1.08; color: inherit; }
.editorial__text { margin: 0; max-width: 34ch; font-size: 14.5px; line-height: 1.55; opacity: .88; }
.editorial__cta { display: inline-flex; align-items: center; gap: 8px; margin-block-start: 6px; padding-block-end: 4px; border-block-end: 1px solid currentColor; font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.editorial__cta .icon { transition: transform .3s ease; }
.editorial__media:hover .editorial__cta .icon { transform: translateX(4px); }
.editorial__products { display: flex; flex-direction: column; gap: 22px; min-width: 0; }
.editorial__list { list-style: none; margin: 0; padding: 0; }
.editorial__footer { display: flex; justify-content: center; }
@media (min-width: 990px) {
  .editorial { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
  .editorial--media-right .editorial__media { order: 2; }
  .editorial__media { aspect-ratio: 4/5; max-height: 820px; }
  .editorial__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 22px; }
  .editorial__list > li:nth-child(n+5) { display: none; }
  .editorial__footer { justify-content: flex-start; }
}
@media (max-width: 989px) {
  .editorial__media { aspect-ratio: 4/5; max-height: 560px; }
  .editorial__list { display: grid; grid-auto-flow: column; grid-auto-columns: 58%; gap: 14px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); scroll-padding-inline: var(--gutter); scrollbar-width: none; }
  .editorial__list::-webkit-scrollbar { display: none; }
  .editorial__list > li { scroll-snap-align: start; min-width: 0; }
  .editorial__footer .button { width: 100%; }
}
@media (min-width: 750px) and (max-width: 989px) { .editorial__list { grid-auto-columns: 34%; } }
@media (min-width: 990px) {
  .editorial { align-items: stretch; }
  .editorial__media { aspect-ratio: auto; min-height: 560px; max-height: none; height: 100%; }
}
@media (max-width: 989px) { .editorial__media { aspect-ratio: 1/1; } }
/* Ladies' edit on phones/tablets: 2×2 grid like laptops */
@media (max-width: 989px) {
  .editorial__list { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 14px; overflow: visible; scroll-snap-type: none; margin-inline: 0; padding-inline: 0; }
  .editorial__list > li:nth-child(n+5) { display: none; }
}
/* Product grids on phones: never leave a single card alone on the last row */
@media (max-width: 749px) { .showcase-grid > li:last-child:nth-child(odd) { display: none; } }
.showcase-grid { gap: 28px 14px; }
@media (min-width: 750px) { .showcase-grid { gap: 36px 22px; } }

/* Product title: calmer size, full width; actions tucked top-right */
.product__title-actions { order: 2; }
.product__title-row .product__title { font-size: clamp(24px, 2.4vw, 34px); line-height: 1.2; letter-spacing: -.005em; text-wrap: pretty; }
@media (max-width: 989px) {
  .product__title-row { display: block; }
  .product__title-row::after { content: ""; display: table; clear: both; }
  .product__title-actions { float: right; gap: 6px; margin: 0 0 6px 14px; }
  .product__title-actions .wish-btn { width: 38px; height: 38px; }
  .product__title-actions .wish-btn .icon { width: 17px; height: 17px; }
  .product__title-row .product__title { margin: 4px 0 14px; font-size: 22px; line-height: 1.3; }
}
@media (min-width: 990px) { .product__title-row .product__title { font-size: clamp(24px, 2vw, 29px); line-height: 1.25; margin: 6px 0 18px; } }

/* Clean sans-serif headings (Assistant): light tracking for a refined feel */
h1, h2, h3, .h1, .h2, .h3, .product__title, .card__title, .editorial__title, .promo-card__title, .budget-tile__range, .article-card__title, .mobile-menu__brand, .header__logo-text { letter-spacing: .01em; }
.card__title { font-size: 15px; letter-spacing: .02em; }
.product__title-row .product__title { letter-spacing: .015em; }

/* Collection descriptions: images never float beside the product grid */
.collection-header { display: flow-root; text-align: center; }
.collection-header__desc { margin-inline: auto; max-width: 720px; }
.collection-header__desc img, .collection-hero .rte img { float: none !important; display: block; margin: 8px auto 0; max-width: min(260px, 70%); height: auto !important; }
.collection-header__desc p:has(> img:only-child) { margin: 0; }
.collection-header + *, .collection-toolbar { clear: both; }
@media (max-width: 749px) { .collection-header__desc img { max-width: min(200px, 60%); } }
@media (max-width: 749px) { .collection-toolbar--minimal { display: none; } }

/* ==========================================================================
   v12 · Shop by budget: dark band with photo cards
   ========================================================================== */
.budget-section--dark { background: radial-gradient(120% 140% at 50% 0%, #2a2620 0%, #16150F 60%); color: #F3EFE7; }
.budget-section--dark .section-header h2 { color: #F7F3EC; }
.budget-section--dark .eyebrow { color: #C9A465; }
.budget-section__text { max-width: 46ch; margin: 12px auto 0; font-size: 15px; line-height: 1.6; opacity: .72; }
.budget-section--light .budget-section__text { color: var(--color-muted); opacity: 1; }
.budget-card { position: relative; display: flex; flex-direction: column; height: 100%; overflow: hidden; border-radius: calc(var(--radius) + 8px); background: #fff; color: var(--color-text); box-shadow: 0 18px 40px -22px rgba(0,0,0,.55); transition: transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease; }
.budget-section--light .budget-card { border: 1px solid var(--color-border); box-shadow: none; }
.budget-card:hover { transform: translateY(-6px); box-shadow: 0 30px 60px -24px rgba(0,0,0,.6); }
.budget-card__media { position: relative; aspect-ratio: 1/1; background: var(--card-img-bg, #fff); overflow: hidden; }
.budget-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 10%; transition: transform 1.2s cubic-bezier(.2,.8,.2,1); }
.budget-card:hover .budget-card__media img { transform: scale(1.06); }
.budget-card__icon { position: absolute; inset: 0; display: grid; place-items: center; color: #C9A465; }
.budget-card__icon .icon { width: 56px; height: 56px; stroke-width: .8; }
.budget-card__index { position: absolute; inset-block-start: 12px; inset-inline-start: 14px; font-size: 12px; letter-spacing: .12em; color: color-mix(in srgb, var(--color-text) 40%, transparent); }
.budget-card__body { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 18px 14px 20px; text-align: center; border-block-start: 1px solid color-mix(in srgb, var(--color-text) 7%, transparent); }
.budget-card__label { font-size: 10.5px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--color-accent); }
.budget-card__range { font-family: var(--font-heading); font-size: clamp(16px, 1.5vw, 20px); font-weight: 500; line-height: 1.25; }
.budget-card__cta { display: inline-flex; align-items: center; gap: 8px; margin-block-start: 8px; padding: 9px 16px; border-radius: 999px; background: var(--color-text); color: var(--color-bg); font-size: 10.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; transition: background .3s ease; }
.budget-card__cta .icon { width: 12px; height: 12px; transition: transform .3s ease; }
.budget-card:hover .budget-card__cta { background: var(--color-accent); color: var(--color-accent-text); }
.budget-card:hover .budget-card__cta .icon { transform: translateX(3px); }
@media (max-width: 749px) {
  .budget-grid { gap: 12px; }
  .budget-card__body { padding: 14px 8px 16px; gap: 5px; }
  .budget-card__label { font-size: 9px; letter-spacing: .18em; }
  .budget-card__range { font-size: clamp(13.5px, 3.9vw, 16px); text-wrap: balance; }
  .budget-card__cta { padding: 7px 12px; font-size: 9px; letter-spacing: .12em; }
  .budget-card__index { font-size: 10.5px; inset-block-start: 9px; inset-inline-start: 11px; }
}
.budget-grid > li { display: flex; min-width: 0; }
.budget-grid > li > .budget-card { flex: 1 1 auto; width: 100%; }
.budget-card__body { flex: 1; justify-content: center; }
.budget-section--dark .budget-section__text { color: #E6DFD2; opacity: .82; }

/* ==========================================================================
   v13 · Shop by brand: photo cards
   ========================================================================== */
.brands__grid--cards { display: grid; grid-template-columns: repeat(min(var(--brand-count, 5), 5), minmax(0, 1fr)); gap: 18px; list-style: none; margin: 0; padding: 0; }
.brands__grid--cards > li { display: flex; min-width: 0; }
.brand-card { flex: 1; display: flex; flex-direction: column; overflow: hidden; border-radius: calc(var(--radius) + 8px); background: #fff; border: 1px solid color-mix(in srgb, var(--color-text) 7%, transparent); transition: transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease, border-color .4s ease; }
.brand-card:hover { transform: translateY(-5px); box-shadow: 0 24px 50px -24px rgba(20,18,14,.35); border-color: transparent; }
.brand-card__media { position: relative; aspect-ratio: 1/1; background: var(--card-img-bg, #fff); overflow: hidden; }
.brand-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 12%; transition: transform 1.2s cubic-bezier(.2,.8,.2,1); }
.brand-card:hover .brand-card__media img { transform: scale(1.07); }
.brand-card__icon { position: absolute; inset: 0; display: grid; place-items: center; color: var(--color-accent); }
.brand-card__icon .icon { width: 48px; height: 48px; stroke-width: .8; }
.brand-card__body { position: relative; display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 14px 10px 16px; text-align: center; border-block-start: 1px solid color-mix(in srgb, var(--color-text) 6%, transparent); }
.brand-card__body::after { content: ""; position: absolute; inset-block-start: -1px; inset-inline: 50%; height: 2px; background: var(--color-accent); transition: inset .4s ease; }
.brand-card:hover .brand-card__body::after { inset-inline: 0; }
.brand-card__name { font-size: 13.5px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; line-height: 1.3; }
.brand-card__logo { max-height: 26px; width: auto; max-width: 80%; object-fit: contain; }
.brand-card__meta { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--color-muted); letter-spacing: .04em; }
.brand-card__meta .icon { width: 11px; height: 11px; transition: transform .3s ease; }
.brand-card:hover .brand-card__meta { color: var(--color-accent); }
.brand-card:hover .brand-card__meta .icon { transform: translateX(3px); }
.brands__all { display: flex; justify-content: center; margin-block-start: 32px; }
@media (max-width: 989px) {
  .brands__grid--cards { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 42%; gap: 12px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; margin-inline: calc(var(--gutter) * -1); padding: 4px var(--gutter) 10px; scroll-padding-inline: var(--gutter); scrollbar-width: none; }
  .brands__grid--cards::-webkit-scrollbar { display: none; }
  .brands__grid--cards > li { scroll-snap-align: start; }
  .brand-card__name { font-size: 12px; letter-spacing: .14em; }
  .brand-card__meta { font-size: 11px; }
}
@media (min-width: 750px) and (max-width: 989px) { .brands__grid--cards { grid-auto-columns: 26%; } }

/* ==========================================================================
   v14 · Brand logo wall
   ========================================================================== */
.logo-wall { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; list-style: none; margin: 0; padding: 0; }
@media (min-width: 750px) { .logo-wall { grid-template-columns: repeat(min(var(--cols, 5), 4), minmax(0, 1fr)); gap: 16px; } }
@media (min-width: 990px) { .logo-wall { grid-template-columns: repeat(var(--cols, 5), minmax(0, 1fr)); gap: 18px; } }
.logo-wall > li { display: flex; min-width: 0; }
.logo-tile { position: relative; flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 132px; padding: 22px 14px 18px; overflow: hidden; border-radius: calc(var(--radius) + 8px); background: #fff; border: 1px solid color-mix(in srgb, var(--color-text) 8%, transparent); text-align: center; transition: transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease, border-color .4s ease; }
.logo-tile::after { content: ""; position: absolute; inset-block-end: 0; inset-inline: 50%; height: 2px; background: var(--color-accent); transition: inset .45s ease; }
.logo-tile:hover { transform: translateY(-4px); border-color: transparent; box-shadow: 0 22px 46px -24px rgba(20,18,14,.35); }
.logo-tile:hover::after { inset-inline: 0; }
.logo-tile__mark { display: flex; align-items: center; justify-content: center; width: 100%; height: 48px; }
.logo-tile__logo { max-width: calc(78% * var(--logo-scale, 100%) / 100%); max-height: calc(44px * var(--logo-scale, 100%) / 100%); width: auto; height: auto; object-fit: contain; filter: grayscale(1); opacity: .78; transition: filter .4s ease, opacity .4s ease, transform .4s ease; }
.logo-tile:hover .logo-tile__logo { filter: none; opacity: 1; transform: scale(1.04); }
.logo-tile__word { font-family: var(--font-heading); font-size: 17px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; line-height: 1.25; color: var(--color-text); transition: color .3s ease; }
.logo-tile:hover .logo-tile__word { color: var(--color-accent); }
.logo-tile__count { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; letter-spacing: .06em; color: var(--color-muted); transition: color .3s ease; }
.logo-tile__count .icon { width: 11px; height: 11px; transition: transform .3s ease; }
.logo-tile:hover .logo-tile__count { color: var(--color-accent); }
.logo-tile:hover .logo-tile__count .icon { transform: translateX(3px); }
.logo-wall__all { display: flex; justify-content: center; margin-block-start: 34px; }
@media (max-width: 749px) {
  .logo-tile { min-height: 104px; padding: 18px 10px 14px; gap: 8px; }
  .logo-tile__mark { height: 38px; }
  .logo-tile__logo { max-height: calc(34px * var(--logo-scale, 100%) / 100%); filter: none; opacity: 1; }
  .logo-tile__word { font-size: 13.5px; letter-spacing: .14em; }
  .logo-tile__count { font-size: 10.5px; }
  .logo-wall__all .button { width: 100%; }
}
/* Logo wall: correct scaling, larger logos, static (non-link) tiles */
.logo-tile__mark { height: 64px; }
.logo-tile__logo { max-width: calc(82% * var(--logo-scale, 100) / 100); max-height: calc(60px * var(--logo-scale, 100) / 100); }
.logo-tile--static { cursor: default; }
.logo-tile--static:hover { transform: none; box-shadow: none; border-color: color-mix(in srgb, var(--color-text) 8%, transparent); }
.logo-tile--static::after { display: none; }
.logo-tile--static .logo-tile__logo { filter: none; opacity: 1; }
.logo-tile--static:hover .logo-tile__logo { transform: none; }
.logo-tile--static:hover .logo-tile__word { color: var(--color-text); }
@media (max-width: 749px) {
  .logo-tile__mark { height: 52px; }
  .logo-tile__logo { max-height: calc(48px * var(--logo-scale, 100) / 100); }
  .logo-tile { min-height: 96px; }
}
/* Show more (smart-ordered collections) */
.show-more { display: grid; justify-items: center; gap: 12px; margin-top: 44px; text-align: center; }
.show-more__status { font-size: 13px; margin: 0; letter-spacing: .04em; }
.show-more__bar { width: min(220px, 60%); height: 2px; background: color-mix(in srgb, var(--color-text) 12%, transparent); border-radius: 2px; overflow: hidden; }
.show-more__bar span { display: block; height: 100%; background: var(--color-text); transition: width .4s ease; }
.show-more .button { min-width: 220px; }
/* Add-to-cart button on cards: brand gold so it stands out on white photos */
.card__cart { background: var(--card-cart-bg, var(--color-accent)); color: var(--card-cart-icon, #fff); box-shadow: 0 4px 14px color-mix(in srgb, var(--card-cart-bg, #9C7A4B) 40%, transparent); }
.card__cart:hover { background: var(--color-text); color: var(--color-bg); box-shadow: 0 6px 18px rgba(0,0,0,.22); }
.card__cart .icon { stroke-width: 1.9; }
.card__cart.is-added { background: var(--color-success); color: #fff; }
.card:hover .card__cart:not(.is-added) { animation: cart-pulse 1.2s ease-out 1; }
@keyframes cart-pulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--card-cart-bg, #9C7A4B) 55%, transparent); } 100% { box-shadow: 0 0 0 12px transparent; } }
@media (prefers-reduced-motion: reduce) { .card:hover .card__cart { animation: none; } }
@media (max-width: 749px) { .card__cart { width: 38px; height: 38px; } .card__cart .icon { width: 17px; height: 17px; } }
/* ---------- Promise section (premium trust) ---------- */
.promise-section { border-block: 1px solid var(--color-border); }
.promise { display: grid; gap: 40px; }
.promise__intro { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 22px; }
.promise__intro .eyebrow { display: block; margin-bottom: 10px; }
.promise__heading { font-size: clamp(26px, 3.2vw, 38px); line-height: 1.15; margin: 0 0 12px; }
.promise__text { color: var(--color-muted); max-width: 420px; margin: 0 auto; font-size: 15px; line-height: 1.6; }
.promise__seal { position: relative; width: 112px; height: 112px; flex-shrink: 0; color: var(--color-accent); }
.promise__seal-ring { width: 100%; height: 100%; animation: seal-spin 40s linear infinite; overflow: visible; }
.promise__seal-ring text { font-family: var(--font-body); font-size: 9.4px; font-weight: 600; letter-spacing: .16em; fill: currentColor; }
.promise__seal-core { position: absolute; inset: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--color-text); color: #E6CFA4; box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-accent) 50%, transparent), 0 0 0 5px var(--color-bg), 0 0 0 6px color-mix(in srgb, var(--color-accent) 35%, transparent); }
.promise__seal-core .icon { width: 26px; height: 26px; stroke-width: 1.4; }
@keyframes seal-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .promise__seal-ring { animation: none; } }

.promise__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--color-border); }
.promise__item { padding: 26px 14px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 8px; border-bottom: 1px solid var(--color-border); }
.promise__item:nth-child(odd) { border-inline-end: 1px solid var(--color-border); }
.promise__icon { width: 46px; height: 46px; display: grid; place-items: center; color: var(--color-accent); margin-bottom: 4px; }
.promise__icon .icon { width: 30px; height: 30px; stroke-width: 1.2; }
.promise__icon img { width: 34px; height: 34px; object-fit: contain; }
.promise__item h3 { font-family: var(--font-heading); font-weight: 500; font-size: 17px; letter-spacing: .01em; margin: 0; text-transform: none; }
.promise__item p { margin: 0; font-size: 13px; line-height: 1.55; color: var(--color-muted); max-width: 260px; }

.promise__footer { display: grid; gap: 26px; justify-items: center; }
.promise__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; margin: 0; text-align: center; }
.promise__stats > div { padding: 0 8px; position: relative; }
.promise__stats > div + div::before { content: ""; position: absolute; inset-block: 10%; inset-inline-start: 0; width: 1px; background: var(--color-border); }
.promise__stats dt { font-family: var(--font-heading); font-size: clamp(22px, 2.6vw, 30px); line-height: 1.1; color: var(--color-text); }
.promise__stats dd { margin: 6px 0 0; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--color-muted); line-height: 1.4; }
.promise__pay { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.promise__pay-label { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--color-muted); }
.promise__pay-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.promise__pay-list li { font-size: 12px; font-weight: 600; letter-spacing: .02em; padding: 7px 12px; border: 1px solid var(--color-border); border-radius: 6px; background: #fff; color: var(--color-text); }

@media (min-width: 990px) {
  .promise { grid-template-columns: minmax(0, 1fr) minmax(0, 1.75fr); gap: 32px 64px; align-items: center; }
  .promise__intro { align-items: flex-start; text-align: start; flex-direction: row; gap: 28px; }
  .promise__text { margin: 0; }
  .promise__list { grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 0; }
  .promise__item { align-items: flex-start; text-align: start; padding: 22px 26px; border-bottom: 0; border-inline-end: 0 !important; border-inline-start: 1px solid var(--color-border); }
  .promise__item:nth-child(-n+3) { border-bottom: 1px solid var(--color-border); }
  .promise__footer { grid-column: 1 / -1; grid-template-columns: 1fr auto; align-items: center; justify-items: stretch; padding-top: 30px; border-top: 1px solid var(--color-border); }
  .promise__stats { grid-template-columns: repeat(3, auto); justify-content: start; gap: 0; text-align: start; }
  .promise__stats > div { padding: 0 40px; }
  .promise__stats > div:first-child { padding-inline-start: 0; }
  .promise__pay { flex-direction: row; gap: 14px; }
}
@media (max-width: 749px) {
  .promise { gap: 30px; }
  .promise__seal { width: 96px; height: 96px; }
  .promise__seal-core { inset: 21px; }
  .promise__item { padding: 22px 10px; }
  .promise__item h3 { font-size: 15px; }
  .promise__item p { font-size: 12px; }
  .promise__stats dd { font-size: 10px; letter-spacing: .08em; }
}
@media (max-width: 749px) { .promise__item { padding: 18px 10px; gap: 6px; } .promise__icon { width: 38px; height: 38px; margin-bottom: 0; } .promise__icon .icon { width: 26px; height: 26px; } }
/* Promise without cards: keep the intro and facts compact */
.promise:not(:has(.promise__list)) .promise__footer { border-top: 1px solid var(--color-border); padding-top: 30px; }
@media (min-width: 990px) { .promise:not(:has(.promise__list)) .promise__intro { grid-column: 1 / -1; justify-content: center; } }
/* ---------- Pre-order service band (72 hours) ---------- */
.preorder-band { background: var(--po-bg); color: var(--po-fg); position: relative; overflow: hidden; }
.preorder-band::before { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 80% at 85% 50%, rgba(201,169,110,.14), transparent 70%); pointer-events: none; }
.preorder-band__inner { position: relative; display: grid; gap: 44px; align-items: center; }
.preorder-band__eyebrow { color: #C9A96E; }
.preorder-band__heading { color: var(--po-fg); font-size: clamp(28px, 4vw, 46px); line-height: 1.1; margin: 12px 0 16px; max-width: 14ch; }
.preorder-band__text { color: color-mix(in srgb, var(--po-fg) 72%, transparent); font-size: 15px; line-height: 1.65; max-width: 460px; margin: 0; }
.preorder-band__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; margin-top: 28px; }
.preorder-band__wa { background: #C9A96E; border-color: #C9A96E; color: #16150F; gap: 10px; }
.preorder-band__wa:hover { background: var(--po-fg); border-color: var(--po-fg); color: #16150F; }
.preorder-band__wa .icon { width: 18px; height: 18px; }
.preorder-band__link { color: var(--po-fg); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 8px; border-bottom: 1px solid color-mix(in srgb, var(--po-fg) 35%, transparent); padding-bottom: 4px; }
.preorder-band__link:hover { color: #C9A96E; border-color: #C9A96E; }

.preorder-band__visual { display: grid; gap: 34px; justify-items: center; }
.preorder-band__clock { position: relative; width: 220px; aspect-ratio: 1; }
.preorder-band__ticks { width: 100%; height: 100%; }
.preorder-band__ticks line { stroke: color-mix(in srgb, var(--po-fg) 28%, transparent); stroke-width: 1; }
.preorder-band__ticks line.is-hour { stroke: #C9A96E; stroke-width: 2; }
.preorder-band__progress { fill: none; stroke: #C9A96E; stroke-width: 1.5; stroke-dasharray: 100; stroke-dashoffset: 100; transform: rotate(-90deg); transform-origin: 100px 100px; opacity: .9; }
.preorder-band__visual.is-visible .preorder-band__progress { animation: po-sweep 2.4s cubic-bezier(.6,.05,.3,1) .3s forwards; }
@keyframes po-sweep { to { stroke-dashoffset: 0; } }
.preorder-band__number { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.preorder-band__number strong { font-family: var(--font-heading); font-weight: 400; font-size: 76px; line-height: .9; color: var(--po-fg); }
.preorder-band__number span { font-size: 10px; letter-spacing: .24em; text-transform: uppercase; color: #C9A96E; margin-top: 8px; }

.preorder-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; width: 100%; max-width: 440px; }
.preorder-steps__item { display: grid; grid-template-columns: 34px 1fr; gap: 16px; align-items: start; padding: 16px 0; border-top: 1px solid color-mix(in srgb, var(--po-fg) 14%, transparent); }
.preorder-steps__item:last-child { border-bottom: 1px solid color-mix(in srgb, var(--po-fg) 14%, transparent); }
.preorder-steps__num { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; border: 1px solid #C9A96E; color: #C9A96E; font-size: 13px; font-weight: 600; }
.preorder-steps__item h3 { color: var(--po-fg); font-family: var(--font-heading); font-weight: 500; font-size: 17px; margin: 4px 0 4px; }
.preorder-steps__item p { margin: 0; font-size: 13px; line-height: 1.55; color: color-mix(in srgb, var(--po-fg) 65%, transparent); }

@media (min-width: 990px) {
  .preorder-band__inner { grid-template-columns: 1fr 1.05fr; gap: 72px; }
  .preorder-band__visual { grid-template-columns: auto 1fr; align-items: center; gap: 48px; }
  .preorder-band__clock { width: 240px; }
}
@media (max-width: 749px) {
  .preorder-band__copy { text-align: center; }
  .preorder-band__heading { margin-inline: auto; }
  .preorder-band__text { margin-inline: auto; }
  .preorder-band__actions { justify-content: center; flex-direction: column; }
  .preorder-band__wa { width: 100%; }
  .preorder-band__clock { width: 180px; }
  .preorder-band__number strong { font-size: 62px; }
}
@media (prefers-reduced-motion: reduce) { .preorder-band__progress { stroke-dashoffset: 0; animation: none !important; } }

/* Sold-out product page: pre-order box */
.soldout-preorder { border: 1px solid color-mix(in srgb, var(--color-accent) 40%, transparent); background: color-mix(in srgb, var(--color-accent) 7%, var(--color-bg)); border-radius: var(--radius); padding: 18px; display: grid; gap: 16px; }
.soldout-preorder__head { display: flex; gap: 14px; align-items: center; }
.soldout-preorder__badge { flex-shrink: 0; width: 58px; height: 58px; border-radius: 50%; background: var(--color-text); color: #E6CFA4; display: grid; place-content: center; text-align: center; line-height: 1; box-shadow: 0 0 0 3px var(--color-bg), 0 0 0 4px color-mix(in srgb, var(--color-accent) 45%, transparent); }
.soldout-preorder__badge strong { font-family: var(--font-heading); font-size: 22px; font-weight: 500; }
.soldout-preorder__badge small { font-size: 9px; letter-spacing: .16em; text-transform: uppercase; margin-top: 2px; }
.soldout-preorder__title { margin: 0 0 3px; font-weight: 600; font-size: 15px; color: var(--color-text); }
.soldout-preorder__text { margin: 0; font-size: 13px; color: var(--color-muted); line-height: 1.5; }
.soldout-preorder__button { background: #25D366; border-color: #25D366; color: #fff; gap: 10px; }
.soldout-preorder__button:hover { background: #1EBE5A; border-color: #1EBE5A; color: #fff; }
.soldout-preorder__button .icon { width: 18px; height: 18px; }
/* ---------- Pre-order strip (compact, replaces the large band) ---------- */
.preorder-strip { display: grid; grid-template-columns: auto 1fr; gap: 14px 18px; align-items: center; padding: 20px; border-radius: calc(var(--radius) + 8px); background: var(--po-bg); color: var(--po-fg); position: relative; overflow: hidden; }
.preorder-strip::before { content: ""; position: absolute; inset: 0; background: radial-gradient(50% 120% at 0% 50%, rgba(201,169,110,.16), transparent 70%); pointer-events: none; }
.preorder-strip > * { position: relative; }
.preorder-strip__badge { width: 68px; height: 68px; position: relative; display: grid; place-content: center; text-align: center; line-height: 1; }
.preorder-strip__ring { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.preorder-strip__ring circle { fill: none; stroke: #C9A96E; stroke-width: 2.5; stroke-dasharray: 100; stroke-dashoffset: 100; }
.preorder-strip.is-visible .preorder-strip__ring circle { animation: po-sweep 1.8s cubic-bezier(.6,.05,.3,1) .2s forwards; }
.preorder-strip__badge strong { font-family: var(--font-heading); font-weight: 500; font-size: 26px; color: var(--po-fg); }
.preorder-strip__badge span { font-size: 8.5px; letter-spacing: .2em; text-transform: uppercase; color: #C9A96E; margin-top: 3px; }
.preorder-strip__eyebrow { display: block; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: #C9A96E; margin-bottom: 4px; }
.preorder-strip__heading { font-size: 18px; line-height: 1.25; margin: 0; color: var(--po-fg); }
.preorder-strip__text { margin: 4px 0 0; font-size: 13px; line-height: 1.5; color: color-mix(in srgb, var(--po-fg) 68%, transparent); }
.preorder-strip__steps { grid-column: 1 / -1; list-style: none; margin: 0; padding: 12px 0 0; border-top: 1px solid color-mix(in srgb, var(--po-fg) 14%, transparent); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.preorder-strip__steps li { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; font-size: 11.5px; line-height: 1.3; color: color-mix(in srgb, var(--po-fg) 85%, transparent); }
.preorder-strip__steps li span { width: 22px; height: 22px; border-radius: 50%; border: 1px solid #C9A96E; color: #C9A96E; display: grid; place-items: center; font-size: 11px; font-weight: 600; flex-shrink: 0; }
.preorder-strip__button { grid-column: 1 / -1; background: #C9A96E; border-color: #C9A96E; color: #16150F; gap: 10px; width: 100%; }
.preorder-strip__button:hover { background: var(--po-fg); border-color: var(--po-fg); color: #16150F; }
.preorder-strip__button .icon { width: 18px; height: 18px; }
@media (min-width: 990px) {
  .preorder-strip { grid-template-columns: auto minmax(0, 1.1fr) auto auto; gap: 32px; padding: 22px 32px; }
  .preorder-strip__badge { width: 78px; height: 78px; }
  .preorder-strip__badge strong { font-size: 30px; }
  .preorder-strip__heading { font-size: 21px; }
  .preorder-strip__steps { grid-column: auto; border-top: 0; padding: 0 0 0 32px; border-left: 1px solid color-mix(in srgb, var(--po-fg) 14%, transparent); display: flex; gap: 22px; }
  .preorder-strip__steps li { flex-direction: row; text-align: start; white-space: nowrap; font-size: 12.5px; }
  .preorder-strip__button { grid-column: auto; width: auto; white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) { .preorder-strip__ring circle { stroke-dashoffset: 0; animation: none !important; } }
/* Policy pages: readable tables and anchor offsets under the sticky header */
.rte h2[id], .rte h3[id] { scroll-margin-top: 110px; }
.rte h2 { margin-top: 1.8em; }
.rte table { border: 1px solid var(--color-border); border-radius: var(--radius); overflow: hidden; border-collapse: separate; border-spacing: 0; background: #fff; }
.rte table td { border: 0; border-bottom: 1px solid var(--color-border); padding: 12px 16px; vertical-align: top; font-size: 14px; }
.rte table tr:last-child td { border-bottom: 0; }
.rte table td:first-child { width: 38%; background: color-mix(in srgb, var(--color-accent) 7%, #fff); }
@media (max-width: 749px) { .rte table td { padding: 10px 12px; font-size: 13px; } .rte table td:first-child { width: 42%; } }
/* Pre-order box: policy link */
.soldout-preorder__terms { margin: -4px 0 0; font-size: 12px; color: var(--color-muted); text-align: center; }
.soldout-preorder__terms a { color: var(--color-text); text-decoration: underline; text-underline-offset: 3px; }
/* ---------- Promise: compact (no cards) ---------- */
.promise-section--compact { padding-block: 28px; }
.promise--compact { display: grid; gap: 20px; }
.promise--compact .promise__intro { flex-direction: row; align-items: center; text-align: start; gap: 16px; }
.promise--compact .promise__seal { width: 72px; height: 72px; }
.promise--compact .promise__seal-ring text { font-size: 11px; letter-spacing: .12em; }
.promise--compact .promise__seal-core { inset: 15px; box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-accent) 50%, transparent); }
.promise--compact .promise__seal-core .icon { width: 18px; height: 18px; }
.promise--compact .eyebrow { display: none; }
.promise--compact .promise__heading { font-size: 19px; line-height: 1.25; margin: 0 0 4px; }
.promise--compact .promise__text { font-size: 13px; line-height: 1.5; margin: 0; max-width: none; }
.promise--compact .promise__footer { border-top: 1px solid var(--color-border); padding-top: 18px; gap: 0; }
.promise--compact .promise__stats dt { font-size: 22px; }
.promise--compact .promise__stats dd { font-size: 9.5px; letter-spacing: .1em; margin-top: 4px; }
@media (min-width: 990px) {
  .promise-section--compact { padding-block: 36px; }
  .promise--compact { grid-template-columns: minmax(0, 1fr) auto; gap: 48px; align-items: center; }
  .promise--compact .promise__intro { grid-column: auto !important; justify-content: flex-start !important; gap: 22px; }
  .promise--compact .promise__seal { width: 84px; height: 84px; }
  .promise--compact .promise__seal-core { inset: 18px; }
  .promise--compact .promise__heading { font-size: 22px; }
  .promise--compact .promise__text { font-size: 14px; max-width: 460px; }
  .promise--compact .promise__footer { grid-column: auto; border-top: 0; padding-top: 0; display: block; }
  .promise--compact .promise__stats { border-left: 1px solid var(--color-border); padding-left: 8px; }
  .promise--compact .promise__stats > div { padding: 0 32px; }
  .promise--compact .promise__stats dt { font-size: 26px; }
}
@media (min-width: 990px) { .promise.promise--compact .promise__footer { border-top: 0; padding-top: 0; } }
.promise.promise--compact .promise__footer { padding-top: 18px; }
/* ---------- Emerald & gold signature ---------- */
.budget-section--dark { background: radial-gradient(120% 140% at 50% 0%, var(--color-signature-light) 0%, var(--color-signature) 45%, var(--color-signature-deep) 100%); }
.budget-section--dark .eyebrow, .preorder-strip__eyebrow, .preorder-strip__badge span, .cta-band .eyebrow { color: var(--color-gold); }
.promise__seal-core { background: var(--color-signature); color: var(--color-gold); }
.preorder-strip::before { background: radial-gradient(50% 120% at 0% 50%, color-mix(in srgb, var(--color-gold) 22%, transparent), transparent 70%); }
.preorder-strip__ring circle { stroke: var(--color-gold); }
.preorder-strip__button { background: var(--color-gold); border-color: var(--color-gold); }
/* thin gold rule on the signature bands for a finished, jewellery-box edge */
.preorder-strip, .cta-band, .budget-section--dark { box-shadow: inset 0 1px 0 color-mix(in srgb, var(--color-gold) 35%, transparent); }
/* primary buttons: emerald with gold hover */
.button:not(.button--outline):not(.button--light):not(.button--whatsapp):not(.preorder-strip__button):not(.soldout-preorder__button):hover { background: var(--color-signature-deep); border-color: var(--color-signature-deep); }
.soldout-preorder__badge { background: var(--color-signature); color: var(--color-gold); }
/* footer: deep emerald with gold headings */
.footer h2, .footer h3, .footer .footer__title, .footer__heading { color: var(--color-gold); }
.footer { box-shadow: inset 0 1px 0 color-mix(in srgb, var(--color-gold) 30%, transparent); }
/* ---------- Product page: compact service panel ---------- */
.service-list { list-style: none; margin: 22px 0 0; padding: 0; border: 1px solid var(--color-border); border-radius: var(--radius); background: #fff; }
.service-list li { display: grid; grid-template-columns: 22px 1fr; gap: 14px; align-items: start; padding: 13px 16px; }
.service-list li + li { border-top: 1px solid var(--color-border); }
.service-list .icon { width: 20px; height: 20px; color: var(--color-accent); stroke-width: 1.4; margin-top: 1px; }
.service-list strong { display: block; font-weight: 500; font-size: 14px; line-height: 1.35; color: var(--color-text); }
.service-list span { display: block; font-size: 12.5px; line-height: 1.45; color: var(--color-muted); margin-top: 2px; }
.service-list__links { display: flex !important; gap: 16px; margin-top: 4px !important; }
.service-list__links a { color: var(--color-text); font-weight: 500; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: color-mix(in srgb, var(--color-accent) 60%, transparent); }
.service-list__links a[data-whatsapp-link] { color: #1E9E50; }
/* Notify me: collapsed by default */
.notify-box--collapsible { padding: 0; border: 0; margin-top: 4px; }
.notify-box--collapsible summary { list-style: none; cursor: pointer; justify-content: center; font-size: 13px; color: var(--color-muted); margin: 0; padding: 6px 0; }
.notify-box--collapsible summary::-webkit-details-marker { display: none; }
.notify-box--collapsible summary:hover { color: var(--color-text); }
.notify-box__chev { transition: transform .2s ease; }
.notify-box--collapsible[open] .notify-box__chev { transform: rotate(180deg); }
.notify-box--collapsible[open] .notify-form { margin-top: 10px; }
/* tighter rhythm in the buy area */
.product__price-note:empty { display: none; }
.buy-block { gap: 12px; }
/* ---------- Buy area: refined, premium ---------- */
/* low stock: calm pill instead of alarm bar */
.stock--low { display: inline-flex; width: auto; gap: 8px; padding: 6px 12px 6px 10px; border-radius: 999px; background: color-mix(in srgb, var(--color-accent) 12%, transparent); color: #7A5322; font-size: 12.5px; font-weight: 500; }
.stock--low .stock__dot { width: 7px; height: 7px; background: #B07A34; box-shadow: none; animation: none; }
.stock--low b, .stock--low strong { font-weight: 700; }
.stock__bar { display: none; }

/* gift: clean row with a switch */
.buy-block .gift-option { border: 1px solid var(--color-border); border-radius: 12px; background: #fff; padding: 12px 14px; margin-block-end: 12px; }
.buy-block .gift-option__box { position: absolute; opacity: 0; pointer-events: none; }
.buy-block .gift-option__toggle { gap: 12px; font-size: 13.5px; }
.buy-block .gift-option__label { flex: 1; }
.gift-option__switch { position: relative; width: 38px; height: 22px; flex-shrink: 0; border-radius: 999px; background: color-mix(in srgb, var(--color-text) 16%, transparent); transition: background .2s ease; }
.gift-option__switch::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.2); transition: transform .2s ease; }
.gift-option__toggle input:checked ~ .gift-option__switch { background: var(--color-signature, var(--color-text)); }
.gift-option__toggle input:checked ~ .gift-option__switch::after { transform: translateX(16px); }
.gift-option__toggle input:focus-visible ~ .gift-option__switch { outline: 2px solid var(--color-accent); outline-offset: 2px; }

/* buttons: same height, soft corners, calmer lettering */
.buy-block .buy-buttons { display: grid; gap: 10px; }
.buy-block .buy-buttons__row { display: grid; grid-template-columns: auto 1fr; gap: 10px; }
.buy-block .quantity { height: 52px; border-radius: 12px; background: #fff; }
.buy-block .quantity button { width: 36px; }
.buy-block .quantity input { width: 30px; font-size: 15px; }
.buy-block .button { min-height: 52px; height: 52px; border-radius: 12px; font-size: 12.5px; letter-spacing: .14em; gap: 10px; }
.buy-block .buy-buttons__row .button { width: 100%; box-shadow: 0 8px 20px color-mix(in srgb, var(--color-signature, #000) 22%, transparent); }
.buy-block [data-buy-now] { border-width: 1px; background: transparent; }
.buy-block [data-buy-now]:hover { background: var(--color-text); color: var(--color-bg); }
.buy-block .button .icon { width: 17px; height: 17px; }
.buy-block .button--whatsapp { background: #EAF6EE; border-color: #EAF6EE; color: #13733A; }
.buy-block .button--whatsapp:hover { background: #25D366; border-color: #25D366; color: #fff; }
.buy-block .button--whatsapp .icon { color: #1FAF55; }
.buy-block .button--whatsapp:hover .icon { color: #fff; }
.buy-block .soldout-preorder, .buy-block .soldout-preorder__button { border-radius: 12px; }
.buy-block .gift-option__message { border-radius: 10px; border-color: var(--color-border); font-size: 13.5px; }
/* ---------- Audit polish ---------- */
/* sold-out card: pre-order hint */
.card__preorder { margin: 6px 0 0; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--color-accent); font-weight: 600; }
/* cart + drawer WhatsApp: same soft style as product page */
[data-whatsapp-cart].button--whatsapp { background: #EAF6EE; border-color: #EAF6EE; color: #13733A; }
[data-whatsapp-cart].button--whatsapp .icon { color: #1FAF55; }
[data-whatsapp-cart].button--whatsapp:hover { background: #25D366; border-color: #25D366; color: #fff; }
[data-whatsapp-cart].button--whatsapp:hover .icon { color: #fff; }
/* consistent corners for inputs, pills and boxes that sit next to rounded buttons */
.option__pill { border-radius: var(--radius-button); }
.quantity, .input, .select, textarea.input { border-radius: var(--radius-button); }
.buy-block .button, .buy-block .quantity, .buy-block .gift-option, .service-list, .soldout-preorder { border-radius: calc(var(--radius-button) + 2px); }
/* mobile menu contact card */
.mobile-menu__contact .rte p, .mobile-menu__contact .rte h6 { font-size: 13px; font-weight: 400; line-height: 1.6; margin: 0; }
.mobile-menu__contact .rte strong { font-weight: 600; display: inline-block; margin-bottom: 2px; }
/* ---------- Hero without photo: real watch on emerald ---------- */
.slide__empty--product { position: absolute; inset: 0; background: radial-gradient(70% 90% at 72% 50%, var(--color-signature-light, #1c4d3e) 0%, var(--color-signature, #0F3B2E) 45%, var(--color-signature-deep, #0A2A20) 100%); }
.slide__empty--product::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(115deg, rgba(255,255,255,.025) 0 1px, transparent 1px 22px); pointer-events: none; }
.slide:has(.slide__empty--product) .slide__media::after { background: linear-gradient(90deg, rgba(0,0,0,.28) 0%, rgba(0,0,0,0) 55%); }
.slide__showcase { position: absolute; top: 50%; right: 7%; transform: translateY(-50%); width: min(40vw, 520px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 50% 42%, #FFFFFF 0%, #F4EFE6 62%, #E6DCCB 100%); box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-gold, #C9A96E) 55%, transparent), 0 0 0 14px rgba(255,255,255,.04), 0 0 0 15px color-mix(in srgb, var(--color-gold, #C9A96E) 22%, transparent), 0 40px 80px rgba(0,0,0,.35); overflow: hidden; display: grid; place-items: center; z-index: 1; }
.slide__showcase img { width: 78% !important; height: 78% !important; object-fit: contain !important; mix-blend-mode: multiply; transform: none !important; transition: transform .8s ease !important; }
.slide.is-active .slide__showcase img { animation: hero-float 7s ease-in-out infinite; }
@keyframes hero-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
.slide:has(.slide__empty--product) .slide__content { position: relative; z-index: 2; pointer-events: none; }
.slide:has(.slide__empty--product) .slide__content a { pointer-events: auto; }
.slide:has(.slide__empty--product) .slide__text { max-width: 46%; }
@media (max-width: 989px) {
  .slide:has(.slide__empty--product) { align-items: flex-end; }
  .slide__showcase { top: 26px; right: 50%; transform: translateX(50%); width: min(64vw, 340px); box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-gold, #C9A96E) 55%, transparent), 0 0 0 10px rgba(255,255,255,.04), 0 0 0 11px color-mix(in srgb, var(--color-gold, #C9A96E) 22%, transparent), 0 30px 60px rgba(0,0,0,.35); }
  .slide:has(.slide__empty--product) { min-height: max(var(--slide-height, 88vh), calc(min(64vw, 340px) + 330px)); }
  .slide:has(.slide__empty--product) .slide__text { max-width: none; }
  .slide:has(.slide__empty--product) .slide__media::after { background: linear-gradient(to top, rgba(0,0,0,.35) 0%, rgba(0,0,0,0) 45%); }
}
@media (prefers-reduced-motion: reduce) { .slide.is-active .slide__showcase img { animation: none; } }
/* Hero: one photo for all screens, cropped around the focal point */
.slide__media > img, .slide__media picture img { object-position: var(--focal, 50% 50%); }
@media (max-width: 749px) { .slide__media > img, .slide__media picture img { object-position: var(--focal-m, var(--focal, 50% 50%)); } }
/* Mobile/tablet header: menu on the left, search + cart on the right (wishlist lives in the menu) */
@media (max-width: 1099px) {
  .header__search-mobile { display: none !important; }
  .header__search-desktop { display: inline-flex; }
  .header__wish { display: none; }
  .header__end { gap: 2px; }
}
/* ---------- Search: top sheet ---------- */
.search-sheet .drawer__panel { inset: 0 0 auto 0; width: 100%; max-height: min(88vh, 760px); transform: translateY(-100%); box-shadow: 0 30px 60px rgba(0,0,0,.18); border-radius: 0 0 18px 18px; overflow: hidden; }
.search-sheet.is-open .drawer__panel { transform: none; }
.search-sheet__inner { display: flex; flex-direction: column; max-height: inherit; padding-block: 18px 0; }
.search-sheet__bar { display: flex; align-items: center; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid var(--color-border); }
.search-sheet__form { position: relative; flex: 1; display: flex; align-items: center; }
.search-sheet__icon { position: absolute; inset-inline-start: 16px; color: var(--color-muted); display: grid; pointer-events: none; }
.search-sheet__icon .icon { width: 20px; height: 20px; }
.search-sheet__input { width: 100%; height: 54px; border: 1px solid var(--color-border); border-radius: 999px; background: #fff; padding: 0 46px 0 48px; font: inherit; font-size: 16px; color: var(--color-text); outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
.search-sheet__input:focus { border-color: var(--color-signature, var(--color-text)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-signature, #000) 12%, transparent); }
.search-sheet__input::-webkit-search-cancel-button { display: none; }
.search-sheet__clear { position: absolute; inset-inline-end: 10px; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: color-mix(in srgb, var(--color-text) 8%, transparent); }
.search-sheet__clear[hidden] { display: none; }
.search-sheet__cancel { font-size: 14px; font-weight: 500; color: var(--color-text); padding: 8px 2px; white-space: nowrap; }
.search-sheet__body { overflow-y: auto; padding: 20px 0 28px; overscroll-behavior: contain; }
.search-sheet .predictive { margin: 0; }
.search-sheet .predictive__group, .search-sheet__recent { margin-bottom: 24px; }
.search-sheet__row-head { display: flex; justify-content: space-between; align-items: baseline; }
.search-sheet__link { font-size: 12px; color: var(--color-muted); text-decoration: underline; text-underline-offset: 3px; }
.search-sheet .chip { border-radius: 999px; padding: 8px 14px; font-size: 13px; background: #fff; }
.search-sheet .chip:hover { border-color: var(--color-text); }
.chip--recent::before { content: "↺"; margin-inline-end: 6px; color: var(--color-muted); }
.search-sheet__quick { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.search-sheet__quick a { display: flex; justify-content: space-between; align-items: center; padding: 13px 14px; border-radius: 12px; background: var(--color-bg-alt); font-size: 14px; font-weight: 500; }
.search-sheet__quick a .icon { color: var(--color-accent); }
.search-sheet__products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
.search-sheet__product { display: flex; flex-direction: column; gap: 4px; }
.search-sheet__thumb { position: relative; display: block; aspect-ratio: 1; background: var(--card-img-bg, #fff); border-radius: 10px; overflow: hidden; margin-bottom: 6px; }
.search-sheet__thumb img { width: 100%; height: 100%; object-fit: contain; }
.search-sheet__tag { position: absolute; left: 8px; bottom: 8px; font-size: 9.5px; letter-spacing: .1em; text-transform: uppercase; background: var(--color-text); color: var(--color-bg); padding: 3px 7px; border-radius: 999px; }
.search-sheet__title { font-size: 13px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.search-sheet__product .price { font-size: 13px; }
.search-sheet .button--outline.button--full { margin-top: 6px; }
predictive-search.is-loading .search-sheet__icon { animation: search-pulse .9s ease-in-out infinite; }
@keyframes search-pulse { 50% { opacity: .3; } }
@media (min-width: 750px) {
  .search-sheet__products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
  .search-sheet__quick { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .search-sheet__inner { padding-block-start: 24px; max-width: 1100px; }
}
/* ---------- Performance ---------- */
/* Skip layout & paint work for sections far below the screen until the shopper scrolls near them */
.shopify-section-group-footer-group { content-visibility: auto; contain-intrinsic-size: auto 640px; }
/* Faster reveal so content never feels slow to appear */
.reveal { transition-duration: .6s; }
.reveal-stagger > * { transition-duration: .5s; }
.reveal-stagger.is-visible > *:nth-child(n+2) { transition-delay: .04s; }
.reveal-stagger.is-visible > *:nth-child(n+4) { transition-delay: .08s; }
/* ---------- Virtual try-on ---------- */
.gallery { position: relative; }
.tryon-trigger { position: absolute; top: 14px; left: 14px; z-index: 4; display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px 0 12px; border-radius: 999px; background: var(--color-signature, #0F3B2E); color: #fff; font-size: 12.5px; font-weight: 500; letter-spacing: .02em; box-shadow: 0 8px 22px rgba(0,0,0,.18); }
.tryon-trigger .icon { color: var(--color-gold, #C9A96E); width: 17px; height: 17px; }
.tryon-trigger:hover { background: var(--color-signature-deep, #0A2A20); }
.tryon { position: fixed; inset: 0; z-index: 400; background: #0c0c0b; color: #fff; display: block; touch-action: none; }
.tryon[hidden] { display: none; }
.tryon__stage { position: absolute; inset: 0; overflow: hidden; }
.tryon__video, .tryon__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tryon__video.is-mirror { transform: scaleX(-1); }
.tryon__watch { position: absolute; left: 0; top: 0; will-change: transform; pointer-events: none; filter: drop-shadow(0 8px 14px rgba(0,0,0,.35)); }
.tryon__watch.is-blend { mix-blend-mode: multiply; filter: none; }
.tryon__watch img { display: block; width: 100%; height: auto; user-select: none; }
.tryon__watch[hidden] { display: none; }
.tryon__start { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 32px 24px; background: radial-gradient(80% 60% at 50% 40%, var(--color-signature-light, #1c4d3e), var(--color-signature, #0F3B2E) 55%, var(--color-signature-deep, #0A2A20)); gap: 12px; }
.tryon__start[hidden] { display: none; }
.tryon__start-icon { width: 72px; height: 72px; border-radius: 50%; display: grid; place-items: center; border: 1px solid color-mix(in srgb, var(--color-gold, #C9A96E) 60%, transparent); color: var(--color-gold, #C9A96E); margin-bottom: 6px; }
.tryon__start-icon .icon { width: 30px; height: 30px; }
.tryon__start-title { font-family: var(--font-heading); font-size: 26px; margin: 0; }
.tryon__start-text { max-width: 320px; margin: 0 0 12px; font-size: 14px; line-height: 1.55; color: rgba(255,255,255,.75); }
.tryon__start .button { width: min(300px, 100%); min-height: 52px; border-radius: 12px; }
.tryon__btn-camera { background: var(--color-gold, #C9A96E); border-color: var(--color-gold, #C9A96E); color: #16150F; }
.tryon__btn-upload { color: #fff; border-color: rgba(255,255,255,.45); cursor: pointer; }
.tryon__note { font-size: 11.5px; color: rgba(255,255,255,.55); margin: 8px 0 0; }
.tryon__top { position: absolute; top: 0; left: 0; right: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; background: linear-gradient(rgba(0,0,0,.45), transparent); z-index: 3; }
.tryon__title { font-size: 13px; opacity: .9; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tryon__icon { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.14); color: #fff; backdrop-filter: blur(8px); flex-shrink: 0; }
.tryon__icon[hidden] { visibility: hidden; display: grid; }
.tryon__panel { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; padding: 16px 20px calc(18px + env(safe-area-inset-bottom)); background: linear-gradient(transparent, rgba(0,0,0,.65) 35%); display: grid; gap: 10px; }
.tryon__panel[hidden] { display: none; }
.tryon__slider { display: grid; grid-template-columns: 56px 1fr; align-items: center; gap: 10px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.8); }
.tryon__slider input { width: 100%; accent-color: var(--color-gold, #C9A96E); }
.tryon__actions { display: flex; align-items: center; justify-content: space-between; max-width: 320px; width: 100%; margin: 6px auto 0; }
.tryon__shutter { width: 70px; height: 70px; border-radius: 50%; border: 3px solid #fff; display: grid; place-items: center; }
.tryon__shutter span { width: 54px; height: 54px; border-radius: 50%; background: #fff; transition: transform .15s ease; }
.tryon__shutter:active span { transform: scale(.9); }
.tryon__result { position: absolute; inset: 0; z-index: 5; background: rgba(10,10,9,.96); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; padding: 70px 20px 30px; }
.tryon__result[hidden] { display: none; }
.tryon__result img { max-width: 100%; max-height: 62vh; border-radius: 14px; box-shadow: 0 20px 50px rgba(0,0,0,.5); }
.tryon__result-actions { display: grid; gap: 10px; width: min(320px, 100%); text-align: center; }
.tryon__result-actions .button { border-radius: 12px; min-height: 50px; }
.tryon__result-actions .button--outline { color: #fff; border-color: rgba(255,255,255,.45); }
.tryon__result .button:not(.button--outline) { background: var(--color-gold, #C9A96E); border-color: var(--color-gold, #C9A96E); color: #16150F; }
.tryon__link { color: rgba(255,255,255,.75); font-size: 13px; text-decoration: underline; text-underline-offset: 3px; padding: 6px; }
@media (min-width: 990px) { .tryon__stage { max-width: 520px; margin: 0 auto; left: 0; right: 0; } .tryon__panel { max-width: 520px; margin: 0 auto; } }
.tryon__top { z-index: 6; }
/* soften the photo's background edges so only the watch shows */
.tryon__watch.is-blend img { -webkit-mask-image: radial-gradient(ellipse 52% 54% at 50% 50%, #000 62%, transparent 100%); mask-image: radial-gradient(ellipse 52% 54% at 50% 50%, #000 62%, transparent 100%); }
/* ---------- Hero v2: editorial, premium ---------- */
.slideshow { background: #0B0B0A; }
.slide .eyebrow { display: inline-flex; align-items: center; gap: 12px; color: var(--color-gold, #C9A96E); opacity: 1; font-size: 11px; letter-spacing: .28em; margin-bottom: 18px; }
.slide .eyebrow::before { content: ""; width: 28px; height: 1px; background: currentColor; }
.slide--center .eyebrow::after { content: ""; width: 28px; height: 1px; background: currentColor; }
.slide .h0 { font-weight: 300; letter-spacing: -.01em; line-height: 1.02; margin: 0 0 18px; }
.slide__text .rte { font-size: 16px !important; line-height: 1.6; color: rgba(255,255,255,.78); opacity: 1 !important; max-width: 440px; margin-bottom: 30px !important; }
.slide--center .slide__text .rte { margin-inline: auto; }
.slide__buttons .button--light { background: var(--color-gold, #C9A96E); border-color: var(--color-gold, #C9A96E); color: #14130F; min-height: 52px; padding-inline: 30px; }
.slide__buttons .button--light:hover { background: #fff; border-color: #fff; color: #14130F; }
.slide__buttons .button--outline { width: auto; min-height: 0; padding: 6px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.6); border-radius: 0; background: none; color: #fff !important; font-size: 11.5px; letter-spacing: .18em; }
.slide__buttons .button--outline:hover { border-bottom-color: var(--color-gold, #C9A96E); color: var(--color-gold, #C9A96E) !important; background: none; }
.slide__buttons { align-items: center; gap: 18px 28px; }
.slideshow__dots { align-items: center; }
.slideshow__count { font-size: 11px; letter-spacing: .14em; color: rgba(255,255,255,.7); margin-inline-end: 6px; font-variant-numeric: tabular-nums; }
.slideshow__count [data-slide-num] { color: #fff; }
.slideshow__dot { width: 36px; }
.slideshow__dot::after { background: var(--color-gold, #C9A96E); }
/* product-fallback slides always read left */
.slide:has(.slide__empty--product) .slide__text { margin-inline: 0; text-align: start; }
.slide:has(.slide__empty--product) .slide__buttons { justify-content: flex-start; }
.slide:has(.slide__empty--product) .eyebrow::after { display: none; }

@media (min-width: 990px) {
  .slide { align-items: center; }
  .slide__media::after { background: linear-gradient(90deg, rgba(0,0,0,calc(var(--overlay, .35) + .35)) 0%, rgba(0,0,0,calc(var(--overlay, .35) * .8)) 38%, rgba(0,0,0,0) 68%), linear-gradient(to top, rgba(0,0,0,.35), transparent 30%); }
  .slide--center .slide__media::after { background: radial-gradient(70% 70% at 50% 50%, rgba(0,0,0,calc(var(--overlay, .35) + .2)), rgba(0,0,0,calc(var(--overlay, .35) * .5))); }
  .slide .h0 { font-size: clamp(48px, 5.2vw, 84px); }
  .slide__content { padding-block: 100px 110px; }
  .slide__text { max-width: 560px; }
}

/* Phones & tablets: photo on top (never covered), text on a dark panel below */
@media (max-width: 989px) {
  .slide { flex-direction: column; align-items: stretch; min-height: 0; }
  .slide__media { position: relative; inset: auto; width: 100%; aspect-ratio: var(--m-ratio, .8); max-height: 68svh; overflow: hidden; }
  .slide__media::after { background: linear-gradient(to top, #0B0B0A 0%, rgba(11,11,10,0) 22%); }
  .slide__content { padding-block: 6px 74px; background: #0B0B0A; flex: 1; }
  .slide__text, .slide--center .slide__text, .slide--end .slide__text { text-align: start; margin: 0; max-width: none; }
  .slide--center .eyebrow::after { display: none; }
  .slide .eyebrow { margin-bottom: 12px; font-size: 10.5px; }
  .slide .h0 { font-size: clamp(34px, 9.5vw, 46px); margin-bottom: 12px; }
  .slide__text .rte { font-size: 14.5px !important; margin-bottom: 22px !important; }
  .slide__buttons, .slide--center .slide__buttons { flex-direction: row; justify-content: flex-start; flex-wrap: wrap; width: 100%; }
  .slide__buttons .button--light { flex: 1 1 100%; }
  .slideshow__controls { inset-block-end: 26px; }
  /* product fallback inside the photo box */
  .slide:has(.slide__empty--product) { min-height: 0; align-items: stretch; }
  .slide:has(.slide__empty--product) .slide__media { aspect-ratio: 1 / 1; max-height: 56svh; }
  .slide__showcase { top: 50%; right: 50%; transform: translate(50%, -50%); width: min(66%, 320px); }
}
.slide:has(.slide__empty--product) .slide__text .rte { margin-inline: 0; }
@media (max-width: 989px) { .slide__media { max-height: 60svh; } .slide:has(.slide__empty--product) .slide__media { max-height: 50svh; } .slide__content { padding-block: 4px 66px; } }
/* ---------- Hero v3: compact & refined ---------- */
@media (min-width: 990px) {
  .slide { min-height: clamp(440px, 62vh, 620px); }
  .slide__content { padding-block: 64px 84px; }
  .slide .h0 { font-size: clamp(40px, 4vw, 62px); margin-bottom: 14px; }
  .slide .eyebrow { margin-bottom: 14px; }
  .slide__text { max-width: 500px; }
  .slide__text .rte { font-size: 15px !important; margin-bottom: 26px !important; max-width: 400px; }
  .slide__buttons .button--light { min-height: 48px; padding-inline: 26px; font-size: 11.5px; }
  .slideshow__controls { inset-block-end: 26px; }
  .slideshow__controls .scroller-nav button { width: 40px; height: 40px; }
  .slide__showcase { width: min(34vw, 440px); right: 9%; }
}
@media (max-width: 989px) {
  .slide__media { max-height: 46svh; }
  .slide:has(.slide__empty--product) .slide__media { aspect-ratio: 4 / 3; max-height: 40svh; }
  .slide__showcase { width: min(58%, 250px); }
  .slide__content { padding-block: 2px 52px; }
  .slide .eyebrow { margin-bottom: 8px; font-size: 10px; letter-spacing: .24em; }
  .slide .eyebrow::before { width: 20px; }
  .slide .h0 { font-size: clamp(28px, 8vw, 36px); margin-bottom: 8px; }
  .slide__text .rte { font-size: 13.5px !important; margin-bottom: 16px !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .slide__buttons, .slide--center .slide__buttons { flex-wrap: nowrap; gap: 20px; align-items: center; }
  .slide__buttons .button--light { flex: 0 0 auto; min-height: 44px; padding-inline: 20px; font-size: 11px; letter-spacing: .14em; }
  .slide__buttons .button--outline { font-size: 10.5px; letter-spacing: .16em; white-space: nowrap; }
  .slideshow__controls { inset-block-end: 20px; }
  .slideshow__dot { width: 28px; }
}
@media (max-width: 989px) {
  .slide:has(.slide__empty--product) .slide__media { aspect-ratio: var(--m-ratio, .8); max-height: 46svh; }
  .slide__showcase { width: min(64%, 270px); }
  .slide__buttons .button--outline { margin-inline-end: 4px; }
}
