/* ==========================================================================
   SEPEHRAN CUSTOM COMPONENTS CSS BUNDLE
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. GLOBAL OVERFLOW & TOP-GAP RESET (ZERO WHITE SPACE)
   -------------------------------------------------------------------------- */
html, body {
    overflow-x: hidden !important;
    max-width: 100% !important;
    width: 100% !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    top: 0 !important;
}

body {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

*, *::before, *::after {
    box-sizing: border-box !important;
}

img, video, iframe {
    max-width: 100% !important;
    height: auto !important;
}

/* --------------------------------------------------------------------------
   2. HEADER & TOP NAVIGATION (UNIFIED DESIGN SYSTEM)
   -------------------------------------------------------------------------- */
.menu-style-1 {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    top: 0 !important;
    overflow-x: clip !important;
    z-index: 1000 !important;
}

.menu-style-1 header,
header.nav-down,
header {
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    top: 0 !important;
    background: #111111 !important;
    z-index: 1000 !important;
    border: none !important;
}

.menu-style-1 .header-main {
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    top: 0 !important;
    background: #111111 !important;
    border: none !important;
    border-top: none !important;
    z-index: 1000 !important;
}

.menu-style-1 .header-main .container {
    position: relative !important;
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
}

/* ==========================================================================
   GLOBAL RESET FOR LEGACY SUBMENU CLUTTER
   ========================================================================== */
#cssmenu > ul > li.has-sub > a:before,
#cssmenu > ul > li.has-sub > a:after,
#cssmenu ul ul > li.has-sub > a:before,
#cssmenu ul ul > li.has-sub > a:after,
#cssmenu .submenu-buttonee {
    display: none !important;
    content: none !important;
    visibility: hidden !important;
}

/* --- DESKTOP STYLING (>= 992px) --- */
@media (min-width: 992px) {
    .menu-style-1 .header-main {
        padding: 12px 0 !important;
    }

    .menu-style-1 nav#cssmenu {
        position: relative !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important; /* In RTL, flex-start is the RIGHT side */
        width: 100% !important;
        min-height: 52px !important;
        padding: 0 0 0 190px !important; /* Reservoir room for left logo */
        margin: 0 !important;
        direction: rtl !important;
    }

    /* Logo is ALWAYS on the Left in Desktop, Hanging Down */
    .menu-style-1 .logo,
    #cssmenu .logo {
        position: absolute !important;
        left: 15px !important;
        right: auto !important;
        top: -12px !important;
        margin: 0 !important;
        z-index: 1200 !important;
        background-color: #c54b4b !important;
        padding: 22px 16px 12px 16px !important;
        border-radius: 0 0 12px 12px !important;
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.4) !important;
        float: none !important;
        display: inline-block !important;
        transition: transform 0.2s ease !important;
    }

    .menu-style-1 .logo:hover,
    #cssmenu .logo:hover {
        transform: translateY(2px) !important;
    }

    .menu-style-1 .logo img,
    #cssmenu .logo img {
        max-width: 160px !important;
        width: auto !important;
        height: auto !important;
        display: block !important;
    }

    /* Desktop Navigation Menu Links - RIGHT ALIGNED */
    .menu-style-1 nav#cssmenu > ul,
    #cssmenu > ul {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        margin: 0 !important;
        margin-right: 0 !important;
        margin-left: auto !important;
        padding: 0 !important;
        list-style: none !important;
        float: none !important;
        width: auto !important;
        direction: rtl !important;
    }

    #cssmenu > ul > li {
        position: relative !important;
        float: none !important;
        display: inline-block !important;
        margin: 0 !important;
        padding: 0 !important;
        height: auto !important;
        background: transparent !important;
    }

    #cssmenu > ul > li > a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        padding: 10px 18px !important;
        font-size: 15px !important;
        font-family: inherit !important;
        font-weight: 500 !important;
        color: #ffffff !important;
        text-decoration: none !important;
        border-radius: 6px !important;
        transition: background-color 0.2s ease, color 0.2s ease !important;
        white-space: nowrap !important;
    }

    #cssmenu > ul > li:hover > a,
    #cssmenu > ul > li.active > a {
        background: #c54b4b !important;
        color: #ffffff !important;
    }

    /* Clean, elegant chevron indicator for items with submenu */
    #cssmenu > ul > li.has-sub > a::after,
    #cssmenu > ul > li:has(ul) > a::after {
        content: '' !important;
        display: inline-block !important;
        width: 6px !important;
        height: 6px !important;
        border-left: 2px solid rgba(255, 255, 255, 0.9) !important;
        border-bottom: 2px solid rgba(255, 255, 255, 0.9) !important;
        transform: rotate(-45deg) translateY(-2px) !important;
        transition: transform 0.25s ease !important;
        margin-right: 4px !important;
        position: static !important;
        flex-shrink: 0 !important;
    }

    #cssmenu > ul > li.has-sub:hover > a::after,
    #cssmenu > ul > li:has(ul):hover > a::after {
        transform: rotate(135deg) translateY(-2px) !important;
    }

    /* Desktop Submenu (Dropdown): Centered Under Parent Item, Centered Links */
    #cssmenu ul ul {
        position: absolute !important;
        top: 100% !important;
        right: 50% !important;
        transform: translateX(50%) !important;
        min-width: 220px !important;
        background: #ffffff !important;
        border-radius: 10px !important;
        box-shadow: 0 14px 36px rgba(0, 0, 0, 0.22) !important;
        padding: 8px 0 !important;
        margin: 0 !important;
        list-style: none !important;
        display: none !important;
        z-index: 9999 !important;
        border: 1px solid rgba(0,0,0,0.08) !important;
        text-align: center !important;
    }

    /* Seamless invisible hover bridge: prevents any mouse gap */
    #cssmenu ul ul::before {
        content: '' !important;
        position: absolute !important;
        top: -16px !important;
        right: -30px !important;
        left: -30px !important;
        height: 18px !important;
        background: transparent !important;
        display: block !important;
        z-index: 10 !important;
    }

    #cssmenu li:hover > ul {
        display: block !important;
        animation: fadeInSubmenuCentered 0.2s ease forwards !important;
    }

    @keyframes fadeInSubmenuCentered {
        from {
            opacity: 0;
            transform: translateX(50%) translateY(6px);
        }
        to {
            opacity: 1;
            transform: translateX(50%) translateY(0);
        }
    }

    #cssmenu ul ul li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        height: auto !important;
        background: transparent !important;
        border: none !important;
    }

    #cssmenu ul ul li a {
        display: block !important;
        padding: 10px 16px !important;
        font-size: 14px !important;
        color: #1e293b !important;
        text-align: center !important;
        text-decoration: none !important;
        transition: all 0.2s ease !important;
        border-radius: 6px !important;
        margin: 2px 8px !important;
    }

    #cssmenu ul ul li a:hover {
        background-color: #f1f5f9 !important;
        color: #c54b4b !important;
    }

    #head-mobile,
    .buttonee {
        display: none !important;
    }
}

/* --- MOBILE & TABLET STYLING (<= 991px) --- */
@media (max-width: 991px) {
    .menu-style-1 .header-main {
        padding: 5px 0 !important;
        background: #111827 !important;
        height: 56px !important;
        position: relative !important;
        z-index: 1000 !important;
    }

    .menu-style-1 .header-main .container {
        padding: 0 15px !important;
        height: 100% !important;
    }

    .menu-style-1 nav#cssmenu {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-direction: row-reverse !important; /* Hamburger on the Right, Logo on the Left */
        width: 100% !important;
        height: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
    }

    /* Mobile Brand Logo on the LEFT - Prominent & Larger */
    .menu-style-1 .logo,
    #cssmenu .logo {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        bottom: auto !important;
        margin: 0 0 0 4px !important;
        padding: 5px 14px !important;
        height: 44px !important;
        max-height: 44px !important;
        width: auto !important;
        max-width: 175px !important;
        background-color: #c54b4b !important;
        border-radius: 8px !important;
        box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3) !important;
        z-index: 1001 !important;
        float: none !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .menu-style-1 .logo img,
    #cssmenu .logo img {
        max-width: 145px !important;
        max-height: 34px !important;
        width: auto !important;
        height: auto !important;
        display: block !important;
        object-fit: contain !important;
        border-radius: 4px !important;
    }

    #head-mobile {
        display: none !important;
    }

    /* Mobile Hamburger Button on the RIGHT - Placed naturally above the Ticker circular badge */
    #cssmenu .buttonee {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        bottom: auto !important;
        width: 40px !important;
        height: 40px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 5px !important;
        background: rgba(255, 255, 255, 0.08) !important;
        border: 1px solid rgba(255, 255, 255, 0.14) !important;
        border-radius: 8px !important;
        cursor: pointer !important;
        z-index: 1002 !important;
        margin: 0 4px 0 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        transition: all 0.25s ease !important;
    }

    #cssmenu .buttonee:hover {
        background: rgba(255, 255, 255, 0.16) !important;
    }

    /* Ticker Circular Logo - 20% Smaller on Mobile */
    [data-phoenix-ticker] .aspect-square.rounded-full,
    [data-phoenix-ticker] .rounded-full.z-30,
    [data-phoenix-ticker] .rounded-full.aspect-square {
        transform: scale(0.8) !important;
        transform-origin: center right !important;
    }

    /* 3 Clean Lines */
    #cssmenu .buttonee::before,
    #cssmenu .buttonee span,
    #cssmenu .buttonee::after {
        content: '' !important;
        display: block !important;
        width: 20px !important;
        height: 2.2px !important;
        background: #ffffff !important;
        border-radius: 2px !important;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
        position: static !important;
        margin: 0 !important;
        box-shadow: none !important;
    }

    /* Morph to Clean X when Opened */
    #cssmenu .buttonee.menu-opened {
        background: rgba(197, 75, 75, 0.25) !important;
        border-color: #c54b4b !important;
    }

    #cssmenu .buttonee.menu-opened::before {
        transform: translateY(6.7px) rotate(45deg) !important;
        background: #ff6b6b !important;
    }

    #cssmenu .buttonee.menu-opened span {
        opacity: 0 !important;
        transform: scale(0) !important;
    }

    #cssmenu .buttonee.menu-opened::after {
        transform: translateY(-6.7px) rotate(-45deg) !important;
        background: #ff6b6b !important;
    }

    /* Mobile Dropdown Drawer: ABSOLUTELY Positioned, Floats Over Page (Never pushes header down) */
    #cssmenu > ul {
        display: none !important;
        position: absolute !important;
        top: 52px !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        background: linear-gradient(180deg, #18202c 0%, #0f141c 100%) !important;
        box-shadow: 0 20px 45px -10px rgba(0, 0, 0, 0.75), 0 0 0 1px rgba(255, 255, 255, 0.08) !important;
        z-index: 99999 !important;
        border-radius: 0 0 16px 16px !important;
        padding: 8px 0 14px 0 !important;
        margin: 0 !important;
        list-style: none !important;
        max-height: calc(100vh - 70px) !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        border: none !important;
    }

    #cssmenu.mobile-menu > ul.open,
    #cssmenu > ul.open {
        display: block !important;
    }

    #cssmenu > ul > li {
        width: 100% !important;
        right: auto !important;
        left: auto !important;
        margin: 0 !important;
        float: none !important;
        display: block !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
        border-top: none !important;
        position: relative !important;
        background: transparent !important;
    }

    #cssmenu > ul > li:last-child {
        border-bottom: none !important;
    }

    #cssmenu > ul > li > a {
        padding: 14px 20px !important;
        font-size: 15.5px !important;
        font-weight: 600 !important;
        color: #f1f5f9 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        text-align: right !important;
        text-decoration: none !important;
        transition: all 0.2s ease !important;
        border: none !important;
        background: transparent !important;
    }

    #cssmenu > ul > li > a:hover,
    #cssmenu > ul > li > a:active {
        background: rgba(197, 75, 75, 0.12) !important;
        color: #ff6b6b !important;
        padding-right: 26px !important;
    }

    #cssmenu > ul > li.active > a {
        color: #ff6b6b !important;
        background: rgba(197, 75, 75, 0.15) !important;
        border-right: 3px solid #c54b4b !important;
    }

    /* Submenu Accordion Drawer */
    #cssmenu ul ul {
        display: none;
        background: #0b0f15 !important;
        box-shadow: inset 0 4px 14px rgba(0, 0, 0, 0.4) !important;
        padding: 4px 0 !important;
        margin: 0 !important;
        list-style: none !important;
        border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
        border-right: 3px solid #c54b4b !important;
    }

    #cssmenu ul ul.open {
        display: block !important;
    }

    #cssmenu ul ul li {
        border: none !important;
        background: transparent !important;
    }

    #cssmenu ul ul li a {
        padding: 12px 30px 12px 18px !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        color: #94a3b8 !important;
        display: flex !important;
        align-items: center !important;
        text-align: right !important;
        text-decoration: none !important;
        transition: all 0.2s ease !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.03) !important;
    }

    #cssmenu ul ul li a::before {
        content: '' !important;
        display: inline-block !important;
        width: 6px !important;
        height: 6px !important;
        border-radius: 50% !important;
        background: #c54b4b !important;
        margin-left: 10px !important;
        opacity: 0.7 !important;
        transition: all 0.2s ease !important;
    }

    #cssmenu ul ul li a:hover,
    #cssmenu ul ul li a:active {
        color: #ffffff !important;
        background: rgba(255, 255, 255, 0.04) !important;
        padding-right: 36px !important;
    }

    #cssmenu ul ul li a:hover::before {
        opacity: 1 !important;
        transform: scale(1.3) !important;
    }

    /* Submenu Expand Toggle Button */
    .submenu-button {
        position: absolute !important;
        z-index: 10 !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 32px !important;
        width: 32px !important;
        cursor: pointer !important;
        border-radius: 8px !important;
        background: rgba(255, 255, 255, 0.08) !important;
        border: 1px solid rgba(255, 255, 255, 0.12) !important;
        transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    }

    .submenu-button::after {
        content: '' !important;
        display: block !important;
        width: 7px !important;
        height: 7px !important;
        border-left: 2px solid #cbd5e1 !important;
        border-bottom: 2px solid #cbd5e1 !important;
        transform: rotate(-45deg) translateY(-2px) !important;
        transition: transform 0.25s ease, border-color 0.25s ease !important;
    }

    .submenu-button:hover {
        background: rgba(255, 255, 255, 0.15) !important;
    }

    .submenu-button.submenu-opened {
        background: #c54b4b !important;
        border-color: #c54b4b !important;
    }

    .submenu-button.submenu-opened::after {
        border-color: #ffffff !important;
        transform: rotate(135deg) translateY(-2px) !important;
    }
}

/* Background overlay when mobile menu is open */
.menu-overlay {
    display: none;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background-color: rgba(0, 0, 0, 0.6) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    z-index: 998 !important;
    transition: opacity 0.3s ease !important;
}

body.menu-open {
    overflow: hidden !important;
}

/* --------------------------------------------------------------------------
   3. HERO SLIDER (#slider-home / .home-hero-slider) - HOMEPAGE ONLY
      Ken Burns continuous zoom, smooth cross-fade, and frosted glass caption
   -------------------------------------------------------------------------- */
#slider-home,
.home-hero-slider {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background-color: #0f172a !important;
    z-index: 5 !important;
}

/* Smooth Cross-Fade Transition (Zero Void, Zero Jitter, Stacked Layers) */
#slider-home.carousel-fade .carousel-inner,
#slider-home .carousel-inner,
.home-hero-slider.carousel-fade .carousel-inner,
.home-hero-slider .carousel-inner {
    position: relative !important;
    width: 100% !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: #0b1120 !important;
}

#slider-home.carousel-fade .carousel-item,
#slider-home .carousel-item,
.home-hero-slider.carousel-fade .carousel-item,
.home-hero-slider .carousel-item {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: 1 !important;
    transform: none !important;
    transition: opacity 1.4s cubic-bezier(0.4, 0, 0.2, 1), visibility 1.4s ease !important;
    will-change: opacity, visibility;
    overflow: hidden !important;
}

/* 1. Active Idle Slide */
#slider-home.carousel-fade .carousel-item.active,
#slider-home .carousel-item.active,
.home-hero-slider.carousel-fade .carousel-item.active,
.home-hero-slider .carousel-item.active {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 2 !important;
}

/* 2. Incoming Slide during transition: FADES IN ON TOP smoothly over 1.4s */
#slider-home.carousel-fade .carousel-item-next.carousel-item-left,
#slider-home.carousel-fade .carousel-item-prev.carousel-item-right,
.home-hero-slider.carousel-fade .carousel-item-next.carousel-item-left,
.home-hero-slider.carousel-fade .carousel-item-prev.carousel-item-right {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 4 !important;
    transition: opacity 1.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* 3. Outgoing Slide during transition: Stays underneath at z-index 1 while fading */
#slider-home.carousel-fade .active.carousel-item-left,
#slider-home.carousel-fade .active.carousel-item-right,
.home-hero-slider.carousel-fade .active.carousel-item-left,
.home-hero-slider.carousel-fade .active.carousel-item-right {
    opacity: 0 !important;
    visibility: visible !important;
    z-index: 1 !important;
    transition: opacity 1.4s cubic-bezier(0.4, 0, 0.2, 1), visibility 1.4s ease !important;
}

/* Ken Burns Subtle Continuous Zoom - Completely Smooth & Seamless */
#slider-home .carousel-item picture,
.home-hero-slider .carousel-item picture {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
}

#slider-home .carousel-item img,
.home-hero-slider .carousel-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    transform: scale(1.0);
    transform-origin: center center !important;
    will-change: transform;
    transition: transform 2.5s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

#slider-home .carousel-item.active img,
#slider-home .carousel-item.carousel-item-next img,
#slider-home .carousel-item.carousel-item-prev img,
#slider-home .carousel-item.carousel-item-left img,
#slider-home .carousel-item.carousel-item-right img,
.home-hero-slider .carousel-item.active img,
.home-hero-slider .carousel-item.carousel-item-next img,
.home-hero-slider .carousel-item.carousel-item-prev img,
.home-hero-slider .carousel-item.carousel-item-left img,
.home-hero-slider .carousel-item.carousel-item-right img {
    animation: sepehranKenBurnsZoom 10s cubic-bezier(0.2, 0.8, 0.35, 1) forwards !important;
}

@keyframes sepehranKenBurnsZoom {
    0% {
        transform: scale(1.0);
    }
    100% {
        transform: scale(1.085);
    }
}

/* Subtle Vignette Overlay */
#slider-home .carousel-item::before,
.home-hero-slider .carousel-item::before {
    content: "" !important;
    position: absolute !important;
    top: 0; left: 0; right: 0; bottom: 0 !important;
    background: radial-gradient(circle at center, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.48) 100%) !important;
    z-index: 2 !important;
    pointer-events: none !important;
}

/* Floating Circular Navigation Controls */
#slider-home .carousel-control-prev,
#slider-home .carousel-control-next {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    background: rgba(15, 23, 42, 0.5) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0.8 !important;
    z-index: 35 !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
    text-decoration: none !important;
}

#slider-home .carousel-control-prev {
    left: 24px !important;
    right: auto !important;
}

#slider-home .carousel-control-next {
    right: 24px !important;
    left: auto !important;
}

#slider-home .carousel-control-prev:hover,
#slider-home .carousel-control-next:hover {
    background: linear-gradient(135deg, #b91c1c, #d97706) !important;
    border-color: transparent !important;
    opacity: 1 !important;
    transform: translateY(-50%) scale(1.1) !important;
    box-shadow: 0 8px 24px rgba(185, 28, 28, 0.5) !important;
}

#slider-home .carousel-control-prev-icon,
#slider-home .carousel-control-next-icon {
    width: 18px !important;
    height: 18px !important;
    filter: brightness(0) invert(1) !important;
}

/* Floating Sleek Slide Indicators (Pills) */
#slider-home .carousel-indicators {
    position: absolute !important;
    bottom: 8px !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 35 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

#slider-home .carousel-indicators li {
    width: 22px !important;
    height: 4px !important;
    border-radius: 3px !important;
    background-color: rgba(255, 255, 255, 0.4) !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    opacity: 0.75 !important;
    margin: 0 !important;
    padding: 0 !important;
}

#slider-home .carousel-indicators li:hover {
    background-color: rgba(255, 255, 255, 0.85) !important;
    opacity: 1 !important;
}

#slider-home .carousel-indicators li.active {
    width: 44px !important;
    background: linear-gradient(90deg, #b91c1c 0%, #d97706 100%) !important;
    opacity: 1 !important;
    box-shadow: 0 0 12px rgba(185, 28, 28, 0.85) !important;
}

@media (max-width: 768px) {
    #slider-home .carousel-control-prev,
    #slider-home .carousel-control-next {
        width: 36px !important;
        height: 36px !important;
    }
    #slider-home .carousel-control-prev { left: 10px !important; }
    #slider-home .carousel-control-next { right: 10px !important; }
    #slider-home .carousel-indicators { bottom: 4px !important; }
    #slider-home .carousel-indicators li { width: 16px !important; height: 3px !important; }
    #slider-home .carousel-indicators li.active { width: 30px !important; }
}
/* Modern Frosted Glass / Matte Caption Box (Not Heavy Dark) */
#slider-home .carousel-caption,
.home-hero-slider .carousel-caption {
    position: absolute !important;
    z-index: 30 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: rgba(15, 23, 42, 0.38) !important;
    backdrop-filter: blur(12px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(160%) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.3), inset 0 0 0 1px rgba(255, 255, 255, 0.12) !important;
    text-align: center !important;
    direction: rtl !important;
}

/* Typewriter Caret Cursor */
.typewriter-cursor {
    display: inline-block;
    width: 2px;
    height: 1em;
    background-color: #ef4444;
    margin-right: 4px;
    vertical-align: middle;
    animation: blinkCursor 0.8s infinite;
}

@keyframes blinkCursor {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}

/* Desktop Slider (>= 992px) */
@media (min-width: 992px) {
    #slider-home,
    .home-hero-slider,
    #slider-home .carousel-inner,
    .home-hero-slider .carousel-inner,
    #slider-home .carousel-item,
    .home-hero-slider .carousel-item {
        height: 540px !important;
        min-height: 540px !important;
        max-height: 540px !important;
    }
    #slider-home .carousel-caption,
    .home-hero-slider .carousel-caption {
        bottom: 28px !important;
        top: auto !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        width: 78% !important;
        max-width: 820px !important;
        padding: 12px 28px !important;
        border-radius: 12px !important;
    }
    #slider-home .carousel-caption .hero-kicker-badge,
    .home-hero-slider .carousel-caption .hero-kicker-badge {
        color: #ffffff !important;
        font-family: 'Yekan Bakh', 'Vazirmatn', sans-serif !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        margin-bottom: 6px !important;
        text-shadow: 0 2px 8px rgba(0, 0, 0, 0.95), 0 4px 16px rgba(0, 0, 0, 0.8) !important;
    }
    #slider-home .carousel-caption h2,
    #slider-home .carousel-caption h3,
    #slider-home .carousel-caption .hero-caption-title,
    .home-hero-slider .carousel-caption h2,
    .home-hero-slider .carousel-caption h3,
    .home-hero-slider .carousel-caption .hero-caption-title {
        color: #ffffff !important;
        font-family: 'Yekan Bakh', 'Vazirmatn', sans-serif !important;
        font-size: 20px !important;
        font-weight: 800 !important;
        line-height: 1.4 !important;
        margin: 0 0 4px 0 !important;
        text-shadow: 0 2px 8px rgba(0, 0, 0, 0.95), 0 4px 16px rgba(0, 0, 0, 0.8) !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    #slider-home .carousel-caption p,
    .home-hero-slider .carousel-caption p {
        color: #ffffff !important;
        font-family: 'Yekan Bakh', 'Vazirmatn', sans-serif !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        line-height: 1.5 !important;
        margin: 0 !important;
        text-shadow: 0 2px 8px rgba(0, 0, 0, 0.9), 0 3px 12px rgba(0, 0, 0, 0.75) !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    #slider-home .carousel-caption .btn,
    .home-hero-slider .carousel-caption .btn {
        display: none !important;
    }
}

/* Mobile & Tablet Slider (<= 991px) */
@media (max-width: 991px) {
    #slider-home,
    .home-hero-slider,
    #slider-home .carousel-inner,
    .home-hero-slider .carousel-inner,
    #slider-home .carousel-item,
    .home-hero-slider .carousel-item {
        height: 250px !important;
        min-height: 250px !important;
        max-height: 250px !important;
    }
    #slider-home .carousel-caption,
    .home-hero-slider .carousel-caption {
        bottom: 12px !important;
        top: auto !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        width: 92% !important;
        max-width: 440px !important;
        padding: 6px 14px !important;
        border-radius: 10px !important;
    }
    #slider-home .carousel-caption .hero-kicker-badge,
    .home-hero-slider .carousel-caption .hero-kicker-badge {
        color: #ffffff !important;
        font-family: 'Yekan Bakh', 'Vazirmatn', sans-serif !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 5px !important;
        margin-bottom: 4px !important;
        text-shadow: 0 2px 6px rgba(0, 0, 0, 0.9) !important;
    }
    #slider-home .carousel-caption h2,
    #slider-home .carousel-caption h3,
    #slider-home .carousel-caption .hero-caption-title,
    .home-hero-slider .carousel-caption h2,
    .home-hero-slider .carousel-caption h3,
    .home-hero-slider .carousel-caption .hero-caption-title {
        color: #ffffff !important;
        font-family: 'Yekan Bakh', 'Vazirmatn', sans-serif !important;
        font-size: 13.5px !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
        margin: 0 0 3px 0 !important;
        text-shadow: 0 2px 6px rgba(0, 0, 0, 0.9) !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    #slider-home .carousel-caption p,
    .home-hero-slider .carousel-caption p {
        color: #ffffff !important;
        font-family: 'Yekan Bakh', 'Vazirmatn', sans-serif !important;
        font-size: 11px !important;
        line-height: 1.35 !important;
        margin: 0 !important;
        text-shadow: 0 2px 6px rgba(0, 0, 0, 0.85) !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    #slider-home .carousel-caption .btn,
    .home-hero-slider .carousel-caption .btn {
        display: none !important;
    }
}

/* ==========================================================================
   HOMEPAGE PRIMARY SEO H1 TYPOGRAPHY (RICH BLACK)
   ========================================================================== */
.homepage-main-h1,
.homepage-seo-main-intro .homepage-main-h1 {
    color: #0f172a !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.6 !important;
    margin: 12px 0 !important;
    text-shadow: none !important;
}

/* ==========================================================================
   3.1 INTERNAL PAGE HERO BANNER (#page-header-banner / .page-header-banner)
   Dedicated to single product pages, category pages, blog & internal pages.
   Completely independent from homepage slider.
   Adjust height, width, and object-fit freely here without affecting home slider.
   ========================================================================== */
:root {
    --page-banner-height-desktop: 280px;
    --page-banner-height-tablet: 220px;
    --page-banner-height-mobile: 160px;
}

#page-header-banner,
.page-header-banner {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background-color: #0f172a !important;
    z-index: 4 !important;
}

#page-header-banner img,
#page-header-banner .page-header-banner-img,
.page-header-banner img,
.page-header-banner .page-header-banner-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    animation: none !important;
}

/* Desktop Banner (>= 992px) */
@media (min-width: 992px) {
    #page-header-banner,
    .page-header-banner {
        height: var(--page-banner-height-desktop, 280px) !important;
        min-height: var(--page-banner-height-desktop, 280px) !important;
        max-height: var(--page-banner-height-desktop, 280px) !important;
    }
}

/* Tablet Banner (768px - 991px) */
@media (min-width: 768px) and (max-width: 991px) {
    #page-header-banner,
    .page-header-banner {
        height: var(--page-banner-height-tablet, 220px) !important;
        min-height: var(--page-banner-height-tablet, 220px) !important;
        max-height: var(--page-banner-height-tablet, 220px) !important;
    }
}

/* Mobile Banner (<= 767px) */
@media (max-width: 767px) {
    #page-header-banner,
    .page-header-banner {
        height: var(--page-banner-height-mobile, 160px) !important;
        min-height: var(--page-banner-height-mobile, 160px) !important;
        max-height: var(--page-banner-height-mobile, 160px) !important;
    }
}

/* ==========================================================================
   LUXURY SLIDER NAVIGATION CONTROLS (Next / Prev Arrows)
   ========================================================================== */
#slider-home .carousel-control-prev,
#slider-home .carousel-control-next {
    position: absolute !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    width: 48px !important;
    height: 48px !important;
    background: rgba(15, 23, 42, 0.45) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    border-radius: 50% !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4), inset 0 0 0 1px rgba(255, 255, 255, 0.15) !important;
    z-index: 35 !important;
    opacity: 0.9 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    text-decoration: none !important;
}

#slider-home .carousel-control-prev {
    right: 22px !important;
    left: auto !important;
}

#slider-home .carousel-control-next {
    left: 22px !important;
    right: auto !important;
}

/* Stunning Glass Red Hover */
#slider-home .carousel-control-prev:hover,
#slider-home .carousel-control-next:hover {
    background: #c54b4b !important;
    border-color: #ef4444 !important;
    transform: translateY(-50%) scale(1.12) !important;
    box-shadow: 0 0 25px rgba(239, 68, 68, 0.65), 0 8px 24px rgba(0, 0, 0, 0.5) !important;
    opacity: 1 !important;
}

/* Eliminate old white square and render crisp glowing white SVG icon */
#slider-home .carousel-control-prev-icon,
#slider-home .carousel-control-next-icon {
    width: 22px !important;
    height: 22px !important;
    background-color: transparent !important;
    border: none !important;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5)) !important;
    transition: transform 0.2s ease !important;
}

#slider-home .carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white' stroke-width='2.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5l7 7-7 7'/%3E%3C/svg%3E") !important;
}

#slider-home .carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white' stroke-width='2.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 19l-7-7 7-7'/%3E%3C/svg%3E") !important;
}

#slider-home .carousel-control-prev:hover .carousel-control-prev-icon {
    transform: translateX(2px) !important;
}

#slider-home .carousel-control-next:hover .carousel-control-next-icon {
    transform: translateX(-2px) !important;
}

@media (max-width: 991px) {
    #slider-home .carousel-control-prev,
    #slider-home .carousel-control-next {
        width: 36px !important;
        height: 36px !important;
    }
    #slider-home .carousel-control-prev { right: 10px !important; }
    #slider-home .carousel-control-next { left: 10px !important; }
    #slider-home .carousel-control-prev-icon,
    #slider-home .carousel-control-next-icon {
        width: 16px !important;
        height: 16px !important;
    }
}

/* --------------------------------------------------------------------------
   3. MAIN CONTAINER & BOXED LAYOUT (#despace)
   -------------------------------------------------------------------------- */
main {
    position: relative !important;
    display: block !important;
    clear: both !important;
    width: 100% !important;
    top: initial !important;
    margin-top: 0 !important;
    margin-bottom: inherit !important;
    padding-top: 0 !important;
}

#despace,
.container-fluid#despace {
    width: 100% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (min-width: 768px) {
    #despace,
    .container-fluid#despace {
        padding-right: 15% !important;
        padding-left: 15% !important;
    }
}

section.component-ribboned,
section.component-ribboned.component-search {
    position: relative !important;
    display: block !important;
    clear: both !important;
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 40px !important;
    padding-bottom: 40px !important;
    background-color: #ffffff !important;
    z-index: 10 !important;
    direction: rtl !important;
    text-align: right !important;
}

section.component-ribboned h3 {
    color: #1e293b !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    margin-bottom: 16px !important;
}

section.component-ribboned p {
    color: #475569 !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
    margin-bottom: 12px !important;
}

section.component-ribboned .ribboned-link-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-top: 24px !important;
}

section.component-ribboned .ribboned-link-row .btn {
    background-color: #c54b4b !important;
    color: #ffffff !important;
    border: none !important;
    padding: 10px 20px !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
}

section.component-ribboned .ribboned-link-row .btn:hover {
    background-color: #b03a3a !important;
    color: #ffffff !important;
    transform: translateY(-2px);
}

/* --------------------------------------------------------------------------
   4. PRODUCT & CATEGORY LISTINGS STYLING (CARDS)
   -------------------------------------------------------------------------- */
.component-item-listing {
    position: relative !important;
    width: 100% !important;
    background-color: #f8f9fa !important;
}

.data-row {
    display: flex !important;
    flex-wrap: wrap !important;
    margin: -15px !important;
}

.data-row > [class*='col-'] {
    padding: 15px !important;
}

@media (min-width: 768px) {
    .data-row {
        max-width: 85% !important;
        margin: 0 auto !important;
    }
}

.item {
    position: relative !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    height: 100% !important;
    min-height: 222px !important;
    transition: all 0.25s ease-in-out !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    border-radius: 6px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    overflow: hidden !important;
}

.item:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15) !important;
    transform: translateY(-3px) !important;
}

.item-head {
    position: relative !important;
    padding: 35px 15px 15px 15px !important;
    background: #ffffff !important;
    text-align: center !important;
    min-height: 150px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 1 auto !important;
}

.listing-icons {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
    z-index: 10 !important;
    display: flex !important;
    gap: 5px !important;
}

.listing-icons a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    background: #ffffff !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
}

.listing-icons a i {
    font-size: 15px !important;
    color: #c54b4b !important;
    transition: color 0.2s ease !important;
}

.listing-icons a:hover {
    background: #c54b4b !important;
    border-color: #c54b4b !important;
}

.listing-icons a:hover i {
    color: #ffffff !important;
}

.listing-icons .basket-btn i { font-size: 14px !important; }
.listing-icons .download-btn i { font-size: 15px !important; }
.listing-icons .info-btn i { font-size: 15px !important; }

.listing-icons .info-btn.added {
    background: #4CAF50 !important;
    border-color: #4CAF50 !important;
}
.listing-icons .info-btn.added i {
    color: #ffffff !important;
}

.cable-image {
    max-width: 250px !important;
    max-height: 180px !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
    padding: 10px 0 !important;
    object-fit: contain !important;
}

.item-bottom {
    background: #222222 !important;
    padding: 12px 15px !important;
    min-height: 65px !important;
    border-radius: 0 0 6px 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin-top: auto !important;
}

.item-bottom .label {
    width: 100% !important;
    text-align: center !important;
}

.item-bottom .label a,
.item-bottom a.product-pdf {
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    font-family: 'Yekan Bakh', Arial, sans-serif !important;
    display: block !important;
    text-align: center !important;
    transition: color 0.2s ease !important;
}

.item-bottom a.product-pdf:hover,
.item-bottom .label a:hover {
    color: #c54b4b !important;
}

/* --------------------------------------------------------------------------
   5. BLOG SPECIFIC CARDS (.itemd & .cable-imagee)
   -------------------------------------------------------------------------- */
.itemd {
    position: relative !important;
    width: 100% !important;
    height: 240px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ffffff !important;
    margin: 0 !important;
    padding: 0 !important;
}

.cable-imagee {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.fffont {
    font-family: 'Yekan Bakh', 'Vazirmatn', sans-serif !important;
}

/* Responsive grid for cards */
@media (max-width: 768px) {
    .col-md-6 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    
    .data-row {
        display: flex !important;
        flex-wrap: wrap !important;
        margin: 0 !important;
        flex-direction: column !important;
        align-content: center !important;
        justify-content: center !important;
        align-items: center !important;
    }

    .listing-icons {
        right: 8px !important;
        gap: 5px !important;
    }
}

/* --------------------------------------------------------------------------
   6. BREADCRUMBS
   -------------------------------------------------------------------------- */
.breadcrumb {
    display: flex !important;
    align-items: center !important;
    padding: 12px 18px !important;
    background-color: #f8f9fa !important;
    border-radius: 6px !important;
    margin: 15px auto !important;
    font-family: 'Yekan Bakh', 'Vazirmatn', sans-serif !important;
    direction: rtl !important;
    text-align: right !important;
    list-style: none !important;
}

.breadcrumb li,
.breadcrumb-item {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 14px !important;
    color: #333333 !important;
}

.breadcrumb li a,
.breadcrumb-item a {
    text-decoration: none !important;
    color: #005566 !important;
    transition: color 0.2s ease !important;
}

.breadcrumb li a:hover,
.breadcrumb-item a:hover {
    color: #c54b4b !important;
}

.breadcrumb-item.active,
.breadcrumb a {
    color: #000000 !important;
}

/* --------------------------------------------------------------------------
   7. SIDEBAR & FASTQUOTE
   -------------------------------------------------------------------------- */
.sidebar-sticky-container {
    position: sticky;
    top: 20px;
    z-index: 20;
}

.fastquote-sidebar {
    padding-top: 10px;
    padding-bottom: 10px;
}

.side-cta {
    border-radius: 8px !important;
    margin-bottom: 15px !important;
    padding: 15px !important;
}

.orange-bg {
    background-color: #c54b4b !important;
    color: #ffffff !important;
}

.grey-bg {
    background-color: #e1e1e1 !important;
}

.btn-sidebar {
    display: block !important;
    padding: 8px 12px !important;
    margin: 6px 0 !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 4px !important;
    color: #1e293b !important;
    font-size: 13px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.btn-sidebar:hover {
    background: #c54b4b !important;
    color: #ffffff !important;
    border-color: #c54b4b !important;
}

/* --------------------------------------------------------------------------
   8. MOBILE MENU & OVERLAY
   -------------------------------------------------------------------------- */
.menu-overlay {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    z-index: 800;
    transition: all 0.3s ease;
}

@media screen and (max-width: 991px) {
    #cssmenu {
        width: 100%;
        text-align: center !important;
        position: relative;
        z-index: 999;
        padding-top: 30px;
    }
    
    #cssmenu ul {
        width: 100%;
        display: none;
        background: #ffffff;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
        position: absolute;
        top: 100%; left: 0; right: 0;
        z-index: 999;
        border-radius: 0 0 10px 10px;
        padding: 0;
        margin: 0;
        max-height: 80vh;
        overflow-y: auto;
        transition: all 0.3s ease;
    }
    
    #cssmenu.mobile-menu ul.open {
        display: block;
        margin: 0 0 15px 0 !important;
        animation: slideDown 0.3s ease forwards;
    }
    
    @keyframes slideDown {
        from { opacity: 0; transform: translateY(-10px); }
        to { opacity: 1; transform: translateY(0); }
    }
    
    #cssmenu > ul > li {
        width: 100%;
        float: none;
        display: block;
        border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    }
    
    #cssmenu > ul > li:last-child {
        border-bottom: none;
    }
    
    #cssmenu > ul > li > a {

        width: 100%;
        display: block;
        font-size: 16px !important;
        color: #ffffff  !important;
        text-decoration: none;
    }
    
    #cssmenu > ul > li:hover > a {
        background-color: #f8f9fa;
    }
    
    #cssmenu ul ul {
        position: relative !important;
        left: 0 !important; right: 0 !important;
        width: 100%;
        margin: 0 !important;
        text-align: center;
        background: #222222 !important;
        box-shadow: none;
        max-height: none;
        border-radius: 0;
    }
    
    #cssmenu ul ul li {
        padding: 0;
        margin: 0;
    }
    
    #cssmenu ul ul li a {
        padding: 15px 0 !important;
        font-size: 14px !important;
        color: #ffffff !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    
    #cssmenu ul ul li:last-child a {
        border-bottom: none;
    }
    
    .submenu-button {
        position: absolute;
        z-index: 99;
        left: 10px;
        top: 10px;
        display: block;
        height: 30px;
        width: 30px;
        cursor: pointer;
        border-radius: 50%;background: rgba(0, 0, 0, 0.05);
        text-align: center;
        line-height: 30px;
        transition: all 0.2s ease;
    }
    
    .submenu-button::after {
        content: '+';
        position: absolute;
        top: 40%;
        right: 35%;
        transform: translate(-50%, -50%);
        font-size: 18px;
        color: #C54B4B;
    }
    
    .submenu-button.submenu-opened {
        background: #C54B4B;
    }
    
    .submenu-button.submenu-opened::after {
        content: '-';
        color: #ffffff;
    }
    
    #cssmenu .buttonee {
        width: 40px;
        height: 40px;
        position: absolute;
        right: 10px;
        top: 10px;
        cursor: pointer;
        z-index: 999;
        border-radius: 3px;
        background: transparent;
        transition: all 0.3s ease;
    }
    
    #cssmenu .buttonee:after,
    #cssmenu .buttonee:before,
    #cssmenu .buttonee span {
        box-shadow: none;
        content: '';
        display: block;
        position: absolute;
        width: 20px;
        height: 3px;
        background: #C54B4B;
        transition: all 0.3s ease;
        left: 10px;
    }
    
    #cssmenu .buttonee:before { top: 10px; }
    #cssmenu .buttonee span { top: 18px; }
    #cssmenu .buttonee:after { top: 26px; }
    
    #cssmenu .buttonee.menu-opened {
        background: rgba(197, 75, 75, 0.1);
    }
    
    #cssmenu .buttonee.menu-opened:before {
        transform: rotate(45deg);
        top: 18px;
    }
    
    #cssmenu .buttonee.menu-opened span {
        opacity: 0;
    }
    
    #cssmenu .buttonee.menu-opened:after {
        transform: rotate(-45deg);
        top: 18px;
    }
}

body.menu-open {
    overflow: hidden;
}

/* --------------------------------------------------------------------------
   9. SINGLE PRODUCT, TABLES, CONTENT PANELS & COLOR SWATCHES
   -------------------------------------------------------------------------- */
.main-content-section {
    padding: 0 5px;
}

.content-panel {
    background: #ffffff;
    padding: 25px;
    margin-bottom: 30px;
    border-radius: 6px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

.content-panel h1,
.content-panel h2,
.content-panel h3 {
    color: #1a202c !important;
}

.content-panel h2 {
    text-align: center !important;
    margin-top: 15px;
    margin-bottom: 15px;
}

.product-image {
    max-width: 100%;
    height: auto;
    margin: 0 auto 20px;
    display: block;
}

/* ==========================================================================
   TABLE ENHANCEMENTS & PROFESSIONAL SEPEHRAN DATA TABLES
   ========================================================================== */
.table-wrapper,
.excel-table-wrapper,
.table-responsive {
    width: 100% !important;
    max-width: 100%;
    margin: 1.5rem 0 !important;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    border: 1px solid #e2e8f0;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    position: relative;
    direction: ltr !important;
}

table.enhanced-table,
table.excel-table,
table.data-table,
.table-responsive > table,
.content-section table,
.content-panel table {
    width: 100% !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    font-size: 0.92rem;
    line-height: 1.5;
    direction: ltr !important;
    text-align: center !important;
    background-color: #ffffff;
    margin: 0 !important;
}

/* Header Cells: Signature Red Background ONLY for real matrix table headers */
table.matrix-data-table tr.header-row th,
table.matrix-data-table tr.header-row td,
table.matrix-data-table thead th,
table.matrix-data-table thead td,
table.enhanced-table:not(.construction-spec-table) tr.header-row th,
table.enhanced-table:not(.construction-spec-table) tr.header-row td,
table.data-table thead th,
table.excel-table thead th {
    background-color: #c54b4b !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    text-align: center !important;
    vertical-align: middle !important;
    padding: 12px 8px !important;
    border: 1px solid #ba0015 !important;
    letter-spacing: 0.3px;
}

table.matrix-data-table tr.header-row th *,
table.matrix-data-table tr.header-row td *,
table.enhanced-table:not(.construction-spec-table) tr.header-row th *,
table.enhanced-table:not(.construction-spec-table) tr.header-row td * {
    color: #ffffff !important;
    background-color: transparent !important;
    font-weight: 700 !important;
}

/* Matrix Data Body Cells - Clean White / Dark Text */
table.matrix-data-table td.matrix-data-cell,
table.enhanced-table:not(.construction-spec-table) tbody tr:not(.header-row) td,
table.data-table tbody tr:not(.header-row) td {
    padding: 10px 8px !important;
    border: 1px solid #e2e8f0 !important;
    color: #1e293b !important;
    background-color: #ffffff;
    vertical-align: middle !important;
    text-align: center !important;
    transition: background-color 0.15s ease;
}

/* Alternating Row Stripes for Matrix Tables */
table.matrix-data-table tbody tr:nth-child(even):not(.header-row) td,
table.enhanced-table:not(.construction-spec-table) tbody tr:nth-child(even):not(.header-row) td,
table.data-table tbody tr:nth-child(even):not(.header-row) td {
    background-color: #f8fafc !important;
}

/* Interactive Gentle Hover for Matrix Tables */
table.matrix-data-table tbody tr:hover:not(.header-row) td,
table.enhanced-table:not(.construction-spec-table) tbody tr:hover:not(.header-row) td,
table.data-table tbody tr:hover:not(.header-row) td {
    background-color: #fff1f2 !important;
    color: #1e293b !important;
}

/* Construction / Key-Value Spec Tables (e.g. Conductor, Insulation, Sheath, Core ID) */
table.construction-spec-table td,
table.enhanced-table.construction-spec-table td {
    padding: 12px 16px !important;
    border: 1px solid #e2e8f0 !important;
    vertical-align: middle !important;
    background-color: #ffffff !important;
    color: #334155 !important;
}

table.construction-spec-table td.spec-label-cell,
table.construction-spec-table tr td:first-child,
table.enhanced-table.construction-spec-table tr td:first-child {
    background-color: #f8fafc !important;
    color: #1e293b !important;
    font-weight: 700 !important;
    width: 28% !important;
    min-width: 140px !important;
    text-align: left !important;
}

table.construction-spec-table td.spec-value-cell,
table.construction-spec-table tr td:not(:first-child),
table.enhanced-table.construction-spec-table tr td:not(:first-child) {
    background-color: #ffffff !important;
    color: #334155 !important;
    font-weight: 500 !important;
    text-align: left !important;
}

/* Group Headers */
table.enhanced-table tr.group-header td,
table.excel-table tr.group-header td,
tr.group-header td {
    background-color: #edf2f7 !important;
    color: #1a202c !important;
    font-weight: 600 !important;
    text-align: center !important;
}

.xl68 {
    font-weight: 600 !important;
    color: #1a202c !important;
    background-color: #ffffff !important;
    text-align: left !important;
    padding-left: 14px !important;
    min-width: 140px;
}

.xl67, .xl69 {
    text-align: left !important;
    padding-left: 14px !important;
    background-color: #f8fafc !important;
    font-weight: 700 !important;
    color: #1e293b !important;
}

.xl75, .xl76, .xl77, .xl78, .xl79, .xl80, .xl81, .xl82, .xl83, .xl84, .xl85, .xl86, .xl88, .xl90, .xl93, .xl96, .xl98, .xl100, .xl102, .xl111, .xl113, .xl115 {
    direction: ltr !important;
}

/* ==========================================================================
   DESKTOP SIDEBAR ON THE RIGHT IN RTL LAYOUT
   ========================================================================== */
@media (min-width: 992px) {
    /* Put Sidebar on the RIGHT and Main Content on the LEFT */
    .container > .row,
    .main-layout-row,
    .product-layout-row {
        display: flex !important;
    }
    
    .col-lg-3,
    .col-md-3,
    .col-lg-3.sidebar-col,
    .col-lg-3:has(.fastquote-sidebar),
    .col-lg-3:has(.sidebar-sticky-container),
    .col-lg-3:has(.side-cta) {
        order: 1 !important; /* In RTL flex-row, order 1 renders on the RIGHT */
    }
    
    .col-lg-9,
    .col-md-9,
    .col-lg-9.main-col,
    .col-lg-9:has(.main-content-section),
    .col-lg-9:has(.product-info),
    .col-lg-9:has(.content-section) {
        order: 2 !important; /* In RTL flex-row, order 2 renders on the LEFT */
    }
}

@media (max-width: 991px) {
    /* Mobile: Main Content on TOP, Sidebar on BOTTOM */
    .col-lg-9,
    .col-md-9,
    .col-lg-9.main-col,
    .col-lg-9:has(.main-content-section),
    .col-lg-9:has(.product-info),
    .col-lg-9:has(.content-section) {
        order: 1 !important;
    }
    
    .col-lg-3,
    .col-md-3,
    .col-lg-3.sidebar-col,
    .col-lg-3:has(.fastquote-sidebar),
    .col-lg-3:has(.sidebar-sticky-container),
    .col-lg-3:has(.side-cta) {
        order: 2 !important;
    }
}

.color-swatch-circle {
    display: inline-block !important;
    width: 15px !important;
    height: 15px !important;
    border-radius: 50% !important;
    margin: 0 6px 0 2px !important;
    vertical-align: middle !important;
    border: 1px solid rgba(0, 0, 0, 0.22) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) !important;
    flex-shrink: 0 !important;
    position: relative;
}

.color-line-item {
    display: inline-flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    margin: 3px 0 !important;
    padding: 3px 6px !important;
    border-radius: 4px;
    background: rgba(0, 0, 0, 0.02);
    direction: ltr !important;
    text-align: left !important;
}

.color-badge-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin: 6px 0 !important;
    direction: ltr !important;
    text-align: left !important;
}

.color-item-span {
    display: inline-flex !important;
    align-items: center !important;
    margin-right: 12px !important;
    font-size: 0.9rem !important;
    color: #2d3748 !important;
    font-weight: 500 !important;
}

.core-count-label {
    font-weight: 700 !important;
    color: #1a202c !important;
    margin-right: 8px !important;
    white-space: nowrap !important;
    font-size: 0.92rem !important;
}

.section-title,
h2.section-title {
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    color: #c54b4b !important;
    margin: 25px 0 15px !important;
    line-height: 1.5 !important;
    border-right: none !important;
}

.cable-section {
    color: #b00202 !important;
    font-size: 1.2rem;
    font-weight: 700;
    margin: 20px 0 10px;
}

.content-text p,
.pdf-content-text p,
.section-content p {
    text-align: left !important;
    line-height: 1.8;
}

/* --------------------------------------------------------------------------
   10. FOOTER & UTILITIES
   -------------------------------------------------------------------------- */
.social-icons-block {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
}

.social-icons-block a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: transform 0.2s ease;
}

.social-icons-block a:hover {
    transform: translateY(-2px);
}

.social-icons-block .svg-icon {
    width: 24px;
    height: 24px;
    display: block;
    object-fit: contain;
}

.bottom-bar .social-icons-block {
    margin-top: -5px;
    margin-left: 10px;
}

.tgju-copyright,
.tgju-copyright-fix {
    visibility: hidden !important;
    display: none !important;
}

.cart-count {
    padding: 5px 10px !important;
    border-radius: 20% !important;
    font-size: 12px !important;
    margin-right: 5px !important;
}

.standard-badge-img {
    width: 355px !important;
    max-width: 100% !important;
    height: auto !important;
}

.cbr {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    text-align: center !important;
    font-size: xx-large !important;
    flex-wrap: wrap !important;
    margin: 15px 0 !important;
}

.cbr a {
    color: #000000 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.cbr a:hover {
    color: #c54b4d !important;
}

.cbr .single-cart-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 2px solid #c54b4d !important;
    color: #c54b4d !important;
    font-size: 18px !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    text-decoration: none !important;
    box-shadow: 0 2px 8px rgba(197, 75, 77, 0.15) !important;
}

.cbr .single-cart-btn:hover {
    background: #c54b4d !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(197, 75, 77, 0.3) !important;
}

.cbr .single-cart-btn:hover i {
    color: #ffffff !important;
}

.cbr .single-cart-btn.added {
    background: #28a745 !important;
    border-color: #28a745 !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(40, 167, 69, 0.25) !important;
}

.cbr .single-cart-btn.added i {
    color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   11. SMART CABLE SELECTOR WIZARD (Section 7.2)
   -------------------------------------------------------------------------- */
.smart-selector-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 24px !important;
    margin: 30px 0 !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06) !important;
    direction: rtl !important;
    text-align: right !important;
}

.selector-header {
    margin-bottom: 20px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    padding-bottom: 15px !important;
}

.selector-badge {
    display: inline-block !important;
    background: #ef4444 !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 4px 10px !important;
    border-radius: 20px !important;
    margin-bottom: 8px !important;
}

.selector-header h3 {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #1e293b !important;
    margin: 0 0 6px 0 !important;
}

.selector-header p {
    font-size: 14px !important;
    color: #64748b !important;
    margin: 0 !important;
}

.wizard-step {
    margin-bottom: 20px !important;
}

.wizard-label {
    display: block !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #334155 !important;
    margin-bottom: 10px !important;
}

.wizard-label .step-num {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    background: #c54b4b !important;
    color: #fff !important;
    border-radius: 50% !important;
    font-size: 12px !important;
    margin-left: 6px !important;
}

.wizard-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
    gap: 10px !important;
}

.wizard-btn {
    background: #f8fafc !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 12px 10px !important;
    text-align: center !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
}

.wizard-btn i {
    font-size: 20px !important;
    color: #64748b !important;
    margin-bottom: 4px !important;
}

.wizard-btn strong {
    font-size: 13px !important;
    color: #1e293b !important;
    font-weight: 700 !important;
}

.wizard-btn small {
    font-size: 11px !important;
    color: #94a3b8 !important;
}

.wizard-btn:hover {
    border-color: #ef4444 !important;
    background: #fef2f2 !important;
}

.wizard-btn.active {
    border-color: #ef4444 !important;
    background: #fef2f2 !important;
    box-shadow: 0 0 0 1px #ef4444 !important;
}

.wizard-btn.active i,
.wizard-btn.active strong {
    color: #ef4444 !important;
}

.selector-result-box {
    margin-top: 25px !important;
    padding-top: 20px !important;
    border-top: 2px dashed #e2e8f0 !important;
}

.result-card {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%) !important;
    color: #ffffff !important;
    padding: 20px !important;
    border-radius: 10px !important;
    position: relative !important;
}

.result-badge {
    display: inline-block !important;
    background: #10b981 !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 3px 8px !important;
    border-radius: 4px !important;
    margin-bottom: 10px !important;
}

.result-title {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin: 0 0 8px 0 !important;
}

.result-desc {
    font-size: 13px !important;
    color: #cbd5e1 !important;
    line-height: 1.6 !important;
    margin-bottom: 14px !important;
}

.result-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 16px !important;
}

.result-tags span {
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    padding: 4px 10px !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    color: #f1f5f9 !important;
}

.result-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.btn-result-primary {
    background: #ef4444 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    padding: 8px 18px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.btn-result-primary:hover {
    background: #dc2626 !important;
    color: #ffffff !important;
}

.btn-result-pdf {
    background: #334155 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    padding: 8px 14px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.btn-result-pdf:hover {
    background: #475569 !important;
    color: #ffffff !important;
}

.btn-result-quote {
    background: #f59e0b !important;
    color: #1e293b !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    padding: 8px 14px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

/* --------------------------------------------------------------------------
   12. COMPARISON MATRIX COMPONENT (Section 6.2 & 7.1)
   -------------------------------------------------------------------------- */
.compare-matrix-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 20px 0 !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.compare-matrix-table th {
    background: #f1f5f9 !important;
    color: #1e293b !important;
    font-weight: 700 !important;
    padding: 14px 12px !important;
    border: 1px solid #e2e8f0 !important;
    text-align: center !important;
    font-size: 14px !important;
}

.compare-matrix-table th.feature-col {
    text-align: right !important;
    width: 25% !important;
    background: #e2e8f0 !important;
}

.compare-matrix-table td {
    padding: 12px !important;
    border: 1px solid #e2e8f0 !important;
    text-align: center !important;
    font-size: 13px !important;
    color: #334155 !important;
    vertical-align: middle !important;
}

.compare-matrix-table td.feature-title {
    text-align: right !important;
    font-weight: 700 !important;
    background: #f8fafc !important;
    color: #0f172a !important;
}

.compare-matrix-table tr:nth-child(even) td {
    background-color: #fafbfc !important;
}

.compare-matrix-table tr:hover td {
    background-color: #fef2f2 !important;
}

/* --------------------------------------------------------------------------
   13. CATEGORY & INDUSTRY BOXED ITEMS (.boxed, .icon-orange-bg)
   -------------------------------------------------------------------------- */
div.boxed,
.boxed {
    border: 1px solid #acacac !important;
    margin-bottom: 15px !important;
    background-color: #ffffff !important;
    padding: 8px 14px !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border-radius: 6px !important;
    transition: all 0.25s ease-in-out !important;
    box-sizing: border-box !important;
    min-height: 58px !important;
    text-decoration: none !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

div.boxed:hover,
.boxed:hover {
    background-color: #e87722 !important;
    border-color: #e87722 !important;
    color: #ffffff !important;
    cursor: pointer !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(232, 119, 34, 0.28) !important;
}

div.boxed .icon-orange-bg,
.boxed .icon-orange-bg {
    background-color: #e87722 !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 12px !important;
    margin-right: 0 !important;
    vertical-align: middle !important;
    transition: all 0.25s ease-in-out !important;
    padding: 7px !important;
    box-sizing: border-box !important;
}

div.boxed .icon-orange-bg svg,
.boxed .icon-orange-bg svg {
    width: 26px !important;
    height: 26px !important;
    display: block !important;
}

div.boxed .icon-orange-bg .st0,
div.boxed .icon-orange-bg path,
div.boxed .icon-orange-bg rect,
div.boxed .icon-orange-bg circle,
.boxed .icon-orange-bg .st0,
.boxed .icon-orange-bg path,
.boxed .icon-orange-bg rect {
    fill: #ffffff !important;
    transition: fill 0.25s ease-in-out !important;
}

div.boxed:hover .icon-orange-bg,
.boxed:hover .icon-orange-bg {
    background-color: #ffffff !important;
}

div.boxed:hover .icon-orange-bg .st0,
div.boxed:hover .icon-orange-bg path,
div.boxed:hover .icon-orange-bg rect,
div.boxed:hover .icon-orange-bg circle,
.boxed:hover .icon-orange-bg .st0,
.boxed:hover .icon-orange-bg path,
.boxed:hover .icon-orange-bg rect {
    fill: #e87722 !important;
}

div.boxed img,
.boxed img {
    max-width: 42px !important;
    width: 42px !important;
    height: 42px !important;
    display: inline-block !important;
    border-radius: 50% !important;
    margin-left: 12px !important;
    margin-right: 0 !important;
    object-fit: cover !important;
}

div.boxed a,
.boxed a {
    flex-grow: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    color: #1c1c1c !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: normal !important;
    text-decoration: none !important;
    text-align: right !important;
    transition: color 0.25s ease-in-out !important;
}

div.boxed:hover a,
.boxed:hover a {
    color: #ffffff !important;
}

div.boxed .fa-chevron-right,
div.boxed .fa-chevron-left,
.boxed .fa-chevron-right,
.boxed .fa-chevron-left {
    color: #94a3b8 !important;
    font-size: 14px !important;
    margin-right: auto !important;
    margin-left: 6px !important;
    transition: all 0.25s ease-in-out !important;
}

div.boxed:hover .fa-chevron-right,
div.boxed:hover .fa-chevron-left,
.boxed:hover .fa-chevron-right,
.boxed:hover .fa-chevron-left {
    color: #ffffff !important;
    transform: translateX(-4px) !important;
}

/* ==========================================================================
   GLOBAL TABLE RESPONSIVE & LAYOUT NORMALIZATION
   ========================================================================== */
.table-responsive {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch !important;
    margin-bottom: 1rem !important;
}

.table-responsive > table {
    margin-bottom: 0 !important;
    height: auto !important;
    max-width: 100% !important;
}

/* ==========================================================================
   FASTQUOTE SIDEBAR POSITIONING FIX (ZERO HEADER OVERLAP)
   ========================================================================== */
.fastquote-sidebar,
.fastquote-sidebar-wrap .fastquote-sidebar,
.component-fastquote-section .fastquote-sidebar,
.component-pp-intro-section .fastquote-sidebar,
section .component-single-image-hero.short-hero-image + section.component-fastquote-section .fastquote-sidebar-wrap:not(.affix) .fastquote-sidebar {
    margin-top: 0 !important;
    padding-top: 15px !important;
    padding-bottom: 15px !important;
    top: auto;
}

@media (min-width: 992px) {
    .fastquote-sidebar,
    .fastquote-sidebar-wrap .fastquote-sidebar,
    .component-fastquote-section .fastquote-sidebar,
    .component-pp-intro-section .fastquote-sidebar,
    section .component-single-image-hero.short-hero-image + section.component-fastquote-section .fastquote-sidebar-wrap:not(.affix) .fastquote-sidebar {
        margin-top: 15px !important;
        position: sticky !important;
        top: 25px !important;
    }
}

@media (max-width: 991px) {
    .fastquote-sidebar,
    .fastquote-sidebar-wrap .fastquote-sidebar,
    .component-fastquote-section .fastquote-sidebar,
    .component-pp-intro-section .fastquote-sidebar,
    section .component-single-image-hero.short-hero-image + section.component-fastquote-section .fastquote-sidebar-wrap:not(.affix) .fastquote-sidebar {
        margin-top: 20px !important;
        position: relative !important;
        top: auto !important;
    }
}

/* ==========================================================================
   CATEGORY NAVIGATION PILLS (CABLES HUB TABS)
   ========================================================================== */
.category-nav-pills-bar {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin: 20px 0 28px 0 !important;
    padding: 0 !important;
    direction: rtl !important;
    justify-content: flex-start !important;
}

.cat-pill-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 20px !important;
    border-radius: 10px !important;
    background: #f1f5f9 !important;
    color: #1e293b !important;
    border: 1px solid #cbd5e1 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: all 0.2s ease-in-out !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03) !important;
}

.cat-pill-btn:hover {
    background: #e2e8f0 !important;
    color: #c54b4b !important;
    border-color: #c54b4b !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(197, 75, 75, 0.12) !important;
}

.cat-pill-btn.active {
    background: #c54b4b !important;
    color: #ffffff !important;
    border-color: #c54b4b !important;
    box-shadow: 0 4px 14px rgba(197, 75, 75, 0.25) !important;
}

.cat-pill-btn i {
    font-size: 14px !important;
}

/* ==========================================================================
   SIDEBAR TITLES CENTERING (ALL INNER PAGES)
   ========================================================================== */
.fastquote-sidebar .title,
.fastquote-sidebar .description,
.fastquote-sidebar h2,
.fastquote-sidebar h3,
.fastquote-sidebar h4,
.side-cta .title,
.side-cta .description,
.side-cta-title,
.sidebar-sticky-container .title,
.sidebar-sticky-container h2,
.sidebar-sticky-container h3,
.sidebar-sticky-container h4,
.sidebar-title,
.sidebar-head {
    text-align: center !important;
    justify-content: center !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
}

.fastquote-sidebar .no-items-text,
.side-cta .no-items-text {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 8px !important;
}

/* ==========================================================================
   SUPPORT BOX & BIDI PHONE/EMAIL FORMATTING
   ========================================================================== */
.side-cta.contact-cta {
    text-align: center !important;
    padding: 18px 14px !important;
}

.support-items-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: 14px !important;
    direction: ltr !important;
}

.support-item-row {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: rgba(255, 255, 255, 0.8) !important;
    border: 1px solid #e2e8f0 !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
    direction: ltr !important;
}

.support-item-row:hover {
    background: #ffffff !important;
    border-color: #c54b4b !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
}

.support-ico {
    color: #c54b4b !important;
    font-size: 14px !important;
    flex-shrink: 0 !important;
}

.support-val,
.phone-val,
.email-val,
.ltr-phone,
.ltr-email {
    direction: ltr !important;
    unicode-bidi: embed !important;
    display: inline-block !important;
    font-family: inherit, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    text-decoration: none !important;
    font-size: 13.5px !important;
}

.support-item-row:hover .support-val {
    color: #c54b4b !important;
}

/* ==========================================================================
   UNIFIED MASTER FOOTER STYLES
   ========================================================================== */
footer#footer {
    background-color: #0f172a !important;
    color: #f8fafc !important;
    direction: rtl !important;
    text-align: right !important;
    font-family: inherit !important;
    position: relative !important;
    width: 100% !important;
}

footer#footer .footer-bar.black-bg {
    background-color: #0b1120 !important;
    padding: 32px 0 24px 0 !important;
    border-top: 3px solid #c54b4b !important;
}

.footer-hub-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
    gap: 28px !important;
    margin: 24px 0 16px 0 !important;
    direction: rtl !important;
    text-align: right !important;
}

.footer-hub-col {
    display: flex !important;
    flex-direction: column !important;
}

.footer-hub-title {
    color: #fbbf24 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    margin-bottom: 14px !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.footer-hub-title i {
    color: #c54b4b !important;
    font-size: 14px !important;
}

.footer-hub-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 9px !important;
}

.footer-hub-list li a {
    color: #cbd5e1 !important;
    font-size: 13.5px !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    transition: all 0.2s ease !important;
}

.footer-hub-list li a:hover {
    color: #ffffff !important;
    transform: translateX(-4px) !important;
    color: #fbbf24 !important;
}

.footer-hub-list li a i {
    color: #64748b !important;
    font-size: 10px !important;
}

footer#footer .bottom-bar {
    background-color: #060b14 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 16px 0 !important;
    font-size: 13px !important;
    color: #94a3b8 !important;
}

.footer-contact-inline {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
}

.footer-contact-inline a {
    color: #e2e8f0 !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    transition: color 0.2s ease !important;
}

.footer-contact-inline a:hover {
    color: #fbbf24 !important;
}

@media (max-width: 768px) {
    .category-nav-pills-bar {
        gap: 8px !important;
    }
    .cat-pill-btn {
        font-size: 12.5px !important;
        padding: 8px 14px !important;
        flex: 1 1 calc(50% - 10px) !important;
        justify-content: center !important;
    }
    .footer-hub-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
}

/* ==========================================================================
   SIDEBAR PRODUCTS & ARTICLES MODERN LIST COMPONENTS
   ========================================================================== */
.sidebar-products-list,
.sidebar-articles-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 8px 0 !important;
}

/* --- Product Items (English / LTR) --- */
.sidebar-product-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1) !important;
    direction: ltr !important;
    text-align: left !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
    position: relative !important;
    overflow: hidden !important;
}
.sidebar-product-item:hover {
    background: #f8fafc !important;
    border-color: #ef4444 !important;
    transform: translateX(4px) !important;
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.12) !important;
    text-decoration: none !important;
}
.sidebar-product-icon {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    background: #fee2e2 !important;
    color: #dc2626 !important;
    border-radius: 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 13px !important;
}
.sidebar-product-info {
    flex: 1 !important;
    min-width: 0 !important;
}
.sidebar-product-title {
    display: block !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    direction: ltr !important;
    text-align: left !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
}
.sidebar-product-item:hover .sidebar-product-title {
    color: #dc2626 !important;
}

/* --- Article & News Items (Persian / RTL) --- */
.sidebar-article-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1) !important;
    direction: rtl !important;
    text-align: right !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
    position: relative !important;
    overflow: hidden !important;
}
.sidebar-article-item:hover {
    background: #f8fafc !important;
    border-color: #d97706 !important;
    transform: translateX(-4px) !important;
    box-shadow: 0 4px 12px rgba(217, 119, 6, 0.12) !important;
    text-decoration: none !important;
}
.sidebar-article-icon {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    background: #fef3c7 !important;
    color: #d97706 !important;
    border-radius: 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 13px !important;
}
.sidebar-article-info {
    flex: 1 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}
.sidebar-article-title {
    display: block !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    line-height: 1.5 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    direction: rtl !important;
    text-align: right !important;
}
.sidebar-article-item:hover .sidebar-article-title {
    color: #b45309 !important;
}
.sidebar-article-meta {
    font-size: 11px !important;
    color: #94a3b8 !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}
.sidebar-arrow-icon {
    font-size: 11px !important;
    color: #94a3b8 !important;
    transition: transform 0.2s ease !important;
}
.sidebar-product-item:hover .sidebar-arrow-icon,
.sidebar-article-item:hover .sidebar-arrow-icon {
    color: #475569 !important;
}

/* ==========================================================================
   PRODUCT TITLE BAR & DUAL CIRCULAR ACTION BUTTONS
   ========================================================================== */
.product-title-bar {
    position: relative !important;
    width: 100% !important;
    padding: 16px 20px !important;
    margin: 0 0 14px 0 !important;
    background: #ffffff !important;
    border-top: 3px solid #b91c1c !important;
    border-bottom: 2px solid #b91c1c !important;
    border-radius: 8px !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important;
    direction: ltr !important;
    text-align: center !important;
}

.product-title-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    text-align: center !important;
    direction: ltr !important;
}

.product-page-title {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    color: #0f172a !important;
    text-align: center !important;
    direction: ltr !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

.product-page-title a {
    color: #0f172a !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.product-page-title a:hover {
    color: #b91c1c !important;
    text-decoration: none !important;
}

.product-title-actions {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-shrink: 0 !important;
}

.product-action-circle-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
    position: relative !important;
}

/* Basket / FastQuote Button (Red Theme) */
.product-action-circle-btn.single-cart-btn {
    border: 2px solid #b91c1c !important;
    color: #b91c1c !important;
    font-size: 16px !important;
}
.product-action-circle-btn.single-cart-btn:hover {
    background: #b91c1c !important;
    color: #ffffff !important;
    transform: translateY(-2px) scale(1.05) !important;
    box-shadow: 0 4px 12px rgba(185, 28, 28, 0.3) !important;
    text-decoration: none !important;
}
.product-action-circle-btn.single-cart-btn:hover i {
    color: #ffffff !important;
}
.product-action-circle-btn.single-cart-btn.added {
    background: #16a34a !important;
    border-color: #16a34a !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(22, 163, 74, 0.3) !important;
}
.product-action-circle-btn.single-cart-btn.added i {
    color: #ffffff !important;
}

/* Compare Button (Gold / Amber Theme) */
.product-action-circle-btn.single-compare-btn {
    border: 2px solid #d97706 !important;
    color: #d97706 !important;
    font-size: 16px !important;
}
.product-action-circle-btn.single-compare-btn:hover {
    background: #d97706 !important;
    color: #ffffff !important;
    transform: translateY(-2px) scale(1.05) !important;
    box-shadow: 0 4px 12px rgba(217, 119, 6, 0.3) !important;
    text-decoration: none !important;
}
.product-action-circle-btn.single-compare-btn:hover i {
    color: #ffffff !important;
}
.product-action-circle-btn.single-compare-btn.added {
    background: #16a34a !important;
    border-color: #16a34a !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(22, 163, 74, 0.3) !important;
}
.product-action-circle-btn.single-compare-btn.added i {
    color: #ffffff !important;
}

.breadcrumb-wrapper-box {
    margin-bottom: 12px !important;
}
.breadcrumb-wrapper-box .breadcrumb {
    margin-bottom: 0 !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    padding: 8px 16px !important;
}

@media (max-width: 768px) {
    .product-title-bar {
        padding: 12px 10px !important;
        margin-bottom: 10px !important;
    }
    .product-page-title {
        font-size: 18.5px !important;
        line-height: 1.35 !important;
    }
    .product-action-circle-btn {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        font-size: 15px !important;
    }
}

/* Ensure FontAwesome balance scale icon is always available */
.fa-balance-scale:before {
    content: "\f24e" !important;
    font-family: "Font Awesome 5 Free", "FontAwesome" !important;
    font-weight: 900 !important;
}

/* ==========================================================================
   FONT AWESOME ROBUST GLYPH FALLBACKS FOR SIDEBAR & ACTION ICONS
   ========================================================================== */
.fa-layer-group:before { content: "\f5fd" !important; font-family: "Font Awesome 5 Free", "FontAwesome" !important; font-weight: 900 !important; }
.fa-newspaper:before { content: "\f1ea" !important; font-family: "Font Awesome 5 Free", "FontAwesome" !important; font-weight: 900 !important; }
.fa-book-open:before { content: "\f518" !important; font-family: "Font Awesome 5 Free", "FontAwesome" !important; font-weight: 900 !important; }
.fa-file-alt:before { content: "\f15c" !important; font-family: "Font Awesome 5 Free", "FontAwesome" !important; font-weight: 900 !important; }
.fa-balance-scale:before { content: "\f24e" !important; font-family: "Font Awesome 5 Free", "FontAwesome" !important; font-weight: 900 !important; }
.fa-shopping-basket:before { content: "\f291" !important; font-family: "Font Awesome 5 Free", "FontAwesome" !important; font-weight: 900 !important; }
.fa-chevron-left:before { content: "\f053" !important; font-family: "Font Awesome 5 Free", "FontAwesome" !important; font-weight: 900 !important; }
.fa-phone:before { content: "\f095" !important; font-family: "Font Awesome 5 Free", "FontAwesome" !important; font-weight: 900 !important; }
.fa-envelope:before { content: "\f0e0" !important; font-family: "Font Awesome 5 Free", "FontAwesome" !important; font-weight: 900 !important; }
.fa-calendar-alt:before { content: "\f073" !important; font-family: "Font Awesome 5 Free", "FontAwesome" !important; font-weight: 900 !important; }

.sidebar-product-icon i,
.sidebar-article-icon i {
    font-family: "Font Awesome 5 Free", "FontAwesome" !important;
    font-style: normal !important;
    font-variant: normal !important;
    text-rendering: auto !important;
    -webkit-font-smoothing: antialiased !important;
    display: inline-block !important;
}
/* =========================================================================
   HOMEPAGE SILO SECTIONS — category hub, price & quote, industry silo, FAQ
   -------------------------------------------------------------------------
   These four blocks are the homepage's body content and share one visual
   contract, taken from the design language already in use elsewhere on the
   site rather than invented here:

     - the red-line title rule from .seo-related-title (product pages),
     - the red-tinted eyebrow pill from .faq-badge (product FAQ card),
     - the crimson-to-amber gradient of the primary CTA (sepehran-home.css),
     - the slate surface / hairline / 14-16px radius card of every panel.

   Everything is driven by the custom properties below, so a brand tweak is a
   one-line change instead of a search-and-replace across four blocks.
   Only the homepage carries these sections (theme/core/sepehran/first.htm).
   ========================================================================= */
.component-cable-categories,
.component-price-quote,
.component-industry-silo,
.component-home-faq {
    --sep-red: #a90606;
    --sep-red-bright: #b91c1c;
    --sep-red-deep: #8a0505;
    --sep-amber: #d97706;
    --sep-red-tint: #fef2f2;
    --sep-red-line: #fee2e2;
    --sep-ink: #0f172a;
    --sep-body: #475569;
    --sep-muted: #64748b;
    --sep-line: #e6eaf0;
    --sep-surface: #f8fafc;
    --sep-ease: cubic-bezier(.16, 1, .3, 1);
    --sep-head-font: 'Yekan Bakh', 'Vazirmatn', sans-serif;
    /* body.template-home-page carries a global text-align:left, so every block
       states its own alignment instead of relying on inheritance. */
    direction: rtl;
    text-align: right;
}

/* -------------------------------------------------------------------------
   Shared section header: eyebrow pill, H2 with a centred red rule, lead line.
   ------------------------------------------------------------------------- */
.home-sec-head {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 34px;
}
.home-sec-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: var(--sep-red-tint);
    border: 1px solid var(--sep-red-line);
    color: var(--sep-red-bright);
    font-family: var(--sep-head-font);
    font-size: 12.5px;
    font-weight: 700;
    line-height: 1;
    padding: 7px 15px;
    border-radius: 999px;
    margin-bottom: 14px;
}
.home-sec-eyebrow i { font-size: 12px; }
.home-sec-head h2 {
    font-family: var(--sep-head-font);
    font-size: 27px;
    font-weight: 800;
    color: var(--sep-ink);
    margin: 0 0 16px;
    line-height: 1.55;
    position: relative;
    padding-bottom: 14px;
}
/* The rule under the heading is the same red accent the product-page related
   blocks use on their title, rotated flat and centred. */
.home-sec-head h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 50%;
    transform: translateX(50%);
    width: 62px;
    height: 3px;
    border-radius: 3px;
    background: linear-gradient(90deg, var(--sep-amber), var(--sep-red));
}
.home-sec-head p {
    font-size: 15px;
    line-height: 2.05;
    color: var(--sep-body);
    margin: 0;
}

/* =========================================================================
   1. CATEGORY SILO HUB
   ========================================================================= */
.component-cable-categories {
    padding: 58px 0 62px;
    background:
        radial-gradient(900px 320px at 50% 0, rgba(169, 6, 6, .045), transparent 70%),
        linear-gradient(180deg, #ffffff 0%, var(--sep-surface) 22%, var(--sep-surface) 100%);
    border-top: 1px solid #eef2f7;
}
.component-cable-categories .cable-cat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}
.component-cable-categories .cable-cat-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid var(--sep-line);
    border-radius: 16px;
    padding: 24px 24px 20px;
    overflow: hidden;
    isolation: isolate;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
    transition: box-shadow .3s var(--sep-ease), transform .3s var(--sep-ease), border-color .3s ease;
}
/* Accent rail on the RTL start edge — grey at rest, brand gradient on hover. */
.component-cable-categories .cable-cat-card::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 3px;
    height: 100%;
    background: linear-gradient(180deg, var(--sep-amber), var(--sep-red));
    transform: scaleY(0);
    transform-origin: top;
    transition: transform .34s var(--sep-ease);
}
.component-cable-categories .cable-cat-card:hover {
    transform: translateY(-4px);
    border-color: var(--sep-red-line);
    box-shadow: 0 18px 38px -14px rgba(169, 6, 6, .22), 0 4px 10px rgba(15, 23, 42, .05);
}
.component-cable-categories .cable-cat-card:hover::before { transform: scaleY(1); }
/* Keyboard users get the same treatment as a pointer hover. */
.component-cable-categories .cable-cat-card:focus-within {
    border-color: var(--sep-red-line);
    box-shadow: 0 0 0 3px rgba(169, 6, 6, .12);
}
.component-cable-categories .cable-cat-card:focus-within::before { transform: scaleY(1); }

.component-cable-categories .cable-cat-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: 15px;
    border-radius: 13px;
    background: linear-gradient(135deg, var(--sep-red-tint) 0%, #fff7ed 100%);
    border: 1px solid var(--sep-red-line);
    color: var(--sep-red-bright);
    font-size: 19px;
    flex: 0 0 auto;
    transition: background .3s ease, color .3s ease, border-color .3s ease, transform .3s var(--sep-ease);
}
.component-cable-categories .cable-cat-card:hover .cable-cat-icon,
.component-cable-categories .cable-cat-card:focus-within .cable-cat-icon {
    background: linear-gradient(135deg, var(--sep-red-bright) 0%, var(--sep-amber) 100%);
    border-color: transparent;
    color: #ffffff;
    transform: scale(1.06);
}

.component-cable-categories .cable-cat-card h3 {
    font-family: var(--sep-head-font);
    font-size: 17px;
    font-weight: 800;
    line-height: 1.75;
    margin: 0 0 10px;
    color: var(--sep-ink);
}
.component-cable-categories .cable-cat-card h3 a {
    color: inherit;
    text-decoration: none;
    transition: color .22s ease;
}
/* Stretched link: the whole card is the hit area, but the page still emits one
   link per card with the category keyword as its anchor text. */
.component-cable-categories .cable-cat-card h3 a::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
}
.component-cable-categories .cable-cat-card:hover h3 a,
.component-cable-categories .cable-cat-card h3 a:focus-visible { color: var(--sep-red); }
.component-cable-categories .cable-cat-card h3 a:focus-visible { outline: none; }

.component-cable-categories .cable-cat-card p {
    font-size: 13.8px;
    line-height: 2.05;
    color: var(--sep-body);
    margin: 0 0 16px;
    flex: 1 1 auto;
}
.component-cable-categories .cable-cat-card strong {
    color: var(--sep-ink);
    font-weight: 700;
}
.component-cable-categories .cable-cat-more {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: auto;
    padding-top: 13px;
    border-top: 1px dashed #e9edf3;
    font-family: var(--sep-head-font);
    font-size: 12.8px;
    font-weight: 700;
    color: var(--sep-muted);
    transition: color .24s ease;
}
.component-cable-categories .cable-cat-more i {
    font-size: 11px;
    transition: transform .28s var(--sep-ease);
}
.component-cable-categories .cable-cat-card:hover .cable-cat-more,
.component-cable-categories .cable-cat-card:focus-within .cable-cat-more { color: var(--sep-red); }
.component-cable-categories .cable-cat-card:hover .cable-cat-more i { transform: translateX(-5px); }

/* .cable-cat-cta itself is styled in sepehran-home.css (gradient pill CTAs). */
.component-cable-categories .cable-cat-cta { margin-top: 34px; }

/* =========================================================================
   2. PRICE & QUOTE
   ========================================================================= */
.component-price-quote {
    padding: 58px 0;
    background: #ffffff;
}
.component-price-quote .price-quote-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
    gap: 30px;
    align-items: start;
}
.component-price-quote .price-quote-main .home-sec-eyebrow { margin-bottom: 12px; }
.component-price-quote h2 {
    font-family: var(--sep-head-font);
    font-size: 27px;
    font-weight: 800;
    color: var(--sep-ink);
    margin: 0 0 16px;
    line-height: 1.55;
    padding-right: 14px;
    /* The red line the product-page related blocks carry, kept literal here
       because this heading is start-aligned rather than centred. */
    border-right: 4px solid var(--sep-red);
}
.component-price-quote .price-quote-main p {
    font-size: 15px;
    line-height: 2.1;
    color: var(--sep-body);
    margin: 0 0 14px;
}
/* The two key facts in the opening paragraph are marked up as <strong>; give
   them a soft highlight so the eye lands on them without shouting. */
.component-price-quote .price-quote-main p strong {
    color: var(--sep-ink);
    font-weight: 700;
    background: linear-gradient(180deg, transparent 62%, rgba(217, 119, 6, .22) 62%);
    padding: 0 2px;
}
.component-price-quote .price-quote-main p.price-factor-lead {
    font-weight: 700;
    color: var(--sep-ink);
    margin-bottom: 12px;
    font-size: 14.5px;
}

.component-price-quote .price-factor-grid {
    list-style: none;
    margin: 0 0 8px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.component-price-quote .price-factor {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    background: var(--sep-surface);
    border: 1px solid var(--sep-line);
    border-radius: 13px;
    padding: 15px 16px;
    transition: border-color .25s ease, background .25s ease, transform .25s var(--sep-ease);
}
.component-price-quote .price-factor:hover {
    background: #ffffff;
    border-color: var(--sep-red-line);
    transform: translateY(-2px);
}
.component-price-quote .pf-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin-bottom: 6px;
    border-radius: 10px;
    background: #ffffff;
    border: 1px solid var(--sep-red-line);
    color: var(--sep-red-bright);
    font-size: 14px;
}
.component-price-quote .price-factor:hover .pf-icon { background: var(--sep-red-tint); }
.component-price-quote .pf-title {
    font-family: var(--sep-head-font);
    font-size: 14.5px;
    font-weight: 800;
    color: var(--sep-ink);
    line-height: 1.6;
}
.component-price-quote .pf-desc {
    font-size: 12.8px;
    line-height: 1.9;
    color: var(--sep-muted);
}

/* --- quick-quote panel --------------------------------------------------- */
.component-price-quote .price-quote-side {
    background: #ffffff;
    border: 1px solid var(--sep-line);
    border-radius: 18px;
    padding: 0;
    overflow: hidden;
    box-shadow: 0 10px 30px -18px rgba(15, 23, 42, .3), 0 1px 2px rgba(15, 23, 42, .04);
}
/* Same crimson-to-warm ramp as the primary CTA, but ending on #c2410c rather
   than #d97706: this header carries body-sized white text, and white on the
   amber the buttons use lands around 3.2:1, under AA for text this size. */
.component-price-quote .pqs-head {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 18px 20px;
    background: linear-gradient(135deg, var(--sep-red-deep) 0%, var(--sep-red-bright) 52%, #c2410c 100%);
    color: #ffffff;
}
.component-price-quote .pqs-head-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    border-radius: 12px;
    background: rgba(255, 255, 255, .18);
    border: 1px solid rgba(255, 255, 255, .32);
    color: #ffffff;
    font-size: 17px;
}
.component-price-quote .price-quote-side h3 {
    font-family: var(--sep-head-font);
    font-size: 16.5px;
    font-weight: 800;
    color: #ffffff;
    margin: 0 0 3px;
    line-height: 1.6;
}
.component-price-quote .pqs-sub {
    display: block;
    font-size: 12.2px;
    line-height: 1.7;
    color: rgba(255, 255, 255, .88);
}

/* Each row carries two destinations and they are not interchangeable:
   - .pql-main keeps the price keyword pointed at /cables-by-type/<family>, which is
     already titled "خرید <family> | قیمت و مشخصات فنی" with an H1 of "خرید، استعلام
     قیمت و مشخصات فنی <family>". That page owns the query; moving the anchor off it
     would hand the keyword to a page carrying noindex.
   - .pql-quote is the transactional shortcut: /cable-price-inquiry?type=<family>,
     which opens the quote page with that family's strongest products ready to add.
     Served noindex with a canonical back to the clean URL, so it competes with
     nothing. */
.component-price-quote .price-quote-links {
    list-style: none;
    margin: 0;
    padding: 8px 12px 4px;
}
.component-price-quote .price-quote-links li {
    display: flex;
    align-items: stretch;
    gap: 6px;
}
.component-price-quote .price-quote-links li + li { border-top: 1px dashed #eef1f6; }
.component-price-quote .price-quote-links a {
    display: flex;
    align-items: center;
    text-decoration: none;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.component-price-quote .price-quote-links .pql-main {
    flex: 1 1 auto;
    min-width: 0;
    gap: 10px;
    padding: 11px 10px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    color: #334155;
}
.component-price-quote .price-quote-links .pql-main::after {
    content: '\f053';
    font-family: "Font Awesome 5 Free", "FontAwesome";
    font-weight: 900;
    font-size: 10px;
    color: #cbd5e1;
    margin-inline-start: auto;
    flex: 0 0 auto;
    transition: transform .26s var(--sep-ease), color .2s ease;
}
.component-price-quote .price-quote-links .pql-main:hover,
.component-price-quote .price-quote-links .pql-main:focus-visible {
    background: var(--sep-red-tint);
    color: var(--sep-red);
    outline: none;
}
.component-price-quote .price-quote-links .pql-main:hover::after,
.component-price-quote .price-quote-links .pql-main:focus-visible::after {
    color: var(--sep-red);
    transform: translateX(-4px);
}
.component-price-quote .price-quote-links .pql-quote {
    flex: 0 0 auto;
    align-self: center;
    gap: 5px;
    padding: 7px 11px;
    border-radius: 999px;
    border: 1px solid var(--sep-red-line);
    background: var(--sep-red-tint);
    color: var(--sep-red-bright);
    font-family: var(--sep-head-font);
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}
.component-price-quote .price-quote-links .pql-quote i { font-size: 11px; }
.component-price-quote .price-quote-links .pql-quote:hover,
.component-price-quote .price-quote-links .pql-quote:focus-visible {
    background: var(--sep-red-bright);
    border-color: var(--sep-red-bright);
    color: #ffffff;
    outline: none;
}
/* Under ~370px the pill and a long Persian label stop fitting side by side. */
@media (max-width: 380px) {
    .component-price-quote .price-quote-links .pql-quote span { display: none; }
    .component-price-quote .price-quote-links .pql-quote { padding: 7px 9px; }
}

.component-price-quote .pqs-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 6px 14px 16px;
    padding: 12px 16px;
    border-radius: 999px;
    background: var(--sep-ink);
    color: #ffffff;
    font-family: var(--sep-head-font);
    font-size: 13.8px;
    font-weight: 700;
    text-decoration: none;
    transition: background .25s ease, transform .25s var(--sep-ease), box-shadow .25s ease;
}
.component-price-quote .pqs-cta i { font-size: 13px; }
.component-price-quote .pqs-cta:hover {
    background: var(--sep-red-bright);
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 10px 22px -8px rgba(185, 28, 28, .5);
}

/* =========================================================================
   3. INDUSTRY SILO
   ========================================================================= */
.component-industry-silo {
    padding: 58px 0 62px;
    background:
        radial-gradient(820px 300px at 50% 100%, rgba(217, 119, 6, .05), transparent 70%),
        var(--sep-surface);
    border-top: 1px solid #eef2f7;
}
.component-industry-silo .industry-silo-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(228px, 1fr));
    gap: 12px;
}
.component-industry-silo .industry-silo-list a {
    display: flex;
    align-items: center;
    gap: 11px;
    height: 100%;
    background: #ffffff;
    border: 1px solid var(--sep-line);
    border-radius: 13px;
    padding: 11px 13px;
    color: var(--sep-ink);
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
    transition: box-shadow .26s var(--sep-ease), border-color .26s ease, color .26s ease, transform .26s var(--sep-ease);
}
.component-industry-silo .isl-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    flex: 0 0 auto;
    border-radius: 10px;
    background: #f1f5f9;
    color: var(--sep-muted);
    font-size: 15px;
    transition: background .26s ease, color .26s ease;
}
.component-industry-silo .isl-text {
    flex: 1 1 auto;
    font-family: var(--sep-head-font);
    font-size: 14.2px;
    font-weight: 700;
    line-height: 1.65;
}
.component-industry-silo .isl-arrow {
    flex: 0 0 auto;
    font-size: 11px;
    color: #cbd5e1;
    opacity: 0;
    transform: translateX(6px);
    transition: opacity .26s ease, transform .26s var(--sep-ease), color .26s ease;
}
.component-industry-silo .industry-silo-list a:hover,
.component-industry-silo .industry-silo-list a:focus-visible {
    border-color: var(--sep-red-line);
    color: var(--sep-red);
    transform: translateY(-3px);
    box-shadow: 0 14px 28px -14px rgba(169, 6, 6, .28);
    outline: none;
}
.component-industry-silo .industry-silo-list a:hover .isl-icon,
.component-industry-silo .industry-silo-list a:focus-visible .isl-icon {
    background: var(--sep-red-tint);
    color: var(--sep-red-bright);
}
.component-industry-silo .industry-silo-list a:hover .isl-arrow,
.component-industry-silo .industry-silo-list a:focus-visible .isl-arrow {
    opacity: 1;
    transform: translateX(0);
    color: var(--sep-red);
}
/* .industry-silo-cta shares the gradient pill rules in sepehran-home.css. */
.component-industry-silo .industry-silo-cta { margin-top: 30px; }

/* =========================================================================
   4. HOMEPAGE FAQ
   The card itself is .sepehran-faq-card, styled in sepehran-seo-content.css and
   shared with every product page. Only the section frame and the two things the
   product card never needed - a top accent edge and links inside answers - are
   defined here.
   ========================================================================= */
.component-home-faq {
    padding: 50px 0 58px;
    background: #ffffff;
}
.component-home-faq .home-faq-card {
    max-width: 940px;
    margin: 0 auto !important;
    position: relative;
}
.component-home-faq .home-faq-card::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 3px;
    border-radius: 16px 16px 0 0;
    background: linear-gradient(90deg, var(--sep-red) 0%, var(--sep-amber) 100%);
}
/* Answers on the homepage carry inline links; the product card never had any,
   so they would otherwise fall back to the global anchor colour. */
.sepehran-faq-card .faq-answer-pane a {
    color: var(--sep-red, #a90606);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed rgba(169, 6, 6, .45);
    transition: color .18s ease, border-color .18s ease;
}
.sepehran-faq-card .faq-answer-pane a:hover {
    color: #670000;
    border-bottom-color: #670000;
}

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width: 991px) {
    .component-price-quote .price-quote-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
    .component-cable-categories,
    .component-industry-silo { padding: 40px 0 44px; }
    .component-price-quote { padding: 40px 0; }
    .component-home-faq { padding: 34px 0 42px; }
    .home-sec-head { margin-bottom: 26px; }
    .home-sec-head h2,
    .component-price-quote h2 { font-size: 21.5px; }
    .component-price-quote .price-factor-grid { grid-template-columns: 1fr; }
    .component-price-quote .price-factor {
        flex-direction: row;
        align-items: center;
        gap: 12px;
        flex-wrap: wrap;
    }
    .component-price-quote .pf-icon { margin-bottom: 0; }
    .component-price-quote .pf-desc { flex: 1 0 100%; }
    .component-industry-silo .industry-silo-list { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
}
@media (max-width: 575px) {
    .component-cable-categories .cable-cat-grid { grid-template-columns: 1fr; }
    .component-cable-categories .cable-cat-card { padding: 20px 18px 17px; }
    .component-industry-silo .industry-silo-list { grid-template-columns: 1fr; }
    .home-sec-head p { font-size: 14.2px; }
}

/* Cards lift and slide on hover; honour a reduced-motion preference. */
@media (prefers-reduced-motion: reduce) {
    .component-cable-categories .cable-cat-card,
    .component-cable-categories .cable-cat-icon,
    .component-cable-categories .cable-cat-more i,
    .component-price-quote .price-factor,
    .component-price-quote .price-quote-links a,
    .component-price-quote .price-quote-links a i,
    .component-price-quote .pqs-cta,
    .component-industry-silo .industry-silo-list a,
    .component-industry-silo .isl-icon,
    .component-industry-silo .isl-arrow {
        transition: none !important;
    }
    .component-cable-categories .cable-cat-card:hover,
    .component-price-quote .price-factor:hover,
    .component-price-quote .pqs-cta:hover,
    .component-industry-silo .industry-silo-list a:hover {
        transform: none !important;
    }
}

/* =========================================================================
   QUOTE PAGE (/cable-price-inquiry) — selected-products basket panel
   ========================================================================= */
.quote-page-title {
    font-family: 'Yekan Bakh', 'Vazirmatn', sans-serif;
    font-size: 25px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 12px;
    line-height: 1.6;
    text-align: right;
}
.quote-page-lead {
    font-size: 15px;
    line-height: 2.05;
    color: #475569;
    text-align: right;
    margin: 0 0 8px;
}
.quote-page-lead a { color: #b91c1c; text-decoration: none; }
.quote-page-lead a:hover { text-decoration: underline; }

.quote-basket-panel {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 18px 20px;
    direction: rtl;
    text-align: right;
}
.quote-basket-title {
    font-family: 'Yekan Bakh', 'Vazirmatn', sans-serif;
    font-size: 17px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.quote-basket-title i { color: #d97706; }
.quote-basket-count {
    background: #b91c1c;
    color: #fff;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    min-width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 7px;
}
.quote-basket-list { list-style: none; margin: 0; padding: 0; }
.quote-basket-item {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 10px 12px;
    margin-bottom: 8px;
}
.quote-basket-item .qbi-index {
    background: #f1f5f9;
    color: #64748b;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    min-width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}
.quote-basket-item .qbi-title {
    flex: 1 1 auto;
    font-size: 14px;
    font-weight: 600;
    color: #0f172a;
    text-decoration: none;
    line-height: 1.7;
    word-break: break-word;
}
.quote-basket-item .qbi-title:hover { color: #b91c1c; text-decoration: underline; }
.quote-basket-item .qbi-remove {
    flex: 0 0 auto;
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #dc2626;
    border-radius: 8px;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 12px;
    padding: 0;
    transition: background .2s ease, color .2s ease;
}
.quote-basket-item .qbi-remove:hover { background: #dc2626; color: #fff; }
.quote-basket-empty {
    text-align: center;
    padding: 26px 12px;
    color: #94a3b8;
}
.quote-basket-empty i { font-size: 30px; margin-bottom: 10px; display: block; }
.quote-basket-empty p { margin: 0 0 14px; font-size: 14px; }
.quote-basket-note {
    font-size: 12.5px;
    line-height: 1.95;
    color: #64748b;
    margin: 14px 0 0;
    padding-top: 12px;
    border-top: 1px dashed #cbd5e1;
}
.quote-basket-note i { color: #d97706; }

/* =========================================================================
   QUOTE PAGE — step strip, family picker and quick-add product list
   -------------------------------------------------------------------------
   extra_44.htm carries an inline <style> with two blunt global rules:
     ol     { direction: ltr; text-align: left; }
     button { width: 100%; border: 2px solid #CC6666; margin-bottom: 15px; }
   Both are older than this page's current content and both hit markup added
   here, so every ordered list and every button below states its own values.
   The inline block is in <head> ahead of this bundle and these selectors are
   more specific, so the overrides hold without !important.
   ========================================================================= */
.quote-page-title,
.quote-page-lead,
.quote-basket-panel,
.quote-steps,
.quote-picker-wrap {
    --sep-red: #a90606;
    --sep-red-bright: #b91c1c;
    --sep-amber: #d97706;
    --sep-red-tint: #fef2f2;
    --sep-red-line: #fee2e2;
    --sep-ink: #0f172a;
    --sep-body: #475569;
    --sep-muted: #64748b;
    --sep-line: #e6eaf0;
    --sep-surface: #f8fafc;
    --sep-ease: cubic-bezier(.16, 1, .3, 1);
    --sep-head-font: 'Yekan Bakh', 'Vazirmatn', sans-serif;
}

/* The JS renders the basket as an <ol>, which the inline rule above was
   flipping to LTR - Persian product titles in a right-to-left panel were
   laying out left-aligned. */
.quote-basket-panel .quote-basket-list {
    direction: rtl;
    text-align: right;
}

/* --- three-step strip ---------------------------------------------------- */
.quote-steps {
    direction: rtl;
    text-align: right;
    list-style: none;
    margin: 22px 0 6px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    counter-reset: none;
}
.quote-steps .quote-step {
    position: relative;
    background: var(--sep-surface);
    border: 1px solid var(--sep-line);
    border-radius: 14px;
    padding: 18px 18px 16px;
    direction: rtl;
    text-align: right;
}
.quote-steps .qs-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin-bottom: 10px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--sep-red-bright) 0%, #c2410c 100%);
    color: #ffffff;
    font-family: var(--sep-head-font);
    font-size: 15px;
    font-weight: 800;
}
.quote-steps .qs-title {
    display: block;
    font-family: var(--sep-head-font);
    font-size: 15px;
    font-weight: 800;
    color: var(--sep-ink);
    margin-bottom: 5px;
}
.quote-steps .qs-text {
    display: block;
    font-size: 13px;
    line-height: 1.95;
    color: var(--sep-muted);
}

/* --- picker + product panel wrapper -------------------------------------- */
.quote-picker-wrap {
    direction: rtl;
    text-align: right;
    margin-top: 8px;
    /* Deep links land on #quote-picker; keep the heading clear of the header. */
    scroll-margin-top: 90px;
}

.quote-family-picker {
    background: var(--sep-surface);
    border: 1px solid var(--sep-line);
    border-radius: 16px;
    padding: 18px 20px;
    margin-bottom: 18px;
}
.quote-family-picker .qfp-head { margin-bottom: 14px; }
.quote-family-picker .qfp-title {
    display: block;
    font-family: var(--sep-head-font);
    font-size: 16px;
    font-weight: 800;
    color: var(--sep-ink);
    margin-bottom: 4px;
}
.quote-family-picker .qfp-title i { color: var(--sep-red-bright); font-size: 14px; }
.quote-family-picker .qfp-hint {
    display: block;
    font-size: 13px;
    line-height: 1.9;
    color: var(--sep-muted);
}
.quote-family-picker .qfp-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.quote-family-picker .qfp-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid var(--sep-line);
    color: #334155;
    font-family: var(--sep-head-font);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s var(--sep-ease);
}
.quote-family-picker .qfp-chip i { font-size: 11px; color: var(--sep-amber); }
.quote-family-picker .qfp-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: #eef2f7;
    color: var(--sep-muted);
    font-size: 11px;
    font-weight: 700;
    transition: background .2s ease, color .2s ease;
}
.quote-family-picker .qfp-chip:hover {
    border-color: var(--sep-red-line);
    background: var(--sep-red-tint);
    color: var(--sep-red);
    transform: translateY(-2px);
}
.quote-family-picker .qfp-chip.is-active {
    background: linear-gradient(135deg, var(--sep-red-bright) 0%, #c2410c 100%);
    border-color: transparent;
    color: #ffffff;
}
.quote-family-picker .qfp-chip.is-active i { color: #ffffff; }
.quote-family-picker .qfp-chip.is-active .qfp-count {
    background: rgba(255, 255, 255, .22);
    color: #ffffff;
}

/* --- quick-add product list ---------------------------------------------- */
.quote-pick-panel {
    background: #ffffff;
    border: 1px solid var(--sep-line);
    border-radius: 16px;
    padding: 22px 22px 18px;
    box-shadow: 0 10px 30px -22px rgba(15, 23, 42, .4);
    direction: rtl;
    text-align: right;
}
.quote-pick-panel .qpp-head {
    padding-bottom: 14px;
    margin-bottom: 12px;
    border-bottom: 2px solid #f1f5f9;
}
.quote-pick-panel .qpp-title {
    font-family: var(--sep-head-font);
    font-size: 18px;
    font-weight: 800;
    color: var(--sep-ink);
    margin: 0 0 8px;
    line-height: 1.6;
    padding-right: 12px;
    border-right: 4px solid var(--sep-red);
    text-align: right;
}
.quote-pick-panel .qpp-title i { color: var(--sep-amber); font-size: 15px; }
.quote-pick-panel .qpp-lead {
    font-size: 13.5px;
    line-height: 2;
    color: var(--sep-body);
    margin: 0 0 12px;
}
.quote-pick-panel .qpp-lead a { color: var(--sep-red); font-weight: 700; text-decoration: none; }
.quote-pick-panel .qpp-lead a:hover { text-decoration: underline; }

.quote-pick-panel .qpp-add-all {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: auto;
    margin: 0;
    padding: 9px 18px;
    border: 1px solid var(--sep-ink);
    border-radius: 999px;
    background: var(--sep-ink);
    color: #ffffff;
    font-family: var(--sep-head-font);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    cursor: pointer;
    transition: background .22s ease, border-color .22s ease, transform .22s var(--sep-ease);
}
.quote-pick-panel .qpp-add-all i { font-size: 12px; }
.quote-pick-panel .qpp-add-all:hover {
    background: var(--sep-red-bright);
    border-color: var(--sep-red-bright);
    transform: translateY(-2px);
}

.quote-pick-list {
    list-style: none;
    margin: 0;
    padding: 0;
    direction: rtl;
    text-align: right;
}
.quote-pick-item {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 11px 4px;
    border-bottom: 1px dashed #eef1f6;
}
.quote-pick-item:last-child { border-bottom: 0; }
.quote-pick-item .qpi-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    flex: 0 0 auto;
    border-radius: 8px;
    background: #f1f5f9;
    color: var(--sep-muted);
    font-size: 12px;
    font-weight: 700;
}
.quote-pick-item .qpi-title {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--sep-ink);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.75;
    text-decoration: none;
    /* Part numbers are Latin inside an RTL row; plaintext keeps "3.6/6kV" from
       being reordered into "6/3.6kV" by the bidi algorithm. */
    unicode-bidi: plaintext;
    text-align: start;
}
.quote-pick-item .qpi-title:hover { color: var(--sep-red); text-decoration: underline; }
.quote-pick-item .qpi-family {
    display: block;
    font-size: 11.5px;
    font-weight: 600;
    color: var(--sep-muted);
    unicode-bidi: plaintext;
}
.quote-pick-item .qpi-add {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
    padding: 7px 13px;
    border-radius: 999px;
    border: 1px solid var(--sep-red-line);
    background: var(--sep-red-tint);
    color: var(--sep-red-bright);
    font-family: var(--sep-head-font);
    font-size: 12.2px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.quote-pick-item .qpi-add i { font-size: 11px; }
.quote-pick-item .qpi-add:hover {
    background: var(--sep-red-bright);
    border-color: var(--sep-red-bright);
    color: #ffffff;
}
/* .added is set by SepehranCartSystem.updateButtonState - the same state class
   the catalogue listing buttons use, so one cart drives both surfaces. */
.quote-pick-item .qpi-add.added {
    background: #047857;
    border-color: #047857;
    color: #ffffff;
}
.quote-pick-item .qpi-add.added i::before { content: '\f00c'; }
.quote-pick-item .qpi-add.added .qpi-add-label::after { content: '\200f شده'; }
.quote-pick-item .qpi-add.added:hover {
    background: #b91c1c;
    border-color: #b91c1c;
}
.quote-pick-item .qpi-add.added:hover i::before { content: '\f00d'; }

@media (max-width: 767px) {
    .quote-steps { grid-template-columns: 1fr; gap: 10px; }
    .quote-steps .quote-step { padding: 14px 16px; }
    .quote-pick-panel { padding: 18px 16px 14px; }
    .quote-pick-item { flex-wrap: wrap; }
    .quote-pick-item .qpi-title { flex: 1 1 calc(100% - 40px); }
    .quote-pick-item .qpi-add { margin-inline-start: 37px; }
    .quote-family-picker { padding: 15px 16px; }
    /* Twenty-two chips wrap to ~640px on a 375px screen, which pushes the products
       a deep link was opened for right off the bottom. Cap it into a scroll box;
       the active chip is scrolled into view by initQuotePicker() in
       sepehran-custom-components.js, since families are ordered by demand and a
       low-volume one like کابل جوش sits well below the fold of this box. */
    .quote-family-picker .qfp-list {
        max-height: 172px;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding-inline-end: 4px;
    }
}


/* ==========================================================================
   SEPEHRAN PRODUCT & CATEGORY FAQ ACCORDION COMPONENT (SCOPED & SAFE)
   Supports both native <details>/<summary> and standard accordion structures
   ========================================================================== */

.sepehran-faq-card,
#product-faq.content-section.sepehran-faq-card,
#product-faq,
.content-panel #product-faq,
.intro-text #product-faq {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    padding: 32px 30px !important;
    box-shadow: 0 6px 24px rgba(15, 23, 42, 0.05) !important;
    direction: rtl !important;
    text-align: right !important;
    margin-top: 36px !important;
    margin-bottom: 25px !important;
    position: relative !important;
    counter-reset: sepehran-faq-counter !important;
    box-sizing: border-box !important;
}

/* FAQ Header & Titles */
.sepehran-faq-card .faq-header-block,
#product-faq .faq-header-block {
    margin-bottom: 24px !important;
    padding-bottom: 18px !important;
    border-bottom: 2px solid #f1f5f9 !important;
    direction: rtl !important;
    text-align: right !important;
}

#product-faq .section-title,
#product-faq h2.section-title,
.intro-text #product-faq h2,
.content-panel #product-faq h2,
.sepehran-faq-card .section-title,
.sepehran-faq-card h2.section-title,
.sepehran-faq-card .faq-main-heading {
    color: #0f172a !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    margin: 0 0 22px 0 !important;
    padding: 0 0 16px 0 !important;
    border-bottom: 2px solid #f1f5f9 !important;
    border-right: none !important;
    line-height: 1.5 !important;
    display: flex !important;
    align-items: center !important;
    text-align: right !important;
    justify-content: flex-start !important;
    direction: rtl !important;
    gap: 12px !important;
    letter-spacing: normal !important;
}

#product-faq .section-title::before,
#product-faq h2.section-title::before,
.intro-text #product-faq h2::before,
.content-panel #product-faq h2::before,
.sepehran-faq-card .section-title::before,
.sepehran-faq-card h2.section-title::before {
    content: "\f059" !important;
    font-family: "Font Awesome 5 Free", "FontAwesome" !important;
    font-weight: 900 !important;
    font-size: 18px !important;
    color: #c54b4b !important;
    background: #fef2f2 !important;
    border: 1px solid #fee2e2 !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    box-shadow: 0 2px 6px rgba(197, 75, 75, 0.08) !important;
}

.sepehran-faq-card .faq-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #fef2f2 !important;
    color: #c54b4b !important;
    border: 1px solid #fee2e2 !important;
    padding: 4px 12px !important;
    border-radius: 50px !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    margin-bottom: 10px !important;
    direction: rtl !important;
}

.sepehran-faq-card .faq-sub-heading {
    color: #64748b !important;
    font-size: 13.5px !important;
    margin: 0 !important;
    line-height: 1.6 !important;
    direction: rtl !important;
    text-align: right !important;
}

/* FAQ Accordion Item Container */
.sepehran-faq-card .sepehran-accordion,
#product-faq .sepehran-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    direction: rtl !important;
}

.sepehran-faq-card .sepehran-faq-item,
#product-faq .sepehran-faq-item,
details.sepehran-faq-item {
    counter-increment: sepehran-faq-counter !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    margin-bottom: 12px !important;
    overflow: hidden !important;
    transition: all 0.25s ease !important;
    direction: rtl !important;
    text-align: right !important;
    box-sizing: border-box !important;
    display: block !important;
}

.sepehran-faq-card .sepehran-faq-item:hover,
#product-faq .sepehran-faq-item:hover,
details.sepehran-faq-item:hover {
    border-color: #cbd5e1 !important;
    background: #f1f5f9 !important;
}

.sepehran-faq-card .sepehran-faq-item.active,
.sepehran-faq-card details.sepehran-faq-item[open],
#product-faq details.sepehran-faq-item[open],
details.sepehran-faq-item[open] {
    background: #ffffff !important;
    border-color: #c54b4b !important;
    box-shadow: 0 4px 16px rgba(197, 75, 75, 0.08) !important;
}

/* FAQ Question Button / Summary */
.sepehran-faq-card .faq-question-btn,
#product-faq .faq-question-btn,
summary.faq-question-btn {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 16px 20px !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    cursor: pointer !important;
    text-align: right !important;
    direction: rtl !important;
    gap: 12px !important;
    color: #0f172a !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
    list-style: none !important;
    user-select: none !important;
    box-sizing: border-box !important;
    transition: color 0.2s ease, background-color 0.2s ease !important;
}

summary.faq-question-btn::-webkit-details-marker,
summary.faq-question-btn::marker {
    display: none !important;
    content: "" !important;
}

.sepehran-faq-card .sepehran-faq-item.active .faq-question-btn,
.sepehran-faq-card details.sepehran-faq-item[open] > summary.faq-question-btn,
#product-faq details.sepehran-faq-item[open] > summary.faq-question-btn,
details.sepehran-faq-item[open] > summary.faq-question-btn {
    color: #991b1b !important;
}

/* Number Counter Badge */
.faq-q-number,
summary.faq-question-btn::before {
    content: counter(sepehran-faq-counter, persian) !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    background: #e2e8f0 !important;
    color: #0f172a !important;
    border-radius: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    transition: all 0.25s ease !important;
    flex-shrink: 0 !important;
    font-family: inherit, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* If an explicit .faq-q-number element exists (like in category pages), don't show ::before counter */
button.faq-question-btn::before {
    display: none !important;
    content: none !important;
}

.sepehran-faq-card .sepehran-faq-item.active .faq-q-number,
.sepehran-faq-card details.sepehran-faq-item[open] > summary.faq-question-btn::before,
#product-faq details.sepehran-faq-item[open] > summary.faq-question-btn::before,
details.sepehran-faq-item[open] > summary.faq-question-btn::before {
    background: #c54b4b !important;
    color: #ffffff !important;
}

/* Question Text */
.faq-q-text {
    flex: 1 !important;
    color: #0f172a !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    text-align: right !important;
    direction: rtl !important;
}

.sepehran-faq-card .sepehran-faq-item.active .faq-q-text {
    color: #991b1b !important;
}

/* Toggle Chevron Icon */
.faq-toggle-icon,
summary.faq-question-btn::after {
    content: "\f078" !important;
    font-family: "Font Awesome 5 Free", "FontAwesome" !important;
    font-weight: 900 !important;
    color: #64748b !important;
    font-size: 13px !important;
    transition: transform 0.25s ease, color 0.25s ease !important;
    flex-shrink: 0 !important;
    margin-right: auto !important;
    margin-inline-start: auto !important;
    margin-left: 0 !important;
    margin-inline-end: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
}

/* Hide ::after chevron if an explicit .faq-toggle-icon already exists inside button */
button.faq-question-btn::after {
    display: none !important;
    content: none !important;
}

.sepehran-faq-card .sepehran-faq-item.active .faq-toggle-icon,
.sepehran-faq-card details.sepehran-faq-item[open] > summary.faq-question-btn::after,
#product-faq details.sepehran-faq-item[open] > summary.faq-question-btn::after,
details.sepehran-faq-item[open] > summary.faq-question-btn::after {
    transform: rotate(180deg) !important;
    color: #c54b4b !important;
}

/* FAQ Answer Pane */
.sepehran-faq-card .faq-answer-pane,
#product-faq .faq-answer-pane {
    direction: rtl !important;
    text-align: right !important;
    box-sizing: border-box !important;
}

/* For manual accordion pane in categories (animated max-height) */
.sepehran-accordion .faq-answer-pane {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s cubic-bezier(0, 1, 0, 1);
}

/* For native details/summary answer pane */
details.sepehran-faq-item .faq-answer-pane {
    padding: 0 22px 18px 22px !important;
    border-top: 1px dashed #f1f5f9 !important;
    padding-top: 14px !important;
    background: transparent !important;
}

details.sepehran-faq-item[open] .faq-answer-pane {
    animation: sepehranFaqFadeIn 0.3s ease-out;
}

@keyframes sepehranFaqFadeIn {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.faq-answer-content,
.sepehran-faq-card .faq-answer-pane p,
#product-faq .faq-answer-pane p,
details.sepehran-faq-item .faq-answer-pane p,
.content-panel #product-faq .faq-answer-pane p,
.main-content-section #product-faq .faq-answer-pane p,
.intro-text #product-faq .faq-answer-pane p {
    color: #334155 !important;
    font-size: 14px !important;
    line-height: 2 !important;
    text-align: justify !important;
    text-justify: inter-word !important;
    direction: rtl !important;
    margin: 0 !important;
    padding: 0 !important;
    font-weight: 400 !important;
}

.faq-answer-content strong,
.faq-answer-pane strong {
    color: #0f172a !important;
    font-weight: 700 !important;
}

/* Category FAQ Footer Links */
.faq-footer-links {
    margin-top: 24px !important;
    padding-top: 18px !important;
    border-top: 1px solid #f1f5f9 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    direction: rtl !important;
}

.faq-link-btn {
    padding: 8px 16px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    transition: all 0.2s ease !important;
    direction: rtl !important;
}

.faq-link-btn.btn-danger {
    background: #c54b4b !important;
    color: #ffffff !important;
    border: 1px solid #c54b4b !important;
}
.faq-link-btn.btn-danger:hover {
    background: #991b1b !important;
}
.faq-link-btn.btn-dark {
    background: #0f172a !important;
    color: #ffffff !important;
    border: 1px solid #0f172a !important;
}
.faq-link-btn.btn-dark:hover {
    background: #1e293b !important;
}
.faq-link-btn.btn-outline-danger {
    background: transparent !important;
    color: #c54b4b !important;
    border: 1px solid #c54b4b !important;
}
.faq-link-btn.btn-outline-danger:hover {
    background: #fef2f2 !important;
}

/* Responsive Styles */
@media (max-width: 768px) {
    .sepehran-faq-card,
    #product-faq.content-section.sepehran-faq-card,
    #product-faq,
    .content-panel #product-faq,
    .intro-text #product-faq {
        padding: 20px 16px !important;
        margin-top: 24px !important;
        border-radius: 12px !important;
    }
    #product-faq .section-title,
    #product-faq h2.section-title,
    .intro-text #product-faq h2,
    .content-panel #product-faq h2,
    .sepehran-faq-card .section-title,
    .sepehran-faq-card h2.section-title,
    .sepehran-faq-card .faq-main-heading {
        font-size: 16.5px !important;
        gap: 8px !important;
        margin-bottom: 16px !important;
        padding-bottom: 12px !important;
    }
    #product-faq .section-title::before,
    #product-faq h2.section-title::before,
    .intro-text #product-faq h2::before,
    .content-panel #product-faq h2::before,
    .sepehran-faq-card .section-title::before,
    .sepehran-faq-card h2.section-title::before {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        font-size: 15px !important;
        border-radius: 8px !important;
    }
    .sepehran-faq-card .faq-question-btn,
    #product-faq .faq-question-btn,
    summary.faq-question-btn {
        padding: 13px 14px !important;
        font-size: 13.5px !important;
        gap: 10px !important;
    }
    .faq-q-number,
    summary.faq-question-btn::before {
        width: 24px !important;
        height: 24px !important;
        min-width: 24px !important;
        font-size: 11.5px !important;
        border-radius: 6px !important;
    }
    .faq-q-text {
        font-size: 13.5px !important;
    }
    .faq-answer-content,
    .sepehran-faq-card .faq-answer-pane p,
    #product-faq .faq-answer-pane p,
    details.sepehran-faq-item .faq-answer-pane p,
    .content-panel #product-faq .faq-answer-pane p,
    .main-content-section #product-faq .faq-answer-pane p,
    .intro-text #product-faq .faq-answer-pane p {
        font-size: 13px !important;
        line-height: 1.8 !important;
        text-align: right !important;
    }
    details.sepehran-faq-item .faq-answer-pane {
        padding: 0 14px 14px 14px !important;
        padding-top: 10px !important;
    }
    .faq-footer-links {
        flex-direction: column !important;
    }
    .faq-link-btn {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* ==========================================================================
   HOMEPAGE CTA ACTION BUTTONS (CABLE CATALOG & PRICE/QUOTE CTA)
   Matches the premium "استعلام و مشاوره" vibrant red/amber gradient design language
   ========================================================================== */

.cable-cat-cta,
.price-quote-cta {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 16px !important;
    margin-top: 28px !important;
}

.cable-cat-cta {
    justify-content: center !important;
}

.price-quote-cta {
    justify-content: flex-start !important;
}

/* Base styling for both CTA buttons */
.cable-cat-cta .btn,
.price-quote-cta .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    border-radius: 999px !important;
    padding: 13px 26px !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    transition: transform .22s cubic-bezier(.16, 1, .3, 1), box-shadow .25s ease, background-color .25s ease, border-color .25s ease, color .25s ease !important;
    direction: rtl !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    position: relative !important;
    isolation: isolate !important;
    box-sizing: border-box !important;
}

/* Icons inside buttons */
.cable-cat-cta .btn i,
.price-quote-cta .btn i {
    font-size: 15px !important;
    flex-shrink: 0 !important;
    margin-left: 4px !important;
    margin-right: 0 !important;
    transition: transform .22s ease !important;
}

/* --------------------------------------------------------------------------
   1. Active / Primary Button (Vibrant Crimson-to-Amber Gradient like "استعلام و مشاوره")
   -------------------------------------------------------------------------- */
.cable-cat-cta .btn.btn-primary,
.price-quote-cta .btn.btn-primary {
    background: linear-gradient(135deg, #b91c1c 0%, #d97706 100%) !important;
    color: #ffffff !important;
    border: 1px solid transparent !important;
    box-shadow: 0 10px 26px rgba(185, 28, 28, 0.34) !important;
    overflow: hidden !important;
}

.cable-cat-cta .btn.btn-primary i,
.price-quote-cta .btn.btn-primary i {
    color: #ffffff !important;
}

.cable-cat-cta .btn.btn-primary:hover,
.price-quote-cta .btn.btn-primary:hover {
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 34px rgba(185, 28, 28, 0.44) !important;
}

.cable-cat-cta .btn.btn-primary:hover i,
.price-quote-cta .btn.btn-primary:hover i {
    transform: scale(1.12) !important;
}

.cable-cat-cta .btn.btn-primary:active,
.price-quote-cta .btn.btn-primary:active {
    transform: translateY(0) !important;
    box-shadow: 0 6px 18px rgba(185, 28, 28, 0.3) !important;
}

/* Subtle gloss shine overlay on primary button */
.cable-cat-cta .btn.btn-primary::before,
.price-quote-cta .btn.btn-primary::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: -100% !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.22), transparent) !important;
    transition: left 0.6s ease !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

.cable-cat-cta .btn.btn-primary:hover::before,
.price-quote-cta .btn.btn-primary:hover::before {
    left: 100% !important;
}

/* --------------------------------------------------------------------------
   2. Outline / Secondary Button (Clean Luxury Pill with Soft Border & Glowing Hover)
   -------------------------------------------------------------------------- */
.cable-cat-cta .btn.btn-outline-primary,
.price-quote-cta .btn.btn-outline-primary {
    background: #ffffff !important;
    color: #0f172a !important;
    border: 1.5px solid #cbd5e1 !important;
    box-shadow: 0 3px 10px rgba(15, 23, 42, 0.05) !important;
}

.cable-cat-cta .btn.btn-outline-primary i,
.price-quote-cta .btn.btn-outline-primary i {
    color: #b91c1c !important;
}

.cable-cat-cta .btn.btn-outline-primary:hover,
.price-quote-cta .btn.btn-outline-primary:hover {
    background: #fef2f2 !important;
    border-color: #b91c1c !important;
    color: #b91c1c !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 24px rgba(185, 28, 28, 0.14) !important;
}

.cable-cat-cta .btn.btn-outline-primary:hover i,
.price-quote-cta .btn.btn-outline-primary:hover i {
    transform: scale(1.12) !important;
}

.cable-cat-cta .btn.btn-outline-primary:active,
.price-quote-cta .btn.btn-outline-primary:active {
    transform: translateY(0) !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06) !important;
}

/* --------------------------------------------------------------------------
   Responsive Layout for Mobile
   -------------------------------------------------------------------------- */
@media (max-width: 575px) {
    .cable-cat-cta,
    .price-quote-cta {
        flex-direction: column !important;
        gap: 12px !important;
    }
    .cable-cat-cta .btn,
    .price-quote-cta .btn {
        width: 100% !important;
        justify-content: center !important;
        padding: 13px 18px !important;
        font-size: 14px !important;
    }
}
