 /* ─── TOKENS ─── */
 :root {
     --blue: #265aba;
     --blue-dk: #1a3f85;
     --blue-lt: #3a74d4;
     --blue-pale: rgba(38, 90, 186, .08);
     --gold: #f5a623;
     --red: #ff0100;
     --green: #22c55e;
     --dark: #000000;
     --dark2: #122035;
     --mid: #1e3a5f;
     --gray: #f4f6f9;
     --gray2: #e2e8f0;
     --text: #1e293b;
     --muted: #64748b;
     --r: 10px;
     --sh: 0 4px 24px rgba(38, 90, 186, .12);
     --sh-h: 0 10px 40px rgba(38, 90, 186, .22);
 }

 *,
 *::before,
 *::after {
     box-sizing: border-box;
     margin: 0;
     padding: 0
 }

 html {
     scroll-behavior: smooth
 }

 body {
     font-family: 'Fturua', sans-serif;
     color: var(--text);
     background: #fff;
     overflow-x: hidden
 }

 img {
     display: block;
     max-width: 100%
 }

 a {
     text-decoration: none
 }

 /* ─── TOP BAR ─── */
 .topbar {
     background: var(--dark);
     color: #8fa4be;
     font-size: .75rem;
     padding: 5px 0
 }

 .topbar a {
     color: #8fa4be;
     transition: color .2s
 }

 .topbar a:hover {
     color: var(--gold)
 }

 .topbar .sep {
     margin: 0 10px;
     opacity: .25
 }

 /* ─── HEADER ─── */
 .site-header {
     background: #fff;
     box-shadow: 0 2px 18px rgba(0, 0, 0, .08);
     position: sticky;
     top: 0;
     z-index: 1050
 }

 .hdr {
     display: flex;
     align-items: center;
     gap: 18px;
     padding: 12px 0;
     flex-wrap: wrap
 }

 /* Logo */
 .logo {
     display: flex;
     align-items: center;
     gap: 12px;
     flex-shrink: 0
 }

 .logo-icon {
     width: 46px;
     height: 46px;
     background: var(--dark);
     border-radius: 100px;
     display: flex;
     align-items: center;
     justify-content: center;
     color: #fff;
     font-family: 'Futura', sans-serif;
     font-size: 1.35rem;
     font-weight: 900;
     letter-spacing: -1px;
     flex-shrink: 0
 }

 .logo-name {
     font-family: 'Futura', sans-serif;
     font-size: 1.45rem;
     font-weight: 100;
     color: var(--dark);
     line-height: 1;
     letter-spacing: .5px;
 }

 .logo-name span {
     color: var(--dark);
 }

 .logo-tag {
     font-size: .62rem;
     letter-spacing: 2px;
     text-transform: uppercase;
     color: var(--red);
     margin-top: 2px;
 }

 /* Search */
 .hdr-search {
     flex: 1;
     min-width: 0;
 }

 .search-box {
     display: flex;
     border: 2px solid var(--gray2);
     border-radius: 50px;
     overflow: hidden;
     transition: border-color .2s;
 }

 .search-box:focus-within {
     border-color: var(--blue);
 }

 .search-box select {
     border: none;
     outline: none;
     background: var(--gray);
     padding: 0 14px;
     font-size: .8rem;
     color: var(--text);
     border-right: 1px solid var(--gray2);
     white-space: nowrap;
     min-width: 120px;
 }

 .search-box input {
     flex: 1;
     border: none;
     outline: none;
     padding: 10px 14px;
     font-size: .88rem;
     min-width: 0;
 }

 .search-box button {
     background: var(--dark);
     border: none;
     color: #fff;
     padding: 0 22px;
     cursor: pointer;
     font-size: 1.1rem;
     transition: background .2s;
     flex-shrink: 0;
 }

 .search-box button:hover {
     background: var(--blue-dk)
 }

 /* Actions */
 .hdr-actions {
     display: flex;
     align-items: center;
     gap: 4px;
     flex-shrink: 0
 }

 .hbtn {
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 2px;
     padding: 7px 10px;
     border-radius: 8px;
     color: var(--text);
     font-size: .65rem;
     cursor: pointer;
     border: none;
     background: transparent;
     transition: background .2s;
     position: relative
 }

 .hbtn i {
     font-size: 1.25rem;
     color: var(--blue)
 }

 .hbtn:hover {
     background: var(--gray)
 }

 .hbtn .bc {
     position: absolute;
     top: 3px;
     right: 5px;
     background: var(--red);
     color: #fff;
     font-size: .58rem;
     width: 16px;
     height: 16px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-weight: 700
 }

 .lang-sel {
     border: 1.5px solid var(--gray2);
     border-radius: 8px;
     padding: 6px 8px;
     font-size: .78rem;
     color: var(--text);
     background: #fff;
     cursor: pointer
 }

 .cur-tag {
     background: var(--dark);
     color: #fff;
     border-radius: 8px;
     padding: 6px 12px;
     font-size: .8rem;
     font-weight: 700;
     cursor: pointer;
 }

 /* ─── NAVBAR ─── */
 .main-nav {
     background: var(--dark);
 }

 .main-nav .navbar {
     padding: 0
 }

 .main-nav .navbar-toggler {
     border-color: rgba(255, 255, 255, .35);
     margin: 8px 0
 }

 .main-nav .navbar-toggler-icon {
     filter: brightness(10)
 }

 .main-nav .nav-link {
     color: rgba(255, 255, 255, .9) !important;
     font-family: 'Futura', sans-serif;
     font-size: 1rem;
     font-weight: 200;
     letter-spacing: .4px;
     padding: 13px 15px !important;
     position: relative;
     transition: background .2s;
 }

 .main-nav .nav-link:hover,
 .main-nav .nav-link.active {
     background: rgba(255, 255, 255, .12);
     color: #fff !important;
 }

 .main-nav .nav-link:hover::after, .main-nav .nav-link.active::after {
     content: '';
     position: absolute;
     bottom: 0;
     left: 12px;
     right: 12px;
     height: 3px;
     background: var(--red);
     border-radius: 3px 3px 0 0;
 }

 /* Dropdowns */
 .main-nav .dropdown-menu {
     border: none;
     border-radius: 0 0 var(--r) var(--r);
     box-shadow: var(--sh);
     background: #fff;
     margin-top: 0;
     border-top: 3px solid var(--blue);
     padding: 8px 0;
     min-width: 210px
 }

 .main-nav .dropdown-item {
     font-size: .86rem;
     color: var(--text) !important;
     padding: 7px 20px;
     display: flex;
     align-items: center;
     gap: 8px;
     transition: background .15s
 }

 .main-nav .dropdown-item:hover {
     background: var(--gray);
     color: var(--blue) !important
 }

 .main-nav .dropdown-item .di-icon {
     width: 22px;
     height: 22px;
     background: var(--blue-pale);
     border-radius: 5px;
     display: flex;
     align-items: center;
     justify-content: center;
     color: var(--blue);
     font-size: .75rem;
     flex-shrink: 0
 }

 .main-nav .dropdown-header {
     font-size: .68rem;
     font-weight: 800;
     letter-spacing: 1.5px;
     text-transform: uppercase;
     color: var(--blue);
     padding: 10px 20px 4px
 }

 /* Mega */
 .mega {
     min-width: 680px !important;
     padding: 20px 24px !important
 }

 .mega-col-h {
     font-family: 'Futura', sans-serif;
     font-size: .72rem;
     font-weight: 800;
     letter-spacing: 1.5px;
     text-transform: uppercase;
     color: var(--blue);
     padding-bottom: 8px;
     border-bottom: 1px solid var(--gray2);
     margin-bottom: 6px
 }

 .mega .dropdown-item {
     padding: 5px 0;
     font-size: .84rem
 }

 .mega .dropdown-item:hover {
     background: transparent;
     color: var(--blue) !important;
     padding-left: 6px
 }

 .nav-oferta {
     background: var(--gold) !important;
     color: var(--dark) !important;
     border-radius: 6px !important;
     padding: 7px 14px !important;
     margin: 3px 6px !important;
     font-weight: 800 !important
 }

 .nav-oferta:hover {
     background: #e0900f !important
 }

 /* ─── HERO SLIDER ─── */
 .hero-section {
     background: var(--dark2);
     line-height: 0
 }

 .hero-slide {
     position: relative;
     overflow: hidden
 }

 .hero-slide img.desk {
     width: 100%;
     height: 490px;
     object-fit: cover
 }

 .hero-slide img.mob {
     display: none;
     width: 100%;
     height: 300px;
     object-fit: cover
 }

 @media(max-width:767px) {
     .hero-slide img.desk {
         display: none
     }

     .hero-slide img.mob {
         display: block
     }
 }

 .slide-layer {
     position: absolute;
     inset: 0;
     background: linear-gradient(to right, rgba(13, 27, 42, .82) 0%, rgba(13, 27, 42, .2) 70%)
 }

 .slide-content {
     position: absolute;
     top: 50%;
     left: 5%;
     transform: translateY(-50%);
     max-width: 520px;
     color: #fff
 }

 .slide-pill {
     display: inline-block;
     background: var(--gold);
     color: var(--dark);
     font-size: .68rem;
     font-weight: 800;
     letter-spacing: 1.5px;
     text-transform: uppercase;
     padding: 4px 12px;
     border-radius: 4px;
     margin-bottom: 14px
 }

 .slide-content h2 {
     font-family: 'Futura', sans-serif;
     font-size: clamp(1.6rem, 4vw, 3rem);
     font-weight: 900;
     line-height: 1.1;
     margin-bottom: 10px
 }

 .slide-content h2 em {
     font-style: normal;
     color: var(--gold)
 }

 .slide-content p {
     font-size: .9rem;
     opacity: .82;
     margin-bottom: 18px;
     line-height: 1.6
 }

 .slide-content .features {
     display: flex;
     flex-wrap: wrap;
     gap: 8px;
     margin-bottom: 20px
 }

 .slide-content .features span {
     background: rgba(255, 255, 255, .12);
     border: 1px solid rgba(255, 255, 255, .2);
     border-radius: 20px;
     padding: 3px 11px;
     font-size: .75rem
 }

 .btn-slide {
     background: var(--blue);
     color: #fff;
     border-radius: 8px;
     padding: 11px 26px;
     font-weight: 700;
     font-size: .88rem;
     display: inline-flex;
     align-items: center;
     gap: 8px;
     transition: background .2s
 }

 .btn-slide:hover {
     background: var(--blue-dk);
     color: #fff
 }

 .btn-slide-ghost {
     background: transparent;
     color: #fff;
     border: 2px solid rgba(255, 255, 255, .5);
     border-radius: 8px;
     padding: 9px 20px;
     font-weight: 600;
     font-size: .85rem;
     display: inline-flex;
     align-items: center;
     gap: 6px;
     margin-left: 10px;
     transition: all .2s
 }

 .btn-slide-ghost:hover {
     border-color: #fff;
     color: #fff;
     background: rgba(255, 255, 255, .1)
 }

 /* Owl Hero */
 .hero-owl .owl-nav button {
     position: absolute;
     top: 50%;
     transform: translateY(-50%);
     background: rgba(255, 255, 255, .13) !important;
     border: 2px solid rgba(255, 255, 255, .25) !important;
     width: 46px;
     height: 46px;
     border-radius: 50% !important;
     color: #fff !important;
     font-size: 1.3rem !important;
     transition: background .2s
 }

 .hero-owl .owl-nav button:hover {
     background: var(--blue) !important;
     border-color: var(--blue) !important
 }

 .hero-owl .owl-nav .owl-prev {
     left: 14px
 }

 .hero-owl .owl-nav .owl-next {
     right: 14px
 }

 .hero-owl .owl-dots {
     position: absolute;
     bottom: 16px;
     width: 100%;
     text-align: center
 }

 .hero-owl .owl-dot span {
     width: 8px !important;
     height: 8px !important;
     background: rgba(255, 255, 255, .3) !important;
     margin: 0 3px !important;
     transition: all .25s !important
 }

 .hero-owl .owl-dot.active span {
     background: var(--gold) !important;
     width: 26px !important
 }

 /* ─── FEATURES BAR ─── */
 .feat-bar {
     background: #fff;
     border-bottom: 1px solid var(--gray2);
     padding: 0
 }

 .feat-bar-inner {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     border-top: 3px solid var(--blue)
 }

 .feat-item {
     display: flex;
     align-items: center;
     gap: 14px;
     padding: 16px 20px;
     border-right: 1px solid var(--gray2)
 }

 .feat-item:last-child {
     border-right: none
 }

 .feat-item i {
     font-size: 1.7rem;
     color: var(--blue);
     flex-shrink: 0
 }

 .feat-item strong {
     font-size: .85rem;
     font-weight: 700;
     color: var(--text);
     display: block
 }

 .feat-item small {
     font-size: .75rem;
     color: var(--muted)
 }

 @media(max-width:767px) {
     .feat-bar-inner {
         grid-template-columns: repeat(2, 1fr)
     }

     .feat-item {
         border-right: none;
         border-bottom: 1px solid var(--gray2)
     }
 }

 /* ─── SECTION HEADER ─── */
 .sec-hdr {
     margin-bottom: 28px
 }

 .sec-hdr .eyebrow {
     font-size: .7rem;
     font-weight: 800;
     letter-spacing: 2.5px;
     text-transform: uppercase;
     color: var(--blue);
     display: block;
     margin-bottom: 5px
 }

 .sec-hdr h2 {
     font-family: 'Futura', sans-serif;
     font-size: 1.9rem;
     font-weight: 900;
     color: var(--dark);
     line-height: 1.15
 }

 .sec-hdr .accent-bar {
     display: inline-block;
     width: 44px;
     height: 4px;
     background: var(--gold);
     border-radius: 2px;
     margin-top: 10px
 }

 /* Tabs */
 .filter-tabs {
     display: flex;
     flex-wrap: wrap;
     gap: 6px
 }

 .f-tab {
     border: 1.5px solid var(--gray2);
     border-radius: 50px;
     padding: 5px 16px;
     font-size: .8rem;
     font-weight: 600;
     color: var(--muted);
     background: #fff;
     cursor: pointer;
     transition: all .2s
 }

 .f-tab:hover,
 .f-tab.active {
     background: var(--red);
     color: #fff;
     border-color: var(--red);
 }

 /* ─── CATEGORY QUICK LINKS ─── */
 .cat-grid {
     display: grid;
     grid-template-columns: repeat(5, 1fr);
     gap: 12px;
     margin-bottom: 48px
 }

 @media(max-width:991px) {
     .cat-grid {
         grid-template-columns: repeat(3, 1fr)
     }
 }

 @media(max-width:575px) {
     .cat-grid {
         grid-template-columns: repeat(2, 1fr)
     }
 }

 .cat-card {
     border-radius: var(--r);
     overflow: hidden;
     position: relative;
     cursor: pointer;
     aspect-ratio: 4/3;
     background: var(--dark2)
 }

 .cat-card img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform .4s;
     opacity: .75
 }

 .cat-card:hover img {
     transform: scale(1.07);
     opacity: .9
 }

 .cat-card .cat-layer {
     position: absolute;
     inset: 0;
     background: linear-gradient(to top, rgba(13, 27, 42, .85) 0%, transparent 60%);
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     justify-content: flex-end;
     padding: 14px
 }

 .cat-card .cat-icon {
     font-size: 1.2rem;
     color: var(--gold);
     margin-bottom: 4px
 }

 .cat-card .cat-name {
     font-family: 'Futura', sans-serif;
     font-size: 1rem;
     font-weight: 800;
     color: #fff;
     line-height: 1.2
 }

 .cat-card .cat-qty {
     font-size: .7rem;
     color: rgba(255, 255, 255, .6);
     margin-top: 2px
 }

 .cat-card .cat-arrow {
     position: absolute;
     top: 12px;
     right: 12px;
     width: 28px;
     height: 28px;
     background: rgba(255, 255, 255, .12);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     color: #fff;
     font-size: .8rem;
     opacity: 0;
     transition: opacity .25s
 }

 .cat-card:hover .cat-arrow {
     opacity: 1
 }

 /* ─── PRODUCT CARD ─── */
 .p-card {
     border-radius: var(--r);
     border: 1.5px solid var(--gray2);
     background: #fff;
     overflow: hidden;
     transition: box-shadow .25s, transform .25s;
     position: relative;
     height: 100%
 }

 .p-card:hover {
     box-shadow: var(--sh-h);
     transform: translateY(-4px)
 }

 .p-badge {
     position: absolute;
     top: 10px;
     left: 10px;
     font-size: .65rem;
     font-weight: 800;
     padding: 3px 9px;
     border-radius: 4px;
     z-index: 2;
     color: #fff;
     letter-spacing: .4px
 }

 .p-badge.new {
     background: var(--green)
 }

 .p-badge.sale {
     background: var(--red)
 }

 .p-badge.hot {
     background: var(--blue)
 }

 .p-badge.dest {
     background: var(--gold);
     color: var(--dark)
 }

 .p-img {
     position: relative;
     overflow: hidden;
     background: var(--gray);
     aspect-ratio: 1/1
 }

 .p-img img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform .35s
 }

 .p-card:hover .p-img img {
     transform: scale(1.06)
 }

 .p-qa {
     position: absolute;
     bottom: -48px;
     inset-inline: 0;
     display: flex;
     justify-content: center;
     gap: 6px;
     padding: 8px;
     transition: bottom .25s
 }

 .p-card:hover .p-qa {
     bottom: 0
 }

 .qa-btn {
     background: rgba(255, 255, 255, .94);
     border: none;
     border-radius: 50%;
     width: 36px;
     height: 36px;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     color: var(--text);
     font-size: .95rem;
     box-shadow: 0 2px 8px rgba(0, 0, 0, .12);
     transition: background .2s, color .2s
 }

 .qa-btn:hover {
     background: var(--blue);
     color: #fff
 }

 .p-body {
     padding: 13px 14px 15px
 }

 .p-brand {
     font-size: .65rem;
     font-weight: 800;
     letter-spacing: 1.5px;
     text-transform: uppercase;
     color: var(--blue);
     margin-bottom: 3px
 }

 .p-title, .p-title a {
     font-size: .88rem;
     font-weight: 600;
     color: var(--text);
     line-height: 1.35;
     margin-bottom: 6px;
     display: -webkit-box;
     -webkit-line-clamp: 2;
     -webkit-box-orient: vertical;
     overflow: hidden
 }

 .p-compat {
     display: flex;
     flex-wrap: wrap;
     gap: 3px;
     margin-bottom: 7px
 }

 .compat-tag {
     background: var(--gray);
     color: var(--muted);
     font-size: .63rem;
     font-weight: 600;
     padding: 2px 7px;
     border-radius: 4px
 }

 .p-stars {
     color: var(--gold);
     font-size: .74rem;
     margin-bottom: 6px
 }

 .p-stars span {
     color: var(--muted);
     margin-left: 3px;
     font-size: .72rem
 }

 .p-price-row {
     display: flex;
     align-items: center;
     gap: 8px;
     margin-bottom: 10px
 }

 .p-price {
     font-family: 'Futura', sans-serif;
     font-size: 1.35rem;
     font-weight: 900;
     color: var(--blue-dk)
 }

 .p-price-old {
     font-size: .83rem;
     color: var(--muted);
     text-decoration: line-through
 }

 .p-price-save {
     font-size: .7rem;
     font-weight: 700;
     color: var(--red);
     background: #fef2f2;
     padding: 2px 6px;
     border-radius: 4px
 }

 .btn-add {
     width: 100%;
     background: var(--blue);
     color: #fff;
     border: none;
     border-radius: 8px;
     padding: 9px;
     font-size: .82rem;
     font-weight: 700;
     cursor: pointer;
     transition: background .2s;
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 6px
 }

 .btn-add:hover {
     background: var(--blue-dk)
 }

 /* ─── SECTIONS ─── */
 .sec {
     padding: 56px 0
 }

 .sec-alt {
     background: var(--gray)
 }

 /* ─── PROMO BANNER ─── */
 .promo-banner {
     background: linear-gradient(120deg, var(--blue) 0%, var(--dark) 100%);
     padding: 38px 0
 }

 .promo-banner h3 {
     font-family: 'Futura', sans-serif;
     font-size: 1.9rem;
     font-weight: 900;
     color: #fff;
     line-height: 1.2
 }

 .promo-banner p {
     color: rgba(255, 255, 255, .78);
     font-size: .88rem;
     margin-top: 6px
 }

 .btn-promo {
     background: var(--gold);
     color: var(--dark);
     border-radius: 8px;
     padding: 12px 28px;
     font-weight: 800;
     font-size: .9rem;
     display: inline-flex;
     align-items: center;
     gap: 8px;
     transition: background .2s
 }

 .btn-promo:hover {
     background: #e09010;
     color: var(--dark)
 }

 /* ─── BRANDS SLIDER ─── */
 .brands-sec {
     background: var(--dark2);
     padding: 56px 0
 }

 .brands-sec .sec-hdr h2 {
     color: #fff;
     font-size: 16px;
     font-weight: 100;
 }

 .brands-sec .sec-hdr .eyebrow {
     color: var(--gold)
 }

 .brand-tile {
    background: #fff;
     border: 1px solid rgba(255, 255, 255, .1);
     border-radius: var(--r);
     height: 100px;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     transition: background .25s, border-color .25s;
     padding: 0 6px
 }

 .brand-tile:hover {
     background: #fff;
     border-color: rgba(38, 90, 186, .6)
 }

 .brand-tile .b-label {
     font-family: 'Futura', sans-serif;
     font-size: 1.15rem;
     font-weight: 900;
     color: rgba(255, 255, 255, .55);
     letter-spacing: 1px;
     transition: color .25s;
     text-align: center;
     background-color: #fff;
 }

 .brand-tile:hover .b-label {
     color: #fff
 }

 .brand-tile .b-icon {
     font-size: 1.5rem;
     color: rgba(176, 27, 27, 0.4);
     margin-bottom: 2px;
     display: block;
     transition: color .25s
 }

 .brand-tile:hover .b-icon {
     color: var(--gold)
 }
.brand-image {
     width: 80px !important;
     object-fit: contain;
     border-radius: var(--r);
     display: block;
}
 .brands-owl .owl-item {
     padding: 4px 8px
 }

 /* ─── SUPPORT ─── */
 .sup-card {
     border: 1.5px solid var(--gray2);
     border-radius: var(--r);
     padding: 28px 22px;
     height: 100%;
     transition: box-shadow .25s, border-color .25s, transform .25s;
     background: #fff
 }

 .sup-card:hover {
     box-shadow: var(--sh);
     border-color: var(--blue-lt);
     transform: translateY(-3px)
 }

 .sup-card .s-icon {
     width: 52px;
     height: 52px;
     background: var(--blue-pale);
     border-radius: 12px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.5rem;
     color: var(--blue);
     margin-bottom: 16px
 }

 .sup-card h5 {
     font-family: 'Futura', sans-serif;
     font-size: 1.2rem;
     font-weight: 800;
     margin-bottom: 8px
 }

 .sup-card p {
     font-size: .84rem;
     color: var(--muted);
     line-height: 1.65;
     margin-bottom: 14px
 }

 .sup-link {
     font-size: .82rem;
     font-weight: 700;
     color: var(--blue);
     display: flex;
     align-items: center;
     gap: 5px
 }

 .sup-link:hover {
     color: var(--blue-dk)
 }

 /* FAQ */
 .faq-acc .accordion-button {
     font-size: .88rem;
     font-weight: 600;
     color: var(--text);
     background: #fff
 }

 .faq-acc .accordion-button:not(.collapsed) {
     background: var(--blue-pale);
     color: var(--blue);
     box-shadow: none
 }

 .faq-acc .accordion-body {
     font-size: .85rem;
     color: var(--muted);
     line-height: 1.65
 }

 /* Docs list */
 .doc-item {
     display: flex;
     align-items: center;
     gap: 14px;
     padding: 13px 16px;
     border: 1.5px solid var(--gray2);
     border-radius: var(--r);
     margin-bottom: 10px;
     transition: border-color .2s, background .2s
 }

 .doc-item:hover {
     border-color: var(--blue);
     background: var(--blue-pale)
 }

 .doc-item .d-icon {
     font-size: 1.6rem;
     flex-shrink: 0
 }

 .doc-item strong {
     font-size: .87rem;
     font-weight: 700;
     color: var(--text);
     display: block
 }

 .doc-item small {
     color: var(--muted);
     font-size: .74rem
 }

 .doc-item .dl-btn {
     margin-left: auto;
     color: var(--muted);
     font-size: 1rem;
     flex-shrink: 0;
     transition: color .2s
 }

 .doc-item:hover .dl-btn {
     color: var(--blue)
 }

 /* ─── FOOTER ─── */
 .site-footer {
     background: var(--dark);
     color: rgba(255, 255, 255, .65);
     padding: 58px 0 0
 }

 .ft-logo {
     font-family: 'Futura', sans-serif;
     font-size: 1.8rem;
     font-weight: 900;
     color: #fff;
     letter-spacing: .5px
 }

 .ft-logo span {
     color: var(--gold)
 }

 .ft-desc {
     font-size: .83rem;
     line-height: 1.7;
     margin-top: 10px;
     max-width: 270px;
     color: rgba(255, 255, 255, .5)
 }

 .ft-social {
     display: flex;
     gap: 8px;
     margin-top: 18px
 }

 .ft-social a {
     width: 34px;
     height: 34px;
     border-radius: 50%;
     background: rgba(255, 255, 255, .07);
     display: flex;
     align-items: center;
     justify-content: center;
     color: rgba(255, 255, 255, .6);
     font-size: .9rem;
     transition: background .2s, color .2s
 }

 .ft-social a:hover {
     background: var(--blue);
     color: #fff
 }

 .ft-col h6 {
     font-size: .68rem;
     font-weight: 800;
     letter-spacing: 2px;
     text-transform: uppercase;
     color: rgba(255, 255, 255, .35);
     margin-bottom: 14px
 }

 .ft-col ul {
     list-style: none;
     padding: 0
 }

 .ft-col li {
     margin-bottom: 8px
 }

 .ft-col li a {
     font-size: .83rem;
     color: rgba(255, 255, 255, .58);
     display: flex;
     align-items: center;
     gap: 6px;
     transition: color .2s
 }

 .ft-col li a:hover {
     color: var(--gold)
 }

 .ft-col li a i {
     font-size: .65rem;
     color: var(--blue-lt)
 }

 .ft-contact-row {
     display: flex;
     gap: 12px;
     margin-bottom: 14px
 }

 .ft-ci {
     width: 34px;
     height: 34px;
     background: rgba(38, 90, 186, .22);
     border-radius: 8px;
     display: flex;
     align-items: center;
     justify-content: center;
     color: var(--blue-lt);
     font-size: .95rem;
     flex-shrink: 0
 }

 .ft-ct {
     font-size: .81rem;
     line-height: 1.5;
     color: rgba(255, 255, 255, .5)
 }

 .ft-ct strong {
     color: rgba(255, 255, 255, .85);
     font-size: .75rem;
     font-weight: 700;
     display: block;
     margin-bottom: 2px
 }

 .ft-nl input {
     width: 100%;
     background: rgba(255, 255, 255, .07);
     border: 1px solid rgba(255, 255, 255, .12);
     border-radius: 8px;
     padding: 9px 13px;
     color: #fff;
     font-size: .83rem;
     margin-bottom: 9px;
     outline: none
 }

 .ft-nl input::placeholder {
     color: rgba(255, 255, 255, .35)
 }

 .ft-nl input:focus {
     border-color: var(--blue-lt)
 }

 .ft-nl button {
     width: 100%;
     background: var(--blue);
     color: #fff;
     border: none;
     border-radius: 8px;
     padding: 9px;
     font-size: .83rem;
     font-weight: 700;
     cursor: pointer;
     transition: background .2s
 }

 .ft-nl button:hover {
     background: var(--blue-dk)
 }

 .ft-bottom {
     padding: 14px 0;
     font-size: .77rem;
     color: rgba(255, 255, 255, .35);
     border-top: 1px solid rgba(255, 255, 255, .07);
     margin-top: 42px
 }

 .ft-bottom a {
     color: rgba(255, 255, 255, .45);
     transition: color .2s
 }

 .ft-bottom a:hover {
     color: var(--gold)
 }

 .pay-badge {
     background: rgba(255, 255, 255, .07);
     border-radius: 5px;
     padding: 3px 8px;
     font-size: .68rem;
     font-weight: 700;
     color: rgba(255, 255, 255, .6)
 }

 /* ─── FLOATS ─── */
 .wa-float {
     position: fixed;
     bottom: 24px;
     right: 24px;
     width: 54px;
     height: 54px;
     background: #25d366;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     color: #fff;
     font-size: 1.55rem;
     box-shadow: 0 4px 20px rgba(37, 211, 102, .4);
     z-index: 2000;
     transition: transform .25s
 }

 .wa-float:hover {
     transform: scale(1.1);
     color: #fff
 }

 #stt {
     position: fixed;
     bottom: 90px;
     right: 24px;
     width: 40px;
     height: 40px;
     background: var(--blue);
     color: #fff;
     border: none;
     border-radius: 50%;
     font-size: 1rem;
     cursor: pointer;
     display: none;
     align-items: center;
     justify-content: center;
     box-shadow: 0 2px 12px rgba(38, 90, 186, .4);
     z-index: 1999;
     transition: background .2s
 }

 #stt:hover {
     background: var(--blue-dk)
 }

 #stt.on {
     display: flex
 }

 /* ─── OWL spacing ─── */
 .owl-carousel .owl-item {
     padding: 4px 6px
 }

 /* ─── RESPONSIVE ─── */
 @media(max-width:991px) {
     .hdr {
         gap: 10px
     }

     .main-nav .dropdown-menu {
         position: static !important;
         box-shadow: none !important;
         border: none !important;
         background: rgba(255, 255, 255, .05) !important;
         padding: 0 8px !important
     }

     .main-nav .dropdown-item {
         color: rgba(255, 255, 255, .8) !important
     }

     .main-nav .dropdown-item:hover {
         background: rgba(255, 255, 255, .06) !important;
         color: #fff !important
     }

     .mega {
         min-width: unset !important
     }

     .cur-tag,
     .lang-sel {
         display: none
     }
 }

 @media(max-width:767px) {
     .hdr {
         flex-wrap: wrap
     }

     .hdr-search {
         order: 3;
         flex: 0 0 100%
     }

     .hdr-actions {
         margin-left: auto
     }

     .slide-content {
         left: 0;
         padding: 0 20px;
         max-width: 100%;
         bottom: 30px;
         top: auto;
         transform: none
     }

     .slide-content h2 {
         font-size: 1.4rem
     }

     .slide-content p,
     .slide-content .features {
         display: none
     }

     .btn-slide-ghost {
         display: none
     }

     .promo-banner {
         text-align: center
     }

     .promo-banner .text-md-end {
         text-align: center !important;
         margin-top: 16px
     }

     .sec-hdr {
         text-align: center
     }

     .ft-desc {
         max-width: 100%
     }
 }


/* ── BREADCRUMB & PAGE HEADER ── */
.page-bar {
    background: #fff;
    border-bottom: 1px solid var(--gray2);
    padding: 10px 0
}

.breadcrumb {
    margin: 0;
    font-size: .8rem
}

.breadcrumb-item a {
    color: var(--blue)
}

.breadcrumb-item.active {
    color: var(--muted)
}

.breadcrumb-item+.breadcrumb-item::before {
    color: var(--gray2)
}

/* ── SEARCH RESULTS BANNER ── */
.results-banner {
    background: linear-gradient(120deg, var(--dark), var(--blue-dk));
    padding: 22px 0
}

.results-banner h1 {
    font-family: 'Futura', sans-serif;
    font-size: 1.7rem;
    font-weight: 900;
    color: #fff
}

.results-banner .res-count {
    color: rgba(255, 255, 255, .7);
    font-size: .88rem;
    margin-top: 4px
}

.results-banner .res-count strong {
    color: var(--gold)
}

/* ── LAYOUT ── */
.shop-layout {
    display: grid;
    grid-template-columns: 256px 1fr;
    gap: 20px;
    padding: 24px 0 48px;
    align-items: start
}

@media(max-width:991px) {
    .shop-layout {
        grid-template-columns: 1fr
    }
}

/* ── SIDEBAR ── */
.sidebar {
    position: sticky;
    top: 82px
}

.filter-panel {
    background: #fff;
    border-radius: var(--r);
    border: 1.5px solid var(--gray2);
    overflow: hidden
}

.filter-panel-head {
    background: var(--dark);
    color: #fff;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.filter-panel-head h6 {
    font-family: 'Futura', sans-serif;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: .5px;
    margin: 0
}

.filter-panel-head button {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .3);
    color: rgba(255, 255, 255, .8);
    border-radius: 6px;
    padding: 3px 10px;
    font-size: .72rem;
    cursor: pointer;
    transition: background .2s
}

.filter-panel-head button:hover {
    background: rgba(255, 255, 255, .15)
}

.filter-group {
    border-bottom: 1px solid var(--gray2);
    padding: 16px 18px
}

.filter-group:last-child {
    border-bottom: none
}

.filter-group-title {
    font-family: 'Futura', sans-serif;
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--text);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer
}

.filter-group-title i {
    font-size: .8rem;
    color: var(--muted);
    transition: transform .2s
}

.filter-group-title.collapsed i {
    transform: rotate(-90deg)
}

.filter-check {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    cursor: pointer
}

.filter-check input[type=checkbox] {
    width: 15px;
    height: 15px;
    accent-color: var(--blue);
    cursor: pointer;
    flex-shrink: 0
}

.filter-check label {
    font-size: .84rem;
    color: var(--text);
    cursor: pointer;
    flex: 1;
    display: flex;
    justify-content: space-between;
    align-items: center
}

.filter-check label .f-count {
    font-size: .73rem;
    color: var(--muted);
    background: var(--gray);
    border-radius: 20px;
    padding: 1px 7px
}

.filter-check:hover label {
    color: var(--blue)
}

.selected {
    color: var(--blue) !important;
}
/* Price range */
.price-inputs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 10px
}

.price-inputs input {
    border: 1.5px solid var(--gray2);
    border-radius: 8px;
    padding: 7px 10px;
    font-size: .82rem;
    color: var(--text);
    outline: none;
    width: 100%
}

.price-inputs input:focus {
    border-color: var(--blue)
}

.price-range-slider {
    width: 100%;
    margin: 10px 0;
    accent-color: var(--blue)
}

.btn-apply {
    width: 100%;
    background: var(--blue);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 9px;
    font-size: .82rem;
    font-weight: 700;
    cursor: pointer;
    margin-top: 8px;
    transition: background .2s
}

.btn-apply:hover {
    background: var(--blue-dk)
}

/* Active filters */
.active-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--gray2)
}

.af-tag {
    display: flex;
    align-items: center;
    gap: 4px;
    background: var(--blue-pale);
    border: 1px solid var(--blue-lt);
    color: var(--blue);
    border-radius: 20px;
    padding: 3px 10px;
    font-size: .75rem;
    font-weight: 600
}

.af-tag button {
    background: none;
    border: none;
    color: var(--blue);
    cursor: pointer;
    padding: 0;
    font-size: .8rem;
    line-height: 1;
    margin-left: 2px
}

/* ── TOOLBAR ── */
.toolbar {
    background: #fff;
    border-radius: var(--r);
    border: 1.5px solid var(--gray2);
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px
}

.toolbar .res-info {
    font-size: .84rem;
    color: var(--muted);
    flex: 1
}

.toolbar .res-info strong {
    color: var(--text)
}

.sort-sel {
    border: 1.5px solid var(--gray2);
    border-radius: 8px;
    padding: 7px 12px;
    font-size: .82rem;
    color: var(--text);
    background: #fff;
    cursor: pointer;
    outline: none
}

.sort-sel:focus {
    border-color: var(--blue)
}

.view-btns {
    display: flex;
    gap: 4px
}

.vbtn {
    width: 34px;
    height: 34px;
    border: 1.5px solid var(--gray2);
    border-radius: 8px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--muted);
    font-size: .95rem;
    transition: all .2s
}

.vbtn.active,
.vbtn:hover {
    background: var(--blue);
    color: #fff;
    border-color: var(--blue)
}

.per-page-sel {
    border: 1.5px solid var(--gray2);
    border-radius: 8px;
    padding: 7px 10px;
    font-size: .82rem;
    color: var(--text);
    background: #fff;
    cursor: pointer;
    outline: none
}

/* ── PRODUCT GRID ── */
.products-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px
}

.products-grid.list-view {
    grid-template-columns: 1fr
}

@media(max-width:1199px) {
    .products-grid {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media(max-width:575px) {
    .products-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

/* Card grid */
.p-card {
    border-radius: var(--r);
    border: 1.5px solid var(--gray2);
    background: #fff;
    overflow: hidden;
    transition: box-shadow .25s, transform .25s;
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column
}

.p-card:hover {
    box-shadow: var(--sh-h);
    transform: translateY(-4px)
}

.p-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    font-size: .65rem;
    font-weight: 800;
    padding: 3px 9px;
    border-radius: 4px;
    z-index: 2;
    color: #fff
}

.p-badge.new {
    background: var(--green)
}

.p-badge.sale {
    background: var(--red)
}

.p-badge.hot {
    background: var(--blue)
}

.p-badge.dest {
    background: var(--gold);
    color: #000
}

.p-img {
    position: relative;
    overflow: hidden;
    background: var(--gray);
    aspect-ratio: 1/1
}

.p-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s
}

.p-card:hover .p-img img {
    transform: scale(1.05)
}

.p-qa {
    position: absolute;
    bottom: -48px;
    inset-inline: 0;
    display: flex;
    justify-content: center;
    gap: 6px;
    padding: 8px;
    transition: bottom .25s
}

.p-card:hover .p-qa {
    bottom: 0
}

.qa-btn {
    background: rgba(255, 255, 255, .94);
    border: none;
    border-radius: 50%;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--text);
    font-size: .9rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .12);
    transition: background .2s, color .2s
}

.qa-btn:hover {
    background: var(--blue);
    color: #fff
}

.p-body {
    padding: 12px 14px 14px;
    display: flex;
    flex-direction: column;
    flex: 1
}

.p-brand {
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--blue);
    margin-bottom: 3px
}

.p-title {
    font-size: .87rem;
    font-weight: 600;
    color: var(--text);
    line-height: 1.35;
    margin-bottom: 6px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 1
}

.p-compat {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    margin-bottom: 6px
}

.compat-tag {
    background: var(--gray);
    color: var(--muted);
    font-size: .62rem;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 4px
}

.p-stars {
    color: var(--gold);
    font-size: .72rem;
    margin-bottom: 6px
}

.p-stars span {
    color: var(--muted);
    margin-left: 3px;
    font-size: .7rem
}

.p-price-row {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 10px
}

.p-price {
    font-family: 'Futura', sans-serif;
    font-size: 1.3rem;
    font-weight: 900;
    color: var(--blue-dk)
}

.p-price-old {
    font-size: .8rem;
    color: var(--muted);
    text-decoration: line-through
}

.p-price-save {
    font-size: .68rem;
    font-weight: 700;
    color: var(--red);
    background: #fef2f2;
    padding: 2px 5px;
    border-radius: 4px
}

.btn-add {
    width: 100%;
    background: var(--blue);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 8px;
    font-size: .8rem;
    font-weight: 700;
    cursor: pointer;
    transition: background .2s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin-top: auto
}

.btn-add:hover {
    background: var(--blue-dk)
}

/* Card list */
.products-grid.list-view .p-card {
    flex-direction: row;
    height: auto
}

.products-grid.list-view .p-img {
    width: 180px;
    min-width: 180px;
    aspect-ratio: unset
}

.products-grid.list-view .p-body {
    padding: 16px 20px
}

.products-grid.list-view .p-title {
    -webkit-line-clamp: 3;
    font-size: .92rem
}

.products-grid.list-view .btn-add {
    width: auto;
    padding: 8px 20px
}

.products-grid.list-view .p-qa {
    display: none
}

.products-grid.list-view .p-card:hover {
    transform: none
}

.products-grid.list-view .p-card:hover .p-img img {
    transform: none
}

.products-grid.list-view .p-desc {
    display: block !important
}

.p-desc {
    display: none;
    font-size: .82rem;
    color: var(--muted);
    line-height: 1.6;
    margin-bottom: 10px
}

@media(max-width:575px) {
    .products-grid.list-view .p-card {
        flex-direction: column
    }

    .products-grid.list-view .p-img {
        width: 100%;
        min-width: 0;
        aspect-ratio: 16/9
    }
}

/* ── NO RESULTS ── */
.no-results {
    background: #fff;
    border-radius: var(--r);
    border: 1.5px solid var(--gray2);
    padding: 60px 30px;
    text-align: center
}

.no-results i {
    font-size: 3.5rem;
    color: var(--gray2);
    margin-bottom: 16px
}

.no-results h4 {
    font-family: 'Futura', sans-serif;
    font-size: 1.5rem;
    font-weight: 800;
    margin-bottom: 8px
}

.no-results p {
    color: var(--muted);
    font-size: .9rem;
    margin-bottom: 20px
}

/* ── PAGINATION ── */
.pagination-wrap {
    display: flex;
    justify-content: center;
    margin-top: 28px
}

.pagination .page-link {
    color: var(--blue);
    border-color: var(--gray2);
    font-size: .85rem;
    padding: 7px 13px;
    transition: all .2s
}

.pagination .page-link:hover {
    background: var(--blue);
    color: #fff;
    border-color: var(--blue)
}

.pagination .page-item.active .page-link {
    background: var(--blue);
    border-color: var(--blue);
    color: #fff
}

.pagination .page-item.disabled .page-link {
    color: var(--muted)
}

/* ── COMPARE BAR ── */
.compare-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--dark);
    color: #fff;
    padding: 12px 0;
    z-index: 1040;
    transform: translateY(100%);
    transition: transform .3s;
    border-top: 3px solid var(--blue)
}

.compare-bar.show {
    transform: translateY(0)
}

.compare-slot {
    width: 90px;
    height: 70px;
    border: 1.5px dashed rgba(255, 255, 255, .2);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, .35);
    font-size: .7rem;
    text-align: center;
    cursor: pointer;
    transition: border-color .2s;
    flex-shrink: 0;
    position: relative;
    overflow: hidden
}

.compare-slot.filled {
    border-style: solid;
    border-color: var(--blue)
}

.compare-slot img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.compare-slot .cs-rm {
    position: absolute;
    top: 2px;
    right: 2px;
    background: var(--red);
    border: none;
    color: #fff;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    font-size: .55rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center
}

.btn-compare-now {
    background: var(--blue);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 10px 22px;
    font-size: .85rem;
    font-weight: 700;
    cursor: pointer;
    transition: background .2s
}

.btn-compare-now:hover {
    background: var(--blue-dk)
}

.btn-compare-clear {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .2);
    color: rgba(255, 255, 255, .6);
    border-radius: 8px;
    padding: 10px 16px;
    font-size: .82rem;
    cursor: pointer;
    transition: all .2s
}

.btn-compare-clear:hover {
    border-color: rgba(255, 255, 255, .5);
    color: #fff
}

/* ── FLOAT ── */
.wa-float {
    position: fixed;
    bottom: 80px;
    right: 24px;
    width: 52px;
    height: 52px;
    background: #25d366;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.5rem;
    box-shadow: 0 4px 18px rgba(37, 211, 102, .4);
    z-index: 2000;
    transition: transform .25s
}

.wa-float:hover {
    transform: scale(1.1);
    color: #fff
}

.compare-bar.show~.wa-float {
    bottom: 150px
}

/* ── FOOTER mini ── */
.site-footer-mini {
    background: var(--dark);
    color: rgba(255, 255, 255, .4);
    padding: 18px 0;
    font-size: .78rem;
    border-top: 3px solid var(--blue)
}

.site-footer-mini a {
    color: rgba(255, 255, 255, .5);
    transition: color .2s
}

.site-footer-mini a:hover {
    color: var(--gold)
}

/* ── MOBILE SIDEBAR OFFCANVAS OVERRIDE ── */
@media(max-width:991px) {
    .sidebar {
        position: static
    }

    .hdr {
        flex-wrap: wrap
    }

    .hdr-search {
        order: 3;
        flex: 0 0 100%
    }

    .hdr-actions {
        margin-left: auto
    }

    .cur-tag,
    .lang-sel {
        display: none
    }

    .main-nav .dropdown-menu {
        position: static !important;
        box-shadow: none !important;
        border: none !important;
        background: rgba(255, 255, 255, .05) !important;
        padding: 0 8px !important
    }

    .main-nav .dropdown-item {
        color: rgba(255, 255, 255, .8) !important
    }
}

/* ── SKELETON ── */
.skeleton {
    background: linear-gradient(90deg, var(--gray2) 25%, #eef2f7 50%, var(--gray2) 75%);
    background-size: 200% 100%;
    animation: shimmer 1.4s infinite
}

@keyframes shimmer {
    0% {
        background-position: 200% 0
    }

    100% {
        background-position: -200% 0
    }
}

.skel-card {
    border-radius: var(--r);
    overflow: hidden;
    background: #fff;
    border: 1.5px solid var(--gray2)
}

.skel-img {
    height: 160px
}

.skel-body {
    padding: 12px
}

.skel-line {
    height: 12px;
    border-radius: 4px;
    margin-bottom: 8px
}

.skel-line.w60 {
    width: 60%
}

.skel-line.w80 {
    width: 80%
}

.skel-line.w40 {
    width: 40%
}

.skel-btn {
    height: 34px;
    border-radius: 8px;
    margin-top: 4px
}