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

/* ============ :root CONFIG — edit these to customise ============ */
#ardbrae-footer {
  --abf-bg:        #23221d;    /* footer background */
  --abf-bg-deep:   #171612;    /* button hover text */
  --abf-accent:    #5f6e52;    /* sage */
  --abf-beige:     #cdc5b6;    /* headings / strong text */
  --abf-text:      #9b9384;    /* body text */
  --abf-dim:       #5f5b51;    /* bottom bar text */
  --abf-logo:      #EDE8DF;                   /* footer logo colour */
  --abf-line:      #495f44;                   /* divider centre colour */
  --abf-max:       1400px;
  --abf-pad:       24px;
  --abf-pad-lg:    48px;
  --abf-font-display: 'Cormorant Garamond', Georgia, serif;
  --abf-font-body:    'Jost', Arial, sans-serif;
}

/* ============ scope reset — protect against theme/Elementor leak-in ============ */
#ardbrae-footer, #ardbrae-footer *, #ardbrae-footer *::before, #ardbrae-footer *::after { box-sizing: border-box !important; }
#ardbrae-footer { background: var(--abf-bg); font-family: var(--abf-font-body); font-size: 16px; line-height: 1.5; color: var(--abf-beige); font-weight: 400; text-align: left; letter-spacing: normal; -webkit-font-smoothing: antialiased; }
#ardbrae-footer h3, #ardbrae-footer h4, #ardbrae-footer p, #ardbrae-footer ul, #ardbrae-footer li, #ardbrae-footer a, #ardbrae-footer span { margin: 0; padding: 0; border: 0; background: none; font-family: inherit; }
#ardbrae-footer ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
#ardbrae-footer li { margin: 0 !important; list-style: none !important; }
#ardbrae-footer a { text-decoration: none !important; color: inherit; }
#ardbrae-footer img { display: block; max-width: 100%; border: 0 !important; }
#ardbrae-footer svg { display: inline-block; vertical-align: middle; border: 0 !important; }

/* ============ layout ============ */
#ardbrae-footer .abf-inner { max-width: var(--abf-max); margin: 0 auto; padding: 64px var(--abf-pad); }
@media (min-width: 1024px) { #ardbrae-footer .abf-inner { padding: 64px var(--abf-pad-lg); } }
#ardbrae-footer .abf-grid { display: grid; grid-template-columns: 1fr; gap: 48px; }
@media (min-width: 768px)  { #ardbrae-footer .abf-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { #ardbrae-footer .abf-grid { grid-template-columns: repeat(4, 1fr); } }

/* brand column */
#ardbrae-footer .abf-logo { color: var(--abf-logo) !important; margin-bottom: 24px; display: block; }
#ardbrae-footer .abf-blurb { font-family: var(--abf-font-body); font-weight: 300; font-size: 14px; line-height: 1.625; color: var(--abf-text) !important; margin-bottom: 24px; }
#ardbrae-footer .abf-tagline { font-family: var(--abf-font-body); font-size: 12px; line-height: 16px; letter-spacing: 0.2em; text-transform: uppercase !important; color: var(--abf-accent) !important; margin-bottom: 20px; }
#ardbrae-footer .abf-social { display: flex; gap: 16px; }
#ardbrae-footer .abf-social a { color: var(--abf-accent) !important; transition: color .2s; display: inline-flex; }
#ardbrae-footer .abf-social a:hover { color: var(--abf-beige) !important; }

/* headings */
#ardbrae-footer .abf-h { font-family: var(--abf-font-body) !important; font-size: 12px !important; line-height: 16px !important; font-weight: 400 !important; letter-spacing: 0.2em; text-transform: uppercase !important; color: var(--abf-accent) !important; margin-bottom: 20px; }

/* link lists */
#ardbrae-footer .abf-links li + li { margin-top: 12px !important; }
#ardbrae-footer .abf-links a { font-family: var(--abf-font-body); font-weight: 300; font-size: 14px; line-height: 20px; letter-spacing: 0.05em; color: var(--abf-text) !important; transition: color .2s; }
#ardbrae-footer .abf-links a:hover { color: var(--abf-accent) !important; }

/* plain list */
#ardbrae-footer .abf-list li { font-family: var(--abf-font-body); font-weight: 300; font-size: 14px; line-height: 20px; color: var(--abf-text) !important; }
#ardbrae-footer .abf-list li + li { margin-top: 12px !important; }

/* find us */
#ardbrae-footer .abf-find li { display: flex; align-items: flex-start; gap: 12px; }
#ardbrae-footer .abf-find li.center { align-items: center; }
#ardbrae-footer .abf-find li + li { margin-top: 16px !important; }
#ardbrae-footer .abf-find svg { color: var(--abf-accent) !important; flex-shrink: 0; }
#ardbrae-footer .abf-find .pin { margin-top: 2px; }
#ardbrae-footer .abf-find span, #ardbrae-footer .abf-find a { font-family: var(--abf-font-body); font-weight: 300; font-size: 14px; line-height: 20px; color: var(--abf-text) !important; }
#ardbrae-footer .abf-find a { transition: color .2s; }
#ardbrae-footer .abf-find a:hover { color: var(--abf-accent) !important; }

/* dividers */
#ardbrae-footer .abf-divider { width: 100%; height: 1px; background: linear-gradient(90deg, #0000, var(--abf-line), #0000); }
#ardbrae-footer .abf-divider.top { margin: 48px 0 40px; }
#ardbrae-footer .abf-divider.bottom { margin-bottom: 32px; }

/* sister property */
#ardbrae-footer .abf-sister { display: flex; flex-direction: column; align-items: center; gap: 32px; margin-bottom: 40px; }
@media (min-width: 768px) { #ardbrae-footer .abf-sister { flex-direction: row; } }
#ardbrae-footer .abf-sister-img { width: 100%; height: 128px; flex-shrink: 0; overflow: hidden; border-radius: 2px; }
@media (min-width: 768px) { #ardbrae-footer .abf-sister-img { width: 192px; } }
#ardbrae-footer .abf-sister-img img { width: 100%; height: 100%; object-fit: cover; }
#ardbrae-footer .abf-sister-body { flex: 1; text-align: center; }
@media (min-width: 768px) { #ardbrae-footer .abf-sister-body { text-align: left; } }
#ardbrae-footer .abf-sister-eyebrow { font-family: var(--abf-font-body); font-size: 12px; line-height: 16px; font-weight: 400; letter-spacing: 0.2em; text-transform: uppercase !important; color: var(--abf-accent) !important; margin-bottom: 8px; }
#ardbrae-footer .abf-sister-title { font-family: var(--abf-font-display) !important; font-weight: 400 !important; font-size: 20px !important; line-height: 28px !important; text-transform: none !important; color: var(--abf-beige) !important; margin-bottom: 8px; }
#ardbrae-footer .abf-sister-desc { font-family: var(--abf-font-body); font-weight: 300; font-size: 14px; line-height: 20px; color: var(--abf-text) !important; margin-bottom: 16px; }
#ardbrae-footer .abf-sister-btn { display: inline-block; font-family: var(--abf-font-body); font-size: 12px; line-height: 16px; letter-spacing: 0.15em; text-transform: uppercase !important; color: var(--abf-accent) !important; border: 1px solid var(--abf-accent) !important; padding: 8px 20px; transition: background .2s, color .2s; }
#ardbrae-footer .abf-sister-btn:hover { background: var(--abf-accent); color: var(--abf-bg-deep) !important; }

/* bottom bar */
#ardbrae-footer .abf-bottom { display: flex; flex-direction: column; justify-content: space-between; align-items: center; gap: 16px; }
@media (min-width: 768px) { #ardbrae-footer .abf-bottom { flex-direction: row; } }
#ardbrae-footer .abf-bottom p { font-family: var(--abf-font-body); font-weight: 300; font-size: 12px; line-height: 16px; letter-spacing: 0.08em; color: var(--abf-dim) !important; }
#ardbrae-footer .abf-bottom a { color: var(--abf-dim) !important; transition: color .2s; }
#ardbrae-footer .abf-bottom a:hover { color: var(--abf-accent) !important; }
#ardbrae-footer .abf-bottom .sage { color: var(--abf-accent) !important; }
