:root{
  --brand:#2ca3e0;
  --brand-dark:#1d8cc7;
  --ink:#1f2d3d;
  --muted:#8a94a6;
  --line:#e9edf2;
  --pink:#e88d8d;
  --yellow:#efe89a;
  --gray:#d2d8dd;
  --teal:#8fd4e0;
  --footer:#101622;
}
*{font-family:'Poppins','Segoe UI',system-ui,sans-serif}
/* Prevent stray elements from creating a horizontal scrollbar / white gap.
   overflow-x:clip (not hidden) keeps position:sticky working for the navbar. */
html,body{max-width:100%;overflow-x:clip}
body{color:var(--ink);background:#fff;font-size:14px}
a{text-decoration:none}
.text-brand{color:var(--brand)!important}
.bg-brand{background:var(--brand)!important}
.btn-brand{background:var(--brand);color:#fff;border:0}
.btn-brand:hover{background:var(--brand-dark);color:#fff}
.btn-dark-pill{background:#1f2d3d;color:#fff;border-radius:2px;font-size:12px;letter-spacing:.5px}
.btn-dark-pill:hover{background:#000;color:#fff}
.section-title{font-weight:600;font-size:22px;position:relative;display:inline-block;padding-bottom:10px}
.section-title::after{content:"";position:absolute;left:0;bottom:0;width:55px;height:3px;background:var(--brand)}
.price{color:var(--brand);font-weight:600}
.price-old{color:var(--muted);text-decoration:line-through;font-weight:400;margin-left:6px}
.nav-pill-tabs .nav-link{color:var(--muted);font-size:13px;border:0;padding:.25rem .6rem;cursor:pointer}
.nav-pill-tabs .nav-link.active{color:var(--brand);background:transparent;border-bottom:2px solid var(--brand);border-radius:0}

/* Header */
.logo{font-weight:700;font-size:22px;color:var(--brand)}
.search-wrap .form-control{border:0;background:#f5f7fa;border-radius:0}
.search-wrap{border:1px solid var(--line);border-radius:6px}
.search-btn{background:var(--brand);color:#fff;border:0;width:46px;border-top-right-radius:6px;border-bottom-right-radius:6px}

/* Category dropdown */
.cat-toggle{background:#f5f7fa;color:#5a6473;font-size:13px;border:0;border-right:1px solid var(--line);
  border-top-left-radius:6px;border-bottom-left-radius:6px;min-width:158px;text-align:left;
  display:flex;align-items:center;justify-content:space-between;white-space:nowrap;padding:.5rem .8rem}
.cat-toggle:focus{box-shadow:none}
.cat-toggle::after{display:none}
.cat-menu{min-width:255px;border:1px solid var(--line);border-radius:6px;padding:0;margin-top:8px;
  box-shadow:0 14px 34px rgba(0,0,0,.10);overflow:visible}
.cat-item{display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.6px;
  color:#5a6473;padding:11px 16px;text-transform:uppercase;border-bottom:1px solid #f1f4f8}
.cat-item .lbl{display:flex;align-items:center;gap:12px}
.cat-item .lbl i{font-size:16px;color:#6b7585;width:18px;text-align:center}
.cat-item .arr{font-size:11px;color:#aeb7c2}
.cat-item:hover{background:#f5f9fd;color:var(--brand)}
.cat-item:hover .lbl i{color:var(--brand)}
.cat-all{display:block;text-align:center;color:var(--brand);font-size:12px;letter-spacing:.6px;
  font-weight:600;padding:13px;text-transform:uppercase}
.cat-all:hover{background:#f5f9fd}
.icon-btn{position:relative;color:#3a4659;font-size:18px;cursor:pointer}
.icon-badge{position:absolute;top:-8px;right:-8px;background:var(--brand);color:#fff;font-size:10px;min-width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 3px}

/* ===== NAVBAR ===== */
.util-bar{background:#1f2d3d;color:#c4ccd6;position:relative;z-index:1055}
/* Account / language dropdowns in the top bar must sit above the main bar & nav */
.util-bar .dropdown-menu{z-index:1056}
.util-bar a{color:#c4ccd6;font-size:12px}
.util-bar a:hover{color:#fff}
.main-bar{border-bottom:1px solid var(--line);background:#fff}
.main-nav{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 12px rgba(0,0,0,.04);padding:0;z-index:1030}
.main-nav .navbar-nav .nav-link{color:#3a4659;font-weight:500;font-size:14px;padding:.95rem 1rem;position:relative}
.main-nav .navbar-nav .nav-link::after{content:"";position:absolute;left:1rem;right:1rem;bottom:8px;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.main-nav .navbar-nav .nav-link:hover,.main-nav .navbar-nav .nav-link.active{color:var(--brand)}
.main-nav .navbar-nav .nav-link:hover::after,.main-nav .navbar-nav .nav-link.active::after{transform:scaleX(1)}
.dept-btn{background:var(--brand);color:#fff;border-radius:0;font-size:14px;font-weight:600;padding:.95rem 1.4rem;display:flex;align-items:center;gap:10px;white-space:nowrap}
.dept-btn:hover{background:var(--brand-dark);color:#fff}
.dept-btn::after{display:none}
.hotline{display:flex;align-items:center;gap:10px;color:#3a4659}
.hotline i{font-size:26px;color:var(--brand)}
.hotline small{color:var(--muted)}
.hotline b{font-size:14px}
.navbar-toggler{border:1px solid var(--line);padding:.3rem .55rem}
.navbar-toggler:focus{box-shadow:none}

/* ===== Hero carousel ===== */
.hero{background:linear-gradient(90deg,#23303d 0%,#33424f 45%,#5d6b78 100%);border-radius:8px;overflow:hidden;min-height:340px}
.hero.s2{background:linear-gradient(90deg,#1d3b53,#2e6f8e 60%,#5fb3d4)}
.hero.s3{background:linear-gradient(90deg,#3a2b46,#5b3a6b 55%,#9b6fb0)}
.hero h1{font-weight:700;font-size:46px;line-height:1.05;color:#fff}
.hero .eyebrow{color:#cdd6df;letter-spacing:1px;font-size:12px}
.hero img{object-fit:cover}
.hero-img{transition:transform 6s ease}
.carousel-item.active .hero-img{transform:scale(1.08)}
.carousel-item.active .anim{animation:heroIn .8s cubic-bezier(.2,.7,.3,1) both}
.carousel-item.active .anim.d1{animation-delay:.05s}
.carousel-item.active .anim.d2{animation-delay:.2s}
.carousel-item.active .anim.d3{animation-delay:.35s}
.carousel-item.active .anim.d4{animation-delay:.5s}
@keyframes heroIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.hero-carousel .carousel-control-prev,.hero-carousel .carousel-control-next{width:5%;opacity:.6}
.hero-carousel .carousel-control-prev:hover,.hero-carousel .carousel-control-next:hover{opacity:1}
.hero-carousel .carousel-indicators [data-bs-target]{width:9px;height:9px;border-radius:50%;border:0}
.dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.45);display:inline-block;margin:0 3px}
.dot.active{background:#fff}

/* Category cards */
.cat-card{background:#f3f7fb;border-radius:10px;text-align:center;padding:18px 6px;transition:.2s;display:block}
.cat-card:hover{box-shadow:0 8px 22px rgba(44,163,224,.15);transform:translateY(-3px)}
.cat-card img{height:46px;object-fit:contain}
.cat-name{font-size:13px;font-weight:500;margin-top:8px;color:var(--ink)}
.cat-count{font-size:11px;color:var(--muted)}

/* Promo banners */
.promo{border-radius:8px;padding:22px;min-height:160px;position:relative;overflow:hidden}
.promo.pink{background:var(--pink)}
.promo.yellow{background:var(--yellow)}
.promo.gray{background:var(--gray)}
.promo .eyebrow{font-size:11px;letter-spacing:.5px;color:#5a4a4a}
.promo h4{font-weight:700;font-size:20px}
.promo .btn-shop{background:#fff;border:0;font-size:11px;padding:6px 14px;border-radius:3px;font-weight:600}
.promo .img-abs{position:absolute;right:8px;bottom:0;max-height:140px}
.badge-circle{position:absolute;top:14px;right:16px;background:#e23b3b;color:#fff;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}

/* Product card */
.product-card{border:1px solid var(--line);border-radius:8px;padding:14px;height:100%;background:#fff;transition:.2s;position:relative;display:flex;flex-direction:column}
.product-card:hover{box-shadow:0 10px 26px rgba(0,0,0,.07)}
.product-card .ph{height:140px;display:flex;align-items:center;justify-content:center}
.product-card .ph img{max-height:140px;object-fit:contain;transition:transform .3s}
.product-card:hover .ph img{transform:scale(1.08)}
.product-card .title{font-size:12.5px;color:#3a4659;line-height:1.4;margin:10px 0 6px;min-height:34px}
.product-card .title:hover{color:var(--brand)}
.disc-badge{position:absolute;top:10px;left:10px;background:#1f2d3d;color:#fff;font-size:10px;padding:2px 7px;border-radius:3px;z-index:2}
.card-actions{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:6px;opacity:0;transform:translateX(8px);transition:.25s;z-index:2}
.product-card:hover .card-actions{opacity:1;transform:none}
.card-actions button{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;color:#3a4659;display:flex;align-items:center;justify-content:center}
.card-actions button:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.card-actions button.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.add-cart-btn{margin-top:auto;border:1px solid var(--line);background:#f7f9fc;color:#3a4659;font-size:12px;font-weight:600;padding:7px;border-radius:6px;width:100%}
.add-cart-btn:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.stars{color:#f5b50a;font-size:12px}

/* Best seller feature */
.feature-card{background:linear-gradient(135deg,#2b3742,#46545f);border-radius:10px;color:#fff;padding:24px;min-height:100%}
.feature-card h5{font-weight:600}
.feature-card .btn{background:#fff;color:#1f2d3d;font-size:12px;border:0;padding:6px 16px}
.scroll-arrow{width:34px;height:34px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center}

/* Watch banner */
.watch-banner{background:#eef1f4;border-radius:10px;overflow:hidden;position:relative}
.watch-banner .watermark{position:absolute;left:30px;top:50%;transform:translateY(-50%);font-size:90px;font-weight:800;color:rgba(255,255,255,.5);letter-spacing:4px}
.watch-card{background:#fff;border-radius:10px;padding:26px}
.watch-card ul{list-style:none;padding:0;font-size:13px;color:#5a6473}
.watch-card ul li{margin-bottom:6px}
.watch-card ul li i{color:var(--brand);margin-right:6px}
.swatch{width:38px;height:38px;border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;justify-content:center}

/* Brands */
/* Two-row auto-scrolling marquee. Items are duplicated in the markup so the
   track can loop seamlessly with a single continuous CSS animation. */
.brand-marquee{border-top:1px solid var(--line);border-left:1px solid var(--line);overflow:hidden}
.brand-row{overflow:hidden}
.brand-track{display:flex;width:max-content;animation:brand-scroll 45s linear infinite;will-change:transform}
.brand-row:nth-child(2) .brand-track{animation-duration:60s}
.brand-marquee:hover .brand-track{animation-play-state:paused}
.brand-cell{flex:0 0 auto;width:clamp(120px,16vw,190px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;min-height:90px;padding:12px;font-weight:700;font-size:18px;color:#7a8595}
.brand-cell img{width:100%;height:48px;object-fit:contain;object-position:center}
@keyframes brand-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (max-width:575.98px){.brand-cell{min-height:78px;padding:10px;width:clamp(110px,33vw,150px)}}
@media (prefers-reduced-motion:reduce){.brand-track{animation:none}}

/* Error pages */
.error-page{max-width:640px;margin-inline:auto}
.error-code{font-size:clamp(72px,18vw,140px);font-weight:800;line-height:1;color:var(--brand);letter-spacing:2px}
.error-title{font-size:26px;font-weight:700;color:var(--ink)}
.error-text{max-width:480px}

/* Admin login (standalone, outside the storefront) */
.admin-login-body{min-height:100vh;background:#f4f6f9;padding:24px}
.admin-login-card{width:100%;max-width:400px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:32px;box-shadow:0 10px 30px rgba(31,45,61,.06)}

/* Features bar */
.feat-bar{border:1px solid var(--line);border-radius:8px}
.feat-item{padding:22px;text-align:center}
.feat-item i{font-size:30px;color:var(--brand)}
.feat-item h6{font-weight:600;margin:10px 0 2px}
.feat-item p{font-size:12px;color:var(--muted);margin:0}

/* Blog */
.blog-card .ph{height:170px;border-radius:8px;overflow:hidden}
.blog-card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.blog-card:hover .ph img{transform:scale(1.05)}
.blog-meta{font-size:11px;color:var(--muted);margin:12px 0 6px}
.blog-meta .cat{color:var(--brand);font-weight:600;letter-spacing:.5px}
.blog-card h6{font-weight:600;font-size:15px}
.blog-card p{font-size:12.5px;color:var(--muted)}
.btn-read{border:1px solid var(--line);font-size:11px;padding:6px 14px;color:#3a4659;background:#fff}
.btn-read:hover{background:var(--brand);color:#fff;border-color:var(--brand)}

/* Newsletter */
.newsletter{background:linear-gradient(90deg,#8fd4e0,#a7dde7);border-radius:10px;padding:46px 20px;text-align:center;position:relative;overflow:hidden}
.newsletter h3{font-weight:700}
.news-input{max-width:520px;margin:0 auto;background:#fff;border-radius:6px;overflow:hidden}
.news-input .form-control{border:0}
.news-input .btn{background:#1f2d3d;color:#fff;border:0;width:54px}

/* Footer */
footer{background:var(--footer);color:#c4ccd6}
footer h6{color:#fff;font-size:13px;letter-spacing:1px;margin-bottom:18px}
footer a{color:#aeb7c2;font-size:13px;display:block;margin-bottom:10px}
footer a:hover{color:var(--brand)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.08)}
.pay-badge{background:#fff;color:#222;border-radius:4px;padding:3px 7px;font-size:10px;font-weight:700;margin-left:6px}
.social-ic{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;display:flex;align-items:center;justify-content:center;margin-left:8px}

/* ===== PAGE BANNER / BREADCRUMB ===== */
.page-banner{background:linear-gradient(90deg,#23303d,#46545f);color:#fff;padding:46px 0;text-align:center}
.page-banner h1{font-weight:700;font-size:30px}
.page-banner .breadcrumb{justify-content:center;margin:0}
.page-banner .breadcrumb a{color:#cdd6df}
.page-banner .breadcrumb .active{color:#fff}
.page-banner .breadcrumb-item+.breadcrumb-item::before{color:#9aa6b2}

/* ===== CART OFFCANVAS ===== */
.cart-offcanvas{width:380px}
.cart-line{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.cart-line .thumb{width:64px;height:64px;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cart-line .thumb img{max-width:50px;max-height:50px;object-fit:contain}
.cart-line .nm{font-size:12.5px;color:#3a4659;line-height:1.35}
.qty-box{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.qty-box button{border:0;background:#f5f7fa;width:26px;height:26px;line-height:1;color:#3a4659}
.qty-box span{min-width:30px;text-align:center;font-size:13px}
.cart-remove{border:0;background:transparent;color:#b6bdc7}
.cart-remove:hover{color:#e23b3b}
.cart-empty{text-align:center;color:var(--muted);padding:50px 10px}
.cart-empty i{font-size:46px;color:#dde3ea}

/* ===== SHOP FILTERS ===== */
.filter-box{border:1px solid var(--line);border-radius:8px;padding:18px;margin-bottom:18px}
.filter-box h6{font-weight:600;font-size:14px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.filter-box .form-check-label{font-size:13px;color:#5a6473}
.filter-box .form-check{margin-bottom:8px}
.shop-toolbar{border:1px solid var(--line);border-radius:8px;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.view-toggle button{border:1px solid var(--line);background:#fff;width:36px;height:36px;border-radius:6px;color:#3a4659}
.view-toggle button.active{background:var(--brand);color:#fff;border-color:var(--brand)}

/* ===== PRODUCT DETAIL ===== */
.gallery-main{border:1px solid var(--line);border-radius:10px;height:380px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.gallery-main img{max-height:320px;object-fit:contain}
.gallery-thumb{border:1px solid var(--line);border-radius:8px;height:78px;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}
.gallery-thumb img{max-height:60px;object-fit:contain}
.gallery-thumb.active{border-color:var(--brand)}
.prod-detail h2{font-weight:700;font-size:26px}
.prod-detail .price{font-size:28px}
.qty-lg{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.qty-lg button{border:0;background:#f5f7fa;width:40px;height:44px;color:#3a4659;font-size:18px}
.qty-lg span{min-width:44px;text-align:center}
.detail-tabs .nav-link{color:#5a6473;font-weight:500;border:0;border-bottom:2px solid transparent}
.detail-tabs .nav-link.active{color:var(--brand);border-bottom-color:var(--brand);background:transparent}

/* ===== AUTH ===== */
.auth-card{max-width:460px;margin:0 auto;border:1px solid var(--line);border-radius:12px;padding:34px;box-shadow:0 16px 40px rgba(0,0,0,.04)}
.auth-card h3{font-weight:700}
.auth-card .form-control{padding:.7rem .9rem}
.social-login{border:1px solid var(--line);background:#fff;color:#3a4659;font-weight:500;padding:.6rem;border-radius:8px;width:100%}
.social-login:hover{background:#f5f9fd}

/* ===== CONTACT ===== */
.contact-card{border:1px solid var(--line);border-radius:10px;padding:24px;text-align:center;height:100%}
.contact-card i{font-size:30px;color:var(--brand)}
.map-embed{border:0;border-radius:10px;width:100%;height:340px;background:#eef1f4}

/* ===== ABOUT ===== */
.stat-box{text-align:center;padding:24px;border-radius:10px;background:#f3f7fb}
.stat-box h2{font-weight:700;color:var(--brand);margin:0}
.team-card img{width:100%;height:240px;object-fit:cover;border-radius:10px}

/* ===== BLOG SINGLE ===== */
.article-hero{height:360px;border-radius:12px;overflow:hidden}
.article-hero img{width:100%;height:100%;object-fit:cover}
.article-body p{color:#54606e;line-height:1.9;margin-bottom:18px}
.article-body h4{font-weight:600;margin:26px 0 12px}
.article-body blockquote{border-left:4px solid var(--brand);background:#f5f9fd;padding:18px 22px;border-radius:6px;color:#3a4659;font-style:italic}

/* ===== RESPONSIVE ===== */
@media (max-width:991.98px){
  .main-nav .navbar-collapse{padding:.5rem 0}
  .main-nav .navbar-nav .nav-link{padding:.6rem .2rem}
  .main-nav .navbar-nav .nav-link::after{display:none}
  .hero h1{font-size:34px}
  .hero{min-height:300px}
  .gallery-main{height:320px}
}
@media (max-width:767.98px){
  .logo{font-size:20px}
  .hero h1{font-size:30px}
  .hero{min-height:260px;text-align:center}
  .hero .ps-5{padding-left:1.25rem!important;padding-right:1.25rem!important}
  .section-title{font-size:18px}
  .watch-banner .watermark{font-size:46px;left:10px}
  .newsletter{padding:32px 16px}
  .feature-card .row{--bs-gutter-x:0}
  .scroll-arrow{display:none!important}
  .cart-offcanvas{width:88vw}
  .page-banner{padding:32px 0}
  .page-banner h1{font-size:23px}
}
@media (max-width:575.98px){
  .hero h1{font-size:25px}
  .search-wrap{max-width:100%!important}
  .promo .img-abs{max-height:80px!important;opacity:.85}
}

/* ===== CART PAGE ===== */
.cart-table td,.cart-table th{vertical-align:middle}
.cart-table .thumb{width:70px;height:70px;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;justify-content:center}
.cart-table .thumb img{max-width:54px;max-height:54px;object-fit:contain}
.summary-box{border:1px solid var(--line);border-radius:10px;padding:22px}
.summary-box h6{font-weight:600;margin-bottom:16px}
.summary-row{display:flex;justify-content:space-between;font-size:14px;margin-bottom:10px;color:#5a6473}
.summary-total{display:flex;justify-content:space-between;font-weight:700;font-size:18px;border-top:1px solid var(--line);padding-top:14px;margin-top:6px}

/* ===== CHECKOUT ===== */
.co-card{border:1px solid var(--line);border-radius:10px;padding:22px;margin-bottom:20px}
.co-card h6{font-weight:600;display:flex;align-items:center;gap:10px;margin-bottom:18px}
.co-step{width:26px;height:26px;border-radius:50%;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}
.pay-method{border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin-bottom:10px;cursor:pointer;display:flex;align-items:center;gap:10px}
.pay-method.active{border-color:var(--brand);background:#f5fbff}
.auth-switch{background:#f5f9fd;border:1px solid #dcebf7;border-radius:8px;padding:14px 16px;font-size:13px}

/* ===== ACCOUNT ===== */
.acct-side{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.acct-side a{display:flex;align-items:center;gap:12px;padding:13px 18px;color:#5a6473;font-size:14px;border-bottom:1px solid var(--line)}
.acct-side a:last-child{border-bottom:0}
.acct-side a i{font-size:16px;width:18px}
.acct-side a:hover{background:#f5f9fd;color:var(--brand)}
.acct-side a.active{background:var(--brand);color:#fff}
.acct-side a.active i{color:#fff}
.acct-hello{background:linear-gradient(120deg,#2ca3e0,#1d8cc7);color:#fff;border-radius:10px;padding:22px}
.order-row{border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:14px}
.status-pill{font-size:11px;padding:3px 10px;border-radius:20px;font-weight:600}
.status-Processing{background:#fff3d6;color:#9a6b00}
.status-Shipped{background:#d8ecff;color:#1565a8}
.status-Delivered{background:#d8f5e3;color:#1a7a44}
.addr-card{border:1px solid var(--line);border-radius:10px;padding:18px;height:100%}

/* ===== Batch 2: multi-level category menus (additive) ===== */
/* Image icon inside the All-Departments cat-menu items */
.cat-item .lbl img{width:18px;height:18px;object-fit:contain}

/* Flyout submenu for the styled cat-menu (All Departments / All Categories) */
.cat-has-sub{position:relative}
.cat-submenu{display:none;position:absolute;top:0;left:100%;margin:0;min-width:230px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 14px 34px rgba(0,0,0,.10)}
.cat-has-sub:hover>.cat-submenu,
.cat-has-sub.open>.cat-submenu{display:block}
.cat-item .arr{cursor:pointer;padding:4px}

/* Multi-level submenu for the Bootstrap navbar "Categories" dropdown */
.dropdown-submenu{position:relative}
.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-1px;display:none}
.dropdown-submenu:hover>.dropdown-menu{display:block}
@media (max-width:991px){
  /* On mobile, nested menus stack inline instead of flying out */
  .cat-submenu,.dropdown-submenu>.dropdown-menu{position:static;display:block;border:0;box-shadow:none;padding-left:14px}
}

/* ---------- Floating widgets: WhatsApp + Back-to-top ---------- */
.float-whatsapp{
  position:fixed; bottom:24px; left:24px; z-index:1040;
  width:54px; height:54px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:#25d366; color:#fff; font-size:28px;
  box-shadow:0 6px 18px rgba(37,211,102,.45);
  transition:transform .2s ease, box-shadow .2s ease;
}
.float-whatsapp:hover{ color:#fff; transform:scale(1.08); box-shadow:0 8px 22px rgba(37,211,102,.6); }
html[dir="rtl"] .float-whatsapp{ left:auto; right:24px; }

.back-to-top{
  position:fixed; bottom:24px; right:24px; z-index:1040;
  width:46px; height:46px; border:0; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--brand,#2ca3e0); color:#fff; font-size:20px;
  box-shadow:0 6px 18px rgba(0,0,0,.25);
  opacity:0; visibility:hidden; transform:translateY(12px);
  transition:opacity .25s ease, transform .25s ease, visibility .25s ease, background .2s ease;
}
.back-to-top.show{ opacity:1; visibility:visible; transform:translateY(0); }
.back-to-top:hover{ filter:brightness(.95); transform:translateY(-2px); }
html[dir="rtl"] .back-to-top{ right:auto; left:24px; }
/* Keep WhatsApp and Back-to-top from overlapping in RTL (both move to one side) */
html[dir="rtl"] .float-whatsapp{ bottom:84px; }

/* ---------- RTL fixes for custom components (Bootstrap-RTL only flips utilities) ---------- */
html[dir="rtl"] .section-title::after{ left:auto; right:0; }
html[dir="rtl"] .price-old{ margin-left:0; margin-right:6px; }
html[dir="rtl"] .promo .img-abs{ right:auto; left:8px; }
html[dir="rtl"] .card-actions{ right:auto; left:10px; transform:translateX(-8px); }
html[dir="rtl"] .product-card:hover .card-actions{ transform:none; }
html[dir="rtl"] .watch-banner .watermark{ left:auto; right:30px; }
html[dir="rtl"] .watch-card ul li i{ margin-right:0; margin-left:6px; }
html[dir="rtl"] .brand-marquee{ border-left:0; border-right:1px solid var(--line); }
html[dir="rtl"] .brand-cell{ border-right:0; border-left:1px solid var(--line); }
/* Category flyout submenu opens to the left in RTL */
html[dir="rtl"] .cat-submenu,
html[dir="rtl"] .dropdown-submenu>.dropdown-menu{ left:auto; right:100%; }
html[dir="rtl"] .cat-item .arr{ transform:scaleX(-1); }
@media (max-width:991px){
  html[dir="rtl"] .cat-submenu,
  html[dir="rtl"] .dropdown-submenu>.dropdown-menu{ padding-left:0; padding-right:14px; }
  html[dir="rtl"] .watch-banner .watermark{ right:10px; }
}
