.pr-review{color:var(--olp-fg,#f1eee6);background:var(--olp-bg,#080808)}.pr-review *{box-sizing:border-box}.pr-notice{text-align:center;padding:12px 20px;border-bottom:1px solid #37342f;font:11px var(--olp-font-mono,monospace);letter-spacing:.05em;color:#c5bfb4}.pr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px}.pr-tile{color:inherit;text-decoration:none;min-width:0}.pr-image{background:#191917;height:360px;padding:24px;display:grid;place-items:center;margin-bottom:20px}.pr-image img{height:100%;width:100%;object-fit:contain}.pr-tile h2{font-size:24px;margin:8px 0}.pr-tile p{margin:8px 0}.pr-layout{max-width:1440px;margin:auto;padding:48px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:64px}.pr-visual{min-width:0}.pr-controls{min-width:0}.pr-controls h1{font-size:clamp(36px,4vw,64px);line-height:1.05;margin:20px 0}.pr-review button{cursor:pointer;border:1px solid #57534c;color:inherit;background:transparent;padding:14px;font:inherit;min-height:44px}.pr-review button:hover{border-color:#f000c0}.pr-review button[aria-pressed=true]{border:2px solid #ee00bf}.pr-gallery{height:570px;margin:24px 0;background:#1d1d1a;display:grid;place-items:center;overflow:hidden}.pr-gallery #pr-main-image{border:0;padding:24px;width:100%;height:100%;min-height:0}.pr-gallery img,.pr-gallery svg{width:100%;height:100%;max-height:520px;object-fit:contain}.pr-gallery.pr-room{background:linear-gradient(#dbd6cc 82%,#969083 82%);padding:60px 70px 90px}.pr-thumbs{display:flex;gap:8px;overflow-x:auto;padding:2px}.pr-thumbs button{min-width:78px;max-width:110px;padding:6px;font-size:12px}.pr-thumbs img{width:60px;height:64px;object-fit:contain}.pr-caption,.pr-review small{color:#b3ada3;font-size:12px}.pr-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pr-choices button{padding:10px 6px;font-size:13px}.pr-mini{height:95px;display:block;padding:10px}.pr-mini svg{width:100%;height:100%}.pr-review fieldset{border:0;border-top:1px solid #393630;padding:24px 0;margin:26px 0 0}.pr-review legend{padding-right:12px;font-size:13px;text-transform:uppercase;letter-spacing:.1em}.pr-swatches{display:flex;flex-wrap:wrap;gap:8px}.pr-swatches button{font-size:12px;padding:8px}.pr-swatch{width:28px;height:28px;display:block;margin:0 auto 8px;border:1px solid #888}.pr-purchase{border-top:1px solid #464137;margin-top:32px;padding-top:24px}.pr-total{display:flex;justify-content:space-between;align-items:center;font-size:24px;margin-bottom:24px}.pr-purchase>button{width:100%;margin:6px 0}.pr-review .pr-primary{border-color:#f000c0;color:#f1eee6}.pr-review details{margin:20px 0}.pr-review summary{cursor:pointer;min-height:32px}.pr-review p{line-height:1.6}.pr-review #pr-profile svg{width:100%;max-height:240px}.pr-review dialog{background:#111;color:#f1eee6;border:1px solid #666;max-width:850px;width:calc(100% - 32px);max-height:90dvh;padding:24px}.pr-review dialog::backdrop{background:#000c}.pr-review #pr-zoom-content{height:70vh;overflow:auto}.pr-review #pr-zoom-content img,.pr-review #pr-zoom-content svg{max-width:100%;height:100%;object-fit:contain}.pr-review model-viewer{width:100%;height:55vh;min-height:300px;background:#d7d2c6}.pr-cart-line{display:grid;grid-template-columns:110px 1fr;gap:18px;border-top:1px solid #555;padding:20px 0}.pr-cart-line img{width:100%;max-height:170px;object-fit:contain}.pr-review #pr-copy{width:100%;padding:10px}.pr-review [hidden]{display:none!important}
@media(max-width:760px){.pr-layout{display:block;padding:24px 20px}.pr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.pr-image{height:240px;padding:10px}.pr-tile h2{font-size:20px}.pr-gallery{height:440px}.pr-gallery img,.pr-gallery svg{max-height:390px}.pr-gallery.pr-room{padding:55px 45px 80px}.pr-controls{margin-top:36px}.pr-controls h1{font-size:40px}.pr-notice{font-size:10px}.pr-mini{height:75px}.pr-review dialog{padding:16px}}
@media(max-width:360px){.pr-layout{padding:20px 14px}.pr-gallery{height:365px}.pr-image{height:190px}.pr-mini{height:60px}.pr-choices button{font-size:11px}.pr-total{font-size:21px}}
.pr-review #pr-zoom-content.pr-zoomed img,.pr-review #pr-zoom-content.pr-zoomed svg{width:200%;height:auto;max-width:none;max-height:none;}
.pr-review button:disabled{opacity:.4;cursor:not-allowed}.pr-review button:disabled:hover{border-color:#57534c}

/* Explicit grid tracks prevent intrinsic photo height from expanding the reserved image area. */
.pr-grid{align-items:start}.pr-image{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.pr-image img{display:block;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain}.pr-gallery{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.pr-gallery #pr-main-image{min-width:0;display:grid;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.pr-gallery img,.pr-gallery svg{display:block;min-width:0;min-height:0;max-width:100%;max-height:100%}.pr-review model-viewer[hidden]{display:none}.pr-review #pr-model-status:empty{display:none}

/* Direct wall action stays inside the initial gallery, never fixed over the page. */
.pr-gallery{position:relative}.pr-gallery-actions{position:absolute;bottom:12px;left:12px;right:12px;display:flex;gap:8px;justify-content:center;z-index:1}.pr-review .pr-gallery-actions button{background:#111e;font-size:12px;padding:10px 14px}.pr-gallery #pr-main-image{padding-bottom:70px}.pr-mini img{width:100%;height:100%;object-fit:contain}.pr-review #pr-profile img{width:100%;max-height:260px;object-fit:contain}

/* Scrollable zoom surface: native touch pan and mouse drag; controls stay outside. */
.pr-review #pr-zoom-content{overflow:auto;display:block;overscroll-behavior:contain;touch-action:pan-x pan-y;user-select:none;-webkit-user-select:none}
.pr-review #pr-zoom-content.pr-zoomed{cursor:grab}.pr-review #pr-zoom-content.pr-dragging{cursor:grabbing}

/* Give dialog controls, artwork and help copy distinct breathing room. */
.pr-review dialog[open]{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-content:start}
.pr-review dialog>button{justify-self:start;padding:12px 18px;line-height:1.5}
.pr-review dialog>p{margin:0;line-height:1.65}
.pr-review #pr-model-host:empty{display:none}
.pr-review #pr-model-help{color:#b3ada3;font-size:13px;max-width:48ch}
.pr-review #pr-zoom[open]{grid-template-columns:auto minmax(0,1fr);column-gap:16px}
.pr-review #pr-zoom-content{grid-column:1 / -1;min-width:0}
@media(max-width:760px){.pr-review dialog[open]{gap:16px}.pr-review dialog>button{padding:12px 16px}.pr-review #pr-zoom[open]{column-gap:12px}}

/* Small visible icon, full 44px keyboard/touch target. Native AR controls are OS-owned. */
.pr-review dialog>[data-close]{width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;font-size:22px;line-height:1;border-color:transparent;justify-self:end;border-radius:50%}
.pr-review dialog>[data-close]:hover{border-color:#777}.pr-review dialog>[data-close]:focus-visible{outline:2px solid #ee00bf;outline-offset:2px}
.pr-review dialog{padding-top:max(12px,env(safe-area-inset-top));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(20px,env(safe-area-inset-bottom))}
.pr-live-preview{display:none}
@media(max-width:760px){.pr-live-preview{display:grid;grid-template-rows:minmax(0,1fr) auto;position:sticky;top:calc(var(--header-height,88px) + env(safe-area-inset-top));z-index:3;height:158px;max-height:25svh;padding:8px 12px;background:#171715;border:1px solid #3a3833;margin:20px 0 12px;contain:layout}.pr-live-preview #pr-live-image{min-height:0;display:grid;place-items:center}.pr-live-preview img,.pr-live-preview svg{display:block;width:100%;height:100%;max-height:120px;object-fit:contain}.pr-live-preview small{font-size:10px;line-height:1.4;text-align:center;margin-top:5px}.pr-review fieldset{scroll-margin-top:calc(250px + env(safe-area-inset-top))}}
