/* ===== Elementor white-space fix: zero padding on the container holding this widget ===== */
.elementor-widget-ardbrae-header > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
.elementor-section:has(.elementor-widget-ardbrae-header),
.elementor-column:has(.elementor-widget-ardbrae-header),
.elementor-widget-wrap:has(> .elementor-widget-ardbrae-header),
.e-con:has(.elementor-widget-ardbrae-header),
.e-con-inner:has(.elementor-widget-ardbrae-header) { margin: 0 !important; padding: 0 !important; }

/* ============ :root CONFIG — edit these to customise ============ */
#ardbrae-header {
  --abh-accent:        #5f6e52;   /* sage — hover, CTA, active underline */
  --abh-accent-hover:  #8a7a4d;
  --abh-dark:          #23221d;    /* text in solid state */
  --abh-bar-bg:        #f7f4ef;    /* solid bar background */
  --abh-bar-border:    #cdc5b6;
  --abh-cream:         #f7f4ef;
  --abh-muted:         #857f70;
  --abh-logo-dark:     #5C6B50;                 /* logo colour on solid bar */
  --abh-logo-light:    #EDE8DF;                 /* logo colour on transparent bar */
  --abh-height:        80px;                     /* bar height */
  --abh-max:           1400px;                   /* content max width */
  --abh-pad:           24px;                      /* side padding (mobile) */
  --abh-pad-lg:        48px;                      /* side padding (desktop) */
  --abh-desktop:       1024px;                    /* breakpoint: desktop nav appears */
  --abh-font-display:  'Cormorant Garamond', Georgia, serif;
  --abh-font-body:     'Jost', Arial, sans-serif;
  --abh-z:             9999;                       /* raise above Elementor content */
}

/* ============ scope reset — protect against theme/Elementor leak-in ============ */
#ardbrae-header, #ardbrae-header *, #ardbrae-header *::before, #ardbrae-header *::after { box-sizing: border-box !important; }
#ardbrae-header { font-family: var(--abh-font-body); font-size: 16px; line-height: 1.5; color: var(--abh-dark); font-weight: 400; text-align: left; letter-spacing: normal; -webkit-font-smoothing: antialiased; }
#ardbrae-header p, #ardbrae-header ul, #ardbrae-header li, #ardbrae-header a, #ardbrae-header button, #ardbrae-header svg { margin: 0; padding: 0; border: 0; background: none; font-family: inherit; }
#ardbrae-header ul { list-style: none !important; }
#ardbrae-header a { text-decoration: none !important; color: inherit; }
#ardbrae-header button { font: inherit; cursor: pointer; color: inherit; background: none !important; border: 0 !important; border-radius: 0 !important; }
#ardbrae-header svg { display: inline-block; vertical-align: middle; }

/* ============ layout / spacer ============ */
#ardbrae-header .abh-spacer { height: var(--abh-height); }
#ardbrae-header.abh-overlay .abh-spacer { height: 0; }
#ardbrae-header .abh-container { max-width: var(--abh-max); margin: 0 auto; padding-left: var(--abh-pad); padding-right: var(--abh-pad); }
@media (min-width: 1024px) { #ardbrae-header .abh-container { padding-left: var(--abh-pad-lg); padding-right: var(--abh-pad-lg); } }

/* ============ nav bar ============ */
#ardbrae-header .abh-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: var(--abh-z);
  transition: background .5s, box-shadow .5s, border-color .5s;
  background: var(--abh-bar-bg); box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  border-bottom: 1px solid var(--abh-bar-border);
}
/* transparent state (overlay mode, at top only) */
#ardbrae-header.abh-overlay .abh-nav:not(.is-solid) { background: transparent; box-shadow: none; border-bottom-color: transparent; }
#ardbrae-header .abh-nav-inner { display: flex; align-items: center; justify-content: space-between; height: var(--abh-height); }

/* logo colour follows state */
#ardbrae-header .abh-logo { color: var(--abh-logo-dark) !important; transition: color .5s; display: block; }
#ardbrae-header.abh-overlay .abh-nav:not(.is-solid) .abh-logo { color: var(--abh-logo-light) !important; }

/* desktop links */
#ardbrae-header .abh-links { display: none; }
@media (min-width: 1024px) { #ardbrae-header .abh-links { display: flex; align-items: center; gap: 32px; } }
#ardbrae-header .abh-link {
  position: relative; font-family: var(--abh-font-body); font-size: 12px; line-height: 16px;
  letter-spacing: 0.16em; text-transform: uppercase; font-weight: 400;
  color: var(--abh-dark) !important; font-weight: 400 !important; transition: color .2s;
}
#ardbrae-header .abh-link:hover { color: var(--abh-accent) !important; }
#ardbrae-header.abh-overlay .abh-nav:not(.is-solid) .abh-link { color: rgb(255 255 255 / 0.9) !important; }
#ardbrae-header.abh-overlay .abh-nav:not(.is-solid) .abh-link:hover { color: #fff !important; }
#ardbrae-header .abh-link::after {
  content: ""; position: absolute; bottom: -2px; left: 0; width: 0; height: 1px;
  background-color: var(--abh-accent); transition: width .3s;
}
#ardbrae-header .abh-link:hover::after, #ardbrae-header .abh-link.is-active::after { width: 100%; }

/* Enquire CTA */
#ardbrae-header .abh-cta {
  display: inline-block; font-family: var(--abh-font-body); font-size: 12px; line-height: 16px;
  letter-spacing: 0.16em; text-transform: uppercase; font-weight: 400; padding: 10px 20px;
  border: 1px solid var(--abh-accent) !important; color: var(--abh-accent) !important; transition: background .3s, color .3s, border-color .3s;
}
#ardbrae-header .abh-cta:hover { background: var(--abh-accent) !important; color: var(--abh-cream) !important; }
#ardbrae-header.abh-overlay .abh-nav:not(.is-solid) .abh-cta { border-color: rgb(255 255 255 / 0.7) !important; color: #fff !important; }
#ardbrae-header.abh-overlay .abh-nav:not(.is-solid) .abh-cta:hover { background: #fff !important; color: var(--abh-dark) !important; }

/* burger */
#ardbrae-header .abh-burger { display: block; padding: 8px !important; color: var(--abh-dark) !important; line-height: 0; }
#ardbrae-header.abh-overlay .abh-nav:not(.is-solid) .abh-burger { color: #fff !important; }
@media (min-width: 1024px) { #ardbrae-header .abh-burger { display: none; } }

/* mobile overlay menu */
#ardbrae-header .abh-mobile {
  position: fixed; inset: 0; z-index: calc(var(--abh-z) - 1); background: var(--abh-cream);
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  transition: opacity .5s; opacity: 0; pointer-events: none;
}
#ardbrae-header .abh-mobile.is-open { opacity: 1; pointer-events: auto; }
#ardbrae-header .abh-mobile-inner { display: flex; flex-direction: column; align-items: center; gap: 32px; }
#ardbrae-header .abh-mobile-logo { color: var(--abh-logo-dark) !important; margin-bottom: 16px; }
#ardbrae-header .abh-mobile-link {
  font-family: var(--abh-font-display); font-size: 30px; line-height: 36px;
  color: var(--abh-dark) !important; letter-spacing: 0.06em; transition: color .2s;
}
#ardbrae-header .abh-mobile-link:hover { color: var(--abh-accent) !important; }
#ardbrae-header .abh-mobile-tagline { font-family: var(--abh-font-body); font-size: 12px !important; line-height: 16px; color: var(--abh-muted) !important; margin-top: 16px; letter-spacing: 0.2em; }
