.product-desktop-hero,
.product-desktop-preview,
.product-desktop-extras,
.product-details-track,
.product-color-current { display: none; }

/* Shared arrow artwork for the colour and SKU selectors. */
.product-row--desktop .product-specifications .product-specifications__item--sizes .select-element .select-element__current { justify-content: flex-start; gap: 10px; }
.product-row--desktop .product-specifications .product-specifications__item--sizes .select-element__current .select-element__name {
    width: auto; flex: 0 1 auto; min-width: 0; background: #DFDEDA; padding: 4px 12px; border-radius: 40px;
}
.product-row--desktop .product-specifications__item--sizes .product-size-tag { min-width: 0; font-size: inherit; line-height: 1.2; overflow-wrap: anywhere; }
.product-row--desktop .product-size-tag[hidden] { display: none; }
.product-row--desktop .product-specifications .product-specifications__item .select-element .select-element__current { position: relative; padding-right: 48px; }
.product-row--desktop .product-specifications .select-element__current .select-element__icon,
.product-row--desktop .product-specifications .product-color-current:after {
    content: ''; position: absolute; right: 16px; top: 50%; width: 24px; height: 24px;
    margin: 0; border: 0; transform: translateY(-50%) rotate(0deg);
    transform-origin: center; transition: transform .25s ease;
    background: url('../../../../assets/img/chevrone.svg') center / 24px 24px no-repeat;
}
.product-row--desktop .product-specifications .product-color-current { position: relative; padding-right: 48px; }
.product-row--desktop .product-specifications .select-element__current .select-element__icon { pointer-events: none; }
.product-row--desktop .product-specifications .select-element.is-open .select-element__current .select-element__icon,
.product-row--desktop .product-specifications .is-color-open .product-color-current:after { transform: translateY(-50%) rotate(180deg); }

@media (min-width: 1200px) {
    .product-row--desktop .product-desktop-extras .product-set-button__open:after {
        right: 16px; top: 50%; width: 24px; height: 24px; transform: translateY(-50%);
    }
    .product-row--desktop .product-desktop-extras .product-set-button .product-set-button__remove {
        right: 16px; top: 50%; width: 24px; height: 24px; transform: translateY(-50%);
    }
    body:has(.product-row--desktop) {
        --product-stock: var(--header-stock-height, 30px);
        --product-header: var(--main-header-primary-height, 80px);
        --product-admin-height: 0px;
        --product-admin-visible: 0px;
        --product-top: calc(var(--product-stock) + var(--product-header) + var(--product-admin-visible) + 12px);
        --product-height: calc(100dvh - var(--product-top) - 24px);
    }
    body:has(.product-row--desktop) .header-stock { position: sticky; top: var(--product-admin-visible); }
    /* Keep the header after the Bitrix panel in document flow, over the hero. */
    body:has(.product-row--desktop) .main-header { position: relative; height: 0; width: 100%; margin-bottom: 0; }
    body:has(.product-row--desktop) .main-header__primary { background: transparent; }
    body:has(.product-row--desktop) .main-header__primary:before { display: none; }
    body:has(.product-row--desktop) .main-header > .mega-pannel { top: var(--product-header); }
    body:has(.product-row--desktop) .bread-crumbs-wrapper { display: none; }
    .product-wrapper:has(.product-row--desktop) { overflow: visible; }
    .product-row.product-row--desktop {
        --product-column-gap: 24px;
        --product-right-width: 28%;
        --product-left-width: calc(100% - var(--product-right-width) - var(--product-column-gap));
        position: relative;
        width: calc(100vw - 48px);
        margin-left: calc(50% - 50vw + 24px);
        display: flex;
        flex-direction: row;
        align-items: stretch;
        gap: var(--product-column-gap);
        padding-top: calc(var(--product-header) + 12px);
        min-height: calc(100dvh - var(--product-stock) - var(--product-admin-height));
        padding-bottom: 24px;
        isolation: isolate;
    }
    .product-desktop-hero { display: block; position: absolute; top: 0; left: -24px; right: -24px; height: calc(100dvh - var(--product-stock) - var(--product-admin-height)); z-index: -1; background: var(--bg-body); }
    .product-desktop-hero img { width: 100%; height: 100%; object-fit: cover; }
    .product-row.product-row--desktop > .product-row__left { width: var(--product-left-width); flex: 0 0 var(--product-left-width); min-width: 0; padding-top: calc(100dvh - var(--product-stock) - var(--product-header) - var(--product-admin-height) + 12px); }
    .product-row.product-row--desktop > .product-row__right {
        width: var(--product-right-width); flex: 0 0 var(--product-right-width); min-width: 0;
        position: sticky; top: var(--product-top); height: var(--product-height); align-self: flex-start;
        display: flex; flex-direction: column; justify-content: flex-end;
    }
    .product-row--desktop .product-labels { display: none; }
    .product-row--desktop .product-gallery .swiper-slide:first-child { display: none; }
    .product-row--desktop .product-aside {
        position: relative; top: auto; height: auto; min-height: 0; max-height: 100%;
        display: flex; flex-direction: column; padding: 24px;
        border-radius: 30px; transform: none; will-change: auto;
        overflow-y: auto; scrollbar-width: none; overscroll-behavior: contain;
    }
    .product-row--desktop .product-row__right { scrollbar-width: none; }
    .product-row--desktop .product-aside::-webkit-scrollbar,
    .product-row--desktop .product-row__right::-webkit-scrollbar { display: none; width: 0; height: 0; }
    .product-row--desktop .product-aside__top { margin: 0; padding: 0; flex-shrink: 0; }
    .product-row--desktop .product-aside__top:before,
    .product-row--desktop .added-favorite__border { display: none; }
    .product-row--desktop .product-aside__title { margin-bottom: 16px; max-width: calc(100% - 36px); }
    .product-row--desktop .product-aside__title h1 { font-size: clamp(24px, 1.8vw, 36px); line-height: 1.12; }
    .product-row--desktop .product-prices { gap: 12px; }
    .product-row--desktop .product-prices__current { font-size: 16px; }
    .product-row--desktop .product-prices__old { font-size: clamp(16px, 1.15vw, 22px); }
    .product-desktop-preview { display: flex; flex: 0 0 185px; height: 185px; margin-bottom:16px; min-height: 185px; box-sizing: border-box; align-items: center; justify-content: center; padding: 0 16px; }
    .product-desktop-preview img { width: 70%; height: 100%; max-height: 240px; object-fit: contain; }
    .product-row--desktop .product-aside > .aside-description,
    .product-row--desktop .product-aside > .aside-delivery { display: none; }
    .product-row--desktop .product-specifications { flex-shrink: 0; }
    .product-row--desktop .product-specifications .product-specifications__item { margin-bottom: 8px; }
    .product-row--desktop .product-specifications .product-specifications__item .product-specifications__top { display: none; }
    .product-row--desktop .product-specifications__content { max-width: none; }
    .product-row--desktop .product-specifications .select-element .select-element__current,
    .product-color-current { border: 0; border-radius: 40px; background: #e9e8e4; min-height: 40px; height: 40px; padding: 6px 16px; font-size: 16px; }
    .product-color-current { display: flex; align-items: center; gap: 10px; width: 100%; color: inherit; cursor: pointer; text-align: left; }
    .product-row--desktop .product-specifications .select-element .select-element__pannel {
        top: calc(100% + 6px); border: 0; border-radius: 20px;
        background: #e9e8e4; padding: 8px; box-shadow: 0 4px 16px #0002;
    }
    .product-row--desktop .product-specifications .select-element__pannel .product-sku {
        min-height: 40px; height: auto; padding: 10px 16px; border-radius: 20px;
        font-size: 16px; line-height: 1.25;
    }
    .product-row--desktop .product-specifications .select-element__pannel .product-sku:before { display: none; }
    .product-row--desktop .product-specifications .select-element__pannel .product-sku.is-active,
    .product-row--desktop .product-specifications .select-element__pannel .product-sku:hover { background: #deddd8; }
    .product-row--desktop .product-specifications .select-element__pannel .product-sku .product-sku__name { padding: 0; }
    .product-color-current:after { content: ''; width: 9px; height: 9px; border-right: 1px solid; border-bottom: 1px solid; transform: rotate(45deg); margin: -5px 4px 0 auto; }
    .product-color-current .product-sku__figure { position: relative; display: block; width: 28px; height: 28px; border-radius: 50%; background-color: currentColor; background-size: cover; flex-shrink: 0; }
    .product-row--desktop .product-specifications__content:has(.product-color-current) { position: relative; }
    .product-row--desktop .product-specifications__list { display: none; position: absolute; top: 44px; left: 0; width: 100%; padding: 12px; border-radius: 18px; background: var(--color-beige-1); box-shadow: 0 4px 16px #0002; z-index: 5; }
    .product-row--desktop .is-color-open .product-specifications__list { display: flex; }
    .product-desktop-extras { display: grid; gap: 8px; margin: 0 0 20px; flex-shrink: 0; }
    .product-desktop-extras button { display: flex; justify-content: space-between; align-items: center; height: 40px; border: 1px dashed var(--color-border); border-radius: 40px; padding: 0 24px; background: transparent; color: inherit; text-align: left; }
    .product-desktop-extras span { font-size: 28px; font-weight: 400; line-height: 1; }
    .product-row--desktop .aside-btns { margin: 0; gap: 6px; flex-shrink: 0; }
    .product-row--desktop .aside-btns .btn-order { height: 52px; line-height: 1; border-radius: 40px; justify-content: center; gap: 10px; }
    .product-row--desktop .btn-order__text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .product-row--desktop .btn-order:before { content: ''; display: block; width: 24px; height: 24px; flex: 0 0 24px; background: url('../../../../assets/img/detail_plus.svg') center / contain no-repeat; }
    .product-row--desktop .aside-btns .btn.js-buy_product_btn { display: flex; align-items: center; justify-content: center; height: 30px; min-height: 30px; line-height: 1; padding: 0 16px; font-size: 14px; }
    .product-row.product-row--desktop > .product-details-track { display: block; position: absolute; top: calc(var(--product-header) + 12px); bottom: 24px; left: 0; width: var(--product-left-width); min-width: 0; pointer-events: none; z-index: 3; }
    .product-details { position: sticky; top: var(--product-top); height: var(--product-height); }
    .product-details__surface { position: absolute; inset: 0; padding: 32px 24px 108px; background: var(--color-beige-1); border-radius: 30px; pointer-events: auto; }
    .product-details__content { height: 100%; overflow: auto; overscroll-behavior: contain; padding-right: 28px; }
    .product-details__close { position: absolute; right: 20px; top: 20px; width: 32px; height: 32px; border: 0; background: transparent; color: inherit; font-size: 30px; cursor: pointer; }
    .product-details [hidden] { display: none !important; }
    .product-details [data-product-panel="description"] { display: grid; grid-template-columns: 1.15fr 1fr; gap: 5%; }
    .product-details__description { font-size: clamp(24px, 1.8vw, 34px); line-height: 1.12; }
    .product-details__text { font-size: 16px; line-height: 1.3; max-width: 340px; }
    .product-details__nav { position: absolute; bottom: 24px; padding:8px; left: 50%; transform: translateX(-50%); display: flex; border-radius: 50px; background: var(--color-beige-1); pointer-events: auto; white-space: nowrap; }
    .product-details__nav button { border: 0; background: transparent; padding: 6px 28px; border-radius: 40px; color: inherit; cursor: pointer; }
    .product-details__nav button:hover {background: #e5e4e0;}
    .product-details__nav button[aria-expanded="true"] { background: #e5e4e0; }
    .product-row--desktop button:focus-visible { outline: 2px solid var(--color-text) !important; outline-offset: 3px; }
}
