/* Shared product detail layout, loaded after the legacy and image styles. */
.product-detail-screen { background: #f7f9fc; }
.product-detail-screen .product-detail-page { width: min(1440px, calc(100% - 64px)) !important; max-width: none !important; margin: 0 auto !important; padding: 28px 0 64px !important; background: transparent !important; }
.product-detail-screen a:focus-visible, .product-detail-screen button:focus-visible, .product-detail-screen input:focus-visible, .product-detail-screen select:focus-visible, .product-detail-screen summary:focus-visible { outline: 3px solid #2674ae; outline-offset: 4px; }
.product-detail-screen .product-detail-topbar { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; width: 100% !important; min-height: 44px !important; margin: 0 0 22px !important; padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
.product-detail-screen .product-back-link { display: inline-flex !important; align-items: center !important; gap: 10px !important; width: auto !important; height: auto !important; min-width: 0 !important; min-height: 44px !important; padding: 10px 14px !important; border: 1px solid #d5e0eb !important; border-radius: 8px !important; background: #fff !important; color: #345b7d !important; font-size: 12px !important; font-weight: 600 !important; box-shadow: none !important; text-decoration: none; transform: none !important; }
.product-detail-screen .product-back-link::before { width: 7px !important; height: 7px !important; }
.product-detail-screen .product-back-link .product-back-text { display: inline !important; }
.product-range-navigation { display: flex; align-items: center; gap: 8px; }
.product-range-navigation .product-position { position: static !important; inset: auto !important; display: inline-flex; align-items: center; width: auto !important; height: auto !important; min-width: 0 !important; margin: 0 !important; padding: 0 4px !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: #526780 !important; box-shadow: none !important; transform: none !important; animation: none !important; font-size: 11px !important; line-height: 1.5; white-space: nowrap; }
.product-range-navigation .product-position::before { content: "Product "; white-space: pre; }
.product-detail-screen .product-detail > .product-media-column { display: contents; }
.product-detail-screen .product-range-navigation .product-nav-arrow { position: static !important; inset: auto !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px; width: auto !important; height: 44px !important; min-width: 44px !important; padding: 10px 13px !important; border: 1px solid #d5e0eb !important; border-radius: 8px !important; background: #fff !important; color: #345b7d !important; box-shadow: none !important; transform: none !important; font: inherit; font-size: 11px !important; font-weight: 600; cursor: pointer; }
.product-detail-screen .product-range-navigation .product-nav-arrow::before, .product-detail-screen .product-range-navigation .product-nav-arrow::after { content: none !important; }
.product-range-navigation svg { width: 16px; height: 16px; }
.product-detail-screen .product-range-navigation .product-nav-arrow:hover, .product-detail-screen .product-back-link:hover { background: #edf3f9 !important; border-color: #afc5d9 !important; }
.product-detail-screen .product-range-navigation .product-nav-arrow[hidden] { display: none !important; }
.detail-breadcrumbs { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 12px; margin-bottom: 24px; color: #7d8c9d; font-size: 11px; line-height: 1.6; }
.detail-breadcrumbs a { min-width: 0; color: #526780; font-size: inherit; font-weight: 500; text-decoration: none; overflow-wrap: anywhere; }
.detail-breadcrumbs a:hover { color: #123f73; text-decoration: underline; }

/* Explicit placement replaces the older size-guide column and large fixed stage. */
.product-detail-screen .product-detail { display: grid !important; grid-template-columns: minmax(0, .45fr) minmax(0, .55fr) !important; grid-template-rows: none !important; grid-template-areas: none !important; grid-auto-flow: row; align-items: start !important; gap: 32px !important; width: 100% !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; overflow: visible !important; }
.product-detail-screen .product-detail .product-detail-image-box { grid-column: 1 !important; grid-row: 1 !important; display: block !important; position: relative !important; min-width: 0 !important; min-height: 0 !important; height: auto !important; padding: 14px 14px 0 !important; border: 1px solid #dce6f0 !important; border-radius: 16px !important; background: #fff !important; box-shadow: 0 5px 20px rgba(20, 50, 80, .035) !important; overflow: hidden !important; }
.product-detail-screen .product-detail .product-detail-image-box::before, .product-detail-screen .product-detail .product-detail-image-box::after { content: none !important; }
.product-detail-screen .product-detail .product-stage { display: grid !important; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); place-items: center; width: 100% !important; height: 380px !important; min-height: 0 !important; margin: 0 !important; padding: 24px !important; border: 1px solid #e5ebf1 !important; border-radius: 10px !important; background: var(--product-media-surface, #f8fafc) !important; box-shadow: none !important; overflow: hidden !important; cursor: zoom-in !important; appearance: none; }
.product-detail-screen .product-detail .product-stage img,
.product-detail-screen .product-detail .product-stage:hover img { display: block; width: 100% !important; height: 100% !important; min-width: 0; min-height: 0; max-width: 100% !important; max-height: 100% !important; object-fit: contain !important; object-position: center; scale: none !important; transform: scale(.9) !important; transform-origin: center !important; filter: none !important; transition: none !important; }
.product-media-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 36px; padding: 6px; color: #65758a; font-size: 11px; line-height: 1.6; }
.product-detail-screen .product-detail-image-box .product-position { position: static !important; inset: auto !important; display: inline-flex; align-items: center; width: auto !important; height: auto !important; min-width: 0 !important; margin: 0 !important; padding: 4px 9px !important; border: 1px solid #dce6f0 !important; border-radius: 99px !important; background: #f1f5f9 !important; color: #42627e !important; box-shadow: none !important; transform: none !important; animation: none !important; font-size: 11px !important; font-weight: 600 !important; white-space: nowrap; }

.product-detail-screen .product-detail .product-detail-info { grid-column: 2 !important; grid-row: 1 !important; display: block !important; min-width: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 24px !important; border: 1px solid #dce6f0 !important; border-radius: 16px !important; background: #fff !important; box-shadow: 0 5px 20px rgba(20, 50, 80, .025) !important; }
.product-detail-screen .product-detail-info::before { display: none !important; content: none !important; }
.detail-eyebrow { display: flex; align-items: center; gap: 9px; color: #42627e; font-size: 9px; font-weight: 700; line-height: 1.6; letter-spacing: .14em; }
.detail-eyebrow::before { content: ""; width: 22px; height: 3px; background: #20a563; }
.product-detail-screen .product-detail-info h1 { width: auto !important; height: auto !important; max-width: none !important; min-height: 0 !important; margin: 12px 0 14px !important; padding: 0 !important; color: #123f73; font-size: clamp(30px, 2.6vw, 38px) !important; font-weight: 800; line-height: 1.16 !important; letter-spacing: -.035em !important; overflow-wrap: anywhere; }
.product-detail-screen #productDescription { min-height: 0 !important; margin: 0 !important; padding: 0 !important; color: #526780 !important; font-size: 14px !important; line-height: 1.8 !important; text-align: left !important; }
.product-specifications { margin-top: 12px; border: 1px solid #dce6f0; border-radius: 10px; background: #fff; }
.product-detail-info details > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 13px 15px; color: #345b7d; font-size: 12px; font-weight: 600; line-height: 1.5; list-style: none; cursor: pointer; }
.product-detail-info details > summary::-webkit-details-marker { display: none; }
.product-detail-info details > summary > span { flex: 0 0 18px; color: #65758a; font-size: 20px; font-weight: 400; text-align: center; }
.product-detail-info details[open] > summary { border-bottom: 1px solid #e5ebf1; }
.product-detail-info details[open] > summary > span { transform: rotate(45deg); }
.product-detail-screen #productExtraInfo { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 18px 22px !important; min-width: 0; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.product-detail-screen .product-specifications #productExtraInfo { padding: 18px 15px !important; }
.product-detail-screen .product-detail-info .product-detail-section { min-width: 0; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.product-detail-screen .product-detail-section h3 { margin: 0 0 8px !important; color: #65758a; font-size: 10px !important; font-weight: 600; line-height: 1.6 !important; }
.product-detail-screen #productExtraInfo .detail-field-options, .product-detail-screen #productExtraInfo .detail-field-sizes, .product-detail-screen #productExtraInfo .detail-field-colours, .product-detail-screen #productExtraInfo .detail-field-applications { grid-column: 1 / -1; }
.product-detail-screen .product-detail-section .option-list { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 6px; margin: 0 !important; padding: 0; }
.product-detail-screen .product-detail-section .option-list span { max-width: 100%; margin: 0; padding: 6px 9px !important; border: 1px solid #e2e9f0; border-radius: 6px; background: #f3f6f9; color: #345b7d; font-size: 11px !important; font-weight: 600 !important; line-height: 1.5 !important; white-space: normal !important; overflow-wrap: anywhere; }
.product-detail-screen .product-application-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 16px; margin: 0; padding: 0; list-style: none; }
.product-detail-screen .product-application-list li { position: relative; margin: 0; padding-left: 18px; color: #526780; font-size: 12px; line-height: 1.7; }
.product-detail-screen .product-application-list li::before { content: "✓"; position: absolute; top: 0; left: 0; color: #20a563; font-weight: 600; }

.product-enquiry { margin-top: 20px; padding: 18px; border: 1px solid #d6e7dd; border-radius: 11px; background: #f1f7f4; }
.product-enquiry h2 { margin: 0; color: #153958; font-size: 16px; font-weight: 700; line-height: 1.4; }
.product-enquiry p { margin: 6px 0 12px; color: #526780; font-size: 12px; line-height: 1.7; }
.product-detail-screen #productWhatsapp { display: inline-flex !important; align-items: center !important; justify-content: space-between !important; gap: 18px !important; width: auto !important; min-width: 240px !important; max-width: 100% !important; min-height: 44px !important; margin: 0 !important; padding: 11px 14px !important; border: 1px solid #177547 !important; border-radius: 8px !important; background: #177547 !important; color: #fff !important; box-shadow: none !important; transform: none !important; font-size: 13px !important; font-weight: 600 !important; text-decoration: none; }
.product-detail-screen #productWhatsapp::before, .product-detail-screen #productWhatsapp::after { content: none !important; }
.product-detail-screen #productWhatsapp:hover { border-color: #125c38 !important; background: #125c38 !important; }
.product-detail-screen #productWhatsapp svg { width: 18px; height: 18px; flex: 0 0 18px; }
.product-enquiry small { display: block; margin-top: 10px; color: #65758a; font-size: 10px; line-height: 1.6; }
.product-enquiry-fields { display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: 10px; margin: 0 0 12px; }
.product-enquiry-fields label { display: block; min-width: 0; color: #345b7d; font-size: 11px; font-weight: 600; line-height: 1.5; }
.product-enquiry-fields label > span { display: block; margin-bottom: 7px; }
.product-enquiry-fields label small { display: inline; margin: 0; font-size: 10px; font-weight: 400; }
.product-detail-screen .product-enquiry-fields input, .product-detail-screen .product-enquiry-fields select { display: block; width: 100%; min-width: 0; min-height: 44px; margin: 0; padding: 10px; border: 1px solid #c8d8cf; border-radius: 7px; background: #fff; color: #153958; font: inherit; font-size: 13px; line-height: 1.5; }
.product-enquiry-fields input::placeholder { color: #7b8b98; font-weight: 400; }
.product-enquiry-selected { display: block; margin-top: 7px; color: #345b7d; font-size: 11px; font-weight: 400; line-height: 1.6; overflow-wrap: anywhere; }

.product-detail-screen .product-detail .product-key-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; margin: 18px 0 0; padding: 14px 16px; border: 1px solid #e2e9f1; border-radius: 10px; background: #f7f9fc; }
.product-key-facts > div { min-width: 0; }
.product-key-facts > .product-fact-use, .product-key-facts > div:only-child { grid-column: 1 / -1; }
.product-detail-screen .product-detail .product-key-facts dt { margin: 0 0 3px; color: #65758a; font-size: 11px; font-weight: 400; line-height: 1.5; }
.product-detail-screen .product-detail .product-key-facts dd { margin: 0; color: #345b7d; font-size: 13px; font-weight: 500; line-height: 1.55; overflow-wrap: anywhere; }
.product-enquiry-fields.has-structured-choices { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.product-enquiry-fields.has-structured-choices:not(:has(.product-enquiry-gauge)) { grid-template-columns: minmax(0, 1fr) 112px; }
.product-enquiry-fields.has-structured-choices:has(.product-enquiry-configuration):not(:has(.product-enquiry-gauge)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.product-enquiry-fields.has-structured-choices > .product-enquiry-selected { grid-column: 1 / -1; margin-top: 0; }
.product-enquiry-fields.has-structured-choices:has(.product-enquiry-configuration) .product-enquiry-quantity { grid-column: 1 / -1; max-width: 160px; }
.product-enquiry-fields select:disabled { background: #f2f5f4; color: #6c7c73; cursor: not-allowed; }

@media (max-width: 1100px) {
  .product-enquiry-fields.has-structured-choices:has(.product-enquiry-gauge) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-enquiry-fields.has-structured-choices:has(.product-enquiry-gauge) .product-enquiry-configuration { grid-column: 1 / -1; }
  .product-enquiry-fields.has-structured-choices:has(.product-enquiry-gauge) .product-enquiry-quantity { grid-column: 1 / -1; max-width: 160px; }
}
@media (max-width: 560px) {
  .product-key-facts { gap: 12px 14px; }
  .product-enquiry-fields.has-structured-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-enquiry-fields.has-structured-choices .product-enquiry-configuration { grid-column: 1 / -1; }
  .product-enquiry-fields.has-structured-choices .product-enquiry-quantity { grid-column: 1 / -1; max-width: 160px; }
  .product-enquiry-fields.has-structured-choices:not(:has(.product-enquiry-gauge)) .product-enquiry-quantity { grid-column: auto; max-width: none; }
}

.product-detail-screen .product-detail .product-size-guide { min-width: 0; margin: 16px 0 0 !important; padding: 0 !important; border: 1px solid #dce6f0 !important; border-radius: 10px !important; background: #fff !important; }
.product-size-guide-content { padding: 18px 15px; }
.product-detail-screen .product-size-guide:not([hidden]) { display: block !important; }
.product-detail-screen .product-size-guide-heading > span { color: #42627e; font-size: 9px; letter-spacing: .13em; }
.product-detail-screen .product-size-guide-heading h2 { margin: 6px 0 8px; color: #123f73; font-size: 24px; line-height: 1.3; letter-spacing: -.025em; }
.product-detail-screen .product-size-guide-heading p, .product-detail-screen .product-size-note { color: #65758a; font-size: 12px; line-height: 1.8; }
.product-detail-screen #productSizeGuide .product-size-groups { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 16px; margin-top: 20px; }
.product-detail-screen .product-size-group { min-width: 0; border: 1px solid #e0e8f0; border-radius: 10px; background: #fff; overflow: hidden; }
.product-detail-screen .product-size-group:only-child { grid-column: 1 / -1; }
.product-detail-screen .product-size-group-heading { padding: 13px 15px; background: #edf3f9; border-color: #e0e8f0; }
.product-detail-screen .product-size-group-heading h3 { color: #345b7d; font-size: 12px; }
.product-detail-screen .product-size-row { min-width: 0; }
.product-detail-screen .product-size-lengths { min-width: 0; }
.product-detail-screen .product-size-lengths span { max-width: 100%; min-width: 40px; border-radius: 6px; font-size: 11px; line-height: 1.3; overflow-wrap: anywhere; }

.product-detail-screen .product-detail .commonly-used-section { grid-column: 1 / -1 !important; grid-row: auto !important; width: 100%; min-width: 0; margin: 0 !important; padding: 22px !important; border: 1px solid #dce6f0 !important; border-radius: 16px !important; background: #fff !important; }
.product-detail-screen .commonly-used-section:not([hidden]) { display: block !important; }
.product-detail-screen .commonly-used-heading { margin-bottom: 16px; }
.product-detail-screen .commonly-used-heading h2 { margin-bottom: 6px; color: #123f73; font-size: 21px; line-height: 1.4; letter-spacing: -.02em; }
.product-detail-screen .commonly-used-heading p { color: #65758a; font-size: 12px; font-weight: 400; line-height: 1.7; }
.product-detail-screen .commonly-used-products { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important; gap: 14px; }
.product-detail-screen .commonly-used-products:has(> .commonly-used-card:only-child) { grid-template-columns: minmax(0, 1fr) !important; }
.product-detail-screen .commonly-used-section:has(.commonly-used-products > .commonly-used-card:only-child) { max-width: 466px; }
.product-detail-screen .commonly-used-section:has(.commonly-used-products > .commonly-used-card:nth-child(2):last-child) { max-width: 900px; }
.product-detail-screen .commonly-used-products .commonly-used-card { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 5px 12px; padding: 12px; border-color: #e0e8f0; border-radius: 10px; box-shadow: none; }
.product-detail-screen .commonly-used-products .commonly-used-image { width: 62px; height: 62px; border-radius: 7px; }
.product-detail-screen .commonly-used-products .commonly-used-image img { max-width: 54px; max-height: 54px; }
.product-detail-screen .commonly-used-card strong { color: #345b7d; font-size: 12px; line-height: 1.5; }
.product-detail-screen .commonly-used-card > span:last-child { color: #65758a; font-size: 10px; font-weight: 500; line-height: 1.6; }

/* Catalogue sheets remain complete and readable, with a keyboard-accessible opener. */
.product-detail-screen .product-detail.ladder-detail-mode .product-detail-image-box { display: block !important; min-height: 0 !important; padding: 14px 14px 0 !important; }
.product-detail-screen .product-detail.ladder-detail-mode .ladder-detail-gallery { display: grid !important; grid-template-columns: minmax(0, 1fr); width: 100% !important; height: auto !important; gap: 12px !important; padding: 0 !important; overflow: visible !important; scroll-snap-type: none !important; }
.product-detail-screen .product-detail.ladder-detail-mode .ladder-detail-gallery.has-multiple-pages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.detail-sheet-button { display: grid; place-items: center; min-width: 0; width: 100%; padding: 8px; border: 1px solid #e5ebf1; border-radius: 9px; background: #f8fafc; cursor: zoom-in; }
.product-detail-screen .product-detail.ladder-detail-mode .ladder-detail-gallery .detail-sheet-button img { display: block; width: 100% !important; height: auto !important; max-width: 100% !important; max-height: 610px !important; margin: 0 !important; border-radius: 0 !important; object-fit: contain !important; box-shadow: none !important; transform: none !important; scale: none !important; }

.detail-not-found { padding: 40px; border: 1px solid #dce6f0; border-radius: 16px; background: #fff; }
.detail-not-found h1 { margin: 14px 0; font-size: 32px; color: #123f73; }
.detail-not-found p { margin-bottom: 24px; color: #526780; font-size: 14px; line-height: 1.8; }
.detail-return-link { display: inline-flex; align-items: center; gap: 24px; min-height: 44px; color: #245580; font-size: 13px; font-weight: 600; }
.product-detail-screen .image-lightbox { position: fixed; inset: 0; z-index: 10000; padding: 76px 24px 28px; background: rgba(10, 26, 43, .93); }
.product-detail-screen .image-lightbox.active { display: flex; align-items: center; justify-content: center; }
.product-detail-screen .image-lightbox img { width: auto !important; height: auto !important; max-width: min(1200px, 94vw) !important; max-height: calc(100dvh - 110px) !important; object-fit: contain; transform: none !important; scale: none !important; border-radius: 6px; }
.detail-lightbox-close { position: fixed; top: 20px; right: 24px; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(255, 255, 255, .35); border-radius: 9px; background: rgba(255, 255, 255, .1); color: #fff; cursor: pointer; }
.detail-lightbox-close svg { width: 22px; height: 22px; }
.product-detail-screen .detail-lightbox-close:focus-visible { outline-color: #fff; }
.product-detail-screen [hidden] { display: none !important; }

@media (max-width: 1100px) {
  .product-detail-screen .product-detail-page { width: calc(100% - 48px) !important; }
  .product-detail-screen .product-detail { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 20px !important; }
  .product-detail-screen .product-detail .product-stage { height: 340px !important; padding: 18px !important; }
  .product-detail-screen .product-detail .product-detail-info { padding: 24px !important; }
}
@media (max-width: 768px) {
  .product-detail-screen .product-detail-page { width: calc(100% - 32px) !important; padding: 20px 0 40px !important; }
  .product-detail-screen .product-detail-topbar { margin-bottom: 18px !important; }
  .product-detail-screen .product-range-navigation .product-nav-arrow { width: 44px !important; padding: 12px !important; }
  .product-range-navigation .product-nav-arrow > span { display: none; }
  .detail-breadcrumbs { gap: 7px 9px; margin-bottom: 20px; font-size: 10px; }
  .product-detail-screen .product-detail { grid-template-columns: minmax(0, 1fr) !important; gap: 20px !important; }
  .product-detail-screen .product-detail .product-detail-image-box { grid-column: 1 !important; grid-row: 1 !important; padding: 10px 10px 0 !important; }
  .product-detail-screen .product-detail .product-stage { height: 280px !important; }
  .product-media-footer { min-height: 32px; font-size: 10px; }
  .product-detail-screen .product-detail .product-detail-info { grid-column: 1 !important; grid-row: 2 !important; padding: 22px !important; }
  .product-detail-screen .product-detail-info h1 { font-size: clamp(28px, 6vw, 36px) !important; }
  .product-specifications { margin-top: 12px; }
  .product-enquiry { margin-top: 22px; padding: 18px; }
  .product-detail-screen #productWhatsapp { width: 100% !important; min-width: 0 !important; }
  .product-detail-screen .product-detail .commonly-used-section { padding: 22px !important; }
  .product-enquiry-fields { grid-template-columns: minmax(0, 1fr); }
  .product-detail-screen .product-enquiry-fields input, .product-detail-screen .product-enquiry-fields select { font-size: 16px; }
  .product-detail-screen #productSizeGuide .product-size-groups { grid-template-columns: minmax(0, 1fr); }
  .product-detail-screen .product-size-guide-heading h2 { font-size: 22px; }
  .product-detail-screen .commonly-used-heading h2 { font-size: 20px; }
}
@media (max-width: 560px) {
  .product-detail-screen .commonly-used-products { grid-template-columns: minmax(0, 1fr) !important; }
  .product-detail-screen .product-detail.ladder-detail-mode .ladder-detail-gallery.has-multiple-pages { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 420px) {
  .product-detail-screen .product-detail-page { width: calc(100% - 24px) !important; }
  .product-detail-screen .product-detail .product-stage { height: 250px !important; }
  .product-detail-screen .product-detail .product-detail-info, .product-detail-screen .product-detail .commonly-used-section { padding: 18px !important; }
  .product-detail-screen #productExtraInfo { gap: 16px 14px !important; }
  .product-detail-screen .product-application-list { gap: 7px 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .product-detail-screen .product-detail, .product-detail-screen .product-nav-arrow, .product-detail-screen .commonly-used-card { animation: none !important; transition: none !important; transform: none !important; }
}

/* Sharing stays beside the range controls, without moving the product content. */
.product-detail-screen .product-detail-topbar { position: relative; }
.product-share-wrap { display: flex; flex: 0 0 auto; align-items: center; margin-right: auto; }
.product-share-button { display: inline-flex; 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-share-button svg { width: 18px; height: 18px; flex: 0 0 18px; }
.product-share-button:hover { background: #edf3f9; border-color: #afc5d9; }
.product-share-button:disabled { cursor: progress; opacity: .7; }
.product-share-status { position: absolute; right: 0; top: calc(100% + 3px); z-index: 3; padding: 3px 8px; border-radius: 5px; background: #e9f6ee; color: #20653e; font-size: 11px; line-height: 1.5; }
.product-share-status:empty { display: none; }
.product-share-manual { position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 30; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; padding: 14px; border: 1px solid #d5e0eb; border-radius: 10px; background: #fff; box-shadow: 0 8px 24px rgba(20, 50, 80, .12); }
.product-share-manual-label { grid-column: 1 / -1; color: #345b7d; font-size: 12px; font-weight: 600; line-height: 1.6; }
.product-share-link { min-width: 0; width: 100%; min-height: 44px; padding: 10px; border: 1px solid #cbd9e6; border-radius: 6px; background: #f7f9fc; color: #345b7d; font: inherit; font-size: 14px; line-height: 1.5; }
.product-share-close { min-width: 44px; min-height: 44px; padding: 10px 12px; border: 1px solid #d5e0eb; border-radius: 6px; background: #fff; color: #345b7d; font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
@media (max-width: 768px) {
  .product-detail-screen .product-detail-topbar { gap: 8px !important; }
  .product-share-button { width: 44px; padding: 11px; }
  .product-share-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
  .product-share-link { font-size: 16px; }
}

/* Read the product name before its photograph, then its facts and enquiry. */
@media (max-width: 768px) {
  .product-detail-screen .product-detail > .detail-product-heading { grid-column: 1 !important; grid-row: 1 !important; min-width: 0; }
  .product-detail-screen .product-detail > .detail-product-heading .detail-eyebrow { display: none; }
  .product-detail-screen .product-detail > .detail-product-heading h1 { margin: 0 0 8px !important; padding: 0 !important; color: #123f73; font-size: clamp(24px, 6vw, 30px) !important; font-weight: 700; line-height: 1.25 !important; letter-spacing: -.025em; overflow-wrap: anywhere; }
  .product-detail-screen .product-detail > .detail-product-heading #productDescription { font-size: 13px !important; line-height: 1.65 !important; }
  .product-detail-screen .product-detail > :is(.product-detail-image-box, .product-media-column, .embedded-media-column) { grid-column: 1 !important; grid-row: 2 !important; min-width: 0; }
  .product-detail-screen .product-detail > .product-media-column { display: block; }
  .product-detail-screen .product-detail .product-detail-info { grid-row: 3 !important; }
  .product-detail-screen .product-detail-info .product-key-facts { margin-top: 0; }
  .product-detail-screen .product-media-column > .product-range-navigation { justify-content: center; min-height: 44px; margin-top: 6px; }
  .product-detail-screen .product-media-column .product-nav-arrow { border: 0 !important; background: transparent !important; box-shadow: none !important; }
}
