
/* NILA v21.54 Map Root Guard Visual Stabiliser */
:root{
  --v54-line:rgba(7,27,49,.12);
}
body.page-directory #dirMapCard,
body[data-nila-page="directory"] #dirMapCard,
body.v52-directory-page #dirMapCard{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  min-height:340px!important;
  background:#fff!important;
  border:1px solid var(--v54-line)!important;
  border-radius:24px!important;
  overflow:hidden!important;
}
body.page-directory #dirMap,
body[data-nila-page="directory"] #dirMap,
body.v52-directory-page #dirMap{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  min-height:300px!important;
  width:100%!important;
  background:#eaf2fb!important;
}
/* Prefer live map. Do not let fallback iframe hide the real map once Google is present. */
body.page-directory #dirMap .gm-style,
body[data-nila-page="directory"] #dirMap .gm-style{
  display:block!important;
}
@media(max-width:780px){
  body.page-directory #dirMapCard,
  body[data-nila-page="directory"] #dirMapCard{
    min-height:280px!important;
  }
  body.page-directory #dirMap,
  body[data-nila-page="directory"] #dirMap{
    min-height:240px!important;
  }
}


/* v21.54 Mobile CTA colour correction, colour without the harsh yellow/green */
@media(max-width:780px){
  body.page-home .v50-mobile-cta,
  body[data-nila-page="index"] .v50-mobile-cta{
    background:
      radial-gradient(circle at 8% 0%, rgba(23,111,194,.10), transparent 30%),
      radial-gradient(circle at 100% 90%, rgba(0,127,120,.10), transparent 32%),
      #ffffff!important;
    border:1px solid rgba(7,27,49,.10)!important;
    box-shadow:0 22px 60px rgba(7,27,49,.12)!important;
  }
  body.page-home .v50-field,
  body[data-nila-page="index"] .v50-field{
    background:#f5fbff!important;
    border:1px solid rgba(23,111,194,.14)!important;
  }
  body.page-home .v50-field:focus-within,
  body[data-nila-page="index"] .v50-field:focus-within{
    border-color:rgba(0,127,120,.42)!important;
    box-shadow:0 0 0 4px rgba(0,127,120,.08)!important;
  }
  body.page-home .v50-field label,
  body[data-nila-page="index"] .v50-field label{
    color:#52677f!important;
  }
  body.page-home .v50-field select,
  body.page-home .v50-field input,
  body[data-nila-page="index"] .v50-field select,
  body[data-nila-page="index"] .v50-field input{
    color:#071b31!important;
  }
  body.page-home .v50-use-location,
  body[data-nila-page="index"] .v50-use-location{
    background:linear-gradient(135deg,#e9fbf8,#eef6ff)!important;
    color:#075f3c!important;
    border:1px solid rgba(0,127,120,.20)!important;
    box-shadow:0 12px 28px rgba(0,127,120,.10)!important;
  }
  body.page-home .v50-use-location::before,
  body[data-nila-page="index"] .v50-use-location::before{
    content:"";
    width:8px;
    height:8px;
    border-radius:999px;
    background:#f27b42;
    margin-right:8px;
    box-shadow:0 0 0 5px rgba(242,123,66,.12);
  }
  body.page-home .v50-find-help,
  body[data-nila-page="index"] .v50-find-help{
    background:linear-gradient(135deg,#071b31,#075f3c 72%,#007f78)!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.18)!important;
    box-shadow:0 16px 34px rgba(7,27,49,.22)!important;
  }
  body.page-home .v50-find-help:active,
  body.page-home .v50-use-location:active,
  body[data-nila-page="index"] .v50-find-help:active,
  body[data-nila-page="index"] .v50-use-location:active{
    transform:translateY(1px)!important;
  }
}
