
/* NILA v21.53 Mobile Stability and CTA Tone Fix */
:root{
  --v53-ink:#071b31;
  --v53-green:#075f3c;
  --v53-teal:#007f78;
  --v53-blue:#176fc2;
  --v53-soft:#f7fbff;
  --v53-line:rgba(7,27,49,.12);
  --v53-muted:#52677f;
}

/* 1. Restore mobile hamburger menu behaviour and tappability */
@media(max-width:780px){
  .nav{
    position:sticky!important;
    top:0!important;
    z-index:2000!important;
    background:#fff!important;
  }
  .nav-inner{
    position:relative!important;
    overflow:visible!important;
  }
  .nav-hamburger,
  #navToggle{
    display:flex!important;
    position:relative!important;
    z-index:2200!important;
    pointer-events:auto!important;
    cursor:pointer!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:5px!important;
    min-width:54px!important;
    min-height:54px!important;
    border-radius:999px!important;
    background:#fff!important;
    border:0!important;
    box-shadow:0 16px 38px rgba(7,27,49,.10)!important;
  }
  .nav-hamburger span,
  #navToggle span{
    display:block!important;
    width:25px!important;
    height:3px!important;
    border-radius:4px!important;
    background:var(--v53-ink)!important;
  }
  .nav-inner.open .nav-links,
  .nav-links.open,
  #navLinks.open{
    display:flex!important;
    position:absolute!important;
    top:calc(100% + 10px)!important;
    left:14px!important;
    right:14px!important;
    flex-direction:column!important;
    gap:8px!important;
    padding:14px!important;
    border-radius:22px!important;
    background:#fff!important;
    border:1px solid var(--v53-line)!important;
    box-shadow:0 24px 70px rgba(7,27,49,.18)!important;
    z-index:2100!important;
  }
  .nav-inner.open .nav-links a,
  .nav-links.open a,
  #navLinks.open a{
    display:block!important;
    color:var(--v53-ink)!important;
    background:var(--v53-soft)!important;
    padding:13px 14px!important;
    border-radius:15px!important;
    text-decoration:none!important;
    font-weight:900!important;
  }
}

/* 2. Softer mobile homepage CTA, no loud yellow/green block */
@media(max-width:780px){
  body.page-home .v50-mobile-cta,
  body[data-nila-page="index"] .v50-mobile-cta{
    background:#fff!important;
    border:1px solid rgba(7,27,49,.10)!important;
    box-shadow:0 20px 55px rgba(7,27,49,.10)!important;
  }
  body.page-home .v50-field,
  body[data-nila-page="index"] .v50-field{
    background:#f7fbff!important;
    border:1px solid rgba(7,27,49,.10)!important;
  }
  body.page-home .v50-use-location,
  body[data-nila-page="index"] .v50-use-location,
  body.page-home .v42-location-action,
  body[data-nila-page="index"] .v42-location-action{
    background:#eef8f6!important;
    color:var(--v53-green)!important;
    border:1px solid rgba(0,127,120,.16)!important;
    box-shadow:none!important;
  }
  body.page-home .v50-find-help,
  body[data-nila-page="index"] .v50-find-help,
  body.page-home .v42-search-shell .hs-submit,
  body[data-nila-page="index"] .v42-search-shell .hs-submit{
    background:var(--v53-ink)!important;
    color:#fff!important;
    border:1px solid var(--v53-ink)!important;
    box-shadow:0 12px 28px rgba(7,27,49,.18)!important;
  }
}

/* 3. Stop provider/profile pages from being squashed on mobile */
@media(max-width:780px){
  body.page-provider,
  body[data-nila-page="provider"],
  body.page-profile,
  body[data-nila-page="profile"],
  body.page-profile-editor,
  body[data-nila-page="profile-editor"],
  body.page-provider-dashboard,
  body[data-nila-page="provider-dashboard"]{
    overflow-x:hidden!important;
  }

  body.page-provider #providerProfileMount,
  body[data-nila-page="provider"] #providerProfileMount,
  body.page-provider .container,
  body[data-nila-page="provider"] .container{
    width:100%!important;
    max-width:100%!important;
    padding-left:14px!important;
    padding-right:14px!important;
    box-sizing:border-box!important;
  }

  body.page-provider .v47-provider-shell,
  body.page-provider .v47-provider-main,
  body.page-provider .v47-provider-side,
  body.page-provider .premium-panel,
  body.page-provider .main-panel,
  body.page-provider #reviewSection,
  body[data-nila-page="provider"] .v47-provider-shell,
  body[data-nila-page="provider"] .v47-provider-main,
  body[data-nila-page="provider"] .v47-provider-side,
  body[data-nila-page="provider"] .premium-panel,
  body[data-nila-page="provider"] .main-panel,
  body[data-nila-page="provider"] #reviewSection{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-template-columns:1fr!important;
    box-sizing:border-box!important;
  }

  body.page-provider .v47-provider-main,
  body.page-provider .premium-panel.main-panel,
  body[data-nila-page="provider"] .v47-provider-main,
  body[data-nila-page="provider"] .premium-panel.main-panel{
    padding:18px!important;
    border-radius:22px!important;
  }

  body.page-provider .v47-provider-main h1,
  body.page-provider .premium-headline h1,
  body[data-nila-page="provider"] .v47-provider-main h1,
  body[data-nila-page="provider"] .premium-headline h1{
    font-size:36px!important;
    line-height:1!important;
    letter-spacing:-.045em!important;
    overflow-wrap:anywhere!important;
  }

  body.page-provider .v47-provider-actions,
  body[data-nila-page="provider"] .v47-provider-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  body.page-provider .v47-provider-actions a,
  body.page-provider .v47-provider-actions button,
  body[data-nila-page="provider"] .v47-provider-actions a,
  body[data-nila-page="provider"] .v47-provider-actions button{
    width:100%!important;
  }

  body.page-provider .v47-provider-facts,
  body[data-nila-page="provider"] .v47-provider-facts{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  body.page-provider .v47-provider-side,
  body[data-nila-page="provider"] .v47-provider-side{
    display:none!important;
  }

  body.page-provider .v47-provider-map,
  body.page-provider .v51-provider-map,
  body.page-provider .v52-provider-map,
  body[data-nila-page="provider"] .v47-provider-map,
  body[data-nila-page="provider"] .v51-provider-map,
  body[data-nila-page="provider"] .v52-provider-map{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-height:230px!important;
    margin-top:14px!important;
    border-radius:20px!important;
  }

  body.page-provider .v47-provider-map iframe,
  body.page-provider .v51-provider-map iframe,
  body.page-provider .v52-provider-map iframe,
  body[data-nila-page="provider"] .v47-provider-map iframe,
  body[data-nila-page="provider"] .v51-provider-map iframe,
  body[data-nila-page="provider"] .v52-provider-map iframe{
    min-height:230px!important;
    width:100%!important;
  }

  body.page-provider .v47-provider-rail,
  body[data-nila-page="provider"] .v47-provider-rail{
    padding-left:14px!important;
    padding-right:14px!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  body.page-provider .v47-provider-rail-inner,
  body[data-nila-page="provider"] .v47-provider-rail-inner{
    animation:none!important;
    transform:none!important;
    overflow-x:auto!important;
    width:auto!important;
    min-width:0!important;
    display:flex!important;
    -webkit-overflow-scrolling:touch!important;
  }

  /* Form/profile pages */
  body.page-profile-editor .container,
  body.page-provider-dashboard .container,
  body[data-nila-page="profile-editor"] .container,
  body[data-nila-page="provider-dashboard"] .container{
    width:100%!important;
    max-width:100%!important;
    padding-left:14px!important;
    padding-right:14px!important;
    box-sizing:border-box!important;
  }
  body.page-profile-editor form,
  body.page-profile-editor .card,
  body.page-profile-editor .panel,
  body.page-provider-dashboard .card,
  body.page-provider-dashboard .panel,
  body[data-nila-page="profile-editor"] form,
  body[data-nila-page="profile-editor"] .card,
  body[data-nila-page="profile-editor"] .panel,
  body[data-nila-page="provider-dashboard"] .card,
  body[data-nila-page="provider-dashboard"] .panel{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
}

/* 4. General mobile map safety */
@media(max-width:780px){
  #dirMapCard,
  #dirMap,
  .v51-map-card,
  .v51-map-embed,
  .v47-provider-map,
  .v51-provider-map,
  .v52-provider-map{
    max-width:100%!important;
    box-sizing:border-box!important;
  }
}
