/* ==========================================================================
   Aurelia Hotel – Elementor compatibility
   Loaded only on the front end after theme.css. Keeps Elementor's own
   wrappers from adding gaps, padding or width limits around the theme's
   full-width sections, and makes the Header & Footer blocks behave.
   ========================================================================== */

/* Our section widgets bring their own full-width markup ------------------- */
.elementor-widget[class*="elementor-widget-aurelia-"] { margin-bottom: 0 !important; width: 100%; max-width: 100%; }
.elementor-widget[class*="elementor-widget-aurelia-"] > .elementor-widget-container { margin: 0; padding: 0; }

/* The stack wrapper created by the demo import has no padding or gap. */
.e-con.aurelia-stack { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px; --flex-wrap: nowrap; }
.e-con.aurelia-stack > .e-con-inner { padding: 0; gap: 0; }
.elementor-section.aurelia-stack > .elementor-container { max-width: none; }
.aurelia-stack .elementor-widget-wrap.elementor-element-populated { padding: 0; }

/* Full-width Elementor pages --------------------------------------------- */
.aurelia-elementor-content { width: 100%; }
.aurelia-elementor .site-main { padding: 0; }

/* Hero: the search card overlaps the next section, so keep it on top and
   give the following section the extra room the adjacent-sibling rule gives
   it in the classic layout. */
.elementor-widget-aurelia-hero { position: relative; z-index: 3; }
.elementor-widget-aurelia-hero + .elementor-widget > .elementor-widget-container > .section:first-child,
.elementor-widget-aurelia-hero + .elementor-widget > .elementor-widget-container > .intro:first-child { padding-top: calc(60px + clamp(56px, 8vw, 110px)); }

/* Native Elementor widgets inherit the theme's look ----------------------- */
.elementor-widget-heading .elementor-heading-title { font-family: var(--font-display); }
.elementor-widget-button .elementor-button { border-radius: var(--radius); font-family: var(--font-body); font-size: .82rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.elementor-widget-text-editor { font-family: var(--font-body); }
.container .elementor-widget-text-editor, .elementor-widget[class*="elementor-widget-aurelia-"] .container { margin-left: auto; margin-right: auto; }

/* Header & Footer blocks -------------------------------------------------- */
.aurelia-block { position: relative; }
/* The whole header block is sticky; the negative offset lets the sample
   banner and top bar scroll away (measured in theme.js). */
.aurelia-block--header { position: sticky; top: calc(var(--aurelia-adminbar, 0px) - var(--aurelia-header-offset, 0px)); z-index: 100; }
.admin-bar { --aurelia-adminbar: 32px; }
@media (max-width: 782px) { .admin-bar { --aurelia-adminbar: 0px; } }
.aurelia-block--header .site-header { position: relative; top: auto; }
.aurelia-block .elementor-widget[class*="elementor-widget-aurelia-"] { overflow: visible; }
.aurelia-block--header .e-con, .aurelia-block--header .elementor-section, .aurelia-block--footer .e-con { overflow: visible; }

/* Editing canvas for the blocks themselves --------------------------------- */
body.aurelia-block-canvas { background: var(--ivory); min-height: 100vh; }

/* Elementor editor niceties ------------------------------------------------ */
.elementor-editor-active .mobile-book { display: none; }
.elementor-editor-active .hero__search .hbe-search { pointer-events: none; }
