/*
 * =========================================================
 * RJIT_RESERVAS - CUADRO COMPACTO DE HORARIO Y CONTACTO
 *
 * Diseño:
 * - Un único bloque azul claro.
 * - Sin bordes exteriores ni divisores internos.
 * - Compacto.
 * - Urgencias integrado en rojo.
 * =========================================================
 */

.rjit-info-box {
    --rjit-info-primary: #0b67d1;
    --rjit-info-primary-dark: #084f9f;
    --rjit-info-soft: #eef6ff;
    --rjit-info-text: #123d70;
    --rjit-info-muted: #586e8b;
    --rjit-info-alert: #cc3343;

    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 15px 17px;

    border: 0 !important;
    border-radius: 7px;
    background: var(--rjit-info-soft);

    color: var(--rjit-info-text);
    font-family: inherit;
    text-align: left;
}

.rjit-info-box *,
.rjit-info-box *::before,
.rjit-info-box *::after {
    box-sizing: border-box;
}

/*
 * =========================================================
 * CABECERAS
 * =========================================================
 */

.rjit-info-box__section-header {
    display: flex;
    align-items: flex-start;
    gap: 9px;
}

.rjit-info-box__section-heading {
    min-width: 0;
}

.rjit-info-box__title {
    margin: 0 !important;
    padding: 0 !important;

    color: var(--rjit-info-text) !important;
    font-family: inherit;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.25;
}

.rjit-info-box__subtitle {
    display: block;
    margin-top: 1px;

    color: var(--rjit-info-muted);
    font-size: 11.5px;
    font-weight: 500;
    line-height: 1.35;
}

/*
 * =========================================================
 * ICONOS DE CABECERA
 * =========================================================
 */

.rjit-info-box__calendar-icon,
.rjit-info-box__contact-icon {
    display: block;
    flex: 0 0 19px;

    width: 19px;
    height: 19px;
    margin-top: 1px;

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.rjit-info-box__calendar-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%230b67d1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='17' rx='2'/%3E%3Cpath d='M8 2v4M16 2v4M3 10h18'/%3E%3C/svg%3E");
}

.rjit-info-box__contact-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%230b67d1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.12.9.33 1.79.62 2.65a2 2 0 0 1-.45 2.11L8 9.73a16 16 0 0 0 6 6l1.25-1.25a2 2 0 0 1 2.11-.45c.86.29 1.75.5 2.65.62A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

/*
 * =========================================================
 * HORARIO
 * =========================================================
 */

.rjit-info-box__schedule {
    margin: 0;
    padding: 0;
}

.rjit-info-box__schedule-rows {
    display: flex;
    flex-direction: column;
    gap: 2px;

    margin: 7px 0 0 28px;
}

.rjit-info-box__schedule-row {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 5px;

    margin: 0 !important;
    padding: 0 !important;
}

.rjit-info-box__days {
    color: var(--rjit-info-text);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
}

.rjit-info-box__hours {
    color: var(--rjit-info-muted);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.45;
}

.rjit-info-box__empty {
    margin: 7px 0 0 28px !important;
    padding: 0 !important;

    color: var(--rjit-info-muted);
    font-size: 12px;
    line-height: 1.4;
}

/*
 * =========================================================
 * CONTACTO
 * =========================================================
 *
 * Sin línea separadora y sin segundo recuadro.
 */

.rjit-info-box__contact {
    margin: 12px 0 0;
    padding: 0;
    border: 0 !important;
}

.rjit-info-box__contact-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;

    margin: 7px 0 0 28px;
}

.rjit-info-box__number {
    display: inline-flex;
    align-items: center;

    min-height: 31px;

    color: var(--rjit-info-primary-dark) !important;
    font-family: inherit;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.15;
    text-decoration: none !important;
}

.rjit-info-box__number:hover,
.rjit-info-box__number:focus {
    color: var(--rjit-info-primary) !important;
    text-decoration: underline !important;
}

/*
 * Botón WhatsApp:
 * pequeño, sólido y sin borde.
 */
.rjit-info-box__whatsapp {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;

    min-height: 31px;
    padding: 7px 10px;

    border: 0 !important;
    border-radius: 5px;
    background: var(--rjit-info-primary);

    color: #ffffff !important;
    font-family: inherit;
    font-size: 11.5px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
    white-space: nowrap;

    transition:
            background-color 0.2s ease,
            transform 0.2s ease;
}

.rjit-info-box__whatsapp-icon {
    display: inline-block;

    width: 14px;
    height: 14px;

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 11.5a8.5 8.5 0 0 1-12.66 7.42L3.5 20.5l1.58-4.34A8.5 8.5 0 1 1 20.5 11.5z'/%3E%3Cpath d='M9 8.8c.25-.55.54-.57.8-.58h.68c.2 0 .47.08.57.36l.78 1.9c.08.22.05.43-.08.6l-.52.62c-.15.16-.16.32-.05.53.45.78 1.05 1.42 1.78 1.88.23.14.4.12.57-.07l.67-.75c.18-.2.4-.24.62-.14l1.77.84c.27.13.34.39.31.61-.12.84-.65 1.39-1.43 1.55-.8.17-1.85-.08-3.1-.83-1.66-.99-2.84-2.2-3.66-3.63-.66-1.16-.83-2.09-.65-2.89.1-.43.32-.82.64-1.01z'/%3E%3C/svg%3E");
}

.rjit-info-box__whatsapp:hover,
.rjit-info-box__whatsapp:focus {
    background: var(--rjit-info-primary-dark);
    color: #ffffff !important;
    transform: translateY(-1px);
}

/*
 * =========================================================
 * URGENCIAS 24 HORAS
 * =========================================================
 *
 * Pequeño aviso rojo dentro del cuadro general azul.
 * No repite el teléfono: indica que se llame al mismo número.
 */

.rjit-info-box__emergency-inline {
    display: flex;
    align-items: center;
    gap: 8px;

    width: calc(100% - 28px);
    margin: 11px 0 0 28px !important;
    padding: 9px 11px !important;

    border: 1px solid #f1c6cb !important;
    border-left: 3px solid #d53643 !important;
    border-radius: 5px !important;
    background: #fff4f5 !important;

    color: #b62330 !important;
    font-family: inherit;
    font-size: 11.5px;
    font-weight: 700;
    line-height: 1.4;
}

.rjit-info-box__emergency-icon {
    display: inline-block;
    flex: 0 0 16px;

    width: 16px;
    height: 16px;

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23d53643' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3Cpath d='M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z'/%3E%3C/svg%3E");
}

/*
 * Nota opcional.
 */
.rjit-info-box__note {
    margin: 9px 0 0 28px !important;
    padding: 0 !important;

    color: var(--rjit-info-muted);
    font-size: 11px;
    line-height: 1.4;
}

/*
 * =========================================================
 * RESPONSIVE
 * =========================================================
 */

@media (max-width: 767px) {
    .rjit-info-box {
        padding: 14px 15px;
    }

    .rjit-info-box__schedule-rows,
    .rjit-info-box__contact-actions,
    .rjit-info-box__emergency-inline,
    .rjit-info-box__note {
        margin-left: 0 !important;
    }

    .rjit-info-box__contact-actions {
        gap: 7px;
    }
}