/*
Theme Name: Banes Residence
Description: Custom theme for banesresidence.com. Header/footer content is editable via the "Site Settings" plugin.
Version: 1.0
*/
*{box-sizing:border-box;}
html,body{margin:0;}
html,body{overflow-x:hidden;}          /* ADD THIS LINE */
body{font-family:var(--font-sans);background:var(--surface-base);color:var(--text-body);line-height:1.5;}
:root{
  --color-deep-blue:#021537; --color-electric-blue:#003D9A; --color-red:#911018;
  --color-gray:#C0C9CE; --color-black:#090909;
  --blue-500:#1A55C2; --blue-400:#4178DE; --blue-300:#7BA1EC;
  --surface-base:#fff; --surface-subtle:#F6F8F9;
  --text-strong:#021537; --text-body:#232A30; --text-muted:#586068; --border-default:#C0C9CE;
  --font-display:'Syne',system-ui,sans-serif; --font-sans:'Plus Jakarta Sans',system-ui,sans-serif;
  --glow-action:0 0 0 1px rgba(0,61,154,.35),0 8px 24px rgba(0,61,154,.45);
  --dur-base:.22s; --ease-standard:cubic-bezier(.4,0,.2,1);
}
*{box-sizing:border-box;}
html,body{margin:0;}
body{font-family:var(--font-sans);background:var(--surface-base);color:var(--text-body);line-height:1.5;}
a{color:var(--color-electric-blue);}
img{max-width:100%;}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-sans);font-weight:700;
  text-decoration:none;cursor:pointer;border:0;transition:all var(--dur-base) var(--ease-standard);
  clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%);}
.btn-primary{background:var(--color-electric-blue);color:#fff;box-shadow:var(--glow-action);}
.btn-primary:hover{background:#0049B8;color:#fff;}
.btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4);}
.btn-ghost:hover{border-color:#fff;color:#fff;}
.btn-sm{font-size:14px;padding:10px 18px;} .btn-md{font-size:15px;padding:13px 24px;} .btn-lg{font-size:16px;padding:16px 30px;}
.btn[disabled],.btn.is-off{opacity:.45;pointer-events:none;}

header.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:11px 40px;background:linear-gradient(180deg,rgba(2,21,55,.55) 0%,rgba(2,21,55,0) 100%);transition:all var(--dur-base) var(--ease-standard);}
header.nav.scrolled{padding:7px 40px;background:rgba(2,21,55,.92);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid rgba(255,255,255,.10);}
header.nav .logo img{height:44px;width:auto;display:block;}
header.nav .logo-text{color:#fff;font-family:var(--font-display);font-weight:800;font-size:16px;letter-spacing:-0.01em;}
header.nav nav{display:flex;gap:34px;}
header.nav nav a{color:rgba(255,255,255,.82);text-decoration:none;font-size:14px;font-weight:600;}
header.nav nav a:hover{color:#fff;}

#mobilebar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:100;}
#mobilebar a{flex:1;text-align:center;padding:16px;font-weight:700;text-decoration:none;font-size:15px;color:#fff;}

/* Give fixed-header pages breathing room since header.nav is position:fixed */
/* Note: intentionally no padding-top here. Sections like .hero and .book
   already build in their own top spacing (e.g. .hero .inner padding:108px...)
   to clear the fixed header - adding it again here would create a double gap. */

footer.site{background:var(--color-black);border-top:3px solid var(--color-red);color:rgba(255,255,255,.7);}
footer.site .grid{max-width:1200px;margin:0 auto;padding:72px 40px 40px;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:48px;}
footer.site .logo img{height:52px;width:auto;display:block;margin-bottom:20px;}
footer.site .logo-text{color:#fff;font-family:var(--font-display);font-weight:800;font-size:20px;display:block;margin-bottom:20px;}
footer.site .about-f{color:rgba(255,255,255,.55);font-size:14px;line-height:1.6;max-width:30ch;}
footer.site h4{color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;margin:0 0 18px;}
footer.site ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;}
footer.site ul a{color:rgba(255,255,255,.6);text-decoration:none;font-size:14px;}
footer.site ul a:hover{color:#fff;}
footer.site .base{border-top:1px solid rgba(255,255,255,.1);padding:22px 40px;max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}
footer.site .base span{color:rgba(255,255,255,.4);font-size:12px;}

@media (max-width:820px){
  header.nav nav{display:none;}
  #mobilebar{display:flex;}
}
@media (max-width:820px){
  footer.site .grid{grid-template-columns:1fr;gap:36px;}
  footer.site .logo img{height:auto !important;max-width:260px;width:auto !important;}
}

/* Keep custom HTML pages flush against the theme footer. */
main.site-content {
  margin: 0 !important;
  padding: 0 !important;
}
main.site-content > :first-child { margin-top: 0 !important; }
main.site-content > :last-child { margin-bottom: 0 !important; }
main.site-content > p:empty,
main.site-content > br:last-child {
  display: none !important;
}
main.site-content > p:empty,
main.site-content > br:last-child {
  display: none !important;
}

@media (max-width:860px){              /* ADD THIS WHOLE BLOCK */
  .about .est{left:12px;bottom:-20px;}
}

