.fancy-product-fastview .fancybox-bg { background: rgba(31, 23, 19, 0.72); }
.fancy-product-fastview .fancybox-slide { padding: clamp(10px, 3vw, 36px); }
.fancy-product-fastview .fancybox-content {
  width: min(1120px, 100%);
  max-width: 1120px;
  padding: 0;
  overflow: visible;
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-md);
}
.fancy-product-fastview .fancybox-close-small {
  top: 8px;
  right: 8px;
  z-index: 5;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  color: var(--color-text-strong);
  background: rgba(255,255,255,.92);
}
.fastview-shell { min-height: 420px; }
.fastview-state {
  display: flex;
  min-height: 420px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: var(--spacing-xs);
  padding: var(--spacing-xl);
  color: var(--color-text-muted);
  text-align: center;
}
.fastview-state strong { color: var(--color-text-strong); font-size: var(--font-size-lg); }
.fastview-state__spinner { width: 34px; height: 34px; border: 3px solid var(--color-primary-soft); border-top-color: var(--color-primary); border-radius: 50%; animation: wk-spin .75s linear infinite; }
.fastview-state__actions { display: flex; gap: var(--spacing-sm); margin-top: var(--spacing-md); }
.fastview { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); min-height: 560px; overflow: hidden; border-radius: var(--radius-lg); }
.fastview__media { position: relative; min-width: 0; background: var(--color-background-alt); }
.fastview__gallery, .fastview__slide { height: 100%; min-height: 560px; }
.fastview__slide { display: flex; align-items: center; justify-content: center; }
.fastview__slide img { display: block; width: 100%; height: 100%; max-height: 720px; object-fit: contain; }
.fastview__gallery-button { position: absolute; z-index: 3; top: 50%; display: grid; width: 42px; height: 42px; place-items: center; padding: 0; border: 1px solid var(--color-border); border-radius: 50%; color: var(--color-text); background: rgba(255,255,255,.94); transform: translateY(-50%); cursor: pointer; }
.fastview__gallery-button svg { width: 22px; height: 22px; }
.fastview__gallery-button--prev { left: 12px; }
.fastview__gallery-button--next { right: 12px; }
.fastview__pagination { bottom: 14px !important; }
.fastview__pagination .swiper-pagination-bullet-active { background: var(--color-primary); }
.fastview__favorite { position: absolute; z-index: 4; top: 14px; left: 14px; display: grid; width: 44px; height: 44px; place-items: center; padding: 0; border: 0; border-radius: 50%; color: var(--color-text); background: rgba(255,255,255,.94); box-shadow: var(--shadow-xs); cursor: pointer; }
.fastview__favorite svg { width: 23px; height: 23px; }
.fastview__favorite.fav_in_cart { color: var(--color-danger); }
.fastview__favorite.fav_in_cart svg path { fill: currentColor; }
.fastview__content { min-width: 0; max-height: max-content; overflow-y: auto; padding: clamp(24px, 4vw, 48px); }
.fastview__brand { display: inline-block; margin-bottom: var(--spacing-xs); color: var(--color-primary-hover); font-size: var(--font-size-sm); font-weight: 600; text-decoration: none; }
.fastview__title { margin: 0 52px var(--spacing-sm) 0; color: var(--color-text-strong); font-size: clamp(1.45rem, 2.2vw, 2rem); line-height: 1.18; outline: none; overflow-wrap: anywhere; }
.fastview__meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--spacing-xs) var(--spacing-md); color: var(--color-text-muted); font-size: var(--font-size-sm); }
.fastview__stock.is-available { color: var(--color-success); }
.fastview__stock.is-unavailable { color: var(--color-danger); }
.fastview__price { display: flex; align-items: baseline; gap: var(--spacing-sm); margin-top: var(--spacing-lg); }
.fastview__price strong { color: var(--color-primary-hover); font-size: clamp(1.55rem, 3vw, 2.2rem); font-weight: 600; }
.fastview__price del { color: var(--color-text-muted); font-size: var(--font-size-lg); }
.fastview__tax, .fastview__reward { margin: 4px 0 0; color: var(--color-text-muted); font-size: var(--font-size-sm); }
.fastview__reward { color: var(--color-reward); }
.fastview__discounts { display: grid; gap: 4px; margin: var(--spacing-md) 0 0; padding: var(--spacing-sm); border-radius: var(--radius-sm); background: var(--color-background-alt); list-style: none; }
.fastview__discounts li { display: flex; justify-content: space-between; gap: var(--spacing-md); font-size: var(--font-size-sm); }
.fastview__description { margin: var(--spacing-lg) 0 0; color: var(--color-text-muted); line-height: 1.55; }
.fastview__form { margin-top: var(--spacing-lg); }
.fastview-options { display: grid; gap: var(--spacing-md); }
.fastview-options__title { margin: 0; font-size: var(--font-size-lg); }
.fastview-option { margin: 0; }
.fastview-option .product-option__choices { max-height: 180px; overflow-y: auto; }
.fastview__purchase { display: grid; grid-template-columns: 132px minmax(0,1fr); gap: var(--spacing-sm); margin-top: var(--spacing-lg); }
.fastview__quantity { width: 100%; }
.fastview__quantity .quantity__input { min-width: 0; width: 48px; padding-inline: 4px; text-align: center; appearance: textfield; }
.fastview__quantity .quantity__input::-webkit-inner-spin-button { appearance: none; }
.fastview__cart { width: 100%; }
.fastview__in-cart { display: inline-block; margin-top: var(--spacing-xs); color: var(--color-success); font-size: var(--font-size-sm); }
.fastview__recurring { margin-top: var(--spacing-lg); padding: var(--spacing-md); border-radius: var(--radius-sm); color: var(--color-warning); background: var(--color-warning-soft); }
.fastview__message { min-height: 1.4em; margin-top: var(--spacing-sm); font-size: var(--font-size-sm); }
.fastview__message.is-success { color: var(--color-success); }
.fastview__message.is-error { color: var(--color-danger); }
.fastview__details { width: 100%; margin-top: var(--spacing-md); }

.compare-page { padding-bottom: var(--spacing-3xl); }
.compare-page__breadcrumbs { margin-bottom: var(--spacing-lg); }
.compare-page__head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--spacing-md); margin-bottom: var(--spacing-xl); }
.compare-page__head h1 { margin: 0; font-size: var(--font-size-2xl); }
.compare-page__eyebrow { margin: 0 0 4px; color: var(--color-primary-hover); font-size: var(--font-size-sm); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.compare-page__count { flex: 0 0 auto; padding: 6px 10px; border-radius: var(--radius-pill); color: var(--color-text-muted); background: var(--color-background-alt); font-size: var(--font-size-sm); }
.compare-page__scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); box-shadow: var(--shadow-xs); }
.compare-page__scroll:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; }
.compare-grid { min-width: calc(180px + (var(--compare-products) * 230px)); }
.compare-grid__row { display: grid; grid-template-columns: minmax(160px, 210px) repeat(var(--compare-products), minmax(220px, 1fr)); border-bottom: 1px solid var(--color-border); }
.compare-grid__row:last-child { border-bottom: 0; }
.compare-grid__row--products { align-items: stretch; }
.compare-grid__label, .compare-grid__value { min-width: 0; padding: var(--spacing-md); overflow-wrap: anywhere; }
.compare-grid__label { position: sticky; left: 0; z-index: 2; color: var(--color-text-strong); background: var(--color-background-alt); font-weight: 600; box-shadow: 1px 0 0 var(--color-border); }
.compare-grid__value { color: var(--color-text); background: var(--color-surface); }
.compare-grid__value + .compare-grid__value, .compare-product + .compare-product { border-left: 1px solid var(--color-border); }
.compare-grid__value--description { color: var(--color-text-muted); font-size: var(--font-size-sm); line-height: 1.55; }
.compare-grid__group { position: sticky; left: 0; z-index: 3; padding: 12px var(--spacing-md); color: var(--color-surface); background: var(--color-surface-dark); font-weight: 600; }
.compare-product { display: flex; min-width: 0; flex-direction: column; gap: var(--spacing-sm); padding: var(--spacing-md); background: var(--color-surface); }
.compare-product__image { display: flex; aspect-ratio: 3/4; align-items: center; justify-content: center; overflow: hidden; border-radius: var(--radius-sm); background: var(--color-background-alt); }
.compare-product__image img { width: 100%; height: 100%; object-fit: contain; }
.compare-product h2 { min-height: 2.7em; margin: 0; font-size: var(--font-size-base); line-height: 1.35; overflow-wrap: anywhere; }
.compare-product h2 a { color: var(--color-text); text-decoration: none; }
.compare-product__price { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--spacing-xs); }
.compare-product__price strong { color: var(--color-primary-hover); font-size: var(--font-size-lg); }
.compare-product__price del { color: var(--color-text-muted); }
.compare-product__actions { display: grid; gap: var(--spacing-xs); margin-top: auto; }
.compare-product__actions .button { width: 100%; }
.compare-empty { display: flex; min-height: 360px; align-items: center; justify-content: center; flex-direction: column; gap: var(--spacing-sm); padding: var(--spacing-xl); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); text-align: center; }
.compare-empty svg { width: 64px; height: 64px; color: var(--color-primary); }
.compare-empty h2, .compare-empty p { margin: 0; }
.compare-empty p { max-width: 540px; color: var(--color-text-muted); }
.compare-empty .button { margin-top: var(--spacing-sm); }

@media (max-width: 767px) {
  .product-card__quick-view { display: flex; inset-inline: 8px; inset-block-end: 8px; min-height: 34px; padding: 6px 8px; font-size: 12px; opacity: 1; transform: none; }
  .fancy-product-fastview .fancybox-slide { padding: 0; }
  .fancy-product-fastview .fancybox-content { width: 100%; max-width: none; min-height: 100%; border-radius: 0; }
  .fancy-product-fastview .fancybox-close-small { position: fixed; top: 8px; right: 8px; }
  .fastview-shell { min-height: 100vh; }
  .fastview { display: block; min-height: 100vh; border-radius: 0; }
  .fastview__gallery, .fastview__slide { min-height: 0; height: 100%; }
  .fastview__content { max-height: max-content; padding: 22px 16px calc(88px + env(safe-area-inset-bottom)); overflow: visible; }
  .fastview__title { margin-right: 42px; font-size: 1.45rem; }
  .fastview__purchase { grid-template-columns: 132px minmax(0, 1fr); }
  .fastview__gallery-button { width: 38px; height: 38px; }
  .compare-page__head { align-items: flex-start; }
  .compare-grid { min-width: calc(145px + (var(--compare-products) * 190px)); }
  .compare-grid__row { grid-template-columns: 145px repeat(var(--compare-products), minmax(180px, 1fr)); }
  .compare-grid__label, .compare-grid__value, .compare-product { padding: 12px; }
}

@media (max-width: 399px) {
  .fastview__quantity { max-width: 150px; }
  .fastview-state__actions { width: 100%; flex-direction: column; }
}
