/*
Theme Name: Hello Elementor Child
Theme URI: https://balthatek.com.br/
Description: Child theme do Hello Elementor
Author: Balthatek
Author URI: https://balthatek.com.br/
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
*/

/* Seus estilos personalizados aqui */

/* MENU MOBILE FULLSCREEN */

@media (max-width: 1024px) {

    /* 1. Base do Widget e Fonte Inter */
    .elementor-element-d78ff7f,
    .q-fullscreen-menu {
        font-family: 'Inter', sans-serif !important;
    }

    /* 2. Menu Dropdown (Fullscreen Ajustado) */
    .elementor-element-d78ff7f .elementor-nav-menu--dropdown,
    .q-fullscreen-menu .elementor-nav-menu--dropdown {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        background-color: var(--q-dark) !important;
        /* Cor de fundo */
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        z-index: 999999 !important;
        padding: 0 !important;
        margin: 0 !important;
        /* Oculto por padrão, visível quando ativo */
        visibility: hidden;
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    /* 3. Estado Aberto (Classes do Elementor - Utiliza combinador de irmãos geral '~' para maior tolerância de estrutura) */
    .elementor-menu-toggle.elementor-active~.elementor-nav-menu--dropdown {
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* 4. Itens do Menu (Lista e Links) */
    .elementor-element-d78ff7f .elementor-nav-menu--dropdown ul,
    .q-fullscreen-menu .elementor-nav-menu--dropdown ul,
    .elementor-element-d78ff7f .elementor-nav-menu--dropdown ul.elementor-nav-menu,
    .q-fullscreen-menu .elementor-nav-menu--dropdown ul.elementor-nav-menu {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        list-style: none !important;
        padding: 0 !important;
        visibility: visible !important;
        max-height: none !important;
        height: auto !important;
    }

    .elementor-element-d78ff7f .elementor-nav-menu--dropdown li a,
    .q-fullscreen-menu .elementor-nav-menu--dropdown li a {
        color: #eaded7 !important;
        -webkit-text-fill-color: #eaded7 !important;
        /* iOS Compatibility override */
        font-size: 20px !important;
        font-weight: 500 !important;
        padding: 15px 0 !important;
        display: block !important;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    /* 5. Ícone Toggle (Hambúrguer e X) */
    .elementor-element-d78ff7f .elementor-menu-toggle,
    .q-fullscreen-menu .elementor-menu-toggle {
        z-index: 1000000 !important;
        position: relative;
        transition: all 0.3s ease;
    }

    /* Oculta o toggle ativo original do Elementor para evitar duplicações e problemas de Stacking Context */
    .elementor-menu-toggle.elementor-active {
        display: none !important;
    }

    /* Estiliza o botão de fechar personalizado (q-mobile-close-btn) injetado diretamente no dropdown */
    .elementor-nav-menu--dropdown .q-mobile-close-btn {
        position: absolute !important;
        top: 25px !important;
        right: 25px !important;
        background-color: var(--q-teal) !important;
        color: #ffffff !important;
        width: 44px !important;
        height: 44px !important;
        border-radius: 50% !important;
        border: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-family: Arial, sans-serif !important;
        font-size: 20px !important;
        font-weight: bold !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
        cursor: pointer !important;
        z-index: 1000001 !important;
        /* Acima do menu de links */
        transition: transform 0.2s ease !important;
    }

    .elementor-nav-menu--dropdown .q-mobile-close-btn:active {
        transform: scale(0.9) !important;
    }



    /* 6. Travar scroll do fundo ao abrir */
    body.elementor-nav-menu--main_menu-open {
        overflow: hidden !important;
    }
}

/*Botão Fale Conosco Mobile*/

@media (max-width: 1024px) {

    /* 1. O item da lista (container) agora centraliza o botão */
    .elementor-nav-menu--dropdown .menu-item-fale-conosco {
        width: 100% !important;
        display: flex !important;
        /* Muda para flex para permitir centralização */
        justify-content: center !important;
        margin: 20px 0 !important;
    }

    /* 2. O botão em si deixa de ser 'block' */
    .elementor-nav-menu--dropdown .fale-conosco-mobile {
        display: inline-flex !important;
        /* Faz o botão ter apenas o tamanho do conteúdo */
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        /* Remove a largura forçada */
        min-width: 180px !important;

        /* Estilos de aparência mantidos */
        background-color: #3fb088 !important;
        color: #ffffff !important;
        padding: 12px 30px !important;
        border-radius: 3px !important;
        text-decoration: none !important;
    }
}

/* ==========================================================================
   QUANTICC ONE CUSTOM HOMEPAGE STYLES
   ========================================================================== */

/* 1. Brand Color CSS Variables */
:root {
    --hex-antiga: #002D30;
    --hex-seguro: #21575D;

    --q-dark: #21575D;
    --q-teal: #00b3ba;
    --q-muted: #004d52;
    --q-beige: #eaf8f9;
    --q-light-bg: #f4fafb;
    --accent-light: #EADED7;
}

/* Paleta Cor Seguro (#21575D) - Tema Único e Padrão */
body,
body[data-theme="seguro"] {
    --q-dark: #21575D;
    --q-teal: #00b3ba;
    --q-muted: #004d52;
    --q-beige: #eaf8f9;
}

/* Transições suaves ao alternar cores no seletor */
body,
.bg-q-dark,
.bg-q-teal,
.bg-q-muted,
.bg-q-beige,
.q-service-card,
.q-whatsapp-float,
.q-contact-form,
.elementor-nav-menu--dropdown,
footer,
.elementor-element-4e2b7332 {
    transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease !important;
}

/* 2. Utility Classes for Brand Colors */
.bg-q-dark {
    background-color: var(--q-dark) !important;
}

.bg-q-teal {
    background-color: var(--q-teal) !important;
}

.bg-q-muted {
    background-color: var(--q-muted) !important;
}

.bg-q-beige {
    background-color: var(--q-beige) !important;
}

.text-q-dark {
    color: var(--q-dark) !important;
}

.text-q-teal {
    color: var(--q-teal) !important;
}

.text-q-muted {
    color: var(--q-muted) !important;
}

.text-q-beige {
    color: var(--q-beige) !important;
}

/* 3. Typography Helpers */
.q-tagline {
    font-weight: 500 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
}

.q-paragraph p,
p.q-paragraph {
    font-weight: 300 !important;
    line-height: 1.7em !important;
}

/* 4. Totem Image Style (Hero Section) */
.q-totem-image {
    position: relative;
    border-top-left-radius: 9999px !important;
    border-top-right-radius: 9999px !important;
    overflow: hidden !important;
    border-bottom: 4px solid var(--q-teal) !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
    aspect-ratio: 3/4 !important;
}

.q-totem-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.q-totem-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--q-muted);
    mix-blend-mode: multiply;
    opacity: 0.2;
    pointer-events: none;
}

/* 5. Circular Background Decorative Graphics */
.q-circle-graphic {
    position: absolute !important;
    border-radius: 50% !important;
    border: 2px solid rgba(63, 176, 136, 0.15) !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* 6. Service Cards Styles & Hover Animations */
.q-service-card {
    position: relative;
    padding-top: 24px !important;
    cursor: pointer;
}

.q-service-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--q-beige);
    transition: background-color 0.3s ease;
}

.q-service-card:hover::before {
    background-color: var(--q-teal);
}

.q-service-card .q-service-link {
    display: inline-flex;
    align-items: center;
    color: var(--q-teal) !important;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    transition: transform 0.3s ease;
}

.q-service-card:hover .q-service-link {
    transform: translateX(8px);
}

/* 7. Persistent WhatsApp Floating Button */
.q-whatsapp-float {
    position: fixed !important;
    bottom: 32px !important;
    right: 32px !important;
    background-color: var(--q-teal) !important;
    color: #ffffff !important;
    padding: 16px !important;
    border-radius: 50% !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
    z-index: 99999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid transparent !important;
    transition: all 0.3s ease !important;
    width: 60px !important;
    height: 60px !important;
}

.q-whatsapp-float:hover {
    background-color: #ffffff !important;
    border-color: var(--q-teal) !important;
    transform: scale(1.05) !important;
}

.q-whatsapp-float svg {
    width: 28px !important;
    height: 28px !important;
}

/*Whatsapp colo*/
/* 1. Mantém apenas o fundo verde e a borda no botão geral */
	.q-whatsapp-float,
	.q-whatsapp-float:hover {
		background-color: #25d366 !important;
		border-color: transparent !important;
}

/* 2. Força a cor bege (#EADED7) diretamente no ícone (fonte ou SVG) */
	.q-whatsapp-float i,
	.q-whatsapp-float svg,
	.q-whatsapp-float svg path,
	.fa-whatsapp,
	.fa-whatsapp::before {
		color: #EADED7 !important;
		fill: #EADED7 !important;
}
/* 8. Biography Image Style */
.q-bio-image-container {
    position: relative;
    width: 100%;
    aspect-ratio: 1/1 !important;
    background-color: var(--q-muted) !important;
    border-radius: 50% !important;
    overflow: hidden !important;
}

.q-bio-image-container img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    /* opacity: 1 !important;
    mix-blend-mode: luminosity !important; */
    transition: all 0.7s ease !important;
}

/*Cutom Change*/
.q-bio-image-container-no-overlay {
    position: relative;
    width: 140px;
    /* O la dimensione che preferisci */
    height: 140px;
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;
    /* Questo crea il cerchio */
    overflow: hidden !important;
    /* Questo taglia l'immagine a forma di cerchio */
    background-color: transparent !important;
    /* Rimuove il colore dell'overlay */
}

.q-bio-image-container-no-overlay img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    mix-blend-mode: normal !important;
    /* Rimuove l'effetto colore */
    opacity: 1 !important;
}

/*Finish Cutom change*/

.q-bio-image-container:hover img {
    mix-blend-mode: normal !important;
    opacity: 1 !important;
}

/* 9. Mobile Responsiveness, Text Contrast, and Centering Overrides */
@media (max-width: 768px) {

    /* Ensure readable text in dark backgrounds (Hero, Callout, etc.) on mobile */
    .bg-q-dark,
    .bg-q-dark .elementor-widget-container,
    .bg-q-dark .elementor-heading-title,
    .bg-q-dark .elementor-text-editor,
    .bg-q-dark p,
    .bg-q-dark span {
        color: var(--q-beige) !important;
    }

    .bg-q-dark h1.elementor-heading-title span,
    .bg-q-dark .elementor-heading-title .font-medium,
    .bg-q-dark .text-white {
        color: #ffffff !important;
    }

    .bg-q-muted,
    .bg-q-muted .elementor-widget-container,
    .bg-q-muted .elementor-heading-title,
    .bg-q-muted .elementor-text-editor,
    .bg-q-muted p,
    .bg-q-muted span {
        color: var(--q-beige) !important;
    }

    .bg-q-muted h3.elementor-heading-title span,
    .bg-q-muted .text-q-teal {
        color: var(--q-teal) !important;
    }

    /* General text centering on mobile for hero & bio sections */
    .bg-q-dark,
    .bg-q-beige {
        text-align: center !important;
    }

    /* Hero Title responsive font-size */
    .bg-q-dark h1.elementor-heading-title {
        font-size: 32px !important;
        line-height: 1.2 !important;
        text-align: center !important;
    }

    /* Hero Totem Image alignment and size on mobile */
    .bg-q-dark .q-totem-image {
        max-width: 280px !important;
        margin: 30px auto 0 auto !important;
        aspect-ratio: 1/1 !important;
        /* more compact square on mobile screens */
    }

    /* Bio Image alignment and size on mobile */
    .bg-q-beige .q-bio-image-container {
        max-width: 260px !important;
        margin: 0 auto 30px auto !important;
    }

    /* Bio title responsive size */
    .bg-q-beige h2.elementor-heading-title {
        font-size: 28px !important;
        line-height: 1.3 !important;
    }

    /* Bio strengths grid formatting on mobile */
    /* .bg-q-beige div[style*="display: grid"] {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1.5rem 1rem !important;
        justify-items: center !important;
        text-align: center !important;
        margin-top: 2rem !important;
    } */

    /* Services text centering on mobile */
    .q-service-card {
        text-align: center !important;
    }

    .q-service-card .q-service-link {
        justify-content: center !important;
        width: 100% !important;
    }

    /* Callout / Quote Box size and padding on mobile */
    .bg-q-muted div[style*="padding: 6rem"],
    .bg-q-muted div[style*="padding:6rem"] {
        padding: 3rem 1rem !important;
    }

    .bg-q-muted h3 {
        font-size: 24px !important;
        line-height: 1.3 !important;
    }
}

/* 10. Desktop Layout & Horizontal Overflow Prevention */
html,
body {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* Force container limits on sections containing absolute background graphics */
.bg-q-dark {
    position: relative !important;
    overflow: hidden !important;
}

/* 11. Responsive Services Grid (Desktop 4 cols, Tablet 2 cols, Mobile 1 col) */
.q-services-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 4rem 1.25rem !important;
    /* Smaller horizontal gap for side-by-side desktop fit */
    margin-top: 5rem !important;
    width: 100% !important;
}

@media (max-width: 1024px) {
    .q-services-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 3rem 1.5rem !important;
    }
}

@media (max-width: 768px) {
    .q-services-grid {
        grid-template-columns: 1fr !important;
        gap: 2.5rem 1rem !important;
        margin-top: 3rem !important;
    }
}

/* 13. UX & Readability Enhancements */
.q-line-length-limit {
    max-width: 850px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.q-paragraph p,
p.q-paragraph {
    font-weight: 300 !important;
    line-height: 1.75em !important;
    text-align: left !important;
    /* Left alignment for readability */
}

/* 14. Services Card flexbox pinning */
.q-service-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

.q-service-card .q-service-link {
    margin-top: auto !important;
    padding-top: 1.5rem !important;
}

/* 15. Team Section Refinements (Readable Contrast) */
.bg-q-dark .elementor-widget-container h3,
.bg-q-dark h3 {
    color: #ffffff !important;
}

.bg-q-dark span {
    color: var(--q-teal) !important;
}

.bg-q-dark p {
    color: var(--q-beige) !important;
    font-size: 0.95rem !important;
    line-height: 1.65em !important;
}

/* 16. Contact Section Layout & Seamless Form Blending */
section#contato .elementor-container,
[id*="contato"] .elementor-container,
.q-contact-section .elementor-container {
    display: flex !important;
    align-items: center !important;
}

form.elementor-form,
.q-contact-form {
    background-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

.q-contact-form input,
.q-contact-form textarea,
form.elementor-form input,
form.elementor-form textarea {
    background-color: #ffffff !important;
    border: 1px solid rgba(0, 45, 48, 0.15) !important;
    color: var(--q-dark) !important;
}

/* 17. Footer Contrast Refinements */
footer,
.elementor-location-footer,
.elementor-92 {
    background-color: var(--q-dark) !important;
    color: var(--q-beige) !important;
}

footer a,
.elementor-location-footer a,
.elementor-92 a {
    color: var(--q-teal) !important;
}

footer a:hover,
.elementor-location-footer a:hover,
.elementor-92 a:hover {
    color: #ffffff !important;
}

/* 18. Primary Button Styling (Hero CTA) */
.q-btn-primary a {
    background-color: var(--q-dark) !important;
    color: var(--q-beige) !important;
    padding: 14px 32px !important;
    border-radius: 4px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    font-size: 0.9rem !important;
    letter-spacing: 0.05em !important;
    transition: all 0.3s ease !important;
    display: inline-flex !important;
}

.q-btn-primary a:hover {
    background-color: var(--q-teal) !important;
    color: #ffffff !important;
}

/* 19. Hero Section Refinements (Section 4e2b7332) */
.elementor-element-4e2b7332 {
    padding: 100px 0 !important;
    background-color: var(--q-dark) !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Redefine horizontal columns to 75% / 25% on desktop to fill empty space */
@media (min-width: 769px) {
    .elementor-element-3577a8e6 {
        width: 75% !important;
    }

    .elementor-element-84b472f {
        width: 25% !important;
    }
}

/* Ensure absolute graphic container has zero flow dimensions */
.elementor-element-347e0d09 {
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
}


/* Tagline */
.elementor-element-52f9c651 .elementor-heading-title {
    color: var(--q-teal) !important;
    font-weight: 500 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    font-size: 13px !important;
    margin-bottom: 1rem !important;
    display: inline-block !important;
}

/* Hero Title */
.elementor-element-cc3c7bf .elementor-heading-title {
    font-size: 52px !important;
    line-height: 1.15 !important;
    font-weight: 300 !important;
    color: #ffffff !important;
    margin-bottom: 1.5rem !important;
}

.elementor-element-cc3c7bf .elementor-heading-title span {
    font-weight: 500 !important;
    color: var(--q-teal) !important;
    /* Elegant brand green pop */
}

/* Hero Paragraph Description */
.elementor-element-5b94274 .q-paragraph {
    font-size: 1.1rem !important;
    line-height: 1.75 !important;
    color: rgba(234, 222, 215, 0.85) !important;
    max-width: 560px !important;
    margin-bottom: 0 !important;
}

/* Vertically stack contents (icon/image + button) in the right column */
.elementor-element-84b472f .elementor-widget-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 1.5rem !important;
    /* Elegant spacing between icon/image and the button */
    height: 100% !important;
}

/* Styled Hero Icon (placed above the button) */
.elementor-element-84b472f .elementor-icon {
    background-color: rgba(63, 176, 136, 0.08) !important;
    border: 1px solid rgba(63, 176, 136, 0.25) !important;
    color: var(--q-teal) !important;
    padding: 20px !important;
    border-radius: 50% !important;
    font-size: 32px !important;
    line-height: 1 !important;
    transition: all 0.3s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.elementor-element-84b472f .elementor-icon:hover {
    background-color: var(--q-teal) !important;
    color: var(--q-dark) !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 4px 15px rgba(63, 176, 136, 0.3) !important;
}

/* Custom CTA Button styling (Matching Header Button Colors) */
.elementor-element-12945241 a.elementor-button,
.elementor-element-12945241 a.elementor-button .elementor-button-text,
.elementor-element-12945241 a.elementor-button .elementor-button-content-wrapper {
    background-color: var(--e-global-color-secondary) !important;
    color: #ffffff !important;
    /* Normal text color matches header button */
    padding: 12px 28px !important;
    /* Smaller, compact padding */
    border-radius: 4px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    transition: all 0.3s ease !important;
    display: inline-flex !important;
    max-width: fit-content !important;
    /* Prevents stretching */
}

.elementor-element-12945241 a.elementor-button:hover,
.elementor-element-12945241 a.elementor-button:hover .elementor-button-text,
.elementor-element-12945241 a.elementor-button:hover .elementor-button-content-wrapper {
    background-color: #2e8b6b !important;
    color: #EADED7 !important;
    -webkit-text-fill-color: #EADED7 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2) !important;
}

@media (max-width: 768px) {
    .elementor-element-4e2b7332 {
        padding: 70px 0 !important;
    }

    .elementor-element-cc3c7bf .elementor-heading-title {
        font-size: 34px !important;
        line-height: 1.25 !important;
    }

    .elementor-element-84b472f {
        margin-top: 2rem !important;
    }

    .elementor-element-84b472f .elementor-widget-wrap {
        justify-content: center !important;
        align-items: center !important;
    }
}

/* ==========================================================================
   21. BRAND COLOR MIGRATION - Paleta Cor Seguro (#21575D) Padrão
   ========================================================================== */

/* 1. Header e Todo o Cabeçalho (Paleta Nova #00b3ba) */
header,
.site-header,
.elementor-location-header {
    background-color: #21575D !important;
    transition: background-color 0.4s ease !important;
}

header.elementor-location-header section.elementor-section,
header section.elementor-section,
div[data-elementor-type="header"] section.elementor-section,
.elementor-location-header section.elementor-section {
    border: none !important;
    border-width: 0 !important;
    box-shadow: none !important;
}

.elementor-location-header .elementor-item,
.elementor-nav-menu--main .elementor-item,
header a:not(.elementor-button),
.site-header a:not(.elementor-button),
.elementor-location-header a:not(.elementor-button),
div[data-elementor-type="header"] a:not(.elementor-button),
.elementor-nav-menu--dropdown li a {
    color: #EADED7 !important;
    -webkit-text-fill-color: #EADED7 !important;
    font-weight: 500 !important;
}

.elementor-location-header .elementor-button,
.elementor-location-header a.elementor-button,
header .elementor-button,
header a.elementor-button,
div[data-elementor-type="header"] .elementor-button,
div[data-elementor-type="header"] a.elementor-button {
    background-color: #3FB088 !important;
    color: #EADED7 !important;
    -webkit-text-fill-color: #EADED7 !important;
    border-radius: 4px !important;
    padding: 10px 24px !important;
    font-weight: 600 !important;
    border: none !important;
    transition: all 0.3s ease !important;
}

.elementor-location-header .elementor-button:hover,
.elementor-location-header a.elementor-button:hover,
header .elementor-button:hover,
header a.elementor-button:hover {
    background-color: #2e8b6b !important;
    color: #EADED7 !important;
    -webkit-text-fill-color: #EADED7 !important;
}

/* 2. Seções de Serviços e Informações */
section#servicos,
section#servicos *,
section#servicos h1,
section#servicos h2,
section#servicos h3,
section#servicos h4,
section#servicos p,
section#servicos span,
section#servicos a,
section#servicos li,
section#servicos .elementor-heading-title,
section#servicos .elementor-widget-text-editor p {
    color: #002d30 !important;
    -webkit-text-fill-color: #002d30 !important;
}

[id*="servicos"]:not(#servicos),
.elementor-section[id*="servicos"]:not(#servicos),
section.decisoes-inteligentes-container,
.decisoes-inteligentes-container,
.bg-q-muted,
.bg-q-dark,
.bg-q-teal {
    color: #EADED7 !important;
}

[id*="servicos"]:not(#servicos) h1,
[id*="servicos"]:not(#servicos) h2,
[id*="servicos"]:not(#servicos) h3,
[id*="servicos"]:not(#servicos) h4,
[id*="servicos"]:not(#servicos) p,
[id*="servicos"]:not(#servicos) span,
[id*="servicos"]:not(#servicos) a,
[id*="servicos"]:not(#servicos) li,
.q-service-card h1,
.q-service-card h2,
.q-service-card h3,
.q-service-card h4,
.q-service-card p,
.q-service-card span,
.q-service-card a,
.q-service-card li,
.bg-q-dark h1,
.bg-q-dark h2,
.bg-q-dark h3,
.bg-q-dark h4,
.bg-q-dark p,
.bg-q-dark span,
.bg-q-dark a,
.bg-q-dark li,
.bg-q-muted h1,
.bg-q-muted h2,
.bg-q-muted h3,
.bg-q-muted h4,
.bg-q-muted p,
.bg-q-muted span,
.bg-q-muted a,
.bg-q-muted li,
.decisoes-inteligentes-container h1,
.decisoes-inteligentes-container h2,
.decisoes-inteligentes-container h3,
.decisoes-inteligentes-container h4,
.decisoes-inteligentes-container p,
.decisoes-inteligentes-container span,
.decisoes-inteligentes-container a {
    color: #EADED7 !important;
    -webkit-text-fill-color: #EADED7 !important;
}

/* HTML Widget / Especialistas */
.elementor-widget-html,
.elementor-element.elementor-widget-html,
.elementor-element-1d649f4e.elementor-widget-html {
    border: none !important;
    border-width: 0 !important;
    box-shadow: none !important;
}

[style*="background-color: #21575D"],
[style*="background-color:#21575D"],
.elementor-widget-html [style*="background-color: #21575D"],
.elementor-widget-html [style*="background-color:#21575D"] {
    background-color: #eaf8f9 !important;
    border: 1px solid rgba(0, 179, 186, 0.2) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
    border-radius: 8px !important;
    transition: all 0.4s ease !important;
}

[style*="background-color: #21575D"] h3,
[style*="background-color:#21575D"] h3,
section#equipe h3 {
    color: #00b3ba !important;
}

[style*="background-color: #21575D"] span,
[style*="background-color:#21575D"] span,
section#equipe span {
    color: #004d52 !important;
}

[style*="background-color: #21575D"] p,
[style*="background-color:#21575D"] p,
section#equipe p {
    color: #00282b !important;
}

footer,
.elementor-location-footer,
.elementor-92,
section.elementor-element-cfe0097 {
    background-color: #21575D !important;
    color: #EADED7 !important;
}

footer a,
.elementor-location-footer a,
.elementor-92 a,
.elementor-location-footer p,
.elementor-location-footer span,
.elementor-location-footer i:not(.fa-whatsapp),
.elementor-location-footer i:not(.fa-whatsapp) {
    color: #EADED7 !important;
}

section.bg-q-beige h1,
section.bg-q-beige h2,
section.bg-q-beige h3,
section.bg-q-beige p,
section.bg-q-beige span,
.bg-q-beige h1,
.bg-q-beige h2,
.bg-q-beige h3,
.bg-q-beige p,
.bg-q-beige span:not(.text-q-teal):not(.text-q-muted):not(.q-tagline) {
    color: #21575D !important;
}

span.elementor-heading-title,
section#equipe h3,
#equipe h3,
.bg-q-beige span.elementor-heading-title,
.bg-q-beige .elementor-widget-text-editor p {
    color: #002D30 !important;
}

.elementor-button,
a.elementor-button,
.elementor-widget-button a,
button[type="submit"],
input[type="submit"],
.q-contact-form button[type="submit"],
.q-btn-primary a,
form.elementor-form button[type="submit"],
form.elementor-form input[type="submit"] {
    background-color: #3FB088 !important;
    color: #EADED7 !important;
    -webkit-text-fill-color: #EADED7 !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    border: none !important;
    transition: all 0.3s ease !important;
}

.elementor-button:hover,
a.elementor-button:hover,
.elementor-widget-button a:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.q-contact-form button[type="submit"]:hover,
.q-btn-primary a:hover,
form.elementor-form button[type="submit"]:hover,
form.elementor-form input[type="submit"]:hover {
    background-color: #2e8b6b !important;
    color: #EADED7 !important;
    -webkit-text-fill-color: #EADED7 !important;
}

.q-whatsapp-float,
.q-whatsapp-float:hover,
.fa-whatsapp {
    background-color: #25d366 !important;
    color: #ffffff !important;
    border-color: transparent !important;
}

/* Configurações Específicas para Paleta Cor Seguro (#21575D) */
body[data-theme="seguro"] header,
body[data-theme="seguro"] .site-header,
body[data-theme="seguro"] .elementor-location-header,
body[data-theme="seguro"] .elementor-header,
body[data-theme="seguro"] [class*="elementor-header"],
body[data-theme="seguro"] div[data-elementor-type="header"],
body[data-theme="seguro"] div[data-elementor-type="header"] .elementor-section,
body[data-theme="seguro"] div[data-elementor-type="header"] .elementor-container,
body[data-theme="seguro"] div[data-elementor-type="header"] .elementor-column,
body[data-theme="seguro"] div[data-elementor-type="header"] .elementor-widget-wrap,
body[data-theme="seguro"] .elementor-location-header .elementor-section,
body[data-theme="seguro"] .elementor-location-header .elementor-container,
body[data-theme="seguro"] .elementor-location-header .elementor-column,
body[data-theme="seguro"] .elementor-location-header .elementor-widget-wrap,
body[data-theme="seguro"] .elementor-nav-menu--dropdown,
body[data-theme="seguro"] section#servicos,
body[data-theme="seguro"] [id*="servicos"],
body[data-theme="seguro"] .elementor-section[id*="servicos"],
body[data-theme="seguro"] section.decisoes-inteligentes-container,
body[data-theme="seguro"] .decisoes-inteligentes-container,
body[data-theme="seguro"] .bg-q-muted,
body[data-theme="seguro"] footer,
body[data-theme="seguro"] .elementor-location-footer,
body[data-theme="seguro"] .elementor-92,
body[data-theme="seguro"] section.elementor-element-cfe0097 {
    background-color: #21575D !important;
    color: #EADED7 !important;
}

body[data-theme="seguro"] header [style*="background-color"],
body[data-theme="seguro"] .site-header [style*="background-color"],
body[data-theme="seguro"] .elementor-location-header [style*="background-color"],
body[data-theme="seguro"] div[data-elementor-type="header"] [style*="background-color"] {
    background-color: #21575D !important;
}

body[data-theme="seguro"] h1,
body[data-theme="seguro"] h2,
body[data-theme="seguro"] h3,
body[data-theme="seguro"] p,
body[data-theme="seguro"] a:not(.elementor-button),
body[data-theme="seguro"] .elementor-item {
    color: #21575D !important;
}

/* Cor do texto para a seção #servicos e suas divs (//*[@id="servicos"]/div) no tema seguro */
body[data-theme="seguro"] #servicos,
body[data-theme="seguro"] #servicos div,
body[data-theme="seguro"] #servicos div *,
body[data-theme="seguro"] [id*="servicos"],
body[data-theme="seguro"] [id*="servicos"] div,
body[data-theme="seguro"] [id*="servicos"] div *,
#servicos,
#servicos div,
#servicos div * {
    color: #eaded7 !important;
    -webkit-text-fill-color: #eaded7 !important;
}

/* Hover para o elemento //*[@id="content"]/div/div/section[2]/div/div[2]/div/div (mesma cor do botão do cabeçalho #2e8b6b) */
#content > div > div > section:nth-of-type(2) > div > div:nth-child(2) > div > div:hover,
#content > div > div > section:nth-child(2) > div > div:nth-child(2) > div > div:hover,
#content > div > div > section:nth-of-type(2) > div > div:nth-child(2) > div > div a:hover,
#content > div > div > section:nth-child(2) > div > div:nth-child(2) > div > div a:hover,
#content > div > div > section:nth-of-type(2) > div > div:nth-child(2) > div > div button:hover,
#content > div > div > section:nth-child(2) > div > div:nth-child(2) > div > div button:hover,
#content > div > div > section:nth-of-type(2) > div > div:nth-child(2) > div > div .elementor-button:hover,
#content > div > div > section:nth-child(2) > div > div:nth-child(2) > div > div .elementor-button:hover {
    background-color: #2e8b6b !important;
    color: #EADED7 !important;
    -webkit-text-fill-color: #EADED7 !important;
}

/* Texto do rodapé na opção theme-choice="seguro" (XPath: /html/body/footer/section[2]/div) */
body[data-theme="seguro"] footer section:nth-of-type(2) div,
body[data-theme="seguro"] footer section:nth-of-type(2) div *,
body[data-theme="seguro"] footer section:nth-child(2) div,
body[data-theme="seguro"] footer section:nth-child(2) div *,
body[data-theme="seguro"] .elementor-location-footer section:nth-of-type(2) div,
body[data-theme="seguro"] .elementor-location-footer section:nth-of-type(2) div *,
body[data-theme="seguro"] .elementor-location-footer section:nth-child(2) div,
body[data-theme="seguro"] .elementor-location-footer section:nth-child(2) div * {
    color: #eaf8f9 !important;
    -webkit-text-fill-color: #eaf8f9 !important;
}