  /* --- DEMO CLASSES SECTION --- */
        .demo-classes-section {
            background-color: #000000;
            color: white;
            padding: 80px 2%; /* Adjusted padding slightly for better fit on all screens */
            font-family: 'Poppins', sans-serif;
            overflow: hidden; /* Prevents buttons from creating horizontal scroll on the page */
        }

        .section-header {
            max-width: 1090px; /* Align header with the slider width */
            margin: 0 auto 40px auto; /* Center the header */
            padding: 0 10px; /* Add some padding to align text nicely */
            box-sizing: border-box;
        }

        .section-titles h3 {
            color: #ff4d4d; /* Bright red color */
            font-size: 1rem;
            font-weight: 700;
            letter-spacing: 2px;
            margin: 0 0 10px 0;
        }

        .section-titles h2 {
            font-size: 2.5rem;
            font-weight: 700;
            margin: 0;
        }

        /* ============================================= */
        /*          START: MODIFIED CSS                  */
        /* ============================================= */

        .slider-wrapper {
            position: relative;
            display: flex;
            align-items: center;
            /* NEW: Set a fixed width to show exactly 3 cards and center the whole component */
            width: 1090px; /* (3 * 350px for cards) + (2 * 20px for gaps) */
            margin: 0 auto; /* This centers the slider on the page */
        }
        
        /* ============================================= */
        /*          END: MODIFIED CSS                    */
        /* ============================================= */
        
        .slider-viewport {
            width: 150%; /* Viewport takes the full width of the wrapper */
            overflow: hidden; /* Hides the parts of the slider that are off-screen */
        }

        .nav-button {
            position: absolute; 
            top: 50%;
            transform: translateY(-50%);
            background-color: #1a1a1a;
            border: 1px solid #444;
            color: white;
            width: 50px;
            height: 50px;
            border-radius: 50%;
            font-size: 1.1rem;
            cursor: pointer;
            z-index: 10;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background-color 0.3s ease, transform 0.2s ease;
        }

        .nav-button:hover {
            background-color: #333;
            transform: translateY(-50%) scale(1.05);
        }

        #scroll-left {
            left: -60px; 
        }

        #scroll-right {
            right: -60px;
        }

        /* --- SLIDER & CARDS --- */
        .classes-slider {
            display: flex;
            gap: 20px;
            overflow-x: auto;
            padding: 10px 2px; /* Adds a little space so card shadows aren't clipped */
            /* Hide scrollbar for a cleaner look */
            -ms-overflow-style: none;  /* IE and Edge */
            scrollbar-width: none;  /* Firefox */
        }
        .classes-slider::-webkit-scrollbar {
            display: none; /* Chrome, Safari, and Opera */
        }

        .class-card {
            flex: 0 0 350px; /* Each card has a fixed width of 350px */
            background-color: #f8f9fa;
            color: #1c1c1c; /* Dark text on light card */
            border-radius: 16px;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            /* Subtle grid background */
            background-image: linear-gradient(rgba(0,0,0,0.03) 1px, transparent 1px),
                            linear-gradient(90deg, rgba(0,0,0,0.03) 1px, transparent 1px);
            background-size: 25px 25px;
        }

        .card-content {
            padding: 25px;
            flex-grow: 1; /* Pushes the button to the bottom */
            display: flex;
            flex-direction: column;
        }

        .card-title {
            font-size: 1.3rem;
            font-weight: 700;
            margin: 0 0 25px 0;
            line-height: 1.4;
            color: #1c1c1c;
        }

        .instructor-info {
            display: flex;
            align-items: center;
            gap: 15px;
            margin-bottom: 25px;
        }

        .instructor-pic {
            width: 60px;
            height: 60px;
            border-radius: 8px;
            object-fit: cover;
        }

        .instructor-name {
            font-weight: 700;
            margin: 0 0 4px 0;
        }

        .instructor-bio {
            font-size: 0.85rem;
            color: #555;
            line-height: 1.5;
            margin: 0;
        }

        .class-meta {
            margin-top: auto; /* Pushes this block down */
        }

        .class-date {
            font-size: 0.9rem;
            color: #333;
            margin: 0 0 8px 0;
        }
        .class-date .far {
            margin-right: 8px;
        }

        .seats-left {
            font-size: 0.8rem;
            font-weight: 700;
            letter-spacing: 1px;
            color: #d35400; /* Made the color a bit more prominent */
        }

        .register-button {
            display: block;
            background: linear-gradient(90deg, #9b59b6, #8e44ad);
            color: white;
            text-align: center;
            padding: 18px 20px;
            text-decoration: none;
            font-weight: 700;
            font-size: 1rem;
            transition: transform 0.2s ease, box-shadow 0.2s ease;
        }

        .register-button:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(155, 89, 182, 0.4);
        }

        .register-button .fas {
            margin-left: 8px;
        }
        
        /* --- POPUP STYLES (UNCHANGED) --- */
        .hidden { display: none !important; }
        body.popup-open { overflow: hidden; }

        #registration-popup-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.7);
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 1000;
        }

        #registration-popup-modal {
            background-color: #fff;
            color: #1c1c1c;
            display: flex;
            border-radius: 16px;
            overflow: hidden;
            width: 90%;
            max-width: 900px;
            position: relative;
        }

        #popup-details-container {
            background-color: #f4f7fc;
            padding: 40px;
            width: 55%;
        }

        #popup-title {
            font-size: 1.8rem;
            margin-top: 0;
            margin-bottom: 30px;
        }

        .popup-instructor {
            display: flex;
            align-items: center;
            gap: 20px;
            margin-bottom: 30px;
        }

        #popup-instructor-img {
            width: 80px;
            height: 80px;
            border-radius: 12px;
        }

        #popup-instructor-name {
            font-weight: 700;
            font-size: 1.1rem;
            margin: 0 0 5px;
        }

        #popup-instructor-bio {
            font-size: 0.9rem;
            color: #555;
            margin: 0;
        }

        #popup-highlights {
            list-style-type: none;
            padding: 0;
            margin: 0;
        }

        #popup-highlights li {
            padding-left: 30px;
            position: relative;
            margin-bottom: 15px;
        }

        #popup-highlights li::before {
            content: '✓';
            color: #27ae60;
            font-weight: bold;
            position: absolute;
            left: 0;
            top: 0;
        }

        #popup-form-container {
            padding: 40px;
            width: 45%;
        }

        #close-popup-btn {
            position: absolute;
            top: 15px;
            right: 20px;
            background: none;
            border: none;
            font-size: 2rem;
            color: #aaa;
            cursor: pointer;
        }

        #form-header h2 {
            margin: 0;
            text-align: center;
        }

        .progress-bar {
            height: 4px;
            background-color: #ddd;
            width: 80%;
            margin: 15px auto 30px;
            border-radius: 2px;
        }

        .form-group {
            margin-bottom: 20px;
        }

        .form-group input {
            width: 100%;
            padding: 12px;
            border: 1px solid #ccc;
            border-radius: 8px;
            box-sizing: border-box;
        }
        
        .phone-group-wrapper {
            display: flex;
        }

        .country-code-display {
            padding: 12px;
            border: 1px solid #ccc;
            border-right: none;
            border-radius: 8px 0 0 8px;
            background-color: #f0f0f0;
        }

        #phone {
            border-left: none;
            border-radius: 0 8px 8px 0;
        }

        .submit-btn {
            width: 100%;
            padding: 15px;
            background: linear-gradient(90deg, #9b59b6, #8e44ad);
            color: white;
            border: none;
            border-radius: 8px;
            font-size: 1rem;
            font-weight: 700;
            cursor: pointer;
        }

        .form-disclaimer {
            font-size: 0.8rem;
            text-align: center;
            color: #777;
        }