:root {
  --rust-red: #cd412b;
  --charcoal: #1e2020;
  --grey: #a4a6a7;
  --cream: #e4dad1;
  --green: #738d45;
  --orange: #c26d33;
  --blue: #1f6ba0;
  --border-soft: rgba(228, 218, 209, 0.2);
  --border-strong: rgba(228, 218, 209, 0.38);
  --surface: rgba(30, 32, 32, 0.8);
  --surface-hover: rgba(30, 32, 32, 0.8);
  --radius-sm: 4px;
  --radius-md: 8px;
  --transition-fast: 150ms ease;
  --transition-base: 220ms ease;
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  background: var(--charcoal);
  color: var(--cream);
  line-height: 1.45;
  letter-spacing: 0.01em;
  opacity: 0;
  transition: opacity 240ms ease;
}
.site-background-layer {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(rgba(30, 32, 32, 0.78), rgba(30, 32, 32, 0.78)), var(--store-bg-image);
  background-position: center;
  background-size: cover;
  opacity: var(--store-bg-opacity, 0.28);
  filter: blur(var(--store-bg-blur, 2px));
  transform: scale(1.03);
}

body,
body * {
  cursor: none !important;
}

input,
textarea,
select,
[contenteditable="true"] {
  cursor: text !important;
}

.cursor-overlay {
  --cursor-x: 50vw;
  --cursor-y: 50vh;
  --cursor-left: 50vw;
  --cursor-right: 50vw;
  --cursor-top: 50vh;
  --cursor-bottom: 50vh;
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  z-index: 9999;
  pointer-events: none;
  opacity: 0;
  transition: opacity 140ms ease;
}
.cursor-overlay.is-visible { opacity: 1; }
.cursor-overlay.is-scrolling { opacity: 0 !important; }
.cursor-line {
  position: absolute;
  background: rgba(228, 218, 209, 0.26);
}
.cursor-line--left {
  left: 0;
  top: var(--cursor-y);
  width: var(--cursor-left);
  height: 1px;
  transform: translateY(-0.5px);
}
.cursor-line--right {
  left: var(--cursor-x);
  top: var(--cursor-y);
  width: var(--cursor-right);
  height: 1px;
  transform: translateY(-0.5px);
}
.cursor-line--top {
  left: var(--cursor-x);
  top: 0;
  width: 1px;
  height: var(--cursor-top);
  transform: translateX(-0.5px);
}
.cursor-line--bottom {
  left: var(--cursor-x);
  top: var(--cursor-y);
  width: 1px;
  height: var(--cursor-bottom);
  transform: translateX(-0.5px);
}

.custom-cursor {
  position: absolute;
  left: var(--cursor-x);
  top: var(--cursor-y);
  width: 28px;
  height: 28px;
  transform: translate(-50%, -50%);
  pointer-events: none;
  transition: transform 120ms ease;
}
.custom-cursor__ring {
  position: absolute;
  inset: 2px;
  border: 1px solid rgba(228, 218, 209, 0.56);
  border-radius: 50%;
}
.custom-cursor__dot {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--rust-red);
  transform: translate(-50%, -50%);
}
.custom-cursor.is-hover {
  transform: translate(-50%, -50%) scale(1.18);
}
.custom-cursor.is-hover .custom-cursor__ring {
  border-color: rgba(205, 65, 43, 0.78);
}
.custom-cursor.is-pressed {
  transform: translate(-50%, -50%) scale(0.9);
}

body.page-ready { opacity: 1; }
a { color: var(--cream); transition: color var(--transition-base), border-color var(--transition-base), background-color var(--transition-base), transform var(--transition-base), opacity var(--transition-base); }
a:hover, a:focus-visible { color: var(--cream); }

.container { width: min(1200px, calc(100% - 2.5rem)); margin: 0 auto; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 3200;
  isolation: isolate;
  background: rgba(30, 32, 32, 0.94);
  backdrop-filter: blur(3px);
  border-bottom: 1px solid var(--border-soft);
  overflow: visible;
}

.site-header nav { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 66px; overflow: visible; }

.nav-brand { text-decoration: none; display: inline-flex; align-items: center; gap: 0.52rem; min-height: 40px; }
.brand-text { text-transform: uppercase; font-size: 1.02rem; font-weight: 700; letter-spacing: 0.035em; }
.brand-name { text-transform: uppercase; font-size: 1.1rem; font-weight: 500; color: var(--cream); line-height: 1; }
.brand-logo { display: block; max-height: 44px; width: auto; object-fit: contain; }

.nav-actions { display: flex; gap: 0.4rem; list-style: none; margin: 0; padding: 0; align-items: center; position: relative; z-index: 1; }
.icon-btn { text-decoration: none; color: var(--cream); border: 1px solid var(--border-soft); border-radius: 999px; min-width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; position: relative; background: rgba(30, 32, 32, 0.9); font-size: 1rem; transition: border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast); }
.icon-btn:hover, .icon-btn:focus-visible, .nav-dropdown.open .icon-btn { border-color: var(--rust-red); background: rgba(205, 65, 43, 0.08); color: var(--cream); transform: translateY(-1px); }
.nav-icon { width: 18px; height: 18px; stroke: currentColor; stroke-width: 1.8; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.icon-badge { position: absolute; top: -6px; right: -4px; min-width: 16px; height: 16px; border-radius: 999px; background: var(--rust-red); color: var(--cream); font-size: 0.68rem; display: inline-flex; align-items: center; justify-content: center; padding: 0 4px; }
.nav-dropdown { position: relative; z-index: 20; }
.nav-dropdown.open { z-index: 50; }
.nav-dropdown::after { content: ""; position: absolute; inset: 100% 0 auto auto; width: 100%; height: 12px; pointer-events: none; }
.dropdown-panel { position: absolute; right: 0; top: calc(100% + 8px); width: 250px; border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: rgba(30, 32, 32, 0.99); padding: 0.55rem; z-index: 3300; box-shadow: 0 12px 22px rgba(0, 0, 0, 0.28); opacity: 0; transform: translateY(8px) scale(0.985); visibility: hidden; pointer-events: none; transform-origin: top right; transition: opacity 190ms ease, transform 220ms ease, visibility 220ms step-end; }
.nav-dropdown.open .dropdown-panel { opacity: 1; transform: translateY(0) scale(1); visibility: visible; pointer-events: auto; transition: opacity 220ms ease, transform 260ms ease, visibility 0ms step-start; }
.dropdown-link { display: block; text-decoration: none; padding: 0.45rem; color: var(--grey); border-radius: var(--radius-sm); }
.dropdown-link:hover { background: var(--surface); color: var(--cream); }
.dropdown-link-row { display: flex; align-items: center; gap: 0.55rem; }
.dropdown-link-badge { min-width: 18px; height: 18px; border-radius: 999px; background: var(--rust-red); color: var(--cream); font-size: 0.7rem; display: inline-flex; align-items: center; justify-content: center; padding: 0 5px; }
.product-rating-line { margin: 0.04rem 0 0.18rem; color: var(--grey); display: inline-flex; align-items: center; gap: 0.34rem; flex-wrap: wrap; font-family: inherit; font-size: 0.9rem; line-height: 1; letter-spacing: 0; }
.product-rating-line--catalog { font-size: 0.85rem; }
.product-rating-line--product { padding: 0; border: 0; background: transparent; font-family: inherit; font-size: 0.92rem; font-weight: 400; line-height: 1; cursor: pointer; }
.product-rating-line--product:hover, .product-rating-line--product:focus-visible { color: var(--cream); }
.rating-chip { display: inline-flex; align-items: center; justify-content: center; gap: 0.24rem; min-height: 20px; font-family: inherit; font-size: inherit; font-weight: 400; line-height: 1; vertical-align: middle; letter-spacing: 0; }
.rating-chip--accent { color: var(--rust-red); }
.rating-chip--muted { color: var(--grey); }
.rating-chip__icon { width: 20px; height: 20px; flex: 0 0 20px; transform: none; }
.rating-chip > span { display: inline-flex; align-items: center; align-self: center; font-family: inherit; font-size: inherit; font-weight: inherit; line-height: 1; }
.product-stars { display: inline-flex; align-items: center; gap: 0.22rem; line-height: 1; }
.product-stars__icon { width: 18px; height: 18px; stroke: currentColor; stroke-width: 1.95; fill: transparent; stroke-linejoin: round; stroke-linecap: round; color: rgba(164, 166, 167, 0.62); flex: 0 0 18px; transform: none; opacity: 0.92; }
.product-stars__icon.is-filled { color: var(--rust-red); fill: var(--rust-red); opacity: 1; }
.product-delivery-card { border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: rgba(30, 32, 32, 0.88); color: var(--cream); display: grid; gap: 0; overflow: hidden; margin: 0.45rem 0 1rem; box-shadow: 0 16px 32px rgba(0, 0, 0, 0.18); }
.product-delivery-card__header { padding: 1rem 1rem 0.78rem; }
.product-delivery-card__header h2 { margin: 0; color: var(--cream); font-size: 1rem; letter-spacing: 0; text-transform: none; font-weight: 700; }
.product-delivery-card__section,
.product-delivery-card__method,
.product-delivery-card__returns { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 0.8rem; padding: 0.92rem 1rem; color: inherit; text-decoration: none; }
.product-delivery-card__section--address,
.product-delivery-card__method { border-top: 1px solid var(--border-soft); }
.product-delivery-card__section--address { border: 0; width: 100%; background: transparent; cursor: pointer; font: inherit; text-align: left; transition: background-color var(--transition-fast), border-color var(--transition-fast); }
.product-delivery-card__section--address:hover,
.product-delivery-card__section--address:focus-visible { background: rgba(205, 65, 43, 0.08); outline: none; }
.product-delivery-card__icon-wrap { width: 30px; height: 30px; border-radius: 999px; background: rgba(205, 65, 43, 0.14); display: inline-flex; align-items: center; justify-content: center; color: var(--cream); }
.product-delivery-card__icon { width: 16px; height: 16px; stroke-width: 2.05; }
.product-delivery-card__body { min-width: 0; display: grid; gap: 0.1rem; }
.product-delivery-card__body strong { color: var(--cream); font-size: 0.96rem; font-weight: 500; text-transform: none; letter-spacing: 0; }
.product-delivery-card__body .muted-text { margin: 0; color: var(--grey); font-size: 0.88rem; text-transform: none; letter-spacing: 0; }
.product-delivery-card__methods { display: grid; }
.product-delivery-card__price { min-height: 32px; padding: 0.3rem 0.72rem; border-radius: 999px; border: 1px solid rgba(205, 65, 43, 0.24); background: rgba(205, 65, 43, 0.12); color: var(--cream); font-size: 0.84rem; font-weight: 700; white-space: nowrap; }
.product-delivery-card__price.is-free { border-color: rgba(164, 166, 167, 0.22); background: rgba(228, 218, 209, 0.06); }
.product-delivery-card__chevron { color: var(--grey); display: inline-flex; align-items: center; justify-content: center; }
.product-delivery-card__chevron .nav-icon { width: 16px; height: 16px; }
.product-delivery-card__returns { border-top: 1px solid var(--border-soft); background: rgba(228, 218, 209, 0.03); }
.product-delivery-card__returns strong { color: var(--cream); font-size: 0.96rem; text-transform: none; letter-spacing: 0; font-weight: 500; }
.product-delivery-card__returns:hover,
.product-delivery-card__returns:focus-visible { background: rgba(205, 65, 43, 0.08); }
.product-breadcrumbs { display: inline-flex; align-items: center; gap: 0.42rem; margin: 0 0 0.5rem; color: var(--grey); font-size: 0.88rem; text-transform: none; letter-spacing: 0; }
.product-breadcrumbs a, .product-breadcrumbs span { color: inherit; text-decoration: none; text-transform: none; letter-spacing: 0; }
.product-breadcrumbs a:hover, .product-breadcrumbs a:focus-visible { color: var(--cream); }
.product-summary__category { display: none; }
.product-buy-actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0.65rem; }
.btn.product-buy-button { width: 100%; min-height: 58px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.16rem; padding-top: 0.72rem; padding-bottom: 0.72rem; }
.product-buy-button span, .product-buy-button small { line-height: 1; letter-spacing: 0; text-transform: none; text-align: center; }
.product-buy-button small { display: block; font-size: 0.76rem; opacity: 0.86; }
.product-buy-button--secondary small { display: none; }
.product-buy-button--secondary { width: 100%; }
.product-review-strip { display: grid; gap: 0.65rem; margin-bottom: 1rem; }
.product-review-strip__track { display: grid; grid-auto-flow: column; grid-auto-columns: 72px; gap: 0.55rem; align-items: start; overflow: hidden; }
.product-review-strip__item,
.product-review-strip__more { position: relative; width: 72px; height: 72px; padding: 0; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); overflow: hidden; background: rgba(228, 218, 209, 0.03); cursor: pointer; transition: border-color var(--transition-fast), transform var(--transition-fast); }
.product-review-strip__item:hover,
.product-review-strip__item:focus-visible,
.product-review-strip__more:hover,
.product-review-strip__more:focus-visible { border-color: var(--rust-red); transform: translateY(-1px); }
.product-review-strip__item img,
.product-review-strip__item video,
.product-review-strip__more-bg { width: 100%; height: 100%; object-fit: cover; display: block; }
.product-review-strip__more-bg { filter: blur(7px) brightness(0.55); transform: scale(1.08); }
.product-review-strip__more-label { position: absolute; inset: 0; display: inline-flex; align-items: center; justify-content: center; color: var(--cream); font-size: 1rem; font-weight: 700; background: rgba(18, 18, 18, 0.22); }
.product-review-strip__item.is-video::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(18, 18, 18, 0.38), transparent 54%); pointer-events: none; }
.product-reviews { display: grid; gap: 1rem; }
.product-review-card { border: 1px solid rgba(228,218,209,0.08); padding: 1rem; background: rgba(30,32,32,0.45); display: grid; gap: 0.75rem; }
.product-review-card__top { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.product-review-card__identity { display: inline-flex; align-items: center; gap: 0.65rem; min-width: 0; }
.product-review-card__avatar { width: 34px; height: 34px; border: 1px solid rgba(205, 65, 43, 0.34); border-radius: 999px; background: rgba(205, 65, 43, 0.12); color: var(--cream); display: inline-flex; align-items: center; justify-content: center; flex: 0 0 34px; font-size: 0.92rem; font-weight: 700; text-transform: uppercase; }
.product-review-card__meta { display: inline-flex; align-items: center; gap: 0.65rem; flex-wrap: wrap; justify-content: flex-end; font-family: inherit; line-height: 1; }
.product-review-card__body { display: grid; gap: 0.45rem; }
.product-review-card__body p { margin: 0; }
.account-order-review-block > .muted-text:first-child { display: none; }
.review-replies { display: grid; gap: 0.55rem; }
.review-reply { border-left: 2px solid rgba(228, 218, 209, 0.14); padding: 0.72rem 0.85rem; background: rgba(228, 218, 209, 0.04); display: grid; gap: 0.38rem; }
.review-reply--store { border-left-color: var(--rust-red); background: rgba(205, 65, 43, 0.1); }
.review-reply__meta { display: flex; align-items: center; gap: 0.55rem; flex-wrap: wrap; }
.review-reply p { margin: 0; }
.review-reply__badge { display: inline-flex; align-items: center; gap: 0.35rem; min-height: 26px; padding: 0.22rem 0.6rem; border: 1px solid rgba(205, 65, 43, 0.34); border-radius: 999px; background: rgba(30, 32, 32, 0.88); color: var(--cream); font-size: 0.72rem; }
.review-reply__badge-icon { width: 14px; height: 14px; stroke: currentColor; stroke-width: 2.1; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.review-reply-form { display: grid; gap: 0.55rem; }
.review-reply-form--admin { margin-top: 0.35rem; min-width: 280px; }
.product-review-card__more { width: fit-content; border: 0; background: transparent; padding: 0; color: var(--rust-red); font: inherit; font-size: 0.88rem; cursor: pointer; }
.product-review-card__more:hover, .product-review-card__more:focus-visible { color: var(--cream); text-decoration: underline; }
.product-review-card__source {
  margin: 0;
  font-size: 0.8rem;
}
.product-review-card__source a {
  color: var(--cream);
  text-decoration-color: rgba(228, 218, 209, 0.35);
}
.product-review-card__source a:hover,
.product-review-card__source a:focus-visible {
  color: var(--rust-red);
  text-decoration-color: var(--rust-red);
}
.account-order-review-block { margin: -0.15rem 0 1.25rem 5.5rem; padding: 1rem; border: 1px solid rgba(228,218,209,0.08); background: rgba(30,32,32,0.4); }
.compact-review-form { gap: 0.65rem; }
.account-order-market-card__footer-link { margin-top: 1rem; }
.review-modal__dialog { width: min(560px, calc(100% - 1rem)); max-height: min(88vh, 760px); }
.review-form-modal { gap: 0.85rem; }
.review-rating-native { display: none; }
.review-stars-field { display: grid; gap: 0.55rem; }
.review-stars-field__label { font-size: 0.82rem; color: var(--grey); text-transform: uppercase; letter-spacing: 0.03em; }
.review-stars-field__controls { display: flex; gap: 0.35rem; }
.review-star { width: 42px; height: 42px; border: 1px solid var(--border-soft); border-radius: 999px; background: rgba(228, 218, 209, 0.04); color: var(--grey); display: inline-flex; align-items: center; justify-content: center; transition: transform var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), background-color var(--transition-fast); }
.review-star:hover, .review-star:focus-visible { border-color: var(--rust-red); color: var(--cream); transform: translateY(-1px) scale(1.06); }
.review-star.is-active { color: var(--orange); border-color: rgba(194, 109, 51, 0.5); background: rgba(194, 109, 51, 0.12); box-shadow: 0 0 0 1px rgba(194, 109, 51, 0.12); }
.review-star__icon { font-size: 1.2rem; line-height: 1; transition: transform var(--transition-fast); }
.review-star.is-active .review-star__icon { transform: scale(1.08); }
.review-modal__product-name { margin: 0.18rem 0 0; }
.review-anonymous-row { margin-top: -0.1rem; }
.review-upload { display: grid; gap: 0.65rem; }
.review-upload__input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.review-upload__dropzone { display: grid; justify-items: center; gap: 0.35rem; padding: 1rem; border: 1px dashed var(--border-strong); border-radius: var(--radius-md); background: rgba(228, 218, 209, 0.03); text-align: center; cursor: pointer; transition: border-color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast); }
.review-upload__dropzone:hover, .review-upload__dropzone:focus-within { border-color: var(--rust-red); background: rgba(205, 65, 43, 0.06); transform: translateY(-1px); }
.review-upload__icon { width: 38px; height: 38px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--border-soft); font-size: 1.25rem; color: var(--cream); }
.review-upload__title { color: var(--cream); font-size: 0.92rem; text-transform: uppercase; letter-spacing: 0.03em; }
.review-upload__hint { color: var(--grey); font-size: 0.82rem; line-height: 1.4; }
.review-upload__preview { display: grid; grid-template-columns: repeat(auto-fill, minmax(184px, 184px)); justify-content: flex-start; gap: 0.8rem; }
.review-upload__preview-item { position: relative; width: 184px; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); overflow: hidden; background: rgba(228, 218, 209, 0.03); }
.review-upload__thumb { display: block; width: 100%; height: 164px; object-fit: contain; background: rgba(0, 0, 0, 0.22); }
.review-upload__thumb--file { display: flex; align-items: center; justify-content: center; color: var(--grey); font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.03em; }
.review-upload__preview-meta { display: grid; gap: 0.18rem; padding: 0.55rem 0.6rem 0.65rem; }
.review-upload__preview-name { color: var(--cream); font-size: 0.82rem; word-break: break-word; }
.review-upload__preview-size { color: var(--grey); font-size: 0.74rem; }
.review-upload__remove { position: absolute; top: 0.45rem; right: 0.45rem; width: 30px; height: 30px; border: 0; border-radius: 999px; background: rgba(18, 18, 18, 0.78); color: var(--cream); font-size: 1.1rem; line-height: 1; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; z-index: 1; transition: background-color var(--transition-fast), transform var(--transition-fast); }
.review-upload__remove:hover, .review-upload__remove:focus-visible { background: var(--rust-red); transform: scale(1.04); }
.review-media-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(184px, 184px)); justify-content: flex-start; gap: 0.8rem; margin-top: 0.1rem; }
.review-media-card { position: relative; display: block; width: 184px; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); overflow: hidden; background: rgba(228, 218, 209, 0.03); }
.review-media-card img, .review-media-card video { display: block; width: 100%; height: 164px; object-fit: cover; background: rgba(0, 0, 0, 0.2); }
.review-media-card--video { padding: 0; }
.review-media-card--button { padding: 0; cursor: pointer; transition: transform var(--transition-fast), border-color var(--transition-fast); }
.review-media-card--button:hover, .review-media-card--button:focus-visible { border-color: var(--rust-red); transform: translateY(-2px); }
.review-media-badge { position: absolute; left: 0.45rem; bottom: 0.45rem; z-index: 1; width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(228, 218, 209, 0.26); border-radius: 999px; background: rgba(18, 18, 18, 0.78); color: var(--cream); }
.review-media-badge__icon { width: 18px; height: 18px; stroke: currentColor; stroke-width: 1.8; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.review-media-badge__icon path { fill: currentColor; stroke: none; }
.product-summary { display: grid; gap: 0.2rem; }
.product-summary__category { margin: 0.02rem 0 0.04rem; }
.product-reviews-section { display: grid; gap: 1rem; }
.product-reviews-section__header { display: grid; gap: 0.8rem; }
.product-reviews-section__summary { display: grid; gap: 0.75rem; }
.product-reviews-section__summary h2 { margin: 0; }
.product-reviews-overview { display: grid; grid-template-columns: minmax(180px, 220px) minmax(0, 1fr); gap: 1rem; align-items: start; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: rgba(228, 218, 209, 0.03); }
.product-reviews-overview__score { display: grid; gap: 0.45rem; align-content: start; }
.product-reviews-overview__score p { margin: 0; }
.product-reviews-overview__value { font-size: clamp(2rem, 1.7rem + 1vw, 2.7rem); line-height: 1; color: var(--cream); }
.product-reviews-overview__meta { display: grid; gap: 0.45rem; }
.product-reviews-overview__meta p { margin: 0; }
.product-reviews-breakdown { display: grid; gap: 0.45rem; }
.product-reviews-breakdown__row { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: 0.7rem; align-items: center; }
.product-reviews-breakdown__stars { display: inline-flex; align-items: center; gap: 0.14rem; }
.product-reviews-breakdown__track { width: 100%; height: 8px; border-radius: 999px; background: rgba(228, 218, 209, 0.08); overflow: hidden; }
.product-reviews-breakdown__track span { display: block; height: 100%; border-radius: inherit; background: var(--rust-red); }
.product-reviews-breakdown__count { color: var(--grey); font-size: 0.88rem; }
.review-viewer-modal__dialog { width: min(1040px, calc(100% - 1.5rem)); max-height: min(82vh, 760px); padding: 0; overflow: hidden; background: var(--charcoal); }
.review-viewer-modal__close { position: absolute; top: max(0.85rem, env(safe-area-inset-top)); right: max(0.85rem, env(safe-area-inset-right)); z-index: 5; }
.review-viewer { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(300px, 0.92fr); min-height: min(74vh, 680px); background: var(--charcoal); }
.review-viewer__media { position: relative; background: #111; overflow: hidden; }
.review-viewer__nav { position: absolute; top: 50%; z-index: 3; width: 46px; height: 46px; border: 1px solid var(--border-soft); border-radius: 999px; background: rgba(18, 18, 18, 0.88); color: var(--cream); line-height: 1; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transform: translateY(-50%); transition: border-color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast); }
.review-viewer__nav:hover, .review-viewer__nav:focus-visible { border-color: var(--rust-red); background: rgba(205, 65, 43, 0.18); }
.review-viewer__nav--prev { left: 1rem; }
.review-viewer__nav--next { right: 1rem; }
.review-viewer__stage { display: none; align-items: center; justify-content: center; height: 100%; min-height: min(74vh, 680px); padding: 1rem; }
.review-viewer__stage.is-active { display: flex; }
.review-viewer__stage img, .review-viewer__stage video { max-width: 100%; max-height: calc(74vh - 2rem); width: auto; height: auto; object-fit: contain; border-radius: var(--radius-sm); }
.review-viewer__sidebar { display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; gap: 1rem; padding: 1.4rem 1.2rem 1.2rem; border-left: 1px solid var(--border-soft); overflow: hidden; min-height: 0; }
.review-viewer__header { display: flex; align-items: center; gap: 0.85rem; padding-right: 2.4rem; min-width: 0; }
.review-viewer__author-avatar { width: 44px; height: 44px; border-radius: 999px; background: rgba(205, 65, 43, 0.18); color: var(--cream); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.review-viewer__date { margin: 0.18rem 0 0; }
.review-viewer__rating { display: inline-flex; align-items: center; gap: 0.45rem; width: fit-content; padding: 0.45rem 0.7rem; border-radius: 999px; background: rgba(205, 65, 43, 0.12); color: var(--cream); font-size: clamp(0.8rem, 0.72rem + 0.28vw, 0.9rem); }
.review-viewer__body { color: var(--cream); line-height: 1.55; font-size: clamp(0.78rem, 0.58rem + 0.42vw, 0.98rem); overflow-wrap: anywhere; word-break: break-word; min-height: 0; overflow: auto; padding-right: 0.2rem; }
.review-viewer__body p { margin: 0; white-space: pre-line; }
.review-viewer__header strong,
.review-viewer__date { overflow-wrap: anywhere; word-break: break-word; }
.review-viewer__thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(88px, 88px)); gap: 0.7rem; align-content: start; }
.review-viewer__thumb { width: 88px; height: 88px; padding: 0; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); overflow: hidden; background: rgba(228, 218, 209, 0.03); cursor: pointer; transition: border-color var(--transition-fast), transform var(--transition-fast); }
.review-viewer__thumb:hover, .review-viewer__thumb:focus-visible, .review-viewer__thumb.is-active { border-color: var(--rust-red); transform: translateY(-1px); }
.review-viewer__thumb img, .review-viewer__thumb video { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 860px) {
  .review-viewer { grid-template-columns: 1fr; }
  .review-viewer__sidebar { border-left: 0; border-top: 1px solid var(--border-soft); }
  .review-viewer__stage { min-height: 52vh; }
}
.notifications-item__actions { display: flex; gap: 0.5rem; margin-top: 0.6rem; }
.notifications-page-list { max-width: 780px; }
.notifications-item { padding-bottom: 0.7rem; }
.compact-dropdown-link { font-size: 0.76rem; padding: 0.2rem 0.3rem; }
.dropdown-list { list-style: none; margin: 0.4rem 0 0; padding: 0; display: grid; gap: 0.45rem; max-height: 300px; overflow: auto; }
.dropdown-list li { border: 1px solid var(--border-soft); border-radius: var(--radius-sm); padding: 0.45rem; }
.dropdown-list li.is-unread { border-color: var(--rust-red); }
.dropdown-list p { margin: 0; font-size: 0.85rem; }
.dropdown-header-row { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; }

.top-promo-banner { background: rgba(205, 65, 43, 0.13); border-bottom: 1px solid rgba(205, 65, 43, 0.45); }
.top-promo-inner { min-height: 40px; display: flex; justify-content: space-between; gap: 1rem; align-items: center; overflow: visible; }
.promo-message-wrap { display: flex; gap: 2rem; align-items: center; white-space: nowrap; overflow: hidden; flex: 1; min-width: 0; }
.promo-marquee { position: relative; flex: 1; min-width: 0; overflow: hidden; }
.promo-marquee-track { width: max-content; display: flex; align-items: center; gap: 0; animation: promoMarquee 16s linear infinite; will-change: transform; }
.promo-message-group { display: inline-flex; align-items: center; gap: 1rem; white-space: nowrap; padding-right: 2rem; flex-shrink: 0; }
.promo-message { text-transform: uppercase; font-size: 0.82rem; letter-spacing: 0.05em; }
.promo-message-separator { color: var(--grey); opacity: 0.75; }
.promo-actions { display: flex; gap: 0.5rem; align-items: center; }
.promo-countdown { font-size: 0.78rem; color: var(--cream); border: 1px solid var(--border-soft); border-radius: var(--radius-sm); padding: 0.22rem 0.4rem; }
.promo-cta { font-size: 0.65rem; padding: 0.24rem 0.42rem; min-height: 27px; line-height: 1.05; border-width: 1px; }

.promo-popup { position: fixed; right: max(14px, env(safe-area-inset-right)); bottom: max(14px, env(safe-area-inset-bottom)); z-index: 260; width: min(285px, calc(100% - 28px)); border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: rgba(30, 32, 32, 0.97); padding: 0.72rem; display: grid; gap: 0.28rem; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25); animation: fadeUp 260ms ease; }
.promo-popup-title { margin: 0; font-weight: 500; text-transform: uppercase; font-size: 0.86rem; }
.promo-popup-close { position: absolute; top: 5px; right: 7px; background: transparent; border: 0; color: var(--grey); font-size: 1rem; }
.promo-code-row { display: flex; gap: 0.42rem; align-items: center; flex-wrap: wrap; margin-bottom: 0.06rem; }
.promo-code-chip { margin: 0; border: 1px dashed var(--rust-red); border-radius: var(--radius-sm); padding: 0.3rem 0.45rem; width: fit-content; font-weight: 600; letter-spacing: 0.03em; }
.promo-copy-btn { min-width: 32px; height: 32px; }
.promo-copy-btn.is-copied { border-color: var(--green); background: color-mix(in srgb, var(--green) 16%, transparent); }
.promo-copy-feedback { margin: 0; min-height: 0.74em; color: var(--grey); font-size: 0.68rem; letter-spacing: 0.03em; text-transform: uppercase; }
.promo-copy-feedback.is-success { color: var(--green); }
.product-mini-summary { line-height: 1.32; min-height: 2.6em; margin: 0.04rem 0 0.16rem; }
.notifications-panel { width: min(340px, 88vw); }
.mini-cart-panel { width: min(320px, 90vw); }
.mini-cart-list { max-height: 210px; }
.mini-cart-item-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0.5rem; }
.mini-cart-remove-form { margin: 0; }
.mini-cart-remove-btn { min-width: 42px; width: 42px; height: 42px; border-radius: 999px; overflow: hidden; }
.mini-cart-remove-btn .nav-icon { width: 15px; height: 15px; transition: opacity 170ms ease, transform 190ms ease, color 170ms ease; }
.mini-cart-remove-btn .mini-cart-remove-loader { position: absolute; opacity: 0; transform: scale(0.8); }
.mini-cart-remove-btn:hover .mini-cart-remove-icon,
.mini-cart-remove-btn:focus-visible .mini-cart-remove-icon { transform: translateY(-1px); color: var(--rust-red); }
.mini-cart-remove-btn.is-removing { border-color: var(--rust-red); background: rgba(205, 65, 43, 0.14); }
.mini-cart-remove-btn.is-removing .mini-cart-remove-icon { opacity: 0; transform: scale(0.78); }
.mini-cart-remove-btn.is-removing .mini-cart-remove-loader { opacity: 1; transform: scale(1); animation: iconSpin 760ms linear infinite; }
.mini-cart-total { margin: 0.5rem 0 0.35rem; font-size: 0.84rem; text-transform: uppercase; letter-spacing: 0.03em; }
.mini-cart-cta { width: 100%; }

.admin-layout { padding-top: 0.75rem; }
.admin-sidebar { display: flex; gap: 0.5rem; flex-wrap: wrap; border-bottom: 1px solid var(--border-soft); padding-bottom: 0.75rem; }
.admin-side-link { text-decoration: none; color: var(--grey); border: 1px solid var(--border-soft); border-radius: var(--radius-sm); font-size: 0.8rem; padding: 0.4rem 0.62rem; text-transform: uppercase; letter-spacing: 0.03em; }
.admin-side-link.active, .admin-side-link:hover, .admin-side-link:focus-visible { color: var(--cream); border-color: var(--rust-red); background: var(--surface); }

main { padding: 2.2rem 0 2.8rem; }

h1, h2, h3, h4, h5, h6, .btn, label, summary, th, .status-badge, legend, .footer-brand { text-transform: uppercase; letter-spacing: 0.03em; font-weight: 500; }
h1 { margin: 0 0 0.85rem; font-size: clamp(1.45rem, 1.8vw, 1.95rem); }
h2 { margin: 0 0 0.65rem; font-size: clamp(1.1rem, 1.4vw, 1.35rem); }
p { margin: 0.4rem 0; }

.section-header-row, .admin-header-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; flex-wrap: wrap; }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  padding: 0.55rem 0.9rem;
  text-decoration: none;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 500;
  transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
}
.btn:hover, .btn:focus-visible { transform: translateY(-1px); box-shadow: 0 2px 0 rgba(0,0,0,0.18); }
.btn:disabled { opacity: 0.65; transform: none; box-shadow: none; }

.btn-primary { background: var(--rust-red); color: var(--cream); border-color: var(--rust-red); }
.btn-primary:hover, .btn-primary:focus-visible { background: color-mix(in srgb, var(--rust-red) 85%, var(--charcoal)); }
.btn-secondary { background: transparent; color: var(--grey); border-color: var(--grey); width: 120px}
.btn-secondary:hover, .btn-secondary:focus-visible { color: var(--cream); border-color: var(--cream); }

.table-wrap { overflow-x: auto; border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: rgba(30, 32, 32, 0.72); }
.admin-table { width: 100%; border-collapse: collapse; }
.admin-table th, .admin-table td { border-bottom: 1px solid var(--border-soft); text-align: left; padding: 0.8rem; vertical-align: middle; }
.admin-table th { color: var(--grey); font-weight: 500; font-size: 0.77rem; }
.admin-table tbody tr:hover td { background: rgba(164, 166, 167, 0.06); }
.admin-table--sortable tbody tr { cursor: move; }
.admin-table--sortable tbody tr.is-dragging td { opacity: 0.45; background: rgba(205, 65, 43, 0.14); }
.product-order-cell { width: 2.75rem; }
.product-drag-handle { display: inline-flex; flex-direction: column; gap: 0.18rem; align-items: center; justify-content: center; width: 1.6rem; min-width: 1.6rem; padding: 0.2rem 0; border: 0; background: transparent; cursor: grab; }
.product-drag-handle span { display: block; width: 0.78rem; height: 0.11rem; border-radius: 999px; background: var(--grey); }
.product-drag-handle:active { cursor: grabbing; }
.actions-cell { display: flex; gap: 0.45rem; flex-wrap: wrap; align-items: center; }
.actions-cell form { margin: 0; }
.checkout-state-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  width: 100%;
}
.checkout-state-actions .btn {
  width: 100%;
  justify-content: center;
}

.status-badge { display: inline-block; width: fit-content; padding: 0.24rem 0.55rem; border: 1px solid; border-radius: var(--radius-sm); font-size: 0.7rem; }
.status-enabled { color: var(--green); border-color: var(--green); }
.status-disabled { color: var(--orange); border-color: var(--orange); }

.admin-shell h1 { margin: 0; }
.admin-stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 0.85rem; margin-bottom: 1rem; }
.admin-stat-card { border: 1px solid var(--border-soft); border-radius: var(--radius-md); padding: 0.95rem; background: var(--surface); min-height: 124px; display: grid; align-content: space-between; }
.admin-stat-card p { margin: 0; color: var(--grey); text-transform: uppercase; letter-spacing: 0.03em; font-size: 0.75rem; }
.admin-stat-card h2 { margin: 0.5rem 0 0; color: var(--rust-red); }

.admin-panels-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 0.95rem; align-items: start; }
.admin-panel { border: 1px solid var(--border-soft); border-radius: var(--radius-md); padding: 0.9rem; background: var(--surface); }
.compact-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.4rem; }
.compact-list li { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; border-bottom: 1px solid var(--border-soft); padding-bottom: 0.35rem; }
.compact-list strong { color: var(--rust-red); }

.admin-form-shell { max-width: 760px; }
.admin-form { display: grid; gap: 0.66rem; border: 1px solid var(--border-soft); border-radius: var(--radius-md); padding: 1rem; background: var(--surface); }
.admin-form label { color: var(--grey); font-size: 0.77rem; margin-top: 0.28rem; }
.variant-admin-section { margin-top: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: var(--surface); padding: 0.9rem; }

.input-control {
  width: 100%;
  background: rgba(30, 32, 32, 0.8);
  color: var(--cream);
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-sm);
  padding: 0.62rem 0.7rem;
  font: inherit;
  font-size: 0.95rem;
  transition: border-color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast);
}
.input-control:focus-visible { outline: none; border-color: var(--rust-red); background: rgba(30, 32, 32, 0.95); box-shadow: 0 0 0 2px rgba(205, 65, 43, 0.22); }
.form-error { margin: 0; color: var(--orange); font-size: 0.84rem; }
.muted-text { color: var(--grey); }
.flash-stack { display: grid; gap: 0.5rem; margin-bottom: 1rem; }
.storefront-shell { margin-bottom: 2rem; }
.cart-page { display: grid; gap: 1rem; }
.cart-page__header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.cart-page__heading { position: relative; display: grid; gap: 0.15rem; }
.cart-page__eyebrow { margin: 0; color: var(--grey); font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.05em; }
.cart-page__layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(290px, 0.75fr); gap: 1rem; align-items: start; }
.cart-page__main { display: grid; gap: 1rem; }
.cart-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.9rem 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: rgba(228, 218, 209, 0.03); }
.cart-toolbar__select-all { position: relative; display: inline-flex; align-items: center; gap: 0.55rem; color: var(--cream); font-size: 0.95rem; cursor: pointer; user-select: none; }
.cart-toolbar__select-all input,
.cart-item-card__checkbox input { position: absolute; opacity: 0; pointer-events: none; }
.cart-checkbox-ui { width: 22px; height: 22px; border: 1px solid var(--border-strong); border-radius: 4px; background: rgba(30, 32, 32, 0.88); display: inline-flex; align-items: center; justify-content: center; transition: border-color var(--transition-fast), background-color var(--transition-fast); }
.cart-toolbar__select-all input:checked + .cart-checkbox-ui,
.cart-item-card__checkbox input:checked + .cart-checkbox-ui { border-color: var(--rust-red); background: var(--rust-red); }
.cart-toolbar__select-all input:checked + .cart-checkbox-ui::after,
.cart-item-card__checkbox input:checked + .cart-checkbox-ui::after { content: ""; width: 8px; height: 8px; border-radius: 2px; background: var(--cream); }
.cart-toolbar__clear { width: 42px; min-width: 42px; height: 42px; border-radius: 999px; }
.cart-icon-action { width: 42px; min-width: 42px; height: 42px; border-radius: 999px; }
.cart-icon-action .nav-icon { width: 18px; height: 18px; }
.cart-group { display: grid; gap: 0.8rem; }
.cart-group__header { display: flex; align-items: baseline; justify-content: space-between; gap: 0.75rem; }
.cart-card-list { display: grid; gap: 0.85rem; }
.cart-item-card { display: grid; grid-template-columns: 152px minmax(0, 1fr); gap: 1rem; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: rgba(228, 218, 209, 0.03); }
.cart-item-card--unavailable { opacity: 0.78; }
.cart-item-card__media { position: relative; width: 152px; height: 152px; border-radius: var(--radius-sm); overflow: hidden; background: rgba(228, 218, 209, 0.05); border: 1px solid rgba(228, 218, 209, 0.12); }
.cart-item-card__media img,
.cart-item-card__placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; object-fit: cover; }
.cart-item-card__placeholder { color: var(--grey); font-size: 1.4rem; letter-spacing: 0.08em; background: rgba(228, 218, 209, 0.04); }
.cart-item-card__checkbox { position: absolute; top: 0.6rem; left: 0.6rem; z-index: 1; display: inline-flex; user-select: none; cursor: pointer; }
.cart-item-card__body { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: start; min-width: 0; }
.cart-item-card__details { display: grid; gap: 0.55rem; min-width: 0; }
.cart-item-card__topline { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: start; }
.cart-item-card__topline h3 { margin: 0; font-size: 1.05rem; line-height: 1.25; text-transform: none; letter-spacing: normal; }
.cart-item-card__variant { margin: 0; color: var(--grey); font-size: 0.9rem; }
.cart-item-card__stock { margin: 0; }
.cart-item-card__actions { display: flex; align-items: center; gap: 0.55rem; flex-wrap: wrap; }
.cart-item-card__actions form { margin: 0; }
.cart-item-card__actions [data-confirm-remove] { display: inline-flex; }
.cart-item-card__actions .btn-secondary { width: auto; min-width: 118px; }
.cart-item-card__price-block { display: grid; gap: 0.2rem; justify-items: end; text-align: right; }
.cart-item-card__price-block strong { font-size: 1.12rem; color: var(--cream); white-space: nowrap; }
.cart-item-card__qty { display: grid; gap: 0.45rem; justify-items: end; min-width: 132px; }
.cart-item-card__qty--static { justify-items: start; align-content: center; }
.cart-qty-form { display: grid; grid-template-columns: 40px 78px 40px; gap: 0.35rem; align-items: center; }
.cart-qty-form__btn { width: 40px; height: 40px; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: rgba(228, 218, 209, 0.04); color: var(--cream); font: inherit; font-size: 1.1rem; cursor: pointer; transition: border-color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast); }
.cart-qty-form__btn:hover,
.cart-qty-form__btn:focus-visible { border-color: var(--rust-red); background: rgba(205, 65, 43, 0.08); transform: translateY(-1px); }
.cart-qty-form__btn:disabled { opacity: 0.4; cursor: not-allowed; transform: none; }
.cart-qty-form__input { width: 78px; height: 40px; text-align: center; background: rgba(30, 32, 32, 0.82); color: var(--cream); border: 1px solid var(--border-soft); border-radius: var(--radius-sm); padding: 0; font: inherit; line-height: normal; appearance: textfield; -moz-appearance: textfield; display: flex; align-items: center; justify-content: center; }
.cart-qty-form__input::-webkit-outer-spin-button,
.cart-qty-form__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.cart-item-card__unit { margin: 0; color: var(--grey); font-size: 0.84rem; text-align: right; }
.cart-confirm[hidden] { display: none !important; }
.cart-confirm { position: fixed; inset: 0; z-index: 3500; display: grid; place-items: center; padding: 1rem; }
.cart-confirm__backdrop { position: absolute; inset: 0; background: rgba(30, 32, 32, 0.78); }
.cart-confirm__dialog { position: relative; width: min(420px, calc(100% - 1rem)); padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: rgba(30, 32, 32, 0.98); display: grid; gap: 0.8rem; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.38); }
.cart-confirm__dialog h2 { margin: 0; }
.cart-confirm__actions { display: flex; justify-content: flex-end; gap: 0.55rem; flex-wrap: wrap; }
.cart-summary { position: sticky; top: 1rem; display: grid; gap: 0.85rem; }
.cart-summary__cta { width: 100%; min-height: 52px; font-size: 0.95rem; }
.cart-summary__cta.is-disabled { pointer-events: none; opacity: 0.48; }
.cart-summary__note { margin: 0; color: var(--grey); font-size: 0.88rem; line-height: 1.45; }
.cart-summary__box { display: grid; gap: 0.5rem; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: rgba(228, 218, 209, 0.03); }
.cart-summary__count { margin: 0; color: var(--grey); font-size: 0.88rem; }
.cart-summary__rows { display: grid; gap: 0.5rem; margin: 0; }
.cart-summary__rows div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.cart-summary__rows dt { color: var(--grey); text-transform: none; letter-spacing: normal; }
.cart-summary__rows dd { margin: 0; color: var(--cream); }
.cart-summary__total { padding-top: 0.65rem; margin-top: 0.2rem; border-top: 1px solid var(--border-soft); }
.cart-summary__total dt,
.cart-summary__total dd { font-size: 1.08rem; font-weight: 700; color: var(--cream); }
.auth-shell { max-width: 620px; display: grid; gap: 0.9rem; }
.auth-tabs { display: flex; gap: 0.5rem; }
.auth-inline-link { color: var(--grey); text-decoration: none; font-size: 0.92rem; width: fit-content; }
.auth-inline-link:hover, .auth-inline-link:focus-visible { color: var(--cream); text-decoration: underline; }
.auth-confirmation-modal { z-index: 3650; }
.auth-confirmation-modal__dialog { width: min(460px, calc(100% - 1rem)); justify-items: center; text-align: center; }
.auth-confirmation-modal__status { width: 72px; height: 72px; border-radius: 999px; border: 1px solid rgba(205, 65, 43, 0.34); background: rgba(205, 65, 43, 0.08); display: inline-flex; align-items: center; justify-content: center; }
.auth-confirmation-modal__spinner { width: 28px; height: 28px; border-radius: 999px; border: 2px solid rgba(228, 218, 209, 0.18); border-top-color: var(--rust-red); border-right-color: var(--rust-red); animation: iconSpin 1s linear infinite; }
.auth-confirmation-modal__copy { display: grid; gap: 0.55rem; }
.auth-confirmation-modal__copy h2,
.auth-confirmation-modal__copy p { margin: 0; }
.auth-confirmation-modal .cart-confirm__actions { width: 100%; justify-content: center; }
.auth-confirmation-modal .cart-confirm__actions .btn { min-width: 148px; }
.password-strength { display: grid; gap: 0.6rem; margin: -0.15rem 0 0.2rem; padding: 0.75rem 0.85rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: rgba(228, 218, 209, 0.03); }
.password-strength[hidden] { display: none !important; }
.password-strength__topline { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.password-strength__label { color: var(--grey); font-size: 0.8rem; letter-spacing: 0.04em; text-transform: uppercase; }
.password-strength__state { color: var(--grey); font-size: 0.92rem; }
.password-strength__track { height: 8px; border-radius: 999px; background: rgba(228, 218, 209, 0.08); overflow: hidden; }
.password-strength__fill { width: 0; height: 100%; border-radius: inherit; background: var(--grey); transition: width var(--transition-base), background-color var(--transition-base); }
.password-strength__checks { display: grid; gap: 0.45rem; }
.password-strength__check { display: inline-flex; align-items: center; gap: 0.6rem; color: var(--grey); font-size: 0.92rem; }
.password-strength__box { width: 18px; height: 18px; border: 1px solid var(--border-strong); border-radius: 4px; background: rgba(30, 32, 32, 0.88); display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; transition: border-color var(--transition-fast), background-color var(--transition-fast); }
.password-strength__check.is-met { color: var(--cream); }
.password-strength__check.is-met .password-strength__box { border-color: var(--rust-red); background: var(--rust-red); }
.password-strength__check.is-met .password-strength__box::after { content: ""; width: 7px; height: 7px; border-radius: 2px; background: var(--cream); }
.password-strength.is-weak .password-strength__state { color: var(--orange); }
.password-strength.is-weak .password-strength__fill { background: var(--orange); }
.password-strength.is-good .password-strength__state { color: var(--blue); }
.password-strength.is-good .password-strength__fill { background: var(--blue); }
.password-strength.is-strong .password-strength__state { color: var(--green); }
.password-strength.is-strong .password-strength__fill { background: var(--green); }
.catalog-filters { display: flex; gap: 0.7rem; flex-wrap: wrap; margin: 0.75rem 0 1rem; }
.active-chip { border-color: var(--rust-red); color: var(--cream); }

.product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(235px, 1fr)); gap: 1rem; align-items: stretch; }
.product-card { position: relative; border: 1px solid var(--border-soft); border-radius: var(--radius-md); padding: 0.8rem; background: var(--surface); display: grid; grid-template-rows: auto 1fr auto; gap: 0.6rem; min-height: 100%; transition: border-color var(--transition-base), background-color var(--transition-base), transform var(--transition-base); }
.product-card:hover, .product-card:focus-within {border: 2px solid var(--rust-red); background: var(--surface-hover); transform: translateY(-2px); }
.product-card a { text-decoration: none; }
.product-card__link-overlay { position: absolute; inset: 0; z-index: 1; border-radius: var(--radius-md); }
.product-card__cart-action,
.product-card__cart-action form,
.product-card__cart-action button { position: relative; z-index: 3; }
.product-card h2, .product-card h3 { margin: 0.08rem 0 0; font-size: 1rem; line-height: 1.22; }
.product-card__footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 0.7rem; }
.product-card__pricing { display: grid; gap: 0.35rem; min-width: 0; }
.product-card__points {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.28rem;
  color: var(--grey);
  font-size: 0.78rem;
  line-height: 1.32;
}
.product-card__points li {
  position: relative;
  padding-left: 0.72rem;
}
.product-card__points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.42rem;
  width: 0.28rem;
  height: 0.28rem;
  border-radius: 999px;
  background: var(--rust-red);
}
.product-card__cart-action form { margin: 0; }
.product-cart-toggle { width: 42px; height: 42px; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: rgba(228, 218, 209, 0.04); color: var(--cream); display: inline-flex; align-items: center; justify-content: center; font: inherit; font-size: 1rem; cursor: pointer; transition: border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast); }
.product-cart-toggle:hover,
.product-cart-toggle:focus-visible { border-color: var(--rust-red); background: rgba(205, 65, 43, 0.08); transform: translateY(-1px); }
.product-cart-toggle.is-active { border-color: rgba(205, 65, 43, 0.34); background: rgba(205, 65, 43, 0.12); color: var(--cream); }
.product-cart-toggle:disabled { opacity: 0.45; cursor: not-allowed; transform: none; }
.product-cart-toggle__icon { width: 18px; height: 18px; stroke: currentColor; stroke-width: 1.8; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.product-media { aspect-ratio: 1 / 1; overflow: hidden; border-radius: var(--radius-sm); background: rgba(30, 32, 32, 0.45); }
.product-media img, .product-main-image, .thumb-row img { width: 100%; height: 100%; object-fit: cover; display: block; border: 1px solid rgba(228, 218, 209, 0.14); border-radius: var(--radius-sm); }
.product-main-image-wrap { position: relative; }
.product-main-image { transition: opacity 180ms ease; }
.product-main-image.is-swapping { opacity: 0.72; }
.product-gallery-nav { position: absolute; top: 50%; z-index: 2; width: 46px; height: 46px; border: 1px solid var(--border-soft); border-radius: 999px; background: rgba(18, 18, 18, 0.88); color: var(--cream); line-height: 1; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transform: translateY(-50%); transition: border-color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast); }
.product-gallery-nav:hover, .product-gallery-nav:focus-visible { border-color: var(--rust-red); background: rgba(205, 65, 43, 0.18); }
.product-gallery-nav--prev { left: 1rem; }
.product-gallery-nav--next { right: 1rem; }
.gallery-nav__icon { width: 18px; height: 18px; display: block; stroke: currentColor; stroke-width: 2.2; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.price-row { display: flex; align-items: baseline; gap: 0.55rem; margin: 0; }
.old-price { color: var(--grey); text-decoration: line-through; font-size: 0.9rem; opacity: 0.8; }

.product-layout, .checkout-layout { display: grid; grid-template-columns: 1.1fr 1fr; gap: 1.5rem; align-items: start; }
.product-gallery { display: grid; gap: 0.65rem; }
.thumb-row {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 84px;
  justify-content: start;
  gap: 0.6rem;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 0.25rem;
  scrollbar-width: none;
}
.thumb-row::-webkit-scrollbar { display: none; }
.thumb-btn { width: 84px; height: 84px; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); overflow: hidden; padding: 0; background: transparent; transition: border-color var(--transition-fast), transform var(--transition-fast); flex: 0 0 auto; }
.thumb-btn.active, .thumb-btn:hover, .thumb-btn:focus-visible { border-color: var(--rust-red); transform: translateY(-1px); }

.stack-row { display: grid; gap: 0.55rem; margin: 1rem 0; }
.product-qty-form { width: fit-content; }
.accordion { border-top: 1px solid var(--border-soft); }
.accordion-item { border-bottom: 1px solid var(--border-soft); }
.accordion-heading { margin: 0; }
.accordion-trigger { width: 100%; border: 0; background: transparent; color: var(--cream); padding: 0.62rem 0; font: inherit; text-align: left; text-transform: uppercase; letter-spacing: 0.03em; display: flex; justify-content: space-between; align-items: center; }
.accordion-trigger::after { content: "+"; color: var(--grey); transition: transform var(--transition-base), color var(--transition-base); font-size: 1rem; line-height: 1; }
.accordion-item.is-open .accordion-trigger { color: var(--rust-red); }
.accordion-item.is-open .accordion-trigger::after { content: "−"; color: var(--rust-red); transform: rotate(180deg); }
.accordion-panel { overflow: hidden; height: 0; opacity: 0; margin-top: 0; transition: height 300ms ease, opacity 260ms ease, margin-top 300ms ease; will-change: height, opacity, margin-top; }
.accordion-item.is-open .accordion-panel { opacity: 1; margin-top: 0.15rem; }
.accordion-content { color: var(--grey); padding-bottom: 0.62rem; }
.product-summary .accordion .accordion-item:nth-of-type(3) { display: none; }
.legal-accordion { margin-top: 1rem; }
.notifications-page-list { max-width: 820px; max-height: none; }

.inline-form { display: flex; gap: 0.45rem; align-items: center; }
.checkout-inline-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
.qty-input { width: 84px; }
.promo-row { display: grid; gap: 0.5rem; max-width: 420px; }
.cart-bottom-grid { margin-top: 1rem; display: grid; grid-template-columns: 1.2fr 1fr; gap: 1rem; align-items: start; }
.totals-box { border: 1px solid var(--border-soft); border-radius: var(--radius-md); padding: 0.9rem; background: var(--surface); }
.empty-state { border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: var(--surface); padding: 1.3rem; max-width: 560px; display: grid; gap: 0.3rem; }
.checkout-state-box { max-width: 720px; margin: 0 auto; }
.checkout-layout > div > h1,
.checkout-layout > div > p.muted-text:first-of-type,
.checkout-main-flow > div > h1,
.checkout-main-flow > div > p.muted-text:first-of-type { display: none; }
.checkout-prestep { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.8fr); gap: 1.5rem; align-items: start; grid-column: 1 / -1; }
.checkout-prestep[hidden],
.checkout-main-flow[hidden] { display: none !important; }
.checkout-prestep__main { display: grid; gap: 0.9rem; }
.checkout-prestep__back { width: fit-content; color: var(--grey); text-decoration: none; }
.checkout-prestep__back:hover,
.checkout-prestep__back:focus-visible { color: var(--cream); }
.checkout-prestep__main > h1 { margin: 0; }
.checkout-prestep__card { display: grid; gap: 1rem; padding: 1.15rem; border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: rgba(228, 218, 209, 0.03); }
.checkout-prestep__header { display: grid; gap: 0.3rem; }
.checkout-prestep__header h2,
.checkout-prestep__header p { margin: 0; }
.checkout-prestep__summary { display: grid; gap: 1rem; margin-top: 98px; }
.checkout-summary__payment--locked .checkout-submit { opacity: 0.7; }
.checkout-main-flow { display: contents; }
.checkout-hero { display: grid; gap: 0.35rem; margin-bottom: 1rem; min-height: 76px; }
.checkout-hero h1 { margin: 0; }
.checkout-hero__subtitle { margin: 0; color: var(--grey); font-size: 0.92rem; }
.checkout-form-shell { display: grid; gap: 0.95rem; }
.checkout-form-section { border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: rgba(228, 218, 209, 0.03); padding: 1rem; display: grid; gap: 0.75rem; }
.checkout-form-section--compact { gap: 0.55rem; }
.checkout-form-section__header { display: grid; gap: 0.25rem; }
.checkout-form-section__header h2 { margin: 0; font-size: 1rem; }
.checkout-form-section__copy,
.checkout-field__hint { margin: 0; color: var(--grey); font-size: 0.82rem; }
.checkout-recommendation { display: grid; gap: 0.75rem; padding: 1rem; border: 1px solid rgba(205, 65, 43, 0.24); border-radius: var(--radius-md); background: rgba(30, 32, 32, 0.48); }
.checkout-recommendation[hidden] { display: none !important; }
.checkout-recommendation__status { color: var(--grey); }
.checkout-recommendation__card { display: grid; gap: 0.75rem; }
.checkout-recommendation__eyebrow { margin: 0; color: var(--grey); font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.03em; }
.checkout-recommendation__card h2 { margin: 0; font-size: 1.15rem; }
.checkout-recommendation__address { margin: 0; color: var(--cream); line-height: 1.45; }
.checkout-recommendation__hint { padding: 0.85rem 0.9rem; border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: rgba(228, 218, 209, 0.04); color: var(--grey); line-height: 1.45; }
.checkout-recommendation__actions { display: flex; flex-wrap: wrap; gap: 0.7rem; align-items: center; }
.checkout-recommendation__actions .btn { min-width: 220px; white-space: nowrap; }
.checkout-recommendation__method-chooser { display: grid; gap: 0.75rem; padding-top: 0.25rem; }
.checkout-recommendation__method-chooser[hidden] { display: none !important; }
.checkout-recommendation__method-chooser .muted-text { margin: 0; }
.checkout-recommendation__method-actions { display: flex; flex-wrap: wrap; gap: 0.7rem; }
.checkout-recommendation__method-actions .btn { min-width: 220px; white-space: nowrap; }
.checkout-recommendation__error { margin: 0; }
.checkout-summary { display: grid; gap: 1rem; }
.checkout-main-flow .checkout-summary { margin-top: 92px; }
.checkout-summary__payment { display: grid; gap: 0.7rem; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: rgba(228, 218, 209, 0.03); }
.checkout-summary__payment-note { margin: -0.15rem 0 0; color: var(--grey); }
.checkout-summary__legal { margin: 0; font-size: 0.8rem; line-height: 1.45; }
.checkout-summary__legal a { color: var(--cream); text-decoration: underline; text-underline-offset: 0.16rem; }
.checkout-summary__legal a:hover,
.checkout-summary__legal a:focus-visible { color: var(--rust-red); }
.checkout-summary__section { display: grid; gap: 0.65rem; }
.checkout-summary__section h2 { margin: 0; font-size: 0.95rem; }
.checkout-summary__items { display: grid; gap: 0.55rem; }
.checkout-summary__item { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 0.75rem; padding: 0.75rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: rgba(228, 218, 209, 0.03); color: inherit; text-decoration: none; transition: border-color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast); }
.checkout-summary__item:hover,
.checkout-summary__item:focus-visible { border-color: var(--rust-red); background: rgba(205, 65, 43, 0.06); transform: translateY(-1px); }
.checkout-summary__item-media { width: 56px; height: 56px; border-radius: var(--radius-sm); overflow: hidden; border: 1px solid var(--border-soft); background: rgba(228, 218, 209, 0.04); display: block; }
.checkout-summary__item-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.checkout-summary__item-body { display: grid; gap: 0.2rem; min-width: 0; }
.checkout-summary__item-body strong,
.checkout-summary__item-price { font-size: 0.92rem; }
.checkout-summary__item-body p { margin: 0; }
.checkout-summary__rows { display: grid; gap: 0.55rem; margin: 0; }
.checkout-summary__rows div { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.checkout-summary__rows dt { color: var(--grey); text-transform: none; letter-spacing: normal; }
.checkout-summary__rows dd { margin: 0; text-align: right; }
.checkout-summary__total { padding-top: 0.8rem; margin-top: 0.15rem; border-top: 1px solid var(--border-soft); }
.checkout-summary__total dt,
.checkout-summary__total dd { font-size: 1.15rem; font-weight: 700; color: var(--cream); }
.checkout-summary__promo { display: grid; gap: 0.65rem; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: rgba(228, 218, 209, 0.03); }
.checkout-link-toggle { width: fit-content; padding: 0; border: 0; background: transparent; color: var(--cream); font: inherit; font-size: 0.9rem; text-decoration: underline; text-underline-offset: 0.16rem; cursor: pointer; }
.checkout-link-toggle:hover,
.checkout-link-toggle:focus-visible { color: var(--rust-red); }
.checkout-promo-panel[hidden] { display: none !important; }
.checkout-promo-panel { display: grid; gap: 0.6rem; }
.checkout-hidden-select,
.checkout-form-shell label[for="payment_method"],
.checkout-form-shell #payment_method { display: none !important; }
.checkout-submit { width: 100%; justify-content: center; min-height: 50px; }
.checkout-trust-row { display: grid; gap: 0.4rem; color: var(--grey); font-size: 0.82rem; }
.checkout-trust-row span { display: inline-flex; align-items: center; gap: 0.45rem; }
.checkout-trust-icon { width: 16px; height: 16px; flex: 0 0 16px; color: var(--cream); stroke: currentColor; stroke-width: 1.8; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.checkout-selected-pickup { border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: rgba(30, 32, 32, 0.88); padding: 0.9rem; display: grid; gap: 0.75rem; }
.checkout-selected-pickup[hidden] { display: none !important; }
.admin-form label[for="delivery_details"],
.admin-form #delivery_details,
.admin-form label[for="customer_comment"],
.admin-form #customer_comment { display: none !important; }
.checkout-pickup-header h2,
.checkout-selected-pickup h2 { margin: 0; font-size: 1rem; }
.checkout-selected-pickup__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.checkout-selected-pickup__edit { border: 0; background: transparent; padding: 0; color: var(--grey); font: inherit; font-size: 0.86rem; cursor: pointer; text-decoration: none; }
.checkout-selected-pickup__edit:hover,
.checkout-selected-pickup__edit:focus-visible { color: var(--cream); }
.checkout-picked-card__change { width: fit-content; min-width: 220px; }
.checkout-pickup-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.checkout-pickup-trigger { white-space: nowrap; width: auto; min-width: 240px; justify-content: center; }
.checkout-search-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.7rem; align-items: center; }
.pickup-results-grid { display: grid; gap: 0.6rem; }
.pickup-result-card,
.checkout-picked-card { display: grid; gap: 0.28rem; width: 100%; text-align: left; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: rgba(228, 218, 209, 0.03); color: var(--cream); padding: 0.8rem; }
.pickup-result-card { cursor: pointer; transition: border-color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast); }
.pickup-result-card:hover,
.pickup-result-card:focus-visible { border-color: var(--rust-red); background: rgba(205, 65, 43, 0.08); transform: translateY(-1px); }
.pickup-result-card span,
.pickup-result-card small { color: var(--grey); }
.checkout-modal { position: fixed; inset: 0; z-index: 3600; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.checkout-modal[hidden] { display: none !important; }
.checkout-modal__backdrop { position: absolute; inset: 0; background: rgba(30, 32, 32, 0.76); }
.checkout-modal__dialog { position: relative; width: min(1180px, calc(100% - 1rem)); max-height: min(92vh, 960px); border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: var(--charcoal); padding: 1rem; display: grid; gap: 0.75rem; overflow: hidden; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.38); }
.checkout-modal__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.checkout-modal__header h2 { margin: 0; }
.checkout-modal__close { width: 40px; height: 40px; border: 1px solid var(--border-soft); border-radius: 999px; background: rgba(228, 218, 209, 0.04); color: var(--cream); font-size: 1.4rem; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.checkout-modal__close:hover,
.checkout-modal__close:focus-visible { border-color: var(--rust-red); color: var(--rust-red); }
.checkout-modal__body { min-height: 0; overflow: auto; -webkit-overflow-scrolling: touch; }
.checkout-map-root { width: 100%; height: min(74vh, 760px); border: 1px solid var(--border-soft); border-radius: var(--radius-sm); overflow: hidden; background: rgba(228, 218, 209, 0.04); }
.checkout-map-root > * { width: 100% !important; height: 100% !important; }
.checkout-map-root--light { background: #fff; border-color: rgba(164, 166, 167, 0.28); }
.checkout-map-root--light,
.checkout-map-root--light * { color-scheme: light; }
.checkout-map-root--light iframe { background: #fff; }

.account-shell { display: grid; gap: 1rem; }
.account-back-link { display: inline-flex; align-items: center; gap: 0.35rem; margin-bottom: 0.5rem; color: var(--grey); text-decoration: none; }
.account-back-link:hover { color: var(--cream); }
.account-orders-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; flex-wrap: wrap; }
.account-copy-toast { position: fixed; left: 50%; bottom: 1.5rem; transform: translateX(-50%); z-index: 3400; border: 1px solid rgba(205, 65, 43, 0.34); border-radius: 999px; background: rgba(30, 32, 32, 0.96); color: var(--cream); padding: 0.7rem 1rem; font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.03em; opacity: 0; pointer-events: none; transition: opacity 170ms ease, transform 170ms ease; }
.account-copy-toast.is-visible { opacity: 1; transform: translateX(-50%) translateY(0); }
.account-orders-switch { display: inline-flex; gap: 0.35rem; padding: 0.24rem; border: 1px solid var(--border-soft); border-radius: 999px; background: rgba(228, 218, 209, 0.03); }
.account-orders-switch__tab { border: 0; border-radius: 999px; background: transparent; color: var(--grey); font: inherit; font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.03em; padding: 0.55rem 0.95rem; cursor: pointer; transition: background-color var(--transition-fast), color var(--transition-fast); }
.account-orders-switch__tab.is-active { background: rgba(205, 65, 43, 0.12); color: var(--cream); }
.account-orders-pane { display: none; }
.account-orders-pane.is-active { display: block; }
.account-orders-list { display: grid; gap: 0.85rem; }
.account-order-card { position: relative; border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: rgba(228, 218, 209, 0.03); padding: 1rem; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: center; transition: border-color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast); }
.account-order-card--clickable:hover,
.account-order-card--clickable:focus-within { border-color: var(--rust-red); background: rgba(205, 65, 43, 0.05); transform: translateY(-1px); }
.account-order-card__overlay { position: absolute; inset: 0; z-index: 1; border-radius: var(--radius-md); }
.account-order-card__main { position: relative; z-index: 0; display: grid; gap: 0.9rem; min-width: 0; }
.account-order-card__header { display: flex; flex-wrap: wrap; align-items: start; justify-content: space-between; gap: 0.8rem; }
.account-order-card__number,
.account-order-number-full { white-space: nowrap; font-size: 1rem; font-weight: 700; color: var(--cream); }
.account-order-card__badges,
.account-order-detail__status-row { display: flex; flex-wrap: wrap; gap: 0.45rem; align-items: center; }
.status-pill { display: inline-flex; align-items: center; justify-content: center; min-height: 32px; padding: 0.38rem 0.75rem; border-radius: 999px; border: 1px solid transparent; font-size: 0.76rem; line-height: 1; }
.status-pill--order-main { min-height: 42px; padding: 0.65rem 1.05rem; font-size: 0.98rem; font-weight: 700; letter-spacing: 0.04em; }
.status-pill--neutral { background: rgba(164, 166, 167, 0.1); color: var(--grey); border-color: rgba(164, 166, 167, 0.22); }
.status-pill--warning { background: rgba(194, 109, 51, 0.12); color: var(--orange); border-color: rgba(194, 109, 51, 0.34); }
.status-pill--info { background: rgba(31, 107, 160, 0.12); color: var(--blue); border-color: rgba(31, 107, 160, 0.34); }
.status-pill--accent { background: rgba(205, 65, 43, 0.12); color: var(--rust-red); border-color: rgba(205, 65, 43, 0.34); }
.status-pill--success { background: rgba(115, 141, 69, 0.13); color: var(--green); border-color: rgba(115, 141, 69, 0.34); }
.status-pill--danger { background: rgba(205, 65, 43, 0.12); color: #ff8d7d; border-color: rgba(205, 65, 43, 0.34); }
.account-order-card__body { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem; align-items: center; }
.account-order-card__gallery { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.account-order-thumb { width: 56px; height: 56px; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); overflow: hidden; background: rgba(228, 218, 209, 0.05); display: flex; align-items: center; justify-content: center; color: var(--grey); font-weight: 700; }
.account-order-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.account-order-thumb__placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 1.05rem; background: rgba(228, 218, 209, 0.05); }
.account-order-thumb--more { background: rgba(205, 65, 43, 0.08); color: var(--cream); }
.account-order-card__meta { display: grid; gap: 0.35rem; min-width: 0; }
.account-order-card__line { display: flex; flex-wrap: wrap; gap: 0.5rem 0.8rem; align-items: baseline; }
.account-order-card__line strong { font-size: 1.15rem; color: var(--cream); }
.account-order-card__pickup { color: var(--cream); line-height: 1.45; }
.account-order-card__side { position: relative; z-index: 2; display: grid; gap: 0.55rem; justify-items: end; }

.account-order-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.85fr); gap: 1rem; align-items: start; }
.account-order-main,
.account-order-side { display: grid; gap: 1rem; }
.account-surface-card { border: 1px solid var(--border-soft); border-radius: var(--radius-md); padding: 1rem; background: var(--surface); display: grid; gap: 0.9rem; }
.account-surface-card--sticky { position: sticky; top: 1rem; }
.account-detail-rows { display: grid; gap: 0.65rem; }
.account-detail-rows div { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 0.75rem; padding-bottom: 0.55rem; border-bottom: 1px solid var(--border-soft); }
.account-detail-rows span { color: var(--grey); font-size: 0.8rem; }
.account-detail-rows strong { color: var(--cream); font-weight: 500; word-break: break-word; text-transform: none; letter-spacing: normal; }
.account-order-items { display: grid; gap: 0.8rem; }
.account-order-item { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 0.85rem; align-items: center; padding-bottom: 0.8rem; border-bottom: 1px solid var(--border-soft); }
.account-order-item:last-child { padding-bottom: 0; border-bottom: 0; }
.account-order-item__media { width: 72px; height: 72px; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); overflow: hidden; background: rgba(228, 218, 209, 0.05); }
.account-order-item__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.account-order-item__content { display: grid; gap: 0.25rem; min-width: 0; }
.account-order-item__content strong { text-transform: none; letter-spacing: normal; font-size: 1rem; }
.account-order-item__prices { display: grid; gap: 0.25rem; justify-items: end; text-align: right; }
.account-order-total-box { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border-radius: var(--radius-md); background: rgba(205, 65, 43, 0.08); border: 1px solid rgba(205, 65, 43, 0.22); }
.account-order-total-box span { color: var(--grey); font-size: 0.85rem; }
.account-order-total-box strong { font-size: 1.5rem; color: var(--cream); }
.account-order-side__actions { display: grid; gap: 0.55rem; }

.account-order-market-card { position: relative; border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: rgba(228, 218, 209, 0.03); padding: 1rem; display: grid; gap: 1rem; cursor: pointer; transition: border-color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast); }
.account-order-market-card--clickable:hover,
.account-order-market-card--clickable:focus-within { border-color: var(--rust-red); background: rgba(205, 65, 43, 0.05); transform: translateY(-1px); }
.account-order-market-card--completed { background: rgba(228, 218, 209, 0.02); border-color: rgba(228, 218, 209, 0.12); opacity: 0.78; }
.account-order-market-card--completed:hover,
.account-order-market-card--completed:focus-within { background: rgba(228, 218, 209, 0.03); border-color: rgba(228, 218, 209, 0.22); }
.account-order-market-card__topline { display: flex; justify-content: flex-start; }
.account-order-market-number { position: relative; z-index: 2; border: 0; padding: 0; background: transparent; display: inline-flex; align-items: center; gap: 0.55rem; color: var(--grey); font: inherit; font-size: 0.83rem; line-height: 1; white-space: nowrap; cursor: pointer; transition: color var(--transition-fast); }
.account-order-market-number:hover,
.account-order-market-number:focus-visible,
.account-order-market-number.is-copied { color: var(--cream); }
.account-order-market-number:focus { outline: none; }
.account-copy-btn__icon { font-size: 0.92rem; line-height: 1; }
.account-order-market-card__layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(380px, 0.95fr); gap: 1.15rem; align-items: start; }
.account-order-market-card__summary { display: grid; gap: 0.8rem; align-content: start; min-width: 0; }
.account-order-market-status { margin: 0; font-size: clamp(1.65rem, 2vw, 2.2rem); line-height: 1.02; letter-spacing: 0.02em; text-transform: none; color: var(--cream); }
.account-order-market-status--pending { color: var(--rust-red); display: grid; gap: 0.32rem; }
.account-order-market-status--success { color: var(--green); }
.account-order-market-timer { display: inline-flex; width: fit-content; color: var(--cream); font-size: 1rem; font-weight: 500; letter-spacing: 0.04em; padding: 0.32rem 0.6rem; border: 1px solid rgba(205, 65, 43, 0.34); border-radius: 999px; background: rgba(205, 65, 43, 0.08); }
.account-order-market-delivery { display: grid; gap: 0.12rem; line-height: 1.35; }
.account-order-market-delivery__lead { color: var(--grey); font-size: 0.9rem; text-transform: none; letter-spacing: normal; }
.account-order-market-delivery__status { color: var(--cream); font-size: 1rem; font-weight: 500; text-transform: none; letter-spacing: normal; }
.account-order-market-payment-text { color: var(--grey); font-size: 0.94rem; line-height: 1.5; }
.account-order-market-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.account-order-market-actions .btn { min-width: 200px; }
.account-order-market-actions .btn.is-disabled { opacity: 0.5; pointer-events: none; }
.account-order-market-products { display: flex; flex-wrap: wrap; gap: 0.8rem; }
.account-order-market-product { width: 152px; min-width: 152px; max-width: 152px; border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: rgba(30, 32, 32, 0.55); overflow: hidden; display: grid; grid-template-rows: 152px auto; }
.account-order-market-product__media { width: 152px; height: 152px; background: rgba(228, 218, 209, 0.05); }
.account-order-market-product__media img,
.account-order-market-product__media .account-order-thumb__placeholder { width: 100%; height: 100%; object-fit: cover; display: flex; align-items: center; justify-content: center; }
.account-order-market-product__info { display: flex; align-items: center; justify-content: center; padding: 0.7rem 0.6rem 0.8rem; min-width: 0; }
.account-order-market-product__price { color: var(--cream); font-size: 1.05rem; font-weight: 700; white-space: nowrap; }
.account-order-market-product--more { display: flex; align-items: center; justify-content: center; background: rgba(205, 65, 43, 0.08); min-height: 198px; }
.account-order-market-product__more { color: var(--cream); font-size: 1rem; text-transform: uppercase; letter-spacing: 0.03em; text-align: center; padding: 1rem; }

.admin-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.95rem; margin-bottom: 1rem; }
.admin-panels-grid--detail { grid-template-columns: 1.6fr 1fr; }
.admin-detail-list { display: grid; gap: 0.58rem; margin: 0; }
.admin-detail-list div { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 0.75rem; padding-bottom: 0.4rem; border-bottom: 1px solid var(--border-soft); }
.admin-detail-list dt { color: var(--grey); font-size: 0.78rem; text-transform: uppercase; }
.admin-detail-list dd { margin: 0; word-break: break-word; }
.admin-detail-list--compact div { grid-template-columns: 180px minmax(0, 1fr); }
.admin-note-block + .admin-note-block { margin-top: 1rem; }
.admin-note-block h3 { margin-bottom: 0.35rem; }
.admin-raw-json { white-space: pre-wrap; word-break: break-word; font-size: 0.85rem; line-height: 1.5; }

.storefront-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, 0.88fr);
  gap: 1.4rem;
  align-items: center;
  margin-bottom: 0.85rem;
  padding: 1.35rem;
  border: 1px solid rgba(205, 65, 43, 0.24);
  border-radius: var(--radius-md);
  background:
    linear-gradient(135deg, rgba(205, 65, 43, 0.18), rgba(30, 32, 32, 0.86) 42%),
    rgba(30, 32, 32, 0.92);
  box-shadow: 0 20px 44px rgba(0, 0, 0, 0.16);
  overflow: hidden;
  animation: fadeUp 420ms ease;
}
.storefront-hero__copy {
  display: grid;
  gap: 0.9rem;
  min-width: 0;
}
.storefront-hero__eyebrow {
  margin: 0;
  color: var(--grey);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.74rem;
}
.storefront-hero h1 {
  margin: 0;
  max-width: 13ch;
  font-size: clamp(2rem, 1.4rem + 2.3vw, 3.35rem);
  line-height: 0.95;
  letter-spacing: 0.02em;
}
.storefront-hero__text {
  margin: 0;
  max-width: 32rem;
  color: var(--cream);
  font-size: 1rem;
  line-height: 1.5;
}
.storefront-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
}
.storefront-hero__cta {
  min-width: 232px;
  transition:
    background-color 260ms ease,
    border-color 260ms ease,
    color 220ms ease,
    transform 260ms ease,
    box-shadow 260ms ease;
}
.storefront-hero__cta:hover,
.storefront-hero__cta:focus-visible {
  background: color-mix(in srgb, var(--rust-red) 88%, var(--charcoal));
  border-color: color-mix(in srgb, var(--rust-red) 88%, var(--charcoal));
  transform: translateY(-1px);
}
.storefront-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}
.storefront-hero__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.4rem 0.72rem;
  border: 1px solid var(--border-soft);
  border-radius: 999px;
  background: rgba(228, 218, 209, 0.03);
  color: var(--grey);
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.storefront-hero__meta-icon {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
}
.storefront-hero__visual {
  display: flex;
  justify-content: flex-end;
}
.storefront-hero__image-frame {
  position: relative;
  width: min(100%, 430px);
  aspect-ratio: 5 / 4;
  border: 1px solid rgba(228, 218, 209, 0.12);
  border-radius: calc(var(--radius-md) + 4px);
  background:
    radial-gradient(circle at top, rgba(205, 65, 43, 0.14), transparent 58%),
    rgba(228, 218, 209, 0.03);
  overflow: hidden;
}
.storefront-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.01);
  animation: fadeUp 520ms ease;
}
.storefront-hero-strip {
  margin: 0 0 1.15rem;
  padding: 0.42rem 0;
  border-top: 1px solid var(--border-soft);
  border-bottom: 1px solid var(--border-soft);
  color: var(--grey);
  font-size: 0.84rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.checkout-success-reward {
  margin-top: 1rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(115, 141, 69, 0.26);
  border-radius: var(--radius-md);
  background: rgba(115, 141, 69, 0.1);
}
.checkout-success-reward p {
  margin: 0;
}

.footer { border-top: 1px solid var(--border-soft); padding: 0.4rem 0; }
.footer-trust-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.7rem 1.1rem;
  flex-wrap: wrap;
  padding: 0.75rem 0 0.55rem;
  color: var(--cream);
}
.footer-trust-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.42rem 0.78rem;
  border: 1px solid var(--border-soft);
  border-radius: 999px;
  background: rgba(228, 218, 209, 0.03);
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.footer-trust-icon {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
}
.footer-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.4rem;
  align-items: start;
  padding: 0.8rem 0 0.35rem;
}
.footer-main__info {
  display: grid;
  gap: 0.7rem;
  justify-items: start;
  min-width: 0;
}
.footer-main__legal {
  display: grid;
  gap: 0.42rem;
  justify-items: end;
  min-width: 0;
}
.footer-legal-title {
  margin: 0;
  color: var(--cream);
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.footer-brand-link { display: inline-flex; align-items: center; gap: 0.4rem; color: var(--cream); text-decoration: none; }
.footer-logo { display: block; max-height: 22px; width: auto; object-fit: contain; }
.footer-brand { font-size: 0.74rem; color: var(--grey); }
.footer-contacts { display: inline-flex; align-items: center; justify-content: flex-start; gap: 1rem; flex-wrap: wrap; }
.footer-contact-link { color: var(--grey); text-decoration: none; text-transform: uppercase; letter-spacing: 0.03em; font-size: 0.74rem; border-bottom: 1px solid transparent; }
.footer-contact-link:hover { color: var(--cream); border-bottom-color: var(--rust-red); }
.footer-support-link { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.72rem; color: var(--cream); }
.footer-social-icons { display: inline-flex; align-items: center; gap: 0.3rem; margin-left: 0.1rem; }
.footer-social-link { width: 26px; height: 26px; border: 1px solid var(--border-soft); border-radius: 999px; color: var(--grey); text-decoration: none; display: inline-flex; align-items: center; justify-content: center; transition: border-color var(--transition-fast), color var(--transition-fast), background-color var(--transition-fast); }
.footer-social-link:hover, .footer-social-link:focus-visible { border-color: var(--rust-red); color: var(--cream); background: rgba(205, 65, 43, 0.08); }
.footer-social-icon { width: 14px; height: 14px; fill: currentColor; }
.support-status, .footer-legal-link { text-transform: uppercase; letter-spacing: 0.03em; font-size: 0.76rem; margin: 0; }
.footer-legal-link { color: var(--grey); text-decoration: none; }
.footer-legal-link:hover { color: var(--cream); }
.footer-legal-links {
  display: grid;
  justify-items: end;
  align-content: start;
  gap: 0.18rem;
  text-align: right;
}
.no-text-transform { text-transform: none !important; letter-spacing: 0.01em; }
.support-dot { width: 7px; height: 7px; border-radius: 50%; display: inline-block; box-shadow: 0 0 0 1px rgba(228, 218, 209, 0.25), 0 0 8px rgba(30, 32, 32, 0.45); }
.support-dot.online { background: var(--green); animation: pulse 1.6s infinite; }
.support-dot.offline { background: var(--rust-red); }

.settings-preview-logo { display: block; max-height: 60px; width: auto; margin-top: 0.3rem; }
.settings-preview-favicon { display: block; width: 24px; height: 24px; margin-top: 0.3rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); }
.settings-preview-background { display: block; width: min(100%, 360px); aspect-ratio: 16 / 9; object-fit: cover; margin-top: 0.35rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); }
.is-submitting { opacity: 0.86; }
.EasyMDEContainer { background: rgba(30, 32, 32, 0.85); border: 1px solid var(--border-soft); }
.editor-toolbar, .CodeMirror, .editor-preview, .editor-preview-side { background: rgba(30, 32, 32, 0.85) !important; color: var(--cream); border-color: var(--border-soft) !important; }
.editor-toolbar button { color: var(--grey) !important; }
.CodeMirror-cursor { border-left-color: var(--cream) !important; }

@media (max-width: 950px) {
  .admin-panels-grid { grid-template-columns: 1fr; }
  .admin-detail-grid { grid-template-columns: 1fr; }
  .product-layout, .checkout-layout, .cart-bottom-grid { grid-template-columns: 1fr; }
  .checkout-prestep { grid-template-columns: 1fr; }
  .checkout-summary,
  .checkout-prestep__summary { margin-top: 0; }
  .product-reviews-overview { grid-template-columns: 1fr; }
  .cart-page__layout { grid-template-columns: 1fr; }
  .cart-summary { position: static; }
  .account-order-layout { grid-template-columns: 1fr; }
  .account-surface-card--sticky { position: static; }
  .account-order-market-card__layout { grid-template-columns: 1fr; }
  .storefront-hero { grid-template-columns: 1fr; }
  .storefront-hero__visual { justify-content: flex-start; }
  .storefront-hero h1 { max-width: none; }
}

@media (max-width: 720px) {
  .container { width: min(1200px, calc(100% - 1.25rem)); }
  .site-header nav { align-items: center; padding: 0.75rem 0; flex-direction: row; width: 100%; min-height: 58px; }
  .nav-brand { gap: 0.45rem; max-width: calc(100% - 10rem); min-width: 0; flex: 1 1 auto; }
  .brand-name,
  .brand-text { font-size: 0.8rem; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .nav-actions { width: auto; justify-content: flex-end; flex-wrap: nowrap; flex: 0 0 auto; }
  .nav-dropdown { position: static; }
  .dropdown-panel { right: 0.625rem; top: calc(100% + 8px); width: min(320px, calc(100vw - 1.25rem)); }
  .catalog-filters {
    flex-wrap: nowrap;
    gap: 0.45rem;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 0.15rem;
    margin-bottom: 0.85rem;
    scrollbar-width: none;
  }
  .catalog-filters::-webkit-scrollbar { display: none; }
  .catalog-filters .btn {
    flex: 0 0 auto;
    width: auto;
    min-height: 34px;
    padding: 0.35rem 0.62rem;
    font-size: 0.72rem;
  }
  .storefront-hero {
    padding: 1rem;
    gap: 1rem;
  }
  .storefront-hero__text {
    font-size: 0.92rem;
  }
  .storefront-hero__cta {
    width: 100%;
    min-width: 0;
  }
  .storefront-hero__meta-item {
    width: 100%;
    justify-content: flex-start;
  }
  .storefront-hero__image-frame {
    width: 100%;
  }
  .storefront-hero-strip {
    margin-bottom: 0.95rem;
    font-size: 0.74rem;
    line-height: 1.45;
  }
  .product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.45rem;
  }
  .product-card {
    padding: 0.45rem;
    gap: 0.4rem;
  }
  .product-card h2,
  .product-card h3 {
    font-size: 0.76rem;
    line-height: 1.18;
  }
  .product-review-strip__track { grid-auto-columns: 62px; }
  .product-review-strip__item,
  .product-review-strip__more { width: 62px; height: 62px; }
  .product-reviews-breakdown__row { grid-template-columns: 96px minmax(0, 1fr) auto; gap: 0.55rem; }
  .product-review-card__top { flex-direction: column; align-items: flex-start; gap: 0.45rem; }
  .product-review-card__meta { justify-content: flex-start; }
  .product-mini-summary { display: none; }
  .product-card__points { display: none; }
  .product-card__footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 0.35rem;
  }
  .price-row {
    gap: 0.28rem;
    flex-wrap: wrap;
  }
  .price-row strong { font-size: 0.84rem; }
  .old-price { font-size: 0.68rem; }
  .status-badge { font-size: 0.62rem; padding: 0.22rem 0.36rem; }
  .product-cart-toggle {
    width: 34px;
    height: 34px;
  }
  .product-cart-toggle__icon { width: 15px; height: 15px; }
  .admin-table th, .admin-table td { padding: 0.62rem; font-size: 0.9rem; }
  .checkout-inline-grid { grid-template-columns: 1fr; }
  .checkout-search-row { grid-template-columns: 1fr; }
  .checkout-pickup-actions { display: grid; grid-template-columns: 1fr; }
  .checkout-pickup-trigger,
  .checkout-pickup-actions .btn { width: 100%; min-width: 0; }
  .checkout-prestep__summary { order: 2; }
  .checkout-prestep__main { order: 1; }
  .checkout-recommendation__actions .btn,
  .checkout-recommendation__method-actions .btn,
  .checkout-picked-card__change { width: 100%; min-width: 0; white-space: normal; }
  .checkout-form-section { padding: 0.85rem; }
  .cart-page__header { align-items: stretch; }
  .cart-toolbar { flex-wrap: wrap; }
  .cart-item-card { grid-template-columns: 1fr; }
  .cart-item-card__media { width: 100%; max-width: 220px; height: auto; aspect-ratio: 1 / 1; }
  .cart-item-card__body { grid-template-columns: 1fr; }
  .cart-item-card__topline { grid-template-columns: 1fr; }
  .cart-item-card__price-block,
  .cart-item-card__qty,
  .cart-item-card__unit { justify-items: start; text-align: left; }
  .admin-detail-list div { grid-template-columns: 1fr; gap: 0.3rem; }
  .thumb-row { grid-auto-columns: 72px; gap: 0.45rem; }
  .thumb-btn {
    width: 72px;
    height: 72px;
  }
  .product-gallery-nav {
    width: 40px;
    height: 40px;
    font-size: 1.7rem;
  }
  .product-gallery-nav--prev { left: 0.6rem; }
  .product-gallery-nav--next { right: 0.6rem; }
  .account-order-card { grid-template-columns: 1fr; }
  .account-order-card__header,
  .account-order-card__body { display: grid; grid-template-columns: 1fr; }
  .account-order-card__side { justify-items: stretch; }
  .account-orders-toolbar { align-items: stretch; }
  .account-orders-switch { width: 100%; justify-content: stretch; }
  .account-orders-switch__tab { flex: 1 1 0; }
  .account-order-market-products { display: flex; overflow-x: auto; padding-bottom: 0.2rem; }
  .account-order-market-product { width: 132px; min-width: 132px; max-width: 132px; grid-template-rows: 132px auto; }
  .account-order-market-product__media { width: 132px; height: 132px; }
  .account-detail-rows div { grid-template-columns: 1fr; gap: 0.3rem; }
  .account-order-item { grid-template-columns: 64px minmax(0, 1fr); }
  .account-order-item__media { width: 64px; height: 64px; }
  .account-order-item__prices { grid-column: 2; justify-items: start; text-align: left; }
  .footer-main {
    grid-template-columns: 1fr;
    gap: 0.9rem;
  }
  .footer-trust-strip { gap: 0.45rem; padding-top: 0.6rem; }
  .footer-trust-item { width: 100%; justify-content: center; }
  .footer-main__info,
  .footer-main__legal { justify-items: center; text-align: center; }
  .footer-brand-link { width: 100%; justify-content: center; }
  .footer-contacts { width: 100%; justify-content: center; }
  .footer-social-icons { justify-content: center; }
  .footer-legal-links { justify-items: center; text-align: center; width: 100%; }
  .promo-popup { right: 10px; bottom: 10px; width: min(285px, calc(100% - 20px)); }
  .checkout-modal {
    padding: max(4.75rem, calc(env(safe-area-inset-top) + 4.25rem)) 0.5rem max(0.5rem, env(safe-area-inset-bottom));
    align-items: flex-start;
  }
  .checkout-modal__dialog {
    width: 100%;
    max-height: calc(100vh - max(1rem, env(safe-area-inset-top)) - max(1rem, env(safe-area-inset-bottom)));
    min-height: 0;
    padding: 0.8rem;
    border-radius: 18px;
    grid-template-rows: auto auto minmax(0, 1fr);
  }
  .checkout-modal__header {
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: nowrap;
  }
  .checkout-modal__header > :first-child {
    min-width: 0;
    flex: 1 1 auto;
  }
  .checkout-modal__header h2 {
    font-size: 1.05rem;
    line-height: 1.1;
  }
  .checkout-modal__close {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    margin-left: auto;
    position: relative;
    z-index: 2;
  }
  .checkout-map-root {
    height: min(58vh, 520px);
    min-height: 360px;
  }
  .review-modal__dialog {
    width: 100%;
    max-height: calc(100vh - 1rem);
  }
  .review-form-modal .btn {
    width: 100%;
  }
  .checkout-state-actions {
    grid-template-columns: 1fr;
  }
  .review-upload__preview {
    grid-template-columns: repeat(auto-fill, minmax(150px, 150px));
    gap: 0.65rem;
  }
  .review-upload__preview-item,
  .review-media-card {
    width: 150px;
  }
  .review-upload__thumb,
  .review-media-card img,
  .review-media-card video {
    height: 136px;
  }
  .review-viewer-modal__dialog {
    width: 100%;
    max-height: calc(100vh - 5.25rem);
  }
  .review-viewer__sidebar {
    gap: 0.85rem;
    padding: 1rem 0.9rem 0.9rem;
  }
  .review-viewer__header {
    gap: 0.7rem;
    padding-right: 2.1rem;
  }
  .review-viewer__rating {
    font-size: clamp(0.76rem, 0.68rem + 0.35vw, 0.86rem);
  }
  .review-viewer__body {
    font-size: clamp(0.74rem, 0.6rem + 0.55vw, 0.9rem);
    line-height: 1.48;
  }
  .review-viewer__nav {
    width: 40px;
    height: 40px;
    font-size: 1.7rem;
  }
  .review-viewer__nav--prev { left: 0.6rem; }
  .review-viewer__nav--next { right: 0.6rem; }
  .review-viewer__thumbs {
    grid-template-columns: repeat(auto-fill, minmax(72px, 72px));
    gap: 0.55rem;
  }
  .review-viewer__thumb {
    width: 72px;
    height: 72px;
  }
  .cart-confirm {
    padding: 0.75rem;
    align-items: end;
  }
  .cart-confirm__dialog {
    width: 100%;
    border-radius: 18px;
    padding: 0.9rem;
  }
  .cart-confirm__actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .cart-confirm__actions .btn {
    width: 100%;
  }
}

@media (max-width: 500px) {
  .container { width: calc(100% - 1rem); }
  .storefront-hero {
    padding: 0.9rem;
    gap: 0.85rem;
  }
  .storefront-hero__eyebrow {
    font-size: 0.68rem;
  }
  .storefront-hero h1 {
    font-size: clamp(1.75rem, 1.3rem + 2.1vw, 2.35rem);
  }
  .storefront-hero__text {
    font-size: 0.88rem;
  }
  .storefront-hero__meta {
    gap: 0.42rem;
  }
  .storefront-hero__meta-item {
    padding: 0.36rem 0.62rem;
    font-size: 0.7rem;
  }
  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
  }
  .product-card {
    padding: 0.5rem;
    min-width: 0;
  }
  .product-card h2,
  .product-card h3 {
    font-size: 0.82rem;
  }
  .product-card__footer {
    grid-template-columns: minmax(0, 1fr) 34px;
  }
  .catalog-filters {
    width: 100%;
    margin-inline: 0;
  }
  .catalog-filters .btn {
    font-size: 0.7rem;
    padding: 0.32rem 0.55rem;
  }
  .site-header nav { gap: 0.5rem; }
  .nav-brand { max-width: calc(100% - 8.25rem); }
  .nav-actions { justify-content: flex-end; gap: 0.35rem; }
  .nav-dropdown { flex: 0 0 auto; display: block; }
  .product-review-strip__track { grid-auto-columns: 56px; gap: 0.45rem; }
  .product-review-strip__item,
  .product-review-strip__more { width: 56px; height: 56px; }
  .thumb-row { grid-auto-columns: 60px; gap: 0.4rem; }
  .thumb-btn {
    width: 60px;
    height: 60px;
  }
  .product-gallery-nav {
    width: 36px;
    height: 36px;
    font-size: 1.55rem;
  }
  .product-gallery-nav--prev { left: 0.45rem; }
  .product-gallery-nav--next { right: 0.45rem; }
  .checkout-modal { padding: 0; }
  .checkout-modal__dialog {
    max-height: calc(100vh - 4.5rem);
    border-radius: 0;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    padding: 0.8rem 0.75rem;
  }
  .checkout-modal {
    padding-top: max(4.5rem, calc(env(safe-area-inset-top) + 4rem));
    align-items: flex-start;
  }
  .checkout-modal__body {
    margin-inline: -0.1rem;
  }
  .checkout-map-root {
    height: min(54vh, 460px);
    min-height: 320px;
    border-radius: 14px;
  }
  .review-upload__preview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .review-upload__preview-item,
  .review-media-card {
    width: 100%;
  }
  .review-upload__thumb,
  .review-media-card img,
  .review-media-card video {
    height: 148px;
  }
  .review-viewer__media {
    min-height: 36vh;
  }
  .review-viewer__stage {
    min-height: 36vh;
    padding: 0.6rem;
  }
  .review-viewer__stage img,
  .review-viewer__stage video {
    max-height: calc(36vh - 1.2rem);
  }
  .review-viewer__header {
    padding-right: 2rem;
  }
  .review-viewer__author-avatar {
    width: 38px;
    height: 38px;
  }
  .review-viewer__body {
    font-size: 0.92rem;
    line-height: 1.55;
  }
  .review-viewer__thumbs {
    grid-template-columns: repeat(auto-fill, minmax(64px, 64px));
  }
  .review-viewer__thumb {
    width: 64px;
    height: 64px;
  }
}

@media (max-width: 420px) {
  .container { width: calc(100% - 0.875rem); }
  .site-header nav { padding: 0.6rem 0; gap: 0.4rem; }
  .nav-brand {
    min-width: 0;
    max-width: calc(100% - 7.75rem);
  }
  .brand-logo { max-height: 36px; }
  .brand-name,
  .brand-text {
    min-width: 0;
    font-size: 0.74rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .nav-actions { width: auto; min-width: 0; gap: 0.28rem; }
  .icon-btn { min-width: 36px; width: 36px; height: 36px; }
  .dropdown-panel {
    right: 0.4375rem;
    width: calc(100vw - 0.875rem);
    max-width: calc(100vw - 0.875rem);
  }
  .catalog-filters {
    gap: 0.38rem;
    padding-bottom: 0.1rem;
  }
  .catalog-filters .btn {
    min-height: 32px;
    font-size: 0.68rem;
  }
  .checkout-modal__dialog {
    padding: 0.75rem 0.625rem;
  }
  .checkout-selected-pickup {
    padding: 0.75rem;
  }
  .checkout-form-section {
    padding: 0.75rem;
    gap: 0.65rem;
  }
  .checkout-pickup-header h2,
  .checkout-selected-pickup h2 {
    font-size: 0.94rem;
  }
  .checkout-modal__header h2 {
    font-size: 0.98rem;
  }
  .checkout-map-root {
    min-height: 290px;
  }
  .review-upload__preview {
    grid-template-columns: 1fr;
  }
  .review-upload__thumb,
  .review-media-card img,
  .review-media-card video {
    height: 172px;
  }
  .review-viewer-modal__close {
    top: max(0.55rem, env(safe-area-inset-top));
    right: max(0.55rem, env(safe-area-inset-right));
  }
  .review-viewer__sidebar {
    padding: 0.85rem 0.75rem 0.8rem;
  }
  .review-viewer__header {
    gap: 0.6rem;
  }
  .review-viewer__nav {
    width: 36px;
    height: 36px;
    font-size: 1.55rem;
  }
  .review-viewer__nav--prev { left: 0.45rem; }
  .review-viewer__nav--next { right: 0.45rem; }
  .review-viewer__rating {
    font-size: clamp(0.74rem, 0.68rem + 0.45vw, 0.82rem);
  }
  .review-viewer__body {
    font-size: clamp(0.7rem, 0.62rem + 0.65vw, 0.84rem);
    line-height: 1.42;
  }
  .cart-confirm {
    padding: 0.5rem;
  }
  .cart-confirm__dialog {
    padding: 0.85rem 0.75rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cursor-overlay,
  .custom-cursor {
    transition: none;
  }
}

@keyframes pulse {
  0% { opacity: 0.45; }
  50% { opacity: 1; }
  100% { opacity: 0.45; }
}

@keyframes iconSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes promoMarquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
