:root{--bg:#0a0a0a;--fg:#fff;--accent:#ffa000;--muted:#a1a1aa;--card:#151515;--border:#27272a}
*{box-sizing:border-box}
body:not([class*="elementor"]):not([class*="wp-"]){margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--fg);line-height:1.6}
.container{max-width:1180px;margin:0 auto;padding:0 20px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(10,10,10,.8);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo-img{height:36px}
.main-nav{display:flex;gap:28px}
.main-nav a{color:var(--muted);text-decoration:none;font-weight:500}
.main-nav a.active,.main-nav a:hover{color:var(--fg)}
.header-cta{background:var(--fg);color:var(--bg);padding:10px 18px;border-radius:999px;text-decoration:none;font-weight:600}
.hamburger{display:none;background:none;border:0;flex-direction:column;gap:5px}
.hamburger span{width:24px;height:2px;background:var(--fg);display:block}
.hero{padding:80px 0 40px}
.hero h1{font-size:clamp(32px,6vw,64px);line-height:1.05;letter-spacing:-.02em;margin:0 0 16px}
.hero p{color:var(--muted);max-width:640px;font-size:18px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 22px;border-radius:999px;text-decoration:none;font-weight:600}
.btn-primary{background:var(--accent);color:#111827;font-weight:700}
.btn-ghost{border:1px solid var(--border);color:var(--fg)}
.grid{display:grid;gap:20px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px}
.muted{color:var(--muted)}
.section{padding:72px 0;border-top:1px solid var(--border)}
.footer{border-top:1px solid var(--border);padding:48px 0 32px;color:var(--muted)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
.whatsapp-float{position:fixed;right:20px;bottom:20px;z-index:60}
.whatsapp-btn{width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.blog-card img{width:100%;border-radius:12px;aspect-ratio:16/9;object-fit:cover}
.breadcrumb{font-size:14px;color:var(--muted);margin-bottom:12px}
.breadcrumb a{color:var(--muted);text-decoration:none}
.breadcrumb a:hover{color:var(--fg)}
@media(max-width:900px){.grid-3,.grid-4{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.main-nav{display:none}.hamburger{display:flex}}

/* Resets de alta performance e alinhamento de cards e header */
.elementor-posts-container.elementor-posts--skin-cards .elementor-post__card {
    overflow: hidden !important;
}
.elementor-posts-container.elementor-posts--skin-cards .elementor-post__thumbnail__link,
.elementor-posts .elementor-post__thumbnail__link,
.elementor-post__thumbnail__link {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    margin: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    padding-bottom: 0 !important;
    line-height: 0 !important;
    background: transparent !important;
}
.elementor-posts-container.elementor-posts--skin-cards .elementor-post__thumbnail,
.elementor-posts-container .elementor-post__thumbnail,
.elementor-posts .elementor-post__thumbnail,
.elementor-post__thumbnail {
    position: relative !important;
    width: 100% !important;
    padding-bottom: 56.25% !important;
    height: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    overflow: hidden !important;
}
.elementor-posts-container.elementor-posts--skin-cards .elementor-post__thumbnail img,
.elementor-posts-container .elementor-post__thumbnail img,
.elementor-post__thumbnail img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
}
.elementor-posts-container.elementor-posts--skin-cards .elementor-post__thumbnail__link:after {
    display: none !important;
}
.elementor-posts-container.elementor-posts--skin-cards .elementor-post__card .elementor-post__text,
.elementor-posts .elementor-post__card .elementor-post__text,
.elementor-post__card .elementor-post__text {
    margin: 0 !important;
    padding: 16px 20px 22px 20px !important;
    text-align: center !important;
}
.elementor-posts-container.elementor-posts--skin-cards .elementor-post__card .elementor-post__title,
.elementor-posts .elementor-post__card .elementor-post__title,
.elementor-post__card .elementor-post__title {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 16px 0 !important;
    line-height: 1.35 !important;
    text-align: center !important;
}
.elementor-element-38d86b0 {
    margin-bottom: 0 !important;
}
.elementor-element-cf3de66 {
    margin-top: 0 !important;
}
.elementor-widget-image-carousel .swiper-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 14px !important;
}
.elementor-widget-image-carousel .swiper-slide {
    padding: 0 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 1 auto !important;
}
.elementor-widget-image-carousel .swiper-slide img {
    max-width: 100% !important;
    height: auto !important;
    max-height: 48px !important;
    object-fit: contain !important;
}
.elementor-invisible {
    visibility: visible !important;
    opacity: 1 !important;
    animation: none !important;
}
html, body {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
*, *:before, *:after {
    box-sizing: inherit;
}
header.elementor-location-header,
.elementor-element-de6fb19 {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    background-color: #000000 !important;
    transition: all 0.3s ease !important;
}
.elementor-nav-menu--dropdown.is-active {
    display: block !important;
}

/* Folga do Menu Superior Sticky e Espaçamentos do Hero do Post com Efeito 3D de Sobreposição */
.elementor-151 .elementor-element.elementor-element-7377993,
.elementor-element-7377993 {
    --padding-top: 85px !important;
    --padding-bottom: 75px !important;
    padding-top: 85px !important;
    padding-bottom: 75px !important;
}

.elementor-151 .elementor-element.elementor-element-ce6a0ee,
.elementor-element-ce6a0ee {
    margin-bottom: 12px !important;
    position: relative !important;
    z-index: 5 !important;
}

.elementor-151 .elementor-element.elementor-element-ce6a0ee .elementor-post-info {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

.elementor-151 .elementor-element.elementor-element-ce6a0ee .elementor-icon-list-text,
.elementor-151 .elementor-element.elementor-element-ce6a0ee .elementor-icon-list-text a {
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 500 !important;
}

.elementor-151 .elementor-element.elementor-element-38d86b0,
.elementor-element-38d86b0 {
    margin-bottom: 0 !important;
}

.elementor-151 .elementor-element.elementor-element-38d86b0 .elementor-heading-title {
    margin-top: 6px !important;
    margin-bottom: 0 !important;
    line-height: 1.25 !important;
}

.elementor-151 .elementor-element.elementor-element-cf3de66,
.elementor-element-cf3de66 {
    margin-top: 0 !important;
    --padding-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 3em !important;
}

/* Card 3D Flutuante que Ultrapassa a Seção Hero */
.elementor-151 .elementor-element.elementor-element-bd270d6,
.elementor-element-bd270d6 {
    --margin-top: -65px !important;
    margin-top: -65px !important;
    position: relative !important;
    z-index: 10 !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.28), 0 4px 14px rgba(0, 0, 0, 0.12) !important;
    overflow: hidden !important;
}

.elementor-151 .elementor-element.elementor-element-474d646 img,
.elementor-element-474d646 img {
    border-radius: 16px 16px 0 0 !important;
    display: block !important;
    width: 100% !important;
}

.elementor-1669 .elementor-element.elementor-element-4999bdc,
.elementor-element-4999bdc {
    --padding-top: 60px !important;
    --padding-bottom: 35px !important;
    padding-top: 60px !important;
    padding-bottom: 35px !important;
}

.elementor-1669 .elementor-element.elementor-element-2a847c7 .elementor-heading-title,
.elementor-element-2a847c7 .elementor-heading-title {
    margin-top: 0 !important;
}

/* Cards do Blog: Borda Discreta, Cantos Arredondados, Espaçamento Reduzido e Alinhamento Perfeito */
html body .elementor-posts-container.elementor-posts--skin-cards .elementor-post__card,
html body .elementor-posts .elementor-post__card,
html body .elementor-post__card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04) !important;
    overflow: hidden !important;
    transition: all 0.25s ease !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

html body .elementor-posts-container.elementor-posts--skin-cards .elementor-post__card:hover,
html body .elementor-posts .elementor-post__card:hover,
html body .elementor-post__card:hover {
    border-color: #cbd5e1 !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08) !important;
}

html body .elementor-posts-container.elementor-posts--skin-cards .elementor-post__thumbnail__link,
html body .elementor-posts .elementor-post__thumbnail__link,
html body .elementor-post__thumbnail__link {
    margin: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    padding-bottom: 0 !important;
    display: block !important;
    line-height: 0 !important;
}

/* Cards do Blog: Design Moderno com Categoria Centralizada, Divisor Pontilhado e Botão Pílula */
html body .elementor-posts-container.elementor-posts--skin-cards .elementor-post__card .elementor-post__text,
html body .elementor-posts .elementor-post__card .elementor-post__text,
html body .elementor-post__card .elementor-post__text,
html body .elementor-element.elementor-element-0faa130 .elementor-post__text {
    margin: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 16px 20px 22px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    flex: 1 1 auto !important;
}

/* Categoria Centralizada com Divisor Pontilhado */
.elementor-post__category-eyebrow,
html body .elementor-posts .elementor-post__category-eyebrow {
    font-size: 11.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    color: #ffa000 !important;
    margin: 0 0 10px 0 !important;
    padding: 0 0 10px 0 !important;
    line-height: 1.2 !important;
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    border-bottom: 1.5px dotted #cbd5e1 !important;
}

/* Título Centralizado com 3 Linhas */
html body .elementor-posts-container.elementor-posts--skin-cards .elementor-post__card .elementor-post__title,
html body .elementor-posts .elementor-post__card .elementor-post__title,
html body .elementor-post__card .elementor-post__title,
html body .elementor-element.elementor-element-0faa130 .elementor-post__title {
    font-family: 'Poppins', -apple-system, sans-serif !important;
    margin: 0 0 16px 0 !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    padding: 0 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.35 !important;
    min-height: calc(1.35em * 3) !important;
    text-align: center !important;
    width: 100% !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

html body .elementor-posts-container.elementor-posts--skin-cards .elementor-post__card .elementor-post__title a,
html body .elementor-posts .elementor-post__card .elementor-post__title a,
html body .elementor-post__card .elementor-post__title a {
    font-family: 'Poppins', -apple-system, sans-serif !important;
    color: #0f172a !important;
    font-weight: 600 !important;
    letter-spacing: -0.02em !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

html body .elementor-posts-container.elementor-posts--skin-cards .elementor-post__card .elementor-post__title a:hover,
html body .elementor-posts .elementor-post__card .elementor-post__title a:hover,
html body .elementor-post__card .elementor-post__title a:hover {
    color: #ffa000 !important;
}

/* Botão LEIA MAIS: Largura Total, Slim e Elegante */
html body .elementor-posts-container.elementor-posts--skin-cards .elementor-post__card .elementor-post__read-more,
html body .elementor-posts .elementor-post__card .elementor-post__read-more,
html body .elementor-post__card .elementor-post__read-more,
html body .elementor-element.elementor-element-0faa130 .elementor-post__read-more {
    margin: auto 0 0 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    background: #000000 !important;
    color: #ffffff !important;
    border-radius: 9999px !important;
    padding: 8px 16px !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    line-height: 1.2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    text-decoration: none !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12) !important;
    transition: all 0.25s ease !important;
    box-sizing: border-box !important;
}

html body .elementor-posts-container.elementor-posts--skin-cards .elementor-post__card .elementor-post__read-more:hover,
html body .elementor-posts .elementor-post__card .elementor-post__read-more:hover,
html body .elementor-post__card .elementor-post__read-more:hover,
html body .elementor-element.elementor-element-0faa130 .elementor-post__read-more:hover {
    background: #ffa000 !important;
    color: #111827 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(255, 160, 0, 0.3) !important;
}

/* Oculta Rodapé com Data e Badges Antigos */
html body .elementor-posts .elementor-post__card .elementor-post__meta-data,
html body .elementor-post__card .elementor-post__meta-data,
html body .elementor-element.elementor-element-0faa130 .elementor-post__meta-data,
html body .elementor-posts .elementor-post__card .elementor-post__badge,
html body .elementor-post__card .elementor-post__badge,
.elementor-post__badge {
    display: none !important;
}

/* Barra de Filtros do Blog - Largura Total, Fonte Maior e Estilo Segmentado */
.elementor-widget-taxonomy-filter {
    width: 100% !important;
    max-width: 100% !important;
    margin: 15px 0 35px 0 !important;
    display: block !important;
}

.elementor-widget-taxonomy-filter .e-filter {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
    width: 100% !important;
    background: #f1f3f5 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 9999px !important;
    padding: 6px !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.04) !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    box-sizing: border-box !important;
}

.elementor-widget-taxonomy-filter .e-filter::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

.elementor-widget-taxonomy-filter .e-filter-item {
    flex: 1 1 0px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    padding: 10px 14px !important;
    border-radius: 9999px !important;
    border: none !important;
    background: transparent !important;
    color: #64748b !important;
    cursor: pointer !important;
    transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
    text-decoration: none !important;
    user-select: none !important;
}

.elementor-widget-taxonomy-filter .e-filter-item:hover {
    color: #0f172a !important;
    background: rgba(255, 255, 255, 0.75) !important;
}

.elementor-widget-taxonomy-filter .e-filter-item[aria-pressed="true"] {
    background: #ffffff !important;
    color: #ffa000 !important;
    font-weight: 700 !important;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.09), 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

@media (max-width: 900px) {
    .elementor-widget-taxonomy-filter {
        overflow-x: auto !important;
        padding: 0 5px !important;
    }
    .elementor-widget-taxonomy-filter .e-filter {
        width: max-content !important;
        min-width: 100% !important;
        justify-content: flex-start !important;
        gap: 4px !important;
        padding: 4px !important;
    }
    .elementor-widget-taxonomy-filter .e-filter-item {
        flex: 0 0 auto !important;
        font-size: 14.5px !important;
        padding: 8px 14px !important;
    }
}

/* Card do Autor Moderno */
.qg-modern-author-card {
    display: flex !important;
    align-items: center !important;
    gap: 24px !important;
    background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%) !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 18px !important;
    padding: 24px 28px !important;
    margin: 36px 0 20px 0 !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03) !important;
    box-sizing: border-box !important;
}

.author-avatar-wrap {
    position: relative !important;
    flex-shrink: 0 !important;
}

.author-avatar-img {
    width: 80px !important;
    height: 80px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    border: 3px solid #ffffff !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    display: block !important;
}

.author-verified-badge {
    position: absolute !important;
    bottom: -2px !important;
    right: -2px !important;
    width: 24px !important;
    height: 24px !important;
    background: #ffa000 !important;
    color: #111827 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid #ffffff !important;
    box-shadow: 0 2px 6px rgba(255, 160, 0, 0.3) !important;
}

.author-content-wrap {
    flex: 1 !important;
}

.author-header-line {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    margin-bottom: 6px !important;
}

.author-brand-name {
    margin: 0 !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    letter-spacing: -0.01em !important;
}

.author-pill-tag {
    font-size: 11.5px !important;
    font-weight: 700 !important;
    color: #ffa000 !important;
    background: rgba(255, 160, 0, 0.1) !important;
    border: 1px solid rgba(255, 160, 0, 0.25) !important;
    padding: 2px 10px !important;
    border-radius: 999px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

.author-description {
    margin: 0 0 14px 0 !important;
    font-size: 14.5px !important;
    line-height: 1.6 !important;
    color: #64748b !important;
}

.author-footer-actions {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
}

.author-cta-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #ffa000 !important;
    color: #111827 !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    padding: 7px 16px !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 8px rgba(255, 160, 0, 0.25) !important;
}

.author-cta-btn:hover {
    background: #e69100 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(255, 160, 0, 0.35) !important;
    color: #111827 !important;
}

.author-link-services {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.author-link-services:hover {
    color: #ffa000 !important;
    text-decoration: underline !important;
}

@media (max-width: 640px) {
    .qg-modern-author-card {
        flex-direction: column !important;
        text-align: center !important;
        padding: 20px !important;
    }
    .author-header-line {
        justify-content: center !important;
    }
    .author-footer-actions {
        justify-content: center !important;
    }
}

/* ==========================================================================
   Refinamentos de UI Desktop: CTA no Header, Hover States & Microinterações
   ========================================================================== */

/* 1. Botão de CTA de Destaque no Menu Superior em Desktop */
@media (min-width: 1025px) {
    .elementor-nav-menu--layout-horizontal .elementor-nav-menu {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
    }
    
    .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li:last-child a.elementor-item,
    .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li a[href="#contato"] {
        background: #ffa000 !important;
        color: #111827 !important;
        padding: 9px 22px !important;
        border-radius: 999px !important;
        font-weight: 700 !important;
        font-size: 14px !important;
        margin-left: 12px !important;
        box-shadow: 0 4px 14px rgba(255, 160, 0, 0.35) !important;
        transition: transform 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.25s ease, background 0.25s ease !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li:last-child a.elementor-item:hover,
    .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li a[href="#contato"]:hover {
        transform: translateY(-2px) scale(1.02) !important;
        box-shadow: 0 8px 20px rgba(255, 160, 0, 0.5) !important;
        background: #e69100 !important;
        color: #111827 !important;
    }

    .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li:not(:last-child) a.elementor-item {
        transition: color 0.2s ease, transform 0.2s ease !important;
    }

    .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li:not(:last-child) a.elementor-item:hover {
        color: #ffa000 !important;
        transform: translateY(-1px) !important;
    }
}

/* 2. Microinterações nos Filtros de Categorias do Blog */
.e-filter .e-filter-item {
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease !important;
    cursor: pointer !important;
}

.e-filter .e-filter-item:hover {
    transform: translateY(-2px) !important;
    border-color: #ffa000 !important;
    color: #ffa000 !important;
}

.e-filter .e-filter-item[aria-pressed="true"],
.e-filter .e-filter-item.e-filter-item--active {
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(255, 160, 0, 0.3) !important;
}

/* ==========================================================================
   Menu Mobile: Botão Hambúrguer Oficial em #ffa000 e Gaveta Dark Elegante
   ========================================================================== */

/* Botão Hambúrguer Mobile Oficial na Cor Laranja Oficial #ffa000 */
.elementor-menu-toggle {
    display: none;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    background-color: transparent !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin-left: auto !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 26px 22px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffa000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='3' y1='6' x2='21' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='12' x2='21' y2='12'%3E%3C/line%3E%3Cline x1='3' y1='18' x2='21' y2='18'%3E%3C/line%3E%3C/svg%3E") !important;
    transition: transform 0.2s ease, opacity 0.2s ease !important;
    z-index: 100 !important;
}

.elementor-menu-toggle:hover {
    transform: scale(1.08) !important;
}

/* Ícone de Fechar "X" em #ffa000 quando o menu está aberto */
.elementor-menu-toggle.elementor-active {
    background-size: 24px 24px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffa000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E") !important;
}

.elementor-menu-toggle i,
.elementor-menu-toggle svg {
    display: none !important;
}

@media (max-width: 1024px) {
    .elementor-menu-toggle {
        display: flex !important;
    }

    .elementor-nav-menu--main {
        display: none !important;
    }

    /* Gaveta de Navegação Mobile Dark em Largura Total */
    .elementor-nav-menu--dropdown {
        position: fixed !important;
        top: 68px !important;
        left: 14px !important;
        right: 14px !important;
        width: auto !important;
        max-width: 480px !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
        z-index: 999999 !important;
        background: #0f172a !important;
        border: 1px solid #1e293b !important;
        border-radius: 16px !important;
        padding: 16px !important;
        box-shadow: 0 20px 45px rgba(0, 0, 0, 0.85) !important;
        display: none;
    }

    .elementor-nav-menu--dropdown.is-active {
        display: block !important;
    }

    .elementor-nav-menu--dropdown ul.elementor-nav-menu {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
    }

    .elementor-nav-menu--dropdown ul.elementor-nav-menu li {
        width: 100% !important;
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .elementor-nav-menu--dropdown ul.elementor-nav-menu li a.elementor-item {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        box-sizing: border-box !important;
        color: #f1f5f9 !important;
        font-family: 'Poppins', sans-serif !important;
        font-weight: 600 !important;
        font-size: 16px !important;
        padding: 12px 18px !important;
        border-radius: 10px !important;
        text-decoration: none !important;
        background: rgba(255, 255, 255, 0.03) !important;
        border: 1px solid rgba(255, 255, 255, 0.06) !important;
        transition: all 0.2s ease !important;
    }

    .elementor-nav-menu--dropdown ul.elementor-nav-menu li a.elementor-item:hover,
    .elementor-nav-menu--dropdown ul.elementor-nav-menu li a.elementor-item:focus,
    .elementor-nav-menu--dropdown ul.elementor-nav-menu li.current-menu-item a.elementor-item,
    .elementor-nav-menu--dropdown ul.elementor-nav-menu li a.elementor-item.elementor-item-active {
        color: #ffa000 !important;
        background: rgba(255, 160, 0, 0.12) !important;
        border-color: rgba(255, 160, 0, 0.3) !important;
    }

    /* Botão Contato em Destaque Oficial #ffa000 dentro da gaveta mobile */
    .elementor-nav-menu--dropdown ul.elementor-nav-menu li a[href="#contato"] {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #ffa000 !important;
        color: #111827 !important;
        font-weight: 700 !important;
        font-size: 16px !important;
        padding: 14px 20px !important;
        margin-top: 6px !important;
        border-radius: 999px !important;
        border: none !important;
        box-shadow: 0 4px 16px rgba(255, 160, 0, 0.4) !important;
        text-align: center !important;
    }

    .elementor-nav-menu--dropdown ul.elementor-nav-menu li a[href="#contato"]:hover {
        background: #e69100 !important;
        color: #111827 !important;
    }
}


/* ==========================================================================
   Item 3: Prevenção de Auto-Zoom no iOS Safari & Otimização de Inputs Mobile
   ========================================================================== */
@media screen and (max-width: 768px) {
    /* Forçar 16px no mobile para eliminar auto-zoom no iPhone (Safari e Chrome) */
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    input[type="password"],
    input[type="search"],
    select,
    textarea,
    .elementor-field-textual,
    .elementor-field {
        font-size: 16px !important;
        min-height: 46px !important;
        border-radius: 8px !important;
        -webkit-appearance: none !important;
        -moz-appearance: none !important;
        appearance: none !important;
        box-sizing: border-box !important;
        transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    }

    textarea.elementor-field-textual,
    textarea.elementor-field {
        min-height: 90px !important;
    }

    /* Feedback de Foco Suave com realce âmbar #ffa000 */
    .elementor-field-textual:focus,
    .elementor-field:focus {
        outline: none !important;
        border-color: #ffa000 !important;
        box-shadow: 0 0 0 2px rgba(255, 160, 0, 0.25) !important;
    }

    /* Botão de Envio do Formulário no Mobile: 100% de largura e toque confortável */
    .elementor-form .elementor-button {
        width: 100% !important;
        min-height: 48px !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        border-radius: 999px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}


/* ==========================================================================
   Item 4: Prevenção de Overflow-X & Otimização de Botões e Grids Mobile
   ========================================================================== */
html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
}

@media (max-width: 640px) {
    /* Botões de conversão e links CTA ocupam 100% de largura fluida sem transbordar */
    main a[href="#contato"],
    .btn-cta,
    a.btn-cta {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        text-align: center !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Reduzir paddings muito largos no mobile que sufocam a largura útil */
    main {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* Proteção global de tabelas, blocos de código e mídias nos artigos */
.post-article-body img,
.elementor-widget-theme-post-content img {
    max-width: 100% !important;
    height: auto !important;
    box-sizing: border-box !important;
}

.post-article-body table,
.elementor-widget-theme-post-content table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

.post-article-body pre,
.post-article-body code {
    max-width: 100% !important;
    box-sizing: border-box !important;
    word-break: break-word !important;
}

.post-article-body iframe {
    max-width: 100% !important;
}


/* ==========================================================================
   Item 5: Responsividade dos Cards de Posts & Artigos Relacionados em Mobile
   ========================================================================== */
@media (max-width: 768px) {
    /* Todos os containers de cards de posts (Home, Blog e Artigos Relacionados) em 1 coluna */
    .elementor-posts-container.elementor-grid,
    .elementor-posts-container,
    .qg-related-posts-wrap .elementor-posts-container,
    .elementor-grid.elementor-grid-3,
    .elementor-grid.elementor-grid-4 {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 22px !important;
        width: 100% !important;
    }

    .elementor-posts-container .elementor-post,
    .elementor-posts-container.elementor-posts--skin-cards .elementor-post__card {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .qg-related-posts-wrap {
        padding: 28px 12px !important;
        margin-top: 32px !important;
    }

    .qg-related-heading {
        font-size: 20px !important;
    }
}
