.product-modal-open{overflow:hidden}.product-dialog{width:min(1080px,calc(100% - 32px));max-width:1080px;max-height:90dvh;padding:32px;border:1px solid #ddd;border-radius:20px;background:#fff;color:#171717}.product-dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.product-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px}.product-heading p{font-size:12px;font-weight:700;letter-spacing:.12em;color:#777;margin:0 0 8px}.product-heading h2{font-size:36px;line-height:1.1;margin:0}.product-close{flex-shrink:0;padding:10px 14px}.product-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px}.product-gallery{min-width:0}.product-photo{position:relative;background:#f7f7f5;border-radius:16px;overflow:hidden}.product-photo>img{display:block;width:100%;height:390px;object-fit:contain;mix-blend-mode:multiply}.product-photo button{position:absolute;top:45%;border:1px solid #ddd;border-radius:50%;width:40px;height:40px;background:#fff;color:#171717;font-size:28px;cursor:pointer}.gallery-prev{left:12px}.gallery-next{right:12px}.product-thumbs{display:flex;gap:10px;margin-top:14px}.product-thumbs button{width:76px;height:76px;border:2px solid #ddd;border-radius:10px;background:#fff;padding:4px;cursor:pointer}.product-thumbs button[aria-pressed=true]{border-color:#ff7800}.product-thumbs img{width:100%;height:100%;object-fit:contain}.product-counter{font-size:13px;color:#666;margin:12px 0}.product-description h3{font-size:22px;margin:0 0 14px}.product-description>p{font-size:16px;line-height:1.65;margin:0 0 24px}.product-specs{margin:0 0 24px}.product-specs>div{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:12px 0;border-bottom:1px solid #e5e5e5;font-size:14px;line-height:1.5}.product-specs dt{color:#666}.product-specs dd{font-weight:700;margin:0}.product-description .product-note{font-size:12px;color:#777}.product-source{font-size:13px;text-decoration:underline}.product-rent{display:block;width:100%;margin-top:24px}@media(max-width:700px){.product-dialog{padding:20px;max-height:94dvh}.product-layout{grid-template-columns:1fr;gap:24px}.product-heading{margin-bottom:20px}.product-heading h2{font-size:26px}.product-heading p{font-size:10px}.product-photo>img{height:270px}.product-specs>div{gap:10px}.product-close{min-width:40px;padding:8px}}
