.mx-footer__logo svg {
    max-width: 100%;
}
/* ModernXscapes — base styles, applied site-wide */

/* Hard reset: zero top spacing on root + body + every wrapper */
html, body {
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden;
}
html[lang] { margin-top: 0 !important; }
html.wp-toolbar { padding-top: 32px !important; }
@media (max-width: 782px) {
    html.wp-toolbar { padding-top: 46px !important; }
}

body.elementor-page,
body.page-template-elementor_canvas,
body.page,
body {
    background: #ffffff;
    margin: 0 !important;
}

/* Hello theme + WP default page wrappers */
.site-header,
.elementor-canvas .site-header,
.elementor-canvas .site-footer,
.site-footer { display: none !important; }

main, .site-main, .site-content,
#page, #content, .entry-content, .entry-header,
.elementor-canvas .site-content {
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
}

body > *:first-child { margin-top: 0 !important; }

/* When WP admin bar IS present (logged in), it overlays the page —
   header stays at top:0; admin bar is fine on top of it for admin views only */

/* === Nuke ALL Elementor section/column default spacing site-wide ===
   We're full-control on every section via our widgets — Elementor's defaults
   only get in the way (10px section padding, 10px column padding, etc). */
.elementor-section,
.elementor-section.elementor-top-section,
.elementor-section.elementor-inner-section {
    padding-block: 0 !important;
    margin-block: 0 !important;
}
.elementor .elementor-section .elementor-container { padding: 0 !important; }
.elementor .elementor-column,
.elementor .elementor-column .elementor-element-populated {
    padding: 0 !important;
}
.elementor-widget:not(:last-child) { margin-block-end: 0 !important; }

/* The widget-container Elementor wraps around our render adds its own padding
   on some themes — strip it for our widgets specifically. */
.elementor-widget-mx-site-header > .elementor-widget-container,
.elementor-widget-mx-hero > .elementor-widget-container,
.elementor-widget-mx-partners-strip > .elementor-widget-container,
.elementor-widget-mx-marquee > .elementor-widget-container,
.elementor-widget-mx-services-grid > .elementor-widget-container,
.elementor-widget-mx-decking-feature > .elementor-widget-container,
.elementor-widget-mx-feature-fullbleed > .elementor-widget-container,
.elementor-widget-mx-about-shapes > .elementor-widget-container,
.elementor-widget-mx-comfort-connection > .elementor-widget-container,
.elementor-widget-mx-process-steps > .elementor-widget-container,
.elementor-widget-mx-spas-slider > .elementor-widget-container,
.elementor-widget-mx-featured-projects > .elementor-widget-container,
.elementor-widget-mx-testimonials-slider > .elementor-widget-container,
.elementor-widget-mx-resources-trio > .elementor-widget-container,
.elementor-widget-mx-final-cta > .elementor-widget-container,
.elementor-widget-mx-site-footer > .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
}

/* Kill Elementor wrapper borders that bleed through our rounded image cards */
.elementor-widget-wrap,
.elementor-element,
.elementor-widget,
.elementor-section-wrap {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}
.elementor-widget img { border: 0; }

.mx-container {
    width: 100%;
    max-width: var(--mx-container-max);
    margin-inline: auto;
    padding-inline: var(--mx-container-pad);
}

.mx-h1 { font-family: var(--mx-font-heading); font-size: var(--mx-fs-h1); line-height: var(--mx-lh-tight); }
.mx-h2 { font-family: var(--mx-font-heading); font-size: var(--mx-fs-h2); line-height: var(--mx-lh-tight); }
.mx-h3 { font-family: var(--mx-font-heading); font-size: var(--mx-fs-h3); line-height: var(--mx-lh-tight); }
.mx-h4 { font-family: var(--mx-font-heading); font-size: var(--mx-fs-h4); line-height: var(--mx-lh-tight); }
.mx-body { font-family: var(--mx-font-body); font-size: var(--mx-fs-body); line-height: var(--mx-lh-normal); }
.mx-small { font-family: var(--mx-font-body); font-size: var(--mx-fs-small); line-height: var(--mx-lh-normal); }

/* Global paragraph sizing across all ModernXscapes widgets */
.elementor [class^="mx-"] p,
.elementor [class*=" mx-"] p {
    font-size: 22px !important;
    line-height: 1.5 !important;
}

/* Global CTA button vertical alignment fix — applies to every mx-* CTA */
[class^="mx-"][class*="__cta"],
[class*=" mx-"][class*="__cta"],
.mx-btn,
a.mx-btn,
button.mx-btn {
    line-height: 1 !important;
    padding-top: 24px !important;
    padding-bottom: 22px !important;
    height: auto !important;
    min-height: 67px;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

/* Global slider arrow override — kill pink/global button bg on all mx slider arrows */
.mx-dcol__arrow,
.mx-drail__arrow,
.mx-dtier__arrow,
.mx-dadv__arrow,
.mx-pwave__arrow,
.mx-plup__arrow,
.mx-br__arrow,
.mx-cen__arrow,
.mx-ctech__arrow,
[class*="__arrow"]:not(.mx-plup__arrow) {
    appearance: none !important;
    -webkit-appearance: none !important;
    background: transparent !important;
    background-image: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    text-decoration: none !important;
}
