/* EUSCA 2026: sistema visual exclusivo de la encuesta.
   Cascada: Bootstrap > style.css > main.css > este archivo.
   style.css:894-907 impone fondo blanco y borde invalid con !important.
   Solo los fondos/bordes de controles neutralizan esas prioridades heredadas.
   No se controla display de los pasos: pertenece al JavaScript existente. */
.eusca-form-2026 {
 --form-bg:#F7F5EF;--field-bg:#FCFBF8;--form-green:#10312b;--form-wine:#691c32;
 --form-border:#c7c2b6;--form-text:#292e2b;--form-muted:#59655e;
 background:var(--form-bg);color:var(--form-text);font:1rem/1.65 'Open Sans',Arial,sans-serif;
 padding:32px 24px;
}
.eusca-form-2026 *,.eusca-form-2026 *::before,.eusca-form-2026 *::after {box-sizing:border-box;}
.eusca-form-2026 .eusca-form-shell {width:100%;max-width:1280px;margin:0 auto;padding:0;}
.eusca-form-2026 .contact-text {padding:0;background:transparent;}
.eusca-form-2026 .contact-text::before,.eusca-form-2026 .contact-text::after {display:none;}
.eusca-form-2026 #mainForm {width:100%;max-width:none;margin:0;background:var(--form-bg);}
.eusca-form-2026 .section-title {margin:20px 0 24px;padding:0 0 16px;border-bottom:1px solid var(--form-border);text-align:left;font-size:1rem;}
.eusca-form-2026 .section-title::before,.eusca-form-2026 .section-title::after {display:none;}
.eusca-form-2026 .section-title h2 {margin:0;font:600 1.6rem/1.45 'Open Sans',Arial,sans-serif;color:var(--form-green);white-space:normal;overflow:visible;text-overflow:clip;}
.eusca-form-2026 .form-section {background:var(--form-bg);padding:24px 28px;margin:0 0 24px;border:1px solid var(--form-border);border-top:3px solid var(--form-wine);}
.eusca-form-2026 .form-section::after {content:"";display:block;clear:both;}
.eusca-form-2026 .step-position {margin:0 0 6px;color:var(--form-muted);font-size:.85rem;}
.eusca-form-2026 .form-section>h2 {margin:0 0 20px;padding:0 0 16px;border-bottom:1px solid #ddd8cc;font:600 1.2rem/1.5 'Open Sans',Arial,sans-serif;color:var(--form-wine);}
.eusca-form-2026 .row {--bs-gutter-x:1.5rem;--bs-gutter-y:1.25rem;}
.eusca-form-2026 .row>[class*="col-"] {min-width:0;}
.eusca-form-2026 .preguntas {padding:0;}
.eusca-form-2026 .row>[class*="col-"]>span:first-child {display:inline-block;line-height:1.65;margin-bottom:10px;color:var(--form-green);}
.eusca-form-2026 .form-floating {width:100%;min-width:0;height:auto;}
.eusca-form-2026 :is(input[type="text"],input[type="email"],input[type="tel"],select,textarea) {
 display:block;width:100%;min-width:0;max-width:100%;margin:0;
 background-color:var(--field-bg)!important;border:1px solid var(--form-border)!important;
 border-radius:3px;color:var(--form-text);font:inherit;line-height:1.5;box-shadow:none;
}
.eusca-form-2026 :is(input[type="text"],input[type="email"],input[type="tel"],select) {height:52px;min-height:52px;padding:12px;}
.eusca-form-2026 select {padding-right:38px;}
.eusca-form-2026 .form-floating>:is(input,select) {height:58px;min-height:58px;padding:24px 38px 8px 12px;}
.eusca-form-2026 .form-floating>label {width:auto;max-width:100%;padding:16px 12px;color:#526158;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;}
.eusca-form-2026 textarea.form-control {height:180px;min-height:160px;padding:14px;resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;}
.eusca-form-2026 :is(input[type="text"],input[type="email"],input[type="tel"],select,textarea):focus {border-color:var(--form-wine)!important;outline:2px solid #691c3233;outline-offset:2px;box-shadow:none;}
.eusca-form-2026 :is(input[type="text"],input[type="email"],input[type="tel"],select,textarea):user-invalid {border-color:var(--form-wine)!important;}
.eusca-form-2026 :is(input[type="text"],input[type="email"],input[type="tel"],select,textarea):disabled {background-color:#efeee7!important;color:#68766d;cursor:not-allowed;}
.eusca-form-2026 input[type="text"]:not(.form-control) {margin-top:10px;}
.eusca-form-2026 label {font:inherit;line-height:1.65;cursor:pointer;}
/* Restaurar controles nativos tambien para .form-check-input de Bootstrap. */
.eusca-form-2026 :is(input[type="radio"],input[type="checkbox"]) {
 appearance:auto;position:static;float:none;display:inline-block;flex:0 0 22px;
 width:22px;height:22px;min-width:22px;margin:6px 8px 6px 0;vertical-align:middle;
 accent-color:var(--form-wine);background-color:transparent!important;background-image:none;
 border:initial!important;border-radius:initial;box-shadow:none;cursor:pointer;
}
.eusca-form-2026 :is(input[type="radio"],input[type="checkbox"]):focus-visible {outline:2px solid var(--form-wine);outline-offset:3px;}
.eusca-form-2026 :is(input[type="radio"],input[type="checkbox"]):disabled {cursor:not-allowed;}
.eusca-form-2026 .choice-option {display:inline-flex;align-items:flex-start;gap:10px;width:auto;max-width:100%;min-height:44px;margin:2px 0;padding:8px 10px;line-height:1.6;border-radius:3px;}
.eusca-form-2026 .choice-option input {margin:2px 0 0;}
.eusca-form-2026 .choice-option:hover {background:#efede5;}
.eusca-form-2026 .choice-option:has(input:checked) {background:#f2e9e8;color:var(--form-wine);}
.eusca-form-2026 .choice-option:has(input:disabled) {background:transparent;color:#68766d;cursor:not-allowed;}
.eusca-form-2026 .sede-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:end;}
.eusca-form-2026 .sede-field {width:100%;min-width:0;max-width:none;}
.eusca-form-2026 .ods-options {padding:12px 0;}
.eusca-form-2026 .ods-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:14px;}
.eusca-form-2026 .ods-item {min-width:0;}
/* Checkbox en el flujo de la tarjeta, junto a la imagen, nunca flotante. */
.eusca-form-2026 .ods-card {display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:center;justify-items:center;width:100%;height:100%;min-height:112px;margin:0;padding:12px;border:1px solid #d8d3c7;border-radius:4px;background:var(--field-bg);cursor:pointer;position:relative;transform:scale(1);transform-origin:center;transition:transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease;}
.eusca-form-2026 .ods-card input {margin:0;}
.eusca-form-2026 .ods-card img {display:block;width:80px;max-width:100%;height:auto;pointer-events:none;}
.eusca-form-2026 .ods-card:has(input:checked) {border-color:var(--form-wine);outline:1px solid var(--form-wine);background:#f2e9e8;}
.eusca-form-2026 .ods-card:has(input:focus-visible) {outline:3px solid var(--form-green);outline-offset:4px;z-index:1;}
.eusca-form-2026 .ods-card:has(input:disabled:not(:checked)) {opacity:.55;cursor:not-allowed;}
.eusca-form-2026 .form-check {display:flex;align-items:flex-start;gap:10px;padding-left:0;}
.eusca-form-2026 .form-check>input {margin:4px 0 0;}
.eusca-form-2026 .form-check-label {min-width:0;overflow-wrap:anywhere;}
.eusca-form-2026 :is([id^="wordCount"],[id^="selectionCount"]) {padding:8px 0 4px;line-height:1.6;overflow-wrap:anywhere;}
.eusca-form-2026 .invalid-feedback,.eusca-form-2026 [role="alert"] {font-size:.9rem;line-height:1.6;}
.eusca-form-2026 button {min-height:52px;padding:13px 30px;margin:20px 8px 0 0;border:1px solid var(--form-green);border-radius:3px;background:var(--form-green);color:white;font:600 1rem/1.5 'Open Sans',Arial,sans-serif;cursor:pointer;}
.eusca-form-2026 button:hover:not(:disabled) {background:#235b4e;}
.eusca-form-2026 .next-btn {float:right;min-width:180px;margin-right:0;}
.eusca-form-2026 .prev-btn {min-width:160px;border-width:2px;background:var(--field-bg);color:var(--form-green);}
.eusca-form-2026 .prev-btn:hover {background:#edf2ee;color:var(--form-green);}
.eusca-form-2026 #fillTestData {min-height:44px;background:var(--field-bg);color:var(--form-wine);border-color:var(--form-wine);}
.eusca-form-2026 button:focus-visible {outline:3px solid var(--form-wine);outline-offset:3px;}
.eusca-form-2026 button:disabled {background:#dde3de;border-color:#c6cfc9;color:#59655e;cursor:not-allowed;opacity:1;}
.eusca-form-2026 #fillTestStatus {margin-top:10px;font-size:.9rem;color:var(--form-muted);}
.eusca-form-2026 a {color:var(--form-wine);text-decoration:underline;text-underline-offset:3px;}
.eusca-form-2026 .alert-registro {background:#e5ede5;border:1px solid #b9ccba;color:var(--form-green);padding:20px;}
.eusca-form-2026 .nombre-registro {margin:0;}
.eusca-form-2026 details.eusca-dev-note {margin:6px 0;padding:8px 12px;border:1px solid #ddd8cc;background:#f3f1ea;color:var(--form-muted);font-size:.8rem;line-height:1.5;}
.eusca-form-2026 details.eusca-dev-note>summary {cursor:pointer;font-weight:600;}
.eusca-form-2026 details.eusca-dev-note p {margin:8px 0 0;}
.eusca-form-2026 details.eusca-dev-note ul {margin:8px 0;padding-left:20px;}
@media(max-width:767px) {
 .eusca-form-2026 {padding:20px 12px;}
 .eusca-form-2026 .section-title h2 {font-size:1.3rem;}
 .eusca-form-2026 .form-section {padding:18px 12px;}
 .eusca-form-2026 .form-section>h2 {font-size:1.1rem;}
 .eusca-form-2026 .row {--bs-gutter-x:1rem;}
 .eusca-form-2026 .sede-grid {grid-template-columns:minmax(0,1fr);gap:12px;}
 .eusca-form-2026 .sede-field>br {display:none;}
 .eusca-form-2026 .choice-option {width:100%;padding:8px 6px;}
 .eusca-form-2026 .ods-grid {grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:10px;}
 .eusca-form-2026 .ods-card {grid-template-columns:20px minmax(0,1fr);gap:8px;padding:10px;min-height:98px;}
 .eusca-form-2026 .ods-card input {width:20px;height:20px;min-width:20px;}
 .eusca-form-2026 .ods-card img {width:70px;}
 .eusca-form-2026 .next-btn,.eusca-form-2026 .prev-btn {float:none;width:100%;min-width:0;margin:16px 0 0;}
}
/* Ajustes locales de lectura en pasos II y III. */
.eusca-form-2026 #section3 .long-choice {display:flex;align-items:flex-start;gap:10px;width:100%;max-width:100%;padding:10px 4px;margin:4px 0;white-space:normal;line-height:1.75;}
.eusca-form-2026 #section3 .long-choice input[type="checkbox"] {flex:0 0 22px;margin:4px 0 0;}
.eusca-form-2026 #section3 .long-choice>span {display:block;min-width:0;white-space:normal;overflow-wrap:anywhere;}
.eusca-form-2026 #section3 .col-12>span:first-child {margin-bottom:16px;line-height:1.75;}
/* Reutilizar la seleccion actual para presentar los campos Otro; no cambia disabled ni required. */
.eusca-form-2026 #section2 :is(#otro_desarrollo_s,#otro_alianza) {display:none;margin-top:12px;}
.eusca-form-2026 #section2 .col-12:has(input[name="desarrollo_s"][value="i"]:checked)>#otro_desarrollo_s,
.eusca-form-2026 #section2 .col-12:has(input[name="alianza"][value="d"]:checked)>#otro_alianza {display:block;}
/* Hover solo con puntero preciso: transform no modifica las dimensiones de la cuadricula. */
@media(hover:hover) and (pointer:fine) {
 .eusca-form-2026 .ods-card:hover:not(:has(input:disabled)) {transform:scale(1.03);border-color:var(--form-wine);box-shadow:0 3px 10px #10312b14;z-index:1;}
}
@media(prefers-reduced-motion:reduce) {
 .eusca-form-2026 .ods-card {transition:none;}
 .eusca-form-2026 .ods-card:hover:not(:has(input:disabled)) {transform:none;}
}