/* Australia Escorts v2.4.12: readable mobile city search and tappable Sponsored Ads.
   Desktop header, existing banners and search routes are preserved. */
@media (max-width:900px) {
  /* Keep ad section in the flow, collapsed until visitors tap its native summary. */
  body .city-directory-page .city-sponsored-disclosure,
  body .location-directory .city-sponsored-disclosure {
    display:block !important;
    visibility:visible !important;
    margin:8px 0 12px !important;
  }
  body .city-sponsored-disclosure > summary {
    display:flex !important;
    cursor:pointer !important;
    min-height:48px !important;
  }
  body .city-sponsored-disclosure > summary .city-sponsored-summary-title,
  body .city-sponsored-disclosure > summary .city-sponsored-summary-action {
    color:#fff !important;
    opacity:1 !important;
  }
  body .city-sponsored-disclosure[open] > summary .city-sponsored-summary-action {
    font-size:0 !important; /* Hide the literal "View ads" while expanded. */
  }
  body .city-sponsored-disclosure[open] > summary .city-sponsored-summary-action::before {
    font-size:12px !important; color:#fff !important;
  }
  body .city-sponsored-disclosure > summary:focus-visible {
    outline:3px solid #e9c35b !important;
    outline-offset:2px !important;
  }
}
@media (max-width:1240px) {
  body .site-header.premium-header .mobile-premium-header .mobile-top-row {
    display:flex !important; flex-wrap:nowrap !important; align-items:center !important;
    justify-content:space-between !important; box-sizing:border-box !important;
    gap:10px !important; padding:4px clamp(10px,3vw,20px) !important;
    min-height:48px !important; height:48px !important;
    background:#0c2219 !important; border-bottom:1px solid #315440 !important;
  }
  body .site-header.premium-header .mobile-auth-actions {
    display:flex !important; align-items:center !important; justify-content:flex-start !important;
    flex:0 1 auto !important; min-width:0 !important; gap:8px !important;
    margin:0 !important; padding:0 !important;
  }
  body .site-header.premium-header .mobile-top-row .mobile-auth-actions a {
    box-sizing:border-box !important; display:inline-flex !important; align-items:center !important;
    justify-content:center !important; white-space:nowrap !important;
    min-height:34px !important; height:34px !important; margin:0 !important;
    padding:0 12px !important; border-radius:8px !important; text-decoration:none !important;
    font-size:12.5px !important; font-weight:700 !important; line-height:1 !important;
    color:#f7fff9 !important; border:1px solid #547863 !important;
    background:#16372a !important;
  }
  body .site-header.premium-header .mobile-top-row .mobile-auth-actions .mobile-login-btn {
    color:#10271d !important; border-color:#e2bd68 !important; background:#e2bd68 !important;
  }
  body .site-header.premium-header .mobile-top-row .mobile-theme-toggle {
    flex:0 0 34px !important; margin:0 0 0 auto !important;
    display:inline-flex !important; align-items:center !important; justify-content:center !important;
    min-width:34px !important; width:34px !important; height:34px !important;
    padding:0 !important; border:1px solid #416b52 !important; border-radius:9px !important;
    background:#142e22 !important; color:#e7c576 !important; font-size:19px !important;
  }
  body .site-header.premium-header .mobile-cc-wrap { min-width:0 !important; }
  body .site-header.premium-header .mobile-cc-toggle {
    box-sizing:border-box !important; display:flex !important; align-items:center !important;
    justify-content:flex-start !important; gap:9px !important; width:100% !important;
    min-width:0 !important; min-height:42px !important; height:42px !important;
    padding:0 13px !important; overflow:hidden !important; white-space:nowrap !important;
    font-size:14px !important; font-weight:800 !important;
    background:#174a32 !important; color:#fff !important; border:1px solid #7aa382 !important;
    border-radius:8px !important;
  }
  body .site-header.premium-header .mobile-cc-toggle .mobile-cc-icon {
    display:inline-flex !important; justify-content:center !important; align-items:center !important;
    flex:0 0 19px !important; width:19px !important; height:19px !important;
    color:#f4d578 !important; opacity:1 !important;
  }
  body .site-header.premium-header .mobile-cc-toggle .mobile-cc-icon svg {
    display:block !important; width:19px !important; height:19px !important;
    stroke:currentColor !important; fill:none !important;
  }
  body .site-header.premium-header .mobile-cc-toggle #mobileCcLabel {
    display:inline-block !important; flex:1 1 auto !important;
    min-width:0 !important; overflow:visible !important; text-overflow:clip !important;
    color:#ffffff !important; -webkit-text-fill-color:#ffffff !important;
    opacity:1 !important; text-shadow:none !important;
    font-size:14px !important; font-weight:800 !important; line-height:1.2 !important;
    text-align:left !important; white-space:nowrap !important;
  }
  body .site-header.premium-header .mobile-cc-toggle .mobile-cc-arrow {
    display:inline-flex !important; flex:0 0 auto !important;
    margin-left:auto !important; color:#ffffff !important;
    opacity:1 !important; font-size:13px !important; font-weight:800 !important;
  }

  body.mobile-cc-open { overflow:hidden !important; }
  body.mobile-cc-open::before {
    content:'' !important; position:fixed !important; inset:0 !important;
    z-index:100050 !important; background:rgba(2,13,9,.67) !important;
  }
  body .mobile-cc-dropdown.mobile-cc-portal {
    box-sizing:border-box !important; display:flex !important; flex-direction:column !important;
    position:fixed !important; z-index:100140 !important;
    top:clamp(72px,12vh,120px) !important; left:50% !important; right:auto !important;
    width:min(440px,calc(100vw - 24px)) !important; max-width:calc(100vw - 24px) !important;
    height:auto !important; max-height:calc(100dvh - clamp(88px,14vh,136px)) !important;
    overflow:hidden !important; padding:0 !important;
    border:1px solid #cfded3 !important; border-radius:17px !important;
    background:#fff !important; box-shadow:0 26px 60px rgba(2,20,12,.38) !important;
    opacity:0 !important; visibility:hidden !important; pointer-events:none !important;
    transform:translateX(-50%) translateY(-6px) !important;
  }
  body.mobile-cc-open .mobile-cc-dropdown.mobile-cc-portal {
    opacity:1 !important; visibility:visible !important; pointer-events:auto !important;
    transform:translateX(-50%) translateY(0) !important;
  }
  body .mobile-cc-dropdown.mobile-cc-portal .mobile-cc-search-head {
    box-sizing:border-box !important; display:flex !important; align-items:center !important;
    justify-content:space-between !important; flex:0 0 auto !important;
    padding:13px 14px 0 !important; width:100% !important;
  }
  body .mobile-cc-dropdown.mobile-cc-portal .mobile-cc-search-label {
    display:block !important; color:#123724 !important; font-size:15px !important;
    font-weight:800 !important; line-height:1.3 !important;
  }
  body .mobile-cc-dropdown.mobile-cc-portal .mobile-cc-close {
    display:grid !important; place-items:center !important; cursor:pointer !important;
    flex:0 0 30px !important; width:30px !important; height:30px !important;
    padding:0 !important; background:#f2f7f3 !important; border:1px solid #d6e6dc !important;
    border-radius:9px !important; color:#214b35 !important; font-size:24px !important;
  }
  body .mobile-cc-dropdown.mobile-cc-portal .mobile-cc-search {
    flex:0 0 auto !important; box-sizing:border-box !important;
    width:calc(100% - 28px) !important; height:45px !important; min-height:45px !important;
    margin:9px 14px 0 !important; padding:0 13px !important;
    background:#fff !important; color:#152e20 !important;
    border:1px solid #bfcfc4 !important; border-radius:10px !important;
    font-size:14px !important; font-weight:500 !important;
  }
  body .mobile-cc-dropdown.mobile-cc-portal .mobile-cc-search::placeholder {color:#65766a !important;opacity:1 !important}
  body .mobile-cc-dropdown.mobile-cc-portal .mobile-cc-search:focus {border-color:#087645 !important;box-shadow:0 0 0 3px rgba(2,111,62,.13) !important}
  body .mobile-cc-dropdown.mobile-cc-portal .mobile-cc-results-note {
    flex:0 0 auto !important; padding:10px 15px !important;
    font-size:11px !important; font-weight:650 !important; color:#597263 !important;
    border-bottom:1px solid #e1ece3 !important;
  }
  body .mobile-cc-dropdown.mobile-cc-portal .mobile-cc-city-list,
  body .mobile-cc-dropdown.mobile-cc-portal .mobile-cc-city-list.active {
    display:block !important; flex:1 1 auto !important; box-sizing:border-box !important;
    min-height:0 !important; max-height:none !important; overflow-y:auto !important;
    width:100% !important; margin:0 !important; padding:4px 12px 12px !important;
    overscroll-behavior:contain !important;
    background:#fff !important; border:0 !important;
  }
  body .mobile-cc-dropdown.mobile-cc-portal .mobile-cc-city-group {
    display:block !important; padding:0 0 5px !important; margin:0 !important;
  }
  body .mobile-cc-dropdown.mobile-cc-portal .mobile-cc-state-heading {
    color:#1c4730 !important; font-size:11px !important; line-height:1.4 !important;
    letter-spacing:.085em !important; text-transform:uppercase !important;
    font-weight:800 !important; padding:10px 3px 6px !important; margin:0 !important;
  }
  body .mobile-cc-dropdown.mobile-cc-portal .mobile-cc-city-grid {
    display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important; margin:0 !important; padding:0 !important;
  }
  body .mobile-cc-dropdown.mobile-cc-portal .mobile-cc-city-list .mobile-cc-city {
    display:flex !important; align-items:center !important; justify-content:flex-start !important;
    box-sizing:border-box !important; min-width:0 !important; min-height:39px !important;
    height:auto !important; margin:0 !important; padding:8px 10px !important;
    color:#103824 !important; background:#f2f8f3 !important;
    border:1px solid #d7e6db !important; border-radius:9px !important;
    text-align:left !important; text-decoration:none !important; text-shadow:none !important;
    line-height:1.25 !important; font-size:12.5px !important; font-weight:700 !important;
  }
  body .mobile-cc-dropdown.mobile-cc-portal .mobile-cc-city-list .mobile-cc-city:hover,
  body .mobile-cc-dropdown.mobile-cc-portal .mobile-cc-city-list .mobile-cc-city:focus-visible {
    color:#fff !important; border-color:#0b6b42 !important; background:#0b6b42 !important;
  }
  body .mobile-cc-dropdown.mobile-cc-portal .mobile-cc-city-list [hidden],
  body .mobile-cc-dropdown.mobile-cc-portal .mobile-cc-city-group[hidden] {
    display:none !important;
  }
  body .mobile-cc-dropdown.mobile-cc-portal .mobile-cc-empty {
    color:#50695a !important; font-size:13px !important; padding:12px 5px !important;
    text-align:left !important; margin:0 !important;
  }
}
@media (max-width:360px) {
  body .site-header.premium-header .mobile-top-row .mobile-auth-actions {gap:5px !important}
  body .site-header.premium-header .mobile-top-row .mobile-auth-actions a {
    font-size:11px !important; padding:0 9px !important;
  }
  body .site-header.premium-header .mobile-top-row .mobile-theme-toggle {
    width:32px !important; height:32px !important; min-width:32px !important; flex-basis:32px !important;
  }
}

/* Keep existing mobile menu text legible on forest-green header. */
@media(max-width:1240px){
 body .site-header.premium-header .mobile-menu-btn,
 body .site-header.premium-header .mobile-menu-btn span { color:#fff !important; -webkit-text-fill-color:#fff !important; }
}
