/* ===========================================================================
   Elementor's layout, for the pages Elementor does not build.

   The header, the footer and the page-template fallbacks print Elementor's
   markup (section → container → column → widget-wrap → widget), so one set of
   theme rules styles them wherever they appear. On a page Elementor builds,
   its own frontend stylesheet lays that markup out. Everywhere else — the
   shop, cart and checkout, 404, search, posts, or every page if Elementor is
   switched off — nothing would, and the header and footer columns collapse.
   functions.php loads this file on exactly those pages, ahead of the theme's
   sheets as Elementor's would be. The values are Elementor's; the theme's own
   rules (30-elementor.css onward) do all of the styling.
   =========================================================================== */

.elementor *,.elementor *::before,.elementor *::after{box-sizing:border-box}
.elementor img{height:auto;max-width:100%;border:none;border-radius:0;box-shadow:none}

/* section → container → column → widget-wrap → widget */
.elementor-section{position:relative}
.elementor-section .elementor-container{display:flex;margin-inline:auto;position:relative}
.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px}
.elementor-section.elementor-section-full_width > .elementor-container{max-width:none}
.elementor-column{position:relative;display:flex;min-height:1px}
.elementor-widget-wrap{position:relative;display:flex;flex-wrap:wrap;align-content:flex-start;width:100%}
.elementor-column-gap-no > .elementor-column > .elementor-element-populated{padding:0}
.elementor-widget-wrap > .elementor-element{width:100%}
.elementor-widget{position:relative}
.elementor-widget:not(:last-child){margin-bottom:20px}

/* the column widths Elementor ships, full width on phones */
.elementor-col-10{width:10%}.elementor-col-11{width:11.111%}.elementor-col-12{width:12.5%}
.elementor-col-14{width:14.285%}.elementor-col-16{width:16.666%}.elementor-col-20{width:20%}
.elementor-col-25{width:25%}.elementor-col-30{width:30%}.elementor-col-33{width:33.333%}
.elementor-col-40{width:40%}.elementor-col-50{width:50%}.elementor-col-60{width:60%}
.elementor-col-66{width:66.666%}.elementor-col-70{width:70%}.elementor-col-75{width:75%}
.elementor-col-80{width:80%}.elementor-col-83{width:83.333%}.elementor-col-90{width:90%}
.elementor-col-100{width:100%}
@media (max-width:767px){
  .elementor-section .elementor-container{flex-wrap:wrap}
  .elementor-section .elementor-column{width:100%}
}

/* widgets: only their structure */
.elementor-heading-title{margin:0;padding:0;line-height:1}
.elementor-button{display:inline-block;line-height:1;text-align:center;text-decoration:none}
.elementor-button-content-wrapper{display:flex;justify-content:center}
.elementor-icon-list-items{margin:0;padding:0;list-style:none}
.elementor-icon-list-item,.elementor-icon-list-item > a{display:flex;align-items:center}
.elementor-icon-list-icon{display:flex}
.elementor-widget-image{text-align:center}
.elementor-widget-image a{display:inline-block}
.elementor-widget-image img{display:inline-block;vertical-align:middle}

/* the hero's film, drawn behind the section's content */
.elementor-background-video-container{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none;direction:ltr}
.elementor-background-video-hosted{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
