/* ==========================================================
   Site header: deep burgundy bar, gold Enquire pill, search
   Loaded after style.css so it wins over the older header rules.
   ========================================================== */

/* ---------- Bar ---------- */
.wf-mast{
  background:linear-gradient(110deg,var(--c-primary-deep) 0%,color-mix(in srgb,var(--c-primary-deep) 55%,var(--c-primary)) 48%,var(--c-primary) 100%);
  border-bottom:1px solid color-mix(in srgb,var(--c-accent) 45%,transparent);
  padding-top:18px;
}
.wf-mast__row{padding-bottom:18px}
.wf-mast .wf-brand,
.wf-mast .wf-brand__name{color:#fff}
.wf-mast .wf-brand__sub{color:var(--c-accent)}
.wf-mast .wf-brand img{max-height:60px}

/* ---------- Menu links ---------- */
.wf-mast__row .wf-menu > li > a{
  color:#fff;
  border-bottom:0!important;
  padding:8px 0;
  background:linear-gradient(var(--c-accent),var(--c-accent)) left bottom/0 1px no-repeat;
  transition:background-size .45s cubic-bezier(.2,.7,.2,1),color .3s ease;
}
.wf-mast__row .wf-menu > li > a:hover,
.wf-mast__row .wf-menu > li:focus-within > a,
.wf-mast__row .wf-menu > li.current-menu-item > a,
.wf-mast__row .wf-menu > li.current_page_item > a,
.wf-mast__row .wf-menu > li.current-menu-ancestor > a,
.wf-mast__row .wf-menu > li.current-menu-parent > a{
  color:var(--c-accent);
  background-size:100% 1px;
}

/* ---------- Right side: menu, search, Enquire ---------- */
.wf-mast .wf-nav--right{gap:12px 20px;flex-wrap:nowrap}
.wf-mast .wf-nav--right > nav{margin-right:10px}

/* Search button */
.wf-sbtn{
  flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;padding:0;
  border:1px solid rgba(255,255,255,.38);border-radius:50%;
  background:rgba(255,255,255,.06);color:#fff;cursor:pointer;
  transition:background .3s ease,color .3s ease,border-color .3s ease,transform .35s cubic-bezier(.2,.7,.2,1);
}
.wf-sbtn svg{width:20px;height:20px;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.wf-sbtn:hover,.wf-sbtn:focus-visible{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-primary-deep)}
.wf-sbtn:hover svg{transform:scale(1.12) rotate(-8deg)}
.wf-sbtn:focus-visible{outline:2px solid #fff;outline-offset:3px}
.wf-sbtn--m{display:none}

/* Enquire button: gold pill with an arrow disc */
.wf-mast .wf-btn.wf-enq,
.wf-mast .wf-btn.wf-enq.wf-btn--sm{
  display:inline-flex;align-items:center;gap:16px;
  min-height:48px;padding:0 7px 0 26px;
  border:0;border-radius:999px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--c-accent) 68%,#fff) 0%,var(--c-accent) 55%,color-mix(in srgb,var(--c-accent) 80%,#000) 100%);
  color:var(--c-primary-deep);
  font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;
  box-shadow:0 10px 24px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.45);
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,background .35s ease,color .3s ease;
}
.wf-enq__i{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;
  background:var(--c-primary-deep);color:var(--c-accent);
  transition:transform .4s cubic-bezier(.2,.7,.2,1),background .3s ease,color .3s ease;
}
.wf-enq__i svg{width:16px;height:16px}
.wf-mast .wf-btn.wf-enq:hover,
.wf-mast .wf-btn.wf-enq:focus-visible{
  background:#fff;color:var(--c-primary);
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(0,0,0,.35);
}
.wf-mast .wf-btn.wf-enq:hover .wf-enq__i,
.wf-mast .wf-btn.wf-enq:focus-visible .wf-enq__i{transform:translateX(3px);background:var(--c-primary);color:#fff}
.wf-mast .wf-btn.wf-enq:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* ---------- Desktop layout: menus sit close to the wordmark, search + Enquire at the far right ---------- */
@media (min-width:1024px){
  .wf-mast__row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:0 clamp(28px,3.2vw,60px)}
  .wf-mast .wf-nav{display:flex}
  .wf-mast .wf-nav:not(.wf-nav--right){justify-content:flex-end}
  .wf-mast .wf-nav--right{justify-content:flex-start}
  .wf-mast .wf-nav--right .wf-sbtn{margin-left:auto}
  .wf-mast .wf-nav--right .wf-menu{gap:8px clamp(24px,2.4vw,40px)}
  .wf-mast .wf-nav:not(.wf-nav--right) .wf-menu{gap:8px clamp(24px,2.4vw,40px)}
}

/* ---------- Wide laptops: keep one row ---------- */
@media (max-width:1279px) and (min-width:1024px){
  .wf-mast__row{gap:16px 26px}
  .wf-mast .wf-brand__name{font-size:36px;letter-spacing:.14em;padding-left:.14em}
  .wf-mast .wf-brand__sub{font-size:8.5px;letter-spacing:.5em;padding-left:.5em}
  .wf-mast .wf-nav{gap:10px 16px}
  .wf-mast .wf-menu{gap:8px 20px}
  .wf-mast .wf-menu a{font-size:11.5px;letter-spacing:.11em}
  .wf-mast .wf-nav--right{gap:10px 12px}
  .wf-mast .wf-nav--right > nav{margin-right:2px}
  .wf-sbtn{width:42px;height:42px}
  .wf-mast .wf-btn.wf-enq,.wf-mast .wf-btn.wf-enq.wf-btn--sm{min-height:44px;padding:0 5px 0 18px;gap:10px;font-size:11px;letter-spacing:.12em}
  .wf-enq__i{width:32px;height:32px}
}
@media (min-width:1800px){
  .wf-mast .wf-btn.wf-enq,.wf-mast .wf-btn.wf-enq.wf-btn--sm{min-height:56px;padding:0 8px 0 32px;font-size:13.5px}
  .wf-enq__i{width:40px;height:40px}
  .wf-sbtn{width:52px;height:52px}
}

/* ---------- Tablet and phone: burger + brand + search ---------- */
@media (max-width:1023px){
  .wf-mast{padding-top:12px}
  .wf-mast__row{padding-bottom:12px}
  .wf-mast .wf-burger{color:#fff}
  .wf-mast .wf-burger:hover{color:var(--c-accent)}
  .wf-mast__row::after{display:none!important}
  .wf-sbtn--m{display:inline-flex;order:3;width:44px;height:44px}
  .wf-sbtn--m svg{width:22px;height:22px}
  .wf-mast .wf-brand__name{font-size:30px}

  /* the slide-in menu panel */
  .wf-msearch{
    display:flex;align-items:center;gap:12px;width:100%;
    margin:22px 0 0;padding:0 20px;height:54px;
    border:1px solid var(--c-line);border-radius:999px;
    background:var(--c-softer);color:var(--c-muted);
    font-family:var(--f-body);font-size:14px;text-align:left;cursor:pointer;
    transition:border-color .3s ease,background .3s ease;
  }
  .wf-msearch svg{flex:0 0 auto;color:var(--c-primary)}
  .wf-msearch:hover{border-color:var(--c-primary);background:#fff}
  .wf-mast .wf-mobile .wf-btn.wf-enq{
    display:flex!important;align-items:center;justify-content:space-between;gap:16px;
    min-height:54px;padding:0 8px 0 26px;border-radius:999px;border:0;
    background:var(--c-primary);color:#fff;
    font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
    box-shadow:0 12px 26px rgba(90,19,40,.28);
  }
  .wf-mast .wf-mobile .wf-btn.wf-enq .wf-enq__i{background:var(--c-accent);color:var(--c-primary-deep);width:38px;height:38px}
}
@media (max-width:480px){
  .wf-mast .wf-brand__name{font-size:25px;letter-spacing:.16em;padding-left:.16em}
  .wf-mast .wf-brand__sub{font-size:7.5px;letter-spacing:.42em;padding-left:.42em}
}

/* ---------- Phone and tablet: tidy bar + menu panel ---------- */
@media (max-width:1023px){
  /* bar: burger | centred wordmark | search, equal side columns */
  .wf-mast{padding-top:0}
  .wf-mast .wf-wrap{padding-left:16px;padding-right:16px}
  .wf-mast__row{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;padding:14px 0}
  .wf-mast__row > .wf-burger{justify-self:start}
  .wf-mast .wf-burger[data-wf-burger]{border:1px solid rgba(255,255,255,.38);border-radius:50%;background:rgba(255,255,255,.06);transition:background .3s ease,color .3s ease,border-color .3s ease}
  .wf-mast .wf-burger[data-wf-burger]:hover{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-primary-deep)}
  .wf-mast .wf-burger[data-wf-burger] svg{width:22px;height:22px}
  .wf-mast__row > .wf-brand{justify-self:center;gap:5px}
  .wf-mast__row > .wf-sbtn--m{justify-self:end;width:44px;height:44px}
  .wf-sbtn--m svg{width:20px;height:20px}

  /* panel: brand + close, search, links, Enquire pinned to the bottom */
  .wf-mast .wf-mobile > .wf-wrap{padding:20px 24px 24px;width:min(88vw,380px)}
  .wf-mobile__top{order:-2;padding-bottom:16px;margin-bottom:0}
  .wf-msearch{order:-1;margin:18px 0 8px;height:50px;font-size:14px;white-space:nowrap;overflow:hidden}
  .wf-msearch span{overflow:hidden;text-overflow:ellipsis}
  .wf-mast .wf-mobile ul{padding:0;margin:0}
  .wf-mast .wf-mobile a{padding:16px 0;font-size:13.5px}
  .wf-mast .wf-mobile .sub-menu{padding:0 0 4px 16px;margin:0}
  .wf-mast .wf-mobile .sub-menu a{padding:13px 0;font-size:12px;color:var(--c-muted)}
  .wf-mast .wf-mobile .current-menu-item > a,
  .wf-mast .wf-mobile .current_page_item > a{color:var(--c-primary);font-weight:600}
  .wf-mast .wf-mobile .wf-btn.wf-enq{margin:auto 0 0!important;flex:0 0 auto}
  .wf-mast .wf-mobile .wf-wrap > ul:last-of-type{margin-bottom:28px}
  .wf-mast .wf-mobile .sub-menu{margin:0!important}
}
@media (max-width:480px){
  .wf-mast__row{padding:12px 0;grid-template-columns:40px minmax(0,1fr) 40px}
  .wf-mast__row > .wf-sbtn--m{width:40px;height:40px}
  .wf-mast .wf-burger{width:40px;height:40px}
}
@media (min-width:1024px){.wf-msearch{display:none}}

/* ---------- Search overlay ---------- */
.wf-sr{
  position:fixed;inset:0;z-index:300;
  display:flex;align-items:flex-start;justify-content:center;
  padding:12vh 16px 16px;
  opacity:0;visibility:hidden;
  transition:opacity .35s ease,visibility 0s linear .35s;
}
.wf-sr[hidden]{display:none}
.wf-sr.is-open{opacity:1;visibility:visible;transition-delay:0s}
.wf-sr__bg{position:absolute;inset:0;background:rgba(26,6,12,.74);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.wf-sr__box{
  position:relative;width:min(720px,100%);max-height:100%;overflow:auto;
  padding:34px 34px 26px;
  background:#fff;border-radius:20px;border-top:3px solid var(--c-accent);
  box-shadow:0 40px 90px rgba(0,0,0,.4);
  transform:translateY(-22px) scale(.98);
  transition:transform .5s cubic-bezier(.2,.7,.2,1);
}
.wf-sr.is-open .wf-sr__box{transform:none}
.wf-sr__x{
  position:absolute;top:14px;right:14px;width:42px;height:42px;
  border:0;border-radius:50%;background:var(--c-softer);color:var(--c-primary);
  font-size:28px;line-height:1;cursor:pointer;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),background .3s ease;
}
.wf-sr__x:hover{transform:rotate(90deg);background:var(--c-soft)}
.wf-sr__eyebrow{margin:0 0 14px;font-size:11px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--c-accent-ink)}
.wf-sr .wf-sr__form{
  display:flex;align-items:center;gap:14px;
  height:62px;margin:0;padding:0 24px;
  border:1px solid var(--c-line);border-radius:999px;background:var(--c-softer);color:var(--c-primary);
  transition:border-color .3s ease,background .3s ease,box-shadow .3s ease;
}
.wf-sr .wf-sr__form:focus-within{border-color:var(--c-primary);background:#fff;box-shadow:0 0 0 4px rgba(90,19,40,.08)}
.wf-sr .wf-sr__form svg{flex:0 0 auto}
.wf-sr .wf-sr__form input{
  flex:1;min-width:0;height:100%;width:100%;
  border:0!important;background:transparent!important;box-shadow:none!important;outline:0;
  padding:0!important;margin:0;
  font-family:var(--f-body);font-size:18px;color:var(--c-ink);
  -webkit-appearance:none;appearance:none;
}
.wf-sr .wf-sr__form input::-webkit-search-cancel-button{-webkit-appearance:none}
.wf-sr .wf-sr__form input::placeholder{color:var(--c-field)}
.wf-sr__list{list-style:none;margin:16px 0 0;padding:0;max-height:48vh;overflow:auto}
.wf-sr__list li{margin:0;list-style:none}
.wf-sr__list a{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 16px;border-radius:12px;color:var(--c-ink);
  font-size:16px;line-height:1.35;
  animation:wfsr .45s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--n,0) * 40ms);
  transition:background .25s ease,color .25s ease,padding-left .3s cubic-bezier(.2,.7,.2,1);
}
.wf-sr__list a:hover,.wf-sr__list a.is-on,.wf-sr__list a:focus-visible{background:var(--c-softer);color:var(--c-primary);padding-left:22px}
.wf-sr__list em{
  flex:0 0 auto;font-style:normal;font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  padding:5px 11px;border-radius:999px;background:var(--c-soft);color:var(--c-primary);
}
.wf-sr__empty{margin:18px 4px 4px;font-size:15px;color:var(--c-muted)}
.wf-sr__empty[hidden]{display:none}
.wf-sr__empty a{color:var(--c-primary);font-weight:600;text-decoration:underline;text-underline-offset:3px}
@keyframes wfsr{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (max-width:640px){
  .wf-sr{padding-top:72px}
  .wf-sr__box{padding:26px 18px 18px}
  .wf-sr .wf-sr__form{height:56px;padding:0 18px}
  .wf-sr .wf-sr__form input{font-size:16px}
  .wf-sr__list{max-height:52vh}
  .wf-sr__list a{padding:13px 12px;font-size:15px}
}
/* ---------- Light header (body.wf-hf-light, chosen under Look → Header and footer colours) ---------- */
.wf-hf-light .wf-mast{
  background:linear-gradient(110deg,var(--hf-b1,var(--c-softer)) 0%,var(--hf-b2,#fff) 50%,var(--hf-b3,var(--c-soft)) 100%);
  border-bottom:1px solid color-mix(in srgb,var(--c-primary) 16%,transparent);
}
.wf-hf-light .wf-mast .wf-brand,
.wf-hf-light .wf-mast .wf-brand__name{color:var(--c-primary)}
.wf-hf-light .wf-mast .wf-brand__sub{color:var(--c-accent-ink)}
.wf-hf-light .wf-mast__row .wf-menu > li > a{
  color:var(--c-primary-deep);
  background-image:linear-gradient(var(--c-accent-ink),var(--c-accent-ink));
}
.wf-hf-light .wf-mast__row .wf-menu > li > a:hover,
.wf-hf-light .wf-mast__row .wf-menu > li:focus-within > a,
.wf-hf-light .wf-mast__row .wf-menu > li.current-menu-item > a,
.wf-hf-light .wf-mast__row .wf-menu > li.current_page_item > a,
.wf-hf-light .wf-mast__row .wf-menu > li.current-menu-ancestor > a,
.wf-hf-light .wf-mast__row .wf-menu > li.current-menu-parent > a{color:var(--c-primary)}
.wf-hf-light .wf-sbtn{
  border-color:color-mix(in srgb,var(--c-primary) 35%,transparent);
  background:color-mix(in srgb,var(--c-primary) 6%,transparent);
  color:var(--c-primary);
}
.wf-hf-light .wf-sbtn:hover,.wf-hf-light .wf-sbtn:focus-visible{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.wf-hf-light .wf-sbtn:focus-visible{outline-color:var(--c-primary)}
.wf-hf-light .wf-mast .wf-btn.wf-enq,
.wf-hf-light .wf-mast .wf-btn.wf-enq.wf-btn--sm{
  background:linear-gradient(135deg,color-mix(in srgb,var(--c-primary) 82%,#fff) 0%,var(--c-primary) 55%,var(--c-primary-deep) 100%);
  color:#fff;
  box-shadow:0 10px 22px color-mix(in srgb,var(--c-primary) 30%,transparent),inset 0 1px 0 rgba(255,255,255,.25);
}
.wf-hf-light .wf-mast .wf-enq__i{background:var(--c-accent);color:var(--c-primary-deep)}
.wf-hf-light .wf-mast .wf-btn.wf-enq:hover,
.wf-hf-light .wf-mast .wf-btn.wf-enq:focus-visible{background:var(--c-primary-deep);color:#fff}
.wf-hf-light .wf-mast .wf-btn.wf-enq:hover .wf-enq__i,
.wf-hf-light .wf-mast .wf-btn.wf-enq:focus-visible .wf-enq__i{background:#fff;color:var(--c-primary)}
.wf-hf-light .wf-mast .wf-btn.wf-enq:focus-visible{outline-color:var(--c-primary)}
@media (max-width:1023px){
  .wf-hf-light .wf-mast .wf-burger{color:var(--c-primary)}
  .wf-hf-light .wf-mast .wf-burger[data-wf-burger]{border-color:color-mix(in srgb,var(--c-primary) 35%,transparent);background:color-mix(in srgb,var(--c-primary) 6%,transparent)}
  .wf-hf-light .wf-mast .wf-burger[data-wf-burger]:hover{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
}

@media (prefers-reduced-motion:reduce){
  .wf-sr,.wf-sr__box,.wf-sr__list a,.wf-sbtn,.wf-sbtn svg,.wf-enq__i,.wf-mast .wf-btn.wf-enq{transition:none!important;animation:none!important}
}
