.product-photo-button{display:block;width:100%;padding:0;border:0;background:#e7e1d7;cursor:zoom-in;line-height:0}
.product-photo-button .product-img{display:block}
.product-title-button{font:inherit;color:inherit;text-align:left;border:0;padding:0;background:none;cursor:pointer}
.product-photo-button:focus-visible,.product-title-button:focus-visible{outline:3px solid var(--green);outline-offset:-3px}
.product-preview{box-sizing:border-box;border:1px solid var(--border);border-radius:18px;padding:0;width:min(1020px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 48px);background:#fffefa;color:var(--text);box-shadow:0 24px 90px #102b2566;overflow:auto;overscroll-behavior:contain}
.product-preview::backdrop{background:#102b25b8;backdrop-filter:blur(4px)}
.preview-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr)}
.preview-photo{display:flex;align-items:center;justify-content:center;padding:22px;background:#f2efe8;min-width:0}
.preview-photo img{display:block;width:100%;height:min(74dvh,700px);object-fit:contain;object-position:center;border-radius:4px}
.preview-close{position:absolute;top:12px;right:12px;z-index:2;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--border);border-radius:50%;background:#fffefa;color:var(--green);font-size:30px;line-height:1;box-shadow:0 3px 12px #102b2512}
.preview-close:focus-visible,.preview-action button:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.preview-details{display:flex;flex-direction:column;padding:72px 30px 30px;min-width:0}
.preview-details h2{font:600 clamp(28px,3vw,38px)/1.15 'Playfair Display',serif;margin:12px 0 18px;overflow-wrap:anywhere}
.preview-description{font-size:15px;line-height:1.7;color:var(--muted);margin:0 0 20px;overflow-wrap:anywhere}
.preview-details .product-weight{font-size:13px}
.preview-action{display:flex;flex-direction:column;gap:18px;margin-top:auto;padding-top:28px}
.preview-action .product-price{font-size:25px}
.preview-action .primary-btn{width:100%;min-height:48px;font-size:14px}
.preview-action .primary-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
@media(max-width:650px){
  .product-preview{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:14px}
  .preview-layout{grid-template-columns:minmax(0,1fr)}
  .preview-photo{padding:18px 16px 12px}
  .preview-photo img{height:min(46dvh,440px)}
  .preview-details{padding:22px 20px 20px}
  .preview-details h2{font-size:28px;margin:9px 0 12px}
  .preview-description{font-size:13px;line-height:1.6;margin-bottom:12px}
  .preview-action{flex-direction:row;align-items:center;gap:14px;padding-top:18px}
  .preview-action .product-price{font-size:21px}
  .preview-action .primary-btn{width:auto;flex:1;padding:12px;font-size:13px;gap:8px}
}
