/* Calculator controls, flexible scenarios and small-screen layout. */
.calculator-layout>*,.detail-layout>*,.programme-calc-grid>*,.home-tools>*,.home-intro>*{min-width:0}
.input-wrap input,.field>input,.field select{max-width:100%;min-width:0;width:100%}
.extra-event-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) auto;gap:10px;align-items:end;padding:13px 0;border-top:1px solid var(--line)}
.extra-event-row .field{margin-bottom:0}.extra-event-row .field>input{border:1px solid var(--line);border-radius:8px;padding:11px 10px;background:white}
.extra-event-row .plain-button{font-size:11px;min-height:44px;padding:5px}
.small-button{font-size:12px;padding:12px;margin-bottom:19px;width:100%}
.prepayment-controls>summary{font-size:15px}.prepayment-controls .form-details>summary{font-size:12px;line-height:1.6}
.form-details .two-col{gap:10px}.form-details .mini-note{line-height:1.8}
.loan-advice{margin:40px 0;border:1px solid #cddcf4;border-radius:14px;padding:28px;background:#fff}
.loan-advice>h2{font-size:29px;margin:13px 0 17px}.loan-advice>p{font-size:14px;line-height:1.8;color:var(--muted)}
.advice-inputs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:24px;align-items:start;margin:24px 0}
.advice-inputs>.field{max-width:360px}.budget-check{margin:0;padding:16px;border:1px solid var(--line);border-radius:10px;background:#f7faff}
.budget-check summary{font-size:13px;line-height:1.6}.budget-check .field{margin-top:14px;margin-bottom:0}
.budget-check>.mini-note{margin-top:15px}.advice-budget-note{padding:18px;background:#eaf2ff;color:#234576;border-radius:9px;font-size:13px;line-height:1.8;margin:20px 0}
.advice-budget-note.budget-deficit{background:#fff1eb;color:#94351c}
.advice-comparison{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:22px 0}
.advice-card{padding:19px;background:#f7faff;border:1px solid var(--line);border-radius:11px;display:flex;flex-direction:column;min-width:0}
.advice-card h3{font-size:19px;line-height:1.35;margin-bottom:22px}.advice-card dl{margin:0 0 20px}.advice-card dl>div{margin-bottom:16px}
.advice-card dt{font-size:10px;line-height:1.7;color:var(--muted);margin-bottom:5px}.advice-card dd{margin:0;font-size:16px;font-weight:700;overflow-wrap:anywhere}
.advice-card .button{margin-top:auto;padding:12px;font-size:11px}
.detail .advice-inputs{grid-template-columns:1fr}.detail .advice-comparison{grid-template-columns:repeat(2,minmax(0,1fr))}
.loan-advice>.mini-note{font-size:11px}.loan-advice>.text-link{font-size:11px;display:inline-block;line-height:1.8;overflow-wrap:anywhere}
.deposit-payout-note{padding:15px;background:#edf4ff;border:1px solid var(--line);border-radius:9px;font-size:12px;line-height:1.8;margin:20px 0}
.big-number,.result-stat strong,.quick-result strong{overflow-wrap:anywhere}
.example-label{display:inline-block;background:#e8f0ff;color:#234f9a;font-size:10px;font-weight:700;border-radius:6px;padding:7px 10px;margin-bottom:18px}
input[data-money]{font-variant-numeric:tabular-nums}
input[data-money][readonly]{background:#f1f5fc;color:#526886}
.source-box a,.detail-facts dd{overflow-wrap:anywhere}
.balance-chart,.programme-chart{display:block;width:100%;max-width:100%;height:auto}
.table-scroll,.comparison-wrap{max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.tabs{min-width:0}.tabs button{min-width:0;white-space:normal;line-height:1.5}
.programme-jumps a{min-height:40px;display:inline-flex;align-items:center}
@media(max-width:1080px){.advice-comparison{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){
 .calculator-layout,.programme-calc-grid{grid-template-columns:minmax(0,1fr)}
 .advice-inputs{grid-template-columns:1fr;gap:12px}.advice-inputs>.field{max-width:none}
 .field input,.field select,.search-field input{font-size:16px;min-height:46px}
 button,.button,.menu-toggle{min-height:44px}.save-button{min-width:44px}.compare-check{min-height:44px;display:inline-flex;align-items:center}summary{min-height:44px;padding-top:10px;padding-bottom:10px}
 .sector-nav,.programme-jumps{position:static;flex-direction:row;flex-wrap:wrap;background:transparent;left:auto;right:auto;top:auto}
 .sector-nav a,.programme-jumps a{width:auto}.header-inner #primary-nav{max-height:calc(100dvh - 75px);overflow-y:auto}
 .calculator-form,.calculator-results{padding:23px}.result-actions>*{flex:1 1 150px;white-space:normal}
 .calculator-results .big-number{font-size:clamp(29px,7.5vw,45px)}
 .loan-advice{padding:22px}.programme-calculator{padding:21px}
}
@media(max-width:520px){
 .tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:5px}
 .tabs button{width:100%;font-size:12px;min-height:44px;padding:10px 6px}
 .calculator-form,.calculator-results{padding:19px}.calculator-results .results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .result-stat strong{font-size:17px}.result-stat span{font-size:10px}.result-actions>*{flex-basis:100%;text-align:center}
 .programme-result .results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .programme-calculator,.loan-advice{padding:17px}.loan-advice>h2{font-size:25px}
 .advice-comparison,.detail .advice-comparison{grid-template-columns:1fr;gap:12px}
 .advice-card{padding:19px}.advice-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;margin-bottom:17px}
 .advice-card dl>div{margin:0}.advice-card h3{font-size:20px;margin-bottom:20px}.advice-card .button{font-size:12px}
 .extra-event-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.extra-event-row .plain-button{grid-column:1/-1;justify-self:end;padding:6px 12px}
 .form-details .two-col{grid-template-columns:minmax(0,1fr)}
 .route-card .route-bottom{flex-wrap:wrap}.route-bottom small,.route-bottom b{max-width:none}
 .catalogue-line{gap:12px}.group-buttons{display:grid;grid-template-columns:1fr;width:100%;gap:8px}.group-button{font-size:13px;text-align:left}
 .card-footer{flex-wrap:wrap}.programme-jumps{gap:8px 15px;font-size:11px;margin-top:5px}
 .compare-tray{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.6fr) auto;width:calc(100% - 24px);max-width:640px;gap:7px;padding:10px;bottom:10px}
 .compare-tray>span{max-width:none;overflow-wrap:anywhere}.compare-tray .button{font-size:10px;padding:9px 7px;white-space:normal}.compare-tray .plain-button{font-size:10px;padding:5px}
}
@media(max-width:359px){.hero-buttons{display:grid;grid-template-columns:1fr}.hero-buttons .button{width:100%}.hero-proof{flex-wrap:wrap;gap:10px}.intro-copy h1{font-size:33px}.programme-result .big-number{font-size:29px}.programme-result .result-stat strong{font-size:14px}.route-card{padding:21px}.advice-card dd{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.loan-advice .advice-inputs,.advice-card button,.extra-event-row button{display:none!important}.loan-advice{border:1px solid #ccc;break-inside:auto}.advice-comparison{grid-template-columns:repeat(2,minmax(0,1fr))}.advice-card{background:#fff}}
