/* Guide-only rules: existing product components keep their original styles. */
.supply-guide-v2 { padding-block: 16px 64px; }
.guide-shell { max-width: 1240px; padding-inline: 24px; margin-inline: auto; }
.guide-intro { padding-block: 24px 36px; border-bottom: 1px solid #dfe3e7; }
.supply-guide-v2 h1 { font-size: 34px; line-height: 1.3; max-width: 1000px; margin-block: 12px 20px; }
.guide-lead { max-width: 960px; font-size: 18px; line-height: 1.7; }
.guide-scope { max-width: 1040px; color: #555b63; font-size: 14px; line-height: 1.7; margin-top: 16px; }
.guide-layout { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 40px; align-items: start; padding-top: 32px; }
.guide-directory { position: sticky; top: 112px; }
.guide-directory h2 { font-size: 15px; margin-block: 0 14px; }
.guide-directory ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.guide-directory a { display: block; padding-block: 9px; font-size: 14px; line-height: 1.5; color: #555b63; text-decoration: none; border-bottom: 1px solid #edf0f2; overflow-wrap: anywhere; }
.guide-directory a:hover, .guide-directory a:focus-visible { color: #b92722; text-decoration: underline; text-underline-offset: 4px; }
.guide-content { min-width: 0; }
.guide-device { scroll-margin-top: 112px; padding-block: 0 40px; margin-bottom: 40px; border-bottom: 1px solid #cdd3d9; }
.guide-device:target > .guide-category-heading { border-inline-start: 3px solid #c42a25; padding-inline-start: 16px; }
.guide-category-heading { display: flex; align-items: center; gap: 24px; margin-bottom: 28px; }
.guide-category-heading > div { min-width: 0; overflow-wrap: anywhere; }
.supply-guide-v2 .supply-category-image { width: 112px; height: 144px; flex: 0 0 112px; background: #f4f5f6; object-fit: contain; padding: 8px; border-radius: 6px; }
.guide-category-number { color: #8a3030; font-size: 13px; margin-bottom: 5px; }
.guide-category-heading h2, .guide-device > h2 { font-size: 26px; line-height: 1.4; margin-block: 0 12px; }
.guide-category-heading a, .guide-model-quote, .guide-source a { font-size: 14px; color: #a52620; text-decoration: underline; text-underline-offset: 3px; }
.guide-table { width: 100%; table-layout: fixed; border-collapse: collapse; text-align: start; font-size: 14px; line-height: 1.65; margin-block: 0 28px; }
.guide-table caption { text-align: start; font-size: 18px; font-weight: 650; padding-block: 0 12px; }
.guide-table th, .guide-table td { text-align: start; vertical-align: top; padding: 14px 12px; border-bottom: 1px solid #dfe3e7; overflow-wrap: anywhere; }
.guide-table thead th { background: #f2f4f6; color: #555b63; font-weight: 550; font-size: 12px; }
.guide-table tbody th { font-weight: 650; }
.guide-table p { margin: 0; }
.guide-consumables th:nth-child(1) { width: 17%; }
.guide-consumables th:nth-child(2) { width: 17%; }
.guide-consumables th:nth-child(3) { width: 35%; }
.guide-consumables th:nth-child(4) { width: 31%; }
.guide-carton-facts { margin: 0; font-size: 12px; }
.guide-carton-facts > div { margin-bottom: 9px; }
.guide-carton-facts dt { color: #687079; }
.guide-carton-facts dd { margin: 0; font-weight: 550; }
.guide-carton-facts bdi { overflow-wrap: normal; }
.guide-table small { display: block; color: #687079; font-size: 12px; font-weight: 400; margin-top: 6px; }
.guide-packing th:nth-child(1) { width: 23%; }
.guide-packing th:nth-child(2) { width: 20%; }
.guide-packing th:nth-child(3) { width: 25%; }
.guide-packing th:nth-child(4), .guide-packing th:nth-child(5) { width: 16%; }
.guide-model-quote { display: block; margin-top: 8px; font-size: 12px; font-weight: 400; }
.guide-packing-total { font-size: 14px; line-height: 1.7; margin-block: -8px 20px; }
.guide-packing-total strong { display: block; margin-top: 8px; }
.guide-category-actions { display: flex; justify-content: flex-end; margin-top: 16px; }
.guide-category-actions .btn { font-size: 14px; padding: 12px 18px; min-height: 44px; border-radius: 6px; text-align: center; }
.guide-device > h3 { font-size: 19px; margin-block: 28px 14px; }
.guide-device > p { font-size: 14px; line-height: 1.7; }
.guide-options th:nth-child(1) { width: 36%; }
.guide-options th:nth-child(2) { width: 25%; }
.guide-options th:nth-child(3) { width: 39%; }
.guide-question { padding-block: 18px; border-bottom: 1px solid #e4e7ea; }
.guide-question h3 { margin-block: 0 10px; font-size: 18px; line-height: 1.5; }
.guide-question p { margin: 0; font-size: 14px; line-height: 1.8; }
.guide-source { font-size: 13px; margin-block: 0 24px; }
.guide-mobile-label { display: none; }
@media (max-width: 1050px) {
  .guide-layout { grid-template-columns: 148px minmax(0, 1fr); gap: 24px; }
  .guide-table th, .guide-table td { padding: 12px 8px; }
}
@media (max-width: 900px) {
  .guide-shell { padding-inline: 16px; }
  .guide-layout { display: block; padding-top: 20px; }
  .guide-directory { position: static; padding-bottom: 24px; margin-bottom: 32px; border-bottom: 1px solid #cdd3d9; }
  .guide-directory ul { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 16px; }
  .guide-directory a { height: 100%; font-size: 13px; padding-block: 10px; }
  .guide-intro { padding-block: 8px 24px; }
  .supply-guide-v2 h1 { font-size: 29px; }
  .guide-lead { font-size: 16px; }
  .guide-scope { font-size: 13px; }
  .guide-category-heading h2, .guide-device > h2 { font-size: 23px; }
}
@media (max-width: 600px) {
  .guide-table, .guide-table tbody, .guide-table tr, .guide-table th, .guide-table td { display: block; width: auto; }
  .guide-table th:nth-child(n) { width: auto; }
  .guide-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .guide-table caption { display: block; }
  .guide-table tr { border-top: 1px solid #cdd3d9; padding-block: 14px 20px; }
  .guide-table tbody th { font-size: 17px; padding: 0 0 12px; }
  .guide-table th, .guide-table td { border-bottom: 0; padding: 7px 0; }
  .guide-table td { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 14px; }
  .guide-packing td { row-gap: 4px; }
  .guide-packing td > small { grid-column: 2; margin-top: 0; }
  .guide-mobile-label { display: block; color: #687079; font-size: 12px; line-height: 1.7; }
  .guide-carton-facts { font-size: 13px; }
  .guide-table td > strong, .guide-table td > .guide-carton-facts { grid-column: 2; }
  .guide-category-actions { justify-content: stretch; }
  .guide-category-actions .btn { width: 100%; }
  .guide-category-heading { gap: 18px; }
  .supply-guide-v2 .supply-category-image { width: 96px; height: 128px; flex-basis: 96px; }
  .guide-device { padding-bottom: 28px; margin-bottom: 32px; }
}
