/* GestionaleAffitti — landing.css */
body{ font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; color:#1a202c; }
.py-6{ padding-top:5rem; padding-bottom:5rem; }
section{ scroll-margin-top:70px; }

/* Navbar */
.navbar{ padding:.8rem 0; }
.navbar .nav-link{ font-weight:500; color:#4a5568; }
.navbar .nav-link:hover{ color:#0d6efd; }

/* Hero */
.hero-section{
  background:linear-gradient(135deg,#f5f7ff 0%,#eef2ff 100%);
  padding:5rem 0 6rem;
  overflow:hidden;
}
.hero-section h1{ line-height:1.15; letter-spacing:-.02em; }
.hero-card{ border-radius:18px; transform:rotate(1.5deg); transition:transform .3s; }
.hero-card:hover{ transform:rotate(0); }
.hero-card .dot{ width:11px; height:11px; border-radius:50%; display:inline-block; }
.mini-stat{ border-radius:12px; padding:.9rem .6rem; text-align:center; }
.bars .bar{ flex:1; border-radius:6px 6px 0 0; opacity:.85; transition:opacity .2s; }
.bars:hover .bar{ opacity:1; }

/* Steps */
.step-card{ background:#fff; border-radius:16px; padding:2.5rem 1.5rem 2rem; position:relative; box-shadow:0 4px 20px rgba(0,0,0,.05); transition:transform .2s,box-shadow .2s; }
.step-card:hover{ transform:translateY(-5px); box-shadow:0 12px 30px rgba(0,0,0,.1); }
.step-num{ position:absolute; top:-18px; left:50%; transform:translateX(-50%); background:#0d6efd; color:#fff; width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:bold; font-size:.95rem; }
.step-ico{ width:70px; height:70px; margin:1rem auto 1.2rem; border-radius:18px; background:#eef2ff; color:#0d6efd; display:flex; align-items:center; justify-content:center; font-size:2rem; }

/* Features */
.feature-card{ background:#fff; border-radius:14px; padding:1.8rem; box-shadow:0 2px 12px rgba(0,0,0,.04); transition:transform .2s,box-shadow .2s; }
.feature-card:hover{ transform:translateY(-3px); box-shadow:0 8px 24px rgba(0,0,0,.09); }
.feature-ico{ width:52px; height:52px; border-radius:12px; background:linear-gradient(135deg,#0d6efd,#5b8def); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.4rem; margin-bottom:1rem; }

/* Pricing */
.price-card{ background:#fff; border:2px solid #e9ecef; border-radius:18px; padding:2rem; position:relative; transition:transform .2s,box-shadow .2s,border-color .2s; }
.price-card:hover{ transform:translateY(-5px); box-shadow:0 14px 36px rgba(0,0,0,.1); }
.price-card-featured{ border-color:#0d6efd; box-shadow:0 10px 30px rgba(13,110,253,.15); }
.ribbon{ position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:#0d6efd; color:#fff; padding:.3rem 1.2rem; border-radius:20px; font-size:.78rem; font-weight:600; }
.price-head{ text-align:center; padding-bottom:1.2rem; border-bottom:1px solid #f1f3f5; margin-bottom:1.2rem; }
.price-amount{ font-size:2.4rem; font-weight:800; color:#1a202c; }
.price-list{ list-style:none; padding:0; margin:0 0 1.5rem; }
.price-list li{ padding:.5rem 0; font-size:.92rem; display:flex; align-items:center; gap:.6rem; }
.price-list li i{ font-size:1.1rem; }

/* CTA */
.cta-section{ background:linear-gradient(135deg,#0d6efd 0%,#5b21b6 100%); }

/* FAQ */
.accordion-button:not(.collapsed){ background:#eef2ff; color:#0d6efd; box-shadow:none; }
.accordion-button:focus{ box-shadow:none; }

@media(max-width:991px){
  .hero-section{ padding:3rem 0 4rem; text-align:center; }
  .hero-card{ transform:none; margin-top:2rem; }
  .py-6{ padding-top:3.5rem; padding-bottom:3.5rem; }
}
