/* Layout generale */
body {
  background-color: #fffaf5; /* Beige chiaro, tono caldo e accogliente */
  color: #333;
  font-family: 'Segoe UI', 'Helvetica Neue', sans-serif;
  line-height: 1.7;
}

/* Colori principali */
:root {
  --colore-primario: #F28C28; /* Arancione caldo */
  --colore-secondario: #233E93; /* Blu reale */
  --colore-accento: #C1442E; /* Rosso rubino */
  --colore-tenue: #fdf7f2; /* Sfondo soft per sezioni */
  --colore-testo: #3a3a3a; /* Testo principale leggermente più scuro */
}

/* Hero più morbido */
.container-fluid-bg.bg-dark {
  background-color: var(--colore-tenue) !important;
  color: var(--colore-secondario) !important;
}

/* Titolo privacy */
.container-fluid-bg h1.display-4 {
  font-weight: 700;
  font-size: 2.8rem;
  color: var(--colore-secondario);
}

/* Lead */
.container-fluid-bg .lead {
  font-weight: 400;
  font-size: 1.25rem;
  color: #5a5a5a;
}

/* Titoli sezioni */
.container h2 {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--colore-accento);
  margin-top: 2rem;
  padding-left: 0.6rem;
}

/* Liste */
.container ul {
  padding-left: 1.5rem;
  margin-bottom: 1.5rem;
}

.container ul li {
  margin-bottom: 0.5rem;
}

/* Link email */
.container a {
  color: var(--colore-secondario);
  text-decoration: underline;
}

.container a:hover {
  color: var(--colore-primario);
}

/* Footer migliorato */
footer {
  background-color: #f5f5f5;
  color: var(--colore-secondario);
  font-size: 0.95rem;
  padding: 2rem 0;
}

/* Navbar di base */
.navbar, nav {
  background-color: var(--colore-primario) !important; /* sfondo arancione caldo */
}

/* Brand e link nella navbar */
.navbar .navbar-brand,
.navbar-nav .nav-link {
  color: var(--colore-tenue) !important; /* testi chiari sullo sfondo arancione */
}

.navbar-nav .nav-link:hover,
.navbar .navbar-brand:hover {
  color: var(--colore-secondario) !important; /* blu reale al passaggio */
}

/* Hamburger icon per mobile */
.navbar-toggler {
  border-color: var(--colore-tenue) !important;
}
.navbar-toggler-icon {
  filter: invert(1); /* rende visibili le righe bianche su sfondo arancione */
}

/* Collapse (menu mobile) */
@media (max-width: 991px) {
  .navbar-collapse {
    background-color: var(--colore-tenue) !important; /* bianco caldo */
    padding: 1rem;
  }
}

/* Dropdown menu */
.dropdown-menu {
  background-color: var(--colore-tenue) !important;
  border: 1px solid var(--colore-secondario);
}
.dropdown-item {
  color: var(--colore-secondario) !important;
}
.dropdown-item:hover,
.dropdown-item:focus {
  background-color: var(--colore-primario) !important;
  color: var(--colore-tenue) !important;
}

/* Link “normali” (fuori navbar) */
.container a {
  color: var(--colore-secondario) !important;
  text-decoration: underline;
  opacity: 1 !important; /* assicura piena opacità */
}
.container a:hover {
  color: var(--colore-primario) !important;
}

.logo-circle {
  background-color: #fff;      /* cerchio bianco */
  border-radius: 50%;          /* rende il contenitore tondo */
  padding: 5px;                /* spazio interno */
  display: flex;
  align-items: center;
  justify-content: center;
}

.logo-img {
  height: 50px;                /* altezza standard */
  width: auto;                 /* mantiene proporzioni */
  display: block;
}


/* Navbar mobile: testo scuro su sfondo chiaro */
@media (max-width: 991px) {
  .navbar-collapse {
    background-color: var(--colore-tenue) !important; /* sfondo chiaro */
  }
  .navbar-collapse .nav-link {
    color: var(--colore-secondario) !important; /* testo blu reale più scuro */
  }
  .navbar-collapse .nav-link:hover,
  .navbar-collapse .nav-link:focus {
    color: var(--colore-primario) !important; /* arancione caldo al passaggio */
  }
}

/* Navbar toolbar: link sempre in grassetto */
.navbar-nav .nav-link {
  font-weight: 700 !important;
}

/* Pulsante “Scopri di più” brandizzato */
/* Pulsante “Scopri di più” senza sfondo */
.btn-scopri {
  display: inline-block;
  padding: 0.6rem 1.2rem;
  background-color: transparent;              /* sfondo trasparente */
  color: var(--colore-secondario);             /* testo blu reale */
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.9rem;
  border: 2px solid var(--colore-secondario);  /* bordo blu reale */
  border-radius: 4px;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.btn-scopri:hover,
.btn-scopri:focus {
  background-color: var(--colore-secondario); /* riempimento blu reale */
  color: var(--colore-tenue);                  /* testo chiaro */
  text-decoration: none;
  outline: none;
}

/* Pulsante chiave admin */
.admin-key {
  background-color: var(--colore-primario);
  border: none;
  color: #fff !important;
  font-weight: 600;
  padding: 0.35rem 0.6rem;
  border-radius: 999px;
  box-shadow: 0 1px 4px rgba(0,0,0,.12);
  transition: transform .08s ease-in, background-color .2s ease-in-out;
}
.admin-key:hover {
  background-color: var(--colore-accento);
  color: #fff !important;
  transform: translateY(-1px);
}
.admin-key .fa-key { font-size: 0.9rem; }

/* Link admin nel footer */
.link-admin {
  color: var(--colore-primario);
  text-decoration: none;
  font-weight: 600;
}
.link-admin:hover {
  color: var(--colore-accento);
  text-decoration: underline;
}

/* tipografia footer secondaria */
.small-2 { font-size: .85rem; opacity: .9; }

.breadcrumb a { text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }

/* STORY LAYOUT */
.story-section { padding: 1.75rem 0; border-bottom: 1px solid rgba(0,0,0,.06); }
.story-section:last-of-type { border-bottom: 0; }
.section-head { margin-bottom: .75rem; }
.section-title {
  position: relative; padding-left: .75rem; margin: 0 0 .25rem;
  font-weight: 700; line-height: 1.2;
}
.section-title::before {
  content: ""; position: absolute; left: 0; top: .2em; bottom: .2em; width: .2rem;
  background: var(--bs-primary);
  border-radius: .25rem;
}
.section-kicker { margin: 0; color: var(--bs-secondary-color); font-size: .95rem; }

.prose p { margin-bottom: .8rem; }
.prose p:last-child { margin-bottom: 0; }

.media-card .media-thumb img,
.ratio img { object-fit: cover; }

.gallery-strip { display: grid; grid-template-columns: 1fr; gap: .75rem; }
@media (min-width: 576px) {
  .gallery-strip { grid-template-columns: repeat(2, 1fr); }
}

.quote-card {
  border-left: .35rem solid var(--bs-primary);
  background: rgba(13,110,253,.06);
  padding: .75rem .9rem;
  border-radius: .5rem;
}

.checklist { padding-left: 0; list-style: none; margin: 0; }
.checklist li {
  position: relative; padding-left: 1.5rem; margin-bottom: .35rem;
}
.checklist li::before {
  content: "\f00c"; /* fontawesome check */
  font: normal 900 0.9rem/1 "Font Awesome 6 Free";
  color: var(--bs-success);
  position: absolute; left: 0; top: .2rem;
}

/* riduci gli spazi verticali generici delle figure */
figure { margin: 0; }
.caption { line-height: 1.3; }
