[data-theme="fantasy"] {
  color-scheme: light;
  --color-base-100: oklch(100% 0 0);
  --color-base-200: oklch(96% 0 0);
  --color-base-300: oklch(92% 0 0);
  --color-base-content: oklch(21% 0 0);
  --color-primary: oklch(51.4% 0.183 0);
  --color-primary-content: oklch(98% 0.003 247.858);
  --color-secondary: oklch(75% 0.183 75.6);
  --color-secondary-content: oklch(98% 0.003 247.858);
  --color-accent: oklch(64% 0.365 130.85);
  --color-accent-content: oklch(98% 0.003 247.858);
  --color-neutral: oklch(96% 0 0);
  --color-neutral-content: oklch(21% 0 0);
  --color-info: oklch(92% 0 0);
  --color-info-content: oklch(21% 0 0);
  --color-success: oklch(62% 0.194 149.214);
  --color-success-content: oklch(98% 0.002 247.839);
  --color-warning: oklch(76% 0.188 70.08);
  --color-warning-content: oklch(41% 0.112 45.904);
  --color-error: oklch(63% 0.237 25.331);
  --color-error-content: oklch(27% 0.105 12.094);
  --badge-tone-lime: oklch(81% 0.22 128);
  --badge-tone-lime-content: oklch(25% 0.06 128);
  --badge-tone-blue: oklch(80% 0.18 245);
  --badge-tone-blue-content: oklch(25% 0.08 245);
  --badge-tone-violet: oklch(80% 0.19 300);
  --badge-tone-violet-content: oklch(26% 0.08 300);
  --badge-tone-rose: oklch(80% 0.19 10);
  --badge-tone-rose-content: oklch(27% 0.08 10);
  --badge-tone-teal: oklch(80% 0.18 180);
  --badge-tone-teal-content: oklch(25% 0.06 180);
  --badge-tone-cyan: oklch(80% 0.17 210);
  --badge-tone-cyan-content: oklch(24% 0.06 210);
  --badge-tone-lilac: oklch(82% 0.17 320);
  --badge-tone-lilac-content: oklch(26% 0.07 320);
  --badge-tone-slate: oklch(92% 0.015 260);
  --badge-tone-slate-content: oklch(23% 0.02 260);
  --badge-tone-orange: oklch(72% 0.19 55);
  --badge-tone-orange-content: oklch(100% 0 0);
  --color-product-accent: oklch(65% 0.22 42);
  --radius-selector: 0.5rem;
  --radius-field: 0.5rem;
  --radius-box: 0.5rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 2px;
  --depth: 0;
  --noise: 0;
}

[data-theme="fantasy"] :where(.badge-tone-lime, .badge-tone-blue, .badge-tone-violet, .badge-tone-rose, .badge-tone-teal, .badge-tone-cyan, .badge-tone-lilac, .badge-tone-slate, .badge-tone-orange) {
  border: 0;
  border-radius: var(--radius-field);
}
[data-theme="fantasy"] .badge-tone-lime { background: var(--badge-tone-lime); color: var(--badge-tone-lime-content); }
[data-theme="fantasy"] .badge-tone-blue { background: var(--badge-tone-blue); color: var(--badge-tone-blue-content); }
[data-theme="fantasy"] .badge-tone-violet { background: var(--badge-tone-violet); color: var(--badge-tone-violet-content); }
[data-theme="fantasy"] .badge-tone-rose { background: var(--badge-tone-rose); color: var(--badge-tone-rose-content); }
[data-theme="fantasy"] .badge-tone-teal { background: var(--badge-tone-teal); color: var(--badge-tone-teal-content); }
[data-theme="fantasy"] .badge-tone-cyan { background: var(--badge-tone-cyan); color: var(--badge-tone-cyan-content); }
[data-theme="fantasy"] .badge-tone-lilac { background: var(--badge-tone-lilac); color: var(--badge-tone-lilac-content); }
[data-theme="fantasy"] .badge-tone-slate { background: var(--badge-tone-slate); color: var(--badge-tone-slate-content); }
[data-theme="fantasy"] .badge-tone-orange { background: var(--badge-tone-orange); color: var(--badge-tone-orange-content); }
[data-header-badge] {
  display: inline-flex;
  min-width: 1.5rem;
  height: 1.5rem;
  align-items: center;
  justify-content: center;
  padding-inline: 0.25rem;
}

@media (min-width: 1280px) {
  #cart-drawer-shell .storefront-cart-panel { border-radius: var(--radius-box) !important; }
  .mega-panel-active-pane > .mega-desktop-layout.mega-occasions-layout {
    height: calc(100dvh - 12rem) !important;
    max-height: calc(100dvh - 12rem) !important;
  }
  .mega-occasion-divider::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -26px;
    width: 2px;
    background: var(--color-base-300);
    content: '';
    pointer-events: none;
  }
}
.mega-occasion-link { flex-shrink: 0; }
.mega-occasion-label {
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}
@media (max-width: 1599px) {
  [data-occasion-holiday-item] .mega-occasion-label {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
}
@media (min-width: 1280px) and (max-width: 1599px) {
  .mega-panel-active-pane > .mega-desktop-layout.mega-occasions-layout {
    height: 100% !important;
    max-height: 100% !important;
  }
  .mega-desktop-layout.mega-occasions-layout { display: grid; }
  .mega-occasions-layout .mega-occasions-groups.mega-occasions-compact-desktop {
    display: grid;
    grid-column: span 2 / span 2;
    height: 100%;
    min-height: 0;
    grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 3fr) !important;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    column-gap: 24px !important;
    row-gap: 24px;
    overflow: hidden !important;
  }
  .mega-occasions-layout .mega-occasions-compact-desktop > .mega-occasions-holidays {
    grid-column: 1 !important;
    grid-row: 1 / span 2;
  }
  .mega-occasions-layout .mega-occasion-holiday-columns { grid-template-columns: minmax(0, 1fr) !important; }
  .mega-occasions-compact-desktop > .mega-occasions-holidays { display: flex; min-height: 0; flex-direction: column; overflow: hidden; }
  .mega-occasions-compact-desktop .mega-occasion-holiday-columns { display: grid; min-height: 0; flex: 1 1 0%; overflow: hidden; }
  .mega-occasions-compact-desktop .mega-occasion-holiday-column { display: flex; min-width: 0; flex-direction: column; gap: 16px; }
  .mega-occasions-compact-desktop .mega-occasion-heading { display: flex; height: 48px; min-height: 48px; margin-bottom: 16px; align-items: center; }
  .mega-occasion-column-shell {
    box-sizing: border-box;
    position: relative;
    height: 100%;
    min-height: 0;
    padding-right: 28px;
    overflow: hidden;
    container-type: size;
  }
  .mega-occasion-column-middle { grid-column: 2; grid-row: 1 / span 2; }
  .mega-occasion-column-last { grid-column: 3; grid-row: 1 / span 2; }
  .mega-occasion-column-scrollport {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    overscroll-behavior: contain;
  }
  .mega-occasion-column-grid {
    display: grid;
    min-height: 100%;
    height: 100%;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }
  .mega-occasion-column-shell[data-column-expanded="true"] .mega-occasion-column-scrollport { overflow-y: auto; }
  .mega-occasion-column-shell[data-column-expanded="true"] .mega-occasion-column-grid {
    display: flex;
    min-height: 100cqh;
    height: auto;
    flex-direction: column;
    gap: 24px;
  }
  .mega-occasion-compact-group { display: flex; min-width: 0; min-height: 0; flex-direction: column; overflow: hidden; }
  .mega-occasion-column-shell[data-column-expanded="true"] .mega-occasion-compact-group { height: auto; min-height: 0; flex: none; }
  .mega-occasion-column-shell[data-column-expanded="true"] .mega-occasion-compact-group[data-expanded="true"] { overflow: visible; }
  .mega-occasion-compact-list { display: flex; min-height: 0; flex: 1 1 0%; flex-direction: column; gap: 16px; overflow: hidden; }
  .mega-occasion-column-shell[data-column-expanded="true"] .mega-occasion-compact-group .mega-occasion-compact-list {
    flex: none;
  }
  .mega-occasion-column-shell[data-column-expanded="true"] .mega-occasion-compact-group[data-expanded="true"] .mega-occasion-compact-list { overflow: visible; }
  .mega-occasion-compact-group > .mega-occasion-more { flex: none; margin-top: 16px; }
  .mega-occasion-compact-group[data-expanded="true"] .mega-occasion-compact-list {
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .mega-occasion-column-shell.is-animating,
  .mega-occasion-compact-group.is-animating,
  .mega-occasion-compact-group.is-animating .mega-occasion-compact-list {
    overflow: hidden !important;
  }
}
@media (min-width: 1600px) {
  .mega-occasions-layout .mega-occasions-groups {
    grid-template-columns: repeat(2, minmax(0, 4fr)) repeat(4, minmax(0, 3fr)) !important;
    column-gap: 50px !important;
    overflow: hidden !important;
  }
  .mega-occasions-layout .mega-occasions-holidays { grid-column: span 2 / span 2 !important; }
  .mega-occasions-layout .mega-occasion-holiday-columns { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  [data-occasion-holiday-item] .mega-occasion-label {
    overflow: visible;
    white-space: normal;
    text-overflow: clip;
  }
}
html { scrollbar-gutter: stable; }
body.storefront-shell-page { margin: 0 !important; }
.storefront-cart-dialog.modal { right: 0 !important; left: 0 !important; width: auto !important; max-width: none !important; margin: 0 !important; }
#cart-drawer-shell.storefront-cart-dialog.modal { padding-right: 0 !important; padding-left: 0 !important; }
#cart-drawer-shell #storefront-cart-title {
  font-size: 20px !important;
  line-height: 26px;
  font-weight: 700 !important;
}
.btn:active {
  transform: none !important;
  translate: none !important;
  scale: 1 !important;
}

.storefront-shell-page { font-weight: 500; }
.storefront-shell-page h2 { font-size: 24px; line-height: 30px; }
.storefront-shell-page h3 { font-size: 20px; line-height: 26px; }
.surface-outline { border: 2px solid var(--color-base-300); }
:where(.input, .select, .textarea):focus,
:where(.input, .select, .textarea):focus-within,
:where(.input input, .input select, .input textarea):focus {
  outline: none !important;
  box-shadow: none !important;
  --tw-ring-shadow: 0 0 #0000 !important;
}
body.bg-base-100 main :where(.card.bg-base-100, .stats, .tab-content.bg-base-100),
body.bg-base-100 #sidebar > aside.bg-base-100,
body.bg-base-100 #cart-drawer-shell .storefront-cart-panel {
  border: 2px solid var(--color-base-300);
}
*,
*::before,
*::after { box-shadow: none !important; }
input[type="search"]::-webkit-search-cancel-button { display: none; }
[data-header-search] [data-search-clear] { order: 1; }
[data-header-search] [data-search-find] { order: 2; margin-left: 0.5rem; }
.header-layer-active { z-index: 50; }
#header-backdrop {
  position: fixed !important;
  z-index: 40 !important;
  inset: 0 !important;
  display: block;
  background: color-mix(in oklab, var(--color-base-content) 60%, transparent) !important;
}
#header-backdrop.hidden { display: none !important; }
[data-header-search].header-layer-active {
  position: relative;
  z-index: 50 !important;
}
#storefront-main-shell { width: 100%; max-width: 100vw; }
.storefront-desktop-grid,
.storefront-desktop-block { display: none; }
.storefront-mega {
  z-index: 60 !important;
  max-height: calc(100dvh - 8rem);
  overflow-x: hidden;
  overflow-y: auto;
}
.storefront-mega.fixed {
  height: 100dvh;
  max-height: none;
}

@media (min-width: 1280px) {
  .storefront-desktop-grid {
    display: grid;
    grid-template-columns: max-content auto minmax(0, 1fr) auto;
    column-gap: 1rem;
  }
  .storefront-desktop-block { display: grid; }
  .storefront-mobile { display: none !important; }
  .storefront-main-shell { padding: 1rem 1.5rem !important; }
  [data-header-mega-nav] { z-index: 51; }
  .storefront-mega {
    max-height: none !important;
    padding: 0 !important;
  }

  .storefront-shell-page { padding-bottom: 0 !important; }

}

@media (min-width: 1280px) and (max-width: 1599px) {
  .storefront-desktop-grid { grid-template-columns: max-content auto minmax(18rem, 1fr) auto; }
  .storefront-desktop-logo-full { display: block !important; width: 8rem !important; max-width: 8rem !important; }
  .storefront-desktop-logo-mark { display: none !important; }

  .storefront-header-address { min-width: 3rem !important; width: 3rem; padding-inline: 0 !important; justify-content: center !important; }
  .storefront-header-address span { display: none; }
}
@media (min-width: 1600px) {
  .storefront-desktop-logo-mark { display: none !important; }
  .storefront-desktop-logo-full { width: 12rem !important; max-width: 12rem !important; }
}

.storefront-mobile,
.storefront-mobile-search,
.storefront-mobile-search > [data-header-search] { width: 100%; min-width: 0; max-width: 100%; }
.storefront-mobile-search { transition: margin 200ms ease; }
.storefront-mobile-search [data-header-search] > label { min-width: 0; overflow: hidden; }
.storefront-mobile-search [data-header-search] input[name="q"] { width: 0; min-width: 0; }
.storefront-mobile-search [data-search-find],
.storefront-mobile-search [data-search-clear] { flex: none; }
.storefront-mobile-surface {
  border-radius: 0 0 calc(var(--radius-box) + 0.5rem) calc(var(--radius-box) + 0.5rem) !important;
  background: var(--color-primary);
  padding: 1rem;
  color: var(--color-primary-content);
}
.storefront-mobile-primary {
  grid-template-columns: 3rem minmax(0, 1fr) 3rem !important;
  gap: 0.5rem;
}
.storefront-mobile-primary > :first-child { min-width: 0; }
.storefront-mobile-logo { width: 3rem; }
.storefront-mobile-logo img { width: 2.5rem; height: 2.5rem; }
@media (max-width: 1279px) {
  html { scrollbar-gutter: auto; }
  body { margin: 0; }
  #storefront-header { height: 0; }
  #storefront-main-shell {
    z-index: 40;
  }
  #storefront-main-shell > .storefront-main-shell {
    padding: 0 !important;
  }
  .storefront-mobile-primary { display: grid; }
  .storefront-mobile-surface { width: 100%; }
  .storefront-mobile-primary,
  .storefront-mobile-logo { height: 3rem; }
  .storefront-mobile-logo { justify-self: start; }
  .storefront-mobile-address { width: auto !important; min-width: 0 !important; max-width: 100%; justify-self: center; }

  .storefront-mobile-search > [data-header-search] { display: flex; }
  #header-mega.hidden { display: none !important; }
  .storefront-mobile-search.is-mobile-search-pinned {
    width: 100%;
  }
  nav.storefront-mobile svg { width: 1.5rem; height: 1.5rem; }
}

/* Corrective storefront details. */

.home-product-rating { text-decoration: none; }
.home-product-review-count {
  display: inline-flex;
  align-items: center;
  gap: 0;
  color: var(--color-base-content);
  text-decoration-line: none;
}
.home-product-review-number {
  margin-inline: 2px;
  color: var(--color-base-content);
  text-decoration-line: none;
}

.home-collection-banner picture,
.home-collection-banner picture img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home-collection-banner { display: block; }

/* Storefront polish: curated collections, section silhouettes and compact mobile cards. */
.home-main { overflow-x: clip; }
.product-cart-control-compact {
  max-width: calc(100% - 1rem) !important;
  overflow: clip !important;
  contain: layout paint;
}
.product-cart-control-static {
  max-width: calc(100% - 1.5rem) !important;
  overflow: clip !important;
  contain: layout paint;
}
.product-cart-transition-layer { max-width: 100%; }
.product-cart-control-embedded,
.product-cart-control-embedded.is-empty,
.product-cart-control-embedded.is-filled {
  position: relative;
  width: 100%;
  min-height: 2.5rem;
  overflow: hidden;
}
.product-cart-control-embedded > .product-cart-add,
.product-cart-control-embedded > .product-cart-stepper {
  width: 100%;
  height: 2.5rem !important;
  min-height: 2.5rem !important;
}
.product-cart-control-embedded > .product-cart-stepper,
.product-cart-control-embedded .product-cart-transition-layer .product-cart-stepper {
  grid-template-columns: 2.5rem minmax(0, 1fr) 2.5rem;
}
.product-cart-control-embedded .product-cart-transition-layer,
.product-cart-control-embedded .product-cart-transition-layer > * {
  width: 100%;
  height: 2.5rem !important;
  min-height: 2.5rem !important;
}
#product-main [data-product-page-favorite]:not(.is-active),
#product-main [data-shop-like]:not(.is-active) {
  color: color-mix(in oklab, var(--color-base-content) 40%, transparent) !important;
}
#product-main [data-product-comparison][aria-pressed="true"] { color: var(--color-primary) !important; }
#product-main .product-detail-tabs > .tab {
  height: 3rem !important;
  min-height: 3rem !important;
  font-size: 0.875rem !important;
  line-height: 1.25rem !important;
  font-weight: 700 !important;
  padding-inline: 1.5rem !important;
}

.home-occasion-tile { min-width: 0; aspect-ratio: 16 / 10; }
.home-occasion-copy { max-width: calc(100% - 2rem); }
@media (min-width: 768px) {
  .home-occasion-copy { max-width: calc(100% - 3rem); }
}
.home-occasion-tile figure,
.home-occasion-tile img { width: 100%; height: 100%; object-fit: cover; }

.home-promo-watch-short { display: none; }
.storefront-cart-remove {
  width: 2.5rem !important;
  min-width: 2.5rem !important;
  max-width: 2.5rem !important;
  height: 2.5rem !important;
  min-height: 2.5rem !important;
  max-height: 2.5rem !important;
  flex: 0 0 2.5rem;
  padding: 0 !important;
}
.storefront-cart-remove > svg {
  display: block;
  width: 1.5rem !important;
  height: 1.5rem !important;
}
.storefront-cart-clear {
  width: 2rem !important;
  min-width: 2rem !important;
  max-width: 2rem !important;
  height: 2rem !important;
  min-height: 2rem !important;
  max-height: 2rem !important;
  flex: 0 0 2rem;
  padding: 0 !important;
  background: var(--color-base-100) !important;
  color: color-mix(in oklab, var(--color-base-content) 40%, var(--color-base-100)) !important;
}
.storefront-cart-clear:hover {
  background: var(--color-base-100) !important;
  color: var(--color-error) !important;
}
.storefront-cart-clear > svg {
  display: block;
  width: 1.5rem !important;
  min-width: 1.5rem !important;
  max-width: 1.5rem !important;
  height: 1.5rem !important;
  min-height: 1.5rem !important;
  max-height: 1.5rem !important;
  flex: 0 0 1.5rem;
}

@media (max-width: 767px) {
  .home-promo-watch-long { display: none; }
  .home-promo-watch-short { display: inline; }
  .home-product-name { font-size: 12px !important; }
}

.storefront-notification-item {
  border: 2px solid var(--color-base-300);
  background: var(--color-base-100);
}
.storefront-notification-separator { height: 2px; background: var(--color-base-300); }
.storefront-address-selected { border: 2px solid var(--color-primary) !important; }
#storefront-main-shell.header-search-expanded .storefront-mobile-top { display: none; }
#storefront-main-shell.header-search-expanded .storefront-mobile-search { margin-top: 0; }
.storefront-notification-panel,
.storefront-address-panel,
.storefront-address-form-dialog .storefront-sheet-panel { max-height: calc(100dvh - 2rem); overflow-y: auto; }
@media (min-width: 1280px) {
  .storefront-notification-dialog.modal {
    padding: 0 !important;
  }
  .storefront-address-dialog.modal {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    right: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    max-width: none !important;
    margin: 0 !important;
    place-items: center !important;
    padding: 0 !important;
  }
  .storefront-address-dialog.modal > .storefront-address-panel {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: center;
  }
  .storefront-address-dialog.modal > .modal-backdrop {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    height: 100%;
    align-self: stretch;
    justify-self: stretch;
  }
  .storefront-notification-panel {
    position: fixed !important;
    z-index: 1;
    top: 6.5rem !important;
    right: 1.5rem !important;
    bottom: auto !important;
    left: auto !important;
    width: 25rem;
    height: auto !important;
    max-height: calc(100dvh - 8.5rem);
  }
  .storefront-notification-dialog.storefront-promo-context .storefront-notification-panel { top: 9.5rem !important; }
  .storefront-notification-dialog.storefront-home-context .storefront-notification-panel { top: 5.5rem !important; }
  .storefront-notification-dialog.storefront-home-context.storefront-promo-context .storefront-notification-panel { top: 8.5rem !important; }
  .storefront-address-panel {
    position: relative !important;
    z-index: 1;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(480px, 100vw);
    max-width: 480px !important;
    height: auto;
    max-height: calc(100dvh - 3rem);
    margin: 0 !important;
    transform: none !important;
  }
  .storefront-cart-dialog.modal { padding: 1.5rem !important; }
  #cart-drawer-shell.storefront-cart-dialog .storefront-cart-panel {
    position: fixed !important;
    z-index: 1;
    top: 9.5rem !important;
    right: calc(1.5rem - (100vw - 100%)) !important;
    bottom: auto !important;
    left: auto !important;
    width: min(30rem, calc(100vw - 3rem));
    max-width: 30rem !important;
    max-height: calc(100dvh - 11rem);
    margin: 0 !important;
  }
  #cart-drawer-shell.storefront-cart-dialog.storefront-cart-under-compact-header .storefront-cart-panel {
    top: 6.5rem !important;
    max-height: calc(100dvh - 8rem);
  }
}
.storefront-sheet-panel { transform: translateY(0); }
@media (max-width: 1279px) {
  :is(.storefront-notification-dialog, .storefront-address-dialog, .storefront-info-dialog, .storefront-auth-dialog, .storefront-address-form-dialog, .storefront-cart-dialog).modal { align-items: flex-end !important; padding: 0 !important; }
  .storefront-cart-dialog.modal { padding: 0 !important; }
  :is(.storefront-notification-dialog, .storefront-address-dialog, .storefront-info-dialog, .storefront-auth-dialog, .storefront-address-form-dialog, .storefront-cart-dialog).modal[open] > :not(.modal-backdrop) {
    animation: storefront-sheet-in 200ms ease-out both;
  }
  :is(.storefront-notification-dialog, .storefront-address-dialog, .storefront-info-dialog, .storefront-auth-dialog, .storefront-address-form-dialog, .storefront-cart-dialog).modal.is-closing > :not(.modal-backdrop) {
    animation: storefront-sheet-out 200ms ease-in both;
  }
  :is(.storefront-notification-dialog, .storefront-address-dialog, .storefront-info-dialog, .storefront-auth-dialog, .storefront-address-form-dialog, .storefront-cart-dialog).modal.is-closing::backdrop {
    opacity: 0;
    transition: opacity 200ms ease;
  }
  @keyframes storefront-sheet-in { from { transform: translateY(100%); } to { transform: translateY(0); } }
  @keyframes storefront-sheet-out { from { transform: translateY(0); } to { transform: translateY(100%); } }
  .storefront-mega { padding-inline: 0 !important; }
  .storefront-mega-content { box-sizing: border-box; width: 100%; padding: 1rem !important; }
  .storefront-notification-panel,
.storefront-address-panel { position: static !important; width: 100%; max-width: 100% !important; margin: 0 !important; }
  .storefront-notification-dialog .storefront-notification-panel,
.storefront-address-dialog .storefront-address-panel,
.storefront-auth-dialog .storefront-sheet-panel,
.storefront-address-form-dialog .storefront-sheet-panel,
.storefront-cart-dialog .storefront-cart-panel {
    box-sizing: border-box;
    position: fixed !important;
    right: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 1.5rem !important;
  }
  :is(.storefront-notification-dialog, .storefront-address-dialog, .storefront-info-dialog, .storefront-auth-dialog, .storefront-address-form-dialog, .storefront-cart-dialog).modal > :not(.modal-backdrop) {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-top-left-radius: var(--radius-box) !important;
    border-top-right-radius: var(--radius-box) !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
  }
  #cart-drawer-shell.storefront-cart-dialog .storefront-cart-panel {
    position: fixed !important;
    right: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    height: auto !important;
    max-height: calc(100svh - 24px) !important;
  }
}
@media (max-width: 767px) {
  .storefront-cart-dialog.modal { padding: 0 !important; }
  .storefront-notification-dialog .storefront-notification-panel,
.storefront-address-dialog .storefront-address-panel,
.storefront-auth-dialog .storefront-sheet-panel,
.storefront-address-form-dialog .storefront-sheet-panel,
.storefront-cart-dialog .storefront-cart-panel { padding: 1rem !important; }
  #cart-drawer-shell.storefront-cart-dialog .storefront-cart-panel {
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: auto !important;
    max-height: calc(100svh - 16px) !important;
  }
}
.home-visual-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  height: 2.5rem;
  padding-inline: 1rem;
  border: 0 !important;
  border-radius: var(--radius-field);
  background: var(--color-base-100) !important;
  color: var(--color-base-content) !important;
  font-size: 14px;
  transition: background-color 200ms ease, color 200ms ease;
}
.home-visual-pill:hover,
.home-visual-pill:focus-visible { background: var(--color-base-200) !important; }
.home-hero-media {
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: contain;
  background: var(--color-base-200);
}
.home-hero-stage {
  --home-hero-edge-width: 0rem;
  --home-hero-gap: 0rem;
  --home-hero-main-width: 100%;
  --home-hero-main-start: 0rem;
  box-sizing: border-box;
  width: calc(100% + 2rem);
  min-width: 0;
  max-width: none;
  margin-inline: -1rem;
  overflow: clip;
}
[data-home-hero-instance] { aspect-ratio: auto !important; }
.home-hero-track-viewport {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: auto;
  background: var(--color-base-100);
}
.home-hero-grid {
  display: grid;
  position: relative;
  z-index: 1;
  isolation: isolate;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin-inline: 0;
  overflow: visible;
  pointer-events: none;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto;
  gap: 0;
}
.home-hero-edge-preview {
  position: relative;
  z-index: 3;
  display: none;
  min-width: 0;
  overflow: hidden;
  border-radius: var(--radius-box) !important;
  border-width: 0 !important;
  pointer-events: auto;
}
.home-hero-main { position: relative; z-index: 2; grid-column: 1; grid-row: 1; min-width: 0; pointer-events: none; }
.home-nav-arrow,
.home-hero-dot { pointer-events: auto; }
.home-hero-dot-marker { border-radius: min(var(--radius-selector), 0.125rem); }
@media (max-width: 1279px) {
  .home-hero-stage { width: 100%; margin-inline: 0; }
  .home-hero-track-viewport {
    bottom: auto;
    height: auto;
    overflow: clip;
    border-radius: var(--radius-box);
    aspect-ratio: 1282 / 684;
  }
  .home-hero-grid { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto; gap: 0; }
  .home-hero-main { grid-column: 1; grid-row: 1; aspect-ratio: 1282 / 684; }
  .home-hero-main-controls > [aria-label="Выбор слайда"] {
    position: absolute;
    z-index: 10;
    top: auto;
    right: auto;
    bottom: 1.375rem;
    left: 50%;
    display: flex;
    gap: 0.25rem;
    transform: translateX(-50%);
    translate: none;
  }
  .home-hero-main-controls .home-hero-dot > span { width: 0.75rem; height: 0.75rem; }
}
@media (max-width: 639px) {
  .home-hero-main-controls > [aria-label="Выбор слайда"] {
    right: 1.5rem;
    bottom: 1.1875rem;
    left: auto;
    transform: none;
  }
  .home-hero-main-controls .home-hero-dot > span { width: 0.625rem; height: 0.625rem; }
}
@media (min-width: 640px) and (max-width: 767px) {
  .home-hero-main-controls > [aria-label="Выбор слайда"] { bottom: 0.75rem; }
}
@media (min-width: 640px) and (max-width: 679px) {
  .home-hero-main-controls > [aria-label="Выбор слайда"] { bottom: 4rem; }
}
@media (min-width: 1280px) {
  .home-hero-stage {
    --home-hero-gap: 1rem;
    width: calc(100% + 3rem);
    margin-inline: -1.5rem;
    overflow: hidden;
  }
  .home-hero-grid { display: grid; grid-template-rows: auto; align-items: stretch; gap: var(--home-hero-gap); }
  .home-hero-edge-preview { display: flex; align-items: center; justify-content: center; }
  .home-hero-edge-preview[data-side="prev"] { grid-column: 1; grid-row: 1; }
  .home-hero-main { grid-column: 2; grid-row: 1; aspect-ratio: 1500 / 576 !important; }
  .home-hero-edge-preview[data-side="next"] { grid-row: 1; }
  .home-hero-stage-centered {
    --home-hero-main-width: calc(100% - 10vw - 10vw - 16vw - var(--home-hero-gap) - var(--home-hero-gap) - var(--home-hero-gap));
    --home-hero-edge-width: calc((100% - var(--home-hero-main-width) - var(--home-hero-gap) - var(--home-hero-gap)) / 2);
    --home-hero-main-start: calc((100% - var(--home-hero-main-width)) / 2);
  }
  .home-hero-stage-centered .home-hero-grid { grid-template-columns: var(--home-hero-edge-width) minmax(0, var(--home-hero-main-width)) var(--home-hero-edge-width); }
  .home-hero-stage-centered .home-hero-main { grid-column: 2; }
  .home-hero-stage-centered .home-hero-edge-preview[data-side="next"] { grid-column: 3; }

  .home-hero-stage-centered .home-hero-main-controls > [aria-label="Выбор слайда"] { left: 50%; }
}
#storefront-main-shell.is-scrolled { box-shadow: 0 2px 8px rgb(0 0 0 / 6%) !important; }
.home-collection-banner {
  position: relative;
  height: 10rem !important;
  width: 100%;
  overflow: hidden;
}
.home-collection-banner > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home-collection-banner > div {
  position: relative;
  display: flex;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  gap: 1rem;
  padding: 1rem;
}
.home-collection-banner > div > :first-child { min-width: 0; }
.home-collection-banner > div > :last-child {
  flex: none;
}
.home-collection-banner > div {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
.home-collection-banner > div > :last-child { margin-left: auto; align-self: center; }
.home-collection-banner h2 { margin: 0; line-height: 1.25; }
.home-collection-banner p { margin: 0.5rem 0 0; }
@media (max-width: 639px) {

  .home-collection-banner p { font-size: 0.75rem; }
}

.home-product-media {
  position: relative;
  width: 100%;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-box) !important;
  aspect-ratio: 1 / 1;
}
.home-product-media > a,
.home-product-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-product-media > .badge { position: absolute; top: 0.75rem; left: 0.75rem; }
.home-product-media > .home-favorite-button { position: absolute; }
.home-product-media > .product-cart-control { position: absolute; right: 0.75rem; bottom: 0.75rem; }
.home-favorite-button,
.home-favorite-button:hover,
.home-favorite-button:focus-visible,
.home-favorite-button:active {
  border-color: transparent !important;
  background: transparent !important;
}
.home-favorite-button svg { fill: none; }
.home-favorite-button svg { transform-origin: center; }
.home-favorite-button.is-active { color: var(--color-primary) !important; }
.home-favorite-button.is-active svg { fill: currentColor; }
.home-product-price-row { display: flex; min-width: 0; align-items: center; gap: 0.25rem; }

.home-product-bonus { display: inline-flex; flex: none; align-items: center; gap: 0.25rem; margin-left: 0; }
.home-product-meta { display: flex; width: 100%; align-items: center; justify-content: space-between; }
.home-product-meta .home-product-bonus { margin-left: 0 !important; }
.home-product-meta .home-product-rating { margin-left: auto !important; }
.home-product-name {
  display: -webkit-box;
  min-width: 0;
  flex: 0 0 auto;
  overflow: hidden;
  line-height: 1.25 !important;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
}

.home-product-rating { display: inline-flex; flex: none; align-items: center; gap: 0.25rem; color: var(--color-secondary); white-space: nowrap; }
.home-product-rating > :last-child { color: var(--color-base-content); }
.home-rating-star { display: inline-flex; flex: none; }
.home-rating-star svg { fill: currentColor; }
[data-home-show-more-wrap] { display: flex; justify-content: flex-end; }
[data-home-show-more],
.home-section-action { width: 100% !important; }
.home-product-promo .btn.btn-primary { width: 100%; }

.home-main {
  box-sizing: border-box;
  padding-top: 0 !important;
  padding-inline: 1rem !important;
}
.home-visible-section-header { margin-bottom: 1rem !important; }

.home-main-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 3rem;
  min-width: 0;
  max-width: 100%;
  overflow: visible;
}
.home-main-content > *,
#home-collections > * { margin-block: 0 !important; }
.home-main-content > section.hidden[aria-hidden="true"] { display: none !important; }
#home-collections { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3rem; }
.home-main,
#home-promo,
#home-categories { width: 100%; min-width: 0; max-width: 100%; }
.home-main-content > #home-promo { margin-block-end: 0 !important; }
#home-categories > * { min-width: 0; }

@media (min-width: 1280px) {
  .storefront-desktop-grid.navbar { height: 2.5rem; min-height: 2.5rem; padding-block: 0; }
  .storefront-desktop-grid > a,
  .storefront-desktop-grid > a img,
  .storefront-header-actions,
  .storefront-header-actions { height: 2.5rem; }
  .storefront-desktop-grid .storefront-header-cart-slot { height: 2.5rem; }
  #header-mega.hidden { display: none !important; }
  .home-main { padding-top: 0 !important; padding-inline: 1.5rem !important; }
  .home-main-content,
  #home-collections { gap: 3rem; }
  .home-visible-section-header { margin-bottom: 1.5rem !important; }
  .home-main-content > #home-promo { margin-block-end: 0 !important; }
  .home-product-media > .badge { top: 1rem !important; left: 1rem !important; }

}
.storefront-header-actions .btn {
  transition: background-color 200ms ease, color 200ms ease;
}
#storefront-main-shell.header-search-expanded [data-header-mega-nav] {
  z-index: auto !important;
  pointer-events: none;
}
.storefront-mega-content .menu :where(a, button) {
  padding-block: 0.5rem;
}
.storefront-mega-content [data-catalog-section] {
  min-height: 3rem;
  padding: 0.5rem 1rem;
  font-size: 16px;
  line-height: 20px;
}
.storefront-header-promos {
  grid-template-columns: 24rem minmax(0, 1fr);
  gap: 1rem;
  width: calc(100vw - 3rem);
  min-width: 0;
  margin-inline: 0;
  margin-left: 1.5rem;
  background: var(--color-base-100);
}
@media (min-width: 1600px) {
  .storefront-header-promos { grid-template-columns: 28rem minmax(0, 1fr); }
}
.storefront-promo-unique,
.storefront-promo-express {
  display: flex;
  min-width: 0;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 0 0 var(--radius-box) var(--radius-box) !important;
  overflow: hidden;
  text-align: center;
}
.storefront-promo-express { padding-right: 2.5rem; }
.storefront-promo-unique {
  background-color: var(--color-primary) !important;
  color: var(--color-primary-content) !important;
}
.storefront-promo-express {
  background-color: var(--color-warning) !important;
  color: var(--color-warning-content) !important;
}
.storefront-address-card { background: var(--color-base-100) !important; }
.mobile-catalog-tile { aspect-ratio: 1 / 1.12; }
.mobile-catalog-tile-overlay { background: linear-gradient(180deg, color-mix(in oklab, var(--color-base-content) 62%, transparent), transparent 58%); }
.mobile-navigation-track {
  transition: transform 200ms ease;
}
.mobile-navigation-track[data-section="catalog"] { transform: translateX(0); }
.mobile-navigation-track[data-section="occasions"] { transform: translateX(-50%); }

.storefront-cart-panel {
  display: flex;
  box-sizing: border-box;
  padding: 1rem !important;
  max-height: calc(100dvh - 2rem);
  flex-direction: column;
  overflow: hidden;
}
@media (min-width: 768px) {
  #cart-drawer-shell .storefront-cart-panel { padding: 1.5rem !important; }
}
#cart-drawer-content { display: flex; min-height: 0; flex: 1; flex-direction: column; overflow: hidden; }
.storefront-cart-layout { display: flex; min-height: 0; height: 100%; flex: 1; flex-direction: column; overflow: hidden; }
.storefront-cart-scroll { min-height: 0; flex: 1; overflow-y: auto; overscroll-behavior: contain; padding-right: 0; }
.storefront-cart-products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
[data-empty-cart-recommendations] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 768px) and (max-width: 1279px) {
  [data-empty-cart-recommendations] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 640px) {
  .storefront-cart-products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.home-shelf-actions .btn {
  height: 2.5rem !important;
  min-height: 2.5rem !important;
  max-height: 2.5rem !important;
  background: var(--color-base-200) !important;
  color: color-mix(in oklab, var(--color-base-content) 60%, transparent) !important;
}
.home-shelf-actions .btn:hover,
.home-shelf-actions .btn:focus-visible,
.home-shelf-actions .btn:active { background: var(--color-base-300) !important; }
.home-shelf-actions [data-home-shelf-favorite].is-active > svg { color: var(--color-primary) !important; }

@media (max-width: 767px) {
  .storefront-cart-panel { height: auto !important; max-height: calc(100svh - 16px) !important; }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-navigation-track,
  :is(.storefront-notification-dialog, .storefront-address-dialog, .storefront-info-dialog, .storefront-auth-dialog, .storefront-address-form-dialog, .storefront-cart-dialog).modal[open] > :not(.modal-backdrop),
  :is(.storefront-notification-dialog, .storefront-address-dialog, .storefront-info-dialog, .storefront-auth-dialog, .storefront-address-form-dialog, .storefront-cart-dialog).modal.is-closing > :not(.modal-backdrop) { transition: none !important; animation: none !important; }
}

/* Четвёртый релиз: переносимые полки и настоящий track hero. */
.home-product-wrap-grid {
  display: grid;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  overflow: visible;
}
.home-product-wrap-grid > * { min-width: 0; }
.home-product-wrap-grid .home-product-promo { align-self: stretch; height: 100%; }

.home-hero-track {
  --home-hero-slide-basis: 100%;
  --home-hero-step: 100%;
  --home-hero-offset: 0%;
  display: flex;
  height: 100%;
  gap: 0;
  transform: translateX(0);
}

.home-hero-track-slide {
  position: relative;
  inset: auto;
  flex: 0 0 var(--home-hero-slide-basis);
  width: auto;
  height: 100%;
  visibility: visible;
  pointer-events: auto;
  transform: none;
  transition: none;
}
.home-hero-track-slide .home-hero-media { object-fit: contain; }
.home-hero-slot-track {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  transform: none !important;
}
.home-hero-slot {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  clip-path: inset(0);
  transition: left 600ms ease-in-out, clip-path 600ms ease-in-out;
}
.home-hero-slot-no-transition { transition: none !important; }
.home-hero-slot > a { overflow: hidden; border-radius: var(--radius-box); }
.home-hero-slot-far-prev { z-index: 0; left: -200%; }
.home-hero-slot-prev { left: -100%; }
.home-hero-slot-active { left: 0; }
.home-hero-slot-next { left: 100%; }
.home-hero-slot-far-next { z-index: 0; left: 200%; }
.home-hero-slot-exit-prev { z-index: 0; left: -300%; }
.home-hero-slot-exit-next { z-index: 0; left: 300%; }
.home-hero-slot-prev,
.home-hero-slot-active,
.home-hero-slot-next { z-index: 1; }
.home-hero-position-0 { transform: translateX(var(--home-hero-offset)); }
.home-hero-position-1 { transform: translateX(calc(var(--home-hero-offset) - var(--home-hero-step))); }
.home-hero-position-2 { transform: translateX(calc(var(--home-hero-offset) - var(--home-hero-step) - var(--home-hero-step))); }
.home-hero-position-3 { transform: translateX(calc(var(--home-hero-offset) - var(--home-hero-step) - var(--home-hero-step) - var(--home-hero-step))); }
.home-hero-position-4 { transform: translateX(calc(var(--home-hero-offset) - var(--home-hero-step) - var(--home-hero-step) - var(--home-hero-step) - var(--home-hero-step))); }
.home-hero-position-5 { transform: translateX(calc(var(--home-hero-offset) - var(--home-hero-step) - var(--home-hero-step) - var(--home-hero-step) - var(--home-hero-step) - var(--home-hero-step))); }
.home-hero-position-6 { transform: translateX(calc(var(--home-hero-offset) - var(--home-hero-step) - var(--home-hero-step) - var(--home-hero-step) - var(--home-hero-step) - var(--home-hero-step) - var(--home-hero-step))); }
.home-hero-centered-column-mask { display: none; }
.product-cart-control { min-width: 0; max-width: 100%; }
.product-cart-control-compact {
  position: absolute;
  right: 0.5rem;
  bottom: 0.5rem;
  z-index: 3;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  overflow: hidden;
  border-radius: var(--radius-field) !important;
  background: transparent;
}
.product-cart-control-compact.is-filled {
  left: auto;
  width: calc(100% - 1rem);
}
.product-cart-control-compact.is-empty { left: auto; width: 2.5rem; }
.product-cart-control-compact .product-cart-add {
  width: 2.5rem;
  min-width: 2.5rem;
  height: 2.5rem;
  min-height: 2.5rem;
  margin: 0;
  padding: 0;
  border-color: var(--color-primary) !important;
  background: var(--color-primary) !important;
  color: var(--color-primary-content) !important;
}
/* Layered toggle clips the moving plus within its fixed button bounds. */
.product-cart-control-compact .storefront-extra-toggle {
  position: relative;
  overflow: hidden;
  border: 0;
  background: var(--color-primary) !important;
  color: var(--color-primary-content) !important;
}
.storefront-extra-toggle > span {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  border-radius: inherit;
  pointer-events: none;
}
.storefront-extra-remove { opacity: 0; transition: opacity 180ms ease; }
.storefront-extra-toggle[aria-pressed="true"] { background: var(--color-base-200) !important; color: var(--color-base-content) !important; }
.storefront-extra-toggle[aria-pressed="true"] .storefront-extra-remove { opacity: 1; }
.storefront-extra-plus-icon {
  color: var(--color-primary-content);
  transform: none;
  transition: transform 250ms ease;
}
.storefront-extra-toggle[aria-pressed="true"] .storefront-extra-plus-icon { transform: translateX(40px); }
@media (prefers-reduced-motion: reduce) {
  .storefront-extra-remove, .storefront-extra-plus-icon { transition: none; }
}
#checkout-extras-dialog .home-product-content { padding: 0.5rem !important; }
#checkout-extras-dialog #checkout-extras-title { font-size: 20px !important; line-height: 24px; font-weight: 700; }
#checkout-extras-dialog #checkout-extras-subtitle { font-size: 14px; line-height: 20px; overflow-wrap: anywhere; }
.checkout-extras { min-height: 3rem; }
@media (max-width: 639px) {
  .checkout-page .checkout-destination-favorite > input { order: -1; }
}
@media (max-width: 360px) {
  .checkout-page .checkout-product .checkout-extras { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.checkout-extras-hint { margin-inline-start: 0.25rem; }
.checkout-page .checkout-product-name { font-size: 16px !important; line-height: 1.2; }
.checkout-extras > .relative { display: flex; }
.checkout-extras > .relative > .tooltip { display: flex; }
/* Keep the 48px thumbnail in flow; only the remove affordance fades over it. */
.checkout-extra-remove {
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0;
  cursor: pointer;
}
.checkout-extra-remove-overlay {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  border-radius: inherit;
  background: var(--color-base-200);
  color: var(--color-base-content);
  opacity: 0;
  transition: opacity 180ms ease;
  pointer-events: none;
}
.checkout-extra-remove:is(:hover, :focus-visible) .checkout-extra-remove-overlay { opacity: 1; }
.checkout-extra-remove-overlay > svg { width: 1.25rem; height: 1.25rem; stroke-width: 2px; }
.checkout-extra-remove-overlay > svg > path { vector-effect: non-scaling-stroke; stroke-linecap: butt; }
.checkout-extras > button > svg > path { stroke-width: 2px; vector-effect: non-scaling-stroke; }
@media (hover: none) {
  .checkout-extra-remove-overlay { opacity: 1; background: transparent; }
  .checkout-extra-remove-overlay > svg {
    box-sizing: content-box;
    padding: 0.25rem;
    border-radius: var(--radius-field);
    background: var(--color-base-200);
  }
}
@media (prefers-reduced-motion: reduce) {
  .checkout-extra-remove-overlay { transition: none; }
}
@media (max-width: 767px) and (hover: none) {
  .checkout-extra-remove-overlay > svg {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 16px;
    height: 16px;
    padding: 2px;
    border-radius: 4px;
    background: var(--color-base-100);
  }
}
/* Дополнение добавлено: кнопка-крестик серая, как степпер количества. */
.product-cart-control-compact .product-cart-add[aria-pressed="true"] {
  border-color: transparent !important;
  background: var(--color-base-200) !important;
  color: var(--color-base-content) !important;
}
.product-cart-control-compact .product-cart-add[aria-pressed="true"]:hover,
.product-cart-control-compact .product-cart-add[aria-pressed="true"]:focus-visible { background: var(--color-base-300) !important; }
.product-cart-control-compact .product-cart-stepper {
  display: grid;
  box-sizing: border-box;
  width: 100%;
  height: 2.5rem;
  margin: 0;
  padding: 0.25rem !important;
  grid-template-columns: 2rem minmax(0, 1fr) 2rem;
  align-items: center;
  overflow: hidden;
  border-radius: var(--radius-field);
  background: var(--color-base-100) !important;
  color: var(--color-base-content) !important;
}
.product-cart-control-compact .product-cart-stepper .btn {
  width: 2rem !important;
  min-width: 2rem !important;
  height: 2rem !important;
  min-height: 2rem !important;
  padding: 0;
  border-color: transparent !important;
  background: var(--color-base-100) !important;
  color: var(--color-base-content) !important;
}
.product-cart-control-compact .product-cart-add > svg { width: 1.25rem; height: 1.25rem; }
.product-cart-control-compact [data-cart-qty] { min-width: 0; padding-inline: 0; color: var(--color-base-content) !important; font-size: 0.875rem; line-height: 1.25rem; }
.product-cart-control-static {
  position: absolute;
  right: 0.75rem;
  bottom: 0.75rem;
  z-index: 3;
  width: 4rem;
  height: 4rem;
  overflow: hidden;
  border-radius: var(--radius-field);
}
.product-cart-control-static.is-filled { left: auto; width: calc(100% - 1.5rem); }
.product-cart-control-static.is-empty { left: auto; width: 4rem; }
.product-cart-control-static .product-cart-add {
  width: 4rem;
  min-width: 4rem;
  height: 4rem;
  min-height: 4rem;
  padding: 0;
}
.product-cart-control-static .product-cart-stepper {
  display: grid;
  width: 100%;
  height: 4rem;
  grid-template-columns: 3rem minmax(0, 1fr) 3rem;
  align-items: center;
  overflow: hidden;
  border-radius: var(--radius-field);
  background: var(--color-base-100) !important;
  color: var(--color-base-content) !important;
}
.product-cart-control-static .product-cart-stepper .btn {
  width: 3rem;
  min-width: 3rem;
  height: 4rem;
  min-height: 4rem;
  padding: 0;
  border-color: transparent !important;
  background: var(--color-base-100) !important;
  color: var(--color-base-content) !important;
}
.product-cart-control-static [data-cart-qty] { min-width: 0; padding-inline: 0.25rem; color: var(--color-base-content) !important; }
.product-cart-stepper [data-cart-qty] { font-size: 0.875rem !important; line-height: 1.25rem !important; font-weight: 700 !important; }
.product-cart-transition-layer {
  position: absolute;
  inset: 0;
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
}
.product-cart-transition-layer .product-cart-add { margin-left: auto; }
.product-cart-reveal-layer { overflow: clip; border-radius: var(--radius-field); }
.product-cart-transition-exit { z-index: 2; }
.product-cart-transition-enter { z-index: 1; }
.product-cart-control [data-cart-qty],
.product-cart-control > span { min-width: 1.5rem; text-align: center; }

.home-banner-cta {
  width: auto !important;
  min-width: 0;
  flex: none;
}
.home-care-pair { width: 100%; min-width: 0; align-items: stretch; }
.home-care-pair > * { width: 100%; min-width: 0; }
.home-care-banner { position: relative; display: block; height: 10rem; overflow: hidden; border-radius: var(--radius-box); }
.home-care-banner > figure { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; }
.home-care-banner > figure img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-care-banner > div {
  display: flex;
  flex-direction: row !important;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.home-care-banner > div > :first-child { min-width: 0; }
.home-care-banner > div > .btn { flex: none; width: auto; margin-left: auto; }
.home-banner-link-layer { z-index: 1; }
.home-banner-content { z-index: 2; pointer-events: none; }
.home-promo-code-banner figure img { transform: scaleX(-1); }
.home-promo-code-banner .home-promo-code-actions { display: flex; flex: none; width: auto; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 0.5rem; margin-left: auto; }
.home-promo-code-banner .home-promo-code-actions .btn { flex: none; width: auto; }
.home-promo-code-banner .home-promo-code-actions button { position: relative; z-index: 3; pointer-events: auto; }
.home-product-name { font-size: 0.875rem; line-height: 1.25; }
#toast-stack {
  position: fixed;
  inset-inline-start: 50% !important;
  inset-inline-end: auto !important;
  left: 50% !important;
  right: auto !important;
  bottom: 5.5rem;
  width: min(calc(100vw - 2rem), 32rem);
  max-width: calc(100vw - 2rem);
  transform: translateX(-50%);
}
#toast-stack .alert {
  width: 100%;
  min-width: 0;
  border: 2px solid var(--color-base-300) !important;
  background: var(--color-base-100) !important;
  color: var(--color-base-content) !important;
}
.storefront-header-actions [data-cart-control] {
  width: max-content;
  min-width: 9rem;
  justify-self: end;
  overflow: hidden;
  white-space: nowrap;
  flex: none;
}
.storefront-header-actions {
  display: grid;
  width: max-content;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  align-items: center;
  justify-content: end;
  justify-self: end;
  gap: 0 !important;
}
.storefront-header-stable-actions {
  display: grid;
  min-width: 0;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  align-items: center;
  gap: 1rem !important;
}
.storefront-header-stable-actions > :where(a, button):not(.storefront-header-address),
.storefront-header-stable-actions > [data-profile-control],
.storefront-header-stable-actions > [data-profile-control] > button {
  min-width: 3rem;
}
.storefront-header-stable-actions > :where(a, button):not(.storefront-header-address) {
  width: 3rem;
}
.storefront-header-stable-actions > [data-auth-private].hidden { display: none !important; }
.storefront-header-cart-slot {
  display: flex;
  width: auto;
  min-width: 9rem;
  margin-left: 1rem;
  height: 3rem;
  overflow: visible;
  align-items: center;
  justify-content: flex-end;
}

.mobile-catalog-screen-track[data-screen="list"] { transform: translateX(0); }
.mobile-catalog-screen-track[data-screen="details"] { transform: translateX(-50%); }
@media (min-width: 1280px) {
  .storefront-header-layer-root { position: sticky !important; z-index: 40; top: 0; }
  .storefront-mega {
    position: absolute !important;
    max-height: calc(100dvh - 8rem) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    pointer-events: auto;
  }
  .storefront-mega-content {
    border-start-start-radius: var(--radius-box) !important;
  }
  .mega-promo-rail { position: sticky; top: 0; }
  .mega-desktop-layout { display: grid; }

  .mega-l3-grid { display: grid; }
}
.storefront-mega-content {
  border: 0 !important;
  outline: 0 !important;
  background: var(--color-base-100);
  --tw-ring-shadow: 0 0 #0000;
}
.storefront-mega-content [data-catalog-level-two] {
  display: flex;
  width: 100%;
  min-height: 3rem;
  align-items: center;
  gap: 0.75rem;
  appearance: none;
  border: 0;
  border-radius: var(--radius-field);
  background: var(--color-base-100);
}
.storefront-mega-content [data-catalog-level-two]:hover,
.storefront-mega-content [data-catalog-level-two]:focus-visible,
.storefront-mega-content [data-catalog-level-two].menu-active {
  background: var(--color-base-200);
}
.storefront-mega-content [data-catalog-level-two] img {
  width: 3rem;
  min-width: 3rem;
  height: 3rem;
  object-fit: cover;
}
.mega-l3-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; align-self: start; grid-auto-rows: auto; }
.mega-l3-tile { position: relative; min-width: 0; min-height: 0; overflow: hidden !important; }
.mega-l3-tile > img { position: absolute; inset: 0; }
.mega-l3-tile > .mega-l3-label {
  position: absolute;
  inset-inline: 0;
  top: 0;
  display: -webkit-box;
  overflow: hidden;
  padding: 0.75rem;
  line-height: 1.25;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  font-size: 14px;
  line-height: 18px;
  font-weight: 600;
  color: var(--color-base-content);
  text-shadow: none;
}
.product-cart-transition-cart-enter { z-index: 3; }

@media (min-width: 768px) and (max-width: 1279px) {
  .storefront-mega-content {
    --mega-l3-size: 11rem;
  }
  .mega-l3-grid {
    grid-template-columns: repeat(4, minmax(0, var(--mega-l3-size)));
    grid-auto-rows: var(--mega-l3-size);
  }

  .mega-l3-action { width: var(--mega-l3-size); }
}

.mobile-catalog-screen-track { transition: transform 200ms ease; }
.mobile-navigation-track,
.mobile-catalog-screen-track { display: flex !important; width: 200%; }
.mobile-navigation-track > section { box-sizing: content-box; width: calc(50% - 2rem); min-width: 0; flex: 0 0 calc(50% - 2rem); }
.mobile-catalog-screen-track > section { box-sizing: border-box; width: 50%; min-width: 0; flex: 0 0 50%; }
.storefront-mega.fixed :where(h1, h2, h3) { font-size: 1.125rem; line-height: 1.5rem; }
.mobile-catalog-l2-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; align-items: start; grid-auto-rows: auto; }
.mobile-catalog-l2 { display: block; width: 100%; height: auto !important; min-height: 0; aspect-ratio: 1 / 1; align-self: start; }
@media (min-width: 640px) and (max-width: 1279px) {
  .mobile-catalog-l2-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1280px) {
  .storefront-mega { overflow: visible !important; }
  .storefront-mega { background: transparent !important; }
  .storefront-mega-content {
    position: relative;
    z-index: 1;
    min-height: 0;
    max-height: calc(100dvh - 9rem);
    border-radius: var(--radius-box) !important;
  }

  .mega-panel-size-stack { position: relative; min-height: 0; }
  .mega-panel-size-reference { visibility: hidden; pointer-events: none; }
  .mega-panel-active-pane { position: absolute; inset: 0; min-height: 0; overflow: hidden; }
  .mega-panel-active-pane > .mega-desktop-layout { height: 100%; max-height: none; }
  .mega-occasions-groups { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }

  .mega-desktop-layout { max-height: calc(100dvh - 12rem); align-items: stretch; }

  .mega-catalog-sidebar {
    scrollbar-gutter: stable;
    overscroll-behavior-x: contain;
    overscroll-behavior-y: auto;
  }
  .mega-catalog-content {
    overscroll-behavior: contain;
  }
  .mega-catalog-content[data-expanded="false"] { overflow-y: clip; }
  .mega-catalog-content[data-expanded="true"] { max-height: calc(100dvh - 13rem); }

  .mega-promo-rail { overflow: hidden; align-self: stretch; }
  .storefront-mega-content .mega-catalog-l2 {
    padding-block: 0 !important;
    padding-right: 1rem !important;
    font-size: 1rem;
    line-height: 1.25rem;
  }

  .mega-catalog-l2-chevron { display: inline-flex; flex: none; opacity: 0; }

}
@media (prefers-reduced-motion: reduce) {
  .mobile-catalog-screen-track,
  .mobile-navigation-shell,
  .mobile-navigation-tabs { transition: none !important; }
}
@media (min-width: 1280px) {
  .home-product-name { font-size: 0.875rem; }
  #toast-stack { bottom: 1rem; }
}

@media (max-width: 639px) {
  .home-product-section-header h2 { font-size: 1.25rem; line-height: 1.75rem; }

  .home-collection-banner h2,
  .home-care-banner h2 { font-size: 1rem !important; line-height: 1.25rem !important; }
}

/* Storefront mega refinement: aligned navigation, quiet scrolling and responsive sheets. */
@media (min-width: 1280px) {

  .mega-catalog-sidebar {
    box-sizing: border-box;
    margin-left: 0;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  .mega-catalog-sidebar .menu,
  .mega-catalog-sidebar .menu > li,
  .storefront-mega-content .mega-catalog-l2 { box-sizing: border-box; width: 100% !important; max-width: 100%; padding-inline: 1rem !important; }
  .storefront-mega-content .mega-catalog-sidebar :where(ul, li) {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .storefront-mega-content .mega-catalog-sidebar li { display: block !important; }
  .storefront-mega-content .mega-catalog-sidebar > ul.menu,
  .storefront-mega-content .mega-catalog-sidebar > ul.menu > li {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
  }
  .storefront-mega-content .mega-catalog-sidebar > ul.menu > li { display: block !important; }
  .storefront-mega-content .mega-catalog-sidebar .mega-catalog-l2 {
    width: 100% !important;
    gap: 1rem !important;
    padding-left: 0 !important;
    padding-right: 1rem !important;
    white-space: normal !important;
  }
  .storefront-mega-content .mega-catalog-l2 { gap: 1rem; }
  .mega-catalog-l2:hover .mega-catalog-l2-chevron,
  .mega-catalog-l2:focus-visible .mega-catalog-l2-chevron,
  .mega-catalog-l2.is-pointer-selected .mega-catalog-l2-chevron { opacity: 1; }
  .mega-catalog-content[data-expanded="false"] { max-height: none !important; overflow: hidden !important; }
  .mega-catalog-content[data-expanded="true"] { overflow-y: auto !important; }
  .mega-promo-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }
  .mega-promo-card { min-height: 0; aspect-ratio: auto; }
}

@media (max-width: 1279px) {
  .mobile-catalog-search { box-sizing: border-box; width: 100%; min-width: 0; }
  .mobile-catalog-search > [data-mobile-catalog-search] { width: 100%; min-width: 0; flex: 1 1 100%; }
  .mobile-catalog-screen-track .mega-l3-tile { border-radius: var(--radius-box) !important; }
  .mobile-catalog-screen-track .mega-l3-tile { overflow: hidden !important; }
  #storefront-main-shell { position: static !important; top: auto !important; }

  .storefront-mobile-search {
    position: relative !important;
    inset: auto !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }
  .storefront-mobile-search.is-mobile-search-pinned {
    position: fixed !important;
    z-index: 60;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    box-sizing: border-box;
    margin-top: 0 !important;
    padding: 1rem !important;
    border-radius: 0 0 var(--radius-box) var(--radius-box) !important;
    background: var(--color-primary) !important;
  }
  .storefront-mobile-bottom-nav {
    border-radius: var(--radius-box) var(--radius-box) 0 0 !important;
    background: var(--color-base-100) !important;
  }
  .storefront-mobile-bottom-nav .dock-active { color: var(--color-primary) !important; }
  .mobile-navigation-shell {
    display: block !important;
    transform: translateX(100%);
    transition: transform 300ms cubic-bezier(.22,1,.36,1);
  }
  .mobile-navigation-shell.is-mobile-navigation-open { transform: translateX(0); }
  .mobile-navigation-track > section { padding-bottom: 1rem !important; }
  .mobile-navigation-track,
  .mobile-catalog-screen-track {
    align-items: flex-start;
    transition: transform 200ms ease;
  }
  .mobile-navigation-track > section,
  .mobile-catalog-screen-track > section { align-self: flex-start; }
  .mobile-navigation-track > section[aria-hidden="true"],
  .mobile-catalog-screen-track > section[aria-hidden="true"] {
    height: 0 !important;
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow: hidden !important;
  }
  .mega-catalog-content > :first-child {
    display: flex !important;
    min-height: 2.5rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0 !important;
  }
  .mega-catalog-content > :first-child > h2 { margin: 0 !important; }
  .mega-catalog-content > :first-child > .mega-l3-action {
    display: inline-flex;
    height: 2.5rem;
    min-height: 2.5rem;
    align-items: center;
    justify-content: center;
  }
  .mobile-catalog-screen-track .mega-catalog-content > button,
  .mobile-navigation-track [onclick^="toggleNavigationMore"],
  .home-main .home-section-action { width: 100%; }
}

@media (max-width: 1279px) {
  :is(.storefront-notification-dialog, .storefront-address-dialog, .storefront-info-dialog, .storefront-auth-dialog, .storefront-address-form-dialog, .storefront-cart-dialog).modal[open] > :not(.modal-backdrop) { animation-duration: 300ms !important; animation-timing-function: cubic-bezier(.22,1,.36,1) !important; }
  :is(.storefront-notification-dialog, .storefront-address-dialog, .storefront-info-dialog, .storefront-auth-dialog, .storefront-address-form-dialog, .storefront-cart-dialog).modal.is-closing > :not(.modal-backdrop) { animation-duration: 300ms !important; animation-timing-function: cubic-bezier(.4,0,.2,1) !important; }
  :is(.storefront-notification-dialog, .storefront-address-dialog, .storefront-info-dialog, .storefront-auth-dialog, .storefront-address-form-dialog, .storefront-cart-dialog).modal.is-closing::backdrop { transition-duration: 300ms !important; }
}

@media (min-width: 768px) {
  .home-product-wrap-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1280px) {
  .home-product-wrap-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .home-hero-slot { width: var(--home-hero-main-width); }
  .home-hero-slot-far-prev { left: calc(var(--home-hero-main-start) - var(--home-hero-main-width) - var(--home-hero-main-width)); }
  .home-hero-slot-prev { left: calc(var(--home-hero-main-start) - var(--home-hero-main-width)); }
  .home-hero-slot-active { left: var(--home-hero-main-start); }
  .home-hero-slot-next { left: calc(var(--home-hero-main-start) + var(--home-hero-main-width)); }
  .home-hero-slot-far-next { left: calc(100% - var(--home-hero-edge-width)); }
  .home-hero-slot-exit-prev { left: calc(var(--home-hero-main-start) - var(--home-hero-main-width) - var(--home-hero-main-width) - var(--home-hero-main-width)); }
  .home-hero-slot-exit-next { left: calc(100% - var(--home-hero-edge-width) + var(--home-hero-main-width)); }
  .home-hero-slot-far-next { z-index: 2; }
  .home-hero-slot-exit-prev,
  .home-hero-slot-exit-next { z-index: 3; }
  .home-hero-stage-centered .home-hero-slot-far-prev { left: calc(var(--home-hero-main-start) - var(--home-hero-main-width) - var(--home-hero-main-width)); }
  .home-hero-stage-centered .home-hero-slot-prev { left: calc(var(--home-hero-main-start) - var(--home-hero-main-width)); }
  .home-hero-stage-centered .home-hero-slot-active { left: var(--home-hero-main-start); }
  .home-hero-stage-centered .home-hero-slot-next { left: calc(var(--home-hero-main-start) + var(--home-hero-main-width)); }
  .home-hero-stage-centered .home-hero-slot-far-next { left: calc(var(--home-hero-main-start) + var(--home-hero-main-width) + var(--home-hero-main-width)); }
  .home-hero-stage-centered .home-hero-slot-exit-prev { left: calc(var(--home-hero-main-start) - var(--home-hero-main-width) - var(--home-hero-main-width) - var(--home-hero-main-width)); }
  .home-hero-stage-centered .home-hero-slot-exit-next { left: calc(var(--home-hero-main-start) + var(--home-hero-main-width) + var(--home-hero-main-width) + var(--home-hero-main-width)); }
  .home-nav-arrow { display: none; }
  .home-hero-centered-column-mask {
    position: absolute;
    z-index: 9;
    top: 0;
    bottom: 0;
    display: block;
    width: var(--home-hero-gap);
    background: var(--color-base-100);
    pointer-events: none;
  }
  .home-hero-centered-column-mask-left { left: calc(-1 * var(--home-hero-gap)); }
  .home-hero-centered-column-mask-right { right: calc(-1 * var(--home-hero-gap)); }
  .home-hero-main-column-corner {
    position: absolute;
    width: var(--radius-box);
    height: var(--radius-box);
    pointer-events: none;
  }
  .home-hero-main-column-corner-top-left {
    top: 0;
    left: calc(-1 * var(--radius-box));
    background: radial-gradient(circle at bottom left, transparent calc(var(--radius-box) - 1px), var(--color-base-100) var(--radius-box));
  }
  .home-hero-main-column-corner-bottom-left {
    bottom: 0;
    left: calc(-1 * var(--radius-box));
    background: radial-gradient(circle at top left, transparent calc(var(--radius-box) - 1px), var(--color-base-100) var(--radius-box));
  }
  .home-hero-main-column-corner-top-right {
    top: 0;
    right: calc(-1 * var(--radius-box));
    background: radial-gradient(circle at bottom right, transparent calc(var(--radius-box) - 1px), var(--color-base-100) var(--radius-box));
  }
  .home-hero-main-column-corner-bottom-right {
    right: calc(-1 * var(--radius-box));
    bottom: 0;
    background: radial-gradient(circle at top right, transparent calc(var(--radius-box) - 1px), var(--color-base-100) var(--radius-box));
  }
}

@media (min-width: 1720px) {
  .home-product-wrap-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
}
@media (max-width: 1279px) {
  .home-commercial-shelf {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-columns: auto;
    gap: 1rem;
    overflow: visible;
    overscroll-behavior-inline: auto;
    scroll-snap-type: none;
  }
  .home-product-wrap-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
  .home-commercial-shelf > * { scroll-snap-align: none; }
  .home-collection-section .home-shelf-arrow { display: none !important; }
}

@media (min-width: 1280px) {
  .home-collection-section .home-shelf-arrow { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {

  .home-hero-slot { transition: none !important; }
}

.home-product-promo { align-self: stretch; height: 100%; }
.home-product-promo > * { height: 100%; }
.home-shelf-arrow {
  position: absolute;
  z-index: 10;
  top: calc((100vw - 3rem) / 4);
  transform: translateY(-50%);
  border: 0 !important;
}
.home-shelf-arrow:active,
.home-shelf-arrow:active { transform: translateY(-50%) !important; }
.home-shelf-arrow-prev { left: 0.5rem; }
.home-shelf-arrow-next { right: 0.5rem; }

/* Final storefront interaction geometry. */
@media (min-width: 1280px) {
  .storefront-mega {
    width: auto !important;
    padding-inline: 0 !important;
  }
  .storefront-mega-content {
    box-sizing: border-box;
    max-height: calc(100dvh - 7rem);
    padding: 1.5rem !important;
  }
  .mega-desktop-layout {
    --mega-promo-track: clamp(20rem, 26vw, 28rem);
    position: relative;
    grid-template-columns: minmax(0, 2fr) minmax(20rem, 1fr) !important;
    height: 100%;
    min-height: 0;
    gap: 1.5rem !important;
    overflow-x: hidden;
  }

  .mega-catalog-sidebar-shell { min-width: 0; min-height: 0; overflow-x: hidden; }
  .mega-catalog-sidebar {
    width: 16rem !important;
    max-width: 16rem !important;
    min-height: 0 !important;
    padding: 0 1.5rem 0 0 !important;
    overflow-y: auto;
    overflow-x: hidden !important;
  }
  .mega-catalog-content {
    --mega-l3-size: max(11rem, min(14rem, calc((100cqw - 29rem) / 4), calc((100dvh - 22rem) / 4)));
    --mega-grid-width: calc((var(--mega-l3-size) * 4) + 3rem);
    position: relative;
    container-type: normal;
    display: grid;
    align-content: start;
    width: min(var(--mega-grid-width), 100%) !important;
    min-height: 0;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: visible !important;
  }
  .mega-catalog-content > :first-child {
    display: flex !important;
    min-height: 2.5rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: var(--mega-grid-width);
    margin-bottom: 1rem !important;
  }
  .mega-catalog-content > :first-child > h2 { margin: 0 !important; }
  .mega-catalog-content > :first-child > .mega-l3-action {
    display: inline-flex;
    height: 2.5rem;
    min-height: 2.5rem;
    align-items: center;
    justify-content: center;
  }

  .mega-l3-scroll-shell { width: var(--mega-grid-width); min-height: 0; }
  .mega-l3-scroll-shell {
    height: auto;
    max-height: calc((var(--mega-l3-size) * 4) + 3rem);
    align-self: start;
    padding-inline-end: 0;
    box-sizing: border-box;
    overflow: hidden;
  }
  .mega-catalog-content[data-expanded="true"] .mega-l3-scroll-shell {
    max-height: 100%;
    overflow: visible;
  }
  .mega-l3-scrollport {
    width: var(--mega-grid-width);
    max-height: 100%;
    height: auto;
    box-sizing: border-box;
    padding-right: 0;
    overflow: hidden;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
  }
  .mega-catalog-content[data-expanded="true"] .mega-l3-scrollport { overflow-y: auto; }
  .mega-l3-grid {
    width: 100%;
    height: auto;
    grid-template-columns: repeat(4, var(--mega-l3-size)) !important;
    grid-auto-rows: var(--mega-l3-size);
    gap: 1rem !important;
    align-content: start;
    justify-content: start;
  }
  .mega-l3-scrollport .mega-l3-grid { padding-bottom: 0; }
  .mega-l3-tile { border-radius: var(--radius-box) !important; }
  .mega-l3-tile > img { border-radius: 0 !important; }
  .mega-l3-action {
    width: var(--mega-l3-size);
    min-width: 0;
    padding-inline: 2rem !important;
    align-self: start;
    white-space: nowrap;
  }
  .mega-catalog-content > button.mega-l3-action {
    height: 2.5rem;
    min-height: 2.5rem;
    margin-top: 1rem !important;
  }
  .mega-promo-rail {
    container-type: size;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0;
  }
  .mega-promo-grid {
    --mega-promo-size: min(100cqw, calc((100cqh - 1rem) / 2));
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, var(--mega-promo-size)) !important;
    gap: 1rem !important;
    contain: layout paint;
  }
  .mega-promo-grid > :nth-child(n + 3) { display: none !important; }
  .mega-promo-grid > * { min-height: 0; width: var(--mega-promo-size); height: var(--mega-promo-size) !important; aspect-ratio: 1 / 1; }
  .mega-promo-card { overflow: hidden !important; }
  .mega-promo-card > img { display: block; width: 100%; max-width: 100%; height: 100%; object-fit: cover; }
  .mega-weekly-product { overflow: hidden; aspect-ratio: 1 / 1; }
  .mega-weekly-product .home-product-media { width: 100%; height: 100%; aspect-ratio: 1 / 1; }
}
@media (min-width: 1600px) {
  .mega-promo-grid {
    --mega-promo-size: min(calc((100cqw - 1rem) / 2), calc((100cqh - 1rem) / 2));
    grid-template-columns: repeat(2, var(--mega-promo-size)) !important;
    grid-template-rows: repeat(2, var(--mega-promo-size)) !important;
  }
  .mega-promo-grid > :nth-child(n + 3) { display: block !important; }
  .mega-catalog-content {
    --mega-l3-size: max(11rem, min(14rem, calc((100vw - 33rem) / 5), calc((100dvh - 21rem) / 3)));
    --mega-grid-width: calc((var(--mega-l3-size) * 5) + 4rem);
  }
  .mega-l3-grid { grid-template-columns: repeat(5, var(--mega-l3-size)) !important; }
}
@media (min-width: 1920px) {
  .mega-catalog-content {
    --mega-l3-size: max(11rem, min(14rem, calc((100vw - 34rem) / 6), calc((100dvh - 21rem) / 3)));
    --mega-grid-width: calc((var(--mega-l3-size) * 6) + 5rem);
  }
  .mega-l3-grid { grid-template-columns: repeat(6, var(--mega-l3-size)) !important; }
}

/* Tablet/compact desktop mega: three L3 columns and a separate vertical promo rail. */
@media (min-width: 1280px) and (max-width: 1599px) {
  .storefront-mega-content {
    --mega-l3-size: min(clamp(176px, calc(10vw + 48px), 200px), max(96px, calc((100dvh - 304px) / 3)));
    --mega-grid-width: calc((var(--mega-l3-size) * 3) + 2rem);
    --mega-scroll-width: var(--mega-grid-width);
    --mega-promo-track: clamp(15rem, 20vw, 20rem);
    --mega-tablet-panel-height: calc((var(--mega-l3-size) * 3) + 9rem);
    max-height: none;
  }
  .mega-catalog-layout {
    --mega-promo-track: min(clamp(15rem, 20vw, 20rem), calc((var(--mega-tablet-panel-height) - 2rem) / 3));
    grid-template-columns: minmax(16rem, 1fr) var(--mega-scroll-width) var(--mega-promo-track) !important;
    gap: 1.5rem !important;
    height: var(--mega-tablet-panel-height);
    min-height: var(--mega-tablet-panel-height);
    overflow: visible;
  }
  .mega-catalog-sidebar-shell,
  .mega-catalog-sidebar {
    width: 100% !important;
    max-width: none !important;
  }
  .mega-catalog-content {
    --mega-l3-size: inherit;
    --mega-grid-width: inherit;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0;
    max-width: 100%;
    height: 100%;
    min-height: 0;
    padding-inline-end: 0 !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
  }
  .mega-catalog-layout > .mega-catalog-content[data-expanded="true"] { overflow-y: hidden !important; }
  .mega-catalog-layout .mega-catalog-l2 {
    box-sizing: border-box;
    height: 48px;
    min-height: 48px;
    font-size: 14px;
    line-height: 18px;
  }
  .mega-catalog-layout .mega-catalog-content h2 { font-size: 20px !important; line-height: 24px !important; }
  .mega-catalog-layout .mega-l3-label { font-size: 12px; line-height: 16px; }
  .mega-catalog-content > :first-child {
    width: var(--mega-grid-width);
  }
  .mega-l3-scroll-shell,
  .mega-l3-scrollport {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
  }
  .mega-l3-scroll-shell {
    max-height: calc((var(--mega-l3-size) * 3) + 2rem);
    padding-inline-end: 0;
  }
  .mega-l3-scrollport {
    padding-right: 0;
  }
  .mega-catalog-content[data-expanded="true"] .mega-l3-scroll-shell {
    height: calc((var(--mega-l3-size) * 3) + 2rem);
    max-height: calc((var(--mega-l3-size) * 3) + 2rem);
    overflow: hidden;
  }
  .mega-catalog-content[data-expanded="true"] .mega-l3-scrollport {
    height: 100%;
    max-height: 100%;
    overflow-x: hidden !important;
    overflow-y: auto;
  }
  .mega-l3-grid {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-rows: auto;
    gap: 1rem !important;
    overflow-x: hidden;
  }

  .mega-promo-rail {
    container-type: inline-size;
    width: var(--mega-promo-track);
    height: 100% !important;
    min-height: 0 !important;
    align-self: stretch;
    overflow: hidden;
  }
  .mega-promo-grid {
    --mega-promo-size: min(100cqw, calc((var(--mega-tablet-panel-height) - 2rem) / 3));
    width: 100%;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: repeat(3, var(--mega-promo-size)) !important;
    align-content: start;
    gap: 1rem !important;
    contain: layout paint;
  }
  .mega-promo-grid > :nth-child(3) { display: block !important; }
  .mega-promo-grid > :nth-child(n + 4) { display: none !important; }
  .mega-promo-grid > * {
    width: 100%;
    height: auto !important;
    min-width: 0;
    aspect-ratio: 1 / 1;
  }
}

@media (min-width: 1366px) and (max-width: 1599px) {
  .storefront-mega-content {
    --mega-l3-size: min(clamp(160px, calc((100vw - 526px) / 5), 200px), max(96px, calc((100dvh - 304px) / 3)));
    --mega-grid-width: calc((var(--mega-l3-size) * 4) + 3rem);
    --mega-scroll-width: var(--mega-grid-width);
    --mega-tablet-panel-height: calc((var(--mega-l3-size) * 3) + 9rem);
  }
  .mega-catalog-layout .mega-l3-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}

/* Wide desktop keeps a fixed-height two-row catalog and a matching promo rail. */
@media (min-width: 1600px) {
  .mega-catalog-layout {
    --mega-sidebar-track: clamp(16rem, 16vw, 18rem);
    --mega-l3-size: min(clamp(192px, calc(10vw + 32px), 224px), max(96px, calc((100dvh - 288px) / 2)));
    --mega-grid-width: calc((var(--mega-l3-size) * 4) + 3rem);
    --mega-scroll-width: var(--mega-grid-width);
    --mega-wide-panel-height: calc((var(--mega-l3-size) * 2) + 8rem);
    grid-template-columns: minmax(var(--mega-sidebar-track), 1fr) var(--mega-scroll-width) minmax(0, var(--mega-wide-panel-height)) !important;
    gap: 1.5rem !important;
    height: var(--mega-wide-panel-height);
    min-height: var(--mega-wide-panel-height);
    overflow: visible;
  }
  .mega-catalog-layout > .mega-catalog-sidebar-shell,
  .mega-catalog-layout .mega-catalog-sidebar {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
  }
  .mega-catalog-layout .mega-catalog-sidebar .mega-catalog-l2 {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
  }
  .mega-catalog-layout > .mega-catalog-content {
    --mega-l3-size: inherit;
    --mega-grid-width: inherit;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0;
    max-width: 100%;
    height: 100%;
    min-height: 0;
    padding-inline-end: 0 !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
  }
  .mega-catalog-layout > .mega-catalog-content[data-expanded="true"] { overflow-y: hidden !important; }
  .mega-catalog-layout .mega-catalog-content > :first-child { width: var(--mega-grid-width); }
  .mega-catalog-layout .mega-l3-scroll-shell,
  .mega-catalog-layout .mega-l3-scrollport {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
  }
  .mega-catalog-layout .mega-l3-scroll-shell {
    height: calc((var(--mega-l3-size) * 2) + 1rem);
    max-height: calc((var(--mega-l3-size) * 2) + 1rem);
    padding-inline-end: 0;
    overflow: hidden;
  }
  .mega-catalog-layout .mega-l3-scrollport {
    height: 100%;
    max-height: 100%;
    padding-right: 0;
  }
  .mega-catalog-layout .mega-catalog-content[data-expanded="true"] .mega-l3-scroll-shell {
    height: calc((var(--mega-l3-size) * 2) + 1rem);
    max-height: calc((var(--mega-l3-size) * 2) + 1rem);
    overflow: hidden;
  }
  .mega-catalog-layout .mega-catalog-content[data-expanded="true"] .mega-l3-scrollport {
    height: 100%;
    max-height: 100%;
    overflow-x: hidden !important;
    overflow-y: auto;
  }
  .mega-catalog-layout .mega-l3-grid {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-auto-rows: auto;
    gap: 1rem !important;
    overflow-x: hidden;
  }
  .mega-catalog-layout .mega-l3-tile {
    width: 100%;
    height: auto !important;
    aspect-ratio: 1 / 1;
  }
  .mega-catalog-layout .mega-l3-tile > img { width: 100%; height: 100% !important; }

  .mega-catalog-layout > .mega-promo-rail {
    width: 100%;
    height: 100% !important;
    min-height: 0 !important;
  }
}
@media (min-width: 1600px) and (max-width: 1919px) {
  .storefront-mega-content {
    container-type: inline-size;
    max-height: none;
  }
  .mega-catalog-layout {
    --mega-l3-size: calc((100cqw - var(--mega-sidebar-track) - 180px) / 5);
    --mega-grid-width: calc((var(--mega-l3-size) * 4) + 3rem);
    --mega-scroll-width: var(--mega-grid-width);
    --mega-wide-panel-height: calc((var(--mega-l3-size) * 2) + 8rem);
    --mega-compact-promo-track: calc((var(--mega-wide-panel-height) - 1rem) / 2);
    grid-template-columns: var(--mega-sidebar-track) var(--mega-scroll-width) var(--mega-compact-promo-track) !important;
  }

  .mega-catalog-layout > .mega-promo-rail {
    container-type: normal;
    width: 100%;
  }
  .mega-catalog-layout > .mega-promo-rail .mega-promo-grid {
    --mega-promo-size: var(--mega-compact-promo-track);
    width: 100%;
    grid-template-columns: var(--mega-promo-size) !important;
    grid-template-rows: repeat(2, var(--mega-promo-size)) !important;
    gap: 1rem !important;
  }
  .mega-catalog-layout > .mega-promo-rail .mega-promo-grid > :nth-child(n + 3) { display: none !important; }
  .mega-catalog-layout > .mega-promo-rail .mega-promo-grid > * {
    width: var(--mega-promo-size);
    height: var(--mega-promo-size) !important;
  }
}
@media (min-width: 1920px) {
  .mega-catalog-layout {
    --mega-sidebar-track: clamp(18rem, 18vw, 20rem);
    --mega-l3-size: min(clamp(200px, calc(7.5vw + 56px), 224px), max(96px, calc((100dvh - 288px) / 2)));
    --mega-grid-width: calc((var(--mega-l3-size) * 5) + 4rem);
    --mega-scroll-width: var(--mega-grid-width);
    --mega-wide-panel-height: calc((var(--mega-l3-size) * 2) + 8rem);
  }
  .mega-catalog-layout .mega-l3-grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
}
@media (min-width: 1920px) and (max-width: 2099px) {
  .storefront-mega-content {
    container-type: inline-size;
    max-height: none;
  }
  .mega-catalog-layout {
    --mega-l3-size: calc((100cqw - var(--mega-sidebar-track) - 204px) / 6);
    --mega-grid-width: calc((var(--mega-l3-size) * 5) + 4rem);
    --mega-scroll-width: var(--mega-grid-width);
    --mega-wide-panel-height: calc((var(--mega-l3-size) * 2) + 8rem);
    --mega-compact-promo-track: calc((var(--mega-wide-panel-height) - 1rem) / 2);
    grid-template-columns: var(--mega-sidebar-track) var(--mega-scroll-width) var(--mega-compact-promo-track) !important;
  }

  .mega-catalog-layout > .mega-promo-rail {
    container-type: normal;
    width: 100%;
  }
  .mega-catalog-layout > .mega-promo-rail .mega-promo-grid {
    --mega-promo-size: var(--mega-compact-promo-track);
    width: 100%;
    grid-template-columns: var(--mega-promo-size) !important;
    grid-template-rows: repeat(2, var(--mega-promo-size)) !important;
    gap: 1rem !important;
  }
  .mega-catalog-layout > .mega-promo-rail .mega-promo-grid > :nth-child(n + 3) { display: none !important; }
  .mega-catalog-layout > .mega-promo-rail .mega-promo-grid > * {
    width: var(--mega-promo-size);
    height: var(--mega-promo-size) !important;
  }
}
@media (min-width: 2100px) {
  .storefront-mega-content {
    container-type: inline-size;
    max-height: none;
  }
  .mega-catalog-layout > .mega-promo-rail .mega-promo-grid > :nth-child(1) { grid-area: 1 / 1; }
  .mega-catalog-layout > .mega-promo-rail .mega-promo-grid > :nth-child(2) { grid-area: 1 / 2; }
  .mega-catalog-layout > .mega-promo-rail .mega-promo-grid > :nth-child(3) { grid-area: 2 / 2; }
  .mega-catalog-layout > .mega-promo-rail .mega-promo-grid > :nth-child(4) { grid-area: 2 / 1; }
}
@media (min-width: 2100px) and (max-width: 2199px) {
  .storefront-mega-content {
    container-type: inline-size;
    max-height: none;
  }
  .mega-catalog-layout {
    --mega-l3-size: calc((100cqw - var(--mega-sidebar-track) - 280px) / 7);
    --mega-grid-width: calc((var(--mega-l3-size) * 5) + 4rem);
    --mega-scroll-width: var(--mega-grid-width);
    --mega-wide-panel-height: calc((var(--mega-l3-size) * 2) + 8rem);
    grid-template-columns: var(--mega-sidebar-track) var(--mega-scroll-width) var(--mega-wide-panel-height) !important;
  }
  .mega-catalog-layout .mega-l3-grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }

  .mega-catalog-layout > .mega-promo-rail { width: 100%; }
}
@media (min-width: 2200px) {
  .mega-catalog-layout {
    --mega-l3-size: calc((100cqw - var(--mega-sidebar-track) - 304px) / 8);
    --mega-grid-width: calc((var(--mega-l3-size) * 6) + 5rem);
    --mega-scroll-width: var(--mega-grid-width);
    --mega-wide-panel-height: calc((var(--mega-l3-size) * 2) + 8rem);
    grid-template-columns: var(--mega-sidebar-track) var(--mega-scroll-width) var(--mega-wide-panel-height) !important;
  }
  .mega-catalog-layout .mega-l3-grid { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }

  .mega-catalog-layout > .mega-promo-rail { width: 100%; }
}

@media (min-width: 1600px) and (max-height: 760px) {
  .storefront-mega {
    max-height: calc(100dvh - 8rem) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }
  .storefront-mega-content {
    max-height: none !important;
    overflow: hidden !important;
  }
  .mega-catalog-content,
  .mega-l3-scrollport {
    overscroll-behavior-x: contain !important;
    overscroll-behavior-y: auto !important;
  }
}

@media (min-width: 1280px) {
  .storefront-mega-content .mega-catalog-l2 {
    box-sizing: border-box;
  }

  .mega-catalog-l2.menu-active .mega-catalog-l2-chevron { opacity: 1; }
}

@media (max-width: 1279px) {
  /* Оформление заказа на мобильной: без поиска, закреплена только шапка (логотип, адрес, уведомления). */
  .checkout-page .storefront-mobile-search-slot { display: none !important; }
  .checkout-page .storefront-mobile-surface { grid-template-rows: auto !important; row-gap: 0 !important; }
  .checkout-page #storefront-main-shell { position: fixed !important; top: 0; right: 0; left: 0; z-index: 60; }
  body.checkout-page .checkout-main { padding-top: 6.5rem !important; }
  .home-product-card .home-favorite-button svg { width: 1.25rem !important; height: 1.25rem !important; }
  .product-page-favorite-button svg { width: 1.5rem !important; height: 1.5rem !important; }

  .home-product-rating { align-self: flex-start; }
  .storefront-mobile-search-slot { margin-bottom: -1rem; }
  .storefront-mobile-bottom-nav {
    position: fixed !important;
    z-index: 80 !important;
    box-sizing: border-box;
    right: 1rem !important;
    bottom: 0 !important;
    left: 1rem !important;
    width: calc(100% - 2rem) !important;
    height: 4rem !important;
    min-height: 4rem !important;
    padding: 0.5rem !important;
    border: 0 !important;
    box-shadow: 0 -4px 16px color-mix(in oklab, var(--color-base-content) 8%, transparent) !important;
  }
  .storefront-mobile-bottom-nav > :where(a, button) {
    width: 3rem !important;
    min-width: 3rem !important;
    height: 3rem !important;
    min-height: 3rem !important;
  }
  .storefront-mobile-bottom-nav [aria-label^="Корзина"] { position: relative; }
  .storefront-mobile-bottom-nav [aria-label^="Корзина"] svg {
    width: 1.5rem !important;
    min-width: 1.5rem !important;
    height: 1.5rem !important;
    flex: none;
  }
  .storefront-mobile-bottom-nav [aria-label^="Корзина"] [data-cart-count] {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    min-width: 1rem;
    height: 1rem;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    background: var(--color-primary);
    color: var(--color-primary-content);
    font-size: 10px;
    line-height: 1;
  }
  .storefront-classic-footer { padding-bottom: 6rem !important; }
  .home-main .home-section-action,
  #home-occasions-more{ width: 100% !important; }
}

/* Final storefront overrides: keep these after all legacy responsive blocks. */
html,
body { overflow-x: clip; }
.product-cart-control,
.product-cart-transition-layer { overflow: clip !important; }
@media (max-width: 767px) {
  .home-main .home-product-name { font-size: 12px !important; line-height: 1rem !important; }
}
@media (max-width: 1279px) {
  .storefront-mobile-notification { justify-self: end !important; }
}

/* Final corrective storefront overrides. */
.mega-catalog-content h2,
.mega-occasion-heading h2,
.mega-occasion-heading h3,
.mega-occasion-heading-compact h3,
.mega-occasion-group > h3 { font-size: 20px !important; line-height: 24px !important; }
.home-official-banner-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.home-official-banner { display: block; min-width: 0; height: auto; overflow: hidden; }
.home-official-banner picture,
.home-official-banner img { display: block; width: 100%; height: auto; object-fit: contain; }
@media (min-width: 1280px) {
  .home-care-banner { height: auto; min-height: 0; aspect-ratio: 2560 / 360; }
  .home-care-banner > div { padding-block: 12px; }
}
@media (min-width: 1280px) and (max-width: 1535px) {
  .home-care-banner > div { padding-inline: 16px; }
  .home-care-banner h2 { font-size: 16px; line-height: 20px; }
  .home-care-banner p { font-size: 12px; line-height: 16px; }
}
.home-official-rating-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 2fr); }
@media (min-width: 768px) {
  .home-official-rating-row > .home-official-banner:last-child { grid-column: auto; }
}
@media (max-width: 767px) {
  .home-official-banner { width: 100%; }
  .home-official-rating-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-official-rating-row > .home-official-banner:last-child { display: none; }
}

/* Approved storefront composition. */

.home-product-review-count { text-decoration: none !important; }
.home-product-review-number { text-decoration: none; text-decoration-color: var(--color-base-content); text-decoration-thickness: 1px; text-underline-offset: 2px; }
.home-product-rating:hover .home-product-review-number,
.home-product-rating:focus-within .home-product-review-number { text-decoration-line: underline; }

@media (max-width: 767px) {
  .home-product-meta {
    justify-content: center !important;
    gap: 0.5rem !important;
    text-align: center;
  }
  .home-product-meta .home-product-bonus,
  .home-product-meta .home-product-rating {
    align-self: center;
    margin-right: 0 !important;
    margin-left: 0 !important;
    font-size: 12px !important;
  }

  .home-care-banner { height: auto !important; aspect-ratio: 1 / 1; }
  .home-care-banner > figure,
  .home-care-banner > figure img { width: 100%; height: 100%; object-fit: cover; }

}

/* Final responsive storefront details outside the best-seller shelf. */
.home-top-stack {
  display: grid;
  gap: 1.5rem;
}

/* Final home refinements: promo join, article CTA and narrow-screen framing. */

@media (max-width: 767px) {

  .home-collection-banner { height: 6.25rem !important; }
}

#home-charity .home-collection-banner { height: auto !important; }
#home-charity .home-collection-banner picture,
#home-charity .home-collection-banner picture img { display: block; width: 100%; height: auto; object-fit: contain; }

/* Final interactive promo and article controls. */

.home-product-promo .home-promo-watch:hover,
.home-product-promo .home-promo-watch:focus-visible {
  border-color: var(--color-base-200) !important;
  background: var(--color-base-200) !important;
  color: var(--color-base-content) !important;
}

@media (min-width: 1280px) {
  .home-hero-edge-preview {
    padding: 0 !important;
  }
  .home-hero-edge-preview[data-side="prev"] { justify-content: flex-end; }
  .home-hero-edge-preview[data-side="next"] { justify-content: flex-start; }
  .home-hero-edge-preview .home-hero-edge-arrow,
  .home-hero-stage-centered .home-hero-edge-preview .home-hero-edge-arrow {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    transform: none;
  }
}

@media (max-width: 767px) {
  .home-product-promo h3 { font-size: 1rem !important; line-height: 1.25rem !important; }
  .home-product-promo p { font-size: 0.75rem !important; line-height: 1rem !important; }
  .home-product-promo .home-promo-watch {
    display: inline-flex;
    min-height: 2.5rem;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem !important;
    line-height: 1.25rem !important;
  }
}

@media (min-width: 1280px) {
  .home-hero-stage-centered .home-hero-edge-preview {
    z-index: 20;
  }
  .home-hero-stage-centered .home-hero-edge-preview .home-hero-edge-arrow {
    position: absolute;
    z-index: 21;
    top: 50%;
    opacity: 1;
    visibility: visible;
  }
  .home-hero-stage-centered .home-hero-edge-preview[data-side="prev"] .home-hero-edge-arrow {
    right: 40px;
    left: auto;
    transform: translateY(-50%);
  }
  .home-hero-stage-centered .home-hero-edge-preview[data-side="next"] .home-hero-edge-arrow {
    right: auto;
    left: 40px;
    transform: translateY(-50%);
  }
}

/* Restored pre-Stage-3 promo control and product quantity geometry. */
.home-promo-control {
  position: relative;
  z-index: 3;
  display: inline-flex;
  width: max-content;
  min-width: 0;
  max-width: 100%;
  align-items: center;
  gap: 0;
  overflow: hidden;
  border-radius: var(--radius-field);
  background: transparent;
  color: var(--color-primary-content);
  isolation: isolate;
  pointer-events: auto;
}
.home-promo-control::before { content: none !important; }
.home-promo-code,
.home-promo-copy {
  display: flex;
  align-items: center;
  justify-content: center;
  border-color: var(--color-base-100) !important;
  background: var(--color-base-100) !important;
  color: var(--color-base-content) !important;
}
.home-promo-code {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: auto;
  min-width: 0;
  margin-right: 0;
  overflow: hidden;
  border-radius: var(--radius-field) !important;
  color: var(--color-primary) !important;
  font-size: 1rem;
  opacity: 1 !important;
  white-space: nowrap;
  transform: translateX(0);
  transition: transform 360ms cubic-bezier(0.2, 0.8, 0.2, 1);
  cursor: pointer;
}
.home-promo-code:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: -2px;
}
.home-promo-copy {
  position: absolute !important;
  z-index: 2;
  top: 0;
  right: 0;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border-radius: var(--radius-field) !important;
  transition: width 360ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
.home-promo-copy svg {
  display: block !important;
  width: 1.5rem !important;
  height: 1.5rem !important;
  flex: none;
  opacity: 1;
  visibility: visible;
  transition: opacity 360ms cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0ms;
}
.home-promo-copy-icon {
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  visibility: visible;
  transition: opacity 360ms cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0ms;
}
.home-promo-copy-status {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  opacity: 0;
  visibility: hidden;
  white-space: nowrap;
  transition: opacity 360ms cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0ms 360ms;
}
.home-promo-copy-status-icon {
  display: flex;
  flex: none;
  color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
}
.home-promo-control.is-copied .home-promo-code {
  opacity: 1 !important;
  transform: translateX(-100%);
}
.home-promo-control.is-copied .home-promo-copy {
  inset: 0 0 0 auto;
  width: 100% !important;
  height: 100% !important;
}
.home-promo-control.is-copied .home-promo-copy svg,
.home-promo-control.is-copied .home-promo-copy-icon {
  display: block !important;
  opacity: 0;
  visibility: hidden;
  transition-delay: 0ms, 360ms;
}
.home-promo-control.is-copied .home-promo-copy-status {
  display: flex !important;
  color: color-mix(in oklab, var(--color-base-content) 40%, transparent) !important;
  opacity: 1;
  visibility: visible;
  transition-delay: 0ms, 0ms;
}
.home-promo-control.is-copied .home-promo-copy-status-icon {
  color: color-mix(in oklab, var(--color-base-content) 40%, transparent) !important;
}
.home-promo-control.is-copied .home-promo-copy-status-icon svg {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.product-cart-stepper {
  box-sizing: border-box;
  padding-inline: 0.25rem !important;
}
.product-cart-stepper .product-cart-qty-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem !important;
  min-width: 2.5rem !important;
  height: 2.5rem !important;
  min-height: 2.5rem !important;
  overflow: hidden;
  border-radius: var(--radius-field) !important;
}
.product-cart-stepper .product-cart-qty-button > svg { display: block; flex: none; translate: none; }
.product-cart-stepper .product-cart-qty-button:hover,
.product-cart-stepper .product-cart-qty-button:focus-visible { background: var(--color-base-200) !important; }

@media (max-width: 1279px) {
  .product-cart-control-static,
  .product-cart-control-static.is-empty { width: 3rem; height: 3rem; }
  .product-cart-control-static .product-cart-add { width: 3rem; min-width: 3rem; height: 3rem; min-height: 3rem; }
  .product-cart-control-static .product-cart-stepper { height: 3rem; grid-template-columns: 2.5rem minmax(0, 1fr) 2.5rem; }
  .product-cart-control-static .product-cart-stepper .btn { width: 2.5rem; min-width: 2.5rem; height: 3rem; min-height: 3rem; }
}

@media (max-width: 767px) {

  .home-promo-code {
    width: auto;
    margin-right: 0;
  }

  .product-cart-control-static,
  .product-cart-control-static.is-empty { width: 2.5rem; height: 2.5rem; }
  .product-cart-control-static .product-cart-add {
    width: 2.5rem;
    min-width: 2.5rem;
    height: 2.5rem;
    min-height: 2.5rem;
  }
  .product-cart-control-static .product-cart-add svg { width: 1.25rem; height: 1.25rem; }
  .product-cart-control-static .product-cart-stepper {
    height: 2.5rem;
    grid-template-columns: 2rem minmax(0, 1fr) 2rem !important;
  }
  .product-cart-control-static .product-cart-stepper .btn,
  .product-cart-stepper .product-cart-qty-button {
    width: 2rem !important;
    min-width: 2rem !important;
    height: 2rem !important;
    min-height: 2rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-promo-code,
  .home-promo-copy,
  .home-promo-copy svg,
  .home-promo-copy-icon,
  .home-promo-copy-status {
    transition-duration: 0ms !important;
    transition-delay: 0ms !important;
  }
}

/* Theme-owned storefront controls and internal scrolling surfaces. */
.btn,
.btn:hover,
.btn:focus,
.btn:focus-visible,
.btn:active { border-color: transparent !important; }
/* Кнопка адреса в шапке: серая заливка и обводка цвета неактивного тоггла (текст темы, 50%), в отличие от остальных кнопок без рамки. */
.storefront-header-address.btn,
.storefront-mobile-address.btn,
.storefront-header-address.btn:is(:hover, :focus, :focus-visible, :active),
.storefront-mobile-address.btn:is(:hover, :focus, :focus-visible, :active) { border-color: var(--color-primary) !important; }
.storefront-header-actions .btn.btn-neutral,
.storefront-header-actions [data-profile-control] > .btn,
.storefront-mobile-top .btn.btn-neutral,
.storefront-mobile-primary .btn.btn-neutral,
.home-section-action.btn-neutral:not([data-home-show-more="best"]) {
  background: var(--color-base-200) !important;
  color: var(--color-base-content) !important;
}
.storefront-header-actions .btn.btn-neutral:hover,
.storefront-header-actions .btn.btn-neutral:focus-visible,
.storefront-header-actions .btn.btn-neutral:active,
.storefront-header-actions [data-profile-control] > .btn:hover,
.storefront-header-actions [data-profile-control] > .btn:focus-visible,
.storefront-header-actions [data-profile-control] > .btn:active,
.storefront-mobile-top .btn.btn-neutral:hover,
.storefront-mobile-top .btn.btn-neutral:focus-visible,
.storefront-mobile-top .btn.btn-neutral:active,
.storefront-mobile-primary .btn.btn-neutral:hover,
.storefront-mobile-primary .btn.btn-neutral:focus-visible,
.storefront-mobile-primary .btn.btn-neutral:active,
.home-section-action.btn-neutral:not([data-home-show-more="best"]):hover,
.home-section-action.btn-neutral:not([data-home-show-more="best"]):focus-visible,
.home-section-action.btn-neutral:not([data-home-show-more="best"]):active {
  background: var(--color-base-300) !important;
  color: var(--color-base-content) !important;
}
.bg-primary .btn.btn-neutral {
  background: var(--color-base-100) !important;
  color: var(--color-base-content) !important;
}
.bg-primary .btn.btn-neutral:hover,
.bg-primary .btn.btn-neutral:focus-visible,
.bg-primary .btn.btn-neutral:active { background: var(--color-base-200) !important; }
.badge { border: 0 !important; }
.modal-box,
.storefront-notification-panel,
.storefront-address-panel,
.storefront-cart-panel,
.storefront-sheet-panel { border: 0 !important; }
.btn.storefront-address-card,
.btn.storefront-address-card:hover,
.btn.storefront-address-card:focus,
.btn.storefront-address-card:focus-visible,
.btn.storefront-address-card:active { border: 2px solid var(--color-base-300) !important; }
.btn.storefront-address-card.storefront-address-selected,
.btn.storefront-address-card.storefront-address-selected:hover,
.btn.storefront-address-card.storefront-address-selected:focus,
.btn.storefront-address-card.storefront-address-selected:focus-visible,
.btn.storefront-address-card.storefront-address-selected:active { border-color: var(--color-primary) !important; }
.mega-dock.tabs-box {
  box-sizing: border-box;
  height: 2.5rem !important;
  min-height: 2.5rem !important;
  padding: 0.25rem;
  background: var(--color-base-200);
}
.mega-dock .tab {
  height: 2rem !important;
  min-height: 2rem !important;
}
.mega-dock .tab,
.storefront-header-actions .btn,
.storefront-header-address,
.storefront-header-promos,
.storefront-address-card { font-weight: 600; }
.storefront-address-card strong { font-weight: 600; }
.storefront-address-panel .input {
  border: 2px solid var(--color-base-300) !important;
  background: var(--color-base-100);
  outline: 0 !important;
  box-shadow: none !important;
}
.storefront-shell-page :where(.input, .select, .textarea):not([data-header-search]) {
  box-sizing: border-box;
  border: 2px solid var(--color-base-300) !important;
  outline: 0 !important;
  box-shadow: none !important;
}
.storefront-shell-page :where(.input, .select, .textarea):not([data-header-search]):focus,
.storefront-shell-page :where(.input, .select, .textarea):not([data-header-search]):focus-within {
  border-color: var(--color-primary) !important;
  outline: 0 !important;
  box-shadow: none !important;
}
.storefront-shell-page :where(.input, .select, .textarea):not([data-header-search]) :where(input, select, textarea):focus {
  outline: 0 !important;
  box-shadow: none !important;
}

.storefront-address-panel .input:focus,
.storefront-address-panel .input:focus-within {
  border-color: var(--color-primary) !important;
  outline: 0 !important;
  box-shadow: none !important;
}
.storefront-address-panel .input input:focus {
  outline: 0 !important;
  box-shadow: none !important;
}
[data-header-search] [data-search-find],
.storefront-header-actions,
.storefront-header-actions :where(button, a, span),
.storefront-mobile-primary,
.storefront-mobile-primary :where(button, a, span),
.storefront-header-promos :where(a, span) { font-weight: 600 !important; }
.storefront-desktop-grid :where(.btn, .tab, [data-header-address-label]),
.storefront-mobile-top :where(.btn, a, span),
.storefront-mobile-search .btn,
.storefront-mobile-bottom-nav :where(button, a, span),
.storefront-header-promos :where(a, span) { font-weight: 600 !important; }
.mega-dock .tab,
.mega-dock .tab.tab-active,
.storefront-desktop-grid :where(.btn, [data-header-address-label]),
.storefront-mobile-top :where(.btn, [data-header-address-label]),
.storefront-mobile-search .btn {
  font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 600 !important;
}
.mega-dock [data-mega-button="catalog"] { column-gap: 0.5rem; }
.mega-dock .tab:not(.tab-active) {
  color: var(--color-base-content) !important;
  opacity: 1 !important;
}
[data-header-search] input,
[data-header-search] input::placeholder {
  font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 500 !important;
}
[data-header-search] input::placeholder {
  color: var(--color-base-content) !important;
  opacity: 1 !important;
}
[data-header-search] {
  position: relative;
  display: flex;
  box-sizing: border-box;
  height: 2.5rem !important;
  min-height: 2.5rem !important;
  align-items: center;
  padding-inline: 0.5rem;
  border: 2px solid var(--color-base-300) !important;
  background-color: var(--color-base-100) !important;
  color: var(--color-base-content) !important;
  outline: 0 !important;
  box-shadow: none !important;
}
[data-header-search] > svg {
  width: 1.5rem;
  min-width: 1.5rem;
  height: 1.5rem;
  flex: none;
}
.storefront-header-actions [data-cart-control] > svg {
  width: 1.5rem !important;
  min-width: 1.5rem !important;
  max-width: 1.5rem !important;
  height: 1.5rem !important;
  min-height: 1.5rem !important;
  max-height: 1.5rem !important;
  flex: 0 0 1.5rem;
}
[data-header-search] > input { width: 0; min-width: 0; height: auto; flex: 1 1 auto; }
[data-header-search] [data-search-clear].hidden { display: none !important; }
#storefront-header svg,
.storefront-mobile-bottom-nav svg {
  stroke-width: 2px !important;
}
#cart-header-count,
[data-cart-count] { font-weight: 600 !important; }
.storefront-header-actions [data-cart-control] { font-weight: 500 !important; }
[data-header-search] [data-search-find],
[data-header-search] [data-search-clear] {
  height: 2rem !important;
  min-height: 2rem !important;
  font-weight: 600;
}
[data-header-search] [data-search-find] { min-width: 0 !important; }
[data-header-search] [data-search-find] {
  display: none !important;
  padding-inline: 1.5rem !important;
}
[data-header-search].header-layer-active [data-search-find] { display: inline-flex !important; }
[data-header-search].header-layer-active { padding-right: 0.125rem; }
.storefront-desktop-grid :where(.mega-dock, [data-header-search], .storefront-header-actions) svg,
.storefront-mobile-top svg,
.storefront-mobile-search svg { color: var(--color-primary) !important; }
[data-header-search] > svg { color: var(--color-base-content) !important; }
.storefront-mobile-bottom-nav > :where(a, button):not(.dock-active) { color: var(--color-base-content) !important; }
.storefront-mobile-bottom-nav > :where(a, button).dock-active { color: var(--color-primary) !important; }
.storefront-mobile-bottom-nav svg { color: currentColor !important; }
.mega-dock .tab:not(.tab-active) svg { color: var(--color-base-content) !important; }
.storefront-desktop-grid :where(.btn-primary, .tab-active) svg,
.storefront-mobile-top .btn-primary svg,
.storefront-mobile-search .btn-primary svg,
.storefront-mobile-bottom-nav .btn-primary svg { color: var(--color-primary-content) !important; }
#storefront-header .storefront-header-actions :is([data-profile-control], a[href="login.html"]) svg,
#storefront-main-shell .storefront-header-actions :is([data-profile-control], a[href="login.html"]) svg,
.storefront-mobile-bottom-nav :is([data-profile-control], a[href="account.html"]) svg {
  color: color-mix(in oklab, var(--color-base-content) 60%, transparent) !important;
}
.storefront-mobile-bottom-nav [data-cart-control] svg { color: var(--color-primary) !important; }
[data-header-search] [data-search-clear] svg { color: var(--color-base-content) !important; }
[data-search-list] [data-search-remove] svg {
  color: var(--color-base-content) !important;
  stroke-width: 2px !important;
}
.tabs .tab-active:not([disabled]) {
  border-color: transparent !important;
  background: var(--color-primary) !important;
  color: var(--color-primary-content) !important;
}
/* Переключатель «На карте / Списком» в окне самовывоза: подчёркнутые вкладки, чтобы визуально отличаться от переключателя «Доставка / Самовывоз». */
.storefront-pickup-view-tabs .tab { font-weight: 600; }
.storefront-pickup-view-tabs .tab-active:not([disabled]) {
  background: transparent !important;
  color: var(--color-primary) !important;
}
.home-hero-edge-arrow {
  border-color: transparent !important;
  border-radius: var(--radius-field) !important;
  background: var(--color-base-100) !important;
  color: var(--color-base-content) !important;
}
.home-nav-arrow {
  border-color: transparent !important;
  border-radius: var(--radius-field) !important;
  background: var(--color-base-100) !important;
  color: var(--color-base-content) !important;
}
.home-nav-arrow:hover,
.home-nav-arrow:focus-visible { background: var(--color-base-200) !important; }
.home-hero-main-controls {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.home-hero-main-arrow-wrap {
  position: absolute;
  z-index: 10;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: auto;
}
.home-hero-main-arrow-prev { left: 0; }
.home-hero-main-arrow-next { right: 0; }
@media (max-width: 1279px) {
  .home-hero-main-controls .home-nav-arrow {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    line-height: 1;
  }
  .home-hero-main-controls .home-nav-arrow > svg { display: block; }
}
@media (min-width: 1280px) {
  .home-hero-main-controls .home-nav-arrow { display: none !important; }
}
.home-hero-edge-preview:hover .home-hero-edge-arrow,
.home-hero-edge-preview:focus-visible .home-hero-edge-arrow {
  background: var(--color-base-200) !important;
}
[data-header-search].header-layer-active,
[data-header-search].header-layer-active:focus,
[data-header-search].header-layer-active:focus-within {
  border: 2px solid var(--color-primary) !important;
}
[data-header-search]:focus,
[data-header-search]:focus-within {
  border-color: var(--color-primary) !important;
  outline: 0 !important;
  box-shadow: none !important;
}
[data-header-search].header-layer-active,
[data-header-search].header-layer-active:focus,
[data-header-search].header-layer-active:focus-within {
  border-color: transparent !important;
  outline: 0 !important;
  box-shadow: none !important;
}
[data-header-search].header-layer-active input[type="search"]:focus {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
[data-search-list],
[data-search-list]:focus,
[data-search-list]:focus-within {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
[data-header-search] > [data-search-list] {
  position: absolute;
  z-index: 70;
  top: calc(100% + 0.5rem);
  right: 0;
  left: 0;
  display: block;
}
[data-header-search] > [data-search-list].hidden { display: none !important; }

:where(
  [data-search-list],
  .storefront-mega,
  .mega-catalog-sidebar,
  .mega-catalog-content,
  .mega-l3-scrollport,
  .mega-occasions-groups,
  .mega-occasion-column-scrollport,
  .mega-occasion-compact-list,
  .mobile-navigation-panel,
  .storefront-address-panel,
  #storefront-address-options,
  #storefront-address-suggestions,
  .storefront-notification-panel,
  #storefront-notification-list,
  .storefront-cart-scroll,
  .storefront-sheet-panel,
  .modal-box
) {
  scrollbar-width: thin;
  scrollbar-color: color-mix(in oklab, var(--color-base-content) 22%, transparent) transparent;
}
:where(
  [data-search-list],
  .storefront-mega,
  .mega-catalog-sidebar,
  .mega-catalog-content,
  .mega-l3-scrollport,
  .mega-occasions-groups,
  .mega-occasion-column-scrollport,
  .mega-occasion-compact-list,
  .mobile-navigation-panel,
  .storefront-address-panel,
  #storefront-address-options,
  #storefront-address-suggestions,
  .storefront-notification-panel,
  #storefront-notification-list,
  .storefront-cart-scroll,
  .storefront-sheet-panel,
  .modal-box
)::-webkit-scrollbar { width: 4px; height: 4px; }
:where(
  [data-search-list],
  .storefront-mega,
  .mega-catalog-sidebar,
  .mega-catalog-content,
  .mega-l3-scrollport,
  .mega-occasions-groups,
  .mega-occasion-column-scrollport,
  .mega-occasion-compact-list,
  .mobile-navigation-panel,
  .storefront-address-panel,
  #storefront-address-options,
  #storefront-address-suggestions,
  .storefront-notification-panel,
  #storefront-notification-list,
  .storefront-cart-scroll,
  .storefront-sheet-panel,
  .modal-box
)::-webkit-scrollbar-track {
  border-radius: var(--radius-field);
  background: transparent;
}
:where(
  [data-search-list],
  .storefront-mega,
  .mega-catalog-sidebar,
  .mega-catalog-content,
  .mega-l3-scrollport,
  .mega-occasions-groups,
  .mega-occasion-column-scrollport,
  .mega-occasion-compact-list,
  .mobile-navigation-panel,
  .storefront-address-panel,
  #storefront-address-options,
  #storefront-address-suggestions,
  .storefront-notification-panel,
  #storefront-notification-list,
  .storefront-cart-scroll,
  .storefront-sheet-panel,
  .modal-box
)::-webkit-scrollbar-thumb {
  border-radius: var(--radius-field);
  background: color-mix(in oklab, var(--color-base-content) 22%, transparent);
}
:where(
  [data-search-list],
  .storefront-mega,
  .mega-catalog-sidebar,
  .mega-catalog-content,
  .mega-l3-scrollport,
  .mega-occasions-groups,
  .mega-occasion-column-scrollport,
  .mega-occasion-compact-list,
  .mobile-navigation-panel,
  .storefront-address-panel,
  #storefront-address-options,
  #storefront-address-suggestions,
  .storefront-notification-panel,
  #storefront-notification-list,
  .storefront-cart-scroll,
  .storefront-sheet-panel,
  .modal-box
)::-webkit-scrollbar-button,
:where(
  [data-search-list],
  .storefront-mega,
  .mega-catalog-sidebar,
  .mega-catalog-content,
  .mega-l3-scrollport,
  .mega-occasions-groups,
  .mega-occasion-column-scrollport,
  .mega-occasion-compact-list,
  .mobile-navigation-panel,
  .storefront-address-panel,
  #storefront-address-options,
  #storefront-address-suggestions,
  .storefront-notification-panel,
  #storefront-notification-list,
  .storefront-cart-scroll,
  .storefront-sheet-panel,
  .modal-box
)::-webkit-scrollbar-button:single-button,
:where(
  [data-search-list],
  .storefront-mega,
  .mega-catalog-sidebar,
  .mega-catalog-content,
  .mega-l3-scrollport,
  .mega-occasions-groups,
  .mega-occasion-column-scrollport,
  .mega-occasion-compact-list,
  .mobile-navigation-panel,
  .storefront-address-panel,
  #storefront-address-options,
  #storefront-address-suggestions,
  .storefront-notification-panel,
  #storefront-notification-list,
  .storefront-cart-scroll,
  .storefront-sheet-panel,
  .modal-box
)::-webkit-scrollbar-button:start:decrement,
:where(
  [data-search-list],
  .storefront-mega,
  .mega-catalog-sidebar,
  .mega-catalog-content,
  .mega-l3-scrollport,
  .mega-occasions-groups,
  .mega-occasion-column-scrollport,
  .mega-occasion-compact-list,
  .mobile-navigation-panel,
  .storefront-address-panel,
  #storefront-address-options,
  #storefront-address-suggestions,
  .storefront-notification-panel,
  #storefront-notification-list,
  .storefront-cart-scroll,
  .storefront-sheet-panel,
  .modal-box
)::-webkit-scrollbar-button:end:increment,
:where(
  [data-search-list],
  .storefront-mega,
  .mega-catalog-sidebar,
  .mega-catalog-content,
  .mega-l3-scrollport,
  .mega-occasions-groups,
  .mega-occasion-column-scrollport,
  .mega-occasion-compact-list,
  .mobile-navigation-panel,
  .storefront-address-panel,
  #storefront-address-options,
  #storefront-address-suggestions,
  .storefront-notification-panel,
  #storefront-notification-list,
  .storefront-cart-scroll,
  .storefront-sheet-panel,
  .modal-box
)::-webkit-scrollbar-button:vertical:decrement,
:where(
  [data-search-list],
  .storefront-mega,
  .mega-catalog-sidebar,
  .mega-catalog-content,
  .mega-l3-scrollport,
  .mega-occasions-groups,
  .mega-occasion-column-scrollport,
  .mega-occasion-compact-list,
  .mobile-navigation-panel,
  .storefront-address-panel,
  #storefront-address-options,
  #storefront-address-suggestions,
  .storefront-notification-panel,
  #storefront-notification-list,
  .storefront-cart-scroll,
  .storefront-sheet-panel,
  .modal-box
)::-webkit-scrollbar-button:vertical:increment,
:where(
  [data-search-list],
  .storefront-mega,
  .mega-catalog-sidebar,
  .mega-catalog-content,
  .mega-l3-scrollport,
  .mega-occasions-groups,
  .mega-occasion-column-scrollport,
  .mega-occasion-compact-list,
  .mobile-navigation-panel,
  .storefront-address-panel,
  #storefront-address-options,
  #storefront-address-suggestions,
  .storefront-notification-panel,
  #storefront-notification-list,
  .storefront-cart-scroll,
  .storefront-sheet-panel,
  .modal-box
)::-webkit-scrollbar-button:horizontal:decrement,
:where(
  [data-search-list],
  .storefront-mega,
  .mega-catalog-sidebar,
  .mega-catalog-content,
  .mega-l3-scrollport,
  .mega-occasions-groups,
  .mega-occasion-column-scrollport,
  .mega-occasion-compact-list,
  .mobile-navigation-panel,
  .storefront-address-panel,
  #storefront-address-options,
  #storefront-address-suggestions,
  .storefront-notification-panel,
  #storefront-notification-list,
  .storefront-cart-scroll,
  .storefront-sheet-panel,
  .modal-box
)::-webkit-scrollbar-button:horizontal:increment {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  inline-size: 0 !important;
  block-size: 0 !important;
  background: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* Final compact storefront geometry. */
.home-product-card {
  border-width: 0 !important;
  border-color: transparent !important;
  border-radius: var(--radius-box) !important;
  overflow: hidden;
}
[data-home-collection="best"].home-collection-gradient {
  box-sizing: border-box;
  width: calc(100% + 2rem);
  margin-inline: -1rem !important;
  padding-inline: 1rem !important;
  background-color: color-mix(in oklab, var(--color-accent) 28%, var(--color-base-100)) !important;
  color: var(--color-base-content) !important;
}
@media (min-width: 1280px) {
  [data-home-collection="best"].home-collection-gradient {
    width: calc(100% + 3rem);
    margin-inline: -1.5rem !important;
    padding-inline: 1.5rem !important;
  }
}
[data-home-collection="best"] .home-visible-section-header :where(h2, p, a) { color: var(--color-base-content) !important; }
[data-home-collection="best"] .home-product-card { color: var(--color-base-content); }
.home-hero-dot-marker {
  display: block;
  width: 0.75rem;
  height: 0.75rem;
}
.home-ad-badge {
  border-color: transparent !important;
  background-color: var(--color-base-100) !important;
  color: var(--color-base-content) !important;
}
dialog.modal {
  box-sizing: border-box;
  max-inline-size: 100vw;
  border: 0;
}
dialog.modal[class*="storefront-"] button[aria-label="Закрыть"] {
  width: 2.5rem !important;
  min-width: 2.5rem !important;
  height: 2.5rem !important;
  min-height: 2.5rem !important;
  padding: 0 !important;
  border-radius: var(--radius-field) !important;
}
dialog.modal[class*="storefront-"] button[aria-label="Закрыть"] svg { stroke-width: 2px !important; }
[data-search-list] .search-suggestion-group + .search-suggestion-group {
  margin-top: 1rem;
  padding-top: 1rem !important;
  border-top: 1px solid var(--color-base-300);
}
[data-search-list] .search-suggestion-group:first-child {
  margin-top: 0;
  padding-top: 0 !important;
  border-top-width: 0 !important;
}

@media (max-width: 767px) {

  [data-home-collection="best"].home-collection-gradient {
    box-sizing: border-box;
    width: calc(100% + 2rem);
    margin-inline: -1rem !important;
    padding-inline: 1rem !important;
  }
  .home-main [data-home-hero-instance="primary"] { margin-top: 0 !important; }
  .home-main .home-hero-stage { overflow-x: clip; overflow-y: visible; }
  .home-main .home-hero-main-controls > [aria-label="Выбор слайда"] {
    right: auto;
    bottom: -1.5rem;
    left: 50%;
    gap: 0.125rem;
    transform: translateX(-50%);
  }
  .home-hero-main-controls {
    inset: 0;
    height: 100%;
  }
  .home-hero-main-arrow-wrap {
    display: none;
  }
  .home-main .home-hero-dot {
    width: 1rem !important;
    min-width: 1rem !important;
    height: 1rem !important;
    min-height: 1rem !important;
    padding: 0 !important;
  }
  .home-main .home-hero-main-controls .home-hero-dot > span {
    width: 0.5rem;
    height: 0.5rem;
    background: var(--color-base-300);
    opacity: 1;
  }
  .home-main .home-hero-main-controls .home-hero-dot[aria-current="true"] > span { background: var(--color-primary); }
  .home-main .home-nav-arrow {
    width: 2rem !important;
    min-width: 2rem !important;
    height: 2rem !important;
    min-height: 2rem !important;
    padding: 0 !important;
  }

  .home-main .home-nav-arrow > svg { width: 1.25rem; height: 1.25rem; }
  .home-product-card .home-product-content { padding: 0.5rem !important; }
  .home-product-card .home-product-media > .badge { top: 0.5rem !important; left: 0.5rem !important; }
  .home-product-card .home-product-media > .home-favorite-button,
  .home-product-card .home-product-media > button[aria-label*="избран"] { top: 0 !important; right: 0 !important; }
  .home-product-card .home-product-price-row > strong { font-size: 1rem !important; line-height: 1.25rem !important; }
  .home-product-card .home-product-meta {
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    text-align: left;
    white-space: nowrap;
  }
  .home-product-card .home-product-meta > * {
    min-width: 0;
    flex-wrap: nowrap !important;
    white-space: nowrap;
  }
  [data-home-collection="best"] .home-commercial-shelf { gap: 12px !important; }
  .home-main .home-product-promo .card-body { padding: 0.5rem !important; }

  .home-main .home-occasion-tile p { font-size: 0.75rem !important; line-height: 1rem !important; }
  .home-main .home-visual-pill {
    height: 2rem !important;
    min-height: 2rem !important;
    padding-inline: 0.5rem !important;
    font-size: 0.75rem !important;
    line-height: 1rem !important;
  }

  .home-main .home-occasion-tile .card-title { font-size: 1rem !important; line-height: 1.25rem !important; }
}

/* Final storefront mobile sizing and stable hero controls. */
[data-header-search] [data-search-find].btn-primary {
  background-color: var(--color-primary) !important;
  color: var(--color-primary-content) !important;
}
.storefront-desktop-grid [data-header-search] [data-search-find].btn-primary svg,
.storefront-mobile-search [data-search-find].btn-primary svg {
  color: var(--color-primary-content) !important;
}
.product-cart-control .product-cart-add {
  border-color: transparent !important;
  background-color: var(--color-primary) !important;
  color: var(--color-primary-content) !important;
}
.product-cart-control .product-cart-stepper,
.product-cart-control .product-cart-stepper .btn {
  border-color: transparent !important;
  background-color: var(--color-base-100) !important;
  color: var(--color-base-content) !important;
}
.product-cart-control [data-cart-qty] { color: var(--color-base-content) !important; }
.product-cart-control .product-cart-stepper .btn:hover,
.product-cart-control .product-cart-stepper .btn:focus-visible {
  background-color: var(--color-base-200) !important;
  color: var(--color-base-content) !important;
}
.storefront-shell-page .btn[onclick^="addToCart("] {
  border-color: transparent !important;
  background-color: var(--color-primary) !important;
  color: var(--color-primary-content) !important;
}
.storefront-shell-page .btn[onclick^="addToCart("]:hover,
.storefront-shell-page .btn[onclick^="addToCart("]:focus-visible {
  background-color: color-mix(in oklab, var(--color-primary) 88%, var(--color-base-content)) !important;
  color: var(--color-primary-content) !important;
}

@media (max-width: 1279px) {
  .storefront-mobile-surface {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-rows: 3rem 2.5rem;
    gap: 0.75rem;
    inline-size: 100% !important;
    max-inline-size: 100% !important;
    margin-inline: 0;
    padding: 1rem !important;
    background-color: var(--color-base-100) !important;
    color: var(--color-base-content) !important;
  }
  .storefront-mobile-search-slot {
    box-sizing: border-box;
    width: 100%;
    height: 2.5rem !important;
    min-height: 2.5rem;
    margin: 0 !important;
  }
  .storefront-mobile-search {
    width: 100% !important;
    height: 2.5rem;
    margin-top: 0 !important;
  }
  .storefront-mobile-search.is-mobile-search-pinned {
    height: auto;
    min-height: 4.5rem;
    background-color: var(--color-base-100) !important;
    box-shadow: 0 4px 16px color-mix(in oklab, var(--color-base-content) 8%, transparent) !important;
  }
  .storefront-mobile-surface > *,
  .storefront-mobile-primary,
  .storefront-mobile-search,
  .storefront-mobile-search > [data-header-search] {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
  }
}

@media (max-width: 767px) {
  .badge { font-size: 0.75rem !important; line-height: 1rem !important; }

  .storefront-shell-page .btn:not(.h-auto):not(.home-hero-edge-preview):not(.home-hero-dot):not(.home-nav-arrow):not(.home-visual-pill):not([data-search-find]):not([data-search-clear]):not(.product-cart-add):not(.product-cart-qty-button) {
    height: 2.5rem;
    min-height: 2.5rem;
    max-height: 2.5rem;
  }
  .storefront-shell-page .btn-square:not(.home-hero-dot):not(.home-nav-arrow):not([data-search-clear]):not(.product-cart-add):not(.product-cart-qty-button) {
    width: 2.5rem;
    min-width: 2.5rem;
  }
  .storefront-shell-page button[aria-label^="Уменьшить количество"],
  .storefront-shell-page button[aria-label^="Увеличить количество"] {
    width: 2rem !important;
    min-width: 2rem !important;
    height: 2rem !important;
    min-height: 2rem !important;
    max-height: 2rem !important;
  }
  .home-main .home-hero-main-arrow-prev { left: 0.5rem !important; }
  .home-main .home-hero-main-arrow-next { right: 0.5rem !important; }

  .home-product-card .home-product-price-row .line-through {
    font-size: 0.75rem !important;
    line-height: 1rem !important;
    white-space: nowrap;
  }
  .home-care-pair { grid-template-columns: minmax(0, 1fr); }
  .home-care-pair > .home-care-banner:not(.home-promo-code-banner) { display: none; }
  .home-care-pair > .home-promo-code-banner {
    width: 100%;
    height: auto !important;
    aspect-ratio: 600 / 200 !important;
  }
  .home-promo-code-banner > .home-banner-content {
    box-sizing: border-box;
    height: 100%;
    flex-direction: column !important;
    align-items: center;
    justify-content: center;
    padding: 1rem;
  }
  .home-promo-code-banner .home-banner-content > :first-child { display: none; }
  .home-promo-code-banner .home-promo-code-actions {
    margin: 0 !important;
    justify-content: center;
  }

  #storefront-address-title,
  #storefront-notification-title,
  #storefront-address-form-title,
  #storefront-auth-title,
  #cart-drawer-shell #storefront-cart-title {
    line-height: 1.5rem !important;
  }
}

.storefront-shell-page .btn.btn-primary:not(:disabled):hover,
.storefront-shell-page .btn.btn-primary:not(:disabled):focus-visible {
  border-color: transparent !important;
  background-color: color-mix(in oklab, var(--color-primary) 86%, var(--color-base-content)) !important;
  color: var(--color-primary-content) !important;
  transform: none !important;
}

/* Catalog page: dual price range, responsive promotional inserts, and banner sizing. */
#catalog-filters-mobile { scrollbar-width: none !important; }
#catalog-filters-mobile::-webkit-scrollbar { display: none; }
[data-filter-instant-sync],
[data-filter-instant-sync]::before,
[data-filter-instant-sync]::after,
[data-filter-instant-sync] *,
[data-filter-instant-sync] *::before,
[data-filter-instant-sync] *::after {
  transition-duration: 0s !important;
  animation-duration: 0s !important;
}
@supports selector(details::details-content) {
  [data-filter-instant-sync] details::details-content {
    transition-duration: 0s !important;
    animation-duration: 0s !important;
  }
}
#catalog-filters-desktop .checkbox.checkbox-primary:not(:checked),
#catalog-filters-mobile .checkbox.checkbox-primary:not(:checked) { border-color: var(--color-base-300) !important; }
#catalog-filters-desktop :is(.checkbox.checkbox-primary, .toggle.toggle-primary),
#catalog-filters-mobile :is(.checkbox.checkbox-primary, .toggle.toggle-primary) {
  transition-duration: 200ms;
  transition-timing-function: ease-out;
}
#catalog-filters-desktop input[type="number"],
#catalog-filters-mobile input[type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
}
#catalog-filters-desktop input[type="number"]::-webkit-inner-spin-button,
#catalog-filters-desktop input[type="number"]::-webkit-outer-spin-button,
#catalog-filters-mobile input[type="number"]::-webkit-inner-spin-button,
#catalog-filters-mobile input[type="number"]::-webkit-outer-spin-button {
  margin: 0;
  -webkit-appearance: none;
}
.catalog-section-banner { height: auto; min-height: 0; }
.catalog-section-banner picture,
.catalog-section-banner img { display: block; width: 100%; height: auto; }
main.storefront-shell-page :where(.btn, .input, .select),
#catalog-filter-dialog :where(.btn, .input, .select),
#catalog-sort-menu button,
#catalog-filters-desktop .collapse-title,
#catalog-filter-dialog .collapse-title {
  height: 2.5rem !important;
  min-height: 2.5rem !important;
  max-height: 2.5rem !important;
}
#catalog-sort-menu > li > button {
  align-content: center;
}
main.storefront-shell-page :where(.btn-square, .btn-circle),
#catalog-filter-dialog :where(.btn-square, .btn-circle) {
  width: 2.5rem !important;
  min-width: 2.5rem !important;
  max-width: 2.5rem !important;
}
#catalog-filters-desktop .collapse-title,
#catalog-filter-dialog .collapse-title {
  padding-block: 0 !important;
}
#catalog-filters-desktop [data-filter-option],
#catalog-filter-dialog [data-filter-option],
#catalog-filters-desktop [data-filter-group="stock"],
#catalog-filter-dialog [data-filter-group="stock"] {
  height: 2rem;
  min-height: 2rem;
  max-height: 2rem;
  padding-block: 0;
}
#catalog-filters-desktop .toggle,
#catalog-filter-dialog .toggle {
  border-radius: var(--radius-selector) !important;
}
#catalog-filters-desktop .toggle::before,
#catalog-filter-dialog .toggle::before {
  border-radius: calc(var(--radius-selector) / 2) !important;
}
:is(#catalog-pagination, #orders-pagination) .btn {
  width: 2.5rem !important;
  min-width: 2.5rem !important;
  max-width: 2.5rem !important;
  height: 2.5rem !important;
  min-height: 2.5rem !important;
  max-height: 2.5rem !important;
  padding: 0 !important;
}
[data-catalog-interstitial-banner] { display: none !important; }
@media (max-width: 767px) {
  [data-catalog-interstitial-variant="mobile"] { display: grid !important; }
}
@media (min-width: 768px) and (max-width: 1279px) {
  [data-catalog-interstitial-variant="tablet"] { display: grid !important; }
}
@media (min-width: 1280px) and (max-width: 1919px) {
  [data-catalog-interstitial-variant="desktop"] { display: grid !important; }
}
@media (min-width: 1920px) and (max-width: 2559px) {
  [data-catalog-interstitial-variant="wide"] { display: grid !important; }
}
@media (min-width: 2560px) {
  [data-catalog-interstitial-variant="ultra"] { display: grid !important; }
}
@media (max-width: 639px) {
  #catalog-count {
    min-width: 0;
    font-size: 0.75rem !important;
    line-height: 1rem !important;
    white-space: nowrap;
  }
  #catalog-sort {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  #catalog-sort > summary {
    min-width: 0 !important;
    gap: 0.25rem !important;
    padding-inline: 0.75rem !important;
    font-size: 0.75rem !important;
    line-height: 1rem !important;
  }
  #catalog-sort-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  #catalog-products {
    width: 100%;
    max-width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem !important;
  }
  #catalog-products > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

/* Catalog mega: real two-level taxonomy with a single spacing scale. */
:root { --mega-l3-gap: 24px; }
.mega-catalog-content .mega-l3-grid {
  gap: var(--mega-l3-gap) !important;
}
.mega-l3-tile {
  width: 100%;
  height: auto !important;
  aspect-ratio: 1 / 1;
  align-self: start;
}
.mega-l3-tile > img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}

.mega-occasion-date {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  border-radius: var(--radius-field);
  font-size: 12px;
  line-height: 16px;
  font-weight: 700;
  padding-inline: 8px;
}

.mega-promo-card > picture,
.mega-promo-card > picture > img {
  display: block;
  width: 100%;
  height: 100%;
}
.mega-promo-card > picture > img {
  object-fit: cover;
  object-position: right center;
}

@media (max-width: 1279px) {
  .mobile-catalog-screen-track { --mega-l3-gap: 16px; }
  .mobile-catalog-screen-track .mega-l3-scroll-shell,
  .mobile-catalog-screen-track .mega-l3-scrollport,
  .mobile-catalog-screen-track .mega-l3-grid {
    width: 100%;
    height: auto !important;
    max-height: none;
    padding-inline-end: 0;
  }
  .mobile-catalog-screen-track .mega-l3-grid {
    grid-auto-rows: auto !important;
    align-content: start;
    align-items: start;
  }
}

@media (min-width: 768px) and (max-width: 1279px) {
  .mobile-catalog-screen-track .mega-l3-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1280px) {

  .mega-catalog-content {
    grid-template-rows: auto auto;
    padding-inline-end: 0 !important;
  }
  .mega-catalog-content > :first-child > .mega-l3-action {
    flex: 0 0 var(--mega-l3-size);
    width: var(--mega-l3-size) !important;
  }
  .mega-catalog-content .mega-l3-scroll-shell,
  .mega-catalog-content .mega-l3-scrollport {
    width: var(--mega-grid-width);
    height: auto !important;
    max-height: none;
    padding-inline-end: 0 !important;
    overflow: hidden;
  }
  .mega-catalog-content .mega-l3-grid {
    width: var(--mega-grid-width);
    height: auto !important;
    grid-auto-rows: var(--mega-l3-size) !important;
    align-content: start;
    align-items: start;
  }
  .mega-catalog-content .mega-l3-tile,
  .mega-catalog-content .mega-l3-tile > img {
    width: var(--mega-l3-size);
    height: var(--mega-l3-size) !important;
  }
  .mega-promo-rail,
  .mega-promo-grid {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
  }
  .mega-promo-grid > * { max-width: 100%; }
}

@media (min-width: 1280px) {
  .storefront-mega-content { container-type: inline-size; }
  .mega-catalog-layout {
    --mega-sidebar-track: clamp(16rem, 16vw, 20rem);
    --mega-l3-size: max(96px, min(calc((100cqw - var(--mega-sidebar-track) - 120px) / 5), calc((100dvh - 288px) / 2)));
    --mega-grid-width: calc((var(--mega-l3-size) * 4) + (var(--mega-l3-gap) * 3));
    --mega-scroll-width: var(--mega-grid-width);
    --mega-wide-panel-height: calc((var(--mega-l3-size) * 2) + var(--mega-l3-gap) + 7rem);
  }
  .mega-catalog-layout .mega-l3-grid {
    grid-template-columns: repeat(4, var(--mega-l3-size)) !important;
  }
}

@media (min-width: 1920px) {
  .storefront-mega-content .mega-catalog-l2 { font-size: 14px; }
}

/* Desktop catalog height follows the category rows; the promo rail shares that height. */
@media (min-width: 1280px) {
  .storefront-mega-content {
    height: auto !important;
    max-height: none;
    overflow: visible !important;
  }
  .mega-panel-size-stack,
  .mega-panel-size-reference { height: auto; }
  .mega-panel-active-pane { height: 100%; }
  .mega-catalog-layout {
    --mega-promo-track: var(--mega-l3-size);
    grid-template-columns: minmax(var(--mega-sidebar-track, 16rem), 1fr) var(--mega-grid-width) var(--mega-l3-size) !important;
    max-height: none;
    align-items: stretch;
    overflow-x: hidden;
  }
  .mega-catalog-layout:not(.mega-occasions-layout) {
    height: auto !important;
    min-height: 0 !important;
  }
  .mega-panel-active-pane > .mega-desktop-layout.mega-occasions-layout {
    height: 100% !important;
    min-height: 100% !important;
    max-height: 100% !important;
  }
  .mega-catalog-layout:not(:has(> .mega-promo-rail)) {
    grid-template-columns: minmax(var(--mega-sidebar-track, 16rem), 1fr) var(--mega-grid-width) !important;
  }
  .mega-catalog-sidebar-shell {
    height: auto;
    align-self: stretch;
  }
  .mega-catalog-sidebar {
    height: 100% !important;
  }
  .mega-catalog-sidebar > ul.menu {
    gap: 16px !important;
  }
  .storefront-mega-content .mega-catalog-l2,
  .storefront-mega-content .mega-catalog-l2 img {
    height: 48px;
    min-height: 48px;
  }
  .storefront-mega-content .mega-catalog-l2 img {
    width: 48px;
    min-width: 48px;
  }
  .mega-catalog-content {
    height: auto;
    align-self: start;
  }
  .mega-catalog-content .mega-l3-grid {
    min-height: calc((var(--mega-l3-size) * 2) + var(--mega-l3-gap));
  }
  .mega-catalog-layout > .mega-promo-rail {
    box-sizing: border-box;
    width: var(--mega-l3-size) !important;
    min-width: var(--mega-l3-size);
    max-width: var(--mega-l3-size);
    height: auto !important;
    min-height: 100% !important;
    align-self: stretch;
    container-type: normal;
    overflow: hidden !important;
  }
  .mega-catalog-layout > .mega-promo-rail > .mega-promo-grid {
    display: grid !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100%;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: var(--mega-l3-gap) !important;
    align-content: stretch;
    overflow: hidden !important;
  }
  .mega-catalog-layout > .mega-promo-rail > .mega-promo-grid > * {
    grid-area: auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .mega-catalog-layout > .mega-promo-rail.has-banner.has-product > .mega-promo-grid {
    grid-template-rows: minmax(0, 1fr) auto !important;
  }
  .mega-catalog-layout > .mega-promo-rail.has-banner:not(.has-product) > .mega-promo-grid {
    grid-template-rows: minmax(0, 1fr) !important;
  }
  .mega-catalog-layout > .mega-promo-rail.has-product:not(.has-banner) > .mega-promo-grid {
    grid-template-rows: auto !important;
    align-content: end;
  }
  .mega-catalog-layout > .mega-promo-rail .mega-promo-card,
  .mega-catalog-layout > .mega-promo-rail .mega-promo-card > picture,
  .mega-catalog-layout > .mega-promo-rail .mega-promo-card > picture > img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    min-height: 0;
    object-fit: cover;
  }
  .mega-catalog-layout > .mega-promo-rail .mega-promo-card > picture > img {
    object-position: right center;
  }
  .mega-catalog-layout > .mega-promo-rail .mega-promo-card { aspect-ratio: auto; }
  .mega-catalog-layout > .mega-promo-rail .mega-weekly-product,
  .mega-catalog-layout > .mega-promo-rail .mega-weekly-product .home-product-media {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1;
  }
}

@media (min-width: 2200px) {
  .storefront-mega-content .mega-catalog-l2 {
    height: 64px;
    min-height: 64px;
    font-size: 18px;
  }
  .storefront-mega-content .mega-catalog-l2 img {
    width: 64px;
    min-width: 64px;
    height: 64px;
    min-height: 64px;
  }
  .mega-catalog-layout .mega-l3-label {
    font-size: 18px;
    line-height: 22px;
  }
  .mega-catalog-content > :first-child > .mega-l3-action {
    height: 48px;
    min-height: 48px;
  }
}

/* Product-page cart control shares the card stepper DOM and adds a full-width vertical CTA transition. */
.product-cart-control-page,
.product-cart-control-page.is-empty,
.product-cart-control-page.is-filled {
  position: relative;
  inset: auto;
  width: 100% !important;
  min-width: 100% !important;
  max-width: none !important;
  height: 2.5rem !important;
  min-height: 2.5rem !important;
}
.product-cart-control-page > .product-cart-add,
.product-cart-control-page > .product-cart-stepper,
.product-cart-control-page .product-cart-transition-layer,
.product-cart-control-page .product-cart-transition-layer > * {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  height: 2.5rem !important;
  min-height: 2.5rem !important;
}
.product-cart-control-page .product-cart-add {
  gap: 0.5rem;
  margin: 0;
  padding-inline: 1rem;
}
.product-cart-control-page .product-cart-stepper {
  margin: 0;
  border: 0 !important;
}
#product-main [data-product-purchase-main] .product-cart-control-page .product-cart-stepper,
#product-main [data-product-purchase-main] .product-cart-control-page .product-cart-stepper .product-cart-qty-button,
#product-main [data-product-purchase-main] .product-cart-control-page .product-cart-stepper [data-cart-qty] {
  border-color: transparent !important;
  background: var(--color-base-200) !important;
}
#product-main [data-product-purchase-main] .product-cart-control-page .product-cart-stepper { border-width: 0 !important; outline: 0; }
#product-main [data-product-purchase-main] .product-cart-control-page .product-cart-stepper .product-cart-qty-button:hover,
#product-main [data-product-purchase-main] .product-cart-control-page .product-cart-stepper .product-cart-qty-button:focus-visible { background: var(--color-base-300) !important; }
@media (max-width: 767px) {
  [data-product-purchase-sticky] .product-cart-control-page .product-cart-stepper,
  [data-product-purchase-sticky] .product-cart-control-page .product-cart-stepper .product-cart-qty-button,
  [data-product-purchase-sticky] .product-cart-control-page .product-cart-stepper [data-cart-qty] {
    border-color: transparent !important;
    background: var(--color-base-200) !important;
    color: var(--color-base-content) !important;
  }
  [data-product-purchase-sticky] .product-cart-control-page .product-cart-stepper .product-cart-qty-button:is(:hover, :focus-visible) { background: var(--color-base-300) !important; }
}
@media (max-width: 1279px) {
  body:has(#product-main) .storefront-mobile-bottom-nav {
    box-shadow: none !important;
  }
  body:has(#product-main) [data-product-purchase-sticky] {
    border-top: 0 !important;
    box-shadow: 0 -4px 16px color-mix(in oklab, var(--color-base-content) 8%, transparent) !important;
  }
  body:has(#product-main) #toast-stack {
    z-index: 90 !important;
    bottom: calc(8.125rem + 0.75rem) !important;
  }
}

/* Checkout keeps its primary action available on mobile and replaces the shared dock. */
.checkout-page {
  background: var(--color-base-200) !important;
}
.checkout-page .checkout-main { padding-top: 1.5rem !important; }
.checkout-page .checkout-layout > div > section,
.checkout-page .checkout-desktop-summary { background: var(--color-base-100) !important; }
.checkout-page .checkout-layout { align-items: start; }
.checkout-page .checkout-layout > div > section.surface-outline,
.checkout-page .checkout-desktop-summary.surface-outline {
  border-width: 0 !important;
  border-color: transparent !important;
}
.checkout-page .checkout-recipient-section {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
.checkout-page .gap-3 { gap: 0.5rem !important; }
.checkout-page .mt-3 { margin-top: 0.5rem !important; }
.checkout-page .p-3 { padding: 0.5rem !important; }
.checkout-mobile-bar { display: none; }
.checkout-bottom-sheet {
  max-height: min(90dvh, 48rem);
  overflow-y: auto;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.checkout-page .modal h2 {
  font-size: 1.25rem !important;
  line-height: 1.5rem !important;
  font-weight: 700 !important;
}

.checkout-page :is(.checkout-section-title, .checkout-collapse-title) {
  font-size: 1.25rem !important;
  line-height: 1.5rem !important;
  font-weight: 700 !important;
}
.checkout-page :is(h2, .checkout-summary-heading, #desktop-summary-title, #checkout-summary-title) {
  font-size: 1.25rem !important;
  line-height: 1.5rem !important;
  font-weight: 700 !important;
}
.checkout-page h3 {
  font-size: 18px !important;
  line-height: 1.5rem !important;
  font-weight: 700 !important;
}
.checkout-page .checkout-success-title {
  font-size: 1.25rem !important;
  line-height: 1.5rem !important;
  font-weight: 700 !important;
}
:is(.checkout-page, .order-summary) .checkout-summary-values {
  font-size: 0.875rem !important;
  line-height: 1.25rem !important;
  font-weight: 600 !important;
}
:is(.checkout-page, .order-summary) .checkout-summary-stack {
  display: grid;
  gap: 1rem;
}
.checkout-page .checkout-desktop-summary > .card-body,
.checkout-page :is(.checkout-payment-sheet, .checkout-result-sheet, .checkout-bottom-sheet) { padding: 1rem; }
.checkout-page #checkout-payment-dialog :is(.checkout-dialog-content, .checkout-dialog-primary) { margin-top: 1rem; }

.checkout-page .checkout-summary-stack > .divider {
  height: auto;
  min-height: 0;
  margin-block: 0;
}
.checkout-page .checkout-summary-stack > :is(.checkout-selected-payment, .checkout-promo, .checkout-summary-values, .checkout-consents, details) {
  margin-top: 0 !important;
}
:is(.checkout-page, .order-summary) .checkout-summary-values dd {
  font-weight: 600 !important;
  white-space: nowrap;
}
:is(.checkout-page, .order-summary) .checkout-summary-values .checkout-grand-total dt { font-weight: 700 !important; }
:is(.checkout-page, .order-summary) .checkout-summary-values .checkout-grand-total dd { font-weight: 700 !important; }
:is(.checkout-page, .order-summary) .checkout-summary-after-divider { border-top: 2px dashed var(--color-base-300); }
:is(.checkout-page, .order-summary) .checkout-discount-row { color: var(--color-product-accent) !important; }
:is(.checkout-page, .order-summary) .checkout-discount-row dt { color: var(--color-base-content); }
.checkout-page .checkout-payment-option {
  border: 2px solid var(--color-base-300);
}
.checkout-page .checkout-payment-option:has(input:checked) {
  border-color: var(--color-primary);
}
.checkout-page .checkout-payment-mark > img { display: block; }
.checkout-payment-sheet {
  max-height: min(90dvh, 40rem);
  overflow-y: auto;
}
.checkout-page .checkout-dialog-content,
.checkout-page .checkout-dialog-primary { margin-top: 1.5rem; }
.checkout-page .checkout-recipient-default {
  color: var(--color-base-content);
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.checkout-page .fieldset {
  gap: 0 !important;
  padding: 0 !important;
}
.checkout-page .fieldset-legend {
  margin: 0 0 0.25rem !important;
  padding: 0 !important;
}
.checkout-page .checkout-recipient-fields { gap: 1rem !important; }
.checkout-page .checkout-recipient-header > .label { padding: 0; }
@media (min-width: 768px) {
  .checkout-page .checkout-recipient-panels { padding-top: 1rem; }
}
.checkout-page .checkout-recipient-panel {
  display: grid;
  grid-template-rows: 0fr;
  min-width: 0;
  transition: grid-template-rows 240ms ease-out;
}
.checkout-page .checkout-recipient-panel.is-open {
  grid-template-rows: 1fr;
}
.checkout-page .checkout-recipient-panel-inner {
  min-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: opacity 120ms ease-out;
}
.checkout-page .checkout-recipient-panel.is-open > .checkout-recipient-panel-inner {
  opacity: 1;
  transition-delay: 100ms;
}
.checkout-page .checkout-consents .checkbox {
  width: 1.25rem !important;
  min-width: 1.25rem !important;
  height: 1.25rem !important;
  min-height: 1.25rem !important;
  border-radius: 0.25rem !important;
}
.checkout-page .checkout-promo-controls > .input { width: auto; }
.checkout-page .checkout-promo-input { padding-right: 0.25rem; }
.checkout-promo-field { position: relative; height: 2.5rem; overflow: hidden; border-radius: var(--radius-field); }
.checkout-promo-field > :is(.checkout-promo-input, .checkout-promo-applied) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  transition: transform 250ms ease;
}
.checkout-promo-field > .checkout-promo-input { transform: translateY(0); }
.checkout-promo-field > .checkout-promo-applied { z-index: 1; transform: translateY(100%); }
.checkout-promo[data-applied="true"] .checkout-promo-applied { transform: translateY(0); }
.checkout-promo-controls > [hidden] { display: none !important; }
.checkout-page .checkout-promo-toggle { position: relative; overflow: hidden; border: 0 !important; box-shadow: none !important; }
.checkout-promo-toggle > span {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  border-radius: inherit;
  pointer-events: none;
}
.checkout-promo-arrow {
  background: var(--color-primary);
  color: var(--color-primary-content);
  transform: translateX(0);
  transition: transform 250ms ease;
}
.checkout-promo-toggle[data-applied="true"] .checkout-promo-arrow { transform: translateX(100%); }
.checkout-promo-toggle:disabled .checkout-promo-arrow { background: transparent; color: inherit; }
.checkout-promo-toggle[data-applied="false"] .checkout-promo-trash { visibility: hidden; }
.checkout-promo-toggle svg > path { stroke-width: 2px; vector-effect: non-scaling-stroke; }
@media (prefers-reduced-motion: reduce) {
  .checkout-promo-arrow,
  .checkout-promo-field > :is(.checkout-promo-input, .checkout-promo-applied) { transition: none; }
}
.checkout-page .checkout-promo-remove {
  width: 2.5rem;
  min-width: 2.5rem;
  height: 2.5rem;
  min-height: 2.5rem;
}
.checkout-product + .checkout-product {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top-width: 2px;
  border-color: var(--color-base-300);
}
.checkout-page .checkout-product-footer {
  display: flex;
  align-items: center;
  justify-content: center;
}
.checkout-page .checkout-product-cart-control {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 8rem !important;
  height: 2.5rem !important;
  min-height: 2.5rem !important;
  padding: 0.25rem !important;
  border-radius: var(--radius-field);
  background: var(--color-base-200) !important;
}
.checkout-page .checkout-product-cart-control .product-cart-stepper,
.checkout-page .checkout-product-cart-control .product-cart-stepper .product-cart-qty-button,
.checkout-page .checkout-product-cart-control .product-cart-stepper [data-cart-qty] {
  border-color: transparent !important;
  background: var(--color-base-200) !important;
}
.checkout-page .checkout-product-cart-control .product-cart-stepper {
  grid-template-columns: 2rem minmax(0, 1fr) 2rem !important;
  height: 2rem !important;
  min-height: 2rem !important;
  padding: 0 !important;
  border-width: 0 !important;
  outline: 0;
}
.checkout-page .checkout-product-cart-control .product-cart-stepper .product-cart-qty-button {
  width: 2rem !important;
  min-width: 2rem !important;
  height: 2rem !important;
  min-height: 2rem !important;
  padding: 0 !important;
}
.checkout-page .checkout-product-cart-control .product-cart-stepper > .join-item {
  margin-inline-start: 0 !important;
}
.checkout-page .checkout-product-cart-control .product-cart-stepper [data-cart-qty] {
  height: 2rem !important;
  min-height: 2rem !important;
  padding-inline: 0.25rem !important;
  line-height: 2rem !important;
}
.checkout-page .checkout-product-cart-control .product-cart-stepper .product-cart-qty-button:hover,
.checkout-page .checkout-product-cart-control .product-cart-stepper .product-cart-qty-button:focus-visible {
  background: var(--color-base-300) !important;
}
.checkout-page .checkout-product-details {
  display: grid;
  grid-template-areas:
    "copy price"
    "stepper stepper";
  grid-template-columns: minmax(0, 1fr) auto;
  min-width: 0;
  align-content: start;
  gap: 0.5rem;
}
.checkout-page .checkout-product-copy { grid-area: copy; }
.checkout-page .checkout-product-footer { grid-area: stepper; }
.checkout-page .checkout-product-price-cell {
  grid-area: price;
  min-width: 0;
  justify-self: end;
  text-align: right;
}
.checkout-page .checkout-product-unit-price { justify-content: flex-end; }
@media (min-width: 768px) {
  .checkout-page .checkout-product-copy {
    display: flex;
    flex-direction: column;
    min-height: 5rem;
    row-gap: 0.5rem;
  }
  .checkout-page .checkout-product-copy > .checkout-extras {
    margin-top: auto !important;
    align-items: center;
  }
  .checkout-page .checkout-product-details {
    grid-template-areas: "copy stepper price";
    grid-template-columns: minmax(0, 1fr) auto auto;
    height: 100%;
    min-height: 5rem !important;
    align-self: stretch;
    align-content: start;
    align-items: start;
    column-gap: 2rem;
  }
  .checkout-page .checkout-product-footer {
    width: 8rem;
    position: static;
    grid-area: stepper;
    transform: none;
  }
  .checkout-page .checkout-product-price-cell { margin-inline-start: 1rem; }
}
.checkout-page .checkout-date-strip { overflow: visible; }
.checkout-date-desktop-label { display: none; }
@media (min-width: 768px) {
  .checkout-date-mobile-label { display: none; }
  .checkout-date-desktop-label { display: inline; }
}
/* Local sizing and persistent disclosures keep checkout controls compact and animated. */
.checkout-page .checkout-date-option.btn { height: 2.5rem !important; min-height: 2.5rem !important; padding-inline: 0.25rem; }
@media (max-width: 767px) {
  .checkout-page .checkout-date-option.btn { padding-inline: 0.125rem; }
  .checkout-page .checkout-date-option > .checkout-date-mobile-label { gap: 0 !important; }
  .checkout-page .checkout-date-mobile-label > .checkout-date-day { line-height: 1rem; }
  .checkout-page .checkout-date-option[data-checkout-date="custom"] .checkout-date-day { font-size: 0.75rem; }
  .checkout-page .checkout-date-option[data-checkout-date="custom"] > .checkout-date-mobile-label { flex-shrink: 0; }
}
/* Календарь выбора даты (daisyUI Cally): размеры от 12 px и акцент темы для выбранного дня. */
#checkout-date-dialog > .modal-box { width: fit-content; max-width: calc(100vw - 2rem); padding: 0 !important; }
@media (max-width: 639px) {
  #checkout-date-dialog > .modal-box { justify-self: center; margin-inline: auto; }
}
#checkout-date-dialog .cally { box-sizing: border-box; width: 20rem; max-width: 100%; padding: 0.5rem; font-size: 0.875rem; }
#checkout-date-dialog calendar-date::part(container),
#checkout-date-dialog calendar-date::part(months),
#checkout-date-dialog calendar-month { padding: 0; }
#checkout-date-dialog calendar-date::part(container) { gap: 0; }
#checkout-date-dialog calendar-date::part(header) { position: relative; height: 0; justify-content: center; }
#checkout-date-dialog calendar-date::part(heading) { display: none; }
#checkout-date-dialog calendar-date::part(previous),
#checkout-date-dialog calendar-date::part(next) { position: absolute; top: 100%; z-index: 1; }
#checkout-date-dialog calendar-date::part(previous) { left: 0; }
#checkout-date-dialog calendar-date::part(next) { right: 0; }
#checkout-date-dialog calendar-month { width: 19rem; }
#checkout-date-dialog calendar-month::part(heading) { display: grid; place-items: center; height: 2.5rem; margin: 0; font-size: 1.25em; font-weight: 700; }
/* Compensate table outer spacing so only the six inner 4px gaps consume width. */
#checkout-date-dialog calendar-month::part(table) { border-collapse: separate; border-spacing: 0.25rem; margin: -0.25rem; }
#checkout-date-dialog calendar-month::part(td) { padding: 0; }
#checkout-date-dialog calendar-month::part(day),
#checkout-date-dialog calendar-date::part(button) { width: 2.5rem; height: 2.5rem; min-width: 2.5rem; min-height: 2.5rem; padding: 0; }
.checkout-page .cally ::part(head) { font-size: 0.75rem; font-weight: 600; }
.checkout-page .cally ::part(day) { font-size: 0.875rem; font-weight: 600; }
.checkout-page .cally ::part(button day today) { background: var(--color-base-200); color: var(--color-base-content); }
.checkout-page .cally ::part(button day today):hover { background: var(--color-base-300); }
.checkout-page .cally ::part(selected),
.checkout-page .cally ::part(selected):hover { background: var(--color-primary); color: var(--color-primary-content); }
.checkout-page .checkout-urgent-eta p { font-size: 0.875rem !important; }
.checkout-page .checkout-postcard > .label { width: fit-content; max-width: 100%; justify-content: flex-start; }
.checkout-page [data-checkout-loyalty] .label { width: 100%; justify-content: space-between; font-size: 0.875rem; white-space: normal; }
.checkout-page .label:has(> .toggle) { gap: 1rem !important; }
.checkout-page .checkout-layout > div > section:not(.checkout-collapse) > .card-body.checkout-composition-body { gap: 1.5rem !important; }
:is(.checkout-page, .order-summary) .checkout-summary-values .checkout-grand-total { font-size: 1rem !important; line-height: 1.5rem; }
.checkout-page .checkout-summary-after-divider dd:has([data-summary-field="earned"]) { display: inline-flex; align-items: center; gap: 0.25rem; line-height: 1.25rem; }
.checkout-page [data-summary-discount][hidden],
.checkout-page .checkout-time-select { display: grid; position: relative; width: 100%; }
.checkout-page .checkout-time-panels { position: relative; }
.checkout-page .checkout-time-panel { position: absolute; top: 0; left: 0; width: 100%; display: block; transition: none; }
.checkout-page .checkout-time-panel:not(.is-open) { visibility: hidden; }
.checkout-page .checkout-time-panel.is-open { position: relative; visibility: visible; }
.checkout-page .checkout-time-panels:has(.is-sliding) { overflow: hidden; }
.checkout-page .checkout-time-panel.is-sliding { visibility: visible; }
.checkout-page .checkout-time-panel > .checkout-recipient-panel-inner { opacity: 1; transition: none; }
.checkout-page .checkout-time-panel.is-open > .checkout-recipient-panel-inner { overflow: visible; }

.checkout-page .checkout-time-menu {
  flex-wrap: nowrap;
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 0;
  z-index: 20;
  width: 100%;
  max-height: 15rem;
  overflow-y: auto;
  overflow-x: hidden;
  border: 2px solid var(--color-base-300);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-0.5rem);
  transition: opacity 180ms ease-out, transform 180ms ease-out, visibility 0s 180ms;
}
.checkout-page .checkout-time-select.is-open .checkout-time-menu { opacity: 1; visibility: visible; transform: translateY(0); transition-delay: 0s; }
.checkout-page .checkout-time-select.opens-up .checkout-time-menu { top: auto; bottom: calc(100% + 0.5rem); }
.checkout-page .checkout-time-menu [role="option"] { display: flex; justify-content: space-between; min-height: 2.5rem; font-size: 0.875rem; font-weight: 500; }
.checkout-page .checkout-time-menu [aria-selected="true"] { font-weight: 600; }
.checkout-page [data-checkout-time-trigger] { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; padding-right: 0.75rem; background-image: none; }
.checkout-page [data-checkout-time-trigger] [data-time-value] { font-weight: 500; }
.checkout-page .checkout-time-chevron { transition: transform 180ms ease-out; }
.checkout-page [data-checkout-time-trigger][aria-expanded="true"] .checkout-time-chevron { transform: rotate(180deg); }
.checkout-page .checkout-time-check { visibility: hidden; }
.checkout-page .checkout-time-menu [aria-selected="true"] .checkout-time-check { visibility: visible; stroke-width: 2px; color: var(--color-primary); }
@media (min-width: 640px) {
  .checkout-page .checkout-time-panel:not([data-checkout-time-panel="urgent"]),
  .checkout-page .checkout-pickup-time { width: calc((100% - 1rem) / 3); }
}
@media (prefers-reduced-motion: reduce) {
  .checkout-page .checkout-time-panel,
  .checkout-page .checkout-time-chevron,
  .checkout-page .checkout-time-menu { transition: none !important; }
}
.checkout-page :is(.checkbox.checkbox-primary, .toggle.toggle-primary, .checkout-radio) {
  transition-duration: 200ms;
  transition-timing-function: ease-out;
}
.checkout-page .checkbox.checkbox-primary:not(:checked) {
  border-color: var(--color-base-300) !important;
}
.checkout-page .toggle.toggle-primary {
  border-radius: var(--radius-selector) !important;
}
.checkout-page .toggle.toggle-primary::before {
  border-radius: calc(var(--radius-selector) / 2) !important;
}
.checkout-page .checkout-radio {
  display: grid;
  width: 1.5rem;
  min-width: 1.5rem;
  height: 1.5rem;
  min-height: 1.5rem;
  appearance: none;
  place-content: center;
  border: 2px solid var(--color-base-300) !important;
  border-radius: 0.375rem !important;
  background-color: var(--color-base-100) !important;
  background-image: none !important;
  box-shadow: none !important;
}
.checkout-page .checkout-radio::before {
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 0.125rem;
  background: var(--color-primary);
  content: "";
  transform: scale(0);
  opacity: 0;
  transition: transform 200ms ease-out, opacity 200ms ease-out;
}
.checkout-page .checkout-radio:checked {
  border-color: var(--color-primary) !important;
  background-color: var(--color-base-100) !important;
  background-image: none !important;
}
.checkout-page .checkout-radio:checked::before {
  transform: scale(1);
  opacity: 1;
}

.checkout-page .checkout-radio:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
.checkout-page .checkout-radio:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}
.checkout-page label.card:has(.checkout-radio:checked) {
  border-color: var(--color-primary);
  background-color: var(--color-base-100);
}
.checkout-page label.card:has(.checkout-radio) {
  transition: border-color 200ms ease-out;
}

.checkout-page .checkout-cart-restore {
  width: 8rem !important;
  max-width: 100%;
  min-width: 0;
  height: 2.5rem !important;
  min-height: 2.5rem !important;
  padding-inline: 0.5rem;
  gap: 0.25rem;
  font-size: 0.75rem !important;
  white-space: nowrap;
}
.checkout-page .checkout-cart-restore > svg { color: inherit !important; flex-shrink: 0; }
.checkout-page .checkout-result-sheet,
.checkout-page .checkout-result-sheet .card { background: var(--color-base-100) !important; border: 0 !important; outline: 0 !important; box-shadow: none !important; }
.checkout-page .checkout-result-sheet .checkout-result-info { border: 2px solid var(--color-base-300) !important; }
.checkout-page .checkout-result-sheet .checkout-error-supporting { line-height: 1.25rem !important; }

.checkout-page :is(.checkout-time-menu, #checkout-pickup-results) { scrollbar-width: auto !important; scrollbar-color: auto !important; }
.checkout-page :is(.checkout-time-menu, #checkout-pickup-results)::-webkit-scrollbar { display: block !important; width: 4px !important; height: 4px !important; }
.checkout-page :is(.checkout-time-menu, #checkout-pickup-results)::-webkit-scrollbar-track { display: block !important; border-radius: var(--radius-field); background: transparent !important; }
.checkout-page :is(.checkout-time-menu, #checkout-pickup-results)::-webkit-scrollbar-thumb { display: block !important; background: color-mix(in oklab, var(--color-base-content) 22%, transparent) !important; border-radius: var(--radius-field); }
.checkout-page :is(.checkout-time-menu, #checkout-pickup-results)::-webkit-scrollbar-button { display: none !important; width: 0 !important; height: 0 !important; inline-size: 0 !important; block-size: 0 !important; background: none !important; appearance: none !important; -webkit-appearance: none !important; }
.checkout-page .checkout-product { column-gap: 1.5rem !important; }

.checkout-page .checkout-destination-identity .checkout-destination-address { line-height: 1.125rem !important; }

/* Modal close controls use one stable project-wide touch target. */
.modal .btn-square[aria-label^="Закрыть"] {
  width: 2.5rem !important;
  min-width: 2.5rem !important;
  max-width: 2.5rem !important;
  height: 2.5rem !important;
  min-height: 2.5rem !important;
  max-height: 2.5rem !important;
  padding: 0 !important;
}
.modal .btn-square[aria-label^="Закрыть"] > svg {
  width: 1.5rem !important;
  min-width: 1.5rem !important;
  max-width: 1.5rem !important;
  height: 1.5rem !important;
  min-height: 1.5rem !important;
  max-height: 1.5rem !important;
}

.checkout-page .checkout-destination-identity {
  grid-template-columns: 1.5rem minmax(0, 1fr);
  column-gap: 0.75rem;
}
.checkout-page .checkout-destination-identity > svg {
  grid-column: 1;
  grid-row: 1;
}
.checkout-page .checkout-destination-identity strong {
  grid-column: 2;
  grid-row: 1;
  font-size: 1rem !important;
  line-height: 1.25rem !important;
  font-weight: 700 !important;
}
.checkout-page .checkout-destination-identity strong + span {
  grid-column: 2;
  grid-row: 2;
  margin-top: 0 !important;
  font-size: 0.875rem !important;
  line-height: 1.25rem !important;
  font-weight: 600 !important;
  color: color-mix(in oklab, var(--color-base-content) 60%, transparent) !important;
}

.checkout-page .checkout-time-mode {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-direction: row !important;
  gap: 0.5rem !important;
  height: 3rem !important;
  min-height: 3rem !important;
  border: 2px solid var(--color-base-300) !important;
  border-radius: var(--radius-field);
  padding: 0 0.5rem !important;
  transition: border-color 180ms ease-out, background-color 180ms ease-out;
}
.checkout-page .checkout-time-mode:has(.checkout-radio:checked) {
  border-color: var(--color-primary) !important;
}
.checkout-page .checkout-time-mode:has(.checkout-radio:disabled) {
  cursor: not-allowed;
  opacity: 0.6;
}
.checkout-page .checkout-time-mode > span {
  font-size: 0.875rem !important;
  line-height: 1.25rem !important;
}
/* На мобильной варианты времени доставки стоят в один ряд: ниже, с меньшими отступами и подписью 12px. */
@media (max-width: 639px) {
  .checkout-page .checkout-time-mode {
    position: relative;
    height: 2.5rem !important;
    min-height: 2.5rem !important;
    justify-content: center !important;
    gap: 0 !important;
    padding: 0 0.25rem !important;
  }
  /* Радиокнопка остаётся в DOM для логики, но визуально скрыта: выбор показывает только рамка плашки, без заливки. */
  .checkout-page .checkout-time-mode .checkout-radio {
    position: absolute;
    width: 1px;
    min-width: 0;
    height: 1px;
    min-height: 0;
    opacity: 0;
    pointer-events: none;
  }
  .checkout-page .checkout-time-mode > span {
    font-size: 0.75rem !important;
    line-height: 1rem !important;
  }
}
.checkout-page .checkout-time-option,
.checkout-page .checkout-time-option:is(:hover, :focus-visible, :active) {
  border-color: var(--color-base-300) !important;
  background: var(--color-base-100) !important;
  color: var(--color-base-content) !important;
}
.checkout-page .checkout-time-option[aria-pressed="true"],
.checkout-page .checkout-time-option[aria-pressed="true"]:is(:hover, :focus-visible, :active) {
  border-color: var(--color-primary) !important;
}
.checkout-page .checkout-time-option { padding-inline: 0.5rem !important; }
.checkout-page .checkout-date-option > span {
  gap: 0.125rem !important;
  line-height: 1rem !important;
}
.checkout-page .checkout-date-option > span > .text-xs {
  line-height: 0.875rem !important;
}

@media (prefers-reduced-motion: reduce) {
  .checkout-page :is(.checkbox.checkbox-primary, .toggle.toggle-primary, .checkout-radio),
.checkout-page .checkout-recipient-panel,
.checkout-page .checkout-recipient-panel-inner,
.checkout-page .checkout-time-mode,
.checkout-page label.card:has(.checkout-radio),
.checkout-radio::before {
    transition-duration: 0s !important;
  }
  .checkout-page .checkout-recipient-panel-inner { transition-delay: 0s !important; }

}

@media (max-width: 1279px) {
  .checkout-page .checkout-main { padding-bottom: calc(9rem + env(safe-area-inset-bottom)) !important; }
  .checkout-page .storefront-mobile-bottom-nav { box-shadow: none !important; isolation: isolate; }
  .checkout-page .storefront-mobile-bottom-nav::before {
    content: "";
    position: absolute;
    inset: 0 -1rem;
    z-index: -1;
    background: var(--color-base-100);
    pointer-events: none;
  }
  .checkout-page .checkout-desktop-summary { display: block; position: static; width: 100%; }
  .checkout-page .checkout-mobile-bar { display: block; bottom: calc(4rem + env(safe-area-inset-bottom)); padding-bottom: 0.5rem; }
  .checkout-page #checkout-desktop-summary .checkout-summary-stack > button[type="submit"] { display: none; }
  .checkout-page .checkout-layout,
  .checkout-page .checkout-layout > div { display: grid; gap: 1rem !important; }
  .checkout-page .checkout-layout > div > section { margin-block: 0 !important; }
  .checkout-page .checkout-mobile-bar {
    border-top: 0 !important;
    box-shadow: 0 -4px 16px color-mix(in oklab, var(--color-base-content) 8%, transparent) !important;
  }
  .checkout-page:has(dialog[open]) .checkout-mobile-bar { display: none; }
  .checkout-page #storefront-footer { display: none; }
  .checkout-page #toast-stack { bottom: 7.5rem !important; }
  .checkout-page .checkout-mobile-submit:disabled {
    border-color: color-mix(in oklab, var(--color-primary) 38%, var(--color-base-100)) !important;
    background-color: color-mix(in oklab, var(--color-primary) 38%, var(--color-base-100)) !important;
    color: var(--color-primary-content) !important;
    cursor: not-allowed;
    opacity: 1 !important;
  }
}

@media (max-width: 767px) {
  body:not(:has(.home-main)) > main {
    padding-top: 0 !important;
  }

  .checkout-page h2,
  .checkout-page .modal h2,
  .checkout-page :is(.checkout-section-title, #desktop-summary-title, #checkout-summary-title, .checkout-success-title) {
    font-size: 1.25rem !important;
    line-height: 1.5rem !important;
    font-weight: 700 !important;
  }
  .checkout-page h3 {
    line-height: 1.5rem !important;
    font-weight: 700 !important;
  }
  .checkout-page .checkout-result-supporting {
    font-size: 1rem !important;
    line-height: 1.5rem !important;
  }
  .checkout-page .checkout-layout > div > section > .card-body {
    padding: 1rem !important;
  }
  .checkout-page .checkout-layout > div > section:not(.checkout-collapse) > .card-body {
    gap: 1rem !important;
  }
  .checkout-page :is(.checkout-delivery-stack, .checkout-pickup-stack, .checkout-pickup-schedule) {
    gap: 1rem !important;
  }

  .checkout-page :is(.input, .select) {
    height: 2.5rem !important;
    min-height: 2.5rem !important;
  }
  .checkout-page .checkout-date-strip > .btn {
    height: 2.5rem !important;
    min-height: 2.5rem !important;
    padding-block: 0.25rem !important;
  }

  .checkout-page .checkout-product-name {
    font-size: 14px !important;
    line-height: 1.1 !important;
  }
  .checkout-page .checkout-product-name {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  .checkout-page .checkout-product-details {
    grid-template-areas:
      "copy"
      "price"
      "stepper";
    grid-template-columns: minmax(0, 1fr);
  }
  .checkout-page .checkout-product-price-cell { width: 100%; }
  .checkout-page .checkout-product-restored-position { grid-area: stepper; }
  .checkout-page .checkout-product { grid-template-columns: 6.5rem minmax(0, 1fr); }
  .checkout-page .checkout-product > img { width: 6.5rem; height: 6.5rem; }
  /* One extras row participates in the article grid on mobile, below all product controls. */
  .checkout-page .checkout-product { row-gap: 0.5rem; }
  .checkout-page .checkout-replacement-label { align-items: flex-start; }
  .checkout-page .checkout-product > img { grid-column: 1; grid-row: 1 / 4; align-self: start; }
  .checkout-page .checkout-product-details,
  .checkout-page .checkout-product-copy { display: contents; }
  .checkout-page .checkout-product-copy > :not(.checkout-extras) { grid-column: 2; grid-row: 1; }
  .checkout-page .checkout-product-price-cell { grid-column: 2; grid-row: 2; }
  .checkout-page .checkout-product-footer { grid-column: 2; grid-row: 3; align-items: flex-end; }
  .checkout-page .checkout-product .checkout-extras { grid-column: 1 / -1; grid-row: 4; margin-top: 0.25rem !important; gap: 0.5rem; }
  .checkout-page .checkout-extras { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .checkout-page .checkout-extras-hint { grid-column: 2 / -1; }
  .checkout-page .checkout-extras > .relative { min-width: 0; }
  .checkout-page .checkout-extras > button,
  .checkout-page .checkout-extra-remove,
  .checkout-page .checkout-extra-remove > img {
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1;
  }
  .checkout-page .checkout-product-unit-price { flex-direction: row; flex-wrap: wrap; align-items: baseline; justify-content: flex-start; gap: 0.5rem; text-align: left; }
  .checkout-page .checkout-product-unit-price > span { white-space: nowrap; }
  .checkout-page .checkout-product-cart-control { max-width: none !important; width: 100% !important; height: 2rem !important; min-height: 2rem !important; padding: 0 !important; }
  .checkout-page .checkout-cart-restore { width: 100% !important; }
  .checkout-page .checkout-recipient-section { display: grid; row-gap: 1rem !important; }
  .checkout-page .checkout-recipient-header { display: flex; flex-wrap: nowrap; align-items: center; gap: 0.5rem; }
  .checkout-page .checkout-recipient-panels { display: block; }
  .checkout-page .checkout-recipient-header > h3 { margin-bottom: 0; }
  .checkout-page .checkout-recipient-other { padding-top: 0; }
  .checkout-page .checkout-recipient-header > .label {
    width: fit-content;
    margin-left: auto;
    justify-content: flex-end;
    gap: 0.5rem !important;
    white-space: nowrap;
  }

  .checkout-page .checkout-product-footer { gap: 0.5rem !important; }

  .checkout-page .checkout-bottom-sheet {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
  }

  .checkout-page .checkout-main {
    padding-bottom: 5rem;
  }
}

@media (min-width: 640px) {
  .checkout-bottom-sheet { border-radius: var(--radius-box); }
}

@media (min-width: 1280px) {
  .checkout-page .checkout-desktop-summary { top: 7.5rem !important; }
}

/* Shared storefront product pattern. */
.home-product-card .home-product-media { overflow: hidden; border-radius: var(--radius-box) !important; }
.product-media-tags { top: 0.5rem; left: 0.5rem; max-width: calc(100% - 4.5rem); }
.product-media-tags { position: absolute; }
#product-main [data-product-gallery-main],
#product-main .product-detail-mobile-gallery { position: relative; }
.product-media-tags .badge { height: auto; min-height: 1.5rem; max-width: 100%; padding-block: 0.25rem; white-space: normal; line-height: 1rem; }
.home-product-media > .home-favorite-button {
  top: 0.5rem !important;
  right: 0.5rem !important;
  z-index: 6;
  width: 2.5rem !important;
  min-width: 2.5rem !important;
  max-width: 2.5rem !important;
  height: 2.5rem !important;
  min-height: 2.5rem !important;
  max-height: 2.5rem !important;
  color: white !important;
  background: transparent !important;
  border-color: transparent !important;
}
.home-product-media > .home-favorite-button svg { fill: currentColor !important; }
.home-product-card .home-product-media > .home-favorite-button > svg { width: 1.25rem !important; height: 1.25rem !important; }
.home-product-media > .home-favorite-button.is-active { color: var(--color-primary) !important; }
.home-product-media > .home-favorite-button.is-active svg { fill: currentColor !important; }
.product-gallery-arrow-shell { position: absolute; z-index: 5; top: 50%; pointer-events: none; transition: translate 180ms ease; }
.product-gallery-arrow-shell-prev { left: 0.25rem; translate: -100% -50%; }
.product-gallery-arrow-shell-next { right: 0.25rem; translate: 100% -50%; }
[data-storefront-product-card]:hover .product-gallery-arrow-shell,
[data-storefront-product-card]:focus-within .product-gallery-arrow-shell { translate: 0 -50%; pointer-events: auto; }
.product-gallery-arrow-shell .btn {
  position: relative;
  width: 2.5rem !important;
  min-width: 2.5rem !important;
  max-width: 2.5rem !important;
  height: 2.5rem !important;
  min-height: 2.5rem !important;
  max-height: 2.5rem !important;
  padding: 0 !important;
  border-color: transparent !important;
  border-radius: var(--radius-field) !important;
  background: transparent !important;
  box-shadow: none !important;
}
.product-gallery-arrow-shell .btn::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2rem;
  height: 2rem;
  border-radius: var(--radius-field);
  background: var(--color-base-100);
  translate: -50% -50%;
  content: "";
}
.product-gallery-arrow-shell .btn:hover::before,
.product-gallery-arrow-shell .btn:focus-visible::before { background: var(--color-base-200); }
.product-gallery-arrow-shell .btn > svg { position: relative; z-index: 1; width: 1.25rem; height: 1.25rem; }
.product-gallery-arrow-shell-prev .btn > svg { translate: -1px 0; }
.product-gallery-arrow-shell-next .btn > svg { translate: 1px 0; }
.product-gallery-dots { position: static; display: flex; width: 100%; height: 1.25rem; min-height: 1.25rem; flex: 0 0 1.25rem; align-items: center; justify-content: center; gap: 0.125rem; }
.product-gallery-dot { position: relative; width: 0.75rem; min-width: 0.75rem; height: 0.75rem; min-height: 0.75rem; padding: 0; border: 0; border-radius: 0; background: transparent; }
.product-gallery-dot::before { position: absolute; top: 50%; left: 50%; width: 0.25rem; height: 0.25rem; border-radius: 0; background: var(--color-base-300); translate: -50% -50%; content: ""; }
.product-gallery-dot.is-active::before { background: var(--color-primary); }
.home-product-bonus { color: var(--color-warning); }
.home-product-rating { margin-left: 0 !important; }
.home-rating-star,
.home-rating-value { color: var(--color-secondary); }
.home-product-review-count { color: color-mix(in oklab, var(--color-base-content) 40%, transparent); }
.home-product-feedback-trigger { position: absolute; right: 0.5rem; bottom: 0.5rem; margin-left: 0; border-radius: var(--radius-field) !important; }
.home-product-feedback-trigger.is-recorded { color: var(--color-primary); }
.home-product-feedback-trigger.is-feedback-anchor { anchor-name: --product-feedback-anchor; }
.is-feedback-card-anchor { anchor-name: --product-feedback-card; }
.home-product-feedback-popover { position: fixed; inset: auto; top: anchor(--product-feedback-anchor bottom); left: anchor(--product-feedback-card left); width: anchor-size(--product-feedback-card width); max-width: calc(100vw - 1rem); margin-top: 0.5rem; box-shadow: none !important; }
.home-product-promo { border-radius: var(--radius-box); }
.home-product-promo .home-promo-watch { justify-items: stretch; border-color: transparent !important; background: var(--color-base-100) !important; color: var(--color-base-content) !important; }
.home-product-promo .home-promo-watch > svg { transition: transform 180ms ease; }
.home-product-promo:hover .home-promo-watch > svg,
.home-product-promo:focus-within .home-promo-watch > svg { transform: translateX(4px); }
[data-storefront-product-card] .home-product-content { position: relative; padding: 0 0.5rem 1rem !important; gap: 0.125rem !important; }
#product-main .product-extra-card .home-product-content { padding: 0.5rem !important; }
#product-main .product-extra-card .home-product-price-row > strong { font-size: 1.125rem !important; line-height: 1.5rem !important; }
#product-main .product-extra-card .home-product-name { font-size: 0.75rem !important; line-height: 1rem !important; }
.home-product-media > .product-cart-control-compact { right: 0.5rem !important; bottom: 0.5rem !important; }
#product-main [data-product-extras] > h3 { margin-bottom: 1rem; font-size: 1.125rem; line-height: 1.5rem; }
[data-storefront-product-card] .home-product-name { font-size: 0.75rem !important; line-height: 1rem !important; }
[data-storefront-product-card] .home-product-meta { align-items: center; justify-content: flex-start; gap: 0.5rem; overflow: hidden; padding-right: 3.5rem; }
[data-storefront-product-card] .home-product-rating { min-width: 0; flex: 1 1 auto; overflow: hidden; }
[data-storefront-product-card] .home-product-bonus,
[data-storefront-product-card] .home-product-rating { font-size: 0.75rem !important; line-height: 1rem !important; }

.storefront-showcase-product-card .product-gallery-arrow-shell-prev { left: 0.25rem; }
.storefront-showcase-product-card .product-gallery-arrow-shell-next { right: 0.25rem; }
.storefront-showcase-product-card .product-gallery-arrow-shell .btn {
  position: relative;
  width: 2.5rem !important;
  min-width: 2.5rem !important;
  max-width: 2.5rem !important;
  height: 2.5rem !important;
  min-height: 2.5rem !important;
  max-height: 2.5rem !important;
  padding: 0 !important;
  border-color: transparent !important;
  background: transparent !important;
}
.storefront-showcase-product-card .product-gallery-arrow-shell .btn::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2rem;
  height: 2rem;
  border-radius: var(--radius-field);
  background: var(--color-base-100);
  translate: -50% -50%;
  content: "";
}
.storefront-showcase-product-card .product-gallery-arrow-shell .btn:hover::before,
.storefront-showcase-product-card .product-gallery-arrow-shell .btn:focus-visible::before { background: var(--color-base-200); }
.storefront-showcase-product-card .product-gallery-arrow-shell .btn > svg { position: relative; z-index: 1; }
.storefront-showcase-product-card .product-gallery-arrow-shell-prev .btn > svg { translate: -1px 0; }
.storefront-showcase-product-card .product-gallery-arrow-shell-next .btn > svg { translate: 1px 0; }
.storefront-showcase-product-card .product-gallery-dots { height: 1.5rem; min-height: 1.5rem; flex-basis: 1.5rem; }
.storefront-showcase-product-card .product-gallery-dot { width: 1rem; min-width: 1rem; height: 1rem; min-height: 1rem; border-radius: 0.125rem; }
.storefront-showcase-product-card .product-gallery-dot::before { width: 0.375rem; height: 0.375rem; border-radius: 0.125rem; }

.storefront-showcase-product-card .home-product-feedback-trigger {
  border-color: transparent !important;
  background: transparent !important;
}
.storefront-showcase-product-card .home-product-feedback-trigger:hover,
.storefront-showcase-product-card .home-product-feedback-trigger:focus-visible { background: var(--color-base-200) !important; }

@media (hover: none) { .product-gallery-arrow-shell { display: none; } }
@media (prefers-reduced-motion: reduce) {
  .product-gallery-arrow-shell,
  .home-product-promo .home-promo-watch > svg { transition: none; }
  .home-product-promo:hover .home-promo-watch > svg,
  .home-product-promo:focus-within .home-promo-watch > svg { transform: none; }
}
@media (max-width: 767px) {
  .storefront-showcase-product-card .home-product-price-row:has(.product-price-discount) {
    flex-wrap: wrap;
    row-gap: 0;
    white-space: normal;
  }
  .home-shelf-actions .btn { width: 2.5rem !important; min-width: 2.5rem !important; max-width: 2.5rem !important; padding: 0 !important; }
  .home-shelf-action-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
  .home-product-card .home-product-meta { gap: 0.25rem !important; }
  .home-product-card .home-product-bonus,
  .home-product-card .home-product-rating { font-size: 0.75rem !important; }
  .home-product-card .home-product-feedback-trigger { width: 3rem !important; min-width: 3rem !important; height: 3rem !important; min-height: 3rem !important; max-height: 3rem !important; margin-left: auto !important; }
}
@media (min-width: 768px) and (max-width: 1279px) {
  .home-commercial-shelf,
  .home-product-wrap-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1920px) {
  .home-product-wrap-grid,
  .home-commercial-shelf { grid-template-columns: repeat(8, minmax(0, 1fr)); }
}

/* Main storefront fidelity refinements stay local to the home page. */
.storefront-showcase-product-card {
  display: flex !important;
  flex-direction: column;
}
.storefront-showcase-product-card .home-product-content {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column;
  padding-top: 0 !important;
  gap: 0.25rem !important;
}
@media (min-width: 1280px) {
  .home-main .storefront-showcase-product-card .home-product-content,
  #catalog-products .storefront-showcase-product-card .home-product-content { padding: 0 1rem 1rem !important; }
}
.storefront-showcase-product-card .home-product-name {
  flex: 1 1 auto !important;
}
.storefront-showcase-product-card .home-product-meta {
  max-width: 100%;
  margin-top: auto;
  column-gap: 0.75rem !important;
  padding-right: 0;
}
.storefront-showcase-product-card .home-product-feedback-trigger {
  position: static;
  right: auto;
  bottom: auto;
  width: 2rem !important;
  min-width: 2rem !important;
  max-width: 2rem !important;
  height: 2rem !important;
  min-height: 2rem !important;
  max-height: 2rem !important;
  margin-left: auto !important;
  padding: 0 !important;
}
.storefront-showcase-product-card .home-product-media > .home-favorite-button {
  top: 0 !important;
  right: 0 !important;
  width: 2.5rem !important;
  min-width: 2.5rem !important;
  max-width: 2.5rem !important;
  height: 2.5rem !important;
  min-height: 2.5rem !important;
  max-height: 2.5rem !important;
}
.storefront-showcase-product-card .home-product-media > .home-favorite-button > svg {
  width: 1.25rem !important;
  height: 1.25rem !important;
}
.home-product-bonus-icon {
  display: block;
  width: 1rem;
  height: 1rem;
  flex: none;
  object-fit: contain;
}
.storefront-showcase-product-card .home-product-feedback-trigger > svg {
  width: 1.25rem !important;
  height: 1.25rem !important;
}
.product-media-tag {
  display: inline-flex;
  height: 1.5rem !important;
  min-height: 1.5rem !important;
  max-height: 1.5rem !important;
  align-items: center;
  padding: 0 0.5rem !important;
  color: white !important;
  font-size: 0.75rem !important;
  line-height: 1rem !important;
  font-weight: 600 !important;
}
.product-media-tag-ad,
.home-main .home-ad-badge { color: var(--color-base-content) !important; }
.product-media-tag-discount { background: var(--color-product-accent) !important; }
.product-price-discount,
.product-discount-percent { color: var(--color-product-accent) !important; }
.product-price-old {
  color: color-mix(in oklab, var(--color-base-content) 40%, transparent) !important;
  font-weight: 600 !important;
  text-decoration-line: line-through;
}
.home-product-price-row > .product-price-old {
  font-size: 0.75rem !important;
  line-height: 1rem !important;
}
[data-storefront-product-card] .home-product-bonus,
[data-storefront-product-card] .home-product-bonus-value,
[data-storefront-product-card] .home-rating-value,
[data-storefront-product-card] .home-product-review-count,
[data-storefront-product-card] .home-product-review-count * {
  font-size: 0.75rem !important;
  line-height: 1rem !important;
  font-weight: 600 !important;
}
[data-storefront-product-card] .home-product-bonus { color: var(--color-secondary) !important; }
[data-storefront-product-card] .home-product-bonus-value { color: var(--color-base-content) !important; }
[data-storefront-product-card] .home-rating-star { color: var(--color-amber-400, oklch(82.8% 0.189 84.429)) !important; }
[data-storefront-product-card] .home-rating-star svg {
  display: block;
  width: 1rem;
  height: 1rem;
  flex: none;
}
[data-storefront-product-card] .home-rating-value { color: var(--color-base-content) !important; }
[data-storefront-product-card] .home-product-review-count,
[data-storefront-product-card] .home-product-review-count * {
  color: color-mix(in oklab, var(--color-base-content) 40%, transparent) !important;
}
[data-storefront-product-card] .home-product-feedback-trigger:not(.is-recorded) { color: color-mix(in oklab, var(--color-base-content) 40%, transparent) !important; }
[data-storefront-product-card] .home-product-review-count svg {
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  flex: none;
  color: inherit !important;
}
[data-storefront-product-card] .home-product-review-count svg path[fill-rule] {
  fill: currentColor !important;
  stroke: none !important;
}
#product-main :is([data-product-gallery-main], .product-detail-mobile-gallery) .product-media-tag {
  height: 2rem !important;
  min-height: 2rem !important;
  max-height: 2rem !important;
  padding-inline: 0.75rem !important;
  font-size: 0.875rem !important;
  line-height: 1.25rem !important;
  font-weight: 600 !important;
}
#product-main :is([data-product-gallery-main], .product-detail-mobile-gallery) .product-media-tags { gap: 0.5rem !important; }
#product-main [data-product-comparison] { display: none !important; }
.storefront-showcase-product-card .home-product-name {
  font-size: 0.75rem !important;
  line-height: 1rem !important;
  font-weight: 500 !important;
}
[data-home-collection="best"].home-collection-gradient {
  padding: 1.5rem !important;
  border-radius: 0 !important;
}
[data-home-collection="best"] [data-home-show-more-wrap="best"] { margin-top: 1.5rem !important; }
[data-home-collection="best"] [data-home-show-more="best"],
[data-home-collection="best"] .home-shelf-arrow {
  border-color: var(--color-base-100) !important;
  background: var(--color-base-100) !important;
  color: var(--color-base-content) !important;
  box-shadow: none !important;
}
[data-home-collection="best"] [data-home-show-more="best"]:hover,
[data-home-collection="best"] [data-home-show-more="best"]:focus-visible,
[data-home-collection="best"] .home-shelf-arrow:hover,
[data-home-collection="best"] .home-shelf-arrow:focus-visible {
  border-color: var(--color-primary) !important;
  background: var(--color-primary) !important;
  color: var(--color-primary-content) !important;
}
@media (min-width: 1024px) {
  #product-main .product-price-seller-panel .product-discount-percent {
    font-size: 1.125rem !important;
    line-height: 1.5rem !important;
    font-weight: 700 !important;
  }
}
@media (min-width: 1280px) {
  #product-main .product-desktop-seller-sticky {
    position: sticky;
    top: 120px;
    z-index: 30;
    align-self: start;
  }
}
.product-detail-desktop-gallery,
.product-desktop-seller-sticky,
.product-detail-title-favorite { display: none; }
.product-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}
.product-detail-information {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 1rem;
}
.product-detail-responsive-seller { display: none; }
#product-main [data-product-price-seller-panel="responsive"] { display: none; }
@media (min-width: 768px) {
  body:has(#product-main) [data-product-purchase-sticky] { display: none !important; }
  #product-main .product-detail-desktop-gallery {
    display: grid;
    grid-template-columns: calc((100% - 3.5rem) / 7) minmax(0, 1fr);
    align-items: stretch;
    gap: 1rem;
  }
  #product-main .product-detail-mobile-gallery-shell { display: none; }
  #product-main .product-detail-mobile-price { display: none; }
  #product-main .product-detail-title-favorite { display: inline-flex; }
}
@media (min-width: 768px) and (max-width: 1279px) {
  #product-main .product-detail-layout { grid-template-columns: minmax(0, 1fr) !important; }
  #product-main .product-detail-gallery-column { grid-column: 1 / -1; }
  #product-main .product-detail-information {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.85fr);
    grid-template-areas: "main seller";
    align-items: start;
    gap: 1rem 1.5rem;
  }
  #product-main .product-detail-main-column { grid-area: main; }
  #product-main .product-detail-responsive-seller { display: block; grid-area: seller; }
  #product-main [data-product-price-seller-panel="responsive"] { display: block; }
  #product-main .product-detail-responsive-seller {
    position: sticky;
    top: 104px;
    z-index: 30;
    align-self: start;
  }
  #catalog-products {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1rem;
  }
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) {
    display: flex !important;
    height: 100%;
    min-width: 0;
    flex-direction: column;
  }
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .home-product-content {
    display: flex !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    flex-direction: column;
    grid-template-columns: none;
    grid-template-rows: none;
    align-items: stretch;
    gap: 0.25rem !important;
    padding: 0 0.5rem 1rem !important;
  }
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .home-product-price-row,
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .home-product-name,
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .home-product-meta {
    grid-column: auto;
    grid-row: auto;
    width: 100%;
    max-width: 100%;
  }
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .home-product-name {
    min-height: 0;
    flex: 1 1 auto;
    font-size: 0.75rem !important;
    line-height: 1rem !important;
    font-weight: 500 !important;
  }
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .home-product-meta {
    box-sizing: border-box;
    height: 2rem;
    min-height: 2rem;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.25rem 0.75rem;
    margin-top: auto;
    padding-right: 0;
    overflow: visible;
  }
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .home-product-bonus,
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .home-product-rating {
    height: 1.25rem;
    min-height: 1.25rem;
    align-items: center;
    line-height: 1.25rem !important;
  }
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .home-product-bonus-icon,
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .home-rating-star > svg,
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .home-product-review-count > svg {
    display: block;
    flex: none;
  }
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .home-product-rating {
    min-width: 0;
    max-width: 100%;
    flex: 1 1 auto;
    align-self: center;
    overflow: hidden;
  }
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .home-product-feedback-trigger {
    position: static;
    right: auto;
    bottom: auto;
    width: 2rem !important;
    min-width: 2rem !important;
    max-width: 2rem !important;
    height: 2rem !important;
    min-height: 2rem !important;
    max-height: 2rem !important;
    margin-left: auto !important;
    padding: 0 !important;
    border-color: transparent !important;
    background: transparent !important;
  }
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .home-product-feedback-trigger:hover,
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .home-product-feedback-trigger:focus-visible { background: var(--color-base-200) !important; }
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .home-product-feedback-trigger > svg {
    width: 1.25rem !important;
    height: 1.25rem !important;
  }
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .home-product-media > .home-favorite-button {
    top: 0 !important;
    right: 0 !important;
    width: 2.5rem !important;
    min-width: 2.5rem !important;
    max-width: 2.5rem !important;
    height: 2.5rem !important;
    min-height: 2.5rem !important;
    max-height: 2.5rem !important;
  }
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .home-product-media > .home-favorite-button > svg {
    width: 1.25rem !important;
    height: 1.25rem !important;
  }
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .product-gallery-arrow-shell-prev { left: 0.25rem; }
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .product-gallery-arrow-shell-next { right: 0.25rem; }
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .product-gallery-arrow-shell .btn {
    position: relative;
    width: 2.5rem !important;
    min-width: 2.5rem !important;
    max-width: 2.5rem !important;
    height: 2.5rem !important;
    min-height: 2.5rem !important;
    max-height: 2.5rem !important;
    padding: 0 !important;
    border-color: transparent !important;
    background: transparent !important;
  }
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .product-gallery-arrow-shell .btn::before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2rem;
    height: 2rem;
    border-radius: var(--radius-field);
    background: var(--color-base-100);
    translate: -50% -50%;
    content: "";
  }
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .product-gallery-arrow-shell .btn:hover::before,
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .product-gallery-arrow-shell .btn:focus-visible::before { background: var(--color-base-200); }
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .product-gallery-arrow-shell .btn > svg { position: relative; z-index: 1; }
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .product-gallery-arrow-shell-prev .btn > svg { translate: -1px 0; }
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .product-gallery-arrow-shell-next .btn > svg { translate: 1px 0; }
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .product-gallery-dots { height: 1.5rem; min-height: 1.5rem; flex-basis: 1.5rem; }
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .product-gallery-dot { width: 1rem; min-width: 1rem; height: 1rem; min-height: 1rem; border-radius: 0.125rem; }
  :is(.storefront-showcase-product-card, #catalog-products [data-storefront-product-card]) .product-gallery-dot::before { width: 0.375rem; height: 0.375rem; border-radius: 0.125rem; }
}
@media (min-width: 1280px) {
  #product-main .product-detail-layout {
    grid-template-columns: minmax(0, 1.7fr) minmax(0, 1.25fr) 22rem;
    gap: 2.5rem;
  }
  #product-main .product-desktop-seller-sticky { display: block; }
  #product-main .product-detail-responsive-seller { display: none; }
}
:where([data-home-collection="best"]) .home-shelf-actions .btn,
:where([data-home-collection="best"]) .home-shelf-actions .btn.is-active {
  border-color: transparent !important;
  background: var(--color-base-100) !important;
}
:where([data-home-collection="best"]) .home-shelf-actions .btn:hover,
:where([data-home-collection="best"]) .home-shelf-actions .btn:focus-visible {
  border-color: transparent !important;
  background: var(--color-base-200) !important;
}

.home-main :is([data-home-show-more], #home-occasions-more),
#product-main [data-recommendation-section] [data-home-show-more-wrap] > .btn {
  height: 3rem !important;
  min-height: 3rem !important;
  max-height: 3rem !important;
}

@media (min-width: 1920px) {
  .home-main :is([data-home-show-more], #home-occasions-more),
  #product-main [data-recommendation-section] [data-home-show-more-wrap] > .btn {
    height: 2.5rem !important;
    min-height: 2.5rem !important;
    max-height: 2.5rem !important;
  }
}

/* Shared page-end rhythm mirrors the spacing between top-level content blocks. */
body:not(.checkout-page) > main { padding-bottom: 3rem !important; }
body:not(.checkout-page):has(> #storefront-footer) {
  display: flex;
  min-height: 100vh;
  min-height: 100dvh;
  flex-direction: column;
}
body:not(.checkout-page):has(> #storefront-footer) > :is(#storefront-header, #storefront-footer) { flex: none; }
body:not(.checkout-page):has(> #storefront-footer) > main { flex: 1 0 auto; }
@media (min-width: 1280px) {
  body:not(.checkout-page) > main,
  body.checkout-page > main.checkout-main { padding-bottom: 3rem !important; }
}

.home-product-promo .home-promo-watch {
  width: 100% !important;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-inline: 0.5rem !important;
}
.home-product-promo .card-body { padding: 0.5rem !important; }

.home-ad-badge {
  font-size: 0.75rem !important;
  line-height: 1rem !important;
}

#storefront-header .storefront-header-actions :is([data-profile-control], a[href="login.html"]) svg,
#storefront-main-shell .storefront-header-actions :is([data-profile-control], a[href="login.html"]) svg,
.storefront-mobile-bottom-nav :is([data-profile-control], a[href="account.html"]) svg {
  width: 1.5rem !important;
  height: 1.5rem !important;
}

#storefront-header :is(.storefront-header-address, .storefront-mobile-address) svg,
#storefront-main-shell :is(.storefront-header-address, .storefront-mobile-address) svg {
  color: var(--color-base-content) !important;
}

#storefront-header .storefront-header-actions [data-auth-private] svg,
#storefront-main-shell .storefront-header-actions [data-auth-private] svg,
#storefront-header .storefront-mobile-notification svg,
#storefront-main-shell .storefront-mobile-notification svg {
  color: var(--color-base-content) !important;
}

#storefront-header .storefront-header-actions :is([data-profile-control], a[href="login.html"]) svg,
#storefront-main-shell .storefront-header-actions :is([data-profile-control], a[href="login.html"]) svg {
  color: var(--color-base-content) !important;
}

[data-empty-cart-recommendations] .home-product-price-row > strong {
  font-size: 1.125rem !important;
  line-height: 1.5rem !important;
}

[data-storefront-product-card] .home-product-price-row > strong {
  font-size: 1.125rem !important;
  line-height: 1.5rem !important;
}

[data-empty-cart-recommendations] .home-product-content {
  padding-bottom: 0 !important;
}

#cart-drawer-shell:has([data-empty-cart-recommendations]) .storefront-cart-panel > div:first-child > .btn,
#cart-drawer-shell:has([data-empty-cart-recommendations]) .storefront-cart-scroll > .card :is(svg, h3, p) {
  color: color-mix(in oklab, var(--color-base-content) 60%, transparent) !important;
}

@media (min-width: 768px) {
  .home-shelf-actions [data-home-shelf-favorite] {
    display: grid !important;
    width: 10.5rem !important;
    min-width: 10.5rem !important;
    max-width: 10.5rem !important;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    align-items: center;
    column-gap: 0.5rem;
    justify-content: normal;
    white-space: nowrap;
  }
  .home-shelf-actions [data-home-shelf-favorite] > svg { grid-column: 1; justify-self: center; }
  .home-shelf-actions [data-home-shelf-favorite] > .home-shelf-action-label { grid-column: 2; min-width: 0; justify-self: start; text-align: left; }
}

/* Header, shelf and promotional density refinements. */
[data-header-search] input::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 40%, transparent) !important;
}

@media (min-width: 1280px) {
  .storefront-desktop-grid.navbar { padding-inline: 0 !important; }
  .storefront-mega {
    top: calc(100% - 0.5rem) !important;
    right: 1.5rem !important;
    left: 1.5rem !important;
    padding-right: 0 !important;
  }
}

.storefront-promo-unique,
.storefront-promo-express {
  padding-inline: 1.5rem !important;
  font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.25rem !important;
  font-weight: 500 !important;
}
.storefront-header-promos :where(a, span) {
  font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.25rem !important;
  font-weight: 500 !important;
}
.mega-dock.tabs-box {
  position: relative;
  display: inline-flex;
  isolation: isolate;
}
.mega-dock .mega-active-surface {
  position: absolute;
  z-index: 0;
  top: 0.25rem;
  bottom: 0.25rem;
  left: 0.25rem;
  width: 9rem;
  transform: translateX(0);
  transition: transform 275ms cubic-bezier(.22,1,.36,1);
  pointer-events: none;
}
.mega-dock .mega-active-surface[data-position="occasions"] { transform: translateX(9rem); }
.mega-dock > [data-mega-button] {
  width: 9rem;
  min-width: 9rem;
}
.mega-dock .tab,
.mega-dock .tab.tab-active {
  position: relative;
  z-index: 1;
  background: transparent !important;
}
.mega-dock .mega-tab-content {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
}
.mega-dock .tab.tab-active { color: var(--color-primary-content) !important; }
@media (prefers-reduced-motion: reduce) {
  .mega-dock .mega-active-surface { transition: none; }
}

@media (min-width: 1280px) {
  .storefront-mega-content.mega-navigation-transitioning { position: relative; }
  .mega-navigation-transition-layer {
    position: absolute !important;
    z-index: 2;
    inset: 1.5rem;
    pointer-events: none;
  }
  .mega-navigation-transition-layer.mega-catalog-layout {
    grid-template-columns: minmax(var(--mega-sidebar-track, 16rem), 1fr) var(--mega-grid-width) var(--mega-l3-size) !important;
  }
  .mega-navigation-promo-placeholder { grid-column: 3; visibility: hidden; }
}

.home-main .home-visible-section-header h2,
.home-main .home-product-section-header h2,
#product-main [data-recommendation-section] > div:first-child h2 {
  font-size: 1.25rem !important;
  line-height: 1.5rem !important;
}
.home-main .home-visible-section-header p,
.home-main .home-product-section-header p,
#product-main [data-recommendation-section] > div:first-child p {
  font-size: 0.875rem !important;
  line-height: 1.25rem !important;
}

.home-promo-control {
  height: 2.5rem;
  padding-right: 3rem;
}
.home-promo-code {
  height: 2.5rem !important;
  min-height: 2.5rem !important;
  padding-inline: 1rem;
  font-weight: 700;
}
.home-promo-copy {
  width: 2.5rem !important;
  min-width: 2.5rem !important;
  height: 2.5rem !important;
  min-height: 2.5rem !important;
}
@media (min-width: 768px) {
  /* Match the global heading rule's two-ID specificity without changing other headings. */
  :root #home-care#home-care .home-care-banner h2 { font-size: 16px !important; line-height: 20px !important; }
  .home-care-banner .home-promo-code { font-size: 12px; }
}

.home-main .home-occasion-tile .card-body { padding: 0.5rem !important; }
.home-main .home-occasion-copy {
  top: 0.5rem !important;
  left: 0.5rem !important;
  max-width: calc(100% - 1rem);
}

/* Mobile refinements of existing component sizes and top-level section rhythm. */
@media (max-width: 767px) {
  .home-main :is([data-home-show-more], #home-occasions-more),
  #product-main [data-recommendation-section] [data-home-show-more-wrap] > .btn,
  .mega-occasion-more,
  [data-filter-group] > button.btn {
    height: 2.5rem !important;
    min-height: 2.5rem !important;
    max-height: 2.5rem !important;
  }

  .storefront-shell-page h3 { font-size: 16px !important; }
  .home-main .home-product-promo h3,
  .home-main .home-occasion-tile h3.card-title { font-size: 12px !important; }
  .checkout-page h3,
#storefront-address-title,
#storefront-notification-title,
#storefront-address-form-title,
#storefront-auth-title,
#cart-drawer-shell #storefront-cart-title { font-size: 14px !important; }
  .mega-occasion-heading h3,
  .mega-occasion-heading-compact h3,
  .mega-occasion-group > h3 { font-size: 16px !important; }

  .home-main-content,
  #home-collections { gap: 2rem !important; }
  #product-main [data-product-detail-lower-row] { row-gap: 2rem; }
  #product-main .product-detail-layout { row-gap: 0; }
  #product-main .product-detail-mobile-gallery-shell { padding-bottom: 1rem; }
  #product-main :is([data-product-detail-lower-row], [data-recommendation-section]) {
    margin-top: 2rem;
  }
  #product-main [data-product-extras] {
    margin-top: 2rem !important;
  }
  .checkout-layout > .space-y-6 > section { margin-block: 0; }
  .checkout-layout > .space-y-6 > section + section { margin-block-start: 2rem; }
  #shop-main > :is(section, .grid):not(:first-child),
  #author-main > section,
  #article-main > section,
  #account-main > :is(.stats, section) { margin-top: 2rem; }
  #shop-main > .grid,
  #shop-main > .grid > section { row-gap: 2rem; }
  #shop-main > .grid > section > article { margin-block: 0; }
  #shop-main > .grid > section > article + article { margin-block-start: 2rem; }

  #product-main .product-detail-tabs > .tab-content { padding: 1rem; }
  [data-home-collection="best"].home-collection-gradient { padding: 1rem !important; }

  #product-main .product-detail-mobile-gallery > [data-product-page-favorite] {
    top: 0;
    right: 0;
    width: 3rem !important;
    min-width: 3rem !important;
    max-width: 3rem !important;
    height: 3rem !important;
    min-height: 3rem !important;
    max-height: 3rem !important;
    padding: 0;
    border-color: transparent !important;
    background: transparent !important;
  }
  #product-main .product-detail-mobile-gallery > [data-product-page-favorite]:not(.is-active) {
    color: white !important;
  }
  #product-main .product-detail-mobile-gallery > [data-product-page-favorite].is-active {
    color: var(--color-primary) !important;
  }

  #product-main .product-detail-mobile-price {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
  }
  #product-main .product-detail-mobile-price > div {
    align-items: baseline;
    flex-wrap: wrap;
    white-space: normal;
  }
  #product-main .product-detail-mobile-price .product-price-current { font-size: 20px; }
  #product-main .product-detail-mobile-price .product-detail-bonus {
    flex: none;
    margin-left: auto;
    justify-content: flex-end;
    align-self: center;
    align-items: center;
    height: 30px;
    min-height: 30px;
    line-height: 16px;
  }
  #product-main [data-product-extras] > h3 { font-size: 16px !important; }
  #product-main .product-extra-card .home-product-price-row > strong { font-size: 16px !important; }
  [data-storefront-product-card] .home-product-price-row > strong { font-size: 14px !important; line-height: 20px !important; }
  [data-storefront-product-card] .product-discount-percent { font-size: 12px !important; }
  [data-storefront-product-card] .home-product-content { padding-block: 0.5rem !important; }
  [data-storefront-product-card] > .product-gallery-dots { display: none; }

  /* Mobile: bonus and rating share one row, bonus on the left, as on web. */
  [data-storefront-product-card] .home-product-content > .home-product-price-row {
    flex-wrap: wrap;
    gap: 0 0.125rem;
    white-space: normal;
  }
  [data-storefront-product-card] .home-product-meta {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start !important;
    gap: 0.25rem 0.5rem;
    margin-top: auto;
  }
  [data-storefront-product-card] .home-product-meta > .home-product-bonus {
    height: 1.5rem;
    min-height: 1.5rem;
    align-items: center;
    line-height: 16px !important;
  }
  [data-storefront-product-card] .home-product-bonus-value { line-height: 16px !important; }
  [data-storefront-product-card] .home-product-bonus-icon,
  #product-main .product-detail-mobile-price .home-product-bonus-icon { width: 16px; height: 16px; }
  [data-storefront-product-card] .home-product-meta > .home-product-rating {
    min-width: 0;
    height: 1.5rem;
    min-height: 1.5rem;
  }
  [data-storefront-product-card] .home-product-meta > .home-product-feedback-trigger {
    position: static;
    width: 1.5rem !important;
    min-width: 1.5rem !important;
    max-width: 1.5rem !important;
    height: 1.5rem !important;
    min-height: 1.5rem !important;
    max-height: 1.5rem !important;
    padding: 0 !important;
  }

  /* Extras scale around their existing bottom-right anchor, without button transforms. */
  #product-main .product-extra-card .product-cart-control-compact {
    height: 2rem !important;
    border-radius: calc(var(--radius-field) * 0.8) !important;
  }
  #product-main .product-extra-card .product-cart-control-compact.is-empty { width: 2rem !important; }
  #product-main .product-extra-card .product-cart-control-compact.is-filled { width: calc((100% - 1rem) * 0.8); }
  #product-main .product-extra-card .product-cart-add {
    width: 2rem !important;
    min-width: 2rem !important;
    max-width: 2rem !important;
    height: 2rem !important;
    min-height: 2rem !important;
    max-height: 2rem !important;
    border-radius: calc(var(--radius-field) * 0.8);
  }
  #product-main .product-extra-card .product-cart-stepper {
    height: 2rem !important;
    min-height: 2rem !important;
    max-height: 2rem !important;
    padding: 0.2rem !important;
    grid-template-columns: 1.6rem minmax(0, 1fr) 1.6rem !important;
    border-radius: calc(var(--radius-field) * 0.8);
  }
  #product-main .product-extra-card .product-cart-stepper .btn {
    width: 1.6rem !important;
    min-width: 1.6rem !important;
    max-width: 1.6rem !important;
    height: 1.6rem !important;
    min-height: 1.6rem !important;
    max-height: 1.6rem !important;
    border-radius: calc(var(--radius-field) * 0.8) !important;
  }
  #product-main .product-extra-card .product-cart-control svg { width: 1rem !important; height: 1rem !important; }
  #product-main .product-extra-card [data-cart-qty] { font-size: 12px !important; line-height: 1rem !important; }
}

/* Shared address picker: archived schematic map, locally scoped. */
.storefront-pickup-map-canvas {
  background:
    radial-gradient(circle at 20% 28%, color-mix(in oklab, var(--color-base-100) 58%, transparent) 0 1.5rem, transparent 1.5rem),
    linear-gradient(135deg, var(--color-base-200) 0 52%, color-mix(in oklab, var(--color-base-300) 70%, var(--color-base-100)) 52% 100%);
}
.storefront-pickup-map-water {
  position: absolute;
  inset: -15% 58% -10% -18%;
  border-radius: 42% 58% 55% 45%;
  background: color-mix(in oklab, var(--color-info) 28%, var(--color-base-100));
  transform: rotate(-8deg);
}
.storefront-pickup-map-district {
  position: absolute;
  border: 2px solid color-mix(in oklab, var(--color-base-content) 10%, transparent);
  border-radius: 45% 55% 48% 52%;
  background: color-mix(in oklab, var(--color-base-100) 42%, transparent);
}
.storefront-pickup-map-district-one { inset: 8% 8% 50% 52%; }
.storefront-pickup-map-district-two { inset: 44% 20% 8% 48%; }
.storefront-pickup-map-district-three { inset: 30% 52% 18% 28%; }
.storefront-pickup-map-street {
  position: absolute;
  left: 28%;
  width: 76%;
  height: 2px;
  border-radius: var(--radius-selector);
  background: color-mix(in oklab, var(--color-base-100) 86%, var(--color-base-content));
  transform-origin: left center;
}
.storefront-pickup-map-street-1 { top: 18%; transform: rotate(12deg); }
.storefront-pickup-map-street-2 { top: 30%; transform: rotate(-8deg); }
.storefront-pickup-map-street-3 { top: 43%; transform: rotate(18deg); }
.storefront-pickup-map-street-4 { top: 57%; transform: rotate(-16deg); }
.storefront-pickup-map-street-5 { top: 70%; transform: rotate(9deg); }
.storefront-pickup-map-street-6 { top: 82%; transform: rotate(-5deg); }
.storefront-pickup-map-street-7 { top: 8%; left: 48%; width: 2px; height: 84%; transform: rotate(7deg); }
.storefront-pickup-map-street-8 { top: 5%; left: 68%; width: 2px; height: 88%; transform: rotate(-10deg); }
.storefront-pickup-map-city-label {
  position: absolute;
  top: 1rem;
  left: 1rem;
  padding: 0.25rem 0.5rem;
  border-radius: var(--radius-field);
  background: color-mix(in oklab, var(--color-base-100) 86%, transparent);
  color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
  font-size: 0.75rem;
  font-weight: 600;
}

/* These effects need local CSS: continuous tab indicators, map positioning and balloon seam. */
#storefront-header .storefront-header-address.btn,
#storefront-main-shell .storefront-header-address.btn,
#storefront-header .storefront-mobile-address.btn,
#storefront-main-shell .storefront-mobile-address.btn {
  background: var(--color-base-100) !important;
  border: 2px solid var(--color-primary) !important;
  color: var(--color-base-content) !important;
}
#storefront-header .storefront-header-address.btn svg,
#storefront-main-shell .storefront-header-address.btn svg,
#storefront-header .storefront-mobile-address.btn svg,
#storefront-main-shell .storefront-mobile-address.btn svg { color: var(--color-primary) !important; }
body:has([data-address-balloon-backdrop]) :is(#storefront-header, #storefront-main-shell) :is(.storefront-header-address.btn, .storefront-mobile-address.btn) { border-color: transparent !important; }

/* Account navigation and Favorites card states. */
body.account-page.bg-base-100 #sidebar > aside.account-sidebar.card {
  border: 2px solid var(--color-base-300);
  border-radius: var(--radius-box);
}
body.account-page .account-sidebar .card-body { padding: 1.5rem; }
body.account-page .account-sidebar .menu { padding: 0; }
body.account-page .account-sidebar .menu a { border-radius: var(--radius-field); font-size: 1rem; font-weight: 600; }
body.account-page .account-sidebar .menu a.menu-active,
body.account-page .account-sidebar .menu a.menu-active:is(:hover, :focus, :focus-visible, :active) { background: transparent !important; color: var(--color-primary) !important; }
body.account-page .account-sidebar .menu a.menu-active svg { color: var(--color-primary) !important; }
#sidebar .account-mobile-nav > summary { list-style: none; }
#sidebar .account-mobile-nav > summary::-webkit-details-marker { display: none; }
#sidebar .account-mobile-nav[open] .account-mobile-chevron { rotate: 180deg; }
#sidebar .account-mobile-nav > .collapse-content { padding: 0 0 0.5rem; }
#sidebar .account-mobile-nav > summary,
#sidebar .account-mobile-nav .menu a {
  box-sizing: border-box;
  display: flex;
  min-height: 3.75rem;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
}
#sidebar .account-mobile-nav :is(summary, .menu a) > svg { width: 1.25rem; height: 1.25rem; flex: none; }
#sidebar .account-mobile-nav .menu a.menu-active,
#sidebar .account-mobile-nav .menu a.menu-active:is(:hover, :focus, :focus-visible, :active) { background: transparent !important; color: var(--color-primary) !important; }
#sidebar .account-mobile-nav .menu a.menu-active svg { color: var(--color-primary) !important; }
#favorites-main .favorites-product-card { position: relative; }
#favorites-main .favorites-card-link { position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
#favorites-main .favorites-card-link:focus-visible { outline: 2px solid var(--color-primary); outline-offset: -2px; }
#favorites-main .favorites-product-card :is(.home-product-name, .home-product-rating, .home-product-feedback-trigger, .product-gallery-dots) { position: relative; z-index: 2; }
#favorites-main .favorites-product-card .product-cart-control { z-index: 2; }
@media (max-width: 767px) {
  #favorites-main .favorites-product-card .home-product-content > .favorites-address-status {
    grid-column: 1 / -1;
    grid-row: 4;
    width: 100%;
    min-width: 0;
    overflow-wrap: break-word;
  }
  #favorites-main .favorites-sold-out-card .home-product-bonus { display: none !important; }
  #favorites-main .favorites-sold-out-card .home-product-price-row { grid-column: 1 / -1; }
}
[data-address-balloon] > span { z-index: 1; }
[data-address-balloon] .card-body > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
[data-address-balloon] .card-body > div > .btn { height: 32px !important; min-height: 32px !important; max-height: 32px !important; }
[data-address-balloon] .card-body > p { line-height: 18px; }
.storefront-address-mode-view { height: 440px; overflow-x: hidden; overflow-y: auto; }
#storefront-address-dialog [data-pickup-view] { height: 328px; }
#storefront-address-title[tabindex="-1"],
#storefront-address-form-title[tabindex="-1"] { outline: none; }
.storefront-address-mode-tabs,
.storefront-pickup-view-tabs { position: relative; isolation: isolate; }
#storefront-address-dialog .storefront-address-panel { width: min(480px, 100vw); max-width: 480px !important; }
.storefront-address-mode-tabs.tabs-box { height: 40px; min-height: 40px; padding: 4px; }
.storefront-address-mode-tabs .tab { height: 32px; min-height: 32px; font-weight: 600; }
.storefront-address-mode-tabs::before,
.storefront-pickup-view-tabs::before {
  content: ''; position: absolute; pointer-events: none;
  transition: transform 180ms cubic-bezier(.16,1,.3,1);
  background: var(--color-primary); z-index: -1;
}
.storefront-address-mode-tabs::before { inset: 4px auto 4px 4px; width: calc(50% - 4px); border-radius: var(--radius-field); }
.storefront-pickup-view-tabs::before { bottom: 0; left: 0; height: 2px; width: 50%; }
.storefront-address-mode-tabs[data-second="true"]::before,
.storefront-pickup-view-tabs[data-second="true"]::before { transform: translateX(100%); }
.storefront-address-mode-tabs.tabs .tab-active:not([disabled]) { background: transparent !important; }
.storefront-pickup-view-tabs.tabs .tab::before,
.storefront-pickup-view-tabs.tabs .tab::after { display: none; }
.storefront-pickup-identity { grid-template-columns: 24px minmax(0, 1fr); width: 100%; overflow-wrap: anywhere; }
.storefront-pickup-identity > svg { grid-row: 1 / 3; align-self: start; margin-top: 2px; }
.storefront-pickup-identity > span { grid-column: 2; line-height: 18px; }
.storefront-pickup-option.btn { height: auto !important; min-height: 76px !important; max-height: none !important; border: 2px solid var(--color-base-300) !important; padding-block: 14px !important; transition: transform 180ms ease-out, border-color 180ms ease-out, background-color 180ms ease-out; }
.storefront-pickup-option.btn:is(:hover, :focus-visible) { background: var(--color-base-100) !important; border-color: color-mix(in oklab, var(--color-base-content) 28%, var(--color-base-300)) !important; transform: translateX(4px) !important; }
.storefront-pickup-option.btn.storefront-address-selected,
.storefront-pickup-option.btn.storefront-address-selected:is(:hover, :focus-visible, :active) { border-color: var(--color-primary) !important; }
.storefront-address-panel { --address-panel-gutter: 24px; overflow-x: hidden; }
.storefront-address-mode-view:has(.storefront-pickup-results),
[data-pickup-view]:has(.storefront-pickup-results) { overflow: visible; }
.storefront-pickup-list-frame { width: calc(100% + var(--address-panel-gutter)); }
.storefront-pickup-results { grid-auto-rows: max-content; align-items: start; padding-right: calc(var(--address-panel-gutter) - 4px); scrollbar-width: auto !important; scrollbar-color: auto !important; }
.storefront-pickup-results::-webkit-scrollbar { display: block !important; width: 4px !important; }
.storefront-pickup-results::-webkit-scrollbar-thumb { background: color-mix(in oklab, var(--color-base-content) 22%, transparent) !important; border-radius: var(--radius-field); }
@media (max-width: 767px) {
  .storefront-address-panel { --address-panel-gutter: 16px; }
}
.storefront-pickup-pin.btn { width: 40px; height: 40px; min-height: 40px; padding: 0; border: 2px solid var(--color-base-100) !important; transform: translate(-50%, -50%) !important; z-index: 2; outline: 0 solid transparent; outline-offset: 0; transform-origin: center; transition: transform 160ms ease-out, border-color 160ms ease-out, outline-color 160ms ease-out, outline-width 160ms ease-out, outline-offset 160ms ease-out; }
#storefront-address-dialog .storefront-pickup-pin.btn { transform: translate(-50%, -50%) !important; }
#storefront-address-dialog .storefront-pickup-pin.btn:is(:hover, :focus-visible) { transform: translate(-50%, calc(-50% - 4px)) !important; border-color: var(--color-primary-content) !important; outline: 6px solid color-mix(in oklab, var(--color-primary) 24%, transparent); outline-offset: 2px; }
.storefront-pickup-pin.is-selected { outline: 4px solid color-mix(in oklab, var(--color-primary) 28%, transparent); }
#storefront-address-dialog .storefront-pickup-pin.is-selected:is(:hover, :focus-visible) { outline-width: 6px; outline-color: color-mix(in oklab, var(--color-primary) 32%, transparent); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  .storefront-address-mode-tabs::before, .storefront-pickup-view-tabs::before { transition: none; }
  .storefront-pickup-option.btn, .storefront-pickup-pin.btn { transition: none; }
}
/* Единая шкала заголовков выше прежних локальных правил страниц, включая mobile. */
:root :is(h2, #cart-drawer-shell h2#storefront-cart-title) { font-size: 20px !important; line-height: 24px !important; }
:root :is(h3, #cart-drawer-shell h3#storefront-cart-title) { font-size: 18px !important; line-height: 24px !important; }
#product-main [data-product-extras] h3#product-extras-title { font-size: 16px !important; }
/* Штатная неактивная палитра поверх общих цветов корзины; только покупка текущего товара. */
#product-main [data-cart-change-handler="changeCurrentProductCartQty"] .btn:disabled,
#product-main [data-product-extra-toggle] .btn:disabled,
#product-main [data-product-extra-toggle] .btn:disabled > span {
  border-color: transparent !important;
  background: var(--color-base-200) !important;
  color: color-mix(in oklab, var(--color-base-content) 40%, transparent) !important;
  cursor: not-allowed;
}

/* Доп. товары: процент скидки вынесен бейджем на фото, в строке только цена и старая цена; название — в одну строку. */
#product-main .product-extra-card .home-product-price-row { min-height: 1.5rem; flex-wrap: nowrap; align-items: baseline; gap: 0.25rem; overflow: hidden; }
#product-main .product-extra-card .home-product-price-row > strong { font-size: 0.875rem !important; line-height: 1.25rem !important; }
#product-main .product-extra-card .home-product-price-row > strong { font-size: 0.875rem !important; }
#product-main .product-extra-card .home-product-price-row > .product-price-old { font-size: 0.6875rem !important; line-height: 1rem !important; }
#product-main .product-extra-card .home-product-price-row > .product-discount-percent { display: none; }
#product-main .product-extra-card .home-product-name { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#product-main .product-extra-card .product-media-tags { top: 0.375rem; left: 0.375rem; max-width: calc(100% - 3rem); }
#product-main .product-extra-card .product-media-tags .badge { min-height: 1.25rem; padding-inline: 0.5rem; font-size: 0.6875rem; line-height: 1rem; }
/* body — flex-контейнер: без min-width:0 main растягивается по широкому содержимому (галерея, крошки) и ломает мобильную вёрстку. */
main.storefront-shell-page { min-width: 0; max-width: 100%; flex-shrink: 1; }

/* Карточка допника открывает модальное окно с описанием. */
#product-main .product-extra-card { cursor: pointer; }
#product-main .product-extra-card:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }

@media (max-width: 380px) {
  #product-main .product-extra-card .home-product-price-row > .product-price-old { font-size: 0.5625rem !important; }
  #product-main .product-extra-card .home-product-name { font-size: 0.625rem !important; }
}

/* Desktop extras use the same price and name scale as ordinary product cards. */
@media (min-width: 768px) {
  #product-main .product-extra-card .home-product-content { gap: 0.25rem !important; padding: 1rem 0.5rem 1rem !important; }
  #product-main .product-extra-card .home-product-price-row { flex-wrap: wrap; gap: 0.25rem; overflow: visible; min-height: 1.5rem; white-space: normal; }
  #product-main .product-extra-card .home-product-price-row > strong { font-size: 1.125rem !important; line-height: 1.5rem !important; }
  #product-main .product-extra-card .home-product-price-row > .product-price-old { font-size: 0.75rem !important; line-height: 1rem !important; }
  #product-main .product-extra-card .home-product-price-row > .product-discount-percent { display: inline; font-size: 0.75rem !important; line-height: 1rem !important; }
  #product-main .product-extra-card .home-product-name { display: -webkit-box; overflow: hidden; text-overflow: clip; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 3; font-size: 0.75rem !important; line-height: 1rem !important; }
}

/* Thousands separator in prices is 1.5x narrower (Montserrat space ≈ 0.26em → −0.12em). */
.home-product-price-row > strong,
.home-product-price-row > .product-price-old,
.product-price-current,
.product-price-old { word-spacing: -0.175em; }

/* Mobile home: 16px page gutter and 12px gaps between product cards. */
@media (max-width: 767px) {
  .home-main { padding-inline: 16px !important; }
  [data-home-collection="best"].home-collection-gradient {
    width: calc(100% + 32px);
    margin-inline: -16px !important;
    padding: 16px !important;
  }
}

/* Product shelves use the tighter 12px gap on mobile. */
@media (max-width: 767px) {
  .home-product-wrap-grid,
  .home-commercial-shelf,
  #catalog-products,
  :has(> [data-storefront-product-card]) { gap: 12px !important; }
}
@media (min-width: 768px) {
  #product-main [data-recommendation-section] .home-product-wrap-grid { gap: 16px !important; }
}

.home-product-promo .home-promo-watch {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.home-product-promo .home-promo-watch > span { text-align: center; }
.home-product-promo .home-promo-watch > svg {
  position: absolute;
  top: 50%;
  right: 8px;
  translate: 0 -50%;
}

.home-product-media .product-gallery-outgoing-image {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  pointer-events: none;
  transition: opacity 240ms ease;
}
.home-product-media .product-gallery-outgoing-image.is-fading { opacity: 0; }
.product-gallery-mobile-track { display: none; }
#product-extra-dialog [data-extra-arrow],
#product-extra-dialog [data-extra-arrow]:is(:hover, :focus, :focus-visible, :active) {
  border-color: var(--color-base-100) !important;
  background: var(--color-base-100) !important;
  color: var(--color-base-content) !important;
  box-shadow: none !important;
}
#product-extra-dialog button[aria-label="Закрыть"],
#product-extra-dialog button[aria-label="Закрыть"]:is(:hover, :focus, :focus-visible, :active) {
  background: var(--color-base-100) !important;
  opacity: 1 !important;
}
@media (max-width: 767px) {
  #product-extra-dialog.modal { align-items: flex-end; padding: 0; }
  #product-extra-dialog > .modal-box {
    max-height: calc(100dvh - 1rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    border-radius: var(--radius-box) var(--radius-box) 0 0;
  }
  #product-extra-dialog[open]:not(.is-closing) > .modal-box { animation: product-extra-sheet-in 280ms cubic-bezier(.22, 1, .36, 1) both; }
  #product-extra-dialog.is-closing > .modal-box { animation: product-extra-sheet-out 240ms cubic-bezier(.4, 0, .2, 1) both; }
}
@keyframes product-extra-sheet-in { from { transform: translateY(100%); } to { transform: translateY(0); } }
@keyframes product-extra-sheet-out { from { transform: translateY(0); } to { transform: translateY(100%); } }
@media (prefers-reduced-motion: reduce) {
  #product-extra-dialog > .modal-box { animation: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .home-product-media .product-gallery-outgoing-image { transition: none; }
}

@media (max-width: 767px) {
  /* Keep the mobile shelves concise and align the dock with the page gutter. */
  body:has(.home-main) .storefront-mobile-bottom-nav {
    right: 16px !important;
    left: 16px !important;
    width: calc(100% - 32px) !important;
    max-width: none !important;
  }

  [data-storefront-product-card] .home-product-content > .home-product-price-row {
    align-items: center;
    column-gap: 4px;
    row-gap: 2px;
  }
  [data-storefront-product-card] .home-product-price-row > .product-price-old {
    font-size: 10px !important;
    line-height: 20px !important;
  }
  [data-storefront-product-card] .home-product-price-row > .product-discount-percent { line-height: 20px !important; }
  [data-storefront-product-card] .home-product-meta {
    overflow: visible;
    padding-right: 0;
  }
  [data-storefront-product-card] .home-product-meta > .home-product-bonus { flex: none; }
  [data-storefront-product-card] .home-product-media[data-product-gallery] { touch-action: auto; }
  [data-storefront-product-card] .home-product-media > .product-gallery-desktop-link { display: none; }
  [data-storefront-product-card] .product-gallery-mobile-track {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }
  [data-storefront-product-card] .product-gallery-mobile-track::-webkit-scrollbar { display: none; }
  [data-storefront-product-card] .product-gallery-mobile-slide {
    display: block;
    width: 100%;
    height: 100%;
    flex: 0 0 100%;
    scroll-snap-align: start;
  }
  [data-storefront-product-card] .product-gallery-mobile-slide > img { display: block; width: 100%; height: 100%; object-fit: cover; }
  [data-storefront-product-card] .home-product-media > :is(.product-media-tags, .product-cart-control) { z-index: 3; }
  [data-storefront-product-card] .product-gallery-arrow-shell { display: none !important; }

  .home-main .home-product-section-header { align-items: center; }
  .home-main .home-shelf-actions { align-self: center; }
  .home-main .home-shelf-actions .btn {
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    padding: 0 !important;
  }
  .home-main .home-shelf-actions .btn > svg { width: 16px !important; height: 16px !important; }

  .home-product-promo .home-promo-watch { position: relative; text-align: center; }
  .home-product-promo .home-promo-watch > span { text-align: center; }
  .home-product-promo .home-promo-watch > svg { position: absolute; right: 8px; }

  /* Product extras use the same two-column card rhythm and price sizes as the shelves. */
  #product-main .product-extra-card .home-product-content { padding: 8px !important; }
  #product-main .product-extra-card .home-product-price-row {
    min-height: 20px;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 4px;
    row-gap: 2px;
    overflow: visible;
    white-space: normal;
  }
  #product-main .product-extra-card .home-product-price-row > strong {
    font-size: 14px !important;
    line-height: 20px !important;
  }
  #product-main .product-extra-card .home-product-price-row > .product-price-old {
    font-size: 10px !important;
    line-height: 16px !important;
  }
  #product-main .product-extra-card .home-product-price-row > .product-discount-percent {
    display: inline;
    font-size: 12px !important;
    line-height: 16px !important;
  }
  #product-main .product-extra-card .home-product-name {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    white-space: normal;
    font-size: 12px !important;
    line-height: 16px !important;
  }
  #product-main .product-extra-card .product-cart-control-compact,
  #product-main .product-extra-card .product-cart-control-compact.is-empty,
  #product-main .product-extra-card .product-cart-add {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
  }
  #product-main .product-extra-card .storefront-extra-toggle > .storefront-extra-plus-icon,
  #product-main .product-extra-card .storefront-extra-toggle .storefront-extra-remove svg { width: 20px !important; height: 20px !important; }
}

/* Match the extra toggle frame to the regular product-card add button. */
#product-main .product-extra-card .storefront-extra-toggle {
  border: 2px solid var(--color-primary) !important;
  border-radius: var(--radius-field) !important;
}
#product-main .product-extra-card .storefront-extra-toggle[aria-pressed="true"] {
  border-color: var(--color-base-200) !important;
}
#product-main .product-extra-card .storefront-extra-toggle[aria-pressed="true"]:is(:hover, :focus-visible) {
  border-color: var(--color-base-300) !important;
}

@media (max-width: 767px) {
  :root #product-main [data-product-mobile-seller] h3#product-mobile-shop-heading {
    font-size: 16px !important;
    line-height: 20px !important;
    white-space: normal;
  }
}

/* The historical order summary shares checkout typography and spacing. */
.order-summary > .card-body { padding: 1rem; }
.order-summary .card-title {
  font-size: 1.25rem !important;
  line-height: 1.5rem !important;
  font-weight: 700 !important;
}
.order-summary .checkout-summary-values dt { color: var(--color-base-content); }

/* Historical composition keeps checkout tokens without editable cart controls. */
.order-composition { container-type: inline-size; }
.order-composition > .card-body { padding: 1.5rem; gap: 1.5rem; }
.order-composition .card-title { font-size: 1.25rem !important; line-height: 1.5rem; font-weight: 700; }
.order-composition-item { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: 1.5rem; }
.order-composition-item + .order-composition-item {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 2px solid var(--color-base-300);
}
.order-composition-image { width: 5rem; height: 5rem; }
.order-composition-details { min-width: 0; display: grid; grid-template-areas: "name" "amounts" "extras"; align-content: start; align-items: start; gap: 0.5rem; }
.order-composition-name { grid-area: name; min-width: 0; font-size: 1rem !important; line-height: 1.5rem; overflow-wrap: anywhere; }
.order-composition-amounts { grid-area: amounts; display: flex; flex-wrap: nowrap; align-items: baseline; justify-content: space-between; gap: 0.5rem; min-width: 0; }
.order-composition-quantity { font-size: 0.875rem; line-height: 1.25rem; font-weight: 600; white-space: nowrap; }
.order-composition-price { margin-inline-start: auto; font-size: 1rem; line-height: 1.5rem; font-weight: 700; white-space: nowrap; text-align: right; }

/* Larger status markers and immutable additions within historical order rows. */


.order-composition-extras { grid-area: extras; display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.order-composition-extra { display: block; width: 3rem; height: 3rem; flex-shrink: 0; }

/* Orders share the checkout canvas while retaining independent account navigation. */
.orders-page { background: var(--color-base-200) !important; }
.orders-page #sidebar :is(aside, details) { border: 0 !important; background: var(--color-base-100) !important; }
.orders-page #sidebar .surface-outline { border: 0 !important; }
.orders-page .orders-card { text-decoration: none; color: inherit; border: 0 !important; }
.orders-page .orders-card:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 4px; }
.orders-card-body { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: 'info amount' 'thumbs thumbs'; gap: 1rem; padding: 1.5rem; }
.orders-card-info { grid-area: info; min-width: 0; overflow-wrap: anywhere; }
.orders-card-info .card-title { font-size: 1.125rem; line-height: 1.5rem; }
.orders-card-products { width: 100%; max-width: 100%; grid-area: thumbs; justify-self: start; min-width: 0; overflow-x: auto; text-align: left; }
.orders-card-dates { display: flex; flex-wrap: wrap; gap: 0.25rem; font-size: 0.875rem; line-height: 1.25rem; }
.orders-card-thumbs { display: flex; flex-wrap: nowrap; align-items: start; gap: 0.5rem; }
.orders-card-thumbs img, .orders-card-more { width: 3.5rem; height: 3.5rem; flex: 0 0 3.5rem; }
.orders-card-more { display: grid; place-items: center; font-weight: 600; }
.orders-card-amount { grid-area: amount; min-width: 0; text-align: right; }
.orders-card-total { font-size: 1.25rem !important; line-height: 1.5rem; font-weight: 700; }
.orders-card-bonus { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 0.25rem 0.5rem; margin-top: 0.5rem; font-size: 0.875rem; line-height: 1.25rem; font-weight: 600; }
.orders-filter-dialog { justify-items: end; align-items: stretch; padding: 0; }
.orders-filter-dialog .modal-box { width: min(28rem, 100%); max-width: none; max-height: 100dvh; height: 100%; border-radius: var(--radius-box) 0 0 var(--radius-box); padding: 1.5rem; }
.orders-filter-form { display: flex; flex-direction: column; gap: 1.5rem; min-height: 100%; }
.orders-filter-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: auto; padding-top: 1.5rem; }
@media (min-width: 1280px) {
  .orders-card-body { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); grid-template-areas: 'info thumbs amount'; align-items: start; gap: 1.5rem; }
  .orders-card-products { width: 23.5rem; justify-self: center; }
  .orders-card-thumbs img, .orders-card-more { width: 3.5rem; height: 3.5rem; }
}
@media (max-width: 767px) {
  .orders-card-body { padding: 1.5rem; }



}

.orders-page #order-main section.card { border: 0 !important; }
.order-composition-extra:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }

.order-detail-page #order-main { width: 100%; max-width: 70rem; margin-inline: auto; }
.orders-page [data-account-breadcrumbs] { margin-block: 1rem !important; }
.order-info > .card-body { padding: 1rem; gap: 1rem; }
.order-info .card-title { font-size: 1.25rem !important; line-height: 1.5rem; font-weight: 700; }
.order-info-rows { display: grid; gap: 0.5rem; font-size: 0.875rem; line-height: 1.25rem; font-weight: 600; }
.order-info-row { display: block; }
.order-info-row :is(dt, dd) { display: inline; color: var(--color-base-content); overflow-wrap: anywhere; }
.order-info-row dt { color: color-mix(in oklab, var(--color-base-content) 60%, transparent); font-weight: 600; }
.order-info-row dd { font-weight: 600; }
.order-postcard-text { white-space: pre-wrap; }
@container (min-width: 28rem) {
  .order-composition-details { grid-template-columns: minmax(0, 1fr) minmax(3rem, 0.5fr) auto; grid-template-areas: "name quantity price" "extras extras extras"; gap: 0.5rem 1rem; }
  .order-composition-amounts { display: contents; }
  .order-composition-quantity { grid-area: quantity; justify-self: center; }
  .order-composition-price { grid-area: price; justify-self: end; }
}

.order-rating > .card-body { padding: 1rem; gap: 1rem; }
.order-rating .card-title { font-size: 1.25rem !important; line-height: 1.5rem; font-weight: 700; }
.order-rating-copy { font-size: 0.875rem; line-height: 1.25rem; font-weight: 500; overflow-wrap: anywhere; }

@media (min-width: 1280px) {
  .order-detail-columns { width: 100%; grid-template-columns: minmax(0, 1fr) 22.5rem; }
}

.orders-page #orders-content { width: 100%; max-width: 70rem; margin-inline: auto; }
.orders-page .orders-filter-button { background: var(--color-base-100) !important; border-color: var(--color-base-100) !important; }
.orders-page :is(main, #sidebar, dialog) svg { stroke-width: 2px; }
.orders-page :is(main, #sidebar, dialog) svg path { vector-effect: non-scaling-stroke; }
.orders-filter-dialog .modal-box {
  transform: translateX(100%) !important;
  translate: none !important;
  scale: 1 !important;
  opacity: 1 !important;
  transition: transform 250ms ease !important;
}
.orders-filter-dialog.is-visible .modal-box { transform: translateX(0) !important; }
@media (prefers-reduced-motion: reduce) {
  .orders-filter-dialog .modal-box { transition: none !important; }
}

.order-title-line { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; min-width: 0; }
.order-detail-title, .orders-card-info .card-title { display: flex; align-items: center; gap: 0.5rem; min-width: 0; }
.order-type-icon { color: var(--color-primary); display: inline-flex; flex-shrink: 0; width: 1.5rem; height: 1.5rem; }
.order-created-date { font-weight: 600; font-size: 0.875rem; line-height: 1.25rem; color: color-mix(in oklab, var(--color-base-content) 60%, transparent); }

.order-header-actions .btn { background: var(--color-base-100) !important; border-color: var(--color-base-100) !important; }
.order-steps { width: 100%; }
.orders-card-type { font-size: 0.875rem; line-height: 1rem; }
.orders-filter-dialog .checkbox:not(:checked) { border-color: var(--color-base-300) !important; }
.orders-filter-dialog, .orders-filter-dialog .modal-box { scrollbar-gutter: auto !important; }
html:has(.orders-filter-dialog[open]) { scrollbar-gutter: auto !important; }

.order-postcard > .card-body { padding: 1.5rem; gap: 1rem; }
.order-postcard .card-title { font-size: 1.25rem !important; line-height: 1.5rem; font-weight: 700; }
.order-postcard .order-postcard-text { font-size: 0.875rem; line-height: 1.25rem; font-weight: 500; overflow-wrap: anywhere; }

#orders-filter-fields .fieldset-legend { font-size: 1rem; line-height: 1.5rem; font-weight: 600; }

@media (min-width: 1280px) {
  .orders-card-body { padding: 1.5rem; }
  .orders-card-info, .orders-card-amount { display: flex; flex-direction: column; justify-content: space-between; min-height: 3.5rem; }
  .orders-card-amount > p { flex-grow: 0; }
  .orders-card-info .order-created-date, .orders-card-amount .orders-card-bonus { flex: 0 0 auto; margin-top: auto; }
}

#orders-filter-fields label > span { font-size: 0.875rem; line-height: 1.25rem; font-weight: 600; }
@media (hover: hover) {
  .order-header-actions .btn:hover { background: var(--color-base-100) !important; border-color: var(--color-base-100) !important; color: var(--color-primary) !important; }
}

.orders-filter-button svg { color: color-mix(in oklab, var(--color-base-content) 60%, transparent); }
.orders-filter-button.is-active svg { color: var(--color-primary); }


.order-back { width: 2.5rem; height: 2.5rem; min-height: 2.5rem; background: var(--color-base-100) !important; border-color: var(--color-base-100) !important; }
.order-steps { display: flex; justify-content: space-between; position: relative; isolation: isolate; }
.order-steps::before, .order-steps::after { content: ''; position: absolute; inset-inline: 2.75rem; top: 1rem; height: 0.5rem; z-index: -1; background: var(--color-base-300); }
.order-steps::after { background: var(--color-primary); transform-origin: left; transform: scaleX(0); }
.order-steps[data-active="1"]::after { transform: scaleX(calc(1 / 3)); }
.order-steps[data-active="2"]::after { transform: scaleX(calc(2 / 3)); }
.order-steps[data-active="3"]::after, .order-steps[data-count="2"][data-active="1"]::after { transform: scaleX(1); }
.order-progress-step { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; flex: 0 0 5.5rem; min-width: 0; text-align: center; font-size: 0.875rem; line-height: 1.25rem; }
.order-progress-step .step-icon { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; flex-shrink: 0; border-radius: 50%; background: var(--color-base-300); color: var(--color-base-content); }
.order-progress-step.is-done .step-icon { background: var(--color-primary); color: var(--color-primary-content); }
.order-steps-cancelled::after, .order-steps-cancelled .is-done .step-icon { background: var(--color-error); color: var(--color-error-content); }
@media (hover: hover) { .order-back:hover { color: var(--color-primary); } }

.order-back { margin-inline-end: 0.5rem; }
@media (hover: hover) {
  .orders-page .btn:hover { transform: none !important; translate: none !important; scale: 1.06 !important; }
}
.orders-page .btn:active { scale: 1 !important; }
@media (max-width: 767px) {
  .order-progress-step { flex-basis: 4.5rem; font-size: 0.75rem; line-height: 1rem; }
  .order-steps::before, .order-steps::after { inset-inline: 2.25rem; }
}

.orders-page .btn { transition: scale 180ms ease-out, color 180ms ease-out, background-color 180ms ease-out, border-color 180ms ease-out !important; }
.order-progress-step > span:last-child { white-space: nowrap; }
@media (prefers-reduced-motion: reduce) {
  .orders-page .btn, .orders-page .btn:hover { scale: 1 !important; transition: none !important; }
}

.orders-page #orders-filter-button,
.orders-page #orders-filter-button:is(:hover, :focus, :active),
.orders-page #orders-filter-dialog .btn,
.orders-page #orders-filter-dialog .btn:is(:hover, :focus, :active) { scale: 1 !important; }
#orders-pagination .btn { background: var(--color-base-100) !important; border-color: var(--color-base-100) !important; color: var(--color-base-content) !important; }
#orders-pagination .btn[aria-current="page"] { color: var(--color-primary) !important; font-weight: 700; }

@media (min-width: 1280px) {
  .orders-card-body { grid-template-columns: 24rem minmax(0, 1fr) max-content; }
  .orders-card-info .order-title-line { flex-wrap: nowrap; }
  .orders-card-info .card-title { flex-shrink: 0; }
  .orders-card-info .badge { flex-shrink: 0; white-space: nowrap; }
  .orders-card-products { width: 100%; min-width: 0; justify-self: start; }
}

.orders-page .order-rating .btn:is(:hover, :active) { scale: 1 !important; }

#order-rating-dialog .modal-action { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
#order-rating-stars .btn:is(:hover, :active) { scale: 1 !important; }
.order-rating-result svg { color: var(--color-warning) !important; }

#order-rating-stars .btn > span { pointer-events: none; }
