.classes-hero{justify-content:center;align-items:center;width:100vw;height:75vh;min-height:500px;margin-left:calc(50% - 50vw);display:flex;position:relative;overflow:hidden}.classes-hero-video-container{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.classes-hero-video{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.classes-hero-overlay{z-index:1;background:#00000080;position:absolute;inset:0}.classes-hero-content{z-index:2;text-align:center;color:#fff;position:relative}.classes-hero-title{letter-spacing:8px;margin:0;font-size:5rem;font-weight:900}@media (max-width:768px){.classes-hero{height:50vh;min-height:300px}.classes-hero-title{font-size:3rem}}
.class-calendar{background:#fff;border-radius:12px;max-width:500px;margin-bottom:32px;padding:20px;box-shadow:0 2px 8px #0000001a}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.calendar-month{color:#1a1a1a;margin:0;font-size:1.125rem;font-weight:700}.calendar-nav-btn{cursor:pointer;color:#666;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:background-color .2s;display:flex}.calendar-nav-btn:hover{color:#e63946;background-color:#f5f5f5}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-day-name{text-align:center;color:#666;text-transform:uppercase;padding:8px 0;font-size:.75rem;font-weight:600}.calendar-day{aspect-ratio:1;cursor:pointer;color:#1a1a1a;border-radius:6px;justify-content:center;align-items:center;min-height:36px;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.calendar-day.empty{cursor:default;visibility:hidden}.calendar-day:not(.empty):hover{color:#e63946;background-color:#f5f5f5}.calendar-day.today{color:#fff;background-color:#e63946;font-weight:600}.calendar-day.today:hover{background-color:#d32f3e}.calendar-day.selected{color:#fff;background-color:#1a1a1a;font-weight:600}.calendar-day.selected:hover{background-color:#333}.calendar-day.has-class{position:relative}.calendar-day.has-class:after{content:"";background-color:#e63946;border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.calendar-day.has-class.today:after,.calendar-day.has-class.selected:after{background-color:#fff}@media (max-width:768px){.class-calendar{max-width:100%;padding:16px}.calendar-month{font-size:1rem}.calendar-day-name{padding:6px 0;font-size:.7rem}.calendar-day{min-height:32px;font-size:.8rem}.calendar-grid{gap:2px}}
.class-card{background:#fff;border-radius:12px;flex-direction:column;transition:transform .3s,box-shadow .3s;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000001a}.class-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.class-card-image{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);width:100%;height:240px;position:relative;overflow:hidden}.class-card-image img{object-fit:cover;width:100%;height:100%}.class-card-image-placeholder{color:#ffffff80;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.class-card-badges{flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;top:12px;right:12px}.status-badge,.age-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:6px 12px;font-size:.75rem;font-weight:600}.status-open{color:#fff;background:#4caf50}.status-waitlist{color:#fff;background:#ff9800}.status-full{color:#fff;background:#f44336}.status-coming-soon{color:#fff;background:#9e9e9e}.age-youth{color:#fff;background:#2196f3}.age-adult{color:#fff;background:#673ab7}.age-all{color:#fff;background:#00bcd4}.class-card-content{flex-direction:column;flex:1;padding:24px;display:flex}.class-card-title{color:#1a1a1a;margin:0 0 16px;font-size:1.25rem;font-weight:700;line-height:1.4}.class-card-instructor{color:#e63946;align-items:center;gap:8px;margin-bottom:16px;font-weight:600;text-decoration:none;transition:color .2s;display:flex}.class-card-instructor:hover{color:#d32f3e}.instructor-avatar{object-fit:cover;border-radius:50%;width:32px;height:32px}.class-card-details{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.class-detail-item{color:#666;align-items:flex-start;gap:8px;font-size:.875rem;display:flex}.class-detail-item svg{flex-shrink:0;margin-top:2px}.class-address{line-height:1.5}.class-price{color:#e63946;font-size:1rem;font-weight:700}.class-card-description{color:#666;flex:1;margin:0 0 16px;line-height:1.6}.class-instagram-link{color:#e1306c;align-items:center;gap:6px;margin-bottom:20px;font-size:.875rem;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-flex}.class-instagram-link:hover{opacity:.8}.class-card-actions{gap:12px;margin-top:auto;display:flex}.class-card-actions button,.class-card-actions a{cursor:pointer;text-align:center;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;padding:14px 20px;font-size:.9rem;font-weight:700;text-decoration:none;transition:all .2s;display:flex}.btn-primary{background:#e63946;color:#fff!important}.btn-primary:hover:not(:disabled){background:#d32f3e;transform:translateY(-2px);box-shadow:0 4px 12px #e639464d}.btn-secondary{background:#1a1a1a;color:#fff!important}.btn-secondary:hover:not(:disabled){background:#333;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media (max-width:768px){.class-card-image{height:200px}.class-card-content{padding:16px}.class-card-title{font-size:1.125rem}.class-card-actions{flex-direction:column;gap:8px}.class-card-actions button,.class-card-actions a{width:100%}}
.classes-page-new{flex-direction:column;min-height:100vh;display:flex}.classes-content{background:#f8f9fa;flex:1;padding:48px 0}.classes-container{grid-template-columns:350px 1fr;align-items:start;gap:32px;max-width:1400px;margin:0 auto;padding:0 24px;display:grid}.filters-section{position:sticky;top:100px}.calendar-toggle-btn{cursor:pointer;color:#1a1a1a;background:#fff;border:2px solid #e0e0e0;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;width:100%;margin-bottom:16px;padding:14px 20px;font-size:.95rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 2px 8px #0000000d}.calendar-toggle-btn:hover{color:#e63946;border-color:#e63946;box-shadow:0 4px 12px #e639461a}.calendar-toggle-btn svg:first-child{flex-shrink:0}.calendar-wrapper{margin-bottom:16px;animation:.3s ease-out slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.classes-filters{background:#fff;border-radius:12px;flex-direction:column;gap:16px;padding:20px;display:flex;box-shadow:0 2px 8px #0000001a}.filters-title{color:#1a1a1a;margin:0 0 8px;font-size:1rem;font-weight:700}.filter-group{flex-direction:column;gap:8px;display:flex}.filter-group label{color:#1a1a1a;font-size:.875rem;font-weight:600}.filter-group select{cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:10px 12px;font-size:.875rem;transition:border-color .2s}.filter-group select:focus{border-color:#e63946;outline:none}.clear-filters-btn{cursor:pointer;color:#666;background:#f5f5f5;border:none;border-radius:8px;width:100%;margin-top:8px;padding:10px 20px;font-weight:600;transition:all .2s}.clear-filters-btn:hover{color:#1a1a1a;background:#e0e0e0}.results-section{min-height:400px}.results-info{color:#666;margin-bottom:24px}.results-info p{margin:4px 0}.selected-date-info{color:#e63946;font-weight:600}.classes-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px;margin-bottom:48px;display:grid}.loading-state,.empty-state{text-align:center;padding:80px 20px}.spinner{border:4px solid #f3f3f3;border-top-color:#e63946;border-radius:50%;width:48px;height:48px;margin:0 auto 24px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state svg{color:#ccc;margin-bottom:24px}.empty-state h3{color:#1a1a1a;margin:0 0 12px;font-size:1.5rem}.empty-state p{color:#666;margin:0 0 24px}.empty-state .btn-primary{color:#fff;cursor:pointer;background:#e63946;border:none;border-radius:8px;padding:12px 32px;font-weight:600;transition:all .2s}.empty-state .btn-primary:hover{background:#d32f3e;transform:translateY(-2px);box-shadow:0 4px 12px #e639464d}@media (max-width:1024px){.classes-container{grid-template-columns:1fr;gap:24px}.filters-section{position:static}}@media (max-width:768px){.classes-content{padding:24px 0}.classes-container{padding:0 16px}.classes-grid{grid-template-columns:1fr;gap:16px}}
