/* WP/Elementor interoperability: keep the original EFG look while leaving
   editor layouts, bilingual templates and dynamic 3D/scroll components intact. */
body.efg-site #main-content { width:100%; min-width:0; overflow:visible; }
body.efg-site #main-content > .elementor { width:100%; }
body.efg-site .elementor-widget-efg_block, body.efg-site .elementor-widget-efg_block > .elementor-widget-container { width:100%; }
body.efg-site .elementor-element.efg-import-container { --container-max-width:100%; max-width:100%; width:100%; padding:0; margin:0; gap:0; }
body.efg-site #main-content .elementor-widget-efg_block section { margin-left:auto; margin-right:auto; }
body.efg-site #main-content .elementor-widget-efg_block .hero {position:relative;z-index:1;}
body.efg-site #main-content .elementor-widget-efg_block .gap {position:relative;z-index:0;}
body.efg-site .elementor-widget-efg_block h1,body.efg-site .elementor-widget-efg_block h2,body.efg-site .elementor-widget-efg_block h3 {font-family:var(--font);}
body.efg-site .elementor-widget-efg_block .teo h1,body.efg-site .elementor-widget-efg_block .teo h2,body.efg-site .elementor-widget-efg_block .teo h3 {font-family:var(--display);}
body.efg-site {font-family:var(--font);}
body.efg-site .elementor-widget-efg_block .nav__lang {display:inline-flex;align-items:center;justify-content:center;text-decoration:none;}
.efg-honeypot{position:absolute!important;left:-99999px!important;opacity:0!important;width:1px!important;height:1px!important;pointer-events:none!important;}
/* Global header is a reusable Elementor saved template, not duplicated on pages. */
body.efg-site > .elementor .nav,body.efg-site > .elementor .footer {max-width:none;}
body.efg-site .elementor-widget-efg_block .unit__gallery img, body.efg-site .elementor-widget-efg_block .twork img {cursor:zoom-in;}
/* The header has an explicit region: toolbar/Elementor node order is irrelevant. */
body.efg-site .efg-header-region {position:sticky;top:0;z-index:100;}
body.efg-site .efg-header-region .nav {position:relative;top:auto;}
body.efg-site.admin-bar .efg-header-region {top:32px;}
@media(max-width:782px){body.efg-site.admin-bar .efg-header-region {top:46px;}}
@media(max-width:600px){body.efg-site.admin-bar .efg-header-region {top:0;}}
/* Original main > section / .teo selectors no longer match through Elementor.
   Restore their opaque covers without flattening editor controls or the gap. */
body.efg-site #main-content [data-efg-root]:is(section,footer,.teo) {position:relative;z-index:1;}
body.efg-site #main-content [data-efg-root]:is(section,footer,.teo)::before {
  content:"";position:absolute;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);
  background:var(--white);z-index:-1;
}
body.efg-site #main-content [data-efg-root].hero::before {content:none;}
body.efg-site .efg-footer-region {position:relative;z-index:1;background:var(--white);}
body.efg-site .elementor-widget-efg_block .hero__wordmark {font-family:var(--font);font-weight:800;line-height:1;}
/* Do not let WordPress block-theme CSS override EFG layout. */
body.efg-site .elementor-widget-efg_block a {text-decoration:none;}


/* EFG v1.1: all technical floor plans get desktop magnification and a
   focusable, touch-friendly full-size viewer with + / − zoom controls. */
.efg-plan-viewer[hidden] { display:none!important; }
.efg-plan-viewer { position:fixed; z-index:2147483000; inset:0; display:flex; flex-direction:column;
  padding:clamp(8px,2vw,24px); background:rgba(12,15,18,.96); color:#fff; box-sizing:border-box; }
.efg-plan-viewer__toolbar { display:flex; align-items:center; justify-content:flex-end; gap:8px; margin:0 0 10px; }
.efg-plan-viewer__toolbar button { appearance:none; color:#fff; background:#242a31; border:1px solid #747c84;
  border-radius:6px; width:44px; height:44px; font-size:27px; cursor:pointer; line-height:1; }
.efg-plan-viewer__toolbar button:focus-visible { outline:3px solid #e4b869; outline-offset:3px; }
.efg-plan-viewer__scroll { flex:1; min-height:0; overflow:auto; text-align:center; background:#eceae6; overscroll-behavior:contain; }
.efg-plan-viewer__scroll img { display:block; height:auto; max-width:none!important; margin:auto; object-fit:contain; }
body.efg-site .plan-zoomable img[role="button"] { cursor:zoom-in; }
@media (hover:none) { body.efg-site .plan-loupe {display:none!important;} }
@media (max-width:767px) { .efg-plan-viewer {padding:6px;} .efg-plan-viewer__toolbar {gap:5px;} }

/* v1.3.2: responsive hardening; additive only, preserves Elementor editor controls. */
body.efg-site,body.efg-site #main-content,body.efg-site .elementor {max-width:100%;}
body.efg-site .elementor-widget-efg_block,body.efg-site .elementor-widget-container {min-width:0;}
body.efg-site :is(img,video,canvas,svg,iframe) {max-width:100%;}
body.efg-site :is(.efg-header-region,.efg-footer-region) .elementor-container {min-width:0;}
body.efg-site :is(.nav,.nav__right,.footer__phones) {min-width:0;}
@media (max-width: 820px) {
 body.efg-site .nav {flex-wrap:wrap;gap:clamp(.45rem,2vw,1rem);padding-inline:clamp(.75rem,3vw,1.25rem);}
 body.efg-site .nav__right {margin-left:auto;flex-wrap:wrap;justify-content:flex-end;}
 body.efg-site .nav__logo {max-width:min(42vw,190px);height:auto;max-height:2.1rem;}
 body.efg-site :is(.unit__gallery,.floorplan__wrap,.plans,.statement,.available) {min-width:0;max-width:100%;}
 body.efg-site .teo .footer__phones {display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .7rem;}
 body.efg-site .teo .footer__phones a {white-space:normal;overflow-wrap:anywhere;}
 body.efg-site .teo .footer__sep {margin:0 .1rem;}
 body.efg-site .teo .works--tours .works__title {font-size:clamp(2rem,9vw,4rem);overflow-wrap:anywhere;}
 body.efg-site .teo .vtour__frame {height:clamp(260px,58vw,460px);}
}
@media (max-width: 480px) {
 body.efg-site .nav {gap:.5rem;}
 body.efg-site .nav__right {gap:.45rem;}
 body.efg-site .nav .pill {padding:.5rem .75rem;font-size:.78rem;}
 body.efg-site .nav__lang {flex-shrink:0;}
 body.efg-site .hero__wordmark {max-width:100vw;}
 body.efg-site .efg-plan-viewer__toolbar button {min-width:44px;min-height:44px;}
}
@media (prefers-reduced-motion:reduce) {
 body.efg-site .elementor-widget-efg_block *,body.efg-site .elementor-widget-efg_block *::before,body.efg-site .elementor-widget-efg_block *::after {scroll-behavior:auto;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
}

/* v1.3.3: viewport containment and keyboard/mobile navigation resilience. */
body.efg-site {overflow-x:clip;}
body.efg-site #main-content :is(.elementor-element,.e-con,.e-con-inner) {min-width:0;}
body.efg-site .efg-header-region :is(.nav,.nav__right) {max-width:100%;}
body.efg-site .efg-header-region a:focus-visible,body.efg-site .efg-footer-region a:focus-visible {outline:2px solid currentColor;outline-offset:4px;}
body.efg-site .efg-footer-region :is(a,p) {overflow-wrap:anywhere;}
body.efg-site #main-content :is(.vtour__frame,.unit__gallery,.floorplan__wrap) {max-width:100%;}
body.efg-site #main-content .vtour__frame iframe {display:block;width:100%;max-width:100%;border:0;}
@media(max-width:600px){
 body.efg-site .efg-header-region .nav {box-sizing:border-box;width:100%;}
 body.efg-site .efg-header-region .nav__right {min-width:0;max-width:100%;}
 body.efg-site #main-content :is(.unit__gallery,.floorplan__wrap) {overflow-x:auto;overscroll-behavior-x:contain;}
 body.efg-site .efg-footer-region :is(input,textarea,select) {max-width:100%;box-sizing:border-box;}
}

/* Keep Elementor's generic image reset from enlarging the brand marks. */
body.efg-site .efg-header-region .nav__logo {height:2.1rem;width:auto;max-height:2.1rem;object-fit:contain;}
body.efg-site .efg-footer-region .footer__logo {height:6.4rem;width:auto;max-height:6.4rem;object-fit:contain;}
@media(max-width:359px){body.efg-site .efg-header-region .nav__logo {height:1.7rem;max-height:1.7rem;}}
