        /* Compare action on product cards is desktop-only: the compare table doesn't fit on phones.
           (Bootstrap has no d-*-list-item utility, so we drive visibility with a project class.) */
        .pksova-card-option-compare {
            display: none;
        }
        @media (min-width: 768px) {
            .pksova-card-option-compare {
                display: list-item;
            }
        }

        /* Suppress Fastkart's footer "vegetable" decorative shapes (404 in console: assets not shipped). */
        footer::before,
        footer::after,
        footer:before,
        footer:after {
            background-image: none !important;
            content: none !important;
        }

        /*
         * Text links carrying `.theme-color` (e.g. "View all" CTAs) on white background.
         * Brand teal #0baf9a is 2.79:1 vs #fff — fails WCAG AA. Use a darker tone (#066d5f ≈ 5.2:1)
         * for inline / interactive text. The brighter brand colour still drives backgrounds, badges, and large hero copy.
         */
        a.theme-color,
        a.theme-color:link,
        a.theme-color:visited,
        p.text-content a.theme-color,
        p .theme-color {
            color: #066d5f !important;
        }
        a.theme-color:hover,
        a.theme-color:focus-visible {
            color: #053d32 !important;
        }

        /* Brand (overrides Fastkart :root in style.css - loaded above) */
        :root {
            --theme-color: #0baf9a;
            --theme-color-rgb: 11, 175, 154;
            --theme-color1: #089a86;
            --theme-color1-rgb: 8, 154, 134;
            /*
             * Type system: Inter for prose / UI, Manrope for headings & CTAs.
             * Both bundle a high-quality Cyrillic cut, fixing the awkward Public Sans Cyrillic glyphs
             * that look bare-bones on Russian / Ukrainian text.
             */
            --pksova-font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
            --pksova-font-display: "Manrope", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
        }

        /*
         * Override Fastkart's hard-coded `font-family: "Public Sans", sans-serif` on body and headers
         * with site-wide Inter; promote Manrope for headings and primary nav/CTAs.
         * Use a high-specificity selector list so cascade beats the bundled style.css.
         */
        html,
        body,
        .header-2,
        .header-2 .navbar-top,
        .header-2 .top-nav,
        .header-2 .dropdown-list,
        .header-2 .about-list,
        .header-2 .main-nav,
        /* Dock sits after </header>; keep it on the same face as the rest of the storefront (Inter). */
        .mobile-menu,
        .mobile-menu ul li a,
        .mobile-menu ul li .pksova-mobile-menu-item,
        .header-3,
        .header-3 .navbar-top,
        .header-3 .top-nav,
        .header-3 .dropdown-list,
        .header-3 .about-list,
        .section-404,
        button,
        input,
        select,
        optgroup,
        textarea {
            font-family: var(--pksova-font-sans) !important;
        }

        .nav-logo img.pksova-header-emblem {
            max-height: 42px;
            width: auto;
            height: auto;
            display: block;
        }

        @media (width>=768px) {
            .nav-logo img.pksova-header-emblem {
                max-height: 48px;
            }
        }

        /*
         * Mobile top bar: absolute `left: 50%` centers in the full header width, not in the gap between
         * the menu icon and locale/currency — the emblem overlaps "Français". Use CSS Grid so column 2
         * is only the flexible middle track (true center between edges).
         */
        @media (max-width: 767.98px) {
            header.header-2 .top-nav .navbar-top {
                display: grid !important;
                grid-template-columns: auto minmax(0, 1fr) auto;
                align-items: center;
                column-gap: 0.25rem;
                position: relative;
            }

            header.header-2 .top-nav .navbar-top > .navbar-toggler {
                grid-column: 1;
                grid-row: 1;
                position: relative;
                z-index: 2;
                margin-inline-end: 0 !important;
            }

            header.header-2 .top-nav .navbar-top > a.nav-logo {
                grid-column: 2;
                grid-row: 1;
                justify-self: center;
                position: relative !important;
                left: auto !important;
                top: auto !important;
                transform: none !important;
                margin: 0 !important;
                z-index: 1;
                display: inline-flex !important;
                align-items: center;
                justify-content: center;
                max-width: 100%;
                min-width: 0;
                padding-inline: 0.125rem;
            }

            header.header-2 .top-nav .navbar-top > a.nav-logo img.pksova-header-emblem {
                max-height: 26px;
                width: auto !important;
                max-width: min(52vw, 200px);
                height: auto;
                margin: 0 !important;
                object-fit: contain;
            }

            /* Theme overlay: keep out of hit-target until opened (see script.js search-full). */
            header.header-2 .top-nav .navbar-top > .search-full {
                grid-column: 1 / -1;
                grid-row: 1;
                position: absolute !important;
                inset: 0;
                width: auto !important;
                height: auto !important;
                z-index: 4;
                pointer-events: none;
            }

            header.header-2 .top-nav .navbar-top > .search-full.open,
            header.header-2 .top-nav .navbar-top > .search-full.show {
                pointer-events: auto;
            }

            header.header-2 .top-nav .navbar-top > .middle-box {
                display: none !important;
            }

            header.header-2 .top-nav .navbar-top > .rightside-box {
                grid-column: 3;
                grid-row: 1;
                justify-self: end;
                min-width: 0;
                z-index: 2;
            }
        }

        @media (min-width: 768px) and (max-width: 991.98px) {
            header.header-2 .top-nav .navbar-top {
                display: grid !important;
                grid-template-columns: auto minmax(0, 1fr) auto auto;
                align-items: center;
                column-gap: 0.5rem;
                position: relative;
            }

            header.header-2 .top-nav .navbar-top > .navbar-toggler {
                grid-column: 1;
                grid-row: 1;
                z-index: 2;
            }

            header.header-2 .top-nav .navbar-top > a.nav-logo {
                grid-column: 2;
                grid-row: 1;
                justify-self: center;
                position: static !important;
                transform: none !important;
                margin: 0 !important;
                max-width: min(36vw, 200px);
                min-width: 0;
                z-index: 1;
            }

            header.header-2 .top-nav .navbar-top > a.nav-logo img.pksova-header-emblem {
                max-height: 30px;
                width: auto !important;
                max-width: 100%;
                height: auto;
                margin: 0 !important;
                object-fit: contain;
            }

            header.header-2 .top-nav .navbar-top > .search-full {
                grid-column: 1 / -1;
                grid-row: 1;
                position: absolute !important;
                inset: 0;
                z-index: 4;
                pointer-events: none;
            }

            header.header-2 .top-nav .navbar-top > .search-full.open,
            header.header-2 .top-nav .navbar-top > .search-full.show {
                pointer-events: auto;
            }

            header.header-2 .top-nav .navbar-top > .middle-box {
                grid-column: 3;
                grid-row: 1;
                min-width: 0;
                justify-self: end;
            }

            header.header-2 .top-nav .navbar-top > .rightside-box {
                grid-column: 4;
                grid-row: 1;
                justify-self: end;
                min-width: 0;
                z-index: 2;
            }
        }

        h1, h2, h3, h4, h5, h6,
        .h1, .h2, .h3, .h4, .h5, .h6,
        .blog-detail-contain h1,
        .blog-detail-contain h2,
        .blog-detail-contain h3,
        .blog-detail-contain h4,
        .blog-detail-contain h5,
        .blog-detail-contain h6,
        .product-detail .name,
        .product-box-4 .product-detail .name,
        .navbar .nav-link,
        .main-nav .nav-link,
        .btn,
        .button {
            font-family: var(--pksova-font-display) !important;
            letter-spacing: -0.005em;
        }

        /*
         * Fastkart section `.title` (home, related products, account, blog list): default theme uses a heavy
         * slab-like cadence. Match product-page hero headings: Manrope 600 + fluid size (real <h2> kept for SEO).
         */
        .title h2 {
            font-weight: 600 !important;
            font-size: clamp(1.12rem, 0.55rem + 1.4vw, 1.5rem) !important;
            letter-spacing: -0.02em !important;
            line-height: 1.3 !important;
            color: #212529 !important;
        }

        /* Home: category grid (replaces slick carousel — all root categories visible as tiles). */
        .pksova-home-category-grid > .col {
            display: flex;
        }

        .pksova-home-category-grid .shop-category-box {
            border-radius: 10px;
            border: 1px solid #ececec !important;
            margin: 0 !important;
            box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
            overflow: hidden;
            justify-content: flex-start !important;
            align-items: stretch !important;
            width: 100%;
        }

        /* Uniform square image area across all category tiles regardless of source aspect ratio. */
        .pksova-home-category-grid .shop-category-box > a {
            display: block;
            width: 100%;
            flex: 0 0 auto;
            align-self: stretch;
            aspect-ratio: 1 / 1;
            overflow: hidden;
            border-radius: 10px 10px 0 0;
            position: relative;
            background: #fff;
        }

        .pksova-home-category-grid .shop-category-box > a picture {
            display: block;
            width: 100%;
            height: 100%;
        }

        .pksova-home-category-grid .shop-category-box > a .pksova-home-category-img,
        .pksova-home-category-grid .shop-category-box > a > img {
            width: 100%;
            height: 100%;
            max-width: none;
            object-fit: contain !important;
            object-position: center;
            display: block;
            background: #fff;
        }

        .pksova-home-category-grid .shop-category-box .category-name {
            width: 100%;
            box-sizing: border-box;
            padding: 0.4rem 0.4rem 0.6rem;
            text-align: center;
            margin-top: auto;
            min-height: calc(2 * 1.25 * clamp(0.75rem, 0.55rem + 0.55vw, 0.9rem));
            display: flex;
            align-items: flex-start;
            justify-content: center;
        }

        .pksova-home-category-grid .shop-category-box .category-name h6,
        .pksova-home-category-grid .shop-category-box .category-name h3 {
            font-size: clamp(0.75rem, 0.55rem + 0.55vw, 0.9rem);
            line-height: 1.25;
            margin-top: 0;
            margin-bottom: 0;
            text-align: center;
            padding: 0;
        }

        /* Pull the strip closer to the intro; tighten space under the section title */
        .category-section-2 {
            margin-top: -0.5rem;
        }

        @media (min-width: 768px) {
            .category-section-2 {
                margin-top: -0.75rem;
            }
        }

        /* 8 tiles per row on xl+ for home category grid only (Bootstrap row-cols maxes at 6). Blog listing uses .pksova-blog-listing-grid → keep 6 cols. */
        @media (min-width: 1200px) {
            .pksova-home-category-grid > .col {
                flex: 0 0 auto;
                width: 12.5%;
                max-width: 12.5%;
            }

            .pksova-home-popular-grid > .col {
                flex: 0 0 auto;
                width: 12.5%;
                max-width: 12.5%;
            }
        }

        /* Home latest materials: 6-up grid aligned with home videos (image → title → date). */
        .pksova-home-materials-grid > [class*="col-"] {
            display: flex;
        }

        .pksova-home-material-tile {
            display: flex;
            flex-direction: column;
            width: 100%;
            min-height: 0;
            border-radius: 10px;
            overflow: hidden;
            border: 1px solid rgba(15, 23, 42, 0.08);
            background: linear-gradient(165deg, #fff 0%, #f8fafc 100%);
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
            transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
        }

        .pksova-home-material-tile:hover {
            border-color: rgba(var(--theme-color-rgb), 0.2);
            box-shadow: 0 6px 16px rgba(var(--theme-color-rgb), 0.08);
            transform: translateY(-1px);
        }

        .pksova-home-material-tile__image {
            display: block;
            aspect-ratio: 16 / 9;
            overflow: hidden;
            background: #e2e8f0;
        }

        .pksova-home-material-tile__image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        .pksova-home-material-tile__meta {
            padding: 0.4rem 0.5rem 0.5rem;
            flex: 1 1 auto;
            min-height: 0;
        }

        .pksova-home-material-tile__title {
            margin: 0 0 0.2rem;
            font-size: 0.72rem;
            line-height: 1.25;
            font-weight: 600;
        }

        .pksova-home-material-tile__title a {
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            word-break: break-word;
        }

        .pksova-home-material-tile__date {
            display: block;
            font-size: 0.62rem;
            line-height: 1.3;
            color: #64748b;
        }

        /*
         * Fastkart `.title { display: inline-block }` — text-align on the block alone does not center
         * the heading in the row; stretch to full container width then center the h2.
         */
        .category-section-2 > .container-fluid-lg > .title,
        section.product-section:not(.pksova-product-hero) > .container-fluid-lg > .title,
        .blog-section-home > .container-fluid-lg > .title,
        .review-section-home > .container-fluid-lg > .title,
        .pksova-home-videos-section > .container-fluid-lg > .title,
        .pksova-related-products > .container-fluid-lg > .title {
            display: block !important;
            width: 100% !important;
            text-align: center !important;
        }

        /* Home “latest materials” + reviews rhythm: tight gap under h2 before “view all” link */
        .blog-section-home > .container-fluid-lg > .title {
            margin-bottom: 0.05rem !important;
        }

        .blog-section-home > .container-fluid-lg > .title h2 {
            margin-bottom: 0 !important;
            font-size: clamp(1rem, 0.9rem + 0.35vw, 1.2rem);
        }

        .blog-section-home .pksova-home-materials-all-link {
            margin-top: 0 !important;
            margin-bottom: 0.35rem !important;
            padding-bottom: 0 !important;
            line-height: 1.2;
        }

        .category-section-2 > .container-fluid-lg > .title {
            margin-bottom: 0.4rem !important;
        }

        /* Inner-page stripe titles (shop, blog, contact, …): same weight/rhythm as product UX. */
        /*
         * Fastkart default: .breadcrumb-contain { padding: calc(26px + 14vw-slope) 0 } (~52-80px total).
         * Tight stripe like compact catalog refs (~32-40px row): minimal vertical padding + small crumbs.
         */
        .breadcrumb-section .breadcrumb-contain {
            padding-top: 0.5rem !important;
            padding-bottom: 0.5rem !important;
        }

        .breadcrumb-section .breadcrumb-contain > h2 {
            font-weight: 600 !important;
            font-size: clamp(0.95rem, 0.4rem + 0.85vw, 1.1rem) !important;
            letter-spacing: -0.02em !important;
            line-height: 1.2 !important;
            margin-bottom: 0 !important;
        }

        /*
         * Narrow viewports: the stripe <h2> repeats the active breadcrumb (e.g. Inscription / Magasin)
         * and stacks under the sticky header — hide it; nav + crumbs stay for context and SEO-ish trail.
         */
        @media (max-width: 767.98px) {
            .breadcrumb-section .breadcrumb-contain > h2 {
                display: none !important;
            }
        }

        .breadcrumb-section .breadcrumb-contain nav .breadcrumb {
            font-size: 0.8125rem;
            line-height: 1.35;
        }

        .breadcrumb-section .breadcrumb-contain nav .breadcrumb .breadcrumb-item {
            font-weight: 400 !important;
        }

        /*
         * Theme uses margin-left:auto on nav — crumbs sit on the right. Keep trail left at all breakpoints.
         */
        .breadcrumb-section .breadcrumb-contain nav {
            margin-left: 0 !important;
            margin-right: auto !important;
        }

        .breadcrumb-section .breadcrumb-contain nav .breadcrumb {
            justify-content: flex-start !important;
        }

        body {
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            text-rendering: optimizeLegibility;
            font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
            max-width: 100%;
            overflow-x: hidden;
        }

        /*
         * Horizontal overflow: avoid `overflow-x: clip` on `html` — with fixed full-bleed UI (dock, cookie)
         * Chrome mobile emulation can misalign `position: fixed; left: 0` vs the paint viewport (white strip
         * on one edge). `hidden` on the root keeps width stable without that side-effect.
         */
        html {
            margin: 0;
            padding: 0;
            width: 100%;
            max-width: 100%;
            overflow-x: hidden;
        }

        /* Decorative utility classes from Fastkart that map to fonts we no longer load */
        .text-russo,
        .text-exo {
            font-family: var(--pksova-font-display) !important;
        }

        /* Footer store line: reduce awkward wraps (nbsp keeps "46920, ES" together) */
        .footer-section-2 .footer-address .inform-box p {
            text-wrap: pretty;
        }

        /* Hide dropdown chevron on main nav links without submenus */
        .main-nav .offcanvas-body .navbar-nav > .nav-item > .nav-link::before {
            content: none !important;
            display: none !important;
        }

        /*
         * Desktop header search: allow a wider field; keep room for logo + utilities via vw cap.
         * (~25% wider cap vs min(1140px, 78vw) to use slack space before the utility cluster.)
         */
        @media (min-width: 1200px) {
            .header-2 .top-nav .middle-box {
                flex: 1 1 auto;
                min-width: 0;
            }

            .header-2 .top-nav .middle-box .searchbar-box {
                width: 100%;
                max-width: min(1425px, 97.5vw);
            }

            .header-2 .top-nav .middle-box .searchbar-box input {
                width: 100% !important;
                max-width: 100% !important;
            }

            /* Locale / currency / support / wishlist / cart - breathing room */
            header.header-2 .navbar-top .rightside-box {
                display: flex;
                align-items: center;
                flex-wrap: nowrap;
                column-gap: 0.9rem;
                flex-shrink: 0;
            }

            header.header-2 .navbar-top .rightside-box .dropdown-dollar {
                display: flex !important;
                align-items: center;
                flex-wrap: nowrap;
                column-gap: 0.75rem;
            }

            /* Locale: keep flag visible; ellipsis only the endonym (narrow viewports clip combined flag+text otherwise). */
            header.header-2 .pksova-locale-dropdown .pksova-locale-toggle-label {
                display: inline-flex;
                align-items: center;
                gap: 0.15rem;
                max-width: 100%;
                min-width: 0;
                vertical-align: middle;
            }

            header.header-2 .pksova-locale-dropdown .pksova-locale-toggle-label .pksova-locale-flag {
                flex-shrink: 0;
                line-height: 1;
            }

            header.header-2 .pksova-locale-dropdown .pksova-locale-toggle-label .pksova-locale-name {
                display: inline-block;
                max-width: 11ch;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }

            header.header-2 .pksova-currency-dropdown .pksova-currency-toggle-label {
                display: inline-block;
                max-width: 11ch;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
                vertical-align: middle;
            }

            header.header-2 .pksova-region-dropdown .pksova-region-toggle-label {
                display: inline-flex;
                align-items: center;
                gap: 0.2rem;
                max-width: none;
                vertical-align: middle;
            }

            header.header-2 .pksova-region-dropdown .pksova-region-toggle-label .pksova-region-flag {
                flex-shrink: 0;
                line-height: 1;
            }

            header.header-2 .navbar-top .rightside-box .dropdown-dollar .dropdown + .dropdown {
                margin-inline-start: 0 !important;
            }

            header.header-2 .navbar-top .rightside-box .dropdown-dollar .dropdown + .dropdown::after {
                display: none;
            }

            header.header-2 .option-list > ul {
                display: flex !important;
                flex-wrap: nowrap;
                align-items: center;
                column-gap: 0.85rem;
            }
        }

        /*
         * Mobile offcanvas: Fastkart sets header .navbar-expand-xl .offcanvas { z-index: 4 } and
         * header .offcanvas-backdrop { z-index: 6 } below 1200px - under .mobile-menu (z-index: 10),
         * so the drawer and backdrop sit behind the bottom tab bar and look "cut off".
         * Also ensure full viewport height and scrollable body when many links exist.
         */
        @media (max-width: 1199.98px) {
            header.header-2 .navbar-expand-xl .offcanvas.offcanvas-collapse {
                z-index: 1060 !important;
            }

            header.header-2 .offcanvas-backdrop {
                z-index: 1055 !important;
            }

            header.header-2 .navbar-expand-xl .offcanvas.offcanvas-start {
                top: 0 !important;
                bottom: 0 !important;
                left: 0 !important;
                height: 100vh !important;
                max-height: 100dvh !important;
                max-width: min(84vw, 340px) !important;
                overflow-x: hidden !important;
            }

            header.header-2 .navbar-expand-xl .offcanvas .pksova-offcanvas-body {
                flex: 1 1 auto !important;
                min-height: 0 !important;
                overflow-y: auto !important;
                -webkit-overflow-scrolling: touch;
                /* Fastkart sets padding:0 via `.offcanvas-collapse .offcanvas-body` rule on xl+ but
                   also via inherited mobile styles - on xs/sm the nav-links could sit flush with
                   the drawer edge and, combined with `.nav-link::before` chevrons pushed to the
                   left/right edge, shave the first Cyrillic letter from each menu item. */
                padding-inline: 24px !important;
                padding-block: 16px !important;
            }

            header.header-2 .navbar-expand-xl .offcanvas .pksova-offcanvas-body .navbar-nav {
                padding-inline: 0 !important;
                margin-inline: 0 !important;
            }

            header.header-2 .navbar-expand-xl .offcanvas .pksova-offcanvas-body .navbar-nav > .nav-item > .nav-link {
                padding-inline: 0 !important;
                margin-inline: 0 !important;
                overflow: visible;
                white-space: normal;
                overflow-wrap: anywhere;
                word-break: break-word;
            }

            /*
             * When the drawer is open the sticky top-nav stays mounted at the top of the viewport
             * and its right-side utilities (locale/currency/search/wishlist/compare/cart/account)
             * keep rendering to the right of the drawer. On narrow phones that 352px drawer leaves
             * almost no room for them, so the buttons wrap/visually overlap the drawer edge. Hide
             * the whole rightside utility stack while the drawer is visible - it is reachable
             * inside the drawer via the menu items and the bottom mobile dock anyway.
             */
            body.offcanvas-open header.header-2 .navbar-top .rightside-menu {
                visibility: hidden !important;
            }

            /*
             * Primary nav offcanvas: hide the header hamburger while the drawer is open (Fastkart-style —
             * only the drawer title + close remain; avoids the bars staying visibly over the dimmed page).
             */
            body.offcanvas-open header.header-2 .navbar-top > .navbar-toggler.pksova-primary-menu-toggler {
                opacity: 0;
                visibility: hidden;
                pointer-events: none;
                transition: opacity 0.15s ease, visibility 0.15s ease;
            }

            header.header-2 .navbar-top > .navbar-toggler.pksova-primary-menu-toggler {
                transition: opacity 0.2s ease, visibility 0.2s ease;
            }

            header.header-2 .pksova-menu-toggler-bars {
                display: block;
                color: #222;
                font-size: 1.25rem;
                line-height: 1;
            }

            header.header-2 .navbar-expand-xl .offcanvas .pksova-offcanvas-nav-header {
                align-items: center;
            }

            header.header-2 .navbar-expand-xl .offcanvas .pksova-offcanvas-nav-header .offcanvas-title {
                font-weight: 600;
                letter-spacing: 0.02em;
                text-transform: uppercase;
                font-size: 0.95rem;
            }
        }

        /* Full-width bottom cookie bar (same width feel as old top promo bar) */
        html.pksova-cookie-ok .cookie-bar-box.pksova-cookie-bar {
            display: none !important;
        }

        /* Top guest registration strip (Fastkart-style announcement) */
        html.pksova-register-prompt-off .pksova-guest-register-bar {
            display: none !important;
        }

        /* Darker brand tone (#053d32) gives WCAG AA contrast (≥ 4.5:1) for white body text. */
        .pksova-guest-register-bar {
            background: #053d32;
            color: #fff;
            font-size: calc(13px + 2 * (100vw - 320px) / 1600);
            line-height: 1.45;
            border-bottom: 1px solid rgba(255, 255, 255, 0.15);
        }

        .pksova-guest-register-bar__inner {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            gap: 0.5rem 1rem;
            padding: 0.4rem 0;
        }

        @media (min-width: 768px) {
            .pksova-guest-register-bar__inner {
                justify-content: space-between;
            }
        }

        .pksova-guest-register-bar__text {
            flex: 1 1 220px;
            text-align: center;
            max-width: 52rem;
        }

        .pksova-guest-register-bar__link {
            color: #fff;
            font-weight: 700;
            text-decoration: underline;
            text-underline-offset: 0.15em;
        }

        .pksova-guest-register-bar__link:hover {
            color: #fff;
            opacity: 0.92;
        }

        @media (min-width: 768px) {
            .pksova-guest-register-bar__text {
                text-align: start;
            }
        }

        .pksova-guest-register-bar__actions {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            flex-shrink: 0;
        }

        .cookie-bar-box.pksova-cookie-bar {
            position: fixed !important;
            left: 0 !important;
            right: 0 !important;
            bottom: 0 !important;
            top: auto !important;
            width: 100% !important;
            max-width: none !important;
            margin: 0 !important;
            border-radius: 0 !important;
            z-index: 1050;
            overflow: visible !important;
            box-shadow: 0 -4px 24px rgba(34, 34, 34, 0.12);
            /* Darker brand tone for WCAG AA contrast against white text (≥ 4.5:1). */
            background: #053d32 !important;
            color: #fff;
        }

        /* Cookie above Fastkart bottom tab bar so Home/Cart stay tappable (theme mobile-menu is z-index 2) */
        @media (max-width: 767px) {
            body {
                overflow-x: hidden !important;
            }

            /*
             * Fixed bottom tab bar (.mobile-menu): reserve space once at the footer edge so the last
             * footer row is not covered, without a tall strip of body background below the footer.
             */
            :root {
                --pksova-mobile-dock-height: 50px;
            }

            html:not(.pksova-cookie-ok) .cookie-bar-box.pksova-cookie-bar {
                bottom: var(--pksova-mobile-dock-height);
            }

            body.theme-color-2 {
                padding-bottom: 0;
            }

            footer.footer-section-2 {
                padding-bottom: calc(var(--pksova-mobile-dock-height) + env(safe-area-inset-bottom, 0px));
            }

            .mobile-menu {
                z-index: 10;
                /* Darker brand tone (#053d32) lifts white-on-bg contrast above WCAG AA (≥ 4.5:1). */
                background-color: #053d32 !important;
            }

            /* Full-bleed fixed UI: theme uses width:100%; do not cap with 100vw + clip (scrollbar / root clip quirks). */
            .mobile-menu,
            .cookie-bar-box.pksova-cookie-bar {
                left: 0 !important;
                right: 0 !important;
                width: 100% !important;
                max-width: none !important;
                box-sizing: border-box;
            }

            /* Guard rails for in-flow header/footer rows (not fixed dock — see note above). */
            .main-nav,
            .pksova-official-trust-bar,
            footer {
                max-width: 100%;
                overflow-x: hidden;
            }

            /*
             * Do not clip the first header row: overflow-x:hidden on .top-nav cut off language/currency
             * Bootstrap menus and the account hover panel so they looked buried under page text.
             */
            header.header-2 > .top-nav.top-header {
                max-width: 100%;
                overflow-x: visible;
                overflow-y: visible;
            }

            .slick-slider,
            .slick-list {
                max-width: 100% !important;
                overflow-x: clip !important;
            }

            /* Bootstrap can leave inline compensation padding after overlay transitions on some mobile browsers. */
            body:not(.offcanvas-open):not(.modal-open) {
                padding-right: 0 !important;
            }
        }

        /* Pagination (Laravel vendor view + shop grid): Fastkart-style, theme teal active state */
        .custom-pagination,
        .custom-pagination .pagination {
            flex-wrap: wrap;
            gap: calc(6px + 7 * (100vw - 320px) / 1600);
            justify-content: center;
        }

        .custom-pagination .page-item {
            border-radius: 5px;
            overflow: hidden;
        }

        .custom-pagination .page-item .page-link {
            color: #4a5568;
            border: 1px solid rgba(34, 34, 34, 0.12);
            border-radius: 5px;
            min-width: 2.35rem;
            text-align: center;
            box-shadow: none;
        }

        .custom-pagination .page-item.active .page-link {
            background-color: var(--theme-color, #0baf9a);
            border-color: var(--theme-color, #0baf9a);
            color: #fff;
        }

        .custom-pagination .page-item:not(.active) .page-link:hover {
            border-color: var(--theme-color, #0baf9a);
            color: var(--theme-color, #0baf9a);
            background-color: #fff;
        }

        .custom-pagination .page-item.disabled .page-link {
            opacity: 0.45;
        }

        .pksova-cookie-bar .pksova-cookie-inner {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem 1rem;
            padding: 0.5rem 0;
            min-height: auto;
        }

        .pksova-cookie-bar .pksova-cookie-main {
            display: flex;
            align-items: center;
            gap: 0.65rem;
            flex: 1 1 220px;
            min-width: 0;
        }

        .pksova-cookie-bar .pksova-cookie-icon {
            width: 36px;
            height: 36px;
            object-fit: contain;
            flex-shrink: 0;
        }

        .pksova-cookie-bar .pksova-cookie-title {
            font-size: 0.95rem;
            font-weight: 700;
            margin: 0;
            line-height: 1.2;
            color: #fff;
        }

        .pksova-cookie-bar .pksova-cookie-text {
            font-size: 0.8rem;
            margin: 0;
            line-height: 1.35;
            color: rgba(255, 255, 255, 0.95);
        }

        .pksova-cookie-bar .pksova-cookie-actions {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 0.5rem;
            flex-shrink: 0;
        }

        .pksova-cookie-bar .privacy-button {
            color: #fff !important;
            border: 1px solid rgba(255, 255, 255, 0.6) !important;
            background: transparent !important;
            font-size: 0.8rem;
            padding: 0.35rem 0.75rem;
            text-decoration: none !important;
        }

        .pksova-cookie-bar .privacy-button:hover {
            background: rgba(255, 255, 255, 0.15) !important;
            color: #fff !important;
        }

        .pksova-cookie-bar .js-cookie-consent-ok {
            background: #fff !important;
            /* Darker teal so the OK label still passes contrast against the white pill. */
            color: #053d32 !important;
            border: none !important;
            font-weight: 700;
            font-size: 0.85rem;
            padding: 0.4rem 1.25rem;
            white-space: nowrap;
        }

        .pksova-cookie-bar .js-cookie-consent-ok:hover {
            filter: brightness(0.95);
        }

        /* Header account block (Fastkart index-3 style) - top bar + main nav */
        .option-list .header-account-item .delivery-login-box,
        .pksova-nav-account .delivery-login-box {
            cursor: pointer;
            gap: 10px;
            align-items: center;
        }

        .option-list .header-account-item button.delivery-login-box {
            display: flex;
        }

        /* Header Support: phone icon + single label, dropdown = messengers + call */
        .option-list .pksova-header-support-dropdown .delivery-login-box {
            cursor: pointer;
            align-items: center;
            gap: 10px;
        }

        .option-list .pksova-header-support-dropdown button.delivery-login-box {
            display: flex;
        }

        .option-list .pksova-header-support-dropdown .delivery-icon svg {
            width: 22px;
            height: 22px;
            stroke: #222;
        }

        .option-list .pksova-header-support-dropdown .delivery-detail h6 {
            margin: 0;
            font-size: 13px;
            line-height: 1.2;
            font-weight: 600;
        }

        .option-list .pksova-header-support-dropdown .dropdown-toggle::after {
            margin-inline-start: 0.2rem;
            align-self: center;
            margin-top: 0;
            margin-bottom: 0;
        }

        /* Support vs wishlist/cart: same vertical axis (Fastkart .option-list>ul is flex without align-items) */
        header.header-2 .rightside-box .option-list > ul {
            align-items: center;
        }

        header.header-2 .option-list > ul > li.right-side {
            display: flex;
            align-items: center;
        }

        .option-list .pksova-header-support-dropdown {
            display: flex;
            align-items: center;
        }

        .option-list .pksova-header-support-dropdown .dropdown-toggle.delivery-login-box {
            min-height: calc(35px + 11 * (100vw - 320px) / 1600);
            align-items: center;
        }

        .option-list .pksova-header-support-dropdown .delivery-icon {
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            line-height: 0;
        }

        .option-list .pksova-header-support-dropdown .delivery-detail {
            display: flex;
            align-items: center;
        }

        /* Contact + footer: messenger / phone icon chips */
        .pksova-support-channel-icons__link {
            display: inline-flex;
            width: 2.35rem;
            height: 2.35rem;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: rgba(var(--theme-color-rgb), 0.12);
            color: var(--theme-color, #0baf9a);
            text-decoration: none;
            transition: background-color 0.2s ease, color 0.2s ease;
        }

        .pksova-support-channel-icons__link:hover {
            background: var(--theme-color, #0baf9a);
            color: #fff;
        }

        .footer-section-2 .footer-address .pksova-support-channel-icons {
            margin-top: 0.35rem;
        }

        /*
         * Fastkart .footer-address li targets ALL nested <li>, including icons inside
         * .pksova-support-channel-icons - that adds margin, flex, and width:100% on <a>,
         * collapsing/overlapping the messenger row. Scope resets to the icon list only.
         */
        .footer-section-2 .footer-address li.pksova-footer-support-icons-row {
            display: block;
            width: 100%;
        }

        .footer-section-2 .footer-address .pksova-support-channel-icons > li {
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 0 !important;
        }

        .footer-section-2 .footer-address .pksova-support-channel-icons > li > a.pksova-support-channel-icons__link {
            display: inline-flex !important;
            width: auto !important;
            max-width: none;
        }

        /* Footer newsletter consent: tighter copy on phones so two lines fit; link inherits size */
        @media (max-width: 767.98px) {
            .pksova-footer-newsletter .pksova-footer-newsletter-consent-label {
                font-size: 0.625rem;
                line-height: 1.3;
                hyphens: auto;
                -webkit-hyphens: auto;
                overflow-wrap: anywhere;
            }

            .pksova-footer-newsletter .pksova-footer-newsletter-consent-label a {
                font-size: inherit;
            }
        }

        /* Header user dropdown: logout <button> must match theme links (same as .user-box-name li a) */
        header .onhover-dropdown .onhover-div-login .user-box-name li .pksova-header-user-menu-btn {
            color: #222;
            display: block;
            position: relative;
            width: 100%;
            margin: 0;
            padding: 0;
            border: 0;
            background: transparent;
            font-family: inherit;
            font-size: inherit;
            font-weight: inherit;
            line-height: inherit;
            letter-spacing: inherit;
            text-align: start;
            text-decoration: none;
            cursor: pointer;
            -webkit-appearance: none;
            appearance: none;
        }

        header .onhover-dropdown .onhover-div-login .user-box-name li .pksova-header-user-menu-btn::after {
            content: "";
            position: absolute;
            width: 0;
            height: 4px;
            bottom: 2px;
            left: 0;
            background-color: var(--theme-color);
            opacity: 0.3;
            border-radius: 50px;
            transition: all 0.3s ease-in-out;
            z-index: -1;
        }

        header .onhover-dropdown .onhover-div-login .user-box-name li .pksova-header-user-menu-btn:hover::after {
            width: 40%;
        }

        /* Product card grid: add-to-cart matches Fastkart .buy-button (avoid Bootstrap .btn border/padding clash) */
        .product-box-4 .product-detail .addtocart_btn .buy-button.add-to-cart-btn {
            border: none;
            box-shadow: none;
            line-height: 1;
        }

        .product-box-4 .product-detail .addtocart_btn .buy-button.add-to-cart-btn .icli {
            font-size: 18px;
            color: inherit;
        }

        /* Product card wishlist: <button> instead of uncrawlable javascript: links (Lighthouse SEO) */
        .product-image .option li .pksova-product-option-btn {
            position: relative;
            z-index: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            height: 100%;
            min-height: 34px;
            padding: 0;
            margin: 0;
            border: 0;
            background: transparent;
            /* Match Fastkart .option li a .icli — inherit can pick a light/white text color from a parent. */
            color: #000;
            line-height: 1;
        }

        .product-image .option li .pksova-product-option-btn svg {
            width: 16px;
            height: 16px;
        }

        /* Font Awesome on listing cards (no Feather replace needed after AJAX shop refresh). */
        .product-image .option li .pksova-product-option-btn i[class*="fa-"] {
            font-size: 15px;
            line-height: 1;
            color: var(--theme-color);
        }

        .product-image .option li .pksova-product-option-btn.add-to-wishlist-btn.in-wishlist i.fa-heart {
            color: #dc3545;
        }

        .product-image .option li .pksova-product-option-btn.add-to-compare-btn.in-compare i[class*="fa-"] {
            color: var(--theme-color);
            opacity: 0.95;
        }

        /* Mobile bottom nav: category button matches theme .mobile-menu ul li a (Fastkart) */
        .mobile-menu ul li .pksova-mobile-menu-item {
            display: block;
            width: 100%;
            padding: 0;
            margin: 0;
            border: 0;
            background: transparent;
            font: inherit;
            cursor: pointer;
            text-align: center;
        }

        .mobile-menu ul li .pksova-mobile-menu-item .icli {
            display: inline-block;
            margin: 0 auto;
            font-size: calc(20px + 2 * (100vw - 320px) / 1600);
            color: #fff;
        }

        .mobile-menu ul li .pksova-mobile-menu-item span {
            display: block;
            color: #fff;
        }

        .mobile-menu ul li .pksova-mobile-menu-item:hover,
        .mobile-menu ul li .pksova-mobile-menu-item:focus-visible {
            color: #222;
        }

        .mobile-menu ul li .pksova-mobile-menu-item:hover .icli,
        .mobile-menu ul li .pksova-mobile-menu-item:hover span,
        .mobile-menu ul li .pksova-mobile-menu-item:focus-visible .icli,
        .mobile-menu ul li .pksova-mobile-menu-item:focus-visible span {
            color: #222;
        }

        /*
         * Bottom dock: Fastkart uses body size (~14px) and 13px only at 2xs; keep labels readable
         * and the same sans stack as the site (see --pksova-font-sans on .mobile-menu above).
         */
        @media (max-width: 767.98px) {
            .mobile-menu ul {
                width: 100% !important;
                max-width: none !important;
            }

            .mobile-menu ul li {
                flex: 1 1 0;
                min-width: 0;
                width: auto !important;
                max-width: 100%;
            }

            .mobile-menu ul li > a,
            .mobile-menu ul li > .pksova-mobile-menu-item {
                font-size: clamp(11px, 3vw, 13px) !important;
                line-height: 1.2;
                letter-spacing: normal;
                font-weight: 400;
                padding-inline: 0;
            }

            .mobile-menu ul li a .icli,
            .mobile-menu ul li .pksova-mobile-menu-item .icli {
                font-size: clamp(17px, 4.4vw, 19px) !important;
            }

            .mobile-menu ul li a span,
            .mobile-menu ul li .pksova-mobile-menu-item span {
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
                max-width: 100%;
            }
        }

        /* Bottom dock: badges anchor to the tap target; compare uses Font Awesome like the header. */
        .mobile-menu ul li > a {
            position: relative;
        }

        .mobile-menu .pksova-mobile-dock-compare > a > i.fa-solid {
            display: block;
            margin: 0 auto;
            font-size: clamp(17px, 4.4vw, 19px) !important;
            line-height: 1;
            color: #fff;
        }

        .mobile-menu .pksova-mobile-dock-compare.pksova-nav-has-items > a > i.fa-solid,
        .mobile-menu .pksova-mobile-dock-wishlist.pksova-nav-has-items > a .icli,
        .mobile-menu .pksova-mobile-dock-wishlist.pksova-nav-has-items > a span,
        .mobile-menu .pksova-mobile-dock-compare.pksova-nav-has-items > a span {
            color: #ff5252 !important;
        }

        header.header-2 .pksova-header-wishlist-slot.pksova-nav-has-items a.header-icon .icli,
        header.header-2 .pksova-header-compare-slot.pksova-nav-has-items a.header-icon i {
            color: #dc3545 !important;
        }

        .option-list .header-account-item .delivery-icon,
        .pksova-nav-account .delivery-icon,
        .pksova-support-hotline .delivery-icon {
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .option-list .header-account-item .delivery-icon svg,
        .pksova-nav-account .delivery-icon svg,
        .pksova-support-hotline .delivery-icon svg {
            width: 22px;
            height: 22px;
            stroke: #222;
        }

        .option-list .header-account-item .delivery-detail h6,
        .pksova-nav-account .delivery-detail h6 {
            margin: 0;
            font-size: 12px;
            line-height: 1.2;
            font-weight: 400;
            color: #777;
        }

        .option-list .header-account-item .delivery-detail h5,
        .pksova-nav-account .delivery-detail h5 {
            margin: 0;
            font-size: 15px;
            line-height: 1.2;
            font-weight: 600;
            color: #222;
        }

        .pksova-main-nav-right {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            justify-content: flex-end;
            gap: 0.35rem 0.75rem;
        }

        .pksova-support-hotline {
            gap: 10px;
            padding-right: 0.75rem;
            margin-right: 0.25rem;
            border-right: 1px solid #ececec;
        }

        .pksova-support-hotline .delivery-detail h6 {
            margin: 0;
            font-size: 12px;
            line-height: 1.2;
            font-weight: 600;
        }

        .pksova-support-hotline .delivery-detail h5 {
            margin: 0;
            font-size: 15px;
            line-height: 1.2;
            font-weight: 600;
            color: #222;
        }

        .pksova-nav-account {
            padding-right: 0.75rem;
            margin-right: 0.25rem;
            border-right: 1px solid #ececec;
        }

        @media (max-width: 991.98px) {
            .pksova-nav-account {
                border-right: none;
                padding-right: 0;
                margin-right: 0;
            }
        }

        /* All categories mega menu: subcategories (+ optional nested categories), no products */
        header.header-2 .category-dropdown .onhover-category-list {
            position: relative;
        }

        /*
         * Theme mobile drawer: width grows with vw but closed `left` stays -320px → a few pixels of the
         * white panel peek into the viewport (looks like a left stripe). Tie off-screen offset to width.
         */
        header.header-2 .header-nav-left .category-dropdown {
            --pksova-cat-drawer-w: min(340px, calc(100vw - 2rem));
            width: var(--pksova-cat-drawer-w);
        }

        header.header-2 .category-dropdown .category-list {
            padding: 12px 14px;
            gap: 10px !important;
        }

        header.header-2 .category-dropdown .category-list li .category-name h6 {
            font-size: 0.9375rem;
            line-height: 1.3;
        }

        header.header-2 .category-dropdown .category-list li .category-name img {
            width: 18px;
            height: 18px;
        }

        header.header-2 .onhover-category-list .onhover-category-box.pksova-mega-flyout {
            /* Compact flyout: single column; wide enough for product titles */
            width: min(360px, calc(100vw - 2rem));
            padding: 12px 14px;
            /* --pksova-mega-max-h set on hover so panel fits below list row (theme uses top:0 on li) */
            max-height: min(520px, var(--pksova-mega-max-h, 75vh));
            height: auto;
            overflow-x: hidden;
            overflow-y: auto;
            overscroll-behavior-y: contain;
            -webkit-overflow-scrolling: touch;
            display: grid;
            grid-template-columns: minmax(0, 1fr);
            gap: 0.4rem 0.55rem;
            align-content: start;
        }

        header.header-2 .pksova-mega-flyout .pksova-mega-column-full {
            grid-column: 1 / -1;
        }

        header.header-2 .pksova-mega-flyout .category-title-box {
            margin-bottom: 0.35rem;
        }

        header.header-2 .pksova-mega-flyout .category-title-box h5 {
            font-size: 0.9rem;
        }

        /* Product rows: thumbnail + title (override Fastkart bullet + wide links) */
        header.header-2 .pksova-mega-flyout .pksova-mega-product-list li.pksova-mega-product {
            list-style: none;
        }

        header.header-2 .pksova-mega-flyout .pksova-mega-product-list li.pksova-mega-product::after {
            display: none !important;
            content: none !important;
        }

        /* Theme: .onhover-category-box ul { display:flex; flex-wrap:wrap } stretches rows; force a compact vertical list */
        .onhover-category-box.pksova-mega-flyout ul.pksova-mega-product-list {
            display: block !important;
            flex-wrap: unset !important;
            gap: 0 !important;
        }

        .onhover-category-box.pksova-mega-flyout ul.pksova-mega-product-list > li.pksova-mega-product {
            width: 100% !important;
        }

        header.header-2 .pksova-mega-flyout .pksova-mega-product-link {
            display: flex !important;
            align-items: center;
            gap: 0.35rem;
            margin-left: 0 !important;
            padding: 0.5rem 0;
            min-height: 2.5rem;
            text-decoration: none;
        }

        [dir="rtl"] header.header-2 .pksova-mega-flyout .pksova-mega-product-link {
            margin-right: 0 !important;
            margin-left: auto !important;
        }

        /* ~line-height for 0.8125rem / 1.35 name; beats Fastkart .category-list li a img { width/height: 22px } */
        header.header-2 .pksova-mega-flyout .pksova-mega-product-thumb {
            flex: 0 0 18px;
            width: 18px;
            height: 18px;
            min-width: 18px;
            min-height: 18px;
            border-radius: 3px;
            overflow: hidden;
            background: #f3f4f6;
            border: 1px solid #e8e8e8;
            align-self: center;
        }

        header.header-2 .pksova-mega-flyout .pksova-mega-product-img,
        .header-2 .header-nav-left .category-dropdown .category-list li .pksova-mega-flyout li.pksova-mega-product a img.pksova-mega-product-img {
            width: 100% !important;
            height: 100% !important;
            max-width: none !important;
            max-height: none !important;
            object-fit: cover !important;
            object-position: center !important;
            display: block;
        }

        header.header-2 .pksova-mega-flyout .pksova-mega-product-name {
            flex: 1;
            min-width: 0;
            font-size: 0.8125rem;
            line-height: 1.45;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        header.header-2 .pksova-mega-flyout li.pksova-mega-product-fallback::after {
            display: none !important;
            content: none !important;
        }

        header.header-2 .pksova-mega-flyout li.pksova-mega-product-fallback a {
            margin-left: 0 !important;
            font-size: 0.8125rem;
            display: flex;
            align-items: center;
            min-height: 2.5rem;
            padding: 0.5rem 0;
        }

        [dir="rtl"] header.header-2 .pksova-mega-flyout li.pksova-mega-product-fallback a {
            margin-right: 0 !important;
        }

        header.header-2 .pksova-mega-flyout .pksova-mega-parent-link {
            grid-column: 1 / -1;
        }

        header.header-2 .pksova-mega-flyout ul.pksova-mega-nested-cat-list {
            display: block !important;
            flex-wrap: unset !important;
            gap: 0 !important;
            margin: 0.35rem 0 0.6rem;
            padding-inline-start: 1rem;
            list-style: disc;
        }

        header.header-2 .pksova-mega-flyout ul.pksova-mega-nested-cat-list li {
            margin-bottom: 0.2rem;
        }

        header.header-2 .pksova-mega-flyout ul.pksova-mega-nested-cat-list li::after {
            display: none !important;
            content: none !important;
        }

        header.header-2 .pksova-mega-flyout ul.pksova-mega-nested-cat-list a {
            text-decoration: none;
        }

        /* Mobile category drawer: collapse sub-panels until row tap (overrides theme md "always open") */
        @media (max-width: 767.98px) {
            header.header-2 .category-dropdown .category-list .onhover-category-list > .onhover-category-box.pksova-mega-flyout {
                display: none !important;
                width: 100%;
                max-height: none;
            }

            header.header-2 .category-dropdown .category-list .onhover-category-list.pksova-cat-item-expanded > .onhover-category-box.pksova-mega-flyout {
                display: block !important;
            }

            header.header-2 .category-dropdown .category-list li .category-name .according-menu {
                font-weight: 700;
                font-size: 1.1rem;
                line-height: 1;
                min-width: 1.25rem;
                text-align: center;
            }
        }

        /* Mobile all-categories drawer: scroll the list (theme uses 100vh but no inner overflow) */
        @media (max-width: 767.98px) {
            header.header-2 .header-nav-left .category-dropdown:not(.show) {
                left: calc(-1 * var(--pksova-cat-drawer-w)) !important;
            }

            [dir="rtl"] header.header-2 .header-nav-left .category-dropdown:not(.show) {
                left: unset !important;
                right: calc(-1 * var(--pksova-cat-drawer-w)) !important;
            }

            header.header-2 .header-nav-left .category-dropdown.show {
                left: 0 !important;
                /* Raised with :has() rules below so drawer beats locale/currency (top row up to ~1270). */
                z-index: 1300 !important;
            }

            [dir="rtl"] header.header-2 .header-nav-left .category-dropdown.show {
                right: 0 !important;
                z-index: 1300 !important;
            }

            header.header-2 .header-nav-left .category-dropdown {
                display: flex !important;
                flex-direction: column;
                flex-wrap: nowrap;
                overflow: hidden;
                height: 100vh;
                max-height: 100dvh;
            }

            header.header-2 .header-nav-left .category-dropdown .category-title {
                flex: 0 0 auto;
            }

            header.header-2 .header-nav-left .category-dropdown .category-list {
                flex: 1 1 auto;
                min-height: 0;
                display: flex !important;
                flex-direction: column;
                flex-wrap: nowrap;
                overflow-x: hidden !important;
                overflow-y: auto !important;
                -webkit-overflow-scrolling: touch;
                overscroll-behavior-y: contain;
                touch-action: pan-y;
                align-content: flex-start;
            }

            /*
             * Category drawer lives under .main-nav (stacking ~1060) while locale/currency sit in .top-nav
             * at 1100 with children up to 1270 — so the drawer must not stay under that row. When open,
             * lower the first header strip and lift the main-nav row above it; lift dimmer between them.
             */
            header.header-2:has(.category-dropdown.show) > .top-nav.top-header {
                z-index: 1000 !important;
            }

            header.header-2:has(.category-dropdown.show) > .container-fluid-lg {
                position: relative;
                z-index: 1320 !important;
            }

            body:has(header.header-2 .category-dropdown.show) .bg-overlay.show {
                z-index: 1310 !important;
            }
        }

        /*
         * Fastkart sets .header-2 .rightside-menu .dropdown-dollar { display: none } below 992px,
         * which hides language and currency on phones. Show them again with compact layout.
         */
        @media (max-width: 991.98px) {
            header.header-2 .navbar-top .rightside-menu .dropdown-dollar {
                display: flex !important;
                flex-wrap: nowrap;
                align-items: center;
                align-self: center;
                margin-inline-end: 2px;
                flex-shrink: 0;
            }

            header.header-2 .navbar-top .rightside-menu .dropdown-dollar .dropdown .dropdown-toggle {
                font-size: 0.8125rem;
                gap: 0.15rem;
            }

            header.header-2 .navbar-top .rightside-menu .dropdown-dollar .dropdown .dropdown-toggle i {
                margin-inline-start: 0.25rem !important;
                font-size: 0.65rem;
            }

            header.header-2 .navbar-top .rightside-menu .dropdown-dollar .dropdown + .dropdown {
                margin-inline-start: 0.65rem !important;
            }

            header.header-2 .navbar-top .rightside-menu .dropdown-dollar .dropdown + .dropdown::after {
                inset-inline-start: -5px;
            }

            [dir="rtl"] header.header-2 .navbar-top .rightside-menu .dropdown-dollar .dropdown + .dropdown::after {
                inset-inline-start: unset;
                inset-inline-end: -5px;
            }

            header.header-2 .navbar-top .rightside-menu .dropdown-dollar .dropdown-menu {
                max-height: min(70vh, 320px);
                overflow-y: auto;
            }
        }

        /*
         * "All categories" column + mega panel: must paint above in-page content (filter cards,
         * review cards, tooltips) on routes that use elevated local stacking.
         */
        header.header-2 .main-nav .header-nav-left {
            position: relative;
            z-index: 1060;
        }

        /*
         * Fastkart sticky `.top-nav` uses z-index: 9; second row (main-nav) uses 1060 above — without a
         * higher z-index on the top row, locale/currency menus render under that strip. Lift first row only.
         */
        header.header-2 > .top-nav.top-header {
            z-index: 1100 !important;
        }

        /*
         * Locale/currency/support/account: Fastkart uses z-index:1 on `.dropdown-dollar .dropdown` and
         * z-index:1001 on `.onhover-div` — both sat below `.header-nav-left` (1060), so menus painted
         * under the second header row and page blocks on mobile. Stack the whole utility column higher.
         */
        header.header-2 .navbar-top .rightside-box.rightside-menu {
            position: relative;
            z-index: 1250;
        }

        header.header-2 .navbar-top .rightside-menu .dropdown-dollar .pksova-locale-dropdown,
        header.header-2 .navbar-top .rightside-menu .dropdown-dollar .pksova-currency-dropdown,
        header.header-2 .navbar-top .rightside-menu .pksova-region-dropdown,
        header.header-2 .navbar-top .rightside-menu .option-list .pksova-header-support-dropdown,
        header.header-2 .navbar-top .rightside-menu .option-list > ul > li.onhover-dropdown {
            z-index: 1260;
        }

        header.header-2 .navbar-top .rightside-menu .dropdown-dollar .pksova-locale-dropdown .dropdown-menu,
        header.header-2 .navbar-top .rightside-menu .dropdown-dollar .pksova-currency-dropdown .dropdown-menu,
        header.header-2 .navbar-top .rightside-menu .pksova-region-dropdown .dropdown-menu,
        header.header-2 .navbar-top .rightside-menu .option-list .dropdown-menu {
            background-color: #fff;
            z-index: 1270;
        }

        header.header-2 .navbar-top .rightside-menu .option-list .onhover-dropdown .onhover-div,
        header.header-2 .navbar-top .rightside-menu .option-list .onhover-dropdown .onhover-div-login {
            z-index: 1270 !important;
        }

        /*
         * Bootstrap 5 modals: default backdrop 1050 / dialog 1055 — below header utility stacking
         * (1060–1320). Raise the modal stack while open so the dimmer fully covers support, wishlist,
         * compare, and cart. (Lowering header alone is fragile with sticky layers + nested z-index.)
         */
        body.modal-open .modal-backdrop {
            z-index: 1380 !important;
        }

        body.modal-open .modal {
            z-index: 1390 !important;
        }

        /*
         * Optional: keep header strips under the default modal layer when a modal is open (legacy;
         * primary fix is the elevated .modal-backdrop / .modal above).
         */
        body.modal-open header.header-2 > .top-nav.top-header {
            z-index: 1040 !important;
        }

        body.modal-open header.header-2 > .container-fluid-lg .row .col-12 > .main-nav {
            position: relative;
            z-index: 1040 !important;
        }

        @media (max-width: 1199.98px) {
            body.modal-open header.header-2 .navbar-expand-xl .offcanvas.offcanvas-collapse {
                z-index: 1040 !important;
            }

            body.modal-open header.header-2 .offcanvas-backdrop {
                z-index: 1035 !important;
            }
        }

        header.header-2 .navbar-top .rightside-menu .pksova-region-dropdown .dropdown-item.active,
        header.header-2 .navbar-top .rightside-menu .pksova-region-dropdown .dropdown-item:active {
            background-color: var(--theme-color, #0baf9a);
            color: #fff;
        }

        header.header-2 .navbar-top .rightside-menu .pksova-region-dropdown .dropdown-item.pksova-region-dropdown-item {
            display: flex;
            align-items: center;
            justify-content: center;
            min-width: 2.75rem;
            padding-inline: 0.65rem;
            font-size: 1.35rem;
            line-height: 1;
        }

        header.header-2 .navbar-top .rightside-menu .pksova-region-dropdown .pksova-region-dropdown-toggle {
            border: 0;
            background: transparent;
            padding: 0;
            display: inline-flex;
            align-items: center;
            gap: 0.2rem;
            color: inherit;
            box-shadow: none;
        }

        header.header-2 .navbar-top .rightside-menu .pksova-region-dropdown .pksova-region-dropdown-toggle::after {
            display: none;
        }

        header.header-2 .navbar-top .rightside-menu .pksova-region-dropdown .pksova-region-dropdown-toggle .fa-angle-down {
            font-size: 0.65rem;
            opacity: 0.75;
        }

        header.header-2 .navbar-top .rightside-menu .pksova-region-dropdown-menu {
            min-width: auto;
            padding: 0.35rem;
        }

        @media (max-width: 575.98px) {
            header.header-2 .navbar-top .rightside-menu .dropdown-dollar .pksova-locale-toggle-label .pksova-locale-name {
                max-width: 4.5rem;
                display: inline-block;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
                vertical-align: bottom;
            }

            header.header-2 .navbar-top .rightside-menu .dropdown-dollar .pksova-currency-toggle-label {
                max-width: 4.5rem;
                display: inline-block;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
                vertical-align: bottom;
            }

            header.header-2 .navbar-top .rightside-menu .pksova-region-dropdown .pksova-region-toggle-label {
                max-width: none;
            }
        }

        /*
         * Fastkart (xl and up): theme sets .option-list > ul > li:nth-of-type(5n-3) { display: none }
         * (positions 2, 7, 12, …). With Support + search + wishlist + compare + cart + region + account,
         * the account <li> lands on position 7 and is hidden — only the region toggle stays at the far right.
         * Force profile + admin region preview to always show; region stays left of account in the markup.
         */
        @media (min-width: 1200px) {
            header.header-2 .rightside-menu .option-list > ul > li.header-account-item {
                display: flex !important;
            }

            header.header-2 .rightside-menu .option-list > ul > li.pksova-region-nav-item {
                display: flex !important;
            }
        }

        /*
         * Fastkart (max-width: 767px): .option-list > ul > li:not(:nth-last-of-type(5n-5)) { display: none }
         * leaves one "slot" from the end — with PKSOVA's extra Support row that slot was search; search is
         * hidden below md (bottom dock), so no account/login icon appeared. Always show account on phones.
         */
        @media (max-width: 767.98px) {
            header.header-2 .rightside-menu .option-list > ul > li.header-account-item {
                display: flex !important;
            }

            header.header-2 .rightside-menu .option-list > ul > li.pksova-region-nav-item {
                display: flex !important;
            }

            /*
             * Wishlist + Compare are intentionally NOT shown in the mobile header anymore:
             *   - Wishlist is reachable from the bottom dock (.mobile-menu)
             *   - Compare is hidden on mobile entirely (compare table doesn't fit a phone screen)
             * Bootstrap utilities `d-none d-md-block` on the <li>s now do the work without an override.
             */
        }

        /*
         * Home + storefront: Fastkart .arrow-slider / .arrow-slider-2 place .slick-prev/.slick-next with a
         * negative top (~-28px), pulling the white control tiles into the block above (store intro). On
         * narrow viewports this looks like a grey strip eating the first characters per line.
         */
        @media (max-width: 991.98px) {
            .arrow-slider.slick-slider .slick-prev,
            .arrow-slider.slick-slider .slick-next,
            .arrow-slider-2.slick-slider .slick-prev,
            .arrow-slider-2.slick-slider .slick-next {
                top: 10px !important;
                -webkit-transform: none !important;
                transform: none !important;
            }
        }

        /*
         * Slick arrows share the slider row with circular category tiles; hover scale + track transforms
         * can paint over the white control buttons. Keep arrows above slides (prev slightly above next).
         */
        .arrow-slider.slick-slider .slick-prev,
        .arrow-slider-2.slick-slider .slick-prev {
            z-index: 52 !important;
        }

        .arrow-slider.slick-slider .slick-next,
        .arrow-slider-2.slick-slider .slick-next {
            z-index: 51 !important;
        }

        /* SEO home intro: justified body copy */
        .pksova-home-intro-panel .home-store-intro p {
            text-align: justify;
            hyphens: auto;
            -webkit-hyphens: auto;
        }

        @media (max-width: 575.98px) {
            .pksova-home-intro-panel .home-store-intro p {
                text-align: left;
            }
        }

        /* Blog listing: horizontal card with visible photo (left), text (right), 2 columns on lg+ */
        /* Theme uses .blog-section .blog-list .blog-image { width: 38–45% } for another layout; force
           a fixed narrow column here so listing thumbnails stay small (flex + !important beat leftovers). */
        .blog-section.blog-section-list .pksova-blog-list-card {
            display: flex !important;
            flex-direction: row !important;
            align-items: stretch;
            height: 100%;
            min-height: 110px;
        }

        .blog-section.blog-section-list .pksova-blog-list-card .pksova-blog-list-media.blog-box-image {
            flex: 0 0 130px !important;
            width: 130px !important;
            max-width: 130px !important;
            min-width: 0 !important;
            overflow: hidden;
            border-radius: 10px 0 0 10px;
        }

        .blog-section.blog-section-list .pksova-blog-list-card .pksova-blog-list-media .blog-image {
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            min-height: 110px;
            height: 100%;
            box-sizing: border-box;
        }

        .blog-section.blog-section-list .pksova-blog-list-img {
            width: 100% !important;
            max-width: 100% !important;
            height: 100%;
            min-height: 110px;
            object-fit: cover;
            display: block;
        }

        .blog-section.blog-section-list .pksova-blog-list-card .blog-detail {
            flex: 1 1 0 !important;
            display: flex;
            flex-direction: column;
            min-width: 0 !important;
            margin-top: 0;
        }

        .blog-section.blog-section-list .pksova-blog-list-card .blog-detail h3 {
            font-size: calc(16px + 3 * (100vw - 320px) / 1600);
            line-height: 1.35;
            font-weight: 600;
            margin-bottom: 0.35rem;
        }

        .blog-section.blog-section-list .pksova-blog-list-card:hover .blog-box-image a {
            transform: none;
        }

        @media (max-width: 575.98px) {
            .blog-section.blog-section-list .pksova-blog-list-card {
                flex-direction: column !important;
                min-height: 0;
            }

            .blog-section.blog-section-list .pksova-blog-list-card .pksova-blog-list-media.blog-box-image {
                width: 100% !important;
                max-width: none !important;
                flex: 0 0 auto !important;
                border-radius: 10px 10px 0 0;
            }

            .blog-section.blog-section-list .pksova-blog-list-card .pksova-blog-list-media .blog-image {
                min-height: 160px;
            }

            .blog-section.blog-section-list .pksova-blog-list-img {
                min-height: 160px;
            }
        }

        /*
         * Blog list + article (not homepage grid): on narrow viewports extra minimum inset helps justified
         * article copy; homepage uses theme .container-fluid-lg only (same as Fastkart demo).
         */
        @media (max-width: 767.98px) {
            section.blog-section:not(.blog-section-home) > .container-fluid-lg {
                padding-left: max(1.125rem, calc(12px + 148 * (100vw - 320px) / 1600), env(safe-area-inset-left, 0px));
                padding-right: max(1.125rem, calc(12px + 148 * (100vw - 320px) / 1600), env(safe-area-inset-right, 0px));
            }

            section.blog-section .blog-detail-contain.pksova-blog-article {
                overflow-wrap: anywhere;
                word-break: break-word;
            }

            section.blog-section .blog-detail-contain.pksova-blog-article p,
            section.blog-section .blog-detail-contain.pksova-blog-article li {
                margin-inline-start: 0;
                padding-inline-start: 0;
                text-indent: 0;
            }
        }

        /* Home blog strip + listing: compact cards (listing: 6 cols xl+ via .pksova-blog-listing-grid). Equal card heights within the grid row. */
        .pksova-home-blog-grid > [class*="col-"] {
            display: flex;
            min-width: 0;
        }

        .blog-section-home .blog-box-compact {
            margin-bottom: 0;
            display: flex;
            flex-direction: column;
            height: 100%;
            width: 100%;
        }

        .blog-section-home .blog-box-compact .blog-box-image {
            border-radius: 8px;
            overflow: hidden;
            aspect-ratio: 4 / 3;
            flex-shrink: 0;
        }

        .blog-section-home .blog-box-compact .blog-box-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .blog-section-home .blog-box-compact .blog-detail {
            padding-top: 8px;
            display: flex;
            flex-direction: column;
            flex-grow: 1;
            min-height: 0;
        }

        .blog-section-home .blog-box-compact .blog-detail > a {
            flex: 1 1 auto;
            min-height: 0;
        }

        .blog-section-home .blog-box-compact .blog-detail .blog-list {
            margin-top: auto;
            flex-shrink: 0;
            padding-top: 4px;
        }

        .blog-section-home .blog-box-compact .blog-detail h6 {
            font-size: 0.8125rem;
            line-height: 1.35;
            font-weight: 600;
            margin: 0;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .blog-section-home .blog-box-compact .blog-list span {
            font-size: 0.7rem;
            color: #777;
        }

        /* Hot Deals: modal trigger in main nav (desktop), top bar (mobile/tablet), or offcanvas menu */
        .pksova-hot-deals-trigger {
            border: none;
            line-height: inherit;
            border-radius: 999px;
            padding: 0.42rem 1rem 0.42rem 0.85rem;
            background: linear-gradient(
                135deg,
                #2dd4bf 0%,
                var(--theme-color, #0baf9a) 45%,
                #0e7490 100%
            ) !important;
            box-shadow: 0 2px 10px rgba(var(--theme-color-rgb), 0.32);
            transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
        }

        .pksova-hot-deals-trigger:hover {
            transform: translateY(-1px);
            filter: brightness(1.04);
            box-shadow: 0 4px 14px rgba(var(--theme-color-rgb), 0.38);
        }

        .pksova-hot-deals-trigger:focus-visible {
            outline: 2px solid #0f172a;
            outline-offset: 2px;
        }

        .pksova-hot-deals-trigger .fire img {
            margin-top: 0;
            width: 1.15rem;
            height: auto;
        }

        .pksova-hot-deals-trigger__label {
            font-size: 0.875rem;
            font-weight: 700;
            white-space: nowrap;
        }

        /* Desktop: pill in the second nav row (Fastkart hides `.header-2 .right-nav` below 1367px). */
        @media (max-width: 1366.98px) {
            .pksova-main-nav-right {
                display: none !important;
            }
        }

        /* Mobile/tablet top bar: compact pill in the utility cluster (outside option-list). */
        .pksova-header-hot-deals-top {
            display: flex;
            align-items: center;
            flex-shrink: 0;
            margin-inline-end: 0.35rem;
        }

        header.header-2 .navbar-top .rightside-box.rightside-menu {
            display: flex;
            align-items: center;
            flex-wrap: nowrap;
            gap: 0.15rem;
        }

        .pksova-hot-deals-trigger--top {
            padding: 0.32rem 0.65rem 0.32rem 0.55rem;
            gap: 0.25rem;
            box-shadow: 0 1px 6px rgba(var(--theme-color-rgb), 0.28);
        }

        .pksova-hot-deals-trigger--top .fire img {
            width: 1rem;
        }

        .pksova-hot-deals-trigger--top .pksova-hot-deals-trigger__label {
            font-size: 0.72rem;
            font-weight: 700;
            max-width: 5.5rem;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        @media (max-width: 575.98px) {
            .pksova-hot-deals-trigger--top {
                width: 2.25rem;
                height: 2.25rem;
                padding: 0;
                justify-content: center;
                border-radius: 50%;
            }

            .pksova-hot-deals-trigger--top .pksova-hot-deals-trigger__label {
                display: none;
            }

            .pksova-hot-deals-trigger--top .fire img {
                width: 1.1rem;
            }
        }

        /* Offcanvas menu: first row, full-width pill. */
        .pksova-offcanvas-hot-deals {
            margin-bottom: 0.35rem;
            padding-bottom: 0.35rem;
            border-bottom: 1px solid #ececec;
        }

        .pksova-hot-deals-trigger--nav {
            width: 100%;
            justify-content: center;
            margin: 0.15rem 0 0.35rem;
        }

        .pksova-hot-deals-modal .modal-dialog {
            max-width: min(420px, calc(100vw - 1.5rem));
        }

        .pksova-hot-deals-modal__content {
            border-radius: 12px;
            border: none;
            box-shadow: 0 12px 40px rgba(34, 34, 34, 0.15);
        }

        .pksova-hot-deals-modal__content .modal-header {
            align-items: flex-start;
        }

        .pksova-hot-deals-modal__close {
            width: 36px;
            height: 36px;
            min-width: 36px;
            border-radius: 6px;
            border: none;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 1rem;
        }

        .pksova-hot-deals-modal__list {
            display: flex;
            flex-direction: column;
            gap: 0.65rem;
        }

        .pksova-hot-deals-modal__row {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.65rem 0.75rem;
            border-radius: 10px;
            transition: background .15s ease, transform .15s ease;
        }

        .pksova-hot-deals-modal__row:hover {
            filter: brightness(0.98);
        }

        .pksova-hot-deals-modal__row--1 {
            background: rgba(var(--theme-color-rgb), 0.1);
        }

        .pksova-hot-deals-modal__row--2 {
            background: rgba(255, 182, 193, 0.35);
        }

        .pksova-hot-deals-modal__row--3 {
            background: rgba(255, 183, 77, 0.22);
        }

        .pksova-hot-deals-modal__thumb {
            flex: 0 0 72px;
            width: 72px;
            height: 72px;
            border-radius: 8px;
            overflow: hidden;
            background: #f3f4f6;
            border: 1px solid rgba(0, 0, 0, 0.06);
        }

        .pksova-hot-deals-modal__thumb img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .pksova-hot-deals-modal__thumb-placeholder {
            display: block;
            width: 100%;
            height: 100%;
            background: linear-gradient(135deg, #e8e8e8, #f5f5f5);
        }

        .pksova-hot-deals-modal__body {
            min-width: 0;
            flex: 1;
        }

        .pksova-hot-deals-modal__name {
            font-size: 0.9rem;
            font-weight: 600;
            line-height: 1.35;
            color: #222;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            margin-bottom: 0.25rem;
        }

        .pksova-hot-deals-modal__meta {
            font-size: 0.875rem;
        }

        /* Product cards: cap title height so grid rows align (theme default is 1 line) */
        .product-box-4 .product-detail > a {
            display: block;
        }

        .product-box-4 .product-detail a .name {
            display: -webkit-box !important;
            -webkit-box-orient: vertical !important;
            -webkit-line-clamp: 3 !important;
            line-clamp: 3 !important;
            overflow: hidden !important;
            width: 100% !important;
            word-break: break-word;
            white-space: normal !important;
            line-height: 1.35 !important;
            /* Reserve three lines so short titles keep price rows aligned */
            min-height: calc(1.35em * 3);
        }

        /* Account sidebar: cover strip (Fastkart cover-img.jpg not in repo) */
        .profile-box .cover-image.pksova-account-cover-strip {
            min-height: 150px;
            background-color: #f8f8f8;
        }

        @media (max-width: 991.98px) {
            .profile-box .cover-image.pksova-account-cover-strip {
                min-height: 120px;
            }
        }

        /* Official distributor - full-width bar under header (all viewports) */
        .pksova-official-trust-bar {
            background: linear-gradient(90deg, #053d32 0%, #0a8f7c 42%, var(--theme-color, #0baf9a) 50%, #0a8f7c 58%, #053d32 100%);
            color: #fff;
            border-bottom: 1px solid rgba(255, 255, 255, 0.14);
            box-shadow: 0 2px 8px rgba(var(--theme-color-rgb), 0.18);
        }

        .pksova-official-trust-inner {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.6rem;
            flex-wrap: nowrap;
            padding: 0.55rem 0.75rem;
            max-width: 100%;
        }

        .pksova-official-trust-line {
            line-height: 1.4;
            font-size: clamp(0.88rem, 2.2vw, 1.05rem);
            text-align: left;
            min-width: 0;
        }

        .pksova-official-trust-title {
            font-weight: 700;
            letter-spacing: 0.02em;
        }

        @media (max-width: 575.98px) {
            .pksova-official-trust-inner {
                flex-wrap: wrap;
                align-items: center;
                justify-content: center;
            }

            .pksova-official-trust-line {
                flex: 1 1 auto;
                min-width: 0;
                text-align: center;
            }

            .pksova-official-trust-check {
                margin-top: 0;
            }
        }

        .pksova-official-trust-sub {
            font-weight: 500;
            opacity: 0.96;
            font-size: 0.97em;
        }

        .pksova-official-trust-sep {
            opacity: 0.75;
        }

        .pksova-official-trust-check {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            font-size: 1.35rem;
            line-height: 1;
            color: #d4fff6;
            filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.12));
        }

        .pksova-official-trust-check i {
            display: block;
        }

        /*
         * Breadcrumbs layout: site-wide rule.
         * Default Fastkart theme uses flex with `nav { margin-left: auto }` which puts
         * the title on the left and breadcrumbs on the right. We invert that:
         * breadcrumbs always on the left, title centered. CSS Grid keeps both
         * vertically aligned without absolute positioning. Below 768px the stripe
         * <h2> is hidden (duplicate of the active crumb) — see rule earlier in this block.
         */
        @media (min-width: 768px) {
            .breadcrumb-section .breadcrumb-contain {
                display: grid !important;
                grid-template-columns: 1fr auto 1fr;
                grid-template-rows: auto;
                align-items: center;
                column-gap: 1rem;
                text-align: left;
            }

            .breadcrumb-section .breadcrumb-contain h2 {
                grid-column: 2;
                grid-row: 1;
                margin: 0;
                text-align: center;
            }

            .breadcrumb-section .breadcrumb-contain nav {
                grid-column: 1;
                grid-row: 1;
                margin: 0 !important;
                justify-self: start;
            }

            .breadcrumb-section .breadcrumb-contain nav .breadcrumb {
                justify-content: flex-start !important;
                margin: 0;
            }
        }

        /* Phone widget: country select and national input same vertical size (theme skews select vs input). */
        .phone-with-country .pksova-phone-with-country-control {
            min-height: 2.75rem;
            padding-top: 0.5rem;
            padding-bottom: 0.5rem;
            line-height: 1.5;
            box-sizing: border-box;
        }
        /* Theme centers .product-image img at ~70% / 80% / 100% width — anchor badge to photo, not outer tile. */
        .pksova-product-listing-badge {
            position: absolute;
            top: 0;
            right: 0;
            left: auto !important;
            object-position: right top;
            width: clamp(42px, 22%, 78px);
            height: auto !important;
            max-height: 32%;
            object-fit: contain;
            pointer-events: none;
            z-index: 4;
            transform: translateX(clamp(10px, 2.8vw, 18px));
        }

        /* Wide ribbon badge (limited edition) — keep small in listing grids */
        img.pksova-product-listing-badge[src*="lim_edition"] {
            width: auto !important;
            max-width: clamp(34px, 12%, 48px);
            max-height: clamp(12px, 4.5%, 18px);
        }

        .product-box-4 .product-image .pksova-product-listing-badge {
            right: max(4px, calc(15% - 6px));
        }

        @media (max-width: 480px) {
            .product-box-4 .product-image .pksova-product-listing-badge {
                right: max(3px, calc(10% - 6px));
            }
        }

        @media (max-width: 360px) {
            .product-box-4 .product-image .pksova-product-listing-badge {
                right: clamp(0px, 1vw, 8px);
            }
        }

        /* shop-new.tsx-style card thumbs (flex-centered image) — hug the photo edge */
        .product-card__thumb .pksova-product-listing-badge {
            inset-inline-end: clamp(-2px, -0.2vw, 2px);
            inset-block-start: 0;
            transform: translateX(clamp(14px, 3.2vw, 22px));
        }

        /*
         * Listing cards (.product-box-4 in partials/product-card): pin price + cart to tile bottom even when
         * titles wrap to multiple lines. Fastkart anchors .buy-button absolute to .product-detail, which
         * shifts with taller headings.
         */
        .pksova-product-card-root.h-100 {
            height: 100%;
            min-width: 0;
        }

        /*
         * Columns must be column-direction flex: with row + one child, Flexbox sizes the child to
         * intrinsic (content) width, so tiles sit narrow in the middle and “gutters” look huge.
         */
        .pksova-shop-product-grid > .col {
            display: flex;
            flex-direction: column;
            align-items: stretch;
            min-width: 0;
        }

        .pksova-shop-product-grid > .col > .pksova-product-card-root {
            width: 100%;
            min-width: 0;
        }

        /*
         * Listing thumb: square frame, inner padding (no rounding “eating” the art), cover fill
         * (no tall grey bands from contain + oversize min-height).
         */
        .pksova-shop-product-grid .product-box-4 .product-image.product-image-2 {
            position: relative;
            width: 100% !important;
            aspect-ratio: 1 / 1;
            box-sizing: border-box;
            padding: 0 !important;
            border-radius: 10px;
            background: #f3f4f6;
            flex-shrink: 0;
            margin-left: auto !important;
            margin-right: auto !important;
            border: none !important;
            overflow: hidden;
            /* Stack anchor + hover controls so absolute children get a non-zero box in all flex engines */
            display: block;
        }

        /* Override Bootstrap .position-relative utility (which is !important) on the link wrapper */
        .pksova-shop-product-grid .product-box-4 .product-image.product-image-2 > a {
            position: absolute !important;
            display: block !important;
            top: clamp(7px, 2vmin, 12px);
            left: clamp(7px, 2vmin, 12px);
            right: clamp(7px, 2vmin, 12px);
            bottom: clamp(7px, 2vmin, 12px);
            overflow: hidden;
            border-radius: 6px;
            z-index: 2;
        }

        .pksova-shop-product-grid .product-image-2 .pksova-product-card-main-img,
        .pksova-shop-product-grid .pksova-product-card-main-img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            max-width: none !important;
            margin: 0 !important;
            object-fit: cover;
            object-position: center;
            z-index: 1;
            display: block !important;
        }

        .pksova-shop-product-grid .product-image.product-image-2 .option {
            z-index: 4;
        }

        .pksova-shop-product-grid .product-image-2 .pksova-product-listing-badge {
            z-index: 5;
        }

        .pksova-shop-product-grid .pksova-product-card-layout.product-box-4 {
            display: flex;
            flex-direction: column;
            height: 100%;
            width: 100%;
            min-width: 0;
            min-height: 0;
        }

        .pksova-product-card-layout.product-box-4 .product-detail {
            flex: 1 1 auto;
            display: flex;
            flex-direction: column;
            min-height: 0;
            min-width: 0;
        }

        .pksova-product-card-layout .pksova-product-card-footer {
            margin-top: auto;
            display: flex;
            flex-direction: row;
            align-items: center;
            justify-content: space-between;
            gap: 0.35rem;
            flex-wrap: nowrap;
            min-width: 0;
            position: relative;
        }

        .pksova-product-card-layout .pksova-product-card-footer .price.theme-color {
            flex: 1 1 auto;
            min-width: 0;
            margin-bottom: 0 !important;
            text-align: left;
            align-self: stretch;
            flex-wrap: wrap;
        }

        .pksova-product-card-layout .pksova-product-card-footer .addtocart_btn {
            flex: 0 0 auto;
        }

        .pksova-product-card-layout .pksova-product-card-footer .buy-button,
        .pksova-product-card-layout .product-detail .buy-button.add-button.add-to-cart-btn {
            position: relative !important;
            bottom: auto !important;
            right: auto !important;
            left: auto !important;
            width: 35px !important;
            height: 35px !important;
            margin-top: 0 !important;
            flex-shrink: 0;
        }

        /*
         * Storefront: centered section headings + blog tile captions; short grid rows centered.
         */
        .blog-section.blog-section-home > .container-fluid-lg > .title,
        .blog-section.blog-section-home > .container-fluid-lg > .title h2,
        .blog-section.blog-section-list .title.blog-list-header,
        .blog-section.blog-section-list .title.blog-list-header h2 {
            text-align: center !important;
        }

        .category-section-2 > .container-fluid-lg > .title,
        .category-section-2 > .container-fluid-lg > .title h2 {
            text-align: center !important;
        }

        .review-section-home.review-section-home--compact > .container-fluid-lg > .title,
        .review-section-home.review-section-home--compact > .container-fluid-lg > .title h2 {
            text-align: center !important;
        }

        .pksova-related-products > .container-fluid-lg > .title,
        .pksova-related-products > .container-fluid-lg > .title h2 {
            text-align: center !important;
        }

        .pksova-product-videos > .container-fluid-lg > .title,
        .pksova-product-videos > .container-fluid-lg > .title h2 {
            text-align: center !important;
        }

        .blog-section.blog-section-home .blog-box-compact .blog-detail,
        .blog-section.blog-section-list .blog-box-compact .blog-detail,
        .blog-section.blog-section-home .blog-box-compact .blog-detail h6,
        .blog-section.blog-section-list .blog-box-compact .blog-detail h6,
        .blog-section.blog-section-list .blog-box-compact .blog-detail .pksova-blog-dir-parent,
        .blog-section.blog-section-home .blog-box-compact .blog-detail .blog-list,
        .blog-section.blog-section-list .blog-box-compact .blog-detail .blog-list {
            text-align: center;
        }

        .pksova-home-blog-grid.row,
        .pksova-home-category-grid.row {
            justify-content: center;
        }

        .blog-section.blog-section-list .pksova-blog-search-toolbar {
            justify-content: center !important;
        }

        .blog-section.blog-section-list .custom-pagination.pksova-blog-pagination ul.pagination,
        body .pksova-blog-pagination .pagination {
            justify-content: center;
            flex-wrap: wrap;
            width: 100%;
        }

        .pksova-home-videos-section--compact > .container-fluid-lg > .title,
        .pksova-home-videos-section--compact > .container-fluid-lg > .title h2 {
            text-align: center !important;
        }

        .pksova-home-videos-section--compact > .container-fluid-lg > .row {
            justify-content: center;
        }

/* Homepage: compact centered KFS hero with catalog / consult choice */
.pksova-home-hero--compact {
    padding-top: 0.35rem !important;
    padding-bottom: 0.25rem !important;
}

.pksova-home-hero__strip {
    display: flex;
    justify-content: center;
    max-width: 46rem;
    margin-left: auto;
    margin-right: auto;
    padding: clamp(0.72rem, 0.58rem + 0.55vw, 0.95rem) clamp(1rem, 0.85rem + 0.45vw, 1.15rem);
    border-radius: 16px;
    background: linear-gradient(165deg, #fff 0%, #f8fafc 55%, #f0fdfa 100%);
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05);
}

.pksova-home-hero__content {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    text-align: center;
}

.pksova-home-hero__eyebrow {
    display: inline-block;
    margin: 0 0 0.45rem;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    font-size: clamp(0.62rem, 0.58rem + 0.15vw, 0.72rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #0e7490;
    background: rgba(var(--theme-color-rgb), 0.1);
    border: 1px solid rgba(var(--theme-color-rgb), 0.16);
}

.pksova-home-hero__title {
    margin: 0;
    font-size: clamp(1.28rem, 0.95rem + 1.2vw, 1.82rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: #0f172a;
}

.pksova-home-hero__lead {
    margin: 0.35rem auto 0;
    max-width: 32rem;
    font-size: clamp(0.8rem, 0.76rem + 0.2vw, 0.92rem);
    line-height: 1.4;
    color: #64748b;
}

.pksova-home-hero__divider {
    width: 2.75rem;
    height: 3px;
    margin: 0.5rem auto 0.6rem;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--theme-color, #0baf9a) 0%, rgba(var(--theme-color-rgb), 0.35) 100%);
}

.pksova-home-hero__choices {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
    gap: 0.4rem;
}

.pksova-home-intro-panel {
    position: relative;
    max-width: 46rem;
    margin-left: auto;
    margin-right: auto;
    padding: clamp(0.65rem, 0.55rem + 0.35vw, 0.85rem) clamp(0.9rem, 0.75rem + 0.45vw, 1.1rem);
    border-radius: 14px;
    background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
    border: 1px solid rgba(15, 23, 42, 0.07);
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
    text-align: center;
}

.pksova-home-intro-panel::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 2.75rem;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--theme-color, #0baf9a) 0%, rgba(var(--theme-color-rgb), 0.35) 100%);
}

.pksova-home-intro-panel .home-store-intro {
    color: #475569;
    font-size: clamp(0.82rem, 0.78rem + 0.12vw, 0.9rem);
    line-height: 1.55;
}

.pksova-home-intro-panel .home-store-intro p {
    margin-bottom: 0.55rem;
}

.pksova-home-intro-panel .home-store-intro p:last-child {
    margin-bottom: 0;
}

.pksova-home-section-head {
    margin-bottom: 0.75rem;
}

.pksova-home-section-head__link {
    margin-top: 0.35rem;
    line-height: 1.2;
}

.category-section-2 > .container-fluid-lg > .pksova-home-section-head,
.blog-section-home > .container-fluid-lg > .pksova-home-section-head,
.pksova-home-videos-section > .container-fluid-lg > .pksova-home-section-head,
.review-section-home > .container-fluid-lg > .pksova-home-section-head {
    display: block;
    width: 100%;
}

.pksova-home-videos-section .pksova-video-grid-tile-wrap {
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: linear-gradient(165deg, #fff 0%, #f8fafc 100%);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.pksova-home-videos-section .pksova-video-grid-tile-wrap:hover {
    border-color: rgba(var(--theme-color-rgb), 0.2);
    box-shadow: 0 6px 18px rgba(var(--theme-color-rgb), 0.08);
    transform: translateY(-1px);
}

.pksova-home-videos-section .pksova-product-video-card {
    background: transparent;
}

.pksova-home-videos-section .pksova-product-video-meta {
    color: #0f172a;
}

.pksova-home-videos-section .pksova-product-video-meta h3,
.pksova-home-videos-section .pksova-product-video-meta h3 a {
    color: #0f172a;
}

.pksova-home-category-grid .shop-category-box {
    border-radius: 12px;
    border: 1px solid rgba(15, 23, 42, 0.07) !important;
    background: linear-gradient(165deg, #fff 0%, #f8fafc 100%);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.pksova-home-category-grid .shop-category-box:hover {
    border-color: rgba(var(--theme-color-rgb), 0.2) !important;
    box-shadow: 0 6px 16px rgba(var(--theme-color-rgb), 0.08);
    transform: translateY(-2px);
}

.blog-section-home .blog-box-compact {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    overflow: hidden;
    background: linear-gradient(165deg, #fff 0%, #f8fafc 100%);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.blog-section-home .blog-box-compact:hover {
    border-color: rgba(var(--theme-color-rgb), 0.2);
    box-shadow: 0 6px 16px rgba(var(--theme-color-rgb), 0.08);
    transform: translateY(-2px);
}

.pksova-home-hero__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 6.75rem;
    padding: 0.34rem 0.9rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
    white-space: nowrap;
    border: none;
    transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

.pksova-home-hero__btn:hover {
    transform: translateY(-1px);
    filter: brightness(1.03);
}

.pksova-home-hero__btn:focus-visible {
    outline: 2px solid #0f172a;
    outline-offset: 2px;
}

.pksova-home-hero__btn--catalog {
    color: #fff !important;
    background: linear-gradient(135deg, #fb923c 0%, #ea580c 100%);
    box-shadow: 0 2px 8px rgba(234, 88, 12, 0.28);
}

.pksova-home-hero__btn--catalog:hover {
    box-shadow: 0 4px 12px rgba(234, 88, 12, 0.35);
}

.pksova-home-hero__btn--consult {
    color: #fff !important;
    background: linear-gradient(135deg, #34d399 0%, #16a34a 100%);
    box-shadow: 0 2px 8px rgba(22, 163, 74, 0.28);
}

.pksova-home-hero__btn--consult:hover {
    box-shadow: 0 4px 12px rgba(22, 163, 74, 0.35);
}

.pksova-home-hero__btn--advisor {
    color: #fff !important;
    background: linear-gradient(135deg, #22d3ee 0%, #0e7490 100%);
    box-shadow: 0 2px 8px rgba(14, 116, 144, 0.28);
    cursor: pointer;
}

.pksova-home-hero__btn--advisor:hover {
    box-shadow: 0 4px 12px rgba(14, 116, 144, 0.35);
}

/* KFS online consultant chat */
html.pksova-kfs-consultant-open {
    overflow: hidden;
}

.pksova-kfs-consultant[hidden] {
    display: none !important;
}

.pksova-kfs-consultant {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    pointer-events: none;
}

.pksova-kfs-consultant__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.52);
    backdrop-filter: blur(2px);
    pointer-events: auto;
}

.pksova-kfs-consultant__panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: min(100%, 26rem);
    max-height: min(34rem, calc(100vh - 2rem));
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 20px 56px rgba(15, 23, 42, 0.24);
    overflow: hidden;
    pointer-events: auto;
}

.pksova-kfs-consultant__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.85rem 1rem;
    background: linear-gradient(135deg, #ecfeff 0%, #f0fdfa 100%);
    border-bottom: 1px solid rgba(14, 116, 144, 0.12);
}

.pksova-kfs-consultant__title {
    margin: 0;
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.35;
    color: #0f172a;
}

.pksova-kfs-consultant__subtitle {
    margin: 0.15rem 0 0;
    font-size: 0.72rem;
    line-height: 1.35;
    color: #64748b;
}

.pksova-kfs-consultant__close {
    border: none;
    background: transparent;
    font-size: 1.35rem;
    line-height: 1;
    color: #64748b;
    cursor: pointer;
    padding: 0 0.15rem;
}

.pksova-kfs-consultant__messages {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    background: #f8fafc;
}

.pksova-kfs-consultant__msg {
    max-width: 92%;
    padding: 0.55rem 0.7rem;
    border-radius: 12px;
    font-size: 0.82rem;
    line-height: 1.45;
    white-space: pre-wrap;
    word-break: break-word;
}

.pksova-kfs-consultant__msg a {
    color: #0e7490;
    text-decoration: underline;
    text-underline-offset: 0.12em;
    font-weight: 600;
}

.pksova-kfs-consultant__msg a:hover {
    color: #155e75;
}

.pksova-kfs-consultant__cta {
    margin-top: 0.75rem;
    padding: 0.7rem 0.75rem;
    border-radius: 12px;
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
    border: 1px solid #e2e8f0;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.pksova-kfs-consultant__cta-lead,
.pksova-kfs-consultant__cta-text {
    margin: 0 0 0.55rem;
    font-size: 0.74rem;
    line-height: 1.45;
    color: #475569;
    font-weight: 500;
}

.pksova-kfs-consultant__cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.pksova-kfs-consultant__cta .pksova-kfs-consultant__messenger,
.pksova-kfs-consultant__messenger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.42rem;
    min-height: 2.1rem;
    padding: 0.38rem 0.78rem;
    border-radius: 10px;
    font-size: 0.74rem;
    font-weight: 700;
    text-decoration: none !important;
    line-height: 1;
    border: none;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
    transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

.pksova-kfs-consultant__messenger:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.14);
    filter: brightness(1.03);
}

.pksova-kfs-consultant__messenger-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.pksova-kfs-consultant__messenger-icon svg {
    display: block;
    width: 1rem;
    height: 1rem;
}

.pksova-kfs-consultant__messenger-label {
    white-space: nowrap;
}

.pksova-kfs-consultant__messenger--whatsapp {
    background: #25d366;
    color: #fff !important;
}

.pksova-kfs-consultant__messenger--whatsapp:hover {
    background: #20bd5a;
    color: #fff !important;
}

.pksova-kfs-consultant__messenger--telegram {
    background: #229ed9;
    color: #fff !important;
}

.pksova-kfs-consultant__messenger--telegram:hover {
    background: #1d8fc4;
    color: #fff !important;
}

.pksova-kfs-consultant--answered .pksova-kfs-consultant__form {
    display: none;
}

.pksova-kfs-consultant__msg--user a {
    color: #ecfeff;
}

.pksova-kfs-consultant__msg--assistant {
    align-self: flex-start;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: #0f172a;
}

.pksova-kfs-consultant__msg--user {
    align-self: flex-end;
    background: linear-gradient(135deg, #0e7490 0%, #0891b2 100%);
    color: #fff;
}

.pksova-kfs-consultant__msg--error {
    border-color: #fecaca;
    background: #fef2f2;
    color: #991b1b;
}

.pksova-kfs-consultant__msg--typing {
    min-width: 3.5rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.pksova-kfs-consultant__typing {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    min-height: 0.75rem;
}

.pksova-kfs-consultant__typing span {
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 999px;
    background: #94a3b8;
    animation: pksova-kfs-consultant-typing 1.2s ease-in-out infinite;
}

.pksova-kfs-consultant__typing span:nth-child(2) {
    animation-delay: 0.15s;
}

.pksova-kfs-consultant__typing span:nth-child(3) {
    animation-delay: 0.3s;
}

@keyframes pksova-kfs-consultant-typing {
    0%, 60%, 100% {
        transform: translateY(0);
        opacity: 0.45;
    }

    30% {
        transform: translateY(-0.28rem);
        opacity: 1;
    }
}

.pksova-kfs-consultant__form {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    padding: 0.65rem 0.75rem 0.75rem;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    background: #fff;
}

.pksova-kfs-consultant__input {
    width: 100%;
    resize: vertical;
    min-height: 2.5rem;
    max-height: 6rem;
    padding: 0.5rem 0.65rem;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    font-size: 0.82rem;
    line-height: 1.4;
}

.pksova-kfs-consultant__input:focus {
    outline: 2px solid #0891b2;
    outline-offset: 1px;
    border-color: #0891b2;
}

.pksova-kfs-consultant__send {
    align-self: flex-end;
    border: none;
    border-radius: 999px;
    padding: 0.4rem 1rem;
    font-size: 0.8rem;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, #22d3ee 0%, #0e7490 100%);
    cursor: pointer;
}

.pksova-kfs-consultant__send:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

@media (max-width: 575.98px) {
    .pksova-kfs-consultant {
        padding: 0.75rem;
        align-items: center;
    }

    .pksova-kfs-consultant__panel {
        width: 100%;
        max-height: min(34rem, calc(100vh - 1.5rem));
        border-radius: 16px;
    }

    .pksova-home-hero__choices {
        width: 100%;
    }

    .pksova-home-hero__btn {
        flex: 1 1 7rem;
        min-width: 0;
    }
}

.pksova-section-title {
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    font-weight: 800;
    color: #0f172a;
}

.pksova-section-title::after {
    content: "";
    display: block;
    width: 2.75rem;
    height: 3px;
    margin: 0.45rem auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--theme-color, #0baf9a) 0%, rgba(var(--theme-color-rgb), 0.35) 100%);
}

.pksova-home-trust__grid,
.pksova-home-expertise__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

@media (max-width: 991.98px) {
    .pksova-home-trust__grid,
    .pksova-home-expertise__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.pksova-home-trust-card,
.pksova-home-expertise-card {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
    min-height: 100%;
    border-radius: 14px;
    padding: 1.05rem 1.15rem;
    background: linear-gradient(165deg, #fff 0%, #f8fafc 100%);
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.pksova-home-trust-card:hover,
.pksova-home-expertise-card:hover {
    border-color: rgba(var(--theme-color-rgb), 0.22);
    box-shadow: 0 8px 22px rgba(var(--theme-color-rgb), 0.1);
    transform: translateY(-2px);
}

.pksova-home-card-head {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.pksova-home-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    margin-top: 0;
    border-radius: 12px;
    font-size: 1rem;
    flex-shrink: 0;
}

.pksova-home-card-icon--teal {
    background: rgba(var(--theme-color-rgb), 0.12);
    color: var(--theme-color, #0baf9a);
}

.pksova-home-card-icon--green {
    background: rgba(22, 163, 74, 0.12);
    color: #15803d;
}

.pksova-home-card-icon--sky {
    background: rgba(14, 165, 233, 0.12);
    color: #0284c7;
}

.pksova-home-card-icon--amber {
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
}

.pksova-home-trust-card h3,
.pksova-home-expertise-card h3 {
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 2.5rem;
    display: flex;
    align-items: center;
    font-size: clamp(0.94rem, 0.88rem + 0.25vw, 1.02rem);
    font-weight: 700;
    color: #0f172a;
    line-height: 1.3;
    hyphens: auto;
    overflow-wrap: anywhere;
}

.pksova-home-trust-card p,
.pksova-home-expertise-card p {
    margin: 0;
    padding-top: 0.15rem;
    font-size: clamp(0.88rem, 0.84rem + 0.15vw, 0.96rem);
    line-height: 1.6;
    color: #475569;
    hyphens: auto;
    overflow-wrap: anywhere;
}

.pksova-home-expertise__panel {
    padding: clamp(1rem, 0.75rem + 1vw, 1.35rem);
    border-radius: 16px;
    background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
    border: 1px solid rgba(15, 23, 42, 0.07);
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
}

.pksova-home-expertise-card {
    background: #fff;
}

.pksova-home-expertise__lead {
    max-width: 42rem;
    margin-top: 0.35rem;
}

.pksova-home-expertise__links {
    margin-top: 1.1rem;
    margin-bottom: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.55rem;
}

.pksova-home-expertise__links a {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.42rem 0.95rem;
    border-radius: 999px;
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--theme-color, #0baf9a);
    text-decoration: none;
    background: rgba(var(--theme-color-rgb), 0.08);
    border: 1px solid rgba(var(--theme-color-rgb), 0.16);
    transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.pksova-home-expertise__links a i {
    font-size: 0.78rem;
    opacity: 0.9;
}

.pksova-home-expertise__links a:hover {
    background: rgba(var(--theme-color-rgb), 0.14);
    border-color: rgba(var(--theme-color-rgb), 0.28);
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(var(--theme-color-rgb), 0.12);
}

@media (max-width: 575.98px) {
    .pksova-home-trust__grid,
    .pksova-home-expertise__grid {
        grid-template-columns: 1fr;
    }

    .pksova-home-trust-card,
    .pksova-home-expertise-card {
        padding: 0.85rem 0.9rem;
    }

    .pksova-home-card-icon {
        width: 2.35rem;
        height: 2.35rem;
        font-size: 0.95rem;
    }

    .pksova-home-expertise__links a {
        flex: 1 1 calc(50% - 0.3rem);
        justify-content: center;
        min-width: 7.5rem;
    }
}

.pksova-home-expertise.section-b-space {
    padding-bottom: 0.35rem !important;
}

.pksova-home-faq.section-b-space {
    padding-top: 0.15rem !important;
}

.pksova-home-faq__list {
    max-width: 52rem;
    margin: 0 auto;
}

.pksova-home-faq__item {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    padding: 0.75rem 0.95rem;
    margin-bottom: 0.55rem;
    background: linear-gradient(165deg, #fff 0%, #f8fafc 100%);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.pksova-home-faq__item summary {
    cursor: pointer;
    font-weight: 700;
    color: #0f172a;
}

.pksova-home-faq__item p {
    margin: 0.65rem 0 0;
    font-size: clamp(0.86rem, 0.82rem + 0.12vw, 0.94rem);
    line-height: 1.6;
    color: #475569;
}

.home-store-intro {
    font-size: 0.98rem;
    line-height: 1.6;
}

/* Product SKU element picker (vigo 5/8 variants) */
.product-section .right-box-contain .price-rating.pksova-product-price-row {
    justify-content: flex-start !important;
    width: auto;
}

.pksova-product-price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
    margin-bottom: 0.15rem;
}

.pksova-product-sku-picker {
    margin-left: 0.15rem;
}

.pksova-product-price-row .pksova-product-hero__price {
    margin-bottom: 0 !important;
}

.pksova-product-sku-picker__select {
    width: auto;
    min-width: 7.25rem;
    max-width: min(100%, 11rem);
    padding: 0.4rem 2.1rem 0.4rem 0.85rem;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, 0.14);
    background-color: #fff;
    font-size: 0.875rem;
    font-weight: 600;
    color: #0f172a;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.pksova-product-sku-picker__select:focus {
    border-color: rgba(11, 175, 154, 0.65);
    box-shadow: 0 0 0 0.2rem rgba(11, 175, 154, 0.15);
}

@media (max-width: 575.98px) {
    .pksova-product-price-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.5rem;
    }

    .pksova-product-sku-picker__select {
        max-width: 100%;
    }
}
