/* Elementor bridge: conserva el diseño original sin que el tema o Elementor alteren medidas. */
body.ilargi-elementor-page,
body.ilargi-elementor-page #page,
body.ilargi-elementor-page #content,
body.ilargi-elementor-page .site,
body.ilargi-elementor-page .site-content,
body.ilargi-elementor-page .content-area,
body.ilargi-elementor-page .elementor-location-single,
body.ilargi-elementor-page .elementor {
  width: 100%; max-width: none; margin: 0; padding: 0; background: var(--night); overflow: visible;
}
body.ilargi-elementor-page .elementor { position: relative; z-index: 1; }
body.ilargi-elementor-page .elementor-section,
body.ilargi-elementor-page .elementor-section .elementor-container,
body.ilargi-elementor-page .elementor-column,
body.ilargi-elementor-page .elementor-column-wrap,
body.ilargi-elementor-page .elementor-widget-wrap,
body.ilargi-elementor-page .elementor-element-populated,
body.ilargi-elementor-page .elementor-widget,
body.ilargi-elementor-page .elementor-widget-container { margin: 0; padding: 0; max-width: none; }
body.ilargi-elementor-page .elementor-section.elementor-section-boxed > .elementor-container { max-width: none; }
body.ilargi-elementor-page .elementor-column-gap-default > .elementor-column > .elementor-element-populated,
body.ilargi-elementor-page .elementor-column-gap-no > .elementor-column > .elementor-element-populated { padding: 0; }
body.ilargi-elementor-page .elementor-widget:not(:last-child) { margin-bottom: 0; }
body.ilargi-elementor-page .elementor-widget-ilargi-header,
body.ilargi-elementor-page .elementor-widget-ilargi-footer,
body.ilargi-elementor-page .elementor-widget-ilargi-home-hero,
body.ilargi-elementor-page .elementor-widget-ilargi-strip,
body.ilargi-elementor-page .elementor-widget-ilargi-dishes,
body.ilargi-elementor-page .elementor-widget-ilargi-split,
body.ilargi-elementor-page .elementor-widget-ilargi-stats,
body.ilargi-elementor-page .elementor-widget-ilargi-page-hero,
body.ilargi-elementor-page .elementor-widget-ilargi-emblem,
body.ilargi-elementor-page .elementor-widget-ilargi-menu,
body.ilargi-elementor-page .elementor-widget-ilargi-gallery,
body.ilargi-elementor-page .elementor-widget-ilargi-faq,
body.ilargi-elementor-page .elementor-widget-ilargi-contact,
body.ilargi-elementor-page .elementor-widget-ilargi-cta { width: 100%; }

/* El header debe fijarse por medio de su sección Elementor, no limitarse al alto del widget. */
body.ilargi-elementor-page .ilargi-header-holder { position: sticky; top: 0; z-index: 80; overflow: visible; }
body.ilargi-elementor-page .ilargi-header-holder .site-header { position: relative; top: auto; width: 100%; }
body.admin-bar.ilargi-elementor-page .ilargi-header-holder { top: 32px; }
@media (max-width: 782px) { body.admin-bar.ilargi-elementor-page .ilargi-header-holder { top: 46px; } }
body.elementor-editor-active.ilargi-elementor-page .ilargi-header-holder { position: relative; top: 0; }

/* Canvas y algunos temas introducen un margen superior o un título de página. */
body.ilargi-elementor-page .entry-header,
body.ilargi-elementor-page .page-header,
body.ilargi-elementor-page .entry-title { display: none !important; }
body.ilargi-elementor-page .entry-content { margin: 0; padding: 0; max-width: none; }

/* El contenido nunca debe permanecer invisible si no se carga una librería de animación. */
body.ilargi-elementor-page .reveal,
body.ilargi-elementor-page .stagger { opacity: 1 !important; visibility: visible !important; transform: none; }

/* Ajustes del editor para poder seleccionar correctamente todos los bloques. */
body.elementor-editor-active.ilargi-elementor-page .site-header { position: relative; }
body.elementor-editor-active.ilargi-elementor-page .wa { position: absolute; }

/* Ajustes responsive que neutralizan estilos heredados por algunos temas. */
@media (max-width: 820px) {
  body.ilargi-elementor-page .contact-grid .form > div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
}
