.pilates-container{background:#fff;color:#333;display:flex;height:100vh;overflow:hidden;width:100vw}.pilates-container .classes-section{display:flex;flex:1;flex-direction:column;overflow:hidden}.pilates-container .classes-section .week-navigation{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 2rem}.pilates-container .classes-section .week-navigation .nav-btn{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.pilates-container .classes-section .week-navigation .nav-btn:hover{background:#e9ecef;border-color:#adb5bd}.pilates-container .classes-section .week-navigation .nav-btn i{font-size:.75rem}.pilates-container .classes-section .week-navigation .week-title{color:#212529;font-size:1.125rem;font-weight:600;margin:0}.pilates-container .classes-section .classes-grid{align-content:start;display:grid;flex:1;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));overflow-y:auto;padding:1rem}.pilates-container .classes-section .classes-grid .loading-spinner{align-items:center;display:flex;flex-direction:column;grid-column:1/-1;justify-content:center;padding:3rem}.pilates-container .classes-section .classes-grid .loading-spinner .spinner{animation:spin 1s linear infinite;border:3px solid #f3f4f6;border-radius:50%;border-top-color:#6c757d;height:32px;margin-bottom:1rem;width:32px}.pilates-container .classes-section .classes-grid .loading-spinner p{color:#6c757d;font-size:.875rem;margin:0}.pilates-container .classes-section .classes-grid .error-message{color:#dc3545;grid-column:1/-1;padding:2rem;text-align:center}.pilates-container .classes-section .classes-grid .error-message button{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:1rem;padding:.5rem 1rem}.pilates-container .classes-section .classes-grid .no-classes{color:#6c757d;font-size:.875rem;grid-column:1/-1;padding:3rem;text-align:center}.pilates-container .class-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;cursor:pointer;height:fit-content;padding:1rem;position:relative;transition:all .2s ease}.pilates-container .class-card:hover{border-color:#adb5bd;box-shadow:0 2px 8px rgba(0,0,0,.1)}.pilates-container .class-card.selected{background:#f8f9fa;border-color:#495057}.pilates-container .class-card.unavailable{background:#f8f9fa;cursor:not-allowed;opacity:.6}.pilates-container .class-card.unavailable:hover{border-color:#e9ecef;box-shadow:none}.pilates-container .class-card .availability-badge{border-radius:12px;font-size:.6875rem;font-weight:600;padding:.25rem .5rem;position:absolute;right:.5rem;top:.5rem;z-index:1}.pilates-container .class-card .availability-badge.low{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.pilates-container .class-card .availability-badge.full{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.pilates-container .class-card .class-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.75rem}.pilates-container .class-card .class-header .class-info{flex:1}.pilates-container .class-card .class-header .class-info .class-title{color:#212529;font-size:1rem;font-weight:600;line-height:1.3;margin:0 0 .25rem}.pilates-container .class-card .class-header .class-info .instructor{color:#6c757d;font-size:.875rem;margin:0}.pilates-container .class-card .class-header .class-info .instructor i{font-size:.75rem;margin-right:.25rem}.pilates-container .class-card .class-header .pricing{flex-shrink:0;margin-left:1rem;text-align:right}.pilates-container .class-card .class-header .pricing .price{color:#212529;font-size:1.125rem;font-weight:700;margin:0}.pilates-container .class-card .class-header .pricing .credits{color:#6c757d;font-size:.75rem;margin:.125rem 0 0}.pilates-container .class-card .class-footer{align-items:center;border-top:1px solid #f1f3f4;color:#6c757d;display:flex;font-size:.75rem;justify-content:space-between;padding-top:.75rem}.pilates-container .class-card .class-footer .schedule{display:flex;flex-direction:column;gap:.125rem}.pilates-container .class-card .class-footer .schedule .time-range{color:#495057;font-weight:500}.pilates-container .class-card .class-footer .schedule .duration{font-size:.6875rem}.pilates-container .class-card .class-footer .location{max-width:120px;text-align:right}.pilates-container .class-card .class-footer .location .date{color:#495057;font-weight:500;margin-bottom:.125rem}.pilates-container .class-card .class-footer .location .address{font-size:.6875rem;line-height:1.2;opacity:.8}.pilates-container .cart-section{background:#f8f9fa;border-left:1px solid #e9ecef;display:flex;flex-direction:column;flex-shrink:0;width:320px}.pilates-container .cart-section .mobile-close{display:none}.pilates-container .cart-section .cart-header{background:#fff;border-bottom:1px solid #e9ecef;padding:1.5rem 1.5rem 1rem}.pilates-container .cart-section .cart-header h3{color:#212529;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.pilates-container .cart-section .cart-header .cart-summary{display:flex;font-size:.875rem;justify-content:space-between}.pilates-container .cart-section .cart-header .cart-summary #cart-count{color:#6c757d}.pilates-container .cart-section .cart-header .cart-summary #cart-total{color:#212529;font-weight:600}.pilates-container .cart-section .cart-items{flex:1;overflow-y:auto;padding:1rem}.pilates-container .cart-section .cart-items .empty-cart{color:#6c757d;font-size:.875rem;padding:2rem 1rem;text-align:center}.pilates-container .cart-section .cart-items .cart-item{background:#fff;border:1px solid #e9ecef;border-radius:6px;margin-bottom:.5rem;padding:.75rem;position:relative}.pilates-container .cart-section .cart-items .cart-item .cart-item-info{padding-right:1.5rem}.pilates-container .cart-section .cart-items .cart-item .cart-item-info h4{color:#212529;font-size:.875rem;font-weight:600;line-height:1.3;margin:0 0 .25rem}.pilates-container .cart-section .cart-items .cart-item .cart-item-info p{color:#6c757d;font-size:.75rem;margin:0 0 .25rem}.pilates-container .cart-section .cart-items .cart-item .cart-item-info .cart-item-price{color:#495057;font-size:.75rem;font-weight:600;margin:0}.pilates-container .cart-section .cart-items .cart-item .remove-cart-item{align-items:center;background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;height:20px;justify-content:center;position:absolute;right:.5rem;top:.5rem;width:20px}.pilates-container .cart-section .cart-items .cart-item .remove-cart-item:hover{background:#c82333}.pilates-container .cart-section .cart-checkout{background:#fff;border-top:1px solid #e9ecef}.pilates-container .cart-section .cart-checkout .user-balance{background:#f8f9fa;border-bottom:1px solid #e9ecef;padding:1rem}.pilates-container .cart-section .cart-checkout .user-balance .balance-info{align-items:center;display:flex;justify-content:space-between}.pilates-container .cart-section .cart-checkout .user-balance .balance-info .label{color:#6c757d;font-size:.875rem}.pilates-container .cart-section .cart-checkout .user-balance .balance-info .balance{color:#495057;font-size:1rem;font-weight:600}.pilates-container .cart-section .cart-checkout .cart-summary{padding:1rem}.pilates-container .cart-section .cart-checkout .cart-summary .total-info{align-items:center;display:flex;justify-content:space-between}.pilates-container .cart-section .cart-checkout .cart-summary .total-info .total-count{color:#6c757d;font-size:.875rem}.pilates-container .cart-section .cart-checkout .cart-summary .total-info .total-price{color:#212529;font-size:.875rem;font-weight:600}.pilates-container .cart-section .cart-checkout .payment-buttons{padding:0 1rem 1rem}.pilates-container .cart-section .cart-checkout .payment-buttons .payment-btn{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;margin-bottom:.5rem;padding:.75rem;transition:all .2s ease;width:100%}.pilates-container .cart-section .cart-checkout .payment-buttons .payment-btn:last-child{margin-bottom:0}.pilates-container .cart-section .cart-checkout .payment-buttons .payment-btn:disabled{cursor:not-allowed;opacity:.5}.pilates-container .cart-section .cart-checkout .payment-buttons .payment-btn:hover:not(:disabled){background:#f8f9fa;border-color:#adb5bd}.pilates-container .cart-section .cart-checkout .payment-buttons .payment-btn i{font-size:1rem}.pilates-container .mobile-cart-toggle{display:none}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.pilates-container{flex-direction:column;height:100vh}.pilates-container .classes-section{flex:1}.pilates-container .classes-section .week-navigation{padding:1rem}.pilates-container .classes-section .week-navigation .nav-btn{font-size:.75rem;padding:.375rem .75rem}.pilates-container .classes-section .week-navigation .week-title{font-size:1rem}.pilates-container .classes-section .classes-grid{gap:.5rem;grid-template-columns:1fr;padding:.75rem}.pilates-container .class-card{padding:.75rem}.pilates-container .class-card .class-header{margin-bottom:.5rem}.pilates-container .class-card .class-header .class-info .class-title{font-size:.9375rem}.pilates-container .class-card .class-header .pricing{margin-left:.75rem}.pilates-container .class-card .class-footer{font-size:.6875rem;padding-top:.5rem}.pilates-container .class-card .class-footer .location{max-width:100px}.pilates-container .cart-section{background:#fff;bottom:0;left:0;position:fixed;right:0;top:0;transform:translateY(100%);transition:transform .3s ease;width:100%;z-index:1000}.pilates-container .cart-section.mobile-open{transform:translateY(0)}.pilates-container .cart-section .mobile-close{background:#6c757d;border:none;border-radius:50%;color:#fff;cursor:pointer;display:block;height:32px;position:absolute;right:1rem;top:1rem;width:32px;z-index:10}.pilates-container .cart-section .mobile-close i{font-size:.875rem}.pilates-container .cart-section .cart-header{padding-top:3rem}.pilates-container .cart-section .cart-checkout .user-balance{background:#fff}.pilates-container .cart-section .cart-checkout .payment-buttons{padding:0 1rem 1rem}.pilates-container .mobile-cart-toggle{align-items:center;background:#212529;border-radius:50%;bottom:1rem;box-shadow:0 4px 12px rgba(0,0,0,.15);color:#fff;cursor:pointer;display:flex;height:56px;justify-content:center;position:fixed;right:1rem;width:56px;z-index:100}.pilates-container .mobile-cart-toggle #mobile-cart-count{align-items:center;background:#dc3545;border-radius:50%;color:#fff;display:flex;font-size:.75rem;font-weight:600;height:24px;justify-content:center;min-width:24px;position:absolute;right:-8px;top:-8px;width:24px}.pilates-container .mobile-cart-toggle i{font-size:1.25rem}}body.dark .pilates-container,body.ea-dark-scheme .pilates-container{background:#1a1a1a;color:#e9ecef}body.dark .pilates-container .classes-section .week-navigation,body.ea-dark-scheme .pilates-container .classes-section .week-navigation{background:#212529;border-bottom-color:#495057}body.dark .pilates-container .classes-section .week-navigation .nav-btn,body.ea-dark-scheme .pilates-container .classes-section .week-navigation .nav-btn{background:#343a40;border-color:#495057;color:#e9ecef}body.dark .pilates-container .classes-section .week-navigation .nav-btn:hover,body.ea-dark-scheme .pilates-container .classes-section .week-navigation .nav-btn:hover{background:#495057}body.dark .pilates-container .classes-section .week-navigation .week-title,body.ea-dark-scheme .pilates-container .classes-section .week-navigation .week-title{color:#e9ecef}body.dark .pilates-container .class-card,body.ea-dark-scheme .pilates-container .class-card{background:#212529;border-color:#495057}body.dark .pilates-container .class-card:hover,body.ea-dark-scheme .pilates-container .class-card:hover{border-color:#6c757d}body.dark .pilates-container .class-card.selected,body.ea-dark-scheme .pilates-container .class-card.selected{background:#343a40;border-color:#adb5bd}body.dark .pilates-container .class-card.unavailable,body.ea-dark-scheme .pilates-container .class-card.unavailable{background:#2c3034}body.dark .pilates-container .class-card.unavailable:hover,body.ea-dark-scheme .pilates-container .class-card.unavailable:hover{border-color:#495057}body.dark .pilates-container .class-card .availability-badge.low,body.ea-dark-scheme .pilates-container .class-card .availability-badge.low{background:#664d03;border-color:#997404;color:#ffda6a}body.dark .pilates-container .class-card .availability-badge.full,body.ea-dark-scheme .pilates-container .class-card .availability-badge.full{background:#842029;border-color:#a02834;color:#f8d7da}body.dark .pilates-container .class-card .class-header .class-info .class-title,body.dark .pilates-container .class-card .class-header .pricing .price,body.ea-dark-scheme .pilates-container .class-card .class-header .class-info .class-title,body.ea-dark-scheme .pilates-container .class-card .class-header .pricing .price{color:#e9ecef}body.dark .pilates-container .class-card .class-footer,body.ea-dark-scheme .pilates-container .class-card .class-footer{border-top-color:#495057}body.dark .pilates-container .class-card .class-footer .location .date,body.dark .pilates-container .class-card .class-footer .schedule .time-range,body.ea-dark-scheme .pilates-container .class-card .class-footer .location .date,body.ea-dark-scheme .pilates-container .class-card .class-footer .schedule .time-range{color:#ced4da}body.dark .pilates-container .cart-section,body.ea-dark-scheme .pilates-container .cart-section{background:#212529;border-left-color:#495057}body.dark .pilates-container .cart-section .cart-header,body.ea-dark-scheme .pilates-container .cart-section .cart-header{background:#343a40;border-bottom-color:#495057}body.dark .pilates-container .cart-section .cart-header .cart-summary #cart-total,body.dark .pilates-container .cart-section .cart-header h3,body.ea-dark-scheme .pilates-container .cart-section .cart-header .cart-summary #cart-total,body.ea-dark-scheme .pilates-container .cart-section .cart-header h3{color:#e9ecef}body.dark .pilates-container .cart-section .cart-items .cart-item,body.ea-dark-scheme .pilates-container .cart-section .cart-items .cart-item{background:#343a40;border-color:#495057}body.dark .pilates-container .cart-section .cart-items .cart-item .cart-item-info h4,body.ea-dark-scheme .pilates-container .cart-section .cart-items .cart-item .cart-item-info h4{color:#e9ecef}body.dark .pilates-container .cart-section .cart-items .cart-item .cart-item-info .cart-item-price,body.ea-dark-scheme .pilates-container .cart-section .cart-items .cart-item .cart-item-info .cart-item-price{color:#ced4da}body.dark .pilates-container .cart-section .cart-checkout,body.ea-dark-scheme .pilates-container .cart-section .cart-checkout{background:#343a40;border-top-color:#495057}body.dark .pilates-container .cart-section .cart-checkout .user-balance,body.ea-dark-scheme .pilates-container .cart-section .cart-checkout .user-balance{background:#495057;border-bottom-color:#6c757d}body.dark .pilates-container .cart-section .cart-checkout .cart-summary .total-info .total-price,body.dark .pilates-container .cart-section .cart-checkout .user-balance .balance-info .balance,body.ea-dark-scheme .pilates-container .cart-section .cart-checkout .cart-summary .total-info .total-price,body.ea-dark-scheme .pilates-container .cart-section .cart-checkout .user-balance .balance-info .balance{color:#e9ecef}body.dark .pilates-container .cart-section .cart-checkout .payment-buttons .payment-btn,body.ea-dark-scheme .pilates-container .cart-section .cart-checkout .payment-buttons .payment-btn{background:#495057;border-color:#6c757d;color:#e9ecef}body.dark .pilates-container .cart-section .cart-checkout .payment-buttons .payment-btn:hover:not(:disabled),body.ea-dark-scheme .pilates-container .cart-section .cart-checkout .payment-buttons .payment-btn:hover:not(:disabled){background:#6c757d}body.dark .pilates-container .mobile-cart-toggle,body.ea-dark-scheme .pilates-container .mobile-cart-toggle{background:#e9ecef;color:#212529}