/* The catalog keeps a short preview; the dialog contains the complete description. */
#product-grid{grid-auto-rows:auto}
#product-grid .product-card{align-self:stretch}
#product-grid .product-content{flex:1;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(18px,1fr) auto minmax(18px,1fr) auto auto}
#product-grid .product-title-row{grid-row:1;min-height:0;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px}
#product-grid .product-title-row h3{margin:0}
#product-grid .product-title-row .duration{flex:0 0 auto}
#product-grid .product-title-row[data-duration-layout="inline"] .duration{margin-left:auto}
#product-grid .product-title-row[data-duration-layout="below"] h3{flex-basis:100%}
#product-grid .product-title-row[data-duration-layout="below"] .duration{margin-left:0}
#product-grid .product-title-row[data-duration-layout="multiline"]{flex-wrap:nowrap;align-items:flex-end}
#product-grid .product-title-row[data-duration-layout="multiline"] h3{flex:1;min-width:0}
#product-grid .product-title-row[data-duration-layout="multiline"] .duration{margin-left:auto}
#product-grid .product-content>p{grid-row:3;margin:0}
#product-grid .product-price-row{grid-row:5;margin:0;min-height:0;padding:0 0 10px}
#product-grid .product-link{grid-row:6;margin-top:0}
#product-grid .product-content>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;line-height:1.6;height:4.8em;min-height:4.8em;max-height:4.8em;flex-shrink:0;white-space:normal}
#product-grid .product-card{cursor:pointer}
.product-detail-trigger{font:inherit;color:inherit;text-align:left;background:none;border:0;padding:0;cursor:pointer;line-height:inherit}
.product-detail-trigger:focus{outline:none}
.product-detail-trigger:focus-visible{text-decoration:underline;text-underline-offset:4px}
.product-detail-open{overflow:hidden}
.product-detail{position:fixed;inset:0;margin:auto;width:min(940px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 48px);padding:0;border:1px solid #e4e4e4;border-radius:24px;background:#fff;color:#171717;overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 100px #0003}
.product-detail::backdrop{background:rgb(20 20 20 / 48%);backdrop-filter:blur(5px)}
.product-detail-shell{position:relative;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);min-height:520px}
.product-detail-heading{display:flex;align-items:center;gap:16px}
.product-detail-heading-text{flex:1;min-width:0}
.product-detail-close{flex:0 0 44px;cursor:pointer}
.product-detail-art{background:#f1f1f1;min-width:0;border-right:1px solid #e7e7e7}
.product-detail-art .product-art{height:100%;min-height:360px;border-radius:0;display:flex;align-items:center;justify-content:center}
.product-detail-art .product-art img{position:relative;inset:auto;transform:scale(2.535);width:150px;height:150px;max-width:55%;object-fit:contain}
.product-detail-info{padding:32px 36px;min-width:0}
.product-detail-category{font-size:11px;line-height:1.6;letter-spacing:1.1px;color:#777;margin-bottom:12px}
.product-detail h2{font-size:30px;line-height:1.18;letter-spacing:-.6px;font-weight:650;overflow-wrap:anywhere;margin:0;outline:none}
.product-detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin:26px 0;padding:22px 0;border-block:1px solid #eee}
.product-detail-facts dt{font-size:11px;color:#858585;margin-bottom:5px}
.product-detail-facts dd{font-size:13px;line-height:1.5;margin:0;overflow-wrap:anywhere}
.product-detail-about h3{font-size:14px;font-weight:600;margin:0 0 14px}
.product-detail-description{font-size:13px;color:#606060;line-height:1.75}
.product-detail-description span{font-size:inherit}
.product-detail-purchase{margin-top:30px;padding-top:22px;border-top:1px solid #eee}
.product-detail-purchase>div{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:18px}
.product-detail-purchase>div>span{font-size:13px;font-weight:500;color:#444}
.product-detail-purchase strong{font-size:26px;line-height:1.3;letter-spacing:-.5px;text-align:right}
.product-detail-add{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:52px;padding:14px 18px;border:0;border-radius:12px;background:#191919;color:#fff;font:500 14px/1.5 Onest,sans-serif;cursor:pointer}
.product-detail-add:hover{background:#e1010d}
.product-detail-add span{font-size:24px;line-height:1}
.product-detail-note{margin-top:12px;font-size:11px;line-height:1.6;color:#858585}
.product-detail button:focus-visible{outline:2px solid #e1010d;outline-offset:4px}
.product-detail .product-detail-close:focus{outline:none}
.product-detail .product-detail-close:focus-visible{background:#ededed;border-color:#aaa}
@media(min-width:701px){
  .product-detail{overflow:hidden}
  .product-detail-shell{height:min(760px,calc(100dvh - 50px));min-height:0;grid-template-rows:minmax(0,1fr)}
  .product-detail-art{min-height:0;overflow:hidden}
  .product-detail-art .product-art{min-height:0}
  .product-detail-info{min-height:0;overflow-y:auto;overscroll-behavior:contain}
}
@media(max-width:700px){
  .product-detail{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:20px}
  .product-detail-shell{grid-template-columns:1fr;min-height:0}
  .product-detail-close{position:absolute;top:12px;right:12px;z-index:3}
  .product-detail-art{border-right:0;border-bottom:1px solid #e7e7e7}
  .product-detail-art .product-art{height:200px;min-height:200px}
  .product-detail-art .product-art img{width:100px;height:100px;transform:scale(1.8252)}
  .product-detail-info{padding:26px 24px}
  .product-detail h2{font-size:27px}
}
