/* The product photograph and its editorial reverse share a single 3D plane. */
.product-dialog{width:min(650px,calc(100% - 40px));height:min(820px,calc(100dvh - 48px));background:transparent;overflow:visible;perspective:1800px;box-shadow:none;border-radius:5px}
.product-dialog[open]{animation:none}
.product-dialog::backdrop{background:#211a12a8;backdrop-filter:blur(5px)}
.product-rotor{position:relative;width:100%;height:100%;transform-style:preserve-3d;transform:rotateY(0deg);transition:transform 1.15s cubic-bezier(.22,.65,.16,1);will-change:transform}
.product-dialog.is-turned .product-rotor{transform:rotateY(-180deg)}
.product-front,.product-reverse{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:5px;box-shadow:0 20px 80px #0004;overflow:hidden}
.product-front{transform:rotateY(0deg);background:#e8e1d3}
.product-front img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 45%}
.product-reverse{transform:rotateY(180deg);background:var(--paper);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;display:flex;flex-direction:column}
.product-reverse .detail-top{position:sticky;top:0;flex:none;padding:15px 24px}
.product-reverse .modal-grid{display:block;flex:1;min-height:0}
.product-reverse .detail-photo{display:none}
.product-reverse .modal-copy{padding:30px 38px;min-height:100%}
.product-reverse .modal-copy h2{font-size:clamp(36px,5vw,52px)}
.product-reverse .detail-intro{font:italic 23px/1.4 Georgia,serif}
.product-reverse .detail-location{margin-top:20px;padding-top:16px}
.product-reverse .detail-rule{margin:22px 0}
.product-reverse .detail-bottom{position:sticky;bottom:0;flex:none;margin-top:auto;padding:12px 24px}
@media(max-width:760px){.product-dialog{width:calc(100% - 28px);height:calc(100dvh - 36px);max-height:none;inset:0;margin:auto;border-radius:5px}.product-reverse .detail-top{padding:12px 20px}.product-reverse .modal-copy{padding:24px}.product-reverse .modal-copy h2{font-size:41px}.product-reverse .detail-intro{font-size:22px}.product-reverse .modal-body{font-size:14px;line-height:1.75}.product-reverse .detail-location{margin-top:18px;padding-top:14px}.product-reverse .detail-primary{margin-top:20px}.product-reverse .detail-bottom{padding:12px 20px}.product-reverse .detail-next-name{font-size:14px}}
@media(prefers-reduced-motion:reduce){.product-rotor{transition:none}}
