/* Simulador wizard — adapted from solofina-prop/simulador-prototype.html, using the
   shared --sm-* tokens from site-modern.css. Scoped under .sim-* to avoid clashing
   with legacy simulador.css (still loaded on other pages). */

.sim-hero{
  position:relative;
  background:linear-gradient(to bottom,var(--sm-orange-500) 0,var(--sm-orange-500) calc(100% - 90px),#fff calc(100% - 90px));
  color:#fff6ee;
  padding:132px 32px 110px;
  overflow:hidden;
}
.sim-hero-inner{max-width:1200px;margin:0 auto;position:relative;z-index:2;text-align:center;}
.sim-hero h1{margin:0 auto;max-width:26ch;font-size:50px;font-weight:900;letter-spacing:-1px;line-height:1.05;color:#fff;text-shadow:0 4px 18px rgba(40,15,0,.3);}
.sim-hero p{margin:12px auto 0;color:#ffe2ca;font-size:19px;font-weight:800;letter-spacing:.3px;max-width:56ch;}

/* Wave divider — adapted from a "gentle waves" parallax reference. The hero background
   above hard-stops from orange to white right at the wave band's height, so the wavy
   gaps this SVG's shapes leave uncovered reveal page-white underneath. The three wave
   layers themselves (light orange, teal, teal-dark) sit on top of that boundary and are
   flipped vertically (scaleY) so their solid color reaches up to blend with the orange
   hero above, while their wavy edge hangs down as drips into the white below — the
   hero panel reads as floating above the page rather than fading into it. */
.sim-hero-waves{
  position:absolute;left:0;right:0;bottom:0;
  width:100%;height:90px;min-height:70px;max-height:120px;
  transform:scaleY(-1);
  z-index:1;
}
.sim-hero-waves-parallax>use{
  animation:sim-wave-move 55s cubic-bezier(.55,.5,.45,.5) infinite;
}
.sim-hero-waves-parallax>use:nth-child(1){animation-delay:-4s;animation-duration:16s;opacity:.85;}
.sim-hero-waves-parallax>use:nth-child(2){animation-delay:-6s;animation-duration:22s;}
.sim-hero-waves-parallax>use:nth-child(3){animation-delay:-9s;animation-duration:29s;}

@keyframes sim-wave-move{
  0%{transform:translate3d(-90px,0,0);}
  100%{transform:translate3d(85px,0,0);}
}

.sim-app{max-width:1200px;margin:0 auto;padding:0 32px 60px;font-family:var(--sm-sans);color:var(--sm-ink);}
.sim-wizard{margin-top:18px;}

.sim-stepper{display:flex;align-items:flex-start;gap:0;margin-bottom:16px;}
.sim-step-item{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;color:var(--sm-ink-soft);position:relative;padding:0 8px;}
.sim-step-item:not(:last-child)::after{content:"";position:absolute;left:calc(50% + 15px);top:13px;right:calc(-50% + 15px);height:2px;background:var(--sm-line);z-index:0;}
.sim-step-item.done:not(:last-child)::after{background:var(--sm-orange-500);}
.sim-step-num{width:26px;height:26px;border-radius:50%;border:2px solid var(--sm-line);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--sm-ink-soft);background:var(--sm-paper-raised);flex-shrink:0;position:relative;z-index:1;}
.sim-step-item.active .sim-step-num{border-color:var(--sm-orange-500);color:var(--sm-orange-600);background:var(--sm-orange-100);}
.sim-step-item.done .sim-step-num{border-color:var(--sm-orange-500);background:var(--sm-orange-500);color:#fff;}
.sim-step-title{font-size:13px;font-weight:700;color:var(--sm-ink);}
.sim-step-item.active .sim-step-title{color:var(--sm-orange-800);}
.sim-step-sub{font-size:11px;color:var(--sm-ink-soft);}

.sim-panel{background:var(--sm-paper-raised);border:1px solid var(--sm-line);border-radius:var(--sm-radius);box-shadow:var(--sm-shadow);overflow:hidden;}
.sim-step-view{display:none;}
.sim-step-view.active{display:block;animation:sim-rise .35s ease both;}
@keyframes sim-rise{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}

.sim-loading-card{display:none;opacity:0;transition:opacity .3s ease;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:300px;color:var(--sm-ink-soft);font-size:14px;}
.sim-loading-card.show{display:flex;}
.sim-spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--sm-line);border-top-color:var(--sm-orange-500);animation:sim-spin .8s linear infinite;}
@keyframes sim-spin{to{transform:rotate(360deg);}}

.sim-pinned-preview{display:none;}
.sim-carousel-viewport{overflow:hidden;min-height:420px;}
.sim-carousel-track{display:flex;height:100%;}
.sim-track-slot{flex-shrink:0;}
.sim-slot-form{width:var(--sim-form-w, 640px);padding:24px 28px 20px;}
.sim-slot-preview{width:var(--sim-preview-w, 480px);}
.sim-section-title{font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--sm-teal-700);margin:0 0 14px;}
.sim-section-title.spaced{margin-top:26px;}

.sim-year-grid{display:flex;flex-wrap:wrap;gap:8px;}
.sim-year-chip{border:1.5px solid var(--sm-line);background:var(--sm-paper);border-radius:9px;padding:9px 16px;font-size:13.5px;font-weight:700;color:var(--sm-ink);cursor:pointer;font-variant-numeric:tabular-nums;transition:border-color .15s, background .15s;}
.sim-year-chip:hover{border-color:var(--sm-orange-400);}
.sim-year-chip.selected{border-color:var(--sm-orange-500);background:var(--sm-orange-500);color:#fff;}
.sim-year-chip-0km{border-color:var(--sm-teal-600);color:var(--sm-teal-700);}
.sim-year-chip-0km:hover{border-color:var(--sm-teal-700);}
.sim-year-chip-0km.selected{border-color:var(--sm-orange-500);background:var(--sm-orange-500);color:#fff;}
.sim-field-hint{font-size:12px;color:var(--sm-ink-soft);margin:0 0 12px;}
.sim-field-hint-error{color:#b8452f;font-weight:700;}

.sim-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;}
.sim-field{display:flex;flex-direction:column;gap:6px;}
.sim-field label{font-size:12px;font-weight:700;color:var(--sm-ink-soft);}
.sim-field-optional{font-weight:400;text-transform:none;color:var(--sm-ink-soft);}
.sim-field select,.sim-field input{border:1.5px solid var(--sm-line);border-radius:9px;padding:11px 12px;font-size:16px;background:var(--sm-paper-raised);color:var(--sm-ink);font-family:inherit;}
.sim-field select:disabled,.sim-field input:disabled{opacity:.5;cursor:not-allowed;}
.sim-field select:focus,.sim-field input:focus{border-color:var(--sm-orange-400);outline:none;}

.sim-combo{position:relative;width:100%;}
.sim-field .sim-combo-input{width:100%;box-sizing:border-box;font-size:19px;font-weight:700;padding:13px 14px;}
.sim-combo-list{display:none;position:fixed;z-index:700;background:var(--sm-paper-raised);border:1.5px solid var(--sm-line);border-radius:9px;max-height:220px;overflow-y:auto;box-shadow:var(--sm-shadow);}
.sim-combo-list.show{display:block;}
.sim-combo-option{padding:10px 14px;font-size:15px;font-weight:600;cursor:pointer;}
.sim-combo-option:hover,.sim-combo-option.active{background:var(--sm-orange-100);}
.sim-combo-empty{padding:9px 12px;font-size:13px;color:var(--sm-ink-soft);}

.sim-pick-preview{background:linear-gradient(180deg,var(--sm-teal-600),var(--sm-teal-700));color:#fff6ee;padding:22px;display:flex;flex-direction:column;position:relative;overflow:hidden;}
.sim-preview-label{font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:#a9d9d0;}
.sim-pv-car-box{position:relative;border-radius:11px;overflow:visible;aspect-ratio:1.9/1;margin-top:10px;background:rgba(255,255,255,.07);border:1px dashed rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;}
.sim-pv-car-box img{width:100%;height:100%;object-fit:cover;display:block;border-radius:11px;}
.sim-pv-car-box .sim-pv-empty{font-size:12px;color:rgba(255,255,255,.4);text-align:center;padding:0 20px;}
.sim-pv-logo-badge{position:absolute;top:-38px;right:-14px;width:101px;height:101px;display:flex;align-items:center;justify-content:center;}
.sim-pv-logo-badge img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 8px rgba(0,0,0,.55));}
.sim-pv-price{margin-top:16px;padding-top:16px;border-top:1px dashed rgba(255,255,255,.16);}
.sim-pv-price .k{font-size:10.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#a9d9d0;}
.sim-pv-price .v{display:block;font-weight:700;font-size:26px;color:#fff;font-variant-numeric:tabular-nums;margin-top:2px;}
.sim-preview-summary{border-top:1px dashed rgba(255,255,255,.16);margin-top:16px;padding-top:12px;}
.sim-preview-row{display:flex;justify-content:space-between;font-size:13px;padding:6px 0;}
.sim-preview-row .k{color:#a9d9d0;}
.sim-preview-row .v{font-weight:700;}

.sim-step2-body{padding:36px 40px 32px;max-width:900px;}
.sim-amount-block{background:var(--sm-paper);border:1px solid var(--sm-line);border-radius:12px;padding:20px 22px;margin-top:20px;margin-bottom:24px;}
.sim-amount-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;}
.sim-amount-top label{font-size:12px;font-weight:700;color:var(--sm-ink-soft);text-transform:uppercase;letter-spacing:.6px;}
.sim-amount-input-wrap{font-weight:700;font-size:26px;color:var(--sm-orange-800);font-variant-numeric:tabular-nums;}
.sim-amount-input{font:inherit;color:inherit;font-variant-numeric:tabular-nums;border:none;background:transparent;text-align:right;padding:0;}
.sim-amount-input:focus{outline:none;border-bottom:2px solid var(--sm-orange-500);}
.sim-amount-input:disabled,.sim-amount-block input[type=range]:disabled{opacity:.45;cursor:not-allowed;}
.sim-amount-block input[type=range]{width:100%;accent-color:var(--sm-orange-500);height:6px;}
.sim-range-ticks{display:flex;justify-content:space-between;font-size:11px;color:var(--sm-ink-soft);margin-top:4px;}

.sim-cuit-status{font-size:12px;margin-top:6px;}
.sim-cuit-status.ok{color:#1e6b40;}
.sim-cuit-status.warn{color:#b7791f;}
.sim-cuit-status.bad{color:#8f3320;}
.sim-cuit-candidates{margin-top:8px;border:1px solid var(--sm-line);border-radius:9px;overflow:hidden;display:none;}
.sim-cuit-candidates.show{display:block;}
.sim-cuit-candidate{padding:10px 12px;font-size:13px;cursor:pointer;border-bottom:1px solid var(--sm-line);}
.sim-cuit-candidate:last-child{border-bottom:none;}
.sim-cuit-candidate:hover{background:var(--sm-orange-100);}

.sim-step3-body{padding:34px 40px 36px;}
.sim-status-banner{
  display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;
  padding:38px 32px;border-radius:24px;margin:0 auto 30px;max-width:440px;
  position:relative;
  box-shadow:0 34px 64px -26px rgba(20,10,4,.55);
}
.sim-status-banner.ok{background:#bbf7d0;border:2px solid #22c55e;}
.sim-status-banner.bad{background:#f7c9b8;border:2px solid #b8452f;}
.sim-status-banner.warn{background:#fbe4a3;border:2px solid #c9971f;}
.sim-status-icon{
  width:66px;height:66px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 26px -6px rgba(0,0,0,.5),0 0 0 6px rgba(255,255,255,.55) inset;
}
.sim-status-banner.ok .sim-status-icon{background:#fff;box-shadow:0 12px 28px -6px rgba(15,157,78,.6),0 0 0 8px rgba(34,197,94,.2);}
.sim-status-banner.bad .sim-status-icon{background:#fff;box-shadow:0 12px 28px -6px rgba(184,69,47,.6),0 0 0 8px rgba(184,69,47,.2);}
.sim-status-banner.warn .sim-status-icon{background:#fff;box-shadow:0 12px 28px -6px rgba(201,151,31,.6),0 0 0 8px rgba(201,151,31,.2);}
.sim-status-text h3{margin:0;font-size:54px;font-weight:900;letter-spacing:-1.2px;line-height:1;text-transform:uppercase;}
.sim-status-banner.ok .sim-status-text h3{
  color:#0e7a3d;
  text-shadow:0 1px 0 #bdf7d2,0 2px 0 #8fedb2,0 3px 0 #5fe293,0 4px 0 #34c96f,0 10px 18px rgba(14,122,61,.5);
}
.sim-status-banner.bad .sim-status-text h3{
  color:#8f3320;
  text-shadow:0 1px 0 #f3c8bb,0 2px 0 #eba58e,0 3px 0 #dd7f60,0 10px 18px rgba(143,51,32,.45);
}
.sim-status-banner.warn .sim-status-text h3{
  color:#8a6414;
  text-shadow:0 1px 0 #f7e2ab,0 2px 0 #f0cd77,0 3px 0 #e0b64a,0 10px 18px rgba(138,100,20,.45);
}
.sim-status-text p{margin:8px 0 0;font-size:14px;font-weight:700;color:var(--sm-ink-soft);}

.sim-status-banner.pending{background:var(--sm-paper);border:2px dashed var(--sm-line);padding:30px 32px;}
.sim-status-banner.pending .sim-status-text h3{font-size:24px;text-transform:none;color:var(--sm-ink);text-shadow:none;}
.sim-status-banner.pending .sim-status-text p{font-weight:500;}
.sim-partial-dni-form{display:flex;align-items:flex-start;gap:12px;width:100%;max-width:380px;margin:6px auto 0;text-align:left;}
.sim-partial-dni-form .sim-field{flex:1;}
.sim-partial-dni-form .sim-btn{flex-shrink:0;margin-top:22px;min-width:110px;}
.sim-btn.loading{color:transparent;position:relative;}
.sim-btn.loading:disabled{opacity:1;}
.sim-btn.loading::after{
  content:'';position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;
  border-radius:50%;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;animation:sim-spin .7s linear infinite;
}
.sim-btn-secondary.loading::after{border-color:rgba(27,75,73,.25);border-top-color:var(--sm-teal-700);}
@media (max-width:520px){
  .sim-partial-dni-form{flex-direction:column;align-items:stretch;}
  .sim-partial-dni-form .sim-btn{margin-top:4px;width:100%;}
}

.sim-summary{font-size:13px;color:var(--sm-ink-soft);margin-bottom:22px;}
.sim-summary b{color:var(--sm-ink);font-weight:700;}
.sim-summary-cta{font-size:26px;font-weight:500;color:var(--sm-ink-soft);}
.sim-summary-cta-highlight{font-weight:700;color:var(--sm-ink);}

.sim-result-hero{max-width:480px;margin:0 auto 8px;text-align:center;}
.sim-result-vehiculo{
  margin:0 0 18px;font-size:26px;font-weight:900;letter-spacing:-.4px;line-height:1.25;
  color:var(--sm-ink);text-wrap:balance;
}

.sim-result-stats{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:20px;}
.sim-stat-chip{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  min-width:150px;padding:14px 22px;border-radius:16px;
}
.sim-stat-k{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;}
.sim-stat-v{font-size:23px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1.1;}
.sim-stat-anio{background:var(--sm-teal-100);}
.sim-stat-anio .sim-stat-k{color:var(--sm-teal-700);}
.sim-stat-anio .sim-stat-v{color:var(--sm-teal-700);}
.sim-stat-capital{
  background:linear-gradient(135deg,var(--sm-orange-500),var(--sm-orange-700));
  box-shadow:0 14px 26px -10px rgba(196,83,31,.6);
}
.sim-stat-capital .sim-stat-k{color:#ffe4c7;}
.sim-stat-capital .sim-stat-v{color:#fff;font-size:25px;}

.sim-persona-chip{
  display:inline-flex;align-items:center;gap:14px;
  background:var(--sm-paper-raised);
  border:1px solid var(--sm-line);border-radius:16px;padding:12px 20px 12px 14px;
  margin:0 auto 22px;box-shadow:0 10px 22px -14px rgba(20,10,4,.3);
}
.sim-persona-avatar{
  width:44px;height:44px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  background:var(--sm-teal-700);
  box-shadow:0 6px 14px -4px rgba(27,75,73,.45);
}
.sim-persona-info{display:flex;flex-direction:column;gap:2px;text-align:left;}
.sim-persona-label{font-size:10.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--sm-ink-soft);}
.sim-persona-name{font-size:17px;font-weight:900;color:var(--sm-ink);}
.sim-persona-dni{font-size:12.5px;font-weight:700;color:var(--sm-ink-soft);}

.sim-result-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:18px;margin-top:22px;border-top:1px solid var(--sm-line);}
.sim-result-actions-label{font-size:12.5px;font-weight:600;color:var(--sm-ink-soft);}
.sim-result-actions-buttons{display:flex;gap:8px;flex-wrap:wrap;}
.sim-result-actions .sim-btn{padding:8px 16px;font-size:12.5px;flex-shrink:0;}

/* Tarjeta capturada por html2canvas (ver simulador-wizard.js) -- fuera de
   pantalla a proposito (display:none rompe el layout que html2canvas
   necesita medir), ancho fijo para que la imagen resultante sea consistente
   sin importar el viewport de quien la genera. */
.sim-share-card{
    position:fixed;top:0;left:-9999px;
    width:640px;background:var(--sm-paper-raised);
    font-family:var(--sm-sans);color:var(--sm-ink);
    padding:32px;box-sizing:border-box;
}
.sim-share-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:18px;border-bottom:2px solid var(--sm-line);margin-bottom:22px;}
.sim-share-card-logo{height:34px;width:auto;display:block;}
.sim-share-card-tag{font-size:12.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--sm-ink-soft);}
.sim-share-card-vehiculo{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:18px;}
.sim-share-card-marca{font-size:24px;font-weight:900;color:var(--sm-ink);}
.sim-share-card-anio{font-size:16px;font-weight:700;color:var(--sm-ink-soft);}
.sim-share-card-persona{background:var(--sm-paper);border:1px solid var(--sm-line);border-radius:10px;padding:14px 16px;margin-bottom:18px;}
.sim-share-card-persona .k{display:block;font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--sm-ink-soft);}
.sim-share-card-persona .v{display:block;font-size:17px;font-weight:900;color:var(--sm-ink);margin-top:4px;}
.sim-share-card-persona .cuil{display:block;font-size:12.5px;font-weight:700;color:var(--sm-ink-soft);margin-top:2px;}
.sim-share-card #shareBanner.sim-status-banner{margin:0 0 22px;max-width:none;padding:26px 24px;}
.sim-share-card #shareBanner .sim-status-text h3{font-size:38px;}
.sim-share-card-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px;}
.sim-share-card-stat{background:var(--sm-paper);border:1px solid var(--sm-line);border-radius:10px;padding:14px 16px;}
.sim-share-card-stat .k{display:block;font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--sm-ink-soft);}
.sim-share-card-stat .v{display:block;font-size:19px;font-weight:900;color:var(--sm-orange-700);margin-top:4px;}
.sim-share-card-plans{margin-bottom:22px;}
.sim-share-card-plans-title{display:block;font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--sm-ink-soft);margin-bottom:8px;}
.sim-share-card-plans .sim-plans{grid-template-columns:1fr;}
.sim-share-card-plans .sim-plan-card{min-width:0;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;}
.sim-share-card-plans .sim-plan-term{flex-shrink:0;}
.sim-share-card-plans .sim-plan-readout{flex:1;min-width:0;}
.sim-share-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:18px;border-top:1px solid var(--sm-line);}
.sim-share-card-footer{font-size:11.5px;font-weight:700;letter-spacing:.4px;color:var(--sm-ink-soft);}
.sim-share-card-qr{width:64px;height:64px;flex-shrink:0;}
.sim-share-card-qr img,.sim-share-card-qr canvas{display:block;width:100%;height:100%;}

.sim-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.sim-plan-card{border:1.5px solid var(--sm-line);border-radius:12px;padding:20px;background:var(--sm-paper-raised);cursor:pointer;transition:border-color .15s, box-shadow .15s, transform .1s;display:flex;flex-direction:column;gap:14px;}
.sim-plan-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px -14px rgba(18,32,30,.4);}
.sim-plan-card.selected{border-color:var(--sm-orange-500);box-shadow:0 0 0 3px var(--sm-orange-100);}
.sim-plan-term{font-size:12px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--sm-teal-700);}
.sim-plan-readout{background:var(--sm-teal-700);color:#eafffb;border-radius:9px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow:hidden;}
.sim-plan-readout-col{padding:14px 14px 12px;}
.sim-plan-readout-col + .sim-plan-readout-col{border-left:1px solid rgba(234,255,251,.22);}
.sim-plan-readout .amount{font-weight:700;font-size:17px;font-variant-numeric:tabular-nums;color:#eafffb;display:block;line-height:1.25;}
.sim-plan-readout .label{font-size:10.5px;color:#8fc2bc;text-transform:uppercase;letter-spacing:1px;display:block;margin-bottom:2px;}
.sim-plan-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--sm-ink-soft);}
.sim-plan-meta b{color:var(--sm-ink);font-variant-numeric:tabular-nums;}
.sim-plan-pick{border:1.5px solid var(--sm-teal-700);color:var(--sm-teal-700);background:transparent;border-radius:8px;padding:8px 0;font-size:12.5px;font-weight:800;letter-spacing:.3px;text-align:center;}
.sim-plan-card.selected .sim-plan-pick{background:var(--sm-orange-500);border-color:var(--sm-orange-500);color:#fff;}

.sim-confirm-panel{margin-top:26px;border-top:1px dashed var(--sm-line);padding-top:24px;display:none;}
.sim-confirm-panel.show{display:block;animation:sim-rise .3s ease both;}
.sim-confirm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:16px 0 20px;}

.sim-btn-row{display:flex;justify-content:space-between;align-items:center;padding:18px 32px;border-top:1px solid var(--sm-line);background:var(--sm-paper);}
.sim-btn{border:none;border-radius:9px;padding:12px 22px;font-size:14px;font-weight:800;letter-spacing:.2px;cursor:pointer;transition:filter .1s, transform .1s;font-family:inherit;}
.sim-btn:hover{filter:brightness(1.06);}
.sim-btn:active{transform:scale(.98);}
.sim-btn-primary{background:var(--sm-orange-500);color:#fff;}
.sim-btn-secondary{background:transparent;color:var(--sm-teal-700);border:1.5px solid var(--sm-line);}
.sim-btn-ghost{background:transparent;color:var(--sm-ink-soft);}
.sim-btn:disabled{opacity:.45;cursor:not-allowed;filter:none;}

.sim-errors{background:#f7e4df;border:1px solid #e9c3b7;color:#8f3320;border-radius:9px;padding:12px 16px;font-size:13px;margin:0 0 16px;}
.sim-errors ul{margin:4px 0 0;padding-left:18px;}

.sim-leyendas{margin-top:22px;padding-top:16px;border-top:1px dashed var(--sm-line);font-size:11.5px;line-height:1.6;color:var(--sm-ink-soft);}
.sim-leyendas p{margin:0 0 6px;}

.sim-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);background:var(--sm-orange-900);color:#ffe9d6;padding:14px 22px;border-radius:10px;font-size:13.5px;font-weight:600;box-shadow:var(--sm-shadow);opacity:0;pointer-events:none;transition:opacity .25s, transform .25s;display:flex;align-items:center;gap:10px;z-index:900;}
.sim-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

@media (max-width:900px){
  .sim-step-sub{display:none;}
  .sim-step-item::after{display:none;}
  .sim-field-grid{grid-template-columns:1fr;}
  .sim-plans{grid-template-columns:1fr;}
  .sim-confirm-grid{grid-template-columns:1fr;}
  #view1.active{display:flex;flex-direction:column;}
  .sim-pinned-preview{display:block;order:3;margin-top:16px;margin-bottom:0;}
  .sim-pinned-preview .sim-slot-preview{width:100%;}
  .sim-carousel-viewport{order:1;min-height:0;transition:height .5s cubic-bezier(.4,0,.2,1);}
  #view1 .sim-btn-row{order:2;}
  .sim-carousel-track{align-items:flex-start;}
  .sim-hero{padding:112px 16px 74px;background:linear-gradient(to bottom,var(--sm-orange-500) 0,var(--sm-orange-500) calc(100% - 56px),#fff calc(100% - 56px));}
  .sim-hero h1{font-size:32px;}
  .sim-hero p{font-size:16px;}
  .sim-hero-waves{height:56px;}
  .sim-app{padding:0 10px 32px;}
  .sim-slot-form{padding:20px 16px 16px;}
  .sim-pick-preview{padding:16px;}
  .sim-amount-block{padding:16px;}
  .sim-amount-top{flex-direction:column;align-items:flex-start;gap:2px;}
  .sim-step3-body{padding:24px 16px 28px;}
  .sim-btn-row{padding:14px 16px;}
  .sim-status-banner{padding:28px 20px;max-width:100%;}
  .sim-status-text h3{font-size:38px;}
  .sim-result-vehiculo{font-size:20px;}
  .sim-stat-chip{min-width:130px;padding:12px 16px;}
  .sim-stat-v{font-size:19px;}
  .sim-stat-capital .sim-stat-v{font-size:20px;}
  .sim-persona-chip{padding:10px 16px 10px 12px;gap:10px;max-width:100%;}
  .sim-persona-name{font-size:15px;}
}
