.class-details-section{background-color:var(--alt-bg);min-height:calc(100vh - 76px)}.checkout-card,.class-info-card,.map-card{background:#fff;border-radius:15px;padding:2rem;box-shadow:0 4px 15px rgba(0,0,0,.1)}.class-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--light-bg)}.class-title{font-size:2.5rem;font-weight:700;color:var(--primary-color);margin-bottom:1rem}.class-badges{display:flex;flex-wrap:wrap;gap:.5rem}.class-badge{padding:.4rem .8rem;border-radius:15px;font-size:.85rem;font-weight:500;color:#fff;display:inline-block}.class-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2rem}@media (max-width:768px){.class-details-grid{grid-template-columns:1fr}}.detail-item{display:flex;align-items:flex-start;gap:1rem}.detail-item i{font-size:1.5rem;color:var(--primary-color);margin-top:.25rem}.detail-label{font-size:.9rem;color:#666;margin-bottom:.25rem}.detail-value{font-size:1.1rem;font-weight:600;color:var(--text-dark)}.class-description{margin-top:2rem}.class-description h3{color:var(--primary-color);margin-bottom:1rem}.class-description p{line-height:1.8;color:var(--text-dark)}.map-card{position:sticky;top:100px;height:fit-content;max-height:calc(100vh - 150px);display:flex;flex-direction:column}.map-card h3{color:var(--primary-color);margin-bottom:1rem}#mapContainer{flex:1;display:flex;flex-direction:column}#map{width:100%;height:400px;border-radius:10px;margin-bottom:1rem;height:100%}@media (max-width:991px){.map-card{position:relative;top:0;height:auto;max-height:none}}.map-address{display:flex;align-items:center;gap:.75rem;padding:1rem;background-color:var(--light-bg);border-radius:8px;margin-bottom:1em}.map-address i{font-size:1.5rem;color:var(--primary-color)}#onlineIndicator{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:15px;padding:4rem 2rem;text-align:center;color:#fff}.online-icon{font-size:6rem;margin-bottom:1rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}#onlineIndicator h2{font-size:3rem;font-weight:700;margin-bottom:.5rem;color:#fff}#onlineIndicator p{font-size:1.2rem;opacity:.9;color:#fff}.additional-sessions h2{color:var(--primary-color);margin-bottom:1rem;text-align:center}.additional-sessions p{text-align:center;margin-bottom:2rem}.sessions-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.session-card{background:#fff;border-radius:10px;padding:1.5rem;box-shadow:0 2px 10px rgba(0,0,0,.1);transition:transform .3s,box-shadow .3s;cursor:pointer;border:2px solid transparent;text-decoration:none;color:inherit;display:block}.session-card:hover{transform:translateY(-5px);box-shadow:0 4px 20px rgba(0,0,0,.15);border-color:var(--primary-color)}.session-date{font-size:1.2rem;font-weight:700;color:var(--primary-color);margin-bottom:.5rem}.session-time{margin-bottom:.5rem}.session-spots,.session-time{display:flex;align-items:center;gap:.5rem;color:#666}.session-spots{font-size:.9rem}.session-dates-section{background:#fff;border-radius:15px;padding:2rem;box-shadow:0 4px 15px rgba(0,0,0,.1);margin:0 0 1.5rem!important}.session-dates-section h2{color:var(--primary-color);margin-bottom:2rem;text-align:center}.session-dates-list{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}@media (max-width:1200px){.session-dates-list{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.session-dates-list{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.session-dates-list{grid-template-columns:1fr}}.session-date-item{background-color:var(--light-bg);border-left:4px solid var(--primary-color);border-radius:8px;padding:1rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;transition:transform .2s,box-shadow .2s}.session-date-item:hover{transform:translateY(-3px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.session-date-item.past{opacity:.5;background-color:#e9ecef;border-left-color:#999}.session-date-item.past:hover{transform:none;box-shadow:none}.session-date-header{display:flex;align-items:center;gap:.75rem}.session-date-item i{font-size:1.5rem;color:var(--primary-color)}.session-date-item.past i{color:#999}.session-date-day{font-weight:600;color:var(--text-dark);font-size:.95rem}.session-date-time{color:#666;font-size:.9rem;padding-left:2.25rem}.checkout-section h2{color:var(--primary-color);margin-bottom:2rem;text-align:center}.checkout-card{background:#fff;border-radius:15px;padding:2rem;box-shadow:0 4px 15px rgba(0,0,0,.1)}.checkout-card h4{color:var(--primary-color);margin-bottom:1.5rem}.checkout-card .form-label{font-weight:600;color:var(--text-dark)}.checkout-card .form-check-input,.checkout-card .form-control{border-radius:8px}.checkout-card .form-control:focus{border-color:var(--primary-color);box-shadow:0 0 0 .2rem rgba(203,153,126,.25)}.payment-methods-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.payment-card{position:relative;background:#fff;border:2px solid #ddd;border-radius:10px;padding:1.5rem 1rem;text-align:center;cursor:pointer;transition:all .3s;display:flex;flex-direction:column;align-items:center;gap:.5rem}.payment-card:hover{border-color:var(--primary-color);background-color:var(--light-bg);transform:translateY(-3px)}.payment-card input[type=radio]{display:none}.payment-card.selected{border-color:var(--primary-color);background-color:var(--light-bg);border-width:3px;box-shadow:0 4px 12px rgba(203,153,126,.3)}.payment-card i{font-size:2rem;color:var(--primary-color)}.payment-card span{font-weight:600;color:var(--text-dark)}.payment-inner-card{display:inline-flex;align-items:center;gap:10px;width:100%;margin:0}.payment-icon{flex-shrink:0}#bookingBtn{font-size:1.2rem;padding:1rem;display:flex;align-items:center;justify-content:center;gap:.75rem}@media (max-width:991px){.class-title{font-size:2rem}.map-card{position:static}#map{height:300px}}.modal-actions{margin-bottom:20px;display:flex;gap:10px;justify-content:center}#internal_ref_code{opacity:0;position:absolute;top:0;left:-5000px;height:0;width:0;z-index:-1}