/* Ivory composition for the SEO calculator; common studio layout lives in business-tools.css. */
.tools-ivory .seo-tool { --seo-card: #fffdfa; --seo-soft: #f8f1e7; --seo-line: #dec8aa; --seo-muted: #6a655e; --bt-green: #b1843f; --bt-purple: #9a7b51; color: #171612; }
.tools-ivory .seo-tool .bt-hero { padding-top: 20px; padding-bottom: 26px; }
.tools-ivory .seo-tool .bt-hero h1 { max-width: 1000px; margin: 10px 0 14px; color: #171612; font: 700 clamp(36px,4.4vw,64px)/1.08 var(--sans); letter-spacing: -.035em; }
.tools-ivory .seo-tool .seo-title-accent { color: #b1843f; font-family: 'Cormorant Garamond', var(--serif); font-style: italic; font-weight: 600; letter-spacing: -.04em; }
.tools-ivory .seo-tool .bt-intro { max-width: 880px; font-size: clamp(16px,1.45vw,19px); margin-bottom: 0; }
.tools-ivory .seo-tool .seo-mobile-result { display: none; }
.tools-ivory .seo-tool .bt-input-pane { padding: 24px; border: 1px solid var(--seo-line); border-radius: 8px; background: var(--seo-card); }
.tools-ivory .seo-tool .seo-input-heading h2 { font: 600 23px/1.25 var(--sans); margin: 0 0 7px; }
.tools-ivory .seo-tool .seo-input-heading .bt-help { margin: 0 0 20px; }
.tools-ivory .seo-tool .seo-modes { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; padding: 4px; margin: 0 0 22px; background: #f6f0e7; border-radius: 8px; }
.tools-ivory .seo-tool .seo-modes label { gap: 7px; align-items: center; justify-content: center; padding: 9px 5px; min-height: 44px; border: 1px solid transparent; border-radius: 6px; background: transparent; font-size: 12px; }
.tools-ivory .seo-tool .seo-modes label:has(input:checked) { background: #fff; border-color: #dec8aa; }
.tools-ivory .seo-tool .seo-modes input[type=radio] { width: 16px; height: 16px; min-height: 16px; max-height: 16px; min-width: 16px; max-width: 16px; padding: 0; margin: 0; }
.tools-ivory .seo-tool .bt-input-pane .bt-fields { grid-template-columns: 1fr; gap: 18px; }
.tools-ivory .seo-tool .seo-primary-fields > .bt-field, .tools-ivory .seo-tool .seo-primary-fields > div > .bt-field { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 6px 13px; align-items: center; }
.tools-ivory .seo-tool .seo-primary-fields label { font-size: 13px; line-height: 1.5; }
.tools-ivory .seo-tool .seo-primary-fields input { padding: 10px; font-size: 16px; min-height: 45px; border-color: #d9d5ce; border-radius: 7px; background: #fff; font-variant-numeric: tabular-nums; }
.tools-ivory .seo-tool .seo-primary-fields .bt-error { grid-column: 1 / -1; }
.tools-ivory .seo-tool .seo-live-note { font-size: 12px; color: var(--seo-muted); margin: 16px 0 20px; }
.tools-ivory .seo-tool .seo-update { display: flex; align-items: center; justify-content: center; gap: 18px; width: 100%; margin-top: 21px; background: #171612; border-color: #171612; color: #fff; font-size: 14px; }
.tools-ivory .seo-tool .seo-update span { color: #dec8aa; font-size: 21px; line-height: 1; }
.tools-ivory .seo-tool .seo-advanced { margin-top: 20px; padding: 20px 0; }
.tools-ivory .seo-tool .seo-advanced > summary { font-size: 14px; }
.tools-ivory .seo-tool .seo-advanced > summary small { display: block; font-weight: 400; font-size: 11px; color: var(--seo-muted); line-height: 1.65; margin: 6px 0 0; }
.tools-ivory .seo-tool .seo-advanced [data-forecast-advanced] > .bt-fields { margin-top: 18px; }
.tools-ivory .seo-tool .seo-advanced h3 { font-size: 16px; margin: 24px 0 10px; }
.tools-ivory .seo-tool .bt-scenario-inputs { grid-template-columns: 1fr; gap: 18px; }
.tools-ivory .seo-tool .bt-scenario-input { grid-template-columns: minmax(0,1fr) minmax(0,.75fr); gap: 12px; padding-left: 12px; }
.tools-ivory .seo-tool .seo-field-guide { border-top: 1px solid var(--seo-line); margin-top: 22px; }
.tools-ivory .seo-tool .seo-field-guide p { font-size: 12px; line-height: 1.7; color: var(--seo-muted); margin: 12px 0; }
.tools-ivory .seo-tool .seo-field-guide strong { display: block; font-weight: 500; color: var(--ink); }
.tools-ivory .seo-tool .seo-save-controls { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; margin-top: 4px; }
.tools-ivory .seo-tool .seo-save-controls .bt-button { padding-inline: 12px; font-size: 12px; }
.tools-ivory .seo-tool .seo-storage { margin-top: 19px; padding-bottom: 0; }
.tools-ivory .seo-tool .seo-storage summary { font-size: 12px; color: var(--seo-muted); }
.tools-ivory .seo-tool .bt-status { font-size: 12px; line-height: 1.7; margin: 15px 0 0; color: #75572e; }
.tools-ivory .seo-tool .bt-output-pane { border: 0; padding: 0; background: transparent; }
.tools-ivory .seo-tool .seo-featured { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(0,1.7fr); gap: 23px; padding: 23px 25px; border: 1px solid #dec8aa; border-radius: 8px; background: var(--seo-soft); }
/* Keep the full-width switch on its own row: a nonshrinking flex sibling collapses the heading at intermediate widths. */
.tools-ivory .seo-tool .seo-scenario-heading { display: grid; grid-template-columns: minmax(0,1fr); align-content: space-between; gap: 16px; margin: 0; }
.tools-ivory .seo-tool .seo-scenario-heading > div { min-width: 0; }
.tools-ivory .seo-tool .seo-scenario-heading h3 { font-size: 18px; margin: 0 0 5px; }
.tools-ivory .seo-tool .seo-scenario-heading .bt-help { margin: 0; font-size: 12px; }
.tools-ivory .seo-tool .seo-scenario-switch { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width: 100%; min-width: 0; gap: 5px; padding: 0; border: 0; border-radius: 6px; }
.tools-ivory .seo-tool .seo-scenario-switch button { min-width: 0; padding: 9px 6px; min-height: 44px; border: 1px solid #e2d6c5; border-radius: 6px; background: #fbf8f3; font: 500 12px/1.5 var(--sans); color: #171612; overflow-wrap: anywhere; cursor: pointer; transition: background-color .15s ease; }
.tools-ivory .seo-tool .seo-scenario-switch button:hover { background: #f0e4d1; }
.tools-ivory .seo-tool .seo-scenario-switch button[aria-pressed=true] { background: #171612; color: #fff; border-color: #171612; }
.tools-ivory .seo-tool .seo-scenario-switch button:focus-visible { outline: 2px solid #171612; outline-offset: 3px; }
.tools-ivory .seo-tool .seo-featured-metrics { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 23px; border-left: 1px solid #dec8aa; padding-left: 23px; }
.tools-ivory .seo-tool .seo-featured-metrics > div { display: flex; flex-direction: column; gap: 9px; }
.tools-ivory .seo-tool .seo-featured-metrics > div + div { border-left: 1px solid #dec8aa; padding-left: 23px; }
.tools-ivory .seo-tool .seo-featured-metrics span { font-size: 12px; font-weight: 500; }
.tools-ivory .seo-tool .seo-featured-metrics strong { color: #171612; font: 700 clamp(25px,2.6vw,39px)/1.14 var(--serif); letter-spacing: -.025em; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.tools-ivory .seo-tool .seo-featured-metrics small { font-size: 11px; line-height: 1.65; color: #6a655e; }
.tools-ivory .seo-tool .bt-chart-panel { margin-top: 18px; padding: 22px 25px 17px; border: 1px solid var(--seo-line); border-radius: 8px; background: #fff; }
.tools-ivory .seo-tool .seo-chart-heading h3 { font-size: 18px; margin: 0; }
.tools-ivory .seo-tool .seo-chart-heading .bt-help { margin: 7px 0 13px; font-size: 12px; }
.tools-ivory .seo-tool .bt-chart-legend { justify-content: center; gap: 10px 20px; margin: 6px 0 10px; }
.tools-ivory .seo-tool .bt-chart-legend span { font-size: 11px; color: var(--seo-muted); }
.tools-ivory .seo-tool .bt-chart-legend .seo-legend-active { color: #171612; font-weight: 600; }
.tools-ivory .seo-tool i.bt-legend-0 { border-color: #72706b; }
.tools-ivory .seo-tool i.bt-legend-1 { border-color: #b1843f; }
.tools-ivory .seo-tool i.bt-legend-2 { border-color: #9a7b51; }
.tools-ivory .seo-tool .seo-chart-note { font-size: 11px; line-height: 1.6; color: var(--seo-muted); text-align: center; margin: 8px 0 0; }
.tools-ivory .seo-tool .seo-break-even { margin-top: 22px; }
.tools-ivory .seo-tool .bt-output-pane > details, .tools-ivory .seo-tool [data-forecast-detail] > details { padding: 19px 0; }
.tools-ivory .seo-tool .bt-output-pane > details > summary, .tools-ivory .seo-tool [data-forecast-detail] > details > summary { font-size: 14px; }
.tools-ivory .seo-tool .bt-break-even { padding: 19px; border-radius: 8px; gap: 17px; background: #f8f1e7; }
.tools-ivory .seo-tool .bt-break-even span { font-size: 12px; }
.tools-ivory .seo-tool .bt-break-even strong { font-size: 25px; }
.tools-ivory .seo-tool .bt-scenario-results { margin-top: 0; gap: 10px; }
.tools-ivory .seo-tool .bt-result-card { padding: 16px 12px; border-radius: 9px; }
.tools-ivory .seo-tool .bt-result-card h3 { font-size: 17px; }
.tools-ivory .seo-tool .bt-result-card dl div { grid-template-columns: 1fr; gap: 2px; }
.tools-ivory .seo-tool .bt-result-card dd { text-align: left; }
.tools-ivory .seo-tool .bt-result-card .bt-net strong { font-size: 20px; }
.tools-ivory .seo-tool .bt-file-panel, .tools-ivory .seo-tool .bt-share { margin-top: 17px; padding: 22px; border: 1px solid var(--seo-line); border-radius: 8px; background: #fff; }
.tools-ivory .seo-tool .bt-file-panel h3, .tools-ivory .seo-tool .bt-share h3 { font-size: 19px; }
.tools-ivory .seo-tool .bt-share-options { grid-template-columns: 1fr; }
.tools-ivory .seo-tool .bt-cta { grid-template-columns: 1fr; gap: 18px; }
.tools-ivory .seo-tool .bt-cta h2 { font-size: 29px; }
.tools-ivory .seo-tool .bt-cta .button { justify-self: start; }
@media (max-width: 1200px) and (min-width: 961px) {
  .tools-ivory .seo-tool .bt-input-pane { padding: 20px; }
  .tools-ivory .seo-tool .seo-primary-fields > .bt-field, .tools-ivory .seo-tool .seo-primary-fields > div > .bt-field { grid-template-columns: 1fr; }
  .tools-ivory .seo-tool .seo-featured { grid-template-columns: 1fr; }
  .tools-ivory .seo-tool .seo-featured-metrics { padding-left: 0; border-left: 0; }
  .tools-ivory .seo-tool .seo-scenario-heading { gap: 13px; }
}
@media (max-width: 960px) {
  .tools-ivory .seo-tool .seo-mobile-result { display: flex; align-items: center; min-height: 44px; margin-top: 14px; padding: 10px 13px; border: 1px solid #dec8aa; border-radius: 6px; background: #f8f1e7; color: #171612; font-size: 13px; font-weight: 500; line-height: 1.6; text-decoration: underline; text-underline-offset: 3px; }
  .tools-ivory .seo-tool .seo-mobile-result:focus-visible { outline: 2px solid #b1843f; outline-offset: 3px; }
  .tools-ivory .seo-tool #seo-results { scroll-margin-top: 24px; }
  .tools-ivory .seo-tool .seo-featured { grid-template-columns: 1fr; }
  .tools-ivory .seo-tool .seo-featured-metrics { padding-left: 0; border-left: 0; }
  .tools-ivory .seo-tool .seo-primary-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tools-ivory .seo-tool .seo-primary-fields > .bt-field, .tools-ivory .seo-tool .seo-primary-fields > div > .bt-field { grid-template-columns: 1fr; align-content: end; }
}
@media (max-width: 520px) {
  .tools-ivory .seo-tool .bt-input-pane, .tools-ivory .seo-tool .seo-featured { padding: 19px; }
  .tools-ivory .seo-tool .seo-primary-fields { grid-template-columns: 1fr; }
  .tools-ivory .seo-tool .seo-primary-fields > .bt-field, .tools-ivory .seo-tool .seo-primary-fields > div > .bt-field { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .tools-ivory .seo-tool .seo-featured-metrics { grid-template-columns: 1fr; gap: 18px; }
  .tools-ivory .seo-tool .seo-featured-metrics > div + div { border-left: 0; border-top: 1px solid #dec8aa; padding: 18px 0 0; }
  .tools-ivory .seo-tool .seo-featured-metrics strong { font-size: 31px; }
  .tools-ivory .seo-tool .seo-scenario-switch button { font-size: 11px; padding: 8px 4px; }
  .tools-ivory .seo-tool .bt-chart-panel { padding: 19px 10px; }
  .tools-ivory .seo-tool .seo-chart-heading { padding-inline: 8px; }
  .tools-ivory .seo-tool .bt-break-even { grid-template-columns: 1fr; }
  .tools-ivory .seo-tool .bt-scenario-results { grid-template-columns: 1fr; }
  .tools-ivory .seo-tool .bt-result-card dl div { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .tools-ivory .seo-tool .bt-result-card dd { text-align: right; }
  .tools-ivory .seo-tool .bt-file-panel, .tools-ivory .seo-tool .bt-share { padding: 19px; }
}
@media (prefers-reduced-motion: reduce) { .tools-ivory .seo-tool .seo-scenario-switch button { transition: none; } }
@media print {
  .tools-ivory .seo-tool .seo-studio { display: block; }
  .tools-ivory .seo-tool .bt-input-pane, .tools-ivory .seo-tool .seo-featured, .tools-ivory .seo-tool .bt-chart-panel { border: 1px solid #aaa; break-inside: avoid; }
  .tools-ivory .seo-tool .seo-save-controls, .tools-ivory .seo-tool .seo-storage, .tools-ivory .seo-tool .seo-update, .tools-ivory .seo-tool .seo-live-note, .tools-ivory .seo-tool .seo-scenario-switch, .tools-ivory .seo-tool .seo-mobile-result { display: none !important; }
  .tools-ivory .seo-tool .bt-output-pane { margin-top: 24px; }
  .tools-ivory .seo-tool .seo-primary-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tools-ivory .seo-tool .bt-input-pane .bt-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tools-ivory .seo-tool .bt-scenario-results { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .tools-ivory .seo-tool .seo-chart-note { color: #333; }
}
