/* Product pages inherit the retained homepage's typography, surfaces and sea-glass actions. */
/* Photographic infinity cove, with a light ivory veil for readable product copy. */
.interior-hero, .product-hero-surface {
 background:
  linear-gradient(rgb(246 240 232 / .2), rgb(246 240 232 / .2)),
  url("assets/images/products/studio-cove-background.webp") center / cover no-repeat,
  var(--hero-ivory);
}
.product-nav { background: var(--sand); border-bottom: 1px solid var(--line); padding-block: 13px; }
.product-nav > div, .product-nav > div > div { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.product-nav span { font-weight: 600; }
.product-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
.breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 25px; font-size: 13px; color: var(--secondary); }
.breadcrumb a { text-decoration: underline; text-underline-offset: 4px; }
.product-intro { display: grid; grid-template-columns: 1.12fr 1fr; gap: clamp(40px, 6vw, 88px); padding-block: 42px 100px; align-items: start; }
.detail-gallery, .product-summary { min-width: 0; }
.gallery-main { background: #f9f9f9; border-radius: 20px; overflow: hidden; }
.gallery-main img { width: 100%; aspect-ratio: 1; object-fit: contain; }
.gallery-thumbs { display: flex; overflow-x: auto; gap: 8px; padding: 10px 4px; margin: 6px -4px 0; scrollbar-color: var(--blue) var(--light); }
.gallery-thumbs a { width: 64px; min-width: 64px; height: 72px; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.gallery-thumbs a:hover { border-color: var(--ink); }
.gallery-thumbs a[aria-current="true"] { border: 2px solid var(--blue); }
.gallery-thumbs img { width: 100%; height: 100%; object-fit: contain; }
.gallery-caption { color: var(--secondary); font-size: 12px; margin-top: 6px; min-height: 36px; }
.product-maker { font-size: 14px; color: var(--secondary); margin: 0 0 12px; }
[data-style="klein"] .product-summary h1 { font-size: clamp(48px, 5.6vw, 78px); margin: 0; }
.product-summary h1 span { display: block; margin-top: 12px; font-family: inherit; font-size: .43em; letter-spacing: -.02em; }
.product-promise { font-size: 24px; line-height: 1.3; letter-spacing: -.025em; margin: 28px 0 12px; max-width: 25ch; }
.product-description-copy { color: var(--secondary); font-size: 17px; max-width: 45ch; margin: 0; }
.detail-price { font-size: 28px; font-weight: 600; margin: 28px 0 20px; font-variant-numeric: tabular-nums; }
.detail-price > span:last-child { display: block; font-size: 13px; font-weight: 400; color: var(--secondary); }
.configuration { display: grid; gap: 10px; }
.configuration label { font-size: 14px; font-weight: 600; }
.configuration select { width: 100%; min-height: 50px; padding: 12px 36px 12px 12px; font: inherit; font-size: 16px; color: var(--ink); background: var(--white); border: 1px solid #777; border-radius: 10px; }
.configuration .button { width: 100%; margin-top: 8px; border: 0; }
.detail-note { font-size: 13px; line-height: 1.6; color: var(--secondary); margin-block: 16px; }
.local-service { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 20px; font-size: 14px; line-height: 1.7; }
.product-overview { padding-block: 56px; background: var(--sand); }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.section-heading h2, .product-faq h2, .related-section h2, .comparison-table h2 { font-size: clamp(36px, 4vw, 58px); }
.section-heading > p { max-width: 28ch; color: var(--secondary); font-size: 19px; }
.feature-list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 64px; margin: 48px 0 0; padding: 0; list-style: none; }
.feature-list li { padding: 18px 0; border-top: 1px solid var(--line); }
.compact-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; padding-block: 56px; }
.compact-feature { min-width: 0; }
.compact-feature .story-image { margin-bottom: 24px; }
.compact-feature .story-image img { width: 100%; height: 190px; object-fit: contain; }
[data-style="klein"] .compact-feature h2 { font-size: 30px; line-height: 1.12; }
.compact-feature .story-copy p { font-size: 16px; color: var(--secondary); margin-top: 16px; }
.specification-section { background: var(--light); padding-block: 88px; }
.product-information { display: grid; grid-template-columns: .8fr 1.2fr; gap: 88px; margin-top: 64px; }
.information-intro h3 { font-size: 28px; letter-spacing: -.025em; }
.information-intro > p { color: var(--secondary); max-width: 36ch; margin-top: 16px; }
.information-intro .text-link { font-size: 17px; margin-top: 16px; }
.information-intro > img { width: 100%; height: auto; margin-top: 36px; }
.information-details, .product-faq > div { min-width: 0; }
.information-details details, .product-faq details { border-bottom: 1px solid var(--line); }
.information-details summary, .product-faq summary { padding: 22px 0; font-weight: 600; font-size: 17px; cursor: pointer; }
.information-details details > p, .product-faq details > p { margin: 0 0 20px; }
.information-details details > .text-link, .product-faq details > .text-link { font-size: 16px; margin-bottom: 24px; }
.information-details details ul { padding-left: 20px; }
.information-details details li { margin-bottom: 12px; }
.information-details h4 { margin: 32px 0 12px; font-size: 15px; }
table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.6; text-align: left; }
th, td { padding: 15px 12px 15px 0; vertical-align: top; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
th { width: 39%; font-weight: 500; }
td { color: var(--secondary); }
td .detail-note { margin-bottom: 0; }
.additional-imagery { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding-bottom: 24px; }
.additional-imagery img { width: 100%; aspect-ratio: 1; object-fit: contain; }
.product-faq { display: grid; grid-template-columns: .8fr 1.2fr; gap: 88px; padding-block: 100px; }
.product-faq h2 { max-width: 12ch; }
.related-section { background: var(--light); padding-block: 80px 100px; }
.related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; margin-top: 48px; }
.related-grid article { min-width: 0; }
.related-grid img { width: 100%; aspect-ratio: 1; object-fit: contain; background: #f9f9f9; border-radius: 16px; }
.related-grid h3 { font-size: 25px; letter-spacing: -.025em; margin-top: 24px; }
.related-grid p { font-size: 15px; margin-block: 12px; }
.related-grid p span { display: block; margin: 0; }
.related-grid .text-link { font-size: 16px; }
.comparison-products .related-grid { grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 56px; }
.comparison-table { padding-block: 100px; }
.comparison-table .table-scroll { overflow-x: auto; margin-block: 32px; scrollbar-color: var(--blue) var(--light); }
.comparison-table table { min-width: 850px; }
.comparison-table th { width: 20%; }
.comparison-table thead { background: var(--light); }
.comparison-table th, .comparison-table td { padding: 18px; }
.comparison-table .button { margin-top: 24px; }
::selection { background: #dbe8e2; color: var(--ink); }
@media (max-width: 1000px) {
 .product-intro { gap: 36px; }
 .product-information, .product-faq { gap: 40px; }
 .comparison-products .related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
 .product-nav { padding-block: 5px; }
 .product-nav > div, .product-nav > div > div { gap: 14px; }
 .product-nav span { font-size: 13px; }
 .product-nav a { font-size: 12px; }
 .product-nav a:last-child { display: none; }
 .breadcrumb { padding-top: 20px; font-size: 12px; }
 .product-intro { grid-template-columns: 1fr; padding-block: 24px 60px; gap: 28px; }
 .gallery-thumbs a { min-width: 56px; width: 56px; height: 62px; }
 .gallery-caption { min-height: auto; }
 [data-style="klein"] .product-summary h1 { font-size: 58px; }
 .product-summary h1 span { display: inline-block; margin-left: 12px; font-size: 24px; }
 .product-promise { margin-top: 20px; font-size: 22px; }
 .product-overview, .specification-section, .related-section { padding-block: 60px; }
 .section-heading { display: block; }
 .section-heading > p { margin-top: 20px; font-size: 17px; }
 .feature-list { column-gap: 22px; margin-top: 32px; font-size: 14px; }
 .product-information, .product-faq { grid-template-columns: 1fr; gap: 32px; }
 .compact-features { grid-template-columns: 1fr; gap: 28px; padding-block: 36px; }
 .compact-feature { display: grid; grid-template-columns: 100px 1fr; gap: 20px; align-items: start; }
 .compact-feature .story-image { margin: 0; }
 .compact-feature .story-image img { height: 100px; }
 [data-style="klein"] .compact-feature h2 { font-size: 25px; }
 .compact-feature .story-copy p { font-size: 15px; margin-top: 12px; }
 .product-information { margin-top: 40px; }
 .information-intro > img { max-width: 420px; }
 .product-faq { padding-block: 60px; }
 .product-faq h2 { max-width: none; }
 .related-grid { grid-template-columns: 1fr; gap: 40px; margin-top: 32px; }
 .related-grid article { max-width: 430px; width: 100%; margin-inline: auto; }
 .related-grid h3 { margin-top: 18px; }
 .comparison-products .related-grid { grid-template-columns: 1fr; }
 .comparison-table { padding-block: 60px; }
 .information-details table { font-size: 13px; }
}

.catalogue-collection { padding-block: 8px 48px; }
.catalogue-collection .product-lineup { margin-top: 56px; }
.catalogue-collection .price-note { margin-inline: auto; max-width: var(--page-width); }
@media(max-width:767px) {
 .catalogue-collection { padding-bottom: 32px; }
 .catalogue-collection .product-lineup { margin-top: 36px; }
}
