.section{max-width:var(--max-width);margin:2.25rem auto;padding:0 1rem}
.section h2{text-align:center;margin-bottom:1rem;color:var(--dark-blue)}
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;align-items:start}
.price-card{
  background:var(--dark-blue);
  color:#fff;
  border-radius:12px;
  padding:1rem;
  overflow:hidden;
  box-shadow:0 8px 26px rgba(2,18,48,.16);
  display:flex;
  flex-direction:column;
  gap:.65rem;
}
.price-card img{width:100%;height:140px;object-fit:cover;border-radius:10px}
.price-card h3{color:var(--baby-blue);margin-top:.25rem}
.features{list-style:none;padding-left:0;margin-top:.25rem}
.features li{display:flex;gap:.6rem;align-items:center;margin:.4rem 0}
.feat-dot{width:10px;height:10px;border-radius:50%;background:var(--baby-blue);display:inline-block}
.how-to-book-container{display:flex;flex-direction:column;align-items:center}
.how-to-book-step{
  display:flex;
  align-items:center;
  background:#fff;
  border-radius:10px;
  padding:20px;
  margin-bottom:20px;
  width:100%;
  max-width:600px;
  box-shadow:0 4px 6px rgba(0,0,0,.1);
  transition:transform .2s ease-in-out;
}
.how-to-book-step:hover{transform:translateY(-3px)}
.how-to-book-step i{font-size:40px;color:#002147;margin-right:20px}
.how-to-book-step h3{margin:0;font-size:20px;color:#002147}
.how-to-book-step p{margin:5px 0 0;color:#555;font-size:14px}

.modal-stepper{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.55rem;
  margin-bottom:1rem;
}
.modal-stepper__item{
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:72px;
  text-align:center;
}
.modal-stepper__dot{
  width:28px;
  height:28px;
  border-radius:999px;
  background:#0A1F44;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.86rem;
  font-weight:700;
}
.modal-stepper__label{
  margin-top:.3rem;
  font-size:.74rem;
  font-weight:600;
  color:#334a6b;
}
.modal-stepper__line{
  flex:1;
  height:2px;
  background:#d9e6f8;
}

.modal-booking-form{width:100%}
.modal-step-panel.hidden{display:none}
.modal-booking-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.7rem .8rem;
  margin-bottom:.85rem;
}
.modal-actions{
  display:flex;
  justify-content:space-between;
  gap:.6rem;
  margin-top:.2rem;
}
.modal-nav-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  min-width:120px;
  padding:.75rem 1rem;
}
.modal-stepper__item.is-active .modal-stepper__dot{
  background:#0A1F44;
  box-shadow:0 0 0 3px rgba(137,207,240,.35);
}
.modal-stepper__item:not(.is-active) .modal-stepper__dot{
  background:#c7d8ef;
  color:#365173;
}
.modal-stepper__item.is-active .modal-stepper__label{
  color:#0A1F44;
}
.modal-field{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.modal-field label{
  font-size:.82rem;
  font-weight:600;
  color:#3a4f6d;
}
.modal-field input{
  width:100%;
  min-width:0;
  padding:.62rem .72rem;
  border:1px solid #d5e2f3;
  border-radius:10px;
  font-size:.95rem;
  color:#0A1F44;
  background:#fff;
}
.modal-field input:focus{
  outline:none;
  border-color:#7da7df;
  box-shadow:0 0 0 3px rgba(137,207,240,.25);
}

@media (max-width:700px){
  .modal-booking-grid{grid-template-columns:1fr}
  .modal-stepper__label{font-size:.68rem}
  .modal-actions{flex-wrap:wrap}
  .modal-nav-btn{width:100%}
}
