/* ======================================================
   Fonte, cores e estilos globais
====================================================== */

:root {
    --cor-primaria: #593D2B;
    --cor-secundaria: #C79248;
    --cor-clara: #faf7f2;
    --cor-texto: #363636;
    --cor-branco: #ffffff;

    --marrom-claro: #e8dfd2;
    --marrom-bem-claro: #fdf5e7;
    --marrom-medio: #c9b8a3;
    --marrom-escuro: #593D2B;
    --marrom-texto: #4a3b2a;
    --bege-fundo: #f6f3ee;
}

body {
    font-family: "Poppins", sans-serif;
    background: #ffffff;
    color: var(--cor-texto);
    margin: 0;
    padding: 0;
}

/* ======================================================
   SEÇÕES E TEXTOS
====================================================== */

section {
    padding-top: 50px;
    padding-bottom: 50px;
}

.titulo-2 {
    font-size: 2.2rem;
    color: var(--cor-primaria);
    font-weight: 700;
}

p {
    color: var(--cor-texto);
    font-size: 1.05rem;
}
.texto-marrom-bem-claro {
    color: var(--marrom-bem-claro);
}
.text-justify{
    text-align: justify;
}
.texto-marrom-claro {
    color: #e9cdb3;
}
.texto-marrom-medio {
    color: #f7dcb8;
}

.titulo-secao {
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--cor-primaria);
}

.subtitulo-secao {
    font-size: 1rem;
    color: #7a6f63;
}

.subtitulo-secao-2 {
    font-size: 1rem;
    color: #644520;
}

/* ======================================================
   BOTÕES
====================================================== */

.btn-primario,
.btn-secundario,.btn-terciario{
    display: inline-block;
    padding: 10px 26px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    transition: 0.25s ease;
}
.btn-quaternario {
    display: inline-block;
    padding: 0.6rem 1.4rem;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease;
}

.btn-primario {
    background: var(--cor-secundaria);
    color: white;
    border: none;
}

.btn-primario:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.20);
}

.btn-secundario {
    background: var(--cor-primaria);
    color: white;
}

.btn-secundario:hover {
    background: #6f4d37;
}

.btn-terciario {
    background: var(--marrom-claro);
    color: black;
}

.btn-terciario:hover {
    background: var(--marrom-medio);
}

.btn-quaternario {
    background-color: var(--marrom-claro);
    color: #363636;
}

.btn-quaternario:hover {
    background-color: var(--marrom-medio);
    transform: scale(1.05);
}


/* ======================================================
   CARDS GERAIS
====================================================== */

.card-custom {
    background: var(--cor-branco);
    padding: 25px;
    border-radius: 12px;
    transition: 0.3s ease;
    border: 1px solid #e8e4df;
}

.card-custom:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 26px rgba(0,0,0,0.15);
}


/* ======================================================
   ANIMAÇÕES GERAIS
====================================================== */

.fade-up {
    opacity: 0;
    transform: translateY(25px);
    animation: fadeUp 0.9s ease-out forwards;
}

@keyframes fadeIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Zoom de imagens */
.scale-hover {
    transition: transform 0.3s ease;
}

.scale-hover:hover {
    transform: scale(1.04);
}


/* ======================================================
   NAVBAR
====================================================== */

.navbar {
    padding: 15px 0;
}

.navbar-brand {
    font-size: 1.5rem;
}

/* Links do menu */
.nav-link {
    font-size: 1rem;
    transition: 0.2s;
}

.nav-link:hover {
    color: var(--cor-secundaria) !important;
}


/* ===============================
   BANNER CURTO
================================ */
.banner-curto {
    background: url('../img/site/campus_cpan.jpg') center / cover no-repeat;
    height: 32vh;
    min-height: 220px;
    display: flex;
    align-items: center;
    position: relative;
}

/* Overlay escuro */
.banner-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
}

/* Conteúdo */
.banner-conteudo {
    position: relative;
    z-index: 2;
}

/* Título principal */
.titulo-principal-banner {
    font-size: 2.6rem;
    font-weight: 700;
    color: white;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7);
}

/* Subtítulo */
.subtitulo-banner {
    font-size: 1.9rem;
    font-weight: 400;
    margin-bottom: 20px;
    color: #f6efe3;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7);
}

/* ===============================
   RESPONSIVO BANNER
================================ */
@media (max-width: 768px) {
    .banner-curto {
        height: auto;
        padding: 60px 0;
    }

    .subtitulo-banner {
        font-size: 1.1rem;
    }
}


/* ======================================================
   Tatu (Home somente)
====================================================== */

.tatu-animado img {
    transition: transform 0.25s ease;
    width: 300px;
    height: auto;
}

.tatu-animado img:hover {
    transform: scale(1.05);
}



/* ================= EVENTO ================= */
/* Outro banner para Futuras mudancas */
.evento-banner {
    background: url('../img/eventos/banner.png') center/cover no-repeat;
    height: 45vh;
    min-height: 220px;
    display: flex;
    align-items: center;
    position: relative;
}

.evento-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
}

.evento-banner-content {
    position: relative;
    color: #fff;
}

.titulo-principal-evento-banner {
    font-size: 1.80rem;
    font-weight: 700;
    color: white;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7);
}

.subtitulo-banner {
    font-weight: 400;
    color: #f6efe3;
    margin-top: 10px;
}

.evento-data {
    font-size: 1.2rem;
    margin-top: 20px;
    font-weight: 500;
}

.evento-local {
    font-size: 1rem;
    opacity: 0.9;
}


/* ================= PANFLETO EVENTO================= */
.panfleto-container {
    display: flex;
    justify-content: center;
}

.panfleto-card {
    background: #fff;
    border-radius: 16px;
    padding: 15px;
    max-width: 400px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    text-align: center;
    transition: 0.3s;
}

.panfleto-card:hover {
    transform: translateY(-5px);
}

.panfleto-card img {
    width: 100%;
    border-radius: 12px;
}

.panfleto-botoes {
    margin-top: 15px;
    display: flex;
    justify-content: center;
    gap: 10px;
}


/* =========================================
   PROGRAMAÇÃO EVENTO
========================================= */

.programacao-section{
    padding:80px 0;
}

/* GRID */

.programacao-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:30px;
}

/* CARD */

.dia-card{
    background:#f6efe3;
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,0.08);
    border:1px solid rgba(110,78,55,0.10);
    transition:0.3s;
}

.dia-card:hover{
    transform:translateY(-6px);
    box-shadow:0 16px 35px rgba(0,0,0,0.12);
}

/* TOPO */

.dia-topo{
    background:linear-gradient(
        135deg,
        #6e4e37,
        #8c674c
    );

    color:white;

    display:flex;
    align-items:center;
    gap:18px;

    padding:24px;
}

.dia-numero{
    width:70px;
    height:70px;

    background:#f3dfc5;
    color:#6e4e37;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:2rem;
    font-weight:700;
}

.dia-topo h3{
    margin:0;
    font-size:1.5rem;
    font-weight:700;
}

.dia-topo p{
    margin:4px 0 0;
    color:#f1e2d2;
}

/* TIMELINE */

.timeline{
    padding:28px;
}

/* ITEM */

.timeline-item{
    display:flex;
    gap:18px;

    position:relative;

    padding-bottom:28px;
}

.timeline-item:last-child{
    padding-bottom:0;
}

/* LINHA */

.timeline-item::before{
    content:"";

    position:absolute;

    left:52px;
    top:40px;

    width:2px;
    height:calc(100% - 10px);

    background:#d6b99a;
}

.timeline-item:last-child::before{
    display:none;
}

/* HORA */

.hora{
    min-width:86px;

    background:#e8d5bc;
    color:#6e4e37;

    padding:10px 12px;

    border-radius:14px;

    text-align:center;

    font-weight:700;
    font-size:0.9rem;

    height:fit-content;

    position:relative;
    z-index:2;
}

/* CONTEÚDO */

.conteudo{
    flex:1;

    background:white;

    padding:18px;

    border-radius:18px;

    box-shadow:0 4px 12px rgba(0,0,0,0.05);
}

.conteudo h5{
    margin-bottom:10px;
    color:#5a3f2b;
    font-weight:700;
}

.conteudo p{
    margin-bottom:10px;
    color:#5f5f5f;
    line-height:1.6;
}

.conteudo ul{
    padding-left:18px;
    margin-top:10px;
}

.conteudo li{
    margin-bottom:8px;
    color:#5f5f5f;
    line-height:1.5;
}

/* TAG FÓRUM */

.tag-forum{
    display:inline-block;

    margin-top:12px;

    background:#efe1cf;
    color:#6e4e37;

    padding:8px 14px;

    border-radius:999px;

    font-size:0.85rem;
    font-weight:600;
}

/* COFFEE */

.coffee{
    margin-top:14px;

    background:#fff6ea;

    padding:10px 14px;

    border-radius:12px;

    color:#8b5e3c;
    font-weight:600;
}

/* INTERVALO */

.intervalo .conteudo{
    background:#f3eee7;
    text-align:center;
}

/* DESTAQUE */

.destaque .conteudo{
    border-left:5px solid #b5835a;
    background:#fff8ef;
}

/* RESPONSIVO */

@media(max-width:768px){

    .timeline-item{
        flex-direction:column;
    }

    .timeline-item::before{
        display:none;
    }

    .hora{
        width:fit-content;
    }

    .timeline{
        padding:20px;
    }

    .dia-topo{
        padding:20px;
    }

    .dia-numero{
        width:60px;
        height:60px;
        font-size:1.6rem;
    }
}


/* ================= LOGOS ================= */
.logos-evento {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 25px;
}

.logos-evento img {
    height: 60px;
    opacity: 0.85;
    transition: 0.3s;
}

.logos-evento img:hover {
    opacity: 1;
    transform: scale(1.05);
}


/* ================= CTA FINAL ================= */
.evento-cta {
    background: #faf7f2;
    padding: 40px 20px;
    margin-top: 60px;
}

.botoes-evento {
    margin-top: 20px;
    display: flex;
    justify-content: center;
    gap: 10px;
}

/* ================= CTA COM TATU ================= */
.cta-flex {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    margin-top: 10px;
    flex-wrap: wrap;
}

.cta-tatu img {
    width: 240px;
    max-width: 100%;
}

.cta-botoes {
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: flex-start;
}

/* ================= MOBILE ================= */
@media (max-width: 768px) {

    .cta-flex {
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 15px;
        flex-wrap: nowrap;
    }

    .cta-tatu img {
        width: 120px;
    }

    .cta-botoes {
        display: flex;
        flex-direction: column;
        gap: 10px;
        align-items: flex-start;
    }

    .cta-botoes a {
        font-size: 0.85rem;
        padding: 10px 12px;
        width: 220px;
    }
}

/* ================= RESPONSIVO EVENTO  ================= */
@media (max-width: 768px) {

    .evento-banner {
        height: 55vh;
        text-align: center;
    }

    .evento-banner-content {
        text-align: center;
    }

    .panfleto-card {
        max-width: 90%;
    }

    .logos-evento img {
        height: 45px;
    }
}

/* =========================================
   FORMULÁRIOS EXTRAS
========================================= */

.formularios-extra{
    margin-top:80px;
}

.formulario-bloco{

    background:#f6efe3;

    border-radius:28px;

    padding:40px;

    display:grid;

    grid-template-columns:repeat(auto-fit, minmax(240px,1fr));

    gap:24px;

    box-shadow:0 12px 35px rgba(0,0,0,0.08);

    border:1px solid rgba(89,61,43,0.08);
}

.formulario-item{

    background:white;

    border-radius:22px;

    padding:25px;

    text-decoration:none;

    transition:0.3s ease;

    border:1px solid rgba(89,61,43,0.08);

    color:#3e2a1f;

    display:flex;

    flex-direction:column;

    justify-content:space-between;

    min-height:220px;
}

.formulario-item:hover{

    transform:translateY(-6px);

    box-shadow:0 12px 25px rgba(0,0,0,0.08);

    color:#3e2a1f;
}

.formulario-tag{

    display:inline-block;

    width:max-content;

    background:#593D2B;

    color:#f6efe3;

    padding:6px 14px;

    border-radius:30px;

    font-size:0.8rem;

    font-weight:600;

    margin-bottom:18px;
}

.formulario-item h4{

    font-size:1.2rem;

    font-weight:700;

    margin-bottom:12px;

    color:#593D2B;
}

.formulario-item p{

    margin:0;

    line-height:1.6;

    color:#5f5147;
}

/* MOBILE */

@media(max-width:768px){

    .formularios-extra{
        margin-top:60px;
    }

    .formulario-bloco{
        padding:22px;
    }

    .formulario-item{
        min-height:auto;
    }

}

/* ======================================================
   VISITA – layout específico
====================================================== */

.visita-container {
    padding-top: 40px;
    padding-bottom: 40px;
}

/* Cards da página Visite */
.cards-visita .card-visita {
    background: var(--cor-clara);
    padding: 22px;
    border-radius: 12px;
    text-align: center;
    transition: 0.3s ease;
}

.cards-visita .card-visita:hover {
    background: var(--marrom-medio);
    color: rgb(67, 54, 54);
    transform: translateY(-6px);
    box-shadow: 0 14px 28px rgba(0,0,0,0.2);
}

.cards-visita h3 {
    font-weight: 600;
    margin-bottom: 10px;
}


/* ======================================================
   PROJETOS DE EXTENSÃO – PÁGINA
====================================================== */

/* Cards da página Projetos */
.card-custom-projeto {
    background-color: var(--bege-fundo);
    border-radius: 12px;
    padding: 1.8rem;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
    border-left: 6px solid var(--marrom-medio);
    transition: all 0.3s ease;
}

.card-custom-projeto h3 {
    color: var(--marrom-texto);
    font-size: 1.3rem;
}

.card-custom-projeto p {
    color: #555;
    line-height: 1.6;
    margin-bottom: 0.8rem;
}

.card-custom-projeto:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
    border-left-color: var(--marrom-texto);
}


/* ======================================================
   RODAPÉ
====================================================== */

.footer-lapan {
    background-color: #593D2B; /* mesma cor do menu */
    color: #ffffff;           /* texto branco puro */
    margin-top: 40px;
    padding-top: 35px;
    padding-bottom: 20px;
}

.footer-title {
    color: #ffffff;
    font-weight: 700;
    font-size: 1.45rem;
    margin-bottom: 5px;
}

.footer-sub {
    color: #ffffff ;
    font-size: 0.95rem;
    opacity: 0.85;
}

.footer-link {
    margin: 0 12px;
    color: #ffffff;
    text-decoration: none;
    font-weight: 500;
    transition: 0.3s;
}

.footer-link:hover {
    color: #c79248; 
}

.footer-contact {
    margin: 3px 0;
    font-size: 0.95rem;
    color: #ffffff;
}

.footer-contact i {
    margin-right: 8px;
    color: #ffffff; /* ícones brancos */
}

.footer-divider {
    border-color: rgba(255, 255, 255, 0.25);
    margin-top: 25px;
}

.footer-copy {
    margin-top: 18px;
    opacity: 0.75;
    font-size: 0.9rem;
    color: #fff;
}

/* logos (opcioanl kk) */
.footer-logo {
    height: 45px;
    margin-right: 12px;
    margin-top: 10px;
    filter: brightness(1.1);
}

/* animação */
.footer-lapan {
    animation: fadeIn 0.8s ease-out;
}

/* ======================================================
   ACERVO - ITENS EM EXPOSIÇÃO
====================================================== */

.acervo-section {
    padding-top: 60px;
    padding-bottom: 60px;
}


/* Container individual do item */
.acervo-item {
    text-align: center;
}

/* Título fora da imagem */
.acervo-titulo {
    font-weight: 600;
    margin-bottom: 12px;
    color: var(--cor-primaria);
    transition: 0.3s ease;
}

.acervo-item:hover .acervo-titulo {
    color: var(--cor-texto);
}

/* Card */
.acervo-card {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(0,0,0,0.12);
    transition: 0.3s ease;
    background: #f4efe6;
}

.acervo-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 14px 30px rgba(0,0,0,0.18);
}

/* Imagem */
.acervo-card img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.acervo-card:hover img {
    transform: scale(1.05);
}

/* Overlay */
.acervo-overlay {
    position: absolute;
    inset: 0;
    background: rgba(89, 61, 43, 0.92); /* marrom principal com leve transparência */
    color: white;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    opacity: 0;
    transition: opacity 0.35s ease;
    overflow-y: auto;
}

/* Texto do overlay */
.acervo-overlay p {
    font-size: 0.95rem;
    margin: 0;
    color: white;
}

/* Mostrar overlay ao passar mouse */
.acervo-card:hover .acervo-overlay {
    opacity: 1;
}

/* Scroll discreto se texto for grande */
.acervo-overlay::-webkit-scrollbar {
    width: 6px;
}


/* Responsivo */
@media (max-width: 768px) {

    .acervo-card img {
        height: 220px;
    }

    .acervo-overlay p {
        font-size: 0.9rem;
    }

}