/* Applied after the existing styles. Preserve geometry before Owl and image loading. */
.home-performance .owl-slider {
    display: block;
    aspect-ratio: var(--hero-ratio, auto);
    overflow: hidden;
}
.home-performance .owl-slider .owl-stage-outer,
.home-performance .owl-slider .item {
    aspect-ratio: var(--hero-ratio, auto);
}
.home-performance .owl-slider .item { display: block; }
.home-performance .owl-slider img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: var(--hero-ratio, auto);
    object-fit: contain;
}
.home-performance .owl-slider:not(.owl-loaded) > .item:not(:first-child) { display: none; }

.owl-theme .owl-dots .owl-dot {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
}
.owl-theme .owl-dots .owl-dot span { margin: 0 !important; }
.owl-theme .owl-dots { display: flex; flex-wrap: wrap; justify-content: center; }
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next { min-width: 44px; min-height: 44px; }
.owl-carousel button:focus-visible { outline: 2px solid #0d41e2 !important; outline-offset: -2px; }

.home-performance .owl-slider picture { display: block; width: 100%; }


/* Product cards are laid out by CSS from the first paint. No Owl reparenting. */
.home-performance .product-carousel { position: relative; }
.home-performance .product-track {
    --product-width: calc(100% - 120px);
    display: flex;
    gap: 14px;
    width: 100%;
    height: 440px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    scrollbar-color: #d7d7d7 transparent;
    direction: rtl;
    padding: 10px 0 20px;
}
.home-performance .product-carousel-new .product-track { height: 350px; }
.home-performance .product-track > .item {
    display: block;
    flex: 0 0 var(--product-width);
    min-width: 0;
    height: 410px;
    margin: 0;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 14px;
    overflow: hidden;
    scroll-snap-align: start;
}
.home-performance .product-carousel-new .product-track > .item { height: 320px; }
.home-performance .product-carousel-category .name-col { height: 60px; overflow: hidden; }
.home-performance .product-carousel-new .name-col { height: 32px; overflow: hidden; }
.home-performance .product-track .pro-name { line-height: 26px; }
.home-performance .product-track .pro-model {
    line-height: 22px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.home-performance .product-track .img-pro img,
.home-performance .product-track .img-pro-newest img { aspect-ratio: 200 / 160; }
.home-performance .product-track .item:hover img { transform: scale(1.05); }
.home-performance .img-special img { aspect-ratio: 300 / 200; width: 100%; object-fit: cover; }
.home-performance .banner-section img { display: block; margin-inline: auto; }
.home-performance .product-controls {
    display: none;
    position: absolute;
    top: -44px;
    inset-inline-end: 0;
    gap: 6px;
}
.home-performance .product-controls button {
    width: 44px;
    height: 44px;
    background: #fff;
    border: 1px solid #d7d7d7;
    border-radius: 50%;
    color: #284258;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}
.home-performance .product-controls button:disabled { opacity: .35; cursor: default; }
.home-performance .product-controls button:focus-visible,
.home-performance .product-track:focus-visible { outline: 2px solid #0d41e2 !important; outline-offset: -2px; }
@media (min-width: 440px) {
    .home-performance .product-track { --product-width: calc((100% - 14px) / 2); }
}
@media (min-width: 768px) {
    .home-performance .product-track { --product-width: calc((100% - 28px) / 3); }
}
@media (min-width: 992px) {
    .home-performance .product-track { --product-width: calc((100% - 42px) / 4); }
    .home-performance .product-controls { display: flex; }
}
@media (min-width: 1200px) {
    .home-performance .product-carousel-new .product-track { --product-width: calc((100% - 56px) / 5); }
}

/* The header reserves its own height before JS; no delayed body padding. */
header.header,
header.header.sticky-menu {
    position: sticky !important;
    top: 0;
    transform: none !important;
    transition: none !important;
}
@media (min-width: 992px) {
    header.header, header.header.sticky-menu { top: -70px; }
}

/* Sticky header already occupies space; override legacy inline compensation. */
#main-content .body-content {
    padding-top: 0 !important;
}
