.book-page{display:grid;gap:34px;margin:0 auto;max-width:1180px;min-width:0;padding:24px 16px calc(var(--bottom-nav-height, 72px) + 36px);width:100%}.book-page__title h1{font-size:28px;line-height:1;margin:0 0 8px}.book-page__back{align-items:center;color:var(--primary);display:inline-flex;font-size:13px;font-weight:850;gap:6px;margin:0 0 14px;text-decoration:none}.book-page__back:hover{text-decoration:underline}.book-kicker{color:var(--primary);font-size:12px;font-weight:900;letter-spacing:.04em;margin:0 0 8px;text-transform:uppercase}.book-feature-card small,.book-page__title p{color:var(--muted-foreground)}.book-category-card,.book-category-list{display:grid;gap:14px}.book-category-card{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;min-height:86px;padding:16px;text-decoration:none;transition:border-color .16s ease,transform .16s ease}.book-category-card:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));transform:translateY(-1px)}.book-category-card.is-disabled{cursor:default;opacity:.72}.book-category-card.is-disabled:hover{border-color:var(--border);transform:none}.book-category-card.is-active{border-color:color-mix(in srgb,var(--primary) 42%,var(--border))}.book-category-card__icon{align-items:center;background:var(--secondary);border-radius:16px;color:var(--primary);display:flex;height:54px;justify-content:center;width:100%;width:54px}.book-category-card__copy{display:grid;gap:5px;min-width:0}.book-category-card__copy>span{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.book-category-card strong{color:var(--foreground);font-size:18px}.book-category-card em{background:color-mix(in srgb,var(--primary) 10%,#fff);border-radius:999px;color:var(--primary);font-size:11px;font-style:normal;font-weight:800;padding:4px 8px}.book-section{display:grid;gap:16px}.book-section__head{align-items:center;display:flex;gap:12px;justify-content:space-between;min-width:0}.book-section__head h2{font-size:21px;margin:0;min-width:0}.book-section__head a{align-items:center;color:var(--primary);flex:0 0 auto;display:inline-flex;font-weight:850;gap:4px;text-decoration:none;white-space:nowrap}.book-featured-row{display:flex;gap:18px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none}.book-featured-row::-webkit-scrollbar{display:none}.book-feature-card{color:inherit;display:grid;flex:0 0 260px;gap:7px;min-width:0;text-decoration:none}.book-feature-card__image{aspect-ratio:4/3;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.72)),var(--secondary);background-position:50%;background-size:cover;border-radius:18px;display:block;overflow:hidden;position:relative}.book-feature-card__image img{display:block;height:100%;object-fit:cover;width:100%}.book-feature-card__image:after{background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.72));content:"";inset:0;pointer-events:none;position:absolute}.book-feature-card__image .status-pill{background:#fffdf9;border-color:rgba(181,78,66,.28);box-shadow:0 8px 18px rgba(23,20,18,.14);color:var(--primary);left:12px;position:absolute;top:12px;z-index:1}.book-feature-card__image em{background:rgba(255,255,255,.88);border-radius:12px;bottom:12px;color:var(--foreground);font-size:13px;font-style:normal;font-weight:850;left:12px;padding:8px 12px;position:absolute;z-index:1}.book-feature-card strong{color:var(--foreground);display:-webkit-box;font-size:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.25;overflow:hidden}.book-feature-card>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-empty-card{background:var(--card);border:1px dashed var(--border);border-radius:18px;color:var(--muted-foreground);display:grid;flex:1 1 320px;gap:7px;min-height:160px;padding:22px;place-content:center;text-align:center}.book-empty-card strong{color:var(--foreground);font-size:18px}.book-empty-card--large{min-height:260px}.book-search-shell{align-items:center;background:var(--secondary);border:1px solid var(--border);border-radius:18px;color:var(--muted-foreground);display:flex;gap:12px;min-height:56px;padding:0 18px}.book-event-list,.book-event-section{display:grid;gap:14px}.book-event-section--past,.book-event-section--upcoming{border:1px solid var(--border);border-radius:22px;padding:16px}.book-event-section--upcoming{background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 7%,transparent),transparent 44px),var(--card);border-color:color-mix(in srgb,var(--primary) 24%,var(--border))}.book-event-section--past{background:color-mix(in srgb,var(--secondary) 56%,var(--card))}.book-event-section--past[open]{gap:16px}.book-event-section--past .book-event-section__head h2{color:color-mix(in srgb,var(--foreground) 78%,var(--muted-foreground))}.book-event-section__summary{align-items:center;cursor:pointer;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;list-style:none}.book-event-section__summary::-webkit-details-marker{display:none}.book-event-section__summary>svg{color:var(--muted-foreground);transition:transform .16s ease}.book-event-section--past[open] .book-event-section__summary>svg{transform:rotate(90deg)}.book-event-section__collapse{display:grid;gap:14px}.book-event-section__head{align-items:end;display:flex;gap:14px;justify-content:space-between}.book-event-section__head span{display:grid;gap:4px}.book-event-section__head h2{color:var(--foreground);font-size:21px;line-height:1.2;margin:0}.book-event-section__head em,.book-event-section__head small{color:var(--muted-foreground)}.book-event-section__head em{background:var(--secondary);border:1px solid var(--border);border-radius:999px;font-size:12px;font-style:normal;font-weight:850;padding:7px 10px;white-space:nowrap}.book-event-card{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:20px;color:inherit;display:grid;gap:18px;grid-template-columns:160px minmax(0,1fr) auto;min-width:0;padding:14px;text-decoration:none}.book-event-card:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.book-event-card--past{background:color-mix(in srgb,var(--secondary) 48%,var(--card))}.book-event-card--past .book-event-card__image{filter:saturate(.78)}.book-event-card__image{aspect-ratio:4/3;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.72)),var(--secondary);background-position:50%;background-size:cover;border-radius:16px;display:block;overflow:hidden;position:relative}.book-event-card__image img{display:block;height:100%;object-fit:cover;width:100%}.book-event-card__image:after{background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.72));content:"";inset:0;pointer-events:none;position:absolute}.book-event-card__image em{background:rgba(255,255,255,.9);border-radius:12px;bottom:10px;color:var(--foreground);font-size:13px;font-style:normal;font-weight:850;left:10px;padding:7px 10px;position:absolute;z-index:1}.book-event-card__body{display:grid;gap:8px;min-width:0}.book-event-card__body strong{color:var(--foreground);display:-webkit-box;font-size:22px;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.15;overflow:hidden}.book-event-card__body small,.book-event-card__line,.book-event-card__meta{color:var(--muted-foreground)}.book-event-card__body small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.35;overflow:hidden}.book-event-card__line,.book-event-card__meta{align-items:center;display:flex;flex-wrap:wrap;gap:7px;min-width:0}.event-interest-panel{background:color-mix(in srgb,var(--warning) 12%,var(--card));border:1px solid color-mix(in srgb,var(--warning) 28%,var(--border));border-radius:8px;display:grid;gap:12px;padding:14px}.event-interest-panel strong{color:var(--foreground);font-size:16px}.event-interest-panel p{color:var(--muted-foreground);line-height:1.45;margin:0}.event-interest-panel textarea{background:var(--input);border:1px solid var(--border);border-radius:8px;color:var(--foreground);font:inherit;min-height:88px;padding:12px;resize:vertical;width:100%}.book-reservation-list{display:grid;gap:12px}.book-reservation-card{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:18px;color:inherit;display:grid;gap:14px;grid-template-columns:auto minmax(0,1fr) auto;min-height:82px;padding:14px;text-decoration:none}.book-reservation-card__image{background:var(--secondary);background-position:50%;background-size:cover;border-radius:14px;display:block;height:56px;overflow:hidden;width:56px}.book-reservation-card__image img{display:block;height:100%;object-fit:cover;width:100%}.book-reservation-card>span:not(.book-reservation-card__image){display:grid;gap:4px;justify-items:start;min-width:0}.book-reservation-card .status-pill{width:fit-content}.book-reservation-card__badges{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.book-reservation-card strong{color:var(--foreground)}.book-reservation-card small{align-items:center;color:var(--muted-foreground);display:flex;flex-wrap:wrap;gap:6px}.joint-ticket-box{background:color-mix(in srgb,var(--primary) 8%,#fff);border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));border-radius:16px;display:grid;gap:8px;margin-top:12px;padding:12px}.joint-ticket-box strong{display:block}@media (max-width:720px){.book-event-card{gap:12px;grid-template-columns:1fr}.book-event-card__image{aspect-ratio:16/9}.book-event-card>svg{display:none}}.joint-ticket-box label{color:var(--muted-foreground);display:grid;font-size:12px;font-weight:850;gap:6px}.event-booking-page{background:var(--background);color:var(--foreground);min-height:calc(100dvh - var(--app-header-height, 64px));position:relative}.app-shell:has(.event-booking-page)>.bottom-nav{display:none}.app-shell:has(.event-booking-page) .app-shell__content{max-width:none;padding-left:0;padding-right:0}.event-booking-poster-panel{background:#050505;min-height:68vh;position:relative}.event-booking-back{align-items:center;background:rgba(255,255,255,.1);border-radius:999px;color:#fff;display:inline-flex;height:42px;justify-content:center;left:18px;position:absolute;text-decoration:none;top:18px;transition:background .16s ease,transform .16s ease;width:42px;z-index:3}.event-booking-back:hover{background:rgba(255,255,255,.18);transform:translateX(-1px)}.event-booking-poster{height:100%;min-height:68vh;overflow:hidden;position:relative}.event-media-carousel{display:grid;gap:12px;height:100%;min-height:68vh;width:100%}.event-media-carousel__track{display:flex;height:100%;min-height:68vh;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.event-media-carousel__track::-webkit-scrollbar{display:none}.event-media-carousel__slide{flex:0 0 100%;scroll-snap-align:center}.event-media-carousel__dots{display:flex;gap:7px;justify-content:center}.event-media-carousel__dots span{background:rgba(255,255,255,.48);border-radius:999px;height:7px;width:7px}.event-media-carousel__dots span:first-child{background:#fff;width:20px}.event-booking-poster img,.event-booking-poster video{display:block;height:100%;min-height:68vh;width:100%}.event-booking-poster img{background:#050505;object-fit:contain}.event-booking-poster video{object-fit:cover}.event-booking-poster:after{background:linear-gradient(180deg,rgba(5,5,5,0) 55%,rgba(5,5,5,.52));content:"";inset:0;pointer-events:none;position:absolute}.event-booking-poster__category{background:#ff5aa8;border-radius:999px;color:#fff;font-size:12px;font-weight:900;left:16px;letter-spacing:.03em;padding:7px 12px;position:absolute;text-transform:uppercase;top:16px;z-index:2}.event-booking-poster__placeholder{align-items:center;background:radial-gradient(circle at 38% 22%,rgba(181,78,66,.36),transparent 30%),linear-gradient(140deg,#1b1716,#050505);color:#fff;display:flex;height:100%;min-height:68vh;object-fit:cover;font-size:clamp(28px,8vw,74px);font-weight:900;justify-content:center;line-height:.95;width:100%;padding:34px;text-align:center}.event-booking-content{background:var(--background);border-radius:28px 28px 0 0;margin-top:-28px;position:relative;z-index:2}.event-booking-card{display:grid;gap:24px;margin:0 auto;max-width:650px;padding:28px 16px calc(var(--bottom-nav-height, 72px) + 42px)}.event-booking-card>.status-pill{justify-self:start}.event-booking-card h1{font-size:clamp(26px,7vw,40px);line-height:1.02;margin:-10px 0 0}.event-booking-card h2{font-size:17px;line-height:1.1;margin:0}.event-booking-meta{display:flex;flex-wrap:wrap;gap:10px}.event-booking-meta span{align-items:center;background:var(--secondary);border-radius:999px;color:var(--foreground);display:inline-flex;font-size:13px;font-weight:750;gap:7px;padding:8px 11px}.event-booking-meta svg,.event-location-box svg,.event-promo-note svg{color:var(--primary);flex:0 0 auto}.event-highlight-box,.event-location-box,.event-ticket-box{background:var(--card);border:1px solid var(--border);border-radius:18px}.event-highlight-box{background:color-mix(in srgb,var(--primary) 7%,var(--card));border-color:color-mix(in srgb,var(--primary) 18%,var(--border));display:grid;gap:12px;padding:18px}.event-highlight-box ul{display:grid;gap:9px;list-style:none;margin:0;padding:0}.event-highlight-box li{color:var(--muted-foreground);font-size:14px;line-height:1.45;padding-left:17px;position:relative}.event-highlight-box li:before{background:var(--primary);border-radius:999px;content:"";height:4px;left:0;position:absolute;top:9px;width:4px}.event-chat-link{align-items:center;background:var(--foreground);border-radius:999px;color:var(--background);display:inline-flex;font-size:13px;font-weight:800;gap:8px;justify-content:center;min-height:40px;padding:10px 14px;text-decoration:none;width:fit-content}.event-chat-link svg{flex:0 0 auto}.event-ticket-box{display:grid;gap:16px;padding:20px}.event-ticket-selection-form{display:grid;gap:14px}.event-ticket-list{display:grid;gap:10px}.event-ticket-option{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:16px;color:var(--card-foreground);display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:14px;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.event-ticket-input{height:1px;opacity:0;position:absolute;width:1px}.event-ticket-option:focus-within,.event-ticket-option:has(.event-ticket-input:checked),.event-ticket-option:hover{background:color-mix(in srgb,var(--primary) 6%,var(--card));border-color:color-mix(in srgb,var(--primary) 62%,var(--border));box-shadow:0 12px 28px rgba(23,20,18,.08)}.event-ticket-option__main{align-items:center;display:flex;gap:11px;min-width:0}.event-ticket-radio{border:2px solid var(--muted-foreground);border-radius:999px;height:18px;position:relative;width:18px}.event-ticket-option:focus-within .event-ticket-radio,.event-ticket-option:has(.event-ticket-input:checked) .event-ticket-radio,.event-ticket-option:hover .event-ticket-radio{border-color:var(--primary)}.event-ticket-radio:after{background:var(--primary);border-radius:999px;content:"";height:8px;left:3px;opacity:0;position:absolute;top:3px;transition:opacity .16s ease;width:8px}.event-ticket-option:focus-within .event-ticket-radio:after,.event-ticket-option:has(.event-ticket-input:checked) .event-ticket-radio:after,.event-ticket-option:hover .event-ticket-radio:after{opacity:1}.event-ticket-option strong{display:block;font-size:14px}.event-ticket-option small{color:var(--muted-foreground);display:block;font-size:12px;margin-top:2px}.event-ticket-option__price{align-items:end;display:grid;gap:8px;justify-items:end}.event-ticket-submit{align-items:center;background:var(--primary);border:0;border-radius:14px;color:var(--primary-foreground);cursor:pointer;display:inline-flex;font-size:15px;font-weight:900;justify-content:center;min-height:52px;padding:0 18px}.event-ticket-submit:hover{background:color-mix(in srgb,var(--primary) 90%,#000)}.event-joint-attendee{color:var(--muted-foreground);display:grid;font-size:12px;font-weight:850;gap:6px;grid-column:1/-1}.event-joint-attendee input{background:var(--secondary);border:1px solid var(--border);border-radius:12px;min-height:42px;padding:0 12px}.event-promo-note{align-items:center;color:var(--muted-foreground);display:flex;font-size:13px;gap:8px;justify-content:center;margin:0}.event-content-section{display:grid;gap:12px}.event-content-section p{margin:0}.event-content-section p,.event-rich-content{color:var(--muted-foreground);font-size:15px;line-height:1.68}.event-rich-content{display:grid;gap:12px}.event-rich-content blockquote,.event-rich-content h3,.event-rich-content h4,.event-rich-content ol,.event-rich-content p,.event-rich-content ul{margin:0}.event-rich-content h3,.event-rich-content h4{color:var(--foreground);font-size:17px;line-height:1.25}.event-rich-content ol,.event-rich-content ul{display:grid;gap:6px;padding-left:20px}.event-rich-content a{color:var(--primary);font-weight:800}.event-rich-content blockquote{border-left:3px solid color-mix(in srgb,var(--primary) 50%,var(--border));color:var(--foreground);padding-left:14px}.event-location-box{align-items:center;color:var(--muted-foreground);display:flex;font-size:14px;gap:10px;line-height:1.45;padding:16px}.event-booking-mobile-nav{display:block}@media (max-width:520px){.event-ticket-option{grid-template-columns:1fr}.event-ticket-option__price{align-items:center;display:flex;justify-content:space-between}}@media (min-width:1024px){.event-booking-page{display:grid;grid-template-columns:minmax(560px,52vw) minmax(0,1fr)}.event-booking-poster-panel{align-items:center;bottom:0;display:flex;justify-content:center;left:0;min-height:calc(100dvh - var(--app-header-height, 64px));padding:32px;position:fixed;top:var(--app-header-height,64px);width:52vw}.event-booking-poster{border-radius:18px;box-shadow:0 28px 80px rgba(0,0,0,.46);height:clamp(520px,72dvh,700px);max-height:700px;min-height:520px;width:min(646px,calc(100% - 24px))}.event-media-carousel{min-height:520px}.event-media-carousel__track{border-radius:18px;min-height:520px}.event-booking-poster img,.event-booking-poster video,.event-booking-poster__placeholder{background:#050505;height:100%;min-height:0;object-fit:contain}.event-booking-content{border-radius:0;grid-column:2;margin-top:0;min-height:calc(100dvh - var(--app-header-height, 64px))}.event-booking-card{margin:0;max-width:600px;padding:64px 56px 80px}.event-booking-back{left:32px;top:32px}.event-booking-mobile-nav{display:none}}.joint-ticket-box input{background:var(--card);border:1px solid var(--border);border-radius:12px;color:var(--foreground);font:inherit;min-height:44px;padding:0 12px}.event-map-card{border:1px solid var(--border);border-radius:18px;overflow:hidden;background:var(--secondary)}.event-map-canvas{width:100%;min-height:220px}.event-map-link{align-items:center;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));border-radius:14px;color:var(--primary);display:inline-flex;font-weight:900;justify-content:center;min-height:46px;padding:0 16px;text-decoration:none}.event-map-link:hover{background:color-mix(in srgb,var(--primary) 8%,var(--card))}.event-title-pills{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.event-region-pill{background:color-mix(in srgb,var(--primary) 9%,var(--card));border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border));border-radius:999px;color:var(--primary);padding:7px 11px}.event-category-pill,.event-region-pill{display:inline-flex;font-size:12px;font-weight:900;line-height:1}.event-category-pill{background:#ff5aa8;border:1px solid rgba(255,90,168,.28);border-radius:999px;color:#fff;letter-spacing:.03em;padding:7px 12px;text-transform:uppercase}