/* =====================================================
PORTAL AARCA
GLOBAL.CSS
===================================================== */

:root{

    --primary:#2E7D32;
    --primary-dark:#1B5E20;
    --secondary:#81C784;

    --text:#333333;
    --gray:#666666;
    --light:#F8FAF7;
    --white:#FFFFFF;
    --border:#E5E7EB;

    --radius:18px;
    --shadow:0 15px 40px rgba(0,0,0,.08);

}

/* RESET */

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:Arial, Helvetica, sans-serif;
    color:var(--text);
    background:#fff;
    line-height:1.7;

}

img{

    max-width:100%;
    display:block;

}

a{

    text-decoration:none;

}

ul{

    list-style:none;

}

/* CONTAINER */

.container{

    width:92%;
    max-width:1200px;
    margin:auto;

}

/* TÍTULOS */

section{

    padding:90px 0;

}

.section-title{

    text-align:center;
    max-width:820px;
    margin:0 auto 60px;

}

.section-title span{

    color:var(--primary);
    text-transform:uppercase;
    font-weight:700;
    letter-spacing:2px;

}

.section-title h2{

    font-size:42px;
    margin:15px 0;

}

.section-title p{

    color:var(--gray);
    font-size:18px;

}

/* BOTÕES */

.btn{

    display:inline-block;
    padding:16px 34px;
    border-radius:50px;
    background:var(--primary);
    color:#fff;
    font-weight:bold;
    transition:.30s;

}

.btn:hover{

    background:var(--primary-dark);

}

.btn-outline{

    display:inline-block;
    padding:16px 34px;
    border-radius:50px;
    border:2px solid var(--primary);
    color:var(--primary);
    font-weight:bold;
    transition:.30s;

}

.btn-outline:hover{

    background:var(--primary);
    color:white;

}
/* =====================================================
HEADER
===================================================== */

.site-header{

    position:fixed;
    top:0;
    left:0;
    width:100%;
    background:#ffffff;
    box-shadow:0 2px 12px rgba(0,0,0,.08);
    z-index:999;

}

.header-container{

    display:flex;
    justify-content:space-between;
    align-items:center;
    min-height:90px;

}

.logo-area img{

    width:170px;
    height:auto;

}

.main-navigation ul{

    display:flex;
    gap:35px;
    align-items:center;

}

.main-navigation a{

    color:var(--text);
    font-weight:600;
    transition:.3s;

}

.main-navigation a:hover{

    color:var(--primary);

}

.mobile-menu{

    display:none;

}


/* =====================================================
HERO
===================================================== */

.hero{

    padding:170px 0 100px;
    background:linear-gradient(#f7faf7,#ffffff);

}

.hero .container{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;

}

.hero-badge{

    display:inline-block;
    background:#E8F5E9;
    color:var(--primary);
    padding:10px 20px;
    border-radius:40px;
    font-weight:700;
    margin-bottom:25px;

}

.hero h1{

    font-size:60px;
    line-height:1.15;
    margin-bottom:25px;

}

.hero p{

    color:var(--gray);
    font-size:19px;
    margin-bottom:35px;

}

.hero-buttons{

    display:flex;
    gap:20px;
    flex-wrap:wrap;

}

.hero-image img{

    width:100%;
    border-radius:22px;
    box-shadow:var(--shadow);

}


/* =====================================================
ABOUT
===================================================== */

.about{

    background:#F8FAF7;

}

.about-grid{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;

}

.about-image img{

    width:100%;
    border-radius:20px;
    box-shadow:var(--shadow);

}

.about-text p{

    margin-bottom:22px;
    color:var(--gray);

}

.about-box{

    display:flex;
    flex-direction:column;
    gap:25px;
    margin-top:35px;

}

.info-card{

    background:#fff;
    padding:30px;
    border-radius:18px;
    box-shadow:var(--shadow);

}

.info-card h3{

    color:var(--primary);
    margin-bottom:12px;

}
/* =====================================================
PROJETOS
===================================================== */

.projects{

    background:#ffffff;

}

.projects-grid{

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;

}

.project-card{

    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:.3s;

}

.project-card:hover{

    transform:translateY(-8px);

}

.project-card img{

    width:100%;
    height:230px;
    object-fit:cover;

}

.project-card h3{

    color:var(--primary);
    padding:20px 25px 10px;

}

.project-card p{

    padding:0 25px 25px;
    color:var(--gray);

}

/* =====================================================
PRODUTOS
===================================================== */

.products{

    background:var(--light);

}

.products-grid{

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;

}

.product-card{

    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:.3s;

}

.product-card:hover{

    transform:translateY(-8px);

}

.product-card img{

    width:100%;
    height:220px;
    object-fit:cover;

}

.product-card h3{

    padding:20px 25px 10px;
    color:var(--primary);

}

.product-card p{

    padding:0 25px 25px;
    color:var(--gray);

}

/* =====================================================
PARCEIROS
===================================================== */

.partners{

    background:#ffffff;

}

.partners-grid{

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;

}

.partner-card{

    background:#fff;
    border:1px solid var(--border);
    border-radius:18px;
    padding:35px 20px;
    text-align:center;
    transition:.3s;
    box-shadow:0 8px 20px rgba(0,0,0,.04);

}

.partner-card:hover{

    transform:translateY(-6px);
    box-shadow:var(--shadow);

}

.partner-card img{

    width:140px;
    height:90px;
    object-fit:contain;
    margin:0 auto 20px;

}

.partner-card h3{

    color:var(--primary);
    margin-bottom:12px;

}

.partner-card p{

    color:var(--gray);

}
/* =====================================================
NOTÍCIAS
===================================================== */

.news{

    background:var(--light);

}

.news-grid{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;

}

.news-card{

    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:.3s;

}

.news-card:hover{

    transform:translateY(-8px);

}

.news-card img{

    width:100%;
    height:220px;
    object-fit:cover;

}

.news-content{

    padding:25px;

}

.news-date{

    color:var(--primary);
    font-weight:700;
    font-size:14px;
    display:block;
    margin-bottom:10px;

}

.news-content h3{

    margin-bottom:15px;

}

.news-content p{

    color:var(--gray);
    margin-bottom:20px;

}

/* =====================================================
CONTATO
===================================================== */

.contact{

    background:var(--light);

}

.contact-grid{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;

}

.contact-card{

    background:#fff;
    padding:35px;
    border-radius:20px;
    text-align:center;
    box-shadow:var(--shadow);

}

.contact-card h3{

    color:var(--primary);
    margin-bottom:15px;

}

.contact-card p{

    color:var(--gray);

}

/* =====================================================
FOOTER
===================================================== */

.site-footer{

    background:#1B4332;
    color:#fff;
    padding:70px 0 0;

}

.footer-container{

    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:40px;

}

.site-footer h3{

    margin-bottom:20px;
    color:#fff;

}

.site-footer p{

    color:#E5E7EB;

}

.footer-links ul{

    padding:0;

}

.footer-links li{

    margin-bottom:12px;

}

.footer-links a{

    color:#E5E7EB;

}

.footer-links a:hover{

    color:#81C784;

}

.footer-bottom{

    margin-top:50px;
    padding:25px 0;
    border-top:1px solid rgba(255,255,255,.15);
    text-align:center;

}

/* =====================================================
RESPONSIVO
===================================================== */

@media (max-width:992px){

    .hero .container,
    .about-grid,
    .footer-container{

        grid-template-columns:1fr;

    }

    .projects-grid,
    .products-grid,
    .partners-grid,
    .news-grid,
    .contact-grid{

        grid-template-columns:repeat(2,1fr);

    }

    .hero{

        padding-top:140px;

    }

}

@media (max-width:768px){

    .main-navigation{

        display:none;

    }

    .mobile-menu{

        display:block;

    }

    .hero h1{

        font-size:42px;

    }

    .projects-grid,
    .products-grid,
    .partners-grid,
    .news-grid,
    .contact-grid{

        grid-template-columns:1fr;

    }

    .hero-buttons{

        flex-direction:column;

    }

    .section-title h2{

        font-size:32px;

    }

}
/* ==========================================
   CARDS PREMIUM
========================================== */

.project-card,
.product-card,
.partner-card,
.news-card{

    background:#ffffff;

    border-radius:20px;

    overflow:hidden;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    transition:.35s;

}

.project-card:hover,
.product-card:hover,
.partner-card:hover,
.news-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 60px rgba(0,0,0,.15);

}

.project-card img,
.product-card img,
.news-card img{

    width:100%;

    height:240px;

    object-fit:cover;

}

.partner-card img{

    width:150px;

    height:90px;

    object-fit:contain;

    display:block;

    margin:25px auto;

}

.project-card h3,
.product-card h3,
.partner-card h3,
.news-card h3{

    color:#2E7D32;

    font-size:24px;

    margin:20px;

}

.project-card p,
.product-card p,
.partner-card p,
.news-card p{

    color:#666;

    line-height:1.8;

    margin:0 20px 25px;

}.section-button{

    text-align:center;
    margin-top:50px;

}

.section-button .btn{

    display:inline-block;
    padding:16px 40px;
    background:var(--primary);
    color:#fff;
    border-radius:10px;
    text-decoration:none;
    transition:.3s;

}

.section-button .btn:hover{

    transform:translateY(-4px);

}
/* ==========================
   Cards Premium
========================== */

.product-card,
.project-card,
.news-card,
.partner-card{

    background:#fff;

    border-radius:16px;

    overflow:hidden;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

    transition:.35s;

    display:flex;

    flex-direction:column;

}

.product-card:hover,
.project-card:hover,
.news-card:hover,
.partner-card:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 40px rgba(0,0,0,.12);

}

.product-card img,
.project-card img,
.news-card img,
.partner-card img{

    width:100%;

    height:220px;

    object-fit:cover;

}

.product-card h3,
.project-card h3,
.news-card h3,
.partner-card h3{

    margin:20px;

}

.product-card p,
.project-card p,
.news-card p,
.partner-card p{

    margin:0 20px 20px;

    flex:1;

}

.product-card .btn,
.project-card .btn,
.news-card .btn,
.partner-card .btn{

    margin:20px;

}
/* HERO COMPONENT */

.page-hero{

padding:100px 0;

background:linear-gradient(135deg,#2E7D32,#4CAF50);

color:#fff;

text-align:center;

}

.page-hero h1{

font-size:52px;

margin:20px 0;

font-weight:800;

}

.page-hero h2{

font-size:28px;

margin-bottom:20px;

opacity:.95;

}

.page-hero p{

max-width:800px;

margin:auto;

font-size:18px;

line-height:1.8;

opacity:.95;

}
/* BUTTON COMPONENT */

.btn{

display:inline-flex;

align-items:center;

justify-content:center;

padding:14px 30px;

border-radius:50px;

font-weight:700;

transition:.3s;

text-decoration:none;

cursor:pointer;

}

.btn-primary{

background:var(--primary);

color:#fff;

}

.btn-primary:hover{

transform:translateY(-3px);

background:#256c2a;

}

.btn-outline{

border:2px solid var(--primary);

color:var(--primary);

background:#fff;

}

.btn-outline:hover{

background:var(--primary);

color:#fff;

}

.btn-light{

background:#fff;

color:var(--primary);

}

.btn-light:hover{

background:#f1f1f1;

}
/* ===========================
   BADGE COMPONENT
=========================== */

.badge{

display:inline-flex;

align-items:center;

justify-content:center;

padding:8px 18px;

border-radius:50px;

font-size:13px;

font-weight:700;

letter-spacing:.5px;

text-transform:uppercase;

background:var(--secondary);

color:#fff;

margin-bottom:20px;

}

.badge-outline{

background:#fff;

border:2px solid var(--secondary);

color:var(--secondary);

}

.badge-dark{

background:#222;

color:#fff;

}

.badge-light{

background:#F4F4F4;

color:#555;

}
/* ===========================
SECTION TITLE
=========================== */

.section-title{

max-width:800px;

margin:0 auto 60px;

}

.section-title h2{

font-size:42px;

font-weight:800;

margin-bottom:15px;

color:var(--dark);

}

.section-title p{

font-size:18px;

line-height:1.8;

color:#666;

}

.text-center{

text-align:center;

}

.text-left{

text-align:left;

}

.text-right{

text-align:right;

}
/* ===========================
META COMPONENT
=========================== */

.meta-component{

display:flex;

flex-wrap:wrap;

gap:20px;

align-items:center;

margin:20px 0;

font-size:15px;

color:#777;

}

.meta-component span{

display:flex;

align-items:center;

gap:6px;

}
/* ===========================
PAGINATION COMPONENT
=========================== */

.pagination{

margin-top:60px;

display:flex;

justify-content:center;

}

.pagination .page-numbers{

display:inline-flex;

align-items:center;

justify-content:center;

width:42px;

height:42px;

margin:0 5px;

border-radius:50%;

background:#F5F5F5;

color:#444;

font-weight:700;

transition:.3s;

}

.pagination .current{

background:var(--primary);

color:#fff;

}

.pagination a:hover{

background:var(--secondary);

color:#fff;

}
/* ===========================
EMPTY STATE
=========================== */

.empty-state{

padding:80px 30px;

text-align:center;

background:#F8F8F8;

border-radius:20px;

}

.empty-icon{

font-size:70px;

margin-bottom:20px;

}

.empty-state h3{

font-size:30px;

margin-bottom:15px;

color:var(--dark);

}

.empty-state p{

font-size:17px;

color:#666;

max-width:600px;

margin:auto;

}
/* ===========================
CTA COMPONENT
=========================== */

.cta-section{

padding:90px 0;

}

.cta-box{

background:linear-gradient(135deg,var(--primary),var(--secondary));

color:#fff;

padding:60px;

border-radius:24px;

text-align:center;

}

.cta-box h2{

font-size:38px;

margin-bottom:20px;

}

.cta-box p{

font-size:18px;

max-width:700px;

margin:0 auto 30px;

line-height:1.8;

}
/* ==========================================================================
   PROJETOS - PADRONIZAÇÃO DOS CARDS
   ========================================================================== */

.projects-grid {
    align-items: stretch;
}

.project-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Mantém todas as imagens com o mesmo tamanho */

.project-card img {
    width: 100%;
    height: 220px;
    object-fit: cover;
}

/* O texto ocupa o espaço disponível */

.project-card p {
    flex-grow: 1;
}

/* Mantém o botão na parte inferior do card */

.project-card .btn {
    margin-top: auto;
    align-self: flex-start;
}
/* ==========================================================================
   PROJETOS - ALINHAMENTO FINAL DOS CARDS
   ========================================================================== */

.projects-grid {
    display: grid;
    align-items: stretch;
}

.projects-grid .project-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.projects-grid .project-card h3 {
    margin-bottom: 12px;
}

.projects-grid .project-card p {
    flex: 1;
}

.projects-grid .project-card .btn {
    margin-top: auto;
}
/* ==========================================================================
   PROJETOS - ALINHAMENTO DOS BOTÕES
   ========================================================================== */

.projects-grid {
    align-items: stretch;
}

.projects-grid .project-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.projects-grid .project-image {
    display: block;
}

.projects-grid .project-image img {
    width: 100%;
    height: 220px;
    object-fit: cover;
}

.projects-grid .project-content {
    display: flex;
    flex-direction: column;
    flex: 1;

    padding: 25px;
}

.projects-grid .project-content h3 {
    margin: 0 0 15px;
}

.projects-grid .project-content p {
    flex: 1;
    margin: 0 0 25px;
}

.projects-grid .project-content .btn {
    margin-top: auto;
    align-self: flex-start;
}
/* ==========================================================================
   ARCHIVE PROJETOS - AJUSTES
   ========================================================================== */

/* Reduz o espaço entre o hero e os cards */

.projects-archive .inner-hero {
    padding-bottom: 45px;
}

.projects-archive .projects-page {
    padding-top: 40px;
}


/* Mantém os cards com a mesma altura */

.projects-archive .projects-grid {
    align-items: stretch;
}

.projects-archive .project-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}


/* Imagem padronizada */

.projects-archive .project-image {
    display: block;
}

.projects-archive .project-image img {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
}


/* Conteúdo interno */

.projects-archive .project-content {
    display: flex;
    flex-direction: column;
    flex: 1;

    padding: 25px;
}

.projects-archive .project-content h3 {
    margin: 0 0 15px;
}

.projects-archive .project-content p {
    flex: 1;
    margin: 0 0 25px;
}


/* Botão alinhado na parte inferior */

.projects-archive .project-content .btn {
    margin-top: auto;
    align-self: flex-start;
}


/* Paginação */

.projects-pagination {
    margin-top: 45px;
    text-align: center;
}
/* ==========================================================================
   BOTÃO FLUTUANTE - SORTEIOS AARCA
   ========================================================================== */

.sorteios-floating-button {
    position: fixed;
    right: 24px;
    bottom: 24px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    padding: 12px 18px;

    background: #2e7d32;
    color: #ffffff;

    bord