/* Product utilities reuse the existing detail layout. */
.product-print-button { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 8px; min-width: 44px; min-height: 44px; padding: 10px 13px; border: 1px solid #d5e0eb; border-radius: 8px; background: #fff; color: #345b7d; font: inherit; font-size: 12px; font-weight: 600; line-height: 1.5; cursor: pointer; }
.product-print-button svg { width: 18px; height: 18px; flex: 0 0 18px; }
.product-print-button:hover { background: #edf3f9; border-color: #afc5d9; }
.product-print-button:disabled { cursor: progress; opacity: .7; }
.product-mobile-enquiry, .product-print-sheet { display: none; }
@media (max-width: 768px) {
  .product-print-button { width: 44px; padding: 11px; }
  .product-print-button > span { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
  .product-detail-screen.has-product-detail-tools { padding-bottom: calc(84px + env(safe-area-inset-bottom)); }
  .product-mobile-enquiry:not([hidden]) { position: fixed; z-index: 90; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 72px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); border-top: 1px solid #d8e5de; background: #fff; box-shadow: 0 -4px 16px rgba(16, 43, 64, .07); }
  .product-mobile-enquiry-context { min-width: 0; }
  .product-mobile-enquiry-name, .product-mobile-enquiry-details { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .product-mobile-enquiry-name { color: #153958; font-size: 12px; font-weight: 600; line-height: 1.5; }
  .product-mobile-enquiry-details { margin-top: 3px; color: #526780; font-size: 10px; line-height: 1.5; }
  .product-mobile-enquiry-action { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 11px 16px; border: 1px solid #177547; border-radius: 8px; background: #177547; color: #fff; font-size: 12px; font-weight: 600; line-height: 1.5; text-decoration: none; }
  .product-mobile-enquiry-action svg { display: block; flex: 0 0 16px; width: 16px; height: 16px; }
  .product-mobile-enquiry-action:focus-visible { outline: 3px solid #2674ae; outline-offset: 3px; }
  .product-detail-screen.has-product-mobile-enquiry .lk-assistant-launcher { bottom: calc(var(--product-mobile-enquiry-height, 72px) + 12px) !important; }
  .product-detail-screen.lightbox-open .product-mobile-enquiry, .product-detail-screen.lk-assistant-open .product-mobile-enquiry, .mobile-browse-is-open .product-mobile-enquiry { display: none !important; }
}
@media (max-width: 420px) {
  .product-detail-screen.has-product-detail-tools .product-back-link { display: inline-flex !important; justify-content: center !important; width: 44px !important; min-width: 44px !important; padding: 12px !important; }
  .product-detail-screen.has-product-detail-tools .product-back-link .product-back-text { display: none !important; }
}
@page { size: A4; margin: 12mm; }
@media print {
  html:has(body.product-detail-screen.has-printable-product) { height: auto !important; overflow: visible !important; }
  body.product-detail-screen.has-printable-product { width: auto !important; height: auto !important; min-height: 0 !important; max-height: none !important; overflow: visible !important; margin: 0 !important; padding: 0 !important; background: #fff !important; color: #153958 !important; }
  body.product-detail-screen.has-printable-product > * { display: none !important; }
  body.product-detail-screen.has-printable-product > .product-print-sheet { display: block !important; width: 100%; margin: 0; padding: 0; color: #17344d; font-family: Arial, Helvetica, sans-serif; font-size: 9.5pt; font-weight: 400; line-height: 1.45; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .product-print-sheet *, .product-print-sheet *::before, .product-print-sheet *::after { box-sizing: border-box; }
  .product-print-sheet a { color: inherit; text-decoration: none; }
  .product-print-sheet p, .product-print-sheet dl, .product-print-sheet ul { margin: 0; }
  .product-print-sheet h2 { margin: 0 0 2.5mm; padding: 0 0 1.8mm; border-bottom: .3mm solid #d8e3e9; color: #176e4a; font-size: 9pt; font-weight: 700; line-height: 1.3; letter-spacing: .07em; text-transform: uppercase; break-after: avoid; }
  .product-print-heading { position: static; inset: auto; display: flex; align-items: center; justify-content: space-between; gap: 5mm; width: 100%; min-width: 0; min-height: 0; height: auto; margin: 0 0 5mm; padding: 4.5mm 5mm; border: 0; border-bottom: 1.4mm solid #218151; border-radius: 0; background: #123958; color: #fff; box-shadow: none; text-align: left; transform: none; break-inside: avoid; }
  .product-print-brand { display: flex; align-items: center; gap: 3mm; min-width: 0; }
  .product-print-brand > img { display: block; width: 13mm; height: 13mm; flex: 0 0 13mm; padding: 1mm; border-radius: 1.5mm; background: #fff; object-fit: contain; }
  .product-print-brand strong, .product-print-brand span, .product-print-business strong, .product-print-business span { display: block; }
  .product-print-brand strong { color: #fff; font-size: 14pt; font-weight: 700; line-height: 1.25; }
  .product-print-brand span { margin-top: 1.2mm; color: #d8e8ef; font-size: 8pt; letter-spacing: .03em; }
  .product-print-business { flex: 0 0 auto; text-align: right; }
  .product-print-business strong { margin-bottom: 1mm; color: #fff; font-size: 10.5pt; line-height: 1.3; }
  .product-print-business span { color: #d8e8ef; font-size: 8pt; line-height: 1.6; }
  .product-print-intro { display: grid; grid-template-columns: 48mm minmax(0, 1fr); align-items: center; gap: 6mm; margin-bottom: 4mm; break-inside: avoid; }
  .product-print-intro.has-no-image { grid-template-columns: minmax(0, 1fr); }
  .product-print-image { display: grid; place-items: center; min-width: 0; height: 46mm; padding: 2mm; border: .3mm solid #dfe7eb; border-radius: 2mm; background: #fff; }
  .product-print-image img { display: block; width: 100%; max-width: 100%; height: 41mm; max-height: none; margin: 0; padding: 0; object-fit: contain; }
  .product-print-summary { min-width: 0; }
  .product-print-sheet .product-print-eyebrow { margin: 0 0 2mm; color: #176e4a; font-size: 8pt; font-weight: 700; line-height: 1.3; letter-spacing: .12em; text-transform: uppercase; }
  .product-print-intro h1 { margin: 0 0 2.5mm; padding: 0; color: #123958; font-size: 22pt; font-weight: 700; line-height: 1.12; letter-spacing: -.025em; overflow-wrap: anywhere; }
  .product-print-sheet .product-print-code { margin: 0 0 2.5mm; color: #17344d; font-size: 8pt; font-weight: 700; overflow-wrap: anywhere; }
  .product-print-code > span { margin-right: 1.5mm; color: #637381; font-size: 7.5pt; font-weight: 400; }
  .product-print-description { color: #4b6070; font-size: 9.5pt; line-height: 1.5; overflow-wrap: anywhere; }
  .product-print-request, .product-print-specifications, .product-print-applications, .product-print-sizes, .product-print-catalogue { margin: 0 0 4mm; }
  .product-print-request { padding: 3mm 3.5mm; border: .3mm solid #cce0d5; border-left: 1mm solid #218151; background: #f2f8f4; break-inside: avoid; }
  .product-print-request h2 { margin-bottom: 2mm; padding: 0; border: 0; }
  .product-print-selection { display: flex; flex-wrap: wrap; gap: 2mm 6mm; }
  .product-print-selection > div { min-width: 0; flex: 1 1 auto; }
  .product-print-selection dt { margin-bottom: .6mm; color: #4c6a5b; font-size: 7.5pt; }
  .product-print-selection dd { margin: 0; color: #153958; font-size: 9pt; font-weight: 700; overflow-wrap: anywhere; }
  .product-print-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: .3mm solid #e0e7ec; border-left: .3mm solid #e0e7ec; }
  .product-print-facts > div { display: flex; align-items: baseline; gap: 2mm; min-width: 0; padding: 1.8mm 3mm; border-right: .3mm solid #e0e7ec; border-bottom: .3mm solid #e0e7ec; background: #f6f8fa; break-inside: avoid; }
  .product-print-facts > div:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .product-print-facts dt { flex: 0 0 23mm; color: #627382; font-size: 8pt; line-height: 1.4; }
  .product-print-facts dd { min-width: 0; margin: 0; color: #17344d; font-size: 9pt; font-weight: 600; overflow-wrap: anywhere; }
  .product-print-applications ul { display: flex; flex-wrap: wrap; gap: 1.5mm 2mm; padding: 0; list-style: none; }
  .product-print-applications li { margin: 0; padding: 1.4mm 2.5mm; border: .25mm solid #d7e6dc; border-radius: 1mm; background: #f2f7f3; color: #285a43; font-size: 8.5pt; line-height: 1.35; break-inside: avoid; }
  .product-print-sheet .product-print-size-instruction { margin: -.5mm 0 3mm; color: #5d7180; font-size: 8.5pt; line-height: 1.45; break-after: avoid; }
  .product-print-size-table { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 0 0 3mm; color: #17344d; font-size: 9pt; line-height: 1.45; }
  .product-print-size-table caption { caption-side: top; padding: 2.3mm 3mm; border: .3mm solid #c9d8e1; border-bottom: 0; background: #eaf0f5; color: #153958; font-size: 9pt; text-align: left; break-after: avoid; }
  .product-print-size-table caption strong { font-weight: 700; }
  .product-print-size-table caption span { float: right; margin-left: 3mm; color: #4b6070; font-size: 9pt; font-weight: 400; }
  .product-print-size-table thead { display: table-header-group; }
  .product-print-size-table tr { break-inside: avoid; }
  .product-print-size-table th, .product-print-size-table td { padding: 1.6mm 3mm; border: .3mm solid #d9e2e9; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
  .product-print-size-table thead th { padding-block: 1.7mm; background: #f4f7f9; color: #5b6d7b; font-size: 9pt; font-weight: 600; }
  .product-print-size-table th:first-child { width: 31mm; }
  .product-print-size-table tbody th { color: #173e5a; font-weight: 700; }
  .product-print-size-table tbody tr:nth-child(even) { background: #f8fafb; }
  .product-print-size-table td > span:not(.product-print-size-separator) { display: inline-block; white-space: normal; }
  .product-print-size-table .product-print-size-separator { padding-inline: 2mm; color: #879aab; }
  .product-print-size-table.is-values-only th:first-child { width: auto; }
  .product-print-note, .product-print-catalogue a { color: #5b6d7b; font-size: 8.5pt; line-height: 1.45; overflow-wrap: anywhere; }
  .product-print-contact { position: static; inset: auto; display: flex; align-items: flex-start; justify-content: space-between; gap: 4mm; width: 100%; min-height: 0; height: auto; margin: 4mm 0 0; padding: 3mm 0 0; border: 0; border-top: .6mm solid #218151; background: #fff; color: #536c7e; font-size: 7.5pt; line-height: 1.5; text-align: left; box-shadow: none; break-inside: avoid; }
  .product-print-contact > div { flex: 0 0 auto; }
  .product-print-contact strong, .product-print-contact span { display: block; }
  .product-print-contact strong { color: #153958; font-size: 8.5pt; }
  .product-print-contact > a { min-width: 0; text-align: right; overflow-wrap: anywhere; }
  .product-print-contact > a span { color: #176e4a; font-weight: 700; }
  .product-print-sheet-page { break-before: page; margin: 0; }
  .product-print-detail-heading { display: flex; justify-content: space-between; gap: 5mm; margin: 0 0 5mm; padding: 0 0 2mm; border-bottom: .6mm solid #218151; color: #153958; font-size: 8pt; font-weight: 700; }
  .product-print-sheet-page h2 { margin-bottom: 4mm; border: 0; color: #123958; font-size: 15pt; letter-spacing: 0; text-transform: none; }
  .product-print-sheet-page img { display: block; width: auto; max-width: 100%; height: auto; max-height: 230mm; margin: 0 auto; padding: 0; object-fit: contain; break-inside: avoid; }
  .product-print-detail-url { margin-top: 3mm !important; color: #5b6d7b; font-size: 7.5pt; text-align: center; overflow-wrap: anywhere; }
}
