/* Stream RV chrome — header (.vh) + footer (.vf), ported verbatim from the
   signed-off design (Header & Footer.html). Tokens scoped to the chrome
   wrappers (house rule: no :root), markup rendered by the child theme's
   template-parts/header.php + footer.php. */

.vh, .vf {
  --green:#222E2E; --green-2:#1A2424;
  --cream:#F7F2EB; --paper:#FFFFFF;
  --brass:#B8843A; --brass-dark:#9C6E2C; --brass-soft:#CDA86A;
  font-family:'Inter',system-ui,sans-serif;
}
.vh .cw, .vf .cw { max-width:1240px; margin:0 auto; padding:0 clamp(20px,4vw,40px); }
/* the header bar gets a wider canvas + tighter gaps than the mock: the Saved
   pill (added per the playbook) needs the room — otherwise the priority+
   "More" overflow shows even on full desktop */
.vh .cw { max-width:1340px; }

/* ============ HEADER ============ */
.vh{background:var(--green);position:sticky;top:0;z-index:50;
  box-shadow:0 1px 0 rgba(247,242,235,.08), 0 10px 30px -22px rgba(0,0,0,.6);}
.vh__inner{display:flex;align-items:center;gap:18px;height:78px;}
.vh__brand{display:flex;align-items:center;text-decoration:none;flex:none;}
.vh__brand img{height:34px;width:auto;display:block;}
.vh__nav{position:relative;display:flex;align-items:center;gap:4px;margin-left:6px;flex:1 1 auto;min-width:0;}
.vh__link{position:relative;display:inline-flex;align-items:center;gap:6px;
  font-size:14.5px;font-weight:500;color:#EDE7DC;text-decoration:none;letter-spacing:.005em;
  padding:10px 11px;border-radius:7px;transition:color .15s ease,background .15s ease;white-space:nowrap;}
.vh__link:hover,.vh__item:hover > .vh__link{color:#fff;background:rgba(247,242,235,.08);}
.vh__link.is-active{color:#fff;}
.vh__slider{position:absolute;top:2px;left:0;width:0;height:2px;border-radius:2px;
  background:var(--brass-soft);opacity:0;pointer-events:none;
  transition:left .42s cubic-bezier(.4,0,.2,1),width .42s cubic-bezier(.4,0,.2,1),opacity .2s ease;}
.vh__car{width:9px;height:9px;flex:none;transition:transform .18s ease;opacity:.7;}
.vh__item{position:relative;}
.vh__item:hover .vh__car{transform:rotate(180deg);}
.vh__menu{position:absolute;top:calc(100% - 2px);left:0;min-width:288px;background:#26332F;
  border:1px solid rgba(247,242,235,.12);border-radius:12px;padding:8px;
  box-shadow:0 28px 60px -24px rgba(0,0,0,.7);
  opacity:0;visibility:hidden;transform:translateY(6px);transition:.16s ease;z-index:60;}
.vh__item:hover .vh__menu{opacity:1;visibility:visible;transform:translateY(0);}
.vh__menu a{position:relative;display:block;font-size:14px;font-weight:500;color:#D8CFC1;text-decoration:none;
  padding:10px 34px 10px 16px;border-radius:8px;letter-spacing:.005em;overflow:hidden;}
.vh__menu a::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:2px;height:0;background:var(--brass);border-radius:2px;transition:height .18s ease;}
.vh__menu a:hover{background:rgba(184,132,58,.16);color:#fff;}
.vh__menu a:hover::before{height:60%;}
.vh__ar{position:absolute;right:13px;top:50%;width:13px;height:13px;stroke:var(--brass-soft);
  fill:none;stroke-width:1.8;opacity:0;transform:translate(-4px,-50%);transition:.18s ease;}
.vh__menu a:hover .vh__ar{opacity:1;transform:translate(0,-50%);}
.vh__menu a{opacity:0;transform:translateX(-4px);transition:opacity .2s ease,transform .2s ease,color .14s ease,background .14s ease;}
.vh__item:hover .vh__menu a{opacity:1;transform:translateX(0);}
.vh__item:hover .vh__menu a:nth-child(1){transition-delay:.02s;}
.vh__item:hover .vh__menu a:nth-child(2){transition-delay:.05s;}
.vh__item:hover .vh__menu a:nth-child(3){transition-delay:.08s;}
.vh__item:hover .vh__menu a:nth-child(4){transition-delay:.11s;}
.vh__right{display:flex;align-items:center;gap:16px;flex:none;}
.vh__tel{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--cream);
  text-decoration:none;white-space:nowrap;transition:color .15s ease;}
.vh__tel:hover{color:var(--brass-soft);}
.vh__tel svg{width:17px;height:17px;stroke:var(--brass-soft);fill:none;stroke-width:1.7;}
/* Saved pill — right cluster; #srv-saved anchor is bound by the saved-RVs engine */
.vh__saved{display:flex;align-items:center;gap:7px;font-size:14.5px;font-weight:600;color:var(--cream);
  text-decoration:none;white-space:nowrap;transition:color .15s ease;}
.vh__saved:hover{color:var(--brass-soft);}
.vh__saved svg{width:16px;height:16px;stroke:var(--brass-soft);fill:none;stroke-width:1.7;}
.vh__cta{display:inline-flex;align-items:center;justify-content:center;font-family:'Inter',system-ui,sans-serif;font-weight:600;
  font-size:14px;color:#fff;background:var(--brass);padding:11px 18px;border-radius:5px;text-decoration:none;
  white-space:nowrap;transition:background .16s ease;}
.vh__cta:hover{background:var(--brass-dark);color:#fff;}
.vh__burger{display:none;align-items:center;gap:9px;height:44px;padding:0 14px 0 13px;
  background:transparent;border:1px solid rgba(247,242,235,.18);border-radius:8px;cursor:pointer;
  flex:none;transition:background .15s ease,border-color .15s ease;}
.vh__burger:hover{background:rgba(247,242,235,.07);border-color:rgba(247,242,235,.3);}
.vh__bt{font-size:14px;font-weight:600;color:var(--cream);letter-spacing:.02em;}
.vh__bi{position:relative;width:18px;height:2px;background:var(--cream);border-radius:2px;
  transition:transform .25s ease,opacity .2s ease;}
.vh__bi::before,.vh__bi::after{content:"";position:absolute;left:0;width:18px;height:2px;
  background:var(--cream);border-radius:2px;transition:transform .25s ease;}
.vh__bi::before{top:-6px;}
.vh__bi::after{top:6px;}
.vh__burger.is-open .vh__bi{background:transparent;}
.vh__burger.is-open .vh__bi::before{transform:translateY(6px) rotate(45deg);}
.vh__burger.is-open .vh__bi::after{transform:translateY(-6px) rotate(-45deg);}
.vh__more{display:none;}
.vh__menu--more{min-width:248px;}
.vh__msec + .vh__msec{margin-top:5px;padding-top:5px;border-top:1px solid rgba(247,242,235,.08);}
.vh__msec-h{font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--brass-soft);padding:8px 16px 5px;}
.vh__mobile{display:none;background:var(--green);border-top:1px solid rgba(247,242,235,.1);
  max-height:0;overflow:hidden;transition:max-height .32s ease;}
.vh__mobile.is-open{max-height:78vh;overflow-y:auto;}
.vh__mgroup{border-bottom:1px solid rgba(247,242,235,.08);}
.vh__mhead{font-family:'Inter',system-ui,sans-serif;font-weight:600;font-size:15px;color:#EDE7DC;padding:16px 4px 8px;letter-spacing:.005em;}
.vh__mlinks{display:flex;flex-direction:column;}
.vh__mlinks a{font-size:14.5px;color:#C5BCAD;text-decoration:none;padding:9px 4px 9px 16px;
  border-left:2px solid rgba(184,132,58,.25);margin-left:4px;transition:color .14s ease,border-color .14s ease;}
.vh__mlinks a:hover{color:#fff;border-color:var(--brass);}
.vh__mbottom{display:flex;flex-direction:column;gap:12px;padding:18px 4px 6px;}
.vh__mtel{display:flex;align-items:center;gap:9px;font-size:17px;font-weight:600;color:var(--cream);text-decoration:none;}
.vh__mtel svg{width:18px;height:18px;stroke:var(--brass-soft);fill:none;stroke-width:1.7;}
.vh__mcta{display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:14.5px;
  color:#fff;background:var(--brass);padding:13px 18px;border-radius:5px;text-decoration:none;}
@media(max-width:1240px){.vh__tel span{display:none;}}
@media(max-width:760px){.vh__nav{display:none;}.vh__inner{justify-content:space-between;}
  .vh__burger{display:inline-flex;}.vh__tel{display:none;}.vh__saved span{display:none;}.vh__mobile{display:block;}}
@media(max-width:430px){.vh__bt{display:none;}.vh__burger{padding:0;width:44px;justify-content:center;}
  .vh__cta{padding:11px 13px;font-size:13px;}.vh__right{gap:10px;}
  /* fit logo + CTA + burger on narrow phones: the Saved star moves into the
     mobile panel (the #srv-saved anchor stays in the DOM for the engine) */
  .vh__brand img{height:26px;}.vh__inner{gap:12px;}.vh__saved{display:none;}
  .vh .cw{padding:0 14px;}.vh__cta{padding:10px 11px;font-size:12.5px;}}
body.vh-lock{overflow:hidden;}
@media(prefers-reduced-motion:reduce){
  .vh__slider,.vh__menu,.vh__menu a,.vh__car,.vh__bi,.vh__bi::before,.vh__bi::after,.vh__mobile{transition:none;}
}

/* ============ FOOTER ============ */
.vf{background:var(--green-2);color:#CFC6B8;}
.vf__top{display:grid;grid-template-columns:1.4fr 1fr 1.5fr;gap:clamp(36px,5vw,80px);
  padding:clamp(52px,6vw,76px) 0 clamp(40px,4.5vw,56px);}
.vf__brand{display:inline-flex;align-items:center;text-decoration:none;margin-bottom:22px;}
.vf__brand img{height:32px;width:auto;display:block;}
.vf__desc{font-size:14.5px;line-height:1.7;color:#B7AE9F;max-width:42ch;margin:0;}
.vf__col h4{font-family:'Inter',system-ui,sans-serif;font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brass-soft);margin:0 0 18px;}
.vf__links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px;}
.vf__links a{font-size:15px;color:#D8CFC1;text-decoration:none;transition:color .14s ease;display:inline-flex;}
.vf__links a:hover{color:#fff;}
.vf__contact{display:flex;flex-direction:column;gap:7px;}
.vf__tel{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:27px;color:var(--brass-soft);
  text-decoration:none;letter-spacing:-.01em;line-height:1.1;transition:color .15s ease;white-space:nowrap;}
.vf__tel:hover{color:var(--brass);}
.vf__addr{font-size:15px;line-height:1.6;color:#CFC6B8;text-decoration:none;margin-top:6px;transition:color .15s ease;display:block;}
.vf__addr:hover{color:#fff;}
.vf__hours{font-size:13.5px;color:#9A9384;margin-top:14px;line-height:1.6;}
.vf__hours b{color:#CFC6B8;font-weight:600;}
.vf__bar{border-top:1px solid rgba(247,242,235,.1);padding:22px 0 26px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.vf__copy{font-size:13px;color:#8F887A;letter-spacing:.01em;}
.vf__social{display:flex;gap:10px;}
.vf__social a{width:38px;height:38px;border-radius:50%;background:rgba(247,242,235,.07);
  border:1px solid rgba(247,242,235,.12);display:grid;place-items:center;transition:.16s;}
.vf__social a:hover{background:var(--brass);border-color:var(--brass);transform:translateY(-2px);}
.vf__social svg{width:16px;height:16px;fill:var(--cream);}
@media(max-width:860px){.vf__top{grid-template-columns:1fr 1fr;gap:40px;}
  .vf__contact-wrap{grid-column:1 / -1;}}
@media(max-width:560px){.vf__top{grid-template-columns:1fr;}.vf__bar{flex-direction:column-reverse;align-items:flex-start;}}
