/* === HEADER WRAPPER -- sticky, dark, no gaps === */
.elementor-location-header {
    background: #0e2a35 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    width: 100% !important;
}

/* === Nav bar scroll hide/show ===
   The Elementor HTML widget (61df6e73) adds/removes .hidden class on scroll.
   We neutralize .hidden (no visual effect) and control via [data-nav-hidden] instead,
   with a 20px scroll threshold to prevent flicker. */
.elementor-location-header .elementor-element.elementor-element-122868c2 {
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    transform: none !important;
    max-height: 60px;
    overflow: visible;
    transition: max-height 0.3s ease, padding 0.3s ease !important;
}
/* Neutralize widget's .hidden — no visual effect */
.elementor-location-header .elementor-element.elementor-element-122868c2.hidden {
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    transform: none !important;
    max-height: 60px;
    overflow: visible;
}
/* Our controlled hide via data attribute */
.elementor-location-header .elementor-element.elementor-element-122868c2[data-nav-hidden] {
    max-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow: hidden !important;
}

/* Override inline #content margin-top:110px from Elementor HTML widget */
#content {
    margin-top: 0 !important;
}
/* Override inline .elementor-element-c75b9c1 margin-top:80px */
.elementor-element-c75b9c1 {
    margin-top: 0 !important;
}

/* === TOP BAR === */
[data-id="d0f5038"] {
    background: #0e2a35 !important;
    padding: 8px 4% !important;
    --padding-top: 8px !important;
    --padding-bottom: 0px !important;
    --margin-top: 0px !important;
    --margin-bottom: 0px !important;
    --gap: 0px !important;
    --row-gap: 0px !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}
[data-id="d0f5038"] > .e-con-inner {
    align-items: center !important;
    display: flex !important;
    gap: 20px !important;
    padding: 0 !important;
}

/* Logo */
[data-id="d0f5038"] .elementor-widget-theme-site-logo {
    max-width: 200px !important;
    flex-shrink: 0;
}
[data-id="d0f5038"] .elementor-widget-theme-site-logo .elementor-widget-container {
    display: inline-flex;
    align-items: center;
    background: none !important;
    padding: 0 !important;
}
[data-id="d0f5038"] .elementor-widget-theme-site-logo img {
    max-height: 48px !important;
    width: auto !important;
    display: block;
}

/* Contact info */
[data-id="d0f5038"] .elementor-widget-shortcode {
    display: flex !important;
    align-items: center !important;
    flex: 1;
}
[data-id="d0f5038"] .elementor-widget-shortcode .elementor-widget-container {
    width: 100%;
}
.widget-right.text-av-right {
    display: flex !important;
    align-items: center !important;
    gap: 20px;
    justify-content: flex-end;
    margin: 0 !important;
    padding: 0 !important;
}
.widget-contact {
    display: flex !important;
    align-items: center !important;
}
.widget-contact .contact-area {
    display: flex !important;
    align-items: center !important;
    gap: 8px;
}
.widget-contact .contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.widget-contact .contact-icon i {
    color: #e8a43e !important;
    font-size: 15px;
}
.widget-contact .contact-info {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}
.widget-contact .contact-info .title {
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 0.2px;
    color: rgba(255,255,255,0.92) !important;
}
.widget-contact .contact-info .text {
    font-size: 11px !important;
    color: rgba(255,255,255,0.55) !important;
}
.widget-contact.wgt-2::before,
.widget-contact.wgt-3::before {
    content: "";
    display: block;
    width: 1px;
    height: 22px;
    background: rgba(255,255,255,0.15);
    flex-shrink: 0;
}

/* === NAVIGATION BAR === */
[data-id="122868c2"] {
    background: linear-gradient(180deg, #12384a 0%, #0d2d3c 100%) !important;
    padding: 0 4% !important;
    --padding-top: 0px !important;
    --padding-bottom: 0px !important;
    --margin-top: 0px !important;
    --margin-bottom: 0px !important;
    --gap: 0px !important;
    --row-gap: 0px !important;
    min-height: auto !important;
    border: none !important;
    margin: 0 !important;
    box-shadow: none !important;
}
[data-id="122868c2"] > .elementor-element {
    padding: 0 !important;
}

/* Nav items */
.elementor-nav-menu .elementor-item {
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 0.4px !important;
    padding: 12px 16px !important;
    color: rgba(255,255,255,0.85) !important;
    transition: color 0.2s ease !important;
}
.elementor-nav-menu .elementor-item:hover,
.elementor-nav-menu .elementor-item.elementor-item-active {
    color: #fff !important;
}
.elementor-nav-menu .sub-arrow,
.elementor-nav-menu .sub-arrow svg {
    fill: rgba(255,255,255,0.5) !important;
    color: rgba(255,255,255,0.5) !important;
}

/* CTA Button */
[data-id="122868c2"] .elementor-button {
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    padding: 8px 20px !important;
    border-radius: 3px !important;
    background: #e8a43e !important;
    color: #fff !important;
    border: none !important;
    transition: all 0.3s ease !important;
}
[data-id="122868c2"] .elementor-button:hover {
    background: #d4922e !important;
}

/* Dropdown submenus only — dark theme */
.elementor-nav-menu--dropdown {
    background: var(--m21-dark, #0c1f2e) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 6px !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.3) !important;
}
.elementor-nav-menu--dropdown .elementor-item,
.elementor-nav-menu--dropdown .elementor-sub-item {
    color: rgba(255,255,255,0.8) !important;
    font-size: 13px !important;
    padding: 10px 20px !important;
    background: transparent !important;
}
.elementor-nav-menu--dropdown .elementor-item:hover,
.elementor-nav-menu--dropdown .elementor-sub-item:hover,
.elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
    color: #fff !important;
    background: rgba(255,255,255,0.08) !important;
}
.elementor-nav-menu--dropdown .elementor-item.highlighted,
.elementor-nav-menu--dropdown .elementor-item:focus {
    color: #fff !important;
    background: rgba(201,150,58,0.15) !important;
}

/* Language switcher */
[data-id="122868c2"] .wpml-ls-item-toggle {
    color: rgba(255,255,255,0.7) !important;
}

/* Globe icon (EN) — white instead of blue */
.menu-item-19974 > a,
.menu-item-26008 > a,
.menu-item-26799 > a,
.menu-item-27062 > a {
    filter: grayscale(1) brightness(5) !important;
}

/* === HERO CONNECTION === */
body.home [data-elementor-type="wp-page"] > .elementor-element:first-child {
    margin-top: 0 !important;
}
body.home [data-elementor-type="wp-page"] {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* === MOBILE === */
@media (max-width: 767px) {
    [data-id="d0f5038"] .elementor-widget-theme-site-logo img {
        max-height: 36px !important;
    }
    .widget-right.text-av-right {
        display: none !important;
    }

    /* --- HAMBURGER MENU --- */

    /* Undo the -54px margin that hides the nav bar on mobile */
    .elementor-24152 {
        margin-top: 0 !important;
    }

    /* Hide desktop nav widget on mobile */
    .elementor-element-5b0115a7 {
        display: none !important;
    }

    /* Hide CTA button from header — available inside dropdown as menu-item-27162 */
    [data-id="122868c2"] .elementor-widget-button {
        display: none !important;
    }

    /* Collapse nav bar row — height 0 but overflow visible for dropdown */
    [data-id="122868c2"] {
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }
    [data-id="122868c2"] > .e-con-inner {
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    /* Mobile nav widget — collapse size but keep visible for toggle + dropdown */
    .elementor-element-6d6faa94 {
        display: block !important;
        position: static !important;
        width: 0 !important;
        height: 0 !important;
        overflow: visible !important;
    }

    /* Hamburger toggle — absolute top-right of header, aligned with logo */
    .elementor-element-6d6faa94 .elementor-menu-toggle {
        position: absolute !important;
        top: 8px !important;
        right: 4% !important;
        left: auto !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        cursor: pointer;
        z-index: 1001;
        transform: none !important;
    }

    /* Hamburger icon — white on dark */
    .elementor-element-6d6faa94 .elementor-menu-toggle i,
    .elementor-element-6d6faa94 .elementor-menu-toggle svg {
        color: #fff !important;
        fill: #fff !important;
        font-size: 22px !important;
    }

    /* Hide main nav list — only show via hamburger dropdown */
    .elementor-element-6d6faa94 > .elementor-widget-container > nav.elementor-nav-menu--main {
        display: none !important;
    }

    /* Mobile dropdown — full width, starts right below header */
    .elementor-element-6d6faa94 .elementor-nav-menu--dropdown.elementor-nav-menu__container {
        position: fixed !important;
        top: 52px !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100vw !important;
        max-height: none !important;
        overflow-y: auto !important;
        background: #0c1f2e !important;
        border-top: 1px solid rgba(255,255,255,0.08) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        z-index: 9999 !important;
        padding: 12px 0 !important;
    }

    /* Hide the dropdown's built-in header (logo + close button) */
    .elementor-element-6d6faa94 .elementor-menu-toggle--close,
    .elementor-element-6d6faa94 .elementor-nav-menu--dropdown .elementor-menu-toggle,
    .elementor-element-6d6faa94 .elementor-nav-menu--dropdown .dialog-close-button,
    .elementor-element-6d6faa94 .elementor-nav-menu--dropdown .dialog-header,
    .elementor-element-6d6faa94 .elementor-nav-menu--dropdown .dialog-widget-header {
        display: none !important;
    }

    /* Collapse sub-menus by default — toggle via m21-open class (JS below) */
    .elementor-element-6d6faa94 .elementor-nav-menu--dropdown .menu-item-has-children > ul {
        display: none !important;
    }
    .elementor-element-6d6faa94 .elementor-nav-menu--dropdown .menu-item-has-children.m21-open > ul {
        display: block !important;
    }
    /* Rotate arrow when open */
    .elementor-element-6d6faa94 .elementor-nav-menu--dropdown .menu-item-has-children.m21-open > a .sub-arrow {
        transform: rotate(180deg);
    }
    .elementor-element-6d6faa94 .elementor-nav-menu--dropdown .sub-arrow {
        transition: transform 0.2s ease;
    }

    /* Mobile menu items */
    .elementor-element-6d6faa94 .elementor-nav-menu--dropdown .elementor-item {
        color: rgba(255,255,255,0.9) !important;
        font-size: 15px !important;
        padding: 12px 24px !important;
        border-bottom: 1px solid rgba(255,255,255,0.04);
    }
    .elementor-element-6d6faa94 .elementor-nav-menu--dropdown .elementor-item:hover,
    .elementor-element-6d6faa94 .elementor-nav-menu--dropdown .elementor-item:focus {
        background: rgba(255,255,255,0.06) !important;
        color: #fff !important;
    }

    /* Highlight "Peca um orcamento" CTA inside dropdown */
    .elementor-element-6d6faa94 .elementor-nav-menu--dropdown .menu-item-27162 .elementor-item {
        color: #c9963a !important;
        font-weight: 600 !important;
    }
    .elementor-element-6d6faa94 .elementor-nav-menu--dropdown .menu-item-27162 .elementor-item:hover {
        background: rgba(201,150,58,0.15) !important;
    }

    /* Mobile sub-menu items */
    .elementor-element-6d6faa94 .elementor-nav-menu--dropdown .elementor-sub-item {
        color: rgba(255,255,255,0.7) !important;
        font-size: 14px !important;
        padding: 10px 24px 10px 40px !important;
    }
    .elementor-element-6d6faa94 .elementor-nav-menu--dropdown .elementor-sub-item:hover {
        color: #fff !important;
        background: rgba(201,150,58,0.1) !important;
    }

    /* Sub-menu arrow icon */
    .elementor-element-6d6faa94 .elementor-nav-menu--dropdown .sub-arrow {
        color: rgba(255,255,255,0.4) !important;
    }

    /* Language flags in mobile menu */
    .elementor-element-6d6faa94 .elementor-nav-menu--dropdown .menu-item-26774 > a {
        font-size: 18px !important;
    }
}

/* === FAQ accordion text wrap on mobile === */
@media (max-width: 768px) {
    #m21-page .pg-faq-q,
    #m21-page button.pg-faq-q {
        white-space: normal !important;
    }
    #m21-page .pg-faq-q span {
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
    }
    #m21-page .pg-faq-list {
        padding: 0 8px !important;
    }
    #m21-page .pg-faq-q {
        padding: 16px 18px !important;
        font-size: 15px !important;
    }
}


/* Fix phone icon orientation — FA6 glyph via FA5 shim renders mirrored */
.contact-icon .fas.fa-phone {
    display: inline-block;
    transform: scaleX(-1);
}
