
.form_booking_page_content {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  max-width: 100% !important;
  min-width: 100% !important;
.booking_form_general_container {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;

  @media (min-width: 721px) {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 25px;
    max-width: 720px !important;
  }

  .form_title_style {
    font-weight: 700;
    font-size: 32px;
    line-height: 33px;
    text-align: center;
    color: #00508D;

    @media (min-width: 721px) {
      font-size: 50px;
      line-height: 52px;
      text-align: left;
    }
  }

  .input_field_style {
    border-radius: 6px;
    height: 60px;
    min-width: 320px;
    max-width: 350px;
    border: none;
    background-color: #e8f0fe;
    font-size: 16px;
    padding: 5px 10px;
    color: #0d0d0d;

    &:focus {
      border: none;
      outline: none;
    }
  }

  .extra_style {
    width: 100%;
    max-width: 320px;
    min-width: 320px;

    @media (min-width: 721px) {
      min-width: 670px;
      max-width: 670px;
    }
  }

  .decorator {
    opacity: 0;
    display: none;

    @media (min-width: 721px) {
      display: block;
    }
  }

  .select_style {
    max-width: 370px;
    min-width: 320px;
    color: #0d0d0d;
    padding: 12px 40px 12px 16px;
    /* Ajusta el padding derecho para la flecha */
    height: 60px;
    /* Alto fijo del select */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
  }

  /* Estilos para el dropdown (opciones) */
  .select_style option {
    /* Dimensiones y padding */
    padding: 12px 16px;
    /* Alto personalizado */
    line-height: 1.5;

    /* Bordes y fondo */
    border: none !important;
    /* Eliminar bordes */
    border-radius: 12px;
    /* Bordes redondeados */
    background-color: #e8f0fe;
    /* Texto */
    font-size: 16px;
    color: #374151;
  }

  /* Hover en opciones */
  .select_style option:hover {
    background-color: #bfdbfe;
    /* Azul claro */
  }

  /* Eliminar margen del primer y último elemento */
  .select_style option:first-child {
    margin-top: 0 !important;
  }

  .select_style option:last-child {
    margin-bottom: 0 !important;
  }

  .btn_submit_container {
    display: flex;
    width: 100%;
    justify-content: center;
    padding-right: 0px;

    .btn_submit_style {
      cursor: pointer;
      height: 50px;
      border: none;
      background-color: #FF9900;
      color: #FFFFFF;
      padding: 5px 10px;
      font-size: 16px;
      text-align: center;
      transition: all 0.3s;
      border-radius: 8px;
      width: 100%;
      min-width: 320px;
      max-width: 320px;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 5px;

      @media (min-width: 721px) {
        max-width: 660px;
      }

      &:hover {
        transition: all 0.3s;
        background-color: #ff7300;
      }

      #loading_rotate {
        animation: spin 1s linear infinite;
        display: none;
      }
    }
  }

  #loading_orders {
    color: #FF7300;
    animation: spin 1s linear infinite;
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
  }

  #time-slots {
    width: 100%;
    display: flex;
    gap: 15px 15px;
    flex-wrap: wrap;
    justify-content: center;

    @media (min-width: 721px) {
      justify-content: flex-start;
      padding: 0px 25px;
    }

    p {
      width: 100%;
      text-align: center;
      line-height: 0px;
    }

    .time-slot {
      display: flex;
      justify-content: center;
      transition: all 0.2s ease;
      padding: 10px 10px;
      border-radius: 12px;
      cursor: pointer;
      background-color: #2563eb;
      color: #FFFFFF;
      min-width: 150px;
      max-width: 150px;
      width: 150px;
      font-size: 16px;

      @media (min-width: 721px) {
        min-width: 155px;
        max-width: 155px;
        width: 155px;
      }
    }

    .time-slot.selected {
      background-color: #FF9900;
    }

    .time-slot.disabled {
      opacity: 0.5;
      cursor: not-allowed;
      background-color: #2563eb;
    }

    .time-slot.reserved {
      opacity: 0.5;
      cursor: not-allowed;
      background-color: #FF9900;
      text-decoration: line-through;
    }

    .time-slot:hover {
      transform: translateY(-2px);
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    }
  }

  .booking_time {
    height: 0px;
    border: none;
    color: #ffffff;
    margin-top: -20px;
    opacity: 0;
    &:focus {
      border: none;
      outline: none;
    }
  }
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}}