.cabinet-reference-notice { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:12px max(22px,calc((100vw - 1300px)/2)); background:#eee9dd; color:#655a43; font:11px/1.6 Montserrat,sans-serif; }
.cabinet-reference-notice a { color:inherit; white-space:nowrap; text-decoration:underline; text-underline-offset:3px; }
.cabinet-reference-photo { border:0; }
.cabinet-reference-photo::before,.cabinet-reference-photo::after { display:none; }
.cabinet-reference-img { width:100%; height:100%; object-fit:cover; display:block; }
.cabinet-reference-photo>.cabinet-reference-img { position:absolute; inset:0; }
.cabinet-reference-photo>.cabinet-placeholder-center { display:none; }
.cabinet-reference-photo>.cabinet-photo-id { top:16px; left:16px; right:auto; max-width:85%; background:#fffdf2e8; color:#38362e; padding:5px 8px; font-size:9px; letter-spacing:.04em; }
.cabinet-reference-caption { position:absolute; z-index:1; bottom:0; left:0; right:0; display:flex; flex-direction:column; gap:5px; background:linear-gradient(transparent,#000b); color:white; padding:55px 22px 18px; pointer-events:none; text-align:left; }
.cabinet-reference-caption strong { font-size:14px; font-weight:400; line-height:1.4; }
.cabinet-reference-caption small { font-size:9px; opacity:.9; }
.cabinet-reference-photo>.cabinet-zoom { z-index:2; color:white; background:#2525208f; border-radius:50%; width:30px; height:30px; display:grid; place-items:center; bottom:19px; right:16px; }
.cabinet-room-photo .cabinet-reference-caption { padding-right:60px; }
.cabinet-hero .cabinet-reference-caption { bottom:110px; background:none; text-shadow:0 1px 8px #000; }
.cabinet-reference-photo .cabinet-hero-caption { color:#fff; z-index:2; background:#20201d70; padding:18px; left:18px; right:18px; bottom:18px; }
.cabinet-room-lightbox-frame:has(img),.cabinet-gallery-placeholder:has(img) { height:min(65vh,600px); background:#242521; border:0; }
.cabinet-room-lightbox-frame>img,.cabinet-gallery-placeholder>img { width:100%; height:100%; object-fit:contain; }
.cabinet-room-lightbox-frame:has(img)>.cabinet-placeholder-center,.cabinet-gallery-placeholder:has(img)>.cabinet-placeholder-center { display:none; }
.cabinet-room-lightbox-frame:has(img)::before,.cabinet-room-lightbox-frame:has(img)::after,.cabinet-gallery-placeholder:has(img)::before,.cabinet-gallery-placeholder:has(img)::after { display:none; }
.cabinet-gallery { max-height:94dvh; overflow:auto; }
.cabinet-sources { font:14px/1.7 Montserrat,Arial,sans-serif; color:#292a24; background:#f6f5f0; margin:0; padding:30px; }
.cabinet-sources>p { max-width:1000px; }
.cabinet-source-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.cabinet-source-grid figure { margin:0; min-width:0; background:#fff; }
.cabinet-source-grid img { width:100%; height:200px; object-fit:contain; background:#e6e4dc; }
.cabinet-source-grid figcaption { padding:12px; font-size:11px; }
.cabinet-source-url { overflow-wrap:anywhere; font-size:9px; }
@media(max-width:767px) { .cabinet-reference-notice { flex-direction:column; align-items:flex-start; gap:5px; font-size:10px; } .cabinet-reference-caption { padding:40px 15px 15px; } .cabinet-reference-caption strong { font-size:12px; } .cabinet-reference-photo>.cabinet-photo-id { font-size:8px; top:12px; left:12px; } .cabinet-hero .cabinet-reference-caption { bottom:120px; } .cabinet-source-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:420px) { .cabinet-source-grid { grid-template-columns:1fr; } .cabinet-direction .cabinet-reference-caption strong { font-size:10px; } .cabinet-direction .cabinet-reference-caption small { font-size:8px; } }
