/*
 * Tiny override sheet for the Blade seams that aren't part of the live
 * site's own Elementor/theme CSS: inert town/link placeholders (rendered as
 * <span>, not <a>, so they need a "not clickable" cursor) and form
 * alert/error states for the contact form, which the live site never needed
 * because it never actually submitted anywhere.
 *
 * mb-town-inert is cursor-only, no opacity/color change: live never dims
 * its own dead-end items (header dropdown, mega-menu, footer towns/Blog/
 * Cookies Settings all render at full opacity, same color as real links) —
 * an opacity treatment here would be a pixel-parity regression, not a fix.
 */

.mb-town-inert {
    cursor: default;
}

.mb-alert {
    padding: 14px 18px;
    border-radius: 6px;
    margin-bottom: 20px;
    font-family: Inter, sans-serif;
    font-weight: 500;
}
.mb-alert-success {
    background: #e7f2ea;
    color: #1F5F3A;
    border: 1px solid #bfe0c9;
}
.mb-alert-error {
    background: #fdecea;
    color: #a1291f;
    border: 1px solid #f3c6c1;
}

.mb-field-honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.mb-legal-page {
    max-width: 760px;
    margin: 0 auto;
    padding: 72px 24px;
    font-family: Inter, sans-serif;
    color: #1a1a1a;
}
.mb-legal-page h1 {
    font-family: Poppins, sans-serif;
    margin-bottom: 0.3em;
}
.mb-legal-page h2 {
    font-family: Poppins, sans-serif;
    margin-top: 1.6em;
}
.mb-legal-page .mb-meta {
    color: #6b6b6b;
    margin-bottom: 2em;
}

/*
 * Mobile popout (off-canvas) menu cleanup — OWNER-APPROVED DEVIATION from the
 * live site (2026-08-21, T-0550). Live's popout shipped half-finished: the
 * active link inherits the white color meant for the green desktop bar (nearly
 * invisible on the light panel), the submenu chevron renders as a detached
 * white-bordered oval floating at the panel edge, and the panel is a bare gray
 * sheet. Every rule below is scoped under .elementskit-menu-offcanvas-elements,
 * which only presents when the menu is open — the closed-state rendering (the
 * pixel-parity surface, verified 0.000% vs live) is untouched.
 */

/* All popout rules apply ONLY in ekit's off-canvas mode (max-width:1024px):
   the same .elementskit-menu-offcanvas-elements container IS the desktop
   navbar above that width, and these rules must never touch desktop
   rendering (pixel-parity surface). */
@media (max-width: 1024px) {
    .elementskit-menu-offcanvas-elements {
        background-color: #ffffff !important;
        box-shadow: 0 0 30px rgba(0, 0, 0, 0.12);
    }

    /* readable active item in the brand green instead of desktop-bar white
       (!important: the header template post-113.css styles the same markup for the
       green desktop bar at much higher specificity) */
    .elementskit-menu-offcanvas-elements .elementskit-navbar-nav > li.current-menu-item > a,
    .elementskit-menu-offcanvas-elements .ekit-menu-nav-link.active {
        color: #1F5F3A !important;
        font-weight: 600 !important;
    }

    /* consistent tappable rows with a hairline divider; chevron sits flush right */
    .elementskit-menu-offcanvas-elements .elementskit-navbar-nav > li > .ekit-menu-nav-link {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        padding: 14px 20px !important;
        border-bottom: 1px solid #efefef;
    }

    /* the submenu indicator becomes a plain inline chevron, no border oval */
    .elementskit-menu-offcanvas-elements .elementskit-submenu-indicator {
        position: static !important;
        float: none !important;
        width: auto !important;
        height: auto !important;
        margin: 0 0 0 8px !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #555555 !important;
        fill: #555555 !important;
        line-height: 1 !important;
    }

    /* close button: clean rounded square, aligned to the row padding */
    .elementskit-menu-offcanvas-elements .elementskit-menu-close {
        width: 40px !important;
        height: 40px !important;
        margin-right: 20px;
        border: 0 !important;
        border-radius: 6px !important;
        line-height: 40px !important;
    }

    /* town submenu entries: indented, quiet, consistent with the rows above
       (explicit font sizing: the lone real link gets ekit's small .dropdown-item
       size while the inert spans inherit — they must render identically) */
    .elementskit-menu-offcanvas-elements .elementskit-dropdown li > .dropdown-item,
    .elementskit-menu-offcanvas-elements .elementskit-dropdown li > span {
        display: block;
        padding: 10px 20px 10px 34px !important;
        color: #444444 !important;
        font-size: 15px !important;
        font-weight: 400 !important;
        line-height: 1.5 !important;
    }

    /* submenu toggle (live's chevron never worked — the towns were unreachable
       from the mobile menu; mb-menu.js drives the .mb-submenu-open class) */
    .elementskit-menu-offcanvas-elements .elementskit-dropdown {
        display: none !important;
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        background: #fafafa !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }
    .elementskit-menu-offcanvas-elements li.mb-submenu-open > .elementskit-dropdown {
        display: block !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }
    .elementskit-menu-offcanvas-elements li.mb-submenu-open > a .elementskit-submenu-indicator {
        transform: rotate(180deg);
    }
}
