/* =====================================================================
   site.css · The shared shell for leads.thespalubbock.com
   Header, menu and footer for every page. Owned by the lead board chat.
   Pages do not restyle anything under #site-header or #site-footer.
   Rules: board-deploy-log.md, section "Site shell".
   Must be served as text/css or browsers ignore it. See the deploy log.
   ===================================================================== */

:root{
  --sh-white:#FFFFFF; --sh-cream:#FAF7F0; --sh-cream-mid:#F2EDE0; --sh-rule:#EAE1CF;
  --sh-gold:#AC8A3F;  --sh-ink:#2A2A28;   --sh-muted:#6B6960;
  --sh-font:'Lato','Helvetica Neue',Arial,sans-serif;
  --sh-gutter:clamp(16px,3vw,40px);
  --sh-tap:48px;
}

/* Every shell element starts from zero so page-level rules (button{}, a{}, h1{})
   cannot leak in. The id in each selector is what outranks them. */
#site-header, #site-header *, #site-footer, #site-footer *{
  box-sizing:border-box; border-radius:0 !important; box-shadow:none !important;
  font-family:var(--sh-font);
}
#site-header, #site-footer{ display:block; width:100%; background:var(--sh-white); color:var(--sh-ink); }
#site-header:empty, #site-footer:empty{ display:none; }

/* ---- header ------------------------------------------------------------------- */
#site-header{ position:relative; z-index:80; border-bottom:1px solid var(--sh-gold); }
#site-header .sh-bar{
  display:flex; align-items:center; gap:22px;
  min-height:82px; padding:14px var(--sh-gutter);
}
#site-header .sh-logo{
  display:block; flex:none; width:115px; height:46px;
  background:url("data:image/png;base64,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") no-repeat center / contain;
  text-decoration:none; border:0; color:var(--sh-ink);
}
#site-header .sh-sep{ flex:none; width:1px; align-self:stretch; margin:4px 2px; background:var(--sh-rule); }
#site-header .sh-title{
  margin:0; padding:0; flex:0 1 auto; min-width:0;
  font-weight:300; font-size:26px; line-height:1.2; letter-spacing:.01em; color:var(--sh-ink);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
#site-header .sh-title .sh-sub{
  display:block; margin-top:4px;
  font-weight:400; font-size:10.5px; line-height:1.3; letter-spacing:.16em; text-transform:uppercase; color:var(--sh-gold);
}
#site-header .sh-space{ flex:1 1 auto; }
/* Page-owned controls (the board's Mentions, the provider chip on /plans) sit here.
   Hidden while signed out: they all need a session. */
#site-header .sh-slot{ display:flex; align-items:center; gap:14px; flex:none; }
#site-header .sh-slot[hidden]{ display:none; }

/* Three hairlines, not an icon: the brand rules icons out. */
#site-header .sh-navbtn{
  flex:none; width:var(--sh-tap); height:var(--sh-tap); min-height:0; margin:0 -2px 0 0; padding:0;
  display:flex; flex-direction:column; justify-content:center; align-items:flex-end; gap:6px;
  background:none; border:0; cursor:pointer; color:var(--sh-ink);
}
#site-header .sh-navbtn:hover{ background:none; }
#site-header .sh-navbtn span{ display:block; width:26px; height:1.5px; background:var(--sh-ink); transition:transform .16s,opacity .16s; }
#site-header .sh-navbtn:hover span{ background:var(--sh-gold); }
#site-header .sh-navbtn:focus-visible{ outline:2px solid var(--sh-gold); outline-offset:2px; }
#site-header .sh-navbtn[aria-expanded="true"] span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
#site-header .sh-navbtn[aria-expanded="true"] span:nth-child(2){ opacity:0; }
#site-header .sh-navbtn[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }

/* ---- menu panel ------------------------------------------------------------------ */
.sh-scrim{ position:fixed; inset:0; z-index:79; background:transparent; }
.sh-scrim[hidden]{ display:none !important; }
#site-header .sh-menu{
  position:absolute; top:calc(100% + 1px); right:var(--sh-gutter); z-index:81;
  width:286px; max-width:calc(100vw - 32px); max-height:calc(100vh - 110px); overflow-y:auto;
  display:flex; flex-direction:column;
  background:var(--sh-white); border:1px solid var(--sh-rule); border-top:2px solid var(--sh-gold);
  padding:18px 0 8px;
}
#site-header .sh-menu[hidden]{ display:none !important; }
#site-header .sh-lab{
  margin:0; padding:0 20px 7px;
  font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--sh-muted);
}
#site-header .sh-menu .sh-lab:not(:first-child){ margin-top:20px; }
#site-header .sh-me{
  margin:0; padding:0 20px 14px; font-size:16px; font-weight:400; color:var(--sh-ink);
  word-break:break-word; line-height:1.35;
}
#site-header .sh-me .sh-em{ display:block; margin-top:2px; font-size:13px; color:var(--sh-muted); word-break:break-all; }
#site-header .sh-badge, #site-footer .sh-badge{
  display:inline-block; margin-left:6px; padding:1px 6px; vertical-align:2px;
  font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--sh-gold); border:1px solid var(--sh-gold);
}
#site-header .sh-menu a, #site-header .sh-menu button{
  display:flex; align-items:center; width:100%; min-height:var(--sh-tap); margin:0; padding:0 20px;
  font:inherit; font-family:var(--sh-font); font-size:16px; font-weight:400; line-height:1.3;
  color:var(--sh-ink); text-decoration:none; text-align:left; letter-spacing:0; text-transform:none;
  background:none; border:0; border-bottom:1px solid var(--sh-rule); border-left:2px solid transparent; cursor:pointer;
}
#site-header .sh-menu .sh-lab + a, #site-header .sh-menu .sh-lab + button,
#site-header .sh-menu .sh-lab + .sh-group > :first-child{ border-top:1px solid var(--sh-rule); }
#site-header .sh-menu a:hover, #site-header .sh-menu button:hover{ background:var(--sh-cream); color:var(--sh-gold); }
#site-header .sh-menu a:focus-visible, #site-header .sh-menu button:focus-visible{ outline:2px solid var(--sh-gold); outline-offset:-2px; }
#site-header .sh-menu a[aria-current="page"]{ border-left-color:var(--sh-gold); color:var(--sh-gold); }
#site-header .sh-menu [hidden]{ display:none !important; }
/* Page-owned menu groups keep their own markup; display:contents keeps them flat. */
#site-header .sh-group{ display:contents; }
#site-header .sh-menu .sh-extras .sh-lab{ margin-top:20px; }
#site-header .sh-menu .sh-out{ margin-top:14px; border-top:1px solid var(--sh-rule); border-bottom:0; }
#site-header .sh-menu .sh-extras > :last-child a:last-of-type,
#site-header .sh-menu .sh-extras > :last-child > :last-child a:last-of-type,
#site-header .sh-menu .sh-extras > :last-child > button:last-child,
#site-header .sh-menu a[href^="https://www.thespa"]{ border-bottom:0; }

/* The SpaGPT bubble stands down while the menu is open. */
body.navOpen #kbw-btn, body.navOpen #kbw{ display:none !important; }

/* ---- footer ------------------------------------------------------------------- */
/* A page with a fixed bottom bar (/plans) sets --sh-foot-pad so the bar never covers the footer. */
#site-footer{ margin-top:48px; border-top:1px solid var(--sh-gold); padding-bottom:var(--sh-foot-pad,0px); }
/* On a short page the shell grows .sh-push (just above the footer) so the footer lands at
   the bottom of the window; on a long page it stays 0 and the footer follows the content.
   Measured in site-shell.js; no page layout is touched. */
.sh-push{ display:block; height:0; margin:0; padding:0; border:0; }
@media print{ .sh-push{ display:none !important; } }
#site-footer .sh-cols{
  display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr); gap:28px 40px;
  padding:28px var(--sh-gutter) 22px;
}
#site-footer .sh-flab{
  margin:0 0 10px; font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--sh-gold);
}
#site-footer p{ margin:0; padding:0; font-size:14px; line-height:1.6; color:var(--sh-ink); }
#site-footer .sh-nap a{ color:var(--sh-ink); text-decoration:none; border-bottom:1px solid var(--sh-rule); }
#site-footer .sh-nap a:hover{ color:var(--sh-gold); border-bottom-color:var(--sh-gold); }
#site-footer .sh-links{ list-style:none; margin:0; padding:0; }
#site-footer .sh-links li{ margin:0; padding:0; }
#site-footer .sh-links li[hidden]{ display:none; }
#site-footer .sh-links a{
  display:inline-flex; align-items:center; min-height:36px; padding:0 0 0 18px; position:relative;
  font-size:14px; color:var(--sh-ink); text-decoration:none;
}
#site-footer .sh-links a::before{ content:"\2014"; position:absolute; left:0; color:var(--sh-gold); }
#site-footer .sh-links a:hover, #site-footer .sh-links a[aria-current="page"]{ color:var(--sh-gold); }
#site-footer .sh-who .sh-em{ display:block; font-size:13px; color:var(--sh-muted); word-break:break-all; }
#site-footer .sh-fout{
  display:inline-flex; align-items:center; justify-content:center; min-height:var(--sh-tap); margin:12px 0 0; padding:0 22px;
  font-family:var(--sh-font); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--sh-ink); background:var(--sh-white); border:1px solid var(--sh-ink); cursor:pointer;
}
#site-footer .sh-fout:hover{ color:var(--sh-gold); border-color:var(--sh-gold); background:var(--sh-white); }
#site-footer .sh-fout[hidden]{ display:none; }
#site-footer .sh-base{
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 24px;
  margin:0 var(--sh-gutter); padding:12px 0 18px; border-top:1px solid var(--sh-rule);
  font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--sh-muted);
}

/* ---- widths ----------------------------------------------------------------- */
@media (max-width:760px){
  #site-header .sh-bar{ gap:10px; min-height:64px; padding-block:10px; }
  #site-header .sh-logo{ width:85px; height:34px; }
  #site-header .sh-sep{ display:none; }
  #site-header .sh-title{ font-size:19px; }
  #site-header .sh-title .sh-sub{ font-size:9.5px; letter-spacing:.14em; }
  #site-footer .sh-cols{ grid-template-columns:1fr; gap:24px; }
}
@media (max-width:379px){
  #site-header .sh-title .sh-sub{ display:none; }
}

/* Embedded (the guide inside the board's overlay) and printed pages carry no shell. */
html.sh-embedded #site-header, html.sh-embedded #site-footer{ display:none !important; }
@media print{
  #site-header, #site-footer, .sh-scrim{ display:none !important; }
}
