/* Upcoming events: read-only 100-table price map, shared by customer and admin pages. */
.upcoming-map-modal[hidden]{display:none!important}
.upcoming-map-modal{position:fixed;inset:0;z-index:900;display:flex;align-items:flex-end;justify-content:center}
.upcoming-map-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(5px)}
.upcoming-map-panel{position:relative;width:min(100%,900px);max-height:96dvh;overflow:auto;padding:22px 18px 26px;background:#121217;color:#f7f7f8;border:1px solid #45404b;border-radius:22px 22px 0 0;box-shadow:0 18px 75px rgba(0,0,0,.68);font-family:"Kanit",system-ui,sans-serif}
.upcoming-map-close{position:absolute;top:12px;right:14px;width:40px;height:40px;border:0;border-radius:50%;background:#2b2a34;color:#fff;font-size:27px;cursor:pointer}
.upcoming-map-eyebrow{color:#e3ad5c;font-size:.83rem;font-weight:600;margin:0 42px 5px 0}
.upcoming-map-panel h2{font-size:1.6rem;line-height:1.3;margin:0 42px 3px 0}
.upcoming-map-date{margin:0 0 12px;color:#c4c2cd}
.upcoming-map-warning{padding:10px 12px;background:#392a12;border:1px solid #96713f;color:#ffe4af;border-radius:10px;font-size:.91rem;line-height:1.55;margin:0 0 13px}
.upcoming-map-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:8px;margin-bottom:15px}
.upcoming-map-tier{display:flex;gap:8px;align-items:center;background:#21212a;border:1px solid #33333d;padding:8px;border-radius:11px}
.upcoming-map-tier strong,.upcoming-map-tier small{display:block;line-height:1.4}
.upcoming-map-tier small{color:#c4c2cd;font-size:.72rem}
.upcoming-map-swatch{flex:none;width:20px;height:20px;border-radius:7px;background:#777}
.upcoming-map-stage{max-width:480px;width:72%;margin:0 auto 16px;padding:9px;text-align:center;border-radius:10px 10px 19px 19px;border:1px solid #63504b;border-bottom:3px solid #ef233c;font-weight:700;font-size:1.08rem;background:#23232c;letter-spacing:.08em}
.upcoming-map-scroll{overflow-x:auto;padding:5px 2px 15px}
.upcoming-map-seats{display:grid;grid-template-columns:repeat(10,minmax(50px,1fr));min-width:650px;gap:8px}
.upcoming-map-seat{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;font-weight:700;box-shadow:0 1px 9px rgba(0,0,0,.35);border:2px solid rgba(255,255,255,.12);line-height:1.15;user-select:none}
.upcoming-map-seat b{font-size:.99rem}
.upcoming-map-seat small{font-size:.69rem;margin-top:4px;font-weight:700}
.upcoming-map-seat[data-price="4000"],.upcoming-map-tier[data-price="4000"] .upcoming-map-swatch{background:#e84155;color:#fff}
.upcoming-map-seat[data-price="3000"],.upcoming-map-tier[data-price="3000"] .upcoming-map-swatch{background:#ed9b42;color:#16120c}
.upcoming-map-seat[data-price="2500"],.upcoming-map-tier[data-price="2500"] .upcoming-map-swatch{background:#aa82ea;color:#15111d}
.upcoming-map-seat[data-price="2000"],.upcoming-map-tier[data-price="2000"] .upcoming-map-swatch{background:#40c8b3;color:#0c201d}
.upcoming-map-seat[data-price="1000"],.upcoming-map-tier[data-price="1000"] .upcoming-map-swatch{background:#43aeed;color:#091d2c}
.upcoming-map-note{text-align:center;color:#c4c2cd;font-size:.85rem;line-height:1.6;margin:8px 0 0}
.price-map-view-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d6a456;background:#382817;color:#ffe0ad;padding:9px 12px;border-radius:10px;font-family:inherit;font-weight:650;cursor:pointer;margin-top:10px}
.price-map-view-button:hover{background:#53371a}
body.upcoming-map-open{overflow:hidden}
@media(min-width:900px){.upcoming-map-modal{align-items:center}.upcoming-map-panel{max-height:92dvh;border-radius:22px}}
@media(max-width:620px){.upcoming-map-panel{padding:19px 12px 25px}.upcoming-map-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.upcoming-map-seats{gap:7px;min-width:590px}.upcoming-map-warning{font-size:.85rem}}
@media print{.upcoming-map-modal{display:none!important}}

/* Matching five-tier colors if a preview event later moves to an active booking map. */
.legend-card > #upcomingPriceLegend{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.legend-card > #upcomingPriceLegend[hidden]{display:none!important}
.upcoming-tier-key{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px 8px;border:1px solid #363641;border-radius:10px;background:#1d1c24;font-size:.8rem}
.upcoming-tier-key small{grid-column:auto;color:#b8b4c1;font-size:.74rem}
.upcoming-tier-swatch{display:inline-block;width:14px;height:14px;border-radius:5px}
.upcoming-tier-swatch.upcoming-price-4000,.table-btn.upcoming-price-4000{background:#e84155;color:#fff}
.upcoming-tier-swatch.upcoming-price-3000,.table-btn.upcoming-price-3000{background:#ed9b42;color:#16120c}
.upcoming-tier-swatch.upcoming-price-2500,.table-btn.upcoming-price-2500{background:#aa82ea;color:#15111d}
.upcoming-tier-swatch.upcoming-price-2000,.table-btn.upcoming-price-2000{background:#40c8b3;color:#0c201d}
.upcoming-tier-swatch.upcoming-price-1000,.table-btn.upcoming-price-1000{background:#43aeed;color:#091d2c}
.table-btn[class*="upcoming-price-"]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.table-btn[class*="upcoming-price-"] .table-price-mini{font-size:.67rem;line-height:1;font-weight:750}
.table-btn[class*="upcoming-price-"]:disabled{background:#3b3b45;color:#91919d}
