/* Shared public-calculator layout; apply only to marked calculator templates. */
.calculator-benchmark-layout .next-step{overflow-x:clip}
.calculator-benchmark .calculator-benchmark-summary{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:12px;position:relative;min-width:0;min-height:76px;box-sizing:border-box;padding:12px 16px;border:1px solid #c8d9cf;border-radius:12px;background:#eef5e9}
.calculator-benchmark-summary>[data-summary-text]{display:grid;gap:4px;min-width:0}
.calculator-benchmark [data-benchmark-label]{color:#456557;font-size:13px;line-height:1.4}
.calculator-benchmark [data-benchmark-value]{display:block;min-width:0;max-width:100%;color:#173c33;font-size:clamp(22px,2.5vw,28px);line-height:1.25;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.calculator-benchmark :is([data-benchmark-value],.primary-metric>strong) :is(.gc-money,.gc-money-visual,.gc-money-number){min-width:0;max-width:100%;white-space:normal}
.calculator-benchmark :is([data-benchmark-value],.primary-metric>strong) .gc-money-whole{min-width:0;white-space:normal;overflow-wrap:anywhere}
.calculator-benchmark :is([data-benchmark-value],.primary-metric>strong) :is(.gc-money,.gc-money-visual,.gc-money-number){display:inline}
.calculator-benchmark :is([data-benchmark-value],.primary-metric>strong) :is(.gc-money-unit,.gc-money-fraction){vertical-align:super}
.calculator-benchmark .calculator-benchmark-copy{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;min-width:44px;height:44px;min-height:44px;padding:10px;margin:0;flex:none;white-space:normal;border-radius:10px}
.calculator-benchmark-copy svg{display:block;flex:none;width:20px;height:20px}
.calculator-benchmark .calculator-benchmark-copy:disabled{background:#e7ece9;border-color:#cdd5d1;color:#708079;opacity:1;cursor:default}
.calculator-benchmark .calculator-benchmark-copy.is-copied{color:#087960;background:#e1f3e8;border-color:#8eb9a0}
.calculator-benchmark-copy.is-copied svg{visibility:hidden}
.calculator-benchmark-copy.is-copied::after{content:"";position:absolute;width:20px;height:20px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 4 4L19 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.calculator-benchmark .calculator-benchmark-copy.is-copy-error{color:#8a4a22;border-color:#bd9679}
.calculator-benchmark .calculator-benchmark-copy:focus-visible{outline:2px solid #087960;outline-offset:3px}
.calculator-benchmark .calculator-benchmark-copy-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.calculator-benchmark .household-form{display:flex;flex-direction:column;gap:16px}
.calculator-benchmark .household-form>.calculator-benchmark-summary{order:-3}
.calculator-benchmark .household-form>.household-fields{order:-2}
.calculator-benchmark .household-form>.household-variant-notice{order:-1;margin:0}
.calculator-benchmark .household-form>.household-error{order:0;margin:0}
.calculator-benchmark .household-form>.calculator-buttons{order:1;margin-top:0;gap:12px}
.calculator-benchmark .household-form>.household-live-hint{order:2;margin:0;font-size:13px;line-height:1.5}
.calculator-benchmark .calculator-benchmark-advanced{grid-column:1/-1;min-width:0;border:0;border-top:1px solid #c8d9cf;border-radius:0;background:transparent}
.calculator-benchmark .calculator-benchmark-advanced>summary{min-height:44px;padding:12px 36px 12px 0;font-size:14px;line-height:1.4}
.calculator-benchmark .calculator-benchmark-advanced>summary::after{right:4px}
.calculator-benchmark .calculator-benchmark-advanced[open]>summary{margin-bottom:12px}
.calculator-benchmark .household-result{padding:20px}
.calculator-benchmark .household-result .calculator-notes{font-size:14px;line-height:1.6}
.calculator-benchmark .household-tables{margin-top:24px}
.calculator-benchmark .calculator-benchmark-result-actions{display:none}
@media(min-width:801px){
 .calculator-benchmark .calculator-benchmark-summary{display:none}
 .calculator-benchmark .calculator-result{display:grid;grid-template-columns:minmax(0,1fr) 44px;column-gap:12px;align-items:start}
 .calculator-benchmark .calculator-result>.eyebrow{grid-column:1/-1}
 .calculator-benchmark :is([data-metrics],[data-calculator-metrics]){display:contents}
 .calculator-benchmark .calculator-result :is(.calculator-metric,.calculator-notes,.calculator-breakdown){grid-column:1/-1}
 .calculator-benchmark .calculator-result .primary-metric{display:grid;grid-template-rows:subgrid;grid-column:1;grid-row:2/span 2;align-items:start;padding:0;border:0;margin-bottom:16px}
 .calculator-benchmark .calculator-benchmark-result-actions{display:block;grid-column:2;grid-row:3;align-self:start;width:44px;height:44px}
 .calculator-benchmark :is([data-metrics],[data-calculator-metrics])>p{grid-column:1;grid-row:2}
 .calculator-benchmark .primary-metric>strong{min-width:0;max-width:100%;overflow:visible;font-size:clamp(24px,2.8vw,36px)}
}
.calculator-benchmark .calculator-metric{border-bottom:0;border-top:1px solid #d0deca}
.calculator-benchmark .calculator-metric:not(.primary-metric)>span{flex:1;min-width:0;overflow-wrap:anywhere}
.calculator-benchmark .calculator-metric:not(.primary-metric)>strong{flex:0 0 auto;max-width:60%;text-align:right}
.calculator-benchmark .primary-metric{border:0;padding-bottom:0}
.calculator-benchmark .calculator-field>.category-picker{margin:0}
.calculator-benchmark .calculator-field[data-field="mode"]{grid-column:1/-1}
.calculator-benchmark .calculator-fields{align-items:start}
:is(.calculator-benchmark,.calculator-benchmark-aux) .gc-short-choices{flex-wrap:nowrap;gap:8px}
:is(.calculator-benchmark,.calculator-benchmark-aux) .gc-short-choices>.gc-field-action{min-height:48px;flex:1;white-space:nowrap;font-size:14px}
:is(.calculator-benchmark,.calculator-benchmark-aux) .calculator-choice-buttons>.category-picker-input,:is(.calculator-benchmark,.calculator-benchmark-aux) .calculator-choice-buttons>.category-picker-toggle{display:none}
:is(.calculator-benchmark,.calculator-benchmark-aux) .calculator-choice-dropdown>.gc-short-choices{display:none!important}
.calculator-benchmark form[data-household="exchange"]>.household-fields:has(.exchange-currencies.is-cross){grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);column-gap:8px}
.calculator-benchmark form[data-household="exchange"] .exchange-currencies.is-cross{grid-template-columns:subgrid}
.calculator-benchmark form[data-household="exchange"]:has(.exchange-currencies.is-cross) .household-field[data-field="amount"]{grid-column:1}
.calculator-benchmark form[data-household="exchange"]:has(.exchange-currencies.is-cross) .household-field[data-field="crossRate"]{grid-column:3}
.calculator-benchmark form[data-household="exchange"]:has(.exchange-currencies.is-cross) .household-field:is([data-field="feePercent"],[data-field="feeFixed"]){grid-column:1/-1}
.calculator-benchmark form[data-household="early"]>.household-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.calculator-benchmark form[data-household="early"] .household-field[data-field="principal"]{grid-column:1/-1;grid-row:1/span 3}
.calculator-benchmark form[data-household="early"] .household-field[data-field="annualRate"]{grid-column:1;grid-row:4/span 3}
.calculator-benchmark form[data-household="early"] .household-field[data-field="months"]{grid-column:2;grid-row:4/span 3}
.calculator-benchmark form[data-household="early"] .household-field[data-field="extra"]{grid-column:1/-1;grid-row:7/span 3}
@media(max-width:480px){
 .calculator-benchmark-layout:is([data-topic="percent"],[data-topic="loan_calc"]) .calculator-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}
 .calculator-benchmark-layout:is([data-topic="percent"],[data-topic="loan_calc"]) .calculator-field[data-field="mode"]{grid-column:1/-1}
 .calculator-benchmark .household-form{padding:16px;gap:16px}
 .calculator-benchmark .calculator-benchmark-summary{padding:12px;min-height:72px;gap:12px}
 .calculator-benchmark [data-benchmark-value]{font-size:24px}
 .calculator-benchmark .household-result{padding:20px 16px}
 .calculator-benchmark form:is([data-household="mortgage_calc"],[data-household="date_interval"],[data-household="deposit_daily"],[data-household="early"],[data-household="vat"],[data-household="salary_ndfl"])>.household-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 .calculator-benchmark form:is([data-household="date_interval"],[data-household="deposit_daily"])>.household-fields>.household-field:has(input[data-kind="date"]){grid-column:1/-1}
 .calculator-benchmark form[data-household="date_interval"]>.household-fields>.household-field:has(.household-check){grid-column:auto;margin-top:0;margin-bottom:0}
}
@media(max-width:350px){
 .calculator-benchmark .household-field:has(.gc-stepper-inset){grid-column:1/-1}
 .calculator-benchmark form[data-household="mortgage_calc"]>.household-fields>.household-field[data-field="annualRate"]{grid-column:1/-1}
}
@media screen and (max-height:720px){.calculator-benchmark-layout .public-breadcrumbs{display:none}}
@media print{
 .calculator-benchmark .calculator-benchmark-summary{display:none}
 .calculator-benchmark .household-form>.household-fields,.calculator-benchmark .household-form>.household-live-hint{order:initial}
}

/* On a phone the currency pair stacks, so its amount and quote use full rows too. */
@media(max-width:600px){
 .calculator-benchmark form[data-household="exchange"]>.household-fields:has(.exchange-currencies.is-cross){grid-template-columns:minmax(0,1fr)}
 .calculator-benchmark form[data-household="exchange"] .exchange-currencies.is-cross{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr)}
 .calculator-benchmark form[data-household="exchange"] .exchange-currencies.is-cross>[data-field="targetCurrency"]{grid-column:3;grid-row:1/span 3}
 .calculator-benchmark form[data-household="exchange"]:has(.exchange-currencies.is-cross) .household-field:is([data-field="amount"],[data-field="crossRate"]){grid-column:1/-1}
}
.calculator-benchmark .household-control .gc-stepper{width:100%;max-width:none}
.calculator-benchmark form[data-household="service_periods"] .household-row .household-field[data-field$=".name"]{grid-column:1/-1}
.calculator-benchmark form[data-household="salary_ndfl"] .household-field[data-field="deduction"]{grid-column:1/-1}
@media(max-width:350px){.calculator-benchmark form[data-household="early"]>.household-fields{grid-template-columns:minmax(0,1fr) minmax(136px,1fr)}}
.calculator-benchmark form[data-household="exchange"] .exchange-currencies.is-cross .category-picker-input{padding-left:8px;padding-right:40px}
.calculator-benchmark form[data-household="exchange"] .exchange-currencies.is-cross .category-picker-toggle{width:40px}
.calculator-benchmark form[data-household="exchange"] .exchange-currencies.is-cross .exchange-currency-swap{grid-row:2;align-self:start}
.calculator-benchmark form[data-household="exchange"] .exchange-currencies.is-cross .exchange-currency-swap svg{transform:none}
@media(max-width:480px){.calculator-benchmark form[data-household="salary_ndfl"]>.household-fields{grid-template-columns:minmax(0,1fr)}}
/* The same summary precedes long estimates; legal document forms keep their flow. */
.calculator-aux-summary{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:12px;align-items:center;min-width:0;padding:12px 16px;margin-bottom:24px;border:1px solid #c8d9cf;border-radius:12px;background:#eef5e9}
.calculator-aux-summary>div{min-width:0;display:grid;gap:8px}
.calculator-aux-summary>div>span{font-size:13px;line-height:1.4;color:#456557}
.calculator-aux-summary strong{display:block;min-width:0;max-width:100%;font-size:24px;line-height:1.25;overflow-wrap:anywhere}
.calculator-aux-summary :is(.gc-money,.gc-money-visual,.gc-money-number){display:inline;max-width:100%;white-space:normal}
.calculator-aux-summary .gc-money-whole{min-width:0;white-space:normal;overflow-wrap:anywhere}
.calculator-aux-summary :is(.gc-money-fraction,.gc-money-unit){vertical-align:super}
.calculator-aux-summary .calculator-benchmark-copy{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:10px;box-sizing:border-box}
.calculator-aux-summary .calculator-benchmark-copy-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.calculator-benchmark .calculator-benchmark-result-actions:has(>.calculator-benchmark-copy:disabled){display:none}
.calculator-benchmark .calculator-result:has(.calculator-benchmark-copy:disabled) :is([data-metrics],[data-calculator-metrics])>p{grid-column:1/-1}
.calculator-benchmark-aux .next-step,.calculator-benchmark-aux .practical-demo{overflow-x:clip}
.calculator-benchmark-aux .practical-calculator>p:not(.practical-use-note){margin:0 0 16px;font-size:13px}
.calculator-benchmark-aux .practical-form>fieldset:first-of-type{margin-top:0}
@supports(grid-template-rows:subgrid){
 .calculator-benchmark-aux :is(.practical-grid,.loan-fields){row-gap:8px}
 .calculator-benchmark-aux :is(.practical-field,.loan-field){display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:8px;align-items:start}
}
.calculator-benchmark-aux :is(.practical-grid,.loan-fields) .category-picker{margin:0}
@media(max-width:480px){.calculator-benchmark-aux .calculator-aux-summary{padding:12px}.calculator-benchmark-aux .practical-calculator{padding:16px}}
@media(max-width:800px){
 .calculator-benchmark .calculator-board{grid-template-columns:minmax(0,1fr)}
 .calculator-benchmark .calculator-result .primary-metric,.calculator-benchmark .calculator-result>.eyebrow{display:none}
 .calculator-benchmark-aux .loan-segment span{box-sizing:border-box;min-height:44px;padding:8px 10px}
 .calculator-benchmark-aux [data-loan-inputs]{display:flex;flex-direction:column}
 .calculator-benchmark-aux [data-loan-inputs]>*{order:3}
 .calculator-benchmark-aux [data-loan-inputs]>.loan-choice:first-child{order:0;margin-bottom:16px}
 .calculator-benchmark-aux [data-loan-inputs]>.loan-fields{order:1}
 .calculator-benchmark-aux [data-loan-inputs]>.gc-role-help{order:2;margin-bottom:8px}
}
.calculator-benchmark-layout .calculator-benchmark-aux .practical-intro>.eyebrow{order:3;margin-top:16px}
.calculator-benchmark-aux [data-practical]>.practical-example-note{order:3!important;margin-top:16px}
.calculator-benchmark-aux [data-practical]>h2{position:absolute;width:1px;height:1px;min-height:0;margin:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
