/* ═══════════════════════════════════════════════════════════
   Shared by dates.html, dining.html — the two search-driven finder pages.

   These 46 rules appeared as one unbroken run, in this exact order, in
   the inline <style> of every page listed above. Both halves of that
   matter.

   Identical on every member page is what makes it safe to move: no page
   gains a rule it did not already have. A first attempt pooled the rules
   shared by any four-or-more pages into one stylesheet every page
   loaded, which silently restyled the pages that had never had them —
   body{line-height:1.6} qualified on count alone, terms.html was not
   one of its pages, and terms.html went from 5719px to 10532px tall.

   Contiguous, and linked from the exact spot the run occupied, is what
   makes it safe to move it OUT. Extraction normally hoists rules to the
   front of the cascade, and anything the page overrode later then wins:
   pulling out .toc's base rule flipped it from static to sticky on
   mobile, and pulling out .tier-card's dropped background and box-shadow
   from its hover transition. Keeping the run whole and the <link> in
   position leaves document order exactly as it was.

   That is why this file is smaller than the full overlap between these
   pages. The rest of the shared CSS is interleaved with page-specific
   rules that override it, and cannot be moved without changing what
   those pages render.
   ═══════════════════════════════════════════════════════════ */

.premium-badge svg{width:10px;height:10px;flex-shrink:0;}
.lock-badge{display:inline-flex;align-items:center;gap:4px;background:var(--wine);color:var(--gold);font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;padding:4px 10px;border:1px solid oklch(70.2% 0.087 84.8 / 0.25);cursor:pointer;transition:background 0.2s;}
.lock-badge:hover{background:oklch(70.2% 0.087 84.8 / 0.2);}
.free-tag{display:inline-block;background:oklch(68.1% 0.120 158.7 / 0.12);color:var(--green-text);font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:3px 8px;border:1px solid oklch(68.1% 0.120 158.7 / 0.25);}
.feature-locked{position:relative;}
.feature-locked .lock-overlay{position:absolute;inset:0;background:oklch(95.0% 0.016 73.7);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:10;padding:20px;text-align:center;}
.feature-locked .lock-overlay svg{width:32px;height:32px;color:var(--gold);}
.feature-locked .lock-overlay p{font-size:13px;color:var(--ink);line-height:1.5;max-width:260px;}
.nav-upgrade-btn{background:var(--gold);color:var(--ink);padding:5px 12px;font-size:10px;font-weight:700;letter-spacing:1px;transition:background 0.2s;}
.nav-upgrade-btn:hover{background:oklch(57.0% 0.068 82.4);color:var(--cream-card);}
.free-limit-bar{background:var(--cream-card);border:1px solid oklch(70.2% 0.087 84.8 / 0.2);border-left:3px solid var(--gold);padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;flex-wrap:wrap;}
.free-limit-bar p{font-size:12px;color:var(--charcoal);line-height:1.55;flex:1;}
.free-limit-bar strong{color:var(--gold-text);}
.btn-upgrade-inline{background:var(--gold);color:var(--ink);border:none;padding:10px 18px;font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:background 0.2s;white-space:nowrap;min-height:36px;}
.btn-upgrade-inline:hover{background:oklch(57.0% 0.068 82.4);}
body[data-premium="yes"] .adsbygoogle,body[data-premium="yes"] ins.adsbygoogle,body[data-premium="yes"] .ad-container,body[data-premium="yes"] [data-ad-block]{display:none!important;}
.hamburger span{display:block;width:20px;height:1.5px;background:var(--parchment);border-radius:2px;transition:transform 0.3s ease,opacity 0.3s ease;}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
@media(max-width:860px){.hamburger{display:flex!important;}}
#nav-auth-btn{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:500;letter-spacing:1.5px;color:var(--cream-a55);text-decoration:none;background:transparent;border:none;padding:0;white-space:nowrap;cursor:pointer;}
#nav-auth-btn:hover{color:var(--terra-soft);}
.skip-link{position:absolute;top:-40px;left:0;z-index:999;background:var(--wine);color:var(--parchment);padding:10px 18px;font-size:12px;font-weight:600;letter-spacing:1px;text-decoration:none;transform:translateY(-100%);transition:transform 0.2s;}
#hmb-toast-container{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none;align-items:center;}
.hmb-toast{background:var(--ink);color:var(--parchment);padding:14px 22px;font-size:13px;font-weight:500;letter-spacing:0.3px;border-radius:0;box-shadow:var(--lift-md);display:flex;align-items:center;gap:10px;transform:translateY(20px);opacity:0;transition:transform 0.35s cubic-bezier(0.16,1,0.3,1),opacity 0.3s;pointer-events:auto;max-width:90vw;border-left:3px solid var(--terra);}
@media(max-width:480px){#hmb-toast-container{bottom:80px;left:16px;right:16px;transform:none;}.hmb-toast{font-size:12px;padding:11px 16px;}}
button.is-loading{position:relative;color:transparent!important;pointer-events:none;}
button.is-loading::after{content:'';position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:2.5px solid oklch(99.2% 0.006 75 / 0.3);border-top-color:currentColor;color:var(--cream-card);border-radius:50%;animation:hmb-spin 0.7s linear infinite;}
button.is-loading.btn-outline::after,button.is-loading.btn-secondary::after{color:var(--terra);}
#back-to-top{position:fixed;bottom:24px;right:24px;z-index:200;width:44px;height:44px;border-radius:0;background:var(--wine);color:var(--parchment);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--lift-md);opacity:0;transform:translateY(20px);pointer-events:none;transition:all 0.3s;}
#back-to-top.visible{opacity:1;transform:translateY(0);pointer-events:auto;}
#back-to-top:hover{background:var(--terra);transform:translateY(-2px);}
#back-to-top svg{width:18px;height:18px;}
@media(max-width:480px){#back-to-top{width:42px;height:42px;bottom:18px;right:18px;}}
@media(max-width:860px){
    .bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:198;height:60px;background:oklch(26.2% 0.064 5.4);border-top:1px solid var(--cream-a05);padding-bottom:env(safe-area-inset-bottom);}
    .bottom-nav-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:var(--cream-a72);font-size:9px;font-weight:600;letter-spacing:0.5px;text-transform:uppercase;transition:color 0.15s;background:none;border:none;cursor:pointer;padding:6px 4px;min-height:54px;}
    .bottom-nav-tab svg{width:22px;height:22px;}
    .bottom-nav-tab.active{color:var(--terra-soft);}
    .bottom-nav-tab.active svg{filter:drop-shadow(0 0 6px oklch(75.6% 0.070 52.5 / 0.4));}
    .bottom-nav-tab:active{background:var(--cream-a05);}
    body{padding-bottom:calc(60px + env(safe-area-inset-bottom)) !important;}
    #back-to-top{bottom:calc(78px + env(safe-area-inset-bottom)) !important;}
    .mobile-signout-fab{bottom:calc(78px + env(safe-area-inset-bottom)) !important;}
    #hmb-toast-container{bottom:calc(76px + env(safe-area-inset-bottom)) !important;}
}
@media (display-mode: standalone){body{padding-bottom:env(safe-area-inset-bottom);}}
#ios-install-banner{display:none;position:fixed;left:12px;right:12px;bottom:76px;z-index:300;background:var(--parchment);color:var(--ink);padding:14px 16px;border-radius:0;box-shadow:var(--lift-md), 0 0 0 1px var(--terra-a10);align-items:center;gap:12px;animation:slideUpBanner 0.4s cubic-bezier(0.16,1,0.3,1);}
#ios-install-banner .iib-icon{width:44px;height:44px;border-radius:0;background:var(--wine);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
#ios-install-banner .iib-icon svg{width:24px;height:24px;color:var(--terra-soft);}
#ios-install-banner .iib-title{font-size:13px;font-weight:700;color:var(--ink);line-height:1.2;margin-bottom:3px;}
#ios-install-banner .iib-sub{font-size:11px;color:var(--stone);line-height:1.35;}
#ios-install-banner .iib-sub strong{color:var(--terra);font-weight:600;}
#ios-install-banner .iib-close{background:none;border:none;cursor:pointer;color:var(--stone);font-size:20px;padding:4px 8px;flex-shrink:0;line-height:1;}
#offline-banner{display:none;position:fixed;top:0;left:0;right:0;z-index:400;background:var(--ink);color:var(--parchment);padding:10px 16px;text-align:center;font-size:12px;font-weight:500;letter-spacing:0.3px;}
.saved-itin-modal{display:none;position:fixed;inset:0;background:oklch(20.8% 0.016 356.7 / 0.75);z-index:9999;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;}
.saved-itin-modal.visible{display:flex;}
