/* CYBERDYNE-PRINT-V1 (file renamed -v2 on Nov 2 so browsers fetch the new copy; bump the name again after big changes): clean one-page, two-column print of product pages (Adam 2026-11-02).
   Loaded with media="print" from Magento_Catalog/layout/catalog_product_view.xml, so the screen look is untouched.
   Undo: remove the <head><css src="css/cyberdyne-print.css" .../></head> lines from that layout file and run bin/magento cache:clean. */

@page { size: letter portrait; margin: 0.45in 0.5in; }

html, body { background: #fff !important; }
body.catalog-product-view { font-size: 10.5pt !important; line-height: 1.35 !important; color: #000 !important; }
body.catalog-product-view * { box-shadow: none !important; text-shadow: none !important; animation: none !important; transition: none !important; }

/* ---------- things that never print ---------- */
body.catalog-product-view .header-top,
body.catalog-product-view .header-middle .action-content,
body.catalog-product-view .header-bottom,
body.catalog-product-view .breadcrumbs,
body.catalog-product-view .sidebar,
body.catalog-product-view .sidebar-main,
body.catalog-product-view .sidebar-additional,
body.catalog-product-view .columns .row > .col-lg-3,
body.catalog-product-view .columns .row > .col-lg-2,
body.catalog-product-view footer,
body.catalog-product-view .page-footer,
body.catalog-product-view .cookie-status-message,
body.catalog-product-view .message.global,
body.catalog-product-view .page.messages,
body.catalog-product-view .product-add-form,
body.catalog-product-view .box-tocart,
body.catalog-product-view .product-social-links,
body.catalog-product-view .product-addto-links,
body.catalog-product-view .cyb-share,
body.catalog-product-view .cy-svc-banner,
body.catalog-product-view #cy-rs-strip,
body.catalog-product-view .product-info-price .product.attribute.overview,
body.catalog-product-view #overview .cyberdyne-overview-details,
body.catalog-product-view .detail-bottom-wrapper,
body.catalog-product-view .detail-bottom,
body.catalog-product-view .fotorama__nav-wrap,
body.catalog-product-view .fotorama__arr,
body.catalog-product-view .fotorama__fullscreen-icon,
body.catalog-product-view .fotorama__zoom-in,
body.catalog-product-view .fotorama__zoom-out,
body.catalog-product-view .loading-mask,
body.catalog-product-view .resp-tabs-list,
body.catalog-product-view .resp-accordion,
body.catalog-product-view .data.item.title,
body.catalog-product-view #compatibility,
body.catalog-product-view #warranty,
body.catalog-product-view #reviews,
body.catalog-product-view .product-reviews-summary,
body.catalog-product-view .block.related,
body.catalog-product-view .block.upsell,
body.catalog-product-view .block.crosssell,
body.catalog-product-view .newsletter,
body.catalog-product-view .block-newsletter,
body.catalog-product-view .back2top,
body.catalog-product-view #yt-totop,
body.catalog-product-view iframe,
body.catalog-product-view .modals-wrapper,
body.catalog-product-view .modal-popup,
body.catalog-product-view .modals-overlay { display: none !important; }

/* ---------- small store header: logo left, address + phone right ---------- */
body.catalog-product-view .page-wrapper { padding: 0 !important; margin: 0 !important; }
body.catalog-product-view .header-container,
body.catalog-product-view .header-middle { position: static !important; padding: 0 !important; margin: 0 !important; border: 0 !important; min-height: 0 !important; height: auto !important; }
body.catalog-product-view .header-middle { border-bottom: 1.5pt solid #000 !important; padding-bottom: 6pt !important; margin-bottom: 10pt !important; }
body.catalog-product-view .header-middle .container { display: block !important; width: auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
body.catalog-product-view .header-middle .row { width: auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important; display: flex !important; align-items: center !important; justify-content: space-between !important; }
body.catalog-product-view .header-middle .logo-content,
body.catalog-product-view .header-middle .logo-wrapper { float: none !important; width: auto !important; padding: 0 !important; margin: 0 !important; }
body.catalog-product-view .logo-wrapper h1.logo-content { margin: 0 !important; font-size: inherit !important; }
body.catalog-product-view .logo-wrapper img { width: 110px !important; height: auto !important; }
body.catalog-product-view .logo-wrapper a { text-decoration: none !important; }
body.catalog-product-view .header-middle .row::after {
    content: "Cyberdyne Systems\A 3475 Portage Rd, Niagara Falls, Ontario\A 905-357-9222  \2022  cyberdyne.ca\A Prices and stock can change. Check cyberdyne.ca or call for the latest.";
    white-space: pre; text-align: right; font-size: 9pt; line-height: 1.4; display: block !important;
    clear: none !important; visibility: visible !important; height: auto !important;
}
body.catalog-product-view .header-middle .row::before { display: none !important; }

/* ---------- main area full width ---------- */
body.catalog-product-view .page-main,
body.catalog-product-view .columns,
body.catalog-product-view .columns .container,
body.catalog-product-view .columns .row,
body.catalog-product-view .columns .row > div,
body.catalog-product-view .column.main { width: 100% !important; max-width: none !important; float: none !important; padding: 0 !important; margin: 0 !important; min-height: 0 !important; }

/* ---------- two-column product layout ----------
   Grid items (wrappers flattened with display:contents):
   title across the top; photo + price/stock/short description on the left; overview + specs on the right. */
/* html + :has() so it outranks the phone-width rule in the page (Firefox/Chrome lay print out at ~720px, under the 768px phone breakpoint) */
body.catalog-product-view .detail-1 > .row,
html body.catalog-product-view .detail-1 > .row:has(> .image-box-detail) {
    display: grid !important;
    grid-template-columns: 37% 1fr;
    grid-template-rows: auto auto auto auto 1fr;
    grid-template-areas: "title title" "photo info" "price info" "store info" ". info";
    column-gap: 0.3in; row-gap: 6pt; align-items: start;
}
body.catalog-product-view .detail-1 > .row::before,
body.catalog-product-view .detail-1 > .row::after { display: none !important; }
body.catalog-product-view .detail-1 .image-box-detail,
body.catalog-product-view .detail-1 .product.media,
body.catalog-product-view .detail-1 .info-box-detail,
body.catalog-product-view .detail-1 .info-detail-container,
body.catalog-product-view .detail-1 .product-info-main { display: contents !important; }

body.catalog-product-view .page-title-wrapper { grid-area: title; margin: 0 0 4pt !important; padding: 0 !important; border: 0 !important; }
body.catalog-product-view .page-title-wrapper .page-title,
body.catalog-product-view .page-title-wrapper .page-title span { font-size: 15pt !important; line-height: 1.25 !important; font-weight: 700 !important; margin: 0 !important; }

body.catalog-product-view .gallery-placeholder { grid-area: photo; width: 100% !important; height: auto !important; border: 0.75pt solid #999 !important; padding: 4pt !important; }
body.catalog-product-view .gallery-placeholder .fotorama,
body.catalog-product-view .gallery-placeholder .fotorama__wrap,
body.catalog-product-view .gallery-placeholder .fotorama__stage,
body.catalog-product-view .gallery-placeholder .fotorama__stage__shaft { width: 100% !important; max-width: 100% !important; height: auto !important; max-height: none !important; transform: none !important; position: static !important; overflow: visible !important; }
body.catalog-product-view .gallery-placeholder .fotorama__stage__frame { display: none !important; }
body.catalog-product-view .gallery-placeholder .fotorama__stage__frame.fotorama__active { display: block !important; position: static !important; width: 100% !important; height: auto !important; transform: none !important; left: auto !important; }
body.catalog-product-view .gallery-placeholder .fotorama__img { position: static !important; display: block !important; width: auto !important; height: auto !important; max-width: 100% !important; max-height: 2.4in !important; margin: 0 auto !important; transform: none !important; top: auto !important; left: auto !important; }
body.catalog-product-view .gallery-placeholder__image { max-width: 100% !important; max-height: 2.4in !important; display: block; margin: 0 auto; }

body.catalog-product-view .product-info-price { grid-area: price; display: block !important; width: 100% !important; border: 0.75pt solid #999 !important; padding: 6pt 8pt !important; margin: 0 !important; }
body.catalog-product-view .product-info-price .price-box { display: block !important; margin: 0 0 3pt !important; padding: 0 !important; float: none !important; }
body.catalog-product-view .product-info-price .price,
body.catalog-product-view .product-info-main .price-box .special-price .price { font-size: 17pt !important; font-weight: 700 !important; color: #000 !important; line-height: 1.2 !important; }
body.catalog-product-view .product-info-main .price-box * { color: #000 !important; }
body.catalog-product-view .product-info-price .old-price,
body.catalog-product-view .product-info-main .price-box .old-price .price { font-size: 10pt !important; font-weight: 400 !important; text-decoration: line-through; line-height: 1.3 !important; }
body.catalog-product-view .product-info-main .price-box .old-price { margin-top: 1pt !important; }
body.catalog-product-view .product-info-price .special-price,
body.catalog-product-view .product-info-price .old-price { display: block !important; margin: 0 !important; }
body.catalog-product-view .product-info-price .price-label { font-size: 9pt !important; font-weight: 400 !important; margin-right: 4pt !important; text-decoration: none !important; }
body.catalog-product-view .product-info-stock-sku { display: block !important; position: static !important; float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; font-size: 10pt !important; }
body.catalog-product-view .product-info-stock-sku .stock { position: static !important; display: block !important; padding: 0 !important; margin: 0 0 2pt !important; font-weight: 700 !important; border: 0 !important; }
body.catalog-product-view .product-info-stock-sku .stock::before { content: none !important; }
body.catalog-product-view .product-info-stock-sku .sku { display: block !important; font-size: 9pt !important; }
body.catalog-product-view .product-info-stock-sku .sku .type,
body.catalog-product-view .product-info-stock-sku .sku .value { display: inline !important; }
body.catalog-product-view .product-info-stock-sku .sku .type::after { content: ": "; }

/* right column: overview text, then the specs table */
body.catalog-product-view .product.info.detailed { grid-area: info; width: 100% !important; margin: 0 !important; padding: 0 !important; float: none !important; }
body.catalog-product-view .product.info.detailed .product.data.items,
body.catalog-product-view .product.info.detailed .resp-tabs-container { border: 0 !important; padding: 0 !important; margin: 0 !important; height: auto !important; }
body.catalog-product-view #overview,
body.catalog-product-view #specifications { display: block !important; height: auto !important; border: 0 !important; padding: 0 !important; margin: 0 0 8pt !important; visibility: visible !important; opacity: 1 !important; }
body.catalog-product-view #specifications::before { content: "Specifications"; display: block; font-size: 12pt; font-weight: 700; border-bottom: 1pt solid #000; padding-bottom: 2pt; margin: 4pt 0 4pt; }
body.catalog-product-view #overview,
body.catalog-product-view #overview * { font-size: 10pt !important; line-height: 1.4 !important; }
body.catalog-product-view #overview p { margin: 0 0 4pt !important; }
body.catalog-product-view #overview h3,
body.catalog-product-view .product.info.detailed h3 { font-size: 12pt !important; font-weight: 700 !important; margin: 6pt 0 3pt !important; border-bottom: 1pt solid #000; padding-bottom: 2pt; }
body.catalog-product-view .additional-attributes { width: 100% !important; border-collapse: collapse !important; table-layout: fixed !important; font-size: 9pt !important; }
body.catalog-product-view .additional-attributes th,
body.catalog-product-view .additional-attributes td { padding: 1.5pt 4pt !important; border-bottom: 0.5pt solid #ccc !important; vertical-align: top !important; display: table-cell !important; float: none !important; white-space: normal !important; overflow-wrap: anywhere; text-align: left !important; line-height: 1.3 !important; }
body.catalog-product-view .additional-attributes th { width: 40% !important; font-weight: 700 !important; }
body.catalog-product-view .additional-attributes td { width: auto !important; }
body.catalog-product-view .additional-attributes tr { break-inside: avoid; }

/* links print as plain text */
body.catalog-product-view a, body.catalog-product-view a:visited { text-decoration: none !important; color: #000 !important; }
body.catalog-product-view a[href]::after { content: none !important; }

/* the "prices can change" note rides in the header so it can never spill onto a page 2 */

/* long write-ups: keep the first ~12 lines so the sheet stays on one page (full text is on the website) */
body.catalog-product-view #overview .cyberdyne-overview-copy,
body.catalog-product-view #overview > div:not(.cyberdyne-overview-panel) {
    display: -webkit-box !important; -webkit-box-orient: vertical !important; -webkit-line-clamp: 12; line-clamp: 12; overflow: hidden !important;
}
/* long spec tables get a tighter type size */
body.catalog-product-view .additional-attributes:has(tr:nth-child(18)) { font-size: 8pt !important; }
body.catalog-product-view .additional-attributes:has(tr:nth-child(18)) th,
body.catalog-product-view .additional-attributes:has(tr:nth-child(18)) td { padding: 0.5pt 3pt !important; }

/* any other spec/feature tables in the tabs: compact cells */
body.catalog-product-view .product.info.detailed table th,
body.catalog-product-view .product.info.detailed table td { padding: 1.5pt 4pt !important; font-size: 9pt !important; line-height: 1.3 !important; }
/* hard stop: the right column never runs past the bottom of the first page */
body.catalog-product-view .product.info.detailed { max-height: 6.9in !important; overflow: hidden !important; }

/* anything else in the info block goes in the left column; the "in stock at our store" box sits under the price */
:where(body.catalog-product-view .product-info-main) > * { grid-column: 1; }
body.catalog-product-view .cyberdyne-store-stock { grid-area: store; margin: 0 !important; padding: 5pt 8pt !important; border: 0.75pt solid #999 !important; font-size: 9pt !important; }
body.catalog-product-view .cyberdyne-store-stock * { font-size: 9pt !important; margin: 0 !important; }

/* Firefox: no full-height wrappers, no empty trailing page */
html, body.catalog-product-view, body.catalog-product-view .page-wrapper, body.catalog-product-view .page-main,
body.catalog-product-view .columns, body.catalog-product-view .column.main, body.catalog-product-view .detail-1 { min-height: 0 !important; height: auto !important; overflow: visible !important; }
body.catalog-product-view .page-wrapper > *:not(.header-container):not(.page-main) { display: none !important; }
body.catalog-product-view .page-main, body.catalog-product-view .column.main { padding-bottom: 0 !important; margin-bottom: 0 !important; }

/* long tables of any kind (e.g. monitor spec sheets) get the tight type too */
body.catalog-product-view .product.info.detailed table:has(tr:nth-child(14)) th,
body.catalog-product-view .product.info.detailed table:has(tr:nth-child(14)) td { font-size: 8pt !important; padding: 0.5pt 3pt !important; line-height: 1.25 !important; }
body.catalog-product-view :is(.cy-svc-side, [class^="cy-svc-"]) { display: none !important; }
