:root{--bg:#000;--surface:#0c0c0d;--surface-2:#151516;--line:#2b2b2d;--text:#f8f5ef;--muted:#b4b3b1;--accent:#49e2d0;--accent-2:#dbb775}
body,.couch-booking-page{background:#000;color:var(--text)}
.couch-booking-shell{width:min(100%,880px);padding:24px 16px 56px}
.couch-booking-header{padding-bottom:22px;border-bottom:1px solid #252525;gap:12px}
.couch-booking-header img{width:178px;height:120px;object-fit:contain;filter:none}
.couch-booking-header h1{font-size:clamp(32px,5vw,48px);letter-spacing:-1.5px}
.couch-booking-header p{max-width:480px;line-height:1.6}
.orbit-brand{max-width:1200px;margin:auto;padding:10px 24px;border-bottom:1px solid #242424}
.orbit-brand img{display:block;object-fit:contain}
.brand img{object-fit:contain;filter:none}
.brand .brand-logo{width:105px;height:70px}
.booking-date-card{background:#0c0c0d;border:1px solid #39322a;border-radius:12px;padding:20px}
.booking-date-card label,.selected-event-chip span{color:#d8bb87}
.booking-date-toggle{background:#181716;color:#f9ebd4;border:1px solid #635139;border-radius:8px;box-shadow:none}
.selected-event-chip{border-color:#39322a}
.panel,.couch-date-form,.booking-date-picker,.pending-booking-dialog{background:#101011;border-color:#303032;border-radius:14px}
input,select,textarea{background:#090909;border-color:#38383a;color:var(--text);border-radius:7px}
.button{border-radius:8px}.button.primary{background:linear-gradient(110deg,#53e7d0,#83e5d8);color:#072722;border:1px solid #9af2e1;font-weight:750}
.button.secondary{background:#181818;border-color:#444;color:#eee}
.eyebrow{color:#dfbd84}.notice{background:#0b221c;color:#d5f8e6;border-color:#426556;border-radius:10px}
.orbit-map-card{margin:24px auto;background:#050505;border:1px solid #303033;border-radius:16px;overflow:hidden}
.orbit-map-heading{padding:17px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}
.orbit-map-heading span{display:flex;align-items:center;gap:7px;font-size:11px;color:#b8b8b8}
.orbit-map-heading i{width:7px;height:7px;border-radius:50%;background:#8cbaa1}.orbit-map-heading .taken{background:#a16c7a;margin-left:8px}
.orbit-floor-map{position:relative;width:100%;line-height:0}
.orbit-floor-map>img{display:block;width:100%;height:auto;object-fit:contain}
.orbit-spot{position:absolute;transform:translate(-50%,-50%);width:7.2%;height:3.5%;margin:0;line-height:1}
.orbit-map-button{display:block;width:100%;height:100%;padding:0;border:1px solid #50e8d3;background:#071d1cea;color:#9df7e9;font:800 clamp(9px,2.7vw,17px)/1 system-ui,sans-serif;border-radius:5px;cursor:pointer;box-shadow:0 2px 9px #0008}
.orbit-spot.couch .orbit-map-button:not(:disabled):not(.reserved){border:1px solid #8cbaa1;background:#24483a;color:#e1f0e7;box-shadow:none}
.orbit-spot.couch .orbit-map-button:not(:disabled):not(.reserved):hover{background:#365f4c;color:#fff;outline:1px solid #c5ddce;outline-offset:1px}
.orbit-map-button.reserved{background:#2e2026!important;border-color:#996273!important;color:#d7b7c2!important;cursor:not-allowed}
.orbit-map-button.blocked{background:#282a2c!important;border-color:#8c9197!important;color:#d0d3d6!important;cursor:not-allowed}
.orbit-map-heading .blocked-key{background:#8c9197;margin-left:8px}
.orbit-map-button:disabled{position:relative;display:block;min-width:0;max-width:100%;overflow:hidden;box-sizing:border-box}
.orbit-map-button .orbit-status-label{position:absolute;left:50%;top:50%;display:block;transform:translate(-50%,-50%) rotate(-18deg);font:400 clamp(6px,1.2vw,10px)/1.1 system-ui,sans-serif;letter-spacing:.15px;text-transform:none;white-space:nowrap}
.orbit-map-button.blocked .orbit-status-label{font-size:clamp(4.5px,.9vw,8px)}
.orbit-map-button:hover:not(:disabled){background:#4ce2c9;color:#08231e;outline:2px solid #eafff9;outline-offset:2px}
button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:3px}
.orbit-map-hint{padding:0 16px 8px;color:#aaa;font-size:12px;line-height:1.5}
.orbit-extra{margin:20px 0}.orbit-extra>div{display:flex;gap:10px;flex-wrap:wrap}.orbit-extra .orbit-spot{position:static;transform:none;width:auto;min-width:70px;height:44px}.orbit-extra button{padding:8px}
.orbit-dialog{color:#f7f4ee;background:#101011;border:1px solid #736245;border-radius:18px;width:min(480px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto;padding:32px;box-shadow:0 28px 100px #000b}
.orbit-dialog::backdrop{background:#000c;backdrop-filter:blur(7px)}
.orbit-dialog h2{margin:10px 30px 18px 0;font-size:30px;color:#f3d59e;overflow-wrap:anywhere}
.orbit-dialog p{line-height:1.65;color:#d1cfca}.orbit-dialog [data-detail-reservation]{padding:16px;background:#102723;border:1px solid #2e655b;border-radius:10px;color:#acf2dd}
.orbit-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border:1px solid #454545;border-radius:50%;background:#202020;color:#fff;font-size:24px;cursor:pointer;line-height:1}
.orbit-description,.couch-package-description{white-space:pre-line}
.couch-reserve-form{width:100%;max-width:600px;margin:24px auto;scroll-margin-top:20px}
.ticket-option{background:#101a18;border-color:#31564e;border-radius:8px}.ticket-option:has(input:checked){background:#123229;border-color:#51debe}
.event-hero{background:#050505}.event-hero-bg{opacity:.7}
[hidden]{display:none!important}
@media(max-width:600px){.couch-booking-shell{padding:14px 8px 36px}.couch-booking-header img{width:149px;height:100px}.couch-booking-header{padding:0 8px 20px}.orbit-map-heading{padding:13px 10px;flex-wrap:wrap}.orbit-map-card{margin-top:18px;border-radius:12px}.orbit-spot{min-height:22px}.orbit-map-button{border-radius:4px;box-shadow:none}.orbit-dialog{padding:25px 20px}.orbit-brand{padding:8px 14px}.orbit-brand img{width:134px;height:90px}.couch-reserve-form{padding:20px 14px}.orbit-map-hint{font-size:11px;padding-inline:10px}}
