/* Studio SMB V1.3: scoped tools library and estimator. */
.tool-library-card { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .6fr); gap: 32px; padding: clamp(26px, 4vw, 44px); align-items: center; }
.tool-library-card h2 { font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: 1.2; }
.tool-library-card p, .tools-home-preview p { color: var(--muted); line-height: 1.7; }
.tool-visual { display: grid; place-items: center; gap: 10px; padding: 36px; border: 1px solid var(--line); border-radius: 24px; background: radial-gradient(circle, rgba(var(--accent-rgb), .12), transparent 75%); color: var(--accent); }
.tool-visual strong { font-size: clamp(2.5rem, 6vw, 5rem); letter-spacing: -.06em; }
.tool-visual i { font-style: normal; font-size: .75rem; letter-spacing: .2em; }
.tools-home-preview { padding: clamp(26px, 4vw, 42px); display: flex; align-items: center; gap: 30px; justify-content: space-between; }
.tools-home-preview p { max-width: 700px; }
.tools-home-preview h2 { margin: 12px 0; font-size: clamp(1.65rem, 3vw, 2.35rem); }
.tools-home-preview > .btn { flex-shrink: 0; }
.tools-page .estimator-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 24px; align-items: start; }
.tools-page .estimator-form, .tools-page .estimator-result { padding: clamp(22px, 3vw, 34px); }
.tools-page .estimator-form { scroll-margin-top: calc(var(--header-h) + 20px); }
.tools-page .estimator-form fieldset { border: 0; margin: 0 0 28px; padding: 0; min-width: 0; }
.tools-page .estimator-form legend { font-size: 1.3rem; font-weight: 800; margin-bottom: 20px; }
.tools-page .estimator-form label { color: var(--text); font-weight: 650; }
.tools-page .estimator-types { display: grid; gap: 12px; }
.tools-page .estimator-type { display: grid; grid-template-columns: 22px minmax(0, 1fr); column-gap: 10px; row-gap: 8px; border: 1px solid var(--line); border-radius: 16px; padding: 18px; cursor: pointer; }
.tools-page .estimator-type:has(input:checked) { border-color: var(--accent); background: rgba(var(--accent-rgb), .06); }
.tools-page .estimator-type input { grid-row: span 3; margin: 3px 0 0; }
.tools-page .estimator-type small { color: var(--muted); font-weight: 400; line-height: 1.6; }
.tools-page .estimator-type span { color: var(--accent); }
.tools-page .estimator-form input[type="radio"], .tools-page .estimator-form input[type="checkbox"] { accent-color: var(--accent); width: 18px; height: 18px; flex-shrink: 0; }
.tools-page .estimator-form select, .tools-page .estimator-form input[type="number"] { width: 100%; min-height: 46px; border: 1px solid var(--line-strong); border-radius: 11px; color: var(--text); background: var(--panel); padding: 10px 12px; font: inherit; margin: 10px 0; }
.tools-page .estimator-check { display: flex; align-items: flex-start; gap: 12px; margin: 18px 0 10px; }
.tools-page .estimator-check input { margin-top: 3px; }
.tools-page .estimator-extra-pages { margin-bottom: 22px; }
.tools-page .helper { color: var(--muted); font-size: .82rem; line-height: 1.65; }
.tools-page fieldset:disabled { opacity: .55; }
.tools-page .estimator-result { position: sticky; top: calc(var(--header-h) + 20px); }
.tools-page .estimator-result h2 { font-size: 1.4rem; margin: 0 0 18px; }
.tools-page .estimator-result h3 { font-size: .95rem; margin: 24px 0 12px; }
.tools-page .estimator-choice { color: var(--muted); }
.tools-page .estimator-amount { font-size: clamp(2.3rem, 4vw, 3.3rem); font-weight: 850; letter-spacing: -.05em; line-height: 1.15; margin: 14px 0 24px; color: var(--text); overflow-wrap: anywhere; }
.tools-page .estimator-custom { font-size: clamp(1.6rem, 3vw, 2.2rem); }
.tools-page .estimator-breakdown { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.tools-page .estimator-breakdown li { display: flex; gap: 16px; justify-content: space-between; align-items: baseline; color: var(--muted); font-size: .85rem; }
.tools-page .estimator-breakdown strong { color: var(--text); white-space: nowrap; }
.tools-page .estimator-pending { padding-left: 18px; color: var(--muted); font-size: .85rem; line-height: 1.7; }
.tools-page .estimator-pending li { margin-bottom: 10px; }
.tools-page .estimator-monthly { color: var(--accent); }
.tools-page .estimator-disclaimer { font-size: .8rem; color: var(--muted); border-top: 1px solid var(--line); padding-top: 20px; line-height: 1.7; }
.tools-page .estimator-notice { color: var(--warning); }
.tools-page .tool-explanations { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.tools-page .tool-explanations article, .tools-page .tool-nojs { padding: 28px; }
.tools-page .tool-explanations h3 { margin: 0 0 14px; font-size: 1.2rem; }
.tools-page .tool-explanations p { color: var(--muted); line-height: 1.75; }
.tools-page a:focus-visible, .tools-page button:focus-visible, .tools-page input:focus-visible, .tools-page select:focus-visible, #outils a:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.tools-page #estimateQuote[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
@media (max-width: 1040px) { .tools-page .estimator-layout { grid-template-columns: 1fr; } .tools-page .estimator-result { position: static; } }
@media (max-width: 760px) {
 .tool-library-card, .tools-page .tool-explanations { grid-template-columns: 1fr; }
 .tools-home-preview { flex-direction: column; align-items: stretch; }
 .tools-page .estimator-result .hero-actions .btn { width: 100%; }
 .tools-page .estimator-breakdown li { flex-wrap: wrap; gap: 6px; }
}

.tools-page #estimateur, .tools-page .estimator-result { scroll-margin-top: calc(var(--header-h) + 20px); }

/* V1.4: real tools library and shared planning calculators. */
.tools-library-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.tools-library-item { padding: 28px; display: flex; flex-direction: column; gap: 18px; }
.tools-library-item h2 { font-size: 1.65rem; line-height: 1.2; margin: 0; }
.tools-library-item p { color: var(--muted); line-height: 1.7; margin: 0 0 10px; }
.tools-library-item .btn { margin-top: auto; white-space: normal; }
.tools-page .business-field { margin: 22px 0; }
.tools-page #businessCalculator { scroll-margin-top: calc(var(--header-h) + 20px); }
.tools-page .business-field input { width: 100%; min-height: 46px; padding: 10px 12px; margin-top: 10px; border: 1px solid var(--line-strong); border-radius: 11px; background: var(--panel); color: var(--text); font: inherit; }
.tools-page .business-field input[aria-invalid="true"] { border-color: var(--danger); }
.tools-page .business-loss { color: var(--danger); }
.tools-page .business-gain { color: var(--accent); }
@media (max-width: 1040px) { .tools-library-grid { grid-template-columns: 1fr; } }
