/* ================================================================
   GLENSHIEL HEADER — plugin stylesheet
   Sticky cream bar, Fair drop-down, full-width slide-down menu
   on mobile. Built from the approved mock-up.
   ================================================================ */
:root{--gsh-cream:#f9f6f0}
.gsh{--cream:#f9f6f0;--band:#efe8dc;--deep:#54402e;--brown:#6b4a35;--bronze:#8a5a37;--tan:#b99a77;
     --coral:#f48986;--coral-dk:#e0716e;--line:#e8e1d5;--ink:#2a2a2a;
     font-family:'Archivo',system-ui,sans-serif}
.gsh *,.gsh *::before,.gsh *::after{box-sizing:border-box}
.gsh-spacer{height:92px}
.gsh__nav a,.gsh__logo{text-decoration:none}
.gsh__logo img{max-width:none}

/* ---------- header ---------- */
.gsh{position:fixed;inset:0 0 auto 0;z-index:900;background:var(--cream);
    box-shadow:0 1px 0 var(--line);transition:padding .3s ease, box-shadow .3s ease;padding:14px 0}
.gsh.is-stuck{padding:7px 0;box-shadow:0 1px 0 var(--line),0 10px 30px rgba(60,45,32,.07)}
.gsh__in{max-width:1280px;margin:0 auto;padding:0 32px;display:flex;align-items:center;gap:28px}
.gsh__logo{display:block;flex:0 0 auto;line-height:0}
.gsh__logo img{height:62px;width:auto;display:block;transition:height .3s ease}
.gsh.is-stuck .gsh__logo img{height:48px}
.gsh__nav{margin-left:auto;display:flex;align-items:center;gap:30px}
.gsh__link{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--brown);text-decoration:none;
          padding:6px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap;
          display:inline-flex;align-items:center;gap:7px}
.gsh__link:hover{color:var(--bronze);border-color:currentColor}
.gsh__caret{width:9px;height:6px;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .25s}
.gsh__cta{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:#fff;background:var(--coral-dk);
         text-decoration:none;padding:12px 24px;border-radius:999px;transition:background .2s,transform .2s;white-space:nowrap}
.gsh__cta:hover{background:var(--coral);transform:translateY(-1px)}
.gsh__burger{display:none;background:none;border:0;padding:8px;cursor:pointer}
.gsh__burger span{display:block;width:26px;height:2px;background:var(--brown);margin:5px 0;transition:transform .3s,opacity .3s}
.gsh__subtoggle{display:none}

/* --- desktop drop-down --- */
.gsh__has-sub{position:relative}
.gsh__sub{position:absolute;left:50%;top:100%;transform:translate(-50%,6px);min-width:184px;background:var(--cream);
         border:1px solid var(--line);box-shadow:0 18px 40px rgba(60,45,32,.13);padding:8px 0;margin-top:14px;
         opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease, transform .22s ease, visibility .22s}
.gsh__has-sub:hover .gsh__sub, .gsh__has-sub:focus-within .gsh__sub{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.gsh__has-sub:hover .gsh__caret{transform:rotate(180deg)}
.gsh__sublink{display:block;padding:11px 22px;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;
             color:var(--brown);text-decoration:none;white-space:nowrap;transition:background .18s,color .18s}
.gsh__sublink:hover{background:var(--band);color:var(--bronze)}

/* mobile: full-width panel that slides down from under the bar, centred */
@media (max-width:1040px){
  .gsh__in{gap:14px}
  .gsh__burger{display:block;margin-left:auto}
  .gsh__nav{position:absolute;left:0;right:0;top:100%;background:var(--cream);border-top:1px solid var(--line);
           flex-direction:column;align-items:stretch;gap:0;padding:6px 22px 30px;margin:0;text-align:center;
           box-shadow:0 26px 40px rgba(60,45,32,.14);
           transform:translateY(-14px);opacity:0;visibility:hidden;pointer-events:none;
           transition:transform .34s cubic-bezier(.4,0,.2,1), opacity .26s ease, visibility .34s}
  .gsh__nav .gsh__link{font-size:15px;letter-spacing:.1em;padding:17px 2px;border-bottom:1px solid var(--line);
                     justify-content:center;width:100%}
  .gsh__has-sub{width:100%}
  .gsh__has-sub .gsh__link{border-bottom:1px solid var(--line)}
  .gsh__caret{display:none}
  .gsh__subtoggle{display:block;position:absolute;right:0;top:0;height:54px;width:54px;background:none;border:0;cursor:pointer}
  .gsh__subtoggle svg{width:12px;height:8px;fill:none;stroke:var(--tan);stroke-width:1.8;transition:transform .25s}
  .gsh__has-sub.is-open .gsh__subtoggle svg{transform:rotate(180deg)}
  .gsh__sub{position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;border:0;box-shadow:none;
           background:var(--band);margin:0;padding:0;max-height:0;overflow:hidden;min-width:0;
           transition:max-height .32s ease, padding .32s ease}
  .gsh__has-sub.is-open .gsh__sub{max-height:260px;padding:6px 0}
  .gsh__sublink{padding:14px 0;font-size:13.5px;text-align:center}
  .gsh__cta{align-self:center;margin-top:26px;padding:15px 34px}
  .gsh__scrim{position:fixed;inset:0;top:0;background:rgba(40,30,20,.4);opacity:0;pointer-events:none;
             transition:opacity .3s;z-index:-1}
  body.gsh-open .gsh__nav{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}
  body.gsh-open .gsh__burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.gsh-open .gsh__burger span:nth-child(2){opacity:0}
  body.gsh-open .gsh__burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  body.gsh-open .gsh__scrim{opacity:1;pointer-events:auto}
  .gsh__logo img{height:52px}
  .gsh.is-stuck .gsh__logo img{height:44px}
}


/* WordPress admin bar: keep the fixed bar below it for logged-in users */
body.admin-bar .gsh{top:32px}
@media screen and (max-width:782px){body.admin-bar .gsh{top:46px}}

/* keep the theme's link underline off our nav — the hover line is ours */
.gsh a,.gsh a:hover,.gsh a:focus,.gsh a:active{text-decoration:none !important}
.gsh__link,.gsh__link:hover,.gsh__sublink,.gsh__sublink:hover,.gsh__cta,.gsh__cta:hover{text-decoration:none !important}

/* no black focus box on tap (theme/browser default), keep a soft ring for keyboard users */
.gsh a,.gsh button{-webkit-tap-highlight-color:transparent}
.gsh a:focus,.gsh button:focus{outline:none;box-shadow:none}
.gsh a:focus-visible,.gsh button:focus-visible{outline:2px solid var(--tan);outline-offset:3px;border-radius:2px}
