
:root{--nsm-g:#0b5d49;--nsm-gd:#073d31;--nsm-gold:#c99b43;--nsm-line:#e8e1d3}
.site-header{position:relative;z-index:1100;background:#fff;border-bottom:1px solid var(--nsm-line);font-family:Arial,Helvetica,sans-serif}
.site-header .header-inner{width:100%;min-height:94px;margin:0;padding:0 28px 0 18px;box-sizing:border-box;display:flex;align-items:center;gap:30px}
.site-header .brand{flex:0 0 auto;margin:0;padding:0}.site-header .brand img{display:block;width:72px;height:72px;object-fit:contain}
.site-header .main-nav{margin-left:auto;display:flex;align-items:center;gap:34px}.site-header .main-nav a{padding:38px 0 31px;text-decoration:none;color:#303531;text-transform:uppercase;font-size:13px;font-weight:700;letter-spacing:.08em;white-space:nowrap}
.site-header .main-nav a:hover{color:var(--nsm-g);border-bottom:2px solid var(--nsm-gold)}
.site-header .main-nav .parking-admin-link{padding:12px 16px;background:#064b3a;color:#fff;border:1px solid var(--nsm-gold);border-radius:7px}.site-header .main-nav .parking-admin-link:hover{background:#0a5d48;color:#fff;border-bottom:1px solid var(--nsm-gold)}
.site-header .menu-toggle{display:none;border:0;background:none;width:42px}.site-header .menu-toggle span{display:block;height:2px;background:var(--nsm-gd);margin:6px;transition:.18s}
.site-footer{position:relative;background:linear-gradient(145deg,#04382d 0%,#052f27 58%,#03261f 100%);color:#eaf1ee;border-top:3px solid var(--nsm-gold);font-family:Arial,Helvetica,sans-serif}
.nsm-shell-container{width:min(1180px,calc(100% - 48px));margin:auto;box-sizing:border-box}
.site-footer .footer-grid{display:grid;grid-template-columns:1.45fr 1fr .85fr 1.15fr;gap:34px;padding-top:48px;padding-bottom:38px}
.site-footer .footer-brand .footer-logo-link{display:inline-flex;width:82px;height:82px;background:transparent}.site-footer .footer-brand img{display:block;width:82px;height:82px;object-fit:contain;background:transparent}
.site-footer .footer-tagline{max-width:300px;margin:15px 0 8px;color:#dce7e3;line-height:1.6;font-size:.84rem}.site-footer .footer-focus{margin:0;color:#e5bc62;font-size:.75rem;font-weight:800}.site-footer .footer-focus span{padding:0 5px}
.site-footer .footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.site-footer .footer-column h3{margin:2px 0 8px;color:#d9b45f;font-family:Georgia,"Times New Roman",serif;font-size:1.03rem}.site-footer .footer-column>a{color:#e5eeea;text-decoration:none;font-size:.82rem;line-height:1.45}.site-footer .footer-column>a:hover{color:#e5bc62}
.site-footer .footer-socials{display:flex;gap:9px;margin-top:9px}.site-footer .footer-socials .social-link{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:3px;margin:0;background:transparent;border:0}.site-footer .footer-socials svg{width:24px;height:24px;fill:#e8bc5d}.site-footer .footer-socials a:hover svg{fill:#fff}
.site-footer .footer-contact-website{margin-top:5px;color:#d9b45f!important;text-decoration:none;font-size:.78rem!important;font-weight:800}
.site-footer .footer-bottom{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:62px;border-top:1px solid rgba(215,178,94,.24);padding:15px 0;text-align:center}.site-footer .footer-bottom p{margin:0;color:#bdcbc6;font-size:.72rem}.site-footer .footer-legal{display:flex;gap:8px;font-size:.7rem}.site-footer .footer-legal a{color:#d9b45f;text-decoration:none}.site-footer .footer-legal span{color:#758f86}
@media(max-width:1120px){.site-header .main-nav{gap:18px}.site-header .main-nav a{font-size:11px}}
@media(max-width:820px){.site-header .header-inner{min-height:80px;padding-left:12px;padding-right:16px}.site-header .brand img{width:62px;height:62px}.site-header .menu-toggle{display:block;margin-left:auto}.site-header .main-nav{position:absolute;top:100%;right:0;left:auto;width:min(82vw,340px);display:none;flex-direction:column;align-items:stretch;gap:0;padding:14px 24px 24px;background:#fff;box-shadow:-14px 18px 32px rgba(9,43,34,.18)}.site-header .main-nav.is-open{display:flex}.site-header .main-nav a{display:flex;align-items:center;width:100%;min-height:54px;box-sizing:border-box;padding:14px 2px;margin:0;border-bottom:1px solid #e7e1d6;color:#173f34;font-size:.88rem}.site-header .main-nav a:not(.parking-admin-link)::after{content:"›";margin-left:auto;color:#c18e31;font-size:1.35rem}.site-header .main-nav .parking-admin-link{margin-top:12px;justify-content:center}.site-header .menu-toggle.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg)}.site-header .menu-toggle.is-open span:nth-child(2){opacity:0}.site-header .menu-toggle.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.site-footer .footer-grid{grid-template-columns:1fr 1fr}.site-footer .footer-brand,.site-footer .footer-contact{grid-column:1/-1}}
@media(max-width:520px){.nsm-shell-container{width:calc(100% - 32px)}.site-footer .footer-grid{grid-template-columns:1fr}.site-footer .footer-brand,.site-footer .footer-contact{grid-column:auto}}


/* v3.36 — neutralize legacy Vylaa Parking header/footer styles.
   These overrides are intentionally limited to the shared public shell. */

/* HEADER: exact clean round logo, no legacy navy box */
.site-header{
  min-height:94px !important;
  padding:0 !important;
  background:#fff !important;
  border-top:0 !important;
  border-bottom:1px solid #e8e1d3 !important;
}
.site-header .header-inner{
  min-height:94px !important;
  height:94px !important;
  padding:0 28px 0 18px !important;
}
.site-header .brand{
  display:flex !important;
  align-items:center !important;
  gap:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}
.site-header .brand img{
  width:72px !important;
  height:72px !important;
  max-width:72px !important;
  max-height:72px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  box-shadow:none !important;
  object-fit:contain !important;
}
.site-header .main-nav{
  height:94px !important;
  margin-left:auto !important;
  align-items:center !important;
}
.site-header .main-nav > a:not(.parking-admin-link){
  margin:0 !important;
}

/* FOOTER: remove legacy 55px top padding and block styling inherited by spans */
.site-footer{
  padding:0 !important;
  margin:0 !important;
  background:linear-gradient(145deg,#04382d 0%,#052f27 58%,#03261f 100%) !important;
  color:#eaf1ee !important;
  border-top:3px solid #c99b43 !important;
}
.site-footer .footer-grid{
  padding-top:48px !important;
  padding-bottom:38px !important;
}
.site-footer .footer-brand,
.site-footer .footer-column{
  margin:0 !important;
}
.site-footer .footer-brand .footer-logo-link,
.site-footer .footer-brand .footer-logo-link img{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:50% !important;
}
.site-footer .footer-focus{
  display:block !important;
  margin:0 !important;
  color:#e5bc62 !important;
}
.site-footer .footer-focus span{
  display:inline !important;
  margin:0 !important;
  padding:0 5px !important;
  color:#e5bc62 !important;
  font-size:inherit !important;
}
.site-footer .footer-column a{
  display:inline-block !important;
  margin:0 !important;
}
.site-footer .footer-socials{
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  margin-top:9px !important;
}
.site-footer .footer-socials .social-link{
  display:inline-flex !important;
  margin:0 !important;
}
.site-footer .footer-legal span{
  display:inline !important;
  margin:0 !important;
  color:#758f86 !important;
}
.site-footer .footer-bottom{
  margin:0 auto !important;
}

/* Keep Admin Login as the only extra control on Parking. */
.site-header .parking-admin-link{
  margin-left:2px !important;
}

@media(max-width:820px){
  .site-header{
    min-height:80px !important;
  }
  .site-header .header-inner{
    min-height:80px !important;
    height:80px !important;
    padding-left:12px !important;
    padding-right:16px !important;
  }
  .site-header .brand img{
    width:62px !important;
    height:62px !important;
    max-width:62px !important;
    max-height:62px !important;
  }
  .site-header .main-nav{
    height:auto !important;
  }
  .site-footer .footer-grid{
    padding-top:38px !important;
  }
}
