
.booking-shell{padding:clamp(2rem,5vw,5rem) 0;background:linear-gradient(180deg,#f8eee5 0%,#f3e5d8 38%,#ead1d1 100%)}
.booking-toolbar{display:flex;gap:.75rem;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:1.5rem}
.booking-filter{display:flex;gap:.5rem;flex-wrap:wrap}.booking-filter button{border:1px solid rgba(58,82,64,.22);background:rgba(255,255,255,.54);color:#3a5240;border-radius:999px;padding:.7rem 1.05rem;font-weight:700}.booking-filter button[aria-pressed=true]{background:#3a5240;color:white}
.booking-status{display:flex;gap:.6rem;align-items:center;font-size:.9rem}.booking-status-dot{width:.65rem;height:.65rem;border-radius:50%;background:#67a56f;box-shadow:0 0 0 5px rgba(103,165,111,.14)}
.booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.event-card{overflow:hidden;border:1px solid rgba(255,255,255,.68);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,255,255,.42));box-shadow:0 20px 60px rgba(75,57,53,.13);backdrop-filter:blur(18px);transition:.4s cubic-bezier(.22,.7,.22,1)}.event-card:hover{transform:translateY(-5px);box-shadow:0 28px 70px rgba(75,57,53,.2)}
.event-card-media{aspect-ratio:16/9;overflow:hidden}.event-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.event-card:hover img{transform:scale(1.035)}.event-card-body{padding:1.35rem}.event-kicker{display:flex;justify-content:space-between;gap:1rem;color:#7f635f;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.event-card h2{font-size:clamp(1.55rem,2.3vw,2.15rem);margin:.5rem 0}.event-days{display:grid;gap:.45rem;margin:1rem 0}.event-day{display:flex;gap:.65rem;align-items:flex-start;color:#46544b}.event-day strong{min-width:5rem}.availability{font-weight:700;color:#3a5240}.event-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem}.event-price{font-family:var(--font-display,serif);font-size:1.65rem;color:#3a5240}.event-ticket{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:center;padding:.75rem 0;border-top:1px solid rgba(58,82,64,.12)}.event-ticket select{min-width:74px}
.cart-drawer{position:fixed;right:1rem;bottom:1rem;z-index:80;width:min(420px,calc(100vw - 2rem));max-height:78vh;overflow:auto;border-radius:26px;background:rgba(252,247,242,.94);box-shadow:0 30px 90px rgba(47,36,34,.28);border:1px solid rgba(255,255,255,.8);backdrop-filter:blur(24px);padding:1.1rem;transform:translateY(calc(100% + 2rem));transition:.45s ease}.cart-drawer.is-open{transform:translateY(0)}.cart-toggle{position:fixed;right:1rem;bottom:1rem;z-index:81;border:0;border-radius:999px;background:#3a5240;color:white;padding:.9rem 1.15rem;font-weight:800;box-shadow:0 14px 40px rgba(58,82,64,.3)}.cart-drawer.is-open+.cart-toggle{opacity:0;pointer-events:none}.cart-head{display:flex;justify-content:space-between;align-items:center}.cart-close{border:0;background:transparent;font-size:1.5rem}.cart-item{padding:.85rem 0;border-top:1px solid rgba(58,82,64,.12)}.cart-item-row{display:flex;justify-content:space-between;gap:1rem}.cart-total{display:flex;justify-content:space-between;font-size:1.2rem;font-weight:800;padding:1rem 0;border-top:2px solid rgba(58,82,64,.18)}
.checkout-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:2rem;align-items:start}.checkout-card{padding:clamp(1.25rem,3vw,2rem);border-radius:28px;background:rgba(255,255,255,.72);box-shadow:0 20px 60px rgba(75,57,53,.12);border:1px solid rgba(255,255,255,.8)}.checkout-summary{position:sticky;top:7rem}.stepper{display:flex;gap:.5rem;margin-bottom:1.5rem}.stepper span{flex:1;height:5px;border-radius:99px;background:rgba(58,82,64,.13)}.stepper span.is-active{background:#cfacac}.booking-notice{padding:1rem 1.15rem;border-radius:18px;background:rgba(207,172,172,.24);border:1px solid rgba(207,172,172,.55)}.stub-badge{display:inline-flex;padding:.45rem .7rem;border-radius:999px;background:#fff1c9;color:#725900;font-weight:800;font-size:.78rem}.payment-options{display:grid;gap:.75rem}.payment-option{display:flex;gap:.75rem;align-items:center;padding:1rem;border:1px solid rgba(58,82,64,.16);border-radius:18px;background:white}.booking-empty{text-align:center;padding:3rem;border-radius:24px;background:rgba(255,255,255,.5)}
@media(max-width:850px){.booking-grid,.checkout-layout{grid-template-columns:1fr}.checkout-summary{position:static}}@media(max-width:600px){.event-actions{align-items:flex-start;flex-direction:column}.booking-shell{padding-top:2rem}}

/* V6.6.5 booking card model */
.event-timing{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;margin:1rem 0;color:#5f625e}.event-timing strong{min-width:5.5rem}.event-program{display:grid;grid-template-columns:auto 1fr;gap:.2rem .8rem;padding:1rem 0;border-top:1px solid rgba(58,82,64,.12)}
.event-choice{border:0;border-top:1px solid rgba(58,82,64,.12);padding:1rem 0 0;margin:1rem 0}.event-choice legend{font-weight:800;padding:0 0 .6rem}.event-choice label{display:flex;align-items:center;gap:.55rem;margin:.65rem 0;font-size:1.02rem}.event-choice input{width:1.15rem;height:1.15rem;accent-color:#3a5240}
.event-purchase{display:grid;grid-template-columns:1fr minmax(150px,auto) auto;gap:1rem;align-items:center;margin-top:1.35rem}.event-price-box{background:#fff;padding:.65rem 1.2rem;min-width:150px;text-align:center;font-size:1.25rem;font-weight:700;color:#1f2923}.event-purchase .btn:disabled{opacity:.5;cursor:not-allowed}.event-intake{margin:.65rem 0 0;color:#667069}
@media(max-width:600px){.event-purchase{grid-template-columns:1fr}.event-price-box{width:100%}.event-purchase .btn{width:100%}.event-timing,.event-program{grid-template-columns:1fr}.event-timing strong,.event-program strong{margin-top:.25rem}}

/* V6.6.8C1: browser-independent inline phone validation */
.field-error{margin:.35rem 0 0;color:#8a3029;font-size:.9rem;line-height:1.35}.field-error:empty{display:none}input[aria-invalid="true"]{border-color:#b86a63!important;box-shadow:0 0 0 3px rgba(184,106,99,.08)}
