/* Reviewed factory pages: readable server-rendered HTML, no script dependency. */
.factory-profile { color: var(--ink, #111); background: #fff; }
.factory-profile p, .factory-profile li { font-size: 17px; line-height: 1.65; }
.factory-profile p { margin: 12px 0; }
.factory-profile h2 { font-size: 30px; line-height: 1.2; margin: 0 0 18px; }
.factory-profile h3 { font-size: 22px; line-height: 1.3; margin: 0 0 12px; }
.factory-profile section { scroll-margin-top: 28px; }
.factory-profile a:focus { outline: 3px solid #e84a12; outline-offset: 4px; }
.factory-jump { padding: 18px 0; border-bottom: 1px solid #ccc; }
.factory-jump span { display: block; font-size: 14px; font-weight: 700; margin-bottom: 6px; }
.factory-jump a { display: inline-block; padding: 12px 14px 12px 0; min-height: 44px; font-weight: 600; }
.factory-jump a:hover, .factory-product-link:hover { color: #d6400c; text-decoration: underline; }
.factory-company { padding: 36px 0 48px; }
.factory-identity { background: #f3f3f1; padding: 24px; margin-bottom: 28px; }
.factory-identity .plant-logo-lg { margin-bottom: 20px; width: 213px; max-width: 100%; height: 80px; background: #fff; }
.factory-identity .plant-logo-lg img { width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.factory-identity dl { margin: 0; }
.factory-identity dl > div { padding: 12px 0; border-bottom: 1px solid #d5d5d3; }
.factory-identity dt { font-size: 13px; font-weight: 700; text-transform: uppercase; color: #555; }
.factory-identity dd { margin: 4px 0 0; line-height: 1.5; font-size: 16px; }
.factory-identity .sheet-actions { margin-top: 20px; }
.factory-reading { max-width: 740px; }
.factory-section { padding: 44px 0; border-top: 1px solid #bbb; }
.factory-section-intro { max-width: 850px; }
.factory-family { padding: 30px 0; border-bottom: 1px solid #ddd; }
.factory-family:last-child { border-bottom: 0; padding-bottom: 0; }
.factory-product-photo { display: block; background: #f4f4f3; margin-bottom: 22px; }
.factory-product-photo img { display: block; width: 100%; height: 240px; object-fit: contain; padding: 16px; }
.factory-step { display: block; font-size: 14px; color: #d6400c; font-weight: 700; margin-bottom: 8px; }
.factory-family h3 a { text-decoration: none; }
.factory-family h3 a:hover { text-decoration: underline; }
.factory-confirm { border-left: 3px solid #e84a12; padding: 10px 0 10px 16px; }
.factory-product-link { display: inline-block; padding: 12px 0; min-height: 44px; font-weight: 700; }
.factory-rating { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 22px 0; }
.factory-rating caption { text-align: left; padding-bottom: 10px; font-size: 14px; color: #555; }
.factory-rating th, .factory-rating td { text-align: left; padding: 14px 10px; border-bottom: 1px solid #ccc; font-size: 16px; line-height: 1.5; overflow-wrap: break-word; }
.factory-rating thead { background: #f3f3f1; }
.factory-rating tbody th { font-weight: 500; }
.factory-notes { background: #f3f3f1; padding: 24px; margin-top: 28px; }
.factory-notes > div + div { border-top: 1px solid #d5d5d3; padding-top: 18px; margin-top: 18px; }
.factory-sequence { padding-left: 24px; margin: 28px 0 0; }
.factory-sequence li { padding: 8px 0 20px 10px; }
.factory-fit > div, .factory-checklist > div, .factory-documents > div { padding: 22px 0; border-top: 1px solid #ddd; }
.factory-checklist ul { padding-left: 20px; margin: 0; }
.factory-checklist li { padding: 0 0 10px; }
.factory-enquiry-action { background: #111; color: #fff; padding: 24px; margin-top: 22px; }
.factory-enquiry-action .btn { margin-top: 10px; }
.factory-questions > div { max-width: 850px; padding: 24px 0; border-top: 1px solid #ddd; }
@media (min-width: 760px) {
  .factory-company { display: flex; align-items: flex-start; }
  .factory-identity { width: 35%; margin: 0 6% 0 0; flex-shrink: 0; }
  .factory-reading { flex: 1; min-width: 0; }
  .factory-family { display: flex; align-items: center; }
  .factory-product-photo { width: 30%; margin: 0 5% 0 0; flex-shrink: 0; }
  .factory-family > div { flex: 1; min-width: 0; }
  .factory-product-photo img { height: 280px; }
  .factory-two-columns { display: flex; align-items: flex-start; }
  .factory-two-columns > div { flex: 1; min-width: 0; }
  .factory-notes { width: 32%; margin: 0 0 0 6%; flex-shrink: 0; }
  .factory-fit, .factory-checklist { display: flex; }
  .factory-fit > div, .factory-checklist > div { width: 33.333%; padding: 24px 24px 0 0; }
  .factory-fit > div + div, .factory-checklist > div + div { padding-left: 24px; border-left: 1px solid #ddd; }
  .factory-enquiry-action { display: flex; align-items: center; justify-content: space-between; }
  .factory-enquiry-action .btn { margin: 0 0 0 24px; flex-shrink: 0; }
  .factory-documents > div { display: flex; }
  .factory-documents h3 { width: 28%; margin-right: 6%; flex-shrink: 0; }
  .factory-documents p { margin: 0; max-width: 750px; }
}
@media (max-width: 400px) {
  .factory-profile h2 { font-size: 26px; }
  .factory-identity, .factory-notes, .factory-enquiry-action { padding: 18px; }
  .factory-rating th, .factory-rating td { padding: 12px 6px; font-size: 14px; }
  .factory-rating th:first-child { width: 38%; }
  .factory-identity .btn, .factory-enquiry-action .btn { white-space: normal; }
}
