/* Sección principal de la agenda, (Menú izquierdo)*/

.step-indicator {
    width: 24px;
    height: 24px;
    font-size: 12px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    transition: all 0.3s ease;
}

.list-group-item:not(.disabled) .step-indicator {
    background-color: #6c757d;
    color: white;
    box-shadow: 0 2px 4px rgba(78, 115, 223, 0.3);
}

.list-group-item.disabled .step-indicator {
    background-color: #e9ecef;
    color: #6c757d;
}

.list-group-item.active:not(.disabled) .step-indicator {
    background-color: black;
    box-shadow: 0 2px 8px rgba(78, 115, 223, 0.4);
}

.list-group-item:not(.disabled):hover .step-indicator {
    transform: scale(1.05);
    box-shadow: 0 4px 8px rgba(78, 115, 223, 0.4);
}

.bg-gradient-primary {
    background: black;
    color: white;
}

.list-group-item {
    transition: all 0.3s ease;
    border-left: 0;
    border-right: 0;
}

.list-group-item:first-child {
    border-top: 0;
}

.list-group-item:last-child {
    border-bottom: 0;
}

.list-group-item.active {
    background-color: #f8f9fa;
    color: #495057;
    border-color: rgba(0, 0, 0, .125);
    z-index: 0;
}

.list-group-item:hover:not(.disabled) {
    background-color: #f8f9fa;
}

.card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}


@media (max-width: 992px) {
    .card-header h5 {
        font-size: 1.1rem;
    }

    .list-group-item {
        padding: 0.75rem 1rem;
    }
}

@media (max-width: 768px) {

    .col-lg-3,
    .col-lg-9 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .card {
        margin-bottom: 1.5rem;
    }
}


/* VISTA de inicio */

.card-text {
    color: black;
}

.card {
    border: none;
    border-radius: 12px;
    overflow: hidden;
    background: white;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.card-header-inicio {
    background: black;
    color: white;
    padding: 1.5rem;
    border-bottom: none;
}

.card-header-inicio h4 {
    font-weight: 600;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

/* Input estilizado */
.form-control {
    height: 52px;
    padding: 15px 20px;
    font-size: 1.05rem;
    font-weight: 400;
    border-radius: 10px;
    width: 100%;
    max-width: 550px;
    margin: 0 auto;
}

/* Para dispositivos móviles */
@media (max-width: 576px) {
    .form-control {
        height: 48px;
        padding: 12px 15px;
        font-size: 1rem;
    }
}

.form-control:focus {
    border-color: #00d2ff;
    box-shadow: 0 0 0 3px rgba(58, 123, 213, 0.2);
}

.input-group-text {
    background-color: #f8f9fa;
    border: 1px solid #e0e0e0;
    border-right: none;
    padding: auto;
    margin: auto;
    height: 100%;
}

/* Botones con efecto */
.btn-primary {
    border: none;
    border-radius: 8px;
    padding: 12px 28px;
    font-weight: 500;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 15px rgba(58, 123, 213, 0.3);
    transition: all 0.3s;
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(58, 123, 213, 0.4);
}

/* Sección de resultados */
#client-result {
    transition: all 0.5s ease;
}

.alert-success {
    background: rgba(46, 213, 115, 0.1);
    border: 1px solid rgba(46, 213, 115, 0.3);
    color: #218838;
    border-radius: 8px;
}

.alert-danger {
    background: rgba(255, 71, 87, 0.1);
    border: 1px solid rgba(255, 71, 87, 0.3);
    color: #dc3545;
    border-radius: 8px;
}

/* Efecto de hover para el botón de registro */
.btn-outline-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(58, 123, 213, 0.4);
    color: white;
}

/* Pestaña de empleados */
.employee-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.employee-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.card-img-top {
    height: 200px;
    object-fit: cover;
}

@media (max-width: 576px) {
    .card-img-top {
        height: 150px;
    }
}


/* VISTA de servicios */

.service-card {
    transition: all 0.3s ease;
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.card-img-top {
    height: 180px;
    object-fit: cover;
}

.service-details {
    font-size: 0.9rem;
}

@media (max-width: 768px) {
    .card-img-top {
        height: 150px;
    }

    .select-service {
        font-size: 0.8rem;
        padding: 0.375rem 0.5rem;
    }
}

@media (max-width: 576px) {
    .card-img-top {
        height: 120px;
    }

    .service-details {
        font-size: 0.85rem;
    }
}

/* VISTA DE CALENDARIO */

/* Estilo para opciones deshabilitadas (horarios ocupados) */
select option:disabled {
    color: #999;
    background-color: #fff8e1;
    position: relative;
}

select option:disabled::after {
    content: "⛔ Ocupado";
    position: absolute;
    right: 10px;
    color: #d32f2f;
}

/* Estilo para el calendario */
.fc-past-day {
    background-color: #f5f5f5;
}

.fc-selected-day {
    background-color: #e3f2fd !important;
}

/* Estilo para opciones disponibles (verde) */
select option.available-slot {
    background-color: #e8f5e9;
    /* Verde muy claro */
    color: #2e7d32;
    /* Verde oscuro */
    font-weight: 500;
}

/* Icono para horarios ocupados */
select option.booked-slot::after {
    content: "⛔ Ocupado";
    position: absolute;
    right: 10px;
    color: #d32f2f;
}

/* Icono para horarios disponibles */
select option.available-slot::after {
    content: "✓ Disponible";
    position: absolute;
    right: 10px;
    color: #2e7d32;
}

/* Mejorar la apariencia del select */
select {
    padding: 8px;
    border-radius: 4px;
    border: 1px solid #ddd;
    width: 100%;
    appearance: none;
    -webkit-appearance: none;
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 16px;
}

select:focus {
    border-color: #4CAF50;
    outline: none;
    box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.2);
}


/* PALETA DE COLORES PARA TIENDA DE ROPA */
/*
.color-1 {
  color: #f1f5f8;
}
.color-2 {
  color: #d7eaf4;
}
.color-3 {
  color: #a9d3e0;
}
.color-4 {
  color: #5ac7d3;
}
.color-5 {
  color: #2abbb4;
}

:root {
  --color-1: #f1f5f8;
  --color-2: #d7eaf4;
  --color-3: #a9d3e0;
  --color-4: #5ac7d3;
  --color-5: #2abbb4;
}
*/


/* Estilo grisaseo, tienda de crédito */
/*
.color-1 {
  color: #dce2ef;
}
.color-2 {
  color: #c8d7e9;
}
.color-3 {
  color: #b4c7df;
}
.color-4 {
  color: #86a4c6;
}
.color-5 {
  color: #5675a4;
}

:root {
  --color-1: #dce2ef;
  --color-2: #c8d7e9;
  --color-3: #b4c7df;
  --color-4: #86a4c6;
  --color-5: #5675a4;
}
*/
