/* Top-loaded site photos for the standalone (static) detail pages. Self-contained: no theme variables. */
.ptop { padding: 28px 0 8px; background: #fff; color: #23293a; font-family: inherit; }
.ptop-wrap { max-width: 860px; margin: 0 auto; padding: 0 20px; }
.ptop h2 { font-size: 1.35rem; line-height: 1.35; margin: 0 0 14px; text-align: center; overflow-wrap: anywhere; word-break: keep-all; }
.ptop-eyebrow { display: block; color: #e8792b; font-weight: 700; font-size: .85rem; margin-bottom: 4px; }
.ptop .pg-photos { display: grid; gap: 12px; grid-template-columns: repeat(2, 1fr); max-width: 780px; margin: 0 auto; }
.ptop .pg-fig { margin: 0; border-radius: 12px; overflow: hidden; border: 1px solid #dde1e7; background: #fff; min-width: 0; }
.ptop .pg-fig img { display: block; width: 100%; max-width: 100%; aspect-ratio: 1 / 1; height: auto; object-fit: cover; }
.ptop .pg-fig figcaption { padding: 10px 12px; font-size: .88rem; line-height: 1.5; color: #5b6474; overflow-wrap: anywhere; word-break: keep-all; }
.ptop-2 { padding-top: 12px; }
@media (max-width: 640px) {
  .ptop { padding: 20px 0 4px; }
  .ptop-wrap { padding: 0 16px; }
  .ptop h2 { font-size: 1.2rem; }
  .ptop .pg-photos { gap: 10px; }
  .ptop .pg-fig figcaption { font-size: .8rem; padding: 8px 10px; }
}
@media (max-width: 349px) { .ptop .pg-photos { grid-template-columns: 1fr; } }

/* pre-existing wide checklist tables on a few pages: wrap text instead of scrolling sideways on phones */
.chk-table { width: 100%; table-layout: fixed; }
.chk-table th, .chk-table td { overflow-wrap: anywhere; word-break: keep-all; }

/* tables -> stacked cards on phones (labels added by /assets/js/table-cards.js); never scroll sideways */
@media (max-width: 640px) {
  .table-scroll { overflow: visible !important; border: 0 !important; background: transparent !important; }
  table.tc-ready, table.tc-ready tbody, table.tc-ready tr, table.tc-ready td, table.tc-ready th, table.tc-ready caption:not(.sr-only) { display: block; width: 100% !important; min-width: 0 !important; max-width: 100%; box-sizing: border-box; }
  table.tc-ready { border: 0 !important; background: transparent !important; }
  table.tc-ready thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  table.tc-ready caption:not(.sr-only) { text-align: left; font-weight: 700; margin: 0 0 10px; }
  table.tc-ready tr { border: 1px solid #dde1e7; border-radius: 12px; margin: 0 0 12px; padding: 6px 0; background: #fff; }
  table.tc-ready td, table.tc-ready th { border: 0 !important; padding: 8px 14px !important; text-align: left !important; overflow-wrap: anywhere; word-break: keep-all; white-space: normal !important; }
  table.tc-ready td[data-label]::before, table.tc-ready th[data-label]::before { content: attr(data-label); display: block; font-size: .78rem; font-weight: 700; color: #e8792b; margin-bottom: 2px; }
}
