@charset "UTF-8";
/* CSS Document */

/* Font principali */
body {
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  color: #222;
  line-height: 1.6;
	background-color:#fff;
}

/* Titoli */
h1, h2, h3, h4, h5, h6 {
  font-weight: 800;
  color: #000;
}





/* CARD BASE BARCHE */

.card.ctacard {
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  overflow: hidden;
}

.card.ctacard:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
}

/* IMMAGINE CON WRAPPER */
.boat-image-wrapper {
  aspect-ratio: 16 / 9;
  position: relative;
  overflow: hidden;
}

/* L’IMMAGINE */
.boat-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.6s ease;
}

/* OVERLAY SCURO */
.boat-image-wrapper::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  transition: background 0.6s ease;
}

/* HOVER: ZOOM, ROTAZIONE, OVERLAY */
.card.ctacard:hover .boat-image-wrapper img {
  transform: scale(1.08) rotate(1deg);
}

.card.ctacard:hover .boat-image-wrapper::after {
  background: rgba(0, 0, 0, 0.25);
}


/* SCHEDA DI DETTAGLIO */
/* Slider */
.swiper {
  width: 100%;
  height: 500px;
}
.swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.swiper-button-next, .swiper-button-prev {
  color: #fff;
}

/* Sezione tecnica */
.boat-info-icon {
  min-width: 32px;
  color: #36302D;
}

/* Card pacchetti */
.price {
  font-size: 1.5rem;
  font-weight: 700;
  color: #000;
}
.price-original {
  text-decoration: line-through;
  color: #999;
  font-size: 0.9rem;
  margin-right: 5px;
}


/* BOOKING STEP */

    .step-nav {
      display: flex;
      justify-content: space-between;
      margin-bottom: 2rem;
    }
    .step {
      text-align: center;
      flex: 1;
      position: relative;
    }
    .step:not(:last-child)::after {
      content: '';
      position: absolute;
      right: 0;
      top: 50%;
      width: 100%;
      height: 2px;
      background: #dee2e6;
      z-index: -1;
    }
    .step .number {
      width: 40px;
      height: 40px;
      line-height: 40px;
      border-radius: 50%;
      background: #dee2e6;
      color: #555;
      display: inline-block;
      font-weight: 600;
    }
    .step.active .number {
      background: #000;
      color: #fff;
    }
    .step.completed .number {
      background: #198754;
      color: #fff;
    }
    .step h6 {
      margin-top: .5rem;
      font-size: .9rem;
    }
    .step-content {
      display: none;
    }
    .step-content.active {
      display: block;
      animation: fadeIn 0.4s ease;
    }
    @keyframes fadeIn {
      from { opacity: 0; transform: translateY(10px); }
      to { opacity: 1; transform: translateY(0); }
    }

	.slot-card{ cursor: pointer;}
	.slot-card h6.card-title{
		margin-bottom:0;
	}


	/* Numero di telefono */
	.iti {
	  width: 100%;
	}
	.iti__flag-container {
	  z-index: 5;
	}
	#phone-flag .iti {
	  margin: 0;
	}
	.input-group-text #phone-flag {
	  width: 60px;
	  height: 100%;
	}
	.input-group-text .iti__flag-container {
	  position: absolute;
	  left: 0;
	  top: 50%;
	  transform: translateY(-50%);
	}

	.iti__flag-container .iti__selected-flag{ 
	  background-color: transparent !important 
	}

	/* Correzione estetica blocco bandiera */
	.input-group-text {
	  background: transparent !important;
	  border: none !important;
	  padding: 0 !important;
	}

/*
	#phone-flag {
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  padding-left: 8px;
	  padding-right: 8px;
	}

	.input-group-text #phone-flag .iti__flag-container {
	  position: static !important;
	  transform: none !important;
	}

	.input-group-text #phone-flag .iti {
	  width: auto;
	}
*/



