/* Mobile polish and nav tightening */
@media (max-width: 991.98px){
  .navbar .navbar-brand h1{font-size:1.1rem!important;line-height:1.25!important;white-space:normal!important}
  .navbar .navbar-brand{max-width:calc(100vw - 110px)}
  .navbar .navbar-brand img{max-height:44px}
  .navbar .navbar-collapse{padding-top:.75rem}
  .navbar .navbar-nav{gap:.15rem}
  .navbar .nav-link{padding:.7rem .9rem;border-radius:12px}
  .navbar .dropdown-menu{border-radius:16px}
  .site-mobile-actions{display:flex;gap:.5rem;align-items:center}
  .site-mobile-menu .dropdown-menu{min-width:280px;max-width:min(92vw,360px);padding:.55rem;border:none;box-shadow:0 18px 40px rgba(0,0,0,.16);animation:bgsmDrop .22s ease}
  .site-mobile-menu .dropdown-item{border-radius:12px;padding:.7rem .85rem}
  .site-mobile-menu .dropdown-header{font-weight:700;color:#0d6efd}
  .site-mobile-menu .menu-section{padding:.25rem}
  .container,.container-fluid{overflow-x:clip}
  h1,h2,h3,.display-5,.display-4,.display-3{overflow-wrap:anywhere;word-break:normal}
  .table-responsive{border-radius:16px}
  .card,.btn,.form-control,.form-select{border-radius:14px}
  .aircon-page-header{margin-bottom:2rem!important}
  .footer .btn.btn-square,.social-float-dock .btn{width:42px;height:42px}
  .admin-topbar .navbar-brand{font-size:1rem;max-width:calc(100vw - 132px)}
  .admin-topbar .navbar-brand img{max-height:34px}
  .admin-topbar .navbar-collapse{padding-top:.75rem}
  .admin-topbar .nav-link,.reseller-nav .nav-link{padding:.65rem .85rem;border-radius:12px}
  .admin-toolbar-compact{gap:.4rem!important}
  .admin-search-wrap{max-width:100%!important;min-width:0!important;width:100%!important}
  .admin-search-input{font-size:.95rem;padding:.55rem .8rem}
}
@media (max-width: 767.98px){
  .container.py-5,.container-fluid.py-4,.container-fluid.py-5{padding-top:1rem!important;padding-bottom:1rem!important}
  .row.g-4,.row.g-3{--bs-gutter-y:1rem}
  .portal-quick-grid,.portal-kpi-grid{grid-template-columns:1fr!important}
  .offcanvas-start{width:min(88vw,320px)!important}
}
@keyframes bgsmDrop{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.admin-topbar .admin-search-wrap{max-width:340px;min-width:220px}
.admin-topbar .admin-search-input{min-height:38px}
.admin-topbar .theme-accent-select{width:94px;min-width:94px}
.admin-topbar .theme-palette-menu{min-width:220px}
.admin-topbar .nav-link,.reseller-nav .nav-link{font-size:.95rem}
.admin-topbar .dropdown-item,.reseller-nav .dropdown-item{font-size:.94rem}
.admin-topbar .navbar-brand{font-size:1.06rem}
.admin-topbar .btn.btn-sm,.reseller-nav .btn.btn-sm{padding:.42rem .62rem}


/* Menu / mobile polish */
.site-mobile-menu-trigger{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 12px 26px rgba(13,110,253,.16)}
.site-mobile-offcanvas{max-width:320px;border:0;background:#fff}
.site-mobile-offcanvas .offcanvas-header{border-bottom:1px solid rgba(0,0,0,.06)}
.site-mobile-menu-group{background:#f8fbff;border:1px solid rgba(13,110,253,.08);border-radius:18px;padding:14px;display:grid;gap:8px;animation:fadeInUp .28s ease}
.site-mobile-menu-title{font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#6c757d;margin-bottom:4px}
.site-mobile-menu-link{display:flex;align-items:center;padding:10px 12px;border-radius:12px;background:#fff;color:#0f172a;text-decoration:none;box-shadow:0 6px 18px rgba(15,23,42,.05)}
.site-mobile-menu-link:hover{background:#0d6efd;color:#fff}
@keyframes fadeInUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media (max-width: 991.98px){
  .navbar-brand h1{font-size:clamp(1rem,4.8vw,1.5rem)!important;line-height:1.18;white-space:normal;max-width:42vw}
  .bgsm-brand-logo{max-height:44px;width:auto}
  .page-header h1,.display-5,.hero h1,.hero .display-5{font-size:clamp(1.6rem,7vw,2.4rem)!important;line-height:1.18!important;word-break:normal;overflow-wrap:anywhere}
  .hero .fw-bold,.aircon-page-header .display-5{letter-spacing:normal}
  .container,.container-fluid{overflow-x:clip}
  .site-mobile-actions{display:flex;align-items:center;gap:.55rem}
  .site-mobile-actions .btn{white-space:nowrap}
  .admin-search-wrap{max-width:220px!important}
  .admin-search-input{min-width:0!important}
  .theme-accent-select{max-width:104px!important}
  .portal-nav .btn,.reseller-nav .btn{padding-inline:.7rem}
}
@media (max-width: 575.98px){
  .admin-topbar .navbar-brand{font-size:.95rem;max-width:45vw;white-space:normal;line-height:1.1}
  .admin-toolbar-compact .dropdown-toggle,.admin-toolbar-compact .btn{padding-inline:.55rem}
  .card .card-body{padding:1rem!important}
  .table-responsive{border-radius:16px}
}
.admin-search-wrap{max-width:300px}
.admin-search-input{max-width:180px}
.theme-accent-select{max-width:116px}
.admin-toolbar-compact .nav-link{padding-inline:.55rem;font-size:.94rem}
.admin-topbar .dropdown-item-text,.admin-topbar .dropdown-item{white-space:normal}


/* stronger touch responsiveness for mobile offcanvas menu */
.site-mobile-offcanvas .offcanvas-body{position:relative;z-index:1}
.site-mobile-menu-group{position:relative;z-index:1}
.site-mobile-menu-link{position:relative;z-index:2;min-height:48px;width:100%;justify-content:space-between;gap:.75rem;touch-action:manipulation;-webkit-tap-highlight-color:transparent;pointer-events:auto;font-weight:600}
.site-mobile-menu-link::after{content:"\f105";font-family:"Font Awesome 5 Free";font-weight:900;font-size:.85rem;opacity:.55}
.site-mobile-menu-link:hover,.site-mobile-menu-link:focus,.site-mobile-menu-link:active{background:#0d6efd;color:#fff;transform:translateY(-1px)}
.site-mobile-actions .btn,.site-mobile-menu-trigger{touch-action:manipulation}
@media (max-width: 991.98px){
  .site-mobile-actions{position:relative;z-index:1041}
  .site-mobile-offcanvas{z-index:1055}
}


/* mobile landing/header refinements */
@media (max-width: 991.98px){
  .site-mobile-actions{display:flex;align-items:center;gap:.45rem;flex-shrink:0}
  .site-mobile-actions .site-mobile-cta{display:inline-flex;align-items:center;justify-content:center}
  .site-mobile-menu-trigger{background:#ff8a00!important;border-color:#ff8a00!important;color:#fff!important;box-shadow:0 16px 30px rgba(255,138,0,.28)!important}
  .site-mobile-menu-trigger i{font-size:1rem}
  .site-mobile-offcanvas .offcanvas-header{padding-bottom:.85rem}
  .site-mobile-offcanvas .offcanvas-body{gap:1rem!important}
}
@media (max-width: 575.98px){
  .navbar .navbar-brand{max-width:min(50vw,196px)!important}
  .navbar .navbar-brand h1{font-size:clamp(1rem,4.5vw,1.26rem)!important;line-height:1.03!important;max-width:none!important}
  .site-mobile-actions .site-mobile-cta{min-height:38px;padding-inline:.72rem!important;font-size:.8rem!important}
}


/* professional mobile account icon + lighter motion */
.site-mobile-account-trigger,.site-mobile-menu-trigger{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-width:1px!important}
.site-mobile-account-trigger{background:#ffffff!important;color:#0f172a!important;border-color:rgba(15,23,42,.12)!important;box-shadow:0 12px 26px rgba(15,23,42,.12)!important}
.site-mobile-account-trigger i{font-size:1rem}
.site-mobile-account-menu{min-width:min(84vw,280px);border-radius:18px;padding:.45rem;background:#fff;box-shadow:0 22px 42px rgba(15,23,42,.16)}
.site-mobile-account-menu .dropdown-header{font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:.74rem;color:#64748b;padding:.5rem .85rem}
.site-mobile-account-menu .dropdown-item{border-radius:12px;padding:.72rem .85rem;font-weight:600}
.site-mobile-account-menu .dropdown-item:active,.site-mobile-account-menu .dropdown-item:hover{background:#0d6efd;color:#fff}
@media (max-width:575.98px){
  .site-mobile-actions{gap:.35rem!important}
  .site-mobile-account-trigger,.site-mobile-menu-trigger{width:40px;height:40px}
  .site-mobile-actions .site-mobile-cta{min-height:40px;padding-inline:.8rem!important;font-size:.8rem!important}
  .site-mobile-account-menu{right:0!important;left:auto!important}
}


/* mobile header account simplification */
.site-mobile-login{display:inline-flex;align-items:center;justify-content:center;min-height:42px;font-weight:700;box-shadow:0 12px 26px rgba(15,23,42,.10);background:#fff!important;color:#0f172a!important;border-color:rgba(15,23,42,.12)!important}
.site-mobile-login:hover,.site-mobile-login:focus{background:#0d6efd!important;color:#fff!important;border-color:#0d6efd!important}
.site-mobile-actions .site-mobile-login,.site-mobile-actions .site-mobile-cta{white-space:nowrap}
@media (max-width:575.98px){
  .site-mobile-actions{gap:.3rem!important}
  .site-mobile-actions .site-mobile-login,.site-mobile-actions .site-mobile-cta{min-height:40px;padding-inline:.78rem!important;font-size:.8rem!important}
  .site-mobile-menu-trigger{width:40px;height:40px}
}


/* robust responsive polish */
.site-mobile-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap}
.site-mobile-login,.site-mobile-cta{white-space:nowrap}
@media (max-width: 991.98px){
  .navbar.sticky-top{padding-top:.7rem!important;padding-bottom:.7rem!important}
  .navbar-brand{max-width:calc(100vw - 170px);min-width:0}
  .brand-heading--public{display:flex;flex-direction:column;align-items:flex-start;line-height:1.02}
  .brand-heading--public .brand-main{font-size:clamp(1rem,4vw,1.25rem)!important}
  .brand-heading--public .brand-sub{font-size:.68rem!important;letter-spacing:.12em}
  .site-mobile-actions{margin-left:auto!important}
  .site-mobile-offcanvas{position:fixed;top:0;right:0;height:100dvh;max-height:100dvh;transform:translateX(100%);visibility:hidden;display:block;transition:transform .26s ease, visibility .26s ease;}
  .site-mobile-offcanvas.is-open{transform:translateX(0);visibility:visible;}
  .site-mobile-offcanvas .offcanvas-body{padding-bottom:max(1rem, env(safe-area-inset-bottom))}
  body.site-mobile-menu-open::before{content:'';position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:1088}
  .site-mobile-menu-link{font-size:.98rem}
  .container,.container-fluid{overflow-x:clip}
  h1,h2,h3,.display-4,.display-5{word-break:normal;overflow-wrap:anywhere}
  .row>[class*='col-']{min-width:0}
  .card,.feature-box,.service-item,.testimonial-item,.team-item{overflow:hidden}
}
@media (min-width: 992px){
  body.site-mobile-menu-open::before{display:none}
  .site-mobile-offcanvas{display:none!important}
}


/* final robust mobile drawer visibility */
@media (max-width: 991.98px){
  .site-mobile-offcanvas{display:block!important;position:fixed!important;top:0!important;right:0!important;bottom:0!important;width:min(88vw,320px)!important;max-width:min(88vw,320px)!important;height:100dvh!important;background:#fff!important;box-shadow:-18px 0 40px rgba(15,23,42,.18)!important;z-index:1095!important;transform:translate3d(100%,0,0)!important;opacity:1!important;visibility:hidden!important;pointer-events:none!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;}
  .site-mobile-offcanvas.is-open,.site-mobile-offcanvas.show{transform:translate3d(0,0,0)!important;visibility:visible!important;pointer-events:auto!important;}
  body.site-mobile-menu-open{overflow:hidden!important;touch-action:none;}
  .site-mobile-menu-trigger{cursor:pointer!important;pointer-events:auto!important;position:relative;z-index:1101!important;}
  .site-mobile-offcanvas .offcanvas-header,.site-mobile-offcanvas .offcanvas-body{position:relative;z-index:1;}
}


/* Final production mobile drawer */
.site-mobile-drawer-overlay[hidden], .site-mobile-drawer[hidden]{display:none !important;}
.site-mobile-drawer-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:1094;opacity:0;transition:opacity .2s ease;}
.site-mobile-drawer-overlay.is-open{opacity:1;}
.site-mobile-drawer{position:fixed;top:0;right:0;bottom:0;width:min(88vw,340px);max-width:min(88vw,340px);height:100dvh;background:#fff;box-shadow:-18px 0 40px rgba(15,23,42,.18);z-index:1095;transform:translate3d(100%,0,0);transition:transform .22s ease;visibility:visible;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:auto;}
.site-mobile-drawer.is-open{transform:translate3d(0,0,0);}
.site-mobile-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem .85rem;border-bottom:1px solid rgba(15,23,42,.08);position:sticky;top:0;background:#fff;z-index:2;}
.site-mobile-drawer__body{padding:1rem;padding-bottom:max(1rem, env(safe-area-inset-bottom));}
body.site-mobile-menu-open{overflow:hidden !important;touch-action:none;}
.site-mobile-menu-trigger{cursor:pointer !important;}
@media (min-width: 992px){
  .site-mobile-drawer,.site-mobile-drawer-overlay{display:none !important;}
}
