@import url('https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;500;700&display=swap');

body {
    font-family: 'Rubik', sans-serif;
    background-color: #E2EFF5;
    color: #2B2B2B;
}

/* Colores y componentes */
.bg-navbar {
    background-color: #EA5C1D !important;
}

.text-titulo {
    color: #282F66;
    font-weight: 700;
    font-size:25px;
}

.btn-naranja {
    background-color: #EA5C1D;
    color: white;
    font-weight: 500;
    border: none;
    border-radius: 25px;
    padding: 10px 30px;
    transition: background 0.3s;
}

.btn-naranja:hover {
    background-color: #d44d15;
    color: white;
}

.btn-azul {
    background-color: #282F66;
    color: white;
    border-radius: 8px;
}

.btn-azul:hover {
    background-color: #1c214a;
    color: white;
}

.card-custom {
    background: white;
    border-radius: 15px;
    border: none;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

/* Canvas de Firma */
#canvas-firma {
    border: 2px dashed #282F66;
    border-radius: 8px;
    background-color: #f8f9fa;
    cursor: crosshair;
    touch-action: none; /* Evita scroll al firmar en móviles */
}

.texto-consentimiento {
    background-color: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 20px;
    font-size: 0.95rem;
    line-height: 1.6;
    text-align: justify;
}

.resaltado-naranja {
    color: #EA5C1D;
    font-weight: bold;
}

/* Validación suave en formulario de consentimiento */
.form-control.campo-error,
#canvas-firma.campo-error {
    border-color: #e8a0a0 !important;
    background-color: #fffafa;
    box-shadow: 0 0 0 0.2rem rgba(232, 160, 160, 0.25);
}

.form-control.campo-error:focus,
#canvas-firma.campo-error:focus {
    border-color: #d98888 !important;
    box-shadow: 0 0 0 0.2rem rgba(217, 136, 136, 0.3);
}

.mensaje-form-error {
    display: none;
    color: #c0392b;
    font-size: 0.85rem;
    margin-bottom: 1rem;
    padding: 0.65rem 0.9rem;
    background-color: #fdecea;
    border: 1px solid #f5c6cb;
    border-radius: 8px;
}

.mensaje-form-error.visible {
    display: block;
}

td{
    font-weight: 300 !important;
    font-size: 14px !important;
}

/* Paginación del panel admin */
.pagination-admin .page-link {
    color: #282F66;
    border-radius: 8px;
    margin: 0 2px;
    border: 1px solid #dee2e6;
}

.pagination-admin .page-item.active .page-link {
    background-color: #282F66;
    border-color: #282F66;
    color: #ffffff;
}

.pagination-admin .page-item.active .page-link:hover,
.pagination-admin .page-item.active .page-link:focus {
    background-color: #1c214a;
    border-color: #1c214a;
    color: #ffffff;
}

.pagination-admin .page-item.disabled .page-link {
    color: #adb5bd;
}

