.booking_overlay{z-index:999;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.booking_modal{background-color:var(--theme_box_background_color);border-radius:var(--theme_border_radius_15);width:95%;max-width:650px;padding:0}.booking_header{border-bottom:1px solid var(--border-color);justify-content:flex-start;align-items:center;gap:0 10px;padding:15px;display:flex}.booking_header ._booking_header_left{flex:1;justify-content:flex-start;align-items:center;gap:0 8px;display:flex}.booking_header ._booking_header_left ._content{flex:1}.booking_header ._booking_header_left ._content b{font-weight:var(--theme_font_600);color:var(--theme-headline-color);font-size:var(--theme_font_size_15)}.booking_header ._booking_header_left ._content p{font-size:var(--theme_font_size_13)}._booking_header_left ._img{border-radius:var(--theme_border_radius_50);border:1px solid var(--border-color);width:46px;height:46px;overflow:hidden}._booking_header_left ._img img{object-fit:cover;object-position:center;width:100%;height:100%}.booking_header button{border-radius:var(--theme_border_radius_5);border:1px solid var(--border-color);background-color:var(--theme_box_background_color_alt);width:30px;height:30px;color:var(--theme-headline-color)}.booking_header button:hover{background-color:var(--theme-headline-color);color:var(--theme_btn_color)}.booking_body{padding:15px}.booking_steps{justify-content:flex-start;align-items:center;gap:0 10px;margin:8px 0 13px;display:flex}.booking_steps span{flex:1;justify-content:flex-start;align-items:center;gap:0 8px;display:flex;position:relative}.booking_steps ._icon{border-radius:var(--theme_border_radius_50);border:1.5px solid var(--border-color);width:26px;height:26px;font-size:var(--theme_font_size_11);font-weight:var(--theme_font_600);color:var(--theme-headline-color);background-color:var(--theme_box_background_color);flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.booking_steps span ._title{font-size:var(--theme_font_size_12);font-weight:var(--theme_font_600);color:var(--theme-headline-color)}.booking_steps span.active ._title{color:var(--theme-base-color);font-weight:var(--theme_font_600)}.booking_steps span.active ._icon{background-color:var(--theme-base-color);border-color:var(--theme-base-color);color:#fff;box-shadow:0 0 0 2px #831bd81a}.booking_steps span:not(:last-child):after{content:"";background-color:var(--border-color);flex:1;height:1px;margin:0}.booking_steps span.done ._title{color:#059669;font-weight:var(--theme_font_600)}.booking_steps span.done ._icon{color:#fff;background-color:#059669;border-color:#059669;box-shadow:0 0 0 2px #51d81b1a}.booking_body .sub_title{font-weight:var(--theme_font_600);font-size:var(--theme_font_size_15)}.booking_box_package .mini_title{color:var(--theme-headline-color);font-weight:var(--theme_font_600);font-size:var(--theme_font_size_14);margin:10px 0 3px}.booking_card{height:100%}.booking_card article{border:1px solid var(--border-color);border-radius:var(--theme_border_radius_15);cursor:pointer;height:100%;padding:15px;position:relative}.booking_card.active article{border:2px solid var(--theme-base-color);background-color:var(--theme_box_background_color_alt)}.booking_card:hover article{border-color:var(--theme-base-color);background-color:var(--theme_box_background_color_alt)}.booking_card p{font-size:var(--theme_font_size_12)}.booking_card ._price{font-size:var(--theme_font_size_16);font-weight:var(--theme_font_600);color:var(--theme-headline-color);margin-top:10px;line-height:1}.booking_card article ._boxed_check{visibility:hidden;transition:all .5s;position:absolute;top:10px;right:10px}.booking_card.active article ._boxed_check{opacity:1;visibility:visible}.booking_footer{border-top:1px solid var(--border-color);justify-content:flex-start;gap:0 15px;margin-top:15px;padding:15px;display:flex}.booking_footer ._right_btn{text-align:right;flex:1}.booking_footer ._back_btn{background-color:var(--theme_box_background_color);border:1px solid var(--border-color);color:var(--theme-headline-color);min-height:42px;font-size:var(--theme_font_size_14);border-radius:var(--theme_border_radius_10);justify-content:center;align-items:center;padding:0 26px;display:flex}.booking_footer ._right_btn .btn{font-size:var(--theme_font_size_14);justify-content:center;align-items:center;min-height:42px;margin-left:auto;padding:0 26px;display:flex;background-color:var(--theme_button_color)!important;color:var(--theme_btn_color)!important}.booking_form label{text-transform:capitalize;font-size:var(--theme_font_size_13)}.booking_form .form-control{font-size:var(--theme_font_size_14);background-color:var(--theme_box_background_color_alt);color:var(--theme-headline-color);padding:10px 15px}.booking_form .form-select{font-size:var(--theme_font_size_14);background-color:var(--theme_box_background_color_alt);color:var(--theme-headline-color);padding:10px 25px 10px 15px}.booking_form .form-control::placeholder{color:var(--theme-headline-color)}.booking_confirm_box{border:1px solid var(--border_alt_color);border-radius:var(--theme_border_radius_10);margin-top:12px;overflow:hidden}.booking_confirm_box ul{background-color:var(--theme_box_background_color_alt)}.booking_confirm_box ul li{border-bottom:1px solid var(--border_alt_color);justify-content:space-between;align-items:center;gap:10px;padding:12px 10px;display:flex}.booking_confirm_box ul li b{color:var(--theme-light-color);font-weight:var(--theme_font_400);font-size:var(--theme_font_size_13)}.booking_confirm_box ul li span{font-weight:var(--theme_font_600);color:var(--theme-headline-color)}.booking_confirm_box ._total{justify-content:space-between;align-items:center;gap:10px;padding:12px 10px;display:flex}.booking_confirm_box ._total b{color:var(--theme-headline-color);font-weight:var(--theme_font_600);font-size:var(--theme_font_size_14)}.booking_confirm_box ._total span{color:var(--theme-base-color);font-weight:var(--theme_font_600);font-size:var(--theme_font_size_18)}.booking_confirm_box ul li ._higlight{color:var(--theme-base-color)}.booking_success{text-align:center;border-radius:var(--theme_border_radius_10);background-color:#f8fffc;border:1px solid #b9ede1;margin:30px 0 15px;padding:10px}.booking_success ._success_icon{border-radius:var(--theme_border_radius_50);color:#1a7a48;background-color:#198754;border:1.5px solid #05966933;justify-content:center;align-items:center;width:52px;height:52px;margin:12px auto;display:flex}.booking_success p{font-size:var(--theme_font_size_13)}.booking_success p b{font-size:var(--theme-headline-color)}.cal_head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.cal_head h4{font-size:var(--theme_font_size_15);font-weight:var(--theme_font_500);margin:0}.cal_head button{border-radius:var(--theme_border_radius_10);border:1px solid var(--border-color);background-color:var(--theme_box_background_color);cursor:pointer;width:32px;height:32px;color:var(--theme-light-color);justify-content:center;align-items:center;display:flex}.cal_head button:hover{background-color:var(--theme_box_background_color_alt)}.week{grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}.week span{text-align:center;font-size:var(--theme_font_size_11);font-weight:var(--theme_font_500);color:var(--theme-light-color);padding:4px 0}.gridCal{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.day{height:40px;font-size:var(--theme_font_size_13);border-radius:var(--theme_border_radius_10);cursor:pointer;color:var(--theme-headline-color);background-color:#0000;border:none;justify-content:center;align-items:center;transition:background .15s;display:flex}.day:hover:not(.empty):not(.past){background:var(--theme_box_background_color_alt)}.day.empty{pointer-events:none}.day.past{color:var(--theme-light-color);pointer-events:none;opacity:.6}.day.active{background-color:var(--theme-base-color);color:#fff;font-weight:var(--theme_font_500)}.slots{border-top:1px solid var(--border-color);margin-top:16px;padding-top:16px}.slots_label{font-size:var(--theme_font_size_12);color:var(--theme-light-color);margin-bottom:8px}.slots{flex-direction:column;gap:8px;display:flex}.slots_grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.slots button{border:1px solid var(--border_alt_color);border-radius:var(--theme_border_radius_10);background-color:var(--theme_box_background_color);font-size:var(--theme_font_size_12);cursor:pointer;color:var(--theme-headline-color);text-align:center;white-space:nowrap;padding:8px 4px;transition:all .15s}.slots button:hover{border-color:var(--theme-base-color);color:var(--theme-base-color)}.slots button.active{background-color:var(--theme-base-color);color:#fff;border-color:var(--theme-base-color)}.btn_links{color:var(--theme-base-color);font-weight:var(--theme_font_600);cursor:pointer;background:0 0;border:none;padding:0}@media (max-width:767px){.booking_header{padding:10px}.booking_header button{width:28px;height:28px}._booking_header_left ._img{width:38px;height:38px}.booking_footer{margin-top:10px;padding:10px}.booking_footer ._right_btn .btn,.booking_footer ._back_btn{min-height:40px}.booking_card article{padding:12px}.booking_modal{border-radius:0;flex-direction:column;width:100%;max-width:100%;height:100%;max-height:100dvh;display:flex}.booking_body{flex:1;max-height:calc(100dvh - 130px);overflow-y:auto}.day{border-radius:var(--theme_border_radius_5);font-size:12px}.slots_grid{grid-template-columns:repeat(3,1fr)}.slots button{padding:7px 2px;font-size:11px}.booking_card .icon svg{width:26px}.booking_card p{font-size:10px}}.field_error{font-size:var(--theme_font_size_12);color:#dc2626;align-items:center;gap:6px;margin:8px 0 0;animation:.18s ease-out bm_fadein;display:flex}.field_error:before{content:"";color:#fff;text-align:center;background:#dc2626 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'><line x1='12' y1='8' x2='12' y2='12'/><circle cx='12' cy='16' r='0.5'/></svg>") 50%/10px 10px no-repeat;border-radius:50%;width:14px;height:14px;font-size:10px;font-weight:700;line-height:14px;display:inline-block}.gridCal.has_error,.slots.has_error .slots_grid{border:1px solid #dc2626;border-radius:8px;padding:6px;animation:.25s ease-in-out bm_shake}.slots_hint{color:var(--theme-base-color);margin-left:4px;font-weight:600}@keyframes bm_shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes bm_fadein{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}
