/*
Theme Name: Tema-child-Matos-SEO
Theme URI: https://mayconmatos.com.br
Author: Matos SEO
Author URI: https://mayconmatos.com.br
Description: Tema filho para o Tema-Matos-SEO. Customizações permanentes de CSS e PHP.
Template: fast-webx
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fast-webx-child
*/

/* Adicione suas customizações de CSS abaixo desta linha */

/* ==========================================================================
   Matos SEO Child - Pilha de Fontes Emoji Coloridas em Alta Definição (HD)
   ========================================================================== */
.imobi-amenities-grid .imobi-amenity-box .icon,
.imobi-amenity-box .icon,
.imobi-amenity .imobi-amenity-icon,
.imobi-amenity-icon,
.imobi-feature-item .icon,
.imobi-single-features .icon,
.imobi-card-amenities .imobi-amenity-icon,
.imobi-card-location,
.imobi-video-badge-icon,
.imobi-video-play-icon,
.imobi-single-amenities .icon,
.imobi-no-thumb {
    font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", "Android Emoji", sans-serif !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant-emoji: emoji !important;
    text-rendering: optimizeLegibility !important;
    -webkit-font-smoothing: antialiased !important;
    color: initial !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1;
}

/* Proteção dos Botões de Navegação de Galerias / Sliders (Setas de Voltar e Avançar) */
.slick-prev, .slick-next,
.swiper-button-prev, .swiper-button-next,
.owl-prev, .owl-next,
.fancybox-nav, .fancybox-prev, .fancybox-next,
.imobi-gallery-prev, .imobi-gallery-next,
.imobi-single-gallery .slick-arrow,
.imobi-slider-prev, .imobi-slider-next,
.lg-prev, .lg-next,
button[class*="prev"], button[class*="next"],
a[class*="prev"], a[class*="next"],
[class*="gallery-nav"], [class*="slider-nav"] {
    font-family: inherit !important;
    text-rendering: auto !important;
}

.slick-prev img.imobi-hd-emoji,
.slick-next img.imobi-hd-emoji,
.swiper-button-prev img.imobi-hd-emoji,
.swiper-button-next img.imobi-hd-emoji,
.imobi-single-gallery img.imobi-hd-emoji,
button[class*="prev"] img.imobi-hd-emoji,
button[class*="next"] img.imobi-hd-emoji,
a[class*="prev"] img.imobi-hd-emoji,
a[class*="next"] img.imobi-hd-emoji {
    display: none !important;
}


/* Ícones Vetoriais e Emojis HD de Alta Definição */
.imobi-hd-icon {
    display: inline-block !important;
    vertical-align: middle !important;
    width: 44px !important;
    height: 44px !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
}

.imobi-amenity-box .icon {
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 8px !important;
}

.imobi-feature-item .imobi-hd-check,
.imobi-feature-item .icon svg {
    width: 20px !important;
    height: 20px !important;
    margin-right: 4px !important;
    vertical-align: middle !important;
}

.imobi-amenity-box .icon svg,
.imobi-amenity-box .icon img,
.imobi-amenity-box .imobi-hd-icon {
    width: 44px !important;
    height: 44px !important;
}

.imobi-amenity .imobi-amenity-icon svg {
    width: 22px !important;
    height: 22px !important;
    vertical-align: middle !important;
}


/* Imagens Emojis HD Convertidas Universalmente */
img.imobi-hd-emoji {
    width: 1.25em !important;
    height: 1.25em !important;
    vertical-align: -0.2em !important;
    display: inline-block !important;
    margin: 0 2px !important;
    border: none !important;
    background: none !important;
    box-shadow: none !important;
    max-width: none !important;
}

/* ==========================================================================
   Matos SEO Child - Correção do Sidebar (Sem Corte, Sem Scrollbar, Sticky Fixo)
   ========================================================================== */

/* 1. Remoção de Restrições de Overflow Ancestrais (Prevenção de corte do Sticky TOC e Sidebar)
   NOTA: O body NUNCA deve receber overflow para não impedir o scroll do viewport em elementos sticky */
html {
    scroll-behavior: smooth;
    overflow-x: clip !important;
}

#page {
    overflow-x: clip !important;
}

.site, .site-content, .imobi-single-wrapper, .imobi-single-grid, #primary, #main, .site-main, .entry-content, .fwx-single-content, .fwx-page-content, .fwx-content-with-toc {
    overflow: visible !important;
    overflow-x: visible !important;
}

/* 2. Container do Sidebar Estica Nativamente via CSS Grid (sem travar a altura com height: 100%) */
#secondary,
.imobi-single-sidebar,
.fwx-sidebar,
aside.widget-area,
.imob-sidebar {
    align-self: stretch !important;
    height: auto !important;
    position: relative !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* 3. Compactação Visual Elegante sem nenhuma Barra de Rolagem Interna */
.imobi-widget-lead,
.imobi-lead-form,
.imobi-single-sidebar .widget,
#secondary .widget,
.fwx-sidebar .widget,
.imobi-widget {
    box-sizing: border-box !important;
    padding: 14px 16px !important;
    margin-bottom: 16px !important;
    max-width: 100% !important;
    overflow: visible !important;
    max-height: none !important;
}

.imobi-widget-lead .imobi-author-info,
.imobi-lead-form .imobi-author-info {
    margin-bottom: 10px !important;
    padding-bottom: 8px !important;
}

.imobi-widget-lead .form-group,
.imobi-lead-form .form-group,
.imobi-single-sidebar .form-group {
    margin-bottom: 8px !important;
}

.imobi-widget-lead label,
.imobi-lead-form label {
    margin-bottom: 3px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.imobi-widget-lead input[type="text"],
.imobi-widget-lead input[type="email"],
.imobi-widget-lead input[type="tel"],
.imobi-widget-lead textarea,
.imobi-lead-form input,
.imobi-lead-form textarea {
    padding: 6px 10px !important;
    font-size: 13px !important;
    height: 36px !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
}

.imobi-widget-lead textarea,
.imobi-lead-form textarea {
    height: 48px !important;
    min-height: 42px !important;
    max-height: 70px !important;
    resize: vertical !important;
}

.imobi-widget-lead button,
.imobi-widget-lead .btn,
.imobi-widget-lead input[type="submit"],
.imobi-lead-form button,
.imobi-lead-form .btn-whatsapp,
.imobi-lead-form .btn-submit {
    padding: 10px 14px !important;
    margin-top: 6px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

/* 4. Suporte ao Efeito Sticky Nativo da Sidebar no Desktop */
@media (min-width: 993px) {
    #secondary > .widget:last-child,
    #secondary > :last-child,
    .imobi-single-sidebar > .widget:last-child,
    .imobi-single-sidebar > :last-child,
    .fwx-sidebar > .widget:last-child,
    .fwx-sidebar > :last-child,
    .widget-area > .widget:last-child,
    .widget-area > :last-child,
    .imobi-widget-lead:last-child {
        position: -webkit-sticky;
        position: sticky;
        top: 100px;
        z-index: 15;
        overflow: visible;
        max-height: none;
    }
}

/* ==========================================================================
   Matos SEO Child - Guia Editorial SEO em Taxonomias Imobiliárias
   ========================================================================== */

/* 1. Rolagem Suave Global e Offset para Header Sticky */
html {
    scroll-behavior: smooth;
}

#guia-local {
    scroll-margin-top: 100px;
}

/* 2. Botão de Âncora Rápida no Topo (Call to Action de Rolagem) */
#imob-btn-guia-anchor-wrap,
.imob-quick-anchor-wrap {
    margin: 16px 0 28px 0;
    display: flex;
    align-items: center;
    clear: both;
    width: 100%;
}

.imob-btn-guia-anchor {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    background-color: #ffffff;
    color: #1e293b;
    border: 1px solid #cbd5e1;
    border-radius: 9999px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.03);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
}

.imob-btn-guia-anchor:hover,
.imob-btn-guia-anchor:focus {
    background-color: #f8fafc;
    color: #0f172a;
    border-color: #94a3b8;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08), 0 2px 4px rgba(15, 23, 42, 0.04);
}

.imob-btn-guia-anchor:active {
    transform: translateY(0);
}

.imob-btn-guia-anchor span {
    display: inline-block;
    vertical-align: middle;
}

.imob-btn-guia-anchor svg {
    display: inline-block;
    vertical-align: middle;
    color: #64748b;
    transition: transform 0.25s ease, color 0.25s ease;
    flex-shrink: 0;
}

.imob-btn-guia-anchor:hover svg,
.imob-btn-guia-anchor:focus svg {
    color: #0f172a;
    transform: translateY(3px);
}

/* 3. Container Principal do Guia Editorial (#guia-local) */
.imob-taxonomy-seo-guide {
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
    padding: 70px clamp(20px, 4vw, 50px);
    margin-top: 60px;
    width: 100%;
    box-sizing: border-box;
    font-family: var(--fwx-font-family, inherit) !important;
    clear: both;
}

.imob-guide-container {
    max-width: 1140px;
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
}

/* 4. Tipografia e Conteúdo Denso do Guia (.imob-editorial-content) */
.imob-editorial-content {
    color: #334155;
    font-size: 16px;
    line-height: 1.75;
    word-break: break-word;
    font-family: var(--fwx-font-family, inherit) !important;
}

.imob-editorial-content h2,
.imob-editorial-content h3,
.imob-editorial-content h4,
.imob-editorial-content h5 {
    color: #0f172a;
    font-weight: 700;
    line-height: 1.35;
    margin-top: 36px;
    margin-bottom: 16px;
    font-family: var(--fwx-font-family, inherit) !important;
}

.imob-editorial-content h2 {
    font-size: clamp(22px, 2.5vw, 30px);
    border-bottom: 2px solid #e2e8f0;
    padding-bottom: 12px;
    margin-top: 24px;
}

.imob-editorial-content h3 {
    font-size: clamp(19px, 2vw, 24px);
    margin-top: 32px;
}

.imob-editorial-content h4 {
    font-size: clamp(16px, 1.5vw, 19px);
    margin-top: 28px;
}

.imob-editorial-content p {
    color: #334155;
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 1.75;
}

.imob-editorial-content strong,
.imob-editorial-content b {
    color: #0f172a;
    font-weight: 600;
}

.imob-editorial-content ul,
.imob-editorial-content ol {
    margin: 0 0 24px 28px;
    padding: 0;
    color: #334155;
}

.imob-editorial-content li {
    margin-bottom: 10px;
    line-height: 1.7;
}

.imob-editorial-content a {
    color: #2563eb;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.imob-editorial-content a:hover {
    color: #1d4ed8;
    text-decoration-color: #1d4ed8;
}

.imob-editorial-content blockquote {
    margin: 30px 0;
    padding: 18px 24px;
    border-left: 4px solid #2563eb;
    background: #ffffff;
    border-radius: 0 8px 8px 0;
    color: #475569;
    font-style: italic;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.imob-editorial-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 30px 0;
    background: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}

.imob-editorial-content table th,
.imob-editorial-content table td {
    padding: 14px 18px;
    border: 1px solid #e2e8f0;
    text-align: left;
    font-size: 15px;
}

.imob-editorial-content table th {
    background: #f1f5f9;
    color: #0f172a;
    font-weight: 600;
}

.imob-editorial-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 24px 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

/* Responsividade Mobile */
@media (max-width: 768px) {
    .imob-taxonomy-seo-guide {
        padding: 50px 20px;
        margin-top: 40px;
    }

    .imob-btn-guia-anchor {
        width: 100%;
        justify-content: center;
        padding: 12px 18px;
    }

    .imob-editorial-content table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* ==========================================================================
   Matos SEO Child - Layout Single Expandido em 3 Colunas para Páginas e Posts com TOC
   Esquerda: 220px (Sumário TOC) | Centro: 840px (Conteúdo) | Direita: 320px (Sidebar)
   Margens externas de 24px em cada lado para máximo aproveitamento de tela.
   ========================================================================== */

@media (min-width: 1250px) {
    /* 1. Container Principal com Sidebar e TOC */
    .fwx-single-layout.has-sidebar:has(.fwx-content-with-toc),
    .fwx-single-layout.has-sidebar.fwx-has-toc-layout {
        max-width: 1480px !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        transform: none !important;
        box-sizing: border-box !important;
        padding-left: 268px !important;
        padding-right: 24px !important;
        grid-template-columns: minmax(0, 840px) 320px !important;
        gap: 28px !important;
        justify-content: center !important;
    }

    /* 2. Conteúdo Central de Posts e Páginas (840px) */
    .fwx-single-layout.has-sidebar:has(.fwx-content-with-toc) .fwx-single-content,
    .fwx-single-layout.has-sidebar:has(.fwx-content-with-toc) .fwx-page-content,
    .fwx-single-layout.has-sidebar.fwx-has-toc-layout .fwx-single-content,
    .fwx-single-layout.has-sidebar.fwx-has-toc-layout .fwx-page-content {
        max-width: 840px !important;
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    /* 3. Coluna Esquerda: Sumário TOC Flutuante Sticky (220px) */
    .fwx-content-with-toc {
        position: relative !important;
        display: block !important;
        overflow: visible !important;
    }

    .fwx-sticky-toc {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: absolute !important;
        top: 0 !important;
        right: 100% !important;
        margin-right: 24px !important;
        left: auto !important;
        width: 220px !important;
        height: 100% !important;
        pointer-events: none !important;
        z-index: 10 !important;
    }

    .fwx-sticky-toc .fwx-toc-container {
        position: sticky !important;
        top: 110px !important;
        margin-top: 0 !important;
        pointer-events: auto !important;
        width: 220px !important;
        max-width: 220px !important;
        box-sizing: border-box !important;
        max-height: calc(100vh - 150px) !important;
        overflow-y: auto !important;
        scrollbar-width: thin !important;
    }

    /* 4. Coluna Direita: Barra Lateral (320px) */
    .fwx-single-layout.has-sidebar:has(.fwx-content-with-toc) #secondary,
    .fwx-single-layout.has-sidebar:has(.fwx-content-with-toc) .fwx-sidebar,
    .fwx-single-layout.has-sidebar.fwx-has-toc-layout #secondary,
    .fwx-single-layout.has-sidebar.fwx-has-toc-layout .fwx-sidebar {
        width: 320px !important;
        min-width: 320px !important;
        max-width: 320px !important;
        box-sizing: border-box !important;
    }

    /* 5. Variação sem sidebar mas com TOC */
    .fwx-single-layout.no-sidebar:has(.fwx-content-with-toc),
    .fwx-single-layout.no-sidebar.fwx-has-toc-layout {
        max-width: 1156px !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        transform: none !important;
        box-sizing: border-box !important;
        padding-left: 268px !important;
        padding-right: 24px !important;
    }

    .fwx-single-layout.no-sidebar:has(.fwx-content-with-toc) .fwx-single-content,
    .fwx-single-layout.no-sidebar:has(.fwx-content-with-toc) .fwx-page-content,
    .fwx-single-layout.no-sidebar.fwx-has-toc-layout .fwx-single-content,
    .fwx-single-layout.no-sidebar.fwx-has-toc-layout .fwx-page-content {
        max-width: 840px !important;
        width: 100% !important;
    }
}

/* ==========================================================================
   Matos SEO Child - Otimizações de Acessibilidade e Contraste (WCAG AA >= 4.5:1)
   ========================================================================== */

/* 1. Botão de Busca Primário (Contraste 5.58:1 com texto branco) */
.imobi-btn--primary,
button.imobi-btn--primary,
#imobi-public-search-form .imobi-btn--primary {
    background: #0369a1 !important; /* Sky 700 - Contraste 5.58:1 */
    border-color: #0369a1 !important;
    color: #ffffff !important;
}

.imobi-btn--primary:hover,
button.imobi-btn--primary:hover,
#imobi-public-search-form .imobi-btn--primary:hover {
    background: #075985 !important; /* Sky 800 */
    border-color: #075985 !important;
    color: #ffffff !important;
}

/* 2. Preço dos Cards de Imóveis (Contraste 5.58:1 com fundo branco) */
.imobi-card-price {
    color: #0369a1 !important;
    font-weight: 800 !important;
}

/* 3. Badges de Recursos / Comodidades (🏊 PISCINA, 🌳 JARDIM, etc.) */
.imobi-feature-badge {
    background: #f1f5f9 !important;
    color: #334155 !important; /* Slate 700 - Contraste 8.5:1 */
    font-weight: 600 !important;
}

.imobi-feature-badge--more {
    background: #e0f2fe !important; /* Sky 100 */
    color: #0369a1 !important; /* Sky 700 - Contraste 5.5:1 */
    font-weight: 700 !important;
}

/* 4. Tags das Seções Informativas e Links em Azul */
.imob-mod-sec span[style*="color: rgb(2, 132, 199)"],
.imob-mod-sec span[style*="color:#0284c7"],
.imob-mod-sec span[style*="color: #0284c7"],
.imob-bairro-box a[style*="color: rgb(2, 132, 199)"],
.imob-bairro-box a[style*="color:#0284c7"],
.imob-bairro-box a[style*="color: #0284c7"],
.site-footer a[style*="color: #0284c7"],
.site-footer a[style*="color:#0284c7"],
span[style*="color: rgb(2, 132, 199)"] {
    color: #0369a1 !important; /* Sky 700 - Contraste 5.58:1 */
}

.imob-bairro-box a:hover,
.site-footer a[style*="#0284c7"]:hover {
    color: #075985 !important;
}

/* 5. Estilização para Texto de Leitor de Tela (Hierarquia de Títulos Acessível) */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

/* 6. Otimização do Logo do Topo (Dimensionamento Responsivo sem Distorção) */
.custom-logo,
.site-branding img,
.fwx-light-logo {
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 612 / 114;
}


