/* CSS for custom time selector - save to assets/css/custom-time-selector.css */

/* Custom time field container */
.custom-time-field {
    position: relative;
  }
  
  /* Remove default select styling */
  .booking-form__time-input {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 100%;
    padding: 13px 20px 13px 18px!important;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: white;
    cursor: pointer;
  }
  
  /* Custom arrow */
  .custom-time-field::after {
    content: '';
    position: absolute;
    right: 18px;
    top: calc(50% + 5px);
    width: 8px;
    height: 8px;
    border-bottom: 2px solid #000;
    border-right: 2px solid #000;
    transform: translateY(-50%) rotate(45deg);
    pointer-events: none;
  }


  
  /* Custom dropdown styling */
  .time-select-grid {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: 100%;
    right: 0;
    width: 100%;
    min-width: 360px;
    z-index: 1000;
    background: white;
    border: 1px solid #ccc;
    border-radius: 14px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    padding: 18px 28px;
    margin-top: 12px;
    transition: opacity .3s ease;
  }
  
  .time-select-grid.active {
    visibility: visible;
    margin-top: 5px;
    opacity: 1;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 6px 4px;
    transition: all .3s ease;
  }
  
  .time-option {
    padding: 2px 6px;
    text-align: center;
    cursor: pointer;
    border-radius: 3px;
    transition: background-color 0.2s, border-color 0.2s;
  }
  
  .time-option:hover {
    background-color: #E4352C;
    color: #FFF;
    transition: background-color 0.2s, border-color 0.2s;
  }
  
  .time-option.selected {
    background-color: #E4352C;
    color: #FFF;
    transition: background-color 0.2s, border-color 0.2s;
  }

  .time-option.disabled.booked-slot {
    background-color: orange;
    color: #f1f1f1;
  }
  
  /* Make existing select dropdowns match the custom style */
  .booking-form__location-input {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 100%;
    padding: 13px 20px 13px 13px;
    border: 1px solid #000;
    border-radius: 4px;
    background-color: white;
    cursor: pointer;
  }
  
  .booking-form__field:has(.booking-form__location-input)::after {
    content: '';
    position: absolute;
    right: 18px;
    top: calc(50% + 5px);
    width: 8px;
    height: 8px;
    border-bottom: 2px solid #000;
    border-right: 2px solid #000;
    transform: translateY(-50%) rotate(45deg);
    pointer-events: none;
  }