/* wp-canvas.css — loaded ONLY on the WordPress copies of the preview pages (Elementor Canvas template).
   Neutralises what the WpResidence theme / Elementor / WordPress still print around an Elementor Canvas page,
   so the preview's own site.css wins. 16 Sept 2026. */
html, body { margin: 0 !important; padding: 0 !important; background: var(--ground, #0f1412) !important; }
body.gg-page, body { font-family: 'Inter', system-ui, sans-serif; }
#wpadminbar { position: fixed; }                         /* keep the admin bar usable for logged-in users */
html { margin-top: 0 !important; }
body.admin-bar .gg-site { padding-top: 32px; }
.gg-site { min-height: 100vh; }
.gg-site *, .gg-site *::before, .gg-site *::after { box-sizing: border-box; }
/* theme leftovers that Canvas can still inject */
#wpestate_login_modal, #wpestate_register_modal, .wpresidence_login_modal, .login_sidebar, .sticky_header_bar,
.google_map_wrapper, #back_to_top, .scroll-top-wrapper, .wpestate_footer, .footer_wrapper, .header_wrapper, .master_header,
#elementor-popup-modal, .elementor-location-header, .elementor-location-footer { display: none !important; }
/* Elementor's global text/heading styles must not override ours */
.gg-site h1, .gg-site h2, .gg-site h3, .gg-site h4 { font-family: 'Fraunces', Georgia, serif; }
.gg-site p, .gg-site li, .gg-site a, .gg-site span, .gg-site label, .gg-site input, .gg-site select, .gg-site textarea, .gg-site button { font-family: inherit; }
.gg-site a { text-decoration: none; }
.gg-site img { max-width: 100%; height: auto; }
/* header hardening — the theme's global img/header rules win on specificity otherwise */
.gg-site header.nav { position: sticky !important; top: 0 !important; z-index: 40 !important; display: block !important; width: auto !important; height: auto !important; padding: 0 !important; margin: 0 !important; }
.gg-site .nav-in { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 1rem !important; }
.gg-site .brand { display: flex !important; align-items: center !important; gap: .6rem !important; }
.gg-site .brand-mark, .gg-site img.brand-mark { width: auto !important; height: 32px !important; max-width: none !important; max-height: 32px !important; }
.gg-site .brand b, .gg-site .brand small { display: block !important; }
.gg-site .nav-links { display: flex !important; align-items: center !important; gap: 1.5rem !important; }
.gg-site .nav-cta { display: flex !important; align-items: center !important; gap: .9rem !important; }
.gg-site .menu-btn { display: none !important; }
@media (max-width: 900px) {
  .gg-site .nav-links { display: none !important; }
  .gg-site .menu-toggle:checked ~ .nav-links { display: flex !important; }
  .gg-site .menu-btn { display: flex !important; }
  .gg-site .brand-mark, .gg-site img.brand-mark { height: 28px !important; max-height: 28px !important; }
}
.gg-site .wrap { max-width: var(--maxw) !important; margin-inline: auto !important; padding-inline: var(--pad) !important; }
.gg-site ul, .gg-site ol { margin: 0; }
.gg-site .btn { text-decoration: none !important; }
/* theme floaters and widgets printed at body level on every page (measured on the live draft, 16 Sept) */
body > a.backtop, body > a.contact-box, body > .contactformwrapper, body > .prop-compare, body > .wpml-ls-statics-footer,
#modal_login_wrapper, .wpestate_login_modal, .adv-search-mobile-wrapper, #adv-search-mobile { display: none !important; }
/* 17 Sept 2026, 02:4x — MEASURED on the live services page in dark mode: the theme's combined stylesheet colours
   every heading `var(--wp_estate_headings_color)` (rgb 38,33,16) and every `table tbody tr td` rgb(34,34,34) —
   invisible on our dark ground. Headings and cells take the site's own colours again. */
.gg-site h1, .gg-site h2, .gg-site h3, .gg-site h4, .gg-site h5, .gg-site h6,
.gg-site .h1, .gg-site .h2, .gg-site .h3, .gg-site .h4 { color: var(--ink) !important; }
.gg-site .hero h1, .gg-site .page-hero.has-film h1 { color: #F4F8F3 !important; }
.gg-site .plan h2, .gg-site .plan h3, .gg-site .step h3 { color: #fff !important; }
.gg-site .foot-cols h4 { color: var(--ink-soft) !important; }
.gg-site table tbody tr td, .gg-site table th, .gg-site table td { color: var(--ink) !important; background: transparent; }
.gg-site td strong { color: var(--ink) !important; }
.gg-site a:not(.btn) { color: inherit; }
.gg-site p, .gg-site li, .gg-site figcaption, .gg-site blockquote { color: inherit; }

/* 17 Sept 2026 — the theme's reCAPTCHA badge floats over every canvas page; our pages carry HubSpot forms, not
   the theme's, so the badge has nothing to protect here. Google permits hiding it where the attribution stands. */
body.elementor-template-canvas .grecaptcha-badge { visibility: hidden !important; }
