/* Vegas Sidekick reusable showtimes conversion module — compact v2 */
.vs-booking-section{background:linear-gradient(180deg,#f8f4ff 0%,#f2eaff 100%);overflow:hidden;padding:42px 0 44px}
.vs-booking-section .wrap{max-width:1080px}
.vs-booking-section>.wrap>.eyebrow{display:none}
.vs-booking-shell{position:relative;border:1px solid #e6dcf5;border-radius:24px;padding:20px 24px 0;background:rgba(255,255,255,.76);box-shadow:0 18px 46px rgba(64,31,94,.09);overflow:hidden;color:#25133f;font-family:Inter,sans-serif}
.vs-booking-pill{width:max-content;max-width:100%;margin:0 auto 9px;padding:7px 12px;border-radius:999px;background:#171225;color:#FFB000;font:800 .7rem/1 'Plus Jakarta Sans',sans-serif;letter-spacing:.09em;text-transform:uppercase;text-align:center}
.vs-booking-copy{text-align:center}
.vs-booking-copy h2{font:800 clamp(2rem,4vw,3rem)/1.05 'Plus Jakarta Sans',sans-serif;color:#17082e;margin:0 0 4px;letter-spacing:-.045em}
.vs-booking-summary{display:flex;flex-direction:column;gap:1px;margin:0;color:#25133f;font-size:.92rem}
.vs-booking-summary strong{font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;color:#7b6e89}
.vs-booking-summary span{color:#645a70}
.vs-day-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:15px 0 13px}
.vs-day{position:relative;min-height:50px;border:1px solid #ded4ea;border-radius:12px;background:#fff;color:#24143b;font:800 .84rem/1 Inter,sans-serif;cursor:pointer}
.vs-day span,.vs-day small{display:block}.vs-day small{margin-top:5px;color:#9b91a5;font-size:.61rem}
.vs-day.is-active{background:linear-gradient(180deg,#7b35ea,#5d20c9);color:#fff;border-color:#6a26dc;box-shadow:0 8px 20px rgba(105,38,220,.22);outline:2px solid rgba(255,255,255,.72);outline-offset:-5px}
.vs-day.is-active:after{content:'✓';position:absolute;right:7px;top:6px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#5d20c9;font:900 .68rem/1 Inter,sans-serif}
.vs-day.is-dark{background:#f3f0f5;color:#99919f;cursor:default}
.vs-time-panel{border:1px solid #e4d9ee;border-radius:18px;background:#fff;box-shadow:0 9px 24px rgba(68,31,95,.055);color:#25133f}
.vs-time-panel:not(.vs-variable-panel){max-width:none;margin:0;padding:14px 16px;display:grid;grid-template-columns:auto minmax(240px,1fr) minmax(220px,.9fr);grid-template-areas:'heading times primary' '. all all';align-items:center;gap:9px 14px}
.vs-time-panel:not(.vs-variable-panel) h3{grid-area:heading;margin:0;color:#25133f;font:800 1rem/1.05 'Plus Jakarta Sans',sans-serif;white-space:nowrap}
.vs-selected-day-context{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.vs-time-grid{grid-area:times;display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:8px}
.vs-time-grid a{display:flex;align-items:center;justify-content:center;min-height:46px;border:2px solid #7a32e7;border-radius:11px;color:#6422cf;text-decoration:none;font-weight:900;background:#fff;font-size:.9rem}
.vs-time-grid a.is-selected{background:#6422cf;color:#fff;box-shadow:0 0 0 3px rgba(100,34,207,.17),0 8px 18px rgba(74,28,144,.18)}
.vs-time-grid a.is-selected:after{content:'✓';margin-left:8px}
.vs-primary-book,.vs-all-dates{display:flex;align-items:center;justify-content:center;text-decoration:none;font-family:'Plus Jakarta Sans',sans-serif;font-weight:900;white-space:nowrap;text-wrap:nowrap;min-width:0}
.vs-primary-book{grid-area:primary;margin:0;min-height:48px;border-radius:12px;padding:10px 16px;background:#FFB000!important;color:#171225!important;box-shadow:0 10px 24px rgba(255,176,0,.28)}
.vs-all-dates{grid-area:all;justify-self:center;display:inline-flex;min-height:0;margin:0;padding:3px 8px;border:0;background:transparent;color:#5e23bd;box-shadow:none;font-size:.82rem;text-decoration:underline;text-underline-offset:3px}
.vs-all-dates:hover,.vs-all-dates:focus-visible{background:transparent;border:0;color:#421486;box-shadow:none}
.vs-variable-panel{max-width:650px;margin:13px auto 0;padding:14px}
.vs-variable-panel .vs-primary-book{margin:0;min-height:50px;width:100%}
.vs-plan-ahead{display:none!important}
.vs-booking-note{display:flex;align-items:center;justify-content:center;gap:8px;margin:11px auto 0;color:#5d526a;font-size:.8rem;text-align:center}
.vs-booking-note strong{color:#25133f}.vs-booking-note i{width:4px;height:4px;border-radius:50%;background:#ff2e7e;flex:0 0 4px}
.vs-booking-art{position:relative;height:92px;margin:16px -24px 0;background:linear-gradient(180deg,#f0e5ff 0%,#c9a8f5 34%,#5c2f89 65%,#1a0c2c 100%);overflow:hidden;isolation:isolate}
.vs-booking-art:before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 9% 20%,rgba(255,255,255,.8) 0 1px,transparent 1.8px),radial-gradient(circle at 25% 14%,rgba(255,255,255,.65) 0 1px,transparent 1.7px),radial-gradient(circle at 43% 24%,rgba(255,255,255,.7) 0 1px,transparent 1.8px),radial-gradient(circle at 70% 16%,rgba(255,255,255,.7) 0 1px,transparent 1.8px),radial-gradient(circle at 88% 28%,rgba(255,255,255,.75) 0 1px,transparent 1.8px),linear-gradient(108deg,transparent 0 24%,rgba(255,255,255,.13) 34%,transparent 45%),linear-gradient(72deg,transparent 0 58%,rgba(255,196,57,.13) 68%,transparent 78%)}
.vs-booking-art:after{content:"";position:absolute;left:7%;right:7%;bottom:9px;height:13px;z-index:3;background:repeating-linear-gradient(90deg,rgba(255,46,126,.8) 0 5px,transparent 5px 11px);mask:linear-gradient(180deg,transparent 0 32%,#000 33%);opacity:.45;transform:skewX(-10deg)}
.vs-art-moon{position:absolute;width:76px;height:76px;border-radius:50%;right:11%;top:5px;z-index:1;background:radial-gradient(circle at 32% 28%,#fffbe7 0 8%,#ffe28b 34%,#ffbf34 66%,#d98c00 100%);box-shadow:0 0 30px rgba(255,190,35,.38),0 0 70px rgba(255,105,180,.14)}
.vs-art-sphere{position:absolute;width:62px;height:62px;border-radius:50%;right:12%;bottom:-18px;z-index:4;background:radial-gradient(circle at 40% 28%,#fff5bd 0 7%,#ffd652 31%,#c88f00 66%,#725000 100%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.18),0 0 20px rgba(255,194,0,.28);overflow:hidden}
.vs-art-sphere:before{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(ellipse at 50% 50%,transparent 0 8px,rgba(75,48,0,.18) 9px 10px),repeating-linear-gradient(90deg,transparent 0 9px,rgba(75,48,0,.14) 10px 11px);mix-blend-mode:multiply}
.vs-art-strip{position:absolute;left:0;right:0;bottom:0;height:50px;z-index:2;display:flex;align-items:flex-end;gap:6px;padding:0 14px}
.vs-art-strip i{position:relative;display:block;flex:1;min-width:0;background:linear-gradient(180deg,#63398d 0%,#3b2058 18%,#13091f 100%);border-radius:5px 5px 0 0;box-shadow:inset 0 4px 0 rgba(255,69,156,.34),0 -4px 12px rgba(74,32,106,.14)}
.vs-art-strip i:after{content:"";position:absolute;inset:8px 20% 4px;background:repeating-linear-gradient(180deg,rgba(255,205,98,.42) 0 2px,transparent 2px 7px);opacity:.62}
.vs-art-strip i:nth-child(1){height:24px}.vs-art-strip i:nth-child(2){height:39px}.vs-art-strip i:nth-child(3){height:31px}.vs-art-strip i:nth-child(4){height:46px}.vs-art-strip i:nth-child(5){height:29px}.vs-art-strip i:nth-child(6){height:41px}.vs-art-strip i:nth-child(7){height:34px}.vs-art-strip i:nth-child(8){height:44px}
@media(max-width:700px){
 .vs-booking-section{padding:34px 0 36px}
 .vs-booking-shell{padding:17px 13px 0;border-radius:20px}
 .vs-booking-pill{font-size:.64rem;padding:7px 10px;margin-bottom:8px}
 .vs-booking-copy h2{font-size:2rem}
 .vs-booking-summary{font-size:.82rem;line-height:1.4}
 .vs-booking-summary strong{font-size:.67rem}
 .vs-day-picker{grid-template-columns:repeat(7,minmax(44px,1fr));gap:5px;margin:13px 0 11px;overflow-x:auto;padding-bottom:1px}
 .vs-day{min-height:48px;font-size:.76rem;border-radius:10px}
 .vs-time-panel:not(.vs-variable-panel){display:block;padding:13px;border-radius:16px}
 .vs-time-panel:not(.vs-variable-panel) h3{margin:0 0 9px;font-size:.92rem}
 .vs-time-grid{gap:7px}
 .vs-time-grid a{min-height:45px;font-size:.88rem}
 .vs-primary-book{margin-top:9px;min-height:50px}
 .vs-all-dates{margin:7px auto 0;font-size:.79rem}
 .vs-variable-panel{margin-top:11px;padding:13px;border-radius:16px}
 .vs-variable-panel .vs-primary-book{margin:0;min-height:50px;font-size:.88rem}
 .vs-booking-note{margin-top:10px;gap:6px;flex-wrap:wrap;font-size:.74rem;line-height:1.35}
 .vs-booking-art{height:76px;margin:13px -13px 0}
 .vs-art-moon{width:62px;height:62px;top:3px}
 .vs-art-sphere{width:50px;height:50px;bottom:-15px}
 .vs-art-strip{height:42px}
}
@media(max-width:420px){.vs-primary-book{font-size:clamp(.78rem,3.7vw,.92rem);padding-inline:clamp(10px,3.5vw,16px)}}
