/* ============================================= */
/* GOOGLE FONT */
/* ============================================= */

@import url('https://fonts.googleapis.com/css2?family=Cantarell:ital,wght@0,400;0,700;1,400;1,700&display=swap');

/* ============================================= */
/* CONFIGURAÇÕES GERAIS */
/* ============================================= */

:root{
    --azul-escuro:#034991;
    --azul-claro:#3EA3DC;
    --verde:#BBD151;
    --largura-maxima:1800px;
}

body{
    font-family:"Cantarell",sans-serif;
    font-weight:400;
    font-style:normal;
    color:var(--azul-escuro);
    font-size:clamp(16px,1vw,26px);
    line-height:1.8;
    overflow-x:hidden;
}

/* ============================================= */
/* TIPOGRAFIA */
/* ============================================= */

h1{
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:-0.07em;
    color:var(--azul-escuro);
    text-align:center;
    font-size:clamp(2rem,5vw,3.9rem);
    line-height:1.1;
}

h2{
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:-0.07em;
    color:var(--azul-claro);
    font-size:clamp(1.5rem,3vw,4rem);
    line-height:1.2;
}

p,
.wp-block-paragraph{
    font-size:clamp(1rem,1.1vw,1.6rem);
    line-height:1.9;
}

/* ============================================= */
/* HEADER */
/* ============================================= */

header.site-header{
    font-family:"Cantarell",sans-serif;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:-0.07em;
}

header.site-header .cww-menu-outer-wrapp{
    background-color:#273365;
}

header.site-header .main-navigation a:hover{
    color:var(--verde);
}

/* ============================================= */
/* CONTAINER */
/* ============================================= */

.container,
.site-content,
.wp-block-group__inner-container,
.alignwide{
    width:min(92%, var(--largura-maxima));
    margin-inline:auto;
}

.entry-header{
    padding-left:60px;
}

/* ============================================= */
/* MENU GUTENBERG */
/* ============================================= */

.wp-block-navigation ul,
.wp-block-navigation ul li{
    position:relative;
}

.wp-block-navigation a,
.wp-block-page-list a{
    text-decoration:none !important;
    color:var(--azul-escuro);
}

.wp-block-navigation a:hover,
.wp-block-page-list a:hover{
    color:var(--verde) !important;
}

.wp-block-navigation__responsive-container-open svg{
    width:48px !important;
    height:48px !important;
}

.wp-block-navigation__container{
    gap:1rem;
}

.wp-block-navigation-item__content{
    font-size:clamp(1rem,1vw,1.5rem);
}

/* ============================================= */
/* LISTAS */
/* ============================================= */

.wp-block-page-list{
    list-style:none;
    font-size:clamp(1rem,1vw,1.4rem);
    font-weight:700;
    text-transform:uppercase;
    margin:0;
}

.wp-block-page-list li{
    line-height:1;
    margin-bottom:.8em;
}

/* ============================================= */
/* IMAGENS E MÍDIA */
/* ============================================= */

.wp-block-image img,
img{
    max-width:100%;
    height:auto;
}

iframe,
video{
    max-width:100%;
    height:auto;
    aspect-ratio:16/9;
}

/* ============================================= */
/* COLUNAS */
/* ============================================= */

.wp-block-columns{
    gap:2rem;
}

/* ============================================= */
/* ELEMENTOS OCULTOS */
/* ============================================= */

.site-footer,
.site-info,
.social-icon-wrapp{
    display:none;
}

/* ============================================= */
/* GOOGLE TRANSLATE */
/* ============================================= */

.gt_switcher_wrapper{
    position:absolute !important;
}

/* ============================================= */
/* MOBILE */
/* ============================================= */

@media (max-width:768px){

    body{
        font-size:16px;
    }

    .container,
    .site-content,
    .wp-block-group__inner-container{
        width:100%;
        padding:0 15px;
    }

    .wp-block-columns{
        flex-direction:column !important;
    }

    .wp-block-column{
        flex-basis:100% !important;
        margin-bottom:20px;
    }

    .wp-block-navigation__container{
        font-size:24px !important;
    }

    #page-title-section{
        height:auto !important;
        padding:20px 0 !important;
    }

    .ticss-17554b29{
        margin-left:0 !important;
    }

    .ticss-d0bf3ae0,
    .ticss-92932fba{
        filter:none !important;
        padding:0 15px;
    }

    .wp-block-psb-parallax,
    .psbParallaxSection{
        min-height:400px !important;
        padding:20px !important;
    }

    .animated{
        animation:none !important;
        opacity:1 !important;
        transform:none !important;
    }

    #wpadminbar{
        position:fixed !important;
    }

    html{
        margin-top:46px !important;
    }
}

/* ============================================= */
/* TABLETS */
/* ============================================= */

@media (min-width:769px) and (max-width:1024px){

    .wp-block-columns{
        flex-wrap:wrap !important;
    }

    .wp-block-column{
        flex-basis:48% !important;
    }

    #page-title-section{
        height:80vh !important;
    }

    .wp-block-embed-youtube iframe{
        height:400px;
    }
}

/* ============================================= */
/* DESKTOP GRANDE */
/* ============================================= */

@media (min-width:1920px){

    :root{
        --largura-maxima:2200px;
    }
  	.container,
    .site-content,
    .wp-block-group__inner-container{
        width:100%;
        padding:0 15px;
    }
    .wp-block-columns{
        gap:3rem;
    }

    section,
    .wp-block-group{
        margin:5rem auto;
    }
}

/* ============================================= */
/* ULTRAWIDE */
/* ============================================= */

@media (min-width:2560px){

    :root{
        --largura-maxima:2800px;
    }

    body{
        font-size:22px;
    }

    .wp-block-navigation-item__content{
        font-size:1.6rem;
    }

    section,
    .wp-block-group{
        margin:7rem auto;
    }

    .wp-block-button__link{
        font-size:1.4rem !important;
        padding:1rem 2rem !important;
    }
}

/* ============================================= */
/* 4K UHD */
/* ============================================= */

@media (min-width:3400px){

    :root{
        --largura-maxima:3400px;
    }

    body{
        font-size:24px;
    }

    h1{
        font-size:6rem;
    }

    h2{
        font-size:4rem;
    }

    .wp-block-navigation__container{
        gap:3rem !important;
    }

    .wp-block-navigation-item__content{
        font-size:2rem !important;
    }

    .wp-block-navigation__responsive-container-open svg{
        width:72px !important;
        height:72px !important;
    }

    .wp-block-button__link{
        font-size:1.8rem !important;
        padding:1.2rem 2.5rem !important;
    }

    .gt_switcher_wrapper{
        transform:scale(1.15);
        transform-origin:top right;
    }

    section,
    .wp-block-group{
        margin:8rem auto;
    }

    /* Corrige menus com font-size inline */
    .wp-block-navigation__container[style],
    .wp-block-navigation__container li[style]{
        font-size:2rem !important;
    }
}

/* ================================================= */
/* ULTRAWIDE E 4K */
/* ================================================= */

@media screen and (min-width: 2560px){

    /* Área útil */
    .container,
    .site-content,
    .wp-block-group__inner-container,
    .alignwide{
        width:92% !important;
        max-width:3200px !important;
        margin:auto !important;
    }

    /* Tipografia */
    body{
        font-size:24px !important;
        line-height:1.8 !important;
    }

    h1{
        font-size:clamp(4rem,4vw,7rem) !important;
        max-width:22ch;
        margin:auto;
    }

    h2{
        font-size:clamp(2.5rem,2.5vw,4.5rem) !important;
    }

    p{
        font-size:1.5rem !important;
        max-width:80ch;
        margin-left:auto;
        margin-right:auto;
    }

    /* Colunas */
    .wp-block-columns{
        gap:5rem !important;
    }

    /* Menu */
    .wp-block-navigation__container{
        gap:3rem !important;
    }

    .wp-block-navigation-item__content{
        font-size:1.8rem !important;
    }

    /* Corrige estilos inline */
    .wp-block-navigation__container[style]{
        font-size:unset !important;
    }

    .wp-block-navigation__container li[style]{
        font-size:1.8rem !important;
    }

    /* Imagens */
    .wp-block-image img{
        border-radius:12px;
    }

    /* Vídeos */
    iframe{
        max-width:100%;
    }

    /* Seções */
    .wp-block-group,
    section{
        padding-top:8rem !important;
        padding-bottom:8rem !important;
    }

}

/* ================================================= */
/* 4K NATIVO */
/* ================================================= */

@media screen and (min-width:3840px){

    body{
        font-size:28px !important;
    }

    .container,
    .site-content,
    .wp-block-group__inner-container,
    .alignwide{
        max-width:3600px !important;
    }

    h1{
        font-size:7rem !important;
    }

    h2{
        font-size:5rem !important;
    }

    p{
        font-size:1.8rem !important;
        max-width:75ch;
    }

    .wp-block-navigation-item__content{
        font-size:2.2rem !important;
    }

    .wp-block-navigation__responsive-container-open svg{
        width:72px !important;
        height:72px !important;
    }

}

/* ===================================================== */
/* CORREÇÃO DE SOBREPOSIÇÃO DE IMAGENS (GUTENBERG HERO) */
/* ===================================================== */

.wp-block-cover,
.wp-block-media-text,
.wp-block-group.has-background{
    position: relative !important;
    display: block !important;
}

/* garante que imagem não “invada” texto */
.wp-block-cover__image-background,
.wp-block-cover img,
.wp-block-media-text__media img{
    width: 100% !important;
    height: auto !important;
    object-fit: cover;
}

/* evita sobreposição indevida de texto */
.wp-block-cover__inner-container,
.wp-block-media-text__content{
    position: relative !important;
    z-index: 2;
}

/* corrige colunas apenas no layout normal */
.wp-block-columns{
    display: flex;
    flex-wrap: wrap;
}

/* impede que regras de 4K afetem telas menores */
@media (max-width: 1600px){
    .wp-block-columns{
        gap: 2rem !important;
    }
}

.wp-block-column > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 800px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
}
