/* 客廳展示牆（以利亞、天堂客廳相框畫／無框複製畫、預覽頁共用） */
.room-wrap{position:relative;max-width:1180px;margin:0 auto 10px;}
.room-stage{position:relative;width:100%;overflow:hidden;border-radius:12px;background:#f3f1ec no-repeat;box-shadow:0 10px 30px rgba(48,40,31,.12);touch-action:pan-y;user-select:none;-webkit-user-select:none;}
.room-light{position:absolute;inset:0;pointer-events:none;z-index:6;background:linear-gradient(100deg,rgba(255,250,235,0) 0%,rgba(255,250,235,.3) 18%,rgba(255,250,235,0) 45%);mix-blend-mode:soft-light;animation:room-light 9s ease-in-out infinite;}
.room-stage.light-right .room-light{background:linear-gradient(260deg,rgba(255,250,235,0) 0%,rgba(255,250,235,.3) 18%,rgba(255,250,235,0) 45%);}
@keyframes room-light{0%,100%{opacity:.35}50%{opacity:.85}}
.room-layer{position:absolute;inset:0;z-index:3;}

/* 窗簾 */
.room-curtain{position:absolute;pointer-events:none;z-index:2;background-repeat:no-repeat;transform-origin:50% 0;animation:curtain-sway 7s ease-in-out infinite;
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 100%);}
@keyframes curtain-sway{0%,100%{transform:skewX(0deg) scaleX(1)}30%{transform:skewX(1.4deg) scaleX(1.015)}55%{transform:skewX(-.6deg) scaleX(.995)}80%{transform:skewX(.9deg) scaleX(1.01)}}
.room-billow{position:absolute;pointer-events:none;z-index:2;background-repeat:no-repeat;transform-origin:50% 50%;animation:billow 7s ease-in-out infinite;
  -webkit-mask-image:radial-gradient(ellipse 60% 48% at 50% 52%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 60% 48% at 50% 52%,#000 55%,transparent 100%);}
@keyframes billow{0%,100%{transform:translateX(0) scale(1,1) skewY(0)}30%{transform:translateX(-6px) scale(1.07,1.02) skewY(-.6deg)}55%{transform:translateX(1.5px) scale(.99,1) skewY(.2deg)}78%{transform:translateX(-4px) scale(1.045,1.012) skewY(-.4deg)}}

/* 畫作：展間的畫是按鈕，排除全站按鈕樣式 */
@layer shared-buttons{html body .room-stage button.room-art,html body .room-stage button.room-art:hover,html body .room-stage button.room-art:focus{border:0!important;background:none!important;box-shadow:none!important;border-radius:0!important;padding:0!important;min-width:0!important;min-height:0!important;outline:none;}}
html body .room-stage button.room-art{position:absolute;display:block;padding:0!important;margin:0;border:0!important;background:none!important;box-shadow:none!important;border-radius:0!important;min-width:0!important;min-height:0!important;cursor:pointer;
  opacity:0;transform:translateY(-6px);transition:transform .35s cubic-bezier(.2,.7,.3,1),opacity .6s ease;}
html body .room-stage button.room-art.in{opacity:1;transform:none;}
.room-art .surface{position:absolute;inset:0;background-repeat:no-repeat;transition:box-shadow .35s ease;}
/* 光線：畫面受窗光影響，靠窗那側亮一點、另一側暗一點 */
.room-art .sheen{position:absolute;inset:0;pointer-events:none;}
.room-art .cap{position:absolute;left:50%;top:calc(100% + 10px);transform:translateX(-50%);white-space:nowrap;font-size:12px;color:#5c4a33;background:rgba(255,255,255,.95);border:1px solid #c49a52;border-radius:6px;padding:3px 8px;opacity:0;pointer-events:none;transition:opacity .25s;z-index:5;max-width:240px;overflow:hidden;text-overflow:ellipsis;}
@media(hover:hover){
 .room-stage:not(.editing) .room-art:hover{transform:scale(1.06)!important;z-index:4;}
 .room-stage:not(.editing) .room-art:hover .cap{opacity:1;}
}
.room-stage:not(.editing) .room-art.focus{transform:scale(1.06)!important;z-index:4;}

.room-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:1px solid #c49a52;background:rgba(255,255,255,.92);color:#5c4a33;font-size:20px;cursor:pointer;z-index:7;}
.room-nav.prev{left:10px}.room-nav.next{right:10px}
.room-nav[disabled]{opacity:.35;cursor:default;}
.room-dots{display:flex;justify-content:center;gap:8px;margin:10px 0 4px;}
.room-dots button{width:8px;height:8px;border-radius:50%;border:0;background:#d8cdb8;padding:0;cursor:pointer;}
.room-dots button[aria-current="true"]{background:#c49a52;width:22px;border-radius:4px;}
.room-hint{text-align:center;font-size:.82rem;color:var(--ink-soft);margin:4px 0 0;}
.room-empty{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);z-index:5;background:rgba(255,255,255,.9);border:1px solid #c49a52;border-radius:10px;padding:14px 22px;color:#5c4a33;font-family:"Noto Serif TC",serif;}
@media(max-width:760px){.room-nav{width:34px;height:34px;font-size:17px;top:auto;bottom:10px;transform:none;}.room-nav.prev{left:10px}.room-nav.next{right:10px}}

/* 預覽視窗 */
.room-modal{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:rgba(30,26,20,.55);opacity:0;pointer-events:none;transition:opacity .3s;}
.room-modal.open{opacity:1;pointer-events:auto;}
.room-modal-card{width:min(420px,calc(100% - 40px));background:#fff;border:1px solid #c49a52;border-radius:14px;padding:16px;text-align:center;transform:scale(.94);transition:transform .3s;}
.room-modal.open .room-modal-card{transform:none;}
.room-modal-card img{width:100%;max-height:55vh;object-fit:contain;border-radius:6px;background:#fff;}
.room-modal-card h3{font-size:1.02rem;margin:12px 0 4px;line-height:1.45;}
.room-modal-card .price{color:#9a7430;font-weight:700;margin:0 0 12px;}
.room-modal-card .row{display:flex;gap:10px;justify-content:center;}

/* ===== 編輯模式（只有登入後台才看得到） ===== */
.room-editbar{display:none;max-width:1180px;margin:0 auto 10px;padding:10px 12px;border:1px dashed #c49a52;border-radius:10px;background:#fffdf8;font-size:.86rem;color:#5c4a33;align-items:center;gap:8px;flex-wrap:wrap;}
.room-editbar.show{display:flex;}
.room-editbar button{font:inherit;font-size:.84rem;padding:6px 12px;border:1px solid #c49a52;border-radius:8px;background:#fff;color:#5c4a33;cursor:pointer;}
.room-editbar button.primary{background:#c49a52;color:#fff;}
.room-editbar button[hidden]{display:none;}
.room-editbar .sep{flex:1;}
.room-editbar .status{font-size:.8rem;color:#9a7430;}
.room-stage.editing .room-art{cursor:move;opacity:1;transform:none!important;transition:none;}
.room-stage.editing .room-art.selected{outline:2px solid #c49a52;outline-offset:2px;z-index:5;}
.room-stage.editing .room-light{display:none;}
.room-handle{position:absolute;width:14px;height:14px;background:#fff;border:2px solid #c49a52;border-radius:50%;z-index:8;touch-action:none;}
.room-handle.resize{right:-9px;bottom:-9px;cursor:nwse-resize;}
.room-handle.crop{border-radius:3px;background:#c49a52;border-color:#fff;}
.room-handle.crop.l{left:-8px;top:50%;margin-top:-12px;width:8px;height:24px;cursor:ew-resize;}
.room-handle.crop.r{right:-8px;top:50%;margin-top:-12px;width:8px;height:24px;cursor:ew-resize;}
.room-handle.crop.t{top:-8px;left:50%;margin-left:-12px;width:24px;height:8px;cursor:ns-resize;}
.room-handle.crop.b{bottom:-8px;left:50%;margin-left:-12px;width:24px;height:8px;cursor:ns-resize;}
.room-handle.remove{left:-10px;top:-10px;width:22px;height:22px;line-height:18px;text-align:center;font-size:14px;color:#9a5a30;cursor:pointer;}
.room-tray{display:none;max-width:1180px;margin:8px auto 18px;padding:10px;border:1px dashed #d8cdb8;border-radius:10px;}
.room-tray.show{display:block;}
.room-tray h4{margin:0 0 8px;font-size:.86rem;color:#5c4a33;}
.room-tray .items{display:flex;gap:10px;flex-wrap:wrap;}
.room-tray .items button{width:72px;height:72px;padding:3px;border:1px solid #d8cdb8;border-radius:6px;background:#fff center/contain no-repeat;cursor:pointer;}
.room-tray .empty{font-size:.8rem;color:var(--ink-soft);}
@media(prefers-reduced-motion:reduce){.room-light,.room-curtain,.room-billow{animation:none}html body .room-stage button.room-art{transition:none}}
/* 正式頁面：展間取代上方輪播 */
.room-mount{margin:8px auto 0;}
.room-mount .room-wrap{max-width:1180px;}
html:root body.elijah-page.elijah-room-on:not(.elijah-custom-view) .elijah-feature-pair{display:block!important;}
body.elijah-room-on .elijah-showcase-carousel-wrap{display:none!important;}
/* 無框複製畫：紗簾擺動較明顯 */
.room-stage.billow-strong .room-billow{animation-name:billow-strong;}
@keyframes billow-strong{0%,100%{transform:translateX(0) scale(1,1) skewY(0)}30%{transform:translateX(-12px) scale(1.13,1.035) skewY(-1.2deg)}55%{transform:translateX(3px) scale(.98,1) skewY(.4deg)}78%{transform:translateX(-8px) scale(1.09,1.022) skewY(-.8deg)}}
/* 提示畫可以點：畫作閃一道光＋金框小標籤 */
.room-art .glint{position:absolute;inset:0;overflow:hidden;pointer-events:none;}
.room-art.glint-on .glint::after{content:"";position:absolute;top:-10%;bottom:-10%;left:-70%;width:45%;transform:skewX(-18deg);
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,250,235,.55),rgba(255,255,255,0));animation:room-glint 1.2s ease-out var(--glint-delay,1s) 1 both;}
@keyframes room-glint{0%{left:-70%;opacity:0}15%{opacity:1}100%{left:130%;opacity:0}}
.room-tip{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:7;pointer-events:none;white-space:nowrap;
  padding:5px 14px;border:1px solid #c49a52;border-radius:999px;background:rgba(255,255,255,.92);color:#5c4a33;font-size:.82rem;
  box-shadow:0 4px 12px rgba(48,40,31,.12);animation:room-tip-in .6s ease-out 1.2s both, room-tip-breathe 2.6s ease-in-out 2s infinite;}
.room-tip[hidden]{display:none;}
@keyframes room-tip-in{from{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translateX(-50%)}}
@keyframes room-tip-breathe{0%,100%{box-shadow:0 4px 12px rgba(48,40,31,.12)}50%{box-shadow:0 4px 16px rgba(196,154,82,.35)}}
@media(max-width:760px){.room-tip{font-size:.74rem;padding:4px 11px;bottom:12px;}}
@media(prefers-reduced-motion:reduce){.room-art.glint-on .glint::after{animation:none;display:none}.room-tip{animation:none}}
/* 訂製作品說明：逗點後換行 */
html:root body.elijah-page #elijah-lede{white-space:pre-line!important;}
