/* Review space is reserved before the remote widget arrives. Pagination stays inside it. */
.lcn-review-viewport { position:relative; height:min(720px,80svh); min-height:360px; overflow:auto; overscroll-behavior-y:contain; scrollbar-gutter:stable; }
iframe[data-product-reviews] { display:block; width:100%; height:min(720px,80svh); min-height:360px; border:0; }
.lcn-review-status { position:absolute; inset:0; z-index:1; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; align-content:center; gap:12px; margin:0; padding:24px 16px; font:inherit; color:var(--color-grey,#666); background:#fff; text-align:center; }
.lcn-review-status[hidden] { display:none; }
.lcn-review-status button { min-height:44px; margin-left:.5em; font:inherit; color:inherit; background:transparent; border:1px solid currentColor; padding:6px 12px; cursor:pointer; }
.lcn-review-viewport:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
.lcn-gallery-status { position:absolute; z-index:4; bottom:10px; left:10px; right:10px; padding:8px 10px; font:12px/1.4 var(--font-mono,monospace); color:#222; background:rgba(255,255,255,.95); }
.lcn-gallery-status[data-state="idle"] { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.lcn-gallery-status button { min-height:44px; margin-left:8px; font:inherit; color:inherit; border:1px solid currentColor; background:white; padding:4px 10px; cursor:pointer; }
.lcn-gallery-status button[hidden] { display:none; }
/* Empty/error ratings stay inaccessible and invisible but retain their small layout slot. */
.lcn-rating[hidden] { display:inline-flex; visibility:hidden; pointer-events:none; }
