/* A compact selection first; exactly one booking surface after an explicit choice. */
.booking-festival .public-offer-grid.public-offer-selection{height:auto;align-content:start;gap:16px}
.booking-festival .public-offer-selection>.public-booking-card{height:auto;min-width:0}
.public-offer-selection [hidden]{display:none!important}
.booking-festival .public-offer-selection>.public-offer-selection-heading{margin-bottom:16px;background:var(--festival-action);color:var(--festival-on-action);border-color:var(--festival-action)}
.public-offer-selection-heading h2{margin:0;font:400 clamp(1.7rem,3vw,2.25rem)/1.2 Georgia,"Times New Roman",serif;color:inherit}
.public-offer-selection-heading p{margin:12px 0 0;color:inherit;line-height:1.6}
.public-offer-choice-summary{display:flex;align-items:center;gap:18px;min-height:64px;cursor:pointer;list-style:none;color:var(--festival-ink)}
.public-offer-choice-summary::-webkit-details-marker{display:none}
.public-offer-choice-title{display:grid;gap:9px;min-width:0;flex:1}
.public-offer-choice-area{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.public-offer-choice-name{font:400 clamp(1.5rem,2.5vw,2rem)/1.2 Georgia,"Times New Roman",serif;overflow-wrap:anywhere}
.public-offer-choice-meta{font-size:.95rem;color:var(--festival-muted);line-height:1.5}
.public-offer-choice-action{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:44px;min-width:108px;box-sizing:border-box;padding:12px 20px;border-radius:10px;background:var(--festival-action);color:var(--festival-on-action);font-size:1rem;font-weight:700;line-height:1.25;text-align:center}
.public-offer-action-close,.public-offer-choice details[open]>.public-offer-choice-summary .public-offer-action-open{display:none}
.public-offer-choice details[open]>.public-offer-choice-summary .public-offer-action-close{display:inline}
.public-offer-choice-summary:hover .public-offer-choice-action{filter:brightness(1.15)}
.public-offer-choice-summary:focus-visible,.public-offer-selection button:focus-visible{outline:3px solid var(--festival-action);outline-offset:5px}
.public-offer-choice details>.public-offer-description{margin-top:20px;border-top:1px solid var(--festival-line);padding-top:4px;font-size:1rem;line-height:1.7;overflow-wrap:anywhere}
.public-offer-choice .public-offer-select{width:100%;margin-top:8px;min-height:48px}
.public-offer-selection .public-offer-change{margin:0 0 22px;min-height:44px}
@media(max-width:640px){.booking-festival .public-offer-selection>.public-booking-card{padding:22px}.public-offer-choice-summary{gap:18px;align-items:flex-start;flex-direction:column}.public-offer-choice-action{align-self:flex-start}.booking-festival .public-offer-selection>.public-offer-selection-heading{margin-bottom:8px}}
