.fitting-guide .guide-intro { padding-top: 1rem; }
.fitting-guide .lead { font-size: 1.08rem; }
.fitting-guide .guide-toc { border-block: 1px solid var(--line); padding-block: .8rem; gap: .35rem 1rem; }
.fitting-guide .guide-toc a { padding-block: .3rem; }
.fitting-guide section { margin-block: 2.6rem; }
.fitting-guide [id] { scroll-margin-top: 10rem; }
.guide-steps { padding-left: 1.5rem; }
.guide-steps li { margin-block: 1rem; padding-left: .3rem; }
.guide-checks dt { color: var(--ink); }
.fitting-table { min-width: 1000px; table-layout: fixed; }
.fitting-table caption { text-align: left; font-weight: 600; padding: .6rem; color: var(--ink); }
.fitting-table th, .fitting-table td { padding: .85rem .75rem; overflow-wrap: anywhere; }
.fitting-table thead th:nth-child(1) { width: 16%; }
.fitting-table thead th:nth-child(2) { width: 16%; }
.fitting-table thead th:nth-child(3) { width: 20%; }
.fitting-table thead th:nth-child(4) { width: 22%; }
.fitting-table thead th:nth-child(5) { width: 12%; }
.fitting-table thead th:nth-child(6) { width: 14%; }
.fitting-table tbody tr:nth-child(even) td { background: var(--card); }
.route-sources { list-style: none; padding: 0; font-size: .85rem; }
.route-sources li { margin-top: .45rem; }
.checklist { border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); padding: clamp(16px, 3vw, 28px); }
.checklist-brand { font-weight: 600; color: var(--accent); font-size: .9rem; }
.fitting-guide .checklist h2 { margin-top: .5rem; }
.checklist-items { list-style: none; padding: 0; }
.checklist-items li { margin-block: .9rem; }
.checklist-items label { display: flex; align-items: flex-start; gap: .7rem; cursor: pointer; }
.checklist-items input { flex: 0 0 19px; width: 19px; height: 19px; margin: .2rem 0 0; accent-color: var(--accent); }
.fitting-guide input:focus-visible, .fitting-guide a:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.writing-line { display: flex; flex-wrap: wrap; column-gap: .5rem; margin-block: 1rem; }
.writing-line span { min-width: 100px; flex: 1; border-bottom: 1px solid var(--muted); }
.checklist-url { overflow-wrap: anywhere; }
.guide-sources { padding-left: 1.4rem; }
.guide-sources li { margin-bottom: .9rem; overflow-wrap: anywhere; }
[hidden] { display: none !important; }
@media print {
  @page { size: A4; margin: 14mm; }
  body.fitting-guide { color: #000; background: #fff; font-size: 10pt; line-height: 1.35; }
  .fitting-guide #main { max-width: none; padding: 0; min-height: 0; }
  .fitting-guide #main > article > :not(#optician-checklist) { display: none !important; }
  .fitting-guide #optician-checklist { max-width: none; border: 0; border-radius: 0; padding: 0; margin: 0; color: #000; background: #fff; }
  .fitting-guide .print-control { display: none !important; }
  .fitting-guide .checklist h2 { font-size: 19pt; color: #000; }
  .fitting-guide .checklist-brand, .fitting-guide .checklist .small { color: #333; }
  .fitting-guide .checklist-items li { margin-block: 2.8mm; break-inside: avoid; }
  .fitting-guide .checklist-items input { appearance: none; flex-basis: 12px; width: 12px; height: 12px; border: 1px solid #333; border-radius: 0; position: relative; }
  .fitting-guide .checklist-items input:checked::after { content: '✓'; position: absolute; top: -5px; left: 0; font-size: 14px; color: #000; }
  .fitting-guide .writing-line { margin-block: 4mm; }
  .fitting-guide .checklist-url { font-size: 8.5pt; }
}
