: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;
}

/* 🔒 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;
}
/* Map shell sizing is consolidated below.
   The matching critical inline CSS reserves the final height before this stylesheet loads. */

/* Bottom map upload CTA (X.com-style pill) */
.juicy-map-upload-cta{
  position:absolute;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  z-index:460;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  max-width:calc(100% - 28px);
  padding:13px 22px;
  border-radius:999px;
  background:#111;
  color:#fff;
  text-decoration:none;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:15.5px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 10px 28px rgba(0,0,0,.22);
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.juicy-map-upload-cta:hover,
.juicy-map-upload-cta:focus{
  background:#000;
  color:#fff;
  text-decoration:none;
  transform:translateX(-50%) translateY(-1px);
  box-shadow:0 12px 32px rgba(0,0,0,.28);
}
.juicy-map-upload-cta-icon{
  width:24px;
  height:24px;
  border-radius:999px;
  background:#1d9bf0;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:19px;
  font-weight:900;
  line-height:1;
  flex:0 0 auto;
}
.juicy-map-upload-cta-main{color:#fff;}
.juicy-map-upload-cta-accent{color:#1d9bf0;}
@media (max-width:640px){
  .juicy-map-upload-cta{
    bottom:14px;
    width:calc(100% - 28px);
    max-width:420px;
    padding:13px 14px;
    gap:8px;
    font-size:14px;
  }
  .juicy-map-upload-cta-icon{width:22px;height:22px;font-size:18px;}
}
@media (max-width:390px){
  .juicy-map-upload-cta{font-size:13px;}
  .juicy-map-upload-cta-accent{display:none;}
}

#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:58px;height:58px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:#fff;
  color:#e82a8a;
  border:6px solid #ff2d91;
  box-shadow:0 8px 22px rgba(25,25,35,.18),0 0 0 4px rgba(255,45,145,.14);
  font-size:20px;
  font-weight:900;
  box-sizing:border-box;
}
.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-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{ display:none !important; }
.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:124px;
  height:124px;
  display:flex;
  align-items:center;
  justify-content:center;
  isolation:isolate;
}
.juicy-nn-badge-ripple{
  position:absolute;
  left:50%;
  top:50%;
  width:102px;
  height:102px;
  border:2px solid rgba(255,45,145,.26);
  border-radius:50%;
  transform:translate(-50%,-50%) scale(.92);
  opacity:0;
  pointer-events:none;
  z-index:-1;
  animation:juicyNnBadgePulse 2.6s ease-out infinite;
}
.juicy-nn-badge-ripple.r2{ animation-delay:1.3s; }
.juicy-nn-badge-svg{
  position:absolute;
  inset:0;
  width:124px;
  height:124px;
  overflow:visible;
  pointer-events:none;
  z-index:0;
  transform:rotate(-90deg);
  filter:drop-shadow(0 7px 12px rgba(190,20,104,.16));
}
.juicy-nn-badge-track,
.juicy-nn-badge-ring{
  fill:none;
  stroke-linecap:round;
}
.juicy-nn-badge-track{
  stroke:rgba(255,45,145,.14);
  stroke-width:11;
}
.juicy-nn-badge-ring{
  stroke:url(#juicyNnBadgeGradient);
  stroke-width:11;
  stroke-dasharray:314.2;
  stroke-dashoffset:314.2;
  animation:juicyNnBadgeDraw 700ms cubic-bezier(.16,1,.3,1) forwards;
}
.juicy-nn-badge-inner{
  width:86px;
  height:86px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  color:#e82a8a;
  letter-spacing:.1px;
  position:relative;
  overflow:hidden;
  background:rgba(255,255,255,.985);
  border:2px solid rgba(255,255,255,.98);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,1),
    0 8px 22px rgba(25,25,35,.16),
    0 0 0 1px rgba(232,42,138,.08);
  z-index:1;
}
.juicy-nn-badge-label{
  display:inline-block;
  color:#e82a8a;
  font-weight:900;
  font-size:25px;
  line-height:1;
}
.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,.94);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  border:1px solid rgba(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,.95);
}

@keyframes juicyNnBadgePulse{
  0%{ transform:translate(-50%,-50%) scale(.86); opacity:.52; }
  72%,100%{ transform:translate(-50%,-50%) scale(1.42); opacity:0; }
}
@keyframes juicyNnBadgeDraw{ from{ stroke-dashoffset:314.2; } to{ stroke-dashoffset:0; } }

@media (max-width:720px){
  .juicy-nn-badge-wrap{ width:116px; height:116px; }
  .juicy-nn-badge-svg{ width:116px; height:116px; }
  .juicy-nn-badge-inner{ width:80px; height:80px; }
  .juicy-nn-badge-label{ font-size:23px; }
}

@media (prefers-reduced-motion:reduce){
  .juicy-nn-badge-ripple{ animation:none; opacity:.16; transform:translate(-50%,-50%) scale(1.18); }
  .juicy-nn-badge-ring{ animation:none; stroke-dashoffset:0; }
}

/* 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-spinner{
  width:18px;height:18px;
  border-radius:50%;
  border:3px solid rgba(232,42,138,.20);
  border-top-color:#e82a8a;
  animation:juicyNnSpin .8s linear infinite;
}
@keyframes juicyNnSpin{ to{ transform:rotate(360deg); } }
.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;
}
/* Use a static skeleton and small spinner for drawer thumb placeholders to limit animation work while multiple thumbs load. */
.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; }
.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; }
.juicy-nn-card-status{ display:inline-flex; align-items:center; min-height:24px; padding:3px 9px; border-radius:999px; font-size:11px; font-weight:900; line-height:1; white-space:nowrap; }
.juicy-nn-card-status-inactive{ background:#f1f3f4; color:#5f6368; border:1px solid rgba(95,99,104,.2); }
#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(-2px);
  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). */

.juicy-map-wrap{ position:relative; }

/* 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;
}
/* 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-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;
}



/* === DRAWER SPACING + TYPOGRAPHY POLISH === */
#juicy-map-wrapper #juicy-drawer-header{
  padding:16px 18px !important;
}
#juicy-map-wrapper #juicy-drawer-title{
  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-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;
}

/* Drawer loading layout is defined by the active skeleton component below. */

/* Drawer card message CTA */
.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;
}

/* Bottom drawer Load More button */
#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;
}


/* 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; }
}


/* Search and badge presentation rules. */
.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;
}




/* Search/upload stacking retained from the earlier layout block.
   The active search layout is consolidated in the final component block below. */
.juicy-nn-upload-wrap{
  position:relative;
  z-index:1200;
}

/* 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; }


/* 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;
}


/* 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);
}
@media (min-width:1024px){
  #juicy-bottom-drawer.open,
  #juicy-bottom-drawer-nc.open{
    bottom:20px !important;
  }
}


/* 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-type-escorts{ background:#f5f3ff; border-color:rgba(124,58,237,.18); }
.juicy-nn-type-events{ background:#fffbeb; border-color:rgba(245,158,11,.20); }
.juicy-nn-type-business{ background:#eff6ff; border-color:rgba(37,99,235,.18); }
.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;
}

/* Consolidated map shell sizing. Search layout is handled once in the final search block below. */
#juicy-map-wrapper .juicy-map-wrap,
#juicy-map-wrapper #juicy-map{
  width:100% !important;
  height:100vh !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;
}
@media (max-width:900px){
  #juicy-map-wrapper .juicy-map-wrap,
  #juicy-map-wrapper #juicy-map{
    height:100vh !important;
    min-height:660px !important;
  }
}

.juicy-looking-for{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;margin:8px 0 2px;border-radius:999px;background:#f5f5f5;color:#555;font-size:12px;font-weight:600}.juicy-looking-for svg{width:14px;height:14px;flex:none}



/* === CONSOLIDATED NAUGHTY NEIGHBORS DRAWER HEADER ===
   Preserves the final tested layout from the earlier header override chain. */
#juicy-map-wrapper #juicy-bottom-drawer-nc{
  box-sizing:border-box !important;
}
@media (min-width:768px){
  #juicy-map-wrapper #juicy-bottom-drawer-nc{
    width:500px !important;
    max-width:500px !important;
  }
}
#juicy-map-wrapper #juicy-drawer-header-nc{
  position:relative !important;
  min-height:118px !important;
  padding:22px 52px 16px !important;
  box-sizing:border-box !important;
}
#juicy-map-wrapper #juicy-drawer-close-nc{
  position:absolute !important;
  top:50% !important;
  right:16px !important;
  transform:translateY(-50%) !important;
  z-index:5 !important;
}
#juicy-map-wrapper #juicy-drawer-title-nc{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
  overflow:visible !important;
  text-align:center !important;
}
#juicy-map-wrapper .juicy-drawer-brand-title{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  color:#e91e63 !important;
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  -webkit-text-fill-color:#e91e63 !important;
  text-shadow:none !important;
  font-size:clamp(24px, 6.1vw, 34px) !important;
  line-height:1.08 !important;
  font-weight:950 !important;
  letter-spacing:-0.045em !important;
}
#juicy-map-wrapper .juicy-drawer-city-row{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:nowrap !important;
  gap:8px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
}
#juicy-map-wrapper .juicy-drawer-city-line{
  display:none !important;
}
#juicy-map-wrapper .juicy-drawer-city-row .juicy-drawer-title-icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 18px !important;
  width:18px !important;
  height:18px !important;
  color:#e91e63 !important;
}
#juicy-map-wrapper .juicy-drawer-city-row .juicy-drawer-title-text{
  display:block !important;
  flex:0 1 auto !important;
  min-width:0 !important;
  max-width:calc(100% - 28px) !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  hyphens:none !important;
  text-align:center !important;
  font-size:20px !important;
  line-height:1.14 !important;
  font-weight:900 !important;
  letter-spacing:-0.02em !important;
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
}
@media (max-width:420px){
  #juicy-map-wrapper #juicy-drawer-header-nc{
    min-height:112px !important;
    padding-left:42px !important;
    padding-right:42px !important;
  }
  #juicy-map-wrapper #juicy-drawer-close-nc{
    right:12px !important;
  }
  #juicy-map-wrapper .juicy-drawer-brand-title{
    font-size:clamp(22px, 6.7vw, 28px) !important;
    letter-spacing:-0.055em !important;
  }
  #juicy-map-wrapper .juicy-drawer-city-row .juicy-drawer-title-text{
    font-size:18px !important;
    line-height:1.12 !important;
  }
}
@media (max-width:340px){
  #juicy-map-wrapper #juicy-drawer-header-nc{
    padding-left:36px !important;
    padding-right:36px !important;
  }
  #juicy-map-wrapper .juicy-drawer-brand-title{
    font-size:22px !important;
  }
}

/* Drawer contact text clamp (used outside the compact card CTA). */
#juicy-map-wrapper .juicy-nn-contact-message{
  display:-webkit-box !important;
  -webkit-line-clamp:3 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:normal !important;
  word-break:break-word !important;
}

/* === CONSOLIDATED DRAWER CARD LAYOUT ===
   Final approved layout: photo left; name, badges and compact Message Me CTA on the right. */
#juicy-map-wrapper .juicy-nn-card{
  display:grid !important;
  grid-template-columns:96px minmax(0, 1fr) !important;
  align-items:center !important;
  gap:12px !important;
  min-height:116px !important;
  padding:10px 12px !important;
  border-radius:18px !important;
  background:#fff !important;
  border:1px solid rgba(15,23,42,.08) !important;
  box-shadow:0 5px 16px rgba(15,23,42,.08) !important;
}
#juicy-map-wrapper .juicy-nn-card .juicy-nn-thumb-slot,
#juicy-map-wrapper .juicy-nn-card .juicy-nn-thumb-img{
  width:96px !important;
  height:96px !important;
  border-radius:16px !important;
}
#juicy-map-wrapper .juicy-nn-card-meta{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:5px !important;
  min-width:0 !important;
  width:100% !important;
}
#juicy-map-wrapper .juicy-nn-card-name{
  margin:0 0 1px !important;
  max-width:100% !important;
  font-size:15px !important;
  line-height:1.12 !important;
  font-weight:950 !important;
  color:#070b18 !important;
  -webkit-text-fill-color:#070b18 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
#juicy-map-wrapper .juicy-nn-card-badges{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:5px 7px !important;
  min-width:0 !important;
  max-width:100% !important;
}
#juicy-map-wrapper .juicy-nn-card-type{
  display:flex !important;
  min-width:0 !important;
  max-width:100% !important;
}
#juicy-map-wrapper .juicy-nn-type-badge,
#juicy-map-wrapper .juicy-nn-card-looking{
  margin:0 !important;
  padding:4px 9px !important;
  max-width:100% !important;
  border-radius:999px !important;
  font-size:11px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  box-shadow:0 1px 2px rgba(15,23,42,.05) !important;
  white-space:nowrap !important;
}
#juicy-map-wrapper .juicy-nn-type-meet,
#juicy-map-wrapper .juicy-nn-type-escort{
  background:#fff1f7 !important;
  border-color:#ffc8dc !important;
  color:#be123c !important;
}
#juicy-map-wrapper .juicy-nn-type-photo{
  background:#f3e8ff !important;
  border-color:#dfc5ff !important;
  color:#6d28d9 !important;
}
#juicy-map-wrapper .juicy-nn-type-escorts{
  background:#f5f3ff !important;
  border-color:#ddd6fe !important;
  color:#6d28d9 !important;
}
#juicy-map-wrapper .juicy-nn-type-events{
  background:#fffbeb !important;
  border-color:#fde68a !important;
  color:#92400e !important;
}
#juicy-map-wrapper .juicy-nn-type-business{
  background:#eff6ff !important;
  border-color:#bfdbfe !important;
  color:#1d4ed8 !important;
}
#juicy-map-wrapper .juicy-nn-card-looking{
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
  width:max-content !important;
  background:#fff1f7 !important;
  border:1px solid #ffd0e3 !important;
  color:#9f1239 !important;
}
#juicy-map-wrapper .juicy-nn-card-looking svg,
#juicy-map-wrapper .juicy-nn-type-badge svg{
  width:13px !important;
  height:13px !important;
  flex:0 0 auto !important;
}
#juicy-map-wrapper .juicy-nn-card-looking svg{
  color:#e91e63 !important;
}
#juicy-map-wrapper .juicy-nn-card-looking span{
  display:block !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
#juicy-map-wrapper .juicy-nn-card-looking[data-looking-for="woman"]{
  background:#e6f7f1 !important;
  border-color:#abe8d8 !important;
  color:#047857 !important;
}
#juicy-map-wrapper .juicy-nn-card-looking[data-looking-for="man"]{
  background:#f3e8ff !important;
  border-color:#dec3ff !important;
  color:#6d28d9 !important;
}
#juicy-map-wrapper .juicy-nn-card-looking[data-looking-for="couple"]{
  background:#fff0e6 !important;
  border-color:#ffd0ad !important;
  color:#c2410c !important;
}
#juicy-map-wrapper .juicy-nn-card-looking[data-looking-for="anyone"]{
  background:#e6f0ff !important;
  border-color:#bdd7ff !important;
  color:#0b63ce !important;
}
#juicy-map-wrapper .juicy-nn-card-looking[data-looking-for="woman"] svg{color:#059669 !important;}
#juicy-map-wrapper .juicy-nn-card-looking[data-looking-for="man"] svg{color:#7c3aed !important;}
#juicy-map-wrapper .juicy-nn-card-looking[data-looking-for="couple"] svg{color:#ea580c !important;}
#juicy-map-wrapper .juicy-nn-card-looking[data-looking-for="anyone"] svg{color:#0b63ce !important;}
#juicy-map-wrapper .juicy-nn-card-contact{
  display:none !important;
}
#juicy-map-wrapper .juicy-nn-card-public-intro{
  width:100% !important;
  margin:0 !important;
  color:#4b5563 !important;
  font-size:12px !important;
  line-height:1.28 !important;
  font-weight:650 !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  overflow-wrap:anywhere !important;
}
#juicy-map-wrapper .juicy-nn-card-message{
  grid-column:auto !important;
  grid-row:auto !important;
  align-self:auto !important;
  justify-self:start !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  width:auto !important;
  min-width:118px !important;
  max-width:none !important;
  min-height:32px !important;
  margin:3px 0 0 !important;
  padding:8px 13px !important;
  border:0 !important;
  border-radius:8px !important;
  background:#ff2d8f !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1.1 !important;
  box-shadow:0 6px 14px rgba(255,45,143,.22) !important;
}
#juicy-map-wrapper .juicy-nn-card:hover .juicy-nn-card-message,
#juicy-map-wrapper .juicy-nn-card:focus-visible .juicy-nn-card-message{
  background:#ff2d8f !important;
  border-color:transparent !important;
  box-shadow:0 8px 18px rgba(255,45,143,.28) !important;
}
#juicy-map-wrapper .juicy-nn-card-message .juicy-nn-msg-icon{
  width:14px !important;
  height:14px !important;
  color:#fff !important;
}
#juicy-map-wrapper .juicy-nn-card-message .juicy-nn-msg-icon svg{
  width:14px !important;
  height:14px !important;
  color:#fff !important;
  fill:#fff !important;
}
@media (max-width:380px){
  #juicy-map-wrapper .juicy-nn-card{
    grid-template-columns:82px minmax(0, 1fr) !important;
    gap:10px !important;
    padding:10px !important;
  }
  #juicy-map-wrapper .juicy-nn-card .juicy-nn-thumb-slot,
  #juicy-map-wrapper .juicy-nn-card .juicy-nn-thumb-img{
    width:82px !important;
    height:82px !important;
  }
  #juicy-map-wrapper .juicy-nn-card-message{
    min-width:112px !important;
    font-size:11px !important;
    padding:7px 11px !important;
  }
}

/* Consolidated clean search strip above the map. */
#juicy-map-wrapper{
  position:relative !important;
  width:100% !important;
  max-width:none !important;
  overflow:visible !important;
}

#juicy-map-wrapper .juicy-nn-search-strip{
  position:relative !important;
  z-index:1200 !important;
  width:100vw !important;
  max-width:none !important;
  margin:0 0 0 calc(50% - 50vw) !important;
  padding:0 !important;
  background:#f7f7f9 !important;
  border:0 !important;
  border-bottom:1px solid rgba(15,23,42,.08) !important;
  box-shadow:0 1px 8px rgba(15,23,42,.04) !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

#juicy-map-wrapper .juicy-nn-search-strip-inner{
  width:min(calc(100% - 32px),1280px) !important;
  margin:0 auto !important;
  padding:14px 0 !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

#juicy-map-wrapper #juicy-search-container.juicy-searchbox{
  position:relative !important;
  inset:auto !important;
  transform:none !important;
  z-index:1200 !important;
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  contain:none !important;
  isolation:isolate !important;
}

#juicy-map-wrapper #juicy-map-wrap,
#juicy-map-wrapper .juicy-map-wrap{
  position:relative !important;
  z-index:1 !important;
  width:100% !important;
  margin:0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
  background:#eef2f5 !important;
}
#juicy-map-wrapper #juicy-map{
  position:relative !important;
  z-index:1 !important;
  width:100% !important;
  border-radius:0 !important;
}

#juicy-map-wrapper #juicy-search-container .juicy-searchbox-row,
#juicy-map-wrapper #juicy-search-container .juicy-searchbox-actions{
  margin:0 !important;
  box-sizing:border-box !important;
}

#juicy-map-wrapper #juicy-search-container .juicy-country-wrap,
#juicy-map-wrapper #juicy-search-container .juicy-city-wrap{
  position:relative !important;
  width:100% !important;
  max-width:100% !important;
  height:54px !important;
  min-height:54px !important;
  overflow:visible !important;
  box-sizing:border-box !important;
  flex:none !important;
}

#juicy-map-wrapper #juicy-search-container select,
#juicy-map-wrapper #juicy-search-container input,
#juicy-map-wrapper #juicy-search-container .juicy-search-input,
#juicy-map-wrapper #juicy-search-container .juicy-search-select,
#juicy-map-wrapper #juicy-search-container #juicy-country-display,
#juicy-map-wrapper #juicy-search-container #juicy-city-display{
  height:54px !important;
  min-height:54px !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  border-radius:12px !important;
  font-size:16px !important;
  line-height:1.15 !important;
}

#juicy-map-wrapper #juicy-search-container #juicy-country-display,
#juicy-map-wrapper #juicy-search-container #juicy-city-display,
#juicy-map-wrapper #juicy-search-container .juicy-search-typeahead{
  background:#fff !important;
  border:1px solid #d9d9df !important;
  box-shadow:none !important;
  color:#111 !important;
}

#juicy-map-wrapper #juicy-search-container #juicy-country-display:focus,
#juicy-map-wrapper #juicy-search-container #juicy-city-display:focus,
#juicy-map-wrapper #juicy-search-container .juicy-search-input:focus{
  border-color:#ff2d91 !important;
  box-shadow:0 0 0 3px rgba(255,45,145,.12) !important;
  outline:none !important;
}

#juicy-map-wrapper #juicy-search-container .juicy-search-typeahead{padding-right:118px !important;}
#juicy-map-wrapper #juicy-search-container .juicy-city-listbtn{
  position:absolute !important; right:10px !important; top:50% !important; transform:translateY(-50%) !important; z-index:4 !important;
  height:36px !important; min-height:36px !important; padding:0 14px !important; border-radius:10px !important;
  border:1px solid #dfe3e8 !important; background:#fff !important; color:#111 !important; font-weight:800 !important; box-shadow:none !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:54px !important; height:54px !important;
  border-radius:12px !important; font-size:16px !important; font-weight:800 !important; box-sizing:border-box !important;
}

#juicy-map-wrapper #juicy-search-container #juicy-search-btn.juicy-btn,
#juicy-map-wrapper #juicy-search-container #juicy-search-btn.juicy-btn.juicy-btn-primary{
  background:#ff2d91 !important; color:#fff !important; border:1px solid #ff2d91 !important;
  box-shadow:0 6px 16px rgba(255,45,145,.18) !important;
}
#juicy-map-wrapper #juicy-search-container #juicy-search-btn.juicy-btn:hover,
#juicy-map-wrapper #juicy-search-container #juicy-search-btn.juicy-btn:focus{
  background:#e91e7f !important; border-color:#e91e7f !important; color:#fff !important;
}

#juicy-map-wrapper #juicy-search-container #juicy-search-clear.juicy-btn,
#juicy-map-wrapper #juicy-search-container #juicy-try-city.juicy-btn{
  background:#fff !important; color:#4b5563 !important; border:1px solid #d9d9df !important; box-shadow:none !important;
}
#juicy-map-wrapper #juicy-search-container #juicy-search-clear.juicy-btn:hover,
#juicy-map-wrapper #juicy-search-container #juicy-try-city.juicy-btn:hover{
  color:#111 !important; border-color:#bfc4cc !important; background:#fff !important;
}

#juicy-map-wrapper #juicy-search-container #juicy-city-hint{display:none !important;}
#juicy-map-wrapper #juicy-search-container #juicy-city-suggest,
#juicy-map-wrapper #juicy-search-container .juicy-city-suggest{
  position:absolute !important; left:0 !important; right:0 !important; top:calc(100% + 8px) !important; z-index:1300 !important;
  width:100% !important; max-width:100% !important; max-height:min(360px,calc(100vh - 260px)) !important; overflow:auto !important;
  -webkit-overflow-scrolling:touch !important; background:#fff !important; border:1px solid #e5e7eb !important;
  border-radius:0 0 14px 14px !important; box-shadow:0 16px 36px rgba(15,23,42,.16) !important; box-sizing:border-box !important;
}

#juicy-map-wrapper .juicy-map-post-cta{
  position:absolute !important; left:50% !important; bottom:24px !important; transform:translateX(-50%) !important; z-index:850 !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:10px !important;
  min-height:52px !important; padding:10px 22px !important; border-radius:999px !important;
  background:#ff2d91 !important; color:#fff !important; text-decoration:none !important; white-space:nowrap !important;
  font-size:16px !important; font-weight:800 !important; line-height:1 !important; border:1px solid rgba(255,255,255,.24) !important;
  box-shadow:0 10px 28px rgba(15,23,42,.28),0 3px 10px rgba(255,45,145,.24) !important;
  transition:transform .18s ease,background .18s ease,opacity .18s ease,visibility .18s ease !important;
}
#juicy-map-wrapper .juicy-map-post-cta:hover,
#juicy-map-wrapper .juicy-map-post-cta:focus{
  background:#e91e7f !important; color:#fff !important; text-decoration:none !important; transform:translateX(-50%) translateY(-1px) !important;
}
#juicy-map-wrapper .juicy-map-post-cta-icon{
  display:inline-flex !important; align-items:center !important; justify-content:center !important; width:28px !important; height:28px !important;
  flex:0 0 28px !important; border-radius:999px !important; background:rgba(255,255,255,.18) !important; color:#fff !important; font-size:21px !important; font-weight:900 !important; line-height:1 !important;
}
#juicy-map-wrapper:has(#juicy-bottom-drawer.open) .juicy-map-post-cta,
#juicy-map-wrapper:has(#juicy-bottom-drawer-nc.open) .juicy-map-post-cta{opacity:0 !important;visibility:hidden !important;pointer-events:none !important;}

#juicy-bottom-drawer,#juicy-bottom-drawer-nc{z-index:9999 !important;}
#juicy-bottom-drawer.open,#juicy-bottom-drawer-nc.open{z-index:9999 !important;}

@media (min-width:1025px){
  #juicy-map-wrapper #juicy-search-container.juicy-searchbox{display:grid !important;grid-template-columns:minmax(210px,280px) minmax(300px,1fr) minmax(125px,150px) minmax(135px,170px) minmax(135px,170px) !important;gap:12px !important;align-items:start !important;}
  #juicy-map-wrapper #juicy-search-container .juicy-searchbox-row,#juicy-map-wrapper #juicy-search-container .juicy-searchbox-actions{display:contents !important;}
}
@media (min-width:701px) and (max-width:1024px){
  #juicy-map-wrapper .juicy-nn-search-strip-inner{width:min(calc(100% - 28px),1280px) !important;padding:14px 0 !important;}
  #juicy-map-wrapper #juicy-search-container.juicy-searchbox{display:grid !important;grid-template-columns:minmax(180px,.9fr) minmax(260px,1.4fr) !important;gap:12px !important;}
  #juicy-map-wrapper #juicy-search-container .juicy-searchbox-row{display:contents !important;}
  #juicy-map-wrapper #juicy-search-container .juicy-searchbox-actions{grid-column:1/-1 !important;display:grid !important;grid-template-columns:1fr 1fr 1fr !important;gap:12px !important;margin:0 !important;}
}
@media (max-width:700px){
  #juicy-map-wrapper .juicy-nn-search-strip-inner{width:min(calc(100% - 24px),1280px) !important;padding:12px 0 !important;}
  #juicy-map-wrapper #juicy-search-container.juicy-searchbox{display:block !important;}
  #juicy-map-wrapper #juicy-search-container .juicy-searchbox-row{display:grid !important;grid-template-columns:1fr !important;gap:10px !important;}
  #juicy-map-wrapper #juicy-search-container .juicy-searchbox-actions{display:grid !important;grid-template-columns:1fr !important;gap:10px !important;margin-top: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 select,#juicy-map-wrapper #juicy-search-container input,#juicy-map-wrapper #juicy-search-container .juicy-search-input,#juicy-map-wrapper #juicy-search-container .juicy-search-select,#juicy-map-wrapper #juicy-search-container #juicy-country-display,#juicy-map-wrapper #juicy-search-container #juicy-city-display,#juicy-map-wrapper #juicy-search-container .juicy-btn{height:52px !important;min-height:52px !important;}
  #juicy-map-wrapper #juicy-search-container .juicy-search-typeahead{padding-right:104px !important;}
  #juicy-map-wrapper .juicy-map-post-cta{bottom:18px !important;min-height:48px !important;max-width:calc(100% - 28px) !important;padding:9px 18px !important;font-size:15px !important;}
}
@media (max-width:380px){
  #juicy-map-wrapper .juicy-nn-search-strip-inner{width:min(calc(100% - 20px),1280px) !important;}
}

/* =========================================================
   Phase 107A: Search behavioral consolidation — Country overlay
   Behavioral-only mirror. Legacy source rules remain temporarily
   as a regression fallback and are not removed in this phase.
   ========================================================= */
#juicy-map-wrapper #juicy-search-container .juicy-country-wrap{
  position:relative !important;
}

#juicy-map-wrapper #juicy-search-container #juicy-search-country{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  -webkit-appearance:menulist;
  appearance:menulist;
  cursor:pointer;
}

#juicy-map-wrapper #juicy-search-container #juicy-country-display{
  position:relative;
  display:flex;
  align-items:center;
  padding-left:16px;
  padding-right:16px;
  pointer-events:none;
  box-sizing:border-box;
}

#juicy-map-wrapper #juicy-search-container .juicy-country-wrap.is-empty #juicy-country-display{
  color:#9aa0a6;
  font-weight:600;
}

#juicy-map-wrapper #juicy-search-container #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:.95;
}

@media (hover:none) and (pointer:coarse){
  #juicy-map-wrapper #juicy-search-container #juicy-country-display{
    display:none !important;
  }

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

/* =========================================================
   Phase 107B: Search behavioral consolidation — City overlay
   Behavioral-only mirror. Legacy source rules remain temporarily
   as a regression fallback and are not removed in this phase.
   ========================================================= */
#juicy-map-wrapper #juicy-search-container .juicy-city-wrap{
  position:relative !important;
  overflow:visible;
}

#juicy-map-wrapper #juicy-search-container #juicy-search-city{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  -webkit-appearance:menulist;
  appearance:menulist;
  cursor:pointer;
}

#juicy-map-wrapper #juicy-search-container #juicy-city-display{
  position:relative;
  display:flex;
  align-items:center;
  padding-left:16px;
  padding-right:16px;
  pointer-events:none;
  box-sizing:border-box;
}

#juicy-map-wrapper #juicy-search-container .juicy-city-wrap.is-empty #juicy-city-display{
  color:#9aa0a6;
  font-weight:600;
}

#juicy-map-wrapper #juicy-search-container #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:.95;
}

@media (hover:none) and (pointer:coarse){
  #juicy-map-wrapper #juicy-search-container #juicy-city-display{
    display:none !important;
  }

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

/* =========================================================
   Phase 107C: Search behavioral consolidation — Browse Cities button
   Behavioral-only mirror. Legacy source rules remain temporarily
   as a regression fallback and are not removed in this phase.
   ========================================================= */
#juicy-map-wrapper #juicy-search-container .juicy-city-listbtn{
  position:absolute !important;
  top:50% !important;
  right:10px !important;
  transform:translateY(-50%) !important;
  z-index:4 !important;
  display:flex;
  align-items:center;
  gap:6px;
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none;
}

#juicy-map-wrapper #juicy-search-container .juicy-city-listbtn:hover{
  background:#fff !important;
}

#juicy-map-wrapper #juicy-search-container .juicy-city-listbtn:focus{
  outline:none;
  box-shadow:none !important;
}

#juicy-map-wrapper #juicy-search-container .juicy-city-listbtn:focus-visible{
  outline:2px solid transparent;
  outline-offset:2px;
}

#juicy-map-wrapper #juicy-search-container .juicy-city-listbtn:active{
  background:#fff !important;
}

/* =========================================================
   Phase 107D: Search behavioral consolidation — Suggestions dropdown
   Behavioral-only mirror. Legacy source rules remain temporarily
   as a regression fallback and are not removed in this phase.
   ========================================================= */
#juicy-map-wrapper #juicy-search-container #juicy-city-suggest,
#juicy-map-wrapper #juicy-search-container .juicy-city-suggest{
  opacity:0;
  transform:translateY(-6px);
  transition:opacity 140ms ease, transform 140ms ease;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  scroll-behavior:smooth;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch !important;
}

#juicy-map-wrapper #juicy-search-container #juicy-city-suggest.open,
#juicy-map-wrapper #juicy-search-container .juicy-city-suggest.open{
  opacity:1;
  transform:translateY(0);
}

#juicy-map-wrapper #juicy-search-container #juicy-city-suggest .item,
#juicy-map-wrapper #juicy-search-container .juicy-city-suggest .item{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:10px 12px;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
}

#juicy-map-wrapper #juicy-search-container #juicy-city-suggest .item:hover,
#juicy-map-wrapper #juicy-search-container #juicy-city-suggest .item.is-active,
#juicy-map-wrapper #juicy-search-container .juicy-city-suggest .item:hover,
#juicy-map-wrapper #juicy-search-container .juicy-city-suggest .item.is-active{
  background:rgba(0,0,0,.06);
}

#juicy-map-wrapper #juicy-search-container #juicy-city-suggest .item.is-active,
#juicy-map-wrapper #juicy-search-container .juicy-city-suggest .item.is-active{
  box-shadow:inset 3px 0 0 rgba(99,179,46,.55);
}

/* JuicyBlock location control */
#juicy-map-wrapper .juicy-locate-btn{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:10px 16px;
  border:1px solid rgba(15,20,25,.14) !important;
  border-radius:999px;
  background:#fff !important;
  color:#0f1419 !important;
  font:700 14px/1.15 Inter,Arial,sans-serif;
  letter-spacing:-.01em;
  cursor:pointer;
  box-shadow:0 4px 14px rgba(15,20,25,.12);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
#juicy-map-wrapper .juicy-locate-btn:hover{
  transform:translateY(-1px);
  border-color:rgba(255,47,125,.42) !important;
  background:#fff8fb !important;
  box-shadow:0 7px 18px rgba(255,47,125,.18);
}
#juicy-map-wrapper .juicy-locate-btn:active{
  transform:translateY(0) scale(.98);
}
#juicy-map-wrapper .juicy-locate-btn:focus-visible{
  outline:3px solid rgba(255,47,125,.25);
  outline-offset:2px;
}
#juicy-map-wrapper .juicy-locate-btn .juicy-locate-icon{
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  border-radius:50%;
  background:linear-gradient(135deg,#ff2f7d,#ff5aa2);
  color:#fff;
  font-size:15px;
  box-shadow:0 3px 9px rgba(255,47,125,.28);
}
#juicy-map-wrapper .juicy-locate-btn.is-loading{
  cursor:wait;
  opacity:.82;
}
#juicy-map-wrapper .juicy-locate-btn.is-loading .juicy-locate-icon{
  animation:juicyLocatePulse .9s ease-in-out infinite alternate;
}
@keyframes juicyLocatePulse{
  from{transform:scale(.92);opacity:.72}
  to{transform:scale(1.06);opacity:1}
}
@media (max-width:600px){
  #juicy-map-wrapper .juicy-locate-btn{
    min-height:46px;
    padding:10px 15px;
    font-size:14px;
  }
}

/* === PHASE 125: TRUE DESKTOP SPLIT MAP LAYOUT ===
   Reuses the existing drawer DOM and JS.
   Desktop: drawer becomes a real left column; Leaflet occupies the remaining column.
   Mobile/tablet: existing bottom-sheet behavior remains unchanged. */
@media (min-width:1024px){
  #juicy-map-wrapper #juicy-map-wrap{
    position:relative !important;
    display:grid !important;
    grid-template-columns:0 minmax(0,1fr) !important;
    grid-template-rows:minmax(0,1fr) !important;
    width:100% !important;
    height:100vh !important;
    min-height:720px !important;
    overflow:hidden !important;
    background:#eef2f5 !important;
    transition:grid-template-columns .26s cubic-bezier(.2,.8,.2,1) !important;
  }
  #juicy-map-wrapper #juicy-map-wrap.juicy-side-panel-open{
    grid-template-columns:400px minmax(0,1fr) !important;
  }

  #juicy-map-wrapper #juicy-map{
    position:relative !important;
    grid-column:2 !important;
    grid-row:1 !important;
    width:100% !important;
    min-width:0 !important;
    height:100% !important;
    min-height:720px !important;
    border-radius:0 !important;
    overflow:hidden !important;
    z-index:1 !important;
  }

  #juicy-map-wrapper #juicy-bottom-drawer-nc{
    position:relative !important;
    grid-column:1 !important;
    grid-row:1 !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    width:100% !important;
    max-width:none !important;
    height:100% !important;
    min-width:0 !important;
    max-height:none !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
    border:0 !important;
    border-right:1px solid #e3e7eb !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:8px 0 24px rgba(15,23,42,.08) !important;
    transform:none !important;
    transition:opacity .16s ease !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    contain:layout paint !important;
    z-index:20 !important;
  }
  #juicy-map-wrapper #juicy-bottom-drawer-nc.open{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  #juicy-map-wrapper #juicy-drawer-header-nc{
    position:relative !important;
    top:auto !important;
    flex:0 0 auto !important;
    min-height:112px !important;
    padding:20px 54px 18px 24px !important;
    border-radius:0 !important;
    border-bottom:1px solid #e7eaee !important;
    box-shadow:none !important;
  }
  #juicy-map-wrapper #juicy-drawer-header-nc::before{display:none !important;}
  #juicy-map-wrapper #juicy-drawer-title-nc{
    align-items:flex-start !important;
    justify-content:center !important;
    gap:8px !important;
    text-align:left !important;
  }
  #juicy-map-wrapper .juicy-drawer-brand-title{
    text-align:left !important;
    font-size:28px !important;
    line-height:1.05 !important;
    letter-spacing:-.04em !important;
  }
  #juicy-map-wrapper .juicy-drawer-city-row{justify-content:flex-start !important;gap:7px !important;}
  #juicy-map-wrapper .juicy-drawer-city-row .juicy-drawer-title-text{
    max-width:calc(100% - 26px) !important;
    text-align:left !important;
    font-size:17px !important;
    line-height:1.2 !important;
  }
  #juicy-map-wrapper #juicy-drawer-close-nc{
    top:20px !important;
    right:16px !important;
    transform:none !important;
    width:38px !important;
    height:38px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:50% !important;
    font-size:20px !important;
    line-height:1 !important;
  }
  #juicy-map-wrapper #juicy-drawer-close-nc:hover,
  #juicy-map-wrapper #juicy-drawer-close-nc:focus-visible{background:#f1f3f4 !important;outline:none !important;}

  #juicy-map-wrapper #juicy-drawer-content-nc{
    flex:1 1 auto !important;
    min-height:0 !important;
    max-height:none !important;
    height:auto !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding:18px 16px 24px !important;
    overscroll-behavior:contain !important;
    scrollbar-gutter:stable !important;
  }
  #juicy-map-wrapper .juicy-nn-drawer-top{padding:2px 2px 16px !important;}
  #juicy-map-wrapper .juicy-nn-drawer-sub{margin:0 0 10px !important;}
#juicy-map-wrapper .juicy-nn-cards{gap:12px !important;}
  #juicy-map-wrapper .juicy-nn-card{
    grid-template-columns:86px minmax(0,1fr) !important;
    min-height:106px !important;
    gap:11px !important;
    padding:10px !important;
    border-radius:16px !important;
    box-shadow:0 3px 12px rgba(15,23,42,.06) !important;
  }
  #juicy-map-wrapper .juicy-nn-thumb-slot,
  #juicy-map-wrapper .juicy-nn-thumb-img{
    width:86px !important;
    height:86px !important;
    flex-basis:86px !important;
    border-radius:14px !important;
  }
}

/* === PHASE 126: DESKTOP DIRECTORY PANEL REFINEMENT ===
   Visual-only refinement of the existing desktop split panel.
   No drawer data, access, messaging, map marker, fetch or mobile behavior changes. */
@media (min-width:1024px){
  #juicy-map-wrapper #juicy-map-wrap.juicy-side-panel-open{
    grid-template-columns:450px minmax(0,1fr) !important;
  }

  #juicy-map-wrapper #juicy-drawer-header-nc{
    min-height:96px !important;
    padding:16px 54px 14px 22px !important;
  }
  #juicy-map-wrapper #juicy-drawer-title-nc{
    gap:6px !important;
  }
  #juicy-map-wrapper .juicy-drawer-brand-title{
    font-size:26px !important;
    line-height:1.05 !important;
    letter-spacing:-.035em !important;
  }
  #juicy-map-wrapper .juicy-drawer-city-row{
    gap:6px !important;
  }
  #juicy-map-wrapper .juicy-drawer-city-row .juicy-drawer-title-text{
    font-size:16px !important;
    line-height:1.18 !important;
  }
  #juicy-map-wrapper #juicy-drawer-close-nc{
    top:16px !important;
    right:14px !important;
    width:36px !important;
    height:36px !important;
  }

  #juicy-map-wrapper #juicy-drawer-content-nc{
    padding:16px 18px 24px !important;
  }
  #juicy-map-wrapper .juicy-nn-drawer-top{
    padding:0 2px 14px !important;
  }
  #juicy-map-wrapper .juicy-nn-drawer-sub{
    margin:0 0 8px !important;
    font-size:13px !important;
  }
#juicy-map-wrapper .juicy-nn-cards{
    gap:10px !important;
  }
  #juicy-map-wrapper .juicy-nn-card{
    grid-template-columns:100px minmax(0,1fr) !important;
    min-height:122px !important;
    gap:14px !important;
    padding:10px 12px !important;
    border-radius:16px !important;
    box-shadow:0 3px 12px rgba(15,23,42,.065) !important;
  }
  #juicy-map-wrapper .juicy-nn-card .juicy-nn-thumb-slot,
  #juicy-map-wrapper .juicy-nn-card .juicy-nn-thumb-img{
    width:100px !important;
    height:100px !important;
    flex-basis:100px !important;
    border-radius:15px !important;
  }
  #juicy-map-wrapper .juicy-nn-card-meta{
    gap:5px !important;
  }
  #juicy-map-wrapper .juicy-nn-card-name{
    font-size:16px !important;
    line-height:1.14 !important;
    font-weight:900 !important;
  }
  #juicy-map-wrapper .juicy-nn-card-public-intro{
    font-size:12.5px !important;
    line-height:1.3 !important;
    -webkit-line-clamp:2 !important;
  }
  #juicy-map-wrapper .juicy-nn-card-message{
    min-width:106px !important;
    min-height:30px !important;
    margin-top:2px !important;
    padding:7px 11px !important;
    border-radius:8px !important;
    font-size:11.5px !important;
    box-shadow:0 4px 10px rgba(255,45,143,.18) !important;
  }
  #juicy-map-wrapper .juicy-nn-card:hover .juicy-nn-card-message,
  #juicy-map-wrapper .juicy-nn-card:focus-visible .juicy-nn-card-message{
    box-shadow:0 5px 13px rgba(255,45,143,.24) !important;
  }
}


/* === PHASE 127: GOOGLE-MAPS-STYLE DESKTOP RESULT LIST ===
   Desktop-only visual refinement of the existing side panel.
   Keeps the same drawer/card DOM, click handlers, access flow and mobile bottom sheet. */
@media (min-width:1024px){
  /* Keep the proven 450px split; use the space more efficiently instead of widening the map panel again. */
  #juicy-map-wrapper #juicy-map-wrap.juicy-side-panel-open{
    grid-template-columns:450px minmax(0,1fr) !important;
  }

  /* Compact app-style panel header. */
  #juicy-map-wrapper #juicy-drawer-header-nc{
    min-height:88px !important;
    padding:14px 52px 12px 22px !important;
  }
  #juicy-map-wrapper .juicy-drawer-brand-title{
    font-size:25px !important;
    line-height:1.04 !important;
  }
  #juicy-map-wrapper .juicy-drawer-city-row .juicy-drawer-title-text{
    font-size:15px !important;
    line-height:1.16 !important;
  }
  #juicy-map-wrapper #juicy-drawer-close-nc{
    top:13px !important;
    right:12px !important;
    width:34px !important;
    height:34px !important;
  }

  #juicy-map-wrapper #juicy-drawer-content-nc{
    padding:0 18px 24px !important;
  }

  /* Nearby count and map action share one compact utility row. */
  #juicy-map-wrapper .juicy-nn-drawer-top{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    min-height:58px !important;
    padding:10px 2px !important;
    margin:0 !important;
    border-bottom:1px solid #eceff3 !important;
  }
  #juicy-map-wrapper .juicy-nn-drawer-sub{
    flex:1 1 auto !important;
    margin:0 !important;
    font-size:13px !important;
    line-height:1.3 !important;
    white-space:nowrap !important;
  }
  #juicy-map-wrapper .juicy-nn-drawer-actions{
    flex:0 0 auto !important;
    margin:0 !important;
  }
  /* Google-Maps-style result rows: no white card inside an already-white panel. */
  #juicy-map-wrapper .juicy-nn-cards{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
  }
  #juicy-map-wrapper .juicy-nn-card{
    grid-template-columns:120px minmax(0,1fr) !important;
    align-items:center !important;
    gap:16px !important;
    width:100% !important;
    min-height:146px !important;
    margin:0 !important;
    padding:13px 2px !important;
    border:0 !important;
    border-bottom:1px solid #eceff3 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    transition:background-color .16s ease !important;
  }
  #juicy-map-wrapper .juicy-nn-card:hover,
  #juicy-map-wrapper .juicy-nn-card:focus-visible{
    transform:none !important;
    background:#fafbfc !important;
    outline:none !important;
  }
  #juicy-map-wrapper .juicy-nn-card:active{
    transform:none !important;
    background:#f7f8fa !important;
  }

  #juicy-map-wrapper .juicy-nn-card .juicy-nn-thumb-slot,
  #juicy-map-wrapper .juicy-nn-card .juicy-nn-thumb-img{
    width:120px !important;
    height:120px !important;
    flex-basis:120px !important;
    border-radius:14px !important;
  }
  #juicy-map-wrapper .juicy-nn-card-meta{
    justify-content:center !important;
    gap:6px !important;
    padding-right:4px !important;
  }
  #juicy-map-wrapper .juicy-nn-card-name{
    font-size:16.5px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
  }
  #juicy-map-wrapper .juicy-nn-card-badges{
    gap:5px 6px !important;
  }
  #juicy-map-wrapper .juicy-nn-type-badge,
  #juicy-map-wrapper .juicy-nn-card-looking{
    padding:4px 8px !important;
    font-size:10.5px !important;
  }
  #juicy-map-wrapper .juicy-nn-card-public-intro{
    margin-top:1px !important;
    font-size:12.5px !important;
    line-height:1.34 !important;
    -webkit-line-clamp:2 !important;
  }

  /* Secondary action rather than a large repeated CTA on every result. */
  #juicy-map-wrapper .juicy-nn-card-message{
    min-width:0 !important;
    min-height:28px !important;
    width:max-content !important;
    margin:1px 0 0 !important;
    padding:5px 9px !important;
    border:1px solid #ffd0e2 !important;
    border-radius:999px !important;
    background:#fff4f8 !important;
    color:#d91669 !important;
    font-size:11.5px !important;
    font-weight:850 !important;
    box-shadow:none !important;
  }
  #juicy-map-wrapper .juicy-nn-card-message .juicy-nn-msg-icon,
  #juicy-map-wrapper .juicy-nn-card-message .juicy-nn-msg-icon svg{
    width:13px !important;
    height:13px !important;
    color:#d91669 !important;
    fill:#d91669 !important;
  }
  #juicy-map-wrapper .juicy-nn-card:hover .juicy-nn-card-message,
  #juicy-map-wrapper .juicy-nn-card:focus-visible .juicy-nn-card-message{
    background:#ffe8f1 !important;
    border-color:#ffb8d3 !important;
    color:#c5125f !important;
    box-shadow:none !important;
  }

  #juicy-map-wrapper .juicy-nn-drawer-foot{
    margin-top:14px !important;
    padding:0 2px !important;
  }
}

/* === PHASE 128: ROOMIER DESKTOP PROFILE RESULTS ===
   Desktop-only refinement of the existing result rows. The renderer/event wiring stays intact. */
@media (min-width:1024px){
  #juicy-map-wrapper .juicy-nn-card{
    grid-template-columns:132px minmax(0,1fr) !important;
    align-items:start !important;
    gap:18px !important;
    min-height:164px !important;
    padding:16px 4px !important;
  }

  #juicy-map-wrapper .juicy-nn-card .juicy-nn-thumb-slot,
  #juicy-map-wrapper .juicy-nn-card .juicy-nn-thumb-img{
    width:132px !important;
    height:132px !important;
    flex-basis:132px !important;
    border-radius:14px !important;
  }

  /* Once loaded, let the photograph read as the visual block rather than a framed tile. */
  #juicy-map-wrapper .juicy-nn-thumb-slot.is-loaded{
    background:transparent !important;
    box-shadow:none !important;
    border-color:rgba(15,23,42,.08) !important;
  }

  #juicy-map-wrapper .juicy-nn-card-meta{
    position:relative !important;
    align-self:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
    padding:1px 6px 1px 0 !important;
  }

  #juicy-map-wrapper .juicy-nn-card-name{
    margin:0 0 10px !important;
    padding-right:72px !important;
    font-size:17px !important;
    line-height:1.18 !important;
  }

  /* Keep status out of the badge flow on desktop without changing mobile DOM/order. */
  #juicy-map-wrapper .juicy-nn-card-badges .juicy-nn-card-status{
    position:absolute !important;
    top:0 !important;
    right:6px !important;
    min-height:22px !important;
    margin:0 !important;
    padding:3px 8px !important;
    font-size:10.5px !important;
  }

  #juicy-map-wrapper .juicy-nn-card-badges{
    width:100% !important;
    gap:6px 7px !important;
    margin:0 0 10px !important;
  }

  #juicy-map-wrapper .juicy-nn-type-badge,
  #juicy-map-wrapper .juicy-nn-card-looking{
    padding:5px 9px !important;
    font-size:11px !important;
  }

  #juicy-map-wrapper .juicy-nn-card-public-intro{
    margin:0 0 10px !important;
    font-size:12.5px !important;
    line-height:1.42 !important;
    -webkit-line-clamp:2 !important;
  }

  #juicy-map-wrapper .juicy-nn-card-message{
    margin-top:auto !important;
    min-height:31px !important;
    padding:6px 11px !important;
    font-size:11.5px !important;
  }
}


/* === PHASE 130: STRONGER DRAWER HEADLINE + NO SHOW-ON-MAP + SINGLE-LINE MESSAGE CTA ===
   The nearby bucket now lives in the drawer headline. The scatter/show-on-map action was removed
   to avoid dense marker explosions in large cities. Existing profile/access click flow stays intact. */
@media (min-width:1024px){
  #juicy-map-wrapper #juicy-drawer-header-nc{
    min-height:110px !important;
    padding:17px 52px 15px 22px !important;
  }
  #juicy-map-wrapper .juicy-drawer-brand-title{
    font-size:27px !important;
    line-height:1.08 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    letter-spacing:-0.035em !important;
    text-align:left !important;
  }
  #juicy-map-wrapper #juicy-drawer-title-nc{
    align-items:flex-start !important;
    text-align:left !important;
  }
  #juicy-map-wrapper .juicy-drawer-city-row{
    justify-content:flex-start !important;
  }
  #juicy-map-wrapper .juicy-drawer-city-row .juicy-drawer-title-text{
    text-align:left !important;
    font-size:21px !important;
    line-height:1.12 !important;
  }
  #juicy-map-wrapper #juicy-drawer-content-nc{
    padding-top:0 !important;
  }

  /* Keep the repeated profile CTA readable as one compact action. */
  #juicy-map-wrapper .juicy-nn-card-message{
    display:inline-flex !important;
    flex-wrap:nowrap !important;
    white-space:nowrap !important;
    min-width:116px !important;
    width:max-content !important;
    max-width:none !important;
    padding-left:11px !important;
    padding-right:11px !important;
  }
  #juicy-map-wrapper .juicy-nn-card-message > span:last-child{
    display:inline-block !important;
    white-space:nowrap !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
  }
}

/* Message label must never split into two lines on any viewport. */
#juicy-map-wrapper .juicy-nn-card-message{
  flex-wrap:nowrap !important;
  white-space:nowrap !important;
}
#juicy-map-wrapper .juicy-nn-card-message > span:last-child{
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}


/* === v13.10.16.6.145: MOBILE DRAWER MAP-CONTAINED BOTTOM SHEET ===
   On phones/tablets the drawer belongs to the map, not to the whole viewport.
   Keeping it absolute inside the positioned map shell prevents the drawer header
   from sliding behind the search controls while preserving a real bottom-sheet overlay. */
@media (max-width:1023px){
  #juicy-map-wrapper #juicy-map-wrap,
  #juicy-map-wrapper .juicy-map-wrap{
    position:relative !important;
    overflow:hidden !important;
  }
  #juicy-map-wrapper #juicy-map{
    overflow:hidden !important;
  }

  #juicy-map-wrapper #juicy-bottom-drawer-nc{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100% !important;
    max-width:none !important;
    display:flex !important;
    flex-direction:column !important;
    max-height:54% !important;
    overflow:hidden !important;
    z-index:99999 !important;
  }

  #juicy-map-wrapper #juicy-drawer-header-nc{
    position:relative !important;
    top:auto !important;
    flex:0 0 auto !important;
    min-height:112px !important;
    z-index:3 !important;
  }

  #juicy-map-wrapper #juicy-drawer-content-nc{
    flex:1 1 auto !important;
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch !important;
    padding-bottom:calc(18px + env(safe-area-inset-bottom, 0px)) !important;
  }

  #juicy-map-wrapper #juicy-bottom-drawer-nc.juicy-expanded{
    max-height:84% !important;
  }
}

@media (max-width:420px){
  #juicy-map-wrapper #juicy-bottom-drawer-nc{
    max-height:58% !important;
  }
  #juicy-map-wrapper #juicy-bottom-drawer-nc.juicy-expanded{
    max-height:88% !important;
  }
}



/* === v13.10.16.6.145: MOBILE DRAWER TITLE + CLOSE CONTROL ===
   Mobile-only: let the headline wrap naturally instead of clipping, and make
   the close action a clear touch target without changing desktop styling. */
@media (max-width:767px){
  #juicy-map-wrapper #juicy-drawer-header-nc{
    min-height:126px !important;
    padding:18px 58px 16px 20px !important;
  }

  #juicy-map-wrapper #juicy-drawer-title-nc{
    align-items:flex-start !important;
    justify-content:center !important;
    gap:8px !important;
    text-align:left !important;
  }

  #juicy-map-wrapper .juicy-drawer-brand-title{
    white-space:normal !important;
    overflow:visible !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    text-align:left !important;
    font-size:clamp(23px, 7vw, 30px) !important;
    line-height:1.04 !important;
    letter-spacing:-0.04em !important;
  }

  #juicy-map-wrapper .juicy-drawer-city-row{
    justify-content:flex-start !important;
  }
  #juicy-map-wrapper .juicy-drawer-city-row .juicy-drawer-title-text{
    text-align:left !important;
    font-size:17px !important;
    line-height:1.15 !important;
  }

  #juicy-map-wrapper #juicy-drawer-close-nc{
    top:16px !important;
    right:12px !important;
    transform:none !important;
    width:42px !important;
    height:42px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
    border:1px solid #dfe3e8 !important;
    border-radius:50% !important;
    background:#fff !important;
    color:#111827 !important;
    box-shadow:0 3px 10px rgba(15,23,42,.12) !important;
    font-size:27px !important;
    font-weight:500 !important;
    line-height:1 !important;
    z-index:10 !important;
  }
  #juicy-map-wrapper #juicy-drawer-close-nc:active{
    background:#f3f4f6 !important;
    transform:scale(.96) !important;
  }
}

@media (max-width:380px){
  #juicy-map-wrapper #juicy-drawer-header-nc{
    min-height:132px !important;
    padding-left:16px !important;
    padding-right:56px !important;
  }
  #juicy-map-wrapper .juicy-drawer-brand-title{
    font-size:22px !important;
  }
}


/* === v13.10.16.6.146: MAP SUGGESTION UX + ONE-TAP BADGE ===
   - Large pink badge dimensions/design remain unchanged.
   - Active badge is only de-emphasized while a different city suggestion popup is open.
   - Suggestion popup uses Juicy branding and a clearer action.
*/
#juicy-map-wrapper .juicy-nn-badge .juicy-nn-badge-wrap{
  transition: opacity .16s ease, filter .16s ease, transform .16s ease;
}
#juicy-map-wrapper .juicy-nn-badge.juicy-nn-badge-suggestion-dim .juicy-nn-badge-wrap{
  opacity:.34;
  filter:saturate(.65);
}
#juicy-map-wrapper .nn-city-suggest-leaflet .leaflet-popup-content-wrapper{
  border-radius:12px;
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}
#juicy-map-wrapper .nn-city-suggest-leaflet .leaflet-popup-content{
  margin:14px 16px 15px;
}
#juicy-map-wrapper .nn-suggest-popup{
  min-width:205px;
  gap:7px;
}
#juicy-map-wrapper .nn-suggest-popup .nn-suggest-title{
  margin:0 !important;
  color:#111;
  font-size:16px;
  font-weight:900;
  line-height:1.2;
}
#juicy-map-wrapper .nn-suggest-popup .nn-suggest-subtitle{
  margin:0 0 3px !important;
  color:#666;
  font-size:12px;
  font-weight:700;
  line-height:1.3;
}
#juicy-map-wrapper .leaflet-popup-content .nn-suggest-popup #nn-discover-btn,
#juicy-map-wrapper .leaflet-popup-content #nn-discover-btn{
  width:100%;
  min-height:39px;
  padding:9px 14px;
  border:1px solid #e31273;
  border-radius:8px;
  background:#f5228a !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(245,34,138,.24);
  font-size:13px;
  font-weight:900;
}
#juicy-map-wrapper .leaflet-popup-content .nn-suggest-popup #nn-discover-btn:hover,
#juicy-map-wrapper .leaflet-popup-content #nn-discover-btn:hover{
  background:#e31273 !important;
  transform:translateY(-1px);
  box-shadow:0 7px 16px rgba(227,18,115,.28);
}
#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);
}


/* === v13.10.16.6.148: PRIVATE-SAFE PROFILE AREA REVEAL ===
   Only User Uploads with privacy-shifted public_lat/public_lng receive the secondary
   "See where I am" action. The exact selected/GPS position is never rendered here. */
#juicy-map-wrapper .juicy-nn-card-actions{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:7px 10px !important;
  margin-top:auto !important;
}
#juicy-map-wrapper .juicy-nn-card-actions .juicy-nn-card-message{
  margin-top:0 !important;
}
#juicy-map-wrapper .juicy-nn-see-location{
  display:inline-flex !important;
  align-items:center !important;
  gap:4px !important;
  min-height:29px !important;
  padding:5px 1px !important;
  margin:0 !important;
  color:#d81479 !important;
  font-size:11.5px !important;
  line-height:1.15 !important;
  font-weight:850 !important;
  white-space:nowrap !important;
  text-decoration:none !important;
  cursor:pointer !important;
}
#juicy-map-wrapper .juicy-nn-see-location:hover{
  text-decoration:underline !important;
  text-underline-offset:2px !important;
}
#juicy-map-wrapper .juicy-nn-see-location-pin{
  font-size:13px !important;
  line-height:1 !important;
}

/* One small profile-area marker; deliberately distinct from the large city count badge. */
#juicy-map-wrapper .juicy-nn-profile-area-icon{
  background:transparent !important;
  border:0 !important;
}
#juicy-map-wrapper .juicy-nn-profile-area-pin{
  position:relative !important;
  width:34px !important;
  height:34px !important;
  margin:2px 0 0 4px !important;
  border-radius:50% 50% 50% 0 !important;
  transform:rotate(-45deg) !important;
  background:#ff2d91 !important;
  border:3px solid #fff !important;
  box-shadow:0 5px 14px rgba(20,25,40,.28) !important;
}
#juicy-map-wrapper .juicy-nn-profile-area-pin > span{
  position:absolute !important;
  width:11px !important;
  height:11px !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  border-radius:50% !important;
  background:#fff !important;
}
#juicy-map-wrapper .juicy-nn-profile-area-popup{
  min-width:145px !important;
  padding:2px 1px !important;
  text-align:left !important;
}
#juicy-map-wrapper .juicy-nn-profile-area-popup strong,
#juicy-map-wrapper .juicy-nn-profile-area-popup span{
  display:block !important;
}
#juicy-map-wrapper .juicy-nn-profile-area-popup strong{
  margin-bottom:3px !important;
  color:#171717 !important;
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
}
#juicy-map-wrapper .juicy-nn-profile-area-popup span{
  color:#666 !important;
  font-size:12px !important;
  line-height:1.35 !important;
  font-weight:650 !important;
}
@media (max-width:640px){
  #juicy-map-wrapper .juicy-nn-card-actions{
    gap:5px 9px !important;
  }
  #juicy-map-wrapper .juicy-nn-see-location{
    min-height:27px !important;
    font-size:11px !important;
  }
}


/* v153: instant name search inside the current location drawer. */
.juicy-nn-name-search{
  position:relative;
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 10px;
  border:1px solid #e2e5ea;
  background:#fff;
  min-height:44px;
  box-shadow:0 1px 4px rgba(20,24,32,.06);
}
.juicy-nn-name-search:focus-within{
  border-color:#ff2d91;
  box-shadow:0 0 0 2px rgba(255,45,145,.10);
}
.juicy-nn-name-search-icon{
  width:20px;height:20px;display:flex;align-items:center;justify-content:center;
  margin-left:12px;color:#60646c;flex:0 0 auto;
}
.juicy-nn-name-search-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;}
#juicy-nn-name-search-input{
  width:100%;min-width:0;height:42px;padding:0 4px;border:0!important;outline:0!important;
  background:transparent!important;box-shadow:none!important;color:#16181d;font:inherit;font-size:14px;font-weight:650;
}
#juicy-nn-name-search-input::placeholder{color:#8a8e97;opacity:1;font-weight:550;}
.juicy-nn-name-search-clear{
  width:34px;height:34px;margin-right:5px;border:0;background:transparent;color:#70747d;
  font-size:22px;line-height:1;cursor:pointer;flex:0 0 auto;
}
.juicy-nn-name-search-clear:hover,.juicy-nn-name-search-clear:focus{color:#ff2d91;outline:none;}
.juicy-nn-name-search-status{min-height:0;margin:-3px 0 8px;color:#7b7f87;font-size:12px;font-weight:650;}
.juicy-nn-name-search-status:empty{display:none;}
.juicy-nn-name-search-empty{
  padding:24px 12px;text-align:center;color:#20232a;font-size:14px;font-weight:800;
  border-top:1px solid #eceef1;border-bottom:1px solid #eceef1;
}
.juicy-nn-name-search-empty span{display:block;margin-top:6px;color:#777c85;font-size:12px;font-weight:550;}
@media (max-width:640px){
  .juicy-nn-name-search{position:sticky;top:0;z-index:4;margin:-2px 0 10px;}
  #juicy-nn-name-search-input{font-size:16px;} /* avoids mobile browser input zoom */
}

/* === PHASE 156 — Popup public-info hierarchy ===============================
   Popup-only visual refinement. Public message has no label; Age, Listing Type
   and Looking For are stronger scan targets. No access/data logic changes. */
#juicyAccessModal .juicy-nn-contact-row-age,
#juicyAccessModal .juicy-nn-contact-row-type{
  display:inline-flex !important;align-items:center;gap:6px;margin:0 6px 8px 0 !important;
}
#juicyAccessModal .juicy-nn-contact-row-age .juicy-nn-contact-label,
#juicyAccessModal .juicy-nn-contact-row-type .juicy-nn-contact-label{
  color:#64748b;font-size:12px;font-weight:800;
}
#juicyAccessModal .juicy-nn-contact-age{
  display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;
  border:1px solid #dbe3ec;background:#f8fafc;color:#334155;font-size:12px;font-weight:900;
}
#juicyAccessModal .juicy-nn-contact-type{
  min-height:28px;box-sizing:border-box;padding:5px 10px !important;
  border-color:#ffe0a8 !important;background:#fff7e8 !important;color:#8a4b00 !important;
  font-size:12px !important;font-weight:900 !important;
}
#juicyAccessModal .juicy-nn-contact-row-public-intro{
  display:block !important;margin:4px 0 9px !important;padding:13px 15px !important;box-sizing:border-box;
  border:1px solid #ffd0e6 !important;border-left:1px solid #ffd0e6 !important;
  border-radius:15px !important;background:#fff5fa !important;box-shadow:none !important;
}
#juicyAccessModal .juicy-nn-naughty-kicker,
#juicyAccessModal .juicy-nn-naughty-icon{display:none !important;}
#juicyAccessModal .juicy-nn-naughty-text{
  display:block;color:#111827;font-size:14px;line-height:1.5;font-weight:800;
}
#juicyAccessModal .juicy-looking-for{
  display:inline-flex !important;width:max-content;max-width:100%;min-height:34px;box-sizing:border-box;
  align-items:center;gap:7px;margin:0 0 9px !important;padding:7px 13px !important;
  border:1px solid #ff2d91 !important;border-radius:999px;background:#ff2d91 !important;
  color:#fff !important;font-size:12.5px !important;line-height:1.15;font-weight:900 !important;
  box-shadow:0 6px 16px rgba(255,45,145,.16) !important;
}
#juicyAccessModal .juicy-looking-for svg{width:15px;height:15px;color:#fff !important;stroke-width:2.2;}
#juicyAccessModal .juicy-nn-contact-row-status{display:block !important;margin-top:0 !important;}
#juicyAccessModal.juicy-unlocked #juicyAccessUnlockedActions button:first-child{
  background:#ff2d91 !important;border-color:#ff2d91 !important;color:#fff !important;box-shadow:none !important;
}
#juicyAccessModal.juicy-unlocked #juicyAccessUnlockedActions button:first-child:hover{
  background:#e91f82 !important;border-color:#e91f82 !important;
}
@media (max-width:640px){
  #juicyAccessModal .juicy-nn-contact-row-public-intro{padding:12px 13px !important;border-radius:14px !important;}
  #juicyAccessModal .juicy-nn-naughty-text{font-size:13.5px;}
  #juicyAccessModal .juicy-looking-for{padding:7px 11px !important;font-size:12px !important;}
}



/* === PHASE 157 — Popup Looking For as information, not a CTA =============
   Access-modal only. Keeps the map drawer logic untouched and reserves solid
   Juicy pink for actual actions. */
#juicyAccessModal .juicy-looking-for{
  display:inline-flex !important;align-items:center;gap:7px;width:max-content;max-width:100%;min-height:32px;box-sizing:border-box;
  margin:0 0 9px !important;padding:6px 10px !important;border:1px solid #ffc4df !important;
  border-radius:11px !important;background:#fff4f9 !important;color:#334155 !important;
  font-size:12px !important;line-height:1.15 !important;font-weight:700 !important;box-shadow:none !important;
}
#juicyAccessModal .juicy-looking-for svg{width:14px;height:14px;color:#ff2d91 !important;stroke:currentColor !important;}
#juicyAccessModal .juicy-looking-label{color:#7a6470;font-weight:700;}
#juicyAccessModal .juicy-looking-value{color:#d91473;font-weight:900;}
@media (max-width:640px){
  #juicyAccessModal .juicy-looking-for{padding:6px 9px !important;font-size:11.5px !important;border-radius:10px !important;}
}

/* === v13.10.16.6.183: Naughty Spot taxonomy === */
#juicy-map-wrapper .juicy-nn-type-just_here{background:#fff1f7 !important;border-color:#ffc5dd !important;color:#b70f61 !important;}
#juicy-map-wrapper .juicy-nn-card-looking[data-looking-for="something_naughty"]{background:#fff0f7 !important;border-color:#ffc6df !important;color:#b70f61 !important;}
