/* Simulador: presentación. */
@font-face{font-family:Archivo;src:url('../assets/fonts/archivo.woff2') format('woff2'),url('../assets/fonts/archivo.woff') format('woff');font-weight:100 900;font-stretch:62% 125%;font-display:swap}
:root{--ink:#f0ece5;--deep:#dcd6cc;--white:#252c32;--fog:#252c32;--ash:#4d555a;--smoke:#4d555a;--gold:#394653;--gold2:#394653;--sans:Archivo,Arial,sans-serif;--serif:Archivo,Arial,sans-serif}
body{background:#f0ece5;font-family:var(--sans);color:#252c32;font-weight:400}.prototype-nav{background:#394653;color:#f0ece5;font-size:15px}.prototype-nav a{min-height:44px;display:inline-flex;align-items:center}.sim-card{background:#f0ece5;border-color:#b7b1a7}.sim-aside,.ben-card{background:#dcd6cc;border-color:#b7b1a7}.sim-headline em{color:#394653;font-style:normal}.sim-headline{letter-spacing:-.025em;font-weight:500}.sim-sub{font-size:16px;font-weight:400;color:#4d555a}.sim-eyebrow,.step-lbl,.aside-label,.res-sec-title,.ben-note{font-size:13px;font-weight:400;letter-spacing:.02em}.field label{font-size:16px}.srv-name,.radio-lbl{font-size:16px;font-weight:450}.srv-price{font-variant-numeric:tabular-nums;font-size:17px}.srv-sep,.ben-title{font-size:16px;letter-spacing:0}.srv-item,.radio-opt{min-height:48px;background:#f0ece5}.srv-item.sel,.radio-opt.sel{background:#dcd6cc;border-color:#394653}.card-desc,.ben-desc,.radio-sub,.res-disc{font-size:15px;line-height:1.7}.btn-prim{background:#394653}.btn-prim,.btn-sec,.btn-back,.btn-copy,.btn-wa{min-height:48px;font-size:15px}.prog-lbl{font-size:12px;letter-spacing:0}.sim-footer{font-size:14px}.sim-footer a{display:inline-flex;align-items:center;min-height:44px}.field-err{color:#852b25;font-size:14px}.res-total-num{font-variant-numeric:tabular-nums}.radio-opt:focus-within,.srv-item:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,.card-title:focus{outline:3px solid #394653;outline-offset:4px}.prototype-nav a:focus-visible{outline-color:#f0ece5}.field input{background:#f0ece5;color:#252c32;border-color:#69717a}.radio-opt input{width:18px;height:18px}.radio-opt{cursor:pointer}.srv-item[role=button]{cursor:pointer}
@media(max-width:360px){.prog-lbl{font-size:11px}.sim-outer{padding-left:12px;padding-right:12px}.sim-card{padding:22px 16px}.prototype-nav{font-size:14px}.sim-headline{font-size:25px}}
/* Defectos de contraste observados en seis pasos: colores translúcidos heredados. */
.prog-dot-wrap.done .prog-lbl,.p-val.green,.res-ok,.res-no{color:#394653}#aDesc{color:#394653!important}.btn-wa{background:#394653;border-color:#394653;color:#f0ece5}.btn-wa:hover{background:#252c32;border-color:#252c32;color:#f0ece5}.sim-validity{font-size:14px;line-height:1.7;max-width:60ch;margin:18px auto 0;color:#4d555a}.res-item{font-size:14px;line-height:1.7}.aside-lbl,.aside-val,.p-total-lbl{font-size:13px;letter-spacing:0;font-weight:400}
/* Corrección visual: las seis etiquetas se tocaban en teléfonos aunque no hubiera overflow global. */
.prog-dot.active{box-shadow:none}.prog-dot{background:#b7b1a7}.prog-track{background:#b7b1a7}
@media(max-width:550px){.prog-labels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 8px}.prog-dot-wrap{min-width:0}.prog-lbl{font-size:12px;line-height:1.5;white-space:normal;text-align:center}.sim-progress{margin-bottom:24px}}

/* Refinamiento final · ciclo 2. Solo estilos: la lógica original no cambia. */
body{font-variation-settings:"wdth" 100}.sim-outer{padding-top:32px}.sim-body,.sim-header,.sim-progress{max-width:1120px}.sim-header{margin-bottom:24px}.sim-logo{width:68px;height:68px;border:0;border-radius:0;padding:0;background:transparent;object-fit:contain}.sim-headline{font-size:36px;line-height:1.2;font-weight:500;letter-spacing:-.025em}.card-title{font-size:30px;line-height:1.2;font-weight:500;letter-spacing:-.025em}.card-title em{font-style:normal;color:#252c32}.sim-card{border-radius:0;padding:28px}.sim-body{gap:28px}.sim-aside{width:240px}.aside-title{font-size:13px;letter-spacing:.02em;font-weight:450}.aside-val{font-weight:400;line-height:1.6}.aside-val.big{font-size:26px;font-weight:550;font-variant-numeric:tabular-nums}.srv-grid{gap:12px}.srv-item{border:1px solid #b7b1a7;border-radius:0;padding:18px;min-height:92px}.srv-item:hover{background:#dcd6cc}.srv-item.sel{border-color:#394653;background:#dcd6cc}.srv-item.sel:before{background:#394653;width:3px}.srv-name{font-size:17px;font-weight:450;line-height:1.45;margin-bottom:10px}.srv-price{font-size:20px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.3}.srv-chk{border-radius:0}.srv-sep{font-size:14px;line-height:1.5;font-weight:450;text-transform:none;letter-spacing:.02em;padding:14px 18px}.radio-opt{border-radius:0;padding:18px;gap:14px}.radio-lbl{font-size:17px;line-height:1.4}.radio-sub{font-size:15px;line-height:1.65}.radio-opt input{margin-top:4px}.btn-prim,.btn-sec,.btn-back,.btn-copy,.btn-wa{border-radius:0;min-height:48px;font-size:15px;font-weight:500;line-height:1.5;letter-spacing:0;text-transform:none;padding:12px 18px}.btn-prim{border:1px solid #394653;background:#394653;color:#f0ece5}.btn-prim:hover{background:#252c32;border-color:#252c32}.btn-sec,.btn-copy{border:1px solid #69717a;color:#252c32}.btn-sec:hover,.btn-copy:hover{background:#dcd6cc;border-color:#394653;color:#252c32}.btn-back{min-width:80px;letter-spacing:0;text-transform:none}.res-sec-title{font-size:13px;font-weight:450;letter-spacing:.02em;line-height:1.5}.p-row{gap:16px}.p-lbl{font-size:14px;min-width:0;max-width:62%;line-height:1.6;font-weight:400}.p-val{font-size:18px;font-weight:450;font-variant-numeric:tabular-nums;flex-shrink:0;text-align:right}.p-total{gap:12px;align-items:flex-end}.p-total-lbl{font-size:14px;text-transform:none;letter-spacing:0;min-width:0;max-width:12ch;line-height:1.5}.p-total-val{font-size:32px;line-height:1.2;font-weight:550;letter-spacing:-.025em;font-variant-numeric:tabular-nums;flex-shrink:0}.card-title:focus{outline:none}.card-title:focus-visible{outline:3px solid #394653;outline-offset:4px}.res-sec{margin-bottom:26px}.price-tbl{border-top:1px solid #b7b1a7}.res-item{padding:5px 0;line-height:1.7}.sim-footer a{font-weight:450}.field input{border-radius:0}
@media(max-width:1000px){.sim-body{gap:20px}.sim-aside{width:200px;padding:18px}.sim-card{padding:24px}}
@media(min-width:701px) and (max-width:900px){.srv-grid{grid-template-columns:1fr}}
@media(max-width:700px){.sim-aside{display:none}.sim-headline{font-size:30px}.card-title{font-size:28px}.sim-card{padding:24px 20px}.sim-logo{width:60px;height:60px}.p-total-val{font-size:30px}}
@media(max-width:360px){.sim-headline{font-size:27px}.card-title{font-size:26px}.sim-card{padding:22px 16px}.sim-logo{width:56px;height:56px}.p-total-val{font-size:28px}.p-lbl{font-size:13px}.p-val{font-size:17px}.srv-name{font-size:16px}.srv-price{font-size:19px}.srv-item{padding:16px}}

/* Ciclo 3: dejar que la etiqueta del total use el espacio disponible. */
.p-total-lbl{max-width:none;flex:1}
/* Ciclo 3: límites identificables de los controles (contraste no textual). */
.srv-item,.radio-opt{border-color:#69717a}.srv-item.sel,.radio-opt.sel{border-color:#394653}

/* El hover legado anulaba el borde; mantener contraste y paleta en todos los estados. */
.radio-opt:hover{border-color:#394653;background:#dcd6cc}.field input:focus{border-color:#394653}

/* Logotipo con alfa auténtico, sin fondo/máscara o marco decorativo. */
.sim-brand{display:block}

/* Correcciones de validación y acceso al contenido, sin alterar el calculador. */
.selection-error{color:#394653;font-size:16px;line-height:1.5;margin:12px 0;padding:12px;border-left:3px solid #394653;background:#eae5db}
.sim-skip{position:fixed;top:8px;left:8px;z-index:50;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;background:#394653;color:#f0ece5}
.sim-skip:focus{clip-path:none;width:auto;height:auto;padding:12px;outline:3px solid #394653;outline-offset:3px}

/* Las filas que activa el script legado usan display:flex: conservar etiqueta encima del valor. */
.aside-row{flex-direction:column;align-items:flex-start;gap:4px}
