/* Toolkit keeps calculation ownership; its visual vocabulary comes from the Theme. */
body.fsw-foundation .fstt-root{--fstt-blue:var(--fsw-color-action-primary);--fstt-teal:var(--fsw-color-action-primary);--fstt-ink:var(--fsw-color-text-primary);--fstt-muted:var(--fsw-color-text-muted);--fstt-border:var(--fsw-color-border-subtle);--fstt-bg:var(--fsw-color-surface-page);--fstt-white:var(--fsw-color-surface-card);padding:0 0 40px;font-family:var(--fsw-font-family);font-size:var(--fsw-font-body-size);line-height:var(--fsw-font-body-line-height)}
body.fsw-foundation .fstt-hero{background:var(--fsw-color-surface-card);color:var(--fsw-color-text-primary);border:1px solid var(--fsw-color-border-subtle);border-radius:var(--fsw-card-radius);min-height:0;box-shadow:none}
body.fsw-foundation .fstt-hero :is(h1,h2){color:var(--fsw-color-text-primary)}body.fsw-foundation .fstt-hero p{color:var(--fsw-color-text-muted)}
body.fsw-foundation :is(.fstt-eyebrow,.fstt-eyebrow-dark,.fstt-tool-group){color:var(--fsw-color-action-primary);letter-spacing:normal}
body.fsw-foundation .fstt-btn-main{background:var(--fsw-color-action-primary);border-radius:var(--fsw-button-radius);box-shadow:none;min-height:46px}
body.fsw-foundation .fstt-btn-ghost{background:var(--fsw-color-action-secondary);border-color:var(--fsw-color-border-subtle)}
body.fsw-foundation :is(.fstt-heading-icon,.fstt-tool-icon,.fstt-result-head){background:var(--fsw-color-action-secondary);color:var(--fsw-color-action-primary);border-color:var(--fsw-color-border-subtle)}
body.fsw-foundation :is(.fstt-calc-form,.fstt-result-card,.fstt-tool-card){border-radius:var(--fsw-card-radius);border-color:var(--fsw-color-border-subtle);background:var(--fsw-color-surface-card)}
body.fsw-foundation .fstt-calc-layout{gap:var(--fsw-layout-grid-gap)}
@media(min-width:900px){body.fsw-foundation .fstt-calc-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr)}}
/* The lot form is generated by its existing JS owner. Reserve its initial workspace
   so the already visible footer cannot jump away when controls mount. */
body.fsw-foundation .fstt-widget[data-fstt-calc="lot"]{min-block-size:900px}

/* Form/result geometry shares the same DS3 component sizes. */
body.fsw-foundation .fstt-container{width:100%;max-width:var(--fsw-layout-shell);padding-inline:0;box-sizing:border-box}
body.fsw-foundation .fstt-calc-form,body.fsw-foundation .fstt-result-card{padding:28px;border-radius:18px}
body.fsw-foundation .fstt-root :is(input,select,button){font:inherit;min-height:46px;max-width:100%;box-sizing:border-box}
body.fsw-foundation .fstt-root :is(input,select){border-radius:9px;border-color:var(--fsw-color-border-control);background:var(--fsw-color-surface-card);color:var(--fsw-color-text-primary)}
body.fsw-foundation .fstt-tool-card{padding:24px;border-radius:18px;box-shadow:none}
body.fsw-foundation .fstt-root :focus-visible{outline:3px solid var(--fsw-color-focus-ring);outline-offset:3px}
@media(max-width:700px){body.fsw-foundation .fstt-calc-form,body.fsw-foundation .fstt-result-card,body.fsw-foundation .fstt-tool-card{padding:20px}}

/* Dedicated Toolkit pages use the DS3 shell while keeping no sidebar. */
body.fsw-foundation.fstt-dedicated-page .fstt-dedicated-container{box-sizing:border-box;width:100%;max-width:var(--fsw-layout-shell)!important;margin-inline:auto!important;padding:40px var(--fsw-layout-gutter-mobile)!important}
@media(min-width:650px){body.fsw-foundation.fstt-dedicated-page .fstt-dedicated-container{padding-inline:var(--fsw-layout-gutter-desktop)!important}}
