/* Saucelle Casetas — Estilos específicos del calendario */
.se-casetas-wrap { font-family: var(--se-font, 'Raleway', sans-serif); }

/* Panel de reserva */
.se-caseta-panel { margin-top: 32px; }
.se-caseta-panel-header { display: flex; align-items: center; gap: 16px; margin-bottom: 4px; flex-wrap: wrap; }
.se-caseta-volver {
    background: var(--se-gris-bg, #f4f4f4);
    border: 1px solid var(--se-gris-borde, #e0e0e0);
    border-radius: 6px;
    padding: 6px 14px;
    font-family: var(--se-font, 'Raleway', sans-serif);
    font-size: .82rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}
.se-caseta-volver:hover { background: #e8e8e8; }

/* Formulario de datos */
.sc-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 4px;
}
.sc-form-grid label { display: block; font-size: .85rem; font-weight: 600; margin-bottom: 5px; }
@media (max-width: 540px) { .sc-form-grid { grid-template-columns: 1fr; } }

/* Calendario */
#sc-calendario { user-select: none; }

.sc-cal-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}
.sc-cal-nav-btn {
    background: var(--se-amarillo, #FDEB19);
    border: 1px solid #ccc;
    border-radius: 6px;
    width: 34px; height: 34px;
    font-size: 1.1rem;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700;
    transition: background .15s;
}
.sc-cal-nav-btn:hover { background: #f0de00; }
.sc-cal-mes { font-weight: 800; font-size: 1rem; color: var(--se-negro, #1a1a1a); text-transform: capitalize; }

.sc-cal-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
}
.sc-cal-header-dia {
    text-align: center;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--se-gris-md, #888);
    padding: 4px 0 8px;
}
.sc-dia {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    font-size: .88rem;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s, transform .1s;
    border: 2px solid transparent;
    position: relative;
}
.sc-dia-vacio { cursor: default; }
.sc-dia-pasado { color: #ccc; cursor: not-allowed; background: #fafafa; }
.sc-dia-fuera  { color: #ccc; cursor: not-allowed; background: #fafafa; }
.sc-dia-libre  { background: #f0fdf4; color: #166534; border-color: #86efac; }
.sc-dia-libre:hover { background: #dcfce7; transform: scale(1.05); }
.sc-dia-ocupado { background: #fef2f2; color: #991b1b; cursor: not-allowed; border-color: #fecaca; }
.sc-dia-ocupado::after { content: '✗'; position: absolute; font-size: .6rem; top: 2px; right: 4px; color: #fca5a5; }
.sc-dia-seleccionado { background: var(--se-amarillo, #FDEB19) !important; color: var(--se-negro, #1a1a1a) !important; border-color: var(--se-negro, #1a1a1a) !important; transform: scale(1.05); font-weight: 800; }
.sc-dia-hoy { font-weight: 800; }
.sc-dia-hoy::before { content: ''; position: absolute; bottom: 3px; left: 50%; transform: translateX(-50%); width: 4px; height: 4px; background: currentColor; border-radius: 50%; }

/* Leyenda */
.sc-leyenda {
    display: flex;
    gap: 16px;
    margin-top: 14px;
    flex-wrap: wrap;
    font-size: .78rem;
    font-weight: 600;
}
.sc-dia-libre-ejemplo     { color: #166534; background: #dcfce7; padding: 3px 10px; border-radius: 20px; border: 1px solid #86efac; }
.sc-dia-ocupado-ejemplo   { color: #991b1b; background: #fef2f2; padding: 3px 10px; border-radius: 20px; border: 1px solid #fecaca; }
.sc-dia-seleccionado-ejemplo { color: #1a1a1a; background: #FDEB19; padding: 3px 10px; border-radius: 20px; border: 1px solid #1a1a1a; }

/* Cargando calendario */
.sc-cal-loading {
    text-align: center;
    padding: 32px;
    color: var(--se-gris-md, #888);
    font-size: .9rem;
}
