/*******form****/
:root {
  --rosso-pfnc: #ff000e;
}

 h1, h2, h3, h4, h5, h6 {
      font-family: 'Anton', sans-serif;
      color: #000;
    }


.sezione h3 {
  font-family: 'Anton', sans-serif;
  font-size: 2rem;
  color: #000000;
}


.container-custom {
      max-width: 1140px;
      margin: 0 auto;
    }

    .sidebar {
      background-color: #f8f9fa;
      padding: 30px;
      height: 100%;
    }



    .sidebar a {
      display: block;
      margin: 10px 0;
      color: #000;
      text-decoration: none;
    }

    .sidebar a.active {
      color: var(--rosso-pfnc);
      font-weight: bold;
    }

    .sidebar a.logout {
      color: var(--rosso-pfnc);
      font-weight: bold;
      margin-top: 20px;
    }

    .abbonamento-box {
      background-color: #f9f9f9;
      border-top: 5px solid var(--rosso-pfnc);
      padding: 20px;
      margin-bottom: 30px;
    }

    .abbonamento-box h5 {
      background-color: var(--rosso-pfnc);
      padding: 10px;
      color: white;
      font-family: 'Anton', sans-serif;
    }

.abbonamento-box h5.verde {
      background-color:#13A331;
      padding: 10px;
      color: white;
      font-family: 'Anton', sans-serif;
    }

.abbonamento-box h5.arancio {
      background-color:#DD6823;
      padding: 10px;
      color: white;
      font-family: 'Anton', sans-serif;
    }

    .abbonamento-box p {
      margin: 5px 0;
    }

    .contratto, .regolamenti {
      margin-top: 20px;
    }

    .contratto i, .regolamenti i {
      margin-right: 5px;
      color: var(--rosso-pfnc);
    }

    .regolamenti a {
      margin-right: 25px;
    }

    .btn-calendar {
      background-color: var(--rosso-pfnc);
      color: white;
      font-weight: bold;
      margin-top: 10px;
      border: none;
    }

    .logo {
      max-width: 200px;
    }

input::placeholder {
  color: #aaa;
}

.bg-light {
  border-left: 5px solid var(--rosso-pfnc);
}

.btn-danger {
  background-color: var(--rosso-pfnc);
  border-color: var(--rosso-pfnc);
}

.btn-danger:hover {
  background-color: #cc000b;
  border-color: #cc000b;
}

.btn-outline-danger {
  color: var(--rosso-pfnc);
  border-color: var(--rosso-pfnc);
}

.btn-outline-danger:hover {
  background-color: var(--rosso-pfnc);
  color: white;
}

.form-control:focus,
.custom-select:focus {
  border-color: var(--rosso-pfnc);
  box-shadow: 0 0 0 0.2rem rgba(255, 0, 14, 0.25);
}

.form-check-input:checked {
  background-color: var(--rosso-pfnc);
  border-color: var(--rosso-pfnc);
}
/*************fine form***/

body {
  font-family: 'Roboto', sans-serif;
  font-size: 12px;
  color: #000000;
}

iframe {
  display: block;
  margin: 0;
  padding: 0;
  border: none;
  width: 100vw;
  height: 100vh;
}

.titolo-shadow a {
  color: #000000;
  text-decoration: none;
  background-color: transparent;
}

.titolo-shadow-w a {
  color: #ffffff;
  text-decoration: none;
  background-color: transparent;
}

.image-title {
  text-align: center;
  margin-top: 0.5rem;
  font-weight: 500;
}

.image-title-w {
  text-align: center;
  margin-top: 0.5rem;
  font-weight: 500;
  color: #ffffff;
}

.img-fluid {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.titolo-outline,
.titolo-shadow,
.titolo-shadow-w {
  font-family: 'Anton', sans-serif;
  text-transform: uppercase;
  margin: 0;
  line-height: 1;
  text-align: left;
}

.titolo-outline {
  color: transparent;
  -webkit-text-stroke: 2px red;
}

.titolo-shadow {
  color: #000000;
}

.titolo-shadow-w {
  color: #ffffff;
}

@media (max-width: 768px) {
  .titolo-outline,
  .titolo-shadow,
  .titolo-shadow-w {
    font-size: 2rem;
  }
}

@media (min-width: 769px) {
  .titolo-outline,
  .titolo-shadow,
  .titolo-shadow-w {
    font-size: 3rem;
  }
}

.carousel-inner .col {
  padding: 10px;
}

.sezione {
  background-color: #ffffff;
  padding: 20px 0 40px 0;
  margin: 0;
}

.sezione-b {
  background-color: #000000;
  padding: 20px 0 40px 0;
  margin: 0;
}

.sezione-c {
  background-color: #ff000e;
  padding: 20px 0 60px 0;
  margin: 0px !important;
}

.custom-arrows {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.custom-arrows img {
  width: 30px;
  height: auto;
}

.custom-arrows img:hover {
  filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.3));
}

/* Classe per 8 colonne su desktop */
@media (min-width: 992px) {
  .col-lg-1-5 {
    flex: 0 0 12.5%;
    max-width: 12.5%;
  }
}

/********** NUOVO LAYOUT CONTAINER **********/
.container {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 15px;
}

.row {
  display: flex;
  flex-wrap: wrap;
}

/*****BLOCCHI******/
    :root {
      --rosso-pfnc: #ff000e;
      --grigio-scuro: #2b2b2b;
    }

    /* =========================
       Card custom (no conflict with bootstrap .card)
       ========================= */


    .pf-card {
      background: #fff;
      border-radius: 8px;
      overflow: hidden;
      box-shadow: 0 3px 10px rgba(0,0,0,0.12);
      position: relative;
      margin-bottom: 20px;
      display:flex;
      flex-direction:column;
      height:100%;
    }

.pf-card .ribbon {
  width: 160px;
  background: var(--rosso-pfnc);
  color: white;
  text-align: center;
  font-size: 0.75rem;
  font-weight: bold;
  position: absolute;
  top: 15px;
  left: -40px;
  transform: rotate(-45deg);
  box-shadow: 0 3px 6px rgba(0,0,0,0.3);
  padding: 6px 0;
  z-index: 10;
}


    .pf-card .header-offerta {
      background: #ffe6e6;
      text-align: center;
      padding: 6px 8px;
      font-size: 0.85rem;
      font-weight: 700;
    }

    .pf-card .contenuto {
      padding: 15px 15px 0px 15px;
      text-align: center;
    }
    .pf-card .contenuto h2 {
      font-family: 'Anton', sans-serif;
      font-size: 1.35rem;
      margin: 6px 0;
      line-height:1.05;
    }
    .pf-card .contenuto p { font-size: 0.9rem; color: #000000; margin: 6px 0 12px; }

    .offerta-prezzo {
      display:flex;
      align-items:center;
      justify-content:center;
      gap:12px;
      margin-bottom:8px;
    }
    .offerta-prezzo span {
      background: #ffe6e6;
      padding:6px 10px;
      border-radius:50%;
      font-weight:700;
      font-size:0.82rem;
    }
    .prezzo { font-size:1.8rem; font-weight:800; color:#ff000e;}

    .periodo { font-size:0.85rem; color:#000; margin-bottom:8px; }

    .tabella {
      background: #ccc;
      color: #000;
      font-size: 0.85rem;
      padding: 10px;
      text-align: left;
    }
    .tabella div { display:flex; justify-content:space-between; padding:4px 0; }

    .sconto { background: var(--rosso-pfnc); color:#fff; text-align:center; padding:10px; font-weight:700; }

    .pf-card .btn-acquista {
      background: var(--rosso-pfnc);
      color: #fff;
      border: none;
      padding: 10px;
      font-size: 1rem;
      font-weight:700;
      cursor:pointer;
      width: calc(100% - 30px);
      margin: 12px 15px 0px 15px;
      border-radius: 4px;
    }



    .lista {
      padding: 10px 20px;
      font-size: 0.9rem;
      flex: 1 0 auto; /* occupa lo spazio per mantenere il footer in basso */
    }
    .lista div {
      display:flex;
      align-items:center;
      justify-content:space-between;
      border-bottom: 1px solid #eee;
      padding:6px 0;
    }
    .lista div span { font-size:0.8rem; background:#ccc; border-radius:3px; padding:2px 6px; }
    .lista div span.red { background: var(--rosso-pfnc); color:#fff; }

    .prenota {
      background: var(--rosso-pfnc);
      color: #fff;
      padding: 12px;
      text-align: center;
      font-weight: 700;
      cursor:pointer;
      border-radius: 0 0 8px 8px;
      margin-top: auto;
    }

.acquista {
      background: var(--rosso-pfnc);
      color: #fff;
      padding: 12px;
      text-align: center;
      font-weight: 700;
      cursor:pointer;
      border-radius: 0 0 8px 8px;
    }

    /* Small visual tweaks responsive */
    @media (max-width: 575px) {
      .pf-card .contenuto h2 { font-size: 1.15rem; }
      .prezzo { font-size: 1.4rem; }
		
		.pf-card .ribbon {
    width: 120px;
    left: -30px;
    font-size: 0.65rem;
  }
    }


/* Bottoni sezione SEZIONE BOTTONI */
.btn-group-custom {
  gap: 10px;
  flex-wrap: wrap;
}

.btn-pfnc {
  background-color: var(--rosso-pfnc);
  color: #fff;
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
  text-transform: uppercase;
  font-family: 'Anton', sans-serif;
  font-size: 1rem;
  transition: background-color 0.3s ease;
}

.btn-pfnc:hover {
  background-color: #000000;
  color: #fff;
}

.btn-pfnc.active {
  background-color: #000000;
  color: #fff;
}

@media (max-width: 575px) {
  .btn-pfnc {
    width: 100%;
    font-size: 0.9rem;
  }
}

/*******select***/
.select-pfnc {
  border: 2px solid var(--rosso-pfnc);
  border-radius: 4px;
  padding: 10px 12px;
  font-size: 1rem;
  font-family: 'Roboto', sans-serif;
  background-color: #fff;
  color: #000;
  width: 450px !important; /* forza larghezza su desktop */
  max-width: 100%;
  margin: 0 auto;
  display: block;
}

@media (max-width: 991.98px) {
  .select-pfnc {
    width: 80% !important; /* forza larghezza su tablet e mobile */
  }
}
