/* Detalles del asistente Oposiciones 2027. */
.wizard-assurances {width:100%;max-width:34rem;margin:0 auto 1rem;color:var(--color-primary);font-size:.78rem;text-align:center}
.wizard-assurances__benefits {display:flex;flex-wrap:wrap;gap:.35rem 1rem;justify-content:center;list-style:none;padding:0;margin:0 0 .45rem;font-weight:650}
.wizard-assurances__benefits li {display:flex;align-items:center;gap:.4rem}
.wizard-assurances__benefits li>span {font-size:1rem;line-height:1}
.wizard-assurances__requests {display:flex;align-items:center;justify-content:center;gap:.4rem;margin:0;color:var(--color-muted);font-size:.75rem;line-height:1.5}
.wizard-assurances__requests svg {flex-shrink:0;width:16px;height:16px;color:var(--color-primary)}
.wizard-assurances__requests strong {color:var(--color-primary)}
.wizard__step-caption {grid-column:1/-1;grid-row:3;margin:.15rem 0 0;color:var(--color-muted);font-size:.8rem}
.wizard__intro-copy h1 strong {display:block;font-weight:800}
.wizard-protection {display:flex;align-items:center;justify-content:center;gap:.4rem;margin:.8rem 0 0;font-size:.78rem;line-height:1.5;color:var(--color-muted);text-align:center}
.wizard-protection svg {color:var(--color-primary);flex:none}
.wizard-nationality-options {display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1rem}
.wizard-nationality-choice {display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1rem;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);color:var(--color-text);font:inherit;font-size:1rem;text-align:left;cursor:pointer;min-height:3.5rem}
.wizard-nationality-choice>span:first-child {display:flex;gap:.6rem;align-items:center}
.wizard-nationality-choice[aria-pressed=true] {background:var(--color-primary);border-color:var(--color-primary);color:#fff}
.wizard-nationality-choice:hover {border-color:var(--color-primary)}
.wizard-nationality-choice:focus-visible {outline:3px solid var(--color-primary);outline-offset:3px}
.wizard-nationality-mark {width:1.2rem;height:1.2rem;border:2px solid var(--color-border);border-radius:50%;flex:none}
.wizard-nationality-choice[aria-pressed=true] .wizard-nationality-mark {display:grid;place-items:center;border-color:#fff}
.wizard-nationality-choice[aria-pressed=true] .wizard-nationality-mark::after {content:'✓';font-size:.8rem;line-height:1}
.wizard-nationality-followup {margin-top:1.7rem}
.wizard-nationality-followup h3 {font-size:1.05rem;line-height:1.5;margin:0}
.wizard-nationality-followup .wizard-select-label {font-size:1.05rem;margin:0 0 .6rem}
.wizard-nationality-result {margin-top:1.5rem;padding:1.25rem;border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:12px;background:var(--color-surface)}
.wizard-nationality-result h3 {margin:0 0 .6rem;font-size:1.1rem}
.wizard-nationality-result p {font-size:.96rem;line-height:1.65}
.wizard-nationality-result .btn {display:inline-flex;justify-content:center;min-width:0;margin-top:.5rem}
[data-nationality-select][hidden],.wizard-nationality-followup[hidden],.wizard-nationality-result[hidden],[data-nationality-actions][hidden] {display:none!important}
@media(min-width:900px){.wizard:not(.wizard--focus) .wizard__panel{justify-content:flex-start}.wizard:not(.wizard--focus) .wizard__intro-copy{max-width:34rem}.wizard__intro-copy p{line-height:1.7}}
@media(max-width:480px){.wizard-assurances{font-size:.75rem}.wizard-assurances__benefits{gap:.4rem 1rem}.wizard-nationality-choice{padding:.85rem}.wizard__intro-copy h1{font-size:1.9rem}.wizard__intro-copy p{font-size:.98rem}.wizard-protection{font-size:.72rem}}

/* Iconos nítidos sobre las opciones seleccionadas. */
.wizard-nationality-choice {background-image:none;box-shadow:none;text-shadow:none;filter:none;opacity:1}
.wizard-nationality-choice>span:first-child>span {display:inline-grid;place-items:center;flex:none;min-width:2rem;height:1.7rem;padding:.1rem .25rem;background:#fff;border:1px solid #d7e0e8;border-radius:5px;font-size:1.1rem;line-height:1;text-shadow:none;filter:none}
.wizard-nationality-choice[aria-pressed=true] {background-color:var(--color-primary);background-image:none;box-shadow:none;text-shadow:none}
.wizard-nationality-choice[aria-pressed=true] .wizard-nationality-mark {width:1.3rem;height:1.3rem;background:#fff;border:2px solid #fff;position:relative;box-shadow:none}
.wizard-nationality-choice[aria-pressed=true] .wizard-nationality-mark::after {content:'';position:absolute;left:50%;top:46%;width:.32rem;height:.57rem;border:solid var(--color-primary);border-width:0 2px 2px 0;transform:translate(-50%,-50%) rotate(45deg)}
.wizard-assurances svg,.wizard-protection svg {filter:none;text-shadow:none;opacity:1}

/* Flujo compacto de Oposiciones 2027. */
.wizard--compact .wizard__step-caption { text-align:center; }
.wizard--compact .wizard-opposition-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; max-height:46dvh; overflow-y:auto; padding:.2rem; }
.wizard--compact .wizard-opposition-card { border:1px solid var(--color-border,#d3dce6); border-radius:10px; background:var(--color-surface,#f3f5f7); color:var(--color-text,#222); padding:.7rem; font:inherit; cursor:pointer; }
.wizard--compact .wizard-opposition-card[aria-pressed="true"] { background:var(--color-primary,#173f67); color:#fff; border-color:var(--color-primary,#173f67); }
.wizard--compact .wizard-phone {display:flex;align-items:center;gap:.65rem;}
.wizard--compact .wizard-phone span {white-space:nowrap;}
.wizard--compact .wizard-phone input {min-width:0;flex:1;}
.wizard--compact .wizard-privacy-scroll {height:20px;max-height:20px;overflow-y:auto;scrollbar-width:none;color:#000;font-size:8px;padding:0;line-height:1.3;margin:.4rem 0;}
.wizard--compact .wizard-privacy-scroll a {color:#000;font-size:8px;text-decoration:underline;}
.wizard--compact .wizard-step__lead:empty {display:none;}
@media(max-width:640px){
 .wizard--compact .wizard__intro {min-height:0;}
 .wizard--compact .wizard__intro-copy {padding:1rem;}
 .wizard--compact .wizard__intro-copy h1 {font-size:1.6rem;}
 .wizard--compact .wizard__intro-copy p {font-size:.95rem;margin:.4rem 0 0;}
 .wizard--compact .wizard__panel {padding:1rem;}
 .wizard--compact .wizard-assurances {margin:0 0 .8rem;padding:0;}
 .wizard--compact .wizard-assurances__benefits {gap:.35rem .7rem;font-size:.75rem;}
 .wizard--compact .wizard-assurances__requests {font-size:.75rem;}
 .wizard--compact .wizard-step__title {font-size:1.35rem;margin-bottom:.8rem;}
 .wizard--compact .wizard-form__grid {gap:.55rem;}
 .wizard--compact .wizard-opposition-card {font-size:.8rem;padding:.55rem;}
 .wizard--compact .wizard-actions {margin-top:.8rem;}
}
.wizard--compact [hidden] {display:none!important;}
.wizard--compact .wizard__steps {flex:0;justify-content:flex-start;padding-block:1rem;}
.wizard--compact .wizard__panel {justify-content:flex-start;}
@media(max-width:899px){.wizard--compact {display:block;min-height:100svh;}.wizard--compact .wizard__intro {min-height:0;}}
.wizard--compact .wizard__intro {justify-content:center;}
.wizard--compact .wizard__intro-copy {width:100%;margin-inline:auto;text-align:center;}
.wizard--compact .wizard__intro-copy h1,
.wizard--compact .wizard__intro-copy p {text-shadow:0 2px 5px rgba(0,0,0,.95),0 0 16px rgba(0,0,0,.6);}

.wizard--compact .wizard__step-caption {display:flex;align-items:center;justify-content:center;gap:.35rem;}
.wizard--compact .wizard-clock {font-size:1.4rem;line-height:1;}
.wizard-footer[hidden] {display:none!important;}
.wizard--compact .wizard-actions + .wizard-assurances {margin:1rem auto .4rem;padding:0;}
.wizard--compact .wizard-assurances__benefits {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem .8rem;font-size:.75rem;line-height:1.35;}
.wizard--compact .wizard-assurances__benefits li {justify-content:center;}
.wizard--compact .wizard-assurances__benefits li:last-child {grid-column:auto;}
.wizard--compact .wizard-assurances svg {width:18px;height:18px;flex:none;color:#278341;}
.wizard--compact .wizard-assurances__requests {margin-top:.55rem;font-size:.7rem;}
.wizard--compact .wizard-step__title {margin-bottom:1.2rem;}
.wizard--compact .wizard-actions {margin-top:1.2rem;}
@media(max-width:640px){
 .wizard--compact .wizard__intro-copy {padding:.65rem 1rem;}
 .wizard--compact .wizard__intro-copy h1 {font-size:1.45rem;}
 .wizard--compact .wizard__intro-copy p {font-size:.85rem;}
 .wizard--compact .wizard__steps {padding-block:.6rem;}
 .wizard--compact .wizard__panel {padding:.75rem 1rem;}
 .wizard--compact .wizard-step__title {margin:.6rem 0 1.1rem;font-size:1.3rem;}
 .wizard--compact .wizard-actions + .wizard-assurances {margin:.85rem auto .3rem;}
 .wizard--compact .wizard-assurances__benefits {font-size:.69rem;gap:.5rem .5rem;}
 .wizard--compact .wizard-protection {margin-top:.55rem;font-size:.68rem;}
}

.wizard--compact .wizard__step-caption {gap:10px 18px;color:var(--color-muted);font-size:.8rem;}
.wizard--compact .wizard-caption-time {display:inline-flex;align-items:center;gap:5px;white-space:nowrap;}
.wizard--compact .wizard-caption-invitation {white-space:nowrap;}
.wizard--compact .wizard-step__title {margin-bottom:20px;}
.wizard--compact .wizard-actions {margin-top:20px;}
.wizard--compact .wizard-actions + .wizard-assurances {margin:15px auto 0;}
.wizard--compact .wizard-assurances__benefits {font-size:.8rem;}
.wizard--compact .wizard-assurances__requests {font-size:.78rem;}
.wizard--compact .wizard-assurances + .wizard-protection {margin-top:15px;color:var(--color-muted);}
.wizard--compact .wizard-actions .btn {font-size:1.12rem;min-height:48px;}
.wizard--compact .wizard-consent input {width:24px;height:24px;margin:0;}
.wizard--compact .wizard-consent {align-items:center;min-height:44px;}
.wizard--compact [data-step="datos"] > .wizard-step__title {display:none;}
.wizard--compact .wizard-privacy-scroll {background:#fff;border:0;border-radius:0;}
@media(max-width:640px){
 .wizard--compact .wizard__step-caption {gap:10px;font-size:.7rem;}
 .wizard--compact .wizard-clock {font-size:1.15rem;}
 .wizard--compact .wizard-assurances__benefits {font-size:.76rem;}
 .wizard--compact .wizard-assurances__requests {font-size:.75rem;}
}
@media(max-width:370px){
 .wizard--compact .wizard-duration {font-size:0;}
 .wizard--compact .wizard-duration::after {content:'Menos de 1 min.';font-size:.7rem;}
}
