/* Scoped: no changes to existing header, menu, forms or sliders. */
.av110-embed a:focus-visible,.av110-settings :is(a,button,input):focus-visible{outline:3px solid #498ee8!important;outline-offset:4px!important}
.av110-embed{position:relative;width:100%;min-height:300px;height:100%;background:var(--av15-surface,#e4ebf3);color:var(--av15-text,#24364d);border-radius:12px;overflow:hidden}
.av110-embed>.av110-media{box-sizing:border-box;min-height:300px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;gap:12px;font:16px/1.6 Arial,sans-serif}
.av110-media strong{font-size:21px}.av110-media p{max-width:440px;margin:0}.av110-media a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:6px 16px;border-radius:8px;background:#275c97;color:#f3f5f9!important;text-decoration:underline;text-underline-offset:3px}
.av110-embed>iframe[hidden],.av110-embed>.av110-media[hidden]{display:none!important}
/* A recorded first-party rejection must not produce a new notice on every page.
   The native revisit control and the permanent footer link remain available. */
html.av110-necessary-only body.av15-site .cky-consent-container{display:none!important}
.av110-embed>iframe:not([hidden]){display:block!important;width:100%!important;min-height:300px;border:0}
html[data-av15-theme=dark] .av110-embed{background:#253a51;color:#d3deeb}
.av110-settings{--p-bg:#e5ebf2;--p-surface:#f0f3f7;--p-text:#25364a;--p-muted:#465b72;--p-line:#b8c8d8;--p-accent:#245a96;--p-button:#e0e8f1;margin:0;background:var(--p-bg);color:var(--p-text);font:17px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100vh;color-scheme:light}
html[data-av15-theme=dark] .av110-settings{--p-bg:#1c2b3d;--p-surface:#26384d;--p-text:#d9e2ee;--p-muted:#bccbdd;--p-line:#526b86;--p-accent:#a7ccff;--p-button:#304961;color-scheme:dark}
.av110-settings *{box-sizing:border-box}.av110-panel{width:min(800px,calc(100% - 32px));margin:40px auto;padding:clamp(22px,4vw,44px);background:var(--p-surface);border:1px solid var(--p-line);border-radius:20px;box-shadow:0 20px 60px #10263b18}
.av110-settings a{color:var(--p-accent);text-underline-offset:4px}.av110-back{display:inline-flex;align-items:center;min-height:44px}.av110-brand{color:var(--p-muted);font-size:12px;font-weight:700;letter-spacing:.09em;margin-top:24px}
.av110-settings h1{font-size:clamp(28px,5vw,38px);line-height:1.25;margin:8px 0 20px}.av110-settings h2{font-size:19px;line-height:1.4;margin:0 0 8px}.av110-option{display:flex;gap:22px;align-items:center;justify-content:space-between;padding:22px 0;border-top:1px solid var(--p-line)}
.av110-option>div{min-width:0}.av110-option p{margin:0;color:var(--p-muted);font-size:15px}.av110-option input{flex:0 0 28px;width:28px;height:28px;accent-color:#2d69b0;cursor:pointer;margin:8px;outline-offset:4px}
.av110-always{font-size:13px;white-space:nowrap;color:var(--p-muted)}.av110-notice,.av110-success{border:1px solid var(--p-line);padding:14px 16px;border-radius:10px;font-size:15px}.av110-success{font-weight:600}
.av110-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0 18px}.av110-actions button{padding:14px 16px;min-height:52px;border-radius:10px;border:1px solid var(--p-line);background:var(--p-button);color:var(--p-text);font:600 15px/1.5 system-ui,sans-serif;cursor:pointer;white-space:normal}
.av110-actions button:hover{box-shadow:0 4px 16px #10263b30}.av110-actions button:disabled{cursor:wait;opacity:.7}.av110-small{font-size:13px;color:var(--p-muted)}.av110-policy{display:inline-flex;align-items:center;min-height:44px}
/* The native CMP engine remains active here; only this page supplies its own controls. */
.av110-settings :is(.cky-consent-container,.cky-modal,.cky-preference-center,.cky-btn-revisit-wrapper,.cky-overlay){display:none!important}
@media(max-width:520px){.av110-panel{margin:16px auto;padding:22px 18px;border-radius:14px}.av110-actions{grid-template-columns:1fr}.av110-option{gap:12px}.av110-always{white-space:normal;max-width:80px;text-align:right}.av110-embed>.av110-media{padding:22px 16px}}
@media(forced-colors:active){.av110-option input,.av110-actions button{border:2px solid ButtonText!important}.av110-actions button{color:ButtonText!important;background:ButtonFace!important}}
/* Self-hosted neighbourhood map: no third-party frame or consent gate. */
.av112-map-slot{position:static;min-height:300px}
.elementor-widget-google_maps:has(.av112-map){position:relative!important}
.elementor-widget-google_maps:has(.av112-map)>.elementor-widget-container,.elementor-widget-google_maps:has(.av112-map) .elementor-custom-embed{position:static!important}
.av112-map{--av112-map-bg:#e4ecf3;--av112-map-panel:#edf2f7;--av112-map-text:#304b65;--av112-map-edge:#b8c9d9;--av112-map-accent:#365f8c;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;isolation:isolate;overflow:hidden;border-radius:inherit;background:var(--av112-map-bg);color:var(--av112-map-text);font:14px/1.5 Montserrat,Arial,sans-serif;box-sizing:border-box}
html[data-av15-theme=dark] .av112-map{--av112-map-bg:#24364b;--av112-map-panel:#2c425a;--av112-map-text:#d7e2ee;--av112-map-edge:#59738e;--av112-map-accent:#9ac5fa}
.av112-map-canvas,.av112-map-fallback{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0;padding:0;border:0}
.av112-map-fallback{z-index:1;background-position:center;background-size:cover;background-repeat:no-repeat;pointer-events:none}
/* Elementor's lazy-background rule must not hide the no-JS map preview. */
body.av15-site .elementor.elementor .elementor-widget-google_maps .av112-map .av112-map-fallback{background-image:var(--av112-map-light)!important}
html[data-av15-theme=dark] body.av15-site .elementor.elementor .elementor-widget-google_maps .av112-map .av112-map-fallback{background-image:var(--av112-map-dark)!important}
.av112-map.av112-ready .av112-map-fallback{display:none}
.av112-map .leaflet-container{background:var(--av112-map-bg);font-family:Montserrat,Arial,sans-serif}
.av112-map .leaflet-image-layer{max-width:none!important;max-height:none!important;border:0!important;border-radius:0!important}
.av112-map-card{position:absolute;z-index:800;top:12px;left:12px;max-width:calc(100% - 76px);width:250px;padding:13px 15px;background:var(--av112-map-panel);color:var(--av112-map-text);border:1px solid var(--av112-map-edge);border-radius:12px;box-shadow:0 8px 24px #152f4826;box-sizing:border-box}
.av112-map-card strong{display:block;font:700 16px/1.5 Montserrat,Arial,sans-serif;color:inherit}
.av112-map-card address{font:400 12px/1.65 Montserrat,Arial,sans-serif;color:inherit;margin:3px 0 10px;font-style:normal}
.av112-map-card a.av112-directions{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;max-width:100%;padding:7px 12px!important;background:#365f8c!important;color:#edf3fa!important;border:1px solid #6688ac;border-radius:7px;font:600 12px/1.5 Montserrat,Arial,sans-serif!important;text-decoration:none!important;white-space:normal}
.av112-map-card a.av112-directions:hover{background:#284d76!important}
.av112-map-attribution{position:absolute;z-index:800;bottom:0;right:0;left:0;padding:3px 8px;background:var(--av112-map-panel);color:var(--av112-map-text);font:10px/1.7 Arial,sans-serif;text-align:right}
.av112-map-attribution a{color:inherit!important;text-decoration:underline!important;font:inherit!important}
.av112-map .leaflet-control-container .leaflet-top{top:10px}.av112-map .leaflet-control-container .leaflet-right{right:10px}
.av112-map .leaflet-bar{border:1px solid var(--av112-map-edge)!important;border-radius:8px;box-shadow:0 3px 14px #142b4326;overflow:hidden}
.av112-map .leaflet-bar a,.av112-map .av112-recenter button{display:flex!important;align-items:center;justify-content:center;width:36px!important;height:36px!important;margin:0!important;padding:0!important;background:var(--av112-map-panel)!important;color:var(--av112-map-text)!important;border:0!important;border-radius:0;font:600 23px/1 Arial,sans-serif!important;text-decoration:none!important;cursor:pointer;box-shadow:none}
.av112-map .leaflet-bar a+a{border-top:1px solid var(--av112-map-edge)!important}
.av112-map :is(a,button):focus-visible{outline:3px solid var(--av112-map-accent)!important;outline-offset:-3px!important}
.av112-map .av112-marker{background:none;border:0}.av112-pin{display:block;width:30px;height:38px;filter:drop-shadow(0 3px 4px #102b4055)}
.av112-map .leaflet-popup-content-wrapper,.av112-map .leaflet-popup-tip{background:var(--av112-map-panel);color:var(--av112-map-text)}
.av112-map .leaflet-popup-content{font:13px/1.6 Montserrat,Arial,sans-serif;margin:12px 15px}
@media(max-width:520px){.av112-map-card{top:10px;left:10px;padding:10px 12px;width:230px}.av112-map-card strong{font-size:14px}.av112-map-card address{font-size:11px;margin-bottom:7px}.av112-map-card a.av112-directions{font-size:11px!important;min-height:40px;padding:7px 10px!important}.av112-map .leaflet-bar a,.av112-map .av112-recenter button{width:44px!important;height:44px!important}}
/* V1.13: retain the Contact widget's original 500/350 px map viewport. */
body.av15-site .elementor-1007 .elementor-element-9ccf770 .av112-map-slot{min-height:500px}
@media(max-width:1024px){
body.av15-site.av17-inner .elementor.elementor-1007 .elementor-element-f568f0b.elementor-widget-n-accordion{left:0!important;right:auto!important;margin-inline:auto!important}
}
@media(max-width:767px){
body.av15-site .elementor-1007 .elementor-element-9ccf770 .av112-map-slot{min-height:350px}
/* Put the address below the full-size map, so it cannot cover the pin or zoom controls. */
body.av15-site .elementor-1007 .av112-map{position:relative!important;inset:auto!important;height:auto!important;display:flex;flex-direction:column}
body.av15-site .elementor-1007 .av112-map-canvas{position:relative!important;inset:auto!important;height:350px!important;flex:0 0 350px}
body.av15-site .elementor-1007 .av112-map-fallback{bottom:auto!important;height:350px!important}
body.av15-site .elementor-1007 .av112-map-card{position:static;max-width:none;width:100%;padding:10px 12px;border-width:1px 0 0;border-radius:0;box-shadow:none}
body.av15-site .elementor-1007 .av112-map-attribution{position:static;width:100%}
body.av15-site .elementor-1007 .av112-map .leaflet-bar a,body.av15-site .elementor-1007 .av112-map .av112-recenter button{width:44px!important;height:44px!important}
}
/* V1.14: Fluent surfaces for Contact; preserve the V1.13 geometry. */
body.av15-site.av17-inner .elementor.elementor-1007 .elementor-element-24df29b{border-color:var(--av15-line)!important;border-radius:var(--av15-radius,18px)!important;overflow:hidden!important;background:var(--av15-surface)!important;box-shadow:var(--av15-shadow),inset 0 1px 0 #ffffff40}
body.av15-site .elementor-1007 .elementor-element-9ccf770{border-radius:inherit!important}
body.av15-site .elementor-1007 .av112-map{--av112-map-panel:var(--av15-surface);--av112-map-text:var(--av15-text);--av112-map-edge:var(--av15-line);--av112-map-accent:var(--av15-accent)}
body.av15-site .elementor-1007 .av112-map-card{background:linear-gradient(145deg,var(--av15-surface),var(--av15-panel));border-color:var(--av15-line);box-shadow:var(--av15-shadow)}
body.av15-site .elementor-1007 .av112-map .leaflet-bar{border-radius:10px!important;box-shadow:var(--av15-shadow)}
body.av15-site .elementor-1007 .av112-map .leaflet-bar a,body.av15-site .elementor-1007 .av112-map .av112-recenter button{transition:background-color .18s ease}
body.av15-site .elementor-1007 .av112-map .leaflet-bar a:hover,body.av15-site .elementor-1007 .av112-map .av112-recenter button:hover{background:var(--av15-hover)!important}
body.av15-site .elementor-1007 .av112-map-card a.av112-directions{background:var(--av15-button)!important;color:var(--av15-button-text)!important;border-color:var(--av15-line);box-shadow:0 2px 6px #112c451a;transition:box-shadow .18s ease}
body.av15-site .elementor-1007 .av112-map-card a.av112-directions span{color:inherit!important}
body.av15-site .elementor-1007 .av112-map-card a.av112-directions:hover{box-shadow:var(--av15-shadow)}
html[data-av15-theme=dark] body.av15-site.av17-inner .elementor.elementor-1007 .elementor-element-24df29b{box-shadow:var(--av15-shadow),inset 0 1px 0 #ffffff12}
@media(max-width:767px){body.av15-site .elementor-1007 .av112-map-card{box-shadow:none}}
/* V1.15: the accordion underlay must not protrude behind the rounded map. */
body.av15-site.av17-inner .elementor.elementor-1007 .elementor-element-f568f0b>.e-n-accordion>details.e-n-accordion-item{background:transparent!important}
