/* Engineering calculators — tool cards, textbook sections (site palette) */
.CalcHero { background:#1f3350; color:#fff; padding:36px 20px 30px; text-align:center; }
.CalcHero h1 { color:#fff; margin:0 0 10px; font-size:2em; }
.CalcHero p { max-width:760px; margin:0 auto; color:#d7e0ea; line-height:1.55; }
.CalcCard { background:#fff; border:1px solid #d8dee6; border-radius:10px; padding:24px; max-width:880px; margin:26px auto 8px; box-shadow:0 2px 10px rgba(31,51,80,.08); box-sizing:border-box; }
.CalcGrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(215px,1fr)); gap:14px; }
.CalcField label { display:block; font-weight:600; margin-bottom:4px; font-size:.93em; color:#1f3350; }
.CalcField .unit { color:#777; font-weight:400; font-size:.86em; }
.CalcField input, .CalcField select { width:100%; padding:9px 10px; border:1px solid #b9c4d0; border-radius:6px; font-size:1em; box-sizing:border-box; background:#fff; }
.CalcBtn { background:#b07d2b; color:#fff; border:0; padding:12px 28px; border-radius:6px; font-size:1.05em; font-weight:600; cursor:pointer; margin-top:18px; }
.CalcBtn:hover { background:#96691f; }
.CalcResults { margin-top:22px; border-top:3px solid #b07d2b; padding-top:8px; }
.CalcResults table { width:100%; border-collapse:collapse; }
.CalcResults th, .CalcResults td { padding:8px 10px; border-bottom:1px solid #e3e8ee; text-align:left; vertical-align:top; }
.CalcResults .val { font-weight:700; color:#1f3350; text-align:right; white-space:nowrap; }
.CalcResults .sub { color:#666; font-size:.88em; }
.TextbookSection { max-width:880px; margin:16px auto 34px; padding:0 22px; line-height:1.68; box-sizing:border-box; }
.TextbookSection h2 { color:#1f3350; border-bottom:3px solid #b07d2b; padding-bottom:6px; margin-top:34px; }
.TextbookSection h3 { color:#1f3350; margin-top:26px; }
.TextbookSection .formula { background:#eef2f7; border-left:4px solid #1f3350; padding:12px 16px; font-family:Georgia,'Times New Roman',serif; font-size:1.06em; overflow-x:auto; margin:12px 0; line-height:1.5; }
.TextbookSection .example { background:#fdf6e9; border:1px solid #e5cf9f; border-radius:8px; padding:6px 18px 12px; margin:14px 0; }
.TextbookSection .note { background:#f4f6f8; border-left:4px solid #b07d2b; padding:10px 14px; margin:14px 0; }
.TextbookSection ul { padding-left:22px; }
.BackLink { text-align:center; margin:0 auto 36px; }
.ToolGrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(255px,1fr)); gap:16px; max-width:1120px; margin:0 auto; padding:0 16px; }
.ToolCard { border:1px solid #d8dee6; border-radius:10px; padding:18px; background:#fff; box-shadow:0 2px 8px rgba(31,51,80,.06); }
.ToolCard h3 { margin:0 0 8px; font-size:1.08em; }
.ToolCard h3 a { color:#1f3350; text-decoration:none; }
.ToolCard h3 a:hover { color:#b07d2b; }
.ToolCard p { margin:0; color:#444; line-height:1.5; font-size:.95em; }
@media (max-width:600px){ .CalcHero h1{font-size:1.5em} .CalcCard{padding:16px; margin:16px 10px 4px} }

/* ---- Mobile fixes (2026-10-21): hub grid blowout, results-table overflow, justified text ---- */
.ToolGrid { width:100%; box-sizing:border-box; }
.CalcResults table { max-width:100%; }
@media (max-width:700px){
  .ToolGrid { grid-template-columns:1fr; }
  .CalcGrid { grid-template-columns:1fr; }
  .CalcResults table { table-layout:fixed; }
  .CalcResults th, .CalcResults td { padding:7px 6px; word-break:break-word; }
  .CalcResults .val { white-space:normal; word-break:break-word; }
  .CalcHero { padding-top:84px; }
  .PageTopImageBox .WebsiteHeadingBox { padding-top:100px; }
}
@media (max-width:768px){
  .SubSection p, .TextbookSection p, .TextbookSection li, .CalcCard p, .ToolCard p { text-align:left; }
}

/* ---- Hub fix (2026-10-23): even 3-column family rows on wide screens, left-aligned card text ---- */
.ToolGrid .ToolCard p { text-align:left; }
@media (min-width:1001px){
  .ToolGrid.FamilyGrid { grid-template-columns:repeat(3,1fr); }
}
