/* ============================================================
   HOME v2 — stili dedicati, caricati solo sul template Home v2.
   Tutto "scoped" sotto #sp-home-v2: non tocca il resto del sito
   né main.css. Palette/design derivati dall'esempio fornito.
   ============================================================ */
#sp-home-v2{
  --primary-red:#ef4444; --red-hover:#dc2626; --red-glow:rgba(239,68,68,.35);
  --accent-yellow:#fbbf24; --yellow-hover:#f59e0b; --yellow-glow:rgba(251,191,36,.3);
  --text-dark:#0f172a; --text-muted:#475569; --text-light:#f8fafc;
  --border-color:rgba(239,68,68,.15);
  --radius-lg:24px; --radius-md:14px; --hv2-max:1400px;
  --shadow-tech:0 10px 30px -10px rgba(0,0,0,.5), 0 0 20px rgba(239,68,68,.15);
  --shadow-hover:0 20px 40px -10px rgba(239,68,68,.25), 0 0 30px rgba(251,191,36,.2);
  position:relative; overflow:hidden; background:#f8fafc; color:var(--text-dark); line-height:1.6;
  background-image:linear-gradient(to right,rgba(239,68,68,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(239,68,68,.04) 1px,transparent 1px);
  background-size:40px 40px;
}
#sp-home-v2 *,#sp-home-v2 *::before,#sp-home-v2 *::after{ box-sizing:border-box; }
#sp-home-v2 a{ color:inherit; text-decoration:none; }

#sp-home-v2 .container{ max-width:var(--hv2-max); margin:0 auto; padding:0 2rem; position:relative; z-index:2; }
#sp-home-v2 .glow-sphere{ position:absolute; border-radius:50%; filter:blur(100px); z-index:1; pointer-events:none; }

/* Bottoni */
#sp-home-v2 .btn{ display:inline-flex; align-items:center; justify-content:center; padding:.8rem 1.8rem; font-weight:800; font-size:.98rem; border-radius:var(--radius-md); transition:all .3s cubic-bezier(.4,0,.2,1); cursor:pointer; border:none; }
#sp-home-v2 .btn-primary{ background:linear-gradient(135deg,var(--primary-red) 0%,#b91c1c 100%); color:#fff; box-shadow:0 4px 15px var(--red-glow); }
#sp-home-v2 .btn-primary:hover{ transform:translateY(-2px); box-shadow:0 8px 25px var(--red-glow); }
#sp-home-v2 .btn-secondary{ background:linear-gradient(135deg,var(--accent-yellow) 0%,var(--yellow-hover) 100%); color:#000; box-shadow:0 4px 15px var(--yellow-glow); }
#sp-home-v2 .btn-secondary:hover{ transform:translateY(-2px); box-shadow:0 8px 25px var(--yellow-glow); }

/* Hero */
#sp-home-v2 .hero{ padding:4.5rem 0 5.5rem; position:relative; background:radial-gradient(circle at 50% 0%,#fff1f1 0%,#f8fafc 70%); overflow:hidden; }
#sp-home-v2 .claim-badge{ display:inline-flex; align-items:center; gap:.5rem; padding:.5rem 1.25rem; background:rgba(254,243,199,.95); border:1px solid var(--accent-yellow); border-radius:9999px; font-size:.92rem; font-weight:800; color:#78350f; margin-bottom:1.75rem; box-shadow:0 4px 12px rgba(251,191,36,.15); }
#sp-home-v2 .status-dot{ width:8px; height:8px; background:#22c55e; border-radius:50%; box-shadow:0 0 8px #22c55e; }
#sp-home-v2 .hero h1{ font-size:clamp(2.4rem,4.5vw,4rem); font-weight:900; line-height:1.15; margin:0 auto 1.25rem; color:var(--text-dark); max-width:1100px; text-align:center; letter-spacing:-.03em; }
#sp-home-v2 .hero p.subtitle{ font-size:1.25rem; color:var(--text-muted); max-width:900px; margin:0 auto 2.25rem; text-align:center; }
#sp-home-v2 .hero-cta{ display:flex; gap:1.25rem; justify-content:center; margin-bottom:1.25rem; }
#sp-home-v2 .microcopy{ font-size:.9rem; color:var(--text-muted); margin-bottom:2.5rem; font-weight:600; text-align:center; }
#sp-home-v2 .info-box{ background:rgba(255,255,255,.95); border:2px dashed var(--accent-yellow); border-radius:var(--radius-md); padding:1.25rem 2rem; max-width:800px; margin:0 auto 3.5rem; font-size:1rem; text-align:center; box-shadow:0 10px 25px rgba(0,0,0,.02); }
#sp-home-v2 .hero-media-wrapper{ position:relative; max-width:1100px; margin:0 auto; border-radius:var(--radius-lg); padding:12px; background:linear-gradient(135deg,var(--primary-red),var(--accent-yellow)); box-shadow:var(--shadow-tech); }
#sp-home-v2 .hero-media-inner{ position:relative; border-radius:calc(var(--radius-lg) - 6px); overflow:hidden; background:#000; aspect-ratio:16/9; }
#sp-home-v2 .hero-media-inner img,
#sp-home-v2 .hero-media-inner video,
#sp-home-v2 .hero-media-inner iframe{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border:0; display:block; }

/* Sezioni */
#sp-home-v2 section{ padding:6.5rem 0; position:relative; }
#sp-home-v2 .section-header{ text-align:center; margin-bottom:4.5rem; }
#sp-home-v2 .section-header .tech-tag{ font-size:.85rem; font-weight:800; text-transform:uppercase; letter-spacing:.15em; color:var(--primary-red); background:#fee2e2; padding:.4rem 1rem; border-radius:6px; display:inline-block; margin-bottom:.85rem; border:1px solid rgba(239,68,68,.2); }
#sp-home-v2 .section-header h2{ font-size:clamp(2.2rem,3.5vw,2.8rem); font-weight:900; color:var(--text-dark); margin-bottom:1rem; letter-spacing:-.02em; }
#sp-home-v2 .section-header p{ color:var(--text-muted); font-size:1.2rem; max-width:800px; margin:0 auto; }

/* Griglia funzionalità */
#sp-home-v2 .grid-features{ display:grid; grid-template-columns:repeat(auto-fit,minmax(360px,1fr)); gap:2rem; }
#sp-home-v2 .card-feature{ background:rgba(255,255,255,.96); border-radius:var(--radius-lg); padding:2.5rem 2rem; border:1px solid rgba(226,232,240,.9); box-shadow:0 10px 30px rgba(0,0,0,.03); transition:all .35s cubic-bezier(.4,0,.2,1); position:relative; overflow:hidden; }
#sp-home-v2 .card-feature::before{ content:""; position:absolute; top:0; left:0; width:100%; height:4px; background:linear-gradient(90deg,var(--primary-red),var(--accent-yellow)); opacity:0; transition:opacity .3s ease; }
#sp-home-v2 .card-feature:hover{ transform:translateY(-8px); box-shadow:var(--shadow-hover); border-color:var(--accent-yellow); }
#sp-home-v2 .card-feature:hover::before{ opacity:1; }
#sp-home-v2 .icon-wrapper{ width:62px; height:62px; border-radius:var(--radius-md); background:#fff5f5; border:1px solid var(--border-color); display:flex; align-items:center; justify-content:center; margin-bottom:1.5rem; color:var(--primary-red); transition:all .3s ease; box-shadow:0 4px 12px rgba(239,68,68,.08); }
#sp-home-v2 .card-feature:hover .icon-wrapper{ background:var(--primary-red); color:#fff; box-shadow:0 8px 20px var(--red-glow); }
#sp-home-v2 .icon-wrapper svg{ width:32px; height:32px; fill:currentColor; }
#sp-home-v2 .icon-wrapper img{ width:34px; height:34px; object-fit:contain; }
#sp-home-v2 .icon-wrapper .sp-hv2-emoji{ font-size:30px; line-height:1; }
#sp-home-v2 .card-feature h3{ font-size:1.35rem; font-weight:800; margin-bottom:.65rem; color:var(--text-dark); }
#sp-home-v2 .card-feature p{ color:var(--text-muted); font-size:1rem; line-height:1.6; }
#sp-home-v2 .btn-center-container{ text-align:center; margin-top:4rem; }
#sp-home-v2 .link-cta{ display:inline-flex; align-items:center; gap:.75rem; font-size:1.15rem; font-weight:800; color:#fff; padding:1.1rem 2.5rem; border-radius:var(--radius-md); background:linear-gradient(135deg,var(--primary-red) 0%,#b91c1c 100%); box-shadow:0 10px 25px var(--red-glow); transition:all .3s ease; }
#sp-home-v2 .link-cta:hover{ transform:translateY(-2px); box-shadow:0 15px 35px var(--red-glow); }

/* Showcase */
#sp-home-v2 .showcase-section{ background:#fff; border-top:1px solid #f1f5f9; border-bottom:1px solid #f1f5f9; }
#sp-home-v2 .showcase-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(380px,1fr)); gap:2.5rem; }
#sp-home-v2 .showcase-card{ border-radius:var(--radius-lg); overflow:hidden; background:#000; border:2px solid #f1f5f9; box-shadow:0 15px 35px rgba(0,0,0,.06); transition:all .35s ease; position:relative; height:320px; }
#sp-home-v2 .showcase-card img{ width:100%; height:100%; object-fit:cover; opacity:.9; transition:transform .5s ease; }
#sp-home-v2 .showcase-card:hover img{ transform:scale(1.06); opacity:1; }
#sp-home-v2 .showcase-caption{ position:absolute; bottom:0; left:0; right:0; padding:1.5rem; background:linear-gradient(to top,rgba(15,23,42,.9),transparent); color:#fff; font-weight:700; font-size:1.1rem; }

/* Steps */
#sp-home-v2 .steps-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(350px,1fr)); gap:2.5rem; }
#sp-home-v2 .step-card{ background:#fff; border-radius:var(--radius-lg); padding:3rem 2.25rem; border:1px solid #f1f5f9; box-shadow:0 10px 30px rgba(0,0,0,.03); position:relative; transition:all .3s ease; }
#sp-home-v2 .step-card:hover{ border-color:var(--accent-yellow); transform:translateY(-5px); }
#sp-home-v2 .step-number{ font-size:3.8rem; font-weight:900; background:linear-gradient(135deg,var(--accent-yellow),var(--primary-red)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; line-height:1; margin-bottom:1.25rem; display:block; }
#sp-home-v2 .step-card h3{ font-size:1.4rem; font-weight:800; margin-bottom:.85rem; color:var(--text-dark); }
#sp-home-v2 .step-card p{ color:var(--text-muted); font-size:1.05rem; line-height:1.6; }

/* Banner zero commissioni */
#sp-home-v2 .banner-wrapper{ background:linear-gradient(135deg,#0f172a 0%,#1e1b4b 50%,#831843 100%); border-radius:var(--radius-lg); padding:5rem 3rem; color:#fff; text-align:center; position:relative; overflow:hidden; box-shadow:0 25px 50px -12px rgba(0,0,0,.25); border:1px solid rgba(255,255,255,.1); }
#sp-home-v2 .banner-wrapper::before{ content:""; position:absolute; top:-50%; left:-50%; width:200%; height:200%; background:radial-gradient(circle,rgba(251,191,36,.15) 0%,transparent 60%); pointer-events:none; }
#sp-home-v2 .banner-wrapper h2{ font-size:clamp(2.3rem,4vw,3.5rem); font-weight:900; margin-bottom:1.25rem; color:#fff; letter-spacing:-.02em; }
#sp-home-v2 .banner-wrapper p{ font-size:1.3rem; max-width:950px; margin:0 auto; color:#cbd5e1; line-height:1.7; }

/* Teaser piani */
#sp-home-v2 .plan-box{ background:linear-gradient(135deg,#fffbe3 0%,#fef3c7 100%); border:2px solid var(--accent-yellow); border-radius:var(--radius-lg); padding:4.5rem 3rem; text-align:center; position:relative; box-shadow:0 20px 40px rgba(251,191,36,.12); }
#sp-home-v2 .plan-box h2{ font-size:2.6rem; font-weight:900; color:#78350f; margin-bottom:1rem; }
#sp-home-v2 .plan-box p{ font-size:1.25rem; color:#92400e; max-width:900px; margin:0 auto 2.5rem; font-weight:500; }

/* FAQ */
#sp-home-v2 .faq-container{ max-width:950px; margin:0 auto; display:flex; flex-direction:column; gap:1.25rem; }
#sp-home-v2 .faq-card{ background:#fff; border:1px solid #e2e8f0; border-radius:var(--radius-md); box-shadow:0 4px 12px rgba(0,0,0,.02); overflow:hidden; transition:all .25s ease; }
#sp-home-v2 .faq-card[open]{ border-color:var(--primary-red); box-shadow:0 10px 25px rgba(239,68,68,.1); }
#sp-home-v2 .faq-card summary{ padding:1.5rem 2rem; font-size:1.2rem; font-weight:800; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; color:var(--text-dark); }
#sp-home-v2 .faq-card summary::-webkit-details-marker{ display:none; }
#sp-home-v2 .faq-icon{ width:34px; height:34px; background:#f1f5f9; color:var(--primary-red); border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:900; font-size:1.2rem; transition:transform .3s ease; flex:0 0 auto; }
#sp-home-v2 .faq-card[open] .faq-icon{ transform:rotate(45deg); background:var(--primary-red); color:#fff; }
#sp-home-v2 .faq-card p{ padding:1.25rem 2rem 1.75rem; color:var(--text-muted); font-size:1.08rem; border-top:1px solid #f1f5f9; }

/* CTA finale */
#sp-home-v2 .cta-box{ background:linear-gradient(135deg,#fff 0%,#fff5f5 100%); border:2px solid var(--primary-red); border-radius:var(--radius-lg); padding:5rem 2.5rem; text-align:center; box-shadow:var(--shadow-tech); position:relative; }
#sp-home-v2 .cta-box h2{ font-size:2.8rem; font-weight:900; color:var(--primary-red); margin-bottom:.85rem; letter-spacing:-.02em; }
#sp-home-v2 .cta-box p{ font-size:1.25rem; color:var(--text-muted); margin-bottom:2.5rem; }

@media (max-width:900px){
  #sp-home-v2 .hero-cta{ flex-direction:column; align-items:center; }
  #sp-home-v2 .grid-features,#sp-home-v2 .showcase-grid,#sp-home-v2 .steps-grid{ grid-template-columns:1fr; }
  #sp-home-v2 section{ padding:4.5rem 0; }
  #sp-home-v2 .container{ padding:0 1.25rem; }
}