/*
 * Elementor integration only.
 * Visual rules live in the home, page and shared chrome stylesheets so that
 * the heavily customised home page cannot override subpage components.
 */
.elementor-widget[class*="elementor-widget-eo24-"] {
    width: 100% !important;
    margin: 0 !important;
}

.elementor-widget[class*="elementor-widget-eo24-"] > .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-widget-eo24-header,
.elementor-widget-eo24-header > .elementor-widget-container,
.eo24-site--eo24-header {
    position: relative !important;
    z-index: 1000 !important;
    overflow: visible !important;
}

.eo24-site--elementor {
    width: 100% !important;
    margin: 0 !important;
}

/*
 * Every supplied page was authored against a 16 px base size. Subpages use a
 * 1.6 line-height baseline, while the polished home page uses the browser's
 * normal baseline. Preserve both exactly.
 */
.eo24-site--elementor {
    font-size: 16px !important;
    letter-spacing: normal !important;
}

.eo24-site--elementor.eo24-home-page {
    line-height: normal !important;
}

.eo24-site--elementor.eo24-about-page,
.eo24-site--elementor.eo24-offer-page,
.eo24-site--elementor.eo24-price-page,
.eo24-site--elementor.eo24-locations-page,
.eo24-site--elementor.eo24-contact-page {
    line-height: 1.6 !important;
}

.eo24-site--elementor.eo24-news-page {
    line-height: 1.6 !important;
}

/*
 * Elementor applies its global heading line-height and -0.1 px tracking even
 * when a page's source CSS intentionally lets those values inherit. Restore
 * the authored baseline; explicit rules in each page stylesheet load later
 * and continue to win.
 */
.eo24-site--elementor:where(.eo24-home-page) :where(h1, h2, h3, h4, h5, h6) {
    line-height: normal;
    letter-spacing: normal;
}

.eo24-site--elementor:where(
    .eo24-about-page,
    .eo24-offer-page,
    .eo24-price-page,
    .eo24-locations-page,
    .eo24-contact-page,
    .eo24-news-page
) :where(h1, h2, h3, h4, h5, h6) {
    line-height: 1.6;
    letter-spacing: normal;
}

/*
 * A low-specificity reset neutralises the theme while still allowing every
 * original page rule loaded afterwards to restore its authored margins.
 */
.eo24-site--elementor :where(p, h1, h2, h3, ul, ol) {
    margin-top: 0;
}
