/* PetVieira — vaquinhas (doe.petvieira.com.br) */

.doe-hero { padding: 40px 0 36px; background: radial-gradient(900px 420px at 90% -80px, #ffd9b0, transparent 70%), radial-gradient(700px 400px at -10% 110%, var(--verde-100), transparent 70%); }
.doe-hero .container { display: grid; grid-template-columns: 1.4fr 1fr; gap: 32px; align-items: center; }
.doe-hero .display { font-size: clamp(2rem, 4.6vw, 3.3rem); margin-bottom: 14px; }
.doe-hero .lead { max-width: 580px; margin-bottom: 24px; }
.doe-stats { display: grid; gap: 12px; }
.doe-stats div { background: #fff; border: 1px solid var(--border); border-radius: 20px; padding: 16px 20px; box-shadow: var(--shadow-sm); }
.doe-stats strong { display: block; font: 700 1.8rem var(--font-head); color: var(--verde); }
.doe-stats span { color: var(--cinza-3); font-weight: 700; }
@media (max-width: 860px) { .doe-hero .container { grid-template-columns: 1fr; } .doe-stats { grid-template-columns: repeat(3, 1fr); } .doe-stats div { padding: 12px; } .doe-stats strong { font-size: 1.15rem; } .doe-stats span { font-size: .78rem; } }

.camp-page { display: grid; grid-template-columns: 1.6fr 1fr; gap: 28px; align-items: start; margin-top: 8px; }
.camp-side { position: sticky; top: 90px; display: grid; gap: 16px; }
@media (max-width: 960px) { .camp-page { grid-template-columns: 1fr; } .camp-side { position: static; } }
.camp-title { font-size: clamp(1.6rem, 4vw, 2.3rem); margin-bottom: 6px; }
.camp-hero-img { aspect-ratio: 16 / 10; border-radius: 24px; background: linear-gradient(135deg, var(--verde-3), var(--verde)) center/cover no-repeat; box-shadow: var(--shadow); margin-top: 12px; }
.camp-story { font-size: 1.02rem; line-height: 1.75; color: var(--cinza); margin-top: 18px; }
.update-img { margin-top: 10px; border-radius: 14px; max-height: 320px; object-fit: cover; }

.donate-box .raised { font: 700 2.2rem var(--font-head); color: var(--verde); line-height: 1.1; }
.progress.big { height: 14px; }
.amounts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.amounts .choice > span { padding: 12px 4px; font-size: .95rem; }
.donor-list .avatar { font-size: .85rem; }

.fee-card { border: 2px solid var(--laranja-100); }
.fee-big { font: 700 2.8rem var(--font-head); color: var(--laranja); line-height: 1; flex-shrink: 0; }
.how-list { padding-left: 20px; display: grid; gap: 10px; margin: 0; color: var(--cinza-2); }
.share-box { background: var(--verde-50); border-color: var(--verde-100); }
