.header { background:#bc955b; color:#fff; padding:.75rem; }
.section { background:#691b32; padding:.5rem; }
table { width:100%; }
td, th { vertical-align: top; padding: .5rem; }

input[type="radio"] {
appearance: none;
-webkit-appearance: none;
width: 1.1em;
height: 1.1em;
border: 2px solid #bc955b;
border-radius: 50%;
margin-right: 0.5em;
vertical-align: middle;
background-color: white;
cursor: pointer;
}
input[type="radio"]:checked {
background-color: #bc955b;
border-color: #bc955b;
box-shadow: 0 0 0 4px rgba(218,165,32,0.4);
}
.is-valid { border: 1px solid #bc955b !important; }
.is-valid:focus { box-shadow: 0 0 4px 2px #bc955b !important; }
.is-valid:hover { border: 1px solid #691b32 !important; box-shadow: 0 0 4px 2px #691b32 !important; }
.form-control.is-valid .icon {
color: red !important; /* Cambiar el color a rojo, por ejemplo */
}
.was-validated .form-control:valid, .form-control.is-valid {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%591b32' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
}
.textW{
color:white !important;
}
canvas {
border: 1px solid #bc955b;
background: #fff;
}
#btns {
margin-top: 10px;
}

/* Forzar salto de página cuando sea necesario */
.page-break { page-break-before: always; }
/* Evitar que elementos se dividan en medio */
.avoid-break { page-break-inside: avoid; }
