/* VOLUNTARIADO - estilos (CSS próprio, sem dependências externas) */
:root{
  --pink:#f0158c; --purple:#9b27e0; --pink-d:#c40e70; --purple-d:#6f18a8;
  --grad:linear-gradient(120deg,#f0158c 0%,#c11fc0 55%,#9b27e0 100%);
  --ink:#241a2e; --muted:#6a5d76; --line:#eadff0; --bg:#fff; --soft:#fbf5fd; --sand:#f7f1e8;
  --green:#1d8a55; --red:#c62840; --blue:#2b6cd8; --radius:14px;
  --shadow:0 6px 24px rgba(111,24,168,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;font-size:16px}
img{max-width:100%;display:block}
a{color:var(--purple-d);text-decoration:none}
a:hover{color:var(--pink-d)}
h1,h2,h3,h4{line-height:1.2;margin:0 0 .5em;font-weight:800;letter-spacing:-.01em}
h1{font-size:clamp(2rem,4.6vw,3.4rem)} h2{font-size:clamp(1.5rem,3vw,2.1rem)} h3{font-size:1.2rem}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--purple);outline-offset:2px}
.ic{flex:none;vertical-align:-4px}
.container{width:min(1180px,92%);margin:0 auto}
.section{padding:64px 0}
.section.soft{background:var(--soft)} .section.sand{background:var(--sand)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:28px;flex-wrap:wrap}
.section-head p{color:var(--muted);margin:0;max-width:56ch}
.grid{display:grid;gap:22px}
.g2{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(3,1fr)} .g4{grid-template-columns:repeat(4,1fr)}
.muted{color:var(--muted)} .center{text-align:center} .mt{margin-top:24px} .mb{margin-bottom:24px}
.flex{display:flex;gap:12px;align-items:center;flex-wrap:wrap}

/* Botões */
.btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:11px 22px;font:inherit;font-weight:700;cursor:pointer;background:var(--grad);color:#fff;transition:transform .15s,box-shadow .15s}
.btn:hover{color:#fff;transform:translateY(-1px);box-shadow:0 8px 20px rgba(193,31,192,.3)}
.btn-line{background:#fff;color:var(--purple-d);box-shadow:inset 0 0 0 2px var(--purple)}
.btn-line:hover{color:#fff;background:var(--purple)}
.btn-light{background:#fff;color:var(--purple-d)} .btn-light:hover{color:var(--pink-d)}
.btn-sm{padding:6px 14px;font-size:.88rem}
.btn-danger{background:var(--red)} .btn-ok{background:var(--green)}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)} .btn-ghost:hover{color:var(--pink-d);box-shadow:inset 0 0 0 1px var(--pink)}

/* Cabeçalho */
.topbar{background:var(--grad);color:#fff;font-size:.85rem;padding:6px 0}
.topbar .container{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.topbar a{color:#fff}
.header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 1px 0 var(--line)}
.header .container{display:flex;align-items:center;gap:18px;min-height:72px}
.brand img{height:42px;width:auto}
.nav{display:flex;gap:2px;margin-left:auto;align-items:center}
.nav a,.nav .more>button{padding:8px 11px;border-radius:999px;color:var(--ink);font-weight:600;font-size:.93rem;background:none;border:0;cursor:pointer;font-family:inherit}
.nav a:hover,.nav a.on,.nav .more>button:hover{background:var(--soft);color:var(--pink-d)}
.more{position:relative}
.more .drop{display:none;position:absolute;right:0;top:100%;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);min-width:190px;padding:6px;z-index:60}
.more.open .drop{display:block}
.more .drop a{display:block}
.lang{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;font-size:.82rem;font-weight:700}
.lang a{padding:5px 10px;color:var(--muted)} .lang a.on{background:var(--grad);color:#fff}
.nav-cta{display:flex;gap:8px;align-items:center}
.burger{display:none;background:none;border:0;margin-left:auto;cursor:pointer;color:var(--ink)}

/* Hero */
.hero{position:relative;color:#fff;background:var(--grad);overflow:hidden}
.hero .container{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:70px 0 80px}
.hero p.lead{font-size:1.15rem;opacity:.95;max-width:52ch}
.hero .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.hero-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hero-photos img{border-radius:18px;width:100%;height:100%;object-fit:cover;box-shadow:0 12px 30px rgba(0,0,0,.25)}
.hero-photos img:first-child{grid-row:span 2;min-height:360px}
.hero-photos img:nth-child(2),.hero-photos img:nth-child(3){height:173px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:-34px;position:relative;z-index:2}
.stat{background:#fff;border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow);border-bottom:4px solid var(--pink)}
.stat b{font-size:1.9rem;display:block;color:var(--purple-d)}
.page-head{background:var(--grad);color:#fff;padding:46px 0}
.page-head p{margin:0;opacity:.92;max-width:62ch}
.crumbs{font-size:.85rem;opacity:.85;margin-bottom:8px} .crumbs a{color:#fff;text-decoration:underline}

/* Cartões */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s}
.card:hover{box-shadow:var(--shadow)}
.card .thumb{aspect-ratio:16/10;object-fit:cover;width:100%;background:var(--soft)}
.card .body{padding:18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.card .body h3{margin:0} .card .body h3 a{color:var(--ink)} .card .body h3 a:hover{color:var(--pink-d)}
.card .foot{padding:12px 20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.88rem;color:var(--muted)}
.meta{display:flex;gap:14px;flex-wrap:wrap;font-size:.86rem;color:var(--muted)}
.meta span{display:inline-flex;gap:5px;align-items:center}
.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.76rem;font-weight:700;background:var(--soft);color:var(--purple-d)}
.b-green{background:#e3f6ec;color:var(--green)} .b-red{background:#fde6ea;color:var(--red)} .b-blue{background:#e4eefc;color:var(--blue)} .b-gray{background:#eee9f1;color:#5b4f66}
.b-demo{background:#fff2cc;color:#8a6100}
.cat-tile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 12px;text-align:center;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);font-weight:700;background:#fff}
.cat-tile:hover{border-color:var(--pink);color:var(--pink-d);transform:translateY(-2px)}
.cat-tile .ic{width:34px;height:34px;color:var(--pink)}
.ong-logo{width:64px;height:64px;border-radius:14px;object-fit:cover;border:1px solid var(--line);background:#fff}
.ong-card .top{display:flex;gap:14px;align-items:center}
.ong-initial{width:64px;height:64px;border-radius:14px;background:var(--grad);color:#fff;display:grid;place-items:center;font-size:1.6rem;font-weight:800}

/* Quote / CTA */
.cta{background:var(--grad);color:#fff;border-radius:22px;padding:42px;display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap}
.cta h2{margin:0 0 6px}
.quote{border-left:5px solid var(--pink);padding:6px 0 6px 20px;font-size:1.05rem}

/* Formulários */
.form{display:grid;gap:16px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{font-weight:700;font-size:.92rem;display:block;margin-bottom:5px}
input[type=text],input[type=email],input[type=password],input[type=tel],input[type=date],input[type=time],input[type=number],input[type=url],input[type=search],select,textarea,input[type=file]{width:100%;padding:11px 13px;border:1.5px solid #d9cce3;border-radius:10px;font:inherit;background:#fff;color:var(--ink)}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--purple);outline:0;box-shadow:0 0 0 3px rgba(155,39,224,.15)}
.hint{font-size:.82rem;color:var(--muted);margin-top:4px}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.panel.narrow{max-width:520px;margin:0 auto}
.filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:12px;background:#fff;padding:16px;border-radius:var(--radius);box-shadow:var(--shadow);margin-top:-30px;position:relative;z-index:3}
.flash{padding:12px 16px;border-radius:10px;margin:16px 0;font-weight:600}
.flash-ok{background:#e3f6ec;color:#146c40} .flash-err{background:#fde6ea;color:#a31d33}
.check{display:flex;gap:8px;align-items:flex-start;font-weight:400} .check input{margin-top:5px}
.hp{position:absolute;left:-9999px}

/* Detalhe */
.detail{display:grid;grid-template-columns:1.7fr 1fr;gap:34px;align-items:start}
.sidebox{background:var(--soft);border-radius:var(--radius);padding:22px;position:sticky;top:96px}
.sidebox dl{margin:0} .sidebox dt{font-size:.8rem;color:var(--muted);margin-top:12px} .sidebox dd{margin:0;font-weight:700}
.cover{width:100%;border-radius:var(--radius);aspect-ratio:16/8;object-fit:cover;margin-bottom:20px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.gallery img{aspect-ratio:1;object-fit:cover;border-radius:10px;width:100%}
.prose p,.prose li{max-width:70ch}
.prose h3{margin-top:1.4em}

/* Rodapé */
.footer{background:#1e1328;color:#d8cde2;padding:54px 0 0;margin-top:0}
.footer .grid{grid-template-columns:1.4fr 1fr 1fr 1.2fr}
.footer h4{color:#fff;font-size:1rem} .footer a{color:#d8cde2;display:block;padding:3px 0} .footer a:hover{color:#ff7ac0}
.footer .logo-box{background:#fff;border-radius:12px;padding:8px 12px;display:inline-block;margin-bottom:12px}
.footer .logo-box img{height:34px}
.footer .copy{border-top:1px solid #3a2a4a;margin-top:34px;padding:16px 0;font-size:.85rem;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}

/* Painéis */
.dash{display:grid;grid-template-columns:250px 1fr;min-height:100vh;background:#faf7fc}
.side{background:#1e1328;color:#d8cde2;padding:20px 14px;position:sticky;top:0;height:100vh;overflow:auto}
.side .logo-box{background:#fff;border-radius:12px;padding:8px 12px;display:block;margin-bottom:18px}
.side .logo-box img{height:32px}
.side a{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;color:#d8cde2;font-weight:600;font-size:.94rem}
.side a:hover{background:#2e1f3f;color:#fff} .side a.on{background:var(--grad);color:#fff}
.side .who{font-size:.8rem;margin:0 0 14px;padding:0 4px;color:#a999b8}
.side hr{border:0;border-top:1px solid #3a2a4a;margin:14px 0}
.main{padding:28px 34px;min-width:0}
.main h1{font-size:1.7rem}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:26px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}
.kpi b{font-size:1.8rem;display:block;color:var(--purple-d)} .kpi span{color:var(--muted);font-size:.88rem}
.tbl-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th,td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--soft);font-size:.8rem;color:var(--muted)}
tr:last-child td{border-bottom:0}
.acts{display:flex;gap:6px;flex-wrap:wrap}
.acts form{display:inline}
.inline-form{display:flex;gap:6px;align-items:center}
.inline-form select{padding:6px 8px;width:auto}
.empty{padding:34px;text-align:center;color:var(--muted);background:#fff;border:1px dashed #d9cce3;border-radius:var(--radius)}
.dash-top{display:none}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
.tabs a{padding:7px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:600;font-size:.9rem;color:var(--ink)}
.tabs a.on{background:var(--grad);color:#fff;border-color:transparent}
.notif{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)} .notif:last-child{border:0}

@media (max-width:1060px){
  .burger{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;padding:12px 4%;border-bottom:1px solid var(--line);margin:0;box-shadow:var(--shadow)}
  .nav.open{display:flex} .more .drop{position:static;display:block;border:0;box-shadow:none;padding:0} .more>button{display:none}
  .nav-cta{flex-wrap:wrap;padding-top:8px}
  .hero .container{grid-template-columns:1fr;padding:46px 0 60px}
  .g4,.stats{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(2,1fr)}
  .detail{grid-template-columns:1fr} .sidebox{position:static}
  .filters{grid-template-columns:1fr 1fr}
  .footer .grid{grid-template-columns:1fr 1fr}
  .dash{grid-template-columns:1fr} .side{position:static;height:auto;display:none} .side.open{display:block}
  .dash-top{display:flex;justify-content:space-between;align-items:center;background:#1e1328;color:#fff;padding:10px 16px}
  .dash-top button{background:none;border:0;color:#fff;cursor:pointer}
  .main{padding:20px 16px}
}
@media (max-width:640px){
  .g2,.g3,.g4,.stats,.form .row,.filters,.footer .grid{grid-template-columns:1fr}
  .section{padding:44px 0} .cta{padding:28px}
  .hero-photos img:first-child{min-height:230px;grid-row:auto;grid-column:span 2} .hero-photos img:nth-child(2),.hero-photos img:nth-child(3){height:130px}
  .topbar .container{justify-content:center}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
