.eic-calendar-wrapper {
    max-width: 100%;
    background: #fff;
    border-radius: .25rem;
}

.eic-controls {
    margin-bottom: 1rem;
    text-align: center;
}

.eic-month-select {
    padding: .625rem 1rem;
    width: 100%;
    font-family: var(--e-global-typography-accent-font-family);
    font-weight: var(--e-global-typography-accent-font-weight);
    font-size: .875rem;
    border-radius: .25rem;
    border: 1px solid #ddd;
    background-color: transparent;
    cursor: pointer;
}

.eic-calendar-table {
    width: 100%;
    text-align: center;
    border-spacing: .25rem;
}

.eic-calendar-table th {
    padding: 0 0 .625rem 0;
    font-family: var(--e-global-typography-accent-font-family);
    font-weight: var(--e-global-typography-accent-font-weight);
    border-radius: .25rem;
}

.eic-calendar-table td {
    padding: 1rem .625rem;
    font-family: var(--e-global-typography-text-font-family);
    font-weight: var(--e-global-typography-text-font-weight);
    font-size: .875rem;
    border-radius: .25rem;
    transition: background 0.2s ease;
}

/* Estado Disponible */
.eic-calendar-table td.available {
    background-color: #f0fdf4;
    color: #166534;
}

/* Estado Reservado */
.eic-calendar-table td.booked {
    background-color: #fef2f2;
    color: #991b1b;
    text-decoration: line-through;
}

.eic-loading {
    text-align: center;
    padding: 30px;
    color: #666;
    font-style: italic;
}
