
/* GRID */
.wp-block-group.is-layout-grid{
    gap: 10px;
}
/* IMAGENS DAS GALERIAS */
.wp-block-image.size-hero-desktop{
    height: 460px;
}
.wp-block-image.size-documento{
    height: 385px;
}
/* LEGENDA DAS IMAGENS DAS GALERIAS */
.wp-block-preformatted{
    border-left: 1px solid var(--cor-vermelho);
    padding: 10px 0 10px 16px;    
    color: var(--cor-preto);
    font-family: 'Circe';
    font-optical-sizing: auto;
    font-size: 16px;
    font-weight: 400;
    font-style: italic;
    line-height: 1.5em;
    margin: 10px 5% 0 40%;
}
/* BOX TEXTO COM IMAGEM */
/* Texto do lado direito */
.wp-block-media-text > .wp-block-media-text__content {	
    padding-top: 70px;    
    padding-right: calc( (min(100vw, 1366px) - 1084px) / 2 );	
    padding-bottom: 70px;
    padding-left: 50px;
}
/* Texto do lado esquerdo */
.wp-block-media-text.has-media-on-the-right > .wp-block-media-text__content {
    padding-top: 70px;    
    padding-right: 50px;
    padding-bottom: 70px;
    padding-left: calc( (min(100vw, 1366px) - 1084px) / 2 );
}
.wp-block-media-text > .wp-block-media-text__content h3 {	
	font-size: 24px;
    font-weight: 800;
    margin-bottom: 0.75em;
}
.wp-block-media-text.is-image-fill-element > .wp-block-media-text__media {	
	min-height: 500px;   
}
/* GALERIA OWL-CAROUSEL */
.wp-block-gallery.has-nested-images {
	width: 754px;
	margin: 0 auto;
}
.wp-block-gallery.has-nested-images figure.wp-block-image {
	width: 100% !important;
}
.wp-block-gallery.has-nested-images figure.wp-block-image::before,
.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before {
	content: none !important;	
	backdrop-filter: none !important;		
	-webkit-mask-image: none !important;	
	mask-image: none !important;	
	max-height: unset !important;		
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {	
    background: none;
    border-left: 1px solid var(--cor-vermelho);
    padding: 10px 40px 10px 16px;   
    position: relative; 
    color: var(--cor-preto);
    font-family: 'Circe';
    font-optical-sizing: auto;
    font-size: 16px;
    font-weight: 400;
    font-style: italic;
    line-height: 1.5em;
    text-align: left;
	text-shadow: none;
}
.wp-block-gallery.has-nested-images .owl-nav {
	width: 100%;
	right: 0;
	top: 233px;
	padding: 0 16px;
}
/* VÍDEO E EMBED */
.wp-block-video,
.wp-block-embed {
    position: relative;
    overflow: hidden;
    line-height: 0;    
    /* Centraliza o bloco e garante que o container 'abrace' o tamanho exato da mídia */
    margin-inline: auto; 
    width: fit-content; 
    max-width: 100%;
}
.wp-block-video {
    cursor: pointer;
}
.wp-block-video::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000000;
    opacity: 0.6;
    mix-blend-mode: multiply;
    z-index: 1;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.wp-block-video::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80px;
    height: 80px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><circle cx='50' cy='50' r='47' fill='none' stroke='white' stroke-width='4'/><polyline points='40,28 68,50 40,72' fill='none' stroke='white' stroke-width='4' stroke-linecap='square' stroke-linejoin='miter'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 2;
    opacity: 0.9;
    pointer-events: none;
    filter: drop-shadow(0px 4px 6px rgba(0,0,0,0.3));
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
}
.wp-block-video video {
    max-height: calc(100vh - 100px) !important;
    max-width: 100% !important;    
    /* O SEGREDO: Ignora o 'width=1280' do HTML do WP. 
       Usamos a mesma matemática do embed para forçar o crescimento máximo proporcional! */
    width: calc((100vh - 100px) * (16 / 9)) !important;
    height: auto !important;    
    aspect-ratio: 16 / 9 !important; /* Força a proporção cravada para alinhar com o embed */    
    position: relative;
    z-index: 0;
    object-fit: contain; 
    display: block;
}
.wp-block-video:hover::after {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.05);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><circle cx='50' cy='50' r='47' fill='none' stroke='%23F93D3F' stroke-width='4'/><polyline points='40,28 68,50 40,72' fill='none' stroke='%23F93D3F' stroke-width='4' stroke-linecap='square' stroke-linejoin='miter'/></svg>");
}
.wp-block-video.is-playing::before,
.wp-block-video.is-playing::after {
    opacity: 0 !important;
    visibility: hidden;
}
.wp-block-embed .wp-block-embed__wrapper {
    position: relative;
    padding-top: 0 !important; 
    padding-bottom: 0 !important;
}
.wp-block-embed iframe {
    position: relative !important;
    top: auto !important;
    left: auto !important;    
    max-height: calc(100vh - 100px) !important;
    max-width: 100% !important;
    height: auto !important;    
    aspect-ratio: 16 / 9; /* Mantém a proporção HD nativa */    
    /* O cálculo matemático abaixo força o iframe a reduzir a largura dinamicamente se bater no teto da altura */
    width: calc((100vh - 100px) * (16 / 9)) !important;
    display: block;
}
/* CUSTOMIZAÇÃO DO PLAYER DE ÁUDIO NATIVO (MediaElement.js) */
/* * ESTILOS DO BLOCO DE ÁUDIO DO GUTENBERG (MediaElement.js)
 * Prefixados com .wp-block-audio para não afetar blocos de vídeo
 */
/* 1. Container Principal e Controles */
.wp-block-audio .mejs-container, 
.wp-block-audio .mejs-container .mejs-controls {
    background: var(--cor-vermelho) !important; /* Cor de fundo */   
}
.wp-block-audio .mejs-container * {   
    font-family: 'Circe' !important; /* Fonte personalizada */
}
.wp-block-audio .mejs-container {   
    width: 100%;
    max-width: 1366px;       
    height: 80px !important;
    padding: 20px 0 !important;   
    margin: 0 auto;
}
.wp-block-audio .mejs-container .mejs-controls {
    align-items: center !important;
    position: relative !important;
    padding: 0;
    padding-right: calc( (min(100vw, 1366px) - 1084px) / 2 );
    padding-left: calc( (min(100vw, 1366px) - 1084px) / 2 );
}
/* 2. Textos de Tempo (00:00) */
.wp-block-audio .mejs-container .mejs-time {
    height: 20px !important;
    padding: 0 6px !important;
    color: var(--cor-branco);
    font-size: 16px;
    font-weight: 700;
    line-height: 20px;
}
/* 3. Botões Principais (Play, Pause) */
.wp-block-audio .mejs-controls .mejs-button {
    height: 32px !important;
}
.wp-block-audio .mejs-controls .mejs-button button {
    background: transparent !important; /* Remove o SVG nativo do WP */
    width: 32px !important;
    height: 32px !important;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
}
.wp-block-audio .mejs-controls .mejs-button button:before {
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: 'Font Awesome 6 Free'; /* Fonte dos ícones */
    font-weight: 900;
    color: var(--cor-branco);
    font-size: 22px;
    transition: color 0.3s ease;
}
.wp-block-audio .mejs-controls .mejs-playpause-button.mejs-play button:before {
    content: '\f04b'; /* Play (Font Awesome) */
}
.wp-block-audio .mejs-controls .mejs-playpause-button.mejs-pause button:before {
    content: '\f04c'; /* Pause (Font Awesome) */
}
.wp-block-audio .mejs-controls .mejs-button button:hover:before {
    color: var(--cor-preto);;
}
/* 4. A Barra de Progresso (O Trilho) */
.wp-block-audio .mejs-controls .mejs-time-rail {
    height: 4px !important;
    padding-top: 0 !important;
}
.wp-block-audio .mejs-controls .mejs-time-rail .mejs-time-total {
    background: rgba(0, 0, 0, 0.2) !important; /* Fundo da barra não tocada */
    border-radius: 0;
    height: 4px !important;
    margin: 0 !important;
}
/* 5. A Barra de Carregamento (Buffer) */
.wp-block-audio .mejs-controls .mejs-time-rail .mejs-time-loaded {
    background: rgba(0, 0, 0, 0.3) !important;
    height: 4px !important;
}
/* 6. A Barra de Progresso Atual (O tempo que já tocou) */
.wp-block-audio .mejs-controls .mejs-time-rail .mejs-time-current {
    background: var(--cor-branco) !important;
    height: 4px !important;
}
.wp-block-audio .mejs-controls .mejs-time-rail .mejs-time-hovered {
    height: 4px !important;
}
/* 7. A Bolinha (Handle) da Barra de Progresso */
.wp-block-audio .mejs-controls .mejs-time-rail .mejs-time-handle-content {
    background: var(--cor-branco) !important;
    border: none !important;
    border-radius: 50%;
    width: 16px !important;
    height: 16px !important;
    top: -10px !important; /* Centraliza a bolinha */
}
/* 8. Barra de Volume (Caso decida voltar a mostrar no futuro) */
.wp-block-audio .mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total {
    background: var(--cor-branco) !important;
    border-radius: 4px;
}
.wp-block-audio .mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current {
    background: var(--cor-preto) !important;
    border-radius: 4px;
}
/* 9. Esconde os controles de volume permanentemente */
.wp-block-audio .mejs-volume-button, 
.wp-block-audio .mejs-horizontal-volume-slider {
    display: none !important;
}
/*----------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
RESPONSIVO
------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------*/
@media only screen and (max-width : 810px) {
/* IMAGENS DAS GALERIAS */
.wp-block-image.size-hero-desktop{
    height: 67vw;
}
.wp-block-image.size-documento{
    height: 56vw;
}
/* 1. Captura valores na casa dos 10% a 19% (exclui explicitamente o 100% para não quebrar colunas inteiras) */
.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column[style*="flex-basis:1"]:not([style*="100"]),
.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column[style*="flex-basis: 1"]:not([style*="100"]),

/* 2. Captura valores na casa dos 20% a 29% (ex: 20%, 25%) */
.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column[style*="flex-basis:2"],
.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column[style*="flex-basis: 2"],

/* 3. Captura valores na casa dos 30% a 39% (ex: 30%, 33.33%) */
.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column[style*="flex-basis:3"],
.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column[style*="flex-basis: 3"] {
    flex-basis: 50% !important;
    max-width: 50% !important; 
}
/* LEGENDA DAS IMAGENS DAS GALERIAS */
.wp-block-preformatted{   
    padding: 5px 0 5px 16px;
    margin: 10px 16px 0 32px;
}
/* BOX TEXTO COM IMAGEM */
/* Texto do lado direito */
.wp-block-media-text > .wp-block-media-text__content {	
    padding-top: 30px;    
    padding-right: 16px;	
    padding-bottom: 40px;
    padding-left: 32px;
}
/* Texto do lado esquerdo */
.wp-block-media-text.has-media-on-the-right > .wp-block-media-text__content {
    padding-top: 30px;    
    padding-right: 16px;	
    padding-bottom: 40px;
    padding-left: 32px;
}
.wp-block-media-text.is-image-fill-element > .wp-block-media-text__media {	
	min-height: 80vw;   
}
/* GALERIA OWL-CAROUSEL */
.wp-block-gallery.has-nested-images {
	width: 100vw;	
    padding-bottom: 30px;
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	padding: 10px 16px 5px 16px;
	margin-left: 32px;
}
.wp-block-gallery.has-nested-images .owl-dots .owl-dot.active {
	background-color: var(--cor-vermelho) !important;	
}
/* CUSTOMIZAÇÃO DO PLAYER DE ÁUDIO NATIVO (MediaElement.js) */
/* * ESTILOS DO BLOCO DE ÁUDIO DO GUTENBERG (MediaElement.js)
 * Prefixados com .wp-block-audio para não afetar blocos de vídeo
 */
.wp-block-audio .mejs-container .mejs-controls {   
    padding-right: 16px;
    padding-left: 32px;
}
}