/**
 * Elementor shortcode widget — full bleed, backgrounds, tap fixes.
 */

/* ── Tap / overlay fixes ─────────────────────────────── */
.elementor-background-overlay,
.elementor-background-slideshow,
.elementor-background-video-container,
.elementor-background-video-embed,
.elementor-background-video-hosted {
    pointer-events: none !important;
}

.metro-topbar {
    position: relative;
    z-index: 100002;
}

.metro-header {
    z-index: 100001;
}

.metro-header__nav a,
.metro-header__toggle,
.metro-header__phone,
.metro-header__logo {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    touch-action: manipulation;
}

@media (max-width: 1024px), (hover: none) {
    .metro-header .metro-header__nav:not(.is-open) {
        display: none !important;
        pointer-events: none !important;
        visibility: hidden !important;
    }
}

body.metro-has-custom-header .elementor-location-header,
body.metro-has-custom-header header.site-header:not(.metro-header) {
    display: none !important;
    pointer-events: none !important;
}

.metro-coverage-map__svg,
.metro-coverage-map__svg * {
    pointer-events: none !important;
}

.metro-stats--dark::before,
.metro-stats__wave,
.metro-footer::before,
.metro-meat-hero::before,
.metro-cta__overlay,
.metro-service-card__overlay,
.metro-service-card__title {
    pointer-events: none !important;
}

.mkwa-widget {
    pointer-events: none;
}

.mkwa-fab,
.mkwa-widget.is-open .mkwa-chat {
    pointer-events: auto;
}

.mkwa-widget:not(.is-open) .mkwa-chat {
    display: none !important;
    pointer-events: none !important;
    visibility: hidden !important;
}

.mkwa-fab::after {
    pointer-events: none;
}

.elementor a,
.elementor .elementor-button {
    touch-action: manipulation;
}

.elementor-sticky__spacer {
    pointer-events: none !important;
}

/* ── Break out of Elementor boxed columns (no black / white side bars) ── */
body.metro-elementor-page .elementor-section:has(.metro-shortcode-root),
body.metro-elementor-page .e-con:has(.metro-shortcode-root),
body.metro-elementor-page .e-con-inner:has(.metro-shortcode-root),
body.metro-elementor-page .elementor-column:has(.metro-shortcode-root),
body.metro-elementor-page .elementor-widget-wrap:has(.metro-shortcode-root) {
    background-color: #ffffff !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.metro-elementor-page .elementor-section:has(.metro-shortcode-root) > .elementor-container,
body.metro-elementor-page .elementor-section.elementor-section-boxed > .elementor-container:has(.metro-shortcode-root) {
    max-width: 100% !important;
    width: 100% !important;
}

.elementor-widget-shortcode,
.elementor-widget-shortcode .elementor-widget-container {
    position: relative;
    z-index: 2;
    overflow: visible !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: transparent !important;
}

/* Full-bleed shortcode blocks (everything except boxed CTA) */
.metro-shortcode-root--full,
.metro-shortcode-root:not(.metro-shortcode-root--boxed) {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 0 !important;
    background: transparent;
    box-sizing: border-box;
}

.metro-shortcode-root--full > .metro-meat-page,
.metro-shortcode-root--full > .metro-coverage-wrap,
.metro-shortcode-root--full > section,
.metro-shortcode-root--full .metro-meat-page,
.metro-shortcode-root:not(.metro-shortcode-root--boxed) > .metro-meat-page,
.metro-shortcode-root:not(.metro-shortcode-root--boxed) > .metro-coverage-wrap,
.metro-shortcode-root:not(.metro-shortcode-root--boxed) > section,
.metro-shortcode-root:not(.metro-shortcode-root--boxed) .metro-meat-page {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
}

/* Dark stats — solid burgundy, correct text contrast */
.metro-shortcode-root--stats,
.metro-shortcode-root:has(.metro-stats--dark) {
    background-color: #5a1212 !important;
}

.elementor-widget-shortcode .metro-stats.metro-stats--dark {
    background-color: #5a1212 !important;
    width: 100% !important;
}

.metro-shortcode-root:has(.metro-stats--dark) .metro-stats--dark::before {
    opacity: 0.55;
}

.metro-shortcode-root:has(.metro-stats--dark) .metro-stats__title,
.metro-shortcode-root:has(.metro-stats--dark) .metro-stats__kicker {
    color: #e7d7b6 !important;
}

.metro-shortcode-root:has(.metro-stats--dark) .metro-stats__counter,
.metro-shortcode-root:has(.metro-stats--dark) .metro-stats__suffix,
.metro-shortcode-root:has(.metro-stats--dark) .metro-stats__label {
    color: #ffffff !important;
}

.metro-shortcode-root:has(.metro-stats--dark) .metro-stats__sub {
    color: rgba(255, 255, 255, 0.55) !important;
}

/* Coverage / hero sections */
.metro-shortcode-root--coverage,
.metro-shortcode-root:has(.metro-coverage-wrap),
.metro-shortcode-root:has(.metro-coverage-hero) {
    background-color: #721818 !important;
}

.metro-shortcode-root:has(.metro-coverage-wrap) .metro-coverage-wrap,
.metro-shortcode-root:has(.metro-coverage-hero) {
    width: 100% !important;
}

/* Testimonials — white full width */
.metro-shortcode-root--testi,
.metro-shortcode-root:has(.metro-testi) {
    background-color: #ffffff !important;
}

.metro-shortcode-root:has(.metro-testi) .metro-testi {
    width: 100% !important;
    background: #ffffff !important;
}

/* Boxed CTA card (narrower + rounded) */
.metro-shortcode-root--boxed {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 40px 20px !important;
    background: #ffffff !important;
    box-sizing: border-box;
}

.metro-shortcode-root--boxed .metro-cta.metro-meat-page,
.elementor-widget-shortcode .metro-shortcode-root--boxed .metro-cta.metro-meat-page {
    width: min(1120px, 100%) !important;
    max-width: 1120px !important;
    margin: 0 auto !important;
    border-radius: 20px !important;
    overflow: hidden;
    box-shadow: 0 18px 48px rgba(32, 18, 12, 0.12);
}

.metro-shortcode-root a,
.metro-shortcode-root button {
    pointer-events: auto;
    touch-action: manipulation;
}

.metro-stats .metro-meat-wrap,
.metro-stats__grid,
.metro-testi__stage,
.metro-testi__track,
.metro-cta__inner {
    position: relative;
    z-index: 1;
}

body.metro-wow-ready .metro-shortcode-root.wow:not(.animate__animated) {
    visibility: hidden;
}

@media (max-width: 780px) {
    .metro-shortcode-root--boxed {
        padding: 28px 16px !important;
    }

    .metro-shortcode-root--boxed .metro-cta.metro-meat-page {
        border-radius: 16px !important;
    }
}
