/* V5: two-floor seating system + gallery. Design-only additions preserve login and Supabase operations. */
.nav-links{gap:17px}
.preview-room-logo{display:grid;place-items:center;width:54px;height:54px;flex:none;border-radius:15px;background:#e3f5ed;border:1px solid #c6e6d6;color:#0a8774;box-shadow:0 8px 18px #0b624b12}
.preview-room-logo svg{width:30px;height:30px}
.room-overview-hero{padding:19px 21px 17px;display:grid;gap:14px}
.floor-preview{border:1px solid #e0eae7;border-radius:16px;padding:15px 16px 13px;background:linear-gradient(115deg,#f8fcfa,#fff);transition:border-color .2s,transform .2s}
.floor-preview.floor-a{background:linear-gradient(120deg,#f2faf7,#fff)}
.floor-preview.floor-b{background:linear-gradient(120deg,#f8f8fe,#fff)}
.floor-preview-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px}
.floor-preview-header small{font:800 9px 'DM Sans',sans-serif;letter-spacing:.12em;color:#6c8783}
.floor-preview-header h3{font-size:18px;margin:6px 0 0;color:#224346;font-weight:800}
.floor-preview-header h3 span{font-size:11px;color:#68827e;font-weight:500;vertical-align:middle;margin-left:4px}
.floor-preview-header>strong{font:800 25px 'DM Sans',sans-serif;color:#0b8575;white-space:nowrap}
.floor-b .floor-preview-header>strong{color:#5976a4}
.floor-preview-header>strong small{font:700 10px 'Hind',sans-serif;color:#718981}
.mini-seat-preview{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:5px}
.mini-seat-preview span{display:grid;place-items:center;aspect-ratio:1.06;min-width:0;border:1px solid #cfe2dc;background:#e7f2ed;border-radius:5px;color:#577a70;font:700 9px 'DM Sans',sans-serif}
.floor-b .mini-seat-preview span{background:#eef0fb;border-color:#dee3f2;color:#687b9a}
@media(hover:hover) and (pointer:fine){.floor-preview:hover{transform:translateY(-2px);border-color:#aed6c6}}
.hero-refined .hero-visual .preview-side-badge{bottom:35px;right:-8px}
.room-mini-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}
.room-mini-metrics>div{display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid #dfe9e5;background:#f6faf7;border-radius:12px;padding:11px}
.room-mini-metrics span{font-size:12px;color:#58756b}
.room-mini-metrics strong{color:#087c68;font-size:20px}
#seatMap{display:block;padding:0}
.room-zone{padding:17px 23px 21px}
.room-zone+.room-zone{border-top:1px solid #e4ede9}
.room-zone-head{display:flex;align-items:center;justify-content:space-between;gap:13px;flex-wrap:wrap;margin-bottom:17px}
.room-zone-label{display:flex;align-items:center;gap:11px}
.room-letter{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#ddf3e9;color:#097f68;font-size:20px;font-weight:900}
.room-zone:nth-child(2) .room-letter{background:#e9eefb;color:#496a9c}
.room-zone-label strong,.room-zone-label small{display:block}
.room-zone-label strong{font-size:17px;color:#1b4441;line-height:1.2}
.room-zone-label small{font:750 10px 'DM Sans','Hind',sans-serif;color:#8aa09b;margin-top:6px;letter-spacing:.05em}
.room-status-note{background:#f4f8f5;padding:6px 12px;border-radius:20px;color:#557167;font-size:11px;font-weight:650}
.room-seat-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px}
.room-seat-grid .seat-cell{min-width:0;font-size:11px;border-radius:9px;min-height:45px;transition:transform .2s,box-shadow .2s}
@media(hover:hover) and (pointer:fine){.room-seat-grid .seat-cell:hover{transform:translateY(-3px);box-shadow:0 6px 14px #154d381f}}
.seat-board.admin-view .room-zone{padding:21px}
.seat-board.admin-view .room-seat-grid{grid-template-columns:repeat(9,minmax(0,1fr))}
.admin-room-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}
.admin-room-strip>div{background:#fff;border:1px solid #e0eae7;border-left:4px solid #0f9a7e;border-radius:12px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:18px}
.admin-room-strip>div+div{border-left-color:#6681af}
.admin-room-strip span,.admin-room-strip em{font:750 10px 'DM Sans','Hind',sans-serif;color:#71878b;letter-spacing:.03em;font-style:normal}
.admin-room-strip strong{font-size:24px;color:#164943}
.admin-room-strip strong small{font-size:11px;color:#6f8981}
.gallery-section{background:#f4f8f5;padding:80px 0}
.gallery-intro{align-items:flex-end}
.gallery-intro>p{max-width:480px}
.gallery-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:19px}
.gallery-photo{margin:0;background:#fff;border:1px solid #dfe9e3;border-radius:21px;overflow:hidden;box-shadow:0 11px 25px #1e443b0b;transition:transform .2s,box-shadow .2s}
.gallery-media{height:210px;position:relative;background:linear-gradient(125deg,#d4e6e2,#b4d4c7);overflow:hidden}
.gallery-main .gallery-media{height:245px}
.gallery-media img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1;display:block;transition:transform .45s}
.gallery-fallback{position:absolute;inset:0;display:flex;flex-direction:column;gap:12px;justify-content:center;align-items:center;font-size:54px;color:#174b42}
.gallery-fallback small{font-size:11px;font-weight:700;color:#52786f}
.gallery-chip{position:absolute;top:14px;left:14px;z-index:2;background:#fffffff0;border-radius:20px;padding:6px 11px;font:700 10px 'DM Sans',sans-serif;color:#1d7063}
.gallery-photo figcaption{display:flex;flex-direction:column;gap:3px;padding:17px 20px 21px}
.gallery-photo figcaption strong{font-size:16px;color:#254845}
.gallery-photo figcaption small{font-size:10px;color:#718987}
.gallery-clarity{margin-top:18px;color:#5a7770;font-size:12px;padding:12px 17px;border:1px solid #d5e5db;background:#fff;border-radius:12px}
.gallery-clarity span{margin-right:7px;color:#127867;font-size:18px;vertical-align:middle}
@media(hover:hover) and (pointer:fine){.gallery-photo:hover{transform:translateY(-4px);box-shadow:0 18px 42px #143e301b}.gallery-photo:hover img{transform:scale(1.03)}}
@media(max-width:1050px){.nav-links{gap:11px}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-main{grid-column:1/-1}.gallery-main .gallery-media{height:260px}}
@media(max-width:800px){.room-seat-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}
@media(max-width:570px){.gallery-section{padding:55px 0}.gallery-grid{grid-template-columns:1fr;gap:12px}.gallery-main{grid-column:auto}.gallery-media,.gallery-main .gallery-media{height:218px}.room-overview-hero{padding:12px;gap:10px}.floor-preview{padding:12px 11px}.floor-preview-header h3{font-size:16px}.floor-preview-header h3 span{font-size:10px}.floor-preview-header>strong{font-size:21px}.mini-seat-preview{grid-template-columns:repeat(13,minmax(0,1fr));gap:3px}.mini-seat-preview span{font-size:7px;border-radius:3px}.preview-card-top{padding:18px}.preview-room-logo{width:40px;height:40px}.preview-room-logo svg{width:24px;height:24px}.room-zone{padding:15px 12px}.room-zone-head{gap:8px}.room-zone-label strong{font-size:15px}.room-zone-label small{font-size:9px}.room-seat-grid,.seat-board.admin-view .room-seat-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.room-seat-grid .seat-cell{font-size:10px;min-height:42px}.seat-board.admin-view .room-zone{padding:12px}.admin-room-strip{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.gallery-photo,.gallery-media img,.room-seat-grid .seat-cell,.floor-preview{transition:none!important}}
