/*
Theme Name: Rinascita Stradale
Author: Associazione Vittime della Strada
Description: Tema moderno con estetica editoriale e forte impatto emotivo.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: rinascita-stradale
*/
:root{--bg:#0b1020;--fg:#f8fafc;--acc:#ff2d55;--mut:#9ca3af;--card:#121a31;--line:#ffd166}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--fg);line-height:1.6}
a{color:var(--fg)}
header{padding:1.25rem 1rem;position:sticky;top:0;background:rgba(11,16,32,.85);backdrop-filter:blur(8px);z-index:20}
.wrap{max-width:1120px;margin:0 auto;position:relative}
.brand{font-weight:800;letter-spacing:.4px}
.hero{padding:5rem 1rem;background:radial-gradient(circle at 20% 20%,#1e2a52,transparent 45%),linear-gradient(135deg,#0b1020,#182647);position:relative;overflow:hidden}
.hero::before,.hero::after{content:"";position:absolute;inset:auto -20% -30% -20%;height:220px;background:repeating-linear-gradient(90deg,transparent 0 70px,rgba(255,209,102,.7) 70px 76px,transparent 76px 150px);opacity:.3;transform:perspective(400px) rotateX(70deg);animation:laneMove 6s linear infinite}
.hero::after{height:140px;opacity:.2;animation-duration:10s;animation-direction:reverse}
.hero h1{font-size:clamp(2rem,6vw,4rem);line-height:1.05;margin:0 0 1rem;animation:rise .9s ease both}
.hero p{animation:rise 1.2s ease both}
.btn{display:inline-block;background:var(--acc);color:#fff;text-decoration:none;padding:.85rem 1.25rem;border-radius:999px;font-weight:700;box-shadow:0 0 0 0 rgba(255,45,85,.6);animation:pulse 1.8s infinite}
.btn:hover{transform:translateY(-2px) scale(1.03)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;padding:2.5rem 1rem}
.card{background:var(--card);padding:1.2rem;border:1px solid #273154;border-radius:14px;transform:translateY(24px);opacity:0;animation:reveal .8s ease forwards;transition:transform .3s ease,box-shadow .3s ease}
.card:nth-child(2){animation-delay:.15s}.card:nth-child(3){animation-delay:.3s}
.card:hover{transform:translateY(-6px) rotateX(6deg);box-shadow:0 14px 34px rgba(0,0,0,.35)}
.orb{position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none;animation:float 5s ease-in-out infinite}
.orb.one{width:90px;height:90px;right:12%;top:20%;background:radial-gradient(circle,#ff2d55,transparent 65%)}
.orb.two{width:130px;height:130px;left:8%;top:12%;background:radial-gradient(circle,#4cc9f0,transparent 65%);animation-delay:.8s}
footer{padding:2rem 1rem;color:var(--mut)}
.stop-zone{padding:1rem 1rem 0}
.stop-banner{max-width:1120px;margin:0 auto 1rem;display:flex;align-items:center;gap:1rem;background:linear-gradient(135deg,#2a0b12,#3a1020);border:1px solid rgba(255,45,85,.4);border-radius:14px;padding:1rem;position:relative;overflow:hidden}
.stop-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);animation:stopSweep 2.8s linear infinite}
.stop-sign{width:86px;height:86px;clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%);background:#d90429;color:#fff;font-weight:900;display:grid;place-items:center;letter-spacing:.5px;box-shadow:0 0 0 0 rgba(217,4,41,.65);animation:stopPulse 1.5s infinite;flex:0 0 auto}
.stop-copy strong{display:block;font-size:1.05rem}
.stop-copy span{color:#ffd7df}
.metrics,.impact-timeline,.testimonials,.final-cta{max-width:1120px;margin:0 auto;padding:2rem 1rem}
.metrics-grid,.timeline-grid,.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.metric,.timeline-step,.quote-card{background:var(--card);border:1px solid #273154;border-radius:14px;padding:1rem;opacity:0;transform:translateY(18px);animation:reveal .8s ease forwards}
.metric:nth-child(2),.timeline-step:nth-child(2),.quote-card:nth-child(2){animation-delay:.15s}
.metric:nth-child(3),.timeline-step:nth-child(3),.quote-card:nth-child(3){animation-delay:.3s}
.metric strong{font-size:1.8rem;color:#ffd166;display:block}
.timeline-step{border-left:4px solid var(--acc)}
.quote-card em{color:#dbeafe;display:block;margin-top:.6rem}
.final-cta{background:linear-gradient(135deg,#1f2a4a,#2a3b66);border-radius:16px;text-align:center}
.final-cta a{margin-top:.6rem}
@keyframes laneMove{from{transform:perspective(400px) rotateX(70deg) translateY(0)}to{transform:perspective(400px) rotateX(70deg) translateY(-140px)}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,45,85,.6)}70%{box-shadow:0 0 0 18px rgba(255,45,85,0)}100%{box-shadow:0 0 0 0 rgba(255,45,85,0)}}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes reveal{to{opacity:1;transform:translateY(0)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes stopPulse{0%{box-shadow:0 0 0 0 rgba(217,4,41,.65)}100%{box-shadow:0 0 0 16px rgba(217,4,41,0)}}
@keyframes stopSweep{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
.unified-header{position:sticky;top:0;z-index:60;box-shadow:0 10px 24px rgba(0,0,0,.25)}
.u-topbar{background:#111827}.u-topbar .wrap{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;padding:.4rem .8rem}
.u-topbar a{color:#fff;text-decoration:none;font-weight:700;font-size:.8rem;background:rgba(255,255,255,.12);padding:.28rem .6rem;border-radius:999px}
.u-menu{background:rgba(11,16,32,.95);border-bottom:1px solid #273154}.u-menu-inner{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;padding:.75rem 1rem}
.u-menu-list{list-style:none;margin:0;padding:0;display:flex;gap:.4rem;flex-wrap:wrap}.u-menu-list a{display:inline-flex;padding:.35rem .65rem;border-radius:999px;background:#1f2a4a;color:#fff;text-decoration:none;font-weight:700;font-size:.82rem}
.u-donate{background:#3a1020}.u-donate .wrap{display:flex;justify-content:center;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.5rem .8rem}
.u-donate strong{font-size:.82rem;color:#ffd7df}
@media (max-width:760px){.u-menu-inner{grid-template-columns:1fr}.u-menu-list a{font-size:.76rem}}