/*@font-face {
  font-family: 'The Nautigal';
  src: url('/wp-content/uploads/elementor/google-fonts/fonts/thenautigal-vdgzaz8zh51lvng9fqv2bfkb4a9l.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Inter';
  src: url('/wp-content/uploads/elementor/google-fonts/fonts/inter-ucc73fwrk3iltehus_nvmrmxcp50sjia1zl7.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}*/

select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 40px !important;
    background-image: url("assets/images/down-arrow.png");
    background-size: 30px;
    background-repeat: no-repeat;
    background-position: right 5px center;
}
.margin-0, .margin-0 p{
    margin: 0 !important;
}
.page-header {
    display: none;
}
.home-img-box {
    border-radius: 30px;
}
.home-img-box figure.elementor-image-box-img {
    height: 100px;
}
/*grid title*/
h3.elementor-post__title {
	min-height: 78px;
    position: relative;
    z-index: 1;
    margin: 0 10px 20px 10px !important;
    padding: 15px;
    background: #FFFFFFE5;
    border-radius: 15px;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
}
.elementor-post__text {
    text-align: center;
    border-radius: 20px;
    padding: 10px;
    background: #554C53;
    margin-top: -205px;
    padding-top: 100px;
}
a.elementor-post__read-more {
    font-size: 18px;
    font-weight: 600;
    color: #F9CEBD;
}
.elementor-post__excerpt p
 {
    text-align: center;
    padding: 0 20px;
    color: #fff !important;
}

.elementor-post__thumbnail img {
    border-radius: 20px;
}
h3.elementor-post__title a, .custom-meta-tg{
    text-align: left;
    width: 50%;
}
h3.elementor-post__title a {

    font-size: 24px;
    font-weight: 600;
    color: #9F5D5D;
}
.custom-meta-tg {

    font-size: 14px;
    font-weight: 600;
    color: #523E3D;
}
.custom-meta-kv {
    font-size: 12px;
    font-weight: 400;
    color: #000;
}

.grid-bluexado .elementor-post__text {
    background: #719D89 !important;
}
.grid-golden-flower .elementor-post__text {
    background: #767062 !important;
}

.switch {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 28px;
  margin-bottom: 0 !important;
}
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}
.switch .slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s;
}
.switch .slider:before {
  position: absolute;
  content: "";
  height: 20px;
  width: 20px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
}
.switch input:checked + .slider {
  background-color: #af5b66;
}
.switch input:focus + .slider {
  box-shadow: 0 0 1px #af5b66;
}
.switch input:checked + .slider:before {
  -webkit-transform: translateX(20px);
  -ms-transform: translateX(20px);
  transform: translateX(20px);
}
.switch .slider.round {
  border-radius: 34px;
}
.switch .slider.round:before {
  border-radius: 50%;
}
.off-request-day {
    margin-bottom: 15px;
    padding-bottom: 20px;
    border-bottom: 1px dashed #ebebeb;
}
.off-request-day .day {
    font-size: 18px;
    color: #AF5B66;
    font-weight: bold;
}
.off-request-day .form-row {
    display: flex;
    gap: 30px;
    align-items: center;
}
.off-request-day .form-col {
    display: flex;
    align-items: center;
    gap: 10px;
}
.off-request-day .form-col .title {
    font-weight: 500;
    color: #523E3D;
    white-space: nowrap;
}
.off-request-day .form-col.work-location {
    flex: 1;
}
.off-request-day .form-col.error-field input, .off-request-day .form-col.error-field .select2-container--default .select2-selection--single {
    border: 1px solid red !important;
}
.off-request-day select, .off-request-day input {
    background: #F2F2F2;
    border: none;
    border-radius: 6px;
    height: 50px;
    padding: 0 10px;
    color: #523E3D;
    min-width: 130px;
}
.select2-container--default .select2-selection--single {height: 50px;border: none;background: #F2F2F2;border-radius: 6px;}
.select2-container--default .select2-selection--single .select2-selection__rendered {height: 50px;line-height: 50px;padding: 0 30px 0 10px;}
.select2-container--default .select2-selection--single .select2-selection__placeholder {color: #523E3D;}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    right: 10px;
    top: 10px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-width: 6px 5px 0 5px;
    border-color: #523E3D transparent;
}
.select2-container--open .select2-dropdown--below,
.select2-container--open .select2-dropdown--above {border: none;padding: 10px;background: #f2f2f2;border-top: 1px solid white;}
.select2-search--dropdown {padding: 0;margin-bottom: 10px;}
.select2-container--default .select2-search--dropdown .select2-search__field {border: 1px solid #ebebeb;height: 40px;border-radius: 6px;padding: 0 10px;}
.select2-container--default .select2-search--dropdown .select2-search__field:focus-visible,
div#step-1 input:focus-visible, div#step-2 input:focus-visible {border: none;outline: 1px solid #af5b66;}
.select2-results__option--selectable {
    font-size: 14px;
    padding: 8px 10px;
    transition: all linear .1s;
    border-radius: 6px;
}
.select2-results__option--selectable:not(:last-child) {margin-bottom: 5px;}
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background: #af5b66;
    padding-left: 15px;
}
.off-request-day .select2-container {flex: 1;width: auto !important;}
.select2-container--default .select2-selection--single .select2-selection__clear {
    margin: 0;
    padding: 0;
    width: 20px;
    position: absolute;
    right: 10px;
    top: 12px;
    background: #f2f2f2;
    z-index: 88;
}

.modal, .modal-overlay {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    background: #fff;
    padding: 50px;
    z-index: 1000;
    width: 900px;
    border-radius: 10px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.3);
    max-width: calc(100% - 30px);
    overflow-y: auto;
    max-height: calc(100% - 30px);
}
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5);
    z-index: 999;
}
.modal.show, .modal-overlay.show {
    opacity: 1;
    visibility: visible;
}
.booking-modal-title {
    font-weight: 600;
    font-size: 32px;
    line-height: 100%;
    color: #AF5B66;
    margin-bottom: 30px;
}
.loading {
    color: hsla(0, 0%, 100%, .05) !important;
    opacity: 1 !important;
    pointer-events: none !important;
    position: relative;
}
.loading:after {
    animation: spin .5s linear infinite;
    border: 2px solid #fff;
    border-radius: 32px;
    border-right-color: transparent !important;
    border-top-color: transparent !important;
    content: "";
    display: block;
    height: 16px;
    left: 50%;
    margin-left: -8px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    width: 16px;
}
@keyframes spin {
    0% {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(1turn)
    }
}
#booking-form label {
    display: block;
    width: 100%;
    margin-bottom: 20px;
} 
#booking-form label > span, #booking-modal .employee-info .label {
    color: #523E3D;
    font-weight: 500;
    margin-bottom: 10px;
    display: block;
}
#booking-form label span.rq {color: #AF5B66;}
#booking-form input, #booking-form select {
    padding: 0 15px;
    height: 50px;
    border: none;
    background-color: #F2F2F2;
    border-radius: 4px;
    color: #523E3D;
    font-size: 14px;
    font-weight: 500;
}
input:focus-visible, select:focus-visible {
    border: none;
    outline: 1px solid #523E3D;
}
#booking-modal .employee-info {
    display: flex;
    justify-content: space-between;
    align-items: start;
    padding-bottom: 25px;
}
#booking-modal .employee {
    display: flex;
    gap: 10px;
    background: #F6EEEE;
    padding: 4px;
    border-radius: 88px;
    align-items: center;
}
#booking-modal .employee img {
    border-radius: 88px;
    width: 45px;
}
#booking-modal .employee h3 {
    color: #554C53;
    font-size: 16px;
    margin: 0;
    padding-right: 30px;
}
#booking-modal .address-item {}
#booking-modal .address-item h3 {
    font-size: 20px;
    font-weight: bold;
    color: #523E3D;
    margin-bottom: 5px;
}
#booking-modal .address-item p {
    font-size: 16px;
    font-weight: 500;
    color: #523E3D;
}
#booking-form .form-row {
    display: flex; 
    gap: 10px;
}
#booking-form .form-row label {flex: 0 0 auto;width: auto;}
#booking-form .form-row label[for="booking_service_duration"] {flex: 1;}
#booking-form button {
    background: #AF5B66;
    border: 1px solid #AF5B66;
    color: white;
    border-radius: 20px;
    padding: 0 25px;
    height: 48px;
    line-height: 48px;
    text-transform: uppercase;
    font-weight: 600;
}
#booking-form .action {
    display: flex;
    justify-content: flex-end;
    padding-top: 10px;
}
@media screen and (max-width: 850px){
    .modal {
        z-index: 888888;
        padding: 30px 20px;
    }
    .booking-modal-title {font-size: 22px;}
}
@media screen and (max-width: 680px){
    #booking-modal .employee-info {display: block;}
}