.class-card-image{aspect-ratio:16/9;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:8px 8px 0 0;overflow:hidden;position:relative}.class-card-image.loading{animation:shimmer 1.5s infinite}.class-card-image img{height:100%;-o-object-fit:cover;object-fit:cover;opacity:0;transition:opacity .3s ease-in;width:100%}.class-card-image img.loaded{opacity:1}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:24px 0}.skeleton-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);overflow:hidden}.skeleton-image{height:180px}.skeleton-footer,.skeleton-image,.skeleton-text,.skeleton-title{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%}.skeleton-footer,.skeleton-text,.skeleton-title{border-radius:4px;height:16px;margin:12px 16px}.skeleton-title{height:20px;width:80%}.skeleton-text{width:60%}.skeleton-footer{margin-top:16px;width:40%}.filter-bar-container{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);box-shadow:0 2px 10px transparent;position:sticky;top:60px;transition:all .3s ease;z-index:100}.filter-bar-container.scrolled{box-shadow:0 4px 20px rgba(0,0,0,.1)}@supports not ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.filter-bar-container{background:hsla(0,0%,100%,.98)}}.class-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.class-card:hover{box-shadow:0 10px 40px rgba(0,0,0,.15);transform:translateY(-4px)}.class-card:focus-within{outline:3px solid #ee6e27;outline-offset:2px}:focus-visible{border-radius:4px;outline:3px solid #ee6e27;outline-offset:2px}.btn,a.btn,button{min-height:44px;min-width:44px;position:relative}.btn:focus-visible,a.btn:focus-visible,button:focus-visible{outline:3px solid #ee6e27;outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ee6e27;outline-offset:2px}@media (hover:none) and (pointer:coarse){.btn,a.btn,button,input,select,textarea{min-height:44px}}.skip-to-content{background:#ee6e27;border-radius:0 0 4px 0;color:#fff;font-weight:600;left:0;padding:8px 16px;position:absolute;text-decoration:none;top:-40px;z-index:100}.skip-to-content:focus{top:0}.fade-enter-active,.fade-leave-active{transition:all .3s ease}.fade-enter-from{opacity:0;transform:translateY(20px)}.fade-leave-to{opacity:0}.content-loaded{animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.mobile-menu-toggle{-webkit-tap-highlight-color:transparent;align-items:center;background:transparent;border:none;cursor:pointer;display:flex;justify-content:center;min-height:44px;min-width:44px;padding:12px;touch-action:manipulation}.hamburger-icon{display:flex;flex-direction:column;height:18px;justify-content:space-between;position:relative;width:24px}.hamburger-icon span{background:currentColor;border-radius:2px;display:block;height:2px;transition:all .3s ease;width:100%}.mobile-menu-toggle[aria-expanded=true] .hamburger-icon span:first-child{transform:rotate(45deg) translate(6px,6px)}.mobile-menu-toggle[aria-expanded=true] .hamburger-icon span:nth-child(2){opacity:0}.mobile-menu-toggle[aria-expanded=true] .hamburger-icon span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.btn-primary,.cta-primary{background:#d65c1e;color:#fff}.btn-primary:hover,.cta-primary:hover{background:#bf5219}.badge-free,.price-free{background:#0a7a3e;color:#fff}.badge-members{background:#7c3aed;border-radius:12px;color:#fff;font-size:.875rem;font-weight:600;padding:4px 12px}.category-icon{height:48px;-o-object-fit:contain;object-fit:contain;transition:transform .2s ease;width:48px}.category-button{border-radius:8px;padding:12px;transition:all .2s ease}.category-button:hover{background:rgba(238,110,39,.1)}.category-button:hover .category-icon{transform:scale(1.1)}.category-button.active{background:rgba(238,110,39,.15)}@media (max-width:768px){.filter-bar-container{top:0}.class-card:hover{transform:none}.skeleton-grid{gap:16px;grid-template-columns:1fr}.category-icon{height:40px;width:40px}}.price-container{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.price-with-or{align-items:center;display:flex;gap:6px}.regular-price{color:#1a1a1a;font-size:1.125rem;font-weight:600}.price-or{color:#666;font-size:.875rem;font-weight:500}.membership-price{align-items:center;display:inline-flex}.price-text{background:#0a7a3e;border-radius:12px;color:#fff;font-size:.875rem;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.rating-stars{align-items:center;display:flex;gap:4px}.star-icon{color:orange;font-size:1rem}.rating-count{color:#666;font-size:.875rem;margin-left:4px}.class-card{will-change:transform,box-shadow}.class-card:not(:hover){will-change:auto}.filter-bar-container{will-change:transform,box-shadow}.filter-bar-container:not(.scrolled){will-change:auto}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
