/* login page all css */

 .custom-login-wrapper {
            max-width: 600px;
            margin: 30px auto;
            background: #f7f9fb;
            padding: 25px;
            border-radius: 10px;
            box-shadow: 0 0 15px rgba(0,0,0,0.1);
        }

        .custom-login-wrapper .login-title {
            text-align: center;
            font-size: 24px;
            margin-bottom: 20px;
            color: black;
        }

        .custom-login-form .form-row {
            margin-bottom: 15px;
        }

        .custom-login-form label {
            display: block;
            font-weight: bold;
            margin-bottom: 5px;
            color: black;
        }

        .custom-login-form input[type="text"],
        .custom-login-form input[type="password"] {
            width: 100%;
            padding: 10px;
            border: 1px solid #ddd;
            border-radius: 6px;
        }

        .custom-login-form .login-btn {
            width: 100%;
            background: #8c6b4f;
            color: #fff;
            padding: 12px;
            border: none;
            border-radius: 6px;
            font-size: 16px;
            cursor: pointer;
        }

        .custom-login-form .login-btn:hover {
            background: #6b5039;
        }
        span#togglePassword {
    position: relative;
    left: 515px;
    top: -32px;
}


/* end login page css here */


/* start my register page css */
.drf-gender {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
label.gender-lable {
    margin-bottom: 15px;
}
#dance-register-form {
    max-width: 918px; /* Wider form */
    margin: 20px auto;
    padding: 25px;
    border: 1px solid #ccc;
    border-radius: 15px;
    background: linear-gradient(to right, #f8f9fa, #e9ecef);
    color: #000;
    font-family: 'Arial', sans-serif;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}

h2.drf-title {
    text-align: center;
    margin-bottom: 25px;
    font-size: 28px;
    color: black !important;
}

h3.drf-subtitle {
    margin-bottom: 15px;
    color: #333;
}

.drf-row {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
    align-items: flex-start; /* align everything from the top */
}
.drf-field {
    flex: 1; /* fields take more width */
    display: flex;
    flex-direction: column;
    min-width: 0; /* prevents flex overflow */
}


#drf-form input[type="text"],
#drf-form input[type="email"],
#drf-form input[type="number"],
#drf-form select {
    color: #000;
    border: 1px solid #888;
    padding: 8px 10px;
    border-radius: 6px;
    margin-top: 5px;
    width: 100%;
    box-sizing: border-box;
    transition: all 0.3s ease;
}

#drf-form input:focus,
#drf-form select:focus {
    border-color: #007bff;
    box-shadow: 0 0 5px rgba(0,123,255,0.5);
    outline: none;
}

.drf-btn {
    background: #007bff;
    color: #fff;
    border: none;
    padding: 8px 16px;
    border-radius: 6px;
    cursor: pointer;
    margin-top: 5px;
    transition: background 0.3s ease;
}

.drf-btn:hover {
    background: #0056b3;
}

.drf-remove-dancer {
    flex: 0 0 auto;
    background: #dc3545;
    color: #fff;
    padding: 6px 12px;
    border-radius: 6px;
    cursor: pointer;
    /* height: 40px; */
    align-self: flex-end;
    margin-bottom: 22px;
}
.drf-remove-dancer:hover {
    background: #a71d2a;
}

#drf-add-dancer,
.remove-dancer {
    flex: 0 0 auto;      /* button won't stretch */
    width: auto;         /* button auto-sized */
    padding: 6px 12px;   /* small neat size */
    align-self: flex-end; /* align button bottom with inputs */
}

/* Make add button inline with first dancer row */
.drf-add-dancer {
    flex: 0 0 auto;
    /* padding: 6px 12px; */
    /* height: 5.5vh; */
    /* align-self: flex-start; */
    margin-bottom: 22px;
}
.drf-dancer {
    display: flex;
    gap: 8px;
    align-items: flex-end; /* aligns input fields and button nicely */
}
.drf-error {
    color: red;
    font-size: 13px;
    margin-top: 3px;
    min-height: 18px; /* keeps consistent space for error */
}


/* Responsive */
@media(max-width: 768px){
    .drf-row {
        flex-direction: column;
    }

    .drf-add-dancer {
        align-self: stretch;
        width: 100%;
    }

    .drf-remove-dancer {
        margin-left: 0;
        margin-top: 5px;
    }
}

#paymentModal{
display:none; 
position:fixed; 
top:0; left:0; 
right:0; bottom:0; 
background:rgba(0,0,0,0.6); 
z-index:9999; 
justify-content:center; align-items:center;
}
.cart_container {
    background: #fff;
    padding: 30px;
    position: relative;
    border-radius: 12px;

    /* 👇 Scrollbar enable */
    max-height: 80vh;    /* viewport height का 80% से ज्यादा content हो तो scroll */
    overflow-y: scroll;  /* हमेशा vertical scrollbar दिखे */
    overflow-x: hidden;  /* horizontal scroll remove */

    /* 👇 Popup size */
    top: 130px;
    left: 50%;
    transform: translateX(-50%); /* center align */
    width: 600px;    /* बढ़ा दिया width */
    max-width: 95%;  /* responsive रख दिया */
}
#ajaxLoader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.3); /* semi-transparent dim/blur */
    backdrop-filter: blur(2px); /* slight blur effect */
    z-index: 9999; /* on top of all content */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Circular loader */
.loader-circle {
    border: 8px solid #f3f3f3; /* Light gray background */
    border-top: 8px solid #3498db; /* Blue spinner part */
    border-radius: 50%;
    width: 60px;
    height: 60px;
    animation: spin 1s linear infinite;
}

/* Spinner animation */
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
 #dancer_dob::before {
    content: attr(data-date);
    color: #000;
    position: absolute;
    margin-left: 10px;
}
/* ========== Responsive ========== */
@media (max-width: 768px) {
    #dance-register-form {
        padding: 15px;
    }

    .drf-title {
        font-size: 20px;
    }

    .drf-subtitle {
        font-size: 18px;
    }

    .drf-row {
        flex-direction: column;
        gap: 15px;
    }

    .drf-field {
        min-width: 100%;
    }

    .drf-add-dancer {
        align-self: flex-start;
        margin-top: 10px;
    }
}

@media (max-width: 480px) {
    .drf-title {
        font-size: 18px;
    }

    .drf-subtitle {
        font-size: 16px;
    }

    .drf-btn {
        width: 100%;
        padding: 12px;
    }
}


/* end register page css here */

/* dashboard page css start here */

/* ✅ Logout button */
.logout-button {
    display: inline-block;
    padding: 10px 18px;
    background: #b08d57;
    color: #fff !important; /* ✅ Force text white */
    text-decoration: none !important;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 500;
    transition: background 0.3s ease;
    margin-left: auto;
    margin-right: auto;
}

/* Hover effect */
.logout-button:hover {
    background: #8f6c3f;
    color: #fff !important; /* ✅ Still white on hover */
}
 
/* Responsive alignment */
@media (min-width: 768px) {
    .logout-button {
        float: right;
        margin-right: 5%;
    }
}

@media (max-width: 767px) {
    .logout-button {
        display: block;
        width: 90%;
        text-align: center;
        margin: 15px auto;
    }
}


table.pending-payments {
    color: black;
}
div#swal2-html-container {
    font-size: medium;
}
h2#swal2-title {
    font-size: larger;
}

.table-pending-paument {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.table-complete-payment {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}




.pending-payments,
.completed-payments {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    min-width: 600px; /* keeps columns readable */
}

.pending-payments th,
.pending-payments td,
.completed-payments th,
.completed-payments td {
    padding: 10px;
    border: 1px solid #ddd;
    text-align: center;
    white-space: nowrap;
}

.pending-payments th,
.completed-payments th {
    background: #f5f5f5;
    font-weight: bold;
}

@media screen and (max-width: 768px) {
    .pending-payments,
    .completed-payments {
        font-size: 12px;
        min-width: 480px;
    }
}

@media screen and (max-width: 480px) {
    .pending-payments,
    .completed-payments {
        font-size: 11px;
        min-width: 400px;
    }

    .pending-payments th,
    .pending-payments td,
    .completed-payments th,
    .completed-payments td {
        padding: 6px;
    }

    .pending-payments button {
        padding: 5px 8px;
        font-size: 11px;
    }
}
        h1.entry-title {
            display:none !important;
        }
        .user-dashboard table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 20px;
        }
        .user-dashboard table, 
        .user-dashboard th, 
        .user-dashboard td {
            border: 1px solid #ccc;
        }
        .user-dashboard th, 
        .user-dashboard td {
            padding: 10px;
            text-align: left;
            color: black;
        }
        .user-dashboard th {
            background: #f5f5f5;
        }
        .pease-login{
            color:black;
        }
        /* Small Devices (≤768px) */
@media (max-width: 768px) {
    .user-dashboard {
        padding: 15px;
    }

    .user-dashboard table {
        font-size: 13px;
    }

    .user-dashboard th,
    .user-dashboard td {
        padding: 10px;
    }
}

/* Extra Small Devices (≤480px) */
@media (max-width: 480px) {
    .user-dashboard {
        padding: 10px;
    }

    .user-dashboard h2 {
        font-size: 18px;
    }

    .user-dashboard h3 {
        font-size: 16px;
    }

    .user-dashboard table {
        font-size: 12px;
    }

    .user-dashboard th,
    .user-dashboard td {
        padding: 8px;
    }
}