/* A budget worksheet with an itemized, printable receipt. */
.calculator-page [hidden]{display:none!important}
.calculator-heading{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:70px;align-items:end;padding-block:35px 31px}
.calculator-heading h1{font-size:clamp(37px,4.2vw,56px);line-height:1.12;margin-bottom:21px}
.calculator-heading h1 em{color:var(--blue)}
.calculator-heading>div>p{font-size:18px;max-width:670px;color:var(--muted);margin:0}
.calculator-intro-note{border-left:2px solid #b9d8de;padding:2px 0 4px 22px}
.calculator-intro-note>span{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;background:var(--pale-teal);color:var(--teal);font-size:25px;border-radius:50%;margin-bottom:13px}
.calculator-intro-note p{margin:0;font-size:14px;color:var(--muted)}
.calculator-intro-note strong{display:block;color:var(--ink);margin-bottom:6px}
.calculator-promises{display:flex;flex-wrap:wrap;gap:12px 28px;padding-block:0 25px;font-size:12px;color:var(--teal);font-weight:650}
.calculator-promises span:before{content:'✓';margin-right:8px}
.calculator-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,380px);align-items:start;gap:40px;padding-top:30px;border-top:1px solid var(--line)}
.calculator-form{min-width:0}
.calculator-section{border:0;border-bottom:1px solid var(--line);padding:0 0 30px;margin:0 0 29px;min-width:0}
.calculator-section legend{display:flex;align-items:center;gap:13px;padding:0;margin-bottom:13px;font:700 23px/1.25 var(--display);letter-spacing:-.025em;color:var(--ink);width:100%}
.calculator-step{display:inline-flex;align-items:center;justify-content:center;border:1px solid #bdd3ec;background:var(--wash);height:31px;width:31px;font:700 11px/1 var(--body);letter-spacing:.04em;color:var(--blue);border-radius:50%;flex-shrink:0}
.calculator-section-intro{font-size:14px;color:var(--muted);margin:0 0 20px}
.calculator-assumption{border-left:3px solid #9dc9c9;padding-left:12px}
.calculator-scenarios{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:23px}
.calculator-scenario{display:flex;gap:10px;align-items:flex-start;padding:15px 13px;border:1px solid #cad8e6;border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s}
.calculator-scenario:has(input:checked){border-color:var(--blue);background:var(--pale-blue);box-shadow:inset 0 0 0 1px var(--blue)}
.calculator-scenario input{margin:4px 0 0;accent-color:var(--blue);width:16px;height:16px;flex-shrink:0}
.calculator-scenario strong{display:block;font-size:13px;line-height:1.5;color:var(--ink)}
.calculator-scenario small{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:4px}
.calculator-fields{display:grid;grid-template-columns:1fr 1fr;gap:21px 20px}
.calculator-field label{font-size:13px;line-height:1.5;color:var(--ink);font-weight:650;display:block;margin-bottom:7px}
.calculator-field input,.calculator-field select{height:47px;border:1px solid #b9cbde;border-radius:6px;padding:10px 12px;width:100%;background:#fff;color:var(--ink);font-size:15px;min-width:0}
.calculator-field input::placeholder{color:#758596;font-size:12px;opacity:1}
.calculator-field input:focus,.calculator-field select:focus{border-color:var(--blue)}
.calculator-field input[aria-invalid=true]{border-color:var(--danger);background:#fff7f7}
.calculator-field input:disabled{background:var(--wash);color:var(--muted)}
.calculator-field small{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:6px}
.calculator-inclusions{margin-top:23px;padding:14px 16px;background:var(--wash);border:1px solid var(--line);border-radius:6px}
.calculator-inclusions summary,.calculator-method-questions summary{font-weight:650;color:var(--ink);font-size:14px;cursor:pointer}
.calculator-inclusions p{font-size:12px;line-height:1.6;margin:13px 0}
.calculator-inclusions label{display:flex;align-items:flex-start;gap:9px;font-size:13px;margin-top:10px}
.calculator-inclusions input{width:16px;height:16px;accent-color:var(--blue);margin-top:4px;flex-shrink:0}
.calculator-inclusions>small{display:block;font-size:12px;color:var(--muted);margin-top:14px}
.calculator-extra-stay{border-left:3px solid var(--teal);margin-top:24px;padding:4px 0 0 16px}
.calculator-extra-stay h3{font-size:17px;margin-bottom:8px}
.calculator-extra-stay>p{font-size:12px;color:var(--muted);margin-bottom:16px}
.calculator-currency{margin-bottom:22px}
.calculator-rate-source{font-size:12px;line-height:1.6;color:var(--muted);margin:15px 0 0}
.calculator-rate-source a{text-decoration:underline}
.calculator-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-bottom:20px}
.calculator-reset{border:0;background:none;padding:10px 0;color:var(--muted);font-size:13px;text-decoration:underline;text-underline-offset:3px}
.calculator-actions p{font-size:12px;color:var(--muted);margin:0;width:100%}
.calculator-error{padding:16px 18px;border:1px solid #d6a4a9;background:#fff6f6;border-radius:6px;font-size:14px;color:#8b2634;margin-bottom:25px}
.calculator-error p{margin:0;font-weight:650}.calculator-error ul{margin-bottom:0;padding-left:18px}
.calculator-result{position:sticky;top:25px;align-self:start;min-width:0;max-height:calc(100vh - 50px);overflow-y:auto}
.calculator-receipt{background:#f5f9fc;border:1px solid #c9d8e6;border-top:4px solid var(--ink);border-radius:2px 2px 9px 9px;padding:25px 25px 17px;box-shadow:0 14px 32px #112d5008}
.calculator-receipt-top{display:flex;gap:8px;justify-content:space-between;align-items:start;margin-bottom:17px}
.calculator-receipt-top .eyebrow{font-size:10px;margin:0;letter-spacing:.08em}
.calculator-receipt-top>span:last-child{font-size:11px;color:var(--muted)}
.calculator-status{font-size:11px;color:#755b26;background:#fff4d9;border:1px solid #e8d8ac;border-radius:4px;display:inline-block;padding:3px 8px;margin-bottom:16px}
.calculator-status.is-quoted{color:#08676e;background:#e3f3ee;border-color:#abd4ca}
.calculator-result h2{font-size:24px;margin:0 0 10px;letter-spacing:-.025em}
.calculator-total{font:700 clamp(27px,2.6vw,36px)/1.2 var(--display);letter-spacing:-.04em;color:var(--ink);margin:0 0 7px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.calculator-cny{color:var(--muted);font-size:12px;margin:0}
.calculator-result-context{font-size:12px;color:var(--muted);margin:12px 0 19px}
.calculator-full-trip{display:flex;flex-direction:column;background:#e8f0f7;padding:12px 13px;margin-bottom:20px;border-radius:5px}
.calculator-full-trip>span{font-size:11px;color:var(--muted)}
.calculator-full-trip>strong{font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums;margin-block:2px}
.calculator-full-trip>small{font-size:11px;color:var(--muted)}
.calculator-breakdown-heading{font:650 12px/1.5 var(--body);letter-spacing:.04em;text-transform:uppercase;margin:0 0 12px;padding-top:18px;border-top:1px dashed #b7cadb}
.calculator-breakdown{margin:0;font-size:12px;line-height:1.5}
.calculator-breakdown>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-bottom:10px;align-items:start}
.calculator-breakdown dt{color:var(--body-ink)}
.calculator-breakdown dt small{display:block;font-size:10px;line-height:1.45;color:var(--muted);margin-top:3px}
.calculator-breakdown dd{font-variant-numeric:tabular-nums;color:var(--ink);text-align:right;margin:0;max-width:155px;overflow-wrap:anywhere}
.calculator-breakdown .is-total{padding-top:13px;border-top:1px solid #cad8e5;font-weight:700}
.calculator-range-note{font-size:11px;color:var(--muted);margin:13px 0 18px}
.calculator-result-notes,.calculator-sensitivity{border-top:1px dashed #b7cadb;padding-top:16px;margin-top:17px}
.calculator-result-notes h3,.calculator-sensitivity h3{font:650 13px/1.5 var(--body);letter-spacing:0;margin:0 0 8px}
.calculator-result-notes ul{font-size:11px;line-height:1.6;margin:0;padding-left:16px;color:var(--muted)}
.calculator-result-notes li+li{margin-top:5px}
.calculator-sensitivity p{font-size:11px;line-height:1.6;margin:0 0 8px;color:var(--muted)}
.calculator-print{font-size:12px;min-height:42px;width:100%;margin-top:17px;background:#fff}
.calculator-receipt-foot{font-size:10px;color:var(--muted);margin:13px 0 0;text-align:center}
.calculator-print-assumptions{display:none}
.calculator-mobile-summary{display:none}
.calculator-result#calc-budget-result{scroll-margin-top:25px}
.calculator-method{display:grid;grid-template-columns:1fr 1.15fr;gap:100px;border-top:1px solid var(--line);margin-top:55px}
.calculator-method-lead h2{font-size:32px;line-height:1.18}
.calculator-method-lead>p{font-size:15px;color:var(--muted)}
.calculator-method-questions details{padding:18px 0;border-bottom:1px solid var(--line)}
.calculator-method-questions details:first-child{padding-top:0}
.calculator-method-questions p{font-size:13px;color:var(--muted);margin:13px 0 0;line-height:1.75}
.calculator-reading{background:var(--wash)}
.calculator-fallback{padding-block:20px}
.calculator-fallback p{padding:20px;border:1px solid var(--line);background:var(--wash);font-size:14px}
@media(max-width:1100px){.calculator-layout{gap:25px;grid-template-columns:minmax(0,1fr) 330px}.calculator-receipt{padding-inline:20px}.calculator-scenarios{grid-template-columns:1fr}.calculator-method{gap:50px}.calculator-heading{gap:40px}}
@media(max-width:850px){.calculator-heading{grid-template-columns:1fr;gap:25px}.calculator-intro-note{max-width:600px;display:flex;align-items:center;gap:15px}.calculator-intro-note>span{flex-shrink:0;margin-bottom:0}.calculator-intro-note strong{margin-bottom:2px}.calculator-layout{grid-template-columns:1fr;gap:25px}.calculator-result{position:static;max-height:none;overflow:visible}.calculator-scenarios{grid-template-columns:1fr 1fr}.calculator-receipt{padding:25px;max-width:none}.calculator-total{font-size:38px}.calculator-method{grid-template-columns:1fr;gap:28px}.calculator-breakdown dd{max-width:none}.calculator-method{margin-top:35px}.calculator-heading h1 br{display:none}.calculator-intro-note p{font-size:13px}}
@media(max-width:850px){body.calculator-ready{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}.calculator-mobile-summary{display:flex;position:fixed;z-index:30;inset:auto 0 0;align-items:center;justify-content:space-between;gap:15px;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #bfd0e1;box-shadow:0 -5px 25px #112d5010}.calculator-mobile-summary>div{min-width:0;flex:1}.calculator-mobile-summary>div>span{display:block;font-size:11px;color:var(--muted);line-height:1.4;margin-bottom:4px}.calculator-mobile-summary strong{display:block;font:700 18px/1.3 var(--display);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.calculator-mobile-summary .button{flex-shrink:0;gap:9px;padding:11px 15px;font-size:12px;min-height:44px}}
@media(max-width:540px){.calculator-heading{padding-top:25px}.calculator-heading h1{font-size:38px}.calculator-heading>div>p{font-size:16px}.calculator-promises{gap:8px 15px;font-size:11px}.calculator-layout{padding-top:25px}.calculator-fields{grid-template-columns:1fr;gap:17px}.calculator-scenarios{grid-template-columns:1fr}.calculator-section legend{font-size:21px}.calculator-receipt{padding:22px 20px 16px}.calculator-total{font-size:32px}.calculator-actions .button{width:100%}.calculator-actions{justify-content:center}.calculator-method-lead h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.calculator-scenario{transition:none}}
@media print{
 @page{margin:15mm}
 body,body.calculator-ready{font-size:10pt;color:#172e44;background:#fff;padding-bottom:0}
 .site-header,.site-footer,.breadcrumbs,.calculator-heading,.calculator-promises,.calculator-form,.calculator-method,.calculator-reading,.calculator-print,.calculator-fallback,.calculator-mobile-summary,.skip-link{display:none!important}
 .shell{width:100%;max-width:none}.calculator-layout{display:block!important;border:0;padding:0;margin:0}
 .calculator-result{position:static;max-height:none;overflow:visible}.calculator-receipt{box-shadow:none;background:#fff;border:1px solid #aab9c6;border-top:3px solid #112d50;padding:18px}
 .calculator-receipt:before{content:'ChinaCareRoute · Medical trip budget';display:block;font-size:17pt;color:#112d50;font-weight:bold;margin-bottom:14px}
 .calculator-total{font-size:25pt}.calculator-result-context,.calculator-cny,.calculator-range-note{font-size:9pt}
 .calculator-breakdown{font-size:9pt}.calculator-breakdown dt small,.calculator-receipt-foot{font-size:8pt}
 .calculator-result-notes ul,.calculator-sensitivity p{font-size:8pt}.calculator-full-trip{background:#fff;border:1px solid #c1cbd4}
 .calculator-print-assumptions{display:block;page-break-before:auto;margin-top:20px;font-size:9pt}.calculator-print-assumptions h3{font-size:13pt;margin-bottom:8px}.calculator-print-assumptions p{margin-bottom:8px}.calculator-print-assumptions ul{padding-left:17px}.calculator-print-assumptions li+li{margin-top:4px}
 .calculator-receipt>div,.calculator-breakdown>div,.calculator-print-assumptions li{break-inside:avoid}
}
