/* RisparmioAttivo.ink — Bootstrap theme overrides (unique) */
:root{
  --ra-primary:#4c1d95; /* purple-900 */
  --ra-secondary:#0ea5e9; /* sky-500 */
  --ra-ink:#0b1220;
  --ra-muted:#475569;
  --ra-soft:#f6f3ff;
  --ra-ring:rgba(76,29,149,.22);
}

html{ font-size:16px; scroll-behavior:smooth; }
body{
  font-family:"Manrope", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color:var(--ra-ink);
  background:
    radial-gradient(900px 540px at 10% 10%, rgba(14,165,233,.14), transparent 60%),
    radial-gradient(860px 520px at 90% 15%, rgba(76,29,149,.18), transparent 58%),
    url("../img/bg-pattern.png");
  background-size:auto, auto, 720px 720px;
  background-attachment:fixed, fixed, fixed;
}

a{ text-decoration:none; }
.ra-text-muted{ color:var(--ra-muted) !important; }

.section-pad{ padding: 4.5rem 0; }
@media (max-width: 768px){
  .section-pad{ padding: 3.25rem 0; }
}

.ra-badge{
  border:1px solid rgba(76,29,149,.18);
  background:rgba(76,29,149,.08);
  color:var(--ra-primary);
}

.ra-card{
  border:1px solid rgba(2,6,23,.08);
  box-shadow:0 18px 40px rgba(2,6,23,.07);
  border-radius: 1.25rem;
}

.ra-hero{
  border-radius: 1.75rem;
  overflow:hidden;
  background:
    linear-gradient(135deg, rgba(76,29,149,.92), rgba(14,165,233,.35)),
    url("../img/hero-bg.png");
  background-size: cover;
  background-position: center;
  color:#fff;
}

.ra-hero .lead{ color: rgba(255,255,255,.88); }

.btn-ra{
  border-radius: 999px;
  padding: .85rem 1.15rem;
  font-weight: 800;
}
.btn-ra-primary{
  background: var(--ra-secondary);
  border-color: transparent;
  color:#06101c;
  box-shadow: 0 16px 26px rgba(14,165,233,.22);
}
.btn-ra-primary:hover{ filter: brightness(0.97); color:#06101c; }
.btn-ra-outline{
  border:1px solid rgba(255,255,255,.45);
  color:#fff;
  background:transparent;
}
.btn-ra-outline:hover{
  border-color: rgba(255,255,255,.75);
  color:#fff;
}

.form-control, .form-select{
  border-radius: 1rem;
  padding: .85rem 1rem;
  border-color: rgba(15,23,42,.14);
}
.form-control:focus, .form-select:focus{
  border-color: rgba(76,29,149,.35);
  box-shadow: 0 0 0 .25rem var(--ra-ring);
}

.ra-nav{
  backdrop-filter: blur(10px);
  background: rgba(255,255,255,.82);
  border-bottom: 1px solid rgba(15,23,42,.08);
}

.ra-topbar{
  background:#0b1220;
  color:#e5e7eb;
  font-size:.95rem;
}

.ra-divider{
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(2,6,23,.12), transparent);
}

.ra-pill{
  border-radius: 999px;
  border: 1px solid rgba(2,6,23,.10);
  background: #fff;
  padding: .5rem .9rem;
}

.ra-quote{
  background: linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.78));
}

.ra-footer{
  background:#0b1220;
  color:#d1d5db;
}

.ra-footer a{ color:#d1d5db; }
.ra-footer a:hover{ color:#9ae6ff; }

.ra-cookie{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 1rem;
  z-index: 1080;
}

.ra-cookie .ra-card{
  background: rgba(255,255,255,.92);
}

.ra-modal{
  position: fixed;
  inset: 0;
  z-index: 1090;
  display:none;
  align-items:center;
  justify-content:center;
  padding: 1rem;
}
.ra-modal.is-open{ display:flex; }
.ra-modal__overlay{
  position:absolute; inset:0; background: rgba(0,0,0,.45);
}
.ra-modal__panel{
  position:relative;
  width: min(680px, 100%);
  background:#fff;
  border-radius: 1.5rem;
  border: 1px solid rgba(2,6,23,.10);
  box-shadow: 0 30px 80px rgba(2,6,23,.25);
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ transition:none !important; animation:none !important; }
}
