body {
    background-attachment:fixed;
    background-image:url(../img/reg.webp);
    background-position:center;
    background-repeat:no-repeat;
    background-size:cover;
    color:#333;
    font-family:'Poppins',sans-serif;
    line-height:1.6;
    margin:0;
    padding:0
    }
    
    .container {
    -webkit-backdrop-filter:blur(10px);
    animation:fadeIn .6s ease-in-out;
    backdrop-filter:blur(10px);
    background-color:#ffffff7b;
    border:1px solid #ffffff80;
    border-radius:15px;
    box-shadow:0 8px 20px #00000026;
    display:flex;
    margin:40px auto
    }
    
    .left-section {
    background:linear-gradient(135deg,#000a38,#002a84);
    border-bottom-left-radius:20px;
    border-top-left-radius:20px;
    color:#fff;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:40px 20px;
    text-align:center;
    width:35%
    }
    
    .left-section h2 {
    animation:fadeInDown .6s ease-in-out;
    font-size:2rem;
    font-weight:600;
    margin-bottom:30px
    }
    
    .steps {
    margin-top:20px;
    }
    
    .step {
    align-items:center;
    display:flex;
    flex-direction:column;
    justify-content:center;
    margin:15px 0
    }
    
    .step-indicator {
    align-items:center;
    background-color:#fff;
    border-radius:50%;
    box-shadow:0 4px 10px #0003;
    color:#0056a4;
    display:flex;
    font-size:1.2rem;
    font-weight:700;
    height:50px;
    justify-content:center;
    margin-bottom:10px;
    width:50px
    }
    
    .step-label {
    font-size:1.1rem;
    font-weight:500
    }
    
    .right-section {
    padding:40px;
    width:65%
    }
    
    header h1 {
    animation:fadeInUp .7s ease-in-out;
    color:#0056a4;
    font-size:2.5rem;
    font-weight:700;
    margin-bottom:30px;
    text-align:center
    }
    
    .section-title {
    border-bottom:3px solid #4a90e2;
    color:#333;
    display:inline-block;
    font-size:1.8rem;
    font-weight:600;
    margin-bottom:20px;
    padding-bottom:5px
    }
    
    .form-section {
    display:grid;
    gap:20px;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    margin-bottom:30px
    }
    
    .form-group {
    display:flex;
    flex-direction:column
    }
    
    label {
    color:#555;
    font-size:.9rem;
    font-weight:600;
    margin-bottom:5px
    }
    
    .full-width {
    grid-column:span 2
    }
    
    .phone-group {
    display:flex;
    gap:10px
    }
    
    .phone-group select {
    flex:1
    }
    
    .phone-group input {
    flex:4
    }
        
    label {
    color:#555;
    display:block;
    font-size:1rem;
    font-weight:600;
    margin-bottom:8px
    }
    
    input,select {
    background:#f9f9f9;
    border:1px solid #ccc;
    border-radius:10px;
    box-sizing:border-box;
    font-size:1rem;
    padding:15px;
    transition:border-color .3s ease,box-shadow .3s ease;
    width:100%
    }
    
    .coupon-section input {
    border:1px solid #ccc;
    border-radius:10px;
    font-size:1rem;
    margin-right:10px;
    padding:15px;
    width:60%
    }
    
    button {
    border:none;
    border-radius:10px;
    cursor:pointer;
    font-size:1rem;
    padding:15px 30px;
    transition:all .3s ease
    }
    
    button.back {
    background-color:#ddd;
    color:#555
    }
    
    button.back:hover {
    background-color:#bbb
    }
    
    button.next {
    background:linear-gradient(135deg,#4a90e2,#0056a4);
    box-shadow:0 4px 15px #0003;
    color:#fff;
    font-weight:600
    }
    
    button.next:disabled {
    background-color:#ccc;
    cursor:not-allowed
    }
    
    button.next:hover {
    background:linear-gradient(135deg,#0056a4,#003d73)
    }
    
    .Professional-section {
    background-color:#fff;
    border-radius:10px;
    box-shadow:0 4px 12px #0000001a;
    margin-bottom:30px;
    padding:30px 20px
    }
    
    .section-title {
    border-bottom:3px solid #4a90e2;
    color:#0056a4;
    font-size:1.8rem;
    font-weight:600;
    margin-bottom:20px;
    padding-bottom:5px
    }
    
    .Professional-group {
    display:flex;
    flex-direction:column;
    margin-bottom:25px
    }
    
    .Professional-group label {
    color:#333;
    font-size:1rem;
    font-weight:600;
    margin-bottom:8px
    }
    
    .radio-group {
    display:flex;
    flex-wrap:wrap;
    gap:15px;
    margin-top:10px
    }
    
    .radio-group label {
    align-items:center;
    background-color:#f9f9f9;
    border:1px solid #ccc;
    border-radius:8px;
    cursor:pointer;
    display:flex;
    font-size:1rem;
    font-weight:500;
    padding:10px 15px;
    transition:background-color 0.3s,border-color .3s
    }
    
    .radio-group input[type="radio"] {
    accent-color:#4a90e2;
    margin-right:8px
    }
    
    .radio-group input[type="radio"] + label {
    background-color:#f9f9f9;
    color:#333
    }
    
    .radio-group input[type="radio"]:checked + label {
    background-color:#4a90e2;
    border-color:#4a90e2;
    color:#fff
    }
    
    .radio-group label:hover {
    background-color:#e6f1fc;
    border-color:#4a90e2
    }
    
    input:focus,select:focus,input[type="text"]:focus,select:focus {
    border-color:#4a90e2;
    box-shadow:0 0 8px #4a90e24d;
    outline:none
    }
    
    input[type="text"],select {
    background-color:#f9f9f9;
    border:1px solid #ccc;
    border-radius:8px;
    font-size:1rem;
    padding:12px;
    transition:border-color 0.3s,box-shadow .3s
    }
    .actions{
      margin-top: 15vh;
        text-align: center !important;
    }
  
    
    @keyframes fadeIn {
    from {
    opacity:0;
    transform:translateY(10px)
    }
    
    to {
    opacity:1;
    transform:translateY(0)
    }
    }
    
    @keyframes fadeInDown {
    from {
    opacity:0;
    transform:translateY(-20px)
    }
    
    to {
    opacity:1;
    transform:translateY(0)
    }
    }
    
    @keyframes fadeInUp {
    from {
    opacity:0;
    transform:translateY(20px)
    }
    
    to {
    opacity:1;
    transform:translateY(0)
    }
    }
    
    /* Ensure only phone input is styled */
.iti {
    width: 100%;
}

/* Keep phone input styling consistent with other form inputs */
.iti input, .iti input[type="tel"] {
    width: 100%;
    padding: 12px;
    font-size: 1rem;
    border: 1px solid #ccc;
    border-radius: 8px;
    background-color: #f9f9f9;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Highlight input on focus */
.iti input:focus {
    border-color: #4a90e2 !important;
    box-shadow: 0 0 8px rgba(74, 144, 226, 0.3);
    outline: none;
}

/* Fix flag dropdown button alignment */
.iti__selected-flag {
    height: 100%;
    border-radius: 8px 0 0 8px;
}

/* Prevent global styles from affecting other inputs */
.iti input[type="text"], 
.iti input[type="email"], 
.iti input[type="password"], 
.iti input[type="number"] {
    all: unset; /* Removes intl-tel-input styling on non-phone fields */
}

/* Override default intl-tel-input styles for flag dropdown */
.iti__country-list {
    background: white;
    border: 1px solid #ddd;
    max-height: 200px;
    overflow-y: auto;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    z-index: 1000;
}

/* Prevent affecting other dropdowns */
select, .iti select {
    appearance: auto !important;
    width: 100% !important;
    padding: 12px !important;
    font-size: 1rem !important;
}
@media screen and (max-width: 768px) {
    /* Container optimization */
    .container {
        flex-direction: column;
        margin: 15px auto;
        width: 92%;
        max-width: 500px;
    }
    
    /* Section layout optimization */
    .left-section {
        border-radius: 12px 12px 0 0;
        padding: 22px 15px;
        width: auto;
        align-items: center;
    }
    
    .right-section {
        padding: 22px 15px;
        width: auto;
    }
    
    /* Typography optimization */
    header h1 {
        font-size: 1.8rem;
        text-align: center;
        margin-bottom: 20px;
    }
    
    .section-title {
        font-size: 1.4rem;
        margin-bottom: 15px;
    }
    
    /* Form layout optimization */
    .form-section {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-bottom: 20px;
    }
    
    .full-width {
        grid-column: 1;
    }
    
    /* Input element optimization */
    input, select, button {
        padding: 10px;
        font-size: 0.95rem;
    }
    
    /* Step indicators optimization */
    .steps {
        display: flex;
        justify-content: space-around;
        margin-top: 15px;
    }
    
    .step {
        margin: 8px 10px;
    }
    
    .step-indicator {
        height: 38px;
        width: 38px;
        font-size: 0.9rem;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    }
    
    .step-label {
        font-size: 0.85rem;
    }
    
    /* Form components optimization */
    .coupon-section input {
        width: 65%;
        padding: 10px;
    }
    
    .radio-group {
        gap: 8px;
        
    }
    
    .radio-group label {
        padding: 5px;
        font-size: 0.85rem;
    }
    
    /* Action buttons optimization */
    .actions {
        margin-top: 4vh;
        display: flex;
        flex-direction: column;
        gap: 10px;
        align-items: center;
    }
    
    button {
        width: 100%;
        max-width: 200px;
    }
    
    /* Phone group optimization */
    .phone-group {
        flex-direction: column;
        gap: 12px;
    }
    
    .phone-group select,
    .phone-group input {
        width: 100%;
    }
    
    /* International telephone input optimization */
    .iti {
        width: 100%;
    }
    
    .iti__selected-flag {
        padding: 0 10px;
    }
    
    .iti input {
        padding: 10px;
    }
    body{
        background-image: none;
    }
    .Coupon-section p{
       text-align: center;
    }
    
}#loadingOverlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
  }
  
  .spinner {
    width: 60px;
    height: 60px;
    border: 6px solid #e0e0e0;
    border-top: 6px solid #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
  }
  
  @keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
  }
  #total_price {
  font-size: 2em;
  font-weight: bold;
  color: #ff0303; /* Bright color for attention */
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1); /* Slight shadow for emphasis */
 
  padding: 10px;
  border-radius: 5px;

}

p {
  font-size: 1.2em;
  font-family: Arial, sans-serif;
  color: #333;
}
  .workshop {
            max-width: 1000px;
            margin: 2rem auto;
            padding: 100px;
            background-color: #fff;
            border-radius: 12px;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
        }

        .section-title {
            font-size: 1.8rem;
            font-weight: 600;
            color: #2c3e50;
            margin-bottom: 0.5rem;
            padding-bottom: 0.5rem;
            border-bottom: 2px solid #f0f0f0;
        }

        .section-description {
            color: #7f8c8d;
            margin-bottom: 1.5rem;
            font-size: 0.95rem;
        }

        /* Workshop list */
        .workshop-list {
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }

        .workshop-item {
            display: flex;
            align-items: center;
            padding: 1.2rem;
            border-radius: 8px;
            background-color: #f8fafc;
            border: 1px solid #e0e7ff;
            transition: all 0.2s ease-in-out;
            cursor: pointer;
            position: relative;
            overflow: hidden;
        }

        .workshop-item:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 12px rgba(0, 0, 0, 0.03);
            border-color: #c7d2fe;
        }

        /* Custom checkbox styling */
        .workshop-item input[type="checkbox"] {
            position: absolute;
            opacity: 0;
            cursor: pointer;
            height: 0;
            width: 0;
        }

        .custom-checkbox {
            height: 22px;
            width: 22px;
            min-width: 22px;
            border: 2px solid #d1d5db;
            border-radius: 6px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-right: 1rem;
            transition: all 0.2s ease;
            background-color: white;
        }

        .workshop-item:hover .custom-checkbox {
            border-color: #818cf8;
        }

        input[type="checkbox"]:checked ~ .custom-checkbox {
            background-color: #4f46e5;
            border-color: #4f46e5;
        }

        input[type="checkbox"]:checked ~ .custom-checkbox::after {
            content: "✓";
            color: white;
            font-size: 14px;
            font-weight: bold;
        }

        input[type="checkbox"]:focus ~ .custom-checkbox {
            box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.3);
        }

        .workshop-info {
            flex-grow: 1;
            padding-right: 1rem;
        }

        .title {
            font-weight: 600;
            font-size: 1.1rem;
            color: #1e293b;
            margin-bottom: 0.25rem;
        }

        .subtitle {
            font-size: 0.9rem;
            color: #64748b;
        }

        .subtitle span {
            font-weight: 500;
            color: #4338ca;
        }

        .workshop-price {
            text-align: right;
            min-width: 100px;
        }

        .price {
            font-weight: 600;
            font-size: 1.1rem;
            color: #16a34a;
        }

        .availability {
            font-size: 0.8rem;
            padding: 3px 8px;
            border-radius: 12px;
            display: inline-block;
            margin-top: 5px;
        }

        .limited {
            background-color: #fef9c3;
            color: #854d0e;
        }

        .available {
            background-color: #dcfce7;
            color: #166534;
        }

        .sold-out {
            background-color: #fee2e2;
            color: #991b1b;
        }

        /* Selected workshop styling */
        input[type="checkbox"]:checked ~ .workshop-info .title {
            color: #4f46e5;
        }

        /* Workshop tags */
        .tag-container {
            display: flex;
            gap: 0.5rem;
            margin-top: 0.5rem;
        }

        .tag {
            font-size: 0.7rem;
            padding: 2px 8px;
            border-radius: 12px;
            background-color: #e0e7ff;
            color: #4338ca;
        }

        /* Add workshop button */
        .workshop-actions {
            margin-top: 2rem;
            display: flex;
            justify-content: flex-end;
        }

        .continue-btn {
            background-color: #4f46e5;
            color: white;
            border: none;
            padding: 0.7rem 1.5rem;
            border-radius: 8px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        .continue-btn:hover {
            background-color: #4338ca;
            transform: translateY(-1px);
        }

        .continue-btn:active {
            transform: translateY(1px);
        }

        /* Additional workshops */
        .more-workshops {
            display: flex;
            flex-wrap: wrap;
            gap: 1rem;
            margin-top: 1.5rem;
        }

        /* Responsive styles */
        @media (max-width: 768px) {
            .workshop {
                padding: 1.5rem;
                margin: 1rem;
            }

            .workshop-item {
                flex-direction: column;
                align-items: flex-start;
            }

            .custom-checkbox {
                position: absolute;
                top: 1.2rem;
                right: 1.2rem;
                margin-right: 0;
            }

            .workshop-info {
                padding-right: 2rem;
                width: 100%;
            }

            .workshop-price {
                margin-top: 0.8rem;
                text-align: left;
            }

            .continue-btn {
                width: 100%;
                text-align: center;
            }
              .radio-group {
        gap: 8px;
        /* Ensure better spacing */
    }
    
    .radio-group label {
        padding: 8px 10px 8px 35px; /* Increased left padding to make room for the radio button */
        font-size: 0.85rem;
        position: relative; /* For absolute positioning of the radio button */
        display: flex;
        align-items: center;
        min-height: 44px; /* Ensure touch-friendly size */
    }
    
    .radio-group input[type="radio"] {
        position: absolute;
        left: 10px; /* Position radio button to the left */
        margin-right: 0;
        top: 50%;
        transform: translateY(-50%);
        z-index: 1; /* Ensure radio button is above any backgrounds */
    }
    
    /* Additional fix for text visibility */
    .radio-group input[type="radio"] + label {
        color: #333;
        background-color: #f9f9f9;
        z-index: 0; /* Ensure label is under the radio input */
    }
    
    .radio-group input[type="radio"]:checked + label {
        background-color: #4a90e2;
        color: #fff;
    }
    
    /* Ensure the Professional group elements stack properly */
    .Professional-group {
        margin-bottom: 20px;
    }
    
    .Professional-group label {
        margin-bottom: 10px;
        z-index: 2; /* Ensure the group label is always visible */
    }
        }

        @media (max-width: 480px) {
            .workshop {
                padding: 1rem;
            }

            .section-title {
                font-size: 1.5rem;
            }
        }

        /* Animation for checkbox */
        @keyframes checkmark {
            0% { transform: scale(0); }
            50% { transform: scale(1.2); }
            100% { transform: scale(1); }
        }

        input[type="checkbox"]:checked ~ .custom-checkbox::after {
            animation: checkmark 0.2s ease-in-out forwards;
        }
        