#overlays{position:fixed;inset:0;z-index:2;pointer-events:none;overflow:hidden}.anchored{position:absolute;left:0;top:0;transform-origin:0 0;pointer-events:auto;backface-visibility:hidden;will-change:transform}.sign{background:transparent;color:#faebc9;display:flex;align-items:center;justify-content:center;font:34px Georgia,Tahoma;letter-spacing:1px;padding:9px 20px;text-shadow:0 2px 5px #0005}.sign img{width:100%;height:100%;object-fit:contain}.sign:hover{background:#d0b47c18}.product-card{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f1e6d0;color:#3d3528;padding:14px 18px 9px;gap:6px;border:2px solid #b29866;box-shadow:0 4px 10px #58441b22;overflow:hidden}.product-card:hover{background:#fff3dc}.product-card img{width:100%;height:210px;object-fit:contain;min-height:0}.product-card span{font:18px Tahoma;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.product-card small{font:16px Arial;color:#685534}#visit{margin-top:16px;background:#e6d1aa;color:#263027;border:1px solid #f8e5be;padding:12px 20px;border-radius:4px;font-size:14px;min-height:44px}#visit:hover{background:#f7e7c7}dialog a{color:#e3c794}#detail-image{display:block;width:100%;height:220px;object-fit:contain;margin:20px 0;background:#f4eddf;border-radius:4px}#detail-price{color:#e8cc93;font-size:19px}#detail-copy{white-space:pre-wrap}#seller-link{display:block;text-align:center;background:#e3cca2;color:#263327;padding:13px 18px;text-decoration:none;border-radius:4px;margin-top:20px}#list-items{display:grid;gap:10px}#list-items button{background:#ffffff0d;padding:15px;text-align:right;border:1px solid #cfb88b44;border-radius:4px}dialog{max-height:90dvh;overflow:auto}#product-detail{max-width:490px}.shade{z-index:2}#overlays{z-index:2}footer{z-index:3}#loading{z-index:10}@media(max-width:650px){nav button{padding:12px 10px;font-size:12px}#visit{padding:10px 18px;margin-top:12px}.location .eyebrow{font-size:11px}.location h1{margin-top:6px;font-size:23px}.location p{font-size:11px}}


.product-card.shelf-pair{display:grid;grid-template-columns:54% minmax(0,1fr);align-items:center;gap:12px;padding:10px;background:#f1e6d0;direction:ltr;text-align:start;border:1px solid #b2986680;box-shadow:0 3px 8px #58441b22}
.product-card.shelf-pair>img{display:block;width:100%;height:calc(var(--shelf-height) - 22px);min-width:0;object-fit:contain}
.product-card.shelf-pair .shelf-info{display:flex;flex-direction:column;gap:12px;min-width:0;justify-content:center;direction:rtl;text-align:start}
.product-card.shelf-pair .shelf-info span{font:36px/1.25 Tahoma,Arial,sans-serif;white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-card.shelf-pair .shelf-info small{font:32px/1.2 Arial,sans-serif;direction:ltr;unicode-bidi:isolate;white-space:normal;overflow-wrap:anywhere;color:#514330}
.product-card.shelf-pair:hover{background:#fff3dc}

.wall-ad{pointer-events:none;overflow:hidden;background:none;border:0;box-shadow:none}
.wall-ad>img{position:absolute;display:block;width:1500px;height:500px;max-width:none;filter:brightness(.94) saturate(.96);mask-image:linear-gradient(to right,transparent,#000 5px,#000 calc(100% - 5px),transparent),linear-gradient(to bottom,transparent,#000 5px,#000 calc(100% - 5px),transparent);mask-composite:intersect;-webkit-mask-composite:source-in}

.product-card.shelf-recess{box-shadow:none}

/* Only interactive controls intercept gestures; decorative text passes through. */
header{pointer-events:none}header button{pointer-events:auto}.brand{user-select:none}
footer{justify-content:flex-end}footer nav{max-width:100%;flex-wrap:wrap;justify-content:center}
#shop-items{display:grid;gap:10px}#shop-items button,#return-plaza{display:block;width:100%;padding:15px;text-align:right;background:#ffffff0d;border:1px solid #cfb88b44;border-radius:4px;min-height:48px}#return-plaza{margin-top:16px;color:var(--gold)}
@media(max-width:650px){footer nav{align-self:center}nav button{font-size:11px;padding:12px 8px}}

/* Trial: featured products 1–3 in shop01 only; preserve image geometry. */
body[data-scene="shop"] .product-card:not(.shelf-pair),
body[data-scene="shop"] .product-card:not(.shelf-pair):hover{background:transparent;border-color:transparent;box-shadow:none}

/* Trial: 12 cards in the two tall side recesses only. Keep geometry and text layout. */
body[data-scene="shop"] .product-card.shelf-pair:is([data-slot="7"],[data-slot="8"],[data-slot="9"],[data-slot="13"],[data-slot="14"],[data-slot="15"],[data-slot="16"],[data-slot="17"],[data-slot="18"],[data-slot="19"],[data-slot="20"],[data-slot="21"]),
body[data-scene="shop"] .product-card.shelf-pair:is([data-slot="7"],[data-slot="8"],[data-slot="9"],[data-slot="13"],[data-slot="14"],[data-slot="15"],[data-slot="16"],[data-slot="17"],[data-slot="18"],[data-slot="19"],[data-slot="20"],[data-slot="21"]):hover{background:transparent;border-color:transparent;box-shadow:none}

/* Slightly larger side images; wider separation between the two columns. */
.product-card.shelf-pair.shelf-side{grid-template-columns:58% minmax(0,1fr);padding:8px;gap:12px}
.product-card.shelf-pair.shelf-side>img{height:calc(var(--shelf-height) - 18px)}
#list-items .product-list-row{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:16px;padding:12px;direction:rtl;text-align:start;min-height:100px}
.product-list-thumb{display:block;width:76px;height:76px;object-fit:contain;border-radius:3px}
.product-list-info{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;grid-column:2}
.product-list-name{font-size:16px;line-height:1.45;overflow-wrap:anywhere;max-width:100%}
.product-list-price{font:15px/1.4 Arial,sans-serif;color:var(--gold);max-width:100%;overflow-wrap:anywhere}
#list-items .product-list-row:hover{background:#ffffff16}
@media(max-width:650px){#list-items .product-list-row{grid-template-columns:64px minmax(0,1fr);gap:12px;padding:10px;min-height:86px}.product-list-thumb{width:64px;height:64px}}

/* Lower six cards: transparent finish only, preserve all layout dimensions. */
body[data-scene="shop"] .product-card.shelf-pair:is([data-slot="4"],[data-slot="5"],[data-slot="6"],[data-slot="10"],[data-slot="11"],[data-slot="12"]),
body[data-scene="shop"] .product-card.shelf-pair:is([data-slot="4"],[data-slot="5"],[data-slot="6"],[data-slot="10"],[data-slot="11"],[data-slot="12"]):hover{background:transparent;border-color:transparent;box-shadow:none}

/* Natural-ratio detail photo; no letterbox background or fixed height. */
#detail-image-open{display:block;width:100%;padding:0;margin:20px 0;background:transparent;border:0;cursor:zoom-in}
#detail-image-open:hover{background:transparent}
#detail-image{display:block;width:100%;height:auto;max-height:none;object-fit:contain;margin:0;background:transparent;border-radius:0}
#product-detail{overscroll-behavior:contain}
#product-lightbox{box-sizing:border-box;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#111;overflow:hidden;backdrop-filter:none;color:#fff}
#product-lightbox::backdrop{background:#000d}
.lightbox-tools{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:space-between;direction:ltr;padding:calc(8px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));background:#111}
.lightbox-tools button{min-width:48px;height:48px;padding:0 12px;border-radius:4px;background:#ffffff14;color:#fff;font-size:24px;touch-action:manipulation}
.lightbox-tools button:disabled{opacity:.35;cursor:default}
.lightbox-zoom{display:flex;gap:8px}
#lightbox-reset{font:15px Arial;min-width:68px}
#lightbox-viewport{position:absolute;inset:calc(64px + env(safe-area-inset-top)) 0 env(safe-area-inset-bottom);overflow:auto;direction:ltr;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}
#lightbox-viewport.zoomed{cursor:grab}
#lightbox-viewport.zoomed:active{cursor:grabbing}
#lightbox-stage{display:flex;align-items:center;justify-content:center;min-width:100%;min-height:100%}
#lightbox-image{display:block;max-width:none;max-height:none;flex:none;user-select:none;-webkit-user-drag:none}

/* Featured1–3: let empty card space pass gestures through to the panorama. */
.product-card.featured-product{pointer-events:none}
.product-card.featured-product>img{pointer-events:none}
.product-card.featured-product>img.hit-ready,.product-card.featured-product>span,.product-card.featured-product>small{pointer-events:auto}

/* Shelf cards: empty layout and object-fit space pass through to the panorama. */
.product-card.shelf-pair,.product-card.shelf-pair>.shelf-info,.product-card.shelf-pair>img{pointer-events:none}
.product-card.shelf-pair>img.hit-ready,.product-card.shelf-pair>.shelf-info>span,.product-card.shelf-pair>.shelf-info>small{pointer-events:auto}

.help-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:24px}.help-actions button,#rental-submit{background:#e3cca2;color:#263327;border-radius:4px;padding:12px 24px;min-height:44px;font-size:16px}
#rental-form label{display:block;margin:16px 0;font-size:14px}#rental-form input,#rental-form textarea{box-sizing:border-box;display:block;width:100%;margin-top:8px;padding:12px;background:#fff9ed;color:#263327;border:1px solid #c6ad7d66;border-radius:4px;font:16px Tahoma,Arial}#rental-submit{width:100%;margin-top:12px}#rental-submit:disabled{opacity:.5}

/* Storefront fit: one contained logo in each measured fascia, no opaque sign box. */
.anchored.sign{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden;font:46px Tahoma,Arial,sans-serif;letter-spacing:0;color:#f5ecd8;text-shadow:none;white-space:nowrap}
.anchored.sign img{display:block;width:82%;height:62%;object-fit:contain;object-position:center;flex:none}
.anchored.sign:hover{background:transparent;filter:brightness(1.12)}
.anchored.sign:focus-visible{outline:2px solid #e3c794;outline-offset:-3px}
#shop-items .shop-list-row{display:flex;align-items:center;gap:14px;min-height:72px;text-align:right}
.shop-list-row span{flex:1;min-width:0;overflow-wrap:anywhere}
.shop-list-logo{display:block;flex:none;width:80px;height:48px;object-fit:contain}
@media(max-width:650px){.shop-list-logo{width:64px;height:44px}#shop-items .shop-list-row{gap:12px}}
