body .niftybkz-site-content {
    font-family: 'Poppins', sans-serif;
}

.niftybkz-site-content form table tbody tr th {
    width: 220px;
}

.niftybkz-site-content form table tbody tr td input,
.niftybkz-site-content form .niftybkz-row input {
    border: 1px solid #dce1e4;
    border-radius: 0;
    padding: 6px 6px;
}

.niftybkz-site-content form table tbody tr td input[type=radio] {
    border-radius: 15px;
}

.niftybkz-site-content form table tbody tr td select {
    border: 1px solid #dce1e4;
    padding: 4px 6px;
    border-radius: 0;
    max-width: 33rem;
}

/* Width adjustments */
.niftybkz-width-50-custom {
    width: 25%;
}

#niftybkz_service_provider_phonecode {
    width: 8%;
}

#niftybkz_service_provider_mobile_no {
    width: 41.5%;
}

#wp-niftybkz_service_description-wrap,
#niftybkz_service_description {
    width: 50%;
}

/* Headings */
.niftybkz-heading-inline {
    font-size: 23px;
    font-weight: 400;
    margin: 0;
    padding: 9px 0 4px;
    line-height: 1.3;
}

/* White background container */
.niftybkz-white-background {
    border: 1px solid #e1e1e1;
    background: #fff;
    width: 100%;
    padding: 20px 10px 10px 20px;
    box-sizing: border-box;
    margin-bottom: 20px;
    clear: both;
}

/* Info box */
.niftybkz-box-info {
    position: relative;
    min-width: 255px;
    border: 1px solid #e5e5e5;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
    background: #fff;
    float: right !important;
    width: 28%;
    padding: 15px;
    box-sizing: border-box;
}

/* Plugin info */
.niftybkz-plugin_info-inside {
    max-width: 100%;
    overflow: hidden;
}

.niftybkz-plugin_info-inside .niftybkz-setup-help-center-block {
    background: #fff;
    border: 1px solid #e1e1e4;
    border-radius: 7px;
    display: flex;
    align-items: center;
    text-align: left;
    padding: 10px 15px;
    margin-bottom: 10px;
    box-sizing: border-box;
}

/* Icon spacing */
.niftybkz-plugin_info-inside .niftybkz-setup-help-center-block-icon {
    margin-right: 25px;
}

/* Icons for help center */
.niftybkz-plugin_info-inside .niftybkz-setup-help-center-faqs-icon,
.niftybkz-plugin_info-inside .niftybkz-setup-help-center-knowledge-base-icon,
.niftybkz-plugin_info-inside .niftybkz-setup-help-center-support-icon,
.niftybkz-plugin_info-inside .niftybkz-setup-help-center-video-tutorial-icon {
    display: inline-block;
    background: url(../images/support-page-sprites-img.png) no-repeat;
    overflow: hidden;
    text-indent: -9999px;
    width: 60px;
    height: 60px;
    background-size: 140px;
}

.niftybkz-plugin_info-inside .niftybkz-setup-help-center-faqs-icon {
    background-position: -5px 1px;
}

.niftybkz-plugin_info-inside .niftybkz-setup-help-center-video-tutorial-icon {
    background-position: -72px -62px;
}

.niftybkz-plugin_info-inside .niftybkz-setup-help-center-knowledge-base-icon {
    background-position: -68px 1px;
}

/* Help center block content */
.niftybkz-plugin_info-inside .niftybkz-setup-help-center-block-content {
    font-size: 14px;
    line-height: 1.42;
    color: #555;
}

.niftybkz-plugin_info-inside .niftybkz-setup-help-center-block-content .niftybkz-setup-help-center-block-heading {
    font-weight: 600;
    color: #111;
    font-size: 16px;
    margin-bottom: 5px;
}

/* Help center links */
.niftybkz-plugin_info-inside .niftybkz-setup-help-center-block-content a.niftybkz-setup-help-center-block-link {
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    line-height: 18px;
    margin-top: 10px;
    text-decoration: none;
    color: #0096ff;
    transition: color 0.2s ease-in-out;
}

.niftybkz-plugin_info-inside span.light-grey {
    text-align: center;
    display: block;
    padding-top: 10px;
    font-size: 14px;
    margin-top: 5px;
    border-top: 1px solid #efefef;
}

/* Plugin images */
.niftybkz-plugin_info-inside a img {
    display: block;
    margin: 5px auto 0;
    height: auto;
    width: 80%;
}

/* Left section */
.niftybkz-admin-setting-left {
    float: left;
    width: 70%;
}

/* Box header */
.niftybkz-box-info h3 {
    font-size: 14px;
    margin-top: 5px;
    padding: 0 0 10px 10px;
    border-bottom: 1px solid #efefef;
}

/* Niftybukzee logo */
.niftybkz-niftybukzee-logo-a {
    float: left;
    width: 100%;
    text-align: center;
}

/* Site content margin */
.niftybkz-site-content {
    margin-right: 15px;
}

/* Required field color */
.niftybkz_required {
    color: red;
}

/* Service provider photo */
#niftybkz_service_provider_photo_preview {
    max-width: 150px;
}

/* Time schedule styles */
.niftybukzee_page_niftybukzee-service-provider-time-schedule .flatpickr-calendar {
    width: 200px;
}

.niftybukzee-service-provider-time-schedule table tbody tr {
    height: 50px;
}

.niftybukzee-service-provider-time-schedule table tbody tr td input {
    margin-right: 20px;
}

.niftybukzee-service-provider-time-schedule table tbody tr td input[type='checkbox'] {
    margin-right: 5px;
}

.niftybukzee-service-provider-time-schedule table tbody tr .day-column {
    padding-right: 20px;
}

.first_hed {
    margin-top: 0px;
    font-size: 14px;
    text-transform: uppercase;
    color: #333333;
    font-weight: 600;
    line-height: 21px;
    font-style: normal;
    letter-spacing: 0.02em;
    padding-bottom: 15px;
    margin-left: 2px;
}

.niftybkz-service-card {
    width: 23.5%;
    float: left;
    margin-right: 1.5%;
    margin-bottom: 1.5%;
}

.niftybkz-service-card-content {
    height: 170px;
    border: 2px solid #E1E3E5;
    box-sizing: border-box;
    border-radius: 8px;
    transition: all 0.3s ease-in-out;
}

.niftybkz-service-card-body {
    padding: 17px 20px;
}

.niftybkz-row {
    display: flex;
}

.niftybkz-width-33-custom {
    width: 33.33%;
}

.niftybkz-width-50-custom {
    width: 50%;
}

.niftybkz-width-16-custom {
    width: 16.66%;
}

.niftybkz-width-8-custom {
    width: 66.66%;
}

.niftybkz-width-12-custom {
    width: 100%;
}

.niftybkz-width-4-custom {
    width: 33.33%;
}

.niftybkz-width-10-custom {
    width: 83.33%;
}

.niftybkz-width-1-custom {
    width: 8.33%;
}

.niftybkz-width-3-custom {
    width: 25%;
}

.niftybkz-width-2-custom {
    width: 16.66%;
}

.niftybkz-price-span {
    font-size: 15px;
    color: #333;
    width: 60px;
    background: #FFBB5D;
    border-radius: 5px;
    text-align: center;
    display: block;
    line-height: 22px;
    padding: 5px;
    font-weight: bold;
}

.niftybkz-service-button {
    width: 75px;
    display: block;
    text-align: center;
    background: #fff;
    border: 1px solid #3A63DE;
    border-radius: 17px;
    float: right;
    padding: 5px;
    font-weight: bold;
    text-decoration: none;
}

.niftybkz-service-button:hover {
    background: #3A63DE;
    color: white;
    transition: 0.3s;
}

.niftybkz-service-button:hover .niftybkz-service-span,
.niftybkz-copy-link-button:hover .niftybkz-copy-span {
    color: white;
}

.niftybkz-service-span {
    font-size: 14px;
    line-height: 17px;
    color: #3A63DE;
}

.niftybkz-service-name-section {
    padding: 15px 0;
}

.niftybkz-service-name-span {
    font-size: 16px;
    font-weight: 500;
    color: #333;
}

.niftybkz-service-active-span {
    font-size: 14px;
    color: #333;
}

.niftybkz-share-section {
    display: flex;
    align-items: center;
}

.niftybkz-copy-link-button {
    cursor: pointer;
    display: flex;
    align-items: center;
    padding: 5px 10px;
    border: 1px solid #3A63DE;
    border-radius: 5px;
    width: 100px;
}

.niftybkz-copy-link-button:hover {
    background: #3A63DE;
    color: white;
}

.niftybkz-copy-span {
    font-size: 14px;
    color: #3A63DE;
    margin-left: 5px;
}

.niftybkz-copy-link-span {
    display: none;
    color: green;
    font-weight: bold;
    margin-left: 10px;
}

.niftybkz-set-shareable-link-label-span {
    cursor: default;
    font-size: 15px;
    font-weight: 500;
    color: #333;
}

.niftybkz-float-left,
.niftybkz-service-header-title {
    float: left;
}

.niftybkz-service-description-anchor {
    text-decoration: none;
}

.niftybkz-custom-copy-icon {
    width: 25px;
}

.niftybkz-service-card-main {
    float: left;
    width: 100%;
}

.niftybkz-active-service-btn,
.niftybkz-active-service-btn:hover {
    background: #36A8EB;
    color: #fff;
    padding: 8px 15px 8px 15px;
    text-decoration: none;
}

.niftybkz-add-service-btn,
.niftybkz-add-service-btn:hover {
    background: #36A8EB;
    color: #fff;
    padding: 8px 15px 8px 15px;
    text-decoration: none;
    float: right;
    margin-right: 22px;
    margin-top: -8px;
}

.niftybkz-service-deactivated-card-main .niftybkz-service-card-content {
    height: 150px;
}

.niftybkz-service-deactivated-card-main .niftybkz-service-card-body {
    padding: 23px 18px 20px 18px;
}

.niftybkz-service-deactivated-card-main .niftybkz-service-name-section {
    padding: 20px 0px 12px 0px;
}

.niftybkz-display-flex {
    display: flex;
}

.niftybkz-gap-10 {
    gap: 10px;
}

.niftybkz-align-content {
    align-content: center;
}

.niftybukzee-services .dashicons-arrow-left-alt {
    color: #1d2327;
}

.niftybukzee-service-provider-time-schedule .niftybkz-white-background {
    float: left;
    width: 100%;
}

.niftybkz-validation-div {
    position: relative;
}

/* Fade-in Animation for Service Cards */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.niftybkz-service-deactivated-card-main,
.niftybkz-service-activated-card-main {
    animation: fadeIn 0.6s ease-in-out;
}

/* Hover Effect for Service Cards */
.niftybkz-service-card {
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.niftybkz_service_meeting_link {
    display: none;
}

.niftybkz-booking-page-message {
    margin-top: 5px;
    font-style: italic;
}

.niftybkz-setup-hours-h2 {
    margin-top: 1%;
}

.niftybkz-setup-hours-section {
    width: 40%;
    text-align: center;
}

.niftybkz-gap-25 {
    gap: 25px;
}

.niftybkz-margin-top-20 {
    margin-top: 20px;
}

.niftybkz-margin-top-20 {
    margin-top: 20px;
}

.niftybkz-first-header {
    font-size: 14px;
    text-transform: uppercase;
    color: #333333;
    line-height: 21px;
    letter-spacing: 0.02em;
}

.niftybkz-holiday-time {
    display: none;
}

.niftybkz_save_holiday {
    margin-top: 5px !important;
}

.niftybkz-dashboard-logo {
    display: block;
    margin: 15px auto 0;
    height: auto;
    width: 250px;
}

.niftybkz-btn-delete-image {
    height: 30px;
    width: auto;
}

.dataTables_wrapper .dataTables_length select {
    width: 50px;
}

.niftybkz-table-div {
    margin-top: 2%;
}

.niftybkz-customer-span {
    font-size: 14px;
}

.niftybkz-mobile-span {
    font-size: 12px;
}

.niftybkz-dashboard-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-top: 15px;
}

.niftybkz-dashboard-cards .card {
    background: white;
    border-radius: 12px;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    border: 0;
    margin-top: 8px;
    min-width: 255px;
    max-width: 520px;
    position: relative;
}

.niftybkz-dashboard-cards .card-info {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.niftybkz-dashboard-cards .card-count {
    font-size: 20px;
    font-weight: bold;
    color: #000000;
}

.niftybkz-dashboard-cards .card-label {
    font-size: 14px;
    color: #000000;
}

.niftybkz-dashboard-cards .card-link {
    font-size: 14px;
    color: #446881;
    text-decoration: underline;
}

.niftybkz-dashboard-cards .card-link:hover {
    text-decoration: underline;
}

.niftybkz-dashboard-cards .card-icon-users {
    background: #6A99CF;
}

.niftybkz-dashboard-cards .card-icon-services {
    background: #DED7F8;
}

.niftybkz-dashboard-cards .card-icon-confirmed {
    background: #D6F7FF;
}

.niftybkz-dashboard-cards .card-icon-canceled {
    background: #FED8B8;
}

.niftybkz-dashboard-cards .card-icon {
    height: 38px;
    width: 40px;
    border-radius: 10px;
    padding: 5px;
}

.niftybkz-dashboard-cards .card-icon-users .card-dashboard-icon {
    height: 25px;
    width: 35px;
    padding-top: 5px;
    padding-left: 2px;
}

.niftybkz-dashboard-cards .card-icon-services .card-dashboard-icon,
.niftybkz-dashboard-cards .card-icon-confirmed .card-dashboard-icon,
.niftybkz-dashboard-cards .card-icon-canceled .card-dashboard-icon {
    height: 25px;
    width: 25px;
    padding: 7px;
}

.niftybkz-wizard {
    font-size: 26px;
    color: #1d2327;
    margin: 15px 0px 15px 0px;
    background: #ffffff;
    padding: 10px;
    border-radius: 18px;
}

.niftybkz-wizard .steps {
    display: flex;
    list-style: none;
    padding: 0;
    overflow: hidden;
    max-width: 1200px;
    margin: auto;
}

.niftybkz-wizard .step {
    position: relative;
    flex: 1;
    text-align: center;
    background: #dcdcdc;
    color: #fff;
    padding: 15px 10px;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 15px;
}

.niftybkz-wizard .step a {
    color: #fff;
    text-decoration: none;
    display: block;
}

.niftybkz-wizard .step small {
    font-size: 12px;
    font-weight: normal;
    display: block;
    margin-top: 5px;
}

/* Arrow effect */
.niftybkz-wizard .step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 0;
    right: -20px;
    width: 0;
    height: 0;
    border-top: 33px solid transparent;
    border-bottom: 33px solid transparent;
    border-left: 20px solid #dcdcdc;
    z-index: 2;
}

/* Hide overlap on the left of next step */
.niftybkz-wizard .step:not(:first-child)::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0px;
    height: 0px;
    border-top: 32px solid transparent;
    border-bottom: 36px solid transparent;
    border-left: 23px solid white;
    z-index: 1;
}

/* Status colors */
.niftybkz-wizard .step.completed {
    background: #5E8B72;
    cursor: pointer;
}

.niftybkz-wizard .step.completed::after {
    border-left-color: #5E8B72;
}

.niftybkz-wizard .step.active {
    background: #48698E;
    cursor: pointer;
}

.niftybkz-wizard .step.active::after {
    border-left-color: #48698E;
}

.niftybkz-wizard .step.disabled {
    background: #dcdcdc;
    cursor: not-allowed;
}

.niftybkz-wizard .step.disabled::after {
    border-left-color: #dcdcdc;
}

.niftybkz-setup-wizard-title {
    font-size: 24px;
    color: #1d2327;
    margin: 20px 10px 20px 10px;
}

.niftybkz-dashboard-calendar-section {
    background: #FFFFFF;
    padding: 20px;
    border-radius: 20px;
    margin-top: 25px;
}

/* Modal Overlay (optional) */
#niftybkz-calendarModalOverlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 999;
}

/* Modal Box */
#niftybkz-calendarModal {
    display: none;
    position: fixed;
    top: 25%;
    left: 50%;
    transform: translateX(-50%);
    width: 400px;
    max-width: 90%;
    background: #fff;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    z-index: 1000;
    font-family: "Segoe UI", sans-serif;
}

/* Modal Content */
#niftybkz-calendarModalContent {
    font-size: 16px;
    line-height: 1.5;
    color: #333;
}

/* Close Button */
#closeniftybkz-calendarModal {
    display: inline-block;
    margin-top: 15px;
    padding: 8px 16px;
    background-color: #0073aa;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

#closeniftybkz-calendarModal:hover {
    background-color: #005177;
}

.niftybkz-appointments-card {
    background: #ffffff;
    border-radius: 15px;
    padding: 20px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    margin: 20px auto;
}

.niftybkz-appointments-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    margin-top: 5px;
}

.niftybkz-appointments-header h2 {
    font-size: 20px;
    margin: 0;
}

.niftybkz-appointments-header a {
    font-size: 14px;
    text-decoration: none;
    color: #1d4ed8;
}

.niftybkz-appointments-header a:hover {
    text-decoration: underline;
}

.niftybkz-appointments-table {
    width: 100%;
    border-collapse: collapse;
}

.niftybkz-appointments-table thead th {
    text-align: left;
    font-size: 14px;
    color: #374151;
    padding-bottom: 18px;
}

.niftybkz-appointments-table tbody td {
    padding: 18px 0;
    border-top: 1px solid #e5e7eb;
    font-size: 14px;
    color: #374151;
    vertical-align: top;
}

.niftybkz-appointments-table tbody td small {
    color: #6b7280;
}

.niftybkz-appointments-table .action {
    text-align: center;
    font-size: 18px;
    cursor: pointer;
}

#niftybkz-dashboard-calendar .fc-col-header-cell-cushion,
#niftybkz-dashboard-calendar .fc-daygrid-day-number {
    color: #313C48 !important;
}

.niftybkz-empty-appointment-section {
    text-align: center;
    font-size: 16px;
}

.niftybkz-step-4 {
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
}

.niftybkz-step-1 {
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
}

#niftybkz-calendarModal {
    display:none; 
    position:fixed; 
    top:25%; 
    left:35%; 
    width:30%; 
    background:#fff; 
    padding:20px; 
    border:1px solid #ccc; 
    box-shadow:0 0 15px rgba(0,0,0,0.2); 
    z-index:10000;
}

#niftybkz-dashboard-calendar .fc-h-event .fc-event-title {
    cursor: pointer;
}

#niftybkz-calendarModal .closeniftybkz-calendarModal {
    margin-top:10px;
}

.niftybkz-site-content table.dataTable th.dt-type-numeric, .niftybkz-site-content table.dataTable th.dt-type-date, .niftybkz-site-content table.dataTable td.dt-type-numeric, .niftybkz-site-content table.dataTable td.dt-type-date {
    text-align: left;
}

.niftybkz-site-content .dt-length select {
    width: 50px;
}
/* Responsive Mobile CSS */
@media only screen and (max-width: 768px) {
    #niftybkz_service_provider_phonecode {
        width: 30%;
    }

    #niftybkz_service_provider_mobile_no {
        margin-top: 10px;
        width: 100%;
    }

    #wp-niftybkz_service_description-wrap,
    #niftybkz_service_description,
    .niftybkz-admin-setting-left,
    .niftybkz-box-info,
    .niftybkz-box-info {
        width: 100%;
    }

    .niftybkz-service-card {
        width: 97%;
        margin-bottom: 20px;
    }

    .niftybkz-dashboard-cards,
    .niftybkz-dashboard-calendar-section {
        margin-left: 15px;
        margin-right: 15px;
    }

    .niftybkz-dashboard-calendar-section .fc-toolbar.fc-header-toolbar {
        display: block;
    }

    .niftybkz-dashboard-calendar-section .fc-toolbar-chunk,
    .niftybkz-dashboard-calendar-section .fc-button-group,
    .niftybkz-dashboard-calendar-section .fc-toolbar-chunk {
        text-align: center;
    }

    .niftybkz-dashboard-calendar-section .fc-button-group,
    .niftybkz-dashboard-calendar-section .fc-toolbar-chunk {
        margin-top: 10px;
    }

    .niftybkz-appointments-table {
        display: block;
        overflow-x: scroll;
    }

    .niftybkz-appointments-table thead th {
        min-width: 150px;
    }

    .niftybkz-wizard .step {
        position: relative;
        flex: auto;
        text-align: center;
        color: #fff;
        font-size: 12px;
        font-weight: 500;
        margin-bottom: 15px;
    }
    .niftybkz-responsive {
        overflow: scroll;
    }

}

/* Responsive Tablate CSS */
@media only screen and (min-width : 769px) and (max-width: 1200px) {
    .niftybkz-service-card {
        width: 47%;
        margin-right: 20px;
        margin-bottom: 20px;
    }
}