/* =========================================================
   APROXZ — FUTURE DISCOVERY UI MAIN CSS
   File: styles/main.css
   Version: 2026-07-02_MAIN_CSS_TRANSPARENT_TOP_NAV_MAP_100VH_V1
   Full File Replacement

   Purpose:
   - Converts public frontend into a 100VH one-page discovery system.
   - Keeps existing AproxZ wiring IDs:
     #map
     #az-selected-place
     #az-listings
     #az-popular-list
     #az-listing-count
     #az-city-button
     #myLocationBtn
     #az-search-input
     #az-daypart-button
     #az-saved-gems-button
   - Fullscreen map-first experience.
   - Dark top navigation.
   - Left vertical discovery rail removed from public UI.
   - Selected-place card CSS removed; frontend Panoptis overlay owns #az-selected-place.
   - Legacy bottom discovery drawer disabled; unified daypart-ui.js owns bottom rail.
   - Bottom live proximity stats rail removed from public UI.
   - Future-ready login/profile visual area.
   - Does NOT require JS changes yet.
========================================================= */

:root{
  --az-bg:#050b16;
  --az-bg-2:#07111f;
  --az-surface:rgba(8,17,31,.86);
  --az-surface-2:rgba(12,24,43,.92);
  --az-surface-3:rgba(15,29,52,.78);
  --az-card:rgba(9,20,38,.88);
  --az-card-solid:#0b1629;
  --az-map-dim:rgba(2,8,18,.18);

  --az-ink:#f8fafc;
  --az-ink-soft:#cbd5e1;
  --az-muted:#94a3b8;
  --az-muted-2:#64748b;

  --az-line:rgba(148,163,184,.18);
  --az-line-strong:rgba(148,163,184,.32);

  --az-blue:#1677ff;
  --az-blue-2:#2f8cff;
  --az-blue-soft:rgba(22,119,255,.18);
  --az-green:#19d48b;
  --az-green-soft:rgba(25,212,139,.16);
  --az-yellow:#facc15;
  --az-red:#fb4b65;
  --az-purple:#a855f7;
  --az-orange:#fb923c;

  --az-radius:22px;
  --az-radius-sm:14px;
  --az-pill:999px;

  --az-topbar-h:84px;
  --az-rail-w:0px;
  --az-bottom-h:0px;
  --az-drawer-h:230px;

  --az-shadow:0 24px 70px rgba(0,0,0,.42);
  --az-shadow-soft:0 16px 44px rgba(0,0,0,.28);
  --az-glow-blue:0 0 0 1px rgba(47,140,255,.28),0 0 40px rgba(22,119,255,.28);
}

*{
  box-sizing:border-box;
}

html,
body{
  margin:0;
  width:100%;
  height:100%;
  min-height:100%;
  overflow:hidden;
  background:var(--az-bg);
  color:var(--az-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Arial,sans-serif;
}

button,
a,
input{
  font-family:inherit;
}

button{
  cursor:pointer;
}

a{
  color:inherit;
}

.az-app-shell{
  position:relative;
  width:100vw;
  height:100vh;
  min-height:100vh;
  overflow:hidden;
  background:
    radial-gradient(circle at 42% 54%, rgba(22,119,255,.16), transparent 28%),
    radial-gradient(circle at 80% 20%, rgba(25,212,139,.09), transparent 24%),
    linear-gradient(180deg,#06101e 0%,#050b16 100%);
}

/* =========================================================
   APROXZ — TOP NAV SINGLE AUTHORITY V1
   File: styles/main.css

   Ownership:
   - index.html owns top-nav HTML.
   - styles/main.css owns top-nav layout and visual style.
   - frontend/explore-menu.js must NOT inject topbar CSS.
   - No ::before / ::after fake profile buttons.
   - No stacked nav override blocks.
========================================================= */

:root{
  --az-topbar-h:112px;
}

/* <======= Top Nav Shell: one glass container ========> */
.az-topbar{
  position:absolute;
  top:22px;
  left:24px;
  right:24px;
  height:68px;
  min-height:68px;
  max-height:68px;
  z-index:120;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:68px;
  gap:0;
  padding:0;
  overflow:visible;
  border-radius:0;
  border:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

.az-topbar::before{
  content:none;
  display:none;
}

.az-topbar::after{
  content:none;
  display:none;
}

/* <======= Top Nav Primary Row: left controls, true-center logo, right actions ========> */
.az-topbar-primary-row{
  grid-row:1;
  grid-column:1;
  position:relative;
  height:68px;
  min-height:68px;
  display:block;
  padding:0 20px;
  overflow:visible;
  z-index:4;
}

/* <======= Center Brand: mathematically centered, independent from left/right controls ========> */
.az-brand,
.az-brand-centered,
.az-brand-link{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:220px;
  min-width:220px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  margin:0;
  padding:0;
  text-decoration:none;
  line-height:1;
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  z-index:8;
}

.az-brand::before,
.az-brand-centered::before,
.az-brand-link::before{
  content:none;
  display:none;
}

.az-brand-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:0;
}

.az-logo{
  display:block;
  margin:0;
  font-size:23px;
  font-weight:950;
  letter-spacing:.18em;
  line-height:1;
  color:#fff;
  text-transform:lowercase;
  white-space:nowrap;
}

.az-tagline{
  display:block;
  margin:6px 0 0 1px;
  font-size:8px;
  font-weight:850;
  letter-spacing:.22em;
  line-height:1;
  color:rgba(226,232,240,.62);
  text-transform:uppercase;
  white-space:nowrap;
}

/* <======= Left Controls: location + search ========> */
.az-location-cluster,
.az-nav-left{
  position:absolute;
  left:20px;
  top:13px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  min-width:0;
  z-index:7;
}

#az-city-button,
#myLocationBtn,
.az-nav-btn{
  appearance:none;
  -webkit-appearance:none;
  height:42px;
  min-height:42px;
  max-height:42px;
  border-radius:999px;
  box-shadow:none;
  line-height:1;
  border:1px solid rgba(148,163,184,.24);
  background:rgba(10,22,40,.76);
  color:rgba(248,250,252,.96);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  white-space:nowrap;
  font-size:12px;
  font-weight:700;
  padding:0 14px;
}

#az-city-button{
  width:142px;
  min-width:142px;
  justify-content:flex-start;
  padding:0 12px;
}

#az-city-button::before,
#az-city-button::after,
#myLocationBtn::before{
  content:none;
  display:none;
}

.az-location-icon{
  font-size:16px;
  line-height:1;
  color:rgba(226,232,240,.86);
  width:16px;
  flex:0 0 auto;
}

.az-city-label{
  max-width:82px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
  font-weight:800;
}

.az-nav-caret-modern{
  margin-left:auto;
  color:rgba(226,232,240,.60);
  font-size:12px;
}

#myLocationBtn{
  width:132px;
  min-width:132px;
  border-color:rgba(25,212,139,.26);
  background:rgba(25,212,139,.12);
  color:#eafff6;
}

#myLocationBtn .az-live-dot{
  display:block;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#19d48b;
  box-shadow:0 0 18px rgba(25,212,139,.76);
  flex:0 0 auto;
}

#myLocationBtn .az-my-location-label,
#myLocationBtn .az-location-toggle-copy{
  font-size:12px;
  font-weight:800;
  color:#eafff6;
  white-space:nowrap;
}

#myLocationBtn .az-location-toggle-track{
  display:none;
}

.az-global-search,
.az-search{
  position:absolute;
  left:318px;
  top:13px;
  width:clamp(260px,32vw,520px);
  min-width:260px;
  max-width:520px;
  height:42px;
  margin:0;
  z-index:6;
  overflow:visible;
}

.az-global-search::before,
.az-search::before{
  content:"";
  position:absolute;
  left:17px;
  top:50%;
  width:15px;
  height:15px;
  transform:translateY(-50%);
  border:2px solid rgba(226,232,240,.56);
  border-radius:50%;
  pointer-events:none;
  z-index:2;
}

.az-global-search::after,
.az-search::after{
  content:"";
  position:absolute;
  left:31px;
  top:27px;
  width:7px;
  height:2px;
  transform:rotate(45deg);
  background:rgba(226,232,240,.56);
  border-radius:999px;
  pointer-events:none;
  z-index:2;
}

.az-search-input{
  width:100%;
  min-width:0;
  height:42px;
  border:1px solid rgba(148,163,184,.20);
  border-radius:999px;
  background:rgba(10,22,40,.72);
  color:#fff;
  font-size:13px;
  font-weight:450;
  padding:0 54px 0 45px;
  box-shadow:none;
  overflow:hidden;
  text-overflow:ellipsis;
}

.az-search-input::placeholder{
  color:rgba(203,213,225,.72);
}

.az-search-shortcut{
  position:absolute;
  right:13px;
  top:50%;
  transform:translateY(-50%);
  color:rgba(226,232,240,.62);
  font-size:12px;
  font-weight:850;
  pointer-events:none;
}

/* <======= Right Actions: real buttons only, no pseudo-elements ========> */
.az-primary-actions,
.az-nav-right,
.az-primary-actions.az-nav-right{
  position:absolute;
  right:20px;
  top:13px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  width:auto;
  min-width:0;
  max-width:calc(50vw - 150px);
  overflow:visible;
  white-space:nowrap;
  z-index:9;
}

.az-primary-actions::before,
.az-primary-actions::after,
.az-nav-right::before,
.az-nav-right::after{
  content:none;
  display:none;
}

.az-nav-action,
#az-explore-button,
#az-saved-gems-button,
#az-alerts-button{
  appearance:none;
  -webkit-appearance:none;
  height:36px;
  min-height:36px;
  max-height:36px;
  width:auto;
  min-width:max-content;
  max-width:none;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.22);
  background:rgba(10,22,40,.72);
  color:rgba(248,250,252,.92);
  box-shadow:none;
  display:inline-flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:6px;
  position:relative;
  font-size:13px;
  font-weight:400;
  line-height:1;
  text-align:center;
  white-space:nowrap;
  overflow:visible;
  text-transform:none;
  letter-spacing:0;
}

.az-nav-action:hover,
#az-explore-button:hover,
#az-saved-gems-button:hover,
#az-alerts-button:hover,
#az-profile-button:hover{
  border-color:rgba(47,140,255,.42);
  background:rgba(15,31,56,.86);
}

.az-nav-action-icon,
.az-explore-icon,
.az-minimal-bell,
.az-alert-dot,
.az-nav-action svg,
#az-explore-button svg,
#az-alerts-button svg{
  display:none;
}

.az-nav-action-label{
  display:inline;
  font-size:13px;
  font-weight:400;
  line-height:1;
  white-space:nowrap;
  color:rgba(248,250,252,.92);
}

#az-saved-gems-count,
#az-alerts-count,
.az-saved-gems-count,
.az-alerts-count{
  position:static;
  top:auto;
  right:auto;
  min-width:0;
  height:auto;
  padding:0;
  border-radius:0;
  background:transparent;
  color:rgba(248,250,252,.92);
  display:inline;
  align-items:normal;
  justify-content:normal;
  font-size:13px;
  font-weight:400;
  line-height:1;
  border:0;
  box-shadow:none;
}

#az-saved-gems-button,
#az-alerts-button{
  gap:5px;
}

#az-saved-gems-button .az-nav-action-label,
#az-alerts-button .az-nav-action-label{
  font-weight:400;
}


#az-profile-button{
  appearance:none;
  -webkit-appearance:none;
  width:116px;
  min-width:116px;
  max-width:116px;
  height:36px;
  min-height:36px;
  max-height:36px;
  padding:0 8px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.22);
  background:rgba(10,22,40,.72);
  color:#fff;
  box-shadow:none;
  display:grid;
  grid-template-columns:28px minmax(0,1fr) 8px;
  grid-template-rows:1fr;
  column-gap:7px;
  align-items:center;
  justify-content:stretch;
  text-align:left;
}

#az-profile-button .az-profile-avatar{
  grid-column:1;
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(15,31,56,.92);
  border:1px solid rgba(47,140,255,.70);
  color:#fff;
  font-size:12px;
  font-weight:700;
  box-shadow:0 0 18px rgba(47,140,255,.16);
}

#az-profile-button .az-profile-copy{
  grid-column:2;
  display:flex;
  min-width:0;
  align-items:center;
}

#az-profile-button .az-profile-name{
  display:none;
}

#az-profile-button .az-profile-subtitle{
  display:block;
  margin:0;
  font-size:11px;
  font-weight:400;
  color:rgba(203,213,225,.72);
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
  line-height:1;
}

#az-profile-button .az-profile-caret{
  grid-column:3;
  display:block;
  color:rgba(203,213,225,.70);
  font-size:10px;
}

/* <======= Secondary Nav Row: static HTML in index.html, styled here ========> */
.az-topbar-secondary-row{
  display:none !important;
}

.az-secondary-left{
  position:relative;
  min-width:0;
}

#az-secondary-perspective-button{
  width:100%;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.18);
  background:rgba(10,22,40,.56);
  color:rgba(248,250,252,.92);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 14px;
  font-size:13px;
  font-weight:400;
}

#az-secondary-perspective-menu{
  position:absolute;
  left:0;
  top:46px;
  width:220px;
  padding:8px;
  border-radius:16px;
  border:1px solid rgba(148,163,184,.22);
  background:rgba(7,15,28,.96);
  box-shadow:0 18px 52px rgba(0,0,0,.44);
  z-index:80;
}

#az-secondary-perspective-menu[hidden]{
  display:none;
}

#az-secondary-perspective-menu button{
  width:100%;
  height:34px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:rgba(226,232,240,.78);
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:0 10px;
  font-size:13px;
  font-weight:400;
}

#az-secondary-perspective-menu button:hover,
#az-secondary-perspective-menu button.is-active{
  background:rgba(22,119,255,.14);
  color:#fff;
}

.az-secondary-nav,
#az-secondary-nav{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:28px;
  overflow:hidden;
  white-space:nowrap;
}

.az-secondary-option{
  appearance:none;
  -webkit-appearance:none;
  height:38px;
  border:0;
  background:transparent;
  color:rgba(226,232,240,.72);
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:400;
  line-height:1;
  white-space:nowrap;
}

.az-secondary-option svg,
.az-secondary-option .az-icon,
.az-secondary-option .az-secondary-icon{
  display:none;
}

.az-secondary-option span{
  font-size:13px;
  font-weight:400;
}

.az-secondary-option:hover,
.az-secondary-option.is-active{
  color:#fff;
}

#az-secondary-view-full-map{
  height:38px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.18);
  background:rgba(10,22,40,.56);
  color:rgba(248,250,252,.88);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  font-size:13px;
  font-weight:400;
  white-space:nowrap;
}

/* <======= Explore Mega Menu V2: scroll columns, Lucide-ready, no See All popups ========> */
#az-explore-mega-menu,
.az-explore-mega-menu{
  position:absolute;
  left:20px;
  right:20px;
  top:76px;
  z-index:90;
  display:none;
  border-radius:22px;
  border:1px solid rgba(59,130,246,.30);
  background:
    radial-gradient(circle at 18% 0%, rgba(22,119,255,.12), transparent 34%),
    radial-gradient(circle at 82% 10%, rgba(25,212,139,.06), transparent 32%),
    linear-gradient(135deg, rgba(11,27,50,.88), rgba(4,16,29,.82)),
    rgba(5,15,28,.78);
  box-shadow:
    0 30px 92px rgba(0,0,0,.54),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(28px) saturate(145%);
  -webkit-backdrop-filter:blur(28px) saturate(145%);
  overflow:hidden;
}

#az-explore-mega-menu::before,
#az-explore-mega-menu::after{
  content:"";
  position:absolute;
  width:460px;
  height:460px;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
  opacity:.42;
  filter:blur(26px);
  transform:translate3d(0,0,0);
}

#az-explore-mega-menu::before{
  left:-120px;
  top:-170px;
  background:radial-gradient(circle, rgba(22,119,255,.30), rgba(22,119,255,.10) 34%, transparent 68%);
  animation:azMegaGlowBlue 22s ease-in-out infinite alternate;
}

#az-explore-mega-menu::after{
  right:-150px;
  top:-120px;
  background:radial-gradient(circle, rgba(25,212,139,.22), rgba(25,212,139,.08) 36%, transparent 70%);
  animation:azMegaGlowGreen 28s ease-in-out infinite alternate;
}

@keyframes azMegaGlowBlue{
  0%{ transform:translate3d(0,0,0) scale(1); }
  45%{ transform:translate3d(220px,110px,0) scale(1.08); }
  100%{ transform:translate3d(420px,36px,0) scale(.96); }
}

@keyframes azMegaGlowGreen{
  0%{ transform:translate3d(0,0,0) scale(1); }
  50%{ transform:translate3d(-260px,135px,0) scale(1.05); }
  100%{ transform:translate3d(-430px,52px,0) scale(.98); }
}

body.az-explore-menu-open #az-explore-mega-menu,
#az-explore-mega-menu[data-open="true"]{
  display:block;
}

#az-explore-mega-menu[hidden]{
  display:none;
}

body.az-explore-menu-open #az-explore-mega-menu[hidden]{
  display:block;
}

.az-mega-shell,
.az-mega-shell--scroll-columns{
  position:relative;
  z-index:2;
  padding:22px 28px 36px;
}

.az-mega-top{
  height:76px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  padding:0 0 18px;
  border-bottom:1px solid rgba(148,163,184,.13);
}

.az-mega-prompt{
  min-width:0;
  display:flex;
  align-items:flex-start;
  gap:14px;
}

.az-mega-prompt-title{
  margin:0;
  color:rgba(248,250,252,.96);
  font-size:24px;
  line-height:1.1;
  font-weight:400;
  letter-spacing:-.02em;
}

.az-mega-prompt-sub{
  margin:8px 0 0;
  color:rgba(203,213,225,.70);
  font-size:13px;
  line-height:1.25;
  font-weight:400;
}

.az-mega-view-map{
  appearance:none;
  -webkit-appearance:none;
  height:46px;
  min-width:142px;
  padding:0 16px;
  border-radius:14px;
  border:1px solid rgba(148,163,184,.18);
  background:rgba(8,18,34,.58);
  color:rgba(248,250,252,.94);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-size:13px;
  font-weight:400;
  white-space:nowrap;
}

.az-mega-view-map:hover{
  border-color:rgba(47,140,255,.46);
  background:rgba(15,31,56,.80);
}

.az-mega-grid,
.az-mega-grid--scroll-columns{
  display:grid;
  grid-template-columns:1.02fr 1.05fr 1.05fr 1.05fr 1.05fr 1.35fr;
  column-gap:0;
  min-height:300px;
  max-height:390px;
}

.az-mega-col{
  min-width:0;
  padding:18px 22px 0 0;
  margin-right:22px;
  border-right:1px solid rgba(148,163,184,.14);
  background:rgba(8,18,34,.10);
  display:grid;
  grid-template-rows:auto 225px auto;
}

.az-mega-col:last-child{
  border-right:0;
  margin-right:0;
  padding-right:0;
}

.az-mega-col-head{
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-width:0;
  margin:0 0 10px;
}

.az-mega-title{
  margin:0;
  color:rgba(248,250,252,.96);
  font-size:16px;
  line-height:1.05;
  font-weight:650;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.az-mega-sub{
  margin:7px 0 0;
  color:rgba(203,213,225,.70);
  font-size:13px;
  line-height:1.25;
  font-weight:400;
}

.az-mega-scroll-list{
  min-height:0;
  max-height:225px;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:8px;
  scrollbar-width:thin;
  scrollbar-color:rgba(96,165,250,.58) rgba(15,23,42,.18);
}

.az-mega-scroll-list::-webkit-scrollbar{
  width:8px;
}

.az-mega-scroll-list::-webkit-scrollbar-track{
  background:transparent;
}

.az-mega-scroll-list::-webkit-scrollbar-thumb{
  background:rgba(96,165,250,.58);
  border-radius:999px;
}

.az-mega-list{
  display:grid;
}

.az-mega-item,
.az-mega-item--with-note{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:45px;
  padding:6px 0;
  border:0;
  border-bottom:1px solid rgba(148,163,184,.12);
  border-radius:0;
  background:transparent;
  color:rgba(248,250,252,.90);
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:center;
  gap:0;
  text-align:left;
  font-size:14px;
  line-height:1.15;
  font-weight:400;
  letter-spacing:0;
  cursor:pointer;
}

.az-mega-item:hover,
.az-mega-item:focus-visible{
  color:#ffffff;
  background:rgba(37,99,235,.10);
  outline:0;
}

.az-mega-item .az-mega-icon{
  display:none !important;
}

.az-mega-item-copy{
  min-width:0;
  display:block;
}

.az-mega-item-label{
  display:block;
  min-width:0;
  color:rgba(248,250,252,.92);
  font-size:14px;
  line-height:1.15;
  font-weight:400;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
}

.az-mega-item-note{
  display:block;
  min-width:0;
  margin-top:4px;
  color:rgba(203,213,225,.58);
  font-size:12px;
  line-height:1.15;
  font-weight:400;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
}

.az-mega-icon{
  width:28px;
  height:28px;
  border-radius:9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  color:rgba(248,250,252,.92);
  background:rgba(15,23,42,.46);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}

.az-mega-prompt .az-mega-icon,
.az-mega-view-map .az-mega-icon{
  width:38px;
  height:38px;
  border-radius:13px;
}

.az-mega-icon svg{
  width:16px;
  height:16px;
  stroke-width:2;
}

.az-mega-prompt .az-mega-icon svg,
.az-mega-view-map .az-mega-icon svg{
  width:20px;
  height:20px;
}

.az-mega-icon--green{
  color:#19d48b;
  background:rgba(25,212,139,.12);
  box-shadow:0 0 22px rgba(25,212,139,.10), inset 0 0 0 1px rgba(25,212,139,.18);
}

.az-mega-icon--purple{
  color:#c084fc;
  background:rgba(168,85,247,.13);
  box-shadow:0 0 22px rgba(168,85,247,.12), inset 0 0 0 1px rgba(168,85,247,.20);
}

.az-mega-icon--pink{
  color:#fb4b86;
  background:rgba(251,75,134,.13);
  box-shadow:0 0 22px rgba(251,75,134,.12), inset 0 0 0 1px rgba(251,75,134,.20);
}

.az-mega-icon--cyan{
  color:#22d3ee;
  background:rgba(34,211,238,.12);
  box-shadow:0 0 22px rgba(34,211,238,.10), inset 0 0 0 1px rgba(34,211,238,.18);
}

.az-mega-icon--amber{
  color:#f59e0b;
  background:rgba(245,158,11,.13);
  box-shadow:0 0 22px rgba(245,158,11,.11), inset 0 0 0 1px rgba(245,158,11,.20);
}

.az-mega-icon--blue{
  color:#2f8cff;
  background:rgba(47,140,255,.13);
  box-shadow:0 0 22px rgba(47,140,255,.12), inset 0 0 0 1px rgba(47,140,255,.20);
}

.az-mega-scroll-hint{
  display:none !important;
}

.az-mega-recent-col{
  padding-left:0;
}

.az-mega-recent-empty{
  min-height:64px;
  border:1px dashed rgba(148,163,184,.20);
  border-radius:14px;
  color:rgba(203,213,225,.72);
  background:rgba(3,10,20,.16);
  display:grid;
  place-items:center;
  font-size:13px;
  font-weight:400;
}

.az-mega-recent-list{
  display:grid;
  min-height:0;
  max-height:225px;
  overflow-x:hidden;
  overflow-y:auto;
  padding-right:8px;
  padding-bottom:8px;
  scrollbar-width:thin;
  scrollbar-color:rgba(96,165,250,.58) rgba(15,23,42,.18);
}

.az-mega-recent-list::-webkit-scrollbar{
  width:8px;
}

.az-mega-recent-list::-webkit-scrollbar-track{
  background:transparent;
}

.az-mega-recent-list::-webkit-scrollbar-thumb{
  background:rgba(96,165,250,.58);
  border-radius:999px;
}

.az-mega-recent-list::-webkit-scrollbar-thumb:hover{
  background:rgba(147,197,253,.76);
}

.az-mega-recent-item{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:62px;
  padding:8px 0;
  border:0;
  border-bottom:1px solid rgba(148,163,184,.12);
  background:transparent;
  color:rgba(248,250,252,.92);
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  text-align:left;
  cursor:pointer;
}

.az-mega-recent-thumb{
  width:42px;
  height:42px;
  border-radius:9px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:rgba(207,250,254,.92);
  color:#0891b2;
  font-size:12px;
  font-weight:400;
}

.az-mega-recent-thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.az-mega-recent-copy{
  min-width:0;
}

.az-mega-recent-name{
  display:block;
  min-width:0;
  color:rgba(248,250,252,.94);
  font-size:14px;
  font-weight:400;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.az-mega-recent-meta{
  display:block;
  margin-top:4px;
  color:rgba(203,213,225,.62);
  font-size:12px;
  font-weight:400;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.az-mega-recent-heart{
  display:none;
}

.az-mega-recent-distance,
.az-mega-recent-miles-text{
  justify-self:end;
  align-self:center;
  display:block;
  min-width:0;
  max-width:none;
  width:auto;
  height:auto;
  padding:0;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:rgba(219,234,254,.86);
  font-size:12px;
  font-weight:500;
  line-height:1;
  letter-spacing:0;
  white-space:nowrap;
  text-align:right;
}

.az-mega-recent-item:hover .az-mega-recent-distance,
.az-mega-recent-item:focus-visible .az-mega-recent-distance,
.az-mega-recent-item:hover .az-mega-recent-miles-text,
.az-mega-recent-item:focus-visible .az-mega-recent-miles-text{
  color:rgba(248,250,252,.94);
}

.az-mega-recent-all{
  margin-top:14px;
  margin-bottom:0;
  width:100%;
  min-height:38px;
  border-radius:14px;
  border:1px solid rgba(47,140,255,.26);
  background:rgba(15,23,42,.32);
  color:#6bb6ff;
  font-size:13px;
  font-weight:400;
  cursor:pointer;
}

.az-mega-recent-all:hover{
  background:rgba(37,99,235,.16);
}

.az-mega-view-all,
.az-mega-view-all-spacer{
  width:100%;
  min-height:34px;
  margin-top:12px;
}

.az-mega-view-all{
  appearance:none;
  -webkit-appearance:none;
  border-radius:12px;
  border:1px solid rgba(148,163,184,.18);
  background:rgba(10,22,40,.34);
  color:rgba(226,232,240,.86);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:400;
  letter-spacing:0;
}

.az-mega-view-all:hover{
  border-color:rgba(96,165,250,.34);
  background:rgba(37,99,235,.14);
  color:#fff;
}

.az-mega-col--green .az-mega-view-all{ color:#19d48b; border-color:rgba(25,212,139,.18); }
.az-mega-col--purple .az-mega-view-all{ color:#c084fc; border-color:rgba(168,85,247,.18); }
.az-mega-col--pink .az-mega-view-all{ color:#fb4b86; border-color:rgba(251,75,134,.18); }
.az-mega-col--cyan .az-mega-view-all{ color:#22d3ee; border-color:rgba(34,211,238,.18); }
.az-mega-col--amber .az-mega-view-all{ color:#f59e0b; border-color:rgba(245,158,11,.18); }
.az-mega-col--blue .az-mega-view-all{ color:#6bb6ff; border-color:rgba(47,140,255,.26); }

.az-mega-col--green .az-mega-title{ color:#19d48b; }
.az-mega-col--purple .az-mega-title{ color:#c084fc; }
.az-mega-col--pink .az-mega-title{ color:#fb4b86; }
.az-mega-col--cyan .az-mega-title{ color:#22d3ee; }
.az-mega-col--amber .az-mega-title{ color:#f59e0b; }
.az-mega-col--blue .az-mega-title{ color:#6bb6ff; }


.az-mega-footer-hint{
  display:none !important;
}

@media(max-width:1380px){
  .az-mega-grid,
  .az-mega-grid--scroll-columns{
    grid-template-columns:1fr 1fr 1fr;
    row-gap:0;
    max-height:min(70vh,690px);
    overflow-y:auto;
  }

  .az-mega-col{
    min-height:360px;
  }

  .az-mega-col:nth-child(3),
  .az-mega-col:nth-child(6){
    border-right:0;
    margin-right:0;
    padding-right:0;
  }
}

@media(max-width:980px){
  #az-explore-mega-menu,
  .az-explore-mega-menu{
    left:12px;
    right:12px;
    top:72px;
    max-height:calc(100vh - 96px);
    overflow:auto;
  }

  .az-mega-top{
    height:auto;
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
  }

  .az-mega-prompt-title{
    font-size:20px;
  }

  .az-mega-view-map{
    width:max-content;
  }

  .az-mega-grid,
  .az-mega-grid--scroll-columns{
    grid-template-columns:1fr;
    max-height:none;
  }

  .az-mega-col{
    min-height:0;
    max-height:360px;
    border-right:0;
    margin-right:0;
    padding-right:0;
    border-bottom:1px solid rgba(148,163,184,.14);
  }

  .az-mega-col:last-child{
    border-bottom:0;
  }

  .az-mega-footer-hint{
    display:none;
  }
}

@media (prefers-reduced-motion: reduce){
  #az-explore-mega-menu::before,
  #az-explore-mega-menu::after{
    animation:none;
  }
}

/* <======= END Explore Mega Menu V2 ========> */

/* <======= Attached Secondary Nav Removal Lock: Explore mega menu is now the only daypart nav ========> */
#az-topbar-secondary-row,
.az-topbar-secondary-row,
#az-secondary-perspective-button,
#az-secondary-perspective-menu,
#az-secondary-nav,
#az-secondary-view-full-map{
  display:none !important;
}
/* <======= END Attached Secondary Nav Removal Lock ========> */

/* <======= Hidden compatibility controls stay hidden ========> */
.az-hidden-nav-compat,
.az-control-row,
.az-pill,
.az-daypart-pill,
.az-nav,
.az-nav-icon,
.az-nav-caret{
  display:none !important;
}

/* <======= Top Nav Responsive ========> */
@media(max-width:1280px){
  .az-global-search,
  .az-search{
    width:clamp(230px,25vw,380px);
  }

  .az-primary-actions,
  .az-nav-right,
  .az-primary-actions.az-nav-right{
    gap:6px;
    max-width:calc(50vw - 120px);
  }

  #az-explore-button,
  #az-saved-gems-button,
  #az-alerts-button{
    padding:0 10px;
    font-size:12px;
  }

  .az-nav-action-label{
    font-size:12px;
  }

  #az-profile-button{
    width:46px;
    min-width:46px;
    max-width:46px;
    grid-template-columns:1fr;
    padding:0;
    place-items:center;
  }

  #az-profile-button .az-profile-copy,
  #az-profile-button .az-profile-caret{
    display:none;
  }
}

@media(max-width:980px){
  :root{
    --az-topbar-h:100px;
  }

  .az-topbar{
    top:12px;
    left:12px;
    right:12px;
    height:64px;
    min-height:64px;
    max-height:64px;
    grid-template-rows:64px;
  }

  .az-topbar::before{
    content:none;
    display:none;
  }

  .az-topbar-primary-row{
    height:64px;
    min-height:64px;
    padding:0 12px;
  }

  .az-brand,
  .az-brand-centered,
  .az-brand-link{
    width:160px;
    min-width:160px;
  }

  .az-logo{
    font-size:20px;
  }

  .az-tagline{
    display:none;
  }

  .az-location-cluster,
  .az-nav-left{
    display:none;
  }

  .az-global-search,
  .az-search{
    left:12px;
    width:calc(100% - 150px);
    min-width:0;
  }

  .az-primary-actions,
  .az-nav-right,
  .az-primary-actions.az-nav-right{
    right:12px;
    max-width:132px;
    gap:6px;
  }

  #az-explore-button,
  #az-saved-gems-button,
  #az-alerts-button{
    width:38px;
    min-width:38px;
    max-width:38px;
    padding:0;
    font-size:0;
  }

  #az-explore-button .az-nav-action-label,
  #az-saved-gems-button .az-nav-action-label,
  #az-alerts-button .az-nav-action-label{
    font-size:0;
  }

  #az-profile-button{
    display:none;
  }

  .az-topbar-secondary-row{
    height:62px;
    min-height:62px;
    padding:0 12px;
    grid-template-columns:148px minmax(0,1fr) 112px;
    gap:10px;
  }

  .az-secondary-nav,
  #az-secondary-nav{
    gap:18px;
    overflow-x:auto;
  }

  .az-explore-mega-grid{
    grid-template-columns:1fr;
  }
}

/* <======= END APROXZ — TOP NAV SINGLE AUTHORITY V1 ========> */


/* =========================================================
   MAIN MAP-FIRST LAYOUT
========================================================= */

.az-main-grid{
  position:absolute;
  inset:0;
  z-index:1;
  height:100vh;
  padding:0;
  display:block;
  overflow:hidden;
  background:#050b16;
}

.az-map-panel{
  position:absolute;
  inset:0;
  z-index:1;
  min-width:0;
  min-height:0;
  overflow:hidden;
  background:#07111f;
  border:0;
  border-radius:0;
  box-shadow:none;
}

.az-map-panel::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
  background:
    linear-gradient(90deg,rgba(5,11,22,.42) 0%,transparent 14%,transparent 72%,rgba(5,11,22,.22) 100%),
    linear-gradient(180deg,rgba(5,11,22,.22) 0%,transparent 14%,transparent 67%,rgba(5,11,22,.54) 100%);
}

.az-map,
#map{
  width:100%;
  height:100%;
  min-height:100%;
}

/* =========================================================
   LEFT RAIL REMOVAL — PUBLIC MAP-FIRST UI
   Verified targets:
   - HTML rail: .az-left-rail
   - CSS rail: .az-main-grid::before and .az-main-grid::after

   Purpose:
   - Remove Discover / Map Layers / Saved Places / My Activity /
     City Insights / Settings / Help from the public UI.
   - Let the map start at the true left edge under the topbar.
========================================================= */

.az-left-rail,
.az-main-grid::before,
.az-main-grid::after{
  display:none !important;
  content:none !important;
}

.az-main-grid{
  padding-left:0 !important;
}

/* =========================================================
   SELECTED PLACE REMOVAL
   #az-selected-place is no longer styled by main.css.
   frontend/selected-place.js owns it as the Panoptis overlay mount.
========================================================= */

/* =========================================================
   LEGACY BOTTOM DISCOVERY DRAWER REMOVAL LOCK
   File: styles/main.css
   Version: 2026-07-02_MAIN_CSS_REMOVE_LEGACY_EXPANDO_RAIL

   Purpose:
   - Removes the old render.js / rail-mode.js bottom drawer styling.
   - Prevents legacy .az-listings-panel / #az-listings rail CSS from
     fighting the new Daypart UI module.
   - New bottom rail is owned by:
       frontend/main-frontend/daypart-ui.js
   - Does NOT touch top nav, Explore mega menu, map, pins, or Panoptis.
========================================================= */

.az-listings-panel,
#az-listings,
#az-popular-list,
#az-listing-count,
.az-bottom-rail-toggle,
.az-rail-actions,
.az-rail-action-categories,
.az-rail-icon-chip,
.az-rail-count-pill,
.az-rail-arrow-btn,
.az-rail-sponsor-card,
.az-rail-expanded-footer,
.az-main-list-card.az-rail-card,
.az-rail-card,
.az-rail-card__media,
.az-rail-card__body,
.az-rail-card__title,
.az-rail-card__category,
.az-rail-card__description,
.az-rail-card__distance,
.az-rail-card__status-wrap,
.az-rail-card__status,
.az-rail-card__details,
.az-rail-card__heart{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Keep the approved Daypart UI visible above the map. */
#az-daypart-ui-panel,
.az-daypart-panel{
  display:block;
  visibility:visible;
  pointer-events:auto;
}

/* <======= END LEGACY BOTTOM DISCOVERY DRAWER REMOVAL LOCK ========> */

/* =========================================================
   POPULAR PANEL — HIDDEN AS PERMANENT PANEL
   It stays in DOM for JS compatibility, becomes future contextual drawer.
========================================================= */

.az-popular-panel{
  position:absolute;
  right:32px;
  bottom:22px;
  width:0;
  height:0;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
  z-index:1;
}

.az-popular-list{
  padding:0;
  overflow:hidden;
}

/* =========================================================
   BOTTOM LIVE STATS RAIL REMOVAL — PUBLIC MAP-FIRST UI
   Verified targets:
   - HTML footer: .az-live-stats-rail
   - CSS footer: .az-app-shell::after

   Purpose:
   - Remove Open Now / Within 1 mi / Within 3 mi / Within 5 mi /
     City Vibe / Weather / Local Time from the public UI.
   - Let the discovery drawer sit lower on the map.
========================================================= */

.az-live-stats-rail,
.az-app-shell::after{
  display:none !important;
  content:none !important;
}

/* =========================================================
   MAPLIBRE CONTROLS — DARK FUTURE STYLE
========================================================= */

.maplibregl-ctrl-top-right{
  top:50% !important;
  right:24px !important;
  transform:translateY(-50%) !important;
}

.maplibregl-ctrl-bottom-right{
  right:14px !important;
  bottom:14px !important;
}

.maplibregl-ctrl-group{
  overflow:hidden !important;
  border-radius:16px !important;
  background:rgba(7,15,28,.82) !important;
  border:1px solid rgba(148,163,184,.20) !important;
  box-shadow:0 16px 44px rgba(0,0,0,.36) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
}

.maplibregl-ctrl-group button{
  width:42px !important;
  height:42px !important;
  background:transparent !important;
  border-color:rgba(148,163,184,.14) !important;
}

.maplibregl-ctrl-group button + button{
  border-top:1px solid rgba(148,163,184,.14) !important;
}

.maplibregl-ctrl-icon{
  filter:invert(1) opacity(.88);
}

.maplibregl-ctrl-attrib{
  background:rgba(7,15,28,.70) !important;
  color:rgba(226,232,240,.78) !important;
  border-radius:999px !important;
  padding:4px 8px !important;
}

.maplibregl-ctrl-attrib a{
  color:rgba(226,232,240,.86) !important;
}

/* =========================================================
   PIN / MARKER VISUAL SUPPORT
   Does not transform .maplibregl-marker.
========================================================= */

.maplibregl-marker{
  z-index:3;
}

.az-pin,
.az-map-pin,
.az-marker,
[class*="az-pin"]{
  will-change:filter;
}

/* User location / current pin glow helper */
.is-current .az-pin,
.is-current.az-pin,
.az-pin.is-current{
  filter:drop-shadow(0 0 16px rgba(47,140,255,.85)) drop-shadow(0 0 36px rgba(47,140,255,.40));
}

/* =========================================================
   EMPTY / COMING SOON STATES
========================================================= */

.az-listings-list:empty::before{
  content:"AproxZ is expanding. New places will appear here as listings are added.";
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:140px;
  border:1px dashed rgba(148,163,184,.26);
  border-radius:20px;
  color:var(--az-muted);
  text-align:center;
  padding:24px;
}

.az-popular-list:empty::before{
  content:"Popular places will appear as listings are added.";
  color:var(--az-muted);
}

/* =========================================================
   RESPONSIVE — SAFE GLOBAL CLEANUP
   Bottom rail responsive behavior is owned above inside the
   AproxZ Expando Rail block. Do not add rail overrides here.
========================================================= */

@media(max-width:1380px){
  .az-search{
    width:min(32vw,460px);
  }

  .az-feature-card,
  #az-selected-place{
    width:330px !important;
    right:24px !important;
  }
}

@media(max-width:1180px){
  .az-nav-left{
    display:none;
  }

  .az-search{
    width:min(42vw,520px);
  }

  .az-feature-card,
  #az-selected-place{
    width:310px !important;
  }
}

@media(max-width:900px){
  :root{
    --az-topbar-h:74px;
  }

  .az-map-panel{
    inset:0;
  }

  .az-main-grid::before,
  .az-main-grid::after{
    display:none;
  }

  .az-feature-card,
  #az-selected-place{
    top:auto !important;
    left:12px !important;
    right:12px !important;
    bottom:184px !important;
    width:auto !important;
    min-height:0 !important;
    height:220px !important;
    max-height:220px !important;
    border-radius:22px !important;
  }

  #az-selected-place .az-media{
    height:88px !important;
    min-height:88px !important;
  }

  #az-selected-place .az-body{
    padding:14px 16px 16px !important;
  }

  #az-selected-place #azTitle{
    font-size:20px !important;
  }

  #az-selected-place #azSubtitle{
    -webkit-line-clamp:2 !important;
  }

  #az-selected-place #azCtas{
    display:none !important;
  }

  .maplibregl-ctrl-top-right{
    right:12px !important;
  }
}

@media(max-width:560px){
  .az-search-input{
    font-size:13px;
  }

  .az-feature-card,
  #az-selected-place{
    display:none !important;
  }
}



/* =========================================================
   APROXZ — TOP NAV DAYPART CONTEXT FINAL
   Purpose:
   - index.html owns the HTML.
   - This block removes Notifications/Profile layout space.
   - Keeps Explore + Saved Gems + Daypart context aligned on the right.
   - Does not touch bottom rail.
========================================================= */

#az-alerts-button,
#az-profile-button{
  display:none !important;
}

.az-primary-actions,
.az-nav-right,
.az-primary-actions.az-nav-right{
  right:20px;
  top:11px;
  height:46px;
  max-width:none;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}

.az-nav-daypart-context{
  min-width:330px;
  height:46px;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:20px 20px;
  column-gap:12px;
  row-gap:2px;
  align-items:center;
  padding:0 2px 0 16px;
  border-left:1px solid rgba(148,163,184,.18);
  color:rgba(226,232,240,.90);
}

.az-nav-daypart-context strong{
  grid-column:1 / -1;
  grid-row:1;
  margin:0;
  color:#f8fbff;
  font-size:14px;
  line-height:1;
  font-weight:750;
  letter-spacing:-.01em;
  white-space:nowrap;
}

.az-nav-daypart-context [data-az-nav-daypart-subtitle="true"]{
  grid-column:1;
  grid-row:2;
  color:rgba(226,232,240,.82);
  font-size:13px;
  line-height:1;
  font-weight:400;
  white-space:nowrap;
}

.az-nav-daypart-meta{
  grid-column:2;
  grid-row:2;
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:rgba(226,232,240,.82);
  font-size:13px;
  line-height:1;
  font-weight:400;
  white-space:nowrap;
}

.az-nav-daypart-dot{
  width:8px;
  height:8px;
  display:inline-block;
  border-radius:50%;
  background:#19d48b;
  box-shadow:0 0 14px rgba(25,212,139,.78);
}

@media(max-width:1380px){
  .az-nav-daypart-context{
    min-width:260px;
  }

  .az-nav-daypart-context [data-az-nav-daypart-subtitle="true"]{
    display:none;
  }

  .az-nav-daypart-meta{
    grid-column:1 / -1;
  }
}

@media(max-width:1180px){
  .az-nav-daypart-context{
    display:none;
  }
}

/* <======= END APROXZ — TOP NAV DAYPART CONTEXT FINAL ========> */

/* =========================================================
   APROXZ PANOPTIS V5 — 100VH LOCK + COMPACT NEARBY RAIL
   Safety override for the production overlay bridge.
   The bridge injects the primary scoped rules; this block
   prevents older global CSS from restoring vertical scroll.
========================================================= */

html.az-panoptis-open,
html.az-panoptis-open body{
  width:100%;
  height:100%;
  overflow:hidden !important;
}

#az-standalone-panoptis{
  overflow:hidden !important;
  overscroll-behavior:none;
}

#az-standalone-panoptis.is-open{
  display:block !important;
}

#az-standalone-panoptis .az-pano{
  overflow:hidden !important;
}

#az-standalone-panoptis .az-pano-hero{
  min-height:0 !important;
}

#az-standalone-panoptis .az-pano-nearby,
#az-standalone-panoptis .az-pano-nearby-grid{
  overflow-y:hidden !important;
}

#az-standalone-panoptis .az-pano-action{
  width:100px !important;
  min-width:100px !important;
  max-width:100px !important;
  height:42px !important;
  min-height:42px !important;
  max-height:42px !important;
}

@media(max-width:720px){
  #az-standalone-panoptis .az-pano-action{
    width:88px !important;
    min-width:88px !important;
    max-width:88px !important;
    height:38px !important;
    min-height:38px !important;
    max-height:38px !important;
  }
}

/* <======= END PANOPTIS V5 100VH LOCK ========> */

/* =========================================================
   APROXZ LOCATION UI — EXTERNAL STYLES
   File merged into: styles/main.css
   Source module: frontend/main-frontend/location-ui.js
   Version: 2026-07-14_LOCATION_UI_STYLES_V1

   Purpose:
   - Styles the city/location selector overlay and panel.
   - Keeps location-ui.js free from embedded CSS.
   - Preserves the current location selector appearance.
========================================================= */

/*
  AproxZ Location UI Styles
  File: styles/location-ui.css
  Version: 2026-07-14_LOCATION_UI_STYLES_V1

  Extracted from location-ui.js.
  Visual behavior preserved.
*/

.az-hidden-select{
        position:absolute!important;
        left:-99999px!important;
        width:1px!important;
        height:1px!important;
        opacity:0!important;
        pointer-events:none!important;
      }

      .az-location-overlay{
        position:fixed!important;
        inset:0!important;
        background:rgba(15,23,42,.16)!important;
        backdrop-filter:blur(2px)!important;
        -webkit-backdrop-filter:blur(2px)!important;
        z-index:2147483000!important;
        display:none!important;
      }

      .az-location-overlay.is-open{
        display:block!important;
      }

      .az-location-panel{
        position:fixed!important;
        top:86px!important;
        left:24px!important;
        width:min(390px,calc(100vw - 48px))!important;
        max-height:min(680px,calc(100vh - 108px))!important;
        background:#fff!important;
        border:1px solid rgba(15,23,42,.10)!important;
        border-radius:24px!important;
        box-shadow:0 28px 70px rgba(15,23,42,.22),0 8px 22px rgba(15,23,42,.10)!important;
        z-index:2147483001!important;
        overflow:hidden!important;
        display:none!important;
        font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
      }

      .az-location-panel.is-open{
        display:block!important;
      }

      .az-location-search{
        padding:14px!important;
        border-bottom:1px solid rgba(15,23,42,.08)!important;
        background:#fff!important;
      }

      .az-location-search input{
        width:100%!important;
        height:44px!important;
        border:1px solid rgba(15,23,42,.10)!important;
        border-radius:14px!important;
        padding:0 13px!important;
        font-size:14px!important;
        font-weight:650!important;
        outline:none!important;
        box-sizing:border-box!important;
        background:#fff!important;
        color:#111827!important;
      }

      .az-location-search input:focus{
        border-color:rgba(16,185,129,.55)!important;
        box-shadow:0 0 0 4px rgba(16,185,129,.10)!important;
      }

      .az-location-scroll{
        max-height:calc(min(680px,100vh - 108px) - 73px)!important;
        overflow:auto!important;
        padding:10px 0!important;
        background:#fff!important;
      }

      .az-location-title{
        padding:12px 16px 7px!important;
        font-size:11px!important;
        letter-spacing:.13em!important;
        text-transform:uppercase!important;
        color:#667085!important;
        font-weight:900!important;
      }

      .az-location-row{
        width:100%!important;
        min-height:43px!important;
        border:0!important;
        background:#fff!important;
        display:flex!important;
        align-items:center!important;
        gap:10px!important;
        padding:0 16px!important;
        font-size:14px!important;
        font-weight:750!important;
        color:#111827!important;
        cursor:pointer!important;
        text-align:left!important;
      }

      .az-location-row:hover{
        background:#f8fafc!important;
      }

      .az-location-row.is-active{
        background:rgba(16,185,129,.08)!important;
        color:#059669!important;
      }

      .az-location-row .az-row-label{
        flex:1 1 auto!important;
        min-width:0!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important;
      }

      .az-location-row .az-row-check{
        color:#059669!important;
        opacity:0!important;
        font-weight:900!important;
      }

      .az-location-row.is-active .az-row-check{
        opacity:1!important;
      }

      .az-location-empty{
        padding:24px 16px!important;
        color:#667085!important;
        font-weight:650!important;
        font-size:13px!important;
      }

      @media(max-width:760px){
        .az-location-panel{
          top:74px!important;
          left:10px!important;
          right:10px!important;
          width:auto!important;
        }
      }