.booking-page{max-width:820px}.booking-status,.account-status{color:#8a3b2e;min-height:1.5rem;margin-bottom:.75rem}.booking-step,.portal-section{background:var(--paper);border:1px solid #d4af3759;margin-bottom:1rem;padding:1.25rem}.booking-step h2,.portal-section h2,.portal-section h3{margin-top:0}.session-cards,.pack-list{gap:.8rem;display:grid}.session-card{text-align:left;border:1px solid var(--stone);width:100%;color:var(--ink);cursor:pointer;background:#fffdf9;gap:.45rem;padding:1.1rem;transition:border-color .25s,background-color .25s,box-shadow .25s,transform .2s;display:grid}.session-card:hover,.session-card.is-selected{border-color:var(--gold);background:#fffaf0}.session-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px #322f2c14}.session-card:active{transform:translateY(0)scale(.99)}.session-card.is-selected{box-shadow:0 0 0 1px var(--gold)}.session-card strong{font:400 1.35rem Georgia,serif}.session-card small{color:#69635d}.range-nav{flex-wrap:wrap;gap:.6rem;margin:1rem 0;display:flex}.range-nav .button{min-height:44px}.day-slots{border-top:1px solid var(--stone);padding:1rem 0}.day-slots h3{margin:0 0 .7rem;font:400 1.1rem Georgia,serif}.time-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.55rem;display:grid}.time-button{text-align:left;border:1px solid var(--stone);min-height:48px;color:var(--ink);cursor:pointer;background:#fffdf9;padding:.7rem .8rem;transition:border-color .2s,background-color .2s,transform .15s}.time-button:hover{border-color:var(--gold);background:#fffaf0}.time-button:active{transform:scale(.97)}.form-grid fieldset{border:1px solid var(--stone);gap:1rem;padding:1rem;display:grid}.form-grid legend{font:400 1.1rem Georgia,serif}.form-grid .check{letter-spacing:normal;align-items:start;gap:.65rem;display:flex}.form-grid .check input{width:auto;margin-top:.2rem}.form-grid details{line-height:1.55}.form-grid details p{margin-bottom:0}#card-container,#pack-card{min-height:54px;margin:1rem 0}.confirmation .button{margin:.25rem .25rem .25rem 0;text-decoration:none;display:inline-block}.portal-heading,.booking-row,.pack-card{justify-content:space-between;align-items:start;gap:1rem;display:flex}.portal-heading h2{margin-bottom:.5rem}.booking-row,.pack-card{border-top:1px solid var(--stone);padding:1rem 0;line-height:1.55}.pack-card{flex-wrap:wrap;align-items:center}.pack-card span{flex:10rem}.button--small{white-space:nowrap;padding:.65rem .8rem;font-size:.65rem}.credit-list{padding-left:1.25rem}@media (width>=600px){.session-cards,.day-slots>div{grid-template-columns:repeat(2,1fr)}}.step-host{position:relative}.step-ghost{pointer-events:none;position:absolute;inset:0 0 auto}.slots{position:relative}.step-back{color:#69635d;letter-spacing:.08em;cursor:pointer;background:0 0;border:0;margin-bottom:.5rem;padding:.25rem 0;font-size:.85rem}.step-back:hover{color:var(--ink)}.skeleton-bar,.skeleton-pill{background:linear-gradient(90deg,#efebe4 0%,#f8f5ef 45%,#efebe4 90%) 0 0/220% 100%;border-radius:4px;animation:1.3s ease-in-out infinite skeleton-shimmer;display:block}.skeleton-bar{width:12rem;max-width:60%;height:1.1rem}.skeleton-pill{height:48px}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skeleton-bar,.skeleton-pill{animation:none}.session-card,.time-button{transition:none}}.day-strip{scroll-snap-type:x proximity;scrollbar-width:thin;gap:.5rem;margin-bottom:.5rem;padding:.25rem .1rem .75rem;display:flex;overflow-x:auto}.day-chip,.skeleton-chip{flex:none;width:5.4rem;min-height:5.2rem}.day-chip{scroll-snap-align:start;border:1px solid var(--stone);color:var(--ink);cursor:pointer;background:#fffdf9;align-content:center;justify-items:center;gap:.15rem;transition:border-color .2s,background-color .2s,box-shadow .2s,transform .15s;display:grid}.day-chip span{letter-spacing:.16em;text-transform:uppercase;font-size:.72rem}.day-chip strong{font:400 1.05rem Georgia,serif}.day-chip small{color:#69635d;font-size:.72rem}.day-chip:hover{border-color:var(--gold)}.day-chip.is-selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold);background:#fffaf0}.day-chip:active{transform:scale(.97)}.day-times{position:relative}.skeleton-chip{background:linear-gradient(90deg,#efebe4 0%,#f8f5ef 45%,#efebe4 90%) 0 0/220% 100%;border-radius:4px;animation:1.3s ease-in-out infinite skeleton-shimmer;display:block}@media (prefers-reduced-motion:reduce){.skeleton-chip{animation:none}.day-chip{transition:none}}.skeleton-eyebrow{width:6rem;height:.75rem;margin-bottom:1rem}.skeleton-title{width:16rem;height:1.8rem;margin-bottom:1.4rem}.skeleton-card{height:6.4rem}
