/* Active Tahoe — site chrome (header, nav, footer, mobile action bar).
   Owner: chrome worker. Prefix: att- / 10-. */

:root{
  --att-green:#005A39;
  --att-green-2:#04704F;
  --att-ink:#171717;
  --att-bar-h:68px;
}

/* ---------------------------------------------------------------- 34: sticky header */
.wp-site-blocks > header.wp-block-template-part{
  position:-webkit-sticky;
  position:sticky;
  top:0;
  z-index:50;
  background-color:#ffffff;
}
.wp-site-blocks > header.wp-block-template-part.att-scrolled{
  box-shadow:0 1px 10px rgba(0,0,0,.12);
  border-bottom:1px solid rgba(0,0,0,.08);
}
.att-header{background-color:#ffffff;}
/* WP admin bar offsets (logged-in views only) */
@media screen and (min-width:783px){
  .admin-bar .wp-site-blocks > header.wp-block-template-part{top:32px;}
}
@media screen and (min-width:601px) and (max-width:782px){
  .admin-bar .wp-site-blocks > header.wp-block-template-part{top:46px;}
}
/* below 600px the WP admin bar is not fixed, so no offset is needed */

/* ---------------------------------------------------------------- 17/18: wordmark */
.att-header__bar{gap:1rem;}
.att-wordmark{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start;
  justify-content:center;
  gap:0 !important;
  flex:0 0 auto;
  min-width:0;
}
.att-wordmark .wp-block-site-title{margin:0;line-height:1.05;}
.att-wordmark .wp-block-site-title a{
  font-family:var(--wp--preset--font-family--roboto-flex, system-ui, sans-serif);
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
  font-size:clamp(1.05rem,.85rem + .9vw,1.45rem);
  line-height:1.05;
  color:var(--att-green) !important;
  text-decoration:none !important;
  white-space:nowrap;
}
.att-wordmark__sub{
  margin:.2rem 0 0 !important;
  font-family:var(--wp--preset--font-family--roboto-flex, system-ui, sans-serif);
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  line-height:1.1;
  color:#3f4a45;
  white-space:nowrap;
}
@media (max-width:359px){ .att-wordmark__sub{display:none;} }

/* ---------------------------------------------------------------- 30: tap targets */
.wp-block-navigation .wp-block-navigation-item__content{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  padding:10px 12px;
  line-height:1.2;
}
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close{
  min-width:44px;
  min-height:44px;
  align-items:center;
  justify-content:center;
  padding:10px;
  box-sizing:border-box;
}

/* ---------------------------------------------------------------- 05: CTA inside the menu */
.att-nav-cta > a.wp-block-navigation-item__content,
.att-nav-cta > .wp-block-navigation-item__content{
  background-color:var(--att-green);
  color:#ffffff !important;
  border-radius:999px;
  padding:11px 18px;
  font-weight:700;
  text-decoration:none !important;
  white-space:nowrap;
}
.att-nav-cta > a.wp-block-navigation-item__content:hover,
.att-nav-cta > a.wp-block-navigation-item__content:focus{
  background-color:var(--att-green-2);
  color:#ffffff !important;
}
/* inside the overlay the CTA gets its own row, full width */
.wp-block-navigation__responsive-container.is-menu-open .att-nav-cta{
  margin-top:.5rem;
}
.wp-block-navigation__responsive-container.is-menu-open .att-nav-cta > a.wp-block-navigation-item__content{
  justify-content:center;
  padding:14px 22px;
  font-size:1.05rem;
}
/* overlay sits above the sticky header */
.wp-block-navigation__responsive-container.is-menu-open{z-index:100000;}

/* ------------------------------------------------- 06: overlay menu up to 833px (no dead zone) */
@media (min-width:600px) and (max-width:833px){
  .wp-block-navigation .wp-block-navigation__responsive-container-open:not(.always-shown){
    display:flex !important;
  }
  .wp-block-navigation .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){
    display:none !important;
  }
}

/* core zeroes the padding of menu items inside the overlay — put the tap target back */
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content{
  padding:10px 12px !important;
  min-height:44px;
  display:inline-flex;
  align-items:center;
}
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content .att-nav-cta > a.wp-block-navigation-item__content{
  padding:14px 24px !important;
  justify-content:center;
  font-size:1.05rem;
}

/* ---------------------------------------------------------------- 05: phone action bar */
.att-mobilebar{
  display:none;
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:60;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:9px 12px calc(9px + env(safe-area-inset-bottom,0px));
  background:#ffffff;
  border-top:1px solid rgba(0,0,0,.14);
  box-shadow:0 -2px 14px rgba(0,0,0,.10);
}
.att-mobilebar__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  min-height:48px;
  padding:10px 12px;
  border-radius:999px;
  font-family:var(--wp--preset--font-family--roboto-flex, system-ui, sans-serif);
  font-size:1rem;
  font-weight:700;
  line-height:1.15;
  text-align:center;
  text-decoration:none !important;
  box-sizing:border-box;
}
.att-mobilebar__btn svg{flex:0 0 auto;width:20px;height:20px;fill:currentColor;}
.att-mobilebar__btn--call{
  background:#ffffff;
  color:var(--att-green) !important;
  border:2px solid var(--att-green);
}
.att-mobilebar__btn--book{
  background:var(--att-green);
  color:#ffffff !important;
  border:2px solid var(--att-green);
}
@media (max-width:833px){
  .att-mobilebar{display:grid;}
  /* keep the bar from covering the end of the page */
  .att-footer{padding-bottom:calc(var(--wp--preset--spacing--40) + var(--att-bar-h) + env(safe-area-inset-bottom,0px)) !important;}
  body.att-has-mobilebar{padding-bottom:0;}
}
/* don't float over the open overlay menu */
body:has(.wp-block-navigation__responsive-container.is-menu-open) .att-mobilebar{display:none !important;}
html.has-modal-open .att-mobilebar{display:none !important;}

/* ---------------------------------------------------------------- 14: footer */
.att-footer{--wp--style--color--link:#ffffff;}
.att-footer,
.att-footer p,
.att-footer li{color:#ffffff;}
.att-footer a{
  color:#ffffff !important;
  text-decoration:underline;
  text-underline-offset:3px;
}
.att-footer a:hover,
.att-footer a:focus{color:#bfe6d5 !important;}
.att-footer__brand{max-width:640px;}
.att-footer__name{margin:0 0 .35rem !important;}
.att-footer__tag{margin:0 !important;color:#dcefe6;}
.att-footer__cols{gap:2rem;align-items:flex-start;}
.att-footer__cols > .wp-block-column{flex-basis:0;flex-grow:1;}
.att-footer__h{margin:0 0 .5rem !important;}
.att-footer__links{list-style:none !important;margin:0 !important;padding:0 !important;}
.att-footer__links li{margin:0;}
.att-footer__links a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:4px 0;
}
.att-footer__note{margin:.35rem 0 0 !important;color:#dcefe6;font-size:.92rem;}
.att-footer__form{max-width:640px;}
.att-footer__copyright{
  font-size:.85rem;
  color:#d2e9df;
  border-top:1px solid rgba(255,255,255,.25);
  padding-top:1rem;
}
/* contact form dropped into the dark footer */
.att-footer__form .wpforms-field-label,
.att-footer__form label,
.att-footer__form .wpforms-field-sublabel{color:#ffffff !important;}
.att-footer__form input[type="text"],
.att-footer__form input[type="email"],
.att-footer__form input[type="tel"],
.att-footer__form input[type="url"],
.att-footer__form select,
.att-footer__form textarea{
  width:100%;
  min-height:44px;
  background:#ffffff;
  color:var(--att-ink);
  border:1px solid rgba(255,255,255,.55);
  border-radius:6px;
  padding:10px 12px;
  box-sizing:border-box;
}
.att-footer__form button[type="submit"],
.att-footer__form .wpforms-submit{
  background:#ffffff !important;
  color:var(--att-green) !important;
  border:0;
  border-radius:999px;
  font-weight:700;
  min-height:48px;
  padding:12px 26px;
  cursor:pointer;
}

/* ---------------------------------------------------------------- 27: buttons keep white text */
.wp-block-button__link.wp-element-button:not(.is-style-outline),
.wp-block-search__button.wp-element-button{color:#ffffff;}
.wp-block-button__link.wp-element-button:not(.is-style-outline):hover{color:#ffffff;}

/* ---------------------------------------------------------------- misc */
/* nothing in the header may push the page sideways at 320px */
.att-header__bar{flex-wrap:nowrap;min-width:0;}
.att-header__nav{min-width:0;flex:0 1 auto;}
@media (max-width:399px){
  .att-wordmark .wp-block-site-title a{font-size:1rem;letter-spacing:.04em;}
  .att-wordmark__sub{font-size:.62rem;letter-spacing:.1em;}
  .att-header__bar{gap:.5rem;}
}
@media (max-width:359px){
  .att-mobilebar{gap:8px;padding-left:8px;padding-right:8px;}
  .att-mobilebar__btn{font-size:.9rem;padding:10px 6px;}
}

@media print{
  .att-mobilebar{display:none !important;}
  .wp-site-blocks > header.wp-block-template-part{position:static !important;box-shadow:none !important;}
  .att-footer{padding-bottom:1rem !important;}
}
