/* V15: approved form states, compact results/print, active steps and corporate footer. */
.hero-desc{font-size:16px}
#loanForm .field input::placeholder,#loanForm .placeholder{color:#7b879d;font-size:16px;font-weight:500;letter-spacing:-.025em}
#loanForm #plazo{padding-right:22px}
#loanForm .term-stepper{position:absolute;right:8px;bottom:8px;display:flex;flex-direction:column;justify-content:center}
#loanForm .term-stepper button{display:flex;justify-content:center;align-items:center;width:24px;min-height:20px;padding:4px;background:none;border:0;color:#536884;touch-action:manipulation;border-radius:5px}
#loanForm .term-stepper button:disabled{color:#b7c0ce;cursor:default}
#loanForm .term-stepper button:not(:disabled):hover{background:#e8edf5}
#loanForm .term-stepper svg{width:11px;height:8px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#loanForm .field-error{padding:10px 12px;border:1px solid #eed1cf;border-radius:10px;background:#fff5f4;color:#a03731;line-height:1.5}
/* The icon column also spans the revealed description. */
.step-disclosure{position:relative;--step-active:#5964c5;--step-tint:#f0f1ff}
.step-disclosure:nth-child(2){--step-active:#587695;--step-tint:#f0f4f8}
.step-disclosure:nth-child(3){--step-active:#378471;--step-tint:#eff9f6}
.step-disclosure summary{padding-left:84px;gap:16px}
.step-disclosure .step-icon{position:absolute;inset:0 auto 0 0;width:68px;background:var(--step-tint);color:var(--step-active);transition:background .18s ease,color .18s ease}
.step-disclosure .step-icon svg{width:30px;height:30px}
.step-disclosure[open]{border-color:var(--step-active);box-shadow:0 2px 9px rgba(16,40,89,.035)}
.step-disclosure[open] .step-icon{background:var(--step-active);color:#fff}
.step-disclosure[open] .step-arrow{color:var(--step-active)}
.step-disclosure[open] summary{min-height:65px}
.step-disclosure[open] .step-heading{padding:12px 0 4px}
.step-description{padding-top:0;margin-top:-3px}
.step-description p{font-size:14px;line-height:1.5}
/* Compact labels and values; all data remains present. */
.result-head h2{font-size:24px;margin-bottom:5px}
.result-sub{font-size:12px}
.summary-grid{gap:22px;margin:14px 0 10px}
.summary-group h3{margin-bottom:5px;font-size:10px}
.summary-row{padding:4px 0;font-size:12px;line-height:1.4;gap:12px}
.summary-total{margin-top:2px;padding-top:7px}
.summary-footnote{margin-top:4px}
.schedule-head{margin-top:18px;margin-bottom:12px}
.results table th,.results table td,.results table th:last-child,.results table td:last-child{text-align:center;font-variant-numeric:tabular-nums}
/* Brand-dark footer, existing service information only. */
.footer{padding:39px 0 calc(26px + env(safe-area-inset-bottom));background:var(--navy);color:#fff}
.footer-content{max-width:1000px;text-align:center}
.footer-logo{display:block;width:210px;max-width:65%;margin:0 auto 17px}
.footer-logo img{display:block;width:100%;height:auto;mix-blend-mode:lighten}
.footer-tagline{font-size:13px;line-height:1.7;color:#cfdaeb;margin:0 auto 28px;max-width:450px}
.footer-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;text-align:left}
.footer-section{min-width:0;border-bottom:1px solid #43577d}
.footer-section summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 0;list-style:none;font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}
.footer-section summary::-webkit-details-marker{display:none}
.footer-section summary span{font-size:18px;line-height:1;transition:transform .18s}
.footer-section[open] summary span{transform:rotate(180deg)}
.footer-section nav,.footer-section>div{display:grid;gap:12px;padding:0 0 18px;font-size:12px;line-height:1.6;color:#cfdaeb}
.footer-section button{padding:0;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}
.footer-section p{margin:0}
.footer-section a:hover,.footer-section button:hover{color:#ffb578}
.footer h3{font-size:11px;font-weight:600;line-height:1.5;text-transform:uppercase;letter-spacing:.07em;margin:0 0 14px;color:#cfdaeb}
.footer-attention{margin-top:28px}
.footer-phone{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:18px;font-weight:500;color:#fff}
.footer-phone svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.footer-attention p{margin:10px 0 0;font-size:11px;line-height:1.8;color:#b6c3d8}
.footer-social{margin-top:26px}
.footer-social a{display:inline-flex;align-items:center;gap:9px;color:#cfdaeb;font-size:12px}
.footer-social svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6}
.footer-banks{margin-top:27px}
.bank-logos{list-style:none;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:11px;padding:0;margin:0 auto;max-width:650px}
.bank-logo{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;min-width:0;overflow:hidden;background:#fff;border-radius:11px;padding:8px}
.bank-logo img{display:block;width:100%;height:100%;object-fit:contain}
.bank-pichincha img{transform:scale(2.5)}
.bank-yape img{padding:1px}
.footer-bottom{border-top:1px solid #43577d;margin-top:28px;padding-top:20px;color:#b6c3d8;font-size:10px;line-height:1.9}
@media(max-width:780px){
 .hero-desc{font-size:12px}
 .step-disclosure summary{padding-left:70px;gap:13px}
 .step-disclosure .step-icon{width:57px}
 .step-disclosure .step-icon svg{width:28px;height:28px}
 .step-description p{font-size:13px}
 .summary-grid{gap:10px;margin:12px 0 8px}
 .summary-group+.summary-group{padding-top:9px}
 .summary-row{font-size:11px;padding:3px 0;gap:10px}
 .result-head h2{font-size:22px}
 .footer-navigation{grid-template-columns:1fr;gap:0}
 .footer-logo{width:190px}
 .footer-tagline{font-size:12px;margin-bottom:22px}
 .bank-logos{grid-template-columns:repeat(4,minmax(0,1fr));max-width:330px;gap:10px}
 .footer-attention{margin-top:25px}
}
@media(max-width:360px){
 #loanForm .field input::placeholder,#loanForm .placeholder{font-size:15px}
 #loanForm .term-stepper{right:5px}
 #loanForm .term-stepper button{width:20px}
 .step-disclosure summary{padding-left:62px;gap:11px}
 .step-disclosure .step-icon{width:51px}
 .footer-phone{font-size:17px}
 .bank-logo{border-radius:9px;padding:6px}
}
@media(prefers-reduced-motion:reduce){.step-icon,.footer-section summary span{transition:none}}
/* Browser print / Save as PDF: full schedule, A4, compact enough to target 24 rows. */
@media print{
 @page{size:A4 portrait;margin:10mm}
 html,body{background:#fff!important;font:8pt/1.25 Arial,sans-serif!important;color:#172238!important}
 .site-header,.hero,.metrics,.how,.footer,.result-actions,.show-all,dialog{display:none!important}
 main{display:contents}
 .results{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
 .result-inner{border:0!important;padding:0!important;box-shadow:none!important;border-radius:0}
 .preview-label{font-size:7pt;line-height:1.2;margin-bottom:3pt}
 .result-head{display:block;margin:0 0 5pt}
 .result-head h2{font:700 14pt/1.2 Arial,sans-serif;margin:0 0 3pt}
 .result-sub{font-size:8pt;line-height:1.25}
 .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14pt;margin:6pt 0 5pt;break-inside:avoid}
 .summary-group+.summary-group{padding:0;border:0}
 .summary-group h3{font-size:7pt;line-height:1.2;margin:0 0 3pt}
 .summary-row{font-size:8pt;line-height:1.25;padding:1.5pt 0;gap:8pt}
 .summary-total{margin-top:2pt;padding-top:3pt}
 .summary-footnote{font-size:7pt;line-height:1.25;margin-top:2pt}
 .financial-note{font-size:7pt;line-height:1.3;padding:4pt 6pt;margin:4pt 0;break-inside:avoid}
 .schedule-head{margin:7pt 0 4pt;align-items:center;break-after:avoid}
 .schedule-head h3{font-size:10pt;line-height:1.2;margin:0}
 .schedule-count{font-size:7pt;padding:3pt 6pt}
 .table-scroll{overflow:visible;width:100%}
 .results table{width:100%;font-size:8pt;border-collapse:collapse;table-layout:fixed}
 .results table th,.results table td{font:8pt/1.2 Arial,sans-serif;padding:3pt 4pt;text-align:center;letter-spacing:0}
 .results table th:first-child{width:12%}.results table th:nth-child(2){width:48%}
 .results thead{display:table-header-group}.results tr{break-inside:avoid}
 .schedule-extra{display:table-row!important}
 .disclaimer{font-size:7pt;line-height:1.3;margin:6pt 0 0;break-inside:avoid}
}
