body {
  font-family: 'Montserrat', sans-serif;
  background-color: black;
  color: white;
}
.header-section {
  width: 75%;
}
@media (max-width: 767px) {
  body {
    font-size: 0.9rem;
    /* riduzione generale del testo */
  }
  h1 {
    font-size: 1.8rem;
  }
  h2 {
    font-size: 1.5rem;
  }
  h3 {
    font-size: 1.2rem;
  }
  .header-section {
    width: 100%;
  }
}
.preheader {
  padding-top: 20px;
  padding-bottom: 20px;
}
.navbar-nav {
  gap: 2rem;
  /* spazio tra le voci */
}
.navbar-nav .nav-link {
  color: white !important;
  /* forza il colore bianco */
  font-weight: 500;
  /* opzionale, testo leggermente più spesso */
}
.navbar-nav .nav-link:hover {
  color: #EA5C0C !important;
  /* esempio: arancione al passaggio */
}
.btn-outline-white {
  color: white;
  border: 2px solid white;
  background-color: transparent;
  font-weight: bold;
}
.btn-outline-white:hover {
  background-color: white;
  color: #EA5C0C;
}
.btn-orange {
  background: #EA5C0C;
  border: 2px solid #EA5C0C;
  color: white;
  font-weight: bold;
  padding: 5px 60px;
  text-align: center;
  margin: 20px auto;
  border-radius: 30px;
}
.btn-orange.btn-small {
  padding: 3px 20px;
  margin: 0;
}
.btn-orange:hover {
  background: #EA5C0C;
  color: white;
  border: 2px solid white;
}
.btn-outline-orange {
  color: #EA5C0C;
  border: 2px solid #EA5C0C;
  background-color: transparent;
  font-weight: bold;
}
.btn-outline-orange:hover {
  background-color: #EA5C0C;
  color: white;
}
.text-orange {
  color: #EA5C0C;
}
.object-fit-cover {
  object-fit: cover;
}
.border-yellow {
  border-color: #FFB62E !important;
}
iframe {
  border: none;
}
.swiper {
  width: 100%;
  height: 100%;
}
.swiper-button-prev-moduli,
.swiper-button-next-moduli {
  color: #EA5C0C;
}
.swiper-button-prev-icone,
.swiper-button-next-icone {
  color: #FD191A;
}
.swiper-button-prev-voci,
.swiper-button-next-voci {
  color: #FFB62E;
}
.swiper-button-prev-icone,
.swiper-button-next-icone {
  color: #FD191A;
}
.swiper-button-prev-icone,
.swiper-button-prev-sponsor {
  transform: translateX(-1rem);
}
.swiper-button-next-icone,
.swiper-button-next-sponsor {
  transform: translateX(1rem);
}
.swiper-button-prev:after,
.swiper-button-next:after {
  font-size: 1.3rem;
}
.swiper-button-prev-voci,
.swiper-button-next-voci,
.swiper-button-prev-moduli,
.swiper-button-next-moduli {
  position: relative;
  width: auto;
  height: auto;
  left: auto;
  right: auto;
  margin: auto;
}
.btn-close {
  --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 stroke=%27%23EA5C0C%27 stroke-width=%274%27 stroke-linecap=%27round%27%3e%3cline x1=%272%27 y1=%272%27 x2=%2714%27 y2=%2714%27/%3e%3cline x1=%2714%27 y1=%272%27 x2=%272%27 y2=%2714%27/%3e%3c/svg%3e");
  opacity: 1;
}
.modal-body {
  padding: 0 3rem 2rem;
}
ol.ol-modules {
  counter-reset: level1 -1;
  padding-left: 1.5rem;
}
ol.ol-modules > li {
  counter-increment: level1;
  margin-bottom: 0.5rem;
}
ol.ol-modules > li::marker {
  font-weight: bold;
  content: counter(level1) " ";
}
ol.ol-modules li ol {
  counter-reset: level2;
  padding-left: 2.5rem;
}
ol.ol-modules li ol > li {
  counter-increment: level2;
}
ol.ol-modules li ol > li::marker {
  font-weight: bold;
  content: counter(level1) "." counter(level2) " ";
}
.modal-black .modal-content {
  background-color: #1c1c1c;
  opacity: 0.9;
}
.warning-icon {
  font-size: 3rem;
  color: #00FF00;
  margin-bottom: 2rem;
}
.btn-modal-black {
  background-color: black;
  color: white;
  border-radius: 50px;
  padding: 0.75rem 2rem 0.75rem 1rem;
  /* meno spazio a sinistra */
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.75rem;
  /* meno spazio tra icona e testo */
  border: none;
  transition: background 0.2s ease-in-out;
  min-width: 280px;
  text-align: left;
}
.btn-modal-black:hover {
  background-color: #444;
  color: white;
}
.icon-circle {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  color: black;
  font-size: 1.5rem;
  flex-shrink: 0;
}
.btn-text {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
.icon-circle-yellow {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: #FFB62E;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 4rem;
  flex-shrink: 0;
}
.text-red {
  color: #FD191A;
}
.bg-grey {
  background: #f2f2f2;
}
.bg-grey-dark {
  background: #3c3c3c;
}
.text-yellow {
  color: #FFB62E;
}
.bg-green {
  background: #00FF00;
  color: black;
}
.frame-width {
  width: 100%;
}
@media (min-width: 1400px) {
  .frame-width {
    width: 80%;
  }
}

