/** Shopify CDN: Minification failed

Line 548:0 Unexpected "}"

**/
/* ==========================================================================
   Alba Duarte — Component styles
   ========================================================================== */

/* ---------- Announcement bar ---------- */
.announcement-bar {
  background: #111;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  min-height: 36px;
  padding: 0.62rem 0;
  overflow: hidden;
}.lm-carousel-shell{position:relative}.lm-round-arrow{position:absolute;top:46%;width:48px;height:48px;border:0;border-radius:50%;background:#fff;color:#111;font-size:2rem;line-height:1;z-index:3;box-shadow:0 4px 18px rgba(0,0,0,.08)}.lm-round-arrow--prev{left:10px}.lm-round-arrow--next{right:10px;background:#111;color:#fff}.lm-progress{height:36px;margin:0 var(--page-margin);border-bottom:1px solid #e4ded8;position:relative}.lm-progress span{position:absolute;bottom:-1px;left:0;width:28%;height:2px;background:#111}.lm-ugc-person{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px}.lm-ugc-person>span{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#eee3d9;font-weight:700}.lm-ugc-person small{display:block;color:#777}
@media(min-width:750px){.lm-ugc-card{flex-basis:min(43vw,620px)}.lm-ugc-card__media{height:min(59vw,750px)}}
.announcement-countdown {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  padding: .42rem var(--page-margin);
  border-bottom: 1px solid color-mix(in srgb, currentColor 25%, transparent);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-align: center;
}
.announcement-countdown[hidden] { display: none; }
.announcement-countdown strong { font-variant-numeric: tabular-nums; }
.announcement-bar a { text-decoration: none; }
.announcement-bar a:hover { text-decoration: underline; text-underline-offset: 3px; }
.announcement-bar__marquee { overflow: hidden; width: 100%; }
.announcement-bar__track {
  display: flex;
  width: max-content;
  animation: announcement-marquee var(--announcement-duration, 36s) linear infinite;
  will-change: transform;
}
.announcement-bar__marquee:hover .announcement-bar__track,
.announcement-bar__marquee:focus-within .announcement-bar__track { animation-play-state: paused; }
.announcement-bar__group { display: flex; align-items: center; flex-shrink: 0; white-space: nowrap; }
.announcement-bar__message { display: inline-flex; align-items: center; padding-inline: clamp(1.25rem, 2vw, 2rem); }
.announcement-bar__separator { font-size: 0.42em; opacity: 0.46; }
.announcement-bar__marquee--static .announcement-bar__track { animation: none; width: 100%; justify-content: center; }
.announcement-bar__marquee--static .announcement-bar__group[aria-hidden="true"] { display: none; }
@keyframes announcement-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .announcement-bar__marquee { overflow-x: auto; scrollbar-width: none; }
  .announcement-bar__marquee::-webkit-scrollbar { display: none; }
  .announcement-bar__track { animation: none; }
  .announcement-bar__group[aria-hidden="true"] { display: none; }
}

/* ---------- Header ---------- */
.site-header {
  position: relative;
  background: var(--color-background);
  border-bottom: 1px solid transparent;
  transition: background-color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);
}
.site-header--sticky {
  position: sticky;
  top: 0;
  z-index: var(--z-header);
}
.site-header--transparent:not(.site-header--scrolled) {
  background: linear-gradient(to bottom, rgba(20, 14, 12, 0.48), rgba(20, 14, 12, 0));
  color: var(--color-background);
  border-bottom: 0;
  box-shadow: none;
  position: relative;
  z-index: var(--z-header);
  text-shadow: 0 1px 12px rgba(0,0,0,0.25);
}
.site-header--transparent:not(.site-header--scrolled)::after { display: none; }
.hero--overlap-header { border-top: 0; transition: margin-top var(--duration-base) var(--ease-out); }
.site-header--scrolled {
  background: color-mix(in srgb, var(--color-background) 94%, transparent);
  color: var(--color-text);
  border-bottom-color: var(--color-border);
  box-shadow: 0 8px 24px rgba(24, 16, 12, 0.05);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  text-shadow: none;
}
.site-header--hidden { transform: translateY(-100%); }

.site-header__inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: var(--header-height);
  width: min(calc(100% - (var(--page-margin) * 2)), 1180px);
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
  gap: clamp(0.65rem, 1.4vw, 1.2rem);
}
@media (max-width: 749px) {
  .site-header__inner { min-height: 96px; width: calc(100% - 28px); gap: 0; }
  .site-header__left, .site-header__right { gap: 5px; }
  .site-header__logo-text { font-size: 1rem; letter-spacing: .18em; }
  .site-header__icon { width: 38px; height: 38px; padding: 8px; }
  .site-header__icon svg { width: 21px; height: 21px; stroke-width: 1.45; }
}

.site-header__left, .site-header__right {
  display: flex;
  align-items: center;
  gap: 0.2rem;
}
.site-header__left { justify-content: flex-end; }
.site-header__right { justify-content: flex-start; }

.site-header__logo {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-family: var(--font-heading--family);
  font-size: 1.25rem;
  letter-spacing: 0.06em;
}
.site-header__logo-text {
  white-space: nowrap;
  font-size: clamp(1rem, 3.8vw, 1.35rem);
  font-weight: 500;
  letter-spacing: 0.14em;
}
.site-header--transparent:not(.site-header--scrolled) .site-header__logo-text { color: #fff; }
.site-header__logo img { height: var(--logo-height-mobile, 24px); width: auto; }
@media (min-width: 750px) {
  .site-header__logo img { height: var(--logo-height, 32px); }
}
.site-header__logo-img--white { display: none; }
.site-header--transparent:not(.site-header--scrolled) .site-header__logo-img--dark { display: none; }
.site-header--transparent:not(.site-header--scrolled) .site-header__logo-img--white { display: block; }

.site-header__nav { display: none; }
.site-header__localization { display: none; }
.localization-form { display: flex; align-items: center; gap: 0.5rem; }
.localization-form select {
  max-width: 11rem;
  min-height: 40px;
  padding: 0.45rem 1.8rem 0.45rem 0.55rem;
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  color: var(--color-text);
  font: inherit;
  font-size: 0.78rem;
}
.drawer__footer .localization-form { flex-wrap: wrap; margin-bottom: 1rem; }
@media (min-width: 990px) {
  .site-header__inner {
    grid-template-columns: 1fr auto 1fr;
  }
  .site-header__nav {
    display: flex;
    align-items: center;
    gap: clamp(0.75rem, 1.25vw, 1.15rem);
  }
  .site-header__localization { display: block; }
  .site-header__left .site-header__nav,
  .site-header__right .site-header__nav { margin: 0; }
  .site-header__nav a {
    font-size: 0.85rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 1rem 0;
    position: relative;
  }
  .site-header__nav a::after {
    content: '';
    position: absolute;
    bottom: 0.75rem;
    left: 0;
    right: 0;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left;
    transform-origin: center;
    transition: transform 300ms var(--ease-out), opacity 300ms var(--ease-out);
    opacity: 0;
  }
  .site-header__nav a:hover::after,
  .site-header__nav a:focus-visible::after,
  .site-header__nav a.is-active::after { transform: scaleX(1); opacity: 1; }
  .site-header__nav a.is-active::after { transform: scaleX(0.45); }
  .site-header__nav-item {
    position: relative;
    display: flex;
    align-items: center;
  }
  .site-header__dropdown {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, 10px);
    min-width: 200px;
    background: var(--color-background);
    border-top: 2px solid var(--color-text);
    box-shadow: 0 16px 32px rgba(0,0,0,0.1);
    padding: 0.5rem 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out), visibility var(--duration-base);
    z-index: var(--z-header);
  }
  .site-header__nav-item:hover .site-header__dropdown,
  .site-header__nav-item:focus-within .site-header__dropdown {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 2px);
  }
  .site-header__dropdown a {
    display: block;
    padding: 0.7rem 1.5rem;
    color: var(--color-text);
    font-family: var(--font-heading--family);
    font-style: italic;
    font-size: 1.05rem;
    text-transform: none;
    letter-spacing: 0;
    text-align: center;
    white-space: nowrap;
    transition: background-color var(--duration-fast) var(--ease-out), letter-spacing var(--duration-base) var(--ease-out);
  }
  .site-header__dropdown a::after { display: none; }
  .site-header__dropdown a:hover { background: var(--color-soft); letter-spacing: 0.02em; }
}

.site-header__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  position: relative;
  color: inherit;
  transition: background-color var(--duration-base) var(--ease-out);
}
.site-header__icon:hover { background: color-mix(in srgb, currentColor 8%, transparent); }
.site-header__icon svg { width: 22px; height: 22px; }
.cart-bubble {
  position: absolute;
  top: 4px; right: 4px;
  min-width: 18px; height: 18px;
  padding: 0 5px;
  background: var(--color-accent);
  color: var(--color-background);
  font-size: 0.65rem;
  border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-body--family);
  letter-spacing: 0;
}

.site-header__mobile-toggle { display: inline-flex; }
@media (min-width: 990px) { .site-header__mobile-toggle { display: none; } }

/* ---------- Mobile menu drawer ---------- */
.drawer {
  position: fixed;
  inset: 0;
  z-index: var(--z-drawer);
  pointer-events: none;
  visibility: hidden;
}
.drawer[open] { pointer-events: auto; visibility: visible; }
.drawer__backdrop {
  position: absolute; inset: 0;
  background: rgba(0,0,0,0.4);
  opacity: 0;
  transition: opacity var(--duration-base) var(--ease-out);
}
.drawer[open] .drawer__backdrop { opacity: 1; }
.drawer__panel {
  position: absolute;
  top: 0; bottom: 0; right: 0;
  width: min(420px, 92vw);
  background: var(--color-background);
  color: var(--color-text);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform var(--duration-slow) var(--ease-out);
  box-shadow: -10px 0 30px rgba(0,0,0,0.06);
}
.drawer[open] .drawer__panel { transform: translateX(0); }
.drawer--left .drawer__panel { left: 0; right: auto; transform: translateX(-100%); }
.drawer--left[open] .drawer__panel { transform: translateX(0); }
.drawer--center .drawer__panel {
  position: absolute; top: 50%; left: 50%; right: auto; bottom: auto;
  width: min(400px, 92vw);
  max-height: min(560px, 85vh);
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.18);
  transform: translate(-50%, -50%) scale(0.96);
  opacity: 0;
  transition: transform var(--duration-slow) var(--ease-out), opacity var(--duration-slow) var(--ease-out);
}
.drawer--center[open] .drawer__panel { transform: translate(-50%, -50%) scale(1); opacity: 1; }
.drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem var(--page-margin);
  border-bottom: 1px solid var(--color-border);
}
.drawer__title { font-family: var(--font-heading--family); font-size: 1.25rem; margin: 0; }
.drawer__body { flex: 1; overflow-y: auto; padding: 1rem var(--page-margin); }
.drawer__footer { padding: 1rem var(--page-margin); border-top: 1px solid var(--color-border); background: var(--color-surface); }
.drawer__close { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.mobile-nav ul { display: flex; flex-direction: column; gap: 0.5rem; }
.mobile-nav a {
  display: block;
  padding: 0.9rem 0;
  font-size: 1.1rem;
  border-bottom: 1px solid var(--color-border);
}
.mobile-nav__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--color-border);
}
.mobile-nav__row a { border-bottom: 0; flex: 1; }
.mobile-nav__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
}
.mobile-nav__toggle svg { width: 16px; height: 16px; transition: transform var(--duration-base) var(--ease-out); }
.mobile-nav__toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.mobile-nav__submenu {
  padding-left: 1rem;
  margin-top: 0.5rem;
}
.mobile-nav__submenu a {
  font-size: 0.95rem;
  color: var(--color-text-muted);
  border-bottom: 0;
  padding: 0.5rem 0;
}
.mobile-nav a:focus-visible,
.mobile-nav__toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

/* ---------- Hero ---------- */
.hero { position: relative; }
.hero__media {
  position: relative;
  width: 100%;
  height: clamp(580px, 164vw, 680px);
  overflow: hidden;
}
@media (min-width: 750px) { .hero--small .hero__media { height: clamp(360px, 34vw, 480px); } }
@media (min-width: 750px) { .hero--medium .hero__media { height: clamp(460px, 45vw, 620px); } }
@media (min-width: 750px) { .hero--large .hero__media { height: clamp(560px, 56vw, 760px); } }
.hero--full .hero__media { height: calc(100svh - var(--header-height)); }
.hero__media img, .hero__media video {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: var(--hero-position-mobile, center center);
}
.hero__placeholder-gradient {
  width: 100%; height: 100%;
  background: linear-gradient(145deg,#ddd5cf 0%,#bdb3ad 48%,#8e8782 100%);
}
.placeholder-block {
  width: 100%; height: 100%;
  background: linear-gradient(155deg, color-mix(in srgb, var(--color-soft) calc(100% - var(--tint, 25%)), var(--color-accent) var(--tint, 25%)) 0%, var(--color-border) 100%);
}
.hero__mobile { display: block; height: 100%; }
.hero__desktop { display: none; height: 100%; }
.hero__mobile img, .hero__desktop img { height: 100%; }
@media (min-width: 750px) {
  .hero__mobile { display: none; }
  .hero__desktop { display: block; }
  .hero__desktop img { object-position: var(--hero-position, center center); }
}
.hero__overlay {
  position: absolute; inset: 0;
  background: rgba(0,0,0,var(--hero-overlay, 0.15));
  pointer-events: none;
}
.hero__content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: var(--page-margin) var(--page-margin) calc(var(--page-margin) * 1.5);
  color: #fff;
  text-shadow: 0 2px 16px rgba(0,0,0,0.28), 0 1px 3px rgba(0,0,0,0.35);
}
@media (min-width: 750px) {
  .hero__content { padding: var(--page-margin-desktop) var(--page-margin-desktop) calc(var(--page-margin-desktop) * 1.5); }
}
.hero__content::before {
  content: '';
  position: absolute;
  inset: auto 0 0 0;
  height: 60%;
  background: linear-gradient(to top, rgba(0,0,0,0.38), transparent);
  pointer-events: none;
  z-index: -1;
}
.hero--valign-top .hero__content { justify-content: flex-start; }
.hero--valign-center .hero__content { justify-content: center; }
.hero--valign-bottom .hero__content { justify-content: flex-end; }
.hero--valign-top .hero__content::before,
.hero--valign-center .hero__content::before { display: none; }
.hero--align-center .hero__content { align-items: center; text-align: center; }
.hero--align-left .hero__content { align-items: flex-start; text-align: left; }
.hero--align-right .hero__content { align-items: flex-end; text-align: right; }
.hero__title {
  color: inherit;
  font-family: var(--font-body--family);
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(1.9rem, 6vw, 3.4rem);
  max-width: 22ch;
  margin-bottom: 0.5em;
  letter-spacing: 0.04em;
}
.hero__subtitle { max-width: 42ch; margin-bottom: 1.75rem; font-size: 1.05rem; }
.hero__button { align-self: inherit; min-width: min(100%, 350px); min-height: 52px; border: 1px solid rgba(255,255,255,.9); background: rgba(255,255,255,.86); color: #111; letter-spacing: .17em; box-shadow: none; }
@media (max-width:749px) { .hero__content { padding: 28px 34px 34px; align-items:center; text-align:center; } .hero__title,.hero__subtitle{display:none;} }

/* ---------- Brand quote ---------- */
.brand-quote { text-align: center; }
.brand-quote__text {
  font-family: var(--font-heading--family);
  font-style: italic;
  font-size: clamp(1.2rem, 2.6vw, 1.75rem);
  line-height: 1.5;
  max-width: 60ch;
  margin-inline: auto;
  color: var(--color-text);
}

/* ---------- Section header ---------- */
.section-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 2rem;
}
.section-header__title { margin: 0; font-size: clamp(1.75rem, 3.2vw, 2.5rem); }
.section-header__cta { margin-left: auto; }
@media (min-width: 750px) {
  .section-header { flex-direction: row; align-items: flex-end; }
}
.section-header--center { align-items: center; text-align: center; }
.section-header--center .section-header__title { margin-inline: auto; }

/* ---------- Collection card ---------- */
.collection-list__grid {
  display: grid;
  grid-template-columns: repeat(var(--cols-mobile, 2), 1fr);
  gap: 2px;
}
@media (min-width: 750px) {
  .collection-list__grid { grid-template-columns: repeat(var(--cols, 3), 1fr); }
}
.collection-card {
  position: relative;
  display: block;
  overflow: hidden;
}
.collection-card__media {
  aspect-ratio: 2/3;
  background: var(--color-soft);
  overflow: hidden;
}
@media (min-width: 750px) {
  .collection-card__media { aspect-ratio: 2/3; }
}
.collection-card__media img,
.collection-card__media .placeholder-block { width: 100%; height: 100%; object-fit: cover; object-position: var(--card-position, center top); transition: transform var(--duration-slow) var(--ease-out), opacity var(--duration-slow) var(--ease-out); }
.collection-card:hover .collection-card__media img,
.collection-card:hover .collection-card__media .placeholder-block { transform: scale(1.035); }
.collection-card__media { overflow: hidden; }
.collection-card__image--hover { position: absolute; inset: 0; opacity: 0; }
.collection-card--has-hover:hover .collection-card__image--primary { opacity: 0; }
.collection-card--has-hover:hover .collection-card__image--hover { opacity: 1; }
.collection-card__overlay { position: absolute; inset: 0; z-index: 1; background: rgba(18, 12, 10, var(--card-overlay, 0.2)); transition: background-color var(--duration-slow) var(--ease-out); }
.collection-card:hover .collection-card__overlay { background: rgba(18, 12, 10, calc(var(--card-overlay, 0.2) + 0.04)); }
.collection-card__title { transition: transform var(--duration-slow) var(--ease-out); }
.collection-card:hover .collection-card__title { transform: scale(1.06); }
.collection-card__info {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: flex-end;
  padding-bottom: 2.5rem; text-align: center;
  color: var(--card-text, #fff);
  z-index: 2;
  text-shadow: 0 1px 16px rgba(0,0,0,0.35);
  background: linear-gradient(to top, rgba(0,0,0,0.28), rgba(0,0,0,0) 45%);
}
.collection-card__title {
  color: var(--card-text, #fff);
  font-family: var(--font-heading--family);
  font-size: clamp(1.75rem, 2.65vw, 3rem);
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 1.05;
  margin: 0;
  text-align: center;
  text-shadow: 0 2px 20px rgba(0,0,0,0.72), 0 1px 4px rgba(0,0,0,0.8);
}
.collection-card__count { font-size: 0.85rem; opacity: 0.9; }
.collection-card--below-image { color: var(--color-text); }
.collection-card--below-image .collection-card__info { position: static; padding: 0.75rem 0 0; color: var(--color-text); text-shadow: none; }
.collection-card--below-image .collection-card__title { font-size: 1.15rem; }
@media (min-width: 750px) {
  .collection-list__grid--bento .collection-card--large { grid-column: span 2; grid-row: span 2; }
  .collection-list__grid--bento .collection-card--large .collection-card__media { aspect-ratio: 1/1; height: 100%; }
  .collection-list__grid--bento .collection-card--large .collection-card__title { font-size: 1.9rem; }
}

/* ---------- Product grid ---------- */
.product-list__grid {
  display: grid;
  grid-template-columns: repeat(var(--cols-mobile, 2), 1fr);
  gap: var(--grid-gap) calc(var(--grid-gap) * 1.5);
}
@media (min-width: 750px) {
    .product-list__grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (min-width: 990px) {
      .product-list__grid { grid-template-columns: repeat(3, 1fr); }
      }
      @media (min-width: 1200px) {
        .product-list__grid { grid-template-columns: repeat(var(--cols, 4), 1fr); }
        }
}
.product-list__grid--carousel {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  gap: var(--grid-gap);
  scrollbar-width: none;
  padding-bottom: 0.5rem;
  margin-inline: calc(var(--page-margin) * -1);
  padding-inline: var(--page-margin);
}
.product-list__grid--carousel::-webkit-scrollbar { display: none; }
.product-list__grid--carousel > * {
  flex: 0 0 68%;
  scroll-snap-align: start;
}
@media (min-width: 750px) {
  .product-list__grid--carousel > * { flex-basis: 30%; }
}

/* ---------- Product card ---------- */
.product-card { position: relative; display: flex; flex-direction: column; }
.product-card__media {
  position: relative;
  display: block;
  aspect-ratio: var(--aspect-ratio, 3/4);
  overflow: hidden;
  background: var(--color-soft);
  border-radius: var(--radius-card);
}
.product-card__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity var(--duration-base) var(--ease-out), transform var(--duration-slow) var(--ease-out); }
.product-card--aurora .product-card__media { background: #f8f8f8; }
.product-card--aurora .product-card__image { object-fit: cover; object-position: center center; }
.product-card__image--secondary { opacity: 0; }
@media (hover: hover) {
  .product-card:hover .product-card__image--primary { opacity: 0; }
  .product-card:hover .product-card__image--secondary { opacity: 1; }
}
.product-card__placeholder { color: var(--color-border); }
.product-card__badge {
  position: absolute; top: 0; left: 0;
  background: var(--color-text); color: var(--color-background);
  font-size: 0.68rem; letter-spacing: 0.1em;
  padding: 5px 11px;
  text-transform: uppercase;
  border-radius: 0;
}
.product-card__badge--sale { background: var(--color-error); }
.product-card__badge--soldout { background: var(--color-text-muted); }

.product-card__info { padding-top: 0.9rem; display: flex; flex-direction: column; gap: 0.35rem; }
.product-card__title {
  font-size: 0.95rem;
  font-family: var(--font-body--family);
  font-weight: 500;
  margin: 0;
  color: var(--color-text);
}
.product-card__title a { color: inherit; }
.product-card__title a:hover { text-decoration: underline; text-underline-offset: 3px; }
.product-card__price { font-size: 0.95rem; color: var(--color-text); display: inline-flex; gap: 0.5rem; align-items: baseline; }

.product-card__swatches {
  display: flex;
  gap: 0.35rem;
  margin-top: 0.25rem;
  align-items: center;
}
.product-card__swatch {
  display: inline-block;
  width: 14px; height: 14px;
  border-radius: 50%;
  border: 1px solid var(--color-border);
  background-size: cover;
  background-position: center;
}
.product-card__swatch-more { font-size: 0.7rem; color: var(--color-text-muted); }

.product-card__quick-add { margin-top: 0.5rem; align-self: flex-start; padding: 0.6rem 1rem; min-height: 40px; font-size: 0.75rem; }
.product-card__quick-add { opacity: 1; visibility: visible; transform: none; }
.product-card__price .price__savings { display: none; }
.product-card__price .price__compare { color: var(--color-text-muted); opacity: 0.68; }

/* ---------- Price ---------- */
.price { display: inline-flex; gap: 0.5rem; align-items: baseline; flex-wrap: wrap; }
.price__compare { color: var(--color-text-muted); font-size: 0.85em; }
.price__sale, .price--on-sale .price__sale { color: var(--color-text); font-weight: 600; }
.price__savings { color: var(--color-error); font-size: 0.8em; font-weight: 600; }

/* Commercial figures use the clean body face, with tabular numerals. */
.price,
[class*="__price"],
.cart-item__total,
.cart__subtotal {
  font-family: var(--font-body--family), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-variant-numeric: tabular-nums lining-nums;
  letter-spacing: 0.01em;
}
.price__regular, .price__sale { font-family: inherit; font-weight: 650; line-height: 1.25; }
.price__compare { font-family: inherit; font-weight: 400; opacity: 0.78; }
.price__savings { font-family: inherit; font-weight: 600; }

/* ---------- Editorial banner ---------- */
.editorial-banner {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--grid-gap);
  align-items: stretch;
}
@media (min-width: 750px) {
  .editorial-banner { grid-template-columns: 1fr 1fr; gap: calc(var(--grid-gap) * 2); align-items: center; }
  .editorial-banner--reverse .editorial-banner__media { order: 2; }
}
.editorial-banner__media {
  aspect-ratio: 4/5;
  background: var(--color-soft);
  overflow: hidden;
  border-radius: var(--radius-card);
}
.editorial-banner__media img { width: 100%; height: 100%; object-fit: var(--editorial-media-fit, cover); object-position: var(--editorial-media-position, center center); }
.editorial-banner__media--slideshow { aspect-ratio: 3/4; }
.editorial-slideshow, .editorial-slideshow__track { position: relative; display: block; width: 100%; height: 100%; }
.editorial-slideshow__slide { position: absolute; inset: 0; margin: 0; opacity: 0; transform: scale(1); transition: opacity 950ms var(--ease-out), transform 6500ms linear; pointer-events: none; }
.editorial-slideshow__slide.is-active { z-index: 1; opacity: 1; transform: scale(1.025); pointer-events: auto; }
.editorial-slideshow__slide img { object-fit: cover; object-position: center top; }
.editorial-slideshow__nav { position: absolute; z-index: 2; top: 50%; display: grid; place-items: center; width: 44px; height: 52px; padding: 0; transform: translateY(-50%); border: 0; border-radius: 0; background: transparent; color: #fff; filter: drop-shadow(0 1px 4px rgba(0,0,0,0.38)); transition: transform 220ms var(--ease-out), opacity 220ms var(--ease-out); }
.editorial-slideshow__nav svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; }
.editorial-slideshow__prev { left: 0.65rem; }
.editorial-slideshow__next { right: 0.65rem; }
.editorial-slideshow__prev:hover { transform: translateY(-50%) translateX(-2px); }
.editorial-slideshow__next:hover { transform: translateY(-50%) translateX(2px); }
.editorial-slideshow__nav:focus-visible { outline: 1px solid rgba(255,255,255,0.9); outline-offset: 1px; }

.novedades-editorial { padding: clamp(2rem, 5vw, 4.5rem) 0 clamp(3rem, 7vw, 6rem); }
.novedades-editorial__intro { max-width: 760px; margin: 0 auto clamp(3rem, 7vw, 6rem); text-align: center; }
.novedades-editorial__intro h2 { margin: 0.75rem 0 1rem; font-family: var(--font-heading-family); font-size: clamp(2rem, 4.3vw, 4rem); font-weight: var(--font-heading-weight); line-height: 1.05; }
.novedades-editorial__intro p { max-width: 620px; margin: 0 auto; color: var(--color-text-muted); font-size: clamp(1rem, 1.4vw, 1.15rem); }
.novedades-editorial__chapter { margin-top: clamp(3.5rem, 8vw, 7rem); }
.novedades-editorial__chapter--tinted { margin-inline: calc(50% - 50vw); padding: clamp(3rem, 7vw, 6rem) max(var(--page-gutter), calc((100vw - var(--page-width)) / 2)); background: color-mix(in srgb, var(--color-accent) 18%, #fff); }
.novedades-editorial__heading { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(250px, 0.75fr); gap: 2rem; align-items: end; margin-bottom: clamp(1.5rem, 3vw, 2.5rem); padding-bottom: 1.25rem; border-bottom: 1px solid var(--color-border); }
.novedades-editorial__heading h2 { margin: 0.55rem 0 0; font-family: var(--font-heading-family); font-size: clamp(1.8rem, 3.1vw, 3rem); font-weight: var(--font-heading-weight); line-height: 1.08; }
.novedades-editorial__heading p { max-width: 460px; margin: 0 0 0 auto; color: var(--color-text-muted); }
.novedades-editorial__cta { margin-top: clamp(3rem, 6vw, 5rem); text-align: center; }
@media (max-width: 749px) {
  .novedades-editorial__heading { grid-template-columns: 1fr; gap: 0.75rem; align-items: start; }
  .novedades-editorial__heading p { margin: 0; }
  .novedades-editorial__chapter--tinted { padding-inline: var(--page-gutter); }
}
.editorial-banner__content { position: relative; padding: clamp(0.75rem, 2vw, 2rem) clamp(0rem, 1vw, 1rem); max-width: 52ch; }
.editorial-banner__title { margin: 0.4rem 0 1rem; }
.editorial-banner__text { margin-bottom: 1.5rem; color: var(--color-text); }
.editorial-banner__content::before { content: ''; display: block; width: 3.25rem; height: 1px; margin-bottom: 1.4rem; background: var(--color-accent); opacity: 0.65; }
.editorial-banner__detail { max-width: 42ch; margin: -0.35rem 0 1.5rem; color: var(--color-text-muted); font-size: 0.9rem; }
@media (min-width: 750px) {
  .editorial-banner { grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr); gap: clamp(1.5rem, 3vw, 3.25rem); max-width: 1180px; margin-inline: auto; }
  .editorial-banner__media { aspect-ratio: 4/5; max-height: 720px; }
  .editorial-banner__media--slideshow { aspect-ratio: 3/4; }
}
@media (prefers-reduced-motion: reduce) {
  .editorial-slideshow__slide { transition: none; transform: none; }
  .volume-customizer { animation: none; }
}

/* ---------- Featured product ---------- */
.featured-product { display: grid; grid-template-columns: 1fr; gap: 2rem; }
.featured-product__media { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; }
.featured-product__media-item { min-width: 0; }
.featured-product__media-item[hidden] { display: none; }
.featured-product__media img { width: 100%; height: 100%; aspect-ratio: 2/3; object-fit: cover; }
.featured-product__content { align-self: center; max-width: 34rem; }
.featured-product__title { margin-bottom: 0.75rem; }
.featured-product__title-link {
  position: relative;
  color: inherit;
  cursor: pointer;
}
.featured-product__title-link::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.12em;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 300ms var(--ease-out);
}
.featured-product__title-link:hover::after,
.featured-product__title-link:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left;
}
.featured-product__title-link:focus-visible { outline: 1px solid currentColor; outline-offset: 4px; }
.featured-product__price { margin-bottom: 1rem; }
.featured-product__form { margin-top: 1.25rem; }
.featured-product__link { margin-top: 0.75rem; }
@media (min-width: 750px) { .featured-product { grid-template-columns: 1.3fr 1fr; gap: 4rem; align-items: center; } }

@media (max-width: 749px) {
  .collection-list-section .page-width { padding-inline: 0.75rem; }
  .collection-list__grid { gap: 0.75rem; }
  .collection-card__title { font-size: clamp(1.3rem, 5.8vw, 1.85rem); letter-spacing: 0.045em; }
  .featured-product__media { gap: 0.4rem; }
}

/* ---------- Newsletter section ---------- */
.newsletter-section { background: var(--newsletter-bg, var(--color-soft)); color: var(--newsletter-text, var(--color-text)); padding-block: var(--newsletter-spacing, 3rem); }
.newsletter-section__inner { padding-block: 0; }
.newsletter-section--centered .newsletter-section__inner { max-width: 640px; margin-inline: auto; }
.newsletter-section--align-left .newsletter-section__inner, .newsletter-section--align-left .newsletter-section__content { text-align: left; }
.newsletter-section--align-center .newsletter-section__inner, .newsletter-section--align-center .newsletter-section__content { text-align: center; }
.newsletter-section--split .newsletter-section__inner { display: grid; grid-template-columns: 1fr; align-items: center; gap: 2rem; max-width: none; text-align: left; }
@media (min-width: 900px) { .newsletter-section--split .newsletter-section__inner { grid-template-columns: 1fr 1fr; } }
.newsletter-section--split .newsletter-section__content { text-align: left; }
.newsletter-section__media img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4/3; }
.newsletter-section__title { margin: 0.25rem 0 0.75rem; font-size: clamp(1.5rem, 3.2vw, 2.25rem); }
.newsletter-section__text { opacity: 0.75; margin: 0 0 1.5rem; }
.newsletter-section__incentive { font-weight: 600; margin: -0.5rem 0 1rem; }
.newsletter-section--hide-mobile { display: none; }
.newsletter-section--hide-desktop { display: block; }
@media (min-width: 750px) {
  .newsletter-section--hide-mobile { display: block; }
  .newsletter-section--hide-desktop { display: none; }
}
.newsletter-form { display: grid; grid-template-columns: 1fr auto; gap: 0; max-width: 480px; margin: 0 auto; }
.newsletter-section--align-left .newsletter-form { margin-inline: 0; }
.newsletter-section--split .newsletter-form { margin-inline: 0; }
.newsletter-form input { border-radius: 0; background: var(--color-surface); }
.newsletter-form button { border-radius: 0; }
.newsletter-form .newsletter-consent { grid-column: 1 / -1; margin-top: 0.75rem; }
.newsletter-form .form-status { grid-column: 1 / -1; margin-top: 0.75rem; font-size: 0.9rem; }
.newsletter-form .form-status--success { color: var(--color-success); }
.newsletter-form .form-status--error { color: var(--color-error); }
.footer-newsletter-field {
  display: flex;
  align-items: center;
  border: 1px solid rgba(247,240,235,0.42);
  border-radius: 999px;
  padding: 0.3rem 0.35rem 0.3rem 1.1rem;
  background: rgba(255,255,255,0.035);
}
.footer-newsletter-field input {
  flex: 1;
  border: 0;
  background: transparent;
  padding: 0.4rem 0;
  color: #f7f0eb;
  font-size: 0.9rem;
}
.footer-newsletter-field input::placeholder { color: #bba9a1; }
.footer-newsletter-field button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #f7f0eb;
  color: #211815;
  flex-shrink: 0;
  transition: transform 300ms var(--ease-out), background 300ms var(--ease-out);
}
.footer-newsletter-field button:hover { transform: rotate(-8deg) scale(1.04); background: #eadbd3; }
.footer-newsletter-field button:focus-visible { outline: 2px solid #f7f0eb; outline-offset: 3px; }
.footer-newsletter-field button svg { width: 18px; height: 18px; }

.product-form__payment-icons { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.75rem; }
.product-form__payment-icons svg { height: 24px; width: auto; }

.product-shipping-estimate {
  display: grid; grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr); align-items: center;
  gap: 0.75rem; font-size: 0.85rem; margin-top: 1rem; padding: 0.85rem 1.1rem;
  background: var(--color-soft); border-radius: 8px;
}
.product-shipping-estimate__eta,
.product-shipping-estimate__free { display: inline-flex; align-items: center; gap: 0.5rem; }
.product-shipping-estimate__eta > svg { display: none; }
.product-shipping-estimate__eta::before {
  content: ''; width: 7px; height: 7px; border-radius: 50%;
  background: var(--color-text-muted); flex-shrink: 0;
}
.product-shipping-estimate__divider { width: 1px; align-self: stretch; background: var(--color-border); }
.product-shipping-estimate__flag { display: block; width: 24px; height: 16px; flex: 0 0 24px; border: 1px solid rgba(0,0,0,.14); border-radius: 3px; box-shadow: 0 1px 2px rgba(0,0,0,.08); }
.product-shipping-estimate__free { font-weight: 600; }

.size-chart-link {
  display: inline-flex; align-items: center; gap: 0.4rem;
  margin-top: 0.6rem; font-size: 0.85rem;
  text-decoration: underline; text-underline-offset: 3px; background: none; border: none;
  padding: 0; cursor: pointer; color: var(--color-text);
}
.size-chart-link svg { width: 16px; height: 16px; flex-shrink: 0; }
.size-chart-link:hover,
.size-chart-link:focus-visible { text-decoration-thickness: 2px; }
.size-chart-drawer .drawer__panel { width: min(680px, 96vw); }
.size-chart__intro { margin: 0 0 1.25rem; color: var(--color-text-muted); line-height: 1.55; }
.size-chart__scroll {
  width: 100%; overflow-x: auto; border: 1px solid var(--color-border);
  scrollbar-width: thin;
}
.size-chart table { width: 100%; min-width: 540px; border-collapse: collapse; text-align: center; font-variant-numeric: tabular-nums; }
.size-chart th,
.size-chart td { padding: 0.8rem 0.7rem; border-bottom: 1px solid var(--color-border); }
.size-chart thead th {
  background: var(--color-soft); font-size: 0.75rem; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--color-text-muted);
}
.size-chart tbody tr:last-child th,
.size-chart tbody tr:last-child td { border-bottom: 0; }
.size-chart tbody th { font-family: var(--font-heading--family); font-size: 1.05rem; }
.size-chart__measurements { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.75rem; margin-top: 1.25rem; }
.size-chart__measurements p { margin: 0; padding: 0.8rem; background: color-mix(in srgb, var(--color-soft) 55%, transparent); font-size: 0.82rem; line-height: 1.45; }
.size-chart__note { margin: 1rem 0 0; color: var(--color-text-muted); font-size: 0.78rem; line-height: 1.5; }
.size-chart__custom table { width: 100%; border-collapse: collapse; }
.size-chart__custom th,
.size-chart__custom td { padding: 0.75rem; border: 1px solid var(--color-border); }
@media (max-width: 560px) {
  .size-chart__measurements { grid-template-columns: 1fr; gap: 0.45rem; }
  .size-chart-drawer .drawer__body { padding-inline: 1rem; }
}

.product-bulk-discount {
  display: flex; align-items: flex-start; gap: 0.75rem;
  margin-top: 1rem; padding: 1rem; border-radius: 8px;
  background: #fdf1ec; border: 1px solid #f3d9cd;
}
.product-bulk-discount svg { width: 20px; height: 20px; flex-shrink: 0; margin-top: 0.15rem; color: #c0392b; }
.product-bulk-discount strong { display: block; margin-bottom: 0.25rem; }
.product-bulk-discount p { margin: 0; font-size: 0.85rem; }

/* ---------- Product page ---------- */
.product { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
@media (min-width: 750px) { .product { grid-template-columns: var(--gallery-width, 55%) 1fr; gap: 3rem; align-items: start; } }

.product-gallery { position: relative; }
.product-gallery__main {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-card);
  background: var(--color-soft);
  aspect-ratio: 2/3;
}
.product-gallery--aurora .product-gallery__main { aspect-ratio: 4/5; background: #f8f8f8; }
@media (min-width: 750px) { .product-gallery__main { max-height: 800px; } }
.product-gallery__slide { position: absolute; inset: 0; opacity: 0; transition: opacity var(--duration-base) var(--ease-out); }
.product-gallery__slide[data-active="true"] { opacity: 1; }
.product-gallery__slide img, .product-gallery__slide video { width: 100%; height: 100%; object-fit: contain; }
.product-gallery__thumbnails {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.75rem;
  overflow-x: auto;
  scrollbar-width: none;
}
.product-gallery__thumbnails::-webkit-scrollbar { display: none; }
.product-gallery__thumb {
  flex: 0 0 72px;
  aspect-ratio: 3/4;
  overflow: hidden;
  border: 1px solid transparent;
  cursor: pointer;
  padding: 0;
  background: none;
  border-radius: var(--radius-card);
}
.product-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }
.product-gallery__thumb[aria-current="true"] { border-color: var(--color-text); }
.product-gallery__nav { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,0.85); width: 40px; height: 40px; border-radius: 50%; display: none; align-items: center; justify-content: center; z-index: 2; }
.product-gallery__nav[data-prev] { left: 0.5rem; }
.product-gallery__nav[data-next] { right: 0.5rem; }
@media (hover: hover) and (min-width: 750px) { .product-gallery:hover .product-gallery__nav { display: inline-flex; } }

.product-info { display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
@media (min-width: 990px) {
  .product-info {
    position: sticky;
    top: calc(var(--header-height) + 1.5rem);
    padding: clamp(1.5rem, 2.5vw, 2.5rem);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-card);
    background: color-mix(in srgb, var(--color-background) 96%, var(--color-soft));
    box-shadow: 0 18px 55px rgba(35, 24, 19, 0.055);
  }
}
.product-info__vendor { color: var(--color-text-muted); font-size: 0.8rem; letter-spacing: 0.12em; text-transform: uppercase; }
.product-info__title { margin: 0; font-size: clamp(1.85rem, 3vw, 2.65rem); line-height: 1.15; letter-spacing: 0.01em; }
.product-info__price { font-size: 1.3rem; letter-spacing: 0.01em; }
.product-info__price .price__regular, .product-info__price .price__sale { font-family: inherit; }
.price__compare { color: var(--color-text-muted); }
.price__savings { letter-spacing: 0.02em; }

.product-mini-trust { display: flex; flex-direction: column; gap: 0.4rem; margin-top: 0.75rem; font-size: 0.85rem; }
.product-mini-trust__row,
.stock-indicator.product-mini-trust__row { display: flex; align-items: center; gap: 0.5rem; margin: 0; color: var(--color-text); }
.product-mini-trust__row svg { width: 16px; height: 16px; flex-shrink: 0; }
.stock-indicator strong { color: var(--color-error); }
.product-info__short { color: var(--color-text-muted); }

.product-rating { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.75rem; font-size: 0.85rem; color: var(--color-text-muted); }
.product-rating__stars {
  position: relative;
  display: inline-block;
  font-size: 0.95rem;
  letter-spacing: 2px;
  color: var(--color-border);
}
.product-rating__stars::before {
  content: '★★★★★';
  position: absolute;
  inset: 0;
  width: var(--rating, 0%);
  overflow: hidden;
  white-space: nowrap;
  color: var(--color-text);
}
.product-rating__value { color: var(--color-text); font-weight: 600; }
.product-rating__stars::before { color: #b58a2c; }
.product-rating__stars--gold { color: #b58a2c; }
.product-rating__stars--gold::before { content: none; }
.product-rating--neutral .product-rating__stars { opacity: 0.78; }
.product-rating--manual {
  flex-wrap: wrap; gap: 0.55rem 0.8rem; width: fit-content;
  margin-bottom: 0.85rem; color: var(--color-text); font-size: 1.15rem;
  font-weight: 650; line-height: 1.15;
}
.product-rating--manual .product-rating__stars {
  color: #edc45b; font-size: 1.75rem; line-height: 1; letter-spacing: 1px;
  filter: drop-shadow(0 1px 0 rgba(130, 88, 5, 0.12));
}
.product-rating--manual .product-rating__value,
.product-rating--manual .product-rating__count { color: var(--color-text); font-weight: 650; }
.product-rating[href] { width: fit-content; text-underline-offset: 3px; }
.product-rating[href]:hover .product-rating__count,
.product-rating[href]:focus-visible .product-rating__count { text-decoration: underline; }

/* ---------- Product reviews ---------- */
.product-reviews {
  padding: clamp(2rem, 5vw, 4.5rem);
  background: color-mix(in srgb, var(--color-soft) 52%, var(--color-background));
  border: 1px solid color-mix(in srgb, var(--color-border) 72%, transparent);
}
.product-reviews__header { max-width: 760px; margin: 0 auto 2rem; text-align: center; }
.product-reviews__header h2 { margin: 0.35rem 0 0; }
.product-reviews__intro { margin: 0.75rem auto 0; color: var(--color-text-muted); }
.product-reviews__aggregate {
  display: inline-flex; align-items: center; justify-content: center; gap: 1rem;
  margin-top: 1rem; text-align: left;
}
.product-reviews__score { font-family: var(--font-heading--family); font-size: clamp(2.8rem, 6vw, 4.5rem); line-height: 1; font-weight: 500; }
.product-reviews__aggregate > span { display: flex; flex-direction: column; gap: 0.25rem; }
.product-reviews__count { color: var(--color-text-muted); font-size: 0.82rem; }
.product-reviews__blocks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.product-reviews__app { grid-column: 1 / -1; min-width: 0; }
.product-review-card {
  display: flex; flex-direction: column; min-width: 0; padding: 1.35rem;
  background: var(--color-background); border: 1px solid var(--color-border);
}
.product-review-card h3 { margin: 0.65rem 0 0.45rem; font-size: 1.15rem; }
.product-review-card .rte { color: var(--color-text-muted); font-size: 0.92rem; line-height: 1.6; }
.product-review-card footer { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; margin-top: auto; padding-top: 1rem; font-size: 0.78rem; }
.product-review-card__verified { color: var(--color-success); }
.product-reviews__empty {
  max-width: 560px; margin: 0 auto; padding: 1.5rem; text-align: center;
  background: var(--color-background); border: 1px solid var(--color-border);
}
.product-reviews__empty .product-rating__stars { --rating: 0%; }
.product-reviews__empty p,
.product-reviews__app-note { margin: 0.6rem 0 0; color: var(--color-text-muted); text-align: center; }
@media (max-width: 749px) {
  .product-reviews { padding: 1.5rem 1rem; }
  .product-reviews__blocks { grid-template-columns: 1fr; }
  .product-reviews__aggregate { align-items: flex-start; }
}
@media (max-width: 480px) {
  .product-rating--manual { gap: 0.35rem 0.55rem; font-size: 0.98rem; }
  .product-rating--manual .product-rating__stars { width: 100%; font-size: 1.45rem; }
}

.stock-indicator { color: var(--color-error); font-size: 0.85rem; margin: 0.5rem 0 0; }

.variant-picker { display: flex; flex-direction: column; gap: 1rem; }
.variant-option__label { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 0.5rem; display: block; color: var(--color-text-muted); }
.variant-option__value-selected { color: var(--color-text); margin-left: 0.4rem; text-transform: none; letter-spacing: 0; }
.variant-option__values { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.variant-option__swatch {
  position: relative;
  width: 42px; height: 42px;
  border-radius: 50%;
  border: 1px solid var(--color-border);
  background-size: cover; background-position: center;
  cursor: pointer;
  overflow: hidden;
}
.variant-option__swatch input { position: absolute; opacity: 0; inset: 0; z-index: 1; margin: 0; cursor: pointer; touch-action: manipulation; }
.variant-option__swatch input:checked ~ .variant-option__ring { outline: 2px solid var(--color-text); outline-offset: 2px; border-color: var(--color-text); }
.variant-option__swatch:focus-within { outline: 2px solid var(--color-text); outline-offset: 3px; }
.variant-option__ring { position: absolute; inset: 0; border-radius: 50%; pointer-events: none; }
.variant-option__swatch { transition: transform var(--duration-base) var(--ease-out); }
.variant-option__swatch:hover:not([data-unavailable]) { transform: scale(1.08); }
.variant-option__swatch[data-unavailable] { opacity: 0.4; cursor: not-allowed; }
.variant-option__swatch[data-unavailable]::after {
  content: '';
  position: absolute; left: -10%; top: 50%; width: 120%; height: 2px;
  background: #fff;
  mix-blend-mode: difference;
  transform: rotate(-45deg);
}
.variant-option__button {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 48px; min-height: 44px;
  padding: 0 1rem;
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  color: var(--color-text);
  font-size: 0.9rem;
  cursor: pointer;
  border-radius: var(--radius-button);
  transition: border-color var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);
}
.variant-option__button > span { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; line-height: 1; }
.variant-option--size .variant-option__label { margin-bottom: 0.65rem; line-height: 1.35; }
.variant-option--size .variant-option__values { gap: 0.6rem; align-items: center; }
.variant-option--size .variant-option__button { min-width: 52px; height: 48px; padding: 0 0.9rem; }
.variant-option__button:hover:not([data-unavailable]) { border-color: var(--color-text); transform: translateY(-1px); }
.variant-option__button:focus-within { outline: 2px solid currentColor; outline-offset: 2px; }
.variant-option__button:has(input:checked) { border-color: var(--color-text); background: var(--color-text); color: var(--color-background); }
.variant-option__button[data-unavailable] { opacity: 0.4; text-decoration: line-through; }

.product-form { display: flex; flex-direction: column; gap: 1rem; }
.product-form__submit { min-height: 56px; width: 100%; font-size: 0.9rem; letter-spacing: 0.12em; }
.product-form__buttons { display: flex; flex-direction: column; gap: 0.75rem; }
.product-form__error { margin: -0.25rem 0 0; padding: 0.75rem 0.9rem; color: var(--color-error); background: color-mix(in srgb, var(--color-error) 8%, transparent); border-left: 2px solid var(--color-error); font-size: 0.85rem; }
.product-form__quantity { display: flex; gap: 1rem; align-items: center; }

.product-offer-notice { min-height: 24px; display: flex; align-items: center; gap: 0.55rem; margin: 0; font-size: 0.86rem; color: var(--color-text); }
.product-offer-notice__dot { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: #9f2636; box-shadow: 0 0 0 3px color-mix(in srgb, #9f2636 14%, transparent); animation: lm-urgency-pulse 2.2s ease-out infinite; }
@keyframes lm-urgency-pulse {
  0%, 55%, 100% { transform: scale(1); opacity: 0.92; box-shadow: 0 0 0 3px color-mix(in srgb, #9f2636 14%, transparent); }
  25% { transform: scale(1.12); opacity: 1; box-shadow: 0 0 0 7px color-mix(in srgb, #9f2636 0%, transparent); }
}
@media (prefers-reduced-motion: reduce) { .product-offer-notice__dot { animation: none; } }

/* Tight homepage rhythm: hero → categories → best sellers. */
.template-index .collection-list-section { padding-top: var(--category-gap-desktop, 22px); padding-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.template-index .product-list-section { padding-top: clamp(1.5rem, 3vw, 2.5rem); }

.product-recommendations-section { padding-top: var(--recommendations-top); padding-bottom: var(--recommendations-bottom); }

@media (max-width: 749px) {
  .template-index .collection-list-section { padding-top: var(--category-gap-mobile, 16px); }
  .editorial-banner__media { aspect-ratio: 5/6; }
  .editorial-banner__content { padding: 0.75rem 0 0; }
  .product-shipping-estimate { display: flex; align-items: stretch; flex-direction: column; }
  .product-shipping-estimate__divider { width: 100%; height: 1px; }
  .product-list__grid--recommendations { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 0.4rem; }
  .product-list__grid--recommendations::-webkit-scrollbar { display: none; }
  .product-list__grid--recommendations > .product-card { flex: 0 0 calc((100% - var(--grid-gap)) / 2); scroll-snap-align: start; }
  .variant-option--size .variant-option__button { min-width: 48px; }
}

/* ---------- Selectable multi-variant offers ---------- */
.volume-offers { display: block; margin-top: 0.2rem; }
.volume-offers__fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.volume-offers__legend { display: flex; align-items: center; gap: 0.6rem; width: 100%; margin-bottom: 0.8rem; color: var(--color-text); }
.volume-offers__legend-icon { display: inline-flex; width: 1.15rem; height: 1.15rem; color: var(--color-text); }
.volume-offers__legend-icon .offer-icon { width: 100%; height: 100%; }
.volume-offers__legend > span:last-child { display: grid; gap: 0.12rem; }
.volume-offers__legend strong { font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase; }
.volume-offers__legend small { color: var(--color-text-muted); font-size: 0.66rem; font-weight: 400; letter-spacing: 0; text-transform: none; }
.volume-offers__grid { display: grid; grid-template-columns: 1fr; gap: 0.72rem; align-items: stretch; }
.volume-offer { position: relative; display: flex; align-items: flex-start; gap: 0.75rem; min-width: 0; padding: 0.9rem 1rem; border: 1px solid var(--color-border); border-radius: 9px; background: var(--color-background); cursor: pointer; transition: border-color 220ms var(--ease-out), box-shadow 220ms var(--ease-out), background-color 220ms var(--ease-out); }
.volume-offer--popular { padding-top: 1.1rem; border-color: color-mix(in srgb,var(--color-accent) 68%,var(--color-border)); background: #fdf7f4; box-shadow: 0 5px 16px rgba(96,49,43,0.05); }
.volume-offer--selected { border-color: var(--color-accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-accent) 22%, transparent); }
.volume-offer--popular.volume-offer--selected { border-color: var(--color-accent); box-shadow: 0 0 0 2px color-mix(in srgb,var(--color-accent) 24%,transparent),0 8px 22px rgba(96,49,43,0.08); }
.volume-offer:focus-within { outline: 2px solid var(--color-text); outline-offset: 3px; }
.volume-offer__badge { position: absolute; top: 0; left: 50%; display: inline-flex; align-items: center; gap: 0.3rem; transform: translate(-50%, -55%); max-width: calc(100% - 0.5rem); padding: 0.28rem 0.72rem; border-radius: 999px; background: var(--color-accent); color: #fff; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.09em; white-space: nowrap; }
.volume-offer__badge .offer-icon { width: 0.65rem; height: 0.65rem; }
.volume-offer--3 .volume-offer__badge { background: var(--color-text); }
.volume-offer__choice input { position: absolute; opacity: 0; pointer-events: none; }
.volume-offer__indicator { display: block; width: 20px; height: 20px; margin-top: 0.05rem; border: 1px solid var(--color-border); border-radius: 50%; background: var(--color-background); box-shadow: inset 0 0 0 4px var(--color-background); }
.volume-offer--selected .volume-offer__indicator { border-color: var(--color-accent); background: var(--color-accent); }
.volume-offer__body { display: grid; grid-template-columns: minmax(0,1fr) auto; column-gap: 1rem; width: 100%; min-width: 0; line-height: 1.25; }
.volume-offer__copy,.volume-offer__commercial { display: flex; flex-direction: column; min-width: 0; }
.volume-offer__commercial { align-items: flex-end; text-align: right; }
.volume-offer__title { font-size: 0.94rem; letter-spacing: 0.01em; }
.volume-offer__subtitle,.volume-offer__unit { margin-top: 0.22rem; color: var(--color-text-muted); font-size: 0.73rem; }
.volume-offer__future { margin-top: 0.32rem; color: var(--color-success); font-size: 0.66rem; font-weight: 650; }
.volume-offer__restriction { margin-top: 0.25rem; color: var(--color-text-muted); font-size: 0.58rem; font-style: italic; }
.volume-offer__prices { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.45rem; align-items: baseline; font-family: var(--font-body--family); font-variant-numeric: tabular-nums; font-size: 1.06rem; }
.volume-offer--popular .volume-offer__prices strong { color: var(--color-error); font-size: 1.13em; }
.volume-offer__prices s { color: var(--color-text-muted); font-size: 0.68rem; }
.volume-offer__saving { margin-top: 0.4rem; padding: 0.26rem 0.5rem; border: 1px solid color-mix(in srgb,var(--color-accent) 35%,transparent); border-radius: 5px; color: var(--color-error); font-size: 0.68rem; font-weight: 700; }
.volume-offer__benefits { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); grid-column: 1 / -1; gap: 0.65rem; margin-top: 0.95rem; padding-top: 0.95rem; border-top: 1px solid color-mix(in srgb,var(--color-accent) 22%,var(--color-border)); }
.volume-offer__benefits--3 { grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 68%; margin-top: 0.8rem; padding: 0.7rem; border: 1px solid #dce9dc; border-radius: 8px; background: #fbfdf9; }
.volume-offer-benefit { display: flex; gap: 0.52rem; min-width: 0; }
.volume-offer-benefit > .offer-icon { width: 1.35rem; height: 1.35rem; flex: 0 0 1.35rem; color: var(--color-accent); }
.volume-offer__benefits--3 .volume-offer-benefit > .offer-icon { color: #3f8c48; }
.volume-offer-benefit > span { display: flex; flex-direction: column; min-width: 0; }
.volume-offer-benefit strong { font-size: 0.64rem; letter-spacing: 0.025em; line-height: 1.25; text-transform: uppercase; }
.volume-offer-benefit small { margin-top: 0.22rem; color: var(--color-text-muted); font-size: 0.57rem; line-height: 1.38; }
.volume-offer-benefit em { width: fit-content; max-width: 100%; margin: 0.16rem 0 0.22rem; padding: 0.08rem 0.14rem; border: 1px solid color-mix(in srgb,var(--color-accent) 45%,transparent); border-radius: 4px; color: var(--color-accent); font-size: 0.36rem; font-style: normal; font-weight: 700; line-height: 1.2; letter-spacing: 0.01em; white-space: nowrap; text-align: center; }
.volume-offer-benefit--exclusive { gap: 0.34rem; padding: 0.32rem; border-radius: 7px; background: color-mix(in srgb,#f9e9e3 78%,var(--color-background)); }
.volume-offer-benefit--exclusive > .offer-icon { width: 1rem; height: 1rem; flex-basis: 1rem; }
.volume-offer-benefit--included { gap: 0.34rem; padding: 0.32rem; border: 1px solid #cfe4d4; border-radius: 7px; background: #f5fbf6; }
.volume-offer-benefit--included > .offer-icon { width: 1rem; height: 1rem; flex-basis: 1rem; color: var(--color-success); }
.volume-offer-benefit--included em { border-color: #a9cfb2; color: var(--color-success); }
.volume-offers--legacy-optimized .volume-offer__benefits--2 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.volume-offers--legacy-optimized .volume-offer__saving { color: var(--color-success); border-color: color-mix(in srgb,var(--color-success) 35%,transparent); }
.shipping-protection { margin-top: 0.85rem; padding: 0.85rem 1rem; border: 1px solid color-mix(in srgb,var(--color-accent) 28%,var(--color-border)); border-radius: 10px; background: color-mix(in srgb,#f9e9e3 60%,var(--color-background)); }
.shipping-protection[hidden] { display: none; }
.shipping-protection__label { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; align-items: center; gap: 0.7rem; cursor: pointer; }
.shipping-protection__icon { display: inline-flex; width: 1.3rem; height: 1.3rem; color: var(--color-accent); }
.shipping-protection__icon .offer-icon { width: 100%; height: 100%; }
.shipping-protection__copy { display: grid; gap: 0.16rem; }
.shipping-protection__copy strong { font-size: 0.78rem; }
.shipping-protection__copy small { color: var(--color-text-muted); font-size: 0.64rem; line-height: 1.35; }
.shipping-protection__price { font-size: 0.78rem; font-weight: 700; white-space: nowrap; }
.shipping-protection__included { padding: 0.3rem 0.55rem; border-radius: 999px; background: var(--color-success); color: #fff; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.05em; white-space: nowrap; }
.shipping-protection.is-included { border-color: #b9d9c1; background: #f3faf5; box-shadow: 0 7px 20px rgba(50,113,76,0.07); }
.shipping-protection.is-included .shipping-protection__label { cursor: default; }
.shipping-protection.is-included .shipping-protection__icon { color: var(--color-success); }
.shipping-protection input { position: absolute; opacity: 0; pointer-events: none; }
.shipping-protection__toggle { position: relative; width: 2.4rem; height: 1.35rem; border: 1px solid var(--color-border); border-radius: 999px; background: var(--color-background); transition: background-color 180ms var(--ease-out),border-color 180ms var(--ease-out); }
.shipping-protection__toggle::after { content: ''; position: absolute; top: 2px; left: 2px; width: calc(1.35rem - 6px); height: calc(1.35rem - 6px); border-radius: 50%; background: var(--color-text-muted); transition: transform 180ms var(--ease-out),background-color 180ms var(--ease-out); }
.shipping-protection input:checked + .shipping-protection__toggle { border-color: var(--color-accent); background: var(--color-accent); }
.shipping-protection input:checked + .shipping-protection__toggle::after { transform: translateX(1.02rem); background: #fff; }
.shipping-protection input:focus-visible + .shipping-protection__toggle { outline: 2px solid var(--color-text); outline-offset: 3px; }
.volume-customizer { margin-top: 0.9rem; padding: 0.85rem; border: 1px solid var(--color-border); border-radius: 11px; background: var(--color-background); animation: volume-reveal 220ms var(--ease-out); }
.volume-customizer[hidden],.volume-unit[hidden],.volume-benefit[hidden] { display: none; }
.volume-customizer__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 0.75rem; margin-bottom: 0.65rem; }
.volume-customizer__heading > div { display: grid; gap: 0.18rem; }
.volume-customizer__heading .supertitle { font-size: 0.57rem; }
.volume-customizer__heading strong { font-family: var(--font-heading--family); font-size: 1.08rem; font-weight: 500; }
.volume-customizer__availability { color: var(--color-text-muted); font-size: 0.65rem; text-align: right; }
.volume-customizer__lead { max-width: 58ch; margin: -0.15rem 0 0.7rem; color: var(--color-text-muted); font-size: 0.65rem; line-height: 1.45; }
.volume-customizer__units { display: grid; gap: 0.5rem; }
.volume-customizer > .volume-benefits { display: none; }
.volume-unit { min-width: 0; margin: 0; padding: 0.6rem; border: 1px solid var(--color-border); border-radius: 9px; background: var(--color-background); }
.volume-unit:has(.volume-picker.is-open) { position: relative; z-index: 4; }
.volume-unit legend { padding: 0 0.25rem; color: var(--color-text); font-size: 0.67rem; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }
.volume-unit__options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0.5rem; }
.volume-unit__field { display: grid; min-width: 0; gap: 0.22rem; color: var(--color-text-muted); font-size: 0.62rem; letter-spacing: 0.04em; text-transform: uppercase; }
.volume-picker { position: relative; min-width: 0; color: var(--color-text); text-transform: none; }
.volume-picker > select.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.volume-picker__trigger { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 0.48rem; width: 100%; min-height: 44px; padding: 0.55rem 0.62rem; border: 1px solid var(--color-border); border-radius: 7px; background: var(--color-background); color: var(--color-text); font-size: 0.78rem; text-align: left; transition: border-color 180ms var(--ease-out),box-shadow 180ms var(--ease-out); }
.volume-picker__trigger > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.volume-picker__trigger:focus-visible,.volume-picker.is-open .volume-picker__trigger { outline: none; border-color: var(--color-accent); box-shadow: 0 0 0 2px color-mix(in srgb,var(--color-accent) 18%,transparent); }
.volume-picker__swatch { width: 0.78rem; height: 0.78rem; border: 1px solid rgba(0,0,0,0.14); border-radius: 50%; background-size: cover; flex: 0 0 auto; }
.volume-picker__trigger > .offer-icon--chevron { width: 0.85rem; height: 0.85rem; transition: transform 180ms var(--ease-out); }
.volume-picker.is-open .offer-icon--chevron { transform: rotate(180deg); }
.volume-picker__menu { position: absolute; z-index: 12; top: calc(100% + 0.28rem); left: 0; right: 0; max-height: 14rem; overflow-y: auto; padding: 0.3rem; border: 1px solid color-mix(in srgb,var(--color-accent) 26%,var(--color-border)); border-radius: 8px; background: var(--color-background); box-shadow: 0 12px 28px rgba(48,32,27,0.14); scrollbar-width: thin; }
.volume-picker__menu[hidden] { display: none; }
.volume-picker__option { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 0.5rem; width: 100%; min-height: 40px; padding: 0.48rem 0.52rem; border: 0; border-radius: 6px; background: transparent; color: var(--color-text); font-size: 0.75rem; text-align: left; }
.volume-picker__option:hover,.volume-picker__option:focus-visible { outline: none; background: var(--color-soft); }
.volume-picker__option.is-selected { background: color-mix(in srgb,#fbefeb 72%,var(--color-background)); font-weight: 650; }
.volume-picker__option .offer-icon--check { width: 0.8rem; height: 0.8rem; opacity: 0; color: var(--color-accent); }
.volume-picker__option.is-selected .offer-icon--check { opacity: 1; }
.volume-picker__option:disabled { opacity: 0.4; cursor: not-allowed; text-decoration: line-through; }
.volume-unit__error { margin: 0.35rem 0 0; color: var(--color-error); font-size: 0.67rem; }
.volume-benefits { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0.45rem; margin-top: 0.65rem; }
.volume-benefit { display: flex; gap: 0.42rem; min-width: 0; padding: 0.48rem; border-radius: 8px; background: color-mix(in srgb,var(--color-background) 70%,transparent); }
.volume-benefit > .offer-icon { width: 1rem; height: 1rem; flex: 0 0 1rem; color: var(--color-accent); }
.volume-benefit p { display: grid; gap: 0.12rem; margin: 0; line-height: 1.25; }
.volume-benefit strong { font-size: 0.62rem; letter-spacing: 0.035em; text-transform: uppercase; }
.volume-benefit small { color: var(--color-text-muted); font-size: 0.58rem; }
.volume-benefit em { width: max-content; padding: 0.12rem 0.28rem; border-radius: 999px; background: var(--color-accent); color: #fff; font-size: 0.48rem; font-style: normal; font-weight: 700; letter-spacing: 0.06em; }
.volume-benefit--exclusive { background: #f9e9e3; box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 24%,transparent); }
.product-form:has(.volume-offers) .product-form__quantity { display: none; }
@keyframes volume-reveal { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 520px) {
  .volume-offers__legend small { font-size: 0.6rem; }
  .volume-offer { gap: 0.5rem; padding: 0.82rem 0.62rem; }
  .volume-offer--popular { padding-top: 1.05rem; }
  .volume-offer__badge { left: 50%; right: auto; transform: translate(-50%,-55%); }
  .volume-offer__body { grid-template-columns: minmax(0,1fr) minmax(6.4rem,auto); column-gap: 0.4rem; }
  .volume-offer__commercial { max-width: 7.6rem; }
  .volume-offer__title { font-size: 0.76rem; }
  .volume-offer__prices { display: grid; justify-items: end; gap: 0.05rem; font-size: 0.82rem; }
  .volume-offer__prices s { font-size: 0.61rem; }
  .volume-offer__saving { font-size: 0.6rem; }
  .volume-offer__benefits { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0.55rem; }
  .volume-offers--legacy-optimized .volume-offer__benefits--2 { grid-template-columns: 1fr; }
  .volume-offer__benefits--3 { max-width: none; padding: 0.55rem; }
  .volume-offer-benefit strong { font-size: 0.55rem; }
  .volume-offer-benefit small { font-size: 0.51rem; }
  .shipping-protection { padding: 0.72rem 0.65rem; }
  .shipping-protection__label { grid-template-columns: auto minmax(0,1fr) auto; gap: 0.55rem; }
  .shipping-protection__price { grid-column: 2; }
  .shipping-protection__included { grid-column: 3; grid-row: 1 / span 2; }
  .shipping-protection__toggle { grid-column: 3; grid-row: 1 / span 2; }
  .volume-customizer { padding: 0.7rem; }
  .volume-customizer__heading { align-items: center; }
  .volume-customizer__lead { font-size: 0.62rem; }
  .volume-unit { padding: 0.5rem; }
  .volume-benefit { padding: 0.42rem; }
}

.product-accordion,
.trust-accordion { interpolate-size: allow-keywords; }
.product-accordion { border-top: 1px solid var(--color-border); }
.product-accordion__row { border-bottom: 1px solid var(--color-border); }
.product-accordion__row summary {
  list-style: none;
  padding: 1rem 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  font-family: var(--font-body--family);
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.product-accordion__row summary::-webkit-details-marker { display: none; }
.product-accordion__row summary::after { content: '+'; font-size: 1.3rem; transition: transform var(--duration-base) var(--ease-out); }
.product-accordion__row[open] summary::after { content: '+'; transform: rotate(45deg); }
.product-accordion__content { padding-bottom: 1rem; color: var(--color-text); }
.product-quick-features { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0.55rem 0.9rem; margin: 0.9rem 0 0; padding: 0.85rem 0; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); list-style: none; }
.product-quick-features li { display: flex; align-items: flex-start; gap: 0.42rem; min-width: 0; color: var(--color-text-muted); font-size: 0.72rem; line-height: 1.4; }
.product-quick-features svg { width: 0.9rem; height: 0.9rem; flex: 0 0 0.9rem; margin-top: 0.08rem; color: var(--color-success); }
.product-detail-images { margin-top: 1.5rem; }
.product-detail-images h2 { margin: 0 0 0.8rem; font-size: clamp(1.45rem,2vw,2rem); }
.product-detail-images__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0.7rem; }
.product-detail-images figure { margin: 0; overflow: hidden; border-radius: 8px; background: var(--color-soft); }
.product-detail-images img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; }
@media (max-width:749px) {
  .product-quick-features { grid-template-columns: 1fr; }
  .product-detail-images__grid { grid-template-columns: 1fr; }
}
.product-accordion__row::details-content,
.trust-accordion__row::details-content {
  overflow: hidden;
  block-size: 0;
  transition: block-size 0.3s var(--ease-out), content-visibility 0.3s var(--ease-out) allow-discrete, opacity 0.25s ease;
  opacity: 0;
}
.product-accordion__row[open]::details-content,
.trust-accordion__row[open]::details-content {
  block-size: auto;
  opacity: 1;
}

/* ---------- Sticky ATC ---------- */
.sticky-atc {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  background: var(--color-background);
  border-top: 1px solid var(--color-border);
  padding: 0.75rem var(--page-margin);
  display: none;
  align-items: center;
  gap: 1rem;
  z-index: var(--z-header);
  transform: translateY(100%);
  transition: transform var(--duration-base) var(--ease-out);
}
.sticky-atc[data-visible="true"] { transform: translateY(0); }
.sticky-atc__title { flex: 1; font-size: 0.9rem; }
.sticky-atc__price { color: var(--color-text-muted); font-size: 0.85rem; }
@media (max-width: 749px) { .sticky-atc { display: flex; } }

/* ---------- Cart ---------- */
.cart-drawer .drawer__panel { width: min(560px, 100vw); background: var(--color-soft); }
.drawer__title-count {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 1.4rem; height: 1.4rem; padding: 0 0.3rem;
  border-radius: 50%; background: var(--color-text); color: var(--color-surface);
  font-size: 0.7rem; font-weight: 600; vertical-align: middle;
}
.cart-drawer__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  min-height: 40vh;
  text-align: center;
}
.cart-items { display: flex; flex-direction: column; gap: 1.25rem; }
.cart-item {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 1.15rem;
  padding-bottom: 1.4rem;
  border-bottom: 1px solid var(--color-border);
}
.cart-item:last-child { border-bottom: 0; }
.cart-item__media img { width: 100%; aspect-ratio: 3/4; object-fit: cover; border-radius: var(--radius-card); background: var(--color-soft); }
.cart-item__content { display: flex; flex-direction: column; gap: 0.35rem; }
.cart-item__title { font-size: 1rem; line-height: 1.35; margin: 0; }
.cart-item__variant { color: var(--color-text-muted); font-size: 0.85rem; margin: 0; }
.cart-item__price { font-size: 0.95rem; margin: 0; display: flex; align-items: baseline; gap: 0.4rem; }
.cart-item__price-compare { color: var(--color-text-muted); font-weight: 400; }
.cart-item__price-final { font-weight: 600; }
.cart-item__discount-badge {
  display: inline-flex; align-items: center; gap: 0.3rem; align-self: flex-start;
  padding: 0.25rem 0.55rem; border-radius: 999px;
  background: var(--color-surface); border: 1px solid var(--color-border);
  font-size: 0.75rem; color: var(--color-text);
}
.cart-item__discount-badge svg { width: 12px; height: 12px; flex-shrink: 0; }
.cart-item__included-benefit { display: inline-flex; align-items: center; gap: 0.35rem; align-self: flex-start; padding: 0.3rem 0.58rem; border: 1px solid #b9d9c1; border-radius: 999px; background: #f3faf5; color: var(--color-success); font-size: 0.72rem; font-weight: 700; }
.cart-item__included-benefit .offer-icon { width: 0.9rem; height: 0.9rem; flex: 0 0 0.9rem; }
.cart-item__footer { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; margin-top: 0.25rem; }
.cart-item__remove { background: none; border: 0; color: var(--color-text-muted); text-decoration: underline; text-underline-offset: 3px; font-size: 0.8rem; padding: 0; cursor: pointer; }
.cart-item__remove:hover { color: var(--color-text); }
.cart-summary { display: flex; flex-direction: column; gap: 0.75rem; }
.cart-summary__row { display: flex; justify-content: space-between; align-items: baseline; gap: 0.75rem; }
.cart-summary__total-wrap { display: flex; align-items: baseline; gap: 0.5rem; }
.cart-summary__total-compare { color: var(--color-text-muted); font-weight: 400; font-size: 0.95rem; text-decoration: line-through; }
.cart-summary__total { font-size: 1.1rem; font-weight: 600; }
.cart-summary__savings-badge {
  display: inline-flex; align-items: center; padding: 0.2rem 0.5rem; border-radius: 4px;
  background: var(--color-error); color: var(--color-surface); font-size: 0.75rem; font-weight: 600;
}
.cart-summary__tax { color: var(--color-text-muted); font-size: 0.85rem; }
.cart-note { margin-top: 1rem; }
.cart-protection-upsell { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 0.55rem 0.75rem; margin: 0.25rem 0 1.1rem; padding: 0.9rem; border: 1px solid color-mix(in srgb,var(--color-accent) 32%,var(--color-border)); border-radius: 12px; background: color-mix(in srgb,var(--color-soft) 58%,var(--color-background)); transition: border-color 180ms var(--ease-out),background-color 180ms var(--ease-out),box-shadow 180ms var(--ease-out); }
.cart-protection-upsell.is-added { border-color: #b9d9c1; background: #f3faf5; box-shadow: 0 5px 16px rgba(50,113,76,0.07); }
.cart-protection-upsell__icon { display: inline-flex; width: 1.35rem; height: 1.35rem; color: var(--color-accent); }
.cart-protection-upsell.is-added .cart-protection-upsell__icon { color: var(--color-success); }
.cart-protection-upsell__icon .offer-icon { width: 100%; height: 100%; }
.cart-protection-upsell__copy { display: grid; gap: 0.12rem; min-width: 0; }
.cart-protection-upsell__copy strong { font-size: 0.82rem; }
.cart-protection-upsell__copy small { color: var(--color-text-muted); font-size: 0.65rem; line-height: 1.4; }
.cart-protection-upsell__price { font-size: 0.78rem; font-weight: 700; white-space: nowrap; }
.cart-protection-upsell__action { grid-column: 2 / 4; justify-self: end; min-width: 6rem; min-height: 40px; padding: 0.45rem 0.85rem; border: 1px solid var(--color-text); border-radius: 999px; background: var(--color-text); color: var(--color-surface); font: inherit; font-size: 0.72rem; font-weight: 650; cursor: pointer; }
.cart-protection-upsell.is-added .cart-protection-upsell__action { border-color: var(--color-success); background: transparent; color: var(--color-success); }
.cart-protection-upsell__action:disabled { opacity: 0.55; cursor: wait; }
.cart-protection-upsell__status { grid-column: 1 / -1; color: var(--color-error); font-size: 0.65rem; }

.cart-recommendations { margin-top: 1.75rem; padding-top: 1.5rem; border-top: 1px solid var(--color-border); }
.cart-recommendations__header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.cart-recommendations__heading { font-family: var(--font-heading--family); font-size: 1.1rem; margin: 0; }
.cart-recommendations__nav { display: none; gap: 0.4rem; }
.cart-drawer .cart-recommendations__nav { display: flex; }
.cart-recommendations__nav-btn {
  width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center;
  background: var(--color-surface);
  border: 1px solid var(--color-border); border-radius: 50%; color: var(--color-text);
}
.cart-recommendations__nav-btn svg { width: 12px; height: 12px; }
.cart-recommendations__nav-btn:disabled { opacity: 0.3; pointer-events: none; }
.cart-drawer .cart-recommendations .product-list__grid {
  display: flex; gap: 0.75rem; overflow-x: auto; scroll-snap-type: x mandatory;
  scrollbar-width: none; padding-bottom: 0.1rem;
}
.cart-drawer .cart-recommendations .product-list__grid::-webkit-scrollbar { display: none; }
.cart-drawer .cart-recommendations .product-card {
  flex: 0 0 92%; scroll-snap-align: start;
  display: grid; grid-template-columns: 132px minmax(0, 1fr); align-items: start; gap: 1rem;
  background: var(--color-surface);
  border: 1px solid var(--color-border); border-radius: var(--radius-card); padding: 0.85rem;
}
.cart-drawer .cart-recommendations .product-card__media { width: 132px; --aspect-ratio: 3/4; }
.cart-drawer .cart-recommendations .product-card__media img { width: 100%; height: 100%; object-fit: cover; }
.cart-drawer .cart-recommendations .product-card__info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.25rem; }
.cart-drawer .cart-recommendations .product-card__title { font-size: 0.95rem; line-height: 1.35; }
.cart-drawer .cart-recommendations .product-card__price { font-size: 0.9rem; }
.cart-drawer .cart-recommendations .product-card__swatches { display: none; }
.cart-drawer .cart-recommendations .product-card__quick-add { padding: 0.55rem 0.8rem; font-size: 0.72rem; white-space: normal; text-align: center; }

/* In Blanco/Negro collections, pure single-colour variants lead the grid;
   combined blanco-negro designs remain visible but follow them. */
[data-collection-handle="blanco"] .product-card--color-combination,
[data-collection-handle="negro"] .product-card--color-combination { order: 2; }
.color-filtered-collection .product-card--color-combination { order: 2; }
.color-filtered-collection .product-card--color-secondary { order: 3; }

@media (max-width: 560px) {
  .cart-item { grid-template-columns: 96px minmax(0, 1fr); gap: 0.85rem; }
  .cart-drawer .drawer__body { padding-inline: 1rem; }
  .cart-drawer .drawer__footer { padding-inline: 1rem; }
  .cart-drawer .cart-recommendations .product-card {
    flex-basis: 94%;
    grid-template-columns: 112px minmax(0, 1fr);
  }
  .cart-drawer .cart-recommendations .product-card__media { width: 112px; }
}

/* ---------- Cart reservation timer ---------- */
.cart-reservation-timer {
  margin-bottom: 1.25rem; padding: 0.6rem 0.9rem; border-radius: var(--radius-card);
  background: color-mix(in srgb, var(--color-success) 16%, var(--color-surface));
}
.cart-reservation-timer__text { display: flex; align-items: center; gap: 0.45rem; margin: 0; font-size: 0.85rem; font-weight: 600; color: var(--color-success); }
.cart-reservation-timer__text svg { width: 1rem; height: 1rem; flex-shrink: 0; }

/* ---------- Free shipping bar ---------- */
.free-shipping-bar { margin-bottom: 1.25rem; padding: 0.85rem 1rem; border-radius: var(--radius-card); background: var(--color-surface); border: 1px solid var(--color-border); }
.free-shipping-bar__text { display: flex; align-items: center; gap: 0.4rem; font-size: 0.82rem; margin: 0 0 0.55rem; line-height: 1.3; }
.free-shipping-bar__text--success { color: var(--color-success); font-weight: 600; margin-bottom: 0; }
.free-shipping-bar__text--success svg { width: 1rem; height: 1rem; flex-shrink: 0; }
.free-shipping-bar__track { height: 5px; border-radius: 999px; background: color-mix(in srgb, var(--color-text) 10%, transparent); overflow: hidden; }
.free-shipping-bar__fill { height: 100%; border-radius: 999px; background: var(--color-success); transition: width var(--duration-slow) var(--ease-out); }

/* ---------- Scroll reveal ---------- */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity var(--duration-slow) var(--ease-out), transform var(--duration-slow) var(--ease-out);
}
.reveal--visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; }
}

/* ---------- Product reassurance strip ---------- */
.product-reassurance {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  margin: 1.25rem 0;
  padding: 1rem 1.1rem;
  background: var(--color-soft);
}
.product-reassurance li { display: flex; align-items: center; gap: 0.6rem; font-size: 0.85rem; }
.product-reassurance svg { width: 18px; height: 18px; flex-shrink: 0; }

/* ---------- Trust accordion ---------- */
.trust-accordion-header { text-align: center; margin-bottom: 2.5rem; }
.trust-accordion__heading {
  font-style: italic;
  font-size: clamp(2rem, 4vw, 2.75rem);
  margin: 0 0 0.6rem;
}
.trust-accordion__intro { max-width: 46ch; margin-inline: auto; font-size: 0.95rem; }

.trust-accordion { display: flex; flex-direction: column; gap: 0.75rem; }
.trust-accordion__row {
  background: var(--color-soft);
  padding: 0 1.5rem;
  transition: background-color var(--duration-base) var(--ease-out);
}
.trust-accordion__row:hover { background: color-mix(in srgb, var(--color-soft) 70%, var(--color-border)); }
.trust-accordion__row summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.35rem 0;
}
.trust-accordion__row summary::-webkit-details-marker { display: none; }
.trust-accordion__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px; height: 38px;
  flex-shrink: 0;
  border-radius: 999px;
  background: var(--color-background);
  color: var(--color-text);
}
.trust-accordion__icon svg { width: 18px; height: 18px; }
.trust-accordion__label {
  flex: 1;
  font-family: var(--font-heading--family);
  font-size: 1.1rem;
  letter-spacing: 0.01em;
}
.trust-accordion__chevron { display: inline-flex; flex-shrink: 0; }
.trust-accordion__chevron svg { width: 16px; height: 16px; transition: transform var(--duration-base) var(--ease-out); }
.trust-accordion__row[open] .trust-accordion__chevron svg { transform: rotate(180deg); }
.trust-accordion__content {
  padding: 0 0 1.5rem 3.25rem;
  color: var(--color-text-muted);
  font-size: 0.95rem;
  line-height: 1.6;
  max-width: 56ch;
}

/* ---------- Newsletter popup ---------- */
.newsletter-popup {
  position: fixed; inset: 0;
  z-index: var(--z-modal);
  display: none;
}
.newsletter-popup[open] { display: block; }
.newsletter-popup__backdrop {
  position: absolute; inset: 0;
  background: rgba(0,0,0,0.4);
  opacity: 0;
  transition: opacity var(--duration-slow) var(--ease-out);
}
.newsletter-popup[open] .newsletter-popup__backdrop { opacity: 1; }
.newsletter-popup__panel {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, calc(-50% + 16px));
  width: min(900px, 94vw);
  max-height: 92vh;
  max-height: 92dvh;
  overflow: auto;
  background: var(--color-background);
  box-shadow: 0 24px 70px rgba(37, 20, 23, 0.22);
  opacity: 0;
  transition: opacity var(--duration-slow) var(--ease-out), transform var(--duration-slow) var(--ease-out);
}
.newsletter-popup[open] .newsletter-popup__panel { opacity: 1; transform: translate(-50%, -50%); }
.newsletter-popup__close {
  position: absolute; top: 0.75rem; right: 0.75rem;
  z-index: 1;
  width: 36px; height: 36px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--color-background);
}
.newsletter-popup__close svg { width: 18px; height: 18px; }
.newsletter-popup__grid { display: grid; grid-template-columns: 1fr; min-height: 100%; }
.newsletter-popup__media { height: clamp(150px, 26vh, 220px); overflow: hidden; background: var(--color-soft); }
@media (min-width: 600px) {
  .newsletter-popup__grid { grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr); }
  .newsletter-popup__media { height: auto; min-height: 100%; }
}
.newsletter-popup__media img, .newsletter-popup__media .placeholder-block { width: 100%; height: 100%; object-fit: cover; }
.newsletter-popup__media img { object-position: center 34%; }
.newsletter-popup__content { padding: clamp(1.35rem, 3vw, 2.35rem); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; text-align: left; }
.newsletter-popup__title { margin: 0 0 0.6rem; }
.newsletter-popup__form { width: 100%; margin-top: 1rem; display: flex; flex-direction: column; gap: 0.75rem; }
.newsletter-popup__form input { min-height: 48px; padding: 0.75rem 1rem; border: 1px solid var(--color-border); background: var(--color-surface); }
.newsletter-popup__dismiss { margin-top: 1rem; }
.newsletter-popup__success-icon,
.newsletter-section__success-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; border-radius: 50%;
  background: var(--color-soft); color: var(--color-success);
  margin-bottom: 0.75rem;
}
.newsletter-popup__success-icon svg, .newsletter-section__success-icon svg { width: 22px; height: 22px; }

@media (max-width: 599px) {
  .newsletter-popup__panel { width: min(94vw, 480px); }
  .newsletter-popup__media {
    height: clamp(260px, 46vh, 420px);
    height: clamp(260px, 46dvh, 420px);
    padding: 0.5rem;
    background: #f6e9e3;
  }
  .newsletter-popup__media img {
    object-fit: contain;
    object-position: center;
  }
  .newsletter-popup__content { padding-top: 1.2rem; }
  .newsletter-popup__title { font-size: clamp(1.8rem, 9vw, 2.6rem); line-height: 1.03; }
  .newsletter-popup__close { background: rgba(255, 255, 255, 0.9); }
}

/* ---------- Cart exit-intent nudge ---------- */
.cart-nudge { position: fixed; inset: 0; z-index: var(--z-modal); display: none; }
.cart-nudge[open] { display: block; }
.cart-nudge__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,0.4); opacity: 0; transition: opacity var(--duration-slow) var(--ease-out); }
.cart-nudge[open] .cart-nudge__backdrop { opacity: 1; }
.cart-nudge__panel {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, calc(-50% + 16px));
  width: min(420px, 92vw);
  max-height: 90vh; overflow: auto;
  background: var(--color-background);
  padding: 2rem;
  opacity: 0;
  transition: opacity var(--duration-slow) var(--ease-out), transform var(--duration-slow) var(--ease-out);
}
.cart-nudge[open] .cart-nudge__panel { opacity: 1; transform: translate(-50%, -50%); }
.cart-nudge__close {
  position: absolute; top: 0.75rem; right: 0.75rem;
  width: 36px; height: 36px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--color-background);
}
.cart-nudge__close svg { width: 18px; height: 18px; }
.cart-nudge__title { margin: 0 0 0.6rem; }
.cart-nudge__text { color: var(--color-text-muted); margin: 0 0 1.25rem; }
.cart-nudge__trust { list-style: none; margin: 0 0 1.5rem; padding: 0; display: flex; flex-direction: column; gap: 0.6rem; font-size: 0.9rem; }
.cart-nudge__trust li { display: flex; align-items: center; gap: 0.5rem; }
.cart-nudge__trust svg { width: 18px; height: 18px; flex-shrink: 0; }

/* Shared: consent checkbox + honeypot used by popup, footer and embed newsletter forms */
[hidden] { display: none !important; }
.newsletter-consent { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.8rem; color: var(--color-text-muted); text-align: left; cursor: pointer; }
.newsletter-consent__input { margin-top: 0.2rem; flex-shrink: 0; width: 16px; height: 16px; }
.newsletter-consent a { color: inherit; text-decoration: underline; }
.newsletter-section--align-center .newsletter-consent { margin-inline: auto; max-width: 480px; }

/* ---------- Back-in-stock request ---------- */
.restock-request { margin: 0.75rem 0 1rem; padding: 1rem; background: var(--color-soft); }
.restock-request__label { display: flex; align-items: center; gap: 0.4rem; font-size: 0.9rem; font-weight: 600; margin: 0 0 0.6rem; }
.restock-request__label svg { width: 16px; height: 16px; }
.restock-request__field { display: flex; gap: 0.5rem; }
.restock-request__field input { flex: 1; min-height: 44px; padding: 0.6rem 0.85rem; border: 1px solid var(--color-border); background: var(--color-surface); }
.restock-request__note { font-size: 0.75rem; color: var(--color-text-muted); margin: 0.5rem 0 0; }
.restock-request .form-status { margin-top: 0.5rem; font-size: 0.85rem; }
[data-restock-panel="success"], [data-restock-panel="already"] { display: flex; align-items: center; gap: 0.4rem; font-size: 0.85rem; }
[data-restock-panel="success"] svg, [data-restock-panel="already"] svg { width: 16px; height: 16px; flex-shrink: 0; }

/* ---------- Demo content ---------- */
.demo-badge {
  position: absolute; top: 0; right: 0;
  display: inline-flex;
  background: var(--color-text);
  color: var(--color-background);
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 5px 10px;
  z-index: 1;
}
.demo-notice {
  font-size: 0.8rem;
  color: var(--color-text-muted);
  border: 1px dashed var(--color-border);
  padding: 0.6rem 1rem;
  margin-bottom: 1.25rem;
  display: inline-block;
}
.product-card--demo, .collection-card--demo { opacity: 0.92; }
.product-card--demo .product-card__media,
.collection-card--demo .collection-card__media { position: relative; display: block; }

/* ---------- Quantity discounts ---------- */
.quantity-discounts { margin: 1rem 0; border: 1px solid var(--color-border); border-radius: var(--radius-card); overflow: hidden; }
.quantity-discounts__row { display: flex; justify-content: space-between; align-items: center; padding: 0.6rem 0.9rem; font-size: 0.85rem; }
.quantity-discounts__row + .quantity-discounts__row { border-top: 1px solid var(--color-border); }
.quantity-discounts__row--active { background: var(--color-soft); font-weight: 600; }

/* ---------- Quantity input ---------- */
.quantity-input {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-input);
  overflow: hidden;
  background: var(--color-surface);
}
.quantity-input__btn { width: 40px; display: inline-flex; align-items: center; justify-content: center; color: var(--color-text); }
.quantity-input__btn svg { width: 14px; height: 14px; }
.quantity-input__field { width: 44px; min-height: 40px; text-align: center; border: 0; background: transparent; -moz-appearance: textfield; }
.quantity-input__field::-webkit-inner-spin-button, .quantity-input__field::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

/* Cart drawer: circular +/- buttons, no field border */
.cart-item .quantity-input { border: 0; background: none; gap: 0.4rem; align-items: center; }
.cart-item .quantity-input__btn { width: 28px; height: 28px; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 50%; flex-shrink: 0; }
.cart-item .quantity-input__btn svg { width: 11px; height: 11px; }
.cart-item .quantity-input__field { width: 20px; min-height: auto; font-size: 0.9rem; padding: 0; }

/* ---------- Predictive search ---------- */
.search-modal {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  background: rgba(0,0,0,0.4);
  display: none;
}
.search-modal[open] { display: block; }
.search-modal__panel {
  position: absolute;
  top: 0; left: 0; right: 0;
  background: var(--color-background);
  padding: 1rem var(--page-margin) 2rem;
  max-height: 85vh;
  overflow-y: auto;
}
.search-modal__form { display: grid; grid-template-columns: 1fr auto; gap: 0.5rem; align-items: center; padding: 0.5rem 0 1.5rem; }
.search-modal__field {
  width: 100%;
  padding: 1rem;
  min-height: 56px;
  border: 0;
  border-bottom: 1px solid var(--color-border);
  background: transparent;
  font-size: 1.15rem;
}
.search-modal__field:focus { outline: none; border-bottom-color: var(--color-text); }
.search-modal__close { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.predictive-results { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 750px) { .predictive-results { grid-template-columns: 2fr 1fr; } }
.predictive-results__products { display: grid; gap: 0.75rem; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 750px) { .predictive-results__products { grid-template-columns: repeat(3, 1fr); } }
.predictive-result {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  padding: 0.5rem;
  border-radius: var(--radius-card);
}
.predictive-result:hover, .predictive-result:focus { background: var(--color-soft); outline: none; }
.predictive-result__thumb { width: 56px; aspect-ratio: 3/4; background: var(--color-soft); overflow: hidden; border-radius: var(--radius-card); flex-shrink: 0; }
.predictive-result__thumb img { width: 100%; height: 100%; object-fit: cover; }
.predictive-result__title { font-size: 0.9rem; margin: 0; }
.predictive-result__meta { color: var(--color-text-muted); font-size: 0.8rem; }

/* ---------- Collection page ---------- */
.collection-header { padding-block: 2rem 1rem; }
.collection-header__title { margin: 0.5rem 0; font-size: clamp(2rem, 4vw, 3rem); }
.collection-header__description { color: var(--color-text-muted); max-width: 70ch; }
.collection-header--campaign { padding-top: 1rem; }
.collection-fallback-note { margin: 0.7rem 0 0; color: var(--color-text-muted); font-size: 0.82rem; }
.collection-campaign-hero { position: relative; min-height: clamp(370px, 42vw, 620px); margin-top: 1.5rem; overflow: hidden; border-radius: var(--radius-card); background: var(--color-soft); color: #1e1714; }
.collection-campaign-hero picture, .collection-campaign-hero img { position: absolute; inset: 0; width: 100%; height: 100%; }
.collection-campaign-hero img { object-fit: cover; object-position: center center; }
.collection-campaign-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(250,245,238,0.74) 0%, rgba(250,245,238,0.28) 44%, transparent 67%); }
.collection-campaign-hero__content { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; min-height: inherit; max-width: 34rem; padding: clamp(2rem, 6vw, 5rem); }
.collection-campaign-hero__content h1 { margin: 0.45rem 0 0.75rem; font-size: clamp(2.7rem, 6vw, 5.5rem); }
.collection-campaign-hero__content p { max-width: 35ch; margin: 0; font-size: clamp(0.95rem, 1.5vw, 1.1rem); }
.active-facets { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin: -0.9rem 0 1.5rem; }
.active-facet { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.45rem 0.7rem; border: 1px solid var(--color-border); border-radius: 999px; font-size: 0.76rem; }
.active-facets__clear { margin-left: 0.25rem; font-size: 0.76rem; text-decoration: underline; text-underline-offset: 3px; }
[data-collection-section][aria-busy="true"] { opacity: 0.65; pointer-events: none; transition: opacity 160ms ease; }
@media (max-width: 749px) {
  .collection-campaign-hero {
    display: grid;
    min-height: 0;
    margin-inline: -0.5rem;
    background: #faf5ee;
  }
  .collection-campaign-hero picture {
    position: relative;
    inset: auto;
    display: block;
    grid-row: 2;
    height: auto;
    aspect-ratio: 1122 / 1402;
  }
  .collection-campaign-hero img { object-position: center center; }
  .collection-campaign-hero__overlay { display: none; }
  .collection-campaign-hero__content {
    grid-row: 1;
    justify-content: flex-start;
    min-height: 0;
    max-width: none;
    padding: clamp(1.65rem, 7vw, 2.2rem) 1.5rem clamp(1.5rem, 6vw, 2rem);
    border-bottom: 1px solid rgba(30, 23, 20, 0.1);
  }
  .collection-campaign-hero__content h1 {
    margin-block: 0.35rem 0.55rem;
    font-size: clamp(2.6rem, 13vw, 3.4rem);
    line-height: 0.95;
  }
  .collection-campaign-hero__content p {
    max-width: 31ch;
    font-size: 0.95rem;
    line-height: 1.45;
  }
  .collection-toolbar { align-items: flex-start; }
  .collection-toolbar__actions { flex-wrap: wrap; justify-content: flex-end; }
}
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 0.4rem; font-size: 0.8rem; color: var(--color-text-muted); letter-spacing: 0.08em; text-transform: uppercase; }
.breadcrumbs a:hover { text-decoration: underline; text-underline-offset: 3px; }
.breadcrumbs__separator { opacity: 0.4; }

.collection-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding-block: 1rem;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  margin-bottom: 2rem;
}
.collection-toolbar__count { color: var(--color-text-muted); font-size: 0.85rem; }
.collection-toolbar__actions { display: flex; align-items: center; gap: 1rem; }
.collection-sort { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.85rem; color: var(--color-text-muted); }
.collection-sort select { border: 0; background: transparent; color: var(--color-text); font-size: 0.9rem; padding: 0.4rem 0.6rem; }

.facets { display: none; }
@media (min-width: 990px) {
  .collection-layout { display: grid; grid-template-columns: 240px 1fr; gap: 2.5rem; }
  .collection-layout--full { grid-template-columns: minmax(0, 1fr); }
  .facets { display: block; }
  .collection-toolbar__filter-toggle { display: none; }
}
.facets__title { font-size: 0.85rem; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 1rem; }
.facet__navigation { display: flex; align-items: center; gap: 0.55rem; padding: 0.18rem 0; color: var(--color-text); font-size: 0.8rem; text-decoration: none; }
.facet__navigation-box { display: inline-block; width: 16px; height: 16px; flex: 0 0 16px; border: 1px solid var(--color-border); border-radius: 3px; background: var(--color-background); transition: border-color 180ms var(--ease-out), background 180ms var(--ease-out); }
.facet__navigation:hover .facet__navigation-box { border-color: var(--color-accent); background: color-mix(in srgb,var(--color-accent) 10%,var(--color-background)); }
.facet { border-top: 1px solid var(--color-border); padding: 1rem 0; }
.facet summary { list-style: none; display: flex; justify-content: space-between; align-items: center; cursor: pointer; font-size: 0.9rem; }
.facet summary::-webkit-details-marker { display: none; }
.facet summary::after { content: '+'; }
.facet[open] summary::after { content: '−'; }
.facet__list { display: flex; flex-direction: column; gap: 0.35rem; padding-top: 0.75rem; max-height: 240px; overflow-y: auto; }
.facet__item label { display: flex; gap: 0.5rem; align-items: center; font-size: 0.9rem; cursor: pointer; }
.facet__price-range { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
.facet__price-range label { display: grid; gap: 0.35rem; font-size: 0.82rem; }
.facet__price-range input { width: 100%; min-height: 42px; padding: 0.55rem; border: 1px solid var(--color-border); background: var(--color-background); }
.facet__item input { accent-color: var(--color-text); }

/* ---------- Editorial color discovery ---------- */
.color-editorial { overflow: hidden; }
.color-editorial__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
  padding: clamp(3rem, 7vw, 6rem) 0 clamp(3rem, 6vw, 5rem);
}
.color-editorial__copy h1 { max-width: 12ch; margin: 0.65rem 0 1.25rem; font-size: clamp(3.2rem, 6vw, 6rem); line-height: 0.94; }
.color-editorial__copy p { max-width: 52ch; margin: 0; color: var(--color-text-muted); font-size: clamp(1rem, 1.35vw, 1.12rem); line-height: 1.75; }
.color-editorial__visual { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(0.6rem, 1vw, 1rem); min-height: clamp(300px, 32vw, 440px); padding: clamp(0.75rem, 1.5vw, 1.25rem); border: 1px solid var(--color-border); background: color-mix(in srgb, var(--color-background) 86%, var(--color-soft)); }
.color-editorial__visual span { position: relative; overflow: hidden; border-radius: 999px 999px 1.25rem 1.25rem; background: linear-gradient(145deg, rgba(255,255,255,0.32), rgba(255,255,255,0) 46%), var(--palette-color); box-shadow: inset 0 0 0 1px rgba(17,17,17,0.08); }
.color-editorial__visual span:nth-child(even) { transform: translateY(1.35rem); border-radius: 1.25rem 1.25rem 999px 999px; }
.color-editorial__visual i { position: absolute; right: 0.55rem; bottom: 0.5rem; color: color-mix(in srgb, var(--color-text) 72%, transparent); font-size: 0.6rem; font-style: normal; letter-spacing: 0.12em; mix-blend-mode: multiply; }
.color-editorial__palette { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 0.75rem 1.15rem; margin-top: -0.4rem; padding-top: 1.35rem; border-top: 1px solid var(--color-border); }
.color-editorial__palette a { display: inline-flex; align-items: center; gap: 0.45rem; font-size: 0.72rem; letter-spacing: 0.09em; text-transform: uppercase; }
.color-editorial__palette a > span { width: 0.8rem; height: 0.8rem; border: 1px solid color-mix(in srgb, var(--color-text) 16%, transparent); border-radius: 50%; background: var(--palette-color); transition: transform 220ms var(--ease-out); }
.color-editorial__palette a:hover > span { transform: scale(1.25); }
.color-editorial__stories { border-top: 1px solid var(--color-border); }
.color-story {
  position: relative;
  isolation: isolate;
  scroll-margin-top: 7rem;
  padding: clamp(3.5rem, 8vw, 7rem) 0;
  border-bottom: 1px solid var(--color-border);
}
.color-story::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: clamp(2rem, 5vw, 4rem);
  right: clamp(-7rem, -4vw, -2rem);
  width: clamp(11rem, 19vw, 18rem);
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--color-story-accent);
  opacity: 0;
  transform: translateY(24px) scale(0.92);
  transition: opacity 800ms var(--ease-out), transform 900ms var(--ease-out);
  }
.color-story--visible::before { opacity: var(--color-story-circle-opacity, 0.72); transform: translateY(0) scale(1); }
.color-story--blanco { --color-story-circle-opacity: 0.95; }
.color-story--blanco::before { border: 1px solid #e2ddd4; }
.color-story--negro { --color-story-circle-opacity: 0.94; }
.color-story--beige { --color-story-circle-opacity: 0.86; }
.color-story--rojo { --color-story-circle-opacity: 0.86; }
.color-story--rosa { --color-story-circle-opacity: 0.84; }
.color-story--verde { --color-story-circle-opacity: 0.84; }
.color-story--azul { --color-story-circle-opacity: 0.88; }
.color-story--amarillo { --color-story-circle-opacity: 0.84; }
.color-story__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.color-story__header > div { display: flex; align-items: baseline; gap: 0.9rem; }
.color-story__number { color: var(--color-text-muted); font-size: 0.68rem; letter-spacing: 0.12em; }
.color-story__header h2 { margin: 0; font-size: clamp(2.4rem, 5vw, 4.7rem); line-height: 1; }
.color-story__view-all { position: relative; display: inline-flex; align-items: center; gap: 0.55rem; padding-bottom: 0.3rem; font-size: 0.72rem; letter-spacing: 0.12em; white-space: nowrap; }
.color-story__view-all::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor; transform-origin: left; transition: transform 240ms var(--ease-out); }
.color-story__view-all:hover::after { transform: scaleX(0.45); }
.color-story__view-all--mobile { display: none; }
.color-story .product-card:nth-child(2) { transition-delay: 70ms; }
.color-story .product-card:nth-child(3) { transition-delay: 140ms; }
.color-story .product-card:nth-child(4) { transition-delay: 210ms; }

@media (max-width: 749px) {
  .color-editorial__hero { grid-template-columns: 1fr; gap: 1.6rem; padding: 2.25rem 0 2.75rem; }
  .color-editorial__copy h1 { max-width: 11ch; font-size: clamp(2.75rem, 13vw, 4rem); }
  .color-editorial__visual { grid-template-columns: repeat(4, 1fr); gap: 0.45rem; min-height: 150px; padding: 0.55rem; }
  .color-editorial__visual span { border-radius: 999px 999px 0.8rem 0.8rem; }
  .color-editorial__visual span:nth-child(even) { transform: translateY(0.6rem); border-radius: 0.8rem 0.8rem 999px 999px; }
  .color-editorial__visual i { display: none; }
  .color-editorial__palette { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem 0.4rem; margin-top: 0; padding-top: 1.15rem; }
  .color-editorial__palette a { font-size: 0.61rem; letter-spacing: 0.06em; }
  .color-story__header { margin-bottom: 1.5rem; }
  .color-story__header > .color-story__view-all { display: none; }
  .color-story__products {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.75rem 0.7rem;
    margin: 0;
    padding: 0;
    overflow: visible;
  }
  .color-story__products > .product-card { min-width: 0; }
  .color-story__view-all--mobile { display: inline-flex; margin-top: 1.5rem; }
  .color-filtered-collection .product-list__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem 0.7rem; }
  .color-filtered-collection .product-card__info,
  .color-story .product-card__info { gap: 0.24rem; padding-top: 0.65rem; }
  .color-filtered-collection .product-card__title,
  .color-story .product-card__title { font-size: 0.78rem; line-height: 1.3; }
  .color-filtered-collection .product-card__price,
  .color-story .product-card__price { gap: 0.3rem; font-size: 0.76rem; line-height: 1.28; }
  .color-filtered-collection .product-card__swatches,
  .color-story .product-card__swatches { gap: 0.28rem; margin-top: 0.25rem; }
  .color-filtered-collection .product-card__swatch,
  .color-story .product-card__swatch { width: 14px; height: 14px; }
  .color-filtered-collection .product-card__quick-add,
  .color-story .product-card__quick-add { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .color-story::before { opacity: var(--color-story-circle-opacity, 0.72); transform: none; transition: none; }
}

.pagination { display: flex; gap: 0.5rem; justify-content: center; margin-top: 3rem; }
.pagination a, .pagination span {
  min-width: 44px; height: 44px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid transparent;
}
.pagination a:hover, .pagination [aria-current="page"] { border-color: var(--color-text); }

/* ---------- Rich text page ---------- */
.rich-text-page { max-width: 720px; margin-inline: auto; padding-block: 3rem; }
.rich-text-page h1, .rich-text-page h2 { margin-top: 2rem; }
.rich-text-page ul, .rich-text-page ol { padding-left: 1.5rem; margin: 1rem 0; }
.rich-text-page a { color: var(--color-accent); text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Password page ---------- */
.password-layout {
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 3rem 1.5rem;
  background: var(--color-background);
  text-align: center;
}
.password-card { max-width: 480px; }
.password-card__brand { font-family: var(--font-heading--family); font-size: 2rem; }

/* ---------- 404 ---------- */
.not-found { min-height: 60vh; display: grid; place-items: center; text-align: center; padding-block: 4rem; }

/* ---------- Blog ---------- */
.blog-grid { display: grid; gap: 2rem; grid-template-columns: 1fr; }
@media (min-width: 750px) { .blog-grid { grid-template-columns: repeat(3, 1fr); } }
.article-card__media { aspect-ratio: 3/2; overflow: hidden; background: var(--color-soft); border-radius: var(--radius-card); }
.article-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--duration-slow) var(--ease-out); }
.article-card:hover .article-card__media img { transform: scale(1.03); }
.article-card__date { color: var(--color-text-muted); font-size: 0.8rem; margin: 0.75rem 0 0.25rem; letter-spacing: 0.05em; }
.article-card__title { font-family: var(--font-heading--family); font-size: 1.35rem; margin: 0 0 0.5rem; }
.article-card__excerpt { color: var(--color-text-muted); }

.article-page { max-width: 780px; margin-inline: auto; padding-block: 3rem; }
.article-page__meta { color: var(--color-text-muted); font-size: 0.85rem; margin-bottom: 1rem; }
.article-page__hero { aspect-ratio: 16/9; margin: 2rem 0; overflow: hidden; border-radius: var(--radius-card); }
.article-page__hero img { width: 100%; height: 100%; object-fit: cover; }
.article-page__content p { margin-bottom: 1.25rem; }

/* ---------- Contact ---------- */
.contact-form { max-width: 640px; margin-inline: auto; }

/* ==========================================================
   Home editorial flow — Alba Duarte
   Structure tuned to the supplied mobile reference.
   Photos deliberately remain empty until configured in Theme Editor.
   ========================================================== */
body.template-index { background:#fff; }
body.template-index main { background:#fff; }
body.template-index .hero__placeholder-gradient,
body.template-index .lm-photo-slot {
  background: linear-gradient(145deg,#d7d0cb 0%,#c7beb8 55%,#aea59f 100%);
}
body.template-index .hero__content::before { display:none; }
body.template-index .hero__button {
  width:auto;
  min-width:192px;
  min-height:48px;
  padding:0 28px;
  border:1px solid rgba(20,20,20,.55);
  border-radius:0;
  background:rgba(255,255,255,.88);
  color:#111;
  text-shadow:none;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
}
body.template-index .hero__button:hover { background:#fff; }
.lm-promo-head {
  text-align:center;
  padding-top:34px;
  padding-bottom:14px;
}
.lm-promo-kicker {
  margin:0 0 6px;
  color:#7b211d;
  font-family:var(--font-heading--family);
  font-size:1.05rem;
  line-height:1.25;
}
.lm-promo-head h2 {
  margin:0;
  color:#781c17;
  font-family:var(--font-heading--family);
  font-size:clamp(2.3rem,8vw,4.6rem);
  line-height:.98;
  letter-spacing:-.035em;
}
.lm-promo-ornament {
  position:relative;
  display:block;
  width:145px;
  height:15px;
  margin:7px auto 0;
}
.lm-promo-ornament::before,.lm-promo-ornament::after {
  content:"";
  position:absolute;
  top:7px;
  width:61px;
  height:1px;
  background:#c99953;
}
.lm-promo-ornament::before{left:0}.lm-promo-ornament::after{right:0}
.lm-promo-ornament{background:radial-gradient(circle,#c99953 0 2px,transparent 2.5px) center/10px 10px no-repeat}

@media (max-width:749px) {
  body.template-index .hero__media { height:clamp(520px,142vw,610px); }
  body.template-index .hero__content { padding:22px 26px 34px; }
  .lm-promo-head { padding:35px 18px 12px; }
  .lm-promo-kicker { font-size:1rem; }
  .lm-promo-head h2 { font-size:2.65rem; }
}

@media (min-width:750px) {
  .lm-promo-head { padding-top:54px; padding-bottom:22px; }
}
body.template-index .lm-stars{color:#18b976;letter-spacing:.16em}
body.template-index [data-carousel-item],
body.template-index .lm-collection-card,
body.template-index .lm-product-slide,
body.template-index .lm-ugc-card{
  scroll-snap-align:start;
  scroll-snap-stop:normal;
}

/* ===== Alba Duarte v4 — interaction, drawer, collection & PDP refinements ===== */

/* The horizontal galleries must never trap normal vertical wheel scrolling. */
[data-carousel-track]{overscroll-behavior-y:auto!important}

/* Mobile navigation: editorial hierarchy instead of an empty drawer. */
#MobileNavDrawer .drawer__panel{width:min(410px,94vw);background:#fff}
#MobileNavDrawer .drawer__header{padding:16px 20px}
#MobileNavDrawer .drawer__body{padding:22px 20px 28px}
#MobileNavDrawer .drawer__footer{background:#fff;padding:16px 20px}
.mobile-nav__brand{font-size:1.55rem;letter-spacing:.03em;margin:4px 0 20px;font-weight:500}
.mobile-nav__editorial{gap:0!important}
.mobile-nav__editorial li a{border:0!important;padding:8px 0!important;font-size:1rem!important;line-height:1.35}
.mobile-nav__editorial .mobile-nav__home a,.mobile-nav__editorial .mobile-nav__major a{font-size:1.6rem!important;font-weight:500;padding:10px 0!important}
.mobile-nav__editorial .mobile-nav__major:first-of-type{margin-top:20px}

/* AURA-inspired cart drawer, adapted to Alba Duarte. */
.cart-drawer .drawer__panel{width:min(430px,100vw)!important;background:#fff!important;color:#111;box-shadow:-12px 0 40px rgba(0,0,0,.12)}
.cart-aura-header{min-height:92px;padding:14px 22px!important;justify-content:center!important;background:#fff;border-bottom:1px solid #ececec!important;position:relative;flex:0 0 auto}
.cart-aura-header__brand{display:flex;align-items:center;justify-content:center;max-width:170px}
.cart-aura-header__brand img{display:block;max-height:56px;width:auto;max-width:170px;object-fit:contain}
.cart-aura-header__brand strong{font-family:var(--font-heading--family);font-size:1.25rem;letter-spacing:.16em;font-weight:500}
.cart-aura-header__close{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:38px;height:38px}
.cart-aura-header__close svg{width:18px;height:18px}
.cart-aura-promo{padding:9px 28px;background:#f2f2f2;border-bottom:1px solid #e2e2e2;text-align:center;font-size:.93rem;line-height:1.2;flex:0 0 auto}
.cart-aura-promo p{margin:0}
.cart-aura-progress{padding:20px 28px 16px;background:#fff;border-bottom:1px solid #ececec;flex:0 0 auto}
.cart-aura-progress__headline{text-align:center;font-weight:700;font-size:1rem;margin:0 0 20px}
.cart-aura-progress__rail{height:6px;background:#e5e5e5;border-radius:999px;position:relative;margin:0 10px}
.cart-aura-progress__fill{position:absolute;inset:0 auto 0 0;background:#159b35;border-radius:999px;transition:width .35s ease}
.cart-aura-progress__node{position:absolute;top:50%;transform:translate(-50%,-50%);width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#e5e5e5;color:#888;font-style:normal;border:3px solid #fff;box-shadow:0 0 0 1px #dedede}
.cart-aura-progress__node svg{width:14px;height:14px}
.cart-aura-progress__node.is-active{background:#159b35;color:#fff;box-shadow:none}
.cart-aura-progress__labels{display:grid;grid-template-columns:repeat(3,1fr);margin-top:13px;text-align:center;font-size:.66rem;color:#1c1c1c}
.cart-aura-body{padding:14px 24px 6px!important;background:#fff}
.cart-items--aura{gap:0!important}
.cart-item--aura{grid-template-columns:82px minmax(0,1fr)!important;gap:14px!important;padding:14px 0!important;border-bottom:1px solid #ececec!important}
.cart-item--aura .cart-item__media img{border-radius:2px!important;aspect-ratio:1/1.25!important}
.cart-item__topline{display:flex;gap:8px;justify-content:space-between;align-items:flex-start}
.cart-item--aura .cart-item__title{font-weight:700;font-size:.96rem;line-height:1.22}
.cart-item__remove--icon{width:24px;height:24px;display:grid;place-items:center;text-decoration:none!important;flex:0 0 24px}
.cart-item__remove--icon svg{width:16px;height:16px}
.cart-item--aura .cart-item__variant{font-size:.8rem;color:#8a8a8a}
.cart-item--aura .cart-item__price{display:flex;flex-wrap:wrap;align-items:center;font-size:.91rem}
.cart-item__price-now{display:block;width:100%;color:#159b35;font-size:.85rem;margin-top:1px}
.cart-item--aura .quantity-input{height:31px;max-width:110px}
.cart-item--aura .quantity-input button{width:31px;height:31px}
.cart-item--aura .quantity-input__field{height:31px;min-width:40px}
.cart-aura-footer{padding:14px 24px 18px!important;background:#fff!important;box-shadow:0 -8px 25px rgba(0,0,0,.04);flex:0 0 auto}
.cart-discount-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:13px}
.cart-discount-form input{height:48px;border:1px solid #ddd;border-radius:9px;padding:0 13px;font-size:.95rem;min-width:0}
.cart-discount-form button{height:48px;border:0;border-radius:999px;background:#333;color:#fff;padding:0 22px;font-weight:700}
.cart-discount-form p{grid-column:1/-1;margin:-4px 0 0;font-size:.76rem;color:#666}
.cart-aura-footer .cart-summary__row{font-size:.9rem}
.cart-aura-checkout{min-height:54px;border-radius:999px!important;text-transform:none!important;font-size:.95rem!important;letter-spacing:0!important;background:#222!important}
.cart-aura-payments{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:3px}
.cart-aura-payments svg{height:25px;width:auto}
.cart-aura-empty{background:#fff!important}
[data-collection-section]>.page-width{max-width:1180px}
[data-collection-section] .collection-header__title{font-family:var(--font-heading--family);font-size:clamp(2.3rem,7vw,4.5rem)}
[data-collection-section] .collection-toolbar{margin-bottom:12px;padding:12px 4px}
[data-collection-section] .product-list__grid{gap:12px}
[data-collection-section] .product-card__media{border-radius:0}
[data-collection-section] .product-card__badge--sale{background:#d99ba4;color:#622b33}
body.template-product .lm-rating-summary{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:.8rem}
body.template-product .lm-rating-summary .lm-stars{color:#1abf9f;letter-spacing:.08em;font-size:1rem}
body.template-product .product-mini-trust{margin:16px 0 18px}
body.template-product .stock-indicator.product-mini-trust__row{background:#f4f4f4;border-radius:999px;padding:10px 14px;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
body.template-product .product-accordion--editorial{margin-top:24px;border-top:1px solid #1f1f1f}
body.template-product .product-accordion--editorial .product-accordion__row{border-bottom:1px solid #1f1f1f}
body.template-product .product-accordion--editorial summary{display:flex;justify-content:space-between;align-items:center;padding:16px 0;font-family:var(--font-heading--family);font-size:.92rem;letter-spacing:.02em}
body.template-product .product-accordion--editorial summary b{font-family:var(--font-body--family);font-size:1rem}
body.template-product .product-accordion--editorial .product-accordion__content{padding:0 0 18px;color:#5e5956;font-size:.9rem}.trust-accordion__icon svg{width:22px;height:22px}

@media(max-width:560px){
  .cart-drawer .drawer__panel{width:100vw!important}
  .cart-aura-header{min-height:78px}
  .cart-aura-progress{padding-inline:20px}
  .cart-aura-body{padding-inline:18px!important}
  .cart-aura-footer{padding-inline:18px!important}
  [data-collection-section]>.page-width{padding-inline:12px}
}
@media(max-width:749px){[data-collection-grid].collection-grid--single{grid-template-columns:1fr}[data-collection-grid].collection-grid--single .product-card__media{aspect-ratio:.76}[data-collection-grid].collection-grid--single .product-card__title{font-size:1rem}}

/* ===== V5 COLLECTION + PDP REFINEMENTS ===== */
[data-carousel-track]{touch-action:pan-x pan-y pinch-zoom;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
body.template-index [data-carousel-track]{touch-action:pan-x pan-y pinch-zoom;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}

/* Product PDP: real low-stock rotator */
.product-stock-rotator{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:0 16px;border-radius:999px;background:#f5f5f5;margin:12px 0 18px;font-family:var(--font-body--family);font-size:.75rem;letter-spacing:.02em;color:#2d2b29}
.product-stock-rotator__dot{width:9px;height:9px;border-radius:50%;background:#ff850c;flex:0 0 auto}
.product-stock-rotator strong{font-weight:750}

/* Product gift block. Visible publicly only after a real gift is selected and verified. */
.product-gift-offer{position:relative;display:grid;grid-template-columns:88px 1fr;gap:14px;border:1.5px solid #171717;border-radius:18px;padding:12px 14px;margin:16px 0;background:#fff}
.product-gift-offer__media{width:88px;height:104px;display:grid;place-items:center;overflow:hidden;border-radius:10px;background:#f4eee8}
.product-gift-offer__media img{width:100%;height:100%;object-fit:cover}
.product-gift-offer__media>span{font-size:2.2rem;color:#8d6d56}
.product-gift-offer__copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.product-gift-offer__copy>small{font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;font-weight:750}
.product-gift-offer__copy>strong{font-family:var(--font-heading--family);font-size:1.2rem;font-weight:500;margin:2px 0 5px}
.product-gift-offer__copy p{margin:0 0 8px;font-size:.82rem}.product-gift-offer__copy p s{color:#999;margin-right:7px}.product-gift-offer__copy p b{color:#111}
.product-gift-offer__copy button{width:100%;border:0;border-radius:999px;background:#111;color:#fff;min-height:42px;padding:0 16px;font-size:.72rem;font-weight:700}
.product-gift-offer__copy button:disabled{background:#ddd;color:#777}
.product-gift-offer__verified{position:absolute;top:9px;left:8px;background:#111;color:#fff;border-radius:999px;font-size:.5rem;padding:4px 7px;text-transform:uppercase}
.product-gift-offer__status{grid-column:1/-1;margin:0;font-size:.72rem;color:#5f574f}
.product-gift-offer__note{font-size:.65rem;color:#777;text-align:center;margin:-8px 0 18px}

/* One existing review, never fabricated by the section. */
.product-featured-review{display:grid;grid-template-columns:56px 1fr;gap:14px;border:1px solid #dedede;background:#f8f9fb;padding:18px;margin:20px 0}
.product-featured-review__avatar{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#eadfd6;color:#332a24;font-family:var(--font-heading--family);font-size:1.3rem}
.product-featured-review__head{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.product-featured-review__head strong{font-size:.95rem}.product-featured-review__head .lm-stars{color:#24b9b0;font-size:1rem;letter-spacing:.04em}
.product-featured-review__body p{margin:7px 0;font-size:.88rem;line-height:1.48;color:#222}.product-featured-review__body small{color:#777;font-size:.68rem}

/* PDP editorial polish */
body.template-product .breadcrumbs{display:none!important}
body.template-product .product-accordion--editorial{margin-top:18px;border-top:1px solid #111}
body.template-product .product-accordion--editorial .product-accordion__row{border-bottom:1px solid #111}
body.template-product .product-accordion--editorial summary{padding:16px 0;font-family:var(--font-heading--family);font-size:.82rem}
body.template-product .product-recommendations-section .section-header__title{font-family:var(--font-heading--family);font-size:1.8rem}

@media(max-width:749px){
  body.template-product .section>.page-width{padding-inline:16px}
  body.template-product .product{gap:0}
  body.template-product .product-info{padding-top:20px}
  .product-gift-offer{grid-template-columns:78px 1fr;padding:11px}.product-gift-offer__media{width:78px;height:96px}
  body.template-product .product-recommendations-section .page-width{padding-inline:0}
  body.template-product .product-recommendations-section .section-header{padding-inline:16px}
}
.cart-item__gift-badge{display:inline-flex;width:fit-content;margin-bottom:4px;padding:4px 8px;border-radius:999px;background:#111;color:#fff;font-size:.52rem;font-weight:750;letter-spacing:.12em}


/* ===== V6 requested refinements ===== */
.collection-grid--switching{opacity:.58;transform:scale(.992);transition:opacity .24s ease,transform .24s ease}
[data-collection-grid]{transition:opacity .24s ease,transform .24s ease,grid-template-columns .32s ease}

.newsletter-popup__panel{border-radius:24px;overflow:hidden;width:min(1040px,94vw);max-height:min(90dvh,760px)}
.newsletter-popup__grid{grid-template-columns:minmax(0,58%) minmax(330px,42%);min-height:0;background:#05070b}
.newsletter-popup__media{height:auto;min-height:430px;background:#05070b;display:grid;place-items:center;overflow:hidden}
.newsletter-popup__media img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#05070b}
.newsletter-popup__offer-mark{font-family:var(--font-body--family);font-size:.68rem;letter-spacing:.18em;font-weight:750;text-transform:uppercase;margin-bottom:12px;color:#8d684f}
.newsletter-popup__content{background:#fff;padding:34px 30px;align-items:stretch}
.newsletter-popup__title{font-family:var(--font-body--family);font-weight:650;text-transform:uppercase;letter-spacing:-.025em;font-size:clamp(2rem,3.6vw,3rem);line-height:.96;margin-bottom:14px}
.newsletter-popup__content .text-muted{font-size:.98rem;line-height:1.45;color:#272727}
.newsletter-popup__form{margin-top:.9rem;gap:.65rem}
.newsletter-popup__form input[type=email]{border:1px solid #777;background:#fff;min-height:50px;font-size:1rem}
.newsletter-popup__form .button--primary{border-radius:999px;background:#050505;color:#fff;font-weight:750;letter-spacing:.09em;min-height:48px;font-size:.78rem}
.newsletter-popup__dismiss{align-self:center;font-size:.72rem;letter-spacing:.17em;text-transform:uppercase;text-decoration:none;font-weight:700}
.newsletter-popup__close{background:rgba(255,255,255,.95);border-radius:50%;box-shadow:0 2px 12px rgba(0,0,0,.12)}
.newsletter-popup-teaser{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);z-index:calc(var(--z-modal) - 2);border:0;border-radius:18px 18px 0 0;background:#fff;color:#111;padding:16px 28px;box-shadow:0 -10px 30px rgba(0,0,0,.16);font-weight:800;letter-spacing:.02em;white-space:nowrap;max-width:calc(100vw - 30px);overflow:hidden;text-overflow:ellipsis}
lm-popup[open] + .newsletter-popup-teaser{display:none}
@media(max-width:749px){
  .newsletter-popup__panel{width:min(94vw,520px);max-height:90dvh;border-radius:20px;overflow:auto}
  .newsletter-popup__grid{grid-template-columns:1fr;grid-template-rows:auto auto;background:#fff}
  .newsletter-popup__media{min-height:0;height:auto;aspect-ratio:3/2;padding:0!important;background:#05070b}
  .newsletter-popup__media img{width:100%;height:100%!important;object-fit:contain!important;object-position:center!important;background:#05070b}
  .newsletter-popup__content{padding:20px 18px 22px}
  .newsletter-popup__offer-mark{font-size:.58rem;margin-bottom:8px}
  .newsletter-popup__title{font-size:clamp(1.65rem,8vw,2.25rem);line-height:1;margin-bottom:9px}
  .newsletter-popup__content .text-muted{font-size:.86rem;line-height:1.38}
  .newsletter-popup__form{margin-top:.65rem;gap:.55rem}
  .newsletter-popup__form input[type=email]{min-height:46px}
  .newsletter-popup__form .button--primary{min-height:46px;font-size:.68rem;padding-inline:12px}
  .newsletter-popup__dismiss{margin-top:.7rem;font-size:.65rem}
  .newsletter-popup-teaser{font-size:.78rem;padding:14px 18px}
}

/* Product page: cleaner hierarchy + swipe-first gallery. */
body.template-product .section:first-of-type{padding-top:0!important}
body.template-product .product-gallery__main{touch-action:pan-y pinch-zoom;overflow:hidden;background:#f4f4f3}
body.template-product .product-gallery__nav{display:inline-flex;width:46px;height:46px;border:0;box-shadow:0 4px 18px rgba(0,0,0,.08)}
body.template-product .product-gallery__nav[data-next]{background:#111;color:#fff}
body.template-product .variant-option__value-selected{font-weight:400;color:#777;margin-left:8px}
body.template-product .product-featured-review{border-radius:3px!important;background:#f7f8fa!important}
body.template-product .product-accordion{margin-top:18px}
body.template-product .product-accordion details{border-bottom:1px solid #222}
body.template-product .product-accordion summary{font-family:var(--font-heading--family);font-size:.95rem;text-transform:uppercase;letter-spacing:.01em}

@media(max-width:749px){
  body.template-product .page-width{padding-inline:16px!important}
  body.template-product .product__gallery{margin-inline:-16px!important}
  body.template-product .product-gallery__thumbnails{padding-inline:16px}
}

/* Product page stays a real full page. Never use a quick-view / side panel visual treatment. */
.template-product .drawer.product-quick-view,.template-product [data-product-quick-view],.template-product .quick-view-panel{display:none!important}
.template-product .product{align-items:start}
.template-product .product-info__title{font-family:var(--font-heading-family);font-weight:400;line-height:1.03}
.template-product .product-info__price .price__current{font-weight:600}
.template-product .product-info__price .price__compare{color:#8e8780}
.product-gallery__main{touch-action:pan-y;user-select:none;-webkit-user-select:none}
.product-gallery__slide[data-active="true"]{animation:lmPdpFade .24s ease both}
@keyframes lmPdpFade{from{opacity:.72;transform:translateX(4px)}to{opacity:1;transform:none}}

@media(max-width:749px){
  .product-gallery__main{overflow:hidden}
}

/* User-supplied visual look gallery. No fabricated purchase/verification claims. */
.lm-look-gallery{margin-top:clamp(1.5rem,4vw,4rem)}
.lm-look-card__title{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:12px}
.lm-look-card__title>span{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#eee3d9;font-weight:700}
.lm-look-card__title small{display:block;margin-top:3px;color:#777}
.lm-look-card .lm-ugc-card__body>p{min-height:86px}
.template-product .lm-look-gallery{border-top:1px solid #ebe5df;background:#f8f5f0}
.template-product .lm-look-gallery .lm-editorial-head{padding-top:64px}
@media(max-width:749px){.template-product .lm-look-gallery .lm-editorial-head{padding-top:48px}.lm-look-card .lm-ugc-card__body>p{min-height:auto}}

/* Five-minute cart session countdown */
.cart-drawer .cart-reservation-timer{display:grid!important;grid-template-columns:1fr auto;align-items:center;gap:2px 14px;margin:0!important;padding:12px 16px!important;border:0!important;border-top:1px solid #eee9e5!important;border-bottom:1px solid #eee9e5!important;border-radius:0!important;background:#fff8f8!important;color:#9f292d!important}
.cart-drawer .cart-reservation-timer__eyebrow{font:750 10px/1.2 Arial,sans-serif;letter-spacing:.12em}
.cart-drawer .cart-reservation-timer__time{grid-row:1/3;grid-column:2;font:750 24px/1 Arial,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.03em}
.cart-drawer .cart-reservation-timer__copy{font:400 9px/1.3 Arial,sans-serif;color:#716b66}

/* Product-card -> PDP zoom transition */
.lm-pdp-zoom-clone{position:fixed!important;z-index:9999!important;margin:0!important;pointer-events:none!important;object-fit:cover!important;transform-origin:center!important;will-change:transform,opacity,border-radius!important;transition:transform .34s cubic-bezier(.2,.75,.2,1),opacity .34s ease,border-radius .34s ease!important;box-shadow:0 18px 55px rgba(0,0,0,.14)!important}
html.lm-pdp-zooming body{overflow:hidden}
@media(prefers-reduced-motion:reduce){.lm-pdp-zoom-clone{transition:none!important}}

/* Cart upsells — bolso gratis + protección de envío */
.cart-upsells{
  display:grid;
  gap:12px;
  margin:16px 0 18px;
}
.cart-gift-upsell,
.cart-protection-upsell{
  border:1px solid #d9d3cc;
  background:#fff;
  border-radius:14px;
  box-shadow:0 4px 16px rgba(32,27,22,.04);
}
.cart-gift-upsell{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:10px 14px;
  align-items:center;
  padding:12px;
}
.cart-gift-upsell.is-added{
  border-color:#b8d9c9;
  background:#f7fcf9;
}
.cart-gift-upsell__media{
  grid-row:1 / span 2;
  width:82px;
  height:82px;
  border-radius:10px;
  overflow:hidden;
  background:#f4efe8;
}
.cart-gift-upsell__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.cart-gift-upsell__copy{
  min-width:0;
  display:grid;
  gap:2px;
}
.cart-upsell-kicker{
  font-size:9px;
  line-height:1.2;
  letter-spacing:.13em;
  color:#8b7b6e;
}
.cart-gift-upsell__copy strong{
  font-family:var(--font-heading--family,var(--font-heading-family));
  font-size:19px;
  font-weight:500;
  line-height:1.05;
}
.cart-gift-upsell__prices{
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:3px;
  font-size:12px;
}
.cart-gift-upsell__prices s{color:#9d9690}
.cart-gift-upsell__prices b{font-size:13px;color:#171717}
.cart-gift-upsell__action{
  grid-column:2;
  min-height:38px;
  padding:8px 13px;
  border:0;
  border-radius:999px;
  background:#161616;
  color:#fff;
  font:inherit;
  font-size:11px;
  font-weight:650;
  cursor:pointer;
}
.cart-gift-upsell.is-added .cart-gift-upsell__action{
  background:#eaf6ef;
  color:#26734a;
}
.cart-gift-upsell__status{
  grid-column:1 / -1;
  font-size:10px;
  color:var(--color-error,#b23a2e);
}

.cart-protection-upsell{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  gap:7px 10px;
  align-items:center;
  margin:0;
  padding:12px 13px;
  background:#f7f7f5;
}
.cart-protection-upsell.is-added{
  border-color:#b8d9c9;
  background:#f2faf5;
}
.cart-protection-upsell__icon{
  grid-row:1 / span 2;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:#fff;
  color:#1f7250;
  box-shadow:inset 0 0 0 1px #e5e0db;
}
.cart-protection-upsell__icon svg{width:18px;height:18px}
.cart-protection-upsell__copy{
  display:grid;
  gap:2px;
  min-width:0;
}
.cart-protection-upsell__copy strong{
  font-size:12px;
  line-height:1.2;
}
.cart-protection-upsell__copy small{
  font-size:10px;
  line-height:1.35;
  color:#77706a;
}
.cart-protection-upsell__price{
  align-self:start;
  padding-top:1px;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.cart-protection-upsell__action{
  grid-column:2 / 4;
  justify-self:stretch;
  min-height:36px;
  padding:7px 12px;
  border:1px solid #181818;
  border-radius:999px;
  background:#fff;
  color:#181818;
  font:inherit;
  font-size:11px;
  font-weight:650;
  cursor:pointer;
}
.cart-protection-upsell.is-added .cart-protection-upsell__action{
  border-color:#6fa987;
  color:#26734a;
  background:#fff;
}
.cart-protection-upsell__status{
  grid-column:1 / -1;
  font-size:10px;
  color:var(--color-error,#b23a2e);
}

@media(max-width:480px){
  .cart-gift-upsell{grid-template-columns:74px minmax(0,1fr);padding:10px}
  .cart-gift-upsell__media{width:74px;height:74px}
  .cart-gift-upsell__copy strong{font-size:17px}
}

/* ===== Alba Duarte v6 - mobile cart visibility fix ===== */
.cart-drawer .drawer__panel{
  height:100dvh;
  max-height:100dvh;
  overflow:hidden;
}
.cart-drawer .cart-aura-body{
  min-height:0;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  scroll-behavior:smooth;
  scroll-padding-block:12px 20px;
}
.cart-drawer .cart-aura-footer{
  position:relative;
  z-index:4;
}
.cart-drawer .cart-gift-upsell,
.cart-drawer .cart-protection-upsell{
  width:100%;
  box-sizing:border-box;
  scroll-margin-block:10px 18px;
}

@media(max-width:560px){
  .cart-aura-header{
    min-height:64px;
    padding:8px 14px!important;
  }
  .cart-aura-header__brand{max-width:145px}
  .cart-aura-header__brand img{max-height:44px;max-width:145px}
  .cart-aura-header__close{right:9px;width:36px;height:36px}

  .cart-aura-promo{
    padding:7px 18px;
    font-size:.80rem;
    line-height:1.16;
  }

  .cart-drawer .cart-reservation-timer{
    min-height:42px;
    padding:8px 14px!important;
    gap:1px 10px;
  }
  .cart-drawer .cart-reservation-timer__eyebrow{font-size:9px}
  .cart-drawer .cart-reservation-timer__time{font-size:20px}
  .cart-drawer .cart-reservation-timer__copy{font-size:8.5px;line-height:1.2}

  .cart-aura-progress{
    padding:13px 16px 11px;
  }
  .cart-aura-progress__headline{
    margin:0 0 14px;
    font-size:.90rem;
    line-height:1.15;
  }
  .cart-aura-progress__rail{height:5px;margin:0 8px}
  .cart-aura-progress__node{width:27px;height:27px}
  .cart-aura-progress__node svg{width:12px;height:12px}
  .cart-aura-progress__labels{margin-top:11px;font-size:.61rem}

  .cart-aura-body{
    min-height:0!important;
    padding:8px 14px 18px!important;
  }
  .cart-item--aura{
    grid-template-columns:68px minmax(0,1fr)!important;
    gap:11px!important;
    padding:10px 0!important;
  }
  .cart-item--aura .cart-item__media{width:68px}
  .cart-item--aura .cart-item__title{font-size:.88rem;line-height:1.16}
  .cart-item--aura .cart-item__variant{font-size:.72rem;margin-top:2px}
  .cart-item--aura .cart-item__price{font-size:.82rem;margin-top:2px}
  .cart-item--aura .quantity-input{height:29px;max-width:102px;margin-top:4px}
  .cart-item--aura .quantity-input button{width:29px;height:29px}
  .cart-item--aura .quantity-input__field{height:29px;min-width:38px}

  .cart-upsells{
    gap:10px;
    margin:10px 0 2px;
    padding-bottom:8px;
  }
  .cart-gift-upsell{
    grid-template-columns:66px minmax(0,1fr);
    gap:7px 10px;
    padding:9px 10px;
    border-radius:13px;
  }
  .cart-gift-upsell__media{
    width:66px;
    height:66px;
    border-radius:9px;
  }
  .cart-upsell-kicker{font-size:8px}
  .cart-gift-upsell__copy strong{font-size:16px}
  .cart-gift-upsell__prices{margin-top:1px;font-size:11px}
  .cart-gift-upsell__prices b{font-size:12px}
  .cart-gift-upsell__action{
    min-height:34px;
    padding:6px 10px;
    font-size:10.5px;
  }

  .cart-protection-upsell{
    grid-template-columns:32px minmax(0,1fr) auto;
    gap:6px 8px;
    padding:10px;
    border-radius:13px;
  }
  .cart-protection-upsell__icon{width:32px;height:32px}
  .cart-protection-upsell__icon svg{width:16px;height:16px}
  .cart-protection-upsell__copy strong{font-size:11.5px}
  .cart-protection-upsell__copy small{font-size:9.5px;line-height:1.25}
  .cart-protection-upsell__price{font-size:11px}
  .cart-protection-upsell__action{
    min-height:34px;
    padding:6px 10px;
    font-size:10.5px;
  }

  .cart-aura-footer{
    padding:9px 14px 11px!important;
  }
  .cart-discount-form{
    gap:8px;
    margin-bottom:8px;
  }
  .cart-discount-form input{
    height:42px;
    padding:0 11px;
    font-size:.86rem;
  }
  .cart-discount-form button{
    height:42px;
    padding:0 18px;
    font-size:.86rem;
  }
  .cart-aura-footer .cart-summary__row{
    margin-bottom:7px;
    font-size:.86rem;
  }
  .cart-aura-checkout{
    min-height:48px!important;
    font-size:.89rem!important;
  }
  .cart-aura-payments{
    gap:6px;
    margin-top:5px;
  }
  .cart-aura-payments svg{height:20px}
}

@media(max-width:380px){
  .cart-aura-promo{font-size:.76rem;padding-inline:14px}
  .cart-aura-progress{padding-inline:13px}
  .cart-aura-body{padding-inline:12px!important}
  .cart-aura-footer{padding-inline:12px!important}
}


/* ===== Alba Duarte v7 - cart media, real gift image, gold stars, cart variant pickers ===== */
.af-stars,
.lm-stars,
body.template-index .lm-stars,
body.template-product .lm-rating-summary .lm-stars,
.product-featured-review__head .lm-stars{
  color:#d7a847 !important;
}

.product-gift-offer__media img,
.cart-gift-upsell__media img{
  object-fit:contain;
  padding:4px;
  background:#f4efe8;
}

.cart-item--aura{
  grid-template-columns:82px minmax(0,1fr);
  align-items:start;
}
.cart-item__media{
  width:82px;
  height:108px;
  display:block;
  flex:0 0 82px;
  align-self:flex-start;
  overflow:hidden;
  border-radius:12px;
  background:#f6f2ed;
}
.cart-item__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.cart-item__content{
  min-width:0;
}
.cart-item__topline{
  align-items:flex-start;
}
.cart-item__title{
  flex:1 1 auto;
  min-width:0;
  margin:0;
  line-height:1.14;
  font-size:1.02rem;
}
.cart-item__title a{
  display:block;
  overflow-wrap:anywhere;
}
.cart-item__variant{margin:0;color:#6d655f;font-size:12px}
.cart-item__variant-picker{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:4px 0 2px;
}
.cart-item__option{
  display:grid;
  gap:4px;
  font-size:11px;
  color:#5f5852;
}
.cart-item__option span{
  font-weight:600;
  letter-spacing:.02em;
}
.cart-item__option select{
  width:100%;
  min-height:34px;
  padding:7px 30px 7px 10px;
  border:1px solid rgba(17,17,17,.14);
  border-radius:999px;
  background:#fff;
  font-size:12px;
  line-height:1.2;
}
.cart-item__variant-status{
  grid-column:1 / -1;
  font-size:10px;
  color:#7a5b1d;
  min-height:14px;
}
.cart-item__variant-picker.is-loading{opacity:.65;pointer-events:none}
@media(max-width:480px){
  .cart-item--aura{grid-template-columns:70px minmax(0,1fr);gap:10px}
  .cart-item__media{width:70px;height:96px;border-radius:10px}
  .cart-item__title{font-size:.95rem}
  .cart-item__variant-picker{grid-template-columns:1fr 1fr;gap:6px;margin-top:3px}
  .cart-item__option select{min-height:32px;padding:6px 26px 6px 9px;font-size:11.5px}
}


/* ===== Alba Duarte v8 — carrito por prenda + transición PDP + popup bienvenida ===== */
.af-stars,
.lm-stars,
body.template-index .lm-stars,
body.template-product .lm-rating-summary .lm-stars,
.product-featured-review__head .lm-stars,
.product-card__rating .af-stars,
.product-card__perk-rating .af-stars{
  color:#d8a83e !important;
}

.cart-item--aura{
  grid-template-columns:74px minmax(0,1fr)!important;
  gap:13px!important;
  align-items:start!important;
}
.cart-item--aura .cart-item__media{
  position:relative;
  z-index:1;
  width:74px!important;
  height:100px!important;
  overflow:hidden!important;
  border-radius:10px!important;
  background:#f5f1ec!important;
}
.cart-item--aura .cart-item__media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
}
.cart-item--aura .cart-item__content{
  position:relative;
  z-index:2;
  min-width:0;
  overflow:visible;
}
.cart-item--aura .cart-item__title{
  margin:0!important;
  max-width:100%;
  overflow-wrap:anywhere;
}
.cart-item__unit-config{
  display:grid;
  gap:7px;
  margin:6px 0 3px;
}
.cart-item__unit-config.is-loading{opacity:.65;pointer-events:none}
.cart-item__unit-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:end;
  gap:8px;
  padding:7px 8px;
  border:1px solid #e7dfd6;
  border-radius:10px;
  background:#fbf9f6;
}
.cart-item__unit-label{
  align-self:center;
  font-size:10px;
  font-weight:750;
  color:#6e6257;
  white-space:nowrap;
}
.cart-item__unit-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}
.cart-item__option{display:grid;gap:3px;min-width:0}
.cart-item__option span{font-size:9px;font-weight:700;color:#756b62}
.cart-item__option select{
  width:100%;
  min-width:0;
  min-height:31px;
  padding:5px 24px 5px 8px;
  border:1px solid #d9d1ca;
  border-radius:999px;
  background:#fff;
  color:#171717;
  font:inherit;
  font-size:11px;
}
.cart-item__variant-status{
  display:block;
  min-height:12px;
  font-size:9.5px;
  color:#7b5b1d;
}

.product-gift-offer__media img,
.cart-gift-upsell__media img{
  object-fit:contain!important;
  object-position:center!important;
  padding:3px;
  background:#f4efe8;
}

/* Smooth directional slide when swiping or using arrows on PDP. */
.product-gallery__slide{
  will-change:transform,opacity;
  backface-visibility:hidden;
}
.product-gallery__slide[data-active="true"]{animation:none!important}
.product-gallery__slide.lm-slide-in-next{animation:lmGalleryInNext .38s cubic-bezier(.22,.61,.36,1) both!important}
.product-gallery__slide.lm-slide-in-prev{animation:lmGalleryInPrev .38s cubic-bezier(.22,.61,.36,1) both!important}
.product-gallery__slide.lm-slide-out-next{animation:lmGalleryOutNext .38s cubic-bezier(.22,.61,.36,1) both!important}
.product-gallery__slide.lm-slide-out-prev{animation:lmGalleryOutPrev .38s cubic-bezier(.22,.61,.36,1) both!important}
@keyframes lmGalleryInNext{from{opacity:.35;transform:translate3d(11%,0,0) scale(.995)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes lmGalleryInPrev{from{opacity:.35;transform:translate3d(-11%,0,0) scale(.995)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes lmGalleryOutNext{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(-7%,0,0)}}
@keyframes lmGalleryOutPrev{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(7%,0,0)}}

/* Exact welcome creative supplied by the store owner. */
.newsletter-popup__media{background:#0c1018!important}
.newsletter-popup__media img{object-fit:contain!important;object-position:center!important;background:#0c1018!important}
.newsletter-popup__title{font-size:clamp(1.7rem,3vw,2.55rem)!important;line-height:1!important}
@media(max-width:599px){
  .cart-item--aura{grid-template-columns:68px minmax(0,1fr)!important;gap:10px!important}
  .cart-item--aura .cart-item__media{width:68px!important;height:92px!important}
  .cart-item__unit-row{grid-template-columns:1fr;gap:5px;padding:7px}
  .cart-item__unit-label{font-size:9.5px}
  .cart-item__unit-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  .newsletter-popup__panel{width:min(94vw,430px)!important;max-height:92dvh!important}
  .newsletter-popup__media{aspect-ratio:4/5!important;height:auto!important;min-height:0!important}
  .newsletter-popup__media img{width:100%!important;height:100%!important;object-fit:contain!important}
  .newsletter-popup__content{padding:18px 17px 20px!important}
}
@media(prefers-reduced-motion:reduce){
  .product-gallery__slide.lm-slide-in-next,
  .product-gallery__slide.lm-slide-in-prev,
  .product-gallery__slide.lm-slide-out-next,
  .product-gallery__slide.lm-slide-out-prev{animation:none!important}
}


/* ===== Alba Duarte v8 - welcome popup fits first mobile viewport ===== */
.newsletter-popup__mobile-cta{display:none}
@media(max-width:599px){
  .newsletter-popup__panel{
    width:min(94vw,430px)!important;
    max-height:94dvh!important;
    height:auto!important;
    overflow:hidden!important;
    border-radius:18px!important;
  }
  .newsletter-popup__grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    min-height:0!important;
    background:#fff!important;
  }
  .newsletter-popup__media{
    width:100%!important;
    height:clamp(190px,31dvh,255px)!important;
    aspect-ratio:auto!important;
    min-height:0!important;
    padding:0!important;
    background:#0c1018!important;
    overflow:hidden!important;
  }
  .newsletter-popup__media img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center 27%!important;
    background:#0c1018!important;
  }
  .newsletter-popup__content{
    padding:12px 14px 13px!important;
    justify-content:flex-start!important;
    min-height:0!important;
  }
  .newsletter-popup__content [data-form-panel="form"]{
    width:100%!important;
  }
  .newsletter-popup__offer-mark,
  .newsletter-popup__content [data-form-panel="form"] > .newsletter-popup__title,
  .newsletter-popup__content [data-form-panel="form"] > .text-muted{
    display:none!important;
  }
  .newsletter-popup__mobile-cta{
    display:block!important;
    margin:0 0 9px!important;
    text-align:center!important;
    font:800 12px/1.2 Arial,sans-serif!important;
    letter-spacing:.08em!important;
    color:#151515!important;
  }
  .newsletter-popup__form{
    margin-top:0!important;
    gap:7px!important;
  }
  .newsletter-popup__form input[type=email]{
    min-height:42px!important;
    height:42px!important;
    padding:0 12px!important;
    font-size:14px!important;
    border-radius:8px!important;
  }
  .newsletter-popup__form .button--primary{
    min-height:42px!important;
    height:42px!important;
    padding:0 12px!important;
    font-size:11px!important;
    letter-spacing:.06em!important;
  }
  .newsletter-popup__form .newsletter-consent{
    margin-top:0!important;
    gap:5px!important;
    font-size:9.5px!important;
    line-height:1.22!important;
  }
  .newsletter-popup__form .newsletter-consent__input{
    width:14px!important;
    height:14px!important;
    margin-top:1px!important;
  }
  .newsletter-popup__dismiss{
    margin-top:7px!important;
    font-size:9px!important;
    line-height:1.1!important;
    letter-spacing:.12em!important;
  }
  .newsletter-popup__close{
    top:8px!important;
    right:8px!important;
    width:32px!important;
    height:32px!important;
  }
}
@media(max-width:380px), (max-height:700px){
  .newsletter-popup__media{height:clamp(165px,27dvh,210px)!important}
  .newsletter-popup__content{padding:10px 12px 11px!important}
  .newsletter-popup__mobile-cta{margin-bottom:7px!important;font-size:11px!important}
  .newsletter-popup__form{gap:6px!important}
  .newsletter-popup__form input[type=email],
  .newsletter-popup__form .button--primary{min-height:40px!important;height:40px!important}
  .newsletter-popup__form .newsletter-consent{font-size:9px!important}
  .newsletter-popup__dismiss{margin-top:5px!important}
}
