.dps-wrap{display:flex;justify-content:center;margin:1.4rem 0;font-family:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}































































.dps-seating{position:relative;width:min(760px,96vw);color:#241b45}































































.dps-topbar{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem;align-items:flex-start}































































.dps-badge{display:inline-flex;align-items:center;gap:.32rem;padding:.24rem .66rem;border-radius:999px;color:#fff;font-weight:600;line-height:1.1;background:linear-gradient(135deg,#2c1fbe,#412ddc)}































































.dps-badge__count{font-weight:700;font-size:.9rem;line-height:1}































































.dps-badge__label{font-size:.64rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;line-height:1}































































.dps-badge--total{background:linear-gradient(135deg,#4331c5,#5b42e6)}































































.dps-badge--free{background:linear-gradient(135deg,#1f5dd9,#3b73f0)}































































.dps-area{position:relative;width:100%;padding-top:50%;background:transparent;border:0}































































.dps-area>*{position:absolute}































































.dps-table{top:50%;left:50%;width:60%;height:36%;transform:translate(-50%,-50%);background:#eff1fa;border-radius:16px;border:1px solid rgba(110,98,176,.13)}































































.dps-seat{position:absolute;border:0;background:transparent;padding:0;cursor:pointer;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;text-align:center;gap:.34rem}































































.dps-seat:disabled{cursor:default}































































.dps-seat.top{flex-direction:column-reverse}































































.dps-seat.top .dps-seat__label,.dps-seat.top .dps-seat__name{margin-top:0;margin-bottom:4px;white-space:nowrap}















.dps-seat.bottom .dps-seat__label,.dps-seat.bottom .dps-seat__name{white-space:nowrap}































































.dps-seat__chair{width:20px;height:20px;border-radius:6px;background:linear-gradient(145deg,#cec9e2,#bab3cf);box-shadow:inset 0 0 0 2px rgba(49,35,94,.12);position:relative;transition:transform .2s ease}































































.dps-seat__chair::after{content:"";position:absolute;background:linear-gradient(145deg,#bab3cf,#a9a3bf);box-shadow:inset 0 0 0 1px rgba(49,35,94,.12)}































































.dps-seat.top .dps-seat__chair::after{top:-5px;left:50%;transform:translateX(-50%);width:22px;height:5px;border-radius:4px 4px 2px 2px}































































.dps-seat.right .dps-seat__chair::after{right:-5px;top:50%;transform:translateY(-50%);width:5px;height:22px;border-radius:2px 4px 4px 2px}































































.dps-seat.bottom .dps-seat__chair::after{bottom:-5px;left:50%;transform:translateX(-50%);width:22px;height:5px;border-radius:2px 2px 4px 4px}































































.dps-seat.left .dps-seat__chair::after{left:-5px;top:50%;transform:translateY(-50%);width:5px;height:22px;border-radius:4px 2px 2px 4px}































































.dps-seat__label{display:inline-block;min-width:44px;padding:.12rem .4rem;border-radius:999px;font-size:.62rem;font-weight:600;line-height:1.1;background:#fff;border:1px solid rgba(82,69,140,.18);box-shadow:0 4px 10px rgba(33,22,66,.12);margin-top:4px;white-space:nowrap}































































.dps-seat__name{display:inline-block;padding:0;font-size:.62rem;font-weight:600;color:#322c68;margin-top:4px;white-space:nowrap}































































.dps-seat.is-free:hover .dps-seat__chair{filter:brightness(1.08)}































































.dps-seat.is-taken .dps-seat__chair{background:linear-gradient(145deg,#aca8c3,#9490ad);box-shadow:inset 0 0 0 2px rgba(33,22,66,.24)}































































.dps-seat.is-taken.top .dps-seat__chair{transform:translateY(6px)}































































.dps-seat.is-taken.bottom .dps-seat__chair{transform:translateY(-6px)}































































.dps-seat.is-taken.right .dps-seat__chair{transform:translateX(-6px)}































































.dps-seat.is-taken.left .dps-seat__chair{transform:translateX(6px)}































































.dps-seat.is-taken .dps-seat__label{display:none}































































.dps-seat--gm{pointer-events:none;cursor:default}































































.dps-seat--gm .dps-seat__label{display:inline-flex;align-items:center;justify-content:center;min-width:0;background:transparent;border:0;box-shadow:none;padding:0;color:#3c3670;font-size:.58rem;font-weight:700;margin-top:0}































































.dps-gm,.dps-seat--gm{font-size:.72rem}































































.dps-status{text-align:center;margin-top:.35rem;font-size:.8rem;color:#c23a4a;min-height:.9rem}































































.dps-status:empty{display:none}































































.dps-modal{position:fixed;inset:0;background:rgba(18,13,35,.55);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:999}































































.dps-modal.is-open{opacity:1;pointer-events:auto}































































.dps-modal__box{position:relative;background:#1f2235;color:#e5e8ff;padding:2rem 2.2rem;border-radius:26px 26px 32px 32px;max-width:420px;width:min(92vw,420px);box-shadow:0 32px 80px rgba(17,14,40,.45);border:1px solid rgba(122,132,255,.25)}































































.dps-modal__box h3{margin:0;font-size:1.2rem;font-weight:700;color:#f7f8ff;letter-spacing:.02em}































































.dps-modal__box p{margin:0 0 .75rem;font-size:.86rem;color:#b8bdf4;line-height:1.55}































.dps-modal__intro{margin:.3rem 0 .75rem;font-size:.9rem;color:#d5d9ff;line-height:1.55}































.dps-modal__seat{display:flex;align-items:center;gap:.55rem;margin:.45rem 0 1.05rem;font-size:.9rem;color:#b5baff}































.dps-modal__seat-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8d96e7}































.dps-modal__seat strong{font-size:1.04rem;font-weight:700;color:#fff}































.dps-modal__hint{margin:0 0 1.05rem;font-size:.82rem;color:#b9bff5;line-height:1.55}































.dps-modal__footnote{margin:.2rem 0 1.1rem;font-size:.76rem;color:#8e86bc;line-height:1.5}































































.dps-reserve-form input[type=text]{width:100%;padding:.72rem .95rem;border:1px solid rgba(132,141,255,.45);border-radius:16px;margin:0;font-size:.94rem;color:#f5f7ff;background:#111425;transition:border-color .2s ease,box-shadow .2s ease}































































.dps-reserve-form input[type=text]:focus{outline:none;border-color:#8895ff;box-shadow:0 0 0 3px rgba(122,136,255,.35)}































































.dps-modal__actions{display:flex;flex-direction:column;gap:.65rem;margin-top:1.2rem}































































.dps-btn{border-radius:14px;font-size:1rem;font-weight:600;padding:.75rem 1rem;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .18s ease,box-shadow .18s ease}







.dps-btn__label{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;line-height:1}































































.dps-btn--primary{background:linear-gradient(135deg,#5865f2,#8a5bff);color:#fff;box-shadow:0 16px 34px rgba(88,101,242,.32);width:100%;border:1px solid rgba(255,255,255,.08)}































































.dps-btn--primary:hover{transform:translateY(-2px);box-shadow:0 24px 54px rgba(88,101,242,.45)}































































.dps-btn--ghost{background:transparent;border:1px solid rgba(169,177,255,.4);color:#c5cafc;justify-content:center;width:100%;box-shadow:inset 0 0 0 1px rgba(88,101,242,.25)}































































.dps-btn--ghost:hover{background:rgba(140,148,255,.16);color:#fff;box-shadow:0 0 0 2px rgba(88,101,242,.25)}































































.screen-reader-text{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}































































@media (max-width:1024px){
  .dps-area{padding-top:135%}
  .dps-table{width:50%;height:44%}
}

@media (max-width:900px){































































  .dps-seating{width:min(660px,94vw)}































































  .dps-area{padding-top:62%}































































  .dps-table{width:66%;height:42%}































































}































































@media (max-width:720px){































































  .dps-wrap{margin:1.1rem 0}































































  .dps-seating{width:94vw}































































  .dps-area{padding-top:150%}































































  .dps-table{width:36%;height:54%}
































































  .dps-seat__chair{width:17px;height:17px}































































  .dps-seat__label,.dps-seat__name{min-width:36px;font-size:.58rem}
.dps-seat__tag{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
.dps-seat__badge{display:inline-flex;align-items:center;justify-content:center;font-size:.58rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#6053c9}
.dps-seat--gm .dps-seat__name--gm{font-size:.62rem;font-weight:600;color:#2f2859;margin-top:0}
































































}































































@media (max-width:520px){































































  .dps-area{padding-top:170%}































































  .dps-table{width:32%;height:56%}
































































  .dps-badge{padding:.16rem .5rem}































































  .dps-badge__count{font-size:.8rem}































































  .dps-badge__label{font-size:.58rem}































































  .dps-topbar{flex-direction:column;align-items:flex-start}































































  .dps-seat__label,.dps-seat__name{min-width:32px}































































}































































@media (max-width:420px){































































  .dps-area{padding-top:190%}
  .dps-table{width:30%;height:58%}
































































  .dps-wrap{margin:.85rem 0}































































  .dps-badge{width:100%;justify-content:space-between}































































}































































































































.dps-seat--gm .dps-seat__name{display:inline-block;font-size:.6rem;font-weight:600;color:#3c3670;margin-top:0}































































.dps-seat.bottom .dps-seat__label,.dps-seat.bottom .dps-seat__name{white-space:nowrap}























.dps-seat__text{display:flex;align-items:center;gap:.35rem}







.dps-seat--gm{flex-direction:column;align-items:center}







.dps-seat--gm .dps-seat__text{margin-top:.45rem}







.dps-modal__label{display:block;margin:1rem 0 .45rem;font-size:.8rem;font-weight:600;color:#a3abff;letter-spacing:.04em;text-transform:uppercase}







.dps-reserve-form input[type=text]::placeholder{color:rgba(210,214,255,.58)}







.dps-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.4rem;margin-bottom:1.15rem}















.dps-modal__close{margin-left:auto;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,rgba(47,52,87,.95),rgba(33,38,66,.95));color:#d5d9ff;border:1px solid rgba(132,141,255,.32);font-size:1.3rem;font-weight:700;line-height:1;cursor:pointer;transition:background .22s ease,color .22s ease,transform .18s ease,box-shadow .22s ease}















.dps-modal__close:hover{background:linear-gradient(135deg,rgba(72,77,122,1),rgba(57,62,98,1));color:#fff;box-shadow:0 16px 40px rgba(18,13,38,.45);transform:translateY(-1px)}















.dps-modal__title{display:flex;flex-direction:column;gap:.45rem}















.dps-modal__heading{margin:0;font-size:1.28rem;font-weight:700;color:#f7f8ff;letter-spacing:.018em;line-height:1.32}















.dps-modal__seat-name{font-size:1.02rem;font-weight:700;color:#fff;letter-spacing:.01em}















.dps-modal__subtitle{margin:0;font-size:.82rem;color:#a6adec;line-height:1.45}