/* Static behaviour layered on the reference site's original design tokens/layout. */
:root { --neruda-red: #d91a35; --neruda-yellow: #ffdc36; }
html { scroll-behavior: smooth; }
body { margin: 0; }
[hidden] { display: none !important; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 3px solid #1475c9; outline-offset: 4px; }
.elementor-location-header { position: sticky; top: 0; z-index: 100; background: #fff; }
.language-switcher { display:flex; align-items:center; justify-content:center; gap: 8px; white-space:nowrap; }
.language-switcher a + a::before { content: '|'; color:#333; margin-right:8px; }
.language-switcher a { font-size: 14px; text-decoration: none; }
.language-switcher a[aria-current] { font-weight:700; }
.e-n-carousel { overflow:hidden; touch-action:pan-y; }
.e-n-carousel > .swiper-wrapper { display:flex; gap:var(--slide-gap, 10px); transition:transform .5s ease; align-items:stretch; }
.e-n-carousel > .swiper-wrapper > .swiper-slide { width:calc((100% - (var(--visible-slides, 1) - 1) * var(--slide-gap, 10px)) / var(--visible-slides, 1)); flex-shrink:0; height:auto; }
.elementor-swiper-button { cursor:pointer; }
.carousel-pause { position:absolute; right:18px; bottom:12px; z-index:3; border:0; padding:4px 10px; border-radius:20px; font:inherit; font-size:13px; color:white; background:#2229; }
.form-note { font-size:14px; line-height:1.4; margin-top:16px; }
.form-status:not(:empty) { padding:12px; margin-top:12px; border:1px solid #333; background:#fff8; }
.form-status a { text-decoration:underline; font-weight:bold; }
.form-status textarea { display:block; width:100%; min-height:140px; margin:12px 0; }
.form-status button { color:white; background:var(--neruda-red); border:0; border-radius:20px; }
.map-link { display:flex; justify-content:center; align-items:center; min-height:100px; background:#f3f3f3; border:1px solid #ddd; color:#333; }
.whatsapp-link { position:fixed; right:20px; bottom:20px; display:grid; place-items:center; width:60px; height:60px; border-radius:50%; background:#19ce5c; color:#fff; font-size:32px; z-index:90; box-shadow:0 2px 18px #0002; }
.whatsapp-link:hover { background:#0bb74b; color:white; }
.static-menu-open { display:block !important; max-height:calc(100dvh - 110px) !important; overflow-y:auto !important; visibility:visible !important; }
.elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--open { display:none; }
.elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--close { display:block; }
.elementor-nav-menu--dropdown a { white-space:normal; }
@media(max-width:1024px) { .elementor-location-header .elementor-nav-menu--dropdown { position:absolute; top:100%; left:0; width:min(85vw, 420px); box-shadow:0 8px 20px #0002; } }
@media(max-width:767px) {
 .whatsapp-link { width:48px; height:48px; right:12px; bottom:12px; }
 .tabla-disponibilidad { overflow-x:auto; max-width:100%; }
 .fila-disponibilidad { min-width:560px; }
 .form-clase-espanol { min-width:0; }
 .elementor-widget-html { min-width:0; }
 table { font-size:14px; }
 .elementor-widget-text-editor { overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *::before, *::after { animation:none !important; transition:none !important; } }
a.whatsapp-link, a.whatsapp-link:hover { color: #fff !important; text-decoration: none; }
.whatsapp-link i { font-size: 28px; }
@media(max-width:1024px) {
 .elementor-location-header .elementor-nav-menu--dropdown { position:fixed; top:var(--header-height, 110px); left:12px; width:calc(100vw - 24px); max-width:420px; }
}
@media(max-width:1024px) {
 .elementor-location-header nav.static-menu-open { position:fixed !important; transform:none !important; margin:0 !important; top:var(--header-height,110px) !important; left:12px !important; width:calc(100vw - 24px) !important; height:auto !important; }
}
/* The original pre-initialisation rule clips the moving track itself.
   Only the outer viewport may clip; otherwise slides 2–4 disappear. */
.elementor-widget-n-carousel .e-n-carousel > .swiper-wrapper { overflow: visible; }
