@charset "UTF-8";

/* --- Fontes --- */
@font-face {
    font-family: 'AveriaCustom';
    src: url('../fonts/Averia-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'AveriaCustomLightItalic';
    src: url('../fonts/Averia-LightItalic.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'RuinaCustom';
    src: url('../fonts/Ruina.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

/* --- Header e Topo --- */
.language-selector .container {
    max-width: 1280px !important;
    padding-right: 20px !important;
}

.flag-img {
    width: 28px;
    height: auto;
    transition: opacity 0.2s;
}

.container-branco {
    width: 100%;
    height: 74px;
    background-color: #ffffff;
    display: flex;
    justify-content: center;
    border-bottom: 1px solid #eee;
}

.conteudo-centralizado {
    width: 1280px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
}

.logo-ori {
    width: 140px;
    height: 60px;
    background-image: url('../images/logo-ori.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center left;
}

/* --- Menu de Navegação --- */
.menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: space-around;
    width: 28px;
    height: 22px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 1001;
}

.menu-toggle span {
    width: 28px;
    height: 3px;
    background-color: #000;
    transition: all 0.3s ease;
}

.dropdown-custom {
    position: relative;
}

.nav-link-custom {
    font-family: 'AveriaCustom', serif;
    font-weight: bold;
    font-size: 16px;
    color: #000 !important;
    text-decoration: none !important;
    display: flex;
    align-items: center;
    gap: 5px;
    transition: color 0.2s ease;
    white-space: nowrap;
}

.nav-link-custom:hover {
    color: #B51F07 !important;
}

.submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #B51F07;
    list-style: none;
    padding: 15px 0;
    margin: 0;
    min-width: 250px;
    z-index: 1000;
}

.dropdown-custom:hover .submenu {
    display: block;
}

.submenu li a {
    display: block;
    padding: 8px 20px;
    color: #ffffff !important;
    text-decoration: none;
    font-family: 'AveriaCustomLightItalic', serif;
    font-style: italic;
    font-size: 15px;
    transition: background 0.3s;
}

.submenu li a:hover {
    background-color: #911805;
}

/* --- Slideshow / Carousel --- */
.slide-img{
    width: 100%;
    height: auto;          /* <- isso impede distorção */
    display: block;
    object-fit: cover;     /* <- recorta sem deformar */
    object-position: center;
    max-height: 700px;     /* mantém o teto do layout */
}


.carousel-item {
    transition: transform 0.9s ease-in-out !important;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    width: 3.5rem;
    height: 3.5rem;
    filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5));
}

.carousel-control-prev,
.carousel-control-next {
    opacity: 0.8;
}

/* --- Seção Verde (Intro) --- */
.secao-verde {
    min-height: 550px;
    height: auto;
    width: 100%;
    background-color: #273A27;
    background-image: url('../images/retangulo1.svg');
    background-repeat: no-repeat;
    background-position: -30px center;
    background-size: 50% auto;
    padding: 40px 0;
    display: flex;
    justify-content: center;
    overflow: hidden;
}

.conteudo-verde {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    max-width: 1280px;
    height: 100%;
    padding: 40px;
}

.coluna-texto-unica {
    max-width: 550px;
    color: #F1E8C4;
    font-size: 12px;
    line-height: 1.8;
    font-style: italic;
}

.coluna-texto-unica p {
    margin-bottom: 15px;
}

/* --- Seção SOBRE --- */
.secao-sobre {
    background-color: #603126;
    padding: 80px 0;
    width: 100%;
    display: flex;
    justify-content: center;
}

.secao-sobre .conteudo-centralizado {
    display: flex;
    align-items: flex-start;
}

.titulo-sobre {
    font-family: 'RuinaCustom', sans-serif;
    color: #F1E8C4;
    font-size: 4rem;
    margin-top: 0;
    margin-bottom: 40px;
    line-height: 1;
    text-transform: uppercase;
}

.texto-sobre {
    font-family: 'Averia Sans Libre', serif;
    color: #F1E8C4;
    font-size: 12px;
    line-height: 1.6;
    max-width: 540px;
}

.texto-sobre p {
    margin-bottom: 25px;
}

.foto-igreja-sobre {
    width: 100%;
    max-width: 540px;
    height: 650px;
    background-image: url('../images/foto-secao-sobre.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin-top: 30px;
    border-radius: 4px;
}

.logo-sobre {
    width: 100%;
    max-width: 450px;
    height: auto;
    margin-top: 10px;
}

.texto-logo-sobre {
    font-family: 'Averia Sans Libre', sans-serif;
    color: #F1E8C4;
    font-size: 12px;
    line-height: 1.6;
    max-width: 500px;
    margin-top: 20px;
}

.texto-logo-sobre p {
    margin-bottom: 15px;
}

/* --- Seção OBJETIVOS --- */
.secao-objetivos {
    background-color: #B57208;
    padding: 80px 0;
    width: 100%;
    display: flex;
    justify-content: center;
}

.titulo-objetivos {
    font-family: 'RuinaCustom', sans-serif;
    color: #273A27;
    font-size: 5rem;
    margin-top: 0;
    margin-bottom: 40px;
    line-height: 1;
    text-align: left;
    width: 100%;
}

.bloco-objetivos {
    width: 100%;
    max-width: 380px;
    margin: 0;
}

.subtitulo-objetivos {
    font-family: 'Averia Sans Libre', sans-serif;
    font-weight: 700;
    color: #273A27;
    font-size: 1.15rem;
    margin-top: 20px;
    margin-bottom: 5px;
    text-align: left;
}

.texto-geral,
.texto-sub-intro {
    font-family: 'Averia Sans Libre', sans-serif;
    color: #F1E8C4;
    font-size: 14px;
    line-height: 1.2;
    margin-bottom: 15px;
}

.lista-objetivos {
    list-style: decimal;
    margin-top: 20px;
    width: 100%;
    padding-left: 1rem;
}

.lista-objetivos li {
    font-family: 'Averia Sans Libre', sans-serif;
    font-style: italic;
    color: #F1E8C4;
    font-size: 13px;
    line-height: 1.0 !important;
    margin-bottom: 8px;
    text-align: justify;
}


.logo-objetivos {
    width: 100%;
    max-width: 550px;
    height: auto;
    margin-top: 10px;
    animation: oriSpinSoft 18s ease-in-out infinite;
}
/* ================================================================
   ANIMAÇÃO – LOGO OBJETIVOS GIRANDO (ELEGANTE)
================================================================ */

/* garante que não “empurre” layout e gira suave */
.logo-objetivos{
  display: block;
  transform-origin: 50% 50%;
  will-change: transform;
  animation: oriSpin 26s linear infinite;
}

/* rotação contínua */
@keyframes oriSpin{
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* respeita usuários com redução de movimento */
@media (prefers-reduced-motion: reduce){
  .logo-objetivos{ animation: none; }
}

/* (opcional) pausa ao passar o mouse, fica chique */
.logo-objetivos:hover{
  animation-play-state: paused;
}


/* --- Seção FINANCIADORES --- */
.secao-financiadores {
    background-color: #273A27;
    padding: 60px 0;
    width: 100%;
    display: flex;
    justify-content: center;
}

.titulo-financiadores {
    font-family: 'RuinaCustom', sans-serif;
    color: #B57208;
    font-size: 4rem;
    margin-bottom: 40px;
    text-align: left;
    line-height: 1;
}

.texto-financiadores {
    font-family: 'Averia Sans Libre', sans-serif;
    color: #ffffff;
    font-size: 12px;
    line-height: 1.6;
    max-width: 900px;
}

.texto-financiadores p {
    margin-bottom: 25px;
}

.link-projeto a {
    color: #ffffff;
    text-decoration: underline;
    font-style: italic;
}

.contato-projeto {
    font-size: 16px;
    margin-top: 40px;
}

/* --- Seção CONTATO --- */
.secao-contato {
    background-color: #603126;
    padding: 100px 0;
    width: 100%;
    display: flex;
    justify-content: center;
    overflow: hidden;
    position: relative;
}

.titulo-contato {
    font-family: 'RuinaCustom', sans-serif;
    color: #BBA476;
    font-size: 5rem;
    margin-bottom: 55px;
    line-height: 0.8;
    text-align: left;
}

.grupo-contato {
    border-left: 2px solid #B57208;
    padding-left: 20px;
    margin-bottom: 35px;
}
.grupo-contato a{
    color: #fff;
    text-decoration: none;
}
.grupo-contato a:hover{
    text-decoration: underline;
}



.label-contato {
    font-family: 'Averia Sans Libre', sans-serif;
    color: #B57208;
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 8px;
    text-transform: none;
}

.nome-contato {
    font-family: 'Averia Sans Libre', sans-serif;
    color: #ffffff;
    font-size: 14px;
    font-style: italic;
    margin-bottom: 0;
    line-height: 1.4;
}

.ponto-regiao {
    font-family: 'Averia Sans Libre', sans-serif;
    color: #ffffff;
    font-size: 14px;
    font-weight: 400;
    display: block;
}

.caixa-contato {
    background-color: #B57208;
    padding: 40px;
    border-radius: 25px;
    border: 1.5px solid #000;
    width: 420px;
    z-index: 3;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding-left: 60px;
}

.item-link {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 8px;
    color: #000;
    font-family: 'Averia Sans Libre', sans-serif;
    font-weight: bolder;
    font-size: 17px;
}

.item-link a {
    color: #000;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.logo-contato-fundo {
    position: absolute;
    right: 50px;
    top: 50%;
    transform: translateY(-50%);
    width: 450px;
    z-index: 1;
    pointer-events: none;
}

.logo-contato-fundo img {
    width: 100%;
    filter: brightness(0) saturate(100%) invert(19%) sepia(13%) saturate(1063%) hue-rotate(76deg) brightness(94%) contrast(92%);
}

.z-index-2 {
    position: relative;
    z-index: 2;
}

/* --- RODAPÉ --- */
.footer-ori {
    width: 100%;
    background-color: #ffffff;
    border-top: 1px solid #eee;
}

.container-logos {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 60px 0;
}

.img-parceiros {
    width: 100%;
    max-width: 1200px;
    height: auto;
    display: block;
}

/* --- Ajustes para Mobile (Telas menores que 992px) --- */
@media (max-width: 991px) {

    .container-branco .conteudo-centralizado {
        position: relative !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        height: 74px;
        width: 100%;
    }

    .menu-toggle {
        display: flex !important;
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        z-index: 1002;
    }

    nav.navbar.nav-menu {
        display: none;
        position: absolute;
        top: 74px;
        left: 0;
        width: 100%;
        background-color: #ffffff;
        padding: 20px;
        flex-direction: column;
        z-index: 1001;
        box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
    }

    nav.navbar.nav-menu.active {
        display: block !important;
    }

    .navbar-nav {
        flex-direction: column;
        align-items: center;
        gap: 15px !important;
    }

    /* Seções e Conteúdo */
    .secao-verde {
        background-position: center center !important;
        background-size: 70% auto !important;
    }

    .secao-sobre .conteudo-centralizado,
    .secao-objetivos .conteudo-centralizado,
    .secao-financiadores .conteudo-centralizado,
    .secao-contato .conteudo-centralizado,
    .conteudo-verde {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        width: 100% !important;
        padding: 20px !important;
        justify-content: center !important;
    }

    .coluna-texto-unica,
    .texto-sobre,
    .texto-logo-sobre,
    .bloco-objetivos,
    .texto-financiadores {
        max-width: 100% !important;
        margin: 0 auto !important;
        text-align: justify !important;
    }

    .titulo-sobre,
    .titulo-objetivos,
    .titulo-financiadores,
    .titulo-contato {
        font-size: 3rem !important;
        text-align: center !important;
        width: 100% !important;
        margin-bottom: 90px !important;
    }

    .foto-igreja-sobre {
        height: 350px !important;
        margin: 20px auto !important;
    }

    .logo-sobre,
    .logo-objetivos {
        max-width: 80% !important;
        margin: 20px auto !important;
        display: block !important;
    }

    .caixa-contato {
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        transform: none !important;
        width: 100% !important;
        max-width: 420px !important;
        margin: 40px auto 0 auto !important;
    }
}

/*PAGE 2*/
/* Cor de fundo mostarda da imagem */
.bg-mostarda {
    background-color: #B57208;
    /* Ajuste de altura: de 110 para 125 para esticar um pouco mais */
    min-height: 125vh; 
    
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    
    /* Aumentei o padding de 80px para 100px para dar mais respiro no topo */
    padding-top: 100px;
    padding-bottom: 50px; /* Adicionado para garantir que o fundo não "cole" no conteúdo embaixo */
}

/* Fonte estilizada para o título */
.titulo-page2 {
    font-family: 'RuinaCustom', sans-serif;
    color: #273A27;
    /* Cor escura para o texto */
    font-size: 3.5rem;
    text-transform: uppercase;
    text-align: center;
    font-weight: bold;
}

/* =========================================================
REMOVE BARRA DO GOOGLE TRANSLATE
========================================================= */

.skiptranslate{
    display: none;
}

.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate {
    display: none !important;
}
#goog-gt-tt,
.goog-tooltip {
    display: none !important;
}
.goog-text-highlight {
    background-color: transparent !important;
    box-shadow: none !important;
}
body {
    top: 0 !important;
}

/* motor do translate fica oculto */
#google_translate_element2 {
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

/* ================================================================
SUBMENU + SUBMENU DO SUBMENU (CSS COMPLETO - COLADO/USÁVEL)
- Sub-submenu SEMPRE abre colado à direita (igual Chico)
- Com seta e ponte de hover (não perde o hover no caminho)
================================================================ */

/* ================================================================
FIX DEFINITIVO: QUANDO O 3º NÍVEL VEM COMO "submenu sub-submenu"
================================================================ */

/* 3º nível sempre escondido */
ul.sub-submenu,
ul.submenu.sub-submenu{
  display: none !important;
}

/* abre só no hover/focus do item correto */
.submenu > li.has-submenu-right:hover > ul.sub-submenu,
.submenu > li.has-submenu-right:hover > ul.submenu.sub-submenu,
.submenu > li.has-submenu-right:focus-within > ul.sub-submenu,
.submenu > li.has-submenu-right:focus-within > ul.submenu.sub-submenu{
  display: block !important;
}

/* o LI é a referência pro submenu lateral */
.submenu > li.has-submenu-right{
  position: relative;
}

/* ================================================================
POSICIONAMENTO LATERAL (COLADO - SEM GAP)
================================================================ */

ul.sub-submenu,
ul.submenu.sub-submenu{
  position: absolute;
  left: 100%;
  top: 0;

  /* mantém tua identidade */
  background-color: #273A27;
  padding: 5px 0;
  list-style: none;
  min-width: 160px;
  box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
  z-index: 9999;

  /* MUITO IMPORTANTE: SEM DISTÂNCIA */
  margin-left: 0 !important;
}

/* ================================================================
PONTE INVISÍVEL (pra não “cair” o hover ao ir pro verde)
- cria uma faixa transparente entre o vermelho e o verde
================================================================ */

.submenu > li.has-submenu-right::after{
  content: "";
  position: absolute;
  top: 0;
  right: -18px;   /* largura da ponte */
  width: 18px;
  height: 100%;
  background: transparent;
}

/* ================================================================
SETINHA NO ITEM PAI (igual Chico)
================================================================ */

.submenu > li.has-submenu-right > a{
  position: relative;
  padding-right: 34px; /* espaço pra setinha */
}

.submenu > li.has-submenu-right > a::after{
  content: "›";
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.2rem;
  line-height: 1;
  color: inherit;
  pointer-events: none;
}

/* ================================================================
LINKS DO SUB-SUBMENU (mantém branco + hover leve)
================================================================ */

ul.sub-submenu li a,
ul.submenu.sub-submenu li a{
  color: #fff !important;
  padding: 5px 15px;
  display: block;
  text-decoration: none;
  font-size: 0.9rem;
}

ul.sub-submenu li a:hover,
ul.submenu.sub-submenu li a:hover{
  background-color: rgba(255,255,255,0.1);
}

/* ================================================================
NÃO CORTAR O SUBMENU (overflow hidden mata submenu lateral)
================================================================ */

header,
.nav-menu,
.navbar,
.navbar-nav,
.submenu{
  overflow: visible !important;
}

/* ================================================================
DESATIVA "OPEN-LEFT" (isso causava o submenu ir lá pra longe)
- se existir JS adicionando open-left, não vai mais afetar
================================================================ */

.submenu > li.has-submenu-right.open-left > ul.sub-submenu,
.submenu > li.has-submenu-right.open-left > ul.submenu.sub-submenu{
  left: 100% !important;
  right: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Seção marrom: impede margem final escapando */
.secao-marrom p:last-child,
.secao-marrom ul:last-child,
.secao-marrom ol:last-child,
.secao-marrom figure:last-child {
  margin-bottom: 0 !important;
}

/* PUBLICAÇÕES */

.publications-container {
    background-image: url(../images/bg-publicacoes.svg);
    background-position: center center;
    background-color: #603126;
    background-repeat: no-repeat;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 80px 20px 120px 20px;
    position: relative;
    overflow-x: hidden;
}

.pub-main-title {
    font-family: 'RuinaCustom';
    color: #BBA476;
    font-size: 3rem;
    text-transform: uppercase;
    margin-bottom: 70px;
    z-index: 5;
    letter-spacing: 2px;
    text-align:center;
}

.central-symbol {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1400px;
    z-index: 1;
    pointer-events: none;
    filter: brightness(0) saturate(100%) invert(18%) sepia(13%) saturate(1210%) hue-rotate(65deg) brightness(95%) contrast(92%);
}

.articles-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    max-width: 1200px;
    width: 100%;
    z-index: 10;
}

.article-card {
    background-color: white;
    padding: 50px 35px;
    border-radius: 25px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    height: 100%;
    transition: transform 0.3s ease;
}

.article-title {
    font-family: 'Averia Serif Libre', serif;
    font-weight: 700;
    font-size: 1.4rem;
    color: #000;
    line-height: 1.1;
    margin-bottom: 25px;
    text-align: left;
}

.article-meta {
    font-family: 'Averia Serif Libre', serif;
    font-size: 0.95rem;
    color: #000;
    margin-bottom: 8px;
    line-height: 1.4;
}

.article-authors {
    font-family: 'Averia Serif Libre', serif;
    font-size: 0.9rem;
    color: #000;
    margin-top: 20px;
    line-height: 1.5;
    flex-grow: 1;
    word-break: break-word;
}

.article-authors strong, .article-meta strong {
    font-weight: 700;
}

.btn-access {
    background-color: #273A27;
    color: white;
    font-family: 'Averia Serif Libre', serif;
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    padding: 10px 45px;
    border-radius: 50px;
    text-align: center;
    margin-top: 35px;
    display: inline-block;
    align-self: center;
    transition: background 0.3s ease, transform 0.2s ease;
}

.btn-access:hover {
    background-color: #1a261a;
    transform: scale(1.05);
}



/* Paginação */
.pub-pagination{
    margin-top: 50px;
    z-index: 10;
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
}
.pub-pagination a,
.pub-pagination span{
    font-family: 'Averia Serif Libre', serif;
    background: rgba(255,255,255,0.18);
    color: #BBA476;
    padding: 10px 14px;
    border-radius: 10px;
    text-decoration:none;
    border: 1px solid rgba(187,164,118,0.35);
}
.pub-pagination .current{
    background: #BBA476;
    color: #603126;
    border-color: #BBA476;
}

@media (max-width: 1100px) {
    .articles-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .articles-grid { grid-template-columns: 1fr; }
    .pub-main-title { font-size: 2.5rem; }
    .central-symbol { width: 1100px; }
}

/* ================================================================
   ORI - MÍDIA - GERAL
================================================================ */

.media-container{
    background-color:#BBA476;
    background-image:url("../images/page14-img1.svg");
    background-repeat:no-repeat;
    background-position:right;
    background-size:auto;
    min-height:100vh;
    padding:40px 0 80px;
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    align-items:center;
}

.header-block{width:100%;max-width:1100px;margin-bottom:30px;z-index:3;display:flex;flex-direction:column;padding:0 20px;}

.main-title{font-family: 'RuinaCustom'; color:#273A27;font-size:3.2rem;text-transform:uppercase;margin:0;letter-spacing:4px;line-height:1.1;text-align:center;width:100%;}
.sub-title{ font-family:'Averia Sans Libre', sans-serif; font-style:italic; font-weight:300; color:#1a1a1a; font-size:2.2rem; margin-top:10px; text-align:left; }


@media (max-width: 991px) {
  .main-title {
    font-size: clamp(2.2rem, 8vw, 3.1rem);
    letter-spacing: 1px;
  }
}

/* ================================================================
   ORI - VÍDEOS
================================================================ */
.ori-videos .header-block{ width:100%; max-width:650px; text-align:center; margin-bottom:20px; z-index:3; padding:0; }
.ori-videos .sub-title{ padding-left:65px; }

.ori-videos .videos-list{
    position:relative; z-index:2;
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:0 20px;
    gap:50px;
}

.ori-videos .video-card{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    width:520px;
}

.ori-videos .thumb-box{
    position:relative;
    width:100%;
    height:353px;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 8px 20px rgba(0,0,0,.1);
    background:rgba(255,255,255,.18);
    cursor:pointer;
}

/* FIX REAL: preencher SEM barra preta (quando o JPG já vem com letterbox) */
.ori-videos .thumb-box img.thumb{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
    transform: scale(1.12);         /* <<< COME as barras pretas do próprio thumb */
}

.ori-videos .thumb-box .play-btn{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:92px;
    height:auto;
    pointer-events:none;
    filter: drop-shadow(0 10px 22px rgba(0,0,0,.22));
    z-index:10;
}

.ori-videos .thumb-box.is-playing img.thumb,
.ori-videos .thumb-box.is-playing .play-btn{ display:none; }

.ori-videos .thumb-box .embed-wrap{
    position:absolute;
    inset:0;
    display:none;
    background:#000;
    z-index:9;
}

.ori-videos .thumb-box.is-playing .embed-wrap{ display:block; }

.ori-videos .thumb-box iframe{
    width:100%;
    height:100%;
    border:0;
    display:block;
}

.ori-videos .video-caption{
    font-family:'Averia Sans Libre', sans-serif;
    font-style:italic;
    color:#273A27;
    font-size:1rem;
    margin-top:12px;
    text-align:left;
}

@media (max-width: 620px){
    .ori-videos .video-card{ width:92vw; }
    .ori-videos .thumb-box{ height:auto; aspect-ratio:16/9; }
    .ori-videos .sub-title{ padding-left:0; text-align:center; }
}

/* ================================================================
   ORI - GALERIA DE FOTOS e mais
================================================================ */
.gallery-title{font-family:'Averia Serif Libre',serif;font-weight:300;font-style:italic;font-size:32px;line-height:1.14;letter-spacing:.018em;color:#1a1a1a;text-transform:uppercase;text-align:left;margin-top:40px;margin-bottom:20px;}
.symbol-bg{position:absolute;top:40%;left:65%;transform:translate(-20%,-40%);width:780px;z-index:1;opacity:.9;pointer-events:none;}

.gallery-container{position:relative;z-index:2;width:100%;max-width:1100px;display:flex;justify-content:center;padding:0 20px;}
.gallery-grid{
    display:grid;
    gap:18px;
    width:100%;
    grid-template-columns:repeat(4,1fr);
}
@media (max-width: 1100px){ .gallery-grid{ grid-template-columns:repeat(3,1fr);} }
@media (max-width: 820px){ .gallery-grid{ grid-template-columns:repeat(2,1fr);} }
@media (max-width: 520px){ .gallery-grid{ grid-template-columns:1fr;} }

.gal-card{
    display:block;
    text-decoration:none;
    color:inherit;
}
.gal-thumb{
    width:100%;
    aspect-ratio: 16/10;
    border-radius:10px;
    overflow:hidden;
    background: rgba(255,255,255,.12);
    box-shadow:0 8px 20px rgba(0,0,0,.12);
    position:relative;
}
.gal-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.gal-meta{
    margin-top:10px;
    font-family:'Averia Sans Libre', sans-serif;
    font-style:italic;
    color:#273A27;
    font-size:1rem;
}

/* botão voltar */
.ori-backbar{
    width:100%;
    max-width:1100px;
    padding:0 20px;
    z-index:3;
    display:flex;
    align-items:center;
    margin-bottom:8px;
}
.ori-backlink{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.25);
    border:1px solid rgba(39,58,39,.25);
    text-decoration:none;
    color:#273A27;
    font-family:'Averia Sans Libre', sans-serif;
    font-style:italic;
    transition:transform .15s ease, background .15s ease;
}
.ori-backlink:hover{ background:rgba(255,255,255,.35); transform:translateX(-2px); }
.ori-backlink .chev{
    width:28px;height:28px;border-radius:999px;
    display:inline-flex;align-items:center;justify-content:center;
    background:rgba(39,58,39,.10);
    font-size:18px; line-height:1;
}

.gallery-container{position:relative;z-index:2;width:100%;max-width:1100px;display:flex;justify-content:center;padding:0 20px;}
.gallery-grid{
    display:grid;
    gap:0; /* você já tirou, mantendo aqui */
    width:100%;
    grid-template-columns:repeat(5,1fr);
}
@media (max-width: 1100px){ .gallery-grid{ grid-template-columns:repeat(4,1fr);} }
@media (max-width: 920px){ .gallery-grid{ grid-template-columns:repeat(3,1fr);} }
@media (max-width: 640px){ .gallery-grid{ grid-template-columns:repeat(2,1fr);} }
@media (max-width: 420px){ .gallery-grid{ grid-template-columns:1fr;} }

.photo-item{
    width:100%;
    aspect-ratio: 3/2;
    background-color:rgba(255,255,255,.1);
    overflow:hidden;
    cursor:pointer;
    transition:opacity .2s ease;
    box-shadow:0 8px 20px rgba(0,0,0,.10);
}
.photo-item:hover{opacity:.85;}
.photo-item img{width:100%;height:100%;object-fit:cover;display:block;}

.lightbox-modal{display:none;position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,.45);align-items:center;justify-content:center;padding:20px;}
.modal-white-frame{position:relative;background-color:#fff;padding:26px 46px;width:100%;max-width:980px;box-shadow:0 10px 40px rgba(0,0,0,.35);display:flex;flex-direction:column;align-items:center;border-radius:10px;}
.main-modal-img{width:100%;height:auto;max-height:72vh;object-fit:contain;display:block;}
.modal-caption{font-family:'Averia Serif Libre',serif;font-size:14px;color:#333;align-self:flex-start;margin-top:14px;font-style:italic;}

.nav-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#111;color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:0;font-size:18px;padding:0;transition:background .2s;}
.nav-arrow:hover{background:#333;}
.prev-arrow{left:14px;}
.next-arrow{right:14px;}
.close-modal{position:absolute;top:10px;right:14px;font-size:30px;cursor:pointer;color:#333;line-height:1;}


/* ================================================================
   ORI - PUBLICAÇÕES E MAIS
================================================================ */

.pub-container{background-color:#BBA476;min-height:100vh;padding:40px 0 80px 0;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;}
.pub-header{width:100%;max-width:960px;margin-bottom:30px;z-index:3;display:flex;flex-direction:column;}

.pub-main-title {
  font-family: 'RuinaCustom';
  color: #BBA476;
  font-size: 3rem;
  text-transform: uppercase;
  margin-bottom: 70px;
  z-index: 5;
  letter-spacing: 2px;
}
.pub-title{font-family:'Averia Serif Libre',serif;font-weight:300;font-style:italic;font-size:32px;line-height:1.14;letter-spacing:.018em;color:#1a1a1a;text-transform:uppercase;text-align:left;margin-top:40px;margin-bottom:20px;}
.pub-symbol-bg{position:absolute;top:40%;left:65%;transform:translate(-20%,-40%);width:780px;z-index:1;opacity:.9;pointer-events:none;}
.pub-list{position:relative;z-index:2;width:100%;max-width:960px;}

.pub-item{background:rgba(255,255,255,.35);border-radius:6px;padding:18px 18px;margin-bottom:14px;}
.pub-item h3{font-family:'Averia Serif Libre',serif;font-style:italic;font-weight:300;font-size:20px;margin:0 0 8px 0;color:#1a1a1a;}
.pub-meta{font-family:'Averia Sans Libre',sans-serif;font-size:14px;color:#333;margin-bottom:10px;}
.pub-link a{font-family:'Averia Sans Libre',sans-serif;font-size:14px;color:#273A27;text-decoration:underline;}
.pub-pagination{display:flex;gap:12px;justify-content:center;margin-top:25px;}
.pub-pagination a,.pub-pagination span{padding:8px 12px;background:rgba(0,0,0,.12);border-radius:6px;color:#1a1a1a;text-decoration:none;}
.pub-pagination .current{background:#273A27;color:#fff;}

/* ================================================================
   PAGINAÇÃO
================================================================ */
.ori-pagination{ width:100%; display:flex; justify-content:center; margin-top:10px; }
.ori-pagination ul{ list-style:none; display:flex; gap:10px; padding:0; margin:0; }
.ori-pagination li a,
.ori-pagination li span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:38px;
  padding:0 12px;
  border-radius:999px;
  border:2px solid rgba(39,58,39,.35);
  color:#273A27;
  text-decoration:none;
  font-family:'Averia Sans Libre', sans-serif;
}
.ori-pagination li .current{
  background:rgba(39,58,39,.12);
  border-color:rgba(39,58,39,.55);
}

/* Responsivo */
@media (max-width: 768px){
  .ori-videos .video-card{ width:min(520px, 92vw); margin-left:0 !important; }
  .ori-videos .thumb-box{ height: 52vw; max-height:353px; }
}

/* ================================================================
   ORI - TEMPLATE PESSOAS
================================================================ */

/* wrapper */
.ori-pessoas{
  min-height: 100vh;
  padding: 70px 0;
}

/* título */
.ori-pessoas__title{
  font-family: 'RuinaCustom', sans-serif;
  font-size: 4rem;
  text-transform: uppercase;
  font-weight: bold;
  margin: 0;
  line-height: 1.05;
}

.ori-pessoas__setor{
  margin-bottom: 34px;
}

.ori-pessoas__setor-title{
  font-family: 'Averia Serif Libre', serif;
  font-style: italic;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.14;
  letter-spacing: .0018em;
  color: #BBA476;
  text-transform: uppercase;
  text-decoration: underline;
  margin: 0 0 18px 0;
  display: inline-block;
}

/* card */
.ori-pessoas__card{
  background-color: #BBA476;
  border-radius: 30px;
  padding: 18px;
  height: 100%;
  display: flex;
  flex-direction: column;
  box-shadow: 0 8px 15px rgba(0,0,0,0.15);
}

/* imagem */
.ori-pessoas__imgwrap{
  overflow: hidden;
  margin-bottom: 12px;
  background-color: rgba(96,49,38,0.1);
  aspect-ratio: 262/181;
}

.ori-pessoas__img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* nome */
.ori-pessoas__name{
  font-family: 'Averia Serif Libre', serif;
  font-weight: 700;
  color: #000;
  font-size: 1.25rem;
  margin-bottom: 8px;
  line-height: 1.2;
}

/* bio */
.ori-pessoas__bio{
  font-family: 'Averia Sans Libre', sans-serif;
  font-size: 0.78rem;
  line-height: 1.3;
  color: #000;
  flex-grow: 1;
  text-align: justify;
  margin-bottom: 12px;
}

/* meta + links */
.ori-pessoas__meta{
  font-family: 'Averia Sans Libre', sans-serif;
  font-size: 0.68rem;
  color: #000;
}

.ori-pessoas__link{
  color: #000;
  text-decoration: underline;
  word-break: break-all;
}

.ori-pessoas__meta-row{
  margin-bottom: 3px;
}

.ori-pessoas__meta-row:last-child{
  margin-bottom: 0;
}

.ori-pessoas__badges{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  width: 100%;
}

.ori-pessoas__badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 32px;
  padding: 6px 16px;
  border-radius: 999px;
  background: #D9D9D9;
  color: #000;
  text-decoration: none;
}

.ori-pessoas__badge:hover,
.ori-pessoas__badge:focus{
  color: #000;
  text-decoration: none;
}

.ori-pessoas__badgeicon{
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  display: block;
  object-fit: contain;
}

.ori-pessoas__badgetext{
  font-family: 'Averia Sans Libre', sans-serif;
  font-size: 1rem;
  font-style: italic;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .02em;
  line-height: 1;
}

/* mobile: resolve o “título gigante” */
@media (max-width: 991px){
  .ori-pessoas__title{
    font-size: clamp(2.2rem, 8vw, 3.1rem);
    letter-spacing: 1px;
  }

  .ori-pessoas__setor-title{
    font-size: 20px;
  }

  .ori-pessoas__badgetext{
    font-size: .92rem;
  }
}



/* ================================================================
   MOBILE: 3º NÍVEL (SUBMENU DO SUBMENU) VISÍVEL / SEM LEFT:100%
   - Mantém desktop como está
   - No mobile o 3º nível não abre lateral, abre “embaixo”
================================================================ */

@media (max-width: 991px){

  /* 3º nível: mata o comportamento lateral */
  ul.sub-submenu,
  ul.submenu.sub-submenu{
    position: static !important;
    left: auto !important;      /* <-- o que você removeu no devtools */
    right: auto !important;
    top: auto !important;
    margin-left: 0 !important;
    transform: none !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  /* evita qualquer “ponte”/seta do desktop */
  .submenu > li.has-submenu-right::after{
    display: none !important;
  }

  /* garante que não seja cortado */
  .submenu{
    overflow: visible !important;
  }
}
