.public-alert{margin:0 0 28px;padding:15px 18px;border-radius:12px;font-size:14px;font-weight:700}.public-alert.success{background:#e5f8ee;color:#147443}.public-alert.error{background:#fff0ef;color:#ad3027}.public-empty{grid-column:1/-1;width:100%;padding:55px;border:1px dashed var(--line);border-radius:18px;background:var(--cream);text-align:center}.public-empty strong{display:block;color:var(--pine);font-size:22px}.public-empty p{margin:5px 0;color:var(--muted)}.dynamic-plans{justify-content:center}.dynamic-plans .plan-card{display:flex;flex-direction:column}.dynamic-plans .plan-card .button{margin-top:auto}.public-modal{position:fixed;z-index:250;inset:0;display:grid;place-items:center;padding:20px;background:rgba(5,8,38,.78);visibility:hidden;opacity:0;transition:.2s}.public-modal.is-open{visibility:visible;opacity:1}.public-modal>div{position:relative;width:min(520px,100%);padding:38px;border-radius:20px;background:#fff;box-shadow:0 30px 90px rgba(5,8,38,.32)}.public-modal>div>button{position:absolute;right:18px;top:12px;border:0;background:transparent;color:var(--muted);font-size:34px;cursor:pointer}.public-modal h2{margin:0 0 24px;font-size:33px}.public-modal form{display:grid;gap:15px}.public-modal label{color:var(--pine);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.public-modal input{margin-top:7px;text-transform:none}.class-book-button{padding:9px 16px;border:1px solid var(--pine);border-radius:999px;background:#fff;color:var(--pine);font-weight:800;cursor:pointer}.class-full{padding:8px;color:var(--muted);font-size:12px;font-weight:800;text-align:center}.public-schedule .class-row time small{display:block;color:var(--muted);font-size:9px;font-weight:400}.gallery-placeholder img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gallery-placeholder:has(img):before{display:none}.lightbox-placeholder img{width:100%;height:100%;object-fit:contain}.gallery-grid>.public-empty{grid-column:1/-1}.public-schedule .day-tabs{grid-template-columns:repeat(7,minmax(90px,1fr));overflow-x:auto}.no-filter-results[hidden]{display:none}@media(max-width:620px){.public-modal>div{padding:30px 22px}.dynamic-plans .plan-card{min-height:520px}.public-schedule .class-row{grid-template-columns:70px 1fr 58px}.public-schedule .class-book-button,.public-schedule .class-full{grid-column:3;grid-row:1/3}.public-empty{padding:36px 20px}}
