:root{--color-cream: #FCF4E6;--color-rust: #AC311B;--color-brown: #4A3728;--color-tan: #DCC8B0;--color-white: #FFFFFF;--color-black: #1A1A1A;--shadow-sm: 0 2px 4px rgba(0,0,0,.1);--shadow-md: 0 4px 6px rgba(0,0,0,.1);--radius-md: 12px;--radius-lg: 20px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:var(--color-cream);color:var(--color-brown);line-height:1.6}h1,h2,h3,h4{font-weight:700;color:var(--color-brown)}a{text-decoration:none;color:inherit}button{cursor:pointer;font-family:inherit}.app-container{max-width:1200px;margin:0 auto;padding:0 20px;min-height:100vh;display:flex;flex-direction:column}header{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:2px solid var(--color-tan)}.logo{font-size:2rem;font-weight:900;color:var(--color-rust);letter-spacing:-1px;display:flex;align-items:center;gap:10px}.nav-links{display:flex;gap:20px;align-items:center}.nav-btn{background:none;border:none;font-size:1rem;color:var(--color-brown);font-weight:600;padding:8px 16px;border-radius:var(--radius-md);transition:all .2s}.nav-btn:hover,.nav-btn.active{background-color:var(--color-rust);color:var(--color-cream)}.login-btn{border:2px solid var(--color-rust);color:var(--color-rust)}.login-btn:hover{background-color:var(--color-rust);color:var(--color-cream)}.hero-section{margin:30px 0;position:relative;border-radius:var(--radius-lg);overflow:hidden;height:400px;box-shadow:var(--shadow-md)}.carousel-slide{width:100%;height:100%;position:relative;display:none}.carousel-slide.active{display:block;animation:fade .5s ease-in-out}.carousel-slide img{width:100%;height:100%;object-fit:cover}.carousel-content{position:absolute;bottom:0;left:0;right:0;padding:40px;background:linear-gradient(transparent,#000c);color:var(--color-white)}.carousel-content h2{font-size:2.5rem;color:var(--color-cream);margin-bottom:10px}@keyframes fade{0%{opacity:.8}to{opacity:1}}.controls-section{background-color:var(--color-white);padding:20px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:30px;display:flex;flex-wrap:wrap;gap:15px;align-items:center}.search-box{flex:2;min-width:250px;position:relative}.search-box input{width:100%;padding:12px 15px;border:2px solid var(--color-tan);border-radius:var(--radius-md);font-size:1rem;outline:none}.search-box input:focus{border-color:var(--color-rust)}.filter-group{display:flex;gap:10px;flex:3;flex-wrap:wrap}.filter-select{padding:12px;border:2px solid var(--color-tan);border-radius:var(--radius-md);background-color:var(--color-white);color:var(--color-brown);cursor:pointer;outline:none}.filter-select:focus{border-color:var(--color-rust)}.classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:30px;padding-bottom:50px}.class-card{background-color:var(--color-white);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;position:relative}.class-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}.card-image{height:180px;width:100%;object-fit:cover}.card-content{padding:20px}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.studio-name{font-size:.85rem;color:var(--color-rust);font-weight:700;text-transform:uppercase;letter-spacing:.5px}.class-title{font-size:1.25rem;margin:5px 0;color:var(--color-brown)}.class-info{margin-top:15px;font-size:.95rem;color:#666}.info-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.price-tag{position:absolute;top:15px;right:15px;background-color:var(--color-rust);color:var(--color-white);padding:5px 10px;border-radius:20px;font-weight:700;font-size:.9rem}.wishlist-btn{background:none;border:none;font-size:1.5rem;color:#ccc;cursor:pointer;transition:color .2s;padding:5px}.wishlist-btn.active{color:var(--color-rust)}.wishlist-btn:hover{transform:scale(1.1)}.wishlist-section{display:none}.wishlist-section.active{display:block}.date-group{margin-bottom:40px}.date-header{font-size:1.5rem;color:var(--color-rust);margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--color-tan)}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:1000;align-items:center;justify-content:center}.modal.active{display:flex}.modal-content{background-color:var(--color-white);padding:40px;border-radius:var(--radius-lg);width:100%;max-width:400px;position:relative}.close-modal{position:absolute;top:15px;right:20px;font-size:1.5rem;cursor:pointer;color:#999}.auth-form h2{margin-bottom:20px;text-align:center;color:var(--color-rust)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600}.form-group input{width:100%;padding:12px;border:2px solid var(--color-tan);border-radius:var(--radius-md)}.submit-btn{width:100%;padding:12px;background-color:var(--color-rust);color:var(--color-white);border:none;border-radius:var(--radius-md);font-weight:700;font-size:1rem}.submit-btn:hover{background-color:#8a2515}footer{margin-top:auto;padding:40px 0;text-align:center;color:#888;border-top:1px solid var(--color-tan)}.empty-state{text-align:center;padding:50px;color:#888;font-size:1.2rem}@media (max-width: 768px){.hero-section{height:250px}.carousel-content h2{font-size:1.5rem}.controls-section{flex-direction:column;align-items:stretch}.filter-group{flex-direction:column}}
