/* Theme 1.3.0 — header/footer rendered from Elementor templates keep the exact look of the PHP versions. */

/* The sticky header must stick relative to the page, not inside Elementor wrappers:
   the outer wrapper becomes the sticky element, the inner header is plain. */
.od-elementor-master.od-elementor-header { position: sticky; top: 0; z-index: 300; }
.admin-bar .od-elementor-master.od-elementor-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .od-elementor-master.od-elementor-header { top: 46px; } }
.od-elementor-master.od-elementor-header .od-header { position: relative; top: auto; }

/* Neutralise Elementor wrappers around the site header/footer widgets. */
.od-elementor-header .elementor, .od-elementor-footer .elementor,
.od-elementor-header .e-con, .od-elementor-footer .e-con,
.od-elementor-header .e-con-inner, .od-elementor-footer .e-con-inner,
.od-elementor-header .elementor-widget, .od-elementor-footer .elementor-widget,
.od-elementor-header .elementor-widget-container, .od-elementor-footer .elementor-widget-container {
  padding: 0 !important; margin: 0 !important; max-width: none !important; width: 100%; gap: 0 !important;
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px;
}
.od-elementor-header .e-con, .od-elementor-footer .e-con { --content-width: 100%; --width: 100%; min-height: 0; }
.od-elementor-header .elementor-widget-od_site_header, .od-elementor-footer .elementor-widget-od_site_footer { display: block; }

/* 1.3.0: quick-availability modal (booking page in an iframe).
   The old rule ".od-quick-availability-mode main{padding:0}" also hit DBM's <main class="dbm-work">,
   which glued the calendar to the left edge and to the summary column. Restore DBM's own spacing. */
.od-quick-availability-mode main.dbm-work { padding: clamp(20px, 3vw, 36px) !important; }
@media (max-width: 520px) { .od-quick-availability-mode main.dbm-work { padding: 20px 16px !important; } }
/* The modal has its own title — hide the booking page intro (kicker, heading, lead) inside the iframe. */
.od-quick-availability-mode #main .elementor-widget-heading,
.od-quick-availability-mode #main .elementor-widget-text-editor { display: none !important; }
/* Narrower summary inside the modal so two calendar months keep their breathing room on the right. */
@media (min-width: 851px) {
  .od-quick-availability-mode .dbm-main { grid-template-columns: minmax(0, 1fr) 340px !important; }
  .od-quick-availability-mode .dbm-summary { flex: 0 0 340px !important; width: 340px !important; max-width: 340px !important; }
}
/* Containers holding only the (hidden) intro collapse completely. */
.od-quick-availability-mode #main .e-con:not(:has(.dbm)) { display: none !important; }
.od-quick-availability-mode #main .e-con:has(.dbm) { --padding-top: 0px; --padding-bottom: 0px; padding-top: 0 !important; padding-bottom: 0 !important; }

/* 1.3.0 — pages built from „OD …” widgets: Elementor wrappers must not add spacing, sections keep the theme layout. */
.od-elementor-route .e-con, .od-elementor-route .e-con-inner,
.od-elementor-route .elementor-widget, .od-elementor-route .elementor-widget-container {
  padding: 0 !important; margin: 0 !important; max-width: none !important; width: 100%; gap: 0 !important;
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px;
  --content-width: 100%; --width: 100%; min-height: 0;
}
.od-elementor-route .elementor-element.elementor-widget { display: block; }
.od-elementor-route > .elementor, .od-elementor-route > .elementor > .e-con { display: block !important; }
/* booking page inside the quick-availability modal: hide the page heading */
.od-quick-availability-mode #main .od-system-hero-booking { display: none !important; }
