/* LaminatLux material sheet: photography, readable facts and a distinct estimate. */
body:has(#product-dialog[open]){overflow:hidden}
#product-dialog{width:min(1340px,calc(100% - 56px));height:calc(100svh - 56px);max-height:980px;max-width:none;padding:0;margin:auto;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line-strong) var(--surface);overscroll-behavior:contain}
#product-dialog::backdrop{background:var(--scrim);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
#product-dialog[open]{animation:product-sheet-in 280ms var(--ease-lux)}
#product-dialog .product-dialog-top{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:12px 28px 12px 36px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 93%,transparent);backdrop-filter:blur(16px)}
.product-collection-link{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:500;line-height:1.5}
.product-collection-link>span{font-size:12px;color:var(--muted);font-weight:400}
#product-dialog .product-dialog-top .dialog-close{position:static;width:44px;height:44px;padding:0;border:1px solid var(--line);background:var(--canvas);color:var(--ink)}
#product-dialog .dialog-close svg{width:19px;height:19px}
#product-dialog .product-detail{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);gap:42px;padding:28px 36px 38px;align-items:start}
#product-dialog .product-gallery{position:sticky;top:100px;padding:0;min-width:0;background:transparent}
.product-main-stage{overflow:hidden;border-radius:12px;background:var(--surface-soft);height:clamp(320px,calc(100svh - 300px),620px)}
#product-dialog .main-product-image{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center;aspect-ratio:auto;border-radius:0;filter:none}
#product-dialog .gallery-counter{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 2px 12px;margin:0;font-size:11px;color:var(--muted);line-height:1.5}
#product-dialog #gallery-counter{font-size:11px;letter-spacing:.08em;font-variant-numeric:tabular-nums;white-space:nowrap}
#product-dialog .gallery-thumbs{display:flex;gap:10px;overflow-x:auto;padding:3px 2px 6px;margin:0;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}
#product-dialog .gallery-thumbs button{flex:0 0 68px;width:68px;height:68px;padding:3px;border:1px solid transparent;border-radius:8px;background:transparent;outline:none;outline-offset:0;opacity:.65;transition:opacity 260ms ease,border-color 260ms ease}
#product-dialog .gallery-thumbs button[aria-pressed=true]{opacity:1;border-color:var(--ink)}
#product-dialog .gallery-thumbs button:focus-visible{outline:2px solid var(--ink);outline-offset:-3px;border-color:transparent;opacity:1}
#product-dialog .gallery-thumbs button img{width:100%;height:100%;object-fit:cover;border-radius:4px}
#product-dialog .product-info{padding:3px 0 0;min-width:0}
.detail-identity{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;line-height:1.5;color:var(--muted)}
.detail-identity>span:first-child{font-weight:500;color:var(--muted)}
.detail-identity>span:last-child{font-size:11px;font-variant-numeric:tabular-nums}
#product-dialog .product-info h2{font-size:clamp(38px,3.5vw,54px);font-weight:400;line-height:1.12;letter-spacing:-.045em;margin:14px 0 23px;overflow-wrap:anywhere}
.product-price-row{display:flex;align-items:center;justify-content:space-between;gap:24px}
#product-dialog .detail-price{font-size:29px;line-height:1.2;letter-spacing:-.035em;font-variant-numeric:tabular-nums;margin:0;white-space:nowrap}
#product-dialog .detail-price small{font-size:13px;letter-spacing:0;color:var(--muted);font-weight:400}
#product-dialog .detail-price-request{font-size:23px;white-space:normal}
.product-pack{text-align:right;line-height:1.4;white-space:nowrap}
.product-pack>span{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}
.product-pack>strong{font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}
.product-key-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 28px;padding:19px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}
.product-key-facts>div{min-width:0}
.product-key-facts>div:first-child{text-align:left}
.product-key-facts>div:last-child{text-align:right}
.product-key-facts>div:only-child{text-align:left}
.product-key-facts[data-count="1"]{grid-template-columns:minmax(0,1fr)}
.product-key-facts[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.product-key-facts dt{font-size:11px;color:var(--muted);margin-bottom:5px;line-height:1.5}
.product-key-facts dd{margin:0;font-size:14px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}
#product-dialog .detail-actions{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;margin:20px 0 28px}
#product-dialog .detail-actions .pill{min-height:52px;width:100%;font-size:13px;padding:12px 16px;gap:10px}
#product-dialog .detail-actions .pill svg{width:19px;height:19px;flex-shrink:0}
#product-dialog .detail-actions .pill.bordered{border-color:var(--line-strong);background:transparent}
#product-dialog .detail-actions .pill[aria-pressed=true]{background:var(--surface-soft);border-color:var(--action)}
#product-dialog .detail-actions .pill[aria-pressed=true] svg{fill:var(--action);stroke:var(--action)}
#product-dialog .product-information,#product-dialog .description-details{border-top:1px solid var(--line);padding:0;font-size:14px}
#product-dialog .description-details{margin:0 0 24px;border-bottom:1px solid var(--line)}
#product-dialog .product-key-facts:has(+.description-details){margin-bottom:0}
#product-dialog .product-key-facts+.description-details{border-top:0}
#product-dialog .product-price-row+.description-details{margin-top:24px}
#product-dialog .product-information:last-child{border-bottom:1px solid var(--line)}
#product-dialog details>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;min-height:60px;font-size:14px;font-weight:500;line-height:1.5}
#product-dialog details>summary::-webkit-details-marker{display:none}
.detail-plus{width:13px;height:13px;position:relative;flex-shrink:0}
.detail-plus:before,.detail-plus:after{content:'';position:absolute;left:0;top:6px;width:13px;height:1px;background:currentColor;transition:transform 220ms ease}
.detail-plus:after{transform:rotate(90deg)}
details[open]>summary .detail-plus:after{transform:rotate(0deg)}
#product-dialog .spec-table{margin:0 0 18px}
#product-dialog .spec-table>div{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:9px 0;font-size:12px;border:0;line-height:1.7}
#product-dialog .spec-table dt{color:var(--muted)}
#product-dialog .spec-table dd{margin:0;text-align:right;font-weight:400}
#product-dialog .description-details>p{margin:0 0 24px;font-size:13px;line-height:1.8;white-space:pre-line;color:var(--muted)}
@media(hover:hover) and (pointer:fine){#product-dialog .gallery-thumbs button:hover{opacity:1}#product-dialog .product-collection-link:hover{text-decoration:underline;text-underline-offset:4px}}
@media(max-width:1100px){#product-dialog .product-detail{gap:28px;padding:24px}.product-dialog-top{padding-left:24px}.product-price-row{gap:15px}#product-dialog .detail-price{font-size:26px}#product-dialog .detail-actions .pill{font-size:12px;padding:12px}.product-pack>strong{font-size:12px}}
@media(max-width:950px){#product-dialog{width:calc(100% - 32px);height:calc(100svh - 32px)}#product-dialog .product-detail{grid-template-columns:minmax(0,1fr);gap:28px;padding:24px 32px 32px}#product-dialog .product-gallery{position:static;max-width:680px;width:100%;margin:0 auto}.product-main-stage{height:clamp(300px,55svh,540px)}#product-dialog .product-info{max-width:680px;width:100%;margin:0 auto}#product-dialog .product-info h2{font-size:44px}}
@media(max-width:600px){
  #product-dialog{width:calc(100% - 16px);height:calc(100svh - 16px);border-radius:14px;max-height:none}
  #product-dialog .product-dialog-top{min-height:64px;padding:9px 12px 9px 20px}
  .product-collection-link{font-size:13px;gap:7px}.product-collection-link>span{font-size:11px}
  #product-dialog .product-detail{padding:16px 18px 28px;gap:25px}
  .product-main-stage{height:clamp(260px,42svh,360px);border-radius:9px}
  #product-dialog .gallery-counter{font-size:10px;padding-top:11px}
  #product-dialog .gallery-thumbs{gap:8px}#product-dialog .gallery-thumbs button{flex-basis:56px;width:56px;height:56px}
  .detail-identity{font-size:12px}.detail-identity>span:last-child{font-size:10px}
  #product-dialog .product-info h2{font-size:38px;margin:12px 0 20px}
  #product-dialog .detail-price{font-size:27px}#product-dialog .detail-price small{font-size:12px}
  .product-pack>span{font-size:10px}.product-pack>strong{font-size:12px}
  .product-key-facts{margin:21px 0 24px;padding:16px 0;gap:12px}.product-key-facts dt{font-size:11px}.product-key-facts dd{font-size:13px}
  #product-dialog .detail-actions{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:16px;margin-bottom:22px}
  #product-dialog .detail-actions .pill{min-height:50px;font-size:13px}
  #product-dialog details>summary{font-size:14px;min-height:58px}
  #product-dialog .spec-table>div{font-size:12px;gap:14px}
}
@media(max-width:360px){#product-dialog .product-detail{padding-left:14px;padding-right:14px}.product-price-row{gap:10px}#product-dialog .detail-price{font-size:25px}.product-pack>strong{font-size:11px}.product-key-facts{gap:10px}.product-key-facts dd{font-size:12px}}
@keyframes product-sheet-in{from{opacity:0;transform:translateY(14px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){#product-dialog[open]{animation:none}#product-dialog .gallery-thumbs button,.detail-plus:after{transition:none}}
