.seatmap{background:#0a0e17}.seatmap .seatmap-section{min-height:100vh;padding:40px 20px 80px;font-family:DM Sans,sans-serif;color:#fff}.seatmap .seatmap-wrapper{max-width:1300px;margin:0 auto}.seatmap .seatmap-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:28px}@media (max-width: 640px){.seatmap .seatmap-header{flex-direction:column;align-items:flex-start}}.seatmap .seatmap-back-btn{display:inline-flex;align-items:center;gap:8px;color:var(--white);text-decoration:none;font-size:13px;font-weight:500;padding:15px 16px;border-radius:8px;border:1px solid var(--primary);transition:all .2s ease;white-space:nowrap;background:var(--primary)}.seatmap .seatmap-back-btn i{font-size:12px}.seatmap .seatmap-back-btn:hover{color:#fff;border-color:#ec436b;background:#ec436b14}.seatmap .seatmap-header-info h1{margin:0;font-size:22px;font-weight:700;color:#fff;line-height:1.3}.seatmap .seatmap-header-info p{margin:3px 0 0;font-size:14px;color:#a4b0be}.seatmap .seatmap-screen-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.seatmap .seatmap-tab{padding:9px 22px;border-radius:30px;font-size:13px;font-weight:600;text-decoration:none;border:1.5px solid rgba(255,255,255,.12);color:#a4b0be;transition:all .2s ease}.seatmap .seatmap-tab:hover{border-color:#ec436b;color:#fff}.seatmap .seatmap-tab.active{background:#ec436b;border-color:#ec436b;color:#fff}.seatmap .seatmap-display{background:#141922;border-radius:14px;border:1px solid rgba(255,255,255,.06);overflow:hidden}.seatmap .seatmap-inner{padding:32px 24px;overflow-x:auto;text-align:center}@media (max-width: 640px){.seatmap .seatmap-inner{padding:20px 12px}}.seatmap .seatmap-content{display:inline-block}.seatmap .seatmap-empty{text-align:center;padding:70px 20px;color:#a4b0be}.seatmap .seatmap-empty i{font-size:40px;margin-bottom:16px;opacity:.4;display:block}.seatmap .seatmap-empty p{font-size:15px;margin:0}.seatmap .sm-screen-bar{background:linear-gradient(180deg,#ec436b4d,#ec436b14);padding:12px 24px;border-radius:10px 10px 50% 50%;text-align:center;font-weight:700;font-size:15px;color:#fff;margin-bottom:28px;border:2px solid rgba(236,67,107,.4);letter-spacing:.06em;box-sizing:border-box}.seatmap .sm-row{display:flex;align-items:flex-end;margin-bottom:6px}.seatmap .sm-row-label{width:40px;font-family:Space Mono,monospace;font-size:13px;color:#a4b0be;font-weight:700;text-align:right;margin-right:14px;flex-shrink:0;padding-bottom:4px}.seatmap .sm-row-seats{display:flex;align-items:flex-end;box-sizing:border-box}.seatmap .sm-seat{position:relative;-webkit-user-select:none;user-select:none;box-sizing:border-box;display:flex;align-items:flex-end;justify-content:flex-start}.seatmap .sm-seat.booked{opacity:.7}.seatmap .sm-seat.pwd{border:3px solid #FFA500!important}.seatmap .sm-seat.regular:before,.seatmap .sm-seat.regular:after,.seatmap .sm-seat.regular .sm-seat-back{content:"";position:absolute;bottom:0}.seatmap .sm-seat.regular:before{left:0;width:18%;height:52%;border-radius:14px 0 0}.seatmap .sm-seat.regular:after{right:0;width:18%;height:52%;border-radius:0 14px 0 0}.seatmap .sm-seat.regular .sm-seat-back{position:absolute;left:50%;transform:translate(-50%);width:61%;height:100%;border-radius:8px 8px 0 0}.seatmap .sm-seat.sofa:before,.seatmap .sm-seat.sofa:after,.seatmap .sm-seat.sofa .sm-cushion-left,.seatmap .sm-seat.sofa .sm-cushion-right{content:"";position:absolute;bottom:0}.seatmap .sm-seat.sofa:before{left:0;width:10%;height:52%;border-radius:16px 0 0}.seatmap .sm-seat.sofa:after{right:0;width:10%;height:52%;border-radius:0 16px 0 0}.seatmap .sm-seat.sofa .sm-cushion-left{left:11%;width:40%;height:100%;border-radius:8px 0 0}.seatmap .sm-seat.sofa .sm-cushion-right{right:11%;width:40%;height:100%;border-radius:0 8px 0 0}.seatmap .sm-seat-label{position:absolute;font-weight:900;z-index:10;pointer-events:none}.seatmap .sm-seat.regular .sm-seat-label{top:50%;left:50%;transform:translate(-50%,-50%);color:#000}.seatmap .sm-seat.sofa .sm-seat-label{top:50%;left:50%;transform:translate(-50%,-50%);color:#000;width:80%;text-align:center;white-space:normal;word-wrap:break-word;line-height:1.2;display:flex;align-items:center;justify-content:center}.seatmap .sm-seat.available:before,.seatmap .sm-seat.available:after{background:#fff}.seatmap .sm-seat.available .sm-seat-back,.seatmap .sm-seat.available .sm-cushion-left,.seatmap .sm-seat.available .sm-cushion-right{background:#fff}.seatmap .sm-seat.selected:before,.seatmap .sm-seat.selected:after{background:#ec436b}.seatmap .sm-seat.selected .sm-seat-back,.seatmap .sm-seat.selected .sm-cushion-left,.seatmap .sm-seat.selected .sm-cushion-right{background:#ec436b}.seatmap .sm-seat.selected .sm-seat-label{color:#fff}.seatmap .sm-seat.booked:before,.seatmap .sm-seat.booked:after{background:#ffffff4d}.seatmap .sm-seat.booked .sm-seat-back,.seatmap .sm-seat.booked .sm-cushion-left,.seatmap .sm-seat.booked .sm-cushion-right{background:#ffffff4d}.seatmap .sm-seat.booked .sm-seat-label{color:#fff9}.seatmap .seatmap-legend{display:flex;gap:24px;flex-wrap:wrap;justify-content:center;padding:18px 24px;border-top:1px solid rgba(255,255,255,.06);background:#1a1f2e}.seatmap .seatmap-legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#a4b0be}.seatmap .seatmap-legend-swatch{width:24px;height:24px;border-radius:4px;border:2px solid rgba(255,255,255,.1)}.seatmap .seatmap-legend-swatch.available{background:#fff}.seatmap .seatmap-legend-swatch.selected{background:#ec436b}.seatmap .seatmap-legend-swatch.booked{background:#ffffff4d}.seatmap .seatmap-legend-swatch.pwd{background:#fff;border:3px solid #FFA500}.seatmap .seatmap-info-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;padding:16px 24px;background:#141922;border-radius:12px;margin-top:20px;border:1px solid rgba(255,255,255,.06);font-size:13px;color:#a4b0be}.seatmap .seatmap-info-bar strong{color:#fff}@media (max-width: 640px){.seatmap .seatmap-info-bar{flex-direction:column;align-items:flex-start}}.seatmap .seatmap-info-stats{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.seatmap .seatmap-info-divider{margin:0 4px;opacity:.4}.seatmap .seatmap-info-pricing{display:flex;gap:20px}.seatmap .seatmap-info-pricing span{font-weight:700;color:#ec436b}
