/*
 * Edi Rizoma -- frontend layout defaults
 *
 * Overrides Betheme be.css "width: 230px" on bare input/select/textarea
 * selectors. Class + element specificity (0,1,1) > element-only (0,0,1),
 * and this file is enqueued after be.css, so it wins on both counts.
 *
 * Visual design (font, color, shadow) is intentionally left to Betheme.
 * Only structural layout and status-indicator colors live here.
 */

/* Registration and profile form fields (.edi-rfield wraps every field row) */
.edi-rfield input:not([type="checkbox"]):not([type="radio"]),
.edi-rfield select,
.edi-rfield textarea {
    width: 100%;
    box-sizing: border-box;
}

/* Inline checkbox/radio rows (e.g. Recordarme) */
.edi-rfield--remember,
.edi-rfield--inline {
    display: flex;
    align-items: center;
}
.edi-rfield--remember label,
.edi-rfield--inline label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

/* Frontend auth forms (login/recover/reset) */
.edi-login-form-wrap,
.edi-lostpassword-wrap,
.edi-resetpassword-wrap,
.edi-login-form-wrap form,
.edi-lostpassword-form,
.edi-resetpassword-form {
    width: 100%;
    max-width: 100%;
}

/* All auth form fields use .edi-rfield — same as registration/profile forms */
.edi-auth-input {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
}

.edi-login-msg,
.edi-lostpassword-msg,
.edi-resetpassword-msg {
    margin: 0 0 12px;
}

.edi-auth-notice {
    margin: 0 0 14px;
    padding: 12px 14px;
    border: 1px solid transparent;
    border-radius: 10px;
}

.edi-auth-notice p {
    margin: 0;
}

.edi-auth-notice p + p {
    margin-top: 8px;
}

.edi-auth-notice--error {
    background-color: rgba(186, 81, 63, 0.14);
    border-color: rgba(186, 81, 63, 0.28);
    color: #8D3B2E;
}

.edi-auth-notice--success {
    background-color: rgba(108, 124, 73, 0.14);
    border-color: rgba(108, 124, 73, 0.28);
    color: #4F5D34;
}

.edi-login-msg--error,
.edi-lostpassword-msg--error,
.edi-resetpassword-msg--error {
    color: #8d2f23;
}

.edi-lostpassword-msg--ok,
.edi-resetpassword-msg--ok {
    color: #2f6b3d;
}

.edi-login-form-wrap .button,
.edi-login-form-wrap button,
.edi-auth-button {
    width: 100% !important;
    max-width: 100% !important;
}

@media (min-width: 768px) {
    .edi-login-form-wrap .button,
    .edi-login-form-wrap button,
    .edi-auth-button {
        width: auto;
    }
}

/* ── Historial: card list ──────────────────────────────────────────────────── */
.edi-historial-lista {
    list-style: none !important;
    padding: 0 !important;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.edi-historial-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border-radius: 10px;
    border: 1px solid #DDD7C9;
}
.edi-historial-vacio.edi-historial-card {
    opacity: .6;
}
.edi-historial-card-icono {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.edi-historial-vacio .edi-historial-card-icono {
    background-color: rgba(0, 0, 0, .06);
}
.edi-card--confirmed .edi-historial-card-icono,
.edi-card--approved  .edi-historial-card-icono { background-color: rgba(108,124,73,0.14); color: #6C7C49; }
.edi-card--cancelled .edi-historial-card-icono { background-color: rgba(186,81,63,0.14); color: #BA513F; }
.edi-card--pending   .edi-historial-card-icono { background-color: rgba(224,175,95,0.14); color: #E0AF5F; }
.edi-historial-card-cuerpo {
    flex: 1;
    min-width: 0;
}
.edi-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 4px;
    opacity: .75;
}
.edi-card-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* ── Status badge ───────────────────────────────────────────────────── */
.edi-historial-card-estado {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: .8125em;
    white-space: nowrap;
    flex-shrink: 0;
    align-self: flex-start;
}
.edi-estado--confirmed,
.edi-estado--approved  {
    background-color: rgba(108,124,73,0.14);
    color: #4F5D34;
}
.edi-estado--cancelled {
    background-color: rgba(186,81,63,0.14);
    color: #8D3B2E;
}
.edi-estado--pending   {
    background-color: rgba(224,175,95,0.18);
    color: #8A6428;
}

/* ── Pagination ─────────────────────────────────────────────────────── */
.edi-historial-paginacion {
    margin-top: 20px;
    display: flex;
    gap: 12px;
    align-items: center;
}

/* ── Room screen: Right column section visibility ───────────────────────── */

/* Hide UP NEXT section when shortcode produced no list */
.edi-room-next-section:not(:has(.edi-sala-proximas)) {
    display: none;
}

/* Hide CALENDARIO DE HOY header when not active but upcoming slots exist */
body:not(.edi-sala-activa) .edi-room-right:has(.edi-sala-proximas) .edi-room-cal-header {
    display: none;
}

/* Hide disponible empty state when upcoming slots exist */
.edi-room-right:has(.edi-sala-proximas) .edi-room-empty {
    display: none;
}

/* ── Proximas card grid placement ───────────────────────────────────────── */
/* org and horario stack in col 1; countdown (en) spans both rows in col 2 */
.edi-sala-proximas__org     { grid-column: 1; grid-row: 1; }
.edi-sala-proximas__horario { grid-column: 1; grid-row: 2; }
.edi-sala-proximas__en      { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
