/* Modernista v25.3 — responsive header, mobile catalog, tablet and floating chat hard fix */

/* === always-safe globals === */
html, body { max-width:100%; overflow-x:hidden; }
.site-header, .site-header * { box-sizing:border-box; }
.mobile-category-drawer, .drawer-backdrop { box-sizing:border-box; }

/* === Desktop >= 1101 === */
@media (min-width:1101px) {
  .site-header {
    display:grid !important;
    grid-template-columns:220px minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:28px !important;
    height:82px !important;
    padding:0 5vw !important;
  }
  .mobile-menu-toggle,.mobile-category-drawer,.drawer-backdrop { display:none !important; }
  .site-header>.brand {
    display:block !important;
    width:190px !important;
    height:54px !important;
    margin:0 !important;
    justify-self:start !important;
  }
  .site-header>.category-nav {
    display:flex !important;
    justify-self:center !important;
    align-items:center !important;
    gap:26px !important;
    max-width:none !important;
    overflow:visible !important;
    white-space:nowrap !important;
  }
  .site-header>.actions {
    display:flex !important;
    justify-self:end !important;
    align-items:center !important;
    gap:14px !important;
    min-width:max-content !important;
  }
  .header-icon-btn.search-trigger {
    display:grid !important;
    place-items:center !important;
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    color:#111 !important;
    cursor:pointer !important;
  }
  .header-icon-btn.search-trigger svg { display:block !important; width:21px !important; height:21px !important; }
  .header-icon-btn.search-trigger .desktop-label { display:none !important; }
  .track-link { display:inline-flex !important; align-items:center !important; }
  .cart-link { display:inline-flex !important; flex-direction:row !important; align-items:center !important; gap:5px !important; }
  .cart-text { display:inline !important; }
  .search-shell { position:relative !important; }
  .search-popover {
    display:none !important;
    position:absolute !important;
    right:0 !important;
    top:calc(100% + 10px) !important;
    width:380px !important;
    max-width:70vw !important;
    padding:10px !important;
    gap:8px !important;
    background:#fff !important;
    border:1px solid #dedede !important;
    border-radius:14px !important;
    box-shadow:0 16px 44px rgba(0,0,0,.15) !important;
    z-index:300 !important;
  }
  .search-popover.open,.search-shell:hover .search-popover { display:flex !important; }
}

/* === Tablet 761–1100: clean two-row header === */
@media (min-width:761px) and (max-width:1100px) {
  .site-header {
    display:grid !important;
    grid-template-columns:170px minmax(0,1fr) auto !important;
    grid-template-rows:62px 42px !important;
    gap:0 14px !important;
    height:auto !important;
    min-height:104px !important;
    padding:0 24px !important;
  }
  .mobile-menu-toggle,.mobile-category-drawer,.drawer-backdrop { display:none !important; }
  .site-header>.brand { width:160px !important; height:46px !important; grid-column:1; grid-row:1; justify-self:start !important; }
  .site-header>.actions { grid-column:3; grid-row:1; display:flex !important; align-items:center !important; justify-self:end !important; gap:10px !important; }
  .site-header>.category-nav {
    grid-column:1/-1 !important; grid-row:2 !important;
    display:flex !important; justify-content:flex-start !important; align-items:center !important;
    gap:10px !important; max-width:100% !important; overflow-x:auto !important; white-space:nowrap !important;
    scrollbar-width:none !important; padding:0 0 7px !important;
  }
  .site-header>.category-nav::-webkit-scrollbar { display:none !important; }
  .nav-category-link { padding:7px 10px !important; font-size:13px !important; }
  .header-icon-btn.search-trigger { display:grid !important; place-items:center !important; width:36px !important; height:36px !important; padding:0 !important; }
  .header-icon-btn.search-trigger svg { width:20px !important; height:20px !important; }
  .header-icon-btn.search-trigger .desktop-label { display:none !important; }
  .track-link { font-size:12px !important; }
  .cart-text { display:none !important; }
  .search-popover { right:0 !important; width:340px !important; }
  .hero-slider { margin-left:24px !important; margin-right:24px !important; }
  .section { padding-left:24px !important; padding-right:24px !important; }
  .product-track { grid-auto-columns:calc((100% - 32px)/3) !important; gap:16px !important; }
  .footer { grid-template-columns:1.35fr 1fr 1fr !important; }
  .modern-footer>div:last-child { grid-column:1/-1 !important; }
}

/* === Mobile <= 760 === */
@media (max-width:760px) {
  .topbar { font-size:10px !important; padding:6px 8px !important; }
  .site-header {
    display:grid !important;
    grid-template-columns:34px minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:8px !important;
    min-height:62px !important;
    height:62px !important;
    padding:8px 12px !important;
  }
  .mobile-menu-toggle {
    display:grid !important; place-items:center !important;
    width:32px !important; min-width:32px !important; height:32px !important;
    margin:0 !important; padding:0 !important;
    border:1px solid #e4e4e4 !important; border-radius:9px !important;
    background:#fff !important; color:#111 !important; font-size:0 !important;
  }
  .mobile-menu-toggle::before { content:'☰'; font-size:15px !important; line-height:1 !important; }
  .site-header>.brand {
    display:block !important; width:132px !important; height:42px !important;
    max-width:44vw !important; margin:0 !important; justify-self:start !important;
  }
  .site-header>.category-nav { display:none !important; }
  .site-header>.actions { display:flex !important; align-items:center !important; justify-self:end !important; gap:4px !important; }
  .track-link,.desktop-label,.cart-text { display:none !important; }
  .header-icon-btn.search-trigger,.cart-link {
    display:grid !important; place-items:center !important;
    width:34px !important; min-width:34px !important; height:34px !important;
    margin:0 !important; padding:0 !important; border:0 !important; background:transparent !important;
    position:relative !important;
  }
  .header-icon-btn.search-trigger svg,.cart-icon { width:20px !important; height:20px !important; }
  .cart-count { position:absolute !important; right:-4px !important; top:-4px !important; margin:0 !important; }
  .search-popover { display:none !important; }
  .search-popover.open {
    display:flex !important; position:fixed !important;
    left:10px !important; right:10px !important; top:72px !important; width:auto !important;
    padding:9px !important; gap:7px !important; z-index:400 !important;
    background:#fff !important; border:1px solid #ddd !important; border-radius:13px !important;
    box-shadow:0 14px 40px rgba(0,0,0,.16) !important;
  }
  .search-popover input { min-width:0 !important; flex:1 !important; }

  .mobile-category-drawer {
    display:block !important; position:fixed !important; left:0 !important; top:0 !important; bottom:0 !important;
    width:min(290px,84vw) !important; padding:16px !important; background:#fff !important;
    z-index:501 !important; transform:translateX(-105%) !important; transition:transform .22s ease !important;
    overflow-y:auto !important; box-shadow:12px 0 38px rgba(0,0,0,.18) !important;
  }
  .drawer-backdrop {
    display:block !important; position:fixed !important; inset:0 !important; z-index:500 !important;
    background:rgba(0,0,0,.38) !important; opacity:0 !important; visibility:hidden !important;
    pointer-events:none !important; transition:.22s ease !important;
  }
  .menu-open .mobile-category-drawer { transform:translateX(0) !important; }
  .menu-open .drawer-backdrop { opacity:1 !important; visibility:visible !important; pointer-events:auto !important; }

  .hero-slider { margin:14px 12px 0 !important; min-height:390px !important; border-radius:18px !important; overflow:hidden !important; }
  .hero-track { display:flex !important; width:100% !important; }
  .hero-slide {
    flex:0 0 100% !important; min-width:100% !important; width:100% !important;
    min-height:390px !important; padding:28px 22px !important; grid-template-columns:1fr !important;
    position:relative !important; overflow:hidden !important;
  }
  .hero-copy { width:100% !important; max-width:100% !important; min-width:0 !important; padding:0 !important; position:relative !important; z-index:2 !important; }
  .hero-copy h1 { font-size:clamp(38px,12vw,58px) !important; line-height:.94 !important; max-width:92% !important; margin:8px 0 18px !important; }
  .hero-copy p { max-width:92% !important; font-size:13px !important; }
  .hero-art { position:absolute !important; right:-12% !important; bottom:2% !important; width:50% !important; opacity:.22 !important; }

  .section { padding:38px 14px !important; }
  .section-head { margin-bottom:18px !important; align-items:center !important; }
  .section h2 { font-size:27px !important; }

  .category-track { display:flex !important; overflow-x:auto !important; gap:10px !important; scroll-snap-type:x proximity !important; padding-bottom:6px !important; }
  .category-tile { flex:0 0 44vw !important; min-width:145px !important; scroll-snap-align:start !important; }
  .category-carousel .carousel-arrow { display:none !important; }

  /* Key fix: mobile new/hot products stack vertically, never create implicit horizontal grid columns. */
  .product-track.mobile-six-list {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-auto-flow:row !important;
    grid-auto-columns:auto !important;
    grid-auto-rows:auto !important;
    gap:22px !important;
    overflow:visible !important;
    width:100% !important;
    padding:0 !important;
  }
  .product-track.mobile-six-list>.product-slide {
    display:block !important; width:100% !important; min-width:0 !important; max-width:100% !important;
    grid-column:1 !important; scroll-snap-align:none !important;
  }
  .product-track.mobile-six-list>.product-slide:nth-child(n+7) { display:none !important; }
  .product-carousel .carousel-arrow { display:none !important; }
  .mobile-see-all { display:flex !important; justify-content:center !important; margin-top:20px !important; }

  .product-card { width:100% !important; min-width:0 !important; }
  .product-card .product-image { width:100% !important; aspect-ratio:1/1 !important; border-radius:16px !important; }
  .product-info { width:100% !important; min-width:0 !important; padding:11px 1px 0 !important; }
  .card-purchase-actions { display:grid !important; grid-template-columns:1fr 1fr !important; gap:8px !important; width:100% !important; }
  .card-purchase-actions>* { width:100% !important; min-width:0 !important; }
  .card-purchase-actions form { display:flex !important; width:100% !important; }
  .card-purchase-actions .card-btn { width:100% !important; min-height:44px !important; margin:0 !important; }

  .footer,.modern-footer { grid-template-columns:1fr !important; gap:24px !important; padding:36px 18px !important; }
  .modern-footer>div { min-width:0 !important; }
}

/* === Floating live chat: NEVER enter normal page flow === */
.live-chat-widget {
  position:fixed !important;
  right:18px !important;
  bottom:18px !important;
  left:auto !important;
  top:auto !important;
  width:auto !important;
  height:auto !important;
  z-index:9999 !important;
  display:block !important;
  pointer-events:none !important;
}
.chat-fab {
  pointer-events:auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:58px !important;
  min-height:46px !important;
  padding:0 18px !important;
  border:0 !important;
  border-radius:999px !important;
  background:#111 !important;
  color:#fff !important;
  font-weight:900 !important;
  box-shadow:0 12px 34px rgba(0,0,0,.24) !important;
  cursor:pointer !important;
}
.chat-fab::before { content:'●'; color:#22c55e; margin-right:7px; font-size:11px; }
.chat-panel {
  pointer-events:auto !important;
  display:none !important;
  position:absolute !important;
  right:0 !important;
  bottom:58px !important;
  left:auto !important;
  top:auto !important;
  width:360px !important;
  max-width:calc(100vw - 28px) !important;
  max-height:min(560px,calc(100vh - 100px)) !important;
  background:#fff !important;
  border:1px solid #ddd !important;
  border-radius:18px !important;
  box-shadow:0 20px 60px rgba(0,0,0,.24) !important;
  overflow:hidden !important;
}
.live-chat-widget.open .chat-panel { display:block !important; }
.chat-panel-head { display:flex !important; align-items:center !important; justify-content:space-between !important; background:#111 !important; color:#fff !important; padding:13px 15px !important; }
.chat-start { padding:14px !important; display:grid !important; gap:9px !important; }
.chat-start p { margin:0 0 4px !important; }
.chat-start input { width:100% !important; }
.chat-live { min-width:0 !important; }
.chat-thread { height:300px !important; max-height:45vh !important; overflow:auto !important; }

@media (max-width:760px) {
  .live-chat-widget { right:12px !important; bottom:12px !important; }
  .chat-fab { min-width:50px !important; min-height:44px !important; padding:0 14px !important; font-size:13px !important; }
  .chat-panel {
    position:fixed !important;
    left:10px !important; right:10px !important; bottom:66px !important; top:auto !important;
    width:auto !important; max-width:none !important; max-height:72vh !important; border-radius:16px !important;
  }
}

/* === Admin stability across tablet/mobile === */
@media (min-width:761px) and (max-width:1200px) {
  .admin-main { margin-left:250px !important; padding:22px !important; }
  .stats.dashboard-status-cards { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .finance-stats { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .admin-card .table-wrap { overflow-x:auto !important; }
}
@media (max-width:760px) {
  .admin-sidebar { position:relative !important; width:100% !important; min-height:auto !important; }
  .admin-main { margin-left:0 !important; padding:14px !important; }
  .stats.dashboard-status-cards { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .finance-stats { grid-template-columns:1fr !important; }
  .admin-card .table-wrap { overflow-x:auto !important; }
}
@media (max-width:460px) {
  .stats.dashboard-status-cards { grid-template-columns:1fr !important; }
}
