/* The footer uses the masthead's booking colour, icon artwork and controls. */
#ear-footer {
  background:#282725; color:#fff; border-top:1px solid #48433e;
  --footer-text:#e5e0da; --footer-note:#c9c2bc; --footer-line:#56514a;
}
#ear-footer #ear-footer-inner {
  width:100%; max-width:1600px; margin:auto;
  padding:clamp(40px,4vw,64px) clamp(24px,4vw,68px) 24px;
}
#ear-footer-directory {
  display:grid; grid-template-columns:minmax(0,1.8fr) repeat(2,minmax(0,.8fr)) minmax(0,1fr);
  gap:clamp(24px,4.2vw,70px); align-items:start;
}
#ear-footer-directory > div {min-width:0}
#ear-footer #ear-footer-brand figure {margin:0 0 12px}
#ear-footer #ear-footer-brand img {width:clamp(165px,15vw,214px)}
#ear-footer #ear-footer-brand figure a {display:flex; align-items:center; min-height:44px}
#ear-footer #ear-footer-brand p {font-size:.9375rem; line-height:1.65; margin:0; color:var(--footer-note)}
#ear-footer #ear-footer-brand p + p {margin-top:3px}
#ear-footer #ear-footer-brand a[href^="tel:"] {
  display:inline-flex; min-height:44px; align-items:center; margin-bottom:6px; gap:10px;
  color:#fff; font-size:clamp(1.375rem,1.8vw,1.75rem); font-weight:680; letter-spacing:-.025em;
  font-variant-numeric:tabular-nums;
}
#ear-footer-brand a[href^="tel:"]::before {content:""; width:19px; height:19px; background:#ffbc87; mask:var(--ear-handset) center / contain no-repeat}
#ear-footer-directory h2 {
  display:flex; align-items:center; gap:9px; margin:4px 0 10px; color:#fff;
  font-size:1rem; font-weight:700; line-height:1.5; letter-spacing:-.015em;
}
#ear-footer-directory h2::before {content:""; width:16px; height:2px; background:#e28b50}
#ear-footer-directory ul {list-style:none; padding:0; margin:0}
#ear-footer-directory li {margin:0; line-height:1.5}
#ear-footer-directory li a, #ear-footer-legal a {
  display:inline-flex; align-items:center; min-height:44px; min-width:44px;
  font-size:.9375rem; line-height:1.45; color:var(--footer-text); text-decoration:none;
}
#ear-footer-legal {
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:24px;
  border-top:1px solid var(--footer-line); padding-top:20px; margin-top:clamp(24px,3vw,44px);
}
#ear-footer-legal p {margin:0; font-size:.875rem; color:var(--footer-note); line-height:1.7}
#ear-footer-legal p:last-child {grid-column:2; grid-row:1 / 3}
#ear-footer-legal a {font-weight:650; text-decoration:underline; text-underline-offset:4px}
#ear-footer a:is(:hover,:focus-visible) {color:#ffbf91; text-decoration:underline; text-underline-offset:4px}
#ear-footer a:focus-visible, #ear-mobile-cta a:focus-visible {outline:2px solid #ffc28e; outline-offset:3px; border-radius:4px}
#ear-mobile-cta {display:none}

@media (max-width:960px) {
  :root {--ear-dock-space:calc(max(48px,3rem) + 17px + env(safe-area-inset-bottom,0px))}
  html {scroll-padding-bottom:calc(var(--ear-dock-space) + 8px)}
  #ear-footer #ear-footer-inner {padding-bottom:calc(var(--ear-dock-space) + 24px)}
  #ear-mobile-cta {
    position:fixed; inset:auto 0 0; z-index:100; display:grid; grid-template-columns:repeat(2,minmax(0,17rem));
    justify-content:center; gap:8px; margin:0; padding:8px max(12px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));
    border-top:1px solid #ded9d2; background:#fff; box-shadow:0 -3px 14px #3424100c;
  }
  #ear-mobile-cta p {min-width:0; margin:0}
  #ear-mobile-cta p a {
    width:100%; display:flex; align-items:center; justify-content:center; gap:8px;
    min-height:max(48px,3rem); padding:6px 8px; border:1px solid #a89c91; border-radius:var(--ear-control-radius);
    color:#38302a; background:#fff; font:700 1rem/1.4 var(--wp--preset--font-family--body, sans-serif);
    letter-spacing:-.015em; text-align:center;
  }
  #ear-mobile-cta p:last-child a {background:var(--ear-booking); color:#fff; border-color:var(--ear-booking)}
  #ear-mobile-cta a::before {content:""; width:18px; height:18px; flex:none; background:currentColor; mask:var(--ear-handset) center / contain no-repeat}
  #ear-mobile-cta p:last-child a::before {mask-image:var(--ear-calendar)}
  #ear-mobile-cta a:focus-visible {outline-color:#88401c}
  #ear-mobile-cta p:first-child a:is(:hover,:active) {background:#faf6f0}
  #ear-mobile-cta p:last-child a:is(:hover,:active) {background:var(--ear-booking-hover)}
}
@media (max-width:700px) {
  #ear-footer #ear-footer-inner {padding-inline:var(--ear-gutter); padding-top:32px}
  #ear-footer-directory {grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 12px}
  #ear-footer-brand, #ear-footer-channels {grid-column:1 / -1}
  #ear-footer-brand {border-bottom:1px solid var(--footer-line); padding-bottom:22px}
  #ear-footer-directory h2 {margin:0 0 5px}
  #ear-footer-channels ul {display:flex; flex-wrap:wrap; gap:0 20px}
  #ear-footer-legal {display:flex; align-items:flex-start; flex-direction:column; gap:5px; padding-top:14px; margin-top:18px}
}
