/* Header: same on every page */
.topbar-info{
  background:var(--ink); color:#E9E4D8;
  display:flex; justify-content:center; align-items:center; flex-wrap:wrap;
  gap:10px 28px; padding:9px 16px; font-size:0.82rem;
  overflow:hidden; transition:max-height 0.35s ease, opacity 0.3s ease, padding 0.35s ease;
}
header.topbar-collapsed .topbar-info{max-height:0 !important; opacity:0; padding-top:0; padding-bottom:0;}
.topbar-info span{white-space:nowrap; display:inline-flex; align-items:center; gap:6px;}
.topbar-info a{color:#E9E4D8; text-decoration:none;}
.topbar-info a:hover{color:#fff; text-decoration:underline;}
.topbar-info .divider{opacity:0.4;}
.topbar-stars{color:#D8B978;}
.topbar-gold{color:#D8B978; font-weight:700;}
.topbar-accent{color:#D8B978 !important; font-weight:700;}
.topbar-accent:hover{color:#EAD3A3 !important; text-decoration:underline;}
header{background:var(--paper);}
.nav{gap:18px;}
.nav-right{display:flex; align-items:center; gap:18px;}
.nav-phone-link{display:flex; align-items:center; gap:6px; font-weight:600; font-size:0.95rem; text-decoration:none; color:var(--ink); white-space:nowrap;}
.nav-phone-link:hover{color:var(--moss);}
.nav a.cta-btn{background:none; color:var(--ink); padding:0; border-radius:0; text-decoration:none; font-weight:700; font-size:0.9rem; letter-spacing:0.03em; text-transform:uppercase; white-space:nowrap;}
.nav a.cta-btn:hover{color:var(--moss); background:none; text-decoration:underline;}
@media (max-width:900px){ .topbar-info{display:none;} }

/* Shared additions for the live site (loaded after each page's own styles) */
[hidden]{display:none !important;}
.hp-field{position:absolute !important; left:-9999px; width:1px !important; height:1px; opacity:0;}
a.filter-btn{display:inline-block; text-decoration:none;}
.submit-btn:hover, .call-btn:hover{background:var(--ink);}
.submit-btn[disabled]{opacity:0.6; cursor:default;}
.form-note a{color:var(--moss); font-weight:600; text-decoration:none;}
.form-note a:hover{text-decoration:underline;}
.form-note.form-error{color:#9A2E1F; font-weight:600; font-size:0.95rem;}
.form-success{border-top:2px solid var(--moss); padding-top:24px; outline:none;}
.form-success h3{font-size:1.5rem; font-weight:500; margin-bottom:12px;}
.form-success p{color:var(--muted); font-size:1.02rem;}
.form-success a{color:var(--moss); font-weight:700; text-decoration:none;}
footer{padding-left:20px; padding-right:20px; padding-bottom:calc(32px + env(safe-area-inset-bottom,0px));}
footer a{color:var(--muted); text-decoration:none;}
footer a:hover{color:var(--moss); text-decoration:underline;}
.footer-links{display:flex; justify-content:center; flex-wrap:wrap; gap:8px 24px; margin-bottom:14px; font-weight:600;}
.footer-contact{margin-bottom:10px;}
.gg-item img{cursor:zoom-in;}
.hero-slide picture{display:contents;}

/* Phone header: logo on the left, tap-to-call and menu on the right */
@media (max-width:900px){
  .nav{padding:14px 18px; gap:14px;}
  .brand-logo{flex:0 0 auto; margin-right:auto;}
  .brand-logo img{max-width:none; height:38px;}
  .nav .nav-right{gap:0;}
  .nav a.nav-phone-link{display:flex; font-size:0.95rem;}
  .nav a.cta-btn{display:none;}
  .menu-toggle{order:3; padding:2px; line-height:1;}
}
@media (max-width:360px){
  .nav{padding:14px 12px; gap:10px;}
  .brand-logo img{height:32px;}
  .nav a.nav-phone-link{font-size:0.88rem;}
}

/* Full-screen photo viewer */
.lightbox{flex-direction:column;}
.lightbox img{width:auto; height:auto; max-width:100%; max-height:calc(100vh - 110px); object-fit:contain;}
.lb-nav{position:fixed; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:50%; background:rgba(251,248,242,0.14); border:none; color:#fff; font-size:1.8rem; cursor:pointer; z-index:201; display:flex; align-items:center; justify-content:center;}
.lb-nav:hover{background:rgba(251,248,242,0.28);}
.lb-prev{left:16px;} .lb-next{right:16px;}
.lb-cap{color:#E3DCCC; margin-top:14px; font-size:0.95rem; text-align:center;}
body.lb-lock{overflow:hidden;}
