.product-main{max-width:1280px;margin:0 auto;padding:55px 40px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;align-items:start}
.product-photo{min-width:0}
.product-photo a{display:block;border-radius:14px;overflow:hidden;background:#ece8e0}
.product-photo img{display:block;width:100%;height:auto}
.product-photo p{font-size:11px;margin:12px 0;color:#617365}
.product-info h1{font-size:clamp(26px,3vw,36px);line-height:1.5;letter-spacing:0;margin:16px 0}
.product-description{font-size:14px;color:#617365;line-height:1.9}
.product-price{background:#eaf0e5;padding:18px 22px;border-radius:10px;margin:24px 0}
.product-price span{display:block;font-size:11px;color:#617365}
.product-price strong{display:block;font-size:21px;font-weight:600;margin-top:7px}
.product-info h2{font-size:16px;margin:24px 0 14px}
.product-specs{margin:0}
.product-specs>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border);padding:13px 0;line-height:1.8;font-size:12px}
.product-specs dt{color:#617365}.product-specs dd{margin:0;text-align:right;font-weight:500}
.product-note{font-size:12px;color:var(--green);margin-top:22px}
@media(max-width:900px){.product-main{margin:0 auto;padding:35px 24px;gap:28px;grid-template-columns:1fr 1fr}}
@media(max-width:650px){.product-main{grid-template-columns:1fr;padding-top:28px}}

.product-sale{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:10px}
.product-old-price{color:#c43d38;font-size:19px;text-decoration-color:#c43d38;text-decoration-thickness:2px}
.product-sale strong{margin:0;font-size:32px;line-height:1.3;color:var(--green);font-weight:700}
.product-sale .product-sale-badge{display:inline-block;padding:5px 10px;border-radius:6px;background:#fff;color:#b33c32;font-size:12px;font-weight:600}
.photo-dialog{width:min(900px,90vw);max-width:90vw;max-height:88vh;max-height:88dvh;padding:0;border:1px solid #ffffff70;border-radius:22px;background:#f6f7f3;color:var(--ink);box-shadow:0 30px 100px #10251b66;overflow:auto}
.photo-dialog::backdrop{background:#12271fc2;backdrop-filter:blur(6px)}
.photo-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;background:#fff}
.photo-viewer-header h2{margin:0;font-size:16px;font-weight:600}
.photo-close{width:40px;height:40px;border:0;border-radius:50%;background:#edf2eb;color:var(--green);font-size:28px;line-height:1}
.photo-viewport{height:min(55vh,520px);height:min(55dvh,520px);margin:16px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:12px;background:#ebe8e1;touch-action:none;cursor:zoom-in}
.photo-viewport img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;user-select:none;transform-origin:center;flex-shrink:0}
.photo-viewport.is-zoomed{cursor:grab}.photo-viewport.is-zoomed:active{cursor:grabbing}
.photo-toolbar{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:0 16px}
.photo-toolbar button{min-width:42px;min-height:42px;padding:8px 14px;border:1px solid #d3ded4;border-radius:10px;background:white;color:var(--green);font-size:16px}
.photo-toolbar button:disabled{opacity:.4;cursor:default}.photo-toolbar output{min-width:55px;text-align:center;font-size:13px}
.photo-viewer-hint{padding:0 18px;margin:14px 0 18px;text-align:center;font-size:11px;line-height:1.8;color:#617365}
@media(max-width:650px){.photo-dialog{width:92vw;max-width:92vw;border-radius:16px}.photo-viewer-header{padding:12px 16px}.photo-viewport{margin:10px;height:46vh;height:46dvh}.photo-viewer-hint{font-size:10px}}
.customer-thumbnails{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.customer-thumbnails button{width:112px;padding:4px;border:2px solid transparent;border-radius:10px;background:#e8eee6}
.customer-thumbnails button[aria-pressed=true]{border-color:var(--green);background:white}
.customer-thumbnails img{width:100%;height:72px;object-fit:cover;border-radius:5px}

.photo-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin:14px 0}
.photo-pagination[hidden]{display:none}
.photo-pagination button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #c5d2c7;border-radius:50%;background:#f6f7f3;color:#203e32;font-size:32px;line-height:1;cursor:pointer}
.photo-pagination button:focus-visible{outline:3px solid #bcce83;outline-offset:3px}
.photo-pagination span{min-width:54px;text-align:center;color:#526e5b;font-size:13px;font-variant-numeric:tabular-nums}
.photo-modal-pagination{margin:0 16px 16px}
.product-variants{margin:20px 0}.product-variants>p{font-size:13px;color:#526e5b;margin:0 0 10px}
.product-variants .variant-link{display:inline-flex;align-items:center;gap:8px;margin:4px 6px 4px 0;padding:8px 12px;border:1px solid #bdcdbb;border-radius:24px;background:#f7faf3;color:#345e4f;font-size:12px;line-height:1.7;text-decoration:none}
.product-variants .variant-link[aria-current]{background:#345e4f;border-color:#345e4f;color:white}
.variant-swatch{display:inline-block;flex-shrink:0;width:20px;height:20px;border:1px solid #0003;border-radius:50%;box-shadow:0 0 0 2px #ffffff80}
.product-variants .variant-link:focus-visible{outline:3px solid #bcce83;outline-offset:3px}
.showroom-card>.product-variants{padding:0 20px 16px;margin:0}.product-color-note{font-size:12px;line-height:1.8;color:#617365}
.showroom-card.showroom-product{display:flex;flex-direction:column}.showroom-card .product-card-link{height:auto;flex:1}.showroom-card>.product-variants{flex-shrink:0}
