/* ── FontAwesome Kit Font Display Swap Overrides ── */
@font-face {
    font-family: 'Font Awesome 5 Pro';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url("https://kit-pro.fontawesome.com/releases/v5.15.4/webfonts/pro-fa-solid-900-5.0.0.woff2") format("woff2");
}

@font-face {
    font-family: 'Font Awesome 5 Pro';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url("https://kit-pro.fontawesome.com/releases/v5.15.4/webfonts/pro-fa-solid-900-5.0.11.woff2") format("woff2");
}

@font-face {
    font-family: 'Font Awesome 5 Pro';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url("https://kit-pro.fontawesome.com/releases/v5.15.4/webfonts/pro-fa-light-300-5.0.0.woff2") format("woff2");
}

@font-face {
    font-family: 'Font Awesome 5 Pro';
    font-style: normal;
    font-weight: 100;
    font-display: swap;
    src: url("https://kit-pro.fontawesome.com/releases/v5.15.4/webfonts/pro-fa-regular-100-5.10.2.woff2") format("woff2");
}

@font-face {
    font-family: 'Font Awesome 5 Brands';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("https://kit-pro.fontawesome.com/releases/v5.15.4/webfonts/pro-fa-brands-400-5.0.0.woff2") format("woff2");
}

@font-face {
    font-family: 'Font Awesome 5 Brands';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("https://kit-pro.fontawesome.com/releases/v5.15.4/webfonts/pro-fa-brands-400-5.8.2.woff2") format("woff2");
}

/* Prevent horizontal overflow and right-swipe blank space on mobile. */
html,
body {
    overflow-x: hidden;
}

/* ── All-Categories page ──────────────────────────────────────────────── */

/* 5-column grid utility (Bootstrap doesn't ship 20% columns) */
@media (min-width: 992px) {
    .col-lg-2half {
        flex: 0 0 auto;
        width: 20%;
    }
}

/* Page header + search bar row */
.all-cat-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 24px;
}

.all-cat-search-wrap {
    position: relative;
    flex: 0 0 260px;
}

.all-cat-search-icon {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #888;
    font-size: 15px;
    pointer-events: none;
}

.all-cat-search {
    width: 100%;
    padding: 8px 12px 8px 32px;
    border: 1px solid #dde1e7;
    border-radius: 6px;
    font-size: 13px;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
    background: #fff;
}

.all-cat-search:focus {
    border-color: var(--color-primary, #1f4e79);
    box-shadow: 0 0 0 3px rgba(31, 78, 121, 0.12);
}

/* Category card */
.cat-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    text-decoration: none;
    background: #fff;
    border: 1px solid #e8eaed;
    border-radius: 10px;
    padding: 16px 10px 12px;
    height: 100%;
    color: #1a2535;
    transition: box-shadow 0.22s ease, transform 0.22s ease, border-color 0.22s ease;
}

.cat-card:hover,
.cat-card:focus-visible {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.10);
    transform: translateY(-3px);
    border-color: var(--color-primary, #1f4e79);
    color: var(--color-primary, #1f4e79);
}

.cat-card__img-wrap {
    width: 80px;
    height: 80px;
    background: #f4f6f9;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-bottom: 10px;
    flex-shrink: 0;
    transition: background 0.22s ease;
}

.cat-card:hover .cat-card__img-wrap {
    background: #e8f0fb;
}

.cat-card__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.cat-card__body {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.cat-card__name {
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
    word-break: break-word;
    color: inherit;
    display: block;
}

.cat-card__meta {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    justify-content: center;
}

.cat-badge {
    font-size: 10px;
    font-weight: 500;
    padding: 2px 7px;
    border-radius: 20px;
    line-height: 1.5;
}

.cat-badge--sub {
    background: rgba(31, 78, 121, 0.08);
    color: var(--color-primary, #1f4e79);
}

.cat-badge--item {
    background: rgba(46, 204, 113, 0.10);
    color: #1a8a4a;
}

/* Responsive tweak: tighten padding on small screens */
@media (max-width: 575px) {
    .cat-card {
        padding: 12px 8px 10px;
    }

    .cat-card__img-wrap {
        width: 60px;
        height: 60px;
    }

    .all-cat-search-wrap {
        flex: 1 1 100%;
    }
}

/* ── /All-Categories page ─────────────────────────────────────────────── */

/* Remove li::marker bullets from social icon lists and repeat--item lists */
.social-icons,
.social-icons li,
.repeat--item ul,
.repeat--item ul li {
    list-style: none !important;
    padding-left: 0;
    margin-left: 0;
}

@supports (overflow: clip) {

    html,
    body {
        overflow-x: clip;
    }
}

@media (max-width: 767px) {

    html,
    body {
        overscroll-behavior-x: none;
    }

    .whatsapp-float {
        right: 12px !important;
        max-width: calc(100vw - 12px) !important;
    }

    .whatsapp-float__label {
        display: none !important;
    }
}

/* ── Font-display: swap override for FontAwesome Pro CDN ────────────────
 * The kit-pro.fontawesome.com stylesheet doesn't set font-display.
 * Re-declaring the @font-face with font-display:swap ensures text
 * remains visible while the icon font loads, preventing CLS.
 * The src descriptors don't need to match exactly — the display
 * hint is applied to the already-registered font family name.
 * ─────────────────────────────────────────────────────────────────────── */
@font-face {
    font-family: "Font Awesome 5 Pro";
    font-display: swap;
    src: local("Font Awesome 5 Pro");
}

@font-face {
    font-family: "Font Awesome 5 Free";
    font-display: swap;
    src: local("Font Awesome 5 Free");
}

@font-face {
    font-family: "Font Awesome 5 Brands";
    font-display: swap;
    src: local("Font Awesome 5 Brands");
}

/* brand-item-name <p> replaces <h2> inside carousels — matches main.css .brand__item h2 styling */
.brand__item p.brand-item-name {
    margin: 6px 0 0 0;
    padding: 0;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.3;
    color: #333;
    width: 100%;
    text-align: center;
    word-break: break-word;
}

.brand__item p.brand-item-name span {
    display: block;
    text-align: center;
}

/* ── Brands Showcase redesign ──────────────────────────────────────────────
   Replaces the plain circle + name layout with frosted glass cards,
   shimmer-on-hover, and 5-colour cycling glow shadows.
   ────────────────────────────────────────────────────────────────────────── */
.brands-showcase {
    position: relative;
}

.brands-showcase::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 12% 60%, rgba(26, 99, 207, 0.07), transparent 50%),
        radial-gradient(ellipse at 88% 40%, rgba(95, 168, 211, 0.08), transparent 50%),
        rgba(225, 237, 255, 0.2);
    border-top: 1px solid rgba(31, 101, 214, 0.1);
    border-bottom: 1px solid rgba(31, 101, 214, 0.1);
    pointer-events: none;
    z-index: 0;
}

.brands-showcase .container {
    position: relative;
    z-index: 1;
}

/* Header */
.brands-showcase__header {
    align-items: flex-end !important;
    margin-bottom: 24px;
    flex-wrap: wrap;
    gap: 8px;
}

.brands-showcase__title-group {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.brands-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--color-primary);
    background: rgba(31, 101, 214, 0.07);
    border: 1px solid rgba(31, 101, 214, 0.18);
    padding: 3px 12px;
    border-radius: 100px;
    width: fit-content;
}

.brands-eyebrow::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--color-primary);
    animation: eyebrowPulse 2s ease-in-out infinite;
}

@keyframes eyebrowPulse {

    0%,
    100% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: 0.4;
        transform: scale(0.7);
    }
}

/* Override .section__header border for brands section */
.brands-showcase .section__header {
    border-bottom-color: rgba(31, 101, 214, 0.15) !important;
}

/* Brand card — the <a> tag is the card */
.brands-carousel .owl-item a.brand-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 10px 16px;
    border-radius: 18px;
    background: rgba(241, 247, 255, 0.48);
    border: 1px solid rgba(31, 101, 214, 0.13);
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: transform 0.26s cubic-bezier(0.34, 1.56, 0.64, 1),
        box-shadow 0.26s ease,
        border-color 0.26s ease;
}

/* Shimmer sweep */
.brands-carousel .owl-item a.brand-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: -80%;
    width: 55%;
    height: 100%;
    background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, 0.5) 50%, transparent 65%);
    transform: skewX(-15deg);
    transition: left 0.55s ease;
    pointer-events: none;
}

.brands-carousel .owl-item a.brand-card:hover::after {
    left: 130%;
}

/* Cycling glow colours per nth-child (5 colours) */
.brands-carousel .owl-item:nth-child(5n+1) a.brand-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 38px rgba(26, 99, 207, 0.2), 0 4px 12px rgba(26, 99, 207, 0.1);
    border-color: rgba(26, 99, 207, 0.38);
}

.brands-carousel .owl-item:nth-child(5n+2) a.brand-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 38px rgba(15, 173, 110, 0.2), 0 4px 12px rgba(15, 173, 110, 0.1);
    border-color: rgba(15, 173, 110, 0.38);
}

.brands-carousel .owl-item:nth-child(5n+3) a.brand-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 38px rgba(245, 166, 35, 0.22), 0 4px 12px rgba(245, 166, 35, 0.1);
    border-color: rgba(245, 166, 35, 0.4);
}

.brands-carousel .owl-item:nth-child(5n+4) a.brand-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 38px rgba(220, 53, 69, 0.2), 0 4px 12px rgba(220, 53, 69, 0.1);
    border-color: rgba(220, 53, 69, 0.38);
}

.brands-carousel .owl-item:nth-child(5n+5) a.brand-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 38px rgba(155, 89, 182, 0.2), 0 4px 12px rgba(155, 89, 182, 0.1);
    border-color: rgba(155, 89, 182, 0.38);
}

/* Logo bubble */
.brand-card__logo {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.88);
    border: 1.5px solid rgba(31, 101, 214, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 8px;
    margin-bottom: 10px;
    transition: border-color 0.26s ease, box-shadow 0.26s ease;
}

.brand-card:hover .brand-card__logo {
    box-shadow: 0 4px 14px rgba(31, 101, 214, 0.14);
}

.brand-card__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.brand-card__name {
    font-size: 11px;
    font-weight: 600;
    color: #1a2d4a;
    text-align: center;
    letter-spacing: 0.01em;
    line-height: 1.3;
    display: block;
}

/* Tighten owl item padding for this carousel */
.brands-carousel.owl-carousel .owl-item {
    padding: 4px 5px;
}

/* Suppress old image-wrapper styles inside brands-carousel */
.brands-carousel .owl-item .image-wrapper {
    all: unset;
    display: contents;
}

/* Mobile: compact card so it reads as a square tile, not a tall slim column */
@media (max-width: 575px) {
    .brands-carousel .owl-item a.brand-card {
        padding: 10px 6px 8px;
        border-radius: 12px;
    }

    .brand-card__logo {
        width: 48px;
        height: 48px;
        padding: 5px;
        margin-bottom: 6px;
    }

    .brand-card__name {
        font-size: 9px;
    }
}

/* ── Mobile menu ─────────────────────────────────────────────────────── */
.mobile-menu {
    position: fixed !important;
    top: 0 !important;
    left: -100% !important;
    width: 85vw !important;
    max-width: 320px !important;
    height: 100vh !important;
    background: #ffffff !important;
    z-index: 10001 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    transition: left 0.35s ease !important;
    box-shadow: 2px 0 20px rgba(0, 0, 0, 0.18) !important;
    visibility: hidden !important;
    display: flex !important;
    flex-direction: column !important;
}

.mobile-menu.active {
    left: 0 !important;
    visibility: visible !important;
}

#mobileMenuBackdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 10000;
    cursor: pointer;
}

#mobileMenuBackdrop.active {
    display: block;
}

.base-color {
    color: hsl(var(--main)) !important;
}

.copyInput {
    display: inline-block;
    line-height: 50px;
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    text-align: center;
    font-size: 14px;
    cursor: pointer;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
}

.copied::after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 12%;
    width: 100px;
    display: block;
    content: "COPIED";
    font-size: 12px;
    padding: 5px 5px;
    color: #fff;
    background-color: #FF7000;
    border-radius: 3px;
    opacity: 0;
    will-change: opacity, transform;
    animation: showcopied 1.5s ease;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
}

@keyframes showcopied {
    0% {
        opacity: 0;
        transform: translateX(100%) translateY(-50%);
        -webkit-transform: translateX(100%) translateY(-50%);
        -moz-transform: translateX(100%) translateY(-50%);
        -ms-transform: translateX(100%) translateY(-50%);
        -o-transform: translateX(100%) translateY(-50%);
    }

    50% {
        opacity: 0.7;
        transform: translateX(40%) translateY(-50%);
        -webkit-transform: translateX(40%) translateY(-50%);
        -moz-transform: translateX(40%) translateY(-50%);
        -ms-transform: translateX(40%) translateY(-50%);
        -o-transform: translateX(40%) translateY(-50%);
    }

    70% {
        opacity: 1;
        transform: translateX(0) translateY(-50%);
        -webkit-transform: translateX(0) translateY(-50%);
        -moz-transform: translateX(0) translateY(-50%);
        -ms-transform: translateX(0) translateY(-50%);
        -o-transform: translateX(0) translateY(-50%);
    }

    100% {
        opacity: 0;
    }
}

.input-group-text.copytext {
    border: 0;
}

.cookies-card {
    width: 520px;
    padding: 30px;
    color: #1E2337;
    position: fixed;
    bottom: 15px;
    left: 15px;
    z-index: 999999;
    transition: all .5s;
    background: #d1d1d1;
    border-radius: 5px;
}

.cookies-card.hide {
    bottom: -500px !important;
}

.radius--10px {
    border-radius: 10px;
}

.cookies-card__icon {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background-color: #6e6f70;
    color: #fff;
    font-size: 32px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.cookies-card__content {
    margin-bottom: 0;
}

.cookies-btn {
    color: #363636;
    text-decoration: none;
    padding: 10px 35px;
    margin: 3px 5px;
    display: inline-block;
    border-radius: 999px;
}

.cookies-btn:hover {
    color: #363636;
}


@media (max-width: 767px) {
    .cookies-card {
        width: calc(100% - 24px) !important;
        left: 12px !important;
        bottom: 12px !important;
        font-size: 13px !important;
        padding: 15px !important;
        border-radius: 8px !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
    }

    .cookies-card__icon {
        display: none !important;
    }

    .cookies-card__content {
        font-size: 12.5px !important;
        line-height: 1.4 !important;
        margin-top: 0 !important;
    }

    .cookies-card .mt-4 {
        margin-top: 10px !important;
    }
}

.hover-input-popup {
    position: relative;
}

.input-popup {
    display: none;
}

.hover-input-popup .input-popup {
    display: block;
    position: absolute;
    bottom: 130%;
    left: 50%;
    width: 280px;
    background-color: #1a1a1a;
    color: #fff;
    padding: 20px;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

.input-popup::after {
    position: absolute;
    content: '';
    bottom: -19px;
    left: 50%;
    margin-left: -5px;
    border-width: 10px 10px 10px 10px;
    border-style: solid;
    border-color: transparent transparent #1a1a1a transparent;
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}

.input-popup p {
    padding-left: 20px;
    position: relative;
}

.input-popup p::before {
    position: absolute;
    content: '';
    font-family: 'Line Awesome Free';
    font-weight: 900;
    left: 0;
    top: 4px;
    line-height: 1;
    font-size: 18px;
}

.input-popup p.error {
    text-decoration: line-through;
}

.input-popup p.error::before {
    content: "\f057";
    color: #ea5455;
}

.input-popup p.success::before {
    content: "\f058";
    color: #28c76f;
}



.show-filter {
    display: none;
}

@media(max-width:767px) {
    .responsive-filter-card {
        display: none;
        transition: none;
    }

    .show-filter {
        display: block;
    }
}

/* ========= Responsive Hero Slider Fix ========= */
/* Override the !important height set globally so mobile gets proper sizing */
@media (max-width: 767px) {
    .hero-area .hero-slider .single-slider {
        height: 220px !important;
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .hero-area .hero-slider .single-slider {
        height: 300px !important;
    }
}

/* Hero slide <img> fills the fixed-height container (replaces background-image)
 * — discoverable by preload scanner → directly improves LCP */
.hero-slide-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* ============================================
 * CLS FIX #1 — Hero slider height reservation
 * Prevents N stacked .single-slider divs (pre-JS init)
 * from inflating section height and shifting page down.
 * overflow:hidden clips off-screen pre-init slides.
 * ============================================ */
.hero-area .slider-head .hero-slider {
    overflow: hidden;
    height: 410px;
    /* desktop — matches main.css .single-slider height */
    position: relative;
}

@media (min-width: 768px) and (max-width: 991px) {
    .hero-area .slider-head .hero-slider {
        height: 300px;
    }
}

@media (max-width: 767px) {
    .hero-area .slider-head .hero-slider {
        height: 220px;
    }
}

/* CLS FIX #2 — Isolate hero-area layout changes from rest of page.
 * Internal reflows (slider init, slide positioning) won't push
 * elements below the hero section around. */
.hero-area {
    contain: layout;
    background-color: transparent;
}

/* CLS FIX #3 — Reserve 1:1 space for category/brand carousel images
 * so the owl carousel grid doesn't reflow when images load.
 * NOTE: overflow:hidden is intentionally NOT set here — it clips .brand__item:hover scale. */
.owl-carousel .image-wrapper {
    aspect-ratio: 1 / 1;
}

/* ===== PRODUCT SUMMARY & DESCRIPTION: restore list styles stripped by global ul li rule ===== */
.summary ul,
.summary ol,
.txt ul,
.txt ol {
    padding-left: 1.5rem;
    margin-bottom: 0.5rem;
}

.summary ul li,
.txt ul li {
    list-style: disc !important;
    padding: 3px 0;
}

.summary ol li,
.txt ol li {
    list-style: decimal !important;
    padding: 3px 0;
}

/* ===== PRODUCT DESCRIPTION: restore list styles stripped by global ul li rule ===== */
.description-wrapper .description__body ul,
.description-wrapper .description__body ol {
    padding-left: 1.5rem;
    margin-bottom: 1rem;
}

.description-wrapper .description__body ul li {
    list-style: disc !important;
    padding: 3px 0;
}

.description-wrapper .description__body ol li {
    list-style: decimal !important;
    padding: 3px 0;
}

.description-wrapper .description__body ul ul li,
.description-wrapper .description__body ul ul {
    list-style: circle !important;
}

/* Also fix inside quick-view modal */
#productmodalView ul li {
    list-style: disc !important;
    padding: 3px 0;
}

#productmodalView ul,
#productmodalView ol {
    padding-left: 1.5rem;
    margin-bottom: 1rem;
}

#productmodalView ol li {
    list-style: decimal !important;
    padding: 3px 0;
}

/* Override: social icons inside modal must never show bullets.
   #productmodalView .social-icons li (specificity 111) beats
   #productmodalView ul li (specificity 102) above. */
#productmodalView .social-icons,
#productmodalView .social-icons li {
    list-style: none !important;
    padding-left: 0;
    margin-left: 0;
    padding-top: 0;
    padding-bottom: 0;
}

/* ===== HEADER / FOOTER / NAV ===== */

/* Nav menu links — desktop */
.menu-area .menu li a {
    color: #1f4e79 !important;
    padding: 6px 14px !important;
    border-radius: 6px !important;
    transition: all 0.2s ease-in-out !important;
}

.menu-area .menu li a:hover,
.menu-area .menu li a.active:hover {
    color: #4FC4F7 !important;
    background-color: rgba(79, 196, 247, 0.08) !important;
}

/* ── Our Services dropdown ── */
.svc-nav-item {
    position: relative;
}

.svc-nav-link {
    white-space: nowrap;
}

.svc-nav-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 230px;
    background: #fff;
    border: 1px solid #e4e9f0;
    border-top: 3px solid var(--color-primary);
    border-radius: 0 0 8px 8px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
    z-index: 9999;
    list-style: none;
    padding: 6px 0;
    margin: 0;
}

.svc-nav-item:hover>.svc-nav-dropdown,
.svc-nav-item:focus-within>.svc-nav-dropdown {
    display: block;
}

.svc-nav-dropdown li a {
    display: flex !important;
    align-items: center;
    gap: 8px;
    padding: 9px 18px !important;
    font-size: 0.875rem !important;
    color: #333 !important;
    background: transparent !important;
    text-decoration: none;
    transition: background .15s, color .15s;
    white-space: nowrap;
}

.svc-nav-dropdown li a:hover {
    background: var(--color-primary) !important;
    color: #fff !important;
}

.svc-nav-dropdown li a i {
    width: 18px;
    text-align: center;
    font-size: 1rem;
    opacity: 0.75;
}

.svc-nav-dropdown__all {
    border-top: 1px solid #e8edf3;
    margin-top: 4px;
}

.svc-nav-dropdown__all a {
    font-weight: 700 !important;
    color: var(--color-primary) !important;
}

.svc-nav-dropdown__all a:hover {
    color: #fff !important;
}

/* Nav menu links — mobile */
@media (max-width: 991px) {
    .menu-area .menu li a {
        color: #1f4e79 !important;
    }
}

/* Footer text */
.footer__widget ul li a,
.footer__widget ul li a:visited,
.footer__widget p,
.footer-bottom {
    color: #c8d8e8 !important;
    font-weight: 400 !important;
    /* prevent browser :visited bold */
}

.footer__widget ul li a:hover {
    color: #ffffff !important;
}

/* Footer category title — clear hierarchy over sub-links */
.footer__widget .title {
    font-weight: 600 !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
    margin-bottom: 14px !important;
}

/* "View all →" row at bottom of each footer column */
.footer__widget ul li.view-all-link {
    margin-top: 6px;
}

.footer__widget ul li.view-all-link a,
.footer__widget ul li.view-all-link a:visited {
    color: #4FC4F7 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}

.footer__widget ul li.view-all-link a:hover {
    color: #ffffff !important;
}

/* Nav bottom border + shadow + solid background */
.header-bottom {
    background-color: #ffffff !important;
    border-bottom: 2px solid #c9d5e0;
    box-shadow: 0 2px 12px rgba(31, 78, 121, 0.10);
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    transition: box-shadow 0.25s ease, border-color 0.25s ease;
}

.header-bottom.is-scrolled {
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.12) !important;
    border-bottom-color: #b8c7d6 !important;
}

/* ── Carousel Touch-Action: Prevent horizontal carousels from capturing vertical scroll ── */
.owl-carousel,
.owl-carousel .owl-stage-outer,
.owl-carousel .owl-stage,
.owl-carousel .owl-item,
.tns-outer,
.tns-slider,
.product-shelf-carousel {
    touch-action: pan-y !important;
}

@media (max-width: 767px) {
    .header-bottom {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    /* Push page content up so bottom nav doesn't overlap it */
    body {
        padding-bottom: 62px;
    }
}

/* ===== MOBILE BOTTOM NAV ===== */
.mobile-bottom-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 62px;
    background: #ffffff;
    border-top: 1px solid #c9d5e0;
    box-shadow: 0 -2px 10px rgba(31, 78, 121, 0.10);
    display: flex;
    align-items: stretch;
    z-index: 1055;
    transform: translateY(0);
    transition: transform 0.3s ease;
}

.mobile-bottom-nav.hide-nav {
    transform: translateY(100%);
}

.mobile-bottom-nav__item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    color: #888;
    font-size: 11px;
    text-decoration: none;
    position: relative;
    transition: color 0.2s;
    border: none;
    background: transparent;
    padding: 0;
    cursor: pointer;
    outline: none;
}

.mobile-bottom-nav__item i {
    font-size: 20px;
    line-height: 1;
}

.mobile-bottom-nav__item span {
    font-size: 11px;
    font-weight: 500;
    line-height: 1;
}

.mobile-bottom-nav__item.active,
.mobile-bottom-nav__item:active {
    color: #1f4e79;
}

.mobile-bottom-nav__item:hover {
    color: #1f4e79;
    text-decoration: none;
}

.mobile-bottom-nav__badge {
    position: absolute;
    top: 6px;
    right: calc(50% - 18px);
    min-width: 16px;
    height: 16px;
    border-radius: 999px;
    background: #1f4e79;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 3px;
    line-height: 1;
}

/* Compact logo */
.header-wrapper .logo {
    width: 200px !important;
}

.header-wrapper .logo a {
    height: 40px !important;
}

@media (max-width: 767px) {
    .header-wrapper .logo {
        width: 150px !important;
    }

    .header-wrapper .logo a {
        height: 44px !important;
    }
}

/* ===== SPECIFICATION TABLE - Amazon style ===== */
.description-wrapper .description__body#specBody {
    padding: 0 !important;
    overflow: hidden;
}

#specBody {
    padding: 0 !important;
    overflow: hidden;
}

#specBody table {
    width: 100% !important;
    min-width: 100% !important;
    height: auto !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    margin-bottom: 0;
    font-size: 14px;
    table-layout: auto !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Strip TinyMCE inline column widths and heights */
#specBody table th,
#specBody table td {
    width: auto !important;
    height: auto !important;
    border: none !important;
}

/* Hide thead if present */
#specBody table thead {
    display: none !important;
}

/* Row separator */
#specBody table tbody tr {
    border-bottom: 1px solid #e7e7e7 !important;
    height: auto !important;
}

#specBody table tbody tr:last-child {
    border-bottom: none !important;
}

/* Cells */
#specBody table tbody td {
    padding: 11px 14px;
    color: #0F1111;
    vertical-align: middle;
    background: none !important;
}

/* Left column — bold label */
#specBody table tbody td:first-child {
    font-weight: 700;
    width: 38%;
    color: #0F1111;
}

/* Right column — normal value */
#specBody table tbody td:last-child {
    font-weight: 400;
    color: #0F1111;
}

@media (max-width: 575px) {
    #specBody table {
        font-size: 13px;
    }

    #specBody table tbody td {
        padding: 9px 10px;
    }

    #specBody table tbody td:first-child {
        width: 42%;
    }
}

/* ===== SPEC TABLE: show more / show less ===== */
.spec-table-collapsed tbody tr:nth-child(n+6) {
    display: none;
}

.spec-table-toggle {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 8px;
    margin-left: 14px;
    margin-bottom: 8px;
    background: none;
    border: none;
    color: #0066c0;
    font-size: 14px;
    cursor: pointer;
    padding: 4px 0;
    text-decoration: none;
}

.spec-table-toggle:hover {
    color: #c45500;
    text-decoration: underline;
}


/* ===== Service feature tiles — glassmorphism redesign ===== */
.footer-features-section {
    position: relative;
}

.footer-features .service-tile {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 22px 20px;
    height: 100%;
    border-radius: 18px;
    cursor: default;
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(12px);
    box-shadow: 0 10px 30px -10px rgba(14, 54, 108, 0.08),
        0 1px 3px rgba(14, 54, 108, 0.03),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    border-top: 4px solid transparent;
    transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1),
        box-shadow 0.28s ease,
        border-color 0.28s ease;
    color: #0f2f4d;
    flex-wrap: nowrap;
}

.footer-features .service-tile:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px -15px rgba(14, 54, 108, 0.15),
        0 4px 12px rgba(14, 54, 108, 0.05);
}

/* Accent colour per card via nth-child */
.footer-features .col-lg-3:nth-child(1) .service-tile {
    border-top-color: #1a63cf;
}

.footer-features .col-lg-3:nth-child(2) .service-tile {
    border-top-color: #0fad6e;
}

.footer-features .col-lg-3:nth-child(3) .service-tile {
    border-top-color: #f5a623;
}

.footer-features .col-lg-3:nth-child(4) .service-tile {
    border-top-color: #9b59b6;
}

.footer-features .service-tile .icon {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.footer-features .service-tile:hover .icon {
    transform: scale(1.12) rotate(6deg);
}

/* Icon bubble colour per card */
.footer-features .col-lg-3:nth-child(1) .service-tile .icon {
    background: rgba(26, 99, 207, 0.1);
    color: #1a63cf;
}

.footer-features .col-lg-3:nth-child(2) .service-tile .icon {
    background: rgba(15, 173, 110, 0.1);
    color: #0fad6e;
}

.footer-features .col-lg-3:nth-child(3) .service-tile .icon {
    background: rgba(245, 166, 35, 0.1);
    color: #f5a623;
}

.footer-features .col-lg-3:nth-child(4) .service-tile .icon {
    background: rgba(155, 89, 182, 0.1);
    color: #9b59b6;
}

.footer-features .service-tile .icon img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.footer-features .service-tile .content {
    flex: 1;
    min-width: 0;
}

.footer-features .service-tile .subtitle {
    display: block;
    font-family: "Josefin Sans", sans-serif;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.3;
    color: #0f2f4d;
    margin-bottom: 3px;
}

.footer-features .service-tile .content p {
    margin-bottom: 0;
    font-size: 12px;
    color: #5a6a7a;
    line-height: 1.4;
}

@media (max-width: 1199px) and (min-width: 992px) {
    .footer-features .service-tile {
        padding: 18px 14px;
        gap: 12px;
    }

    .footer-features .service-tile .icon {
        width: 44px;
        height: 44px;
    }
}

@media (max-width: 575px) {
    .footer-features .service-tile {
        padding: 16px 14px;
    }
}


/* ===== SEO FIX: product card quickView/wishlist buttons replace <a href="javascript:void(0)"> ===== */
.product__item .product-right-btn button {
    transform: scale(.3);
    opacity: 0;
    visibility: hidden;
    transition: all ease-in .3s;
    width: 40px;
    height: 40px;
    line-height: 40px;
    display: block;
    text-align: center;
    background: #fff;
    color: #0b254a;
    border-radius: 50%;
    border: 1px solid #e3e4ff;
    font-size: 18px;
    padding: 0;
    cursor: pointer;
}

.product__item .product-right-btn button:nth-child(1) {
    transition-delay: .1s;
}

.product__item .product-right-btn button:nth-child(2) {
    transition-delay: .2s !important;
    margin-top: 5px;
}

.product__item:hover .product-right-btn button {
    transform: scale(1);
    opacity: 1;
    visibility: visible;
}

.product__item .product-right-btn button:hover {
    background: #5fa8d3;
    color: #fff !important;
    border-color: #5fa8d3;
}

.product__item .product-right-btn button.active {
    background: #5fa8d3;
    color: #fff;
    border-color: #5fa8d3;
}

/* ── Product Specification Table (Enhanced) ────────────────────────────────
   Card-style spec table: shadow, column divider, hover highlight, responsive.
   This block is LAST in the file so its !important rules win over block above.
──────────────────────────────────────────────────────────────────────────── */

/* Wrapper: card border + shadow + rounded corners */
#specBody {
    overflow: hidden !important;
    border-radius: 10px !important;
    border: 1px solid #dde3f0 !important;
    box-shadow: 0 3px 14px rgba(11, 37, 74, .09) !important;
    margin: 8px 0 24px !important;
    display: inline-block !important;
    width: 100% !important;
    max-width: 900px !important;
}

/* Table fills wrapper */
#specBody table {
    width: 100% !important;
    max-width: 100% !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    font-size: 14px !important;
    margin: 0 !important;
    border: none !important;
    table-layout: fixed !important;
}

/* All cells */
#specBody table th,
#specBody table td {
    text-align: left !important;
    vertical-align: middle !important;
    padding: 11px 18px !important;
    border: none !important;
    border-bottom: 1px solid #e8edf8 !important;
    line-height: 1.55 !important;
    white-space: normal !important;
}

/* Optional thead (shown if TinyMCE adds one) */
#specBody table thead {
    display: table-header-group !important;
}

#specBody table thead th {
    background: #1f4e79 !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: .07em !important;
    border-bottom: none !important;
}

/* Alternating row colours */
#specBody table tbody tr:nth-child(odd) td {
    background: #f5f7fe !important;
}

#specBody table tbody tr:nth-child(even) td {
    background: #ffffff !important;
}

/* No border on last row */
#specBody table tbody tr:last-child td {
    border-bottom: none !important;
}

/* Row hover */
#specBody table tbody tr:hover td {
    background: #e6f0f8 !important;
    transition: background .14s ease !important;
}

#specBody table tbody tr:hover td:first-child {
    color: #1f4e79 !important;
}

/* Left column — spec label */
#specBody table tbody td:first-child {
    font-weight: 700 !important;
    color: #0f2f4d !important;
    width: 36% !important;
    border-right: 2px solid #d0dce8 !important;
}

/* Right column — spec value */
#specBody table tbody td:last-child {
    color: #374151 !important;
    width: 64% !important;
}

/* ── Responsive ── */
@media (max-width: 575px) {
    #specBody {
        border-radius: 6px !important;
    }

    #specBody table {
        font-size: 13px !important;
        table-layout: auto !important;
    }

    #specBody table tbody td {
        padding: 9px 11px !important;
    }

    #specBody table tbody td:first-child {
        width: 40% !important;
    }

    #specBody table tbody td:last-child {
        width: 60% !important;
    }
}

/* ===== Theme tone-down palette (2026-03) ===== */
:root {
    --theme-primary: #1f4e79;
    --theme-accent: #5fa8d3;
    --theme-surface: #f4f7fb;
    --theme-heading: #0f2f4d;
}

/* Footer — keep background image, override only the colour tint */
footer,
.footer-top,
.footer-bottom {
    background: url('./img/footer-bg.png') #1f4e79 center center !important;
}

/* Reduce gap between brand strip and category columns */
.footer-top {
    padding-top: 28px !important;
}

/* Copyright strip — one shade deeper than footer */
.bg--dark {
    background-color: #163a5f !important;
}

/* Footer scrollTop line accent */
footer .scrollTop::before {
    background: var(--theme-accent) !important;
}

body {
    background: var(--theme-surface) !important;
}

h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover,
.text--base,
.base-color,
.contact-info__icon,
.dashboard-sidebar-toggler,
.change-language span,
.loader-bg h3,
.policy-page a:hover {
    color: var(--theme-accent) !important;
}

.scrollToTop,
.post__date,
.video-icon,
.owl-dots .owl-dot.active span,
.tns-controls button:hover,
.tns-controls button:focus,
.product__item .product-right-btn a:hover,
.product__item .product-right-btn a.active,
.cart-plus-minus .qtybutton.active,
.feature-card:hover,
.page-item.active .page-link,
.pagination .page-item a.active,
.pagination .page-item a:hover,
.pagination .page-item span.active,
.pagination .page-item span:hover {
    background: var(--theme-accent) !important;
    border-color: var(--theme-accent) !important;
}

/* Clean consistent scrollbars across page and scroll containers */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}
* {
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 #f1f5f9;
}

/* Header search: full-width merged control with filter inside on the right */
.search-form--header {
    flex: 1 1 640px;
    max-width: none !important;
    margin-right: 14px;
}

/* Keep header action icons visible on white header background */
.header-bottom .cart--btn {
    position: relative;
    isolation: isolate;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #1f4e79 !important;
    transition: transform 0.22s ease, color 0.22s ease;
}

/* Text buttons (Login/Register): keep pill geometry */
.header-bottom .cart--btn.d-lg-flex {
    width: auto !important;
    min-width: 35px;
    padding: 0 10px;
}

/* Icon-only buttons (Wishlist/Cart): keep circular geometry */
.header-bottom .cart--btn:not(.d-lg-flex) {
    width: 35px;
    height: 35px;
    padding: 0;
}

.header-bottom .cart--btn::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: radial-gradient(circle at 30% 30%, rgba(95, 168, 211, 0.22), rgba(31, 78, 121, 0.14));
    border: 1px solid rgba(31, 78, 121, 0.18);
    opacity: 0;
    transform: scale(0.92);
    transition: opacity 0.22s ease, transform 0.22s ease;
    pointer-events: none;
    z-index: -1;
}

.header-bottom .cart--btn:hover,
.header-bottom .cart--btn:focus-visible {
    color: #163a5f !important;
    transform: translateY(-2px);
}

.header-bottom .cart--btn:hover::before,
.header-bottom .cart--btn:focus-visible::before {
    opacity: 1;
    transform: scale(1);
}

.header-bottom .cart--btn i {
    transition: transform 0.22s ease;
}

.header-bottom .cart--btn:hover i,
.header-bottom .cart--btn:focus-visible i {
    transform: scale(1.08);
}

.header-bottom .cart--btn .qty {
    background: #1f4e79 !important;
    color: #ffffff !important;
    transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.header-bottom .cart--btn:hover .qty,
.header-bottom .cart--btn:focus-visible .qty {
    transform: scale(1.07);
    box-shadow: 0 3px 10px rgba(31, 78, 121, 0.28);
}

.search--group--header {
    display: flex;
    align-items: stretch;
    width: 100%;
    height: 40px;
    /* Locked height prevents CLS from dynamic font sizing or late rendering */
    border: 1px solid #c9d5e0;
    border-radius: 28px;
    overflow: hidden;
    background: #ffffff;
    position: relative;
}

.search--group--header::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(28, 85, 139, 0.95), rgba(95, 168, 211, 0.9));
    transform: scaleX(0);
    transform-origin: center;
    opacity: 0;
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.2s ease;
    box-shadow: 0 1px 6px rgba(95, 168, 211, 0.14);
    pointer-events: none;
}

/* ── Character Stagger Animation ───────────────────────────────────────────── */
@keyframes char-fade-in {
    0% {
        opacity: 0;
        transform: translateY(5px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes char-type-pulse {
    0% {
        background-color: rgba(95, 168, 211, 0.08);
        box-shadow: inset 0 0 8px rgba(95, 168, 211, 0.2);
    }

    40% {
        background-color: rgba(95, 168, 211, 0.12);
        box-shadow: inset 0 0 12px rgba(95, 168, 211, 0.3);
    }

    100% {
        background-color: transparent;
        box-shadow: inset 0 0 0 1px rgba(95, 168, 211, 0.08);
    }
}

@keyframes underline-draw {
    from {
        transform: scaleX(0);
        transform-origin: left;
    }

    to {
        transform: scaleX(1);
        transform-origin: left;
    }
}

.search--group--header .form-control {
    border: none !important;
    background: transparent !important;
    color: #333 !important;
    border-radius: 0 !important;
    flex: 1 1 auto;
    min-width: 0;
    transition: all 0.3s ease !important;
}

.search--group--header:focus-within::after {
    transform: scaleX(1);
    opacity: 1;
}

/* Apply stagger animation to each character */
.search-char {
    display: inline-block;
    animation: char-fade-in 0.15s ease-out forwards;
}

.search--group--header .form-control::placeholder {
    color: #9aabbc !important;
    transition: color 0.3s ease !important;
    opacity: 1;
}

.search--group--header .form-control:focus::placeholder {
    color: #b8c5d1 !important;
}

.search--group--header .search-category-select {
    width: 175px;
    border: none !important;
    border-radius: 0 !important;
    background-color: #ffffff !important;
    color: #3d5165 !important;
    font-size: 13px;
    padding: 0.375rem 1.9rem 0.375rem 0.75rem;
    flex: 0 0 175px;
    transition: all 0.3s ease !important;
}

.search--group--header .search-category-select:hover {
    background-color: #f8f9fb !important;
    color: #1a3a52 !important;
}

.search--group--header .form-control:focus,
.search--group--header .search-category-select:focus {
    box-shadow: none !important;
    outline: none !important;
    background-color: #f8fbfd !important;
}

.search--group--header .cmn--btn {
    background: var(--theme-primary) !important;
    border: none !important;
    border-radius: 0 !important;
    color: #fff !important;
    padding-left: 22px;
    padding-right: 22px;
    flex: 0 0 auto;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.search--group--header .cmn--btn:hover {
    background: #163a5f !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(22, 58, 95, 0.25) !important;
}

.search--group--header .cmn--btn:active {
    transform: translateY(0);
}

.search--group--header:focus-within {
    border-color: var(--theme-accent);
    box-shadow: 0 0 0 2px rgba(95, 168, 211, 0.12), inset 0 0 0 1px rgba(95, 168, 211, 0.08);
}

/* ── Animated Placeholder Text (Typing Effect) ──────────────────────────── */
@keyframes typing {

    0%,
    5% {
        content: '';
    }

    10% {
        content: 'P';
    }

    20% {
        content: 'Pr';
    }

    30% {
        content: 'Pro';
    }

    40% {
        content: 'Prod';
    }

    50% {
        content: 'Produ';
    }

    60% {
        content: 'Produc';
    }

    70% {
        content: 'Product';
    }

    80% {
        content: 'Products';
    }

    90%,
    100% {
        content: 'Products';
    }
}

@keyframes typing-cycle-1 {

    0%,
    5% {
        content: '';
    }

    8% {
        content: 'L';
    }

    16% {
        content: 'La';
    }

    24% {
        content: 'Lap';
    }

    32% {
        content: 'Lapt';
    }

    40% {
        content: 'Lapto';
    }

    48% {
        content: 'Laptop';
    }

    56% {
        content: 'Laptops';
    }

    66%,
    100% {
        content: 'Laptops';
    }
}

@keyframes typing-cycle-2 {

    0%,
    5% {
        content: '';
    }

    8% {
        content: 'C';
    }

    16% {
        content: 'Ca';
    }

    24% {
        content: 'Cam';
    }

    32% {
        content: 'Came';
    }

    40% {
        content: 'Camer';
    }

    48% {
        content: 'Camera';
    }

    56% {
        content: 'Cameras';
    }

    66%,
    100% {
        content: 'Cameras';
    }
}

@keyframes typing-cycle-3 {

    0%,
    5% {
        content: '';
    }

    8% {
        content: 'H';
    }

    16% {
        content: 'He';
    }

    24% {
        content: 'Hea';
    }

    32% {
        content: 'Head';
    }

    40% {
        content: 'Headp';
    }

    48% {
        content: 'Headph';
    }

    56% {
        content: 'Headpho';
    }

    64% {
        content: 'Headphon';
    }

    72% {
        content: 'Headphone';
    }

    80% {
        content: 'Headphones';
    }

    90%,
    100% {
        content: 'Headphones';
    }
}

@keyframes cursor-blink {

    0%,
    49% {
        opacity: 1;
    }

    50%,
    100% {
        opacity: 0;
    }
}

.search--group--header .form-control::placeholder {
    color: #9aabbc !important;
    transition: color 0.3s ease !important;
    opacity: 1;
    font-style: italic;
}

.search-animated-placeholder::before {
    content: 'Products';
    display: inline;
    color: #9aabbc;
    font-style: italic;
    font-weight: 400;
    animation: typing 12s infinite;
}

.search-animated-placeholder::after {
    content: '';
    display: inline;
    width: 2px;
    height: 1em;
    background-color: #9aabbc;
    margin-left: 2px;
    animation: cursor-blink 1s infinite;
}

/* ── Search Icon Animation ─────────────────────────────────────────────────── */
@keyframes icon-pulse {

    0%,
    100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.1);
        opacity: 0.9;
    }
}

@keyframes icon-rotate-search {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.search--group--header .cmn--btn i,
.search-icon-animated {
    transition: all 0.3s ease !important;
}

.search--group--header .cmn--btn:hover i {
    animation: icon-pulse 0.6s ease-in-out;
}

.search--group--header .cmn--btn:active i {
    animation: icon-rotate-search 0.5s ease-out;
}

/* Icon inside search input (for visual enhancement) */
.search-icon-wrapper {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #9aabbc;
    pointer-events: none;
    font-size: 14px;
    transition: all 0.3s ease;
    opacity: 0.6;
}

.search--group--header:focus-within .search-icon-wrapper {
    opacity: 1;
    color: var(--theme-primary);
    animation: icon-pulse 0.6s ease-in-out forwards;
}

/* Hover effect on category select - arrow animation */
.search--group--header .search-category-select {
    position: relative;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%233d5165' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px;
    padding-right: 2.5rem !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
}

.search--group--header .search-category-select:hover::after,
.search--group--header .search-category-select:focus::after {
    animation: icon-pulse 0.4s ease-in-out;
}

/* ── Responsive Media Queries ─────────────────────────────────────────────── */
@media (max-width: 1199px) {
    .search-form--header {
        flex-basis: 520px;
        margin-right: 10px;
    }

    .search--group--header .search-category-select {
        width: 150px;
        flex-basis: 150px;
    }
}

@media (max-width: 575px) {
    .search--group--header .search-category-select {
        width: 115px;
        flex-basis: 115px;
        font-size: 12px;
        padding-left: 0.55rem;
        padding-right: 1.5rem;
    }
}

/* ── Homepage live motion system (Pure opacity fade - no vertical Y translation to preserve uniform scroll speed) ── */
.home-livefx .home-reveal {
    opacity: 0;
    transition: opacity 0.35s ease;
    will-change: opacity;
}

.home-livefx .home-reveal.is-visible {
    opacity: 1;
}

.home-livefx .hero-area .hero-slide-img {
    animation: homeHeroCinematic 14s ease-in-out infinite alternate;
    transform-origin: center center;
}

@keyframes homeHeroCinematic {
    0% {
        transform: scale(1);
        filter: saturate(1);
    }

    100% {
        transform: scale(1.04);
        filter: saturate(1.04);
    }
}

.home-livefx .product__item {
    transition: transform 0.34s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.34s ease, border-color 0.34s ease;
    transform: translate3d(0, 0, 0);
}

.home-livefx .product__item:hover {
    transform: translate3d(0, -8px, 0);
    box-shadow: 0 20px 38px rgba(15, 47, 77, 0.12);
    border-color: rgba(31, 78, 121, 0.22);
}

.home-livefx .product__item .product__item-img img,
.home-livefx .product__item .product-card-image {
    transition: transform 0.48s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-livefx .product__item:hover .product__item-img img,
.home-livefx .product__item:hover .product-card-image {
    transform: scale(1.045);
}

/* ── Homepage promo banners (PC Builder + Blog) ───────────────────────── */
.home-promo-band {
    margin: 18px 0 10px;
}

@keyframes promoImageDrift {
    0% {
        background-position: 50% 50%;
    }

    100% {
        background-position: 58% 42%;
    }
}

@keyframes promoGlowPulse {

    0%,
    100% {
        opacity: 0.58;
        transform: scale(1);
    }

    50% {
        opacity: 0.88;
        transform: scale(1.06);
    }
}

@keyframes promoIconFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }
}

.home-promo-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid rgba(31, 78, 121, 0.22);
    padding: 26px 28px;
    min-height: 174px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 12px 28px rgba(15, 47, 77, 0.14);
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.3s ease;
    animation: promoImageDrift 15s ease-in-out infinite alternate;
}

.home-promo-card::before,
.home-promo-card::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.home-promo-card::before {
    inset: 0;
    background: linear-gradient(112deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0) 50%);
    z-index: 0;
}

.home-promo-card::after {
    width: 240px;
    height: 240px;
    right: -62px;
    top: -108px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.46) 0%, rgba(255, 255, 255, 0) 70%);
    mix-blend-mode: screen;
    z-index: 1;
    animation: promoGlowPulse 5.2s ease-in-out infinite;
}

@media (hover: hover) and (pointer: fine) {
    .home-promo-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 18px 34px rgba(15, 47, 77, 0.22);
    }
}
@media (hover: none) {
    .home-promo-card,
    .home-promo-card:hover,
    .spotlight-card-wrapper,
    .spotlight-card-wrapper:hover,
    .home-livefx .product__item,
    .home-livefx .product__item:hover {
        transform: none !important;
    }
}

.home-promo-card--pcbuilder {
    background-image:
        linear-gradient(90deg, rgba(8, 14, 28, 0.96) 0%, rgba(11, 20, 38, 0.90) 45%, rgba(15, 23, 42, 0.45) 75%, rgba(15, 23, 42, 0.12) 100%),
        url('../images/pc_builder_banner_bg.jpg');
    background-size: cover;
    background-position: center right;
    background-repeat: no-repeat;
    color: #ffffff;
    border: 1px solid rgba(56, 189, 248, 0.22);
    box-shadow: 0 14px 36px rgba(8, 14, 28, 0.25);
}

.home-promo-card--blog {
    background-image:
        linear-gradient(135deg, rgba(15, 23, 42, 0.96) 0%, rgba(20, 24, 61, 0.9) 50%, rgba(55, 12, 82, 0.85) 100%),
        url('../../../images/frontend/blog/69c0dda5504831774247333.webp');
    background-size: auto, cover;
    background-repeat: no-repeat;
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.home-promo-card__content {
    position: relative;
    z-index: 2;
    max-width: 820px;
}

.home-promo-card__tag {
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    border-radius: 999px;
    padding: 6px 14px;
    margin-bottom: 12px;
    backdrop-filter: blur(4px);
}

.home-promo-card--pcbuilder .home-promo-card__tag {
    background: rgba(255, 107, 53, 0.15);
    color: #ff914d;
    border: 1px solid rgba(255, 107, 53, 0.35);
    box-shadow: 0 2px 10px rgba(255, 107, 53, 0.15);
}

.home-promo-card--blog .home-promo-card__tag {
    background: rgba(255, 255, 255, 0.12);
    color: #38bdf8;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.home-promo-card__title {
    margin: 0 0 10px;
    font-size: clamp(24px, 3.2vw, 34px);
    line-height: 1.18;
    font-weight: 900;
    letter-spacing: -0.02em;
}

.home-promo-card--pcbuilder .home-promo-card__title {
    color: #ffffff !important;
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}

.home-promo-card--blog .home-promo-card__title {
    color: #ffffff !important;
    text-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

.home-promo-card__text {
    margin: 0;
    font-size: 14.5px;
    line-height: 1.6;
    max-width: 660px;
}

.home-promo-card--pcbuilder .home-promo-card__text {
    color: rgba(226, 232, 240, 0.92);
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.4);
}

.home-promo-card--blog .home-promo-card__text {
    color: rgba(255, 255, 255, 0.85);
}

.home-promo-card__cta {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    font-weight: 800;
    font-size: 13px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    border-radius: 999px;
    padding: 12px 20px;
    overflow: hidden;
    border: 1px solid transparent;
    transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.home-promo-card__cta::before {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-110%);
    transition: transform 0.36s ease;
    background: linear-gradient(95deg, transparent 0%, rgba(255, 255, 255, 0.32) 46%, transparent 100%);
}

.home-promo-card--pcbuilder .home-promo-card__cta {
    background: linear-gradient(135deg, #ff6b35 0%, #ff8c5a 100%);
    color: #ffffff;
    box-shadow: 0 8px 22px rgba(255, 107, 53, 0.35);
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.home-promo-card--blog .home-promo-card__cta {
    background: linear-gradient(135deg, #0ea5e9 0%, #2563eb 100%);
    color: #ffffff;
    box-shadow: 0 8px 20px rgba(14, 165, 233, 0.3);
}

.home-promo-card__cta i {
    transition: transform 0.24s ease;
}

.home-promo-card:hover .home-promo-card__cta {
    transform: translateY(-1px);
}

.home-promo-card:hover .home-promo-card__cta::before {
    transform: translateX(110%);
}

.home-promo-card:hover .home-promo-card__cta i {
    transform: translateX(4px);
}

.home-promo-card__media {
    position: relative;
    z-index: 2;
    width: 78px;
    height: 78px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 36px;
    animation: promoIconFloat 3.4s ease-in-out infinite;
}

.home-promo-card--pcbuilder .home-promo-card__media {
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.05));
    color: #ff6b35;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2);
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}

.home-promo-card--blog .home-promo-card__media {
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.05));
    color: #38bdf8;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2);
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}

.home-promo-card--blog:hover {
    box-shadow: 0 20px 38px rgba(9, 26, 47, 0.45);
    border-color: rgba(56, 189, 248, 0.35);
}

.home-promo-card--blog:hover .home-promo-card__media {
    transform: scale(1.12) rotate(8deg);
    color: #ffffff;
    background: linear-gradient(145deg, rgba(56, 189, 248, 0.4), rgba(56, 189, 248, 0.2));
    box-shadow: 0 0 20px rgba(56, 189, 248, 0.4), inset 0 0 0 1px rgba(255, 255, 255, 0.3);
}

.home-promo-card--blog:hover .home-promo-card__cta {
    background: linear-gradient(135deg, #38bdf8 0%, #2563eb 100%);
    box-shadow: 0 10px 24px rgba(56, 189, 248, 0.45);
}

.home-promo-card--pcbuilder:hover {
    box-shadow: 0 20px 38px rgba(255, 107, 53, 0.22);
    border-color: rgba(255, 107, 53, 0.45);
}

.home-promo-card--pcbuilder:hover .home-promo-card__media {
    transform: scale(1.12) rotate(-15deg);
    color: #ffffff;
    background: linear-gradient(145deg, rgba(255, 107, 53, 0.4), rgba(255, 107, 53, 0.2));
    box-shadow: 0 0 20px rgba(255, 107, 53, 0.5), inset 0 0 0 1px rgba(255, 255, 255, 0.35);
}

.home-promo-card--pcbuilder:hover .home-promo-card__cta {
    background: linear-gradient(135deg, #ff8c5a 0%, #ff6b35 100%);
    box-shadow: 0 10px 24px rgba(255, 107, 53, 0.45);
}

@media (max-width: 767px) {
    .home-promo-band {
        margin: 14px 0 8px;
    }

    .home-promo-card {
        padding: 16px 16px;
        min-height: 148px;
        gap: 12px;
    }

    .home-promo-card__title {
        font-size: 20px;
    }

    .home-promo-card__text {
        font-size: 13px;
    }

    .home-promo-card__cta {
        margin-top: 10px;
        padding: 9px 13px;
        font-size: 12px;
    }

    .home-promo-card__media {
        width: 56px;
        height: 56px;
        border-radius: 14px;
        font-size: 24px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .home-livefx .home-reveal,
    .home-livefx .hero-area .hero-slide-img,
    .home-livefx .product__item,
    .home-livefx .product__item .product__item-img img,
    .home-livefx .product__item .product-card-image,
    .home-promo-card,
    .home-promo-card::after,
    .home-promo-card__media {
        transition: none !important;
        animation: none !important;
        transform: none !important;
        opacity: 1 !important;
    }
}

/* Other form controls + section header borders */
.section__header,
.cmn--btn:not(button):hover,
.loader::after,
.input-group:focus-within .input-group-text,
.form--control:focus {
    border-color: var(--theme-primary) !important;
}

/* Headings — dark on light backgrounds */
.section__header .title,
h1,
h2,
h3,
h4,
h5,
h6,
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
    color: var(--theme-heading) !important;
}

/* Headings / links inside footer — keep them light on dark navy background */
footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6,
footer h1 a,
footer h2 a,
footer h3 a,
footer h4 a,
footer h5 a,
footer h6 a,
.footer__widget .title,
.footer__bottom__widget .title {
    color: #ffffff !important;
}

/* Footer body links */
.footer__widget ul li a {
    color: #c8d8e8 !important;
}

.footer__widget ul li a:hover {
    color: #ffffff !important;
}

.product__item-img a {
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product__item-img .product-card-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* ── Banner hover zoom effect ─────────────────────────────────────────── */
.banner-box {
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.banner-box:hover {
    transform: scale(1.03);
}

.banner-box img {
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.banner-box:hover img {
    transform: scale(1.015);
}

/* ── Product details: Related/Top shelf header restyle ─────────────────── */
.product-shelf-title {
    margin-bottom: 14px !important;
    padding: 9px 12px !important;
    border-radius: 9px !important;
    border: 1px solid #d4e0ec !important;
    background: linear-gradient(180deg, #ffffff 0%, #eff5fb 100%) !important;
    color: #173f66 !important;
    font-size: 24px;
    font-weight: 650;
    line-height: 1.2;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 10px rgba(31, 78, 121, 0.07);
}

.product-shelf-title+.row {
    margin-top: 8px;
}

.product-shelf-carousel {
    margin-top: 8px;
}

.product-shelf-carousel .owl-stage-outer {
    padding-top: 8px;
}

.product-shelf-carousel__item {
    padding: 0 1px;
}

.product-shelf-carousel .owl-stage {
    display: flex !important;
}

.product-shelf-carousel .owl-item {
    display: flex !important;
    flex-direction: column !important;
    flex-shrink: 0 !important;
}

.product-shelf-carousel .product__item {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

.product-shelf-carousel .product__item-cont {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

.product-shelf-carousel .product__meta-wrapper {
    margin-top: auto !important;
}

.product-shelf-title::before {
    content: '';
    width: 4px;
    height: 18px;
    border-radius: 999px;
    background: linear-gradient(180deg, #1f4e79 0%, #5fa8d3 100%);
    box-shadow: 0 1px 5px rgba(31, 78, 121, 0.18);
}

@media (max-width: 767px) {
    .product-shelf-title {
        padding: 8px 10px !important;
        border-radius: 8px !important;
        font-size: 20px;
    }

    .product-shelf-title+.row {
        margin-top: 6px;
    }

    .product-shelf-carousel {
        margin-top: 6px;
    }

    .product-shelf-carousel .owl-stage-outer {
        padding-top: 6px;
    }

    .product-shelf-carousel .owl-item {
        padding: 0 !important;
    }

    .product-shelf-carousel .product__item-cont {
        padding: 8px 8px 9px;
    }

    .product-shelf-carousel .product__item {
        max-width: none;
        margin: 0;
    }

    .product-shelf-carousel .product__item .title a {
        font-size: 15px;
        line-height: 1.22;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .product-shelf-carousel .product__item .info {
        font-size: 12px;
    }

    .product-shelf-carousel .product__item .d-flex.justify-content-between {
        flex-direction: row;
        align-items: center !important;
        gap: 6px;
        flex-wrap: wrap;
    }

    .product-shelf-carousel .product__item .price {
        font-size: 12px;
        line-height: 1.25;
        white-space: normal;
        word-break: break-word;
    }

    .product-shelf-carousel .product__item .price del {
        font-size: 11px;
    }

    .product-shelf-title::before {
        height: 16px;
    }
}

/* ======================================================================
 * PC BUILDER  —  Full page styles
 * Palette: primary #1f4e79 | accent #5fa8d3 | surface #f4f7fb
 * ====================================================================== */

/* ── Navbar link ─────────────────────────────────────────────────────── */
.pcb-nav-link {
    color: #1f4e79 !important;
    font-weight: 700 !important;
    border: 2px solid #1f4e79;
    border-radius: 999px;
    padding: 4px 14px !important;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: background .2s, color .2s;
    white-space: nowrap;
}

.pcb-nav-link:hover {
    border-color: #4FC4F7 !important;
    color: #4FC4F7 !important;
    background-color: rgba(79, 196, 247, 0.08) !important;
}

.mobile-menu__link--pcbuilder {
    color: #1f4e79 !important;
    font-weight: 700 !important;
}

.mobile-menu__link--pcbuilder i {
    color: #5fa8d3 !important;
}

/* ── Page header ─────────────────────────────────────────────────────── */
.pcb-page-header {
    background: linear-gradient(135deg, #0f2f4d 0%, #1f4e79 60%, #2d6a9f 100%);
    padding: 14px 0 12px;
    margin-bottom: 0;
}

.pcb-page-title {
    color: #ffffff !important;
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 2px;
}

.pcb-page-title i {
    color: #5fa8d3 !important;
}

.pcb-page-header .breadcrumb-item a {
    color: #a8cde8 !important;
}

.pcb-page-header .breadcrumb-item.active {
    color: #e0ecf5 !important;
}

.pcb-page-header .breadcrumb-item+.breadcrumb-item::before {
    color: #6a9cbf;
}

.pcb-badge {
    background: rgba(255, 255, 255, .18);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .35);
    padding: 5px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
}

/* ── Main section ────────────────────────────────────────────────────── */
.pcb-section {
    background: #f4f7fb;
    padding: 36px 0 60px;
}

/* ── Slots wrapper ───────────────────────────────────────────────────── */
.pcb-slots-wrapper {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #dde3f0;
    box-shadow: 0 2px 12px rgba(31, 78, 121, .07);
    overflow: hidden;
}

.pcb-slots-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 18px 22px;
    background: #f0f4fa;
    border-bottom: 1px solid #dde3f0;
    flex-wrap: wrap;
}

.pcb-slots-header h5 {
    color: #0f2f4d !important;
    font-weight: 700;
}

/* ── Single slot card ────────────────────────────────────────────────── */
.pcb-slot-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 22px;
    border-bottom: 1px solid #e8edf8;
    transition: background .15s;
    flex-wrap: wrap;
}

.pcb-slot-card:last-child {
    border-bottom: none;
}

.pcb-slot-card:hover {
    background: #f8fafd;
}

.pcb-slot-card--selected {
    background: #f0f7ff;
}

/* Slot icon */
.pcb-slot-left {
    display: flex;
    align-items: center;
    gap: 14px;
    flex: 0 0 220px;
    min-width: 0;
}

.pcb-slot-icon {
    width: 46px;
    height: 46px;
    border-radius: 10px;
    background: #eef3fa;
    border: 2px solid #d0dce8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: #6a9cbf;
    flex-shrink: 0;
    transition: background .2s, border-color .2s, color .2s;
}

.pcb-slot-icon--filled {
    background: #1f4e79;
    border-color: #1f4e79;
    color: #fff;
}

.pcb-slot-meta {
    min-width: 0;
}

.pcb-slot-label {
    display: block;
    font-weight: 700;
    color: #0f2f4d;
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pcb-required-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    background: #fdecea;
    color: #c0392b;
    border-radius: 4px;
    padding: 1px 6px;
    margin-top: 3px;
}

.pcb-optional-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    background: #e8f4ed;
    color: #1a7a45;
    border-radius: 4px;
    padding: 1px 6px;
    margin-top: 3px;
}

/* Slot right side */
.pcb-slot-right {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 0;
}

.pcb-empty-state {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.pcb-empty-text {
    color: #9aabbc;
    font-size: 13px;
}

/* Selected product inside slot */
.pcb-selected-product {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
    flex-wrap: wrap;
}

.pcb-product-thumb {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    max-height: 56px !important;
    object-fit: contain !important;
    border-radius: 8px;
    border: 1px solid #e0e8f0;
    background: #f8fafd;
    flex-shrink: 0 !important;
    display: block !important;
}

.pcb-product-info {
    flex: 1;
    min-width: 0;
}

.pcb-product-name {
    display: block;
    font-weight: 600;
    color: #0f2f4d;
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-decoration: none !important;
}

.pcb-product-name:hover {
    color: #1f4e79 !important;
}

.pcb-product-price {
    display: block;
    color: #5fa8d3;
    font-weight: 700;
    font-size: 14px;
    margin-top: 2px;
}

/* Slot action buttons */
.pcb-slot-actions {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}

.pcb-btn-change {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid #5fa8d3;
    background: transparent;
    color: #5fa8d3;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s, color .2s;
    padding: 0;
}

.pcb-btn-change:hover {
    background: #5fa8d3;
    color: #fff;
}

.pcb-btn-remove {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid #e0472b;
    background: transparent;
    color: #e0472b;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s, color .2s;
    padding: 0;
}

.pcb-btn-remove:hover {
    background: #e0472b;
    color: #fff;
}

/* ── Guide note ──────────────────────────────────────────────────────── */
.pcb-guide-note {
    margin-top: 16px;
    padding: 12px 18px;
    background: #fff8e1;
    border-left: 4px solid #f59e0b;
    border-radius: 0 8px 8px 0;
    color: #7c5c0b;
    font-size: 13px;
    line-height: 1.5;
}

/* ── Summary sidebar card ────────────────────────────────────────────── */
.pcb-summary-card {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #dde3f0;
    box-shadow: 0 2px 16px rgba(31, 78, 121, .09);
    overflow: hidden;
}

.pcb-summary-header {
    padding: 16px 20px;
    background: linear-gradient(90deg, #1f4e79, #2d6a9f);
    color: #fff;
}

.pcb-summary-header h5 {
    color: #fff !important;
    font-weight: 700;
}

.pcb-summary-body {
    padding: 16px 20px;
}

.pcb-summary-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pcb-summary-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    padding: 7px 0;
    border-bottom: 1px solid #f0f4fa;
    font-size: 13px;
}

.pcb-summary-item:last-child {
    border-bottom: none;
}

.pcb-summary-slot-name {
    color: #4a6582;
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pcb-summary-slot-name i {
    color: #5fa8d3;
}

.pcb-summary-slot-val {
    flex-shrink: 0;
}

.pcb-summary-price {
    color: #0f2f4d;
    font-weight: 700;
}

.pcb-total-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.pcb-total-label {
    font-weight: 700;
    color: #0f2f4d;
    font-size: 15px;
}

.pcb-total-price {
    font-weight: 800;
    color: #1f4e79;
    font-size: 20px;
}

/* ── Modal ───────────────────────────────────────────────────────────── */
.pcb-modal-header {
    background: linear-gradient(90deg, #1f4e79, #2d6a9f);
    color: #fff !important;
    border-bottom: none;
}

.pcb-modal-header h5 {
    color: #fff !important;
}

.pcb-modal-close {
    background: transparent;
    border: none;
    color: #ffffff;
    font-size: 28px;
    line-height: 1;
    padding: 0 4px;
    cursor: pointer;
    opacity: 0.85;
    font-weight: 400;
    margin-left: auto;
}

.pcb-modal-close:hover {
    opacity: 1;
    color: #ffffff;
}

.pcb-picker-search {
    padding: 16px 20px;
    background: #f4f7fb;
    border-bottom: 1px solid #dde3f0;
}

.pcb-picker-body {
    padding: 20px;
    min-height: 240px;
}

/* Product card grid in picker modal */
.pcb-products-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}

.pcb-product-card {
    background: #fff;
    border-radius: 10px;
    border: 1px solid #e0e8f0;
    overflow: hidden;
    transition: box-shadow .2s, transform .2s;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
}

.pcb-product-card:hover {
    box-shadow: 0 6px 20px rgba(31, 78, 121, .13);
    transform: translateY(-2px);
}

.pcb-product-card__img {
    width: 100%;
    height: 140px;
    background: #f8fafd;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-bottom: 1px solid #e8edf8;
    padding: 10px;
    flex-shrink: 0;
}

.pcb-product-card__img img {
    max-width: 100% !important;
    max-height: 120px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block;
}

.pcb-product-card__body {
    padding: 12px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.pcb-product-card__name {
    font-size: 13px;
    font-weight: 600;
    color: #0f2f4d;
    margin: 0;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.pcb-product-card__price {
    font-size: 15px;
    font-weight: 800;
    color: #1f4e79;
}

.pcb-stock-badge {
    font-size: 10px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 4px;
    text-transform: uppercase;
}

.pcb-stock-badge--in {
    background: #e8f4ed;
    color: #1a7a45;
}

.pcb-stock-badge--out {
    background: #fdecea;
    color: #c0392b;
}

/* ── Toast notification ──────────────────────────────────────────────── */
.pcb-toast {
    position: fixed;
    bottom: 80px;
    right: 20px;
    z-index: 9999;
    min-width: 280px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, .15);
}

/* ── Multi-select slot (Accessories) ─────────────────────────────────── */
.pcb-slot-right--multi {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 8px;
    padding: 6px 0;
}

.pcb-multi-list {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.pcb-multi-item {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f0f7ff;
    border: 1px solid #d0e4f5;
    border-radius: 8px;
    padding: 7px 10px;
    width: 100%;
    animation: pcbFadeIn .25s ease;
}

@keyframes pcbFadeIn {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.pcb-multi-item .pcb-product-info {
    flex: 1;
    min-width: 0;
}

.pcb-multi-item .pcb-btn-remove {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    font-size: 13px;
}

/* "Add Accessory" button inside multi slot */
.pcb-slot-right--multi .cmn--btn {
    font-size: 13px;
    padding: 6px 14px !important;
}

/* ── Responsive adjustments ──────────────────────────────────────────── */
@media (max-width: 767px) {
    .pcb-page-header {
        padding: 10px 0 8px;
    }

    .pcb-page-title {
        font-size: 1.25rem;
    }

    .pcb-slot-card {
        padding: 12px 14px;
        flex-wrap: wrap;
        gap: 10px;
    }

    .pcb-slot-left {
        flex: 0 0 100%;
    }

    .pcb-slot-right {
        width: 100%;
        justify-content: flex-start;
    }

    .pcb-empty-state {
        width: 100%;
    }

    .pcb-products-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
    }

    .pcb-product-card {
        width: 100%;
        max-width: 100%;
    }

    .pcb-product-card__img {
        width: 100%;
        height: 110px;
    }

    .pcb-picker-body {
        padding: 14px;
    }
}

@media (max-width: 575px) {
    .pcb-products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .pcb-product-card__img {
        width: 100%;
        height: 100px;
    }

    .pcb-product-card__name {
        font-size: 12px;
    }
}

/* ── All Categories & Subcategories Dropdown — Modern Premium Style ────────── */
@media (min-width: 992px) {
    .header-menu .category-link-area {
        position: relative !important;
        z-index: 1050 !important;
    }

    /* Chevron rotation micro-animation on category button */
    .header-menu .category-link-area .categoryButton i {
        display: inline-block !important;
        transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1) !important;
    }
    .header-menu .category-link-area:hover .categoryButton i {
        transform: rotate(180deg) !important;
    }

    /* Main Dropdown Container */
    .header-menu .category-link-area .category-link {
        min-width: 235px !important;
        background: #ffffff !important;
        border: 1px solid rgba(15, 37, 74, 0.09) !important;
        border-radius: 12px !important;
        box-shadow: 0 16px 40px rgba(11, 37, 74, 0.12), 0 2px 6px rgba(0, 0, 0, 0.03) !important;
        padding: 8px !important;
        margin-top: 4px !important;
        z-index: 1050 !important;
    }

    /* Invisible bridge between button and dropdown to eliminate mouse-leave gap */
    .header-menu .category-link-area .category-link::before {
        content: '' !important;
        position: absolute !important;
        top: -12px !important;
        left: 0 !important;
        right: 0 !important;
        height: 14px !important;
        background: transparent !important;
    }

    /* Reset category list items */
    .header-menu .category-link-area .category-link li {
        width: 100% !important;
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
        position: relative !important;
    }

    /* Category Link Row */
    .header-menu .category-link-area .category-link li > a {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        font-family: inherit !important;
        font-size: 13.5px !important;
        font-weight: 500 !important;
        color: #334155 !important;
        padding: 9px 14px !important;
        margin: 2px 0 !important;
        border-radius: 8px !important;
        border: none !important;
        background: transparent !important;
        height: auto !important;
        transition: all 0.2s cubic-bezier(0.2, 0, 0, 1) !important;
    }

    /* Chevron indicator */
    .header-menu .category-link-area .category-link li.cate-icon > a::after {
        color: #94a3b8 !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        transition: transform 0.2s ease, color 0.2s ease !important;
    }

    /* Sleek Hover State (Subtle tint & brand color, no messy solid box) */
    .header-menu .category-link-area .category-link li > a:hover {
        background: rgba(31, 78, 121, 0.07) !important;
        color: var(--color-primary, #1f4e79) !important;
        font-weight: 600 !important;
        padding-left: 17px !important;
    }

    .header-menu .category-link-area .category-link li > a:hover::after {
        color: var(--color-primary, #1f4e79) !important;
        transform: translateX(3px) !important;
    }

    /* Active Parent State when viewing subcategories */
    .header-menu .category-link-area .category-link li:hover > a,
    .header-menu .category-link-area .category-link li.open > a {
        background: rgba(31, 78, 121, 0.09) !important;
        color: var(--color-primary, #1f4e79) !important;
        font-weight: 600 !important;
    }

    .header-menu .category-link-area .category-link li:hover > a::after,
    .header-menu .category-link-area .category-link li.open > a::after {
        color: var(--color-primary, #1f4e79) !important;
        transform: translateX(3px) !important;
    }

    /* Subcategory Panel */
    .header-menu .category-link-area .category-link li .category-sublink {
        min-width: 220px !important;
        background: #ffffff !important;
        border: 1px solid rgba(15, 37, 74, 0.09) !important;
        border-radius: 12px !important;
        box-shadow: 0 16px 42px rgba(11, 37, 74, 0.14), 0 4px 12px rgba(0, 0, 0, 0.04) !important;
        padding: 8px !important;
        left: calc(100% + 4px) !important;
        top: 0 !important;
        height: auto !important;
        min-height: 100% !important;
        z-index: 1051 !important;
    }

    /* Invisible bridge between category item and subcategory panel (diagonal mouse path) */
    .header-menu .category-link-area .category-link li .category-sublink::before {
        content: '' !important;
        position: absolute !important;
        left: -14px !important;
        top: 0 !important;
        bottom: 0 !important;
        width: 16px !important;
        background: transparent !important;
    }

    /* Subcategory links */
    .header-menu .category-link-area .category-link li .category-sublink li {
        width: 100% !important;
        background: transparent !important;
        border: none !important;
        position: relative !important;
    }

    .header-menu .category-link-area .category-link li .category-sublink li a {
        display: flex !important;
        align-items: center !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        color: #334155 !important;
        padding: 8px 12px !important;
        margin: 2px 0 !important;
        border-radius: 7px !important;
        background: transparent !important;
        border: none !important;
        transition: all 0.2s cubic-bezier(0.2, 0, 0, 1) !important;
    }

    .header-menu .category-link-area .category-link li .category-sublink li a:hover {
        background: rgba(31, 78, 121, 0.07) !important;
        color: var(--color-primary, #1f4e79) !important;
        font-weight: 600 !important;
        padding-left: 16px !important;
    }

    /* Multi-level subcategories support (RAM -> DDR4 / DDR5) */
    .header-menu .category-link-area .category-link li .category-sublink li.cate-icon > a {
        justify-content: space-between !important;
    }
    .header-menu .category-link-area .category-link li .category-sublink li.cate-icon > a::after {
        content: "\f105" !important;
        font-family: "Line Awesome Free" !important;
        font-weight: 900 !important;
        color: #94a3b8 !important;
        font-size: 12px !important;
        margin-left: 8px !important;
        transition: transform 0.2s ease, color 0.2s ease !important;
    }
    .header-menu .category-link-area .category-link li .category-sublink li.cate-icon > a:hover::after,
    .header-menu .category-link-area .category-link li .category-sublink li:hover.cate-icon > a::after {
        color: var(--color-primary, #1f4e79) !important;
        transform: translateX(3px) !important;
    }

    /* "View All Categories" Footer Link */
    .header-menu .category-link-area .category-link > li:last-child > a {
        border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
        margin-top: 6px !important;
        padding-top: 10px !important;
        font-weight: 600 !important;
        color: var(--color-primary, #1f4e79) !important;
        border-radius: 0 0 8px 8px !important;
    }

    .header-menu .category-link-area .category-link > li:last-child > a:hover {
        background: rgba(31, 78, 121, 0.08) !important;
        color: #0b254a !important;
        padding-left: 17px !important;
    }
}

/* ===== CATEGORY & BRAND DESCRIPTIONS ===== */
/* Above-the-fold: Short description (1-2 sentences) */
.category-short-description {
    background: #f0f7fe;
    border-left: 4px solid var(--theme-accent);
    border-radius: 0 8px 8px 0;
    padding: 14px 18px;
    margin-bottom: 24px;
}

.category-short-description p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #4a6582;
}

/* Below-the-fold: Long description (detailed SEO content) */
.category-long-description {
    background: #ffffff;
    border-radius: 10px;
    border: 1px solid #dde3f0;
    padding: 24px;
    box-shadow: 0 2px 12px rgba(31, 78, 121, 0.08);
}

.category-long-description h2 {
    color: var(--theme-heading) !important;
    font-size: 1.35rem !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--theme-surface);
}

.category-desc-content {
    color: #4a6582;
    font-size: 14px;
}

.category-desc-content p {
    margin-bottom: 12px;
    line-height: 1.7;
}

.category-desc-content ul,
.category-desc-content ol {
    padding-left: 1.5rem;
    margin-bottom: 16px;
}

.category-desc-content li {
    margin-bottom: 8px;
    line-height: 1.6;
}

.category-desc-content strong {
    color: var(--theme-heading);
    font-weight: 600;
}

/* Responsive adjustments */
@media (max-width: 767px) {
    .category-short-description {
        padding: 12px 14px;
        margin-bottom: 18px;
    }

    .category-short-description p {
        font-size: 13px;
    }

    .category-long-description {
        padding: 16px;
    }

    .category-long-description h2 {
        font-size: 1.15rem !important;
        margin-bottom: 12px !important;
    }

    .category-desc-content {
        font-size: 13px;
    }
}

/* ══════════════════════════════════════════════════════════════════════
   WHATSAPP FLOATING CHAT BUTTON
   ══════════════════════════════════════════════════════════════════════ */
.whatsapp-btn {
    position: fixed;
    bottom: 30px;
    right: 20px;
    width: 56px;
    height: 56px;
    background: linear-gradient(135deg, #25d366, #20ba5d);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 28px;
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.4);
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 9000;
    border: none;
    text-decoration: none;
    cursor: pointer;
}

.whatsapp-btn:hover {
    transform: scale(1.1);
    box-shadow: 0 8px 24px rgba(37, 211, 102, 0.5);
    bottom: 35px;
}

.whatsapp-btn:active {
    transform: scale(0.95);
}

@media (max-width: 575px) {
    .whatsapp-btn {
        width: 50px;
        height: 50px;
        font-size: 24px;
        bottom: 20px;
        right: 15px;
    }

    .whatsapp-btn:hover {
        bottom: 25px;
    }
}

/* ── Site-wide page background gradient ────────────────────────────────────
   Matches the repair-status page visual: soft blue fade + corner colour blobs
   + two animated blurred orbs. Pages that define their own bg will override.
   ────────────────────────────────────────────────────────────────────────── */
#main-content {
    background:
        radial-gradient(circle at 8% 10%, rgba(31, 101, 214, 0.11), transparent 24%),
        radial-gradient(circle at 90% 14%, rgba(244, 95, 124, 0.13), transparent 26%),
        linear-gradient(180deg, #f5f9ff 0%, #edf2fa 100%);
    position: relative;
    isolation: isolate;
}

#main-content::before,
#main-content::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: -1;
    filter: blur(8px);
    opacity: .45;
}

#main-content::before {
    width: 340px;
    height: 340px;
    left: -90px;
    top: 160px;
    background: radial-gradient(circle, rgba(40, 120, 255, .22), rgba(40, 120, 255, .02));
    animation: siteOrbA 18s ease-in-out infinite;
}

#main-content::after {
    width: 300px;
    height: 300px;
    right: -80px;
    top: 240px;
    background: radial-gradient(circle, rgba(244, 95, 124, .18), rgba(244, 95, 124, .02));
    animation: siteOrbB 22s ease-in-out infinite;
}

@keyframes siteOrbA {

    0%,
    100% {
        transform: translate(0, 0);
    }

    50% {
        transform: translate(38px, -26px);
    }
}

@keyframes siteOrbB {

    0%,
    100% {
        transform: translate(0, 0);
    }

    50% {
        transform: translate(-42px, 30px);
    }
}

/* ── Mobile distributed banner strips ─────────────────────────────────────
   Shown only on mobile (d-md-none). Constrained height so they read as
   compact editorial breaks between product sections, not full-page images.
   ────────────────────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
    .mobile-banner-half {
        max-height: 95px;
        object-fit: cover;
        object-position: center;
    }
}

/* ── CSS-only mobile promo strips (no image — no crop issues) ──────────────
   Two variants: repair (navy-blue) and delivery (forest-green).
   ────────────────────────────────────────────────────────────────────────── */
.mobile-promo-strip {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 14px;
    text-decoration: none;
    color: #ffffff;
    min-height: 72px;
    position: relative;
    overflow: hidden;
    transition: transform 0.22s ease, box-shadow 0.22s ease;
}

/* Shimmer sweep — auto-loops every 3.5s */
.mobile-promo-strip::after {
    content: '';
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: linear-gradient(105deg, transparent 30%, rgba(255, 255, 255, 0.28) 50%, transparent 70%);
    transform: skewX(-18deg);
    animation: promoStripShimmer 3.5s ease-in-out infinite;
    pointer-events: none;
}

@keyframes promoStripShimmer {
    0% {
        left: -75%;
    }

    55% {
        left: 130%;
    }

    100% {
        left: 130%;
    }
}

.mobile-promo-strip::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(108deg, rgba(255, 255, 255, 0.13) 0%, transparent 55%);
    pointer-events: none;
}

.mobile-promo-strip:active {
    transform: scale(0.98);
}

/* Repair variant */
.mobile-promo-strip--repair {
    background: linear-gradient(108deg, #0c2340 0%, #15527d 55%, #1e7db8 100%);
    box-shadow: 0 6px 18px rgba(12, 35, 64, 0.32);
}

/* Genuine Products variant */
.mobile-promo-strip--genuine {
    background: linear-gradient(108deg, #5c3200 0%, #a05c00 55%, #c97e00 100%);
    box-shadow: 0 6px 18px rgba(92, 50, 0, 0.35);
}

/* Icon pulse */
.mobile-promo-strip__icon {
    font-size: 30px;
    opacity: 0.92;
    flex-shrink: 0;
    line-height: 1;
    animation: promoIconPulse 2.8s ease-in-out infinite;
}

@keyframes promoIconPulse {

    0%,
    100% {
        transform: scale(1);
        opacity: 0.92;
    }

    50% {
        transform: scale(1.18);
        opacity: 1;
    }
}

.mobile-promo-strip__body {
    flex: 1;
    line-height: 1.3;
}

.mobile-promo-strip__body strong {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #ffffff !important;
}

.mobile-promo-strip__body span {
    display: block;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.82) !important;
    margin-top: 2px;
}

.mobile-promo-strip__cta {
    font-size: 12px;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 999px;
    padding: 5px 12px;
    white-space: nowrap;
    flex-shrink: 0;
    color: #ffffff !important;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* Arrow bounce inside CTA */
.mobile-promo-strip__cta i {
    animation: promoArrowBounce 1.6s ease-in-out infinite;
}

@keyframes promoArrowBounce {

    0%,
    100% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(3px);
    }
}


/* ═══════════════════════════════════════════════════════════════
   Homepage UI/UX improvements — v2
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. Promo card body text: hidden on small phones ─────────── */
@media (max-width: 575px) {
    .home-promo-card__text {
        display: none;
    }
}

/* ── 2. "Add to Cart" always visible on touch/mobile screens ─── */
/*      On desktop hover reveals the button; on touch it never    */
/*      triggers so we make it always visible for mobile UX.      */

/* ── Product card bottom section alignment (mobile col-6 cards) ─────────────
   Layout: [In Stock ............ ★★★★☆]
           [Rs18,450  Rs22,500̶        ]
   ─────────────────────────────────────────────────────────────────────────── */
@media (max-width: 575px) {
    .product__item-cont {
        padding: 10px 10px 12px;
    }

    .product__item-cont .title {
        font-size: 12px;
        margin-bottom: 3px;
    }

    /* Stock + ratings row */
    .product__stock-rating-row {
        gap: 4px;
    }

    .product__stock-rating-row .info {
        font-size: 11px;
        white-space: nowrap;
    }

    .product__stock-rating-row .ratings {
        font-size: 10px;
        flex-shrink: 0;
    }

    /* Price row */
    .product__item-cont .price {
        font-size: 13px;
        font-weight: 700;
        line-height: 1.3;
        display: flex;
        align-items: baseline;
        flex-wrap: wrap;
        gap: 4px;
    }

    .product__item-cont .price del {
        font-size: 11px;
        font-weight: 400;
        opacity: 0.75;
    }
}

/* ── Mobile product card interactions ──────────────────────────────────────── */

/* Cart button: ghost transparent icon, always visible on touch devices */
@media (max-width: 991px) {
    .product__meta-wrapper {
        padding-right: 36px;
    }

    .product__item .hover-cont-wrapper {
        position: absolute;
        opacity: 1 !important;
        visibility: visible !important;
        bottom: 8px;
        right: 8px;
        left: auto;
        width: auto;
        background: transparent !important;
        border-top: none !important;
        padding: 0 !important;
        margin: 0 !important;
        z-index: 5;
    }

    .product__item .hover-cont-area {
        max-width: none;
        margin: 0;
    }

    /* Premium circular icon-only cart button */
    .product__item .hover-cont-area .add-to-cart {
        width: 32px !important;
        height: 32px !important;
        min-width: 0 !important;
        background: linear-gradient(135deg, #4FC4F7 0%, #0b254a 100%) !important;
        border: none !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        box-shadow: 0 3px 8px rgba(79, 196, 247, 0.3) !important;
        transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    }

    .product__item .hover-cont-area .add-to-cart:hover,
    .product__item .hover-cont-area .add-to-cart:active {
        transform: scale(1.05);
        box-shadow: 0 4px 12px rgba(11, 37, 74, 0.4) !important;
    }

    .product__item .hover-cont-area .add-to-cart .cart-btn-text {
        display: none !important;
    }

    .product__item .hover-cont-area .add-to-cart i {
        font-size: 15px !important;
        color: #ffffff !important;
        margin: 0 !important;
    }
}

/* Wishlist & quick-view: pop up when product card gets .active (via JS tap) */
.product__item.active .product-right-btn a {
    transform: scale(1) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* ── 3. Section header colour accent bars ────────────────────── */
/*      Thin left-border accent gives each section a visual cue.  */
.today-deal-section .section__header .title,
.hot-deal-section .section__header .title,
.new-arrivals-section .section__header .title,
.best-selling-section .section__header .title {
    position: relative;
    padding-left: 14px;
}

.today-deal-section .section__header .title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 15%;
    height: 70%;
    width: 4px;
    border-radius: 2px;
    background: linear-gradient(180deg, #c0392b 0%, #ff6b6b 100%);
}

.hot-deal-section .section__header .title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 15%;
    height: 70%;
    width: 4px;
    border-radius: 2px;
    background: linear-gradient(180deg, #e65c00 0%, #f9a825 100%);
}

.new-arrivals-section .section__header .title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 15%;
    height: 70%;
    width: 4px;
    border-radius: 2px;
    background: linear-gradient(180deg, #0a7640 0%, #34d399 100%);
}

.best-selling-section .section__header .title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 15%;
    height: 70%;
    width: 4px;
    border-radius: 2px;
    background: linear-gradient(180deg, #7c3aed 0%, #a78bfa 100%);
}

/* ── 4. Hero "Shop Now" — larger tap target on mobile ────────── */
@media (max-width: 767px) {
    .hero-area .button-bottom-right .btn {
        padding: 8px 18px !important;
        font-size: 13px !important;
        border-radius: 6px;
    }
}

/* ── 5. Scroll-to-top: clear the 62px mobile bottom nav ─────── */
@media (max-width: 991px) {
    .scrollToTop {
        bottom: 74px;
        right: 14px;
    }
}

/* ── 6. Today's Deal urgency progress bar ───────────────────── */
.deal-progress-wrap {
    width: 100%;
    height: 3px;
    background: rgba(0, 0, 0, 0.07);
    border-radius: 2px;
    overflow: hidden;
    margin-bottom: 16px;
}

.deal-progress-bar {
    height: 100%;
    border-radius: 2px;
    background: linear-gradient(90deg, #c0392b 0%, #ff6b6b 60%, #ffb347 100%);
    transition: width 1s linear;
    width: 100%;
}

/* ═══════════════════════════════════════════════════════════════════════════
   PRODUCT CARD POLISH
   1. Rounded card + shadow      5. Price in brand colour
   2. Image area background      6. Out-of-Stock dimming
   3. Discount badge pill        7. Cart tap scale feedback
   4. Title 2-line clamp
   ═══════════════════════════════════════════════════════════════════════════ */

/* 1 ── Rounded card + subtle shadow + soft border ─────────────────────── */
.product__item {
    border-radius: 10px;
    border: 1px solid rgba(0, 0, 0, 0.07);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    overflow: visible;
}

/* Image area: overflow visible so badge at top:-10px isn't clipped */
.product__item-img {
    overflow: visible;
    border-radius: 10px 10px 0 0;
}

/* Clip image zoom on the <a> tag instead — badge is a sibling so it stays visible */
.product__item-img>a {
    display: block;
    overflow: hidden;
    border-radius: 10px 10px 0 0;
}

/* 2 ── White image area background (consistent with card) ──────────────── */
.product__item-img {
    background: #ffffff;
}

/* 3 ── Discount badge: Festive Dashain & Tihar celebratory styling ───────── */
.product__item-img .badge--discount {
    position: absolute;
    top: 8px !important;
    left: 8px !important;
    z-index: 3 !important;
    background: linear-gradient(135deg, #dc2626 0%, #ea580c 50%, #d97706 100%) !important;
    border: 1px solid rgba(254, 240, 138, 0.5) !important;
    color: #ffffff !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    padding: 3px 8px 3px 6px !important;
    border-radius: 6px !important;
    line-height: 1.25 !important;
    letter-spacing: 0.25px !important;
    min-width: 0 !important;
    box-shadow: 0 3px 10px rgba(220, 38, 38, 0.35) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    white-space: nowrap !important;
}

.product__item-img .badge--discount .festive-diya {
    font-size: 11px;
    line-height: 1;
    filter: drop-shadow(0 0 3px rgba(255, 215, 0, 0.8));
    display: inline-block;
}

.product__item-img .badge--discount .festive-tag-text {
    font-size: 9px;
    font-weight: 700;
    color: #fef08a;
    letter-spacing: 0.2px;
}

.product__item-img .badge--discount .discount-sep {
    font-size: 8px;
    opacity: 0.75;
    margin: 0 1px;
}

.product__item-img .badge--discount .discount-amount {
    font-family: "Josefin Sans", sans-serif;
    font-weight: 700;
    letter-spacing: 0.2px;
}

@media (max-width: 575px) {
    .product__item-img .badge--discount {
        top: 6px !important;
        left: 6px !important;
        padding: 2px 6px !important;
        font-size: 9.5px !important;
        gap: 2px !important;
    }
    .product__item-img .badge--discount .festive-tag-text,
    .product__item-img .badge--discount .discount-sep {
        display: none !important;
    }
}

/* 4 ── Title: 2-line clamp + separator line below ──────────────────────── */
.product__item-cont .title {
    padding-bottom: 7px;
    margin-bottom: 6px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}

.product__item-cont .title a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

/* 5 ── Price in brand colour ───────────────────────────────────────────── */
.product__item-cont .price {
    color: var(--base-color, #4fc4f7);
}

.product__item-cont .price del {
    color: #999;
}

/* 6 ── Out-of-Stock: dim image + disable cart ──────────────────────────── */
.product__item:has(.info.text--danger) .product__item-img img,
.product__item:has(.info.text--danger) .product-card-image {
    opacity: 0.45;
    filter: grayscale(40%);
}

.product__item:has(.info.text--danger) .add-to-cart {
    pointer-events: none;
    opacity: 0.3;
    cursor: not-allowed;
}

/* 7 ── Cart tap scale feedback (touch devices only) ────────────────────── */
@media (hover: none) {
    .product__item .hover-cont-area .add-to-cart {
        transition: transform 0.1s ease, filter 0.1s ease;
    }

    .product__item .hover-cont-area .add-to-cart:active {
        transform: scale(0.80) !important;
        filter: drop-shadow(0 1px 2px rgba(11, 37, 74, 0.36)) drop-shadow(0 0 6px rgba(79, 196, 247, 0.82)) !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   PREMIUM FOOTER REDESIGN — S3 TECH
   Radial gradients, glassmorphic benefit cards, status indicator,
   glowing focus inputs, animated underlines, and custom grid systems.
═══════════════════════════════════════════════════════════════════════════ */

/* ── Easing tokens ───────────────────────────────────────────────────── */
:root {
    --ft-ease-out: cubic-bezier(0.25, 1, 0.5, 1);
    --ft-ease-in-out: cubic-bezier(0.76, 0, 0.24, 1);
    --ft-glow-color: rgba(79, 196, 247, 0.15);
}

/* ── Keyframes ───────────────────────────────────────────────────────── */
@keyframes ft-fade-up {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes ft-brand-in {
    from {
        opacity: 0;
        transform: translateY(-12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes ft-glow-pulse {

    0%,
    100% {
        box-shadow: 0 0 0 0 rgba(79, 196, 247, 0);
    }

    50% {
        box-shadow: 0 0 16px 4px rgba(79, 196, 247, 0.25);
    }
}

@keyframes status-pulse {

    0%,
    100% {
        transform: scale(1);
        opacity: 1;
        box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.6);
    }

    50% {
        transform: scale(1.2);
        opacity: 0.8;
        box-shadow: 0 0 8px 3px rgba(16, 185, 129, 0.35);
    }
}

/* ── Modern Redesigned Footer (As shown in design) ───────────────────── */
footer,
.s3-footer {
    background-color: #0b1a30 !important;
    background-image: url('img/footer-bg.png') !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    position: relative !important;
    overflow: hidden !important;
    color: #cbd5e1 !important;
    padding-top: 0 !important;
}

.s3-footer .footer-top {
    background: transparent !important;
    padding: 60px 0 20px !important;
}

.s3-footer .footer-bottom {
    background: transparent !important;
    padding: 20px 0 45px !important;
    border-top: none !important;
}

/* ── 4-Column Top Grid ──────────────────────────────────────────────── */
.footer-top-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 36px !important;
    align-items: start !important;
}

.footer-col {
    width: 100% !important;
}

/* ── Accent Bars & Section Titles ───────────────────────────────────── */
.footer-title-wrap {
    margin-bottom: 22px !important;
}

.footer-accent-bar {
    display: block !important;
    width: 28px !important;
    height: 2.5px !important;
    background: #0ea5e9 !important;
    border-radius: 2px !important;
    margin-bottom: 10px !important;
}

.footer-title {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #ffffff !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    line-height: 1.4 !important;
}

/* ── Top Grid Links ─────────────────────────────────────────────────── */
.footer-links {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.footer-links li {
    margin-bottom: 12px !important;
    line-height: 1.4 !important;
}

.footer-links li a {
    color: #94a3b8 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    transition: color 0.2s ease, transform 0.2s ease !important;
    display: inline-block !important;
}

.footer-links li a:hover {
    color: #ffffff !important;
    transform: translateX(2px) !important;
}

.footer-links li.view-all-item {
    margin-top: 14px !important;
}

.footer-links li.view-all-item a.view-all-link {
    color: #0ea5e9 !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.footer-links li.view-all-item a.view-all-link:hover {
    color: #38bdf8 !important;
    transform: translateX(4px) !important;
}

/* ── Center Divider ─────────────────────────────────────────────────── */
.footer-divider {
    width: 100% !important;
    height: 1px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    margin: 25px 0 !important;
}

/* ── Bottom Section 3-Column Grid ───────────────────────────────────── */
.footer-bottom-grid {
    display: grid !important;
    grid-template-columns: 1.4fr 1fr 1.2fr !important;
    gap: 40px !important;
    align-items: start !important;
}

.footer-bottom-col {
    width: 100% !important;
}

/* ── Column 1: Newsletter ───────────────────────────────────────────── */
.footer-desc {
    color: #94a3b8 !important;
    font-size: 13.5px !important;
    line-height: 1.5 !important;
    margin-bottom: 18px !important;
}

.newsletter-form-modern {
    width: 100% !important;
    max-width: 360px !important;
}

.newsletter-input-box {
    display: flex !important;
    align-items: center !important;
    height: 46px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

.newsletter-input-box:focus-within {
    background: rgba(255, 255, 255, 0.07) !important;
    border-color: #0ea5e9 !important;
    box-shadow: 0 0 14px rgba(14, 165, 233, 0.25) !important;
}

.newsletter-input {
    flex: 1 !important;
    height: 100% !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    color: #ffffff !important;
    font-size: 13.5px !important;
    padding: 0 16px !important;
}

.newsletter-input::placeholder {
    color: #64748b !important;
}

.newsletter-btn {
    width: 48px !important;
    height: 100% !important;
    background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%) !important;
    border: none !important;
    color: #ffffff !important;
    font-size: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: filter 0.2s ease, transform 0.15s ease !important;
}

.newsletter-btn:hover {
    filter: brightness(1.15) !important;
}

.newsletter-btn:active {
    transform: scale(0.96) !important;
}

/* ── Column 2: Payment Methods ──────────────────────────────────────── */
.footer-payment-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: center !important;
}

.pay-card {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 6px !important;
    padding: 4px 8px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.pay-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
}

.pay-card-logo {
    width: 90px !important;
    height: 44px !important;
    padding: 6px 10px !important;
}

.pay-card img {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    display: block !important;
}

/* ── Column 3: Find Us Contact Items ────────────────────────────────── */
.footer-contact-items {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 22px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.footer-contact-items li {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.contact-icon-box {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.09) !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #38bdf8 !important;
    font-size: 15px !important;
    transition: background 0.2s ease, transform 0.2s ease !important;
}

.footer-contact-items li:hover .contact-icon-box {
    background: rgba(56, 189, 248, 0.15) !important;
    transform: scale(1.05) !important;
}

.contact-text {
    color: #cbd5e1 !important;
    font-size: 13.5px !important;
    line-height: 1.4 !important;
}

.contact-link {
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.contact-link:hover {
    color: #ffffff !important;
}

/* ── Social Media Circular Icons ────────────────────────────────────── */
.footer-social-row {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.social-circle-btn {
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    font-size: 16px !important;
    text-decoration: none !important;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25) !important;
    transition: transform 0.2s ease, filter 0.2s ease !important;
}

.social-circle-btn:hover {
    transform: translateY(-2px) scale(1.08) !important;
    filter: brightness(1.15) !important;
    color: #ffffff !important;
}

.social-linkedin {
    background: #0077b5 !important;
}

.social-instagram {
    background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%) !important;
}

.social-youtube {
    background: #ff0000 !important;
}

.social-facebook {
    background: #4267b2 !important;
}

/* ── Bottom Copyright Strip ─────────────────────────────────────────── */
.footer-copyright-bar {
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
    padding: 18px 0 !important;
    margin-top: 40px !important;
    background: rgba(0, 0, 0, 0.25) !important;
}

.copyright-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    font-size: 13px !important;
    color: #64748b !important;
}

.copyright-inner a {
    color: #94a3b8 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.copyright-inner a:hover {
    color: #ffffff !important;
}

/* ── Responsive Behavior ────────────────────────────────────────────── */
@media (max-width: 991px) {
    .footer-top-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 30px !important;
    }

    .footer-bottom-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 32px !important;
    }

    .footer-bottom-col.find-us-col {
        grid-column: span 2 !important;
    }
}

@media (max-width: 767px) {
    .s3-footer .footer-top {
        padding: 40px 0 15px !important;
    }

    .s3-footer .footer-bottom {
        padding: 15px 0 35px !important;
    }

    .footer-top-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    .footer-bottom-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    .footer-bottom-col.find-us-col {
        grid-column: span 1 !important;
    }

    .newsletter-form-modern {
        max-width: 100% !important;
    }
}

/* ── Reduced motion: kill all footer animations ──────────────────────── */
@media (prefers-reduced-motion: reduce) {
    footer .footer-col,
    footer .footer-bottom-col,
    .footer-links li a,
    .contact-icon-box,
    .social-circle-btn,
    .newsletter-input-box,
    .newsletter-btn {
        animation: none !important;
        transition: none !important;
    }
}

/* ── Mobile: tighten footer-features-section & footer spacing ───────── */
@media (max-width: 767px) {

    /* Service tiles section above footer — halve the vertical padding */
    .footer-features-section {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }

    /* Footer brand strip — compact on small screens */
    .footer-brand-strip {
        padding: 14px 0 12px !important;
    }

    .footer-brand-inner {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }

    /* Reduce top/bottom section padding inside footer */
    .footer-top,
    .footer-bottom {
        padding: 20px 0 !important;
    }

    /* Tighter widget bottom margin on mobile */
    .footer__widget {
        margin-bottom: 20px !important;
    }

    /* Copyright bar compact */
    .copyright-area {
        padding: 12px 0 !important;
        flex-direction: column !important;
        gap: 6px !important;
        text-align: center !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════════
   SCROLL-REVEAL ANIMATIONS — Footer & Service Tiles
   Elements start hidden; JS adds .is-visible when they enter viewport.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Base hidden states ────────────────────────────────────────────── */
[data-animate="fade-up"] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.55s var(--ft-ease-out), transform 0.55s var(--ft-ease-out);
}

[data-animate="fade-left"] {
    opacity: 0;
    transform: translateX(-28px);
    transition: opacity 0.5s var(--ft-ease-out), transform 0.5s var(--ft-ease-out);
}

[data-animate="fade-right"] {
    opacity: 0;
    transform: translateX(28px);
    transition: opacity 0.5s var(--ft-ease-out), transform 0.5s var(--ft-ease-out);
}

[data-animate="scale-pop"] {
    opacity: 0;
    transform: scale(0.78);
    transition: opacity 0.4s var(--ft-ease-out), transform 0.4s var(--ft-ease-out);
}

[data-animate="fade-in"] {
    opacity: 0;
    transition: opacity 0.6s ease;
}

/* ── Visible (triggered) state ─────────────────────────────────────── */
[data-animate].is-visible {
    opacity: 1;
    transform: none;
}

/* ── Stagger delays via data-delay attribute ───────────────────────── */
[data-delay="50"] {
    transition-delay: 50ms;
}

[data-delay="100"] {
    transition-delay: 100ms;
}

[data-delay="150"] {
    transition-delay: 150ms;
}

[data-delay="200"] {
    transition-delay: 200ms;
}

[data-delay="250"] {
    transition-delay: 250ms;
}

[data-delay="300"] {
    transition-delay: 300ms;
}

[data-delay="350"] {
    transition-delay: 350ms;
}

[data-delay="400"] {
    transition-delay: 400ms;
}

[data-delay="450"] {
    transition-delay: 450ms;
}

[data-delay="500"] {
    transition-delay: 500ms;
}

/* ── Reduced motion: skip all scroll-reveal transitions ────────────── */
@media (prefers-reduced-motion: reduce) {
    [data-animate] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════════
   MOBILE NAV — PC Builder highlighted button
   ═══════════════════════════════════════════════════════════════════════ */

@keyframes pcb-ring-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(79, 196, 247, 0.55);
    }

    60% {
        box-shadow: 0 0 0 7px rgba(79, 196, 247, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(79, 196, 247, 0);
    }
}

@keyframes pcb-icon-bounce {

    0%,
    100% {
        transform: translateY(0) scale(1);
    }

    40% {
        transform: translateY(-4px) scale(1.15);
    }

    70% {
        transform: translateY(1px) scale(0.95);
    }
}

/* Wrapper that acts as the glowing pill around the icon */
.mobile-bottom-nav__item--pcbuilder .pcb-icon-wrap {
    width: 36px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #1f4e79 0%, #2e6da4 100%);
    border-radius: 10px;
    animation: pcb-ring-pulse 2.2s ease-out infinite;
    transition: background 0.2s, transform 0.15s;
}

.mobile-bottom-nav__item--pcbuilder .pcb-icon-wrap i {
    font-size: 18px;
    color: #4FC4F7;
    animation: pcb-icon-bounce 2.2s ease-in-out infinite;
    line-height: 1;
    display: block;
}

/* Override the default icon font-size for this item */
.mobile-bottom-nav__item--pcbuilder i {
    font-size: 18px !important;
}

/* Active & hover state */
.mobile-bottom-nav__item--pcbuilder {
    color: #4FC4F7 !important;
}

.mobile-bottom-nav__item--pcbuilder:hover .pcb-icon-wrap,
.mobile-bottom-nav__item--pcbuilder.active .pcb-icon-wrap {
    background: linear-gradient(135deg, #2e6da4 0%, #4FC4F7 100%);
    transform: scale(1.1);
}

.mobile-bottom-nav__item--pcbuilder span:last-child {
    font-weight: 700;
    color: #4FC4F7;
    font-size: 10px;
    letter-spacing: 0.02em;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {

    .mobile-bottom-nav__item--pcbuilder .pcb-icon-wrap,
    .mobile-bottom-nav__item--pcbuilder .pcb-icon-wrap i {
        animation: none !important;
    }
}

/* ── Description / Specifications / Reviews tab header ─────────────── */
.description-wrapper .description__header {
    background: #fff !important;
    padding: 0 !important;
    border-radius: 0 !important;
    border: none !important;
    border-bottom: 2px solid #e3e4ff !important;
}

.description-wrapper .description__header .nav--tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 0;
    padding: 0 8px;
}

.description-wrapper .description__header .nav--tabs li {
    list-style: none;
}

.description-wrapper .description__header .nav--tabs li a {
    display: block;
    padding: 12px 18px !important;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #666 !important;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    transition: color 0.2s, border-color 0.2s;
}

.description-wrapper .description__header .nav--tabs li a.active {
    color: #4FC4F7 !important;
    font-weight: 800;
    border-bottom-color: #4FC4F7;
}

.description-wrapper .description__header .nav--tabs li a:hover:not(.active) {
    color: #0b254a !important;
    border-bottom-color: #ccc;
}

@media (max-width: 575px) {
    .description-wrapper .description__header .nav--tabs {
        padding: 0 4px;
    }

    .description-wrapper .description__header .nav--tabs li a {
        padding: 10px 12px !important;
        font-size: 12px;
    }
}

/* ═══════════════════════════════════════════════════════════════
   ALL PRODUCTS PAGE REDESIGN
   ═══════════════════════════════════════════════════════════════ */

/* Page Header & Description */
.page-title {
    font-family: 'Josefin Sans', sans-serif;
    color: #0b254a;
    font-size: 1.8rem;
    position: relative;
    padding-bottom: 8px;
}

.page-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 60px;
    height: 4px;
    background: linear-gradient(90deg, #4FC4F7, #0b254a);
    border-radius: 2px;
}

.category-short-description {
    background: linear-gradient(135deg, rgba(79, 196, 247, 0.06) 0%, rgba(11, 37, 74, 0.02) 100%);
    border-left: 4px solid #4FC4F7;
    border-radius: 0 12px 12px 0;
    padding: 16px 20px;
}



/* Sort & view toolbar */
.top__bar {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
    padding: 12px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.top__bar-left {
    display: flex;
    align-items: center;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.top__bar-left li {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8fafc;
    border: 1px solid rgba(0, 0, 0, 0.04);
    color: #718096;
    cursor: pointer;
    transition: all 0.2s ease;
}

.top__bar-left li:hover {
    background: rgba(79, 196, 247, 0.08);
    color: #4FC4F7;
    border-color: rgba(79, 196, 247, 0.15);
}

.top__bar-left li.active {
    background: #4FC4F7;
    color: #ffffff;
    border-color: #4FC4F7;
    box-shadow: 0 4px 12px rgba(79, 196, 247, 0.3);
}

.top__bar-right {
    display: flex;
    align-items: center;
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.top__bar-right select {
    background-color: #f8fafc;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 8px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 500;
    color: #4a5568;
    cursor: pointer;
    transition: all 0.2s ease;
    outline: none;
}

.top__bar-right select:hover,
.top__bar-right select:focus {
    border-color: #4FC4F7;
    background-color: #ffffff;
    box-shadow: 0 0 0 3px rgba(79, 196, 247, 0.12);
}

/* Premium Card Layout */
.product__item {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02) !important;
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), border-color 0.3s ease !important;
    position: relative;
    overflow: visible;
    height: 100%;
}

.product__item:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 40px rgba(11, 37, 74, 0.07) !important;
    border-color: rgba(79, 196, 247, 0.35) !important;
}

/* Image section zoom */
.product__item-img {
    background: #ffffff;
    position: relative;
    padding: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid rgba(0, 0, 0, 0.03);
}

.product__item-img>a img {
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    object-fit: contain;
}

.product__item:hover .product__item-img>a img {
    transform: scale(1.05);
}



/* Sidebar action icons (Wishlist & Quickview) */
.product__item .product-right-btn {
    position: absolute;
    top: 12px;
    right: 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    z-index: 3;
    opacity: 0;
    transform: translateX(8px);
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.product__item:hover .product-right-btn {
    opacity: 1;
    transform: translateX(0);
}

.product__item .product-right-btn a {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #4a5568;
    transition: all 0.2s ease;
}

.product__item .product-right-btn a:hover {
    background: #4FC4F7;
    color: #ffffff;
    border-color: #4FC4F7;
    transform: scale(1.1);
}

/* Card content body */
.product__item-cont {
    padding: 12px 14px 8px !important;
}

.product__item-cont .title {
    border-bottom: 1px solid rgba(0, 0, 0, 0.07) !important;
    padding-bottom: 10px !important;
    margin-bottom: 4px !important;
}

.product__item-cont .title a {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #2d3748;
    line-height: 1.4;
    transition: color 0.2s ease;
    height: 36px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.product__item-cont .title a:hover {
    color: #4FC4F7;
}

/* Stock status and dot design */
.product__stock-rating-row {
    margin-bottom: 12px;
}

.stock-dot-indicator {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.stock-dot-indicator .info {
    font-size: 10.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em;
    margin: 0 !important;
}

.stock-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    position: relative;
    flex-shrink: 0;
}

.stock-dot--in {
    background-color: #2ec4b6;
    box-shadow: 0 0 0 rgba(46, 196, 182, 0.4);
    animation: stockPulseIn 2s infinite;
}

.stock-dot--out {
    background-color: #e63946;
}

@keyframes stockPulseIn {
    0% {
        box-shadow: 0 0 0 0 rgba(46, 196, 182, 0.7);
    }

    70% {
        box-shadow: 0 0 0 6px rgba(46, 196, 182, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(46, 196, 182, 0);
    }
}

/* Ratings */
.product__item-cont .ratings {
    color: #ffb020;
    font-size: 11px;
}

/* Pricing Section */
.product__item-cont .price {
    font-family: 'Josefin Sans', sans-serif;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #0b254a !important;
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-top: 0 !important;
}

.product__item-cont .price del {
    font-size: 12px;
    font-weight: 500;
    color: #a0aec0;
}

/* Add to Cart button global styling */
.product__item .hover-cont-wrapper {
    margin-top: 10px;
}

.product__item .hover-cont-area .add-to-cart {
    background: linear-gradient(135deg, #4FC4F7 0%, #0b254a 100%) !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 10px 16px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    color: #ffffff !important;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    box-shadow: 0 4px 12px rgba(79, 196, 247, 0.2) !important;
    transition: all 0.2s ease !important;
}

.product__item .hover-cont-area .add-to-cart:hover {
    box-shadow: 0 6px 16px rgba(11, 37, 74, 0.3) !important;
    transform: translateY(-1px);
    filter: brightness(1.05);
}

/* Add to Cart Hover Reveal overlay (Large Desktops only) */
@media (min-width: 992px) {
    .product__item {
        position: relative;
    }

    .product__item .hover-cont-wrapper {
        position: absolute;
        bottom: -60px;
        left: 0;
        width: 100%;
        background: rgba(255, 255, 255, 0.96);
        border-top: 1px solid rgba(0, 0, 0, 0.04);
        padding: 12px 20px;
        transition: bottom 0.35s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.25s ease, visibility 0.25s ease;
        z-index: 4;
        display: block !important;
        opacity: 0;
        visibility: hidden;
        margin-top: 0;
    }

    .product__item:hover .hover-cont-wrapper {
        bottom: 0;
        opacity: 1;
        visibility: visible;
    }
}

.product__meta-wrapper {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.product__meta-wrapper .product__stock-rating-row {
    margin-bottom: 0 !important;
}

/* Prevent hover translate lift clipping in OWL Carousels */
.product-shelf-carousel .owl-stage-outer {
    padding-top: 12px !important;
    margin-top: -12px !important;
    padding-bottom: 12px !important;
    margin-bottom: -12px !important;
}

/* Add breathing room below section headings */
.product-shelf-carousel {
    margin-top: 22px !important;
}

/* Fix filter bar heading color */
h5.filter__widget-title,
.filter__widget-title {
    color: #ffffff !important;
    background: linear-gradient(135deg, #4FC4F7 0%, #0b254a 100%) !important;
    box-shadow: 0 3px 8px rgba(11, 37, 74, 0.12) !important;
    text-shadow: 0 1px 2px rgba(11, 37, 74, 0.25) !important;
}



/* ── Top Categories Hover & Bold Text Enhancements ───────────────────── */
.top-brands-section .owl-carousel.version-2 .brand__item {
    transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.top-brands-section .owl-carousel.version-2 .brand__item:hover {
    transform: scale(1.08) translateY(-4px) !important;
}

.top-brands-section .owl-carousel.version-2 .brand__item .image-wrapper {
    transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03) !important;
}

/* Cycling glow colors for category icons on hover (5 colors) */
.top-brands-section .owl-carousel.version-2 .owl-item:nth-child(5n+1) .brand__item:hover .image-wrapper {
    border-color: rgba(26, 99, 207, 0.38) !important;
    box-shadow: 0 8px 20px rgba(26, 99, 207, 0.16) !important;
}

.top-brands-section .owl-carousel.version-2 .owl-item:nth-child(5n+2) .brand__item:hover .image-wrapper {
    border-color: rgba(15, 173, 110, 0.38) !important;
    box-shadow: 0 8px 20px rgba(15, 173, 110, 0.16) !important;
}

.top-brands-section .owl-carousel.version-2 .owl-item:nth-child(5n+3) .brand__item:hover .image-wrapper {
    border-color: rgba(245, 166, 35, 0.4) !important;
    box-shadow: 0 8px 20px rgba(245, 166, 35, 0.18) !important;
}

.top-brands-section .owl-carousel.version-2 .owl-item:nth-child(5n+4) .brand__item:hover .image-wrapper {
    border-color: rgba(220, 53, 69, 0.38) !important;
    box-shadow: 0 8px 20px rgba(220, 53, 69, 0.16) !important;
}

.top-brands-section .owl-carousel.version-2 .owl-item:nth-child(5n+5) .brand__item:hover .image-wrapper {
    border-color: rgba(155, 89, 182, 0.38) !important;
    box-shadow: 0 8px 20px rgba(155, 89, 182, 0.16) !important;
}

.top-brands-section .owl-carousel.version-2 .brand__item p.brand-item-name {
    font-weight: 700 !important;
    color: #1e293b !important;
    transition: color 0.25s ease !important;
}

.top-brands-section .owl-carousel.version-2 .brand__item:hover p.brand-item-name {
    color: var(--color-primary, #1f4e79) !important;
}

/* ── Corrected Desktop Header Menu Enhancements (Magnetic Pill & Push Scale) ──────────────────────────── */
@media (min-width: 992px) {

    /* Style the list items to have proper spacing and transitions, excluding category dropdown */
    .header-menu .menu-area .menu>li:not(.category-link-area) {
        margin: 0 2px !important;
        background: transparent !important;
        display: flex !important;
        align-items: center !important;
        transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    }

    /* Base style for nav links as pills, excluding category dropdown */
    .header-menu .menu-area .menu>li:not(.category-link-area)>a {
        font-size: 13.5px !important;
        font-weight: 600 !important;
        color: #1e293b !important;
        padding: 6px 12px !important;
        /* Compact padding by default */
        border-radius: 30px !important;
        background: transparent !important;
        transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: relative !important;
    }

    /* Responsive wider paddings and margins on larger screens */
    @media (min-width: 1200px) {
        .header-menu .menu-area .menu>li:not(.category-link-area)>a {
            padding: 8px 16px !important;
        }

        .header-menu .menu-area .menu>li:not(.category-link-area) {
            margin: 0 4px !important;
        }
    }

    /* PC Builder specific nav link styling */
    .header-menu .menu-area .menu>li:not(.category-link-area)>a.pcb-nav-link {
        border: 1.5px solid rgba(255, 107, 53, 0.25) !important;
        background: rgba(255, 107, 53, 0.04) !important;
        color: #ff6b35 !important;
    }

    /* Dynamic "Magnetic Pill" Hover State */
    .header-menu .menu-area .menu>li:not(.category-link-area):hover {
        transform: scale(1.08) !important;
        margin: 0 6px !important;
    }

    @media (min-width: 1200px) {
        .header-menu .menu-area .menu>li:not(.category-link-area):hover {
            margin: 0 8px !important;
        }
    }

    .header-menu .menu-area .menu>li:not(.category-link-area):hover>a {
        background: linear-gradient(135deg, var(--color-primary, #1f4e79) 0%, #0d385f 100%) !important;
        color: #ffffff !important;
        box-shadow: 0 6px 18px rgba(31, 78, 121, 0.25) !important;
    }

    /* PC Builder hover theme overrides (using orange accents) */
    .header-menu .menu-area .menu>li:not(.category-link-area):hover>a.pcb-nav-link {
        background: linear-gradient(135deg, #ff6b35 0%, #ff8c5a 100%) !important;
        color: #ffffff !important;
        border-color: transparent !important;
        box-shadow: 0 6px 18px rgba(255, 107, 53, 0.3) !important;
    }

    /* Active nav links */
    .header-menu .menu-area .menu>li:not(.category-link-area)>a.active {
        background: rgba(31, 78, 121, 0.08) !important;
        color: var(--color-primary, #1f4e79) !important;
    }

    /* Services Dropdown styling (uses native submenu trigger, custom design overrides) */
    .svc-nav-dropdown {
        min-width: 250px !important;
        background: #ffffff !important;
        border: 1px solid rgba(31, 78, 121, 0.12) !important;
        border-radius: 10px !important;
        box-shadow: 0 10px 25px rgba(15, 23, 42, 0.12) !important;
        padding: 8px !important;
        margin-top: 4px !important;
        position: absolute !important;
    }

    /* Invisible bridge to prevent mouse-leave trigger gap between hover button and dropdown */
    .svc-nav-dropdown::before {
        content: '' !important;
        position: absolute !important;
        top: -12px !important;
        left: 0 !important;
        right: 0 !important;
        height: 12px !important;
        background: transparent !important;
    }

    .svc-nav-dropdown li {
        width: 100% !important;
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .svc-nav-dropdown li a {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 10px !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        color: #334155 !important;
        padding: 8px 12px !important;
        border-radius: 6px !important;
        width: 100% !important;
        background: transparent !important;
        transition: all 0.2s ease !important;
    }

    .svc-nav-dropdown li a:hover {
        background: rgba(31, 78, 121, 0.06) !important;
        color: var(--color-primary, #1f4e79) !important;
        padding-left: 16px !important;
    }

    .svc-nav-dropdown li a i {
        font-size: 16px !important;
        color: var(--color-primary, #1f4e79) !important;
    }

    /* Dropdown footer link */
    .svc-nav-dropdown .svc-nav-dropdown__all a {
        border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
        border-radius: 0 !important;
        margin-top: 4px !important;
        padding-top: 8px !important;
        font-weight: 600 !important;
        color: var(--color-primary, #1f4e79) !important;
    }

    .svc-nav-dropdown .svc-nav-dropdown__all a:hover {
        background: transparent !important;
        color: #ff6b35 !important;
        padding-left: 12px !important;
    }
}

/* ── Owl Carousel CLS Prevention ── */
.owl-carousel:not(.owl-loaded) {
    display: flex !important;
    overflow: hidden !important;
    flex-wrap: nowrap !important;
}

/* top categories carousel (10 items on desktop, 4 on mobile) */
.owl-carousel.version-2:not(.owl-loaded)>* {
    flex: 0 0 auto !important;
    width: 10% !important;
}

@media (max-width: 1199px) {
    .owl-carousel.version-2:not(.owl-loaded)>* {
        width: 12.5% !important;
    }
}

@media (max-width: 991px) {
    .owl-carousel.version-2:not(.owl-loaded)>* {
        width: 14.28% !important;
    }
}

@media (max-width: 768px) {
    .owl-carousel.version-2:not(.owl-loaded)>* {
        width: 20% !important;
    }
}

@media (max-width: 460px) {
    .owl-carousel.version-2:not(.owl-loaded)>* {
        width: 25% !important;
    }
}

/* brands carousel (6 items on desktop, 3 on mobile) */
.brands-carousel:not(.owl-loaded)>* {
    flex: 0 0 auto !important;
    width: 16.66% !important;
}

@media (max-width: 1199px) {
    .brands-carousel:not(.owl-loaded)>* {
        width: 20% !important;
    }
}

@media (max-width: 768px) {
    .brands-carousel:not(.owl-loaded)>* {
        width: 25% !important;
    }
}

@media (max-width: 460px) {
    .brands-carousel:not(.owl-loaded)>* {
        width: 33.33% !important;
    }
}


/* ── Category Showcases (Visual Banners) ── */
.category-showcases-grid {
    margin: 15px 0 25px;
}

.category-showcases-grid .category-banner-card {
    position: relative;
    border-radius: 12px;
    height: 180px;
    overflow: hidden;
    display: block;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s ease;
}

.category-showcases-grid .category-banner-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
}

.category-showcases-grid .category-banner-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.category-showcases-grid .category-banner-card:hover img {
    transform: scale(1.05);
}

.category-showcases-grid .category-banner-card__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.05) 30%, rgba(0, 0, 0, 0.72) 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 16px;
    color: #ffffff;
}

.category-showcases-grid .category-banner-card__title {
    font-size: 1.15rem;
    font-weight: 700;
    margin-bottom: 4px;
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
}

.category-showcases-grid .category-banner-card__tagline {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 8px;
    line-height: 1.2;
}

.category-showcases-grid .category-banner-card__btn {
    align-self: flex-start;
    font-size: 0.75rem;
    font-weight: 700;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.4);
    padding: 4px 10px;
    border-radius: 4px;
    transition: all 0.25s ease;
    backdrop-filter: blur(4px);
}

.category-showcases-grid .category-banner-card:hover .category-banner-card__btn {
    background: #ff6b35;
    border-color: #ff6b35;
    color: #ffffff;
}

/* ── Tabbed Product Showcase Hub ── */
.product-hub-section {
    padding-top: 25px;
    padding-bottom: 25px;
}

.product-hub-section .section__header {
    margin-bottom: 12px;
}

.product-hub-tabs {
    display: inline-flex;
    position: relative;
    border-bottom: 2px solid rgba(0, 0, 0, 0.05);
    width: 100%;
    margin-bottom: 20px;
    gap: 25px;
}

.product-hub-tab-btn {
    background: none;
    border: none;
    font-size: 16px;
    font-weight: 700;
    color: #64748b;
    padding: 10px 4px;
    cursor: pointer;
    position: relative;
    transition: color 0.2s ease;
}

.product-hub-tab-btn:hover {
    color: var(--color-primary, #1f4e79);
}

.product-hub-tab-btn.active {
    color: var(--color-primary, #1f4e79);
}

.product-hub-tab-btn::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--color-primary, #1f4e79);
    transform: scaleX(0);
    transition: transform 0.25s ease;
}

.product-hub-tab-btn.active::after {
    transform: scaleX(1);
}

.product-hub-tab-content {
    display: none;
    animation: hubFadeIn 0.35s ease forwards;
}

.product-hub-tab-content.active {
    display: flex;
}

@keyframes hubFadeIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* ── S3 TECH CUSTOM CAROUSEL & HOME LAYOUT UPGRADE ── */

/* 1. Carousel Item Wrapper Custom Style */
.product-carousel-item {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
}

/* 2. Container margin/width align to Bootstrap row */
.product-shelf-carousel {
    margin-left: -8px !important;
    margin-right: -8px !important;
    width: calc(100% + 16px) !important;
}

/* 3. Reset owl-item cell padding and zero margin stage spacing */
.product-shelf-carousel .owl-item {
    padding-left: 0px !important;
    padding-right: 0px !important;
    margin-right: 0px !important;
}

/* ── Mobile Promo Strips (Repair & Genuine Products) ── */
.mobile-promo-strip {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 12px 16px !important;
    background: #ffffff !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.05) !important;
    text-decoration: none !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.mobile-promo-strip:hover,
.mobile-promo-strip:active {
    transform: translateY(-2px);
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.1) !important;
}

.mobile-promo-strip--genuine {
    border-left: 4px solid #10b981 !important;
}

.mobile-promo-strip--repair {
    border-left: 4px solid #f97316 !important;
}

.mobile-promo-strip__icon {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 11px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 22px !important;
    flex-shrink: 0 !important;
}

.mobile-promo-strip--genuine .mobile-promo-strip__icon {
    background: #ecfdf5 !important;
    color: #10b981 !important;
    border: 1px solid rgba(16, 185, 129, 0.2) !important;
}

.mobile-promo-strip--repair .mobile-promo-strip__icon {
    background: #fff7ed !important;
    color: #f97316 !important;
    border: 1px solid rgba(249, 115, 22, 0.2) !important;
}

.mobile-promo-strip__body {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

.mobile-promo-strip__body strong {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    line-height: 1.25 !important;
    display: block !important;
}

.mobile-promo-strip__body span {
    font-size: 11.5px !important;
    color: #64748b !important;
    line-height: 1.3 !important;
    display: block !important;
}

.mobile-promo-strip__cta {
    padding: 6px 14px !important;
    border-radius: 8px !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    background: #f1f5f9 !important;
    color: #1e293b !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    flex-shrink: 0 !important;
    transition: background 0.2s ease, color 0.2s ease;
}

.mobile-promo-strip--genuine:hover .mobile-promo-strip__cta,
.mobile-promo-strip--genuine:active .mobile-promo-strip__cta {
    background: #10b981 !important;
    color: #ffffff !important;
}

.mobile-promo-strip--repair:hover .mobile-promo-strip__cta,
.mobile-promo-strip--repair:active .mobile-promo-strip__cta {
    background: #f97316 !important;
    color: #ffffff !important;
}


/* ── Middle Banner Box Premium Hover Effects ── */
.banner-box {
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transition: box-shadow 0.4s ease, transform 0.4s ease;
    height: 380px;
    display: flex;
}

.banner-box a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}

.banner-box::after {
    content: '';
    position: absolute;
    top: 0;
    left: -150%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, 0.3) 50%,
            rgba(255, 255, 255, 0) 100%);
    transform: skewX(-25deg);
    pointer-events: none;
    transition: none;
    z-index: 3;
}

.banner-box:hover::after {
    left: 150%;
    transition: left 0.8s ease-in-out;
}

.banner-box img {
    width: 100%;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.banner-box:hover img {
    transform: scale(1.04) !important;
}

.banner-box:hover {
    box-shadow: 0 12px 28px rgba(31, 78, 121, 0.15), 0 8px 10px rgba(0, 0, 0, 0.06) !important;
    transform: translateY(-2px) !important;
}

@media (max-width: 767px) {
    .banner-box {
        height: 280px;
    }
}

/* ── Banner Content Overlay Premium Style ── */
.banner-content-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 24px;
    z-index: 2;
    background: linear-gradient(to top,
            rgba(0, 0, 0, 0.95) 0%,
            rgba(0, 0, 0, 0.65) 60%,
            rgba(0, 0, 0, 0) 100%);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    box-sizing: border-box;
}

.banner-badge {
    font-size: 10px;
    text-transform: uppercase;
    font-weight: 800;
    color: #4FC4F7 !important;
    letter-spacing: 1.5px;
    margin-bottom: 8px;
    display: inline-block;
    background: rgba(0, 0, 0, 0.75) !important;
    border: 1px solid rgba(79, 196, 247, 0.5) !important;
    padding: 3px 8px !important;
    border-radius: 4px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8) !important;
}

.banner-title {
    font-size: 18px;
    font-weight: 700;
    color: #ffffff !important;
    margin-bottom: 6px;
    line-height: 1.2;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
    text-transform: uppercase;
}

.banner-desc {
    font-size: 13px;
    font-weight: 500;
    color: #ffffff !important;
    margin-bottom: 12px;
    line-height: 1.4;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.95), 0 2px 8px rgba(0, 0, 0, 0.8) !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.banner-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 700;
    color: #ffffff;
    background: linear-gradient(135deg, #4FC4F7 0%, #1f4e79 100%);
    padding: 6px 14px;
    border-radius: 4px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.banner-box:hover .banner-cta-btn {
    transform: scale(1.05) !important;
    box-shadow: 0 4px 12px rgba(79, 196, 247, 0.45) !important;
}

/* Compact layout for half-height stacked banners */
.banner-content-overlay--sm {
    padding: 12px 16px;
    background: linear-gradient(to top,
            rgba(0, 0, 0, 0.95) 0%,
            rgba(0, 0, 0, 0.6) 75%,
            rgba(0, 0, 0, 0) 100%);
}

.banner-content-overlay--sm .banner-title {
    font-size: 15px;
    margin-bottom: 8px;
}

.banner-content-overlay--sm .banner-cta-btn {
    padding: 4px 10px;
    font-size: 11px;
}

/* ── Trust Badges Section ── */
.trust-badges-section {
    padding: 25px 0 15px;
}
.trust-badge-card {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 12px;
    padding: 18px;
    height: 100%;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s ease, border-color 0.3s ease;
}
.trust-badge-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(31, 78, 121, 0.08);
    border-color: rgba(31, 78, 121, 0.2) !important;
}
.trust-badge-card__icon {
    font-size: 26px;
    color: var(--color-primary, #1f4e79);
    background: rgba(31, 78, 121, 0.06);
    width: 48px;
    height: 48px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;
}
.trust-badge-card:hover .trust-badge-card__icon {
    background: var(--color-primary, #1f4e79);
    color: #ffffff;
    transform: scale(1.05);
}
.trust-badge-card__content {
    flex-grow: 1;
}
.trust-badge-card__title {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 4px;
    color: #1e293b;
    line-height: 1.3;
}
.trust-badge-card__text {
    font-size: 11.5px;
    color: #64748b;
    margin: 0;
    line-height: 1.4;
}

@media (max-width: 767px) {
    .trust-badges-section {
        padding: 12px 0;
    }
    .trust-badge-card {
        padding: 12px;
        gap: 10px;
        border-radius: 10px;
    }
    .trust-badge-card__icon {
        font-size: 20px;
        width: 36px;
        height: 36px;
        border-radius: 8px;
    }
    .trust-badge-card__title {
        font-size: 12px;
        margin-bottom: 2px;
    }
    .trust-badge-card__text {
        font-size: 10px;
        line-height: 1.3;
    }
}

/* ── Testimonials Section ── */
.testimonials-section {
    background: #f8fafc;
    border-top: 1px solid rgba(0, 0, 0, 0.03);
    border-bottom: 1px solid rgba(0, 0, 0, 0.03);
    padding: 50px 0;
    overflow: hidden;
}
.testimonials-section .section-title {
    font-size: 28px;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 6px;
    letter-spacing: -0.5px;
}
.testimonials-section .section-subtitle {
    font-size: 14px;
    color: #64748b;
    max-width: 600px;
    margin: 0 auto;
}
.testimonial-card {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.04);
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.015);
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.testimonials-carousel .owl-item {
    padding: 10px 8px;
}
.testimonial-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.04);
    border-color: rgba(31, 78, 121, 0.12);
}
.testimonial-card__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.testimonial-card__rating {
    color: #f59e0b;
    font-size: 14px;
}
.testimonial-card__badge {
    font-size: 10px;
    font-weight: 700;
    background: rgba(46, 204, 113, 0.1);
    color: #2ecc71 !important;
    padding: 3px 8px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.testimonial-card__title {
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.3;
    margin: 0;
}
.testimonial-card__text {
    font-size: 13.5px;
    color: #475569;
    line-height: 1.5;
    margin: 0;
    flex-grow: 1;
    font-style: italic;
}
.testimonial-card__author {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
    padding-top: 12px;
}
.testimonial-card__avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, #1f4e79 0%, #102a45 100%);
    color: #ffffff;
    font-weight: 700;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.testimonial-card__meta {
    display: flex;
    flex-direction: column;
}
.testimonial-card__name {
    font-size: 13.5px;
    font-weight: 700;
    color: #1e293b;
}
.testimonial-card__role {
    font-size: 11px;
    color: #64748b;
}

/* Customize Owl Carousel Dots for Testimonials */
.testimonials-carousel .owl-dots {
    text-align: center;
    margin-top: 15px;
}
.testimonials-carousel .owl-dot {
    width: 8px;
    height: 8px;
    margin: 0 4px;
    background: #cbd5e1 !important;
    border-radius: 50%;
    display: inline-block;
    transition: background 0.3s ease, width 0.3s ease;
}
.testimonials-carousel .owl-dot.active {
    background: var(--color-primary, #1f4e79) !important;
    width: 18px;
    border-radius: 4px;
}

@media (max-width: 767px) {
    .testimonials-section {
        padding: 35px 0;
    }
    .testimonials-section .section-title {
        font-size: 22px;
    }
    .testimonials-section .section-subtitle {
        font-size: 12px;
    }
    .testimonial-card {
        padding: 16px;
        border-radius: 12px;
    }
    .testimonial-card__title {
        font-size: 14px;
    }
    .testimonial-card__text {
        font-size: 12px;
    }
}

/* ── Category Spotlight Section (Option A - Light Version) ── */
.category-spotlight-section {
    background: transparent;
    color: #1e293b;
    border-top: none;
    border-bottom: none;
}

.spotlight-subtitle {
    font-size: 11px;
    font-weight: 800;
    color: #1f4e79; /* Primary Theme Blue */
    letter-spacing: 2px;
    text-transform: uppercase;
    display: inline-block;
    margin-bottom: 8px;
}

.spotlight-title {
    font-size: 32px;
    font-weight: 800;
    color: #1e293b !important;
    letter-spacing: -0.5px;
    margin-bottom: 14px;
}

.spotlight-card-wrapper {
    display: flex;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    overflow: hidden;
    transition: box-shadow 0.35s ease, border-color 0.35s ease;
}

.spotlight-card-wrapper:hover {
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.08);
    border-color: rgba(31, 78, 121, 0.2);
}

/* Left Visual Banner Panel */
.spotlight-banner-panel {
    width: 32%;
    min-width: 280px;
    position: relative;
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
    flex-shrink: 0;
    transition: all 0.35s ease;
}

.spotlight-banner-panel--components {
    background: linear-gradient(90deg, 
                rgba(240, 249, 255, 0.98) 0%, 
                rgba(235, 245, 255, 0.95) 55%, 
                rgba(224, 242, 254, 0.3) 80%, 
                rgba(224, 242, 254, 0.05) 100%),
                url('../images/components_spotlight_bg.png') no-repeat right -40px center;
    background-size: cover;
}

.spotlight-banner-panel--gear {
    background: linear-gradient(90deg, 
                rgba(250, 245, 255, 0.98) 0%, 
                rgba(247, 240, 255, 0.95) 55%, 
                rgba(243, 232, 255, 0.3) 80%, 
                rgba(243, 232, 255, 0.05) 100%),
                url('../images/gaming_gear_spotlight_bg.png') no-repeat right -20px center;
    background-size: cover;
}

/* Interactive sweeping light overlay */
.banner-panel-overlay {
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.7) 50%, transparent 100%);
    transform: skewX(-25deg);
    pointer-events: none;
    z-index: 1;
}

.spotlight-card-wrapper:hover .banner-panel-overlay {
    animation: lightSweep 1.2s ease-in-out;
}

@keyframes lightSweep {
    0% { left: -100%; }
    100% { left: 200%; }
}

.banner-panel-content {
    position: relative;
    z-index: 2;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

.category-spotlight-section .panel-tag {
    font-size: 10px;
    font-weight: 800;
    color: #0284c7 !important;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    display: inline-block;
    margin-bottom: 10px;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.9), 0 1px 2px #ffffff;
}

.category-spotlight-section .spotlight-banner-panel--gear .panel-tag {
    color: #7c3aed !important;
}

.category-spotlight-section .panel-title,
.category-spotlight-section h3.panel-title {
    font-size: 26px;
    font-weight: 900;
    color: #090d16 !important;
    margin-bottom: 12px;
    line-height: 1.15;
    letter-spacing: -0.5px;
    text-shadow: 0 0 12px rgba(255, 255, 255, 0.9), 0 1px 2px #ffffff;
}

.category-spotlight-section .panel-desc {
    font-size: 13px;
    color: #0f172a !important;
    font-weight: 600;
    line-height: 1.55;
    margin-bottom: 25px;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.9), 0 1px 2px #ffffff;
}

.panel-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #0f172a;
    border: none;
    color: #ffffff !important;
    padding: 10px 20px;
    font-size: 13px;
    font-weight: 700;
    border-radius: 8px;
    transition: all 0.25s ease;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.15);
}

.panel-cta-btn i {
    font-size: 10px;
    transition: transform 0.2s ease;
}

.panel-cta-btn:hover {
    background: #1e293b;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.25);
}

.panel-cta-btn:hover i {
    transform: translateX(3px);
}

/* Right Products Grid Panel */
.spotlight-products-panel {
    flex-grow: 1;
    padding: 30px;
    background: #ffffff;
    border-left: 1px solid rgba(0, 0, 0, 0.05);
}

/* Responsive Custom Spotlights media queries */
@media (max-width: 1199px) {
    .spotlight-banner-panel {
        padding: 30px;
        width: 35%;
    }
    .panel-title {
        font-size: 22px;
    }
}

@media (max-width: 991px) {
    .spotlight-card-wrapper {
        flex-direction: column;
    }
    .spotlight-banner-panel {
        width: 100%;
        min-height: 200px;
        border-bottom: 1px solid rgba(0, 0, 0, 0.05);
        padding: 30px;
    }
    .spotlight-products-panel {
        border-left: none;
        padding: 20px;
    }
}

@media (max-width: 575px) {
    .spotlight-title {
        font-size: 24px;
    }
    .spotlight-banner-panel {
        padding: 24px;
        min-height: auto;
    }
    .panel-desc {
        margin-bottom: 16px;
    }
}

/* ── Middle Banners Layout Alignment Height Enforcements ── */
@media (min-width: 768px) {
    .banner-box a {
        display: block;
        width: 100%;
    }
}
.middle-banners-carousel {
    margin-left: -12px !important;
    margin-right: -12px !important;
    width: calc(100% + 24px) !important;
}

/* ── Trust Badges Feature Strip (Option 1: Frosted Tech Cards with Gradient Icons) ── */
.trust-badges-section {
    margin: 22px 0 18px;
}

.trust-badge-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    height: 100%;
    min-height: 84px;
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.04), 0 1px 3px rgba(15, 23, 42, 0.02);
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.3s ease, border-color 0.3s ease;
    overflow: hidden;
}

.trust-badge-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.trust-badge-card--genuine::before {
    background: linear-gradient(90deg, #0284c7, #38bdf8);
}

.trust-badge-card--assembly::before {
    background: linear-gradient(90deg, #ea580c, #f59e0b);
}

.trust-badge-card--delivery::before {
    background: linear-gradient(90deg, #059669, #10b981);
}

.trust-badge-card--warranty::before {
    background: linear-gradient(90deg, #7c3aed, #a855f7);
}

.trust-badge-card:hover {
    transform: translateY(-4px);
}

.trust-badge-card:hover::before {
    opacity: 1;
}

.trust-badge-card--genuine:hover {
    box-shadow: 0 12px 28px rgba(2, 132, 199, 0.12);
    border-color: rgba(2, 132, 199, 0.3);
}

.trust-badge-card--assembly:hover {
    box-shadow: 0 12px 28px rgba(234, 88, 12, 0.12);
    border-color: rgba(234, 88, 12, 0.3);
}

.trust-badge-card--delivery:hover {
    box-shadow: 0 12px 28px rgba(5, 150, 105, 0.12);
    border-color: rgba(5, 150, 105, 0.3);
}

.trust-badge-card--warranty:hover {
    box-shadow: 0 12px 28px rgba(124, 58, 237, 0.12);
    border-color: rgba(124, 58, 237, 0.3);
}

/* Icon Container */
.trust-badge-card__icon {
    width: 48px;
    height: 48px;
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 24px;
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease;
}

.trust-badge-card:hover .trust-badge-card__icon {
    transform: scale(1.1) rotate(4deg);
}

.trust-badge-card--genuine .trust-badge-card__icon {
    background: linear-gradient(135deg, rgba(2, 132, 199, 0.14), rgba(56, 189, 248, 0.06));
    color: #0284c7;
    border: 1px solid rgba(2, 132, 199, 0.22);
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.1);
}

.trust-badge-card--assembly .trust-badge-card__icon {
    background: linear-gradient(135deg, rgba(234, 88, 12, 0.14), rgba(245, 158, 11, 0.06));
    color: #ea580c;
    border: 1px solid rgba(234, 88, 12, 0.22);
    box-shadow: 0 4px 12px rgba(234, 88, 12, 0.1);
}

.trust-badge-card--delivery .trust-badge-card__icon {
    background: linear-gradient(135deg, rgba(5, 150, 105, 0.14), rgba(16, 185, 129, 0.06));
    color: #059669;
    border: 1px solid rgba(5, 150, 105, 0.22);
    box-shadow: 0 4px 12px rgba(5, 150, 105, 0.1);
}

.trust-badge-card--warranty .trust-badge-card__icon {
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.14), rgba(168, 85, 247, 0.06));
    color: #7c3aed;
    border: 1px solid rgba(124, 58, 237, 0.22);
    box-shadow: 0 4px 12px rgba(124, 58, 237, 0.1);
}

/* Text Content */
.trust-badge-card__content {
    flex: 1;
    min-width: 0;
}

.trust-badge-card__title {
    margin: 0 0 3px;
    font-size: 13.5px;
    font-weight: 700;
    color: #0f172a !important;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.trust-badge-card__text {
    margin: 0;
    font-size: 11.5px;
    color: #64748b;
    line-height: 1.45;
}

@media (max-width: 991px) {
    .trust-badge-card {
        padding: 12px 14px;
        gap: 10px;
    }
    .trust-badge-card__icon {
        width: 40px;
        height: 40px;
        font-size: 20px;
        border-radius: 11px;
    }
    .trust-badge-card__title {
        font-size: 12px;
    }
    .trust-badge-card__text {
        font-size: 10.5px;
    }
}

/* ── Elastic Responsive Header Layout ─────────────────────────────── */
.header-bottom .header-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 16px;
}

.header-bottom .logo {
    flex-shrink: 0 !important;
}

/* Elastic search bar on desktop/laptop: expands and shrinks smoothly */
.header-bottom .search-form--header {
    flex: 1 1 auto !important;
    min-width: 140px !important;
    max-width: 580px;
    margin: 0 12px;
}

.header-bottom .search-form--header .search--group--header {
    width: 100% !important;
}

/* Keep action buttons on a single row without wrapping */
.header-bottom .cart-wrapper {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    display: flex !important;
    align-items: center !important;
}

/* Compact adjustments for 992px to 1199px screens */
@media (min-width: 992px) and (max-width: 1199px) {
    .header-bottom .header-wrapper {
        gap: 10px;
    }
    .header-bottom .logo {
        margin-right: 8px !important;
    }
    .header-bottom .logo img {
        max-width: 155px;
        height: auto;
    }
    .header-bottom .search-form--header {
        margin: 0 8px;
        min-width: 130px !important;
    }
    .header-bottom .cart-wrapper {
        gap: 8px !important;
    }
    .header-bottom .cart-wrapper .cart--btn {
        padding: 4px 6px;
    }
    .header-bottom .cart-wrapper .cart--btn span {
        font-size: 13.5px !important;
    }
}

/* ── Hero Slider Navigation Buttons: Small Circles ── */
.hero-area .tns-controls {
    pointer-events: none;
}
.hero-area .tns-controls button,
.hero-area .slider-head .tns-controls button,
.slider-head-v2 .tns-controls button {
    pointer-events: auto !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin-top: 0 !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.94) !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.16) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10 !important;
    cursor: pointer !important;
    transition: all 0.22s ease !important;
    color: #0b1a30 !important;
    font-size: 13px !important;
    padding: 0 !important;
    line-height: 1 !important;
    outline: none !important;
}
.hero-area .tns-controls button:first-child,
.hero-area .slider-head .tns-controls button:first-child,
.hero-area .slider-head:hover .tns-controls button:first-child,
.slider-head-v2 .tns-controls button:first-child {
    left: 12px !important;
    right: auto !important;
    border-radius: 50% !important;
}
.hero-area .tns-controls button:last-child,
.hero-area .slider-head .tns-controls button:last-child,
.hero-area .slider-head:hover .tns-controls button:last-child,
.slider-head-v2 .tns-controls button:last-child {
    right: 12px !important;
    left: auto !important;
    border-radius: 50% !important;
}
.hero-area .tns-controls button:hover,
.hero-area .slider-head .tns-controls button:hover,
.slider-head-v2 .tns-controls button:hover {
    background: #ffffff !important;
    color: #0284c7 !important;
    transform: translateY(-50%) scale(1.1) !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.24) !important;
    border-color: rgba(2, 132, 199, 0.3) !important;
    border-radius: 50% !important;
}
@media (max-width: 767px) {
    .hero-area .tns-controls button,
    .hero-area .slider-head .tns-controls button,
    .slider-head-v2 .tns-controls button {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        min-height: 28px !important;
        max-width: 28px !important;
        max-height: 28px !important;
        font-size: 11px !important;
    }
    .hero-area .tns-controls button:first-child,
    .hero-area .slider-head .tns-controls button:first-child,
    .slider-head-v2 .tns-controls button:first-child {
        left: 8px !important;
    }
    .hero-area .tns-controls button:last-child,
    .hero-area .slider-head .tns-controls button:last-child,
    .slider-head-v2 .tns-controls button:last-child {
        right: 8px !important;
    }
}/* Customer reviews: readable cards with native swipe navigation. */
.testimonials-section{padding:56px 0;background:#f4f7fb;border-block:1px solid #e4ebf3;overflow:hidden}
.testimonials-section .testimonials-heading{text-align:left;margin-bottom:26px;max-width:680px}
.testimonials-eyebrow{display:block;color:#0878bf;font-size:11px;font-weight:700;letter-spacing:1.8px;margin-bottom:10px}
.testimonials-section .section-title{font-size:clamp(26px,2.4vw,36px);line-height:1.2;color:#102e4e;margin-bottom:10px;letter-spacing:-.7px}
.testimonials-section .section-subtitle{font-size:16px;line-height:1.6;color:#62758c;margin:0;max-width:none}
.testimonials-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b9cde1 transparent;padding:4px 0 16px;align-items:stretch}
.testimonials-section .testimonial-card{flex:0 0 calc((100% - 40px)/3);height:auto;min-width:0;scroll-snap-align:start;background:#fff;border:1px solid #dfe8f1;border-radius:14px;padding:26px;gap:18px;box-shadow:0 4px 14px #17324e04;text-align:left;transform:none}
.testimonials-section .testimonial-card:hover{transform:none;border-color:#b9d5e9;box-shadow:0 6px 20px #17324e08}
.testimonials-section .testimonial-card__header{gap:12px;flex-wrap:wrap}
.testimonials-section .testimonial-card__rating{font-size:18px;color:#ed9800;display:flex;gap:2px}
.testimonials-section .testimonial-card__badge{background:#eef5fc;color:#28628b !important;border-radius:5px;padding:5px 8px;font-size:10px;letter-spacing:.4px}
.testimonials-section .testimonial-card__title{font-size:19px;line-height:1.4;letter-spacing:-.3px;text-align:left;margin:0;color:#102e4e}
.testimonials-section .testimonial-card__text{font-size:15px;line-height:1.75;font-style:normal;text-align:left;color:#52657b;margin:0;flex-grow:1}
.testimonials-section .testimonial-card__author{margin-top:2px;padding-top:18px;border-color:#e7edf3;gap:12px;text-align:left}
.testimonials-section .testimonial-card__avatar{width:44px;height:44px;flex-shrink:0;font-size:14px;background:#e8f2fb;color:#17527d;border:1px solid #d3e5f4}
.testimonials-section .testimonial-card__name{font-size:14px;line-height:1.5}
.testimonials-section .testimonial-card__role{font-size:12px;line-height:1.6}
.testimonials-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}
.testimonials-section .testimonials-hint{font-size:13px;line-height:1.5;color:#62758c;margin:0}
.testimonials-navigation{display:flex;align-items:center;gap:10px;flex-shrink:0}
.testimonials-position{font-size:12px;color:#61758d;margin-right:8px;font-variant-numeric:tabular-nums}
.testimonials-navigation button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #cddceb;border-radius:50%;background:#fff;color:#14537e;font-size:20px;cursor:pointer}
.testimonials-navigation button:hover:not(:disabled){background:#eaf4fc;border-color:#74afd4}
.testimonials-navigation button:disabled{opacity:.35;cursor:default}
.testimonials-section :is(button,.testimonials-track):focus-visible{outline:3px solid #138acb;outline-offset:3px}
@media(max-width:1199px){.testimonials-section .testimonial-card{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:767px){.testimonials-section{padding:32px 0}.testimonials-section .testimonials-heading{margin-bottom:18px}.testimonials-track{gap:14px}.testimonials-section .testimonial-card{flex-basis:90%;padding:22px;gap:16px}.testimonials-section .testimonial-card__text{font-size:16px;line-height:1.65}.testimonials-section .testimonial-card__title{font-size:18px}.testimonials-controls{align-items:flex-start}.testimonials-section .testimonials-hint{max-width:150px;font-size:12px}.testimonials-position{margin-right:0}.testimonials-navigation{gap:6px}}
@media(prefers-reduced-motion:reduce){.testimonials-section .testimonial-card{transition:none}}
/* Google reviews attribution and graceful fallback. */
.google-reviews-section [hidden]{display:none !important}
.google-reviews-summary{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:22px;padding:16px 20px;border:1px solid #dce7f2;border-radius:10px;background:#fff}
.google-reviews-source{font-weight:700;color:#30465d;font-size:15px}
.google-reviews-rating{font-size:22px;color:#153e62}
.google-reviews-count{font-size:14px;color:#60748b}
.google-write-review{margin-left:auto}
.google-reviews-section :is(.google-write-review,.google-all-reviews,.google-review-source){display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#096ba5;font-weight:600;font-size:14px}
.google-reviews-section .google-reviews-fallback{font-size:16px;color:#52657b;margin:0;padding:20px;border-left:3px solid #138acb;background:#fff;border-radius:0 10px 10px 0}
.google-reviews-section .google-reviews-order{font-size:12px;color:#60748b;margin:12px 0 0}
.google-reviews-section .testimonial-card__text{white-space:pre-line;overflow-wrap:anywhere}
.google-reviews-section .testimonial-card__name{color:#153e62}
@media(max-width:575px){.google-reviews-summary{gap:8px;padding:14px}.google-write-review{margin-left:0;width:100%}.google-reviews-section .testimonials-controls{flex-wrap:wrap}.google-reviews-section .testimonials-navigation{margin-left:auto}}
.google-reviews-section .google-reviews-source{font-family:Roboto,sans-serif;font-size:14px;font-weight:400;font-style:normal;letter-spacing:normal;white-space:nowrap;color:#5e5e5e}
.google-reviews-section img.testimonial-card__avatar{object-fit:cover}
.google-reviews-logo{height:18px;width:auto;max-width:none;object-fit:contain;margin:10px 10px 5px 0}
/* Shopping-first homepage rhythm. */
.home-livefx .trust-badges-section{padding:16px 0}
.home-livefx .trust-badge-card{padding:12px;min-height:0;gap:10px}
.home-livefx .trust-badge-card__icon{width:36px;height:36px;font-size:22px;flex-shrink:0}
.home-livefx .trust-badge-card__title{font-size:14px;line-height:1.4;margin-bottom:3px}
.home-livefx .trust-badge-card__text{font-size:12px;line-height:1.45;margin:0}
.home-livefx .category-showcases-grid{margin:0;padding:24px 0}
.home-livefx .home-promo-band{padding:24px 0;margin:0}
.home-guides-section{padding:24px 0 32px;background:#f4f7fb}
.home-guides-link{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border:1px solid #dbe5ef;border-radius:12px;background:#fff;color:#163b5c}
.home-guides-link h2{font-size:21px;line-height:1.4;margin:0 0 5px}
.home-guides-link p{font-size:14px;color:#61758c;margin:0}
.home-guides-link>span{font-size:14px;font-weight:600;white-space:nowrap;color:#12669f}
.home-guides-link:focus-visible{outline:2px solid #168bca;outline-offset:3px}
@media(max-width:767px){
 .home-livefx .trust-badges-section{padding:12px 0}
 .home-livefx .trust-badge-card{padding:8px;gap:6px}
 .home-livefx .trust-badge-card__text{display:none}
 .home-livefx .trust-badge-card__title{font-size:11px;margin:0}
 .home-livefx .trust-badge-card__icon{width:28px;height:28px;font-size:18px}
 .home-livefx .trust-badges-section .row{--bs-gutter-x:8px;--bs-gutter-y:8px}
 .home-livefx .category-showcases-grid,.home-livefx .home-promo-band{padding:16px 0}
 .home-livefx .hero-side-banners-col{display:none !important}
 .home-guides-section{padding:20px 0 24px}
 .home-guides-link{padding:16px;gap:12px;flex-wrap:wrap}
 .home-guides-link h2{font-size:18px}
 .home-guides-link>span{min-height:44px;display:inline-flex;align-items:center}
}
/* Match the reviews and brands as one calm, consistently spaced area. */
.top-brands-section.brands-showcase{background:#f4f7fb;padding:32px 0 40px;overflow:hidden}
.top-brands-section.brands-showcase::before{display:none}
.google-reviews-section{border-bottom:0}
.brands-showcase .brands-showcase__header{align-items:center !important;margin-bottom:24px;padding-bottom:16px}
.brands-loop-track{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:4px 0;scroll-behavior:auto}
.brands-loop-track::-webkit-scrollbar{display:none}
.brands-loop-track.brands-carousel:not(.owl-loaded)>.owl-item{flex:0 0 calc((100% - 90px)/10) !important;min-width:0;width:calc((100% - 90px)/10) !important;padding:4px 5px;box-sizing:border-box}
.brands-loop-track:focus-visible{outline:2px solid #168bca;outline-offset:3px}
@media(max-width:1199px){.brands-loop-track.brands-carousel:not(.owl-loaded)>.owl-item{flex-basis:calc((100% - 40px)/5) !important;width:calc((100% - 40px)/5) !important}}
@media(max-width:767px){.top-brands-section.brands-showcase{padding:24px 0 28px}.brands-showcase .brands-showcase__header{margin-bottom:16px;padding-bottom:12px}.brands-loop-track{gap:8px}.brands-loop-track.brands-carousel:not(.owl-loaded)>.owl-item{flex-basis:calc((100% - 24px)/4) !important;width:calc((100% - 24px)/4) !important}}
@media(max-width:459px){.brands-loop-track.brands-carousel:not(.owl-loaded)>.owl-item{flex-basis:calc((100% - 16px)/3) !important;width:calc((100% - 16px)/3) !important}}
/* Continuous review loop, with compact spacing and native touch scrolling. */
.google-reviews-section{padding:42px 0 32px}
.google-reviews-section .testimonials-heading{margin-bottom:20px}
.google-reviews-section .testimonials-track{scroll-snap-type:none;scroll-behavior:auto;scrollbar-width:none;padding-bottom:4px}
.google-reviews-section .testimonials-track::-webkit-scrollbar{display:none}
.google-reviews-section .testimonials-controls{margin-top:12px}
.google-reviews-section .testimonials-navigation{gap:8px}
.google-reviews-section .testimonials-playback{font-size:15px}
/* Homepage product hub: one compact row; styles stay local to this section. */
.product-hub-section{padding:24px 0;overflow:hidden}
.product-hub-section .product-hub-tab-content.active{display:block}
.product-hub-tabs{gap:24px;margin-bottom:16px}
.product-hub-tab-btn{min-height:44px}
.product-hub-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 0 8px;align-items:stretch}
.product-hub-track::-webkit-scrollbar{display:none}
.product-hub-slide{flex:0 0 calc((100% - 80px)/6);min-width:0;scroll-snap-align:start}
.product-hub-section .product__item{height:100%;border-radius:12px;overflow:hidden}
.product-hub-section .product__item:hover{transform:none}
.product-hub-section .product__item-img{height:175px;padding:12px}
.product-hub-section .product__item-img>a{display:block;width:100%;height:100%}
.product-hub-section .product__item-img>a img{width:100%;height:100%;object-fit:contain}
.product-hub-section .product__item-cont{padding:12px}
.product-hub-section .product__item-cont .title{font-size:14px;line-height:1.45;min-height:41px;margin-bottom:10px}
.product-hub-section .product__item-cont .title a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-hub-section .price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:16px;line-height:1.5}
.product-hub-section .price del{font-size:11px}
.product-hub-section .product__item-img .badge{max-width:calc(100% - 16px);font-size:10px;box-shadow:none !important}
.product-hub-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}
.product-hub-all{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:14px;font-weight:600;color:#12669f}
.product-hub-navigation{display:flex;gap:8px}
.product-hub-navigation button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #d5e1ec;border-radius:50%;background:#fff;color:#174f78;cursor:pointer;transition:background .18s,border-color .18s}
.product-hub-navigation button:hover:not(:disabled){background:#edf6fc;border-color:#91b9d5}
.product-hub-navigation button:disabled{opacity:.35;cursor:default}
.product-hub-swipe{display:none}
.product-hub-section :is(button,a,.product-hub-track):focus-visible{outline:2px solid #168bca;outline-offset:2px}
.product-hub-header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:2px solid rgba(0,0,0,.05);margin-bottom:16px}
.product-hub-header .product-hub-tabs{width:auto;border-bottom:0;margin-bottom:0}
.product-hub-header-all{flex-shrink:0}
.brands-showcase .brands-showcase__header{align-items:center;gap:12px}
.brands-showcase .brands-view-all{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 14px;border:1px solid #bcd3e8;border-radius:8px;background:#fff;color:#175b8b;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap;transition:background .18s,border-color .18s}
.brands-showcase .brands-view-all:hover{background:#edf6fc;border-color:#73a9cf;color:#104d78}
.brands-showcase .brands-view-all:focus-visible{outline:2px solid #168bca;outline-offset:3px}
.brands-showcase .brands-showcase__title-group .title{margin:0}
@media(max-width:575px){.brands-showcase .brands-view-all{min-height:44px;padding:8px 10px;font-size:12px}.brands-showcase .brands-showcase__header .title{font-size:22px}}
.product-hub-tab-content{position:relative}
.product-hub-navigation{position:absolute;inset:0;pointer-events:none}
.product-hub-navigation button{position:absolute;top:50%;transform:translateY(-50%);pointer-events:auto;box-shadow:0 3px 12px #17324e1a;z-index:3;background:#fff}
.product-hub-navigation .product-hub-prev{left:-12px}
.product-hub-navigation .product-hub-next{right:-12px}
.product-hub-navigation button:disabled{visibility:hidden}
.product-hub-footer{margin:0}
@media(max-width:1199px){.product-hub-slide{flex-basis:calc((100% - 64px)/5)}}
@media(max-width:991px){.product-hub-slide{flex-basis:calc((100% - 48px)/4)}}
@media(max-width:767px){
 .product-hub-section{padding:16px 0}
 .product-hub-tabs{gap:12px;justify-content:flex-start;margin-bottom:12px}
 .product-hub-header{gap:6px;margin-bottom:12px}
 .product-hub-header .product-hub-tabs{flex:1;min-width:0}
 .product-hub-header-all{font-size:11px;gap:3px}
 .product-hub-tab-btn{font-size:12px;padding:10px 3px;white-space:nowrap}
 .product-hub-track{gap:10px}
 .product-hub-slide{flex-basis:calc((100% - 24px)/2.15)}
 .product-hub-section .product__item-img{height:132px;padding:10px}
 .product-hub-section .product__item-cont{padding:10px}
 .product-hub-section .product__item-cont .title{font-size:13px;min-height:38px;margin-bottom:8px}
 .product-hub-section .price{font-size:14px;gap:0 5px}
 .product-hub-section .price del{font-size:10px}
 .product-hub-section .stock-dot-indicator .info{font-size:10px}
 .product-hub-section .product__stock-rating-row{flex-wrap:wrap;gap:3px}
 .product-hub-section .product__item-img .badge{font-size:9px;padding:4px 6px}
 .product-hub-section .festive-tag-text,.product-hub-section .discount-sep{display:none}
 .product-hub-navigation{display:none}
 .product-hub-swipe{display:block;color:#64748b;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.product-hub-tab-content{animation:none}.product-hub-section .product__item-img>a img{transition:none}}
@media(max-width:767px){.google-reviews-section{padding:30px 0 24px}.google-reviews-section .testimonials-heading{margin-bottom:16px}.google-reviews-section .testimonials-controls{gap:8px;margin-top:8px}.google-reviews-section .testimonials-navigation{gap:5px}}
/* Let the homepage background continue seamlessly through its closing sections. */
.home-livefx .google-reviews-section,
.home-livefx .top-brands-section.brands-showcase,
.home-livefx .home-guides-section{background:transparent;border:0}
.home-livefx .home-guides-link{padding:28px 32px;gap:24px;border:1px solid #cfdfed;border-left:4px solid #087cbe;border-radius:14px;background:#fff;box-shadow:0 6px 24px #17324e06}
.home-guides-link .home-guides-icon{display:grid;place-items:center;flex:0 0 64px;height:64px;min-height:0;border-radius:14px;background:#edf5fc;color:#12669f}
.home-guides-copy{flex:1;min-width:0}
.home-guides-eyebrow{display:block;font-size:10px;letter-spacing:1.4px;font-weight:700;color:#087cbe;margin-bottom:8px}
.home-guides-link .home-guides-copy h2{font-size:26px;color:#153652;margin-bottom:7px}
.home-guides-link .home-guides-copy p{font-size:14px;line-height:1.6}
.home-guides-link .home-guides-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 18px;border-radius:8px;background:#125d95;color:#fff;font-size:13px;transition:background .18s}
.home-guides-link:hover .home-guides-cta{background:#084b7d}
@media(max-width:767px){
 .home-livefx .home-guides-link{padding:20px;gap:14px;align-items:flex-start}
 .home-guides-link .home-guides-icon{flex-basis:44px;height:44px;border-radius:10px}
 .home-guides-icon svg{width:24px;height:24px}
 .home-guides-link .home-guides-copy{flex-basis:calc(100% - 58px)}
 .home-guides-link .home-guides-copy h2{font-size:20px;line-height:1.3}
 .home-guides-eyebrow{font-size:9px;letter-spacing:1px}
 .home-guides-link .home-guides-cta{width:100%;margin-top:2px}
}
/* Editorial hardware imagery for the buying guides banner. */
.home-livefx .home-guides-link{position:relative;overflow:hidden;min-height:240px;padding:36px 40px;border:1px solid #254b71;border-left:0;background:#071b32 url('/assets/images/category_banners/buying-guides-workbench.png') center/cover no-repeat;background:#071b32 image-set(url('/assets/images/category_banners/buying-guides-workbench.webp') type('image/webp'), url('/assets/images/category_banners/buying-guides-workbench.png') type('image/png')) center/cover no-repeat;box-shadow:0 8px 26px #16355212;isolation:isolate;flex-wrap:wrap;gap:16px 22px}
.home-guides-link::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,21,40,.94) 0%,rgba(5,21,40,.85) 40%,rgba(5,21,40,.16) 78%);z-index:-1}
.home-guides-link .home-guides-icon{background:rgba(25,99,153,.25);border:1px solid #46789b;color:#91d7ff}
.home-guides-link .home-guides-copy{flex:0 1 510px;max-width:55%}
.home-guides-link .home-guides-copy h2{color:#fff;font-size:30px}
.home-guides-link .home-guides-copy p{color:#bdd0e3;max-width:460px}
.home-guides-link .home-guides-eyebrow{color:#78caff}
.home-guides-link .home-guides-cta{background:#fff;color:#125785;align-self:flex-end;margin-left:auto;box-shadow:0 3px 12px #0002}
.home-guides-link:hover .home-guides-cta{background:#e5f4ff;color:#10476d}
@media(max-width:767px){
 .home-livefx .home-guides-link{min-height:300px;padding:24px;background-position:70% center;gap:16px}
 .home-guides-link::before{background:linear-gradient(90deg,rgba(5,21,40,.95),rgba(5,21,40,.78))}
 .home-guides-link .home-guides-copy{flex:1;max-width:none}
 .home-guides-link .home-guides-copy h2{font-size:23px;line-height:1.35}
 .home-guides-link .home-guides-cta{margin:0;width:100%}
}
/* Buying guides: clear contrast and restrained hover feedback. */
.home-livefx .home-guides-link{transition:border-color .22s ease,box-shadow .22s ease}
.home-guides-link .home-guides-copy h2{color:#f7fbff;letter-spacing:-.4px}
.home-guides-link .home-guides-copy p{color:#d8e5f2}
.home-guides-link .home-guides-eyebrow{color:#8edbff}
.home-guides-link .home-guides-cta{color:#103e62;transition:background .2s ease,color .2s ease,box-shadow .2s ease}
.home-guides-link .home-guides-cta svg{transition:transform .2s ease}
@media(hover:hover){
 .home-livefx .home-guides-link:hover{border-color:#6fbfe9;box-shadow:0 10px 30px #12324e26}
 .home-guides-link:hover .home-guides-copy h2{color:#fff}
 .home-guides-link:hover .home-guides-cta{background:#dff3ff;color:#08395b;box-shadow:0 4px 16px #0003}
 .home-guides-link:hover .home-guides-cta svg{transform:translateX(3px)}
}
.home-livefx .home-guides-link:focus-visible{outline:3px solid #52bdff;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.home-livefx .home-guides-link,.home-guides-link .home-guides-cta,.home-guides-link .home-guides-cta svg{transition:none}.home-guides-link:hover .home-guides-cta svg{transform:none}}
/* Tighter spacing around homepage customer reviews. */
.home-livefx .google-reviews-section{padding-top:24px;padding-bottom:16px}
.home-livefx .google-reviews-section .testimonials-heading{margin-bottom:16px}
.home-livefx .google-reviews-section .testimonials-controls{margin-top:6px}
.home-livefx .top-brands-section.brands-showcase{padding-top:20px}
@media(max-width:767px){.home-livefx .google-reviews-section{padding-top:18px;padding-bottom:10px}.home-livefx .google-reviews-section .testimonials-heading{margin-bottom:12px}.home-livefx .top-brands-section.brands-showcase{padding-top:16px}}
/* Explicit banner contrast and visible hover state. */
.home-livefx .home-guides-section .home-guides-link .home-guides-copy h2{color:#fff !important;text-shadow:0 2px 12px #0005}
.home-livefx .home-guides-section .home-guides-copy p{color:#e5effa !important}
.home-livefx .home-guides-section .home-guides-eyebrow{color:#6dd4ff !important}
.home-livefx .home-guides-section .home-guides-cta{background:#168bd0;color:#fff !important;border:1px solid #55b8ec}
.home-livefx .home-guides-section .home-guides-link{transition:box-shadow .25s ease,border-color .25s ease}
.home-livefx .home-guides-section .home-guides-link::before{transition:opacity .25s ease}
@media(hover:hover){
 .home-livefx .home-guides-section .home-guides-link:hover{border-color:#59c9ff;box-shadow:0 8px 28px #16466f38}
 .home-livefx .home-guides-section .home-guides-link:hover::before{opacity:.82}
 .home-livefx .home-guides-section .home-guides-link:hover .home-guides-cta{background:#fff;color:#0d4e7a !important;border-color:#fff}
 .home-livefx .home-guides-section .home-guides-link:hover .home-guides-copy h2{color:#a9e5ff !important}
}
@media(prefers-reduced-motion:reduce){.home-livefx .home-guides-section .home-guides-link,.home-livefx .home-guides-section .home-guides-link::before{transition:none}}
/* Google reviews link aligned with the section heading. */
.google-reviews-section .testimonials-header-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}
.home-livefx .google-reviews-section .testimonials-header-row .testimonials-heading{margin-bottom:0}
.testimonials-header-row .google-all-reviews{flex-shrink:0;white-space:nowrap}
@media(max-width:767px){.google-reviews-section .testimonials-header-row{flex-wrap:wrap;gap:6px;margin-bottom:12px}.testimonials-header-row .google-all-reviews{margin-left:auto;font-size:13px}}
/* Gaming monitor collection after the PC Builder banner. */
.gaming-monitors-section{padding:24px 0;overflow:hidden}
.gaming-monitors-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.gaming-monitors-header h2{font-size:28px;color:#153652;margin:0 0 6px}
.gaming-monitors-header p{font-size:14px;color:#61758c;margin:0}
.gaming-monitors-header .brands-view-all{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid #bcd3e8;border-radius:8px;background:#fff;color:#175b8b;font-size:13px;font-weight:600;white-space:nowrap}
.gaming-monitors-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 12px;scrollbar-width:thin;scrollbar-color:#b9cde1 transparent}
.gaming-monitor-slide{flex:0 0 calc((100% - 64px)/5);min-width:0;scroll-snap-align:start}
.gaming-monitors-section .product__item{height:100%}
.gaming-monitors-section .product__item:hover{transform:none}
.gaming-monitors-section .product__item-img{height:175px;padding:12px}
.gaming-monitors-section .product__item-img>a,.gaming-monitors-section .product__item-img img{width:100%;height:100%;object-fit:contain}
.gaming-monitors-section :is(a,.gaming-monitors-track):focus-visible{outline:2px solid #168bca;outline-offset:3px}
.gaming-monitors-empty{display:block;padding:24px;background:#fff;border:1px solid #dbe5ef;border-radius:12px;color:#175b8b}
@media(max-width:991px){.gaming-monitor-slide{flex-basis:calc((100% - 32px)/3)}}
@media(max-width:767px){.gaming-monitors-section{padding:16px 0}.gaming-monitors-header{flex-wrap:wrap;gap:10px;margin-bottom:12px}.gaming-monitors-header h2{font-size:23px}.gaming-monitors-header .brands-view-all{margin-left:auto}.gaming-monitors-track{gap:10px}.gaming-monitor-slide{flex-basis:calc((100% - 24px)/2.15)}.gaming-monitors-section .product__item-img{height:132px}.gaming-monitors-section .product__item-cont{padding:10px}.gaming-monitors-section .price{font-size:14px;display:flex;flex-wrap:wrap;gap:4px}.gaming-monitors-section .price del{font-size:10px}}
/* Continuous monitor shelf without horizontal or vertical scrollbars. */
.gaming-monitors-section .gaming-monitors-track{scroll-snap-type:none;scroll-behavior:auto;scrollbar-width:none;overflow-y:hidden}
.gaming-monitors-section .gaming-monitors-track::-webkit-scrollbar{display:none;width:0;height:0}
/* Shared homepage View All treatment matching View All Categories. */
.home-livefx :is(.brands-view-all,.product-hub-all){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#008cce;font-size:14px;font-weight:600;line-height:1.4;white-space:nowrap;text-decoration:none}
.home-livefx :is(.brands-view-all,.product-hub-all):hover{background:transparent;border:0;color:#006da6;box-shadow:none}
.home-livefx :is(.brands-view-all,.product-hub-all) svg{width:16px;height:16px;flex-shrink:0;transition:transform .18s ease}
@media(hover:hover){.home-livefx :is(.brands-view-all,.product-hub-all):hover svg{transform:translateX(3px)}}
@media(max-width:767px){.home-livefx :is(.brands-view-all,.product-hub-all){font-size:12px;gap:5px}}
@media(prefers-reduced-motion:reduce){.home-livefx :is(.brands-view-all,.product-hub-all) svg{transition:none;transform:none !important}}

/* The monitor shelf uses the same card dimensions as the main product hub. */
.gaming-monitors-section .price{gap:4px 8px;line-height:1.5}
@media(max-width:767px){.gaming-monitors-section .price{gap:0 5px}.gaming-monitors-section .product__item-img{padding:10px}}/* Identical card widths and gutters across both homepage product shelves. */
.gaming-monitors-track{gap:16px}
.gaming-monitor-slide{flex-basis:calc((100% - 80px)/6)}
@media(max-width:1199px){.gaming-monitor-slide{flex-basis:calc((100% - 64px)/5)}}
@media(max-width:991px){.gaming-monitor-slide{flex-basis:calc((100% - 48px)/4)}}
@media(max-width:767px){.gaming-monitors-track{gap:10px}.gaming-monitor-slide{flex-basis:calc((100% - 24px)/2.15)}}

/* Monitors reuse the original product hub card geometry. */
.gaming-monitors-section .product__item{height:100%;border-radius:12px;overflow:hidden}
.gaming-monitors-section .product__item:hover{transform:none}
.gaming-monitors-section .product__item-img{height:175px;padding:12px}
.gaming-monitors-section .product__item-img>a{display:block;width:100%;height:100%}
.gaming-monitors-section .product__item-img>a img{width:100%;height:100%;object-fit:contain}
.gaming-monitors-section .product__item-cont{padding:12px}
.gaming-monitors-section .product__item-cont .title{font-size:14px;line-height:1.45;min-height:41px;margin-bottom:10px}
.gaming-monitors-section .product__item-cont .title a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gaming-monitors-section .price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:16px;line-height:1.5}
.gaming-monitors-section .price del{font-size:11px}
.gaming-monitors-section .product__item-img .badge{max-width:calc(100% - 16px);font-size:10px;box-shadow:none !important}
@media(max-width:767px){
 .gaming-monitors-section .product__item-img{height:132px;padding:10px}
 .gaming-monitors-section .product__item-cont{padding:10px}
 .gaming-monitors-section .product__item-cont .title{font-size:13px;min-height:38px;margin-bottom:8px}
 .gaming-monitors-section .price{font-size:14px;gap:0 5px}
 .gaming-monitors-section .price del{font-size:10px}
 .gaming-monitors-section .stock-dot-indicator .info{font-size:10px}
 .gaming-monitors-section .product__stock-rating-row{flex-wrap:wrap;gap:3px}
 .gaming-monitors-section .product__item-img .badge{font-size:9px;padding:4px 6px}
 .gaming-monitors-section .festive-tag-text,.gaming-monitors-section .discount-sep{display:none}
}

/* Mobile shelves match the approved Today’s Deal card geometry. */
@media(max-width:767px){
 .home-livefx :is(.product-hub-track,.gaming-monitors-track){gap:16px;align-items:stretch}
 .home-livefx :is(.product-hub-slide,.gaming-monitor-slide){flex:0 0 calc((100% - 16px)/2);min-width:0;padding:0}
 .home-livefx :is(.product-hub-section,.gaming-monitors-section) .product__item{height:100%;display:flex;flex-direction:column;max-width:none;margin:0}
 .home-livefx :is(.product-hub-section,.gaming-monitors-section) .product__item-img{height:auto;min-height:0;padding:16px;flex:none}
 .home-livefx :is(.product-hub-section,.gaming-monitors-section) .product__item-img>a{width:100%;height:auto;aspect-ratio:1 / 1}
 .home-livefx :is(.product-hub-section,.gaming-monitors-section) .product__item-cont{display:flex;flex-direction:column;flex-grow:1;min-height:144.55px}
 .home-livefx :is(.product-hub-section,.gaming-monitors-section) .product__meta-wrapper{margin-top:auto}
 .home-livefx :is(.product-hub-section,.gaming-monitors-section) .product__item-cont .title{font-size:12px;min-height:0}
 .home-livefx :is(.product-hub-section,.gaming-monitors-section) .product__item .title a{line-height:1.22}
 .home-livefx :is(.product-hub-section,.gaming-monitors-section) .product__item .info{font-size:12px}
 .home-livefx :is(.product-hub-section,.gaming-monitors-section) .product__stock-rating-row{gap:6px}
 .home-livefx :is(.product-hub-section,.gaming-monitors-section) .price{line-height:1.25;gap:0;white-space:normal;word-break:break-word}
 .home-livefx :is(.product-hub-section,.gaming-monitors-section) .price del{font-size:11px}
}
@media(max-width:359px){.product-hub-header .product-hub-tabs{gap:6px}.product-hub-tab-btn{font-size:11px;padding-inline:2px}.home-livefx .product-hub-header-all{font-size:11px;gap:3px}}
