:root{
  --wf-primary:#0b3d91;
  --wf-accent:#ffb703;
  --wf-ink:#0f172a;
  --wf-soft:#f5f7ff;
  --wf-muted:#6b7280;
}

html, body{
  font-size:16px;
}

body{
  color:var(--wf-ink);
  background:#ffffff;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  line-height:1.6;
}

.bg-primary{ background-color: var(--wf-primary) !important; }
.btn-primary{ background-color: var(--wf-primary); border-color: var(--wf-primary); }
.btn-primary:hover{ filter: brightness(0.95); }
.text-accent{ color: var(--wf-accent); }
.bg-soft{ background: var(--wf-soft); }

.section-pad{ padding: 72px 0; }
.card{ border:0; border-radius: 1rem; }
.shadow-soft{ box-shadow: 0 12px 30px rgba(15, 23, 42, .08); }
.rounded-4{ border-radius: 1.25rem !important; }

.hero{
  background: linear-gradient(110deg, rgba(11,61,145,.92), rgba(11,61,145,.55)), url("images/hero-italy.jpg");
  background-size: cover;
  background-position:center;
}

.hero-badge{
  background: rgba(255,183,3,.18);
  border: 1px solid rgba(255,183,3,.45);
  color: #fff;
  border-radius: 999px;
  padding: .35rem .75rem;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
}

.icon-pill{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: rgba(11,61,145,.10);
  display:flex;
  align-items:center;
  justify-content:center;
  color: var(--wf-primary);
}

.wf-list-check li{
  margin-bottom: .5rem;
}

.wf-divider{
  height: 1px;
  background: rgba(15, 23, 42, .10);
}

.cookie-banner{
  position: fixed;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 1050;
}

.cookie-card{
  background:#ffffff;
  border: 1px solid rgba(15,23,42,.12);
  border-radius: 1rem;
  box-shadow: 0 18px 40px rgba(15,23,42,.16);
  padding: 1rem;
}

.form-control, .form-select{
  border-radius: .85rem;
  padding: .75rem .9rem;
}

.badge-soft{
  background: rgba(11,61,145,.12);
  color: var(--wf-primary);
  border: 1px solid rgba(11,61,145,.18);
}

a{ color: var(--wf-primary); }
a:hover{ color: #072b66; }

.small-note{ color: var(--wf-muted); }

.img-cover{
  width:100%;
  height:100%;
  object-fit: cover;
}

.wf-footer{ background:#06070a !important; }
.wf-footer .text-light-emphasis{ color: rgba(255,255,255,.72) !important; }
