/* Parent seat selection: four houses, five places per house, live ERP occupancy. */
.admission-seat #simulatedContainer{max-width:1120px!important}
.admission-seat #s-seat{background:none;border:0;padding:0;box-shadow:none;color:#121044}
.seat-intro{display:flex;align-items:center;gap:18px;overflow:hidden;background:linear-gradient(110deg,#fff,#f5f2ff);border:1px solid white;border-radius:25px;padding:24px 26px 0;margin-bottom:16px}
.seat-intro>div{flex:1;padding-bottom:24px;min-width:0}
.seat-step{font-size:12px;color:#6240dc;font-weight:700}
.seat-intro h2{font-size:32px;line-height:1.22;letter-spacing:-.7px;font-weight:850;margin:10px 0}
.seat-intro p{font-size:16px;line-height:1.6;color:#66718d;max-width:620px}
.seat-intro img{width:225px;height:175px;object-fit:cover;object-position:top;align-self:flex-end}
.seat-section-card{background:#ffffffdd;border-radius:22px;padding:18px 20px;margin-bottom:16px}
.admission-seat .d-seat-toolbar{display:flex;gap:20px;align-items:stretch;flex-wrap:nowrap;margin:0}
.admission-seat .d-sec-tabs{display:flex;gap:12px;flex:1;flex-wrap:wrap;min-width:0}
.admission-seat .d-sec-tabs button{flex:1;min-width:120px;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;border:1px solid #e0dcff;border-radius:16px;background:#faf9ff;color:#131047;padding:12px;box-shadow:0 3px 9px #5332bb08}
.admission-seat .d-sec-tabs button strong{font-size:21px}
.admission-seat .d-sec-tabs button span{font-size:13px;font-weight:400}
.admission-seat .d-sec-tabs button.active{background:linear-gradient(125deg,#7657ff,#5634ee);color:white;border-color:#5838f9;box-shadow:0 4px 12px #6143ea20}
.seat-availability{display:flex;align-items:center;gap:12px;background:#e0f7ed;border-radius:16px;padding:12px 20px;color:#007b63;min-width:180px}
.seat-availability>.material-symbols-outlined{font-size:35px}
.seat-availability span{font-size:13px}
.seat-availability strong{display:block;font-size:27px;line-height:1.3}
.seat-section-info{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px;font-size:11px;color:#6b7690}
#seatSync{margin-left:auto}
#refreshSeatsBtn{border:0;background:none;color:#5832d6;font-weight:700;cursor:pointer;padding:5px}
.seat-map-card{background:white;border-radius:25px;padding:16px;margin-bottom:18px}
.admission-seat .room{background:linear-gradient(145deg,#fff5dc,#fffaed);border:0;border-radius:20px;padding:18px;box-shadow:none}
.classroom-front{position:relative;min-height:165px;padding:0 125px 38px}
.front-board{display:flex;justify-content:center;align-items:center;gap:14px;min-height:100px;border:9px solid #c48c48;border-radius:10px;background:linear-gradient(150deg,#285a4a,#163c33);box-shadow:inset 0 0 10px #092c2b80,0 4px 3px #b17e3b40;color:white;text-align:center;padding:12px}
.front-board strong{display:block;font-size:23px;line-height:1.3}
.front-board div>span{font-size:15px;color:#d7e7e2}
.front-board>.material-symbols-outlined{font-size:32px}
.teacher-desk{position:absolute;left:2px;bottom:12px;width:165px;height:70px;border:5px solid #ba7935;border-top-width:12px;border-radius:7px;background:repeating-linear-gradient(2deg,#c9904c,#ce9a5d 9px,#c28b4d 10px);box-shadow:0 5px 5px #ab77352b;display:flex;align-items:center;justify-content:center;color:#fff;text-shadow:0 1px 2px #6a3a13;font-size:16px}
.teacher-desk>span{position:absolute;top:-45px;left:12px;font-size:29px;text-shadow:none}
.classroom-door{position:absolute;right:0;bottom:12px;display:flex;flex-direction:column;align-items:center;text-align:center;width:95px;color:#81552b}
.classroom-door>span{font-size:70px;line-height:1}
.classroom-door b{font-size:12px;line-height:1.25}
.admission-seat .houses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}
.admission-seat .house{min-width:0;border:1.5px solid var(--hline);border-radius:20px;padding:14px;background:var(--hbg);transition:box-shadow .15s}
.admission-seat .house.highlighted{box-shadow:0 0 0 3px var(--hc),0 8px 20px #29245418}
.admission-seat .house-h{display:flex;align-items:center;gap:12px;width:100%;border:0;padding:0 0 12px;margin:0;background:none;color:#131047;text-align:left;cursor:pointer}
.admission-seat .house-h .hi{display:flex;align-items:center;justify-content:center;font-size:40px;width:55px;height:55px;border-radius:50%;background:#ffffff90;flex-shrink:0}
.admission-seat .house-h b{display:block;font-size:20px;line-height:1.3;font-weight:800}
.admission-seat .house-h small{display:block;background:none;padding:0;font-size:12px;color:#68728e;font-weight:400;white-space:normal;margin-top:4px}
.admission-seat .hseats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.admission-seat .house .seat{grid-column:auto!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;position:relative;min-width:0;width:100%;height:92px;border:1px solid var(--hline);border-radius:16px;background:white;color:#151347;box-shadow:0 3px 5px #1725500d;font-size:16px;cursor:pointer;opacity:1}
.admission-seat .seat::after{display:none}
.admission-seat .seat .seat-chair{font-size:35px;color:var(--hc);font-variation-settings:'FILL' 1,'wght' 500}
.admission-seat .house .seat.taken{background:#e1e4eb;border-color:#cbd0dc;color:#5d6476;cursor:not-allowed}
.admission-seat .seat.taken .seat-chair{color:#929baa}
.admission-seat .house .seat.held{background:#ffe5ef;border:1px dashed #e57aa3;color:#9e315d;cursor:not-allowed}
.admission-seat .seat.held .seat-chair{color:#e57aa3}
.admission-seat .house .seat.sel{background:linear-gradient(140deg,#795aff,#522cff);color:#fff;border-color:#6943fa;box-shadow:0 4px 10px #6943fa44}
.admission-seat .seat.sel .seat-chair{color:#d3c7ff}
.admission-seat .seat.sel::before{content:'✓';position:absolute;top:5px;right:5px;width:18px;height:18px;background:#fff;border-radius:50%;color:#6240f4;font-size:12px;font-weight:900;line-height:18px;text-align:center}
.admission-seat button:focus-visible{outline:3px solid #8e76ff;outline-offset:3px}
.seat-map-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 0 4px}
.admission-seat .legend{gap:14px;font-size:12px;font-weight:400;color:#68728e}
.admission-seat .legend>span{display:flex;align-items:center;gap:6px}
.admission-seat .legend i{width:20px;height:22px;border:1px solid #b7bed2;border-radius:6px;background:white;margin:0}
.admission-seat .legend i.t{background:#a1a9b9;border-color:#a1a9b9}
.admission-seat .legend i.h{background:#ffc2d8;border:1px dashed #d16b93}
.admission-seat .legend i.s{background:#6340ff;border-color:#6340ff}
#resetSeatBtn{background:#fbfaff;border:1px solid #dddaf5;color:#282056;border-radius:12px;padding:10px 14px;font-size:13px;font-weight:700;cursor:pointer}
.seat-help{font-size:12px;color:#728098;margin:12px 0 0}
.seat-summary{padding:16px 20px 24px;background:#fff;border-radius:24px;margin-bottom:18px}
.seat-summary h3{background:linear-gradient(110deg,#eeebff,#f9f7ff);font-size:24px;font-weight:850;padding:14px 16px;border-radius:14px;margin-bottom:22px}
.seat-summary-body{display:flex;gap:24px;align-items:center;padding:0 12px}
.summary-chair{color:#6846ff;background:#f0ecff;border-radius:50%;font-size:50px;padding:14px}
.seat-summary dl{flex:1;font-size:15px;min-width:0}
.seat-summary dl>div{display:grid;grid-template-columns:125px 1fr;gap:12px;margin-bottom:8px}
.seat-summary dt{color:#6c7690}.seat-summary dd{font-weight:750;overflow-wrap:anywhere}
.seat-selected-note{display:flex;align-items:center;gap:12px;background:#f3f2fa;color:#69748b;border-radius:16px;padding:20px;max-width:45%;font-size:15px}
.seat-selected-note>.material-symbols-outlined{font-size:40px}
.seat-selected-note p{font-size:12px;margin-top:4px;line-height:1.5}
.has-selection .seat-selected-note{background:#e3f8ef;color:#08775b}
#seatErr,#fullBox{background:#fff3df;border:1px solid #f3d7a8;color:#7e511f;border-radius:16px;padding:18px;margin:12px 0;font-size:14px}
#fullBox h3{font-size:19px;font-weight:750;margin-bottom:5px}
.seat-actions{text-align:center;padding:0 12px}
#reserveBtn{display:block;width:100%;border:0;border-radius:16px;min-height:64px;background:linear-gradient(110deg,#7150ff,#5130f3);color:white;font-size:22px;font-weight:750;cursor:pointer;padding:16px}
#reserveBtn:disabled{opacity:.55;cursor:default}
#reserveNote{font-size:13px;color:#6b7793;line-height:1.6;margin:15px auto;max-width:660px}
#backToDetailsBottom{border:0;background:none;font-size:13px;color:#5d43ba;padding:10px;cursor:pointer}
@media(max-width:720px){
 .seat-intro{padding:20px 18px 0;gap:8px}.seat-intro h2{font-size:26px}.seat-intro p{font-size:14px}.seat-intro img{width:140px;height:145px}
 .classroom-front{padding:0 70px 44px;min-height:150px}.front-board{border-width:6px;gap:8px;padding:12px 8px}.front-board strong{font-size:18px}.front-board div>span{font-size:12px}.front-board>.material-symbols-outlined{display:none}.teacher-desk{width:130px;height:55px;font-size:13px}.classroom-door{width:70px}
 .admission-seat .house{padding:10px}.admission-seat .house-h{gap:8px}.admission-seat .house-h b{font-size:16px}.admission-seat .house-h .hi{width:42px;height:42px;font-size:30px}.admission-seat .hseats{gap:5px}.admission-seat .house .seat{height:76px;border-radius:12px;font-size:14px}.admission-seat .seat .seat-chair{font-size:28px}
 .seat-summary-body{padding:0;gap:16px;flex-wrap:wrap}.summary-chair{display:none}.seat-selected-note{max-width:none;flex:1;min-width:190px}.seat-summary dl{min-width:230px}
}
@media(max-width:520px){
 .seat-intro{border-radius:18px;padding:18px;position:relative}.seat-intro>div{padding:0}.seat-intro h2{font-size:25px;max-width:240px;padding-right:20px}.seat-intro p{max-width:none;font-size:13px;padding-right:0}.seat-intro img{position:absolute;right:2px;top:10px;width:88px;height:86px;opacity:.96}.seat-step{font-size:10px;display:block;padding-right:60px}.seat-intro h2{max-width:calc(100% - 48px)}
 .seat-section-card{padding:14px;border-radius:18px}.admission-seat .d-seat-toolbar{flex-wrap:wrap;gap:12px}.admission-seat .d-sec-tabs{width:100%;flex-basis:100%;gap:8px}.admission-seat .d-sec-tabs button{min-width:95px;padding:12px 8px;border-radius:13px}.admission-seat .d-sec-tabs button strong{font-size:18px}.admission-seat .d-sec-tabs button span{font-size:11px}.seat-availability{width:100%;padding:8px 14px;justify-content:space-between;min-width:0}.seat-availability>div{display:flex;align-items:center;gap:14px}.seat-availability strong{font-size:23px}.seat-availability>.material-symbols-outlined{font-size:27px}.seat-section-info{font-size:10px;gap:5px}#seatSync{margin-left:0;flex-basis:calc(100% - 50px)}
 .seat-map-card{padding:10px;border-radius:18px}.admission-seat .room{padding:10px;border-radius:14px}.classroom-front{padding:0 16px 60px;min-height:160px}.front-board strong{font-size:17px}.teacher-desk{width:116px;height:48px;bottom:7px;font-size:12px}.teacher-desk>span{font-size:23px;top:-36px}.classroom-door{width:60px;bottom:7px}.classroom-door>span{font-size:40px}.classroom-door b{font-size:10px}
 .admission-seat .houses{grid-template-columns:1fr;gap:12px}.admission-seat .house{padding:12px;border-radius:16px}.admission-seat .house-h b{font-size:18px}.admission-seat .house-h .hi{width:44px;height:44px;font-size:32px}.admission-seat .hseats{gap:7px}.admission-seat .house .seat{height:77px;font-size:15px}.admission-seat .seat .seat-chair{font-size:31px}.seat-map-footer{gap:12px;padding-top:14px}.admission-seat .legend{gap:10px;font-size:10px}.admission-seat .legend i{width:16px;height:18px}.seat-help{font-size:11px}#resetSeatBtn{font-size:12px;padding:9px 12px}
 .seat-summary{padding:12px 14px 18px;border-radius:18px}.seat-summary h3{font-size:21px;padding:12px;margin-bottom:18px}.seat-summary dl{font-size:14px}.seat-summary dl>div{grid-template-columns:110px 1fr}.seat-selected-note{padding:14px;font-size:14px}.seat-actions{padding:0}#reserveBtn{font-size:18px;min-height:58px}#reserveNote{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.admission-seat *{transition:none!important;scroll-behavior:auto!important}}
.admission-seat .house-h{flex-direction:row}
.admission-seat .house .seat:not(.taken):not(.held):not(.sel){border-color:var(--hline);color:#151347;box-shadow:0 3px 5px #17255012}
.admission-seat .house .seat.sel{transform:none}
@media(max-width:360px){.admission-seat #simulatedContainer{padding:8px}.seat-map-card{padding:6px}.admission-seat .room{padding:4px}.admission-seat .house{padding:8px}.admission-seat .hseats{gap:4px}.seat-intro{padding:14px}.seat-intro h2{font-size:22px}.seat-intro img{width:73px;height:78px}.seat-intro .seat-step{padding-right:50px}.admission-seat .house-h b{font-size:17px}}
.seat-intro img{object-fit:contain;object-position:bottom}
