/* Estilos específicos do modelo Paroquial */

/* Scroll suave global */
html {
    scroll-behavior: smooth;
}

/* Layout Sticky Footer - Footer sempre no final da página */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* Container principal do WordPress FSE */
.wp-site-blocks {
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* Body em largura total; blocos de seção aplicam max-width no container interno (1240px) */
.wp-block-post-content {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    box-sizing: border-box;
}

/* Blocos alignfull devem expandir além do container do post-content */
.wp-block-post-content > .alignfull {
    width: 100vw;
    max-width: 100vw;
    padding-left: 0;
    padding-right: 0;
}

/* Blocos de colunas (core/columns): largura total da página; conteúdo interno max 1240px em desktop */
.wp-block-post-content .wp-block-columns {
    width: 100%;
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
}

/* Header Styles - conteúdo interno max 1240px em desktop (regra do tema) */
.sitesparresia-header-top-bar {
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
}

.sitesparresia-header-top-bar-inner a {
    text-decoration: none !important;
}

.sitesparresia-header-top-bar-inner-content {
    border-left: 1px solid var(--wp--preset--color--neutral-900);
    padding-left: 16px;
}

.sitesparresia-header-main {
    max-width: 1240px;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 20px 32px;
}

/* Ajustes do menu de navegação - cores vêm do bloco (Texto, Fundo, Submenu) */
.wp-block-navigation {
    font-size: 20px !important;
}

/* Cor de fundo do menu e hover (Sites Parresia - painel Gutenberg) */
.sitesparresia-navigation-colors .wp-block-navigation {
    background-color: var(--sitesparresia-menu-bg, inherit);
}

.wp-block-navigation .wp-block-navigation__responsive-container-open,
.wp-block-navigation .wp-block-navigation__responsive-container-close {
    font-size: 20px;
}

.wp-block-navigation .wp-block-navigation-link, .wp-block-navigation .wp-block-navigation-item {
    margin-right: 24px;
}

.wp-block-navigation .wp-block-navigation-link:last-child {
    margin-right: 0;
}

/* Hover dos itens do menu principal com background branco */
.wp-block-navigation .wp-block-navigation-link > a,
.wp-block-navigation a.wp-block-navigation-item__content {
    padding: 8px 16px;
    border-radius: 4px;
    transition: background-color 0.2s ease, color 0.2s ease;
    font-weight: 500 !important;
    display: inline-block;
}

/* Hover para itens do menu - usa Cor de hover (painel Gutenberg) quando definida */
.wp-block-navigation .wp-block-navigation-link:not(.has-child):hover > a,
.wp-block-navigation .wp-block-navigation-link:not(.has-child):focus > a,
.wp-block-navigation .wp-block-navigation-link:not(.has-child):hover a.wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-link:not(.has-child):focus a.wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-link:not(.has-child) a.wp-block-navigation-item__content:hover,
.wp-block-navigation .wp-block-navigation-link:not(.has-child) a.wp-block-navigation-item__content:focus {
    background-color: var(--sitesparresia-menu-hover, #ffffff) !important;
    color: var(--wp--preset--color--primary) !important;
}

/* Hover para itens COM submenu - SEM background, apenas para indicar que tem submenu */
.wp-block-navigation .wp-block-navigation-link.has-child:hover > a,
.wp-block-navigation .wp-block-navigation-link.has-child:focus > a,
.wp-block-navigation .wp-block-navigation-link.has-child:hover a.wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-link.has-child:focus a.wp-block-navigation-item__content {
    background-color: transparent !important;
    color: var(--wp--preset--color--neutral-050);
}

.sitesparresia-area-restrita {
    display: flex;
    align-items: center;
    gap: 16px;
}

.sitesparresia-separator-vertical {
    width: 1px;
    height: 24px;
    background-color: var(--wp--preset--color--neutral-900);
    opacity: 0.3;
    flex-shrink: 0;
}

.sitesparresia-header-search input {
    outline: none;
    border-radius: 5px;
    border: none;
    padding-left: 20px;
}

/* Botão de pesquisa sem borda */
.sitesparresia-header-search button,
.sitesparresia-header-search .wp-block-search__button {
    border: none !important;
    border-radius: 4px !important;
}

/* Navigation Dropdown Styles - cores do bloco (Texto e Fundo do submenu) */
.sitesparresia-navigation-colors .wp-block-navigation__submenu-container,
.sitesparresia-navigation-colors ul.wp-block-navigation__submenu-container {
    background-color: var(--sitesparresia-submenu-bg, inherit) !important;
}

.sitesparresia-navigation-colors .wp-block-navigation__submenu-container .wp-block-navigation-link a,
.sitesparresia-navigation-colors .wp-block-navigation__submenu-container .wp-block-navigation-item a {
    color: var(--sitesparresia-submenu-text, inherit) !important;
}

.wp-block-navigation .wp-block-navigation__submenu-container,
.wp-block-navigation ul.wp-block-navigation__submenu-container,
.wp-block-navigation__submenu-container {
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    min-width: 200px !important;
    padding: 8px 0 !important;
    margin-top: 8px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-10px) !important;
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease !important;
    position: absolute !important;
    z-index: 1000 !important;
    list-style: none !important;
    margin-left: 0 !important;
}

/* Mostrar submenu no hover - múltiplos seletores para funcionar no editor e frontend */
.wp-block-navigation .has-child:hover > .wp-block-navigation__submenu-container,
.wp-block-navigation .has-child:focus-within > .wp-block-navigation__submenu-container,
.wp-block-navigation .has-child:hover > ul,
.wp-block-navigation .has-child:focus-within > ul,
.wp-block-navigation-item.has-child:hover > .wp-block-navigation__submenu-container,
.wp-block-navigation-item.has-child:focus-within > .wp-block-navigation__submenu-container,
.wp-block-navigation-item.has-child:hover > ul,
.wp-block-navigation-item.has-child:focus-within > ul {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

/* Estilos específicos para o editor do WordPress */
.block-editor-block-list__layout .wp-block-navigation .wp-block-navigation__submenu-container,
.block-editor-block-list__layout .wp-block-navigation ul.wp-block-navigation__submenu-container,
.editor-styles-wrapper .wp-block-navigation .wp-block-navigation__submenu-container,
.editor-styles-wrapper .wp-block-navigation ul.wp-block-navigation__submenu-container {
    display: block !important;
    background-color: #ffffff !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    min-width: 200px !important;
    padding: 8px 0 !important;
    margin-top: 8px !important;
    position: relative !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

/* No editor, manter submenu sempre visível para facilitar edição */
.block-editor-block-list__layout .wp-block-navigation .has-child > .wp-block-navigation__submenu-container,
.block-editor-block-list__layout .wp-block-navigation .has-child > ul,
.editor-styles-wrapper .wp-block-navigation .has-child > .wp-block-navigation__submenu-container,
.editor-styles-wrapper .wp-block-navigation .has-child > ul {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.block-editor-block-list__layout .wp-block-navigation .wp-block-navigation__submenu-container {
    display: none !important;
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-link {
    padding: 0;
    margin: 0;
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-link a {
    display: block;
    padding: 12px 20px;
    text-decoration: none;
    transition: background-color 0.2s ease;
    font-weight: 500;
    font-size: 16px;
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-link:hover a {
    background-color: rgba(0, 0, 0, 0.05);
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-link:first-child a {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-link:last-child a {
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}

.wp-block-navigation .has-child {
    position: relative;
}

/* Cor do texto dos itens - definida pelo bloco (Texto) no painel Gutenberg */

/* Footer Styles */
/* Footer sempre no final (sticky footer) */
.wp-site-blocks > footer,
.wp-site-blocks > header + footer,
.wp-site-blocks > *:last-child[class*="template-part"] {
    margin-top: auto;
}

.sitesparresia-footer-content-inner {
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

#sitesparresia-footer-content-wrapper {
    position: relative;
}

.sitesparresia-footer-copyright {
    max-width: 100%;
}

#sitesparresia-footer-social-links {
    position: absolute;
    right: 0;
    padding: 10px;
    border-radius: 25px;
    background-color: var(--wp--preset--color--accent);
}

.sitesparresia-footer-atendimento-title {
    width: 100%;
    border-bottom: 1px solid var(--wp--preset--color--neutral-050);
}

.sitesparresia-scroll-to-top {
    display: flex;
    justify-content: flex-end;
    margin-top: 24px;
    width: 100%;
}

.sitesparresia-scroll-to-top-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: var(--wp--preset--color--neutral-050);
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.sitesparresia-scroll-to-top-button:hover {
    opacity: 0.8;
}


/* Mobile - Header (a partir de 980px) */
.sitesparresia-sites-paroquial-menu-header-items.sitesparresia-header-menu-hidden {
    display: flex;
}

.sitesparresia-sites-paroquial-menu-header-items.sitesparresia-header-menu-hidden .wp-block-navigation__responsive-container-content,
.sitesparresia-sites-paroquial-menu-header-items.sitesparresia-header-menu-hidden .wp-block-navigation__container {
    display: none !important;
}

.sitesparresia-sites-paroquial-menu-header-items.sitesparresia-header-menu-hidden .wp-block-navigation__responsive-container-open {
    display: flex !important;
}

.sitesparresia-sites-paroquial-menu-header-items.sitesparresia-header-menu-hidden .wp-block-navigation__responsive-container-close {
    display: none !important;
}

@media (max-width: 980px) {
    /* Esconder "ÁREA RESTRITA" no mobile */
    .sitesparresia-header-top-bar-inner-content {
        display: none !important;
    }
    
    /* Social links ao lado da logo da arquidiocese */
    .sitesparresia-header-top-bar {
        flex-wrap: wrap;
    }
    
    .sitesparresia-header-top-bar-inner {
        flex: 1;
        min-width: 0;
    }
    
    .sitesparresia-header-top-bar .wp-block-social-links {
        margin-left: auto;
        flex-shrink: 0;
    }
    
    /* Forçar menu mobile a aparecer em 768px (sobrescreve padrão WordPress de 600px) */
    .wp-block-navigation > .wp-block-navigation__responsive-container-content {
        display: none !important;
    }
    
    .wp-block-navigation__responsive-container-open {
        display: flex !important;
    }
    
    /* Esconder logo quando pesquisa estiver ativa */
    .sitesparresia-header-main--search-open .wp-block-site-logo,
    .sitesparresia-header-main--search-open .wp-block-site-title {
        display: none !important;
    }

    .sitesparresia-header-main--search-open #sitesparresia-sites-paroquial-menu-header {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        width: 100% !important;
    }

    .sitesparresia-header-main--search-open .sitesparresia-header-search {
        flex: 1 1 auto !important;
    }

    .sitesparresia-header-main--search-open .sitesparresia-header-search form,
    .sitesparresia-header-main--search-open .sitesparresia-header-search .wp-block-search__inside-wrapper {
        width: 100% !important;
    }

    .sitesparresia-header-main--search-open .sitesparresia-header-search .wp-block-search__inside-wrapper {
        display: flex !important;
        align-items: center !important;
    }

    .sitesparresia-header-main--search-open .wp-block-navigation {
        display: flex !important;
    }

    .sitesparresia-header-main--search-open .wp-block-navigation__responsive-container-open {
        display: flex !important;
    }
    
    /* Garantir que o drawer fique fechado por padrão (só abre ao clicar) */
    .wp-block-navigation__responsive-container:not(.is-menu-open) {
        display: none !important;
    }
    
    .wp-block-navigation__responsive-container.is-menu-open {
        display: block !important;
    }
    
    /* Estilos do drawer do menu mobile - cores do bloco (Fundo e Texto do submenu/sobreposição) */
    .sitesparresia-navigation-colors .wp-block-navigation__responsive-container.is-menu-open {
        background-color: var(--sitesparresia-submenu-bg, var(--wp--preset--color--primary)) !important;
    }

    .sitesparresia-navigation-colors .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link > a,
    .sitesparresia-navigation-colors .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item > a {
        color: var(--sitesparresia-submenu-text, var(--wp--preset--color--neutral-050)) !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100vh !important;
        z-index: 9999 !important;
        overflow-y: auto !important;
        padding: 0 !important;
    }
    
    /* Logo no drawer - usa cor de fundo do overlay quando definida */
    .sitesparresia-navigation-colors .wp-block-navigation__responsive-container.is-menu-open .sitesparresia-mobile-menu-logo {
        background-color: var(--sitesparresia-submenu-bg, #ffffff) !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open .sitesparresia-mobile-menu-logo {
        display: flex !important;
        align-items: center;
        gap: 16px;
        padding: 16px 20px;
        background-color: #ffffff;
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        position: relative;
        z-index: 1;
    }
    
    .wp-block-navigation__responsive-container.is-menu-open .sitesparresia-mobile-menu-logo .wp-block-site-logo img {
        max-width: 120px;
        height: auto;
    }
    
    .sitesparresia-navigation-colors .wp-block-navigation__responsive-container.is-menu-open .sitesparresia-mobile-menu-logo .wp-block-site-title {
        color: var(--sitesparresia-submenu-text, inherit) !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open .sitesparresia-mobile-menu-logo .wp-block-site-title {
        font-size: 20px !important;
        margin: 0;
    }
    
    /* Conteúdo do drawer */
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
        padding: 20px !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        margin-top: 0 !important;
    }
    
    /* UL do menu no drawer - width 100% */
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > ul,
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
        width: 100% !important;
    }
    
    /* Itens do menu no drawer - width 100%, borda compatível com fundo claro/escuro */
    .sitesparresia-navigation-colors .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link,
    .sitesparresia-navigation-colors .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
        border-bottom-color: rgba(0, 0, 0, 0.08);
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link,
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
        margin: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        width: 100% !important;
    }
    
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link:last-child {
        border-bottom: none;
    }
    
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link > a {
        font-size: 18px !important;
        font-weight: 500 !important;
        padding: 16px 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        background-color: transparent !important;
    }
    
    /* Remover background branco do hover/focus no mobile - cores do bloco Navigation */
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link:not(.has-child):hover > a,
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link:not(.has-child):focus > a,
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link:not(.has-child) a.wp-block-navigation-item__content:hover,
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link:not(.has-child) a.wp-block-navigation-item__content:focus,
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link.current-menu-item > a,
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link.current-menu-item,
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current-menu-item > a,
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current-menu-item {
        background-color: transparent !important;
    }
    
    /* Submenus no drawer - texto do bloco Navigation */
    .sitesparresia-navigation-colors .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-link a {
        color: var(--sitesparresia-submenu-text, inherit) !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        margin-top: 8px !important;
        margin-left: 0 !important;
        position: relative !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        border-left: 3px solid rgba(0, 0, 0, 0.15) !important;
        display: none !important; /* Escondido por padrão, será mostrado via JS */
        width: 100% !important;
    }
    
    /* LI e links dentro dos submenus - width 100% */
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-link,
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
        width: 100% !important;
    }
    
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-link a {
        width: 100% !important;
    }
    
    /* Submenu aberto */
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link.is-open .wp-block-navigation__submenu-container {
        display: block !important;
    }
    
    /* Usar o mesmo ícone de submenu do desktop (SVG do WordPress) */
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link.has-child .wp-block-navigation__submenu-icon {
        display: inline-block !important;
        margin-left: auto;
    }
    
    /* Ícone de submenu - herda cor do bloco Navigation */
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link.has-child .wp-block-navigation__submenu-icon svg {
        width: 16px;
        height: 16px;
        position: relative;
        bottom: 35px;
        right: 10px;
    }
    
    .sitesparresia-navigation-colors .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-link {
        border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    }
    
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-link:last-child {
        border-bottom: none !important;
    }
    
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-link a {
        padding: 12px 16px !important;
        font-size: 16px !important;
        font-weight: 400 !important;
        display: block !important;
    }
    
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-link a:hover {
        background-color: rgba(0, 0, 0, 0.08) !important;
    }
    
    /* Botão fechar do drawer - herda cor do bloco Navigation */
    .sitesparresia-navigation-colors .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
        color: var(--sitesparresia-submenu-text, inherit) !important;
        background-color: rgba(0, 0, 0, 0.15) !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
        position: absolute !important;
        top: 16px !important;
        right: 20px !important;
        border: none !important;
        font-size: 28px !important;
        padding: 8px !important;
        cursor: pointer !important;
        z-index: 10000 !important;
        line-height: 1 !important;
        border-radius: 999px !important;
        transition: background-color 0.2s ease !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:hover,
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:focus {
        background-color: rgba(0, 0, 0, 0.25) !important;
    }
}

/* Mobile - Footer (a partir de 768px) */
@media (max-width: 768px) {
    /* Footer - Links sociais abaixo da logo no mobile */
    .sitesparresia-footer-top #sitesparresia-footer-social-links {
        position: relative !important;
        right: auto !important;
        margin: 0 auto;
    }
    
    /* Footer - sitesparresia-footer-content-inner com flex-direction column e gap 30px no mobile */
    .sitesparresia-footer-top .sitesparresia-footer-content-inner {
        display: flex !important;
        flex-direction: column !important;
        gap: 30px !important;
    }
    
    /* Footer - Reduzir gap entre tópicos (telefone, e-mail, etc) de 2em para 1em */
    .sitesparresia-footer-content .wp-block-columns {
        gap: 1em !important;
    }
}

/* Phone */
@media (max-width: 769px) {
    .sitesparresia-header-main {
        padding: 20px 0px !important;
    }
}


/* Tablet */
@media (max-width: 1024px) and (min-width: 769px) {
    .sitesparresia-header-main {
        padding: 20px 24px !important;
    }
    
    .wp-block-navigation {
        font-size: 18px !important;
    }
    
    .wp-block-navigation .wp-block-navigation-link {
        margin-right: 24px;
    }
}

