/* Select My Venue — customer-first mobile application UI v3 · 2026-10-01 */
@media (max-width: 767px){
  :root{--smv-m-bg:#f6faf8;--smv-m-ink:#073c35;--smv-m-teal:#0b8f7b;--smv-m-gold:#e1b84f;--smv-m-line:#d7e5e1;--smv-m-muted:#6c817c}

  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;-webkit-text-size-adjust:100%!important}
  body{padding-bottom:0!important}
  body.smv-app-sheet-open{overflow:hidden!important}

  /* ONE mobile app bar — no duplicate navigation */
  html body .site-header{
    position:sticky!important;top:0!important;z-index:11000!important;
    height:64px!important;min-height:64px!important;
    background:rgba(3,24,22,.97)!important;
    border-bottom:1px solid rgba(54,210,190,.18)!important;
    box-shadow:0 5px 18px rgba(0,0,0,.16)!important;
    backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;
  }
  html body .site-header .header-inner{
    width:100%!important;height:64px!important;min-height:64px!important;
    padding:0 10px!important;display:flex!important;align-items:center!important;
    gap:8px!important;box-sizing:border-box!important;
  }
  html body .site-header .brand{
    width:min(76vw,238px)!important;min-width:0!important;max-width:238px!important;
    height:60px!important;flex:1 1 auto!important;display:flex!important;align-items:center!important;
  }
  html body .site-header .brand .main-logo,
  html body .site-header .main-logo{
    width:100%!important;max-width:232px!important;height:56px!important;max-height:56px!important;
    object-fit:contain!important;object-position:left center!important;
    mix-blend-mode:screen!important;
  }
  html body .site-header .header-contact,
  html body .site-header .header-phone{display:none!important}
  html body .site-header .menu-toggle{
    display:inline-flex!important;flex:0 0 42px!important;width:42px!important;height:42px!important;
    margin:0!important;padding:0!important;align-items:center!important;justify-content:center!important;
    border:1px solid rgba(64,219,198,.35)!important;border-radius:12px!important;
    background:linear-gradient(145deg,#104d43,#082d28)!important;color:#f6fffd!important;
    font-size:0!important;line-height:1!important;box-shadow:0 5px 14px rgba(0,0,0,.16)!important;
  }
  html body .site-header .menu-toggle::before{content:"☰";font-size:20px!important;line-height:1!important}
  html body .site-header .menu-toggle[aria-expanded="true"]::before{content:"×"!important;font-size:25px!important}
  html body .site-header #mainNav{
    position:absolute!important;left:8px!important;right:8px!important;top:70px!important;
    width:auto!important;height:auto!important;max-height:calc(100vh - 82px)!important;overflow:auto!important;
    display:none!important;flex-direction:column!important;align-items:stretch!important;gap:3px!important;
    margin:0!important;padding:9px!important;border:1px solid rgba(45,201,181,.20)!important;
    border-radius:17px!important;background:rgba(3,27,24,.985)!important;
    box-shadow:0 22px 55px rgba(0,0,0,.36)!important;
  }
  html body .site-header #mainNav.open{display:flex!important}
  html body .site-header #mainNav a{
    width:100%!important;min-height:44px!important;box-sizing:border-box!important;
    padding:0 13px!important;display:flex!important;align-items:center!important;
    justify-content:flex-start!important;border-radius:10px!important;
    color:#e7f5f1!important;background:transparent!important;
    font-size:12px!important;font-weight:850!important;text-decoration:none!important;
  }
  html body .site-header #mainNav a.active{background:rgba(25,216,189,.10)!important;color:#67ead5!important}
  html body .site-header #mainNav a:not(.nav-cta)::after{display:none!important}
  html body .site-header #mainNav .nav-cta{
    min-height:46px!important;margin-top:4px!important;justify-content:center!important;
    border:1px solid rgba(243,200,75,.50)!important;
    background:linear-gradient(135deg,#126f60,#0b9a84)!important;color:#fff!important;
  }

  /* Remove every old bottom navigation / duplicate app navigation. */
  html body .smv-mobile-app-nav,
  html body .smv-customer-app-nav,
  html body .smv-mobile-bottom-nav,
  html body [data-mobile-app-nav]{display:none!important}
  html body .floating-whatsapp{bottom:16px!important;right:14px!important;z-index:10500!important}
  html body .smv-market-bar{bottom:12px!important;z-index:10400!important;width:calc(100% - 20px)!important}

  /* Shared page shell */
  html body main,
  html body .page-main,
  html body .venue-directory-main{width:100%!important;max-width:none!important;box-sizing:border-box!important}
  html body .page-main{padding:12px 10px 34px!important}
  html body .venue-directory-main{padding:10px 0 34px!important}
  html body .site-footer,.page-footer{margin-top:18px!important;padding:22px 14px!important}

  /* Homepage — compact, readable, touch friendly */
  html body main .hero{min-height:auto!important;padding:34px 14px 24px!important}
  html body main .hero-inner{display:block!important}
  html body main .hero-copy{max-width:none!important}
  html body .hero h1{font-size:36px!important;line-height:1.08!important}
  html body .hero-text{font-size:14px!important;line-height:1.55!important}
  html body .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  html body .hero-actions a{width:100%!important;min-height:46px!important;box-sizing:border-box!important}
  html body .hero-orbit{display:none!important}
  html body .smv-celebration-links{gap:6px!important;margin:13px 0!important}
  html body .smv-celebration-links a{min-height:34px!important;padding:6px 10px!important;font-size:11px!important}
  html body .home-venues-section,
  html body .enquiry-section,
  html body .popular-section,
  html body .feature-row,
  html body .ai-planner-section,
  html body .about-section,
  html body .contact-section{padding-left:12px!important;padding-right:12px!important}
  html body .section-heading{display:block!important}
  html body .section-heading h2{font-size:27px!important;line-height:1.18!important}
  html body main #featuredVenues .home-venue-grid{grid-template-columns:1fr!important;gap:12px!important}
  html body main #featuredVenues .home-venue-media,
  html body main #featuredVenues .home-venue-media img{height:205px!important;min-height:205px!important}
  html body main #featuredVenues .home-venue-content{padding:13px!important}
  html body main #featuredVenues .home-venue-content h3{font-size:20px!important}
  html body #customerEnquiryForm{padding:15px!important}
  html body #customerEnquiryForm .form-grid.four,
  html body #customerEnquiryForm .form-grid.five{grid-template-columns:1fr!important;gap:10px!important}
  html body #customerEnquiryForm .submit-wrap{width:100%!important}
  html body .smv-home-enquiry-edge{left:0!important;z-index:10300!important}
  html body .smv-home-enquiry-tab{min-height:44px!important;padding:0 9px!important}
  html body .smv-home-enquiry-drawer{width:min(100%,430px)!important}

  /* VENUE DIRECTORY — cards first, almost edge-to-edge */
  html body .venue-directory-hero{
    margin:0 10px 8px!important;padding:16px 14px!important;border-radius:15px!important;
    box-shadow:0 8px 24px rgba(0,0,0,.14)!important;
  }
  html body .venue-directory-hero h1{font-size:25px!important;line-height:1.08!important;margin:3px 0 6px!important}
  html body .venue-directory-hero>p:not(.eyebrow){font-size:11px!important;line-height:1.4!important}
  html body .venue-directory-trust{display:none!important}
  html body .venue-enquiry-trigger{margin:0 10px 8px!important;min-height:44px!important;padding:7px 10px!important;border-radius:12px!important}
  html body .venue-enquiry-trigger span{font-size:10px!important}
  html body .venue-enquiry-trigger strong{padding:7px 9px!important;font-size:9px!important}

  html body .smv-browse-top{
    position:sticky!important;top:64px!important;z-index:9000!important;
    border:0!important;border-bottom:1px solid #d7e5e1!important;
    background:rgba(246,250,248,.97)!important;box-shadow:0 5px 16px rgba(12,56,49,.10)!important;
    padding:7px 10px!important;backdrop-filter:blur(12px)!important;
  }
  html body .smv-browse-top-inner{
    width:100%!important;margin:0!important;padding:0!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) 92px!important;gap:6px!important;
  }
  html body .smv-browse-top input{
    grid-column:1/-1!important;min-height:40px!important;width:100%!important;
    border:1px solid #cbded9!important;border-radius:10px!important;background:#fff!important;
    color:#173f38!important;font-size:12px!important;box-sizing:border-box!important;
  }
  html body .smv-browse-top select{
    min-height:38px!important;border:1px solid #cbded9!important;border-radius:9px!important;
    background:#fff!important;color:#244a43!important;font-size:10px!important;box-sizing:border-box!important;
  }
  html body .smv-browse-top #smvBrowseSort{display:none!important}
  html body .smv-browse-top button{
    grid-column:auto!important;min-height:38px!important;border:0!important;border-radius:9px!important;
    background:linear-gradient(135deg,#0d8d79,#08705f)!important;color:#fff!important;font-size:10px!important;
  }
  html body .smv-browse-marquee{display:none!important}

  html body .venue-directory-results{
    display:flex!important;flex-direction:column!important;gap:0!important;width:100%!important;
  }
  html body .smv-mobile-directory-toolbar{
    position:static!important;order:0!important;min-height:42px!important;margin:7px 10px 7px!important;
    padding:3px!important;border:1px solid #d5e4e0!important;border-radius:11px!important;
    background:#fff!important;box-shadow:0 4px 12px rgba(20,66,58,.07)!important;
  }
  html body .smv-mobile-directory-toolbar button{
    min-height:34px!important;padding:0 10px!important;border:1px solid #c7ddd7!important;
    border-radius:8px!important;background:#f1f8f6!important;color:#0a6557!important;font-size:10px!important;
  }
  html body .smv-mobile-result-count{font-size:10px!important;color:#5c716c!important;padding-right:7px!important}
  html body .venue-results-column{width:100%!important;order:1!important}
  html body .venue-results-intro{display:none!important}
  html body #venueGrid{
    width:100%!important;display:grid!important;grid-template-columns:1fr!important;
    gap:10px!important;padding:0 6px!important;box-sizing:border-box!important;
  }
  html body .venue-card{
    width:100%!important;max-width:none!important;margin:0!important;min-width:0!important;
    border-radius:15px!important;overflow:hidden!important;
    border:1px solid #d9e6e2!important;background:#fff!important;
    box-shadow:0 7px 20px rgba(14,63,54,.09)!important;
  }
  html body .venue-card-media,
  html body .venue-card-media img,
  html body .venue-card-image-fallback{
    width:100%!important;height:185px!important;min-height:185px!important;display:block!important;
    object-fit:cover!important;
  }
  html body .venue-card-body{padding:12px!important}
  html body .venue-card h2{margin:0 0 3px!important;font-size:19px!important;line-height:1.18!important;color:#103f37!important}
  html body .venue-card .venue-location{font-size:11px!important;line-height:1.35!important;color:#667d77!important}
  html body .venue-card .venue-facts{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;margin:8px 0!important}
  html body .venue-card .venue-fact{min-height:34px!important;padding:6px 7px!important;border-radius:8px!important;background:#f4f9f7!important;font-size:9.5px!important;color:#31564f!important}
  html body .venue-feature-list{display:flex!important;flex-wrap:wrap!important;gap:4px!important}
  html body .venue-feature-list span{font-size:8.5px!important;padding:4px 6px!important}
  html body .smv-fit-note{margin-top:7px!important;padding:7px 8px!important;font-size:9px!important}
  html body .venue-description{font-size:10.5px!important;line-height:1.42!important;margin:7px 0!important;color:#667773!important}
  html body .venue-card .venue-actions{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;
    width:100%!important;margin-top:9px!important;
  }
  html body .venue-card .venue-actions .button{
    min-height:42px!important;width:100%!important;min-width:0!important;
    padding:0 7px!important;font-size:10px!important;border-radius:9px!important;
  }
  html body .smv-venue-tools{grid-template-columns:1fr 1fr!important;gap:6px!important;margin-top:6px!important}
  html body .smv-tool-btn{min-height:34px!important;font-size:9px!important}

  /* Filters = compact sheet, not a giant page section */
  html body .venue-filter-shell{
    position:fixed!important;left:8px!important;right:8px!important;top:72px!important;bottom:8px!important;
    z-index:12000!important;width:auto!important;max-height:none!important;overflow:auto!important;
    margin:0!important;padding:0!important;border-radius:17px!important;
    background:#fff!important;color:#193f38!important;
    border:1px solid #d5e4e0!important;box-shadow:0 24px 70px rgba(0,0,0,.34)!important;
    transform:translateY(115%)!important;transition:transform .22s ease!important;
  }
  html body.smv-mobile-filter-open .venue-filter-shell{display:block!important;transform:translateY(0)!important}
  html body .smv-mobile-filter-backdrop{z-index:11990!important;background:rgba(1,20,18,.62)!important;backdrop-filter:blur(3px)!important}
  html body .smv-filter-mobile-head{
    min-height:50px!important;padding:0 12px!important;position:sticky!important;top:0!important;z-index:3!important;
    background:#073c35!important;border-bottom:1px solid #d5e4e0!important;
  }
  html body .smv-filter-mobile-head strong{font-size:14px!important;color:#fff!important}
  html body .smv-filter-mobile-head button{min-height:32px!important;padding:0 10px!important;border-radius:8px!important;font-size:9px!important}
  html body .venue-filter-shell .smv-filter-clear-zone{padding:7px 10px!important}
  html body .venue-filter-shell .smv-filter-clear-btn{min-height:34px!important;font-size:9px!important}
  html body .venue-filter-shell .smv-filter-box{padding:0 10px 8px!important;border-bottom:1px solid #edf3f1!important}
  html body .venue-filter-shell .smv-filter-title{margin:0 -10px 6px!important;padding:8px 10px!important;background:#f3f8f6!important;color:#0b6759!important;font-size:9px!important}
  html body .venue-filter-shell .smv-filter-choice{min-height:33px!important;padding:5px 7px!important;font-size:10.5px!important;color:#35574f!important}
  html body .venue-filter-shell .smv-filter-choice.active{background:#e4f7f2!important;border-color:#8ad9cb!important;color:#087362!important}
  html body .venue-filter-shell .smv-filter-choice b{font-size:8.5px!important;color:#8b6a22!important}
  html body .venue-filter-shell .smv-filter-subsearch{height:35px!important;font-size:10px!important;background:#f8fbfa!important;color:#183f38!important}
  html body .venue-filter-shell .smv-filter-note{margin:5px 0 8px!important;padding:7px!important;font-size:8px!important;color:#71817d!important;background:#f7faf9!important;border-radius:8px!important}

  /* Landing/SEO pages */
  html body .search-landing-main .breadcrumbs{font-size:10px!important;margin-bottom:8px!important}
  html body .search-landing-hero{display:flex!important;flex-direction:column!important;gap:10px!important}
  html body .search-landing-copy{min-height:230px!important;padding:20px 15px!important;border-radius:15px!important}
  html body .search-landing-copy h1{font-size:28px!important;line-height:1.08!important}
  html body .quick-enquiry-card{padding:14px!important;border-radius:15px!important}
  html body .quick-enquiry-card h2{font-size:21px!important}
  html body .quick-enquiry-form{grid-template-columns:1fr!important;gap:8px!important}
  html body .quick-search-card{padding:14px!important}
  html body .seo-local-panel{padding:15px!important;border-radius:15px!important}
  html body .seo-event-grid,.seo-area-grid,.intent-link-grid{grid-template-columns:1fr!important}

  /* Venue profile — content first, sticky action only */
  html body.venue-profile-page main{padding-bottom:72px!important}
  html body .venue-profile-hero{margin:0!important;border-radius:0 0 16px 16px!important}
  html body .venue-profile-hero h1{font-size:27px!important;line-height:1.08!important}
  html body .venue-profile-content,
  html body .venue-profile-layout{display:block!important}
  html body .venue-profile-enquiry{margin-top:12px!important}
  html body .venue-mobile-actions{
    position:fixed!important;left:8px!important;right:8px!important;bottom:8px!important;z-index:10800!important;
    display:grid!important;grid-template-columns:1.45fr 1fr!important;gap:6px!important;
    padding:6px!important;border:1px solid #cbded9!important;border-radius:13px!important;
    background:rgba(255,255,255,.96)!important;box-shadow:0 10px 30px rgba(0,0,0,.18)!important;
    backdrop-filter:blur(12px)!important;
  }
  html body .venue-mobile-actions button,
  html body .venue-mobile-actions a{min-height:42px!important;border-radius:9px!important;font-size:10px!important;font-weight:900!important}
}
@media(max-width:380px){
  html body .site-header .brand{width:min(72vw,215px)!important}
  html body .site-header .brand .main-logo,html body .site-header .main-logo{max-width:210px!important}
  html body #venueGrid{padding:0 4px!important}
  html body .venue-card-media,html body .venue-card-media img,html body .venue-card-image-fallback{height:170px!important;min-height:170px!important}
  html body .venue-card .venue-actions{grid-template-columns:1fr!important}
}
