/* =====================================================================
   Essex Home Garden Rooms - site-wide additions (v1.7.0)
   Footer: centred layout on desktop, Echelon Media credit.
   ===================================================================== */

/* Credit sits with the legal links */
.ehgr .ehgr-legal-links .ehgr-credit { color: var(--ehgr-muted-2); }
.ehgr .ehgr-legal-links .ehgr-credit a { color: var(--ehgr-ink-2); }
.ehgr .ehgr-legal-links .ehgr-credit a:hover { color: var(--ehgr-gold); }
.ehgr .ehgr-legal-links p { flex-wrap: wrap; align-items: center; }

/* Desktop: everything in the footer centred */
@media (min-width: 1025px) {
  .ehgr .e-con.ehgr-footer { text-align: center; }
  .ehgr .e-con.ehgr-footbrand { justify-self: center; align-items: center; max-width: 440px; margin-bottom: 8px; }
  .ehgr .ehgr-footlogo img { margin-left: auto; margin-right: auto; }
  .ehgr .e-con.ehgr-footgrid { grid-template-columns: repeat(4, minmax(0, 220px)); justify-content: center; column-gap: clamp(40px, 5vw, 88px); }
  .ehgr .e-con.ehgr-footgrid > .e-con { align-items: center; }
  .ehgr .ehgr-footlinks, .ehgr .ehgr-footlinks p { align-items: center; }
  .ehgr .e-con.ehgr-areas { align-items: center; }
  .ehgr .ehgr-arealinks, .ehgr .ehgr-arealinks p { justify-content: center; max-width: 980px; margin-left: auto; margin-right: auto; }
  .ehgr .e-con.ehgr-legal { --flex-direction: column; --justify-content: center; --align-items: center; }
  .ehgr .ehgr-legal-links, .ehgr .ehgr-legal-links p { justify-content: center; }
}

/* =====================================================================
   v1.8.0: UI audit fixes (ui-audit/FIX-LIST.md). Ids in comments.
   ===================================================================== */

/* F02 Elementor kit fonts: Roboto -> brand fonts everywhere Elementor uses the globals */
body.ehgr, .elementor-kit-5 {
  --e-global-typography-primary-font-family: 'Plus Jakarta Sans';
  --e-global-typography-secondary-font-family: 'Manrope';
  --e-global-typography-text-font-family: 'Manrope';
  --e-global-typography-accent-font-family: 'Manrope';
}
body.ehgr, body.ehgr .elementor-widget-text-editor, body.ehgr .elementor-button, body.ehgr .elementor-tab-title,
body.ehgr .elementor-tab-content, body.ehgr .elementor-field-group, body.ehgr .elementor-field, body.ehgr .elementor-message,
body.ehgr button, body.ehgr input, body.ehgr select, body.ehgr textarea { font-family: var(--ehgr-manrope); }
body.ehgr .elementor-heading-title { font-family: var(--ehgr-jakarta); }
body.ehgr .ehgr-cap-mono, body.ehgr .ehgr-cap-mono p, body.ehgr .ehgr-num, body.ehgr .ehgr-num p { font-family: var(--ehgr-mono); }

/* F01 Header: nav must never slide under the logo tab */
@media (min-width: 1181px) {
  .ehgr .ehgr-navwrap { min-width: 0; }
  .ehgr .ehgr-nav ul { gap: clamp(14px, 1.35vw, 30px); }
  .ehgr .ehgr-nav-actions { gap: clamp(12px, 1.2vw, 20px); }
}
@media (min-width: 1181px) and (max-width: 1499px) {
  .ehgr .ehgr-phonelink { font-size: 0; gap: 0; }
  .ehgr .ehgr-phonelink svg { width: 18px; height: 18px; }
  .ehgr .ehgr-nav a { letter-spacing: .08em; }
}
@media (min-width: 1181px) and (max-width: 1365px) {
  .ehgr .ehgr-nav-actions .ehgr-walink { font-size: 0; gap: 0; }
  .ehgr .ehgr-nav-actions .ehgr-walink .ehgr-wa-icon { width: 20px; height: 20px; }
  .ehgr .ehgr-nav a { font-size: 11.5px; letter-spacing: .06em; }
}

/* F03 Visible keyboard focus everywhere */
body.ehgr a:focus-visible, body.ehgr button:focus-visible, body.ehgr input:focus-visible, body.ehgr select:focus-visible,
body.ehgr textarea:focus-visible, body.ehgr [tabindex]:focus-visible, body.ehgr summary:focus-visible, body.ehgr .elementor-tab-title:focus-visible {
  outline: 2px solid var(--ehgr-gold) !important; outline-offset: 3px; box-shadow: none !important;
}

/* F05 Button classes on Elementor widget wrappers must not paint the wrapper */
body.ehgr .elementor-widget-button.ehgr-btn-gold, body.ehgr .elementor-widget-button.ehgr-btn-outline,
body.ehgr .elementor-widget-button.ehgr-btn-wa, body.ehgr .elementor-widget-button.ehgr-btn-link,
body.ehgr .elementor-widget-button.ehgr-chip-btn, body.ehgr .elementor-widget-button.ehgr-walink {
  background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; transform: none !important;
}

/* F04 Quick-quote submit: dark text on gold like every other gold button */
body.ehgr .ehgr-loc-form .elementor-button[type="submit"], body.ehgr .ehgr-loc-form .elementor-button[type="submit"] span { color: var(--ehgr-bg) !important; }
body.ehgr .ehgr-loc-form .elementor-button[type="submit"]:hover, body.ehgr .ehgr-loc-form .elementor-button[type="submit"]:focus { background: var(--ehgr-gold-hover) !important; color: var(--ehgr-bg) !important; }

/* F16 Off-system buttons: WhatsApp text link and room chips */
body.ehgr .elementor-widget-button.ehgr-walink .elementor-button {
  display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0; background: none; border: 0; border-radius: 0;
  font-family: var(--ehgr-manrope); font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ehgr-ink);
}
body.ehgr .elementor-widget-button.ehgr-walink .elementor-button::before {
  content: ''; flex: none; width: 18px; height: 18px; background: var(--ehgr-whatsapp);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.47 14.38c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.94 1.16-.17.2-.35.22-.64.08-.3-.15-1.26-.46-2.39-1.48-.88-.79-1.48-1.76-1.65-2.06-.17-.3-.02-.46.13-.6.13-.14.3-.35.45-.52.15-.18.2-.3.3-.5.1-.2.05-.37-.03-.52-.07-.15-.67-1.61-.92-2.2-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.79.37-.27.3-1.04 1.02-1.04 2.48s1.07 2.88 1.21 3.07c.15.2 2.1 3.2 5.08 4.49.71.31 1.26.49 1.7.63.71.22 1.36.19 1.87.12.57-.09 1.76-.72 2-1.41.25-.7.25-1.29.18-1.41-.08-.13-.27-.2-.57-.35M12.05 21.79a9.87 9.87 0 0 1-5.03-1.38l-.36-.21-3.74.98 1-3.65-.24-.37a9.86 9.86 0 0 1-1.51-5.26c0-5.45 4.44-9.88 9.89-9.88a9.86 9.86 0 0 1 9.88 9.89c0 5.45-4.44 9.88-9.89 9.88m8.41-18.3A11.82 11.82 0 0 0 12.05 0C5.5 0 .16 5.34.16 11.89c0 2.1.55 4.14 1.59 5.95L.06 24l6.3-1.65a11.88 11.88 0 0 0 5.69 1.45c6.55 0 11.89-5.34 11.89-11.89 0-3.18-1.24-6.16-3.48-8.41Z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.47 14.38c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.94 1.16-.17.2-.35.22-.64.08-.3-.15-1.26-.46-2.39-1.48-.88-.79-1.48-1.76-1.65-2.06-.17-.3-.02-.46.13-.6.13-.14.3-.35.45-.52.15-.18.2-.3.3-.5.1-.2.05-.37-.03-.52-.07-.15-.67-1.61-.92-2.2-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.79.37-.27.3-1.04 1.02-1.04 2.48s1.07 2.88 1.21 3.07c.15.2 2.1 3.2 5.08 4.49.71.31 1.26.49 1.7.63.71.22 1.36.19 1.87.12.57-.09 1.76-.72 2-1.41.25-.7.25-1.29.18-1.41-.08-.13-.27-.2-.57-.35M12.05 21.79a9.87 9.87 0 0 1-5.03-1.38l-.36-.21-3.74.98 1-3.65-.24-.37a9.86 9.86 0 0 1-1.51-5.26c0-5.45 4.44-9.88 9.89-9.88a9.86 9.86 0 0 1 9.88 9.89c0 5.45-4.44 9.88-9.89 9.88m8.41-18.3A11.82 11.82 0 0 0 12.05 0C5.5 0 .16 5.34.16 11.89c0 2.1.55 4.14 1.59 5.95L.06 24l6.3-1.65a11.88 11.88 0 0 0 5.69 1.45c6.55 0 11.89-5.34 11.89-11.89 0-3.18-1.24-6.16-3.48-8.41Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.ehgr .elementor-widget-button.ehgr-walink .elementor-button:hover, body.ehgr .elementor-widget-button.ehgr-walink .elementor-button:focus { color: var(--ehgr-gold); background: none; }
body.ehgr .elementor-widget-button.ehgr-chip-btn .elementor-button {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; background: transparent; border: 1px solid var(--ehgr-border-soft); border-radius: 2px;
  font-family: var(--ehgr-manrope); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ehgr-ink); transition: border-color .3s, color .3s;
}
body.ehgr .elementor-widget-button.ehgr-chip-btn .elementor-button:hover, body.ehgr .elementor-widget-button.ehgr-chip-btn .elementor-button:focus { border-color: var(--ehgr-gold); color: var(--ehgr-gold); background: transparent; }
body.ehgr .elementor-button .elementor-button-text { line-height: 1.3; }  /* F33 wrapped labels */

/* F21 Burger: no Hello pink in any state */
body.ehgr .ehgr-burger, body.ehgr .ehgr-burger:hover, body.ehgr .ehgr-burger:focus, body.ehgr .ehgr-burger:active { background: transparent !important; border: 0 !important; color: var(--ehgr-ink) !important; box-shadow: none !important; }

/* F25 header quote button same size as other gold buttons */
@media (min-width: 1181px) { body.ehgr .ehgr-btn-nav { padding: 15px 22px; font-size: 12.5px; } }

/* F10 One type scale. H1 700 (as Home), H2/H3 600 */
body.ehgr .ehgr-h1 .elementor-heading-title, body.ehgr .ehgr-h1-room .elementor-heading-title,
body.ehgr .ehgr-h1-hero .elementor-heading-title { font-size: clamp(38px, 4.4vw, 66px); font-weight: 700; line-height: 1.04; letter-spacing: -.02em; }
body.ehgr .ehgr-h2 .elementor-heading-title, body.ehgr .ehgr-h2-inner .elementor-heading-title, body.ehgr .ehgr-h2-feature .elementor-heading-title,
body.ehgr .ehgr-h2-sm .elementor-heading-title, body.ehgr .ehgr-h2-xs .elementor-heading-title { font-size: clamp(28px, 3.1vw, 46px); font-weight: 600; line-height: 1.08; letter-spacing: -.015em; }
body.ehgr .ehgr-h2-statement .elementor-heading-title { font-size: clamp(30px, 3.6vw, 52px); }
body.ehgr .ehgr-h3 .elementor-heading-title, body.ehgr .ehgr-h3-aside .elementor-heading-title, body.ehgr .ehgr-h3-panel .elementor-heading-title,
body.ehgr .ehgr-h3-cta .elementor-heading-title { font-size: clamp(24px, 2.3vw, 34px); font-weight: 600; line-height: 1.12; }
body.ehgr .ehgr-h3-tile .elementor-heading-title { font-size: clamp(20px, 1.7vw, 25px); line-height: 1.18; }
/* F33 better wrapping */
body.ehgr .elementor-heading-title { text-wrap: balance; }
body.ehgr .elementor-widget-text-editor p { text-wrap: pretty; }

/* F29 Nothing under 12px */
body.ehgr .ehgr-eyebrow-sm,
body.ehgr .ehgr-eyebrow-sm .elementor-heading-title,
body.ehgr .ehgr-eyebrow-sm p,
body.ehgr .ehgr-speck .elementor-heading-title,
body.ehgr .ehgr-speck p,
body.ehgr .ehgr-speck,
body.ehgr .ehgr-speck-gold .elementor-heading-title,
body.ehgr .ehgr-speck-gold p,
body.ehgr .ehgr-mono-caption,
body.ehgr .ehgr-mono-caption p,
body.ehgr .ehgr-mono-note,
body.ehgr .ehgr-mono-note p,
body.ehgr .ehgr-cap-mono,
body.ehgr .ehgr-cap-mono p,
body.ehgr .ehgr-band .elementor-heading-title,
body.ehgr .ehgr-layerpanel-title .elementor-heading-title,
body.ehgr .ehgr-nav-mobile .ehgr-pill.ehgr-pill-gold,
body.ehgr .ehgr-loc-table th,
body.ehgr .ehgr-loc-form .elementor-field-label,
body.ehgr .ehgr-map-credit,
body.ehgr .ehgr-map-credit { font-size: 12px !important; }
body.ehgr .ehgr-room3d-label, body.ehgr .ehgr-room3d-caption, body.ehgr .ehgr-room3d-hint, body.ehgr .ehgr-fin-range, body.ehgr .ehgr-fin-sublabel,
body.ehgr .ehgr-fin-note, body.ehgr .ehgr-f-opt, body.ehgr .ehgr-map-credit { font-size: 12px !important; }
body.ehgr .ehgr-loc-form .elementor-field-label, body.ehgr .ehgr-form label { font-size: 13px !important; }

/* F31 Tap targets on phones */
@media (max-width: 767px) {
  body.ehgr .ehgr-footlinks a, body.ehgr .ehgr-arealinks a, body.ehgr .ehgr-legal-links a { display: inline-flex; align-items: center; min-height: 40px; }
  body.ehgr .ehgr-footlinks, body.ehgr .ehgr-footlinks p { gap: 2px; }
  body.ehgr .ehgr-arealinks, body.ehgr .ehgr-arealinks p { gap: 0 20px; }
  body.ehgr .ehgr-fin-viewbtn, body.ehgr .ehgr-btn-link .elementor-button { min-height: 44px; }
}

/* F34 footer link hover */
body.ehgr .ehgr-footer .ehgr-footlinks a:hover, body.ehgr .ehgr-footer .ehgr-arealinks a:hover, body.ehgr .ehgr-footer .ehgr-legal-links a:hover { color: var(--ehgr-gold) !important; }
body.ehgr .ehgr-footlinks .is-text { color: var(--ehgr-muted); }

/* F17 Mobile sticky bar must not cover the end of the footer */
@media (max-width: 1180px) { body.ehgr .e-con.ehgr-footer { --padding-bottom: 96px; } }
/* F40 sticky bar hidden while a hero form is on screen */
body.ehgr .ehgr-sticky.is-suppressed { transform: translateY(110%) !important; }

/* F18 Tablet orphans */
@media (min-width: 640px) and (max-width: 1099px) {
  body.ehgr .e-con.ehgr-grid-300-tight, body.ehgr .e-con.ehgr-loc-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 600px) and (max-width: 1024px) {
  body.ehgr .e-con.ehgr-footgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* F32 off-palette white */
body.ehgr .ehgr-crumbs .is-current { color: var(--ehgr-ink); }

/* F44 equal-width CTA pairs on desktop */
@media (min-width: 768px) { body.ehgr .e-con.ehgr-ctas > .elementor-widget-button .elementor-button { min-width: 250px; justify-content: center; } }

/* F45 form fields: clearer boxes and invalid state */
body.ehgr .ehgr-form input[type="text"], body.ehgr .ehgr-form input[type="tel"], body.ehgr .ehgr-form input[type="email"],
body.ehgr .ehgr-form select, body.ehgr .ehgr-form textarea { border-color: rgba(241,235,225,.24); background: var(--ehgr-bg); }
body.ehgr .ehgr-loc-form .elementor-field-textual:user-invalid, body.ehgr .ehgr-form :user-invalid { border-color: #C9654F !important; }
body.ehgr .ehgr-form-privacy, body.ehgr .ehgr-form-privacy p { font-size: 13px; line-height: 1.5; color: var(--ehgr-muted-2); }
body.ehgr .ehgr-form-privacy a { color: var(--ehgr-gold); text-decoration: underline; text-underline-offset: 3px; }

/* F38 form step label: brand eyebrow, not mono */
body.ehgr .ehgr-ms-step-label, body.ehgr .ehgr-ms-progress, body.ehgr .ehgr-ms-count { font-family: var(--ehgr-manrope) !important; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; }

/* Case study steps (F09) and spec grid (F23) */
body.ehgr .e-con.ehgr-steps { --display: grid; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 14px; }
body.ehgr .e-con.ehgr-steps > .e-con { border: 1px solid var(--ehgr-hairline-2); }
body.ehgr .e-con.ehgr-specwrap .ehgr-specgrid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
@media (min-width: 1100px) { body.ehgr .e-con.ehgr-specwrap .ehgr-specgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* F36 landscape card ratio */
body.ehgr .e-con.ehgr-card-43 { aspect-ratio: 4 / 3; }

/* F19 404 page */
.ehgr-404.error404, body.ehgr.error404 .ehgr-404 { padding: calc(var(--ehgr-header-h, 80px) + clamp(64px, 9vw, 140px)) var(--ehgr-pad-x) clamp(72px, 9vw, 140px) !important; max-width: none !important; margin: 0 !important; text-align: center; background: linear-gradient(rgba(11,11,11,.72), rgba(11,11,11,.92)), var(--ehgr-404-bg) center / cover no-repeat; }
.ehgr-404 .ehgr-404-code { font-family: var(--ehgr-manrope); font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--ehgr-gold); margin: 0 auto 18px; max-width: none; }
.ehgr-404 h1 { font-family: var(--ehgr-jakarta); font-weight: 700; font-size: clamp(36px, 4.4vw, 62px); line-height: 1.05; letter-spacing: -.02em; color: var(--ehgr-ink); margin: 0 auto 18px; max-width: 16ch; }
.ehgr-404 p { font-family: var(--ehgr-manrope); font-size: 18px; line-height: 1.6; color: var(--ehgr-muted); max-width: 560px; margin: 0 auto 32px; }
.ehgr-404 .ehgr-404-ctas { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.ehgr-404 .ehgr-btn { min-height: 48px; }

/* F46 WhatsApp glyph in the footer contact list */
body.ehgr .ehgr-footlinks .ehgr-wa-icon { width: 15px; height: 15px; fill: var(--ehgr-whatsapp); margin-right: 8px; vertical-align: -2px; }

/* Legal pages */
body.ehgr .ehgr-legal-doc { max-width: 760px; }
body.ehgr .ehgr-legal-doc h2 { font-family: var(--ehgr-jakarta); font-weight: 600; font-size: clamp(22px, 2vw, 28px); line-height: 1.2; color: var(--ehgr-ink); margin: 44px 0 14px; }
body.ehgr .ehgr-legal-doc h2:first-child { margin-top: 0; }
body.ehgr .ehgr-legal-doc p, body.ehgr .ehgr-legal-doc li { font-family: var(--ehgr-manrope); font-size: 17px; line-height: 1.7; color: var(--ehgr-muted); }
body.ehgr .ehgr-legal-doc p + p { margin-top: 1em; }
body.ehgr .ehgr-legal-doc ul { margin: 0; padding-left: 20px; display: grid; gap: 8px; }
body.ehgr .ehgr-legal-doc li::marker { color: var(--ehgr-gold); }
body.ehgr .ehgr-legal-doc strong { color: var(--ehgr-ink); font-weight: 600; }
body.ehgr .ehgr-legal-doc a { color: var(--ehgr-gold); text-decoration: underline; text-underline-offset: 3px; }
body.ehgr .ehgr-legal-doc .ehgr-legal-updated { margin-top: 48px; font-size: 13px; color: var(--ehgr-muted-2); }

body.ehgr .ehgr-f-privacy a { color: var(--ehgr-gold); text-decoration: underline; text-underline-offset: 3px; }

/* Location pages: photo band (F41), long H1s (F22), thin sections (F27) */
body.ehgr .e-con.ehgr-loc-band { position: relative; isolation: isolate; --padding-top: clamp(80px, 11vw, 170px); --padding-bottom: clamp(80px, 11vw, 170px);
  --padding-left: max(var(--ehgr-pad-x), calc((100% - var(--ehgr-max)) / 2)); --padding-right: max(var(--ehgr-pad-x), calc((100% - var(--ehgr-max)) / 2)); align-items: flex-start; }
body.ehgr .e-con.ehgr-loc-band::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(11,11,11,.88) 0%, rgba(11,11,11,.55) 55%, rgba(11,11,11,.25) 100%); }
body.ehgr .ehgr-loc-band-title .elementor-heading-title { max-width: 20ch; font-size: clamp(28px, 3.3vw, 48px); }
body.ehgr .ehgr-loc-h1 .elementor-heading-title { max-width: 18ch !important; }
body.ehgr .ehgr-loc-h1.is-long .elementor-heading-title { font-size: clamp(34px, 3.7vw, 56px); max-width: 20ch !important; }
@media (max-width: 600px) {
  body.ehgr .ehgr-loc-statement .elementor-heading-title, body.ehgr .ehgr-loc-statement.is-long .elementor-heading-title { font-size: 26px; line-height: 1.18; }
  body.ehgr .ehgr-loc-h1.is-long .elementor-heading-title { font-size: 32px; }
}
body.ehgr .e-con.ehgr-loc-thin .ehgr-loc-row { align-items: center; }
/* Comparison tables stack on phones (F23) */
@media (max-width: 600px) {
  body.ehgr .ehgr-loc-table thead { display: none; }
  body.ehgr .ehgr-loc-table tr { display: block; padding: 14px 0; border-bottom: 1px solid var(--ehgr-hairline-2); }
  body.ehgr .ehgr-loc-table td { display: block; padding: 2px 0; border: 0; }
  body.ehgr .ehgr-loc-table td:first-child { color: var(--ehgr-gold); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }
}

/* Areas hub (F37) */
body.ehgr .elementor-widget.ehgr-max-640, body.ehgr .ehgr-max-640 { max-width: 640px !important; }
body.ehgr .e-con.ehgr-area-grid { display: flex; flex-wrap: wrap; justify-content: center; }
body.ehgr .e-con.ehgr-area-grid > .e-con.ehgr-area-card { flex: 0 1 calc((100% - 28px) / 3); display: flex; flex-direction: column; }
@media (max-width: 1024px) { body.ehgr .e-con.ehgr-area-grid > .e-con.ehgr-area-card { flex-basis: calc((100% - 14px) / 2); } }
@media (max-width: 640px) { body.ehgr .e-con.ehgr-area-grid > .e-con.ehgr-area-card { flex-basis: 100%; } }
body.ehgr .ehgr-area-card .ehgr-area-go { margin-top: auto; }

/* 3D map: real height on phones and tablets (F07) */
@media (max-width: 1024px) {
  body.ehgr .ehgr-map { aspect-ratio: auto; height: min(118vw, 640px); min-height: 380px; }
  body.ehgr .ehgr-map-label { visibility: hidden; }
  body.ehgr .ehgr-map-label.is-hot { visibility: visible; }
  body.ehgr .ehgr-map::after { content: 'Tap a pin to see the town'; position: absolute; left: 12px; top: 10px; font-family: var(--ehgr-manrope); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ehgr-gold); pointer-events: none; }
}
@media (min-width: 761px) and (max-width: 1024px) { body.ehgr .ehgr-map { height: 560px; } }

/* F23 3D designer hint fits on phones */
@media (max-width: 600px) { body.ehgr .ehgr-room3d-hint { white-space: normal !important; max-width: calc(100% - 24px); left: 12px; right: 12px; text-align: center; transform: none; } }
/* F42 card titles line up across a row */
@media (min-width: 1100px) { body.ehgr .e-con.ehgr-specgrid-260 .ehgr-h3-tile .elementor-heading-title { min-height: 2.36em; } }
/* F44 two columns on tablets instead of one very tall column */
@media (min-width: 720px) and (max-width: 1024px) {
  body.ehgr .e-con.ehgr-two, body.ehgr .e-con.ehgr-two-400 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
  body.ehgr .e-con.ehgr-intro.ehgr-two, body.ehgr .e-con.ehgr-statement-3d { grid-template-columns: 1fr; }
}

/* follow-up from the re-scan */
body.ehgr .elementor-widget-button.ehgr-walink .elementor-button { white-space: normal; max-width: 100%; text-align: left; line-height: 1.35; }
body.ehgr .elementor-widget-button.ehgr-walink .elementor-button .elementor-button-text { white-space: normal; }
body.ehgr .ehgr-room-card .ehgr-h3-tile a { display: inline-block; padding: 8px 0; }
body.ehgr .ehgr-loc-accordion .elementor-tab-title a { padding: 4px 0; }
body.ehgr .ehgr-map-credit { color: var(--ehgr-muted-2) !important; }

body.ehgr .elementor-widget-button.ehgr-walink .elementor-button-content-wrapper::before { display: none; }
body.ehgr .elementor-widget-button.ehgr-walink { white-space: normal; }
.ehgr-404.error404, body.ehgr.error404 .ehgr-404 { padding-top: calc(var(--ehgr-header-h, 80px) + clamp(110px, 12vw, 180px)) !important; }
@media (max-width: 760px) { body.ehgr .ehgr-map { height: max(330px, 92vw); min-height: 0; } body.ehgr .ehgr-map-credit { font-size: 12px !important; max-width: 94%; line-height: 1.35; } }
