:root{--plum:#4f0241;--pink:#fed0e8;--orange:#f25c2e;--cream:#fff9f6;--ink:#3b1830}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Quicksand',sans-serif;font-size:16px;line-height:1.7}a{color:inherit}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.05em}h1,h2,h3,p{margin-top:0}button,select{font:inherit}
.book-hero{position:relative;min-height:680px;isolation:isolate;display:flex;align-items:center;color:#fff;overflow:hidden;background:var(--plum)}.book-hero-art{position:absolute;inset:0;z-index:-2;background:url('../assets/media/71e279081410fd57-web.webp') 67% 49%/cover no-repeat}.book-hero::after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(32,6,24,.93),rgba(43,8,36,.77) 42%,rgba(43,8,36,.23))}.book-hero-inner{width:min(1150px,calc(100% - 80px));margin:0 auto;padding:160px 0 90px}.book-back{display:inline-block;color:#ffe5e7;font-size:13px;font-weight:700;text-decoration:none;margin:0 0 41px}.book-back:hover{text-decoration:underline}.book-overline,.book-eyebrow{font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.book-overline{color:#fed0e8;margin:0 0 12px}.book-hero h1{font-size:clamp(65px,9.6vw,135px);line-height:.99;max-width:820px;margin:0 0 19px}.book-hero h1 em{font-style:italic;color:#ffcedd;font-weight:400}.book-hero-sub{font-size:clamp(19px,2vw,26px);margin-bottom:23px}.book-event-line,.book-event-place{font-size:17px;margin:0;font-weight:600}.book-event-line span{padding:0 12px;color:#fed0e8}.book-event-place{font-size:15px;font-weight:500;opacity:.94}
.booking-content{background:linear-gradient(135deg,#fff9f6,#ffecf3);padding:115px 0 125px}.booking-shell{width:min(1150px,calc(100% - 80px));margin:0 auto;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(70px,10vw,145px);align-items:start}.book-intro{padding-top:19px}.book-eyebrow{color:#a94c77;margin-bottom:19px}.book-intro h2,.helper-section h2,.booking-faq h2{font-size:clamp(55px,6vw,85px);line-height:1.05;margin-bottom:23px;color:var(--plum)}.book-intro h2 em,.helper-section h2 em{color:#db6794;font-style:italic}.book-intro>p:last-child{font-size:19px;max-width:390px;color:#614257}.booking-form{border-top:2px solid var(--plum);padding-top:25px}.booking-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid #d8b8c8;padding-bottom:20px}.booking-head .book-eyebrow{margin:0 0 3px}.booking-head h2{font-size:clamp(40px,4.8vw,62px);line-height:1;margin:0;color:var(--plum)}.booking-places{text-align:right;font-size:14px;font-weight:700;margin:0;color:var(--plum)}.booking-places small{display:block;font-weight:500;color:#7b6372;font-size:12px;margin-top:3px}.ticket-price-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 0 20px}.ticket-status{font-family:'Playfair Display',Georgia,serif;color:var(--plum);font-size:clamp(26px,3vw,38px);line-height:1.13}.ticket-name p{margin:7px 0 0;color:#815c70;font-size:14px}.ticket-price{font-family:'Playfair Display',Georgia,serif;font-size:46px;font-weight:400;line-height:1;color:var(--plum);text-align:right;white-space:nowrap}.ticket-price small{display:block;font:500 12px/2 'Quicksand',sans-serif;color:#815c70}.price-rule{font-size:13px;color:#76596a;line-height:1.6;padding-bottom:23px;border-bottom:1px solid #e4cbd6}.quantity-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:27px 0 28px}.quantity-row label{font-weight:700;color:var(--plum);font-size:14px}.quantity-row select{appearance:auto;width:90px;border:1px solid #ad8da0;background:#fff;color:var(--plum);padding:10px 12px;border-radius:4px;cursor:pointer}.ticket-total{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #d8b8c8;padding:22px 0 10px}.ticket-total span{font-weight:600;font-size:14px}.ticket-total strong{font:400 33px/1.2 'Playfair Display',Georgia,serif;color:var(--plum)}.fee-note,.book-security{font-size:12px;line-height:1.65;color:#775d6f}.fee-note{margin:0 0 23px}.booking-notice{border-left:3px solid #d66d9e;padding:12px 15px;margin:0 0 20px;background:#fff6f8;color:#65435a}.booking-notice strong{font-size:13px;color:var(--plum)}.booking-notice p{font-size:13px;line-height:1.6;margin:4px 0 0}.book-main-cta{display:block;width:100%;text-align:center;border-radius:50px;background:var(--orange);color:#fff;text-decoration:none;font-size:15px;font-weight:700;padding:18px 21px}.book-main-cta:hover{background:#db4d26}.book-security{text-align:center;margin:11px 0 0}.helper-section{background:#f6dfea;padding:100px 0}.helper-shell{width:min(1150px,calc(100% - 80px));margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.helper-copy{font-size:18px;color:#5d3953}.helper-copy p{margin:0 0 21px}.helper-copy strong{color:var(--plum)}.helper-link{font-size:14px;font-weight:700;color:var(--plum);text-decoration:underline;text-underline-offset:5px}.booking-faq{padding:100px 0;background:#fffaf8}.booking-faq-shell{width:min(1150px,calc(100% - 80px));margin:0 auto;display:grid;grid-template-columns:.75fr 1.25fr;gap:10%}.booking-faq details{border-bottom:1px solid #ead2da;padding:19px 0}.booking-faq details:first-child{border-top:1px solid #ead2da}.booking-faq summary{font-weight:700;color:var(--plum);cursor:pointer}.booking-faq details p{margin:11px 0 0;color:#6c4c62;font-size:15px}.booking-close{background:var(--plum);color:#fff;padding:100px 0;text-align:center}.booking-close>div{width:min(880px,calc(100% - 40px));margin:auto}.booking-close h2{font-size:clamp(53px,6.3vw,94px);line-height:1.05;margin-bottom:16px}.booking-close h2 em{font-style:italic;color:#fed0e8}.booking-close p{font-size:18px;margin:0 auto 26px;max-width:560px}.booking-close-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px}.booking-close-actions a{border:1px solid #ffd9ed;border-radius:50px;padding:12px 23px;font-weight:700;font-size:13px;text-decoration:none}.booking-close-actions a:first-child{background:#fff5f8;color:var(--plum)}.booking-close-actions a:hover{opacity:.85}
@media(max-width:900px){.booking-shell,.helper-shell{grid-template-columns:1fr;gap:38px}.book-intro h2{max-width:700px}.book-intro>p:last-child{max-width:630px}.booking-faq-shell{grid-template-columns:1fr;gap:20px}}@media(max-width:640px){.book-hero{min-height:640px}.book-hero-inner{width:calc(100% - 36px);padding:144px 0 65px}.book-hero h1{font-size:clamp(56px,13vw,87px)}.book-event-line{font-size:15px}.book-event-place{font-size:14px}.booking-content{padding:75px 0}.booking-shell,.helper-shell,.booking-faq-shell{width:calc(100% - 40px)}.book-intro h2,.helper-section h2{font-size:clamp(52px,12vw,75px)}.booking-head{flex-direction:column;gap:16px}.booking-places{text-align:left}.ticket-price{font-size:40px}.ticket-status{font-size:28px}.helper-section,.booking-faq{padding:73px 0}.booking-close{padding:74px 0}.booking-close-actions{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* If a date is past, the old ticket picker must not resemble active checkout. */
.booking-form.booking-passed .ticket-price-row,
.booking-form.booking-passed .price-rule,
.booking-form.booking-passed .quantity-row,
.booking-form.booking-passed .ticket-total,
.booking-form.booking-passed .fee-note,
.helper-section.booking-passed{display:none!important}
.booking-form.booking-passed .booking-notice{margin-top:24px}

/* V13: compact, photo-free booking entry. The Journey page retains the full cinematic hero. */
.dj-page-inner-lover-booking .booking-content{padding:76px 0 100px;background:linear-gradient(120deg,#fffaf8,#fff1f5)}
.dj-page-inner-lover-booking .booking-shell{gap:clamp(38px,6.2vw,92px);grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)}
.dj-page-inner-lover-booking .book-intro{padding-top:0}
.dj-page-inner-lover-booking .book-intro .book-back{color:#74475f;font-size:13px;margin-bottom:31px}
.dj-page-inner-lover-booking .book-intro .book-back:hover{color:#4f0241}
.dj-page-inner-lover-booking .book-intro h1{font-size:clamp(56px,6.9vw,95px);line-height:1.02;color:#4f0241;letter-spacing:-.052em;margin:5px 0 26px;font-weight:400}
.dj-page-inner-lover-booking .book-intro h1 em{font-style:italic;color:#ce6496}
.dj-page-inner-lover-booking .book-intro .book-event-line{font-size:16px;font-weight:700;color:#4f0241;margin:0}
.dj-page-inner-lover-booking .book-intro .book-event-line span{color:#c26497;padding:0 8px}
.dj-page-inner-lover-booking .book-intro .book-event-place{font-size:15px;font-weight:600;color:#734d64;margin:3px 0 24px}
.dj-page-inner-lover-booking .book-intro .book-intro-description{font-size:17px;line-height:1.76;color:#62465a;max-width:425px;margin:0}
.dj-page-inner-lover-booking .book-intro-description a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.dj-page-inner-lover-booking .booking-shell{grid-template-columns:1fr;gap:46px}}
@media(max-width:640px){.dj-page-inner-lover-booking .booking-content{padding:37px 0 70px}.dj-page-inner-lover-booking .book-intro .book-back{margin-bottom:23px}.dj-page-inner-lover-booking .book-intro h1{font-size:clamp(52px,12vw,72px);margin:5px 0 18px}.dj-page-inner-lover-booking .book-intro .book-intro-description{font-size:15px}.dj-page-inner-lover-booking .booking-shell{gap:30px}}
