.service-accordion {
    display: flex;
    flex-direction: column;
    gap: 42px;
}

.service-group summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    padding: 14px 0 35px 0;
    font-size: 20px;
    font-weight: 800;
    color: #222222;
    list-style: none;
}
.booking-location {
    display: flex
;
    gap: 9px;
}

.service-group summary::-webkit-details-marker {
    display: none;
}

.service-group-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;

    color: #23346C;
    transition: transform 0.3s ease;
}

.service-group[open] .service-group-icon {
    transform: rotate(0deg);
}

.service-group:not([open]) .service-group-icon {
    transform: rotate(180deg);
}

.service-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.service-card-sele {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    border: 1px solid rgba(35, 52, 108, 0.35);
    background-color: #FFFFFF;
    border-radius: 12px;
    padding: 28px;
    gap: 24px;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.location-text-price{
    justify-content: space-between;
    display: flex;
    width: 100%;
}

.service-card-sele.selected {
    border-color: #23346C;
    position: relative;
}

.service-card-sele:hover,
.service-card-sele:focus {
    border-color: #23346C;
    box-shadow: 0 8px 18px rgba(23, 34, 79, 0.1);
    outline: none;
}

.service-info {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}
.service-info-ac{

    width: 100%;
}

.service-name {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: #222222;
}

.service-meta {
    display: inline-flex;
    align-items: center;
    font-weight: 500;
    gap: 0;
    font-size: 14px;
    width: 100%;
    color: #2C2C2C;
}
.service-meta-service {
    display: inline-flex;
    align-items: center;
    font-weight: 500;
    gap: 8px;
    font-size: 14px;
    width: 100%;
    color: #2C2C2C;
    justify-content: space-between;
}

.service-meta i {
    color: #23346C;
}
.booking-location{
    margin-bottom: 14px;
}
.total-price-wrap{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 24px;
    margin-top: auto;


}
.order-total-section{
    margin-top: auto;
}
.active-now-btn{
    margin-top: 0;
}
.service-price-wrap{
    font-size: 18px;
    font-weight: 800;
    color: #23346C;
    margin-top: auto;
}
.total-price-wrap-text
{
    font-size: 18px;
    font-weight: 800;
    color: #23346C;
}

.service-action {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
}
.activ_mark{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.service-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1px solid rgba(35, 52, 108, 0.35);
    color: transparent;
    opacity: 0;
    transform: scale(0.85);
    position: absolute;
    top:14px;
    right: 15px;
    transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
}
.service-meta-action{
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.service-status i {
    font-size: 14px;
}

.service-card-sele.selected .service-status {
    background-color: #23346C;
    border-color: #23346C;
    color: #FFFFFF;
    opacity: 1;
    transform: scale(1);
}

.service-card-sele.selected .service-price {
    color: #23346C;
    font-weight: 700;
}

.service-price {
    font-size: 18px;
    font-weight: 600;
    color: #23346C;
    white-space: nowrap;
}

.service-modal .modal-dialog {
    max-width: 520px;
}

.service-modal .modal-content {
    border: none;
    border-radius: 24px;
    box-shadow: 0 32px 80px rgba(17, 28, 74, 0.2);
    padding: 32px;
}
.modal-content{
    padding: 32px;
    max-width: 797px;
}
.modal-body{
    padding: 0;
}



.service-modal-header {

    margin-bottom: 24px;
}

.service-modal-eyebrow {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: #222222;
}
.header_service{
    display: flex;
    justify-content: space-between;
    align-items: center;
}


.service-modal-title {
    margin: 32px 0 0;
    font-size: 24px;
    font-weight: 700;
    color: #222222;
}

.modal-close-btn {

    background-color: transparent;
    border: none;
    display: inline-flex;
    /* align-items: center; */
    justify-content: center;

}
.service-price-modal{
    font-size: 20px;
    font-weight: 500;
    color: #23346C;
}
.service-meta-mdl{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.service-modal-card {
    border: 1px solid #C7C7EA;
        border-radius: 10px;
    padding: 24px;
    /* display: flex; */
    align-items: center;
    justify-content: space-between;
    gap: 10px;

    margin-bottom: 32px;
}

.service-name-modal{
    font-size: 18px;
    font-weight: 800;
    color: #222222;
}
.service-modal-card .service-name {
    font-size: 20px;
    margin-bottom: 6px;
}

.service-modal-card .service-meta {
    font-size: 15px;
}

.modal-add-btn {
    width: 100%;
    border-radius: 12px;
    padding: 14px;
    font-size: 18px;
    font-weight: 600;
    background-color: #23346C;
    border: none;
}

.modal-add-btn:hover {
    background-color: #1b2754;
}

.professional-select-modal .modal-dialog {
    max-width: 720px;
}

.professional-select-modal .modal-content {
    border: none;
    border-radius: 24px;
    box-shadow: 0 32px 80px rgba(17, 28, 74, 0.2);
    margin: 10px;
}

.professional-select-modal .modal-body {
}

.professional-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 28px;
}

.professional-modal-title {
    font-size: 22px;
    font-weight: 700;
    color: #151b34;
    margin-bottom: 0;
}

.professional-modal-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-bottom: 32px;
}

.professional-modal-card {
    border: 1px solid #C7C7EA;
        border-radius: 20px;
    background: #fff;
    padding: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;

    text-align: center;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.professional-modal-card:hover {
    border-color: #23346C;
}

.professional-modal-card.selected {
    border-color: #23346C;
}

.professional-modal-card.disabled {

}

.professional-modal-card.disabled:hover {
    border-color: #cfd6ff;
    box-shadow: none;
}

.professional-modal-icon {
    width: 64px;
    height: 64px;
    /* border-radius: 16px; */
    /* background: #EFF0FF; */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4px;
}

.professional-modal-avatar img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 12px;
}
.modal.show .modal-dialog {
    transform: none;
    max-width: 797px;
    /* width: 100%; */
}

.main-content-crd{
    font-size: 18px;
    font-weight: 800;
    color: #222222;
    padding: 17px 0 6px 0

}
.professional-modal-name {
    font-size: 24px;
    font-weight: 800;
    color: #222222;
    padding: 17px 0 6px 0
}

.professional-modal-status {
    font-size: 14px;
    color: #707070;
}

.professional-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 32px;
}

.professional-btn {
    min-width: 120px;
    border-radius: 10px;
    padding: 10px 20px;
    font-weight: 600;
}

.professional-btn.btn-primary {
    background-color: #23346C;
    border-color: #23346C;
}

.professional-btn.btn-outline-secondary {
    border-color: #c7c7ea;
    color: #707070;
}

.professional-btn.btn-outline-secondary:hover {
    background-color: #eef0ff;
}

.time-slot-modal .modal-dialog {
    max-width: 860px;
}

.time-slot-modal .modal-content {
    border: none;
    border-radius: 24px;
    box-shadow: 0 32px 80px rgba(17, 28, 74, 0.2);
    padding: 0;
}

.time-slot-modal .modal-body {
    padding: 0;
}

.time-slot-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 32px;
}

.time-slot-eyebrow {
    margin: 0 0 0;
    font-size: 18px;
    font-weight: 800;
    color: #222222;
}

.time-slot-date {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    color: #5f637f;
    margin-top: 32px;
}

.time-slot-date strong {
    font-weight: 600;
    color: #000000;
    font-size: 18px;
}

.time-slot-services {
    display: flex;
    flex-direction: column;
    /* gap: 32px; */
    margin-top: 6px;
}

.time-slot-service summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    list-style: none;
    cursor: pointer;
    padding: 14px 0 30px;

}

.time-slot-service summary::-webkit-details-marker {
    display: none;
}

.time-slot-service-title {
    font-size: 18px;
    font-weight: 700;
    color: #111a39;
}

.time-slot-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
}

.time-slot-service[open] .time-slot-toggle {
    transform: rotate(0deg);
}

.time-slot-service:not([open]) .time-slot-toggle {
    transform: rotate(180deg);
}

.time-slot-card-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(121px, 1fr));
    gap: 32px;
    margin-top: 32px;
}

.time-slot-availability{
    font-size: 14px;
    color: #707070;
}
.person_sev-seats{
    font-size: 14px;
    color: #707070;
}

.time-slot-card {
    border: 1px solid #cfd6ff;
    border-radius: 10px;
    background: #fff;
    padding: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.time-slot-card.selected {
    border-color: #23346C;
}

.time-slot-card:hover {
    transform: translateY(-2px);
}

.time-slot-avatar img {
    width: 75px;
    height: 75px;
     /* border-radius: 50%; */
    object-fit: cover;
    border-radius: 12px;
}

.time-slot-name {
    font-size: 18px;
    font-weight: 800;
    color: #222222;
}

.time-slot-time {
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    background: #23346C;
    padding:10px 12px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #C7C7EA;
}
.sep_divider{
    border-top: 1px solid #E8E8E8;
    margin: 32px 0 ;
}

.time-slot-card:not(.selected) .time-slot-time {
    background: #f2f4ff;
    color: #000000;;
}

.time-slot-actions {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    margin-top: 32px;
}

.time-slot-actions .btn {
    min-width: 150px;
    border-radius: 8px;
    padding: 12px 32px;
    font-size: 18px;
    font-weight: 500;
    color: #707070;
}
.time-slot-actions-right{
    display: flex;
    gap: 14px;
    flex-direction: row;
}
.btn-primary{
    background-color: #23346C;
    color: #ffffff !important;
}
.time-slot-actions .btn-outline-secondary {
    border-color: #707070;
    color: #707070;
}

.time-slot-actions .btn-outline-secondary:hover {
    background-color: #f5f6ff;
}
@media (max-width: 991.98px) {
  .time-slot-card-grid {
    display: grid;
    gap: 12px;
}
}
@media (max-width: 767.98px) {
  .time-slot-card-grid
 {
    display: grid;
    grid-template-columns: repeat(4, minmax(121px, 1fr));
    gap: 12px;
}
.professional-modal-card{
    min-width: 144px;
}
.professional-modal-name{
    font-size: 20px;
}
.time-slot-actions .btn{
    font-size: 16px;
    padding: 12px 13px;
}
.modal-content-date{
    padding: 24px;
}
.professional-modal-grid{
    gap: 12px;
}
}

@media (max-width: 575.98px) {
    .service-group {
        padding: 0 16px 16px;
    }
    .modal-content{
        padding: 24px;
    }

  .time-slot-card-grid
 {
    display: grid;
    grid-template-columns: repeat(3, minmax(121px, 1fr));
}
    .service-group summary {
        font-size: 18px;
        padding: 20px 0;
    }

    .service-card-sele {
        align-items: flex-start;
        gap: 12px;
        padding: 18px 16px;
    }

    .service-action {
        /* width: 100%; */
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
    .location-icon{
        width: auto;
        height: auto    ;
    }

    .service-price {
        align-self: flex-end;
    }
    .service-accordion {

        gap: 0px;
    }
    .booking-location {

        margin-bottom: 19px;
    }
    .calendar-month {
        font-size: 19px;
    }
    .calendar-card {
        display: flex
    ;
        flex-direction: column;
        gap: 14px;
    }
    .date-divider {
        border-top: 1px solid #E8E8E8;
        margin-bottom: 22px;
    }
    .service-modal .modal-body {
        padding: 0;
    }
    .professional-select-modal .modal-body {
        padding: 0;
    }
    .time-slot-modal .modal-body {
        padding: 0;
    }
    .time-slot-actions-right{
        display: flex;
        gap: 6px;

    }
        .time-slot-actions .btn{
        padding: 12px 6px;
        font-size: 15px;
     }
     .time-slot-actions{
        gap: 6px;
     }
     .modal-content-date{
        padding: 12px;
     }
}

@media (max-width: 480px) {
     .time-slot-actions-right{
        flex-direction: column;
     }
     .time-slot-actions .btn{
        padding: 12px 6px;
        font-size: 15px;
     }
    .service-name
    {
        font-size: 16px;
    }
    .service-modal .modal-content {

        padding: 19px;
    }
    .time-slot-actions {
        flex-direction: column;
    }
    .time-slot-actions .btn {
        width: 100%;
    }
    .professional-modal-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 4px;
    }
    .professional-modal-name {
        font-size: 18px;
    }
    .time-slot-card-grid{
        grid-template-columns: repeat(2 , 1fr);
        gap: 4px;
    }
    .calendar-header{
        margin-bottom: 20px;
    }
    .professional-modal-card{
        padding: 12px;
    }
    .modal-content {
        padding: 20px;
    }
    .professional-modal-actions{
        justify-content: center;
        gap: 16px;
    }

    }
