

        :root {
            --ibs-bg-color: #F5F5F5;
            --ibs-text-color: #1A1A1A;
            --ibs-line-color: rgba(26, 26, 26, 0.15);
            --ibs-title-font: 'Mark GEO CAPS', 'Noto Sans Georgian', sans-serif;
            --ibs-body-font: 'FiraGo', 'Noto Sans Georgian', sans-serif;
            --ibs-accent-color: #8c3b28;
        }

        .interno-bestsellers-wrap, .interno-bestsellers-wrap * { box-sizing: border-box; }
        .interno-bestsellers-wrap {
            background-color: var(--ibs-bg-color);
            color: var(--ibs-text-color);
            font-family: var(--ibs-body-font);
            font-weight: 400;
            line-height: 1.6;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            text-rendering: optimizeLegibility;
            width: 100vw;
            margin-left: calc(50% - 50vw);
            margin-right: calc(50% - 50vw);
            max-width: 100vw;
            overflow: hidden;
        }
        .interno-bestsellers-wrap h2,
        .interno-bestsellers-wrap h3 {
            font-family: var(--ibs-title-font); font-weight: normal; margin: 0;
        }
        .interno-bestsellers-wrap a { text-decoration: none; color: inherit; }
        .interno-bestsellers-wrap img { display: block; max-width: 100%; }
        .interno-bestsellers-wrap button { background: none; border: 0; cursor: pointer; color: inherit; font-family: inherit; }

        /* ═══ CAROUSEL SECTION ═══ */
        .interno-bestsellers-wrap .ibs-section {
            padding: 5rem 3rem;
            border-bottom: 1px solid var(--ibs-line-color);
        }
        .interno-bestsellers-wrap .ibs-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-end;
            gap: 2rem;
            flex-wrap: wrap;
            margin-bottom: 3rem;
        }
        .interno-bestsellers-wrap .ibs-header h2 {
            font-size: clamp(1.7rem, 2.76vw, 2.21rem);
            line-height: 1.05;
        }

        /* Navigation arrows */
        .interno-bestsellers-wrap .ibs-nav { display: flex; gap: .6rem; }
        .interno-bestsellers-wrap .ibs-nav button {
            width: 44px; height: 44px;
            border-radius: 50%;
            border: 1px solid var(--ibs-line-color);
            background: transparent;
            cursor: pointer;
            display: flex; align-items: center; justify-content: center;
            transition: background .4s cubic-bezier(.22,1,.36,1), color .4s cubic-bezier(.22,1,.36,1), transform .3s ease;
            color: var(--ibs-text-color);
            flex-shrink: 0;
            padding: 0;
        }
        .interno-bestsellers-wrap .ibs-nav button:hover {
            background: var(--ibs-text-color);
            color: var(--ibs-bg-color);
            transform: scale(1.05);
        }
        .interno-bestsellers-wrap .ibs-nav button.swiper-button-disabled { opacity: .35; cursor: not-allowed; }
        .interno-bestsellers-wrap .ibs-nav button svg { width: 18px; height: 18px; stroke-width: 1.5; }

        /* Swiper */
        .interno-bestsellers-wrap .ibs-swiper {
            width: 100%;
            overflow: visible;
        }
        .interno-bestsellers-wrap .ibs-swiper .swiper-slide { height: auto; }

        /* Progress bar */
        .interno-bestsellers-wrap .ibs-progress {
            margin-top: 2rem;
            height: 2px;
            background: var(--ibs-line-color);
            border-radius: 2px;
            overflow: hidden;
        }
        .interno-bestsellers-wrap .ibs-progress-fill {
            height: 100%;
            background: var(--ibs-text-color);
            border-radius: 2px;
            width: 0;
            transition: width .4s cubic-bezier(.22,1,.36,1);
        }

        /* ═══ PRODUCT CARD ═══ */
        .interno-bestsellers-wrap .ibs-card {
            cursor: pointer;
            display: flex;
            flex-direction: column;
            color: inherit;
        }
        .interno-bestsellers-wrap .ibs-card-img-wrapper {
            position: relative;
            aspect-ratio: 3/4;
            overflow: hidden;
            margin-bottom: 1.2rem;
            border-radius: 6px;
            background: rgba(26,26,26,.05);
        }
        .interno-bestsellers-wrap .ibs-card-badge {
            position: absolute; top: 1rem; left: 1rem;
            background: var(--ibs-accent-color); color: #fff;
            font-size: .75rem; padding: .3rem .8rem;
            border-radius: 50px;
            z-index: 10;
            font-weight: 500;
        }
        .interno-bestsellers-wrap .ibs-card-img-wrapper img {
            position: absolute; inset: 0;
            width: 100% !important;
            height: 100% !important;
            object-fit: contain !important;
            object-position: center !important;
            padding: 1.5rem !important;
            box-sizing: border-box !important;
            transition: opacity .6s cubic-bezier(.4,0,.2,1), transform 1.2s cubic-bezier(.22,1,.36,1);
        }
        /* Cover mode — სავსე/ფონიანი ფოტო ბარათს მთლიანად ფარავს (per-image: მთავარი ან hover) */
        .interno-bestsellers-wrap .ibs-card-img-wrapper img.ibs-cover,
        .interno-bestsellers-wrap .ibs-card-img-wrapper .ibs-cover {
            object-fit: cover !important;
            object-position: center !important;
            padding: 0 !important;
            padding-top: 0 !important;
            padding-right: 0 !important;
            padding-bottom: 0 !important;
            padding-left: 0 !important;
        }
        .interno-bestsellers-wrap .ibs-img-hover { opacity: 0; z-index: 2; }
        .interno-bestsellers-wrap .ibs-card:hover .ibs-img-hover { opacity: 1; }
        .interno-bestsellers-wrap .ibs-card:hover .ibs-img-main { transform: scale(1.04); }
        /* თუ ბარათს ცალკე hover ფოტო აქვს — hover-ზე მთავარი ფოტო დაიმალოს, რომ
           პატარა/გამჭვირვალე hover ფოტოს უკან არ გამოჩნდეს (ბარათის ფონისგან დამოუკიდებლად). */
        .interno-bestsellers-wrap .ibs-card:hover .ibs-card-img-wrapper.has-hover .ibs-img-main { opacity: 0; }

        /* ═══ WISHLIST BUTTON ═══ */
        .interno-bestsellers-wrap .ibs-wishlist-btn {
            position: absolute;
            top: 1rem;
            right: 1rem;
            width: 40px;
            height: 40px;
            padding: 0;
            border: none;
            border-radius: 50%;
            background: rgba(255,255,255,.92);
            color: var(--ibs-text-color);
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
            box-shadow: 0 2px 8px rgba(0,0,0,.06);
            z-index: 20;
            transition: transform .35s cubic-bezier(.22,1,.36,1),
                        background-color .35s ease,
                        color .35s ease,
                        box-shadow .35s ease;
        }
        .interno-bestsellers-wrap .ibs-wishlist-btn:hover {
            transform: scale(1.08);
            box-shadow: 0 4px 14px rgba(0,0,0,.1);
        }
        .interno-bestsellers-wrap .ibs-wishlist-btn:active {
            transform: scale(.96);
        }
        .interno-bestsellers-wrap .ibs-wishlist-btn svg {
            width: 17px;
            height: 17px;
            stroke-width: 1.8;
            pointer-events: none;
            transition: transform .3s cubic-bezier(.34,1.56,.64,1);
        }
        .interno-bestsellers-wrap .ibs-wishlist-btn .ibs-heart-fill { display: none; }
        .interno-bestsellers-wrap .ibs-wishlist-btn .ibs-heart-outline { display: block; }
        .interno-bestsellers-wrap .ibs-wishlist-btn.is-active {
            background: var(--ibs-accent-color);
            color: #fff;
        }
        .interno-bestsellers-wrap .ibs-wishlist-btn.is-active .ibs-heart-outline { display: none; }
        .interno-bestsellers-wrap .ibs-wishlist-btn.is-active .ibs-heart-fill { display: block; }

        @keyframes ibs-heart-pulse {
            0%   { transform: scale(1); }
            40%  { transform: scale(1.35); }
            100% { transform: scale(1); }
        }
        .interno-bestsellers-wrap .ibs-wishlist-btn.ibs-pulsing svg {
            animation: ibs-heart-pulse .5s cubic-bezier(.34,1.56,.64,1);
        }

        .interno-bestsellers-wrap .ibs-card-info { display: flex; flex-direction: column; gap: .3rem; }
        .interno-bestsellers-wrap .ibs-card-category {
            font-size: .72rem; opacity: .55;
            text-transform: uppercase; letter-spacing: 1px;
        }
        .interno-bestsellers-wrap .ibs-card-title {
            font-size: 1.15rem;
            font-family: var(--ibs-title-font);
            line-height: 1.25;
            transition: opacity .5s ease;
        }
        .interno-bestsellers-wrap .ibs-card:hover .ibs-card-title { opacity: .7; }
        .interno-bestsellers-wrap .ibs-card-price-row {
            display: flex;
            align-items: baseline;
            gap: .7rem;
            margin-top: .3rem;
            flex-wrap: wrap;
        }
        .interno-bestsellers-wrap .ibs-card-new-price {
            font-size: 1.1rem;
            font-weight: 500;
            color: var(--ibs-text-color);
        }
        .interno-bestsellers-wrap .ibs-card-old-price {
            font-size: .9rem;
            text-decoration: line-through;
            opacity: .5;
        }
        .interno-bestsellers-wrap .ibs-card-unit {
            font-size: .8rem; opacity: .55;
        }

        /* ═══ RESPONSIVE ═══ */
        @media (max-width: 1024px) {
            .interno-bestsellers-wrap .ibs-section { padding: 4rem 2.5rem; }
            .interno-bestsellers-wrap .ibs-header { margin-bottom: 2.5rem; }
        }
        @media (max-width: 768px) {
            .interno-bestsellers-wrap .ibs-section { padding: 2.5rem 1.2rem; }
            .interno-bestsellers-wrap .ibs-header { margin-bottom: 1.5rem; }
            .interno-bestsellers-wrap .ibs-nav { display: none; }
            .interno-bestsellers-wrap .ibs-card-title { font-size: 1rem; }
            .interno-bestsellers-wrap .ibs-card-new-price { font-size: 1rem; }
            .interno-bestsellers-wrap .ibs-wishlist-btn {
                width: 36px; height: 36px;
                top: .7rem; right: .7rem;
            }
            .interno-bestsellers-wrap .ibs-wishlist-btn svg { width: 15px; height: 15px; }
            .interno-bestsellers-wrap .ibs-card-badge {
                font-size: .7rem; padding: .25rem .6rem;
                top: .7rem; left: .7rem;
            }
        }
        @media (max-width: 480px) {
            .interno-bestsellers-wrap .ibs-section { padding: 2rem 1rem; }
        }
        /* Touch screens never download the hover photo (1×1 placeholder, media.php): its layer stays hidden, and a tap
           that triggers :hover keeps the main photo visible instead of fading it out. */
        @media (hover: none) {
            .interno-bestsellers-wrap .ibs-img-hover { display: none !important; }
            .interno-bestsellers-wrap .ibs-card:hover .ibs-card-img-wrapper.has-hover .ibs-img-main { opacity: 1; }
        }
