/* El Petit Món · página de reserva */

html { scroll-behavior: smooth; scroll-padding-top: 96px; }

.pm-input {
  width: 100%;
  border: 1.5px solid #f3d8e6;
  border-radius: 14px;
  background: #fffdf8;
  padding: 11px 15px;
  font: 600 14.5px/1.45 'Nunito', system-ui, sans-serif;
  color: #4a3d52;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}
.pm-input::placeholder { color: #c4b6cd; font-weight: 400; }
.pm-input:focus { border-color: #ef6daa; box-shadow: 0 0 0 4px rgba(239, 109, 170, .12); }

/* Pasos */
.pm-step { background: #f7eef4; color: #b3a4bd; transition: all .25s; }
.pm-step-on { background: linear-gradient(90deg, #ef6daa, #a78bfa); color: #fff; }

/* Celdas del calendario */
.pm-day {
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 14px;
  font: 700 14.5px 'Nunito', system-ui, sans-serif;
  color: #4a3d52;
  border: 1.5px solid transparent;
  cursor: pointer;
  transition: transform .15s, border-color .15s, background .15s;
}
.pm-day-free { background: #e2f6f0; }
.pm-day-free:hover { transform: scale(1.07); border-color: #6fd1bd; }
.pm-day-half { background: #fbeec9; }
.pm-day-half:hover { transform: scale(1.07); border-color: #f6cf6b; }
.pm-day-off { background: #fbe9f2; color: #d8b9c9; cursor: not-allowed; }
.pm-day-sel { border-color: #ef6daa; box-shadow: 0 0 0 3px rgba(239, 109, 170, .18); transform: scale(1.05); }

/* Botones de turno */
.pm-slot {
  text-align: left;
  border: 2px solid #f3d8e6;
  border-radius: 18px;
  background: #fffdf8;
  padding: 14px 18px;
  color: #4a3d52;
  cursor: pointer;
  transition: all .2s;
}
.pm-slot:hover { border-color: #ef6daa; background: #fdf2f8; }
.pm-slot-sel { border-color: #ef6daa; background: #fdf2f8; box-shadow: 0 10px 26px -14px rgba(217, 79, 146, .45); }
.pm-slot-off { opacity: .55; cursor: not-allowed; background: #f7f3f5; color: #9b8aa6; }
.pm-slot-off:hover { border-color: #f3d8e6; background: #f7f3f5; }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
