/* Retail product detail only. Shared account and auction layouts are unaffected. */
.product-detail-main { width: min(1380px,calc(100% - 3rem)); margin: 1.75rem auto 3.5rem; }
.product-page { gap: 2rem; }
.product-page > nav { font-size: .85rem; color: #526175; }
.product-layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(360px,1fr); align-items: start; gap: 1.5rem 2rem; }
.product-primary { display: contents; }
.product-media { grid-column: 1; grid-row: 1; padding: 1.5rem; border-color: #e4e9ee; border-radius: 1.1rem; min-width: 0; }
.product-main-image { min-height: 420px; }
.product-main-image img { max-height: 580px; }
.product-thumbnails { max-height: 580px; overflow-y: auto; }
.product-thumbnail { min-height: 64px; }
.product-zoom-trigger { display: grid; gap: 1rem; width: 100%; padding: 0; border: 0; background: #fff; cursor: zoom-in; color: #526175; font: inherit; }
.product-zoom-trigger span { font-size: .8rem; text-align: right; }
.product-buybox { grid-column: 2; grid-row: 1 / span 2; position: sticky; top: 1rem; max-height: calc(100dvh - 2rem); overflow-y: auto; padding: clamp(1.4rem,2.4vw,2.25rem); border: 1px solid #dde5ed; border-radius: 1.1rem; box-shadow: 0 8px 28px #17203306; scrollbar-width: thin; }
.product-buybox h1 { font-size: clamp(1.45rem,2.2vw,2rem); line-height: 1.25; letter-spacing: -.035em; overflow-wrap: anywhere; }
.product-brand { font-size: .8rem; letter-spacing: .13em; color: #176b68; }
.product-identifiers { font-size: .78rem; overflow-wrap: anywhere; }
.product-tags { display: flex; gap: .4rem; flex-wrap: wrap; margin: .8rem 0; }
.product-tags a { padding: .2rem .55rem; background: #f1f5f8; color: #34465a; border-radius: .3rem; font-size: .75rem; text-decoration: none; }
.product-buybox .condition-badge { display: inline-block; padding: .3rem .65rem; color: #17604b; background: #eaf5ef; border-radius: .35rem; font-size: .8rem; }
.product-price-block { display: flex; align-items: baseline; gap: .6rem; margin-top: 1.3rem; }
.product-price-block .product-price { margin: 0; font-size: clamp(2rem,3vw,2.65rem); line-height: 1.25; letter-spacing: -.04em; }
.product-price-block > span { font-size: .8rem; color: #526175; }
.product-at-a-glance { display: grid; gap: .55rem; margin: 1rem 0; padding: 1rem 0; border-block: 1px solid #e4e9ee; font-size: .85rem; }
.product-at-a-glance div { display: flex; justify-content: space-between; gap: 1rem; }
.product-at-a-glance dt { color: #526175; }
.product-at-a-glance dd { margin: 0; text-align: right; font-weight: 600; }
.product-buybox .in-stock { margin: 1rem 0; font-size: .85rem; }
.product-purchase .add-cart { align-items: end; gap: .75rem; }
.product-purchase .add-cart button { min-height: 48px; border-radius: .5rem; background: #155957; border-color: #155957; font-size: 1rem; }
.product-purchase .add-cart input { min-height: 48px; }
.product-buybox .save-product-link,.product-buybox .save-product button { border-color: #d8e0ea; min-height: 44px; font-size: .85rem; border-radius: .5rem; }
.product-payment-options { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid #e4e9ee; }
.product-payment-options h2 { font-size: .85rem; margin: 0 0 .6rem; }
.product-payment-options p,.product-delivery-note p { color: #526175; font-size: .8rem; margin: .35rem 0 0; }
.payment-methods { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; padding: 0; margin: 0; }
.payment-methods li { border: 1px solid #d8e0ea; background: #fff; padding: .3rem .6rem; border-radius: .3rem; font-size: .8rem; font-weight: 700; }
.product-delivery-note { padding: 1rem; margin-top: 1rem; border-radius: .5rem; background: #f3f7f8; }
.product-delivery-note strong { font-size: .85rem; }
.product-information { grid-column: 1; grid-row: 2; display: grid; grid-template-columns: minmax(0,1fr); gap: 1rem; min-width: 0; }
.product-section-links { display: flex; flex-wrap: wrap; gap: 1.25rem; padding: .6rem 0 1rem; border-bottom: 1px solid #d8e0ea; }
.product-section-links a { font-size: .85rem; font-weight: 600; text-decoration: none; color: #34465a; }
.product-content-card { padding: clamp(1.25rem,2.6vw,2rem); border-color: #e4e9ee; border-radius: .85rem; scroll-margin-top: 1rem; }
.product-eyebrow { color: #176b68; font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; margin: 0 0 .5rem; }
.product-content-card h2,.product-recommendations h2 { font-size: 1.35rem; letter-spacing: -.02em; }
.product-content-card h3 { font-size: 1rem; }
.product-description,.product-policy-body { line-height: 1.85; color: #34465a; font-size: .95rem; overflow-wrap: anywhere; }
.product-disclosure summary { cursor: pointer; font-size: 1.1rem; font-weight: 700; }
.product-disclosure[open] summary { margin-bottom: 1.25rem; }
.specification-list div { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.25fr); gap: 1rem; padding: .85rem .6rem; border-bottom: 1px solid #e4e9ee; }
.specification-list div:nth-child(odd) { background: #f6f8fa; }
.specification-list dt { color: #526175; }.specification-list dd { margin: 0; overflow-wrap: anywhere; }
.included-coverage { background: #f3f7f8; padding: 1rem; border-radius: .5rem; }.included-coverage p { margin: .3rem 0 0; }
.product-recommendations { padding: clamp(1.25rem,2.6vw,2rem); border-color: #e4e9ee; border-radius: .85rem; min-width: 0; }
/* Compact recommendation rows: a short list must not stretch into giant cards. */
.product-recommendations .product-grid { display: grid; grid-auto-flow: column; grid-auto-columns: 180px; grid-template-columns: none; gap: 16px; overflow-x: auto; padding-bottom: 12px; align-items: start; }
.product-recommendations .product-card { min-width: 0; padding: 10px; }
.product-recommendations .product-card img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; object-position: center; }
.product-recommendations .product-card h3 { font-size: .9rem; line-height: 1.45; overflow-wrap: anywhere; }
.product-recommendations .product-card p { font-size: .8rem; margin: .5rem 0; }
@media(max-width:600px) { .product-recommendations .product-grid { grid-auto-columns: 156px; gap: 12px; } }
.product-image-dialog { max-width: min(1100px,94vw); width: 94vw; max-height: 94dvh; border: 0; border-radius: .8rem; padding: 1rem; }
.product-image-dialog::backdrop { background: #101827cc; }.product-image-dialog > button { display: block; margin-left: auto; }.product-image-dialog img { display: block; width: 100%; height: min(74dvh,800px); object-fit: contain; margin-top: 1rem; }
.product-page :focus-visible,.product-image-dialog :focus-visible { outline: 3px solid #197b92; outline-offset: 3px; }
@media(max-width:1000px) {
 .product-layout { grid-template-columns: minmax(0,1fr) minmax(320px,1fr); gap: 1rem; }
 .product-media { grid-template-columns: minmax(0,1fr); padding: 1rem; }.product-thumbnails { grid-row: 2; display: flex; overflow-x: auto; }.product-thumbnail { flex: 0 0 64px; }
 .product-main-image { min-height: 300px; }.product-buybox { padding: 1.25rem; }
}
@media(max-width:760px) {
 .product-detail-main { width: calc(100% - 1.5rem); margin-top: 1rem; }
 .product-page { gap: 1.25rem; }.product-layout { display: flex; flex-direction: column; gap: 1rem; }
 .product-media,.product-buybox,.product-information { width: 100%; }.product-buybox { position: static; max-height: none; overflow: visible; }.product-main-image img { max-height: 420px; }
 .product-purchase .add-cart { position: static; padding: 0; background: transparent; box-shadow: none; }
 .product-price-block .product-price { font-size: 2rem; }.product-at-a-glance div { flex-wrap: wrap; }.product-at-a-glance dd { text-align: left; }
 .product-content-card { padding: 1.25rem; }.product-recommendations .account-heading { align-items: start; }
}

/* Softer slate surfaces reduce glare while preserving product-photo colors. */
body.product-storefront { background: #becbd3; }
.product-buybox,.product-content-card,.product-recommendations { background: #e3e9ed; border-color: #aebec9; }
.product-media { background: #d6e0e6; border-color: #aebec9; }
.product-main-image { background: #fff; border-radius: .6rem; }
.product-thumbnail { background: #f3f6f8; }
.product-tags a,.product-delivery-note,.included-coverage { background: #cedde1; }
.product-at-a-glance,.product-payment-options,.product-section-links { border-color: #aebec9; }
.specification-list div:nth-child(odd) { background: #d4dfe6; }
.product-back-top { justify-self: start; display: inline-flex; min-height: 44px; align-items: center; font-size: .875rem; font-weight: 600; color: #20475b; text-underline-offset: .2em; }
.description-collapsed { overflow: hidden; }
.description-toggle { display: inline-flex; align-items: center; min-height: 44px; margin-top: .8rem; padding: .5rem .85rem; border: 1px solid #8197a6; border-radius: .4rem; background: #d4dfe6; color: #20475b; font: inherit; font-size: .875rem; font-weight: 700; cursor: pointer; }
.description-toggle[hidden] { display: none; }
@media print { .description-collapsed { max-height: none !important; overflow: visible; }.description-toggle,.product-back-top { display: none; } }

/* Compact accents: payment labels and protection choices, not large bright surfaces. */
.payment-methods { align-items: center; gap: .4rem; }
.payment-methods li { display: flex; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 0; background: transparent; }
.payment-methods img { display: block; width: 48px; height: 30px; object-fit: contain; }
.payment-methods [data-payment-method="bank"] { min-height: 30px; padding: .2rem .45rem; font-size: .75rem; border: 1px solid #72a991; border-radius: .35rem; color: #195444; background: #d8ede4; }
.product-page .warranty-options { padding: 1rem; border: 1px solid #aca0c6; border-radius: .65rem; background: #e5e0ed; }
.product-page .warranty-options legend { padding-inline: .4rem; color: #503b70; font-weight: 750; font-size: .9rem; }
.product-page .warranty-options > label { padding: .7rem; border: 1px solid #c2b7d3; border-radius: .45rem; background: #eeeaf3; }
.product-page .warranty-options > label:has(input:checked) { border-color: #72529c; background: #d9cce9; box-shadow: inset 3px 0 #72529c; }
.product-page .warranty-options input { accent-color: #72529c; }
.product-page .warranty-options small { color: #544665; }
.product-page .warranty-options a { color: #503b70; }
.included-coverage { border-left: 3px solid #438e7e; }
