:root {
    --product-vitrine-ink: #272727;
    --product-vitrine-muted: #757575;
    --product-vitrine-line: #e4e4e4;
    --product-vitrine-line-strong: #a8a69f;
    --product-vitrine-surface: #ffffff;
    --product-vitrine-surface-soft: #ebebeb;
    --product-vitrine-accent: #c7d7d2;
    --product-vitrine-accent-strong: #b3c8c1;
    --product-vitrine-shadow: none;
    --product-vitrine-border: rgba(225, 231, 237, 0.98);
    --product-vitrine-border-soft: rgba(232, 236, 240, 0.96);
    --product-vitrine-border-active: #005bff;
    --product-vitrine-primary: #005bff;
    --product-vitrine-primary-hover: #0047c7;
    --product-vitrine-secondary-bg: rgba(248, 250, 252, 0.98);
    --product-vitrine-secondary-bg-hover: rgba(240, 245, 255, 0.98);
    --product-vitrine-cart-added-bg: #dfe9f7;
    --product-vitrine-cart-added-bg-hover: #d4e2f4;
    --product-vitrine-cart-added-border: #bed1eb;
    --product-vitrine-cart-added-text: #23466f;
    --product-vitrine-control-radius: 0.34rem;
    --product-vitrine-panel-radius: 0.44rem;
    --product-vitrine-control-shadow: 0 0.35rem 0.95rem rgba(31, 43, 50, 0.04);
    --product-vitrine-control-shadow-hover: 0 0.55rem 1.25rem rgba(0, 91, 255, 0.1);
    --product-vitrine-control-shadow-active: inset 0 0 0 1px var(--product-vitrine-border-active);
    --product-vitrine-primary-shadow: 0 0.8rem 1.6rem rgba(0, 91, 255, 0.16);
}

.product_vitrine__module:empty {
    display: none;
}

.product_vitrine {
    color: var(--product-vitrine-ink);
}

.product_vitrine__module .container,
.product_vitrine__module .cont-text-container {
    width: 100%;
}

.product_vitrine__module .cont-text-container.container {
    padding-top: 0;
    padding-bottom: 3.75rem;
}

.product_vitrine__title,
.product_vitrine__show-title {
    margin: 0;
    color: var(--product-vitrine-ink);
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1.1;
}

.product_vitrine__title {
    font-size: clamp(1.85rem, 2.6vw, 2.5rem);
    max-width: none;
}

.product_vitrine__show-title {
    font-size: clamp(2rem, 4vw, 3.5rem);
}

.product_vitrine__detail .product-card__title {
    margin: 0;
    color: var(--product-vitrine-ink);
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1.1;
    font-size: clamp(2rem, 4vw, 3.5rem);
}

.product_vitrine__text,
.product_vitrine__show-note,
.product_vitrine__show-text,
.product_vitrine__record-note {
    color: var(--product-vitrine-muted);
    line-height: 1.65;
}

.product_vitrine__text {
    max-width: 62rem;
    margin-top: 0.85rem;
    font-size: 1rem;
}

.product_vitrine__image {
    margin-top: 1.5rem;
    overflow: hidden;
    border-radius: 0.45rem;
    background:
        radial-gradient(circle at top left, rgba(199, 215, 210, 0.7), transparent 42%),
        linear-gradient(135deg, #f6faf8, #edf3f0);
    border: 1px solid rgba(185, 201, 197, 0.7);
    box-shadow: var(--product-vitrine-shadow);
}

.product_vitrine__image img {
    display: block;
    width: 100%;
    max-height: 30rem;
    object-fit: cover;
}

.product_vitrine__records {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 2rem 1.4rem;
    margin-top: 1.95rem;
}

.product_vitrine__groups {
    margin-top: 1.5rem;
}

.product_vitrine__groups:empty {
    display: none;
}

.product_vitrine__groups-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem 1.3rem;
}

.bnx-breadcrumbs {
    margin: 0 0 1.375rem;
    color: #6f7d78;
    font-size: 0.8125rem;
    line-height: 1.45;
}

.bnx-breadcrumbs .bnx-breadcrumbs__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.375rem 0.625rem;
    margin: 0;
    padding: 0;
    list-style: none;
    background: none;
    border-radius: 0;
}

.bnx-breadcrumbs .breadcrumb > li + li:before {
    content: "";
    padding: 0;
}

.bnx-breadcrumbs .bnx-breadcrumbs__item {
    float: none;
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    min-width: 0;
    padding: 0;
    color: inherit;
}

.bnx-breadcrumbs .bnx-breadcrumbs__item + .bnx-breadcrumbs__item:before {
    content: "";
    width: 0.375rem;
    height: 0.375rem;
    flex: 0 0 0.375rem;
    border-top: 1px solid rgba(111, 125, 120, 0.55);
    border-right: 1px solid rgba(111, 125, 120, 0.55);
    transform: rotate(45deg);
}

.bnx-breadcrumbs .bnx-breadcrumbs__link {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: color 0.18s ease, border-color 0.18s ease, opacity 0.18s ease;
}

.bnx-breadcrumbs .bnx-breadcrumbs__link:hover,
.bnx-breadcrumbs .bnx-breadcrumbs__link:focus-visible {
    color: #222;
    border-bottom-color: rgba(34, 34, 34, 0.22);
    outline: none;
}

.bnx-breadcrumbs .bnx-breadcrumbs__label,
.bnx-breadcrumbs .bnx-breadcrumbs__current {
    display: inline;
    min-width: 0;
    overflow-wrap: anywhere;
}

.bnx-breadcrumbs .bnx-breadcrumbs__current,
.bnx-breadcrumbs .bnx-breadcrumbs__item.is-active {
    color: #222;
}

.bnx-breadcrumbs .bnx-breadcrumbs__current {
    font-weight: 500;
}

.product_vitrine__filters {
    margin-top: 1.55rem;
    padding: 1.35rem 1.4rem 1.45rem;
    border: 1px solid rgba(168, 166, 159, 0.32);
    background:
        radial-gradient(circle at top left, rgba(199, 215, 210, 0.42), transparent 36%),
        linear-gradient(135deg, rgba(252, 253, 252, 0.98), rgba(246, 247, 245, 0.98));
}

.product_vitrine__filters-form {
    display: grid;
    gap: 1.15rem;
}

.product_vitrine__filters-form.is-loading {
    opacity: 0.72;
}

.product_vitrine.is-filter-loading .product_vitrine__records {
    opacity: 0.68;
    transition: opacity 0.18s ease;
}

.product_vitrine__filters-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem 1.2rem;
    align-items: start;
}

.product_vitrine__filters-copy {
    display: grid;
    gap: 0.5rem;
}

.product_vitrine__filters-eyebrow {
    color: rgba(39, 39, 39, 0.58);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.product_vitrine__filters-title {
    margin: 0;
    color: var(--product-vitrine-ink);
    font-size: clamp(1.1rem, 2vw, 1.45rem);
    font-weight: 600;
    line-height: 1.15;
}

.product_vitrine__filters-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.5rem;
}

.product_vitrine__filters-summary:empty {
    display: none;
}

.product_vitrine__filters-chip {
    display: inline-flex;
    align-items: center;
    min-height: 1.95rem;
    padding: 0.22rem 0.72rem;
    border: 1px solid rgba(168, 166, 159, 0.34);
    background: rgba(255, 255, 255, 0.85);
    color: rgba(39, 39, 39, 0.82);
    font-size: 0.78rem;
    line-height: 1.2;
}

.product_vitrine__filters-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.55rem;
    align-items: center;
}

.product_vitrine__filters-submit,
.product_vitrine__filters-reset {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.7rem;
    padding: 0 1rem;
    text-decoration: none;
    transition:
        border-color 0.22s ease,
        background-color 0.22s ease,
        color 0.22s ease,
        box-shadow 0.22s ease;
}

.product_vitrine__filters-submit {
    border: 1px solid var(--product-vitrine-ink);
    background: var(--product-vitrine-ink);
    color: #fff;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
}

.product_vitrine__filters-submit:hover {
    background: #1f1f1f;
    border-color: #1f1f1f;
}

.product_vitrine__filters-reset {
    border: 1px solid rgba(168, 166, 159, 0.36);
    background: transparent;
    color: var(--product-vitrine-ink);
    font-size: 0.8125rem;
    font-weight: 500;
}

.product_vitrine__filters-reset:hover {
    border-color: rgba(39, 39, 39, 0.5);
    background: rgba(255, 255, 255, 0.7);
}

.product_vitrine__filters-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14.5rem, 1fr));
    gap: 0.9rem;
}

.product_vitrine__filter-card {
    display: grid;
    gap: 0.7rem;
    min-width: 0;
    padding: 0.95rem 1rem 1rem;
    border: 1px solid rgba(168, 166, 159, 0.26);
    background: rgba(255, 255, 255, 0.8);
}

.product_vitrine__filter-card--search,
.product_vitrine__filter-card--toggle {
    align-content: start;
}

.product_vitrine__filter-label {
    margin: 0;
    color: rgba(39, 39, 39, 0.86);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.2;
}

.product_vitrine__filter-input {
    width: 100%;
    min-height: 2.7rem;
    padding: 0.65rem 0.8rem;
    border: 1px solid rgba(168, 166, 159, 0.34);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.96);
    color: var(--product-vitrine-ink);
    font-size: 0.92rem;
    line-height: 1.2;
    box-shadow: none;
}

.product_vitrine__filter-input:focus {
    outline: none;
    border-color: var(--product-vitrine-ink);
}

.product_vitrine__filter-range {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
}

.product_vitrine__filter-range-slider {
    display: grid;
    gap: 0.9rem;
}

.product_vitrine__filter-range-values {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
}

.product_vitrine__filter-range-pill {
    display: grid;
    gap: 0.3rem;
    min-height: 3rem;
    padding: 0.65rem 0.8rem;
    border: 1px solid rgba(168, 166, 159, 0.26);
    background: rgba(255, 255, 255, 0.94);
}

.product_vitrine__filter-range-amount {
    color: var(--product-vitrine-ink);
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1.1;
}

.product_vitrine__filter-slider {
    position: relative;
    height: 2rem;
}

.product_vitrine__filter-slider-rail,
.product_vitrine__filter-slider-range {
    position: absolute;
    top: 50%;
    height: 0.34rem;
    transform: translateY(-50%);
    pointer-events: none;
}

.product_vitrine__filter-slider-rail {
    left: 0;
    right: 0;
    background: rgba(168, 166, 159, 0.28);
}

.product_vitrine__filter-slider-range {
    background: #64736a;
}

.product_vitrine__filter-slider.is-static .product_vitrine__filter-slider-range {
    left: 0;
    width: 100%;
}

.product_vitrine__filter-slider-input {
    -webkit-appearance: none;
    appearance: none;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    background: transparent;
    pointer-events: none;
}

.product_vitrine__filter-slider-input::-webkit-slider-runnable-track {
    height: 0.34rem;
    background: transparent;
}

.product_vitrine__filter-slider-input::-moz-range-track {
    height: 0.34rem;
    background: transparent;
}

.product_vitrine__filter-slider-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 1.05rem;
    height: 1.05rem;
    margin-top: -0.36rem;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--product-vitrine-ink);
    box-shadow: 0 0 0 1px rgba(39, 39, 39, 0.12);
    cursor: pointer;
    pointer-events: auto;
}

.product_vitrine__filter-slider-input::-moz-range-thumb {
    width: 1.05rem;
    height: 1.05rem;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--product-vitrine-ink);
    box-shadow: 0 0 0 1px rgba(39, 39, 39, 0.12);
    cursor: pointer;
    pointer-events: auto;
}

.product_vitrine__filter-slider-input:focus {
    outline: none;
}

.product_vitrine__filter-slider-input:focus::-webkit-slider-thumb {
    box-shadow:
        0 0 0 1px rgba(39, 39, 39, 0.12),
        0 0 0 0.2rem rgba(100, 115, 106, 0.18);
}

.product_vitrine__filter-slider-input:focus::-moz-range-thumb {
    box-shadow:
        0 0 0 1px rgba(39, 39, 39, 0.12),
        0 0 0 0.2rem rgba(100, 115, 106, 0.18);
}

.product_vitrine__filter-range-item {
    display: grid;
    gap: 0.35rem;
}

.product_vitrine__filter-range-caption {
    color: rgba(39, 39, 39, 0.56);
    font-size: 0.72rem;
    line-height: 1.1;
}

.product_vitrine__filter-toggle,
.product_vitrine__filter-check {
    display: inline-grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.7rem;
    cursor: pointer;
}

.product_vitrine__filter-toggle--inline {
    margin-right: 0.4rem;
}

.product_vitrine__filter-card--boolean.product_vitrine__filter-check {
    align-items: center;
}

.product_vitrine__filter-toggle-input,
.product_vitrine__filter-check-input,
.product_vitrine__filter-option-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.product_vitrine__filter-toggle-ui,
.product_vitrine__filter-check-ui {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
}

.product_vitrine__filter-toggle-ui {
    width: 2.75rem;
    height: 1.55rem;
    border-radius: 999px;
    background: rgba(168, 166, 159, 0.45);
}

.product_vitrine__filter-toggle-ui::after {
    content: "";
    position: absolute;
    top: 0.15rem;
    left: 0.16rem;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    background: #fff;
    transition: transform 0.22s ease;
}

.product_vitrine__filter-toggle-input:checked + .product_vitrine__filter-toggle-ui {
    background: #64736a;
}

.product_vitrine__filter-toggle-input:checked + .product_vitrine__filter-toggle-ui::after {
    transform: translateX(1.18rem);
}

.product_vitrine__filter-check-ui {
    width: 1.2rem;
    height: 1.2rem;
    border: 1px solid rgba(39, 39, 39, 0.36);
    background: #fff;
}

.product_vitrine__filter-check-ui::after {
    content: "";
    position: absolute;
    inset: 0.18rem;
    background: var(--product-vitrine-ink);
    opacity: 0;
    transition: opacity 0.18s ease;
}

.product_vitrine__filter-check-input:checked + .product_vitrine__filter-check-ui::after {
    opacity: 1;
}

.product_vitrine__filter-toggle-text,
.product_vitrine__filter-check-text {
    color: rgba(39, 39, 39, 0.76);
    font-size: 0.88rem;
    line-height: 1.25;
}

.product_vitrine__filter-options {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.product_vitrine__filter-option {
    display: inline-flex;
    cursor: pointer;
}

.product_vitrine__filter-option-ui {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 2.35rem;
    padding: 0.45rem 0.72rem;
    border: 1px solid rgba(168, 166, 159, 0.34);
    background: rgba(255, 255, 255, 0.92);
    color: rgba(39, 39, 39, 0.82);
    font-size: 0.82rem;
    line-height: 1.15;
    transition:
        border-color 0.22s ease,
        background-color 0.22s ease,
        color 0.22s ease,
        box-shadow 0.22s ease;
}

.product_vitrine__filter-option:hover .product_vitrine__filter-option-ui,
.product_vitrine__filter-option.is-selected .product_vitrine__filter-option-ui,
.product_vitrine__filter-option-input:checked + .product_vitrine__filter-option-ui {
    border-color: rgba(39, 39, 39, 0.48);
    background: rgba(247, 247, 245, 0.98);
    color: var(--product-vitrine-ink);
}

.product_vitrine__filter-option--color .product_vitrine__filter-option-ui {
    min-width: 8.75rem;
    justify-content: flex-start;
}

.product_vitrine__filter-swatch {
    width: 0.95rem;
    height: 0.95rem;
    border: 1px solid rgba(39, 39, 39, 0.18);
    border-radius: 50%;
    flex: 0 0 auto;
}

.product_vitrine__filter-option-text {
    display: inline-block;
}

.product_vitrine__group-card {
    display: flex;
    align-items: center;
    min-height: 6.5rem;
    border: 1px solid rgba(168, 166, 159, 0.4);
    border-radius: 0;
    background: var(--product-vitrine-surface);
    color: var(--product-vitrine-ink);
    text-decoration: none;
    overflow: hidden;
    transition:
        border-color 0.22s ease,
        box-shadow 0.22s ease,
        transform 0.22s ease;
}

.product_vitrine__group-card:hover {
    border-color: var(--product-vitrine-line-strong);
    box-shadow: 0 0.6rem 1.6rem rgba(39, 39, 39, 0.08);
    transform: translateY(-1px);
}

.product_vitrine__group-media {
    flex: 0 0 6.25rem;
    width: 6.25rem;
    min-height: 6.5rem;
    align-self: stretch;
    background: linear-gradient(135deg, #f4f2ed, #ebe7df);
    overflow: hidden;
}

.product_vitrine__group-image,
.product_vitrine__group-placeholder {
    display: block;
    width: 100%;
    height: 100%;
}

.product_vitrine__group-image {
    object-fit: cover;
}

.product_vitrine__group-image--contain {
    object-fit: contain;
}

.product_vitrine__groups--fit-contain .product_vitrine__group-media {
    background: transparent;
    padding: 0.4rem;
}

.product_vitrine__groups--compact .product_vitrine__group-card {
    min-height: 4rem;
}

.product_vitrine__groups--compact .product_vitrine__group-media {
    flex: 0 0 4rem;
    width: 4rem;
    min-height: 4rem;
}

.product_vitrine__groups--compact .product_vitrine__group-body {
    padding: 0.55rem 0.75rem 0.55rem 0.85rem;
}

.product_vitrine__groups--compact .product_vitrine__group-text {
    display: none;
}

.product_vitrine__group-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(39, 39, 39, 0.56);
    font-size: 1.7rem;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.product_vitrine__group-body {
    display: grid;
    gap: 0.22rem;
    flex: 1;
    min-width: 0;
    padding: 0.9rem 1rem 0.9rem 1.1rem;
}

.product_vitrine__group-title {
    color: #1b1f32;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.2;
}

.product_vitrine__group-text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    color: var(--product-vitrine-ink);
    font-size: 0.875rem;
    line-height: 1.25;
}

.product_vitrine__pagination {
    display: grid;
    justify-items: center;
    gap: 0.65rem;
    margin-top: 2rem;
}

.product_vitrine__pagination + .product_vitrine__footer-text {
    margin-top: 1.5rem;
}

.product_vitrine__pagination[data-next-url=""] {
    display: none;
}

.product_vitrine__load-more {
    min-width: min(100%, 15rem);
    min-height: 2.85rem;
    padding: 0.75rem 1.25rem;
    border: 1px solid var(--product-vitrine-line-strong);
    border-radius: var(--product-vitrine-control-radius);
    background: var(--product-vitrine-surface);
    color: var(--product-vitrine-ink);
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.2;
    cursor: pointer;
    transition:
        border-color 0.22s ease,
        background-color 0.22s ease,
        color 0.22s ease,
        opacity 0.22s ease;
}

.product_vitrine__load-more:hover:not(:disabled) {
    border-color: var(--product-vitrine-ink);
    background: #f7f7f7;
}

.product_vitrine__load-more:disabled {
    cursor: wait;
    opacity: 0.7;
}

.product_vitrine__load-more-status {
    min-height: 1.1rem;
    color: var(--product-vitrine-muted);
    font-size: 0.8125rem;
    line-height: 1.35;
    text-align: center;
}

.product_vitrine__load-more-status:empty {
    display: none;
}

.product_vitrine__load-more-sentinel {
    width: 100%;
    height: 1px;
}

.product_vitrine__record {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 0 0 1.5rem;
    border: 0;
    border-bottom: 1px solid var(--product-vitrine-line-strong);
    border-radius: 0;
    background: var(--product-vitrine-surface);
    box-shadow: none;
    transition:
        border-color 0.22s ease,
        opacity 0.22s ease;
}

.product_vitrine__record:hover {
    border-color: var(--product-vitrine-ink);
}

.product_vitrine__record .product-card__badges,
.product_vitrine__detail .product-card__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.product_vitrine__record .product-card__badges {
    position: absolute;
    top: 0.4rem;
    left: 0;
    z-index: 2;
}

.product_vitrine__detail .product-card__badges {
    grid-column: 2;
    margin-bottom: 0.15rem;
}

.product-card__badge {
    display: inline-flex;
    align-items: center;
    min-height: 1.75rem;
    padding: 0 0.7rem;
    font-size: 0.6875rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: nowrap;
}

.product-card__badge--hit {
    background: #1f1f1f;
    color: #fff;
}

.product-card__badge--new {
    background: #ebebeb;
    color: var(--product-vitrine-ink);
}

.product_vitrine__record .product-card__title {
    margin: 0.75rem 0 0;
    font-size: 0.875rem;
    line-height: 1.35;
    font-weight: 400;
    color: var(--product-vitrine-ink);
    min-height: calc(0.875rem * 1.35 * 2);
}

.product_vitrine__record .product-card__title-link {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: inherit;
    text-decoration: none;
    font-weight: 400;
    word-break: break-word;
    max-height: calc(0.875rem * 1.35 * 2);
}

.product_vitrine__record .product-card__title-link:hover {
    opacity: 0.75;
}

.product_vitrine__record .product-card__image {
    position: relative;
    overflow: hidden;
    border-radius: 0;
    padding-top: 130%;
    background: transparent;
}

.product_vitrine__record .product-card__image-link {
    position: absolute;
    inset: 0;
    display: block;
    text-decoration: none;
}

.product_vitrine__record .product-card__image-media,
.product_vitrine__detail .product-card__image-media {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.product_vitrine__record .product-card__image-media {
    position: absolute;
    inset: 0;
    margin: auto;
    max-width: 100%;
    max-height: 100%;
    padding: 0;
    transition: transform 0.28s ease;
}

.product_vitrine__record:hover .product-card__image-media {
    transform: scale(1.02);
}

.product-card__favorite {
    position: absolute;
    top: 0.4rem;
    right: 0;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.75rem;
    height: 1.75rem;
    padding: 0 0.45rem;
    border: 0;
    border-radius: 0;
    background: #ebebeb;
    color: var(--product-vitrine-ink);
    cursor: pointer;
    transition:
        opacity 0.2s ease,
        background 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.product-card__favorite:hover {
    opacity: 0.78;
}

.product-card__favorite.is-active {
    background: #1f1f1f;
    color: #fff;
}

.product-card__favorite-icon {
    font-size: 0.82rem;
    line-height: 1;
}

.product-card__favorite-label {
    display: none;
}

.product-card__favorite-icon--active {
    display: none;
}

.product-card__favorite.is-active .product-card__favorite-icon--idle {
    display: none;
}

.product-card__favorite.is-active .product-card__favorite-icon--active {
    display: inline;
}

.product-card__favorite.is-active .product-card__favorite-label--idle {
    display: none;
}

.product-card__favorite.is-active .product-card__favorite-label--active {
    display: inline;
}

.product_vitrine__record .product-card__favorite.is-active {
    gap: 0.32rem;
    padding-left: 0.4rem;
    padding-right: 0.5rem;
}

.product_vitrine__record .product-card__favorite-label--active {
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.01em;
}

.product_vitrine__detail .product-card__favorite {
    position: static;
    justify-self: end;
    align-self: start;
    gap: 0.45rem;
    min-width: auto;
    min-height: 2.4rem;
    height: auto;
    padding: 0.55rem 0.85rem;
    border: 1px solid var(--product-vitrine-border);
    border-radius: var(--product-vitrine-control-radius);
    background: var(--product-vitrine-secondary-bg);
    color: var(--product-vitrine-ink);
    box-shadow: var(--product-vitrine-control-shadow);
    opacity: 1;
}

.product_vitrine__detail .product-card__favorite:hover {
    opacity: 1;
    border-color: var(--product-vitrine-border-active);
    background: var(--product-vitrine-secondary-bg-hover);
    box-shadow: var(--product-vitrine-control-shadow-hover);
}

.product_vitrine__detail .product-card__favorite-icon {
    font-size: 0.92rem;
}

.product_vitrine__detail .product-card__favorite-label {
    display: inline;
    font-size: 0.84rem;
    font-weight: 600;
    line-height: 1;
}

.product_vitrine__detail .product-card__favorite-label--active {
    display: none;
}

.product_vitrine__detail .product-card__favorite.is-active .product-card__favorite-label--active {
    display: inline;
}

.product_vitrine__detail .product-card__favorite.is-active {
    border-color: rgba(0, 91, 255, 0.24);
    background: rgba(0, 91, 255, 0.08);
    color: #16202a;
    box-shadow:
        var(--product-vitrine-control-shadow-active),
        0 0.55rem 1.25rem rgba(0, 91, 255, 0.08);
}

.product_vitrine__record-title {
    margin: 1rem 0 0;
    font-size: 1.125rem;
    line-height: 1.35;
    font-weight: 400;
    color: var(--product-vitrine-ink);
}

.product_vitrine__record-title-link {
    color: inherit;
    text-decoration: none;
    font-weight: 500;
}

.product_vitrine__record-title-link:hover {
    opacity: 0.75;
}

.product_vitrine__record-image {
    position: relative;
    overflow: hidden;
    border-radius: 0;
    padding-top: 130%;
    background: transparent;
}

.product_vitrine__record-image-link {
    position: absolute;
    inset: 0;
    display: block;
    text-decoration: none;
}

.product_vitrine__record-image img,
.product_vitrine__show-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.product_vitrine__record-image img {
    position: absolute;
    inset: 0;
    margin: auto;
    max-width: 100%;
    max-height: 100%;
    padding: 0;
    transition: transform 0.28s ease;
}

.product_vitrine__record:hover .product_vitrine__record-image img {
    transform: scale(1.02);
}

.product_vitrine__record-note {
    display: none;
}

.product_vitrine__record-note > :first-child,
.product_vitrine__show-note > :first-child,
.product_vitrine__show-text > :first-child,
.product_vitrine__detail .product-card__note > :first-child,
.product_vitrine__detail .product-card__text > :first-child,
.product_vitrine__text > :first-child {
    margin-top: 0;
}

.product_vitrine__record-note > :last-child,
.product_vitrine__show-note > :last-child,
.product_vitrine__show-text > :last-child,
.product_vitrine__detail .product-card__note > :last-child,
.product_vitrine__detail .product-card__text > :last-child,
.product_vitrine__text > :last-child {
    margin-bottom: 0;
}

.product_vitrine__commerce {
    display: grid;
    gap: 0.45rem;
    margin-top: auto;
    padding-top: 1rem;
    border-top: 0;
}

.product-card__commerce {
    display: grid;
    gap: 0.45rem;
    margin-top: auto;
    padding-top: 1rem;
    border-top: 0;
}

.product_vitrine__prices {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.45rem 0.7rem;
}

.product-card__prices {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.45rem 0.7rem;
}

.product-card__price-line {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem 0.55rem;
}

.product_vitrine__price {
    display: inline-block;
    font-size: 1.25rem;
    font-weight: 400;
    color: var(--product-vitrine-ink);
    line-height: 1.1;
}

.product-card__price {
    display: inline-block;
    font-size: 1.25rem;
    font-weight: 400;
    color: var(--product-vitrine-ink);
    line-height: 1.1;
}

.product-card__discount {
    display: inline-flex;
    align-items: center;
    min-height: 1.75rem;
    padding: 0 0.7rem;
    border-radius: 0;
    background: #ebebeb;
    color: var(--product-vitrine-ink);
    font-size: 0.6875rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.product-card__discount:empty {
    display: none;
}

.product_vitrine__price-old {
    position: relative;
    display: inline-block;
    color: var(--product-vitrine-muted);
    font-size: 0.8125rem;
    font-weight: 500;
    text-decoration: none;
}

.product-card__old-price {
    position: relative;
    display: inline-block;
    color: var(--product-vitrine-muted);
    font-size: 0.8125rem;
    font-weight: 500;
    text-decoration: none;
}

.product_vitrine__price-old::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    right: 0.2rem;
    height: 1px;
    background: #919191;
}

.product-card__old-price::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    right: 0.2rem;
    height: 1px;
    background: #919191;
}

.product_vitrine__price-old:empty {
    display: none;
}

.product-card__old-price:empty,
.product-card__presence:empty,
.product-card__summary:empty,
.product-card__meta:empty,
.product-card__gallery-slot:empty,
.product-card__gallery:empty,
.product-card__note:empty,
.product-card__text:empty,
.product-card__back:empty {
    display: none;
}

.product-card__summary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    align-items: center;
    margin: 0.35rem 0 0.1rem;
}

.product_vitrine__record .product-card__summary {
    gap: 0.35rem;
    margin: 0.45rem 0 0;
}

.product-card__model-summary {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.2rem 0.55rem;
    align-items: center;
    color: rgba(34, 34, 34, 0.68);
    font-size: 0.75rem;
    line-height: 1.35;
}

.product-card__model-chip {
    display: inline;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font-size: inherit;
    font-weight: 500;
    line-height: inherit;
    white-space: normal;
}

.product-card__model-chip + .product-card__model-chip::before {
    content: "\2022";
    display: inline-block;
    margin-right: 0.55rem;
    color: rgba(111, 125, 120, 0.52);
}

.product-card__model-chip--accent {
    color: #3f7d56;
    font-weight: 600;
}

.product_vitrine__record .product-card__model-summary {
    gap: 0.15rem 0.45rem;
    font-size: 0.6875rem;
}

.product_vitrine__record .product-card__model-chip {
    font-size: inherit;
}

.product_vitrine__record .product-card__model-chip + .product-card__model-chip::before {
    margin-right: 0.45rem;
}

.product-card__brand {
    display: inline-grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.7rem;
    min-height: 3rem;
    padding: 0.46rem 0.72rem;
    border: 0;
    border-radius: 0.32rem;
    background: transparent;
}

.product-card__brand-media {
    display: grid;
    place-items: center;
    width: 2.6rem;
    height: 2.6rem;
    overflow: hidden;
    border: 0;
    border-radius: 0.28rem;
    background: rgba(246, 249, 252, 0.96);
    box-shadow: none;
}

.product-card__brand-media.is-placeholder {
    background:
        linear-gradient(135deg, rgba(247, 250, 252, 0.98), rgba(232, 238, 245, 0.98));
}

.product-card__brand-image {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.34rem;
    object-fit: contain;
}

.product-card__brand-copy {
    display: grid;
    gap: 0.12rem;
    min-width: 0;
}

.product-card__brand-caption {
    color: #7a8794;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1;
}

.product-card__brand-name {
    color: var(--product-vitrine-ink);
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.15;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.product-card__brand-placeholder {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    color: #52606d;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1;
}

.product_vitrine__record .product-card__brand {
    min-height: 2.65rem;
    padding: 0.34rem 0.52rem;
    gap: 0.55rem;
}

.product_vitrine__record .product-card__brand-media {
    width: 2.15rem;
    height: 2.15rem;
}

.product_vitrine__record .product-card__brand-caption {
    font-size: 0.56rem;
}

.product_vitrine__record .product-card__brand-name {
    font-size: 0.8rem;
}

.product_vitrine__record .product-card__brand-placeholder {
    font-size: 0.68rem;
}

.product-card__review-summary {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.55rem;
    min-height: 3rem;
    padding: 0.5rem 0.8rem;
    border: 1px solid rgba(214, 223, 220, 0.9);
    border-radius: 0.32rem;
    background: rgba(250, 252, 251, 0.92);
}

.product_vitrine__record .product-card__review-summary {
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    gap: 0.35rem;
}

.product-card__review-stars {
    position: relative;
    display: inline-block;
    width: 5.4rem;
    height: 0.9rem;
    color: rgba(31, 31, 31, 0.16);
    font-size: 0.9rem;
    line-height: 1;
}

.product_vitrine__record .product-card__review-stars {
    width: 4.55rem;
    height: 0.8rem;
    font-size: 0.8rem;
}

.product-card__review-stars::before,
.product-card__review-stars-fill::before {
    content: "★★★★★";
    letter-spacing: 0.08em;
}

.product-card__review-stars-fill {
    position: absolute;
    inset: 0 auto 0 0;
    overflow: hidden;
    color: #d49b32;
    white-space: nowrap;
}

.product-card__review-rating {
    color: var(--product-vitrine-ink);
    font-size: 0.95rem;
    font-weight: 700;
}

.product_vitrine__record .product-card__review-rating {
    font-size: 0.82rem;
    font-weight: 600;
}

.product-card__review-count {
    color: var(--product-vitrine-muted);
    font-size: 0.88rem;
}

.product_vitrine__record .product-card__review-count {
    font-size: 0.78rem;
    white-space: nowrap;
}

.product_vitrine__presence {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 1.875rem;
    padding: 0 0.95rem;
    border-radius: 0;
    background: var(--product-vitrine-surface-soft);
    color: #000;
    font-size: 0.6875rem;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
}

.product-card__presence {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 1.875rem;
    padding: 0 0.95rem;
    border-radius: 0;
    background: var(--product-vitrine-surface-soft);
    color: #000;
    font-size: 0.6875rem;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
}

.product-card__availability {
    display: grid;
    gap: 0.45rem;
}

.product-card__stock {
    color: var(--product-vitrine-muted);
    font-size: 0.82rem;
    line-height: 1.35;
}

.product-card__stock:empty {
    display: none;
}

[data-product-selected-options]:empty {
    display: none;
}

.product-card--min .product-card__stock {
    display: none;
}

.product-card__selected-options {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0.45rem 0 0.15rem;
}

.product-card__selected-option {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    padding: 0.38rem 0.62rem;
    border: 1px solid rgba(214, 223, 220, 0.95);
    border-radius: 0.32rem;
    background: rgba(248, 250, 249, 0.98);
    line-height: 1.2;
}

.product-card__selected-option-label {
    color: var(--product-vitrine-muted);
    font-size: 0.74rem;
    font-weight: 600;
}

.product-card__selected-option-value {
    color: var(--product-vitrine-ink);
    font-size: 0.8rem;
    font-weight: 600;
}

.product-card__meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: 0.75rem;
    margin: 0.35rem 0 0.2rem;
}

.product-card__meta-item {
    display: grid;
    gap: 0.3rem;
    padding: 0.85rem 0.95rem;
    border: 0;
    border-radius: 0.32rem;
    background: rgba(247, 250, 252, 0.92);
}

.product-card__meta-label {
    color: var(--product-vitrine-muted);
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.product-card__meta-value {
    color: var(--product-vitrine-ink);
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.35;
}

.product_vitrine__mount--card,
.product_vitrine__mount--detail {
    margin-top: 0.2rem;
}

.product-card__mount--card,
.product-card__mount--detail {
    margin-top: 0.2rem;
}

.product_vitrine__record-more {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 2.75rem;
    margin-top: 1rem;
    padding: 0.75rem 1.5rem;
    border-radius: 0;
    border: 0;
    background: #1f1f1f;
    color: #fff;
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1;
    text-decoration: none;
    transition:
        background-color 0.18s ease,
        color 0.18s ease,
        opacity 0.18s ease;
}

.product-card__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 2.75rem;
    margin-top: 1rem;
    padding: 0.75rem 1.5rem;
    border-radius: 0;
    border: 0;
    background: #1f1f1f;
    color: #fff;
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1;
    text-decoration: none;
    transition:
        background-color 0.18s ease,
        color 0.18s ease,
        opacity 0.18s ease;
}

.product_vitrine__record-more:hover {
    background: #414141;
    color: #fff;
}

.product-card__cta:hover {
    background: #414141;
    color: #fff;
}

.product_vitrine__record-more.is-disabled,
.product_vitrine__record-more.is-loading {
    opacity: 0.62;
    pointer-events: none;
}

.product-card__cta.is-disabled,
.product-card__cta.is-loading {
    opacity: 0.62;
    pointer-events: none;
}

.product_vitrine__record-more.is-added {
    background: var(--product-vitrine-cart-added-bg);
    color: var(--product-vitrine-cart-added-text);
}

.product-card__cta.is-added {
    background: var(--product-vitrine-cart-added-bg);
    color: var(--product-vitrine-cart-added-text);
}

.product_vitrine__record-more.is-added:hover,
.product-card__cta.is-added:hover {
    background: var(--product-vitrine-cart-added-bg-hover);
    color: var(--product-vitrine-cart-added-text);
}

.product_vitrine--detail {
    margin-top: 0.5rem;
}

.product_vitrine__detail {
    display: grid;
    gap: 1.35rem;
    padding: clamp(1rem, 2.6vw, 1.7rem);
    border: 1px solid rgba(220, 226, 232, 0.95);
    border-radius: 0.48rem;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98)),
        var(--product-vitrine-surface);
    box-shadow:
        0 1.25rem 3rem rgba(34, 48, 62, 0.08),
        0 0.35rem 1rem rgba(34, 48, 62, 0.04);
}

.product-card__hero {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.95fr) minmax(18rem, 22rem);
    gap: 1.25rem 1.35rem;
    align-items: start;
}

.product-card__hero-media,
.product-card__hero-main,
.product-card__hero-buy,
.product-card__content {
    min-width: 0;
}

.product-card__hero-media {
    display: grid;
    width: min(100%, 33rem);
    justify-self: center;
}

.product-card__media-stage {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.product-card__media-stage:has(.product-card__gallery) {
    grid-template-columns: 5.5rem minmax(0, 1fr);
}

.product_vitrine__detail .product-card__gallery {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 0.55rem;
    align-content: start;
    justify-items: center;
    position: sticky;
    top: 1rem;
    width: 5.5rem;
    max-height: 600px;
}

.product-card__gallery-viewport {
    width: 100%;
    min-height: 0;
    max-height: calc(600px - 5rem);
    overflow: hidden;
}

.product-card__gallery-track {
    display: grid;
    gap: 0.7rem;
    align-content: start;
    overflow-y: auto;
    overflow-x: hidden;
    max-height: 100%;
    padding-right: 0.1rem;
    scrollbar-width: none;
}

.product-card__gallery-track::-webkit-scrollbar {
    width: 0;
    height: 0;
}

.product-card__gallery-nav {
    position: relative;
    width: 100%;
    height: 1.9rem;
    border: 1px solid var(--product-vitrine-border);
    border-radius: var(--product-vitrine-control-radius);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: var(--product-vitrine-control-shadow);
    cursor: pointer;
    transition:
        border-color 0.18s ease,
        background 0.18s ease,
        box-shadow 0.18s ease,
        opacity 0.18s ease;
}

.product-card__gallery-nav::before {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: 0.7rem;
    height: 0.7rem;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
}

.product-card__gallery-nav--prev::before {
    transform: rotate(-45deg);
    top: 0.2rem;
}

.product-card__gallery-nav--next::before {
    transform: rotate(135deg);
    bottom: 0.2rem;
}

.product-card__gallery-nav:hover {
    border-color: var(--product-vitrine-border-active);
    background: #fff;
    box-shadow: var(--product-vitrine-control-shadow-hover);
}

.product-card__gallery-nav:disabled {
    opacity: 0.42;
    cursor: default;
    box-shadow: none;
}

.product-card__image-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
}

.product-card__image-button:focus-visible {
    outline: 2px solid var(--product-vitrine-border-active);
    outline-offset: 0.2rem;
}

.product_vitrine__detail .product-card__image {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 0.48rem;
    height: 600px;
    min-height: 600px;
    padding: clamp(0.75rem, 1.3vw, 1rem);
    background:
        radial-gradient(circle at top left, rgba(248, 251, 255, 0.96), transparent 45%),
        linear-gradient(180deg, #ffffff, #f3f6f9);
    border: 1px solid rgba(225, 231, 237, 0.95);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
    position: sticky;
    top: 1rem;
}

.product_vitrine__detail .product-card__image-button .product-card__image-media {
    width: 100%;
    height: 100%;
}

.product_vitrine__detail .product-card__image-media {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    max-width: 100%;
    max-height: 100%;
    margin: 0;
    padding: 0;
    object-fit: contain;
    object-position: center center;
}

.product-card__gallery-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 5rem;
    height: 5rem;
    padding: 0.35rem;
    border: 1px solid var(--product-vitrine-border);
    border-radius: var(--product-vitrine-control-radius);
    background: #fff;
    cursor: pointer;
    box-shadow: var(--product-vitrine-control-shadow);
    transition:
        border-color 0.18s ease,
        transform 0.18s ease,
        box-shadow 0.18s ease;
}

.product-card__gallery-item:hover {
    border-color: rgba(0, 91, 255, 0.34);
    transform: translateY(-1px);
    box-shadow: var(--product-vitrine-control-shadow-hover);
}

.product-card__gallery-item.is-active {
    border-color: var(--product-vitrine-border-active);
    box-shadow:
        var(--product-vitrine-control-shadow-active),
        0 0.55rem 1.25rem rgba(0, 91, 255, 0.12);
}

.product-card__gallery-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.product-gallery-viewer {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    padding: 1.5rem;
}

.product-gallery-viewer[hidden] {
    display: none !important;
}

.product-gallery-viewer__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.64);
    backdrop-filter: blur(0.2rem);
}

.product-gallery-viewer__dialog {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 1rem;
    width: min(94vw, 78rem);
    height: min(88vh, 52rem);
    padding: 1rem;
    border-radius: var(--product-vitrine-panel-radius);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 248, 251, 0.98)),
        #fff;
    box-shadow:
        0 2rem 4rem rgba(15, 23, 42, 0.28),
        0 0.5rem 1.5rem rgba(15, 23, 42, 0.12);
}

.product-gallery-viewer__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 2;
    min-height: 2.25rem;
    padding: 0 0.8rem;
    border: 1px solid var(--product-vitrine-border);
    border-radius: var(--product-vitrine-control-radius);
    background: rgba(255, 255, 255, 0.94);
    cursor: pointer;
}

.product-gallery-viewer__stage {
    overflow: hidden;
    border: 1px solid rgba(225, 231, 237, 0.95);
    border-radius: var(--product-vitrine-panel-radius);
    background:
        radial-gradient(circle at top left, rgba(248, 251, 255, 0.96), transparent 45%),
        linear-gradient(180deg, #ffffff, #f3f6f9);
}

.product-gallery-viewer__track {
    display: flex;
    height: 100%;
    transition: transform 0.28s ease;
    will-change: transform;
}

.product-gallery-viewer__slide {
    flex: 0 0 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 0;
    padding: 1.5rem;
}

.product-gallery-viewer__image {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.product-gallery-viewer__nav {
    align-self: center;
    width: 2.8rem;
    height: 2.8rem;
    border: 1px solid var(--product-vitrine-border);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: var(--product-vitrine-control-shadow);
    cursor: pointer;
}

.product-gallery-viewer__nav::before {
    content: "";
    display: block;
    width: 0.78rem;
    height: 0.78rem;
    margin: auto;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
}

.product-gallery-viewer__nav--prev::before {
    transform: rotate(-135deg);
}

.product-gallery-viewer__nav--next::before {
    transform: rotate(45deg);
}

.product-gallery-viewer__nav:disabled {
    opacity: 0.35;
    cursor: default;
    box-shadow: none;
}

.product-gallery-viewer__thumbs {
    grid-column: 1 / -1;
    display: flex;
    gap: 0.7rem;
    overflow-x: auto;
    padding-bottom: 0.1rem;
    scrollbar-width: none;
}

.product-gallery-viewer__thumbs::-webkit-scrollbar {
    width: 0;
    height: 0;
}

.product-gallery-viewer__thumb {
    flex: 0 0 5.4rem;
    height: 5.4rem;
    padding: 0.35rem;
    border: 1px solid var(--product-vitrine-border);
    border-radius: var(--product-vitrine-control-radius);
    background: #fff;
    cursor: pointer;
}

.product-gallery-viewer__thumb.is-active {
    border-color: var(--product-vitrine-border-active);
    box-shadow: var(--product-vitrine-control-shadow-active);
}

.product-gallery-viewer__thumb-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

body.product-gallery-viewer-open {
    overflow: hidden;
}

.product-card__hero-main {
    display: grid;
    gap: 1rem;
    align-content: start;
}

.product-card__hero-options {
    display: grid;
    gap: 0.9rem;
}

.product-card__hero-options:empty {
    display: none;
}

.product-card__hero-options .product-vitrine-variant-picker {
    padding: 1rem 1.05rem;
    border: 1px solid var(--product-vitrine-border-soft);
    border-radius: var(--product-vitrine-panel-radius);
    background: rgba(255, 255, 255, 0.96);
}

.product-card__hero-header {
    display: grid;
    gap: 0.8rem;
}

.product-card__title-wrap {
    display: grid;
    gap: 0.45rem;
}

.product_vitrine__detail .product-card__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.product_vitrine__detail .product-card__title {
    margin: 0;
    color: #16202a;
    font-size: clamp(1.2rem, 1.9vw, 1.65rem);
    line-height: 1.28;
    font-weight: 700;
    letter-spacing: -0.02em;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    max-height: calc(clamp(1.2rem, 1.9vw, 1.65rem) * 1.28 * 3);
}

.product_vitrine__detail .product-card__title-wrap.is-expanded .product-card__title {
    display: block;
    overflow: visible;
    text-overflow: clip;
    -webkit-line-clamp: unset;
    max-height: none;
}

.product-card__title-more {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    width: fit-content;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--product-vitrine-muted);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
}

.product-card__title-more:hover {
    color: var(--product-vitrine-ink);
}

.product-card__title-more[hidden] {
    display: none;
}

.product_vitrine__detail .product-card__summary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1rem;
    padding: 0.85rem 0.95rem;
    border: 1px solid var(--product-vitrine-border-soft);
    border-radius: var(--product-vitrine-panel-radius);
    background: rgba(248, 250, 252, 0.9);
}

.product_vitrine__detail .product-card__meta {
    display: grid;
    gap: 0.7rem;
    margin: 0;
    padding: 1rem 1.05rem;
    border: 1px solid var(--product-vitrine-border-soft);
    border-radius: var(--product-vitrine-panel-radius);
    background: #fff;
}

.product-card__buy-meta {
    display: grid;
    gap: 0.7rem;
}

.product-card__buy-meta .product-card__meta {
    gap: 0.55rem;
    padding: 0.85rem 0.95rem;
    border-radius: calc(var(--product-vitrine-panel-radius) - 0.1rem);
    background: var(--product-vitrine-secondary-bg);
}

.product-card__meta-item {
    display: grid;
    grid-template-columns: minmax(7rem, auto) minmax(0, 1fr);
    gap: 0.5rem 0.9rem;
    align-items: baseline;
}

.product-card__meta-label {
    color: #7a8794;
    font-size: 0.88rem;
    font-weight: 600;
}

.product-card__meta-value {
    color: #16202a;
    font-size: 0.95rem;
    font-weight: 600;
}

.product-card__buy-meta .product-card__meta-item {
    grid-template-columns: minmax(5.2rem, auto) minmax(0, 1fr);
    gap: 0.35rem 0.75rem;
}

.product-card__buy-meta .product-card__meta-label {
    font-size: 0.78rem;
    letter-spacing: 0.01em;
    text-transform: uppercase;
}

.product-card__buy-meta .product-card__meta-value {
    font-size: 0.88rem;
}

.product-card__buy-meta .product-card__brand--meta {
    min-height: 0;
    padding: 0;
    gap: 0.65rem;
}

.product-card__buy-meta .product-card__brand--meta .product-card__brand-media {
    width: 2.2rem;
    height: 2.2rem;
}

.product-card__buy-meta .product-card__brand--meta .product-card__brand-caption {
    font-size: 0.6rem;
}

.product-card__buy-meta .product-card__brand--meta .product-card__brand-name {
    font-size: 0.9rem;
}

.product_vitrine__detail .product-card__selected-options {
    margin-top: 0.75rem;
}

.product_vitrine__detail .product-card__note {
    padding: 1rem 1.05rem;
    border: 1px solid var(--product-vitrine-border-soft);
    border-radius: var(--product-vitrine-panel-radius);
    background: rgba(255, 255, 255, 0.92);
    color: #4a5866;
    line-height: 1.65;
    font-size: 0.98rem;
}

.product-card__hero-buy {
    position: sticky;
    top: 1rem;
    display: grid;
    gap: 0.85rem;
}

.product-card__buy-panel {
    position: relative;
    display: grid;
    gap: 1rem;
    padding: 1.1rem 1.1rem 1.15rem;
    border-radius: 0.62rem;
    background: #fff;
    border: 1px solid var(--product-vitrine-border);
    box-shadow:
        0 0.95rem 2rem rgba(34, 48, 62, 0.07),
        0 0.25rem 0.55rem rgba(34, 48, 62, 0.04);
}

.product_vitrine__detail .product-card__commerce {
    display: grid;
    gap: 0.65rem;
}

.product_vitrine__detail .product-card__prices {
    display: grid;
    gap: 0.35rem;
}

.product_vitrine__detail .product-card__price-line {
    gap: 0.45rem 0.7rem;
}

.product_vitrine__detail .product-card__price {
    color: #16202a;
    font-size: clamp(2rem, 3vw, 2.7rem);
    line-height: 1;
    font-weight: 800;
    letter-spacing: -0.04em;
}

.product_vitrine__detail .product-card__discount {
    min-height: 1.9rem;
    padding: 0 0.8rem;
    font-size: 0.75rem;
}

.product_vitrine__detail .product-card__old-price {
    color: #8d98a4;
    font-size: 1rem;
    text-decoration: line-through;
    min-height: 1.15rem;
}

.product_vitrine__detail .product-card__presence {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 2rem;
    padding: 0.45rem 0.75rem;
    border-radius: 0.52rem;
    background: rgba(34, 197, 94, 0.12);
    color: #157347;
    font-size: 0.9rem;
    font-weight: 700;
}

.product_vitrine__detail .product-card__stock {
    color: #667281;
    font-size: 0.92rem;
    font-weight: 500;
}

.product_vitrine__detail .product-card__mount--detail {
    margin: 0;
}

.product-card__content {
    display: grid;
    gap: 1rem;
    padding: 1.2rem 1.3rem;
    border: 1px solid var(--product-vitrine-border);
    border-radius: var(--product-vitrine-panel-radius);
    background: #fff;
}

.product_vitrine__detail .product-card__text {
    display: grid;
    gap: 1rem;
    color: #4a5866;
    line-height: 1.68;
}

.product-card__tabs {
    display: grid;
    gap: 1.25rem;
    margin-top: 1.5rem;
}

.product-card__tabs-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    border-bottom: 1px solid var(--product-vitrine-line);
    margin: 0;
    padding: 0 0.25rem;
    position: relative;
    align-items: stretch;
}

/* Прочие кнопки (naviborslick / back / select / input / variant-picker)
   оставляем на старом «кнопочном» стиле. Табы выводим как underline-nav. */
.product_vitrine__show-text button.naviborslick,
.product_vitrine__show-text button.naviborkromkaslick,
.product_vitrine__detail .product-card__text button.naviborslick,
.product_vitrine__detail .product-card__text button.naviborkromkaslick,
.product_vitrine__detail .product-card__back,
.product-vitrine-payment__select,
.product-vitrine-payment__input,
.product-vitrine-variant-picker__value {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0.72rem 1rem;
    border: 1px solid var(--product-vitrine-border);
    border-radius: var(--product-vitrine-control-radius);
    background: var(--product-vitrine-secondary-bg);
    color: #304050;
    font: inherit;
    font-size: 0.9rem;
    line-height: 1;
    cursor: pointer;
    box-shadow: var(--product-vitrine-control-shadow);
    transition:
        border-color 0.18s ease,
        background-color 0.18s ease,
        color 0.18s ease,
        box-shadow 0.18s ease,
        transform 0.18s ease;
}

.product_vitrine__show-text button.naviborslick:hover,
.product_vitrine__show-text button.naviborkromkaslick:hover,
.product_vitrine__detail .product-card__text button.naviborslick:hover,
.product_vitrine__detail .product-card__text button.naviborkromkaslick:hover,
.product_vitrine__detail .product-card__back:hover,
.product-vitrine-payment__select:hover,
.product-vitrine-payment__input:hover,
.product-vitrine-variant-picker__value:hover:not(:disabled) {
    border-color: rgba(0, 91, 255, 0.28);
    background: var(--product-vitrine-secondary-bg-hover);
    transform: translateY(-1px);
    box-shadow: var(--product-vitrine-control-shadow-hover);
}

/* Sleek underline-навигация для табов */
.product-card__tab {
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.85rem 1.1rem;
    margin: 0 0.1rem -1px;
    border: 0;
    background: transparent;
    color: var(--product-vitrine-muted);
    font: inherit;
    font-size: 0.94rem;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: 0.005em;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    transition:
        color 0.18s ease,
        border-color 0.18s ease,
        background-color 0.18s ease;
    position: relative;
    white-space: nowrap;
}

.product-card__tab:hover {
    color: var(--product-vitrine-ink);
    background: rgba(0, 91, 255, 0.04);
    border-radius: 0.4rem 0.4rem 0 0;
}

.product-card__tab:focus-visible {
    outline: 2px solid rgba(0, 91, 255, 0.35);
    outline-offset: 2px;
    border-radius: 0.4rem;
}

.product-card__tab.is-active {
    color: var(--product-vitrine-primary);
    border-bottom-color: var(--product-vitrine-primary);
    background: transparent;
}

.product-card__tabs-panels {
    display: block;
}

.product-card__tab-panel {
    display: none;
    padding: 1.35rem 2.25rem;
    border: 1px solid var(--product-vitrine-border);
    border-radius: var(--product-vitrine-panel-radius);
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(15, 20, 32, 0.02);
    overflow: hidden;
    animation: product-card-tab-fade 0.25s ease-out;
}

.product-card__tab-panel.is-active {
    display: block;
}

@keyframes product-card-tab-fade {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: translateY(0); }
}

.product-card__tab-panel-body {
    display: grid;
    gap: 0.8rem;
    min-width: 0;
    max-width: 100%;
    color: #2a3440;
    font-size: 0.95rem;
    line-height: 1.62;
}

.product-card__tab-panel-body h1,
.product-card__tab-panel-body h2,
.product-card__tab-panel-body h3,
.product-card__tab-panel-body h4,
.product-card__tab-panel-body h5,
.product-card__tab-panel-body h6 {
    margin: 0.25rem 0 0.35rem;
    color: var(--product-vitrine-ink);
    font-weight: 600;
    line-height: 1.3;
}

.product-card__tab-panel-body h3 { font-size: 1.05rem; }
.product-card__tab-panel-body h4 { font-size: 0.98rem; }

/* Списки во вкладках — привычные маркеры disc/decimal, аккуратный spacing */
.product-card__tab-panel-body ul,
.product-card__tab-panel-body ol {
    margin: 0.35rem 0;
    padding-left: 2rem;
}

.product-card__tab-panel-body ul {
    list-style: disc outside;
}

.product-card__tab-panel-body ol {
    list-style: decimal outside;
}

.product-card__tab-panel-body ul ul {
    list-style: circle outside;
}

.product-card__tab-panel-body ul ul ul {
    list-style: square outside;
}

.product-card__tab-panel-body ol ol {
    list-style: lower-alpha outside;
}

.product-card__tab-panel-body ul ul,
.product-card__tab-panel-body ul ol,
.product-card__tab-panel-body ol ul,
.product-card__tab-panel-body ol ol {
    margin: 0.3rem 0 0.1rem;
    padding-left: 1.6rem;
}

.product-card__tab-panel-body li {
    color: #2a3440;
    line-height: 1.55;
    padding-left: 0.2rem;
}

.product-card__tab-panel-body li + li {
    margin-top: 0.28rem;
}

.product-card__tab-panel-body li::marker {
    color: var(--product-vitrine-primary);
}

.product-card__tab-panel-body li > p:first-child {
    margin-top: 0;
}

.product-card__tab-panel-body li > p:last-child {
    margin-bottom: 0;
}

.product-card__tab-panel-body a {
    color: var(--product-vitrine-primary);
    text-decoration: none;
    border-bottom: 1px dashed rgba(0, 91, 255, 0.35);
    transition: color 0.15s ease, border-color 0.15s ease;
}

.product-card__tab-panel-body a:hover {
    color: var(--product-vitrine-primary-hover);
    border-bottom-color: var(--product-vitrine-primary-hover);
}

.product-card__tab-panel-body blockquote {
    margin: 0;
    padding: 0.6rem 1rem;
    border-left: 3px solid var(--product-vitrine-primary);
    background: rgba(0, 91, 255, 0.04);
    color: var(--product-vitrine-ink);
    border-radius: 0 0.4rem 0.4rem 0;
}

/* Таблицы характеристик (ключ-значение) — часто именно вкладка «Технические характеристики» */
.product-card__tab-panel-body table {
    display: table;
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
    overflow-x: auto;
    font-size: 0.9rem;
}

.product-card__tab-panel-body table tr + tr {
    border-top: 1px solid var(--product-vitrine-line);
}

.product-card__tab-panel-body table th,
.product-card__tab-panel-body table td {
    padding: 0.55rem 0.75rem;
    text-align: left;
    vertical-align: top;
    color: #2a3440;
}

.product-card__tab-panel-body table th {
    width: 44%;
    font-weight: 500;
    color: var(--product-vitrine-muted);
    background: #fafbfc;
}

.product-card__tab-panel-body table tbody tr:hover td,
.product-card__tab-panel-body table tbody tr:hover th {
    background: rgba(0, 91, 255, 0.03);
}

/* Частый шаблон «список характеристик» через <dl> */
.product-card__tab-panel-body dl {
    display: grid;
    grid-template-columns: minmax(140px, 1fr) 2fr;
    gap: 0.4rem 1rem;
    margin: 0;
}

.product-card__tab-panel-body dt {
    color: var(--product-vitrine-muted);
    font-weight: 500;
}

.product-card__tab-panel-body dd {
    margin: 0;
    color: #2a3440;
}

@media (max-width: 640px) {
    .product-card__tabs-nav {
        overflow-x: auto;
        flex-wrap: nowrap;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }
    .product-card__tab {
        font-size: 0.9rem;
        padding: 0.7rem 0.85rem;
    }
    .product-card__tab-panel {
        padding: 1.05rem 1rem;
    }
    .product-card__tab-panel-body dl {
        grid-template-columns: 1fr;
        gap: 0.2rem 0;
    }
    .product-card__tab-panel-body dl dt {
        margin-top: 0.3rem;
    }
}

.product-card__tab-panel-body > * {
    max-width: 100%;
}

.product-card__tab-panel-body p,
.product-card__tab-panel-body ul,
.product-card__tab-panel-body ol {
    margin: 0;
}

.product-card__tab-panel-body .mobile-skroller {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

.product-card__tab-panel-body .mobile-skroller-wrapper,
.product-card__tab-panel-body .list-img-pogonaz {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: 0.95rem;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.product-card__tab-panel-body .list-img-pogonaz__item {
    display: grid;
    align-content: start;
    gap: 0.55rem;
    min-width: 0;
}

.product-card__tab-panel-body .list-img-pogonaz__img-wrapper {
    display: grid;
    place-items: center;
    width: 100%;
    min-width: 0;
}

.product-card__tab-panel-body .list-img-pogonaz__img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 14rem;
    object-fit: contain;
}

.product-card__tab-panel-body .list-img-pogonaz__text {
    display: block;
    color: var(--product-vitrine-ink);
    font-size: 0.88rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.product-card__tab-panel-body img {
    max-width: 100%;
    height: auto;
}

.product-card__tab-panel-body table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
}

.product_vitrine__show-text tab {
    display: block;
    padding: 1rem 1.1rem;
    border: 1px solid var(--product-vitrine-border);
    border-radius: var(--product-vitrine-control-radius);
    background: #f8fafc;
}

.product_vitrine__detail .product-card__text tab {
    display: block;
    padding: 1rem 1.1rem;
    border: 1px solid var(--product-vitrine-border);
    border-radius: var(--product-vitrine-control-radius);
    background: #f8fafc;
}

.product_vitrine__show-text p {
    margin: 0.65rem 0;
}

.product_vitrine__detail .product-card__text p {
    margin: 0.65rem 0;
}

.product_vitrine__detail .product-card__text .mobile-skroller {
    max-width: 100%;
    overflow-x: hidden;
}

.product_vitrine__detail .product-card__text .mobile-skroller-wrapper {
    min-width: 0;
    width: 100%;
    max-width: 100%;
}

.product_vitrine__show-text strong,
.product_vitrine__show-text b {
    color: var(--product-vitrine-ink);
    font-weight: 600;
}

.product_vitrine__detail .product-card__text strong,
.product_vitrine__detail .product-card__text b {
    color: var(--product-vitrine-ink);
    font-weight: 600;
}

/* Inline-форматирование внутри вкладок карточки товара */
.product-card__tab-panel-body strong,
.product-card__tab-panel-body b {
    font-weight: 600;
    color: var(--product-vitrine-ink);
}

.product-card__tab-panel-body em,
.product-card__tab-panel-body i {
    font-style: italic;
    color: #2a3440;
}

.product-card__tab-panel-body u {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.product-card__tab-panel-body mark {
    background: rgba(255, 221, 87, 0.55);
    color: var(--product-vitrine-ink);
    padding: 0.05em 0.25em;
    border-radius: 0.2em;
}

.product-card__tab-panel-body code,
.product-card__tab-panel-body kbd,
.product-card__tab-panel-body samp {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
    font-size: 0.88em;
    background: #f4f5f7;
    color: #0e0f0f;
    padding: 0.08em 0.35em;
    border-radius: 0.28em;
    border: 1px solid var(--product-vitrine-line);
}

.product-card__tab-panel-body pre {
    background: #0e141a;
    color: #e6edf3;
    padding: 0.85rem 1rem;
    border-radius: 0.4rem;
    overflow-x: auto;
    font-size: 0.85rem;
    line-height: 1.5;
}

.product-card__tab-panel-body pre code {
    background: transparent;
    border: 0;
    color: inherit;
    padding: 0;
    font-size: inherit;
}

.product-card__tab-panel-body sup {
    vertical-align: super;
    font-size: 0.72em;
    line-height: 1;
}

.product-card__tab-panel-body sub {
    vertical-align: sub;
    font-size: 0.72em;
    line-height: 1;
}

.product-card__tab-panel-body small {
    font-size: 0.85em;
    color: var(--product-vitrine-muted);
}

.product-card__tab-panel-body hr {
    border: 0;
    height: 1px;
    background: var(--product-vitrine-line);
    margin: 0.5rem 0;
}

.product_vitrine__detail .product-card__back {
    gap: 0.5rem;
    width: 100%;
    font-size: 0.92rem;
    font-weight: 600;
    text-decoration: none;
}

.product_vitrine__detail .product-card__back::before {
    content: "\2190";
    font-size: 1rem;
}

.product-vitrine-variant-picker {
    display: grid;
    gap: 0.95rem;
    padding: 0.15rem 0;
}

.product-vitrine-variant-picker__group {
    display: grid;
    gap: 0.45rem;
}

.product-vitrine-variant-picker__group-head {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
}

.product-vitrine-variant-picker__label {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--product-vitrine-ink);
}

.product-vitrine-variant-picker__values {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-auto-rows: 3.4rem;
    gap: 0.4rem;
    align-items: stretch;
}

.product_vitrine__detail .product-vitrine-variant-picker__values {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.product-vitrine-variant-picker__value {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-rows: 1fr;
    align-items: end;
    justify-items: stretch;
    width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 2.8rem;
    padding: 0.08rem;
    gap: 0.1rem;
    color: var(--variant-picker-text-color, var(--product-vitrine-ink));
    text-align: center;
    overflow: hidden;
    background-color: var(--variant-picker-background-color, var(--product-vitrine-secondary-bg));
    background-image: var(--variant-picker-background-image, none);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.product-vitrine-variant-picker__value:hover:not(:disabled),
.product-vitrine-variant-picker__value:focus-visible {
    background-color: var(--variant-picker-background-color, var(--product-vitrine-secondary-bg-hover));
    background-image: var(--variant-picker-background-image, none);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.product-vitrine-variant-picker__value.has-preview {
    min-height: 2.6rem;
    padding: 0.1rem;
    background-size: contain;
    background-position: center;
    background-origin: content-box;
}

.product-vitrine-variant-picker__value.has-preview:hover:not(:disabled),
.product-vitrine-variant-picker__value.has-preview:focus-visible {
    background-size: contain;
    background-position: center;
    background-origin: content-box;
}

/* Без перекрытия — иначе swatch-цвет/фотка показывается искажённо.
   Раньше тут был полупрозрачный градиент чтобы текст value был читаем
   поверх фото; теперь текст скрыт (см. .has-preview .__value-text),
   поэтому overlay не нужен. */
.product-vitrine-variant-picker__value.has-preview::before {
    content: none;
}

.product-vitrine-variant-picker__value[data-description]:not([data-description=""])::after {
    content: attr(data-description);
    position: absolute;
    left: 50%;
    bottom: calc(100% + 0.45rem);
    z-index: 5;
    width: min(15rem, calc(100vw - 2rem));
    padding: 0.5rem 0.65rem;
    border-radius: 0.45rem;
    background: rgba(15, 23, 42, 0.92);
    color: #fff;
    font-size: 0.71rem;
    font-weight: 500;
    line-height: 1.35;
    text-align: left;
    box-shadow: 0 0.8rem 1.8rem rgba(15, 23, 42, 0.22);
    transform: translate(-50%, 0.35rem);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity 0.16s ease,
        transform 0.16s ease,
        visibility 0.16s ease;
}

.product-vitrine-variant-picker__value[data-description]:not([data-description=""]):hover::after,
.product-vitrine-variant-picker__value[data-description]:not([data-description=""]):focus-visible::after {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

.product-vitrine-variant-picker__value.is-selected {
    border-color: var(--product-vitrine-border-active);
    color: #16202a;
    box-shadow:
        var(--product-vitrine-control-shadow-active),
        0 0.55rem 1.25rem rgba(0, 91, 255, 0.1);
}

/* Аналогично без overlay в selected-state. */
.product-vitrine-variant-picker__value.has-preview.is-selected::before {
    content: none;
}

.product-vitrine-variant-picker__value.is-unavailable {
    opacity: 0.42;
    cursor: not-allowed;
}

.product-vitrine-variant-picker__preview {
    display: none;
}

.product-vitrine-variant-picker__preview-image {
    display: none;
}

.product-vitrine-variant-picker__value-body {
    display: grid;
    align-content: center;
    justify-items: center;
    min-width: 0;
    min-height: 0;
    width: 100%;
    height: 100%;
    padding: 0.05rem 0.1rem;
    border-radius: calc(var(--product-vitrine-control-radius) - 0.15rem);
    background: var(--variant-picker-chip-background, rgba(255, 255, 255, 0.9));
    backdrop-filter: blur(0.18rem);
    position: relative;
    z-index: 1;
}

.product-vitrine-variant-picker__value-text {
    display: -webkit-box;
    max-width: 100%;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 1.12;
    font-size: 0.6rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    text-wrap: balance;
}

/* На swatch-кнопках с заливкой цветом/картинкой текст value прячем —
   при hover/focus его покажет tooltip через data-description (см.
   .product-vitrine-variant-picker__value[data-description]::after выше). */
.product-vitrine-variant-picker__value.has-preview .product-vitrine-variant-picker__value-text {
    display: none;
}
.product-vitrine-variant-picker__value.has-preview .product-vitrine-variant-picker__value-body {
    background: transparent;
    padding: 0;
}

.product-vitrine-variant-picker__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    font-size: 0.92rem;
    color: var(--product-vitrine-muted);
}

.product-vitrine-variant-picker__actions {
    display: grid;
    gap: 0.6rem;
    margin-top: 0.35rem;
}

.product-vitrine-variant-picker__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0.9rem 1.25rem;
    border: 1px solid var(--product-vitrine-primary);
    border-radius: var(--product-vitrine-control-radius);
    background: var(--product-vitrine-primary);
    color: #fff;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    box-shadow: var(--product-vitrine-primary-shadow);
    transition:
        background-color 0.18s ease,
        opacity 0.18s ease,
        transform 0.18s ease,
        box-shadow 0.18s ease;
}

.product-vitrine-variant-picker__cta:hover:not(:disabled) {
    border-color: var(--product-vitrine-primary-hover);
    background: var(--product-vitrine-primary-hover);
    transform: translateY(-1px);
    box-shadow: 0 0.9rem 1.75rem rgba(0, 71, 199, 0.2);
}

.product-vitrine-variant-picker__cta.is-added {
    border-color: var(--product-vitrine-cart-added-border);
    background: var(--product-vitrine-cart-added-bg);
    color: var(--product-vitrine-cart-added-text);
    box-shadow: none;
}

.product-vitrine-variant-picker__cta.is-added:hover:not(:disabled) {
    border-color: var(--product-vitrine-cart-added-border);
    background: var(--product-vitrine-cart-added-bg-hover);
    color: var(--product-vitrine-cart-added-text);
    box-shadow: none;
}

.product-vitrine-variant-picker__cta.is-disabled,
.product-vitrine-variant-picker__cta.is-loading,
.product-vitrine-payment__button.is-disabled {
    opacity: 0.62;
    cursor: not-allowed;
}

.product-vitrine-variant-picker__status {
    font-size: 0.9rem;
    color: var(--product-vitrine-muted);
}

.product-vitrine-payment {
    display: grid;
    gap: 0.9rem;
    margin-top: 0.55rem;
    padding: 1rem 1.05rem 1.05rem;
    border: 1px solid var(--product-vitrine-border-soft);
    border-radius: var(--product-vitrine-panel-radius);
    background: #f8fafc;
}

.product-vitrine-payment__header {
    display: grid;
    gap: 0.35rem;
}

.product-vitrine-payment__head {
    color: var(--product-vitrine-ink);
    font-size: 1rem;
    font-weight: 700;
}

.product-vitrine-payment__subhead {
    color: #6d7a88;
    font-size: 0.84rem;
    line-height: 1.5;
}

.product-vitrine-payment__section,
.product-vitrine-payment__form-shell {
    display: grid;
    gap: 0.8rem;
    padding: 0.95rem 1rem;
    border: 1px solid var(--product-vitrine-border-soft);
    border-radius: calc(var(--product-vitrine-panel-radius) - 0.04rem);
    background: #ffffff;
}

.product-vitrine-payment__section--action {
    gap: 0.85rem;
}

.product-vitrine-payment__section-title {
    color: #7a8794;
    font-size: 0.73rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.product-vitrine-payment__controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.7rem;
    align-items: end;
}

.product-vitrine-payment__select {
    width: 100%;
    min-height: 3rem;
    padding: 0.7rem 0.95rem;
    color: var(--product-vitrine-ink);
    font: inherit;
}

.product-vitrine-payment__input {
    width: 100%;
    min-height: 3rem;
    padding: 0.7rem 0.95rem;
    color: var(--product-vitrine-ink);
    font: inherit;
}

.product-vitrine-payment__input:focus,
.product-vitrine-payment__input:focus-visible,
.product-vitrine-payment__select:focus,
.product-vitrine-payment__select:focus-visible {
    outline: none;
    border-color: rgba(0, 91, 255, 0.35);
    box-shadow:
        var(--product-vitrine-control-shadow-hover),
        0 0 0 0.18rem rgba(0, 91, 255, 0.12);
}

.product-vitrine-payment__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    min-width: 12.5rem;
    padding: 0.75rem 1.35rem;
    border: 1px solid var(--product-vitrine-primary);
    border-radius: var(--product-vitrine-control-radius);
    background: var(--product-vitrine-primary);
    color: #fff;
    font-size: 0.92rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 0.55rem 1.1rem rgba(0, 71, 199, 0.16);
    transition:
        background-color 0.18s ease,
        opacity 0.18s ease,
        transform 0.18s ease;
}

.product-vitrine-payment__button:hover:not(:disabled) {
    border-color: var(--product-vitrine-primary-hover);
    background: var(--product-vitrine-primary-hover);
    transform: translateY(-1px);
}

.product-vitrine-payment__message {
    padding: 0.85rem 0.95rem;
    border: 1px solid rgba(182, 56, 56, 0.18);
    border-radius: calc(var(--product-vitrine-panel-radius) - 0.08rem);
    background: #fff6f6;
    color: #9c3434;
    font-size: 0.9rem;
    line-height: 1.5;
}

.product-vitrine-payment__auth {
    display: grid;
    gap: 0.75rem;
}

.product-vitrine-payment__auth-text,
.product-vitrine-payment__auth-state {
    font-size: 0.88rem;
    line-height: 1.45;
    color: #5d6a78;
}

.product-vitrine-payment__auth-state {
    display: grid;
    gap: 0.35rem;
    padding: 0.85rem 0.95rem;
    border: 1px dashed rgba(128, 141, 155, 0.38);
    border-radius: calc(var(--product-vitrine-panel-radius) - 0.08rem);
    background: #f7f9fb;
}

.product-vitrine-payment__auth-state-label {
    color: #16202a;
    font-size: 0.77rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.product-vitrine-payment__auth-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.product-vitrine-payment__field {
    display: grid;
    gap: 0.4rem;
    min-width: 0;
}

.product-vitrine-payment__field--wide {
    grid-column: 1 / -1;
}

.product-vitrine-payment__label {
    font-size: 0.78rem;
    font-weight: 600;
    color: #6d7a88;
}

.product-vitrine-payment__form {
    overflow: auto;
    min-width: 0;
}

.product-vitrine-payment__form > :first-child {
    margin-top: 0;
}

.product-vitrine-payment__form > :last-child {
    margin-bottom: 0;
}

.product_vitrine--grid-5 .product_vitrine__records {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.product_vitrine--grid-4 .product_vitrine__records {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.product_vitrine--grid-3 .product_vitrine__records {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.product_vitrine--grid-2 .product_vitrine__records {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.product_vitrine--align-center .product_vitrine__record,
.product_vitrine--align-center .product_vitrine__detail {
    text-align: center;
}

.product_vitrine--align-center .product_vitrine__record-more,
.product_vitrine--align-center .product_vitrine__presence,
.product_vitrine--align-center .product-vitrine-variant-picker__meta {
    margin-left: auto;
    margin-right: auto;
}

.product_vitrine--align-center .product-card__cta,
.product_vitrine--align-center .product-card__presence {
    margin-left: auto;
    margin-right: auto;
}

.product_vitrine--align-center .product_vitrine__prices,
.product_vitrine--align-center .product-vitrine-variant-picker__values {
    justify-content: center;
}

.product_vitrine--align-center .product-vitrine-variant-picker__group-head {
    justify-content: center;
}

.product_vitrine--align-center .product-card__prices {
    justify-content: center;
}

.product_vitrine--ratio-portrait .product_vitrine__record-image {
    padding-top: 140%;
}

.product_vitrine--ratio-portrait .product_vitrine__record .product-card__image {
    padding-top: 140%;
}

.product_vitrine--ratio-landscape .product_vitrine__record-image {
    padding-top: 110%;
}

.product_vitrine--ratio-landscape .product_vitrine__record .product-card__image {
    padding-top: 110%;
}

.product_vitrine--skin-outline .product_vitrine__record {
    background: #fff;
    box-shadow: none;
    border-bottom-color: var(--product-vitrine-line);
}

.product_vitrine--skin-outline .product_vitrine__record-image {
    background: #fff;
    border: 0;
}

.product_vitrine--skin-outline .product_vitrine__record .product-card__image {
    background: #fff;
    border: 0;
}

.product_vitrine--skin-accent .product_vitrine__record {
    background: #fff;
    border-bottom-color: var(--product-vitrine-accent-strong);
    box-shadow: none;
}

.product_vitrine--skin-accent .product_vitrine__record-more {
    background: #1f1f1f;
    color: #fff;
}

.product_vitrine--skin-accent .product_vitrine__record-more:hover {
    background: #414141;
}

.product_vitrine--skin-accent .product-card__cta {
    background: #1f1f1f;
    color: #fff;
}

.product_vitrine--skin-accent .product-card__cta:hover {
    background: #414141;
}

.product_vitrine__detail--stacked {
    gap: 1rem;
}

.product_vitrine__detail--stacked .product-card__hero {
    grid-template-columns: 1fr;
}

.product_vitrine__detail--stacked .product-card__hero-buy {
    position: static;
}

.product_vitrine__detail--stacked .product-card__media-stage,
.product_vitrine__detail--stacked .product-card__media-stage:has(.product-card__gallery) {
    grid-template-columns: 1fr;
}

.product_vitrine__detail--stacked .product-card__gallery,
.product_vitrine__detail--stacked .product-card__image {
    position: static;
}

.product_vitrine__detail--stacked .product-card__gallery {
    width: auto;
    max-height: none;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
}

.product_vitrine__detail--stacked .product-card__gallery-nav {
    display: none;
}

.product_vitrine__detail--stacked .product-card__gallery-viewport {
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
}

.product_vitrine__detail--stacked .product-card__gallery-track {
    grid-auto-flow: column;
    grid-auto-columns: 4.75rem;
    overflow: visible;
    padding-bottom: 0.2rem;
}

@media (max-width: 1180px) {
    .product_vitrine__groups-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product_vitrine__records {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .product_vitrine--grid-5 .product_vitrine__records,
    .product_vitrine--grid-4 .product_vitrine__records {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .product_vitrine--grid-3 .product_vitrine__records {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .product_vitrine--grid-2 .product_vitrine__records {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-card__hero {
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    }

    .product-card__hero-buy {
        grid-column: 1 / -1;
        grid-row: auto;
        position: static;
    }

    .product-card__buy-panel {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 900px) {
    .bnx-breadcrumbs {
        margin-bottom: 1rem;
        font-size: 0.75rem;
    }

    .bnx-breadcrumbs .bnx-breadcrumbs__list {
        gap: 0.25rem 0.5rem;
    }

    .bnx-breadcrumbs .bnx-breadcrumbs__item {
        gap: 0.5rem;
    }

    .product_vitrine__filters-head {
        grid-template-columns: minmax(0, 1fr);
    }

    .product_vitrine__filters-actions {
        justify-content: flex-start;
    }

    .product_vitrine__groups-list {
        grid-template-columns: minmax(0, 1fr);
    }

    .product_vitrine__group-media {
        flex-basis: 5.75rem;
        width: 5.75rem;
    }

    .product_vitrine__records {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .product_vitrine--grid-5 .product_vitrine__records,
    .product_vitrine--grid-4 .product_vitrine__records,
    .product_vitrine--grid-3 .product_vitrine__records,
    .product_vitrine--grid-2 .product_vitrine__records {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .product_vitrine--grid-2 .product_vitrine__records {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-card__hero {
        grid-template-columns: minmax(0, 1fr);
    }

    .product-card__hero-buy {
        position: static;
    }

    .product-card__media-stage,
    .product-card__media-stage:has(.product-card__gallery) {
        grid-template-columns: minmax(0, 1fr);
    }

    .product_vitrine__detail .product-card__gallery,
    .product_vitrine__detail .product-card__image {
        position: static;
    }

    .product_vitrine__detail .product-card__gallery {
        width: auto;
        max-height: none;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: minmax(0, 1fr);
    }

    .product_vitrine__detail .product-card__gallery-nav {
        display: none;
    }

    .product_vitrine__detail .product-card__gallery-viewport {
        max-height: none;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .product_vitrine__detail .product-card__gallery-track {
        grid-auto-flow: column;
        grid-auto-columns: 4.85rem;
        overflow: visible;
        padding-bottom: 0.2rem;
    }

    .product-card__meta-item {
        grid-template-columns: 1fr;
    }

    .product-card__tabs-nav {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 0.15rem;
    }

    .product-gallery-viewer {
        padding: 0.9rem;
    }

    .product-gallery-viewer__dialog {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto minmax(0, 1fr) auto;
        gap: 0.75rem;
        width: min(96vw, 46rem);
        height: min(88vh, 42rem);
        padding: 0.85rem;
    }

    .product-gallery-viewer__nav {
        display: none;
    }

    .product-gallery-viewer__thumbs {
        gap: 0.55rem;
    }

    .product-gallery-viewer__thumb {
        flex-basis: 4.6rem;
        height: 4.6rem;
    }
}

@media (max-width: 640px) {
    .product_vitrine__module .cont-text-container.container {
        padding-top: 1rem;
        padding-bottom: 1.75rem;
    }

    .product_vitrine__filters {
        padding: 1rem;
    }

    .product_vitrine__filters-grid,
    .product_vitrine__filter-range {
        grid-template-columns: minmax(0, 1fr);
    }

    .product_vitrine__filters-submit,
    .product_vitrine__filters-reset {
        width: 100%;
    }

    .product_vitrine__records {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
    }

    .product_vitrine--grid-5 .product_vitrine__records,
    .product_vitrine--grid-4 .product_vitrine__records,
    .product_vitrine--grid-3 .product_vitrine__records,
    .product_vitrine--grid-2 .product_vitrine__records {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product_vitrine__record {
        padding-bottom: 1rem;
    }

    .product_vitrine__group-card {
        min-height: 5.6rem;
    }

    .product_vitrine__group-media {
        flex-basis: 5rem;
        width: 5rem;
        min-height: 5.6rem;
    }

    .product_vitrine__group-body {
        padding: 0.8rem 0.85rem 0.8rem 0.9rem;
    }

    .product_vitrine__group-title {
        font-size: 0.9375rem;
    }

    .product_vitrine__group-text {
        font-size: 0.8125rem;
    }

    .product_vitrine__record-title {
        font-size: 1rem;
    }

    .product_vitrine__record .product-card__title {
        font-size: 0.8125rem;
        line-height: 1.3;
        min-height: calc(0.8125rem * 1.3 * 2);
    }

    .product_vitrine__record .product-card__title-link {
        max-height: calc(0.8125rem * 1.3 * 2);
    }

    .product_vitrine__detail {
        gap: 1.2rem;
        padding: 1rem;
        border-radius: 0.45rem;
    }

    .product-card__content,
    .product-card__buy-panel,
    .product_vitrine__detail .product-card__meta,
    .product_vitrine__detail .product-card__note,
    .product_vitrine__detail .product-card__summary {
        padding-left: 0.95rem;
        padding-right: 0.95rem;
    }

    .product_vitrine__price {
        font-size: 1.2rem;
    }

    .product_vitrine__detail .product-card__price {
        font-size: 1.65rem;
    }

    .product_vitrine__detail .product-card__title {
        font-size: 1.08rem;
        line-height: 1.3;
        max-height: calc(1.08rem * 1.3 * 3);
    }

    .product-card__title-more {
        font-size: 0.78rem;
    }

    .product_vitrine__detail .product-card__favorite {
        min-height: 2.2rem;
        padding: 0.5rem 0.75rem;
        gap: 0.4rem;
    }

    .product_vitrine__detail .product-card__favorite-label {
        font-size: 0.8rem;
    }

    .product_vitrine__detail .product-card__discount {
        min-height: 1.75rem;
        padding: 0 0.7rem;
        font-size: 0.6875rem;
    }

    .product-gallery-viewer {
        padding: 0.5rem;
    }

    .product-gallery-viewer__dialog {
        height: min(92vh, 36rem);
        padding: 0.75rem;
    }

    .product-gallery-viewer__slide {
        padding: 1rem;
    }

    .product-gallery-viewer__thumb {
        flex-basis: 4rem;
        height: 4rem;
    }

    .product-vitrine-variant-picker__values {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        grid-auto-rows: 3.2rem;
        gap: 0.35rem;
    }

    .product_vitrine__detail .product-vitrine-variant-picker__values {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .product-vitrine-variant-picker__value {
        width: 100%;
        min-height: 2.6rem;
        padding: 0.08rem;
        border-radius: 0.35rem;
    }

    .product-vitrine-variant-picker__value-body {
        padding: 0.05rem 0.1rem;
    }

    .product-vitrine-variant-picker__value-text {
        font-size: 0.58rem;
    }

    .product-vitrine-variant-picker__group-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .product-vitrine-payment__controls {
        grid-template-columns: 1fr;
    }

    .product-vitrine-payment__section,
    .product-vitrine-payment__form-shell {
        padding: 0.9rem;
    }

    .product-vitrine-payment__auth-grid {
        grid-template-columns: 1fr;
    }

    .product-vitrine-payment__button,
    .product-vitrine-variant-picker__cta {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .product_vitrine__records,
    .product_vitrine--grid-5 .product_vitrine__records,
    .product_vitrine--grid-4 .product_vitrine__records,
    .product_vitrine--grid-3 .product_vitrine__records,
    .product_vitrine--grid-2 .product_vitrine__records {
        grid-template-columns: 1fr;
    }

    .product_vitrine__detail .product-vitrine-variant-picker__values {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ==============================
   Rating & Reviews (Ozon-style)
   ============================== */

.shop-rating {
    display: inline-flex;
    align-items: center;
    line-height: 1;
    vertical-align: middle;
}

.shop-rating__track {
    position: relative;
    display: inline-block;
    font-size: 1em;
    color: #d9d9d9;
    letter-spacing: 1px;
    white-space: nowrap;
}

.shop-rating__track::before {
    content: "★★★★★";
}

.shop-rating__fill {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    color: #f7a92b;
    white-space: nowrap;
}

.shop-rating__fill::before {
    content: "★★★★★";
    letter-spacing: 1px;
}

.shop-rating--compact {
    font-size: 0.95rem;
}

.shop-rating--large {
    font-size: 1.5rem;
}

/* Compact badge in product card */
.product-rating {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    margin: 0.25rem 0 0.5rem;
    font-size: 0.85rem;
    color: #1c1c1c;
    white-space: nowrap;
}

.product-rating__value {
    font-weight: 600;
    color: #0e0f0f;
}

.product-rating__count {
    color: #7a7a7a;
    font-size: 0.8125rem;
}

.product-rating__count::before {
    content: "· ";
    color: #bdbdbd;
}

/* Summary in detail hero */
.shop-reviews-summary {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0.5rem 0 0.75rem;
    padding: 0.375rem 0.75rem;
    background: #fff8eb;
    border-radius: 0.5rem;
    font-size: 0.95rem;
}

.shop-reviews-summary__value {
    font-weight: 700;
    font-size: 1.1rem;
    color: #1a1a1a;
}

.shop-reviews-summary__count {
    color: #6d7074;
}

.shop-reviews-summary--empty {
    background: transparent;
    padding: 0;
    color: #9a9a9a;
    font-size: 0.9rem;
}

/* Full reviews block (detail) */
.shop-reviews {
    margin: 2rem 0 0;
    padding: 1.5rem;
    background: #ffffff;
    border: 1px solid #ececec;
    border-radius: 0.75rem;
}

.shop-reviews__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #f1f1f1;
}

.shop-reviews__title {
    margin: 0;
    font-size: 1.375rem;
    font-weight: 700;
    color: #141414;
}

.shop-reviews__overview {
    display: grid;
    grid-template-columns: minmax(160px, 220px) 1fr;
    gap: 1.5rem;
    align-items: center;
    margin: 0 0 1.5rem;
    padding: 1rem 1.25rem;
    background: #fafafa;
    border-radius: 0.625rem;
}

.shop-reviews__score {
    text-align: center;
}

.shop-reviews__score-value {
    font-size: 2.5rem;
    font-weight: 800;
    line-height: 1;
    color: #111111;
    margin-bottom: 0.375rem;
}

.shop-reviews__score-count {
    margin-top: 0.375rem;
    color: #6d7074;
    font-size: 0.875rem;
}

.shop-reviews__score--empty .shop-reviews__score-value {
    color: #b8b8b8;
    font-weight: 500;
}

.shop-reviews__distribution {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.shop-reviews__distribution-row {
    display: grid;
    grid-template-columns: auto auto 1fr auto auto;
    align-items: center;
    gap: 0.625rem;
    font-size: 0.875rem;
    color: #454545;
}

.shop-reviews__distribution-mark {
    font-weight: 600;
    min-width: 0.75rem;
    text-align: right;
    color: #111;
}

.shop-reviews__distribution-star {
    color: #f7a92b;
    font-size: 0.875rem;
    line-height: 1;
}

.shop-reviews__distribution-bar {
    position: relative;
    height: 0.5rem;
    background: #ececec;
    border-radius: 999px;
    overflow: hidden;
}

.shop-reviews__distribution-fill {
    position: absolute;
    inset: 0 auto 0 0;
    background: linear-gradient(90deg, #ffb020 0%, #f7a92b 100%);
    border-radius: inherit;
}

.shop-reviews__distribution-count {
    color: #7a7a7a;
    font-size: 0.8125rem;
    min-width: 1.5rem;
    text-align: right;
}

.shop-reviews__distribution-percent {
    color: #a8a8a8;
    font-size: 0.75rem;
    min-width: 2.25rem;
    text-align: right;
}

/* Review list */
.shop-reviews__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.shop-review {
    padding: 1rem 1.125rem;
    background: #ffffff;
    border: 1px solid #efefef;
    border-radius: 0.625rem;
    transition: border-color 0.15s ease-out;
}

.shop-review:hover {
    border-color: #dedede;
}

.shop-review__head {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.625rem;
}

.shop-review__avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background: linear-gradient(135deg, #ffd580, #f7a92b);
    color: #fff;
    font-weight: 600;
    font-size: 0.95rem;
    flex-shrink: 0;
}

.shop-review__meta {
    flex: 1 1 auto;
    min-width: 0;
}

.shop-review__author {
    font-weight: 600;
    color: #1a1a1a;
    font-size: 0.95rem;
    line-height: 1.2;
}

.shop-review__date {
    margin-top: 0.125rem;
    font-size: 0.8125rem;
    color: #9a9a9a;
}

.shop-review__mark {
    flex: 0 0 auto;
    font-size: 1.05rem;
}

.shop-review__body {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.shop-review__section {
    padding-left: 0.625rem;
    border-left: 2px solid transparent;
}

.shop-review__section--pros {
    border-left-color: #3aa55c;
}

.shop-review__section--cons {
    border-left-color: #d96262;
}

.shop-review__section--comment {
    border-left-color: #c8c8c8;
}

.shop-review__section-title {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #4b4b4b;
    margin-bottom: 0.1875rem;
    letter-spacing: 0.01em;
}

.shop-review__section-text {
    color: #333;
    font-size: 0.9375rem;
    line-height: 1.5;
    white-space: pre-line;
    word-wrap: break-word;
}

.shop-review__footer {
    margin-top: 0.75rem;
    padding-top: 0.625rem;
    border-top: 1px dashed #f0f0f0;
}

.shop-review__vote {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.shop-review__vote-button {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.5rem;
    border: 1px solid #e5e5e5;
    border-radius: 999px;
    background: #fff;
    color: #5c5c5c;
    font-size: 0.8125rem;
    cursor: pointer;
    transition: all 0.15s ease-out;
}

.shop-review__vote-button:hover {
    border-color: #c0c0c0;
    color: #222;
}

.shop-review__vote-button--up:hover {
    border-color: #86d19d;
    color: #257f45;
    background: #f2fbf5;
}

.shop-review__vote-button--down:hover {
    border-color: #e8a8a8;
    color: #a23838;
    background: #fdf3f3;
}

.shop-review__vote-icon {
    font-size: 0.7rem;
    line-height: 1;
}

.shop-review__vote-count {
    font-variant-numeric: tabular-nums;
}

.shop-reviews__more {
    margin-top: 1.25rem;
    text-align: center;
}

.shop-reviews__more-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem 1.5rem;
    border: 1px solid #e0e0e0;
    border-radius: 0.5rem;
    background: #ffffff;
    color: #1a1a1a;
    font-size: 0.9375rem;
    font-weight: 500;
    cursor: pointer;
    transition: border-color 0.15s ease-out, background 0.15s ease-out;
}

.shop-reviews__more-button:hover {
    border-color: #bfbfbf;
    background: #fafafa;
}

.shop-reviews__empty {
    padding: 1.5rem 1rem;
    text-align: center;
    color: #7a7a7a;
    background: #fafafa;
    border-radius: 0.625rem;
}

.shop-reviews__empty p {
    margin: 0 0 0.375rem;
    font-size: 0.95rem;
}

.shop-reviews__empty-hint {
    font-size: 0.875rem;
    color: #a3a3a3;
}

@media (max-width: 760px) {
    .shop-reviews {
        padding: 1rem;
    }

    .shop-reviews__overview {
        grid-template-columns: 1fr;
        padding: 0.875rem 1rem;
    }

    .shop-reviews__score {
        display: grid;
        grid-template-columns: auto auto 1fr;
        align-items: center;
        gap: 0.625rem;
        text-align: left;
    }

    .shop-reviews__score-value {
        font-size: 2rem;
        margin: 0;
    }

    .shop-reviews__score-count {
        margin: 0;
        text-align: right;
    }
}

/* ==============================
   «По запросу» mode + quote modal
   ============================== */

/* По умолчанию показываем detail-CTA, скрываем запрос-CTA */
.product-card__cta--on-request {
    display: none;
}

/* Карточка в режиме on-request: цены скрываем, меняем CTA */
[data-on-request="1"] .product-card__price,
[data-on-request="1"] .product-card__old-price,
[data-on-request="1"] .product-card__discount {
    /* цена всё равно заменена на «По запросу» в token'е,
       но дисконт/старую цену прячем принудительно */
}

[data-on-request="1"] .product-card__old-price,
[data-on-request="1"] .product-card__discount {
    display: none !important;
}

[data-on-request="1"] .product-card__price {
    color: #1a7f54;
    font-weight: 600;
    font-size: 0.85rem;
    line-height: 1.2;
    white-space: nowrap;
    letter-spacing: 0.01em;
}

.product_vitrine__detail [data-on-request="1"] .product-card__price,
[data-on-request="1"] .product_vitrine__detail .product-card__price {
    font-size: 1rem;
}

[data-on-request="1"] .product-card__cta--detail {
    display: none;
}

[data-on-request="1"] .product-card__cta--on-request {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    background: linear-gradient(135deg, #1a7f54, #2ca674);
    color: #ffffff;
    border: 0;
    padding: 0.55rem 1rem;
    border-radius: 0.5rem;
    font-weight: 600;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

[data-on-request="1"] .product-card__cta--on-request:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(26, 127, 84, 0.25);
}

[data-on-request="1"] .product-card__cta--on-request:active {
    transform: translateY(0);
}

/* Badge на карточке товара */
.product-card__on-request-badge {
    display: none;
}

[data-on-request="1"] .product-card__on-request-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem 0.5rem;
    background: #fff5e6;
    color: #a26b00;
    border: 1px solid #ffd799;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    margin-left: 0.5rem;
    vertical-align: middle;
}

/* Quote modal */
.product-vitrine-quote-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 20, 32, 0.56);
    backdrop-filter: blur(2px);
    z-index: 9980;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.18s ease-out;
}

.product-vitrine-quote-overlay.is-open {
    opacity: 1;
    pointer-events: auto;
}

.product-vitrine-quote {
    width: min(520px, 100%);
    max-height: min(90vh, 720px);
    overflow: auto;
    background: #ffffff;
    border-radius: 0.875rem;
    box-shadow: 0 20px 50px rgba(15, 20, 32, 0.25);
    padding: 1.5rem 1.5rem 1.25rem;
    transform: translateY(8px);
    transition: transform 0.18s ease-out;
}

.product-vitrine-quote-overlay.is-open .product-vitrine-quote {
    transform: translateY(0);
}

.product-vitrine-quote__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.product-vitrine-quote__title {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    color: #0e0f0f;
}

.product-vitrine-quote__subtitle {
    margin: 0.125rem 0 0;
    font-size: 0.875rem;
    color: #6b7280;
}

.product-vitrine-quote__close {
    background: transparent;
    border: 0;
    color: #6b7280;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    padding: 0.25rem 0.375rem;
    border-radius: 0.375rem;
}

.product-vitrine-quote__close:hover {
    color: #0e0f0f;
    background: #f4f5f7;
}

.product-vitrine-quote__product {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    padding: 0.625rem 0.75rem;
    background: #f8f9fb;
    border: 1px solid #eceef2;
    border-radius: 0.625rem;
    margin-bottom: 1rem;
}

.product-vitrine-quote__product-image {
    width: 48px;
    height: 48px;
    object-fit: contain;
    border-radius: 0.375rem;
    background: #fff;
    flex-shrink: 0;
}

.product-vitrine-quote__product-title {
    font-weight: 600;
    color: #0e0f0f;
    font-size: 0.9375rem;
    line-height: 1.3;
}

.product-vitrine-quote__form {
    display: grid;
    gap: 0.625rem;
}

.product-vitrine-quote__field {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.product-vitrine-quote__label {
    font-size: 0.8125rem;
    color: #4b4f57;
    font-weight: 500;
}

.product-vitrine-quote__input,
.product-vitrine-quote__textarea {
    font: inherit;
    width: 100%;
    padding: 0.55rem 0.75rem;
    border: 1px solid #d7dae0;
    border-radius: 0.5rem;
    background: #fff;
    color: #0e0f0f;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.product-vitrine-quote__input:focus,
.product-vitrine-quote__textarea:focus {
    outline: none;
    border-color: #1a7f54;
    box-shadow: 0 0 0 3px rgba(26, 127, 84, 0.15);
}

.product-vitrine-quote__textarea {
    min-height: 80px;
    resize: vertical;
}

.product-vitrine-quote__actions {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
    margin-top: 0.25rem;
}

.product-vitrine-quote__button {
    padding: 0.6rem 1.1rem;
    font: inherit;
    font-weight: 600;
    border-radius: 0.5rem;
    border: 0;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.product-vitrine-quote__button--cancel {
    background: #f4f5f7;
    color: #0e0f0f;
}

.product-vitrine-quote__button--cancel:hover {
    background: #e8eaef;
}

.product-vitrine-quote__button--submit {
    background: linear-gradient(135deg, #1a7f54, #2ca674);
    color: #fff;
}

.product-vitrine-quote__button--submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(26, 127, 84, 0.3);
}

.product-vitrine-quote__button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: none !important;
}

.product-vitrine-quote__message {
    margin-top: 0.5rem;
    padding: 0.55rem 0.75rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
}

.product-vitrine-quote__message--error {
    background: #fff0f0;
    color: #a32e2e;
    border: 1px solid #f5c4c4;
}

.product-vitrine-quote__message--success {
    background: #ecf9f2;
    color: #1a7f54;
    border: 1px solid #bbe3cc;
}

@media (max-width: 520px) {
    .product-vitrine-quote {
        padding: 1.125rem 1rem;
    }
}

/* ============================================================
   Блоки «Похожие» / «Сопутствующие» товары на detail-карточке
   (SSR baseline + Vue-остров: режим list = grid, carousel = scroll-snap)
   ============================================================ */
.product_vitrine__related {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--product-vitrine-border, #e5e7eb);
}

.product_vitrine__related-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.product_vitrine__related-title {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.25;
    color: var(--product-vitrine-ink, #1f2937);
}

.product_vitrine__related-nav {
    display: inline-flex;
    gap: 0.5rem;
    flex: 0 0 auto;
}

.product_vitrine__related-arrow {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    border: 1px solid var(--product-vitrine-border, #e5e7eb);
    background: var(--product-vitrine-surface, #fff);
    color: var(--product-vitrine-ink, #1f2937);
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.2s, color 0.2s, box-shadow 0.2s;
}

.product_vitrine__related-arrow:hover {
    border-color: var(--product-vitrine-primary, #1a7f54);
    color: var(--product-vitrine-primary, #1a7f54);
    box-shadow: var(--product-vitrine-control-shadow-hover, 0 4px 12px rgba(0, 0, 0, 0.1));
}

/* --- Раскладки трека --- */
.product_vitrine__related--mode-list .product_vitrine__related-track {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 1rem;
}

.product_vitrine__related--mode-carousel .product_vitrine__related-track {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.5rem;
}

.product_vitrine__related--mode-carousel .product_vitrine__related-track::-webkit-scrollbar {
    height: 6px;
}

.product_vitrine__related--mode-carousel .product_vitrine__related-track::-webkit-scrollbar-thumb {
    background: var(--product-vitrine-border, #e5e7eb);
    border-radius: 999px;
}

.product_vitrine__related--mode-carousel .product_vitrine__related-card {
    flex: 0 0 auto;
    width: clamp(160px, 45vw, 220px);
    scroll-snap-align: start;
}

/* --- Карточка связанного товара --- */
.product_vitrine__related-card {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.75rem;
    background: var(--product-vitrine-surface, #fff);
    border: 1px solid var(--product-vitrine-border, #e5e7eb);
    border-radius: var(--product-vitrine-panel-radius, 14px);
    transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
}

.product_vitrine__related-card:hover {
    border-color: var(--product-vitrine-border-active, #c8d0d8);
    box-shadow: var(--product-vitrine-shadow, 0 8px 24px rgba(0, 0, 0, 0.08));
    transform: translateY(-2px);
}

.product_vitrine__related-card-media {
    display: block;
    aspect-ratio: 1 / 1;
    border-radius: 10px;
    overflow: hidden;
    background: var(--product-vitrine-surface-soft, #f5f6f8);
}

.product_vitrine__related-card-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.product_vitrine__related-card-body {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    flex: 1 1 auto;
}

.product_vitrine__related-card-brand {
    font-size: 0.72rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--product-vitrine-muted, #6b7280);
}

.product_vitrine__related-card-title {
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--product-vitrine-ink, #1f2937);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.product_vitrine__related-card-title:hover {
    color: var(--product-vitrine-primary, #1a7f54);
}

.product_vitrine__related-card-prices {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-top: auto;
}

.product_vitrine__related-card-price {
    font-size: 1rem;
    font-weight: 700;
    color: var(--product-vitrine-ink, #1f2937);
}

.product_vitrine__related-card-old-price {
    font-size: 0.8rem;
    color: var(--product-vitrine-muted, #9ca3af);
    text-decoration: line-through;
}

.product_vitrine__related-card-presence {
    font-size: 0.78rem;
    color: var(--product-vitrine-muted, #6b7280);
}

.product_vitrine__related-card-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 0.75rem;
    border-radius: var(--product-vitrine-control-radius, 10px);
    border: 1px solid var(--product-vitrine-border, #e5e7eb);
    background: var(--product-vitrine-secondary-bg, #f3f4f6);
    color: var(--product-vitrine-ink, #1f2937);
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    text-align: center;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.product_vitrine__related-card-cta:hover {
    background: var(--product-vitrine-secondary-bg-hover, #e5e7eb);
    border-color: var(--product-vitrine-primary, #1a7f54);
    color: var(--product-vitrine-primary, #1a7f54);
}

@media (max-width: 640px) {
    .product_vitrine__related--mode-list .product_vitrine__related-track {
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
        gap: 0.75rem;
    }

    .product_vitrine__related-title {
        font-size: 1.15rem;
    }
}
