/* RESET */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:Arial, Helvetica, sans-serif;
background:#f7f7f7;
color:#222;
line-height:1.6;
}

/* CONTAINER */

.campanha-container{
max-width:1200px;
margin:auto;
padding:30px 20px;
}

/* HEADER */

.campanha-header h1{
font-size:32px;
margin-bottom:25px;
}

/* GRID CAMPANHA */

.campanha-grid{
display:grid;
grid-template-columns:2fr 1fr;
gap:40px;
align-items:start;
}

/* IMAGEM */

.campanha-img{
width:100%;
border-radius:10px;
margin-bottom:20px;
display:block;
}

/* DESCRIÇÃO */

.campanha-descricao{
background:#fff;
padding:25px;
border-radius:10px;
box-shadow:0 4px 15px rgba(0,0,0,0.08);
}

/* CARD DOAÇÃO */

.card-doacao{
position:sticky;
top:20px;
background:#fff;
padding:25px;
border-radius:10px;
box-shadow:0 4px 20px rgba(0,0,0,0.08);
}

/* VALORES */

.stats-doacao{
font-size:22px;
margin-bottom:10px;
}

.valor-arrecadado{
font-weight:bold;
color:#16a34a;
}

.meta-total{
display:block;
color:#666;
font-size:14px;
margin-top:4px;
}

/* BARRA PROGRESSO */

.barra{
width:100%;
height:10px;
background:#eee;
border-radius:20px;
overflow:hidden;
margin:12px 0;
}

.progresso{
height:100%;
background:#16a34a;
transition:width .6s ease;
}

.porcentagem-texto{
font-size:13px;
color:#555;
}

/* FORM DOAÇÃO */

.form-doacao input{
width:100%;
padding:12px;
margin-bottom:12px;
border:1px solid #ddd;
border-radius:6px;
font-size:15px;
}

.form-doacao input:focus{
outline:none;
border-color:#16a34a;
}

/* BOTÃO DOAR */

.btn-doar{
width:100%;
background:#16a34a;
color:#fff;
border:none;
padding:14px;
font-size:16px;
border-radius:6px;
cursor:pointer;
transition:.3s;
}

.btn-doar:hover{
background:#15803d;
transform:translateY(-1px);
}

/* SHARE */

.share-buttons{
margin-top:20px;
}

.btn-share{
display:inline-block;
padding:8px 12px;
border-radius:6px;
margin-right:6px;
font-size:14px;
color:#fff;
text-decoration:none;
}

.btn-share.fb{
background:#1877f2;
}

.btn-share.wa{
background:#25d366;
}

/* HERO HOME */

.hero-home{
background:linear-gradient(135deg,#16a34a,#22c55e);
color:white;
padding:80px 20px;
text-align:center;
}

.hero-content{
max-width:800px;
margin:auto;
}

.hero-home h1{
font-size:40px;
margin-bottom:15px;
}

.hero-home p{
font-size:18px;
margin-bottom:30px;
}

/* BOTÃO CRIAR */

.btn-criar{
background:white;
color:#16a34a;
padding:14px 30px;
border-radius:8px;
font-weight:bold;
text-decoration:none;
display:inline-block;
transition:.3s;
}

.btn-criar:hover{
transform:translateY(-2px);
}

/* LISTA CAMPANHAS */

.campanhas-section{
max-width:1200px;
margin:auto;
padding:40px 20px;
}

.campanhas-section h2{
font-size:28px;
margin-bottom:10px;
}

.subtitulo{
color:#666;
margin-bottom:30px;
}

/* GRID CAMPANHAS */

.grid-campanhas{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:25px;
}

/* CARD CAMPANHA */

.card-campanha{
background:#fff;
border-radius:10px;
overflow:hidden;
box-shadow:0 5px 20px rgba(0,0,0,0.08);
transition:.3s;
}

.card-campanha:hover{
transform:translateY(-6px);
box-shadow:0 8px 25px rgba(0,0,0,0.12);
}

.card-campanha img{
width:100%;
height:200px;
object-fit:cover;
}

/* CARD CONTENT */

.card-content{
padding:20px;
}

.card-content h3{
font-size:18px;
margin-bottom:10px;
}

.card-content h3 a{
text-decoration:none;
color:#111;
}

/* STATS */

.stats{
margin-bottom:10px;
}

.valor{
color:#16a34a;
font-weight:bold;
}

.meta{
color:#777;
font-size:14px;
}

/* PORCENTAGEM */

.porcentagem{
font-size:13px;
color:#555;
margin-bottom:15px;
}

/* BOTÃO CAMPANHA */

.btn-campanha{
display:block;
text-align:center;
background:#16a34a;
color:white;
padding:10px;
border-radius:6px;
text-decoration:none;
font-weight:bold;
transition:.3s;
}

.btn-campanha:hover{
background:#15803d;
}

/* RESPONSIVO */

@media(max-width:900px){

.campanha-grid{
grid-template-columns:1fr;
}

.card-doacao{
position:relative;
}

}

@media(max-width:768px){

.hero-home{
padding:60px 20px;
}

.hero-home h1{
font-size:30px;
}

.grid-campanhas{
grid-template-columns:1fr;
}

}