body,html{max-width:100%}.container-fluid,body,html{overflow-x:hidden}.classtime-table{max-width:100%;overflow-x:auto;padding:.5rem}.classtime-table table thead tr th{font-size:14px!important;padding:15px 5px!important}.classtime-table table tbody tr td{padding:18px 8px 20px!important;width:120px!important}.classtime-table table tbody tr td span,.classtime-table table tbody tr td.workout-time{font-size:14px!important}@media (max-width:1200px){.classtime-table{padding:.25rem!important}.classtime-section .container-fluid{padding-left:8px!important;padding-right:8px!important}.classtime-table table thead tr th{font-size:13px!important;padding:12px 3px!important}.classtime-table table tbody tr td{padding:15px 5px 17px!important;width:100px!important}.classtime-table table tbody tr td span,.classtime-table table tbody tr td.workout-time{font-size:13px!important}}.classtime-table .table-light,.classtime-table .table-secondary,.classtime-table .table-success{background-color:#212121!important;border-color:#171717!important}.classtime-table .table-dark{background-color:#212121!important;border-color:#1f1f1f!important}.classtime-table .badge.bg-primary{background-color:#28a745!important;color:#fff!important}.classtime-table .badge.bg-success{background-color:transparent!important;border:1px solid #171717;color:#fff!important}.classtime-table .badge.bg-danger{background-color:#dc3545!important;border:1px solid #dc3545!important;color:#fff!important;font-weight:600!important}.classtime-table .badge.bg-secondary{background-color:transparent!important;border:1px solid #171717;color:#fff!important}.classtime-table td a{color:inherit!important}.classtime-table td span{color:#fff!important}.classtime-table td h6{color:#ffb700!important;font-size:.85rem!important;line-height:1.1!important;margin-bottom:.2rem!important}.booking-modal .info-row:hover strong,.classtime-table .booking-link:hover h6,.classtime-table .hover-bg:hover .class-type,.classtime-table .hover-bg:hover .fw-bold,.classtime-table .hover-bg:hover h6,.classtime-table td:hover .class-type,.classtime-table td:hover h6,.hover-bg:hover .class-type,.hover-bg:hover h6,.ts-item:hover .class-type{color:#fff!important}.classtime-table td .fw-bold,.classtime-table td span.d-block{color:#fff!important;font-family:Oswald,sans-serif}.classtime-table .booking-link{cursor:pointer;display:block;text-decoration:none;transition:opacity .2s ease}.classtime-table .booking-link:hover{opacity:.8}.classtime-table .coaching-slot,.coaching-slot,.mobile-class-item.coaching-slot{cursor:default;opacity:.7}.classtime-table .coaching-slot:hover,.coaching-slot:hover{opacity:.7!important}.classtime-section .alert-info{background:rgba(255,183,0,.1);border-color:#ffb700;color:#111}.classtime-table table{min-width:0;width:100%}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (min-width:1200px){.classtime-table table{min-width:1200px}}.hover-bg:hover{background-color:rgba(0,123,255,.1)!important;transform:scale(1.02);transition:all .2s ease}.workout-time{background-color:#212121!important;color:#fff!important;font-weight:700;min-width:80px}.timetable-controls ul li{background:none!important;border:none!important;color:#fff;cursor:pointer;display:inline-block;font-family:Oswald,sans-serif;font-size:16px;font-weight:600;list-style:none;margin:0 8px;padding:8px 16px;position:relative;text-transform:uppercase;transition:all .3s}.timetable-controls ul li:hover{color:#ffb700;transform:translateY(-2px)}.timetable-controls ul li.active{background:none!important;color:#ffb700!important}.timetable-controls ul li.active:after{opacity:1}.timetable-controls ul li:after{background:#ffb700;bottom:-7px;content:"";height:2px;left:0;opacity:0;position:absolute;transition:opacity .3s;width:100%}.mobile-day-card{background:#212121;border:1px solid #1f1f1f;margin-bottom:.5rem}.mobile-day-header{background:#ffb700;border-bottom:1px solid #171717;color:#fff;cursor:pointer;padding:.3rem .5rem;transition:background-color .3s ease}.mobile-day-header:hover{background:#e89f00}.day-header-text{color:#fff!important;font-family:Oswald,sans-serif;font-size:1rem;font-weight:600}.collapse-icon{color:#fff!important;flex-shrink:0;font-size:.9rem;transition:transform .3s ease}.mobile-day-header[aria-expanded=true] .collapse-icon{transform:rotate(90deg)}.mobile-class-item,.mobile-day-body{background:#212121;padding:.3rem}.mobile-class-item{border:1px solid #171717;margin-bottom:.2rem;position:relative;transition:all .3s ease;z-index:1}.mobile-class-item:after{background:#ffb700;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s;width:100%;z-index:-1}.mobile-class-item.available:hover:after{opacity:1}.mobile-class-item.available:hover .class-title,.mobile-class-item.available:hover .class-type{color:#fff}.class-time-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:.15rem}.time-badge{font-family:Oswald,sans-serif;font-size:.7rem}.duration-info,.time-badge{border:1px solid #171717;color:#fff;font-weight:500;padding:.05rem .2rem}.duration-info{font-size:.65rem}.class-link{color:inherit;display:block;text-decoration:none}.class-content{text-align:center}.class-title{color:#fff;font-family:Oswald,sans-serif;font-size:.75rem;font-weight:500;line-height:1;margin-bottom:.05rem}.class-status{line-height:1.1;margin-bottom:.1rem}.status-badge{display:inline;font-size:.75rem;font-weight:500;margin-right:.5rem}.status-badge.reserved{border-radius:3px;font-size:.7rem;font-weight:600;padding:.1rem .3rem}.mobile-day-body .badge.bg-primary,.status-badge.reserved{background-color:#28a745!important;color:#fff!important}.mobile-day-body .badge.bg-success{background-color:transparent!important;border:1px solid #171717;color:#fff!important}.mobile-day-body .badge.bg-danger{background-color:#dc3545!important;border:1px solid #dc3545!important;color:#fff!important;font-weight:600!important}.mobile-day-body .badge.bg-secondary{background-color:transparent!important;border:1px solid #171717;color:#fff!important}.status-badge.available-spots,.status-badge.unavailable-spots{color:#fff}.status-badge.full{background-color:#dc3545;border:1px solid #dc3545;border-radius:3px;color:#fff;font-size:.7rem;font-weight:600;padding:.1rem .3rem}.status-badge.coaching-info{background-color:#6c757d;border:1px solid #6c757d;border-radius:3px;color:#fff;font-size:.7rem;font-weight:500;opacity:.8;padding:.1rem .3rem}.class-type{color:#ffb700;font-family:Oswald,sans-serif;font-size:.8rem;font-weight:500;line-height:1.1;margin:0;text-transform:uppercase;transition:color .3s}.booking-link:hover .class-type,.class-link:hover .class-type,.class-link:hover h6,.mobile-class-item:hover .class-title,.mobile-class-item:hover .class-type,.mobile-class-item:hover .status-badge.coaching-info,.mobile-class-item:hover h6{color:#fff!important}.class-content.disabled .class-type{color:#ffb700}.special-mark{color:#dc3545;font-weight:700}.no-classes{color:#b6b6b9;font-size:.8rem;font-style:italic;padding:.5rem;text-align:center}.ts-item{transition:opacity .4s ease}.mobile-day-card.filtering .ts-item{display:none}.mobile-day-card.filtering .ts-item.show{display:block}.classtime-table.filtering .ts-item{opacity:0}.classtime-table.filtering .ts-item.show{opacity:1}@media (max-width:991.98px){.class-title-status-wrapper{margin-bottom:.2rem}.timetable-controls ul li{font-size:14px;margin:0 4px;padding:6px 12px}}@media (max-width:767.98px){.mobile-day-header{padding:.4rem .6rem}.day-header-text{font-size:.9rem}.collapse-icon{color:#fff!important;font-size:.8rem}.mobile-day-body{padding:.25rem}.mobile-class-item{margin-bottom:.15rem;padding:.25rem}.class-title{font-size:.7rem;line-height:.95;margin-bottom:.03rem}.class-type{font-size:.75rem}.duration-info,.status-badge.coaching-info,.status-badge.full,.time-badge{font-size:.65rem;padding:.05rem .2rem}.class-time-info{margin-bottom:.1rem}.timetable-controls ul li{font-size:12px;margin:2px;padding:4px 8px}}.booking-modal{background-color:#212121;border:1px solid #171717;border-radius:0;box-shadow:none}#bookingModal:focus{outline:none}.booking-modal .modal-header{align-items:center;background:#ffb700;border-bottom:1px solid #171717;border-radius:0;color:#fff;display:flex;justify-content:space-between;padding:1rem 1.25rem}.booking-modal .modal-title{align-items:center;color:#fff;display:flex;font-family:Oswald,sans-serif;font-size:1.1rem;font-weight:600;margin:0;white-space:nowrap}.booking-modal .modal-title i{color:#fff;font-size:1rem;margin-right:.5rem}.booking-modal .btn-close,.booking-modal .btn-close-white{background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='m.235 1.027 4.61 4.61 4.61-4.61a.75.75 0 1 1 1.06 1.06l-4.61 4.61 4.61 4.61a.75.75 0 1 1-1.06 1.06l-4.61-4.61-4.61 4.61a.75.75 0 1 1-1.06-1.06l4.61-4.61-4.61-4.61a.75.75 0 1 1 1.06-1.06'/%3E%3C/svg%3E") 50%/1em auto no-repeat;border:0;border-radius:0;box-sizing:content-box;color:#fff;height:1em;opacity:.8;padding:.25em;width:1em}.booking-modal .btn-close-white:hover,.booking-modal .btn-close:hover{background-color:hsla(0,0%,100%,.1);opacity:1;transform:none}.booking-modal .modal-body{background-color:#212121;color:#fff;padding:1.5rem}.booking-details .class-info{background-color:#1a1a1a;border:1px solid #171717;border-radius:0;padding:1rem}.booking-details .info-row{align-items:start;display:grid;font-size:.9rem;gap:.75rem;grid-template-columns:24px 1fr;line-height:1.4;margin-bottom:.75rem;overflow:hidden;width:100%}.booking-details .info-row:last-child{margin-bottom:0}.booking-details .info-row i{align-items:flex-start;color:#ffb700;display:flex;flex-shrink:0;font-size:1rem;justify-content:center;margin-top:.1rem;text-align:center;width:24px}.booking-details .info-content{align-items:baseline;display:flex;flex-direction:row;gap:.25rem;min-width:0;overflow:hidden}.booking-details .info-row strong{color:#ffb700;flex-shrink:0;font-family:Oswald,sans-serif;font-size:.85rem;letter-spacing:.5px;line-height:1.2;text-transform:uppercase;white-space:nowrap}.booking-details .info-row span{color:#fff;font-size:.95rem;font-weight:500;line-height:1.3;word-wrap:break-word;flex:1;hyphens:auto;overflow-wrap:break-word}.booking-modal .alert-warning{align-items:flex-start;background-color:rgba(255,183,0,.15);border:1px solid rgba(255,183,0,.3);border-radius:0;color:#fff;display:flex;font-size:.85rem;gap:.5rem;line-height:1.4;margin-top:.75rem;padding:.75rem}.booking-modal .alert-warning i{color:#ffb700;flex-shrink:0;font-size:1rem;margin-top:.1rem}.booking-modal .alert-danger{align-items:flex-start;background-color:rgba(220,53,69,.15);border:1px solid rgba(220,53,69,.3);border-radius:0;color:#fff;display:flex;font-size:.85rem;gap:.5rem;line-height:1.4;margin-top:.75rem;padding:.75rem}.booking-modal .alert-danger i{color:#dc3545;flex-shrink:0;font-size:1rem;margin-top:.1rem}#specialSubscriptionWarning{align-items:flex-start;background-color:rgba(255,183,0,.15);border:1px solid rgba(255,183,0,.3);border-radius:0;color:#fff;display:flex;font-size:.85rem;gap:.5rem;line-height:1.4;margin-top:.75rem;padding:.75rem}#specialSubscriptionWarning i{color:#ffb700;flex-shrink:0;font-size:1rem;margin-top:.1rem}.booking-modal .modal-footer{align-items:center;background-color:#212121;border-radius:0;border-top:1px solid #171717;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.25rem}.booking-modal .btn{align-items:center;border:1px solid #171717;border-radius:0;display:flex;font-family:Oswald,sans-serif;font-size:.85rem;font-weight:600;justify-content:center;letter-spacing:.3px;min-width:120px;padding:.6rem 1.25rem;text-transform:uppercase;transition:all .2s ease;white-space:nowrap}.booking-modal .btn-secondary{background-color:#6c757d;border-color:#6c757d;color:#fff}.booking-modal .btn-secondary:hover{background-color:#5a6268;border-color:#545b62;transform:none}.booking-modal .btn-success{background-color:#28a745;border-color:#28a745;color:#fff}.booking-modal .btn-success:hover{background-color:#218838;border-color:#1e7e34;box-shadow:none;transform:none}.booking-modal .btn-danger{background-color:#dc3545;border-color:#dc3545;color:#fff}.booking-modal .btn-danger:hover{background-color:#c82333;border-color:#bd2130;box-shadow:none;transform:none}@media (max-width:768px){.booking-modal .modal-dialog{margin:.5rem;max-width:calc(100vw - 1rem)}.booking-modal .modal-header{padding:.75rem 1rem}.booking-modal .modal-title{font-size:1rem}.booking-modal .modal-title i{font-size:.9rem;margin-right:.4rem}.booking-modal .modal-body{padding:1rem}.booking-details .class-info{border:1px solid #171717;padding:.75rem}.booking-details .info-row{font-size:.85rem;gap:.5rem;grid-template-columns:20px 1fr;margin-bottom:.6rem}.booking-details .info-row i{font-size:.9rem;width:20px}.booking-details .info-row strong{font-size:.75rem;max-width:calc(100vw - 120px);white-space:nowrap}.booking-details .info-row span{font-size:.9rem}.booking-modal .modal-footer{flex-direction:column;gap:.5rem;padding:.75rem 1rem}.booking-modal .btn{font-size:.8rem;min-width:auto;padding:.7rem 1rem;width:100%}#specialSubscriptionWarning{font-size:.8rem;margin-top:.5rem;padding:.6rem}#specialSubscriptionWarning i{font-size:.9rem}}@media (max-width:480px){.booking-modal .modal-dialog{margin:.25rem;max-width:calc(100vw - .5rem)}.booking-modal .modal-header{padding:.6rem .8rem}.booking-modal .modal-body{padding:.8rem}.booking-details .class-info{border:1px solid #171717;padding:.6rem}.booking-details .info-row{gap:.4rem;grid-template-columns:18px 1fr;margin-bottom:.5rem}.booking-details .info-row i{font-size:.85rem;width:18px}.booking-details .info-row strong{font-size:.7rem;max-width:calc(100vw - 80px);white-space:nowrap}.booking-modal .modal-footer{padding:.6rem .8rem}#specialSubscriptionWarning{font-size:.75rem;margin-top:.4rem;padding:.5rem}}