/* Product-only catalogue presentation. Original photos and watermarks stay intact. */
.product-detail-refined .product-page {
  --product-ink: #172e28;
  --product-muted: #52635b;
  --product-rule: #ccd1c5;
  padding: 32px max(24px, calc((100vw - 1280px) / 2)) 48px;
}
.product-detail-refined .product-breadcrumb {
  margin: 0 0 24px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: #e5e7dc;
}
.product-detail-refined .product-showcase {
  background: #f2eee4;
  color: var(--product-ink);
  border: 1px solid #d7d9cb;
  border-radius: 24px;
  padding: 32px;
}
.product-detail-refined .product-page-layout {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 40px;
  align-items: center;
}
.product-detail-refined .product-page-info {
  position: static;
  padding: 8px 0;
  min-width: 0;
  color: var(--product-ink);
}
.product-detail-refined .product-page-info > .eyebrow,
.product-detail-refined .product-information .eyebrow {
  color: #5e6c5d;
  font-size: 10px;
  letter-spacing: .12em;
}
.product-detail-refined .product-page-info h1 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(34px, 2.9vw, 42px);
  line-height: 1.18;
  letter-spacing: -.025em;
  font-weight: 500;
  color: var(--product-ink);
  margin: 16px 0 18px;
  overflow-wrap: break-word;
  text-wrap: pretty;
}
.product-detail-refined .product-reference {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px;
  font: 10px/1.6 'DM Mono', monospace;
  letter-spacing: .08em;
  color: var(--product-muted);
  margin: 0 0 24px;
}
.product-detail-refined .product-reference b {font-size: 13px; color: var(--product-ink); font-weight: 500;}
.product-detail-refined .product-page-image {border-radius: 14px; border: 0; aspect-ratio: 3 / 2; height: auto;}
.product-detail-refined .product-page-image > img {object-fit: contain; width: 100%; height: 100%; padding: 0; margin: 0;}
.product-detail-refined .product-zoom-cue {border-radius: 8px; box-shadow: none; color: var(--product-ink);}
.product-detail-refined .product-gallery-hint {font-size: 10px; color: var(--product-muted); line-height: 1.6; flex-wrap: wrap;}
.product-detail-refined .product-gallery-hint b {color: var(--product-ink);}
.product-detail-refined .product-gallery-thumbs {padding: 6px 4px; margin-top: 10px;}
.product-detail-refined .product-gallery-thumb {border-radius: 8px; border-color: #bac5b7;}
.product-detail-refined .product-gallery-thumb.active {border-color: #234f3e; box-shadow: 0 0 0 2px #f2eee4, 0 0 0 3px #234f3e;}
.product-detail-refined .product-key-specs {margin: 0 0 26px; border-top: 1px solid var(--product-rule);}
.product-detail-refined .product-key-specs > div {display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--product-rule);}
.product-detail-refined .product-key-specs dt {font-size: 12px; color: var(--product-muted); line-height: 1.5;}
.product-detail-refined .product-key-specs dd {margin: 0; font-size: 13px; font-weight: 500; line-height: 1.5; overflow-wrap: anywhere;}
.product-detail-refined .product-primary-action {position: static; padding: 0; margin: 0; background: none; box-shadow: none; backdrop-filter: none;}
.product-detail-refined .product-primary-action .product-add {width: 100%; max-width: 320px; min-height: 50px; padding: 15px 20px; border-radius: 9px; font-size: 14px;}
.product-detail-refined .product-primary-action small {display: block; color: var(--product-muted); font-size: 11px; line-height: 1.6; margin-top: 10px;}
.product-detail-refined .product-enquiry-link {color: #234f3e; font-size: 13px; min-height: 44px; display: flex; align-items: center;}
.product-detail-refined .product-enquiry-link[hidden] {display: none;}
.product-detail-refined .product-details-jump {display: inline-flex; align-items: center; min-height: 44px; margin-top: 8px; color: var(--product-ink); font-size: 12px; text-underline-offset: 4px;}
.product-detail-refined .product-information {margin-top: 36px; padding-top: 32px; border-top: 1px solid var(--product-rule); scroll-margin-top: 120px;}
.product-detail-refined .product-information-grid {display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); grid-template-areas: "buying description"; gap: 40px; align-items: stretch;}
.product-detail-refined .product-information-grid > .product-description {grid-area: description;}
.product-detail-refined .product-information-grid > .product-buying-sheet {grid-area: buying; display: flex; flex-direction: column;}
.product-detail-refined .product-information h2 {font: 500 28px/1.25 'Playfair Display', Georgia, serif; color: var(--product-ink); margin: 12px 0 16px;}
.product-detail-refined .product-lead {font-size: 14px; line-height: 1.8; margin: 0 0 24px; color: var(--product-muted); max-width: none;}
.product-detail-refined .detail-specs {margin: 0; border-color: var(--product-rule);}
.product-detail-refined .detail-specs > div {display: grid; grid-template-columns: minmax(100px, .8fr) minmax(0, 1.2fr); gap: 16px; font-size: 12px; line-height: 1.7; border-color: var(--product-rule);}
.product-detail-refined .detail-specs span {color: var(--product-muted);}
.product-detail-refined .detail-specs b {color: var(--product-ink); font-weight: 500; text-align: left; overflow-wrap: anywhere;}
.product-detail-refined .product-buying-sheet {margin: 0; padding: 24px; border: 1px solid #35594a; border-radius: 14px; background: #16352e; color: #f2eee4;}
.product-detail-refined .product-buying-sheet h2 {color: #f2eee4; font-size: 24px; margin: 0 0 12px;}
.product-detail-refined .product-buying-sheet p {color: #d8e1d7; font-size: 14px; line-height: 1.7;}
.product-detail-refined .product-buying-sheet ul {margin: 12px 0;}
.product-detail-refined .product-buying-sheet a {color: #f7c069; align-self: flex-start; margin: 0; padding: 0;}
.product-detail-refined .product-buying-sheet small {color: #cad6ca;}
.product-detail-refined .product-buying-sheet li {color: #d8e1d7; border-color: #6f8a79; font-size: 10px;}
.product-detail-refined .product-variant-summary {border-color: var(--product-rule); color: var(--product-ink);}
.product-detail-refined .product-variant-summary span {background: #e8e9de; color: var(--product-ink); border-color: var(--product-rule);}
.product-detail-refined .product-variant-summary small {color: var(--product-muted);}
.product-detail-refined .product-customisation-panel {border: 1px solid #aebda6; border-radius: 14px; background: #e7eadf; margin-top: 32px; padding: 0;}
.product-detail-refined .product-customisation-panel summary {display: flex; align-items: center; justify-content: space-between; gap: 24px; cursor: pointer; padding: 22px 24px; min-height: 92px; color: var(--product-ink); list-style: none; border-radius: 14px;}
.product-detail-refined .product-customisation-panel summary::-webkit-details-marker {display: none;}
.product-detail-refined .product-customisation-panel summary::marker {content: '';}
.product-detail-refined .product-customisation-panel summary:hover {background: #dfe6d7;}
.product-detail-refined .product-customisation-intro {min-width: 0;}
.product-detail-refined .product-customisation-intro strong {display: block; font: 500 26px/1.25 'Playfair Display', Georgia, serif;}
.product-detail-refined .product-customisation-teaser {display: block; margin-top: 6px; font: 13px/1.6 'DM Sans', sans-serif; color: #52635b;}
.product-detail-refined .product-customisation-cue {display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; flex: 0 0 auto; min-height: 48px; padding: 10px 16px; border: 1px solid #d49a37; border-radius: 8px; background: #f2b43f; color: #172e28; font: 600 14px/1.4 'DM Sans', sans-serif;}
.product-detail-refined .product-customisation-cue b {display: grid; place-items: center; width: 24px; height: 24px; font: 400 25px/1 'DM Sans', sans-serif;}
.product-detail-refined .product-customisation-cue b::before {content: '+';}
.product-detail-refined .customisation-when-open {display: none;}
.product-detail-refined .product-customisation-panel[open] .customisation-when-closed {display: none;}
.product-detail-refined .product-customisation-panel[open] .customisation-when-open {display: inline;}
.product-detail-refined .product-customisation-panel[open] .product-customisation-cue b::before {content: '−';}
.product-detail-refined .product-customisation-builder {padding: 20px 24px 24px; border: 0; border-top: 1px solid #bdc8b4; margin: 0; grid-template-columns: repeat(3, minmax(0, 1fr));}
.product-detail-refined .custom-options-help {color: var(--product-muted); font-size: 13px; line-height: 1.7;}
.product-detail-refined .product-custom-option {color: var(--product-ink); background: #faf8f2; border: 1px solid var(--product-rule); border-radius: 9px; padding: 0 14px;}
.product-detail-refined .product-custom-option > span {min-height: 48px; display: flex; gap: 8px; align-items: center; font-size: 13px; color: var(--product-ink);}
.product-detail-refined .product-custom-option input[type="text"] {color: var(--product-ink); background: #fff; border-color: #a0af9d; font-size: 16px; min-height: 44px; margin: 0 0 14px;}
.product-detail-refined .product-page :is(a, button, summary, input):focus-visible {outline: 2px solid #35614b; outline-offset: 4px;}
.product-detail-refined .product-description h2 {margin: 8px 0 12px;}
.product-detail-refined .product-description .product-lead {margin-bottom: 16px;}
.product-detail-refined .detail-specs > div {padding-block: 8px;}
.product-detail-refined .product-page-gallery {scroll-margin-top: 120px;}
.product-detail-refined .related-products {padding: 0 max(24px, calc((100vw - 1280px) / 2)) 72px; background: transparent; scroll-margin-top: 120px;}
.product-detail-refined .related-products-panel {padding: 32px; border: 1px solid #d7d9cb; border-radius: 24px; background: #f2eee4; color: #172e28;}
.product-detail-refined .related-heading {margin: 0 0 24px;}
.product-detail-refined .related-heading h2 {margin: 0; font: 500 34px/1.25 'Playfair Display', Georgia, serif; letter-spacing: -.025em; color: #172e28;}
.product-detail-refined .related-grid {grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; align-items: stretch;}
.product-detail-refined .related-card {display: flex; flex-direction: column; min-width: 0; padding: 14px; border: 1px solid #d4dacb; border-radius: 14px; background: #faf8f2; color: #172e28; text-decoration: none;}
.product-detail-refined .related-image-wrap {height: auto; aspect-ratio: 4 / 3; border: 0; border-radius: 10px; background: #fff; flex-shrink: 0;}
.product-detail-refined .related-image-wrap img {display: block; width: 100%; height: 100%; margin: 0; padding: 0; object-fit: contain;}
.product-detail-refined .related-card .related-name {margin: 14px 0 8px; font: 500 14px/1.5 'DM Sans', sans-serif; overflow-wrap: break-word; color: #172e28; transition: none;}
.product-detail-refined .related-card small {margin: 0 0 12px; font: 11px/1.6 'DM Mono', monospace; color: #52635b;}
.product-detail-refined .related-card-action {display: flex; align-items: center; min-height: 44px; margin-top: auto; border-top: 1px solid #d4dacb; color: #234f3e; font: 600 12px/1.5 'DM Sans', sans-serif; text-decoration: underline; text-underline-offset: 4px;}
.product-detail-refined .related-card:hover {border-color: #708a72;}
.product-detail-refined .related-card:hover .related-name {transform: none; color: #172e28;}
.product-detail-refined .related-card:focus-visible {outline: 2px solid #35614b; outline-offset: 4px;}
.product-detail-refined .product-buying-sheet a:focus-visible {outline-color: #f7c069;}
.product-detail-refined .product-action-dock {display: none;}
@media (max-width: 1100px) {
  body.product-detail-refined.has-mobile-enquiry-dock {padding-bottom: calc(94px + env(safe-area-inset-bottom, 0px));}
  .product-detail-refined > .mobile-enquiry-dock {display: none;}
  .product-detail-refined .product-page {padding: 16px 4vw 48px;}
  .product-detail-refined .product-breadcrumb {margin-bottom: 12px;}
  .product-detail-refined .product-showcase {padding: 24px;}
  .product-detail-refined .product-page-layout {gap: 28px;}
  .product-detail-refined .product-page-info {padding: 0;}
  .product-detail-refined .product-page-info h1 {font-size: 32px;}
  .product-detail-refined .product-information-grid {gap: 28px;}
  .product-detail-refined .related-products {padding-inline: 4vw; padding-bottom: 56px;}
  .product-detail-refined .related-products-panel {padding: 24px;}
  .product-detail-refined .related-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
  .product-detail-refined .product-action-dock {position: fixed; z-index: 25; left: 12px; right: 12px; bottom: max(10px, env(safe-area-inset-bottom, 0px)); padding: 10px; display: flex; align-items: center; gap: 12px; background: #16352e; border: 1px solid #698174; border-radius: 14px; box-shadow: 0 4px 18px #0b1e1b26;}
  .product-detail-refined .product-action-dock .product-add {flex: 1; min-width: 0; min-height: 48px; padding: 12px 16px; border-radius: 8px; font-size: 13px;}
  .product-detail-refined .product-dock-centre {display: flex; align-items: center; justify-content: center; flex: 0 0 auto; gap: 8px; min-height: 48px; padding: 0 8px; color: #f2eee4; font-size: 12px; font-weight: 600; text-decoration: none;}
  .product-detail-refined .product-dock-centre em {display: grid; place-items: center; min-width: 20px; height: 20px; border: 1px solid #9bad99; border-radius: 50%; font: 11px 'DM Mono', monospace;}
  .product-detail-refined .product-action-dock :is(a, button):focus-visible {outline: 2px solid #f7c069; outline-offset: 3px;}
  .product-detail-refined .product-page :is(button, a, input, summary) {scroll-margin-bottom: calc(110px + env(safe-area-inset-bottom, 0px));}
  .product-detail-refined .site-toast {bottom: calc(100px + env(safe-area-inset-bottom, 0px));}
  .product-detail-refined.lightbox-open .product-action-dock,
  .product-detail-refined:has(.product-customisation-builder input[type="text"]:focus) .product-action-dock {display: none;}
}
@media (max-width: 900px) {
  .product-detail-refined .product-page-layout {grid-template-columns: minmax(0, 1fr); gap: 24px;}
  .product-detail-refined .product-page-gallery {width: 100%; max-width: 480px; margin-inline: auto;}
  .product-detail-refined .product-page-image {aspect-ratio: 16 / 9;}
  .product-detail-refined .product-gallery-thumbs {margin-top: 6px;}
  .product-detail-refined .product-gallery-thumb {width: 56px; height: 56px; flex-basis: 56px;}
  .product-detail-refined .product-page-info h1 {font-size: 34px; max-width: 760px;}
  .product-detail-refined .product-key-specs > div {grid-template-columns: 130px minmax(0, 1fr);}
}
@media (max-width: 650px) {
  .product-detail-refined .product-page {padding: 8px 12px 40px;}
  .product-detail-refined .product-breadcrumb {margin-bottom: 8px; font-size: 12px;}
  .product-detail-refined .product-showcase {border-radius: 18px; padding: 16px;}
  .product-detail-refined .product-page-layout {gap: 20px;}
  .product-detail-refined .product-page-image {border-radius: 10px;}
  .product-detail-refined .product-page-info h1 {font-size: 28px; line-height: 1.2; margin: 10px 0 14px;}
  .product-detail-refined .product-reference {margin-bottom: 16px;}
  .product-detail-refined .product-key-specs {display: block; margin-bottom: 20px; border-bottom: 0;}
  .product-detail-refined .product-key-specs > div {display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 12px; border-bottom: 1px solid var(--product-rule); padding: 10px 0;}
  .product-detail-refined .product-key-specs dd {margin: 0;}
  .product-detail-refined .product-primary-action .product-add {max-width: none;}
  .product-detail-refined .product-information {margin-top: 24px; padding-top: 24px;}
  .product-detail-refined .product-information-grid {grid-template-columns: minmax(0, 1fr); grid-template-areas: "description" "buying"; gap: 24px;}
  .product-detail-refined .product-information h2 {font-size: 25px;}
  .product-detail-refined .product-buying-sheet {padding: 20px;}
  .product-detail-refined .product-customisation-panel summary {align-items: stretch; flex-direction: column; gap: 16px; padding: 20px;}
  .product-detail-refined .product-customisation-cue {flex: 0 0 auto;}
  .product-detail-refined .product-customisation-builder {padding: 20px;}
  .product-detail-refined .product-customisation-builder {grid-template-columns: minmax(0, 1fr);}
  .product-detail-refined .product-gallery-hint {font-size: 9px; gap: 6px;}
  .product-detail-refined .related-products {padding: 0 12px 40px;}
  .product-detail-refined .related-products-panel {padding: 16px; border-radius: 18px;}
  .product-detail-refined .related-heading {margin-bottom: 20px;}
  .product-detail-refined .related-heading h2 {font-size: 28px;}
  .product-detail-refined .related-grid {grid-template-columns: minmax(0, 1fr); gap: 16px;}
}

@media (max-width: 360px) {
  .product-detail-refined .product-action-dock {left: 8px; right: 8px; gap: 6px; padding: 8px;}
  .product-detail-refined .product-action-dock .product-add {font-size: 12px; padding-inline: 10px;}
  .product-detail-refined .product-dock-centre {font-size: 11px; padding-inline: 3px; gap: 5px;}
}
