/* Loaded last: explicitly reset legacy drawer positions and icon margins. */
body.mobile-menu-open { overflow:hidden; }
.mobile-nav-backdrop { position:fixed; inset:0; background:#00131b99; z-index:999; }
.mobile-nav-backdrop[hidden] { display:none; }
@media(max-width:1180px) {
  body.mobile-ui-ready .header .nav-toggle { z-index:auto!important; }
  body.mobile-menu-open .header .nav-toggle { visibility:hidden; }
  body.mobile-ui-ready .header { z-index:1000!important; transform:none!important; filter:none!important; backdrop-filter:none!important; left:auto!important; margin-inline:auto!important; }
  body.mobile-ui-ready .header .nav-toggle { display:flex!important; align-items:center; justify-content:center; flex:0 0 44px; width:44px!important; height:44px!important; min-height:44px; margin:0 0 0 auto!important; padding:0!important; border:1px solid #28515d; border-radius:10px; background:#0c2d38; color:#fff; cursor:pointer; }
  body.mobile-ui-ready .header .nav-toggle i { margin:0!important; padding:0!important; font-size:22px!important; line-height:1; }
  body.mobile-ui-ready .header .nav { position:static!important; width:0; margin:0!important; padding:0!important; }
  body.mobile-ui-ready .header .nav ul { display:none!important; }
  body.mobile-ui-ready .header .nav ul.nav-open { display:flex!important; position:fixed!important; inset:0 0 0 auto!important; width:min(340px,100vw)!important; max-width:100vw; height:100dvh!important; max-height:100dvh; margin:0!important; padding:max(72px,calc(env(safe-area-inset-top) + 60px)) 18px max(24px,env(safe-area-inset-bottom))!important; box-sizing:border-box; flex-direction:column!important; align-items:stretch!important; justify-content:flex-start!important; gap:8px!important; overflow-y:auto!important; overscroll-behavior:contain; background:#051b24!important; border:0!important; border-radius:0!important; box-shadow:-12px 0 40px #00141b55; transform:none!important; z-index:2000!important; }
  body.mobile-ui-ready .header .nav ul.nav-open li { position:static; width:100%; margin:0!important; padding:0; list-style:none; }
  body.mobile-ui-ready .header .nav ul.nav-open li a { display:flex!important; align-items:center; justify-content:flex-start; gap:12px; min-height:52px; margin:0!important; padding:14px 16px!important; border:1px solid #24414b; border-radius:10px; background:#0c2530; color:#fff!important; font:700 14px/1.3 Arial,sans-serif!important; white-space:normal!important; text-decoration:none; }
  body.mobile-ui-ready .header .nav ul.nav-open li a i { width:22px; margin:0!important; font-size:20px; text-align:center; color:#01c5d4; }
  body.mobile-ui-ready .header .nav ul.nav-open li a.active { background:#063e48; border-color:#087a86; }
  body.mobile-ui-ready .header .nav ul.nav-open li.close-nav { display:flex!important; position:absolute!important; top:max(14px,env(safe-area-inset-top))!important; right:18px!important; left:auto!important; align-items:center; justify-content:center; width:44px!important; height:44px!important; padding:0!important; border:1px solid #28515d; border-radius:10px; color:#fff; background:#0c2d38; cursor:pointer; }
  body.mobile-ui-ready .header .nav ul li.close-nav i { margin:0!important; font-size:22px!important; }
  body.mobile-ui-ready .header :is(.nav-toggle,.close-nav,a):focus-visible { outline:3px solid #02c5d5; outline-offset:3px; }
}
@media(max-width:800px) {
  body.directory-page .hero { height:auto!important; min-height:0!important; aspect-ratio:3 / 1!important; border-radius:12px; }
  body.directory-page .hero img { object-fit:contain!important; }
  body.directory-page .hero > button { width:44px!important; height:44px!important; font-size:20px!important; border-radius:10px; }
  body.directory-page .hero > .carousel-prev { left:4px; }
  body.directory-page .hero > .carousel-next { right:4px; }
  .pricing-redesign .hero { min-height:110px; padding:8px 46px!important; }
  .pricing-redesign .hero button { width:44px!important; height:44px!important; font-size:20px!important; }
  body.directory-page .directory-category-cards :is(a,button,span,strong,small) { font-family:Arial,sans-serif!important; }
  body.directory-page .directory-category-cards strong { font-size:13px; }
  body.directory-page .directory-category-cards small { line-height:1.4; }
  /* Keep every discovery filter reachable without a desktop sidebar. */
  body.directory-commerce .directory-sidebar { display:flex; position:static; min-width:0; max-width:100%; overflow-x:auto; gap:8px; padding:8px; scroll-snap-type:x proximity; }
  body.directory-commerce .directory-sidebar > :is(h2,h3,a) { display:none; }
  body.directory-commerce .directory-sidebar > button { flex:0 0 auto; width:auto; min-height:48px; padding:10px 14px; border:1px solid #dcebef; border-radius:9px; scroll-snap-align:start; }
  body.directory-commerce .directory-sidebar > button i:last-child { display:none; }
  body.directory-page :is(.directory-guide-pagination,.commerce-pagination,.professionals-pagination) button { min-height:44px; min-width:76px; font-size:14px; }
  body.directory-page :is(input,select) { font-size:16px!important; }
  body.directory-page :is(.commerce-featured-card,.professionals-featured-card) a { min-height:44px; }
  body:is(.directory-page,.pricing-redesign,.rubro-listing) .header .search-dropdown { max-height:calc(100dvh - 155px); }
  body:is(.directory-page,.pricing-redesign,.rubro-listing) .header .search-dropdown-scroll { max-height:calc(100dvh - 170px); }
}
