.calculator-core { --core-accent:var(--calc-primary,#2563eb); --core-heading:var(--calc-heading,#172033); --core-text:var(--calc-text,#475569); --core-border:var(--calc-border,#dbe4ef); --core-panel:var(--calc-panel,#f8fafc); --core-surface:var(--calc-surface,#fff); color:var(--core-text); margin:26px 0 44px; }
.calculator-core__grid { background:var(--core-surface); border:1px solid var(--core-border); border-radius:var(--calc-card-radius,18px); box-shadow:0 18px 50px rgba(23,32,51,.08); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); overflow:hidden; }
.calculator-form,.calculator-result { min-width:0; padding:32px; }
.calculator-form { border-right:1px solid var(--core-border); }
.calculator-form__heading h2,.calculator-result h2 { font-size:1.45rem; margin:0 0 24px; }
.calculator-kicker { color:var(--core-accent); font-size:.72rem; font-weight:800; letter-spacing:.12em; margin:0 0 6px; text-transform:uppercase; }
.calculator-fields { display:grid; gap:18px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.calculator-field { min-width:0; }
.calculator-field:only-child,.calculator-field--date,.calculator-field--select { grid-column:auto; }
.calculator-field label { color:var(--core-heading); display:block; font-size:.86rem; font-weight:750; margin-bottom:6px; }
.calculator-field label span { color:#b91c1c; }
.calculator-field > small { color:var(--calc-muted,#64748b); display:block; font-size:.76rem; margin:-3px 0 7px; }
.calculator-input-wrap { align-items:center; background:var(--core-surface); border:1px solid var(--core-border); border-radius:10px; display:flex; min-height:48px; overflow:hidden; }
.calculator-input-wrap:focus-within { border-color:var(--core-accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--core-accent) 18%,transparent); }
.calculator-field input,.calculator-field select { background:var(--core-surface); border:1px solid var(--core-border); border-radius:10px; color:var(--core-heading); min-height:48px; padding:9px 12px; width:100%; }
.calculator-input-wrap input { border:0; border-radius:0; min-width:0; outline:0; }
.calculator-input-wrap > span { border-left:1px solid var(--core-border); color:var(--calc-muted,#64748b); flex:0 0 auto; font-size:.8rem; padding:8px 11px; }
.calculator-field input[aria-invalid="true"],.calculator-field select[aria-invalid="true"] { border-color:#b91c1c; }
.calculator-field__error { color:#b91c1c; font-size:.78rem; margin:5px 0 0; }
.calculator-submit { align-items:center; background:var(--core-accent); border:1px solid var(--core-accent); border-radius:var(--calc-button-radius,10px); color:#fff; cursor:pointer; display:flex; font-weight:800; justify-content:space-between; margin-top:24px; min-height:50px; padding:10px 18px; width:100%; }
.calculator-submit:hover { filter:brightness(.92); }
.calculator-submit[disabled] { cursor:wait; opacity:.7; }
.calculator-reset { background:transparent; border:0; color:var(--calc-muted,#64748b); cursor:pointer; display:block; font-size:.8rem; margin:10px auto 0; padding:7px; text-decoration:underline; text-underline-offset:3px; }
.calculator-result { background:linear-gradient(145deg,var(--core-panel),var(--core-surface)); min-height:360px; }
.calculator-result:focus { outline:0; }
.calculator-result__empty { align-items:center; display:flex; flex-direction:column; height:100%; justify-content:center; margin:auto; max-width:330px; text-align:center; }
.calculator-result__empty > span { align-items:center; background:color-mix(in srgb,var(--core-accent) 12%,var(--core-surface)); border-radius:50%; color:var(--core-accent); display:flex; font-size:2rem; font-weight:900; height:64px; justify-content:center; margin-bottom:20px; width:64px; }
.calculator-result__empty h2 { margin-bottom:10px; }
.calculator-result__values { display:grid; gap:10px; margin:16px 0 24px; }
.calculator-result__value { background:var(--core-surface); border:1px solid var(--core-border); border-radius:12px; padding:14px 16px; }
.calculator-result__value:first-child { border-left:4px solid var(--core-accent); padding:19px; }
.calculator-result__value span,.calculator-result__value strong { display:block; }
.calculator-result__value span { color:var(--calc-muted,#64748b); font-size:.78rem; font-weight:700; }
.calculator-result__value strong { color:var(--core-heading); font-size:1.3rem; line-height:1.25; margin-top:3px; overflow-wrap:anywhere; }
.calculator-result__value:first-child strong { color:var(--core-accent); font-size:clamp(1.7rem,4vw,2.3rem); }
.calculator-steps { border-top:1px solid var(--core-border); padding-top:16px; }
.calculator-steps summary { color:var(--core-heading); cursor:pointer; font-weight:800; }
.calculator-steps ol { margin-bottom:0; padding-left:20px; }
.calculator-steps li { margin:8px 0; }
.calculator-error { background:#fff5f5; border:1px solid #fecaca; border-radius:12px; color:#991b1b; padding:18px; }
.calculator-error p { margin:4px 0 0; }
.calculator-unit-preference { align-items:center; display:flex; font-size:.8rem; gap:12px; justify-content:flex-end; margin-bottom:10px; }
.calculator-unit-preference > span { color:var(--calc-muted,#64748b); }
.calculator-unit-preference div { background:var(--core-panel); border:1px solid var(--core-border); border-radius:999px; padding:3px; }
.calculator-unit-preference button { background:transparent; border:0; border-radius:999px; color:var(--core-text); cursor:pointer; padding:5px 9px; }
.calculator-unit-preference button[aria-pressed="true"] { background:var(--core-surface); box-shadow:0 1px 5px rgba(23,32,51,.15); color:var(--core-accent); font-weight:800; }
.calculator-core--compact { margin:0; }
.calculator-core--compact .calculator-core__grid { box-shadow:none; grid-template-columns:1fr; }
.calculator-core--compact .calculator-form { border:0; }
.calculator-core--compact .calculator-result { border-top:1px solid var(--core-border); min-height:260px; }
.calculator-related { border-top:1px solid var(--core-border); margin-top:64px; padding-top:42px; }
.calculator-related > div { display:grid; gap:12px; grid-template-columns:repeat(2,1fr); }
.calculator-related a { align-items:center; border:1px solid var(--core-border); border-radius:12px; color:var(--core-heading); display:flex; justify-content:space-between; padding:16px; text-decoration:none; }
.calculator-related a:hover { border-color:var(--core-accent); }
.calculator-formula-box,.calculator-example-result,.calculator-disclaimer,.calculator-author-reviewer { background:var(--core-panel,var(--calc-panel,#f8fafc)); border:1px solid var(--core-border,var(--calc-border,#dbe4ef)); border-left:4px solid var(--core-accent,var(--calc-primary,#2563eb)); border-radius:12px; color:var(--core-text,var(--calc-text,#475569)); padding:18px 20px; }
.calculator-formula-box p,.calculator-disclaimer p { margin:.35em 0 0; }
.calculator-example-result { align-items:center; display:flex; justify-content:space-between; }
.calculator-example-result strong { color:var(--core-heading,var(--calc-heading,#172033)); font-size:1.5rem; }
.calculator-faq { border:1px solid var(--core-border,var(--calc-border,#dbe4ef)); border-radius:12px; padding:14px 18px; }
.calculator-faq summary { color:var(--core-heading,var(--calc-heading,#172033)); cursor:pointer; font-weight:800; }
.calculator-faq p,.calculator-author-reviewer p { margin:.5em 0 0; }
.calculator-block-grid { display:grid; gap:14px; grid-template-columns:repeat(3,1fr); }
.calculator-block-grid a,.calculator-block-list a { border:1px solid var(--calc-border,#dbe4ef); border-radius:12px; color:var(--calc-heading,#172033); padding:16px; text-decoration:none; }
.calculator-block-grid strong,.calculator-block-grid small { display:block; }
.calculator-block-grid small { color:var(--calc-muted,#64748b); }
.calculator-block-list { display:grid; gap:10px; grid-template-columns:repeat(2,1fr); }
.calculator-block-list a { display:flex; justify-content:space-between; }
.calculator-ad { align-items:center; display:flex; flex-direction:column; justify-content:center; margin:18px auto; min-height:var(--ad-height,0); max-width:100%; width:var(--ad-width,auto); }
.calculator-ad__label { color:var(--calc-muted,#64748b); display:block; font-size:.62rem; letter-spacing:.1em; margin-bottom:4px; text-transform:uppercase; }
@media (max-width:800px) { .calculator-core__grid { grid-template-columns:1fr; }.calculator-form { border-bottom:1px solid var(--core-border); border-right:0; }.calculator-result { min-height:300px; }.calculator-block-grid { grid-template-columns:repeat(2,1fr); }.calculator-ad--hide-tablet { display:none; } }
@media (max-width:520px) { .calculator-form,.calculator-result { padding:22px 18px; }.calculator-fields { grid-template-columns:1fr; }.calculator-unit-preference { align-items:flex-end; flex-direction:column; }.calculator-related > div,.calculator-block-grid,.calculator-block-list { grid-template-columns:1fr; }.calculator-ad--hide-mobile { display:none; } }
@media (min-width:801px) { .calculator-ad--hide-desktop { display:none; } }
@media (min-width:521px) and (max-width:800px) { .calculator-ad--hide-tablet { display:none; } }
@media (max-width:520px) { .calculator-ad--hide-mobile { display:none; } }
