/* Approved A: calculator and receipt surface. Shared English/DE/ES markup. */
body.calculator-page{background:#f2f4ef}

body.calculator-page .calculator-layout{
 --paper:#fff;--ink:#243029;--muted:#59675e;--green:#175d42;--line:#dce3dc;--border:#859187;
 --tint:#e9f0e9;--brand:#175d42;--focus:#2d7356;
 grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);gap:44px;color:var(--ink);align-items:start;
}

body.calculator-page .form-card{padding:24px 28px 26px;background:var(--paper);border:1px solid var(--line);border-radius:14px}
body.calculator-page fieldset{position:relative;padding-bottom:20px;margin-bottom:20px;border-color:var(--line)}
body.calculator-page fieldset:last-of-type{padding-bottom:0;margin-bottom:12px}
body.calculator-page legend{font-size:18px;font-weight:650;letter-spacing:-.25px;margin-bottom:14px;line-height:1.35}
body.calculator-page label{font-size:14px;font-weight:600;margin-bottom:6px}
body.calculator-page .segmented{background:#f3f6f2;border:0;padding:4px;gap:4px;border-radius:8px;margin-bottom:16px;overflow:visible}

body.calculator-page .segmented button{border:0;border-radius:5px;min-height:36px;padding:7px 10px;font-size:13px;line-height:1.35;font-weight:550}
body.calculator-page .segmented button[aria-pressed=true]{background:var(--paper);color:var(--green);box-shadow:0 1px 4px #20312614;font-weight:650}
body.calculator-page .input-with-unit{min-height:48px;border-radius:8px;border-color:var(--border);background:var(--paper)}
body.calculator-page .input-with-unit input{font-size:20px;line-height:1.25;padding:10px 12px;font-weight:500;min-height:46px;font-variant-numeric:tabular-nums}
body.calculator-page .field>input{font-size:20px;background:var(--paper);border-color:var(--border);border-radius:8px;padding:10px 12px}
body.calculator-page input::placeholder{font-size:17px;color:#6c776f;font-weight:400}

body.calculator-page #trip-form .input-with-unit select{color:var(--muted);font-size:12px;font-weight:550;background-position:right 12px center}
body.calculator-page #trip-form #currency{width:76px;color:var(--ink)}
body.calculator-page #trip-form #economy-unit{width:120px}
body.calculator-page #trip-form #price-unit{width:106px}
body.calculator-page #trip-form #distance-unit{width:78px;font-size:13px}
body.calculator-page .return-trip-option{font-size:12px;min-height:34px;margin-top:7px;gap:8px}
body.calculator-page .return-trip-option>span{font-weight:500}
body.calculator-page #trip-type{width:16px;height:16px;min-width:16px;min-height:16px}
body.calculator-page #distance-help{font-size:11px;line-height:1.5;margin-top:0;color:var(--muted)}
body.calculator-page .hint,body.calculator-page .small{font-size:12px;line-height:1.5}
body.calculator-page #distance-summary{font-size:12px;margin-top:5px}
body.calculator-page .field-help{margin:6px 0 0;min-width:0}
body.calculator-page .field-help>summary{display:list-item;list-style:disclosure-closed;font-size:11px;font-weight:500;min-height:30px;padding:6px 0;color:var(--muted);width:fit-content}
body.calculator-page .field-help[open]>summary{list-style:disclosure-open;color:var(--green)}
body.calculator-page .field-help .hint{font-size:12px;margin:4px 0 8px;max-width:48ch}
body.calculator-page .unit-settings{position:absolute;right:0;top:-36px;margin:0;z-index:3;text-align:right}
body.calculator-page fieldset:first-of-type>legend{padding-right:135px}
body.calculator-page .unit-settings>summary{margin-left:auto;padding:2px 0 10px;min-height:28px;font-size:11px}
body.calculator-page .unit-settings[open]{width:min(300px,100%);background:var(--paper);padding:8px 14px 12px;border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 18px #20312612;text-align:left}
body.calculator-page .unit-settings[open]>summary{padding:0 0 6px}
body.calculator-page .field-help .unit-preset-row{margin:6px 0;display:block}
body.calculator-page .field-help .unit-preset-row label{font-size:12px;margin:6px 0}
body.calculator-page .field-help .unit-preset-row select{width:100%;max-width:100%;font-size:12px;background-color:var(--paper);border-color:var(--border)}
body.calculator-page .car-fuel .economy-label{min-height:28px;margin-bottom:6px}
body.calculator-page .car-actions .text-button{font-size:12px;min-height:28px;padding:3px 0;font-weight:600}
body.calculator-page .car-save-row{margin:4px 0 0;gap:0 12px}
body.calculator-page .car-save-row .text-button{font-size:12px;min-height:30px;padding:4px 0}
body.calculator-page .car-save-row .hint{font-size:11px}
body.calculator-page .car-fuel #economy-source{font-size:11px;margin-top:6px}
body.calculator-page .price-field{margin-top:14px}
body.calculator-page #currency-help{font-size:11px;margin-top:7px}
body.calculator-page .reference-prices{border:0;margin-top:2px}
body.calculator-page .reference-prices>summary{font-size:12px;min-height:32px;padding:6px 0;color:var(--green)}
body.calculator-page .people-row{margin-bottom:12px}
body.calculator-page .people-row .hint{font-size:11px;margin-top:3px}
body.calculator-page .stepper{border-color:var(--border);border-radius:8px;background:var(--paper)}
body.calculator-page .stepper input{background:transparent;font-size:17px;height:42px;width:42px;border-color:var(--line)}
body.calculator-page .stepper button{min-height:42px;min-width:42px;font-size:20px}
body.calculator-page #split-explanation{margin-top:-6px;font-size:11px}
body.calculator-page .extras{margin-bottom:16px;border-color:var(--line)}
body.calculator-page .extras>summary{font-size:12px;min-height:40px;padding:10px 0}
body.calculator-page .primary,body.calculator-page .secondary{min-height:46px;padding:11px 15px;font-size:13px;border-radius:8px;font-weight:600;line-height:1.4}
body.calculator-page .primary{background:var(--green);border-color:var(--green);color:white}
body.calculator-page .secondary{background:var(--paper);border-color:var(--border);color:var(--green)}
body.calculator-page .submit-row{gap:18px}
body.calculator-page .submit-row .text-button{font-size:12px}
body.calculator-page .form-card .error{font-size:12px;line-height:1.5;margin-top:6px;color:#a12d25}
body.calculator-page .result-column{top:24px}
body.calculator-page .result-card{padding:24px 28px 22px;min-height:530px;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:0 9px 26px #20312607}
body.calculator-page .result-top{font-size:11px;padding:0 0 18px;border-color:var(--line);min-height:40px;color:var(--muted)}
body.calculator-page .receipt-brand{font-size:22px;font-weight:700;letter-spacing:-.8px;color:var(--ink);display:inline-flex;align-items:center;gap:7px}
body.calculator-page .receipt-brand .brand-dot{margin-left:-7px;color:var(--brand)}
body.calculator-page .receipt-symbol{width:19px;height:22px;color:var(--brand);flex-shrink:0}

body.calculator-page #result-title,body.calculator-page .empty-label{font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0;color:var(--muted);margin:26px 0 8px}
body.calculator-page .main-amount{font-family:inherit;font-size:62px;font-weight:600;letter-spacing:-2.8px;line-height:1.12;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;color:var(--ink)}

body.calculator-page .main-amount .amount-code{font-family:inherit;font-size:16px;font-weight:500;letter-spacing:0;vertical-align:baseline;margin-right:9px;color:var(--muted)}
body.calculator-page .main-amount.grouped{font-family:inherit;font-size:27px;font-weight:600;letter-spacing:-.7px;line-height:1.3}
body.calculator-page .amount-group span{font-family:inherit;font-size:12px;font-weight:400}
body.calculator-page #result-rule,body.calculator-page .empty-rule{font-size:11px;margin:10px 0 0;color:var(--muted);min-height:18px}
body.calculator-page .totals,body.calculator-page .empty-totals{border-top:1px dashed var(--border);margin:24px 0 0;padding-top:12px;font-size:13px}
body.calculator-page .totals>div,body.calculator-page .empty-totals>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:8px 0;line-height:1.4}
body.calculator-page .totals dt,body.calculator-page .empty-totals dt{color:var(--muted);font-weight:400}
body.calculator-page .totals dd,body.calculator-page .empty-totals dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;max-width:60%;font-weight:550}
body.calculator-page .totals>div:first-child{padding-top:4px;padding-bottom:10px;margin-bottom:3px;border-bottom:1px solid var(--line)}
body.calculator-page .totals>div:first-child dt{color:var(--ink);font-weight:550}
body.calculator-page .empty-totals>div:first-child{padding-top:4px;padding-bottom:10px;margin-bottom:3px;border-bottom:1px solid var(--line)}
body.calculator-page .empty-totals dd{color:#8a948c}
body.calculator-page .cost-items{margin-top:20px;border:0;padding-top:0;font-size:12px}
body.calculator-page .cost-items>div{padding:5px 0}
body.calculator-page .bill-actions{margin:22px 0 12px;gap:8px}
body.calculator-page .bill-actions button{min-height:44px;padding:10px 12px;font-size:12px;min-width:0}
body.calculator-page .bill-actions .secondary{flex:0 1 auto}
body.calculator-page .empty-result{padding:0}
body.calculator-page .empty-result .bill-actions .primary{flex:1}
body.calculator-page .empty-result button:disabled{opacity:.42}
body.calculator-page .receipt-foot{font-size:11px;line-height:1.5;margin:12px 0 0;color:var(--muted)}
body.calculator-page .empty-breakdown{border-top:1px dashed var(--line);margin-top:16px}
body.calculator-page .empty-breakdown button{font:inherit;color:var(--muted);font-size:11px;min-height:36px;padding:10px 0;border:0;background:transparent;opacity:.6}
body.calculator-page #payment-note{font-size:11px;margin:12px 0 0}
body.calculator-page #breakdown{margin-top:16px;border-color:var(--line)}
body.calculator-page #breakdown>summary{font-size:11px;padding:10px 0;min-height:36px}
body.calculator-page .result-caption{font-size:11px;margin-top:12px}
body.calculator-page .result-status{font-size:12px;line-height:1.5}
body.calculator-page .receipt-error-note{font-size:12px;line-height:1.5;color:#a12d25;background:#fff0e9;padding:10px 12px;border-radius:6px;margin:16px 0 -10px}
body.calculator-page .result-card[data-error=true]{border-color:#bc7168}
body.calculator-page .result-card.stale #result-values{opacity:.4}
body.calculator-page :is(button,a,summary,input,select,textarea):focus-visible{outline:2px solid var(--focus);outline-offset:3px}
body.calculator-page .segmented button:focus-visible,body.calculator-page .input-with-unit input:focus-visible{outline-offset:-3px}
body.calculator-page .picker-dialog{font-family:inherit;background:var(--paper);border-color:var(--line)}
body.calculator-page .picker-option[aria-selected=true]{background:var(--tint)}
body.calculator-page .reference-prices[open],body.calculator-page .field-help[open]{padding-bottom:8px}
body.calculator-page .car-secondary-actions .text-button{font-size:12px}
body.calculator-page .product-referral{margin-top:16px}
body.calculator-page .referral-button{background:var(--tint);border-color:var(--line);color:var(--green);font-size:12px}
body.calculator-page .intro{padding-bottom:28px}
@media(max-width:1023px){
 body.calculator-page .calculator-layout{grid-template-columns:1fr;gap:20px;max-width:620px}
 body.calculator-page .result-column{position:static}
}
@media(max-width:600px){
 body.calculator-page .segmented button{min-height:44px}
 body.calculator-page .car-actions .text-button,body.calculator-page .car-save-row .text-button{min-height:44px}
 body.calculator-page .field-help>summary{min-height:40px;font-size:12px}
 body.calculator-page .unit-settings{top:-42px}
 body.calculator-page .unit-settings>summary{min-height:40px;padding:6px 0;font-size:11px}
 body.calculator-page .return-trip-option{min-height:44px;font-size:13px}
 body.calculator-page #distance-help,body.calculator-page #currency-help{font-size:12px}
 body.calculator-page .stepper button,body.calculator-page .stepper input{min-height:44px;height:44px}
 body.calculator-page .form-card{padding:20px 18px 22px;border-radius:12px}
 body.calculator-page .result-card{padding:22px;min-height:510px;border-radius:12px}
 body.calculator-page .calculator-layout{gap:18px}
 body.calculator-page legend{font-size:17px}
 body.calculator-page fieldset{margin-bottom:18px;padding-bottom:18px}
 body.calculator-page .main-amount{font-size:56px}
 
 body.calculator-page .input-with-unit input{font-size:19px;padding:10px}
 body.calculator-page #trip-form #currency{width:68px}
 body.calculator-page #trip-form #price-unit{width:99px}
 body.calculator-page #trip-form #economy-unit{width:112px}
 body.calculator-page #trip-form #distance-unit{width:70px}
 body.calculator-page #trip-form select{padding-left:10px;padding-right:30px;background-position:right 9px center}
 body.calculator-page .car-save-row{gap:0 10px}
 body.calculator-page .car-save-row .hint{font-size:11px}
 body.calculator-page .stepper button{min-width:40px}
 body.calculator-page .stepper input{width:36px}
 body.calculator-page .bill-actions .primary{flex:1}
 body.calculator-page .submit-row{gap:12px}
 body.calculator-page .submit-row .primary{font-size:13px}
 body.calculator-page .result-top{gap:8px}
}
@media(max-width:350px){body.calculator-page .form-card{padding:18px 14px}body.calculator-page .result-card{padding:20px}body.calculator-page #trip-form #currency{width:64px}body.calculator-page #trip-form #price-unit{width:90px}body.calculator-page #trip-form #economy-unit{width:108px}body.calculator-page .main-amount{font-size:51px}}
@media(prefers-reduced-motion:reduce){body.calculator-page *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

