/* Pacha ICONS nights carousel (Tim, 7 Oct 2026) */
.pacha-hero.pe-hero{min-height:auto!important;height:auto!important;padding:calc(var(--navh,64px) + 20px) 0 28px!important;display:block!important;background:#070707}
.pacha-hero.pe-hero .in{max-width:none!important;width:100%!important;padding:0!important;text-align:center}
.pe-wrap{position:relative;width:100%}
.pe-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:6px calc(50% - min(36vw,170px)) 8px;box-sizing:border-box}
.pe-track::-webkit-scrollbar{display:none}
.pe-card{flex:0 0 min(72vw,340px);scroll-snap-align:center;display:flex;flex-direction:column;gap:12px;padding:0;margin:0;border:0;background:transparent;color:#f4ead8;cursor:pointer;text-align:center;opacity:.65;transform:scale(.93);transition:opacity .3s ease,transform .3s ease;-webkit-tap-highlight-color:transparent}
.pe-card.on{opacity:1;transform:none}
.pe-img{display:block;width:100%;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:#151515;box-shadow:0 16px 40px rgba(0,0,0,.55)}
.pe-img img{display:block;width:100%;height:100%;object-fit:cover}
.pe-card.on .pe-img{outline:1px solid rgba(244,234,216,.45);outline-offset:3px}
.pe-meta{display:flex;flex-direction:column;align-items:center;gap:8px;min-height:88px;padding:4px 12px 0}
.pe-date{display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:7px 14px;border-radius:999px;border:1px solid rgba(244,234,216,.4);font-size:11px;font-weight:600;letter-spacing:.14em;text-indent:.14em;text-transform:uppercase}
.pe-title{font-size:18px;font-weight:700;letter-spacing:.02em;line-height:1.2}
.pe-from{font-size:12.5px;opacity:.72}
.pe-dots{display:flex;justify-content:center;gap:0;margin:8px 0 0}
.pe-dot{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;background:transparent;cursor:pointer}
.pe-dot::before{content:"";width:8px;height:8px;border-radius:999px;background:rgba(244,234,216,.35);transition:background .2s,width .2s}
.pe-dot.on::before{background:#f4ead8;width:22px}
.pe-card:focus-visible .pe-img{outline:2px solid #f4ead8;outline-offset:4px}
.pe-dot:focus-visible,.pe-arrow:focus-visible{outline:2px solid #f4ead8;outline-offset:3px}
.pe-card.on .pe-date{background:#f4ead8;color:#111;border-color:#f4ead8}
.pe-arrow:hover{background:#242120;border-color:#f4ead8}
.pe-hint{margin-top:10px;font-size:11px;letter-spacing:.14em;text-indent:.14em;text-transform:uppercase;opacity:.5}
.pe-arrow{display:none;position:absolute;top:calc(min(72vw,340px)*0.625 + 6px);transform:translateY(-50%);z-index:2;width:46px;height:46px;border-radius:50%;border:1px solid rgba(244,234,216,.45);background:rgba(10,10,10,.7);color:#f4ead8;font:400 28px/1 system-ui,sans-serif;cursor:pointer;align-items:center;justify-content:center;padding:0 0 3px}
.pe-prev{left:calc(50% - min(36vw,170px) - 70px)}.pe-next{right:calc(50% - min(36vw,170px) - 70px)}
@media(min-width:821px){.pe-arrow{display:inline-flex}.pe-hint{display:none}}
@media (prefers-reduced-motion:reduce){.pe-card{transition:none}}

@media(max-width:820px){.pacha-hero.pe-hero{padding-bottom:20px!important}.pe-title{font-size:17px}.pe-hint{margin-top:0;letter-spacing:.08em;text-indent:.08em;opacity:.7}}
@media(prefers-reduced-motion:reduce){.pe-dot::before{transition:none}}
.pe-hero .scroll{display:none!important} /* template scroll cue drew a line through the carousel dots (Tim, 7 Oct 2026) */

/* artist logos under the flyers (Tim, 8 Oct 2026) */
.pe-title.pe-logo{display:flex;align-items:center;justify-content:center;min-height:46px}
.pe-title.pe-logo img{display:block;width:auto;max-width:86%;object-fit:contain}

/* flyer spin: one full turn; backface left visible so the reverse shows the flyer mirrored */
.pe-img{transform-style:flat;backface-visibility:visible;-webkit-backface-visibility:visible;will-change:auto}
.pe-img.pe-spin{animation:peSpin .75s cubic-bezier(.45,.05,.25,1) both;will-change:transform}
@keyframes peSpin{0%{transform:perspective(1100px) rotateY(0)}50%{transform:perspective(1100px) rotateY(180deg) scale(.96)}100%{transform:perspective(1100px) rotateY(360deg)}}
@media (prefers-reduced-motion:reduce){.pe-img.pe-spin{animation:none}}

/* the box (Tim, 8 Oct 2026): four flyer faces on a turning cube */
.pe-box-mode{--w:min(72vw,340px)}
.pe-stage{position:relative;width:var(--w);height:calc(var(--w) * 1.25);margin:6px auto 14px;perspective:1100px;perspective-origin:50% 45%;touch-action:pan-y;cursor:grab;outline:none;-webkit-user-select:none;user-select:none}
.pe-stage:active{cursor:grabbing}
.pe-stage:focus-visible{outline:2px solid #f4ead8;outline-offset:6px;border-radius:16px}
.pe-cube{position:absolute;inset:0;transform-style:preserve-3d;transform:translateZ(calc(var(--w) / -2)) rotateY(var(--a,0deg));transition:transform .6s cubic-bezier(.3,.7,.2,1)}
.pe-cube.pe-drag{transition:none}
.pe-cube.pe-intro{transition:transform 1.6s cubic-bezier(.55,.05,.25,1)}
.pe-face{position:absolute;inset:0;border-radius:14px;overflow:hidden;background:#151515;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 16px 40px rgba(0,0,0,.55)}
.pe-face img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.pe-f0{transform:rotateY(0deg) translateZ(calc(var(--w) / 2))}
.pe-f1{transform:rotateY(90deg) translateZ(calc(var(--w) / 2))}
.pe-f2{transform:rotateY(180deg) translateZ(calc(var(--w) / 2))}
.pe-f3{transform:rotateY(270deg) translateZ(calc(var(--w) / 2))}
.pe-card.pe-static{flex:none;width:100%;opacity:1;transform:none;cursor:default}
.pe-arrow[disabled]{opacity:.3;pointer-events:none}
@media (prefers-reduced-motion:reduce){.pe-cube,.pe-cube.pe-intro{transition:none}}

/* swipe cue on the box */
.pe-swipe{position:absolute;left:50%;bottom:16px;z-index:5;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:rgba(10,10,10,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(244,234,216,.35);color:#f4ead8;transform:translate(-50%,8px);opacity:0;pointer-events:none;transition:opacity .35s ease,transform .35s ease}
.pe-swipe.on{opacity:1;transform:translate(-50%,0)}
.pe-swipe i{position:relative;display:block;width:34px;height:2px;border-radius:2px;background:rgba(244,234,216,.3)}
.pe-swipe i::after{content:"";position:absolute;top:50%;left:0;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:#f4ead8;animation:peSwipe 1.1s ease-in-out infinite}
@keyframes peSwipe{0%{transform:translateX(24px)}60%{transform:translateX(0)}100%{transform:translateX(0);opacity:0}}
@media (prefers-reduced-motion:reduce){.pe-swipe i::after{animation:none}}

/* bigger box; the flyer section fills the first screen so Guests + Budget start on the next (Tim, 8 Oct 2026) */
.pe-box-mode{--w:min(86vw,400px,calc((100svh - 360px) / 1.25))}
html body .pacha-hero.pe-hero{min-height:calc(100svh - var(--navh,64px))!important;display:flex!important;flex-direction:column!important;justify-content:center!important;box-sizing:border-box}
html body .pacha-hero.pe-hero .in{width:100%}
.pe-box-mode .pe-arrow{top:calc(var(--w) * .625 + 6px)}
.pe-box-mode .pe-prev{left:calc(50% - var(--w) / 2 - 70px)}
.pe-box-mode .pe-next{right:calc(50% - var(--w) / 2 - 70px)}

/* v2 (Tim, 8 Oct 2026): bigger again; size to the large viewport (iOS Safari's floating toolbar sits over the page) */
.pe-box-mode{--w:min(92vw,460px,calc((100vh - 300px) / 1.25))}
@supports (height:100lvh){.pe-box-mode{--w:min(92vw,460px,calc((100lvh - 300px) / 1.25))}}
html body .pacha-hero.pe-hero{min-height:calc(100vh - var(--navh,64px))!important;padding-top:12px!important;padding-bottom:12px!important}
@supports (height:100lvh){html body .pacha-hero.pe-hero{min-height:calc(100lvh - var(--navh,64px) + 24px)!important}}
.pe-box-mode .pe-stage{margin:4px auto 12px}

/* artist logo above "Not available" under the plan */
.pk-plan-artist{display:flex;align-items:center;justify-content:center;min-height:48px;margin:18px 16px 2px}
.pk-plan-artist img{display:block;width:auto;max-width:70%;object-fit:contain}
.pk-plan-artist span{font-size:20px;font-weight:700;letter-spacing:.04em;color:#f4ead8}

/* ---------- desktop (Tim, 8 Oct 2026) ---------- */
.pk-side{display:none}
.pe-nav{display:contents}
@media (min-width:1100px){
 html body .pacha-hero.pe-hero{min-height:0!important;padding-top:40px!important;padding-bottom:36px!important}
 .pe-box-mode{--w:min(440px,calc((100vh - 330px) / 1.25));--pk-logo-k:1.6;display:grid;grid-template-columns:var(--w) minmax(320px,440px);grid-template-rows:1fr auto auto 1fr;grid-template-areas:"stage ." "stage meta" "stage nav" "stage .";column-gap:88px;justify-content:center;align-items:center}
 .pe-box-mode .pe-stage{grid-area:stage;margin:0}
 .pe-box-mode .pe-static{grid-area:meta}
 .pe-box-mode .pe-meta{gap:16px;min-height:0}
 .pe-box-mode .pe-date{font-size:12px;padding:10px 18px}
 .pe-box-mode .pe-title:not(.pe-logo){font-size:30px}
 .pe-box-mode .pe-title.pe-logo{min-height:72px}
 .pe-box-mode .pe-from{font-size:15px}
 .pe-box-mode .pe-nav{grid-area:nav;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:22px}
 .pe-box-mode .pe-nav .pe-arrow{position:static;transform:none;display:inline-flex;flex:none}
 .pe-box-mode .pe-dots{margin:0}
 .pe-box-mode .pe-hint{display:none}
 /* plan left, price panel (or the "Pick your table" card) right, both in view */
 html body .panel{grid-template-columns:minmax(0,1fr) 400px!important;grid-template-rows:auto!important;column-gap:28px!important;align-items:start!important}
 html body .panel>#planSection{grid-column:1!important;grid-row:1!important;margin:0!important}
 html body .panel>#summary{grid-column:2!important;grid-row:1!important;position:sticky!important;top:calc(var(--navh,74px) + 16px)!important;align-self:start!important;max-height:calc(100vh - var(--navh,74px) - 32px);overflow:auto;margin:0!important}
 html body .panel>.pk-side{grid-column:2;grid-row:1;position:sticky;top:calc(var(--navh,74px) + 16px);align-self:start;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:36px 28px;border:1px solid rgba(244,234,216,.16);border-radius:18px;background:#141416}
 html body .panel.pk-has-sel>.pk-side{display:none}
 .pk-side-art{display:flex;align-items:center;justify-content:center;min-height:56px;font-size:24px;font-weight:700;color:#f4ead8}
 .pk-side-art img{display:block;width:auto;max-width:80%}
 .pk-side h3{margin:6px 0 0;font-size:22px;font-weight:700;letter-spacing:.02em;color:#f4ead8;font-style:normal}
 .pk-side p{margin:0;font-size:14px;line-height:1.6;color:rgba(244,234,216,.72)}
 html body .panel>#summary .s-row{flex-direction:column!important;align-items:stretch!important;gap:18px!important}
 html body .panel>#summary .s-l{width:100%!important;max-width:none!important}
 html body .panel>#summary .s-row button{width:100%!important}
}

/* night switcher under the plan */
.pk-plan-artist{display:grid!important;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.pk-pa-name{display:flex;align-items:center;justify-content:center;min-height:48px;overflow:hidden}
.pk-pa-name img{display:block;width:auto;max-width:100%;object-fit:contain}
.pk-pa-name span{font-size:20px;font-weight:700;letter-spacing:.04em;color:#f4ead8}
.pk-pa-arrow{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid rgba(244,234,216,.35);background:rgba(10,10,10,.55);color:#f4ead8;font:400 26px/1 system-ui,sans-serif;cursor:pointer;text-indent:0}
.pk-pa-arrow:hover{border-color:#f4ead8}
.pk-pa-arrow[disabled]{opacity:.25;pointer-events:none}
.pk-pa-in-r{animation:pkPaR .35s ease both}.pk-pa-in-l{animation:pkPaL .35s ease both}
@keyframes pkPaR{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes pkPaL{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.pk-pa-in-r,.pk-pa-in-l{animation:none}}

/* switcher sized to the rest of the plan section (Tim, 8 Oct 2026) */
.pk-plan-artist{grid-template-columns:32px 1fr 32px!important;gap:10px!important;min-height:36px!important;margin:14px 16px 0!important}
.pk-pa-name{min-height:34px}
.pk-pa-name span{font-size:15px;letter-spacing:.06em}
.pk-pa-arrow{width:32px;height:32px;font-size:20px;border-color:rgba(244,234,216,.25);background:transparent}

/* desktop top, tidied: flyer left; date, artist, price, nav, then Guests + Budget in one column on the right */
@media (min-width:1100px){
 .pe-box-mode{grid-template-columns:var(--w) 400px;grid-template-rows:1fr auto auto auto 1fr;grid-template-areas:"stage ." "stage meta" "stage nav" "stage ctl" "stage .";column-gap:96px}
 .pe-box-mode .controls{grid-area:ctl;display:grid!important;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:none!important;margin:34px 0 0!important;padding:0!important;text-align:left}
 .pe-box-mode .controls .field{min-width:0;margin:0!important;width:auto!important}
 html.pk-ctl-up header.hero{display:none!important}
 html body .pacha-hero.pe-hero{padding-top:56px!important;padding-bottom:56px!important}
 html body .panel{margin-top:8px}
}
/* closing: full-screen photo band like Billionaire's (Tim, 8 Oct 2026) */
html body section.closing{display:flex!important;position:relative;overflow:hidden;align-items:center;justify-content:center;text-align:center;min-height:80vh!important}
@media (min-width:821px){html body section.closing{min-height:100vh!important}}

/* desktop v3: the flyer section fills the first screen, bigger box, scroll cue to the plan */
.pk-down{display:none}
@media (min-width:1100px){
 html body .pacha-hero.pe-hero{position:relative;min-height:calc(100vh - var(--navh,74px))!important;padding-top:28px!important;padding-bottom:96px!important}
 .pe-box-mode{--w:min(580px,calc((100vh - var(--navh,74px) - 150px) / 1.25));--pk-logo-k:1.9;grid-template-columns:var(--w) 440px;column-gap:110px}
 .pe-box-mode .pe-date{font-size:13px;padding:11px 20px}
 .pe-box-mode .pe-from{font-size:17px}
 .pe-box-mode .pe-title.pe-logo{min-height:90px}
 .pe-box-mode .controls{margin-top:40px!important}
 .pk-down{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:inline-flex;flex-direction:column;align-items:center;gap:6px;padding:6px 14px;border:0;background:none;color:rgba(244,234,216,.9);font:600 12px/1 Manrope,system-ui,sans-serif;letter-spacing:.18em;text-indent:.18em;text-transform:uppercase;cursor:pointer}
 .pk-down:hover{color:#f4ead8}
 .pk-down svg{animation:pkDown 1.6s ease-in-out infinite}
}
@keyframes pkDown{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media (prefers-reduced-motion:reduce){.pk-down svg{animation:none}}

/* Good to know, full width like Billionaire: photo left, questions right (Tim, 8 Oct 2026) */
@media (min-width:821px){
 html body section.faq{display:grid!important;grid-template-columns:minmax(0,42%) minmax(0,58%)!important;align-items:stretch!important;max-width:none!important;width:100%!important;padding:0!important}
 html body section.faq .faq-img{display:block!important;min-height:100%}
 html body section.faq .faq-in{max-width:none!important;width:auto!important;margin:0!important;padding:clamp(48px,6vw,96px) clamp(28px,5vw,88px)!important}
}
@media (max-width:820px){html body section.faq .faq-img{display:none!important}}
