/* BLACKGSM production-safe responsive refinement */
:root{
  --bgsm-mobile-base:360px;
  --bgsm-tablet-base:768px;
  --bgsm-desktop-base:1366px;
  --bgsm-edge-gap:clamp(12px,2vw,24px);
  --bgsm-section-gap:clamp(20px,4vw,56px);
}
html,body{overflow-x:hidden}
img,video,iframe,canvas,svg{max-width:100%;height:auto}
main,section,.container,.container-fluid{min-width:0}
.row>[class*="col-"]{min-width:0}
.card,.table-responsive,.dropdown-menu,.modal-content,.offcanvas{max-width:100%}
.card,.widget,.panel,[class*="card-"]{height:auto}
.btn,.form-control,.form-select,.input-group,.badge,.nav-link,.dropdown-item{max-width:100%}
.btn,.nav-link,.dropdown-item{white-space:normal}
.form-control,.form-select,textarea{min-height:44px}
.table-responsive{overflow:auto;-webkit-overflow-scrolling:touch}
.table{margin-bottom:0}
.table td,.table th{vertical-align:middle}
.modal-dialog{margin:var(--bgsm-edge-gap)}
.display-1,.display-2,.display-3,.display-4,.display-5,.display-6,
h1,h2,h3,h4,h5,h6,.hero h1,.page-header h1,.aircon-page-header h1,
.section-title h2,.section-heading-row h2,.section-heading-row h3{
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
}
h1,.h1{font-size:clamp(1.5rem,1.1rem + 2vw,3rem)}
h2,.h2{font-size:clamp(1.3rem,1rem + 1.3vw,2.4rem)}
h3,.h3{font-size:clamp(1.15rem,.95rem + .8vw,1.8rem)}
.lead{font-size:clamp(1rem,.94rem + .35vw,1.15rem)}
.section,.content-section,.page-section{padding-block:var(--bgsm-section-gap)}
.hero,.page-header,.aircon-page-header{overflow:hidden}
.hero img,.hero video,.page-header img{object-fit:cover}
[class*="grid"],[class*="cards"],.product-grid,.portal-quick-grid,.portal-kpi-grid,.dashboard-grid{
  min-width:0;
}
.back-to-top{
  width:42px!important;
  height:42px!important;
  right:14px!important;
  bottom:14px!important;
  box-shadow:0 10px 24px rgba(15,23,42,.18)!important;
}
.back-to-top i{font-size:.95rem!important}
.navbar .dropdown-menu{max-width:min(92vw,360px)}
.navbar .btn,.navbar .nav-link{min-height:40px;display:inline-flex;align-items:center}
.site-desktop-nav,.admin-toolbar-compact{flex-wrap:wrap}
.admin-search-wrap{min-width:0}
.admin-search-input{min-width:0;width:100%}
.portal-nav .container-fluid,.admin-topbar .container-fluid,.navbar .container-fluid{gap:.5rem}

/* Mobile: 0-767 */
@media (max-width:767.98px){
  body{font-size:.96rem}
  .container,.container-fluid{padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right))}
  .row{--bs-gutter-x:1rem}
  .section,.content-section,.page-section{padding-block:clamp(18px,6vw,32px)}
  .hero,.page-header,.aircon-page-header{padding-top:clamp(48px,9vw,72px);padding-bottom:clamp(26px,7vw,40px)}
  .hero .container,.page-header .container,.aircon-page-header .container{padding-inline:0}
  .hero-action-cluster,.d-flex.flex-wrap.gap-2,.d-flex.flex-wrap.gap-3{gap:.65rem!important}
  .card .card-body,.modal-body,.offcanvas-body{padding:1rem!important}
  .home-kpi-grid .col-6,.portal-kpi-grid>*{width:100%!important}
  .product-grid,.marketplace-grid,.catalog-grid,.portal-quick-grid,.portal-kpi-grid,.dashboard-grid{grid-template-columns:1fr!important}
  .row[class*="g-"]>[class*="col-"]{margin-bottom:0}
  .col-sm-6,.col-md-6,.col-lg-6,.col-xl-6,.col-md-4,.col-lg-4,.col-xl-4,.col-md-3,.col-lg-3,.col-xl-3{width:100%}
  .navbar-brand{max-width:calc(100vw - 144px)!important}
  .site-mobile-actions{gap:.35rem!important}
  .site-mobile-actions .btn,.site-mobile-menu-trigger,.site-mobile-login{min-height:40px!important}
  .navbar-collapse{max-height:calc(100vh - 84px);overflow:auto}
  .admin-topbar .navbar-collapse,.portal-nav .navbar-collapse{padding-top:.75rem}
  .admin-toolbar-compact,.site-desktop-nav{gap:.25rem!important}
  .admin-toolbar-compact .nav-link,.site-desktop-nav .nav-link{width:100%;justify-content:flex-start}
  .admin-search-wrap,.theme-accent-select,.admin-topbar .btn,.portal-nav .btn{width:100%;max-width:100%!important}
  .input-group,.d-flex,.btn-group{flex-wrap:wrap}
  .input-group>.form-control,.input-group>.form-select,.input-group>.btn{width:100%;flex:1 1 100%}
  .table td,.table th{white-space:nowrap}
  .table-stack-mobile thead{display:none}
  .table-stack-mobile tbody,.table-stack-mobile tr,.table-stack-mobile td{display:block;width:100%}
  .table-stack-mobile tr{padding:12px;border:1px solid rgba(15,23,42,.08);border-radius:16px;margin-bottom:12px;background:#fff}
  .table-stack-mobile td{padding:.45rem 0;border:0!important}
  .table-stack-mobile td::before{content:attr(data-label);display:block;font-size:.75rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#667085;margin-bottom:.22rem}
  .back-to-top{width:38px!important;height:38px!important;right:12px!important;bottom:12px!important}
  .back-to-top i{font-size:.82rem!important}
}

/* Tablet: 768-1023 */
@media (min-width:768px) and (max-width:1023.98px){
  .container,.container-fluid{padding-left:clamp(16px,2.4vw,26px);padding-right:clamp(16px,2.4vw,26px)}
  .hero,.page-header,.aircon-page-header{padding-top:clamp(58px,6vw,84px);padding-bottom:clamp(34px,5vw,48px)}
  .product-grid,.marketplace-grid,.catalog-grid,.portal-quick-grid,.portal-kpi-grid,.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .site-desktop-nav,.admin-toolbar-compact{gap:.35rem!important}
  .admin-search-wrap{max-width:100%!important;width:min(100%,320px)}
  .table td,.table th{white-space:nowrap}
}

/* Desktop 1024+ */
@media (min-width:1024px){
  .container,.container-fluid{padding-left:clamp(18px,2vw,32px);padding-right:clamp(18px,2vw,32px)}
  .product-grid,.marketplace-grid,.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dashboard-grid,.portal-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .site-desktop-nav{align-items:center}
}
@media (min-width:1366px){
  .container{max-width:min(1280px,92vw)}
}
@media (min-width:1440px){
  .product-grid.product-grid--dense,.marketplace-grid.marketplace-grid--dense{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* Common public/auth/dashboard refinements */
.auth-shell,.auth-card,.login-card,.register-card,[class*="login-"] .card,[class*="register-"] .card{max-width:100%}
.auth-shell .row>[class*="col-"],.dashboard-grid>[class*="col-"],.portal-grid>[class*="col-"]{display:flex}
.auth-shell .card,.dashboard-grid .card,.portal-grid .card{width:100%}
.hero-media-frame,.homepage-gallery-media,.marketplace-card img,.catalog-card img,.product-card img{width:100%;object-fit:cover}
.footer .row>[class*="col-"]{margin-bottom:1rem}
.footer .btn.btn-square,.social-float-dock .btn{width:40px;height:40px}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
