<turbo-stream action="replace" target="booking_time_slots"><template>
  <turbo-frame id="booking_time_slots">
    <div class="glass-card rounded-2xl p-4 sm:p-6"
     data-testid="booking-time-slots"
     data-controller="booking-time-slots-component--booking-time-slots-component"
     data-booking-time-slots-component--booking-time-slots-component-selected-classes-value="ring-2 ring-secondary-500 bg-secondary-50/80 dark:bg-secondary-900/30 border-secondary-500 shadow-md shadow-secondary-500/15" data-booking-time-slots-component--booking-time-slots-component-step-mode-value="false">

  <h3 class="text-base font-semibold text-gray-900 dark:text-white mb-1">
    Horarios disponibles
  </h3>
  <p class="text-sm text-gray-500 dark:text-gray-400 mb-4">
    20 de julio de 2026
  </p>

    <div class="space-y-3" data-testid="time-slots-grouped">

        <details class="group" open data-testid="time-period-morning">
          <summary class="flex items-center gap-2 cursor-pointer py-2 select-none list-none [&::-webkit-details-marker]:hidden text-sm font-medium text-gray-700 dark:text-gray-300">
            <svg aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="w-4 h-4"><path d="M12 2v8"></path><path d="m4.93 10.93 1.41 1.41"></path><path d="M2 18h2"></path><path d="M20 18h2"></path><path d="m19.07 10.93-1.41 1.41"></path><path d="M22 22H2"></path><path d="m8 6 4-4 4 4"></path><path d="M16 18a4 4 0 0 0-8 0"></path></svg>
            Mañana
            <span class="text-gray-400 text-xs">(11)</span>
            <svg aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="w-4 h-4 ml-auto text-gray-400 transition-transform group-open:rotate-180"><path d="m6 9 6 6 6-6"></path></svg>
          </summary>

          <div class="grid grid-cols-2 sm:grid-cols-3 gap-2 mt-2">
                <div class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-gray-100 dark:bg-gray-700 text-gray-400 dark:text-gray-500 cursor-not-allowed line-through"
                     title="Este horario ya no está disponible"
                     data-testid="slot-2026-07-20-565">
                  9:25 AM
                </div>
                <div class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-gray-100 dark:bg-gray-700 text-gray-400 dark:text-gray-500 cursor-not-allowed line-through"
                     title="Este horario ya no está disponible"
                     data-testid="slot-2026-07-20-580">
                  9:40 AM
                </div>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-595"
                        data-end-minutes="605"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  9:55 AM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-610"
                        data-end-minutes="620"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  10:10 AM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-625"
                        data-end-minutes="635"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  10:25 AM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-640"
                        data-end-minutes="650"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  10:40 AM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-655"
                        data-end-minutes="665"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  10:55 AM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-670"
                        data-end-minutes="680"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  11:10 AM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-685"
                        data-end-minutes="695"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  11:25 AM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-700"
                        data-end-minutes="710"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  11:40 AM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-715"
                        data-end-minutes="725"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  11:55 AM
                </button>
          </div>
        </details>

        <details class="group" open data-testid="time-period-afternoon">
          <summary class="flex items-center gap-2 cursor-pointer py-2 select-none list-none [&::-webkit-details-marker]:hidden text-sm font-medium text-gray-700 dark:text-gray-300">
            <svg aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="w-4 h-4"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg>
            Tarde
            <span class="text-gray-400 text-xs">(19)</span>
            <svg aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="w-4 h-4 ml-auto text-gray-400 transition-transform group-open:rotate-180"><path d="m6 9 6 6 6-6"></path></svg>
          </summary>

          <div class="grid grid-cols-2 sm:grid-cols-3 gap-2 mt-2">
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-730"
                        data-end-minutes="740"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  12:10 PM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-745"
                        data-end-minutes="755"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  12:25 PM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-760"
                        data-end-minutes="770"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  12:40 PM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-775"
                        data-end-minutes="785"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  12:55 PM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-790"
                        data-end-minutes="800"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  1:10 PM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-805"
                        data-end-minutes="815"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  1:25 PM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-820"
                        data-end-minutes="830"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  1:40 PM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-900"
                        data-end-minutes="910"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  3:00 PM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-915"
                        data-end-minutes="925"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  3:15 PM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-930"
                        data-end-minutes="940"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  3:30 PM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-945"
                        data-end-minutes="955"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  3:45 PM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-960"
                        data-end-minutes="970"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  4:00 PM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-975"
                        data-end-minutes="985"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  4:15 PM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-990"
                        data-end-minutes="1000"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  4:30 PM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-1005"
                        data-end-minutes="1015"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  4:45 PM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-1020"
                        data-end-minutes="1030"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  5:00 PM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-1035"
                        data-end-minutes="1045"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  5:15 PM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-1050"
                        data-end-minutes="1060"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  5:30 PM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-1065"
                        data-end-minutes="1075"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  5:45 PM
                </button>
          </div>
        </details>

        <details class="group" open data-testid="time-period-night">
          <summary class="flex items-center gap-2 cursor-pointer py-2 select-none list-none [&::-webkit-details-marker]:hidden text-sm font-medium text-gray-700 dark:text-gray-300">
            <svg aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="w-4 h-4"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg>
            Noche
            <span class="text-gray-400 text-xs">(2)</span>
            <svg aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="w-4 h-4 ml-auto text-gray-400 transition-transform group-open:rotate-180"><path d="m6 9 6 6 6-6"></path></svg>
          </summary>

          <div class="grid grid-cols-2 sm:grid-cols-3 gap-2 mt-2">
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-1080"
                        data-end-minutes="1090"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  6:00 PM
                </button>
                <button type="button"
                        class="rounded-lg px-3 py-2.5 text-center text-sm font-medium transition-colors bg-white/60 dark:bg-gray-700/60 text-gray-900 dark:text-white border border-gray-200/60 dark:border-gray-600/60 hover:border-primary-500 hover:bg-primary-50/80 dark:hover:bg-primary-900/30 focus:ring-2 focus:ring-primary-500 focus:outline-none cursor-pointer "
                        
                        data-testid="slot-2026-07-20-1095"
                        data-end-minutes="1105"
                        
                        data-action="click->booking-time-slots-component--booking-time-slots-component#selectSlot">
                  6:15 PM
                </button>
          </div>
        </details>
    </div>
</div>
</turbo-frame></template></turbo-stream>