.vip-section{background:#f0eee6;border-block:1px solid var(--line)}
.vip-heading{max-width:900px;margin-bottom:28px}.vip-heading h2{font:500 clamp(32px,4.1vw,52px)/1.15 Georgia,serif;color:var(--green2);text-wrap:balance;margin-bottom:20px}.vip-heading p{max-width:730px;color:var(--muted)}
.vip-tabs{display:flex;gap:10px;flex-wrap:wrap}.vip-tabs button{border:1px solid var(--green);color:var(--green);background:transparent;padding:12px 26px;border-radius:99px;font-weight:750;cursor:pointer}.vip-tabs [aria-selected=true]{background:var(--green);color:white}.vip-hint{font-size:14px;color:var(--muted);margin:16px 0 24px}
.vip-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);gap:28px;align-items:start}.vip-map-card{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden;padding:12px}.vip-panel{display:grid;place-items:center}.vip-panel[hidden]{display:none}.vip-plan{position:relative;width:100%}.vip-plan--club{max-width:380px}.vip-plan img{width:100%;height:auto}.vip-hotspot{position:absolute;transform:translate(-50%,-50%);border:2px solid white;background:var(--green);color:white;border-radius:50%;width:clamp(24px,3vw,36px);height:clamp(24px,3vw,36px);padding:0;display:grid;place-items:center;font-size:clamp(11px,1.5vw,15px);font-weight:800;box-shadow:0 1px 5px #0005;cursor:pointer}.vip-hotspot[aria-pressed=true]{background:var(--red);outline:3px solid #d3ad5d;outline-offset:2px;z-index:1}.vip-zoom{display:block;margin:16px auto 4px;padding:9px 16px;min-height:44px;border:1px solid var(--line);background:#fff;border-radius:99px;color:var(--green);font-weight:700;cursor:pointer}
.vip-selection{padding:24px;background:white;border:1px solid var(--line);border-radius:18px}.vip-selection h3{font:500 29px/1.2 Georgia,serif;color:var(--green2);margin-bottom:20px}.vip-table-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.vip-table-option{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:58px;border:1px solid #c9d5cf;background:#f4f7f4;border-radius:10px;color:var(--green2);padding:6px 2px;cursor:pointer}.vip-table-option b{font-size:18px}.vip-table-option small{font-size:10px;line-height:1.3}.vip-table-option[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white}.vip-choice{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-weight:700;color:var(--green2);min-height:90px}.vip-choice span{display:block;font-size:14px;font-weight:400;margin-top:5px}.vip-selection .btn{width:100%;height:auto;line-height:1.4;padding:13px 18px;font-size:15px}.vip-selection .btn:disabled{background:#e5e5de;border-color:#e5e5de;color:#777;cursor:not-allowed}.vip-note{font-size:13px;color:var(--muted);margin:14px 0 0}.vip-fields{grid-template-columns:1fr 1fr;gap:14px;padding:18px;border-radius:12px;background:#f0f5f1}.vip-fields .field{grid-column:auto}.vip-form-capacity,.vip-plan-link{grid-column:1/-1;margin:0;font-size:14px;color:var(--green2)}.vip-plan-link{text-decoration:underline;text-underline-offset:3px;font-weight:650}.vip-form-capacity:empty{display:none}
.vip-dialog{max-width:1100px;width:calc(100% - 24px);max-height:90svh;border:0;border-radius:16px;padding:20px;background:var(--paper);color:var(--green2);overscroll-behavior:contain}.vip-dialog::backdrop{background:#081b16cf}.vip-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.vip-dialog header h2{font:500 28px/1.2 Georgia,serif;margin:0}.vip-dialog header button{min-height:44px;padding:8px 18px}.vip-dialog p{font-size:14px;margin-bottom:14px}.vip-dialog-scroll{max-height:65svh;overflow:auto;overscroll-behavior:contain;background:white;border-radius:8px}.vip-dialog-scroll img{width:100%;min-width:900px;max-width:none;height:auto}.vip-dialog-scroll img[data-zone=club]{min-width:650px;max-width:850px;margin:auto}
@media(max-width:850px){.vip-layout{grid-template-columns:1fr}.vip-selection{padding:20px}.vip-table-list{grid-template-columns:repeat(6,minmax(0,1fr))}.vip-choice{min-height:0;margin-bottom:18px}.vip-plan--club{max-width:350px}.vip-hotspot{width:28px;height:28px;font-size:13px}}
@media(max-width:600px){.vip-tabs button{flex:1;padding:12px 18px}.vip-map-card{padding:6px}.vip-hotspot{width:24px;height:24px;font-size:11px}.vip-table-list{grid-template-columns:repeat(4,minmax(0,1fr))}.vip-fields{grid-template-columns:1fr;padding:14px}.vip-dialog{padding:14px}.vip-dialog header h2{font-size:24px}.vip-dialog header button{font-size:14px;padding:8px 12px}}
.mobile-menu{max-height:calc(100svh - 170px);overflow-y:auto}
body[data-page=vip] main{padding-top:92px}
body[data-page=vip] .vip-section{padding-top:38px}
body[data-page=vip] .form button[type=submit]{height:auto;padding:14px 20px;line-height:1.4;text-align:center}
body[data-page=vip] .vip-heading h1{font:500 clamp(32px,4.1vw,52px)/1.15 Georgia,serif;letter-spacing:normal;color:var(--green2);max-width:100%;text-wrap:balance;margin:0 0 20px}
.vip-back{display:inline-block;color:var(--green);font-size:14px;font-weight:700;margin-bottom:28px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){body[data-page=vip] main{padding-top:78px}body[data-page=vip] .vip-section{padding-top:26px}}

body[data-page=vip]{padding-bottom:0}
