:root{
  --juicy-accent:#1a73e8;
  --juicy-accent-2:#0b57d0;
  --juicy-red:#ea4335;
  --juicy-green:#34a853;
  --juicy-yellow:#fbbc05;
  --juicy-border:#dadce0;
  --juicy-text:#202124;
  --juicy-subtext:#5f6368;
}

/* City blurb (centered over the map; dismiss with × or tap/click on the map) */

/* City blurb backdrop: allows “click outside to close” without triggering map click */
#juicy-nn-city-blurb-backdrop.juicy-nn-city-blurb-backdrop{
  position:fixed;
  inset:0;
  z-index:9998;
  background:transparent;
}

#juicy-nn-city-blurb.juicy-nn-city-blurb{
  position:fixed;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:9999;
  width:calc(100% - 28px);
  max-width:560px;
  margin:0;
  padding:0;
  pointer-events:auto;
}
#juicy-nn-city-blurb .juicy-nn-city-blurb-inner{
  display:flex;
  gap:12px;
  align-items:flex-start;
  justify-content:space-between;
  border:1px solid rgba(0,0,0,0.10);
  border-radius:16px;
  background:#ffffff;
  box-shadow:0 18px 40px rgba(0,0,0,0.18);
  padding:14px 16px;
  max-height:44vh;
  overflow:auto;
}
#juicy-nn-city-blurb .juicy-nn-city-blurb-text{
  color:#111;
  font-size:15px;
  line-height:1.4;
  font-weight:700;
}
#juicy-nn-city-blurb .juicy-nn-city-blurb-close{
  border:0;
  background:transparent;
  cursor:pointer;
  font-size:22px;
  line-height:1;
  padding:0 6px;
  color:#111;
}
#juicy-nn-city-blurb .juicy-nn-city-blurb-close:hover{
  opacity:0.7;
}

/* 🔒 Locked thumbnails: blur until access code is valid (global, per-user via cookie) */
#juicy-map-wrapper:not(.juicy-has-access) .juicy-nn-thumb-ring img,
#juicy-map-wrapper:not(.juicy-has-access) img.juicy-nn-thumb-img,
#juicy-map-wrapper:not(.juicy-has-access) .juicy-nn-card .juicy-nn-thumb-img,
#juicy-map-wrapper:not(.juicy-has-access) .juicy-nn-pop-img,
#juicyAccessModal:not(.juicy-unlocked) #juicyAccessThumbSmall,
#juicyAccessModal:not(.juicy-unlocked) #juicyAccessThumb{
  /* softer teaser blur (user can still roughly see the image) */
  filter: blur(4px) brightness(0.96) saturate(0.97);
  transform: scale(1.01);
  transition: filter .18s ease, transform .18s ease;
}

/* 🗺️ Map round thumbs: slightly less blur than drawer/popup */
#juicy-map-wrapper:not(.juicy-has-access) .juicy-nn-thumb-ring img{
  filter: blur(1.7px) brightness(0.98) saturate(0.98);
  transform: scale(1.01);
}
#juicy-map-wrapper.juicy-has-access .juicy-nn-thumb-ring img,
#juicy-map-wrapper.juicy-has-access img.juicy-nn-thumb-img,
#juicy-map-wrapper.juicy-has-access .juicy-nn-pop-img,
#juicyAccessModal.juicy-unlocked #juicyAccessThumbSmall,
#juicyAccessModal.juicy-unlocked #juicyAccessThumb{
  filter: none;
  transform: none;
}
#juicy-search-container.juicy-searchbox{
  width:100%;
  max-width:none;
  margin:12px 0 10px 0;
  background:#fff;
  border:2px solid var(--juicy-accent);
  border-radius:16px;
  box-shadow:0 10px 22px rgba(0,0,0,0.10);
  padding:14px;
}

/* Align search box with map width */
#juicy-search-container.juicy-searchbox{width:100%;box-sizing:border-box;}

/* Ensure search + upload UI stays above map layers (mobile Chrome/Android) */
#juicy-search-container{position:relative;z-index:10000;}
.juicy-nn-upload-wrap{position:relative;z-index:10000;}
#juicy-map{position:relative;z-index:1;}

/* Faza 6 SAFE: stable map box + lightweight LCP placeholder.
   Keeps map height fixed to prevent CLS while Leaflet and AJAX boot. */
.juicy-map-wrap{
  position:relative;
  min-height:520px;
  height:520px;
  width:100%;
  border-radius:10px;
  overflow:hidden;
  background:#f3f6f8;
}
#juicy-map{
  height:520px !important;
  min-height:520px;
  max-height:none !important;
  width:100%;
  border-radius:10px;
  overflow:hidden;
}
.juicy-map-lcp-placeholder{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:linear-gradient(135deg,#eef3f7 0%,#f8fafc 46%,#e9eef4 100%);
  transition:opacity .22s ease, visibility .22s ease;
  pointer-events:none;
}
.juicy-map-lcp-card{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 8px 24px rgba(15,23,42,.12);
  color:#1f2937;
  font:600 13px/1.2 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}
.juicy-map-lcp-spinner{
  width:16px;
  height:16px;
  border-radius:999px;
  border:2px solid rgba(26,115,232,.20);
  border-top-color:#1a73e8;
  animation:juicyMapLcpSpin .7s linear infinite;
}
@keyframes juicyMapLcpSpin{to{transform:rotate(360deg)}}
.juicy-map-wrap.juicy-map-is-ready .juicy-map-lcp-placeholder{
  opacity:0;
  visibility:hidden;
}
@media (max-width: 640px){
  .juicy-map-wrap,
  #juicy-map{
    height:520px !important;
    min-height:520px;
  }
}

#juicy-search-container .juicy-searchbox-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  /* prevent shorter inputs (Country) from stretching vertically when City area is taller */
  align-items:flex-start;
}
#juicy-search-container .juicy-searchbox-row{position:relative;z-index:3;}
.juicy-city-wrap{position:relative;z-index:50;}

#juicy-search-container .juicy-search-input{
  flex:1;
  min-width:180px;
  font-size:18px;
  line-height:1.2;
  padding:14px 14px;
  border:2px solid rgba(232,42,137,0.25);
  border-radius:14px;
  outline:none;
  background:#fff;
  color:#111;
}

#juicy-search-container .juicy-search-select{
  appearance:auto;
  font-weight:500;
  text-align:left;
}
#juicy-search-container .juicy-search-select.is-empty{
  font-weight:400;
  color:#666;
}

#juicy-search-container select.juicy-search-select{
  color:#111 !important;
  background:#fff !important;
  -webkit-text-fill-color:#111 !important; /* Chrome/Safari */
}
#juicy-search-container select.juicy-search-select.is-empty{
  color:#666 !important;
  -webkit-text-fill-color:#666 !important;
}
#juicy-search-container select.juicy-search-select option{
  color:#111;
  background:#fff;
}

#juicy-search-container .juicy-search-input:focus{
  border-color:var(--juicy-accent);
  box-shadow:0 0 0 4px rgba(232,42,137,0.12);
}
#juicy-search-container .juicy-searchbox-actions{ position:relative; z-index:1;
  display:flex;
  gap:12px;
  margin-top:12px;
  flex-wrap:wrap;
}
#juicy-search-container .juicy-searchbox-actions .juicy-btn{
  flex:1 1 0;
  width:auto;
  max-width:none;
  min-width:120px;
}

/* Access status chip */
.juicy-access-chip{
  margin-top:10px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:600;
  background:rgba(26,127,55,0.10);
  color:#1a7f37;
  border:1px solid rgba(26,127,55,0.18);
}
#juicy-search-container .juicy-btn{
  font-size:16px;
  padding:12px 16px;
  border-radius:14px;
  cursor:pointer;
  user-select:none;
  width:160px;
  max-width:48%;
}
#juicy-search-container .juicy-btn-primary{
  background:linear-gradient(180deg, var(--juicy-accent) 0%, var(--juicy-accent-2) 100%);
  color:#fff;
  border:0;
}
#juicy-search-container .juicy-btn-primary:hover{
  background:linear-gradient(180deg, var(--juicy-accent-2) 0%, var(--juicy-accent) 100%);
}
#juicy-search-container .juicy-btn-ghost{
  background:#fff;
  color:var(--juicy-accent-2);
  border:2px solid var(--juicy-accent);
}
#juicy-search-container .juicy-btn-ghost:hover{
  border-color:var(--juicy-accent-2);
  color:var(--juicy-accent-2);
  box-shadow:0 0 0 4px rgba(175,31,114,0.10);
}

/* Mobile */

#juicy-bottom-drawer{position:fixed;left:0;right:0;bottom:-100%;background:#fff;
  box-shadow:0 14px 45px rgba(0,0,0,0.22);border-top-left-radius:0;border-top-right-radius:0;
  transition:bottom .32s ease;z-index:9999;max-height:60vh;overflow:hidden;}
#juicy-bottom-drawer.open{bottom:0;}

/* Inner scroll area so the header can stay sticky without the whole drawer bouncing */
#juicy-drawer-content{max-height:calc(60vh - 56px); overflow:auto; -webkit-overflow-scrolling:touch;}

/* Desktop: keep bottom drawer behavior, just make it narrower so it doesn't cover the whole map */
@media (min-width: 1024px){
  #juicy-bottom-drawer, #juicy-bottom-drawer-nc{
    left:20px !important;
    right:auto !important;
    width:420px !important;
    max-width:420px !important;
    border-radius:15px !important;
    max-height:70vh !important;
  }
  #juicy-bottom-drawer.open, #juicy-bottom-drawer-nc.open{
    bottom:20px !important;
  }
}

#juicy-drawer-header{display:flex;justify-content:space-between;align-items:center;
  padding:12px 16px;
  background:linear-gradient(180deg, var(--juicy-accent) 0%, var(--juicy-accent-2) 100%);
  color:#fff;border-top-left-radius:0;border-top-right-radius:0;
  position:sticky;top:0;z-index:2;}
#juicy-drawer-header::before{
  content:"";display:block;position:absolute;left:50%;top:8px;transform:translateX(-50%);
  width:52px;height:5px;border-radius:999px;background:rgba(255,255,255,0.35);
}
#juicy-drawer-close{background:transparent;border:none;color:#fff;font-size:22px;cursor:pointer;}
#juicy-drawer-content{padding:12px 14px;}
#juicy-drawer-content img.drawer-thumb{
  width:auto;
  height:auto;
  max-width:150px;
  max-height:150px;
  border-radius:10px;
  object-fit:contain;
  display:block;
  padding:6px;
  background:#f5f6f7;
  box-shadow:0 2px 6px rgba(0,0,0,0.2);
}
.juicy-nn-card{position:relative;}
.juicy-nn-card.juicy-thumb-loading{pointer-events:none;}
.juicy-nn-card.juicy-thumb-loading .juicy-nn-thumb-img{filter:blur(0px);opacity:.78;}
.juicy-nn-card.juicy-thumb-loading::after{
  content:"";position:absolute;inset:0;background:rgba(255,255,255,.38);backdrop-filter:blur(1.5px);z-index:3;pointer-events:none;
}
.juicy-nn-card.juicy-thumb-loading::before{
  content:"";position:absolute;left:50%;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;
  border:2px solid rgba(0,0,0,.14);border-top-color:rgba(0,0,0,.56);border-radius:50%;
  animation:juicyThumbSpin .75s linear infinite;z-index:4;pointer-events:none;
}
@keyframes juicyThumbSpin{to{transform:rotate(360deg);}}

#juicy-bottom-drawer-nc{position:fixed;left:0;right:0;bottom:-100%;background:#fff;
  border-top-left-radius:18px;border-top-right-radius:18px;box-shadow:0 14px 45px rgba(0,0,0,.22);
  max-height:60vh;overflow:hidden;z-index:99999;}
#juicy-bottom-drawer-nc.open{bottom:0;}
#juicy-drawer-header-nc{
display:flex;justify-content:space-between;align-items:center;
padding:12px 16px;
background:linear-gradient(180deg,#1a73e8 0%,#0b57d0 100%);
color:#fff;font-weight:900;font-size:15px;position:sticky;top:0;z-index:2;
border-top-left-radius:0;border-top-right-radius:0;
}
#juicy-drawer-header-nc::before{
  content:"";display:block;position:absolute;left:50%;top:8px;transform:translateX(-50%);
  width:52px;height:5px;border-radius:999px;background:rgba(255,255,255,0.35);
}
.juicy-drawer-actions{display:flex;align-items:center;gap:8px;}
.juicy-drawer-upload-btn:hover,.juicy-drawer-upload-btn:focus{
  background:rgba(255,255,255,.22);outline:none;
}
#juicy-drawer-switch-to-nc{
  background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.35);color:#fff;
  border-radius:10px;padding:6px 10px;cursor:pointer;font-size:12px;font-weight:900;ine-height:1;}
#juicy-drawer-close,#juicy-drawer-close-nc{
  background:transparent;border:none;color:#fff;font-size:22px;cursor:pointer;}
#juicy-drawer-content-nc{padding:12px 14px; max-height:calc(60vh - 56px); overflow:auto; -webkit-overflow-scrolling:touch;}
#juicy-drawer-content-nc img.drawer-thumb{
  width:auto;
  height:auto;
  max-width:150px;
  max-height:150px;
  border-radius:10px;
  object-fit:contain;
  display:block;
  padding:6px;
  background:#f5f6f7;
  border:2px solid var(--juicy-accent);
}
.locked-msg{color:#555;background:#f8f8f8;border-radius:6px;padding:8px 10px;font-size:14px;
  margin-top:6px;text-align:center;}
.juicy-cluster.large{width:55px;height:55px;background:linear-gradient(180deg,#ffb84d 0%,#ffa700 100%);font-size:18px;
  display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:600;}
.juicy-no-contact-icon.leaflet-div-icon{background:transparent !important;border:none !important;box-shadow:none !important;}
.juicy-no-contact-icon{background:transparent !important;border:none !important;box-shadow:none !important;}
.juicy-nc-wrap{width:45px;height:45px;border-radius:50%;overflow:hidden;border:2px solid #fff;box-sizing:border-box;}
.juicy-nc-wrap.juicy-nc-primary{border:4px solid var(--juicy-accent); box-shadow:0 0 0 3px rgba(232,42,138,.25);}
.juicy-debug-box{background:#111;color:#fff;border-radius:10px;padding:10px;margin:10px 0;font-size:12px;line-height:1.25;opacity:.92;}

.juicy-nc-img{width:45px;height:45px;display:block;object-fit:cover;}

/* Mobile: keep more of the map visible.
   Default open height is smaller; user can expand by tapping the header (class: .juicy-expanded). */
@media (max-width: 640px){
  #juicy-bottom-drawer,
  #juicy-bottom-drawer-nc{
    max-height: 42vh !important;
    border-top-left-radius: 18px !important;
    border-top-right-radius: 18px !important;
  }
  #juicy-drawer-content{ max-height: calc(42vh - 56px) !important; }
  #juicy-drawer-content-nc{ max-height: calc(42vh - 56px) !important; }

  #juicy-bottom-drawer.juicy-expanded,
  #juicy-bottom-drawer-nc.juicy-expanded{
    max-height: 78vh !important;
  }
  #juicy-bottom-drawer.juicy-expanded #juicy-drawer-content{ max-height: calc(78vh - 56px) !important; }
  #juicy-bottom-drawer-nc.juicy-expanded #juicy-drawer-content-nc{ max-height: calc(78vh - 56px) !important; }
}

/* Unlocked: show slightly larger marker thumbnail. */
#juicy-map-wrapper.juicy-has-access .juicy-nc-wrap{
  transform: scale(1.18);
  transform-origin: center;
  box-shadow: 0 8px 18px rgba(0,0,0,0.22);
}

/* Chrome/Safari visibility hard-fix (some themes set select text to transparent) */
#juicy-search-container select#juicy-search-country,
#juicy-search-container select#juicy-search-country *{
  color:#111 !important;
  -webkit-text-fill-color:#111 !important;
  opacity:1 !important;
  filter:none !important;
  -webkit-appearance: menulist !important;
  appearance: menulist !important;
}
#juicy-search-container select#juicy-search-country.is-empty{
  color:#666 !important;
  -webkit-text-fill-color:#666 !important;
}
#juicy-search-container select#juicy-search-country option{
  color:#111 !important;
  background:#fff !important;
}
#juicy-search-container input.juicy-search-input{
  color:#111 !important;
  -webkit-text-fill-color:#111 !important;
}
#juicy-search-container input.juicy-search-input::placeholder{
  color:#888 !important;
  -webkit-text-fill-color:#888 !important;
}

/* Country select Chrome-safe overlay (keeps native dropdown) */
.juicy-country-wrap{position:relative;min-width:220px;flex:0 0 220px;}
#juicy-search-country{
  position:absolute; inset:0;
  width:100%; height:100%;
  opacity:0; /* keep clickable but hide broken text rendering */
  -webkit-appearance: menulist;
  appearance: menulist;
  cursor:pointer;
}
#juicy-country-display{
  position:relative;
  width:100%;
  height:46px;
  display:flex;
  align-items:center;
  padding:0 16px;
  border:2px solid var(--juicy-accent);
  border-radius:16px;
  background:#fff;
  font-size:16px;
  font-weight:600;
  color:#111;
  pointer-events:none;
  box-sizing:border-box;
}
/* placeholder color when no selection */
.juicy-country-wrap.is-empty #juicy-country-display{ color:#9aa0a6; font-weight:600; }
/* custom arrow */
#juicy-country-display:after{
  content:"";
  position:absolute;
  right:14px; top:50%;
  width:10px; height:10px;
  border-right:2px solid var(--juicy-accent);
  border-bottom:2px solid var(--juicy-accent);
  transform: translateY(-60%) rotate(45deg);
  opacity:0.95;
}

/* City select Chrome-safe overlay (matches Country) */
.juicy-city-wrap{position:relative;min-width:240px;flex:1 1 auto; overflow:visible;}
#juicy-search-city{
  position:absolute; inset:0;
  width:100%; height:100%;
  opacity:0; /* keep clickable but hide broken/transparent text rendering */
  -webkit-appearance: menulist;
  appearance: menulist;
  cursor:pointer;
}
#juicy-city-display{
  position:relative;
  width:100%;
  height:46px;
  display:flex;
  align-items:center;
  padding:0 16px;
  border:2px solid var(--juicy-accent);
  border-radius:16px;
  background:#fff;
  font-size:16px;
  font-weight:600;
  color:#111;
  pointer-events:none;
  box-sizing:border-box;
}
.juicy-city-wrap.is-empty #juicy-city-display{ color:#9aa0a6; font-weight:600; }
#juicy-city-display:after{
  content:"";
  position:absolute;
  right:14px; top:50%;
  width:10px; height:10px;
  border-right:2px solid var(--juicy-accent);
  border-bottom:2px solid var(--juicy-accent);
  transform: translateY(-60%) rotate(45deg);
  opacity:0.95;
}

/* Desktop-only typeahead (mobile keeps native selects) */
@media (hover: hover) and (pointer: fine){
  /* default desktop mode: typeahead visible, select hidden */
  #juicy-city-typeahead{ display:block !important; }
  #juicy-search-city,
  #juicy-city-display{ display:none !important; }
  #juicy-city-listbtn{ display:block !important; }
  #juicy-city-hint{ display:block !important; }

  .juicy-city-wrap{ position:relative; z-index: 50; }

  /* list mode: show the native select (so user can pick from full list) */
}

.juicy-search-typeahead{
  height:48px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(0,0,0,0.14);
  box-shadow: 0 8px 18px rgba(0,0,0,0.08);
  padding:0 96px 0 16px; /* room for Browse button inside input */
  font-size:16px;
  font-weight:600;
  color:#111;
  box-sizing:border-box;
  width:100%;
}
.juicy-search-typeahead:focus{
  outline:none;
  border-color: rgba(0,0,0,0.22);
  box-shadow: 0 10px 24px rgba(0,0,0,0.10);
}

.juicy-city-listbtn{
  position:absolute;
  right:6px;
  top:6px;
  height:36px;              /* lock to input height so it doesn't stretch with dropdown */
  padding:0 12px;
  border-radius:12px;
  background:#fff;
  border:1px solid rgba(0,0,0,0.10);
  box-shadow:none;
  color: rgba(17,17,17,0.78);
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  user-select:none;
  display:flex;
  align-items:center;
  gap:6px;
}
.juicy-city-listbtn:hover{ background: rgba(0,0,0,0.03); }
.juicy-city-listbtn:focus{ outline:none; box-shadow:none; }
.juicy-city-listbtn:active{ background: rgba(0,0,0,0.05); }

/* Mobile-first tightening so inputs never overlap and remain tappable */
@media (max-width: 720px){
  #juicy-search-container.juicy-searchbox{ padding:12px; }
  #juicy-search-container .juicy-searchbox-row{ gap:10px; }
  .juicy-country-wrap{ flex: 1 1 100% !important; min-width: 0 !important; }
  .juicy-city-wrap{ flex: 1 1 100% !important; min-width: 0 !important; }
  #juicy-search-container .juicy-searchbox-actions{ gap:10px; }
  #juicy-search-container .juicy-btn{ width: 100%; max-width: 100%; }
  /* suggestions should fit viewport height and not cover the whole screen */
  .juicy-city-suggest{
  position:absolute;
  left:0;
  right:0;
  top:56px; /* sits under the city input row */
  max-height:min(45vh, 280px);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  background:#fff;
  border:1px solid rgba(0,0,0,0.12);
  border-radius:14px;
  box-shadow:0 18px 40px rgba(0,0,0,0.18);
  z-index:50050;
  padding:6px;
}
}

/* make room for the List button on desktop */
@media (hover: hover) and (pointer: fine){
  .juicy-search-typeahead{ padding-right:96px; }
}

.juicy-city-suggest{
  position:absolute;
  left:0;
  right:0;
  top:54px;
  z-index:50050;
  background: rgba(255,255,255,0.96);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 14px;
  box-shadow: 0 16px 40px rgba(0,0,0,0.14);
  opacity:0;
  transform: translateY(-6px);
  transition: opacity 140ms ease, transform 140ms ease;
  overflow-x:hidden;
  overflow-y:auto;
  scroll-behavior:smooth;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  max-height: 260px;
}
.juicy-city-suggest.open{ opacity:1; transform: translateY(0); }
.juicy-city-hint{ font-size:12px; color:rgba(17,17,17,0.55); margin-top:6px; padding-left:2px; }
.juicy-city-suggest .item{
  padding:10px 12px;
  font-weight:800;
  font-size:14px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.juicy-city-suggest .item:hover,
.juicy-city-suggest .item.is-active{
  background: rgba(0,0,0,0.06);
}
.juicy-city-suggest .item.is-active{
  box-shadow: inset 3px 0 0 rgba(99,179,46,0.55);
}

/* Mobile/touch devices: ensure ONLY ONE visible control per field (avoid duplicate Country/City UI on some Android/Chrome). */
@media (hover: none) and (pointer: coarse){
  /* keep desktop overlay behavior untouched; on touch we use native selects */
  #juicy-country-display,
  #juicy-city-display{ display:none !important; }

  #juicy-search-country,
  #juicy-search-city{
    position:relative !important;
    inset:auto !important;
    opacity:1 !important;
    display:block !important;
    width:100% !important;
  }

  /* tighten vertical spacing between Country and City */
  #juicy-search-container .juicy-searchbox-row{ gap:6px !important; }
  .juicy-country-wrap, .juicy-city-wrap{ margin:0 !important; }
}

/* Naughty Neighbors GEO overlay */
.juicy-nn-geo-overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  z-index:999;
  background:rgba(0,0,0,0.35);
}
.juicy-nn-geo-card{
  width:min(520px, 92vw);
  background:#fff;
  border-radius:18px;
  border:2px solid rgba(232,42,137,0.35);
  box-shadow:0 18px 40px rgba(0,0,0,0.18);
  padding:18px 16px;
  text-align:center;
}
.juicy-nn-geo-title{ font-size:22px; font-weight:900;
  font-size:15px; margin-bottom:8px; }
.juicy-nn-geo-sub{ font-size:15px; opacity:0.85; margin-bottom:14px; }
.juicy-nn-geo-actions{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }

/* NN badge + thumbs */
.juicy-nn-badge-wrap{
  position:relative;
  width:118px;
  height:118px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.juicy-nn-badge-svg{
  position:absolute;
  inset:0;
  width:118px;
  height:118px;
  overflow:visible;
  pointer-events:none;
  z-index:0;
  transform:rotate(-90deg);
}
.juicy-nn-badge-track,
.juicy-nn-badge-ring{
  fill:none;
  stroke-linecap:round;
}
.juicy-nn-badge-track{
  stroke:rgba(59,130,246,0.14);
  stroke-width:10;
}
.juicy-nn-badge-ring{
  stroke:#3b82f6;
  stroke-width:10;
  filter:drop-shadow(0 2px 6px rgba(59,130,246,0.22));
  stroke-dasharray:314.2;
  stroke-dashoffset:314.2;
  animation:juicyNnBadgeDraw 950ms ease-out forwards;
}

.juicy-nn-badge-previews{
  position:absolute;
  left:50%;
  top:-60px;
  transform:translateX(-50%);
  display:none;
  gap:8px;
  padding:8px 10px;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border:1px solid rgba(0,0,0,0.06);
  border-radius:999px;
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
  pointer-events:none;
  z-index: 5;
}
.juicy-nn-badge.show-previews .juicy-nn-badge-previews{
  display:flex;
}
.juicy-nn-badge-preview{
  width:34px;
  height:34px;
  border-radius:50%;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  box-shadow: 0 6px 14px rgba(0,0,0,.22);
  border:2px solid rgba(255,255,255,0.95);
}

/* Nearby chips (map exploration) */
#juicy-nn-nearby{
  width:100%;
  margin-top:8px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.juicy-nn-chip{
  background: rgba(255,255,255,0.92);
  border:1px solid rgba(0,0,0,0.06);
  border-radius:999px;
  padding:6px 12px;
  font-size:13px;
  line-height:1;
  cursor:pointer;
  box-shadow: 0 6px 16px rgba(0,0,0,.10);
  user-select:none;
  -webkit-tap-highlight-color: transparent;
}
.juicy-nn-chip:active{ transform: translateY(1px); }

@media (max-width: 720px){
  #juicy-nn-nearby{ gap:6px; }
  .juicy-nn-chip{ font-size:12px; padding:6px 10px; }
  .juicy-nn-badge-wrap{ width:108px; height:108px; }
  .juicy-nn-badge-svg{ width:108px; height:108px; }
  .juicy-nn-badge-inner{ width:80px; height:80px; }
  .juicy-nn-badge-label{ font-size:20px; }
}

.juicy-nn-badge-inner{
    width:86px;
    height:86px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:800;
    font-size:22px;
    color:#2563eb;
    letter-spacing:.2px;
    position:relative;
    overflow:hidden;
    background:rgba(255,255,255,0.98);
    border:3px solid rgba(255,255,255,0.96);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.95), 0 10px 24px rgba(0,0,0,.14);
    z-index:1;
}
.juicy-nn-badge-label{
  display:inline-block;
  color:#2563eb;
  font-weight:800;
  font-size:22px;
  line-height:1;
}

.juicy-nn-spinner{
  width:18px;height:18px;
  border-radius:50%;
  border:3px solid rgba(255,255,255,0.35);
  border-top-color: rgba(255,255,255,1);
  animation: juicyNnSpin 0.8s linear infinite;
}
@keyframes juicyNnSpin{ to{ transform: rotate(360deg); } }
@keyframes juicyNnBadgeDraw{ from{ stroke-dashoffset:314.2; } to{ stroke-dashoffset:0; } }
.juicy-nn-thumb-ring{
  width:64px;height:64px;border-radius:50%;
  overflow:hidden;
  background:#fff;
  position:relative;
  /* modern "double ring" look */
  box-shadow:
    0 0 0 3px rgba(255,255,255,0.95),
    0 0 0 6px rgba(232,42,136,0.22),
    0 12px 26px rgba(0,0,0,0.22);
}
.juicy-nn-thumb-ring img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.juicy-nn-thumb-ring:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  pointer-events:none;
  /* subtle highlight */
  background: linear-gradient(135deg, rgba(255,255,255,0.30), rgba(255,255,255,0) 55%);
}
.juicy-nn-drawer-top{ padding:10px 0 12px 0; }
.juicy-nn-drawer-sub{ font-size:14px; opacity:0.9; margin-bottom:10px; }
.juicy-nn-drawer-actions{ display:flex; gap:10px; flex-wrap:wrap; }
.juicy-nn-cards{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.juicy-nn-loadmore-wrap{
  display:flex;
  justify-content:center;
  padding:10px 0 4px 0;
}

.juicy-nn-card{
  width:100%;
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:12px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(0,0,0,0.08);
  box-shadow:0 8px 18px rgba(0,0,0,0.08);
  background:#fff;
  cursor:pointer;
  text-align:left;
}
.juicy-nn-card:active{ transform: translateY(1px); }
.juicy-nn-thumb-slot{
  position:relative;
  width:104px;
  height:104px;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:linear-gradient(180deg,#f7f8fa 0%,#eef1f4 100%);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,0.04);
  overflow:hidden;
}
.juicy-nn-thumb-loader{
  position:absolute;
  inset:0;
  display:block;
  pointer-events:none;
}
/* SAFE loader cleanup v13.10.16.6.219.16: no shimmer animation on drawer thumb placeholders.
   Keeps the static skeleton + small spinner, but reduces repeated animation work while loading many thumbs. */
.juicy-nn-thumb-loader::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,#f7f8fa 0%,#eef1f4 100%);
}
.juicy-nn-thumb-loader::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:24px;
  height:24px;
  margin:-12px 0 0 -12px;
  border-radius:50%;
  border:2px solid rgba(26,115,232,0.16);
  border-top-color:rgba(26,115,232,0.9);
  animation:juicyThumbSpin .8s linear infinite;
  box-shadow:0 0 0 4px rgba(26,115,232,0.05);
}
.juicy-nn-thumb-slot:not(.is-loading) .juicy-nn-thumb-loader{ display:none; }
.juicy-nn-thumb-slot.is-loading .juicy-nn-thumb-img{ opacity:0; }
.juicy-nn-thumb-slot:not(.is-loading) .juicy-nn-thumb-img{ opacity:1; transition:opacity .2s ease; }
@keyframes.juicy-nn-thumb-img{
  width:104px;
  height:104px;
  border-radius:16px;
  object-fit:cover;
  display:block;
  flex:0 0 104px;
}
.juicy-nn-card-meta{ padding:0; width:100%; }
.juicy-nn-card-contact{ margin-top:6px; font-size:12px; font-weight:800; color:#1a73e8; }
.juicy-nn-contact-box{ margin-top:12px; display:flex; flex-direction:column; gap:8px; }
.juicy-nn-contact-row{ font-size:14px; line-height:1.45; color:#222; word-break:break-word; }
.juicy-nn-contact-row-name{ margin-bottom:2px; }
.juicy-nn-contact-label{ font-weight:900; color:#111; }
.juicy-nn-contact-value{ font-weight:700; }
.juicy-nn-contact-name{ font-size:15px; font-weight:900; color:#111; }
.juicy-nn-contact-link{ color:#1a73e8; text-decoration:none; }
.juicy-nn-contact-link:hover{ text-decoration:underline; }
.juicy-nn-contact-message{ font-size:14px; line-height:1.5; color:#333; margin-top:2px; white-space:pre-wrap; word-break:break-word; }
.juicy-nn-status-badge{ display:inline-block; padding:3px 10px; border-radius:999px; font-size:12px; font-weight:700; line-height:1.2; vertical-align:middle; }
.juicy-nn-status-active{ background:#e8f5e9; color:#2e7d32; }
.juicy-nn-status-inactive{ background:#f1f3f4; color:#5f6368; }
#juicyAccessStepForm{ max-height:82vh; overflow-y:auto; -webkit-overflow-scrolling:touch; }
#juicyAccessThumbScroll{ max-height:min(46vh, 420px) !important; }
#juicyAccessUnlockedMeta{ padding-bottom:18px !important; }
.juicy-nn-card-name{ font-weight:900; font-size:14px; line-height:1.15; margin-bottom:4px; }
.juicy-nn-card-sub{ font-size:12px; opacity:0.85; font-weight:900; }
.juicy-nn-card-sub2{ font-size:12px; opacity:0.75; margin-top:2px; }
.juicy-nn-drawer-foot{ margin-top:12px; font-size:12px; opacity:0.75; }

.nn-suggest-popup{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
}
.nn-suggest-popup > div:first-child{
  font-size:15px;
  font-weight:800;
  line-height:1.2;
  color:#111;
  margin:0 !important;
}
#juicy-map-wrapper .leaflet-popup-content .nn-suggest-popup #nn-discover-btn,
#juicy-map-wrapper .leaflet-popup-content #nn-discover-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 14px;
  min-height:34px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,0.08);
  box-shadow:0 4px 12px rgba(0,0,0,0.12);
  font-size:13px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  cursor:pointer;
}
#juicy-map-wrapper .leaflet-popup-content .nn-suggest-popup #nn-discover-btn:hover,
#juicy-map-wrapper .leaflet-popup-content #nn-discover-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 14px rgba(0,0,0,0.16);
}
#juicy-map-wrapper .leaflet-popup-content .nn-suggest-popup #nn-discover-btn:active,
#juicy-map-wrapper .leaflet-popup-content #nn-discover-btn:active{
  transform:translateY(0);
}

/* Leaflet thumb popup */
.juicy-nn-leaflet-pop .leaflet-popup-content{ margin: 10px 12px; }
.juicy-nn-pop{ display:flex; flex-direction:column; align-items:center; gap:8px; }
.juicy-nn-pop-img{
  width:auto;
  height:auto;
  max-width:104px;
  max-height:104px;
  border-radius:14px;
  object-fit:contain;
  display:block;
  padding:4px;
  background:#f5f6f7;
}
.juicy-nn-pop-title{ font-weight:900; font-size:13px; text-align:center; }
.juicy-nn-pop-msg{ font-size:12px; opacity:0.8; text-align:center; line-height:1.25; }
.juicy-nn-pop-btn{ height:40px; width:100%; padding:0 12px; border-radius:12px; border:0; font-weight:900;
  font-size:15px; cursor:pointer; }

.juicy-nn-popup-photo{
  width:auto;
  max-width:min(92vw, 360px);
  height:auto;
  max-height:60vh;
  border-radius:14px;
  object-fit:contain;
  display:block;
  margin:0 auto 8px;
  padding:6px;
  background:#f5f6f7;
}

/* Map thumb marker ring styling is defined above (keep single source of truth). */

/* Helper Tip (on-map Google-style) */
.juicy-map-wrap{ position:relative; }
.juicy-helper-tip{
  display:none;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:16px;
  background:#fff;
  color:#1f1f1f;
  border:1px solid rgba(0,0,0,0.08);
  box-shadow:0 8px 24px rgba(0,0,0,0.16);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  z-index:20050;
}
.juicy-helper-tip.is-on-map{
  position:absolute;
  top:14px;
  left:50%;
  transform:translateX(-50%);
  width:calc(100% - 28px);
  max-width:420px;
}
.juicy-helper-icon{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#1a73e8;
}
.juicy-helper-icon-svg{ display:block; width:16px; height:16px; fill: currentColor; }
.juicy-helper-text{
  font-weight:700;
  font-size:13px;
  line-height:1.25;
  color:#1f1f1f;
}
.juicy-helper-close{
  margin-left:auto;
  border:1px solid rgba(0,0,0,0.10);
  border-radius:999px;
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:18px;
  cursor:pointer;
  color:#5f6368;
  background:#fff;
  box-shadow:none;
}
.juicy-helper-close:hover{ background:#f6f8fc; color:#1f1f1f; }
@media (min-width: 768px){
  .juicy-helper-tip.is-on-map{
    top:16px;
    max-width:440px;
  }
}

/* Pink gradient button */
.nn-tip-btn{
  background: linear-gradient(135deg, var(--juicy-accent), #ff4fa3);
  box-shadow: 0 10px 18px rgba(232,43,137,0.35);
}

.nn-helper-bubble{
  background:#fff;
  color:#222;
  border-radius:14px;
  padding:16px 18px;
  box-shadow:0 10px 30px rgba(0,0,0,0.08);
  border:1px solid #f0f0f0;
  max-width:420px;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}
.nn-helper-title{
  font-size:16px;
  font-weight:800;
  margin-bottom:12px;
}
.nn-helper-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.nn-btn-location{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 16px;
  border-radius:999px;
  border:1.5px solid var(--juicy-accent);
  background:#fff;
  color:var(--juicy-accent);
  font-weight:700;
  cursor:pointer;
}
.nn-btn-location:hover{
  background:rgba(232,43,137,0.08);
}
.nn-btn-city{
  padding:10px 16px;
  border-radius:999px;
  border:1.5px solid #ddd;
  background:#fff;
  color:#444;
  font-weight:700;
  cursor:pointer;
}
.nn-btn-city:hover{
  background:#f7f7f7;
}

#juicy-nn-geo-overlay{ display:none !important; }
.juicy-nn-inline-status{
  margin-top: 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--juicy-accent-2);
  background: rgba(232,43,137,0.08);
  border: 1px solid rgba(232,43,137,0.25);
  padding: 10px 12px;
  border-radius: 10px;
  line-height: 1.35;
  text-align: center;
  box-sizing: border-box;
}
.juicy-nn-inline-status.is-show{
  display:block !important;
  animation: nnInlineFadeIn .18s ease-out both;
}
@keyframes nnInlineFadeIn{
  from{ opacity:0; transform: translateY(-3px); }
  to{ opacity:1; transform: translateY(0); }
}
/* If search area is on light background, keep it readable */
.juicy-searchbox-wrap .juicy-nn-inline-status{
  color: rgba(20,20,20,0.72);
}

/* Google palette overrides (UI only) */
#juicy-map-wrapper .juicy-btn,
#juicy-map-wrapper button.juicy-btn,
#juicy-map-wrapper .juicy-search-btn,
#juicy-map-wrapper .juicy-nn-upload-btn,
#juicy-map-wrapper .juicy-nn-loadmore-btn,
#juicy-map-wrapper .juicy-nn-drawer-header,
#juicy-map-wrapper .juicy-nn-drawer-titlebar,
#juicy-map-wrapper .juicy-nn-pill{
  background: linear-gradient(180deg, var(--juicy-accent) 0%, var(--juicy-accent-2) 100%) !important;
  color:#fff !important;
}
/* Secondary/outline button */
#juicy-map-wrapper .juicy-btn-outline,
#juicy-map-wrapper .juicy-clear-btn{
  background:#fff !important;
  color: var(--juicy-accent) !important;
  border:2px solid var(--juicy-accent) !important;
}

/* Search actions: X-style button override */
#juicy-search-container #juicy-search-btn.juicy-btn,
#juicy-search-container #juicy-search-btn.juicy-btn.juicy-btn-primary{
  background:#111 !important;
  color:#fff !important;
  border:1px solid #111 !important;
  box-shadow:none !important;
}
#juicy-search-container #juicy-search-btn.juicy-btn:hover,
#juicy-search-container #juicy-search-btn.juicy-btn.juicy-btn-primary:hover{
  background:#1a1a1a !important;
  color:#fff !important;
  border-color:#1a1a1a !important;
  box-shadow:none !important;
}
#juicy-search-container #juicy-search-clear.juicy-btn,
#juicy-search-container #juicy-search-clear.juicy-btn.juicy-btn-ghost,
#juicy-search-container #juicy-try-city.juicy-btn,
#juicy-search-container #juicy-try-city.juicy-btn.juicy-btn-ghost{
  background:#fff !important;
  color:#222 !important;
  border:1px solid #cfd4da !important;
  box-shadow:none !important;
}
#juicy-search-container #juicy-search-clear.juicy-btn:hover,
#juicy-search-container #juicy-search-clear.juicy-btn.juicy-btn-ghost:hover,
#juicy-search-container #juicy-try-city.juicy-btn:hover,
#juicy-search-container #juicy-try-city.juicy-btn.juicy-btn-ghost:hover{
  background:#f7f7f7 !important;
  color:#111 !important;
  border-color:#bfc5cc !important;
  box-shadow:none !important;
}

/* Form controls outline */
#juicy-map-wrapper select,
#juicy-map-wrapper input{
  border-color: var(--juicy-accent) !important;
}
/* Leaflet control border */
#juicy-map-wrapper .leaflet-control a,
#juicy-map-wrapper .leaflet-bar a{
  border-color: var(--juicy-accent) !important;
}
/* Helper tip (keep white Google-style overlay) */
.juicy-helper-tip,
.juicy-helper-tip.is-on-map{
  background:#fff !important;
  border:1px solid rgba(0,0,0,0.08) !important;
  color:#1f1f1f !important;
}
.juicy-helper-tip .juicy-helper-text{ color:#1f1f1f !important; opacity:1; }
#juicy-helper-gotit{
  margin-left:auto;
  width:28px;height:28px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  color:#5f6368;
  font-size:18px;
  line-height:26px;
  font-weight:800;
  padding:0;
  cursor:pointer;
}
#juicy-helper-gotit:hover{ background:#f6f8fc; color:#1f1f1f; }

/* Popup lock/unlock icons (Google style) */
.juicy-ico{display:inline-block; width:18px; height:18px; vertical-align:-3px; margin-right:6px;}
.juicy-ico-lock{
  background: #ea4335;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M12%2017a2%202%200%200%200%202-2v-2a2%202%200%201%200-4%200v2a2%202%200%200%200%202%202zm6-7h-1V8a5%205%200%200%200-10%200v2H6a2%202%200%200%200-2%202v8a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2v-8a2%202%200%200%200-2-2zm-3%200H9V8a3%203%200%200%201%206%200v2z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M12%2017a2%202%200%200%200%202-2v-2a2%202%200%201%200-4%200v2a2%202%200%200%200%202%202zm6-7h-1V8a5%205%200%200%200-10%200v2H6a2%202%200%200%200-2%202v8a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2v-8a2%202%200%200%200-2-2zm-3%200H9V8a3%203%200%200%201%206%200v2z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.juicy-ico-unlock{
  background: #34a853;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%2010%2010A10.011%2010.011%200%200%200%2012%202zm-1%2015-4-4%201.41-1.41L11%2014.17l5.59-5.59L18%2010l-7%207z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%2010%2010A10.011%2010.011%200%200%200%2012%202zm-1%2015-4-4%201.41-1.41L11%2014.17l5.59-5.59L18%2010l-7%207z'/%3E%3C/svg%3E") center/contain no-repeat;
}

#juicy-nn-show-on-map{
display:inline-flex;
align-items:center;
justify-content:center;
padding:10px 16px;
border-radius:16px;
background:#111111 !important;
color:#ffffff !important;
font-weight:600;
border:1px solid #111111 !important;
box-shadow:none !important;
cursor:pointer;
text-decoration:none !important;
user-select:none;
}

#juicy-nn-show-on-map:hover,
#juicy-nn-show-on-map:focus{
background:#222222 !important;
color:#ffffff !important;
border-color:#222222 !important;
box-shadow:none !important;
filter:none !important;
outline:none !important;
}

/* Mobile polish: keep search aligned with map and comfortable */
@media (max-width: 720px){
  #juicy-search-container.juicy-searchbox{
    border-radius:14px;
    padding:12px;
    margin:10px 0 8px 0;
  }
  #juicy-search-container .juicy-searchbox-row{
    gap:10px;
  }
  #juicy-search-container .juicy-searchbox-actions{
    gap:10px;
  }
}

/* --- UX polish: mobile button stack --- */
@media (max-width:720px){
  .juicy-searchbox-actions{ flex-direction:column; }
  #juicy-search-container .juicy-searchbox-actions .juicy-btn{ width:100% !important; min-width:0; }
  .juicy-city-suggest{ max-height: min(45vh, 240px); }
}

.juicy-nn-card{align-items:center;}
.juicy-nn-thumb-img{
  width:auto;
  height:auto;
  max-width:104px;
  max-height:104px;
  min-width:0;
  min-height:0;
  object-fit:contain;
  display:block;
  flex:0 0 auto;
  align-self:center;
  margin:0;
  padding:4px;
  background:#f5f6f7;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,0.04);
}
.juicy-nn-thumb-img.is-small{box-shadow:0 8px 18px rgba(0,0,0,0.08), inset 0 0 0 1px rgba(0,0,0,0.04);}
#juicyAccessModal.juicy-unlocked #juicyAccessStepForm{
  max-height:none !important;
  overflow:visible !important;
}
#juicyAccessModal.juicy-unlocked [data-juicy-access-pro-media],
#juicyAccessModal.juicy-unlocked #juicyAccessThumbScroll[data-juicy-access-pro-media]{
  width:100%;
  max-height:min(54vh, 520px) !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  background:#f3f4f6;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  box-sizing:border-box;
  border-radius:18px 18px 0 0;
}
#juicyAccessThumbScroll.is-tall{ align-items:flex-start; }
#juicyAccessThumbScroll.is-small{ align-items:center; justify-content:center; }
#juicyAccessThumbScroll.is-small #juicyAccessThumb{
  box-shadow:0 10px 24px rgba(0,0,0,0.08), inset 0 0 0 1px rgba(0,0,0,0.04);
}
#juicyAccessThumb{
  width:auto !important;
  height:auto !important;
  max-width:100%;
  max-height:none !important;
  object-fit:contain;
  display:block;
  margin:0 auto;
  border-radius:14px;
}
@media (min-width: 900px){
  #juicyAccessModal.juicy-unlocked #juicyAccessCard{
    width:min(920px, calc(100% - 28px));
    max-height:min(88vh, calc(100vh - 28px));
    overflow:hidden;
  }
  #juicyAccessModal.juicy-unlocked #juicyAccessStepForm{
    display:flex !important;
    flex-direction:row;
    align-items:stretch;
    gap:0;
    margin-top:10px;
  }
  #juicyAccessModal.juicy-unlocked #juicyAccessThumbWrap{
    flex:0 0 58%;
    min-width:0;
    margin:0 !important;
    display:block;
  }
  #juicyAccessModal.juicy-unlocked #juicyAccessThumbScroll[data-juicy-access-pro-media]{
    max-height:min(78vh, 700px) !important;
    height:100%;
    border-radius:18px 0 0 18px;
    padding:20px;
  }
  #juicyAccessModal.juicy-unlocked #juicyAccessUnlockedMeta{
    flex:0 0 42%;
    max-width:380px;
    min-width:320px;
    display:block;
    margin:0 !important;
    padding:18px 18px 22px 18px !important;
    border-top:0 !important;
    border-left:1px solid rgba(0,0,0,0.08);
    background:#fff;
    max-height:min(78vh,700px);
    overflow:auto;
    box-sizing:border-box;
  }
  #juicyAccessModal.juicy-unlocked #juicyAccessUnlockedActions{
    margin-top:auto;
    position:sticky;
    bottom:0;
    background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.96) 18%, #fff 48%);
    padding-top:12px;
  }
}
@media (max-width: 640px){
  .juicy-nn-card{align-items:flex-start;}
  .juicy-nn-thumb-slot{width:96px; height:96px; flex-basis:96px;}
  .juicy-nn-thumb-img{max-width:96px; max-height:96px; flex-basis:auto;}
  #juicyAccessThumbScroll[data-juicy-access-pro-media]{
    max-height:min(54vh, 500px) !important;
    padding:12px;
  }
}


/* === PREMIUM WHITE DRAWER OVERRIDE === */
#juicy-map-wrapper #juicy-bottom-drawer,
#juicy-map-wrapper #juicy-bottom-drawer-nc{
  background:#ffffff !important;
  box-shadow:0 18px 48px rgba(0,0,0,.22) !important;
}
#juicy-map-wrapper #juicy-drawer-header,
#juicy-map-wrapper #juicy-drawer-header-nc{
  background:#ffffff !important;
  color:#111111 !important;
  border-bottom:1px solid #e8eaed !important;
}
#juicy-map-wrapper #juicy-drawer-title,
#juicy-map-wrapper #juicy-drawer-title-nc{
  color:#111111 !important;
}
#juicy-map-wrapper #juicy-drawer-header::before,
#juicy-map-wrapper #juicy-drawer-header-nc::before{
  background:#9aa0a6 !important;
}
#juicy-map-wrapper #juicy-drawer-close,
#juicy-map-wrapper #juicy-drawer-close-nc{
  color:#111111 !important;
}
#juicy-map-wrapper #juicy-drawer-switch-to-nc,
#juicy-map-wrapper #juicy-drawer-switch-to-contacts,
#juicy-map-wrapper .juicy-drawer-upload-btn{
  background:#ffffff !important;
  color:#111111 !important;
  border:1px solid #d7dce1 !important;
  border-radius:12px !important;
  box-shadow:none !important;
}
#juicy-map-wrapper #juicy-drawer-switch-to-nc:hover,
#juicy-map-wrapper #juicy-drawer-switch-to-nc:focus,
#juicy-map-wrapper #juicy-drawer-switch-to-contacts:hover,
#juicy-map-wrapper #juicy-drawer-switch-to-contacts:focus,
#juicy-map-wrapper .juicy-drawer-upload-btn:hover,
#juicy-map-wrapper .juicy-drawer-upload-btn:focus{
  background:#f7f8f8 !important;
  color:#111111 !important;
  outline:none !important;
}
#juicy-map-wrapper #juicy-drawer-content,
#juicy-map-wrapper #juicy-drawer-content-nc{
  background:#ffffff !important;
}
#juicy-map-wrapper #juicy-drawer-content img.drawer-thumb,
#juicy-map-wrapper #juicy-drawer-content-nc img.drawer-thumb{
  background:#f6f7f8 !important;
  border-color:rgba(17,17,17,.10) !important;
  box-shadow:0 2px 8px rgba(0,0,0,.10) !important;
}


/* === SEARCH SECONDARY BUTTON POLISH === */
#juicy-map-wrapper #juicy-search-container #juicy-search-clear.juicy-btn,
#juicy-map-wrapper #juicy-search-container #juicy-search-clear.juicy-btn.juicy-btn-ghost,
#juicy-map-wrapper #juicy-search-container #juicy-try-city.juicy-btn,
#juicy-map-wrapper #juicy-search-container #juicy-try-city.juicy-btn.juicy-btn-ghost{
  background:#ffffff !important;
  color:#222222 !important;
  border:1px solid #c9cfd6 !important;
  border-radius:16px !important;
  box-shadow:none !important;
}
#juicy-map-wrapper #juicy-search-container #juicy-search-clear.juicy-btn:hover,
#juicy-map-wrapper #juicy-search-container #juicy-search-clear.juicy-btn.juicy-btn-ghost:hover,
#juicy-map-wrapper #juicy-search-container #juicy-try-city.juicy-btn:hover,
#juicy-map-wrapper #juicy-search-container #juicy-try-city.juicy-btn.juicy-btn-ghost:hover{
  background:#fafafa !important;
  color:#111111 !important;
  border-color:#c1c7ce !important;
  box-shadow:none !important;
}

/* === DRAWER HEADER CITY-ONLY POLISH === */
#juicy-map-wrapper #juicy-drawer-title-nc{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}
#juicy-map-wrapper .juicy-drawer-title-city{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  min-width:0 !important;
}
#juicy-map-wrapper .juicy-drawer-title-icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:18px !important;
  height:18px !important;
  color:#1d9bf0 !important;
  flex:0 0 auto !important;
}
#juicy-map-wrapper .juicy-drawer-title-text{
  display:block !important;
  min-width:0 !important;
  font-size:19px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:-0.02em !important;
  color:#111111 !important;
}
/* === DRAWER SPACING + TYPOGRAPHY POLISH === */
#juicy-map-wrapper #juicy-drawer-header,
#juicy-map-wrapper #juicy-drawer-header-nc{
  padding:16px 18px !important;
}
#juicy-map-wrapper #juicy-drawer-title,
#juicy-map-wrapper #juicy-drawer-title-nc{
  font-size:15px !important;
  line-height:1.3 !important;
  font-weight:800 !important;
  letter-spacing:-0.01em !important;
}
#juicy-map-wrapper #juicy-drawer-content,
#juicy-map-wrapper #juicy-drawer-content-nc{
  padding:16px 18px 18px !important;
}
#juicy-map-wrapper .juicy-nn-drawer-top{
  padding:4px 0 14px 0 !important;
}
#juicy-map-wrapper .juicy-nn-drawer-sub{
  font-size:14px !important;
  line-height:1.45 !important;
  font-weight:500 !important;
  color:#536471 !important;
  margin-bottom:14px !important;
}
#juicy-map-wrapper .juicy-nn-drawer-sub b{
  color:#0f1419 !important;
  font-weight:800 !important;
}
#juicy-map-wrapper .juicy-nn-drawer-actions{
  gap:10px !important;
}
#juicy-map-wrapper #juicy-nn-show-on-map{
  min-height:44px !important;
  padding:0 18px !important;
  font-size:14px !important;
  line-height:44px !important;
  font-weight:700 !important;
  background:#1d9bf0 !important;
  background-image:none !important;
  color:#ffffff !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:16px !important;
}
#juicy-map-wrapper #juicy-nn-show-on-map:hover,
#juicy-map-wrapper #juicy-nn-show-on-map:focus{
  background:#1a8cd8 !important;
  background-image:none !important;
  color:#ffffff !important;
  border:none !important;
  box-shadow:none !important;
  outline:none !important;
}
#juicy-map-wrapper .juicy-nn-cards{
  gap:14px !important;
}
#juicy-map-wrapper .juicy-nn-card{
  padding:14px !important;
  border-radius:14px !important;
}
#juicy-map-wrapper .juicy-nn-card-name{
  font-size:15px !important;
  line-height:1.2 !important;
  margin-bottom:5px !important;
}
#juicy-map-wrapper .juicy-nn-card-sub{
  font-size:12px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
}
#juicy-map-wrapper .juicy-nn-card-sub2,
#juicy-map-wrapper .juicy-nn-card-contact{
  font-size:12px !important;
  line-height:1.4 !important;
}
#juicy-map-wrapper .juicy-nn-loadmore-wrap{
  margin-top:14px !important;
  padding-top:4px !important;
}
#juicy-map-wrapper .juicy-nn-drawer-foot{
  margin-top:14px !important;
  font-size:12px !important;
  line-height:1.45 !important;
  color:#536471 !important;
  opacity:1 !important;
}

/* Faza 1 performance: instant drawer loading state */
.juicy-nn-cards-loading{
  min-height:118px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.juicy-nn-loading-row{
  width:100%;
  min-height:96px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:#4b5563;
  font-size:14px;
  border-radius:16px;
  border:1px solid rgba(0,0,0,0.06);
  background:#fff;
}
.juicy-nn-loading-row .juicy-nn-thumb-loader{
  position:relative;
  inset:auto;
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:14px;
  overflow:hidden;
  background:linear-gradient(180deg,#f7f8fa 0%,#eef1f4 100%);
}

/* SAFE UI patch: Google-style drawer card message CTA (visual only; existing card click opens the same popup) */
.juicy-nn-card-message{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:max-content;
  max-width:100%;
  margin-top:7px;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid #dadce0;
  background:#fff;
  color:#1a73e8;
  font-size:12px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.01em;
  box-shadow:0 1px 2px rgba(60,64,67,.12);
}
.juicy-nn-card:hover .juicy-nn-card-message,
.juicy-nn-card:focus-visible .juicy-nn-card-message{
  background:#f8fbff;
  border-color:#c9d7f8;
  box-shadow:0 1px 3px rgba(60,64,67,.18);
}
.juicy-nn-msg-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:14px;
  height:14px;
  color:#1a73e8;
  flex:0 0 14px;
}
.juicy-nn-msg-icon svg{
  width:14px;
  height:14px;
  display:block;
  fill:currentColor;
}

/* SAFE patch v13.10.16.6.219.15: X-style Load More button in bottom drawer only */
#juicy-map-wrapper #juicy-nn-loadmore.juicy-btn{
  appearance:none !important;
  -webkit-appearance:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  border:1px solid rgba(15,20,25,0.12) !important;
  background:#0f1419 !important;
  color:#fff !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  box-shadow:0 6px 16px rgba(15,20,25,0.12) !important;
  cursor:pointer !important;
  transition:background .15s ease, transform .15s ease, box-shadow .15s ease !important;
}
#juicy-map-wrapper #juicy-nn-loadmore.juicy-btn:hover{
  background:#272c30 !important;
  box-shadow:0 8px 20px rgba(15,20,25,0.16) !important;
}
#juicy-map-wrapper #juicy-nn-loadmore.juicy-btn:active{
  transform:translateY(1px) !important;
  box-shadow:0 4px 12px rgba(15,20,25,0.12) !important;
}
#juicy-map-wrapper #juicy-nn-loadmore.juicy-btn:focus-visible{
  outline:2px solid rgba(29,155,240,0.45) !important;
  outline-offset:3px !important;
}


/* Performance Faza 3 SAFE: premium drawer thumb reveal.
   Visual only: keeps existing blur/access/deterministic logic unchanged. */
.juicy-nn-thumb-slot.is-loading{
  background:linear-gradient(180deg,#f8fafc 0%,#eef2f6 100%);
}
.juicy-nn-thumb-slot.is-loaded .juicy-nn-thumb-img{
  animation:juicyNnThumbReveal .18s ease-out both;
}
@keyframes juicyNnThumbReveal{
  from{ opacity:0; transform:scale(.985); }
  to{ opacity:1; transform:scale(1); }
}
@media (prefers-reduced-motion: reduce){
  .juicy-nn-thumb-slot.is-loaded .juicy-nn-thumb-img{ animation:none; }
}


/* Faza 4 SAFE cleanup: moved formerly inline search/badge polish into the main CSS file.
   Visual-only cleanup. No JS, cache, access, blur, drawer or deterministic thumb logic changed. */
.leaflet-div-icon.juicy-nn-badge{
  background:transparent !important;
  border:none !important;
}
.leaflet-div-icon.juicy-nn-badge .juicy-nn-badge-inner{
  width:92px !important;
  height:92px !important;
  border-radius:50% !important;
  background:rgba(99,179,46,0.72) !important;
  border:2px solid rgba(255,255,255,0.85) !important;
  box-shadow:0 10px 24px rgba(0,0,0,0.16) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}

#juicy-search-container,
.juicy-searchbox,
#juicy-search-container.juicy-searchbox{
  border:1px solid rgba(0,0,0,0.04) !important;
  border-radius:20px !important;
  background:rgba(255,255,255,0.92) !important;
  box-shadow:0 16px 40px rgba(0,0,0,0.12) !important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

#juicy-search-container select,
#juicy-search-container input,
#juicy-search-container .juicy-search-input,
#juicy-search-container .juicy-search-select,
.juicy-searchbox select,
.juicy-searchbox input{
  height:46px;
  border:1px solid rgba(0,0,0,0.12) !important;
  border-radius:14px !important;
  background:rgba(255,255,255,0.96);
  font-weight:600;
  outline:none !important;
  box-shadow:none;
}

#juicy-search-container select:focus,
#juicy-search-container input:focus,
#juicy-search-container .juicy-search-input:focus,
#juicy-search-container .juicy-search-select:focus,
.juicy-searchbox select:focus,
.juicy-searchbox input:focus{
  outline:none !important;
  border-color:rgba(0,0,0,0.25) !important;
  box-shadow:0 0 0 3px rgba(0,0,0,0.06) !important;
}

#juicy-country-display,
#juicy-city-display{
  border:1px solid rgba(0,0,0,0.12) !important;
  border-radius:14px !important;
  box-shadow:none !important;
}
#juicy-country-display:after,
#juicy-city-display:after{
  border-right:2px solid rgba(0,0,0,0.45) !important;
  border-bottom:2px solid rgba(0,0,0,0.45) !important;
  opacity:0.85 !important;
}
.juicy-country-wrap.is-focused #juicy-country-display,
.juicy-city-wrap.is-focused #juicy-city-display{
  border-color:rgba(0,0,0,0.22) !important;
  box-shadow:0 0 0 3px rgba(0,0,0,0.06) !important;
}
#juicy-country-select,
#juicy-city-select{
  outline:none !important;
}

@media (max-width:720px){
  .juicy-searchbox-actions{flex-direction:column;}
  #juicy-search-container .juicy-searchbox-actions .juicy-btn{width:100% !important;min-width:0;}
  .juicy-city-suggest{max-height:min(45vh, 240px);}
}

/* Faza 10 SAFE: instant skeleton drawer.
   Visual-only loading state shown immediately while the real thumb_pool response is fetched.
   Does not change thumb selection, access/blur logic, cache, or drawer card behavior. */
#juicy-map-wrapper .juicy-nn-cards-skeleton{
  min-height:auto !important;
  display:flex !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
}
#juicy-map-wrapper .juicy-nn-card-skeleton{
  cursor:default !important;
  pointer-events:none !important;
  box-shadow:0 8px 18px rgba(0,0,0,0.06) !important;
  opacity:1 !important;
}
#juicy-map-wrapper .juicy-nn-card-skeleton:active{
  transform:none !important;
}
#juicy-map-wrapper .juicy-nn-skeleton-thumb{
  background:linear-gradient(180deg,#f7f8fa 0%,#eef1f4 100%) !important;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,0.04) !important;
}
#juicy-map-wrapper .juicy-nn-skeleton-meta{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:9px !important;
  min-width:0 !important;
}
#juicy-map-wrapper .juicy-nn-skeleton-line{
  display:block !important;
  height:12px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#f2f4f7 0%,#e8ecf1 100%) !important;
}
#juicy-map-wrapper .juicy-nn-skeleton-line-name{ width:68% !important; height:15px !important; }
#juicy-map-wrapper .juicy-nn-skeleton-line-short{ width:42% !important; }
#juicy-map-wrapper .juicy-nn-skeleton-line-mid{ width:56% !important; }


/* Faza 1 ULTRA SAFE: reserve exact image boxes to reduce CLS. */
.juicy-nn-thumb-slot,
.juicy-nn-thumb-img{
  aspect-ratio:1 / 1;
}
.juicy-nn-thumb-img{
  width:104px;
  height:104px;
}
.juicy-nn-thumb-ring,
.juicy-nn-thumb-ring img{
  aspect-ratio:1 / 1;
}
.juicy-nn-pop-img{
  aspect-ratio:1 / 1;
}


/* Faza 5 FULL PERFORMANCE: transform-based drawer movement avoids layout-shift accounting. */
#juicy-bottom-drawer,
#juicy-bottom-drawer-nc{
  bottom:0 !important;
  transform:translate3d(0,110%,0);
  transition:transform .32s ease !important;
  will-change:transform;
  contain:layout paint;
}
#juicy-bottom-drawer.open,
#juicy-bottom-drawer-nc.open{
  transform:translate3d(0,0,0);
}
.juicy-helper-tip{
  min-height:40px;
  contain:layout paint;
}
@media (min-width:1024px){
  #juicy-bottom-drawer.open,
  #juicy-bottom-drawer-nc.open{
    bottom:20px !important;
  }
}


/* v13.10.16.6.222 - modern listing type badges */
.juicy-nn-type-badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  width:max-content;
  max-width:100%;
  padding:4px 9px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.08);
  background:#fff;
  color:#0f172a;
  font-size:12px;
  line-height:1.15;
  font-weight:800;
  box-shadow:0 1px 2px rgba(15,23,42,.06);
}
.juicy-nn-type-meet{ background:#fff5f7; border-color:rgba(244,63,94,.16); }
.juicy-nn-type-escort{ background:#fff7ed; border-color:rgba(249,115,22,.18); }
.juicy-nn-type-photo{ background:#fdf2f8; border-color:rgba(219,39,119,.16); }
.juicy-nn-contact-type{
  display:inline-flex;
  align-items:center;
  padding:3px 9px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid #edf2f7;
  font-weight:900;
}

/* v13.10.16.6.233 - SAFE right-side Google/app style map controls
   CSS-only: no AJAX/search/thumb/access logic changed. Desktop uses a compact right control panel;
   phones/tablets keep a top control panel for reliable mobile UX. */
#juicy-map-wrapper{
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  position:relative !important;
  overflow:visible !important;
  background:#eef2f5;
}

#juicy-map-wrapper .juicy-map-wrap,
#juicy-map-wrapper #juicy-map{
  width:100% !important;
  height:calc(100vh - 0px) !important;
  min-height:720px !important;
  max-height:none !important;
  border-radius:0 !important;
}
#juicy-map-wrapper .juicy-map-wrap{
  margin:0 !important;
  overflow:hidden !important;
  background:#eef2f5 !important;
}
#juicy-map-wrapper #juicy-map{ overflow:hidden !important; }
#juicy-map-wrapper .juicy-map-lcp-placeholder{ border-radius:0 !important; }

@media (min-width:901px){
  #juicy-map-wrapper #juicy-search-container.juicy-searchbox{
    position:absolute !important;
    z-index:10050 !important;
    top:22px !important;
    right:22px !important;
    left:auto !important;
    transform:none !important;
    width:370px !important;
    max-width:calc(100vw - 44px) !important;
    margin:0 !important;
    box-sizing:border-box !important;
    padding:16px !important;
    background:rgba(255,255,255,.97) !important;
    border:1px solid rgba(15,23,42,.10) !important;
    border-radius:22px !important;
    box-shadow:0 18px 46px rgba(15,23,42,.16) !important;
    backdrop-filter:saturate(120%) blur(8px);
  }
  #juicy-map-wrapper #juicy-search-container .juicy-searchbox-row{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
  }
  #juicy-map-wrapper #juicy-search-container .juicy-country-wrap,
  #juicy-map-wrapper #juicy-search-container .juicy-city-wrap,
  #juicy-map-wrapper #juicy-search-container .juicy-search-input,
  #juicy-map-wrapper #juicy-search-container select{
    width:100% !important;
    max-width:100% !important;
    flex:none !important;
    box-sizing:border-box !important;
  }
  #juicy-map-wrapper #juicy-search-container .juicy-searchbox-actions{
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    margin-top:14px !important;
  }
  #juicy-map-wrapper #juicy-search-container .juicy-searchbox-actions .juicy-btn,
  #juicy-map-wrapper #juicy-search-container .juicy-btn{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    min-height:50px !important;
    border-radius:15px !important;
  }
  #juicy-map-wrapper #juicy-access-status-host{
    position:absolute !important;
    z-index:10040 !important;
    top:390px !important;
    right:22px !important;
    left:auto !important;
    transform:none !important;
    width:370px !important;
    max-width:calc(100vw - 44px) !important;
    margin:0 !important;
    pointer-events:none;
  }
  #juicy-map-wrapper #juicy-access-status-host .juicy-access-chip,
  #juicy-map-wrapper #juicy-access-chip.juicy-access-chip{
    pointer-events:auto;
    margin:0 !important;
    border-radius:999px !important;
    box-shadow:0 6px 18px rgba(15,23,42,.08) !important;
  }
  #juicy-map-wrapper .leaflet-top.leaflet-left{ top:18px !important; }
  #juicy-map-wrapper .leaflet-top.leaflet-right{ top:430px !important; right:22px !important; }
}

@media (max-width:900px){
  #juicy-map-wrapper #juicy-search-container.juicy-searchbox{
    position:absolute !important;
    z-index:10050 !important;
    top:10px !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    width:calc(100vw - 20px) !important;
    max-width:520px !important;
    margin:0 !important;
    box-sizing:border-box !important;
    padding:12px !important;
    background:rgba(255,255,255,.97) !important;
    border:1px solid rgba(15,23,42,.10) !important;
    border-radius:18px !important;
    box-shadow:0 14px 38px rgba(15,23,42,.14) !important;
    backdrop-filter:saturate(120%) blur(8px);
  }
  #juicy-map-wrapper #juicy-search-container .juicy-searchbox-row{
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
  }
  #juicy-map-wrapper #juicy-search-container .juicy-country-wrap,
  #juicy-map-wrapper #juicy-search-container .juicy-city-wrap,
  #juicy-map-wrapper #juicy-search-container .juicy-search-input,
  #juicy-map-wrapper #juicy-search-container select{
    width:100% !important;
    max-width:100% !important;
    flex:none !important;
    box-sizing:border-box !important;
  }
  #juicy-map-wrapper #juicy-search-container .juicy-searchbox-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    margin-top:12px !important;
  }
  #juicy-map-wrapper #juicy-search-container #juicy-search-btn{
    grid-column:1 / -1 !important;
  }
  #juicy-map-wrapper #juicy-search-container .juicy-searchbox-actions .juicy-btn,
  #juicy-map-wrapper #juicy-search-container .juicy-btn{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    min-height:48px !important;
    border-radius:15px !important;
  }
  #juicy-map-wrapper #juicy-access-status-host{
    position:absolute !important;
    z-index:10040 !important;
    top:272px !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    width:calc(100vw - 20px) !important;
    max-width:520px !important;
    margin:0 !important;
    pointer-events:none;
  }
  #juicy-map-wrapper #juicy-access-status-host .juicy-access-chip,
  #juicy-map-wrapper #juicy-access-chip.juicy-access-chip{
    pointer-events:auto;
    margin:0 !important;
    border-radius:999px !important;
    box-shadow:0 6px 18px rgba(15,23,42,.08) !important;
  }
  #juicy-map-wrapper .juicy-map-wrap,
  #juicy-map-wrapper #juicy-map{
    height:calc(100vh - 0px) !important;
    min-height:660px !important;
  }
  #juicy-map-wrapper .leaflet-top.leaflet-left,
  #juicy-map-wrapper .leaflet-top.leaflet-right{
    top:326px !important;
  }
}

@media (max-width:420px){
  #juicy-map-wrapper #juicy-search-container.juicy-searchbox{
    width:calc(100vw - 14px) !important;
    top:7px !important;
    padding:10px !important;
    border-radius:16px !important;
  }
  #juicy-map-wrapper #juicy-access-status-host{
    top:258px !important;
    width:calc(100vw - 14px) !important;
  }
  #juicy-map-wrapper .leaflet-top.leaflet-left,
  #juicy-map-wrapper .leaflet-top.leaflet-right{
    top:308px !important;
  }
}



/* v13.10.16.6.234 - Hero text moved onto the map as a safe overlay.
   No search/access/thumb/map logic changed. */
#juicy-map-wrapper .juicy-nn-map-hero{
  position:absolute !important;
  z-index:10035 !important;
  top:24px !important;
  left:24px !important;
  right:420px !important;
  width:auto !important;
  max-width:760px !important;
  pointer-events:none !important;
  box-sizing:border-box !important;
  padding:0 !important;
  background:transparent !important;
}
#juicy-map-wrapper .juicy-nn-map-hero-title{
  margin:0 !important;
  padding:0 !important;
  font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif !important;
  font-size:48px !important;
  line-height:.98 !important;
  font-weight:900 !important;
  letter-spacing:-1.1px !important;
  text-transform:uppercase !important;
  white-space:normal !important;
  text-shadow:0 2px 10px rgba(255,255,255,.88), 0 1px 1px rgba(255,255,255,.92) !important;
}
#juicy-map-wrapper .juicy-nn-map-hero-dark{ color:#050505 !important; }
#juicy-map-wrapper .juicy-nn-map-hero-blue{ color:#1a73e8 !important; }
#juicy-map-wrapper .juicy-nn-map-hero-subtitle{
  margin:12px 0 0 0 !important;
  padding:0 !important;
  font-size:18px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
  color:#111827 !important;
  text-shadow:0 2px 10px rgba(255,255,255,.9), 0 1px 1px rgba(255,255,255,.95) !important;
}

@media (min-width:901px){
  #juicy-map-wrapper .leaflet-top.leaflet-left{ top:128px !important; }
}

@media (max-width:900px){
  #juicy-map-wrapper .juicy-nn-map-hero{
    top:332px !important;
    left:14px !important;
    right:14px !important;
    max-width:none !important;
  }
  #juicy-map-wrapper .juicy-nn-map-hero-title{
    font-size:32px !important;
    line-height:1 !important;
    letter-spacing:-.6px !important;
  }
  #juicy-map-wrapper .juicy-nn-map-hero-subtitle{
    margin-top:8px !important;
    font-size:14px !important;
    line-height:1.25 !important;
    max-width:92vw !important;
  }
  #juicy-map-wrapper .leaflet-top.leaflet-left,
  #juicy-map-wrapper .leaflet-top.leaflet-right{
    top:420px !important;
  }
}

@media (max-width:420px){
  #juicy-map-wrapper .juicy-nn-map-hero{
    top:318px !important;
    left:12px !important;
    right:12px !important;
  }
  #juicy-map-wrapper .juicy-nn-map-hero-title{ font-size:28px !important; }
  #juicy-map-wrapper .juicy-nn-map-hero-subtitle{ font-size:13px !important; }
  #juicy-map-wrapper .leaflet-top.leaflet-left,
  #juicy-map-wrapper .leaflet-top.leaflet-right{
    top:392px !important;
  }
}
