/* Native FluentBooking theme variables, no changes to availability or payments. */
:root,body,.fcal_wrap,.fcal_cal_wrap,.fluent_booking_app {--fcal_primary_color:#754d55;--fcal_body_bg:#fcf5ef;--fcal_cal_bg:#fffaf6;--fcal_dark:#302329;--fcal_slot_border:#dfcec5;--fcal_thBG:#f2e5dd}
.calendar_wrap{padding:32px 16px;background:#fcf5ef!important;color:#302329}
.calendar_wrap.fcal-dark-mode{--fcal_body_bg:#fcf5ef;--fcal_cal_bg:#fffaf6;--fcal_dark:#302329}
.fcal_wrap{border-radius:16px}
.fcal_booking_iframe{padding:0}

/* The standalone landing bypasses Astra. Override the complete dark palette,
   including late-loaded FluentBooking variables, rather than mixing two themes. */
.calendar_wrap.calendar_wrap{
 --fcal_primary_color:#754d55;--fcal_primaryColor:#754d55;
 --fcal_body_bg:#fcf5ef;--fcal_cal_bg:#fffaf6;--fcal_dark:#302329;
 --fcal_gray:#76666a;--fcal_slot_border:#e3d4cd;--fcal_thBG:#f2e5dd;
 --fcal_whiteColor:#ffffff;--fcal_input_bg:#ffffff;--fcal_input_disable_bg:#eee7e2;
 --fcal_enable_day_bg:#f0e0d9;--fcal_date_disabled_bg:transparent;
 --fcal_date_disabled_color:#8b8285;--fcal_date_radius:8px;
 --fcal_skeleton_bg:#eee7e2;
 height:auto;min-height:100vh;font-family:Raleway,Arial,sans-serif;
}
.calendar_wrap .fcal_wrap .fcal_calendar_inner{border-color:#e3d4cd;border-radius:18px;box-shadow:0 12px 36px #49353b08}
.calendar_wrap .fcal_calendar_inner .fcal_side{background:#f7ece6;border-color:#e3d4cd;padding:30px}
.calendar_wrap .fcal_author{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.calendar_wrap .fcal_calendar_inner .fcal_side .fcal_author_avatar img{width:60px;height:60px;object-fit:cover;border-radius:50%}
/* Present the host photograph as a full-width editorial image, not a tiny avatar. */
:is(.calendar_wrap,.fcal_cal_wrap) .fcal_calendar_inner .fcal_side .fcal_author{display:block!important;margin-bottom:24px}
:is(.calendar_wrap,.fcal_cal_wrap) .fcal_calendar_inner .fcal_side .fcal_author_avatar{
 display:block;width:100%!important;height:auto!important;min-width:0!important;margin:0 0 12px;overflow:hidden;border-radius:12px
}
:is(.calendar_wrap,.fcal_cal_wrap) .fcal_calendar_inner .fcal_side .fcal_author_avatar img{
 display:block;width:100%!important;height:auto!important;min-width:0!important;aspect-ratio:16/9;
 object-fit:cover;object-position:center 28%;border-radius:12px!important
}
:is(.calendar_wrap,.fcal_cal_wrap) .fcal_calendar_inner .fcal_side .fcal_author_name{display:block;margin:0}
.calendar_wrap .fcal_author_name{font:500 14px/1.5 Raleway,Arial,sans-serif}
.calendar_wrap .fcal_calendar_inner .fcal_side .fcal_slot_heading{font:400 clamp(25px,2.5vw,32px)/1.25 Lora,Georgia,serif;letter-spacing:-.02em;margin:0 0 24px}
.calendar_wrap .fcal_slot_info .fcal_icon_item{margin-bottom:14px;font-size:14px}
.calendar_wrap.calendar_wrap .fcal_slot_info .fcal_icon_item svg path{stroke:#754d55;fill:none}
.calendar_wrap .fcal_slot_payment_item{font-size:17px;font-weight:600;color:#754d55}
.calendar_wrap .fcal_slot_description{margin-top:28px;padding-top:20px;border-top:1px solid #e3d4cd;font-size:13px;line-height:1.7;color:#68575c}
.calendar_wrap .fcal_slot_description p{font-size:13px;line-height:1.7;margin:0 0 12px}
.calendar_wrap .fcal_slot_description strong{font-weight:600}
.calendar_wrap .fcal_calendar_inner .fcal_date_wrapper .calendar-container{width:440px;max-width:100%;padding:30px 24px}
.calendar_wrap .calendar-header{align-items:center;gap:8px;margin-bottom:20px}
.calendar_wrap .calendar-header h2{font:500 20px/1.4 Lora,Georgia,serif}
.calendar_wrap .calendar-header h2 span{color:#76666a}
.calendar_wrap .calendar_nav button{min-width:36px;min-height:40px;border-radius:8px;color:#754d55;padding:0;transition:background-color .2s}
.calendar_wrap .calendar_nav .fcal_nav_active:hover{background:#f0e0d9}
.calendar_wrap .fcal_calendar_inner .calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;min-width:0}
.calendar_wrap .fcal_calendar_inner .fcal_date_wrapper .calendar .day-name{font-size:11px;font-weight:600;color:#68575c}
.calendar_wrap.calendar_wrap .fcal_calendar_inner .fcal_date_wrapper .calendar .day.day-enabled span{color:#754d55;font-weight:600;transition:background-color .2s,color .2s}
.calendar_wrap.calendar_wrap .fcal_calendar_inner .fcal_date_wrapper .calendar .day.day-enabled:hover span,
.calendar_wrap.calendar_wrap .fcal_calendar_inner .fcal_date_wrapper .calendar .day.day_is_selected span{background:#754d55;color:#fff!important}
.calendar_wrap .fcal_calendar_inner .fcal_date_wrapper .calendar .day.day_is_selected span:before{background:#fff!important}
.calendar_wrap .fcal_timezone_select{margin-top:24px}
.calendar_wrap .fcal_timezone_select label{font-size:12px;font-weight:600;margin-bottom:8px;color:#68575c}
.calendar_wrap .svelte-select{--background:#fff;--border:1px solid #dfcec5;--border-radius:8px;--height:46px;--input-color:#302329;--item-color:#302329;--item-hover-bg:#f2e5dd;--item-hover-color:#302329;--item-is-active-bg:#754d55;--item-is-active-color:#fff;--list-background:#fff;--chevron-color:#754d55;color:#302329}
.calendar_wrap .svelte-select .item.active{color:#fff!important}
.calendar_wrap.calendar_wrap .fcal_slot_picker .fcal_spot_lists .fcal_spot .fcal_spot_confirm{color:#fff!important;background:#754d55}
.calendar_wrap.calendar_wrap .fcal_slot_picker .fcal_spot_lists .fcal_spot .fcal_spot_confirm:hover{background:#56343e}
.calendar_wrap .fcal_slot_picker .fcal_spot :is(.fcal_spot_name,.fcal_spot_confirm){min-height:44px}
.calendar_wrap .fcal_slot_picker_header_action{display:flex;flex-shrink:0;gap:2px;padding:3px}
.calendar_wrap .format-hour{width:44px;height:38px;flex:0 0 44px}
.calendar_wrap .format-hour button{width:100%;min-height:38px;padding:0;border:0;border-radius:5px;font:500 13px/1.2 Raleway,Arial,sans-serif}
.calendar_wrap .fcal_slot_picker_header{gap:8px;flex-wrap:wrap}
.calendar_wrap .fcal_slot_picker_header_date{min-width:0}
.calendar_wrap :is(button,input,textarea,select){font-family:Raleway,Arial,sans-serif}
.calendar_wrap :is(button,[role=button],input,textarea,select):focus-visible{outline:2px solid #754d55;outline-offset:3px}
.calendar_wrap .fcal_btn_submit{border-radius:8px;min-height:48px;background:#754d55;color:#fff;transition:background-color .2s}
.calendar_wrap .fcal_btn_submit:hover{background:#56343e}
.calendar_wrap .belgi-booking-brand a{font-family:Raleway,Arial,sans-serif;min-height:44px;display:inline-flex;align-items:center}
.calendar_wrap .belgi-booking-brand nav a:hover{text-decoration:underline;text-underline-offset:5px}
/* Balance FluentBooking's three desktop columns after a day is selected.
   The plugin normally centers the calendar + times as one narrow block, which
   makes both panels look shifted even when the outer card is centered. */
@media(min-width:901px){
 :is(.calendar_wrap,.fcal_cal_wrap) .fcal_calendar_inner.fcal_on_lg.fcal_day_selected .fcal_date_wrapper{--belgi-calendar-width:420px;--belgi-slot-column:300px}
 :is(.calendar_wrap,.fcal_cal_wrap) .fcal_calendar_inner.fcal_on_md.fcal_day_selected .fcal_date_wrapper{--belgi-calendar-width:380px;--belgi-slot-column:250px}
 :is(.calendar_wrap,.fcal_cal_wrap) .fcal_calendar_inner:is(.fcal_on_lg,.fcal_on_md).fcal_day_selected .fcal_date_wrapper{
  flex:1 1 auto!important;width:auto!important;max-width:none!important;min-width:0;
  margin-left:0!important;margin-right:0!important
 }
 :is(.calendar_wrap,.fcal_cal_wrap) .fcal_calendar_inner:is(.fcal_on_lg,.fcal_on_md).fcal_day_selected .fcal_day_picker_wrap{
  flex:1 1 auto!important;width:100%!important;min-width:0
 }
 :is(.calendar_wrap,.fcal_cal_wrap) .fcal_calendar_inner:is(.fcal_on_lg,.fcal_on_md).fcal_day_selected .fcal_calendar_slot_wrap{
  width:100%!important;min-width:0;box-sizing:border-box;
  padding-right:var(--belgi-slot-column)!important
 }
 :is(.calendar_wrap,.fcal_cal_wrap) .fcal_calendar_inner:is(.fcal_on_lg,.fcal_on_md).fcal_day_selected .calendar-container{
  width:min(100%,var(--belgi-calendar-width))!important;max-width:var(--belgi-calendar-width)!important;
  margin-left:auto!important;margin-right:auto!important
 }
 :is(.calendar_wrap,.fcal_cal_wrap) .fcal_calendar_inner:is(.fcal_on_lg,.fcal_on_md).fcal_day_selected .fcal_slot_picker{
  width:var(--belgi-slot-column)!important;box-sizing:border-box;
  padding-left:clamp(22px,2.8vw,38px)!important;padding-right:clamp(22px,2.8vw,38px)!important
 }
}
@media(max-width:600px){
 .calendar_wrap .fcal_calendar_inner .fcal_side{padding:24px 20px}
 .calendar_wrap .fcal_author{margin-bottom:18px}
 .calendar_wrap .fcal_side .fcal_slot_heading{margin-bottom:18px}
 .calendar_wrap .fcal_slot_description{margin-top:20px;padding-top:16px}
 .calendar_wrap .fcal_calendar_inner .fcal_date_wrapper .calendar-container{width:100%;padding:24px 12px}
 .calendar_wrap .fcal_calendar_inner .calendar{gap:3px}
 .calendar_wrap .fcal_calendar_inner .fcal_date_wrapper .calendar .day-name{font-size:10px}
 .calendar_wrap .belgi-booking-brand{padding:0;gap:12px;margin-bottom:20px}
 .calendar_wrap .belgi-booking-brand img{width:130px}
 .calendar_wrap .belgi-booking-brand nav{gap:14px}
 .calendar_wrap .belgi-booking-brand a{font-size:13px}
 .calendar_wrap :is(input:not([type=hidden]),textarea,select){font-size:16px;max-width:100%}
}
@media(prefers-reduced-motion:reduce){.calendar_wrap *{transition-duration:.01ms!important}}

.belgi-booking-brand{max-width:1000px;margin:0 auto 32px;display:flex;justify-content:space-between;align-items:center;gap:24px}.belgi-booking-brand img{width:180px;height:auto}.belgi-booking-brand nav{display:flex;gap:24px}.belgi-booking-brand a{font:500 14px/1.5 Arial,sans-serif;color:#754d55;text-decoration:none}

/* FluentBooking controls: prevent inherited Astra borders/padding from crushing labels. */
.fcal_cal_wrap .fcal_slot_picker_header_action{flex-shrink:0;display:flex;align-items:center;gap:2px;padding:3px;max-width:100%}
.fcal_cal_wrap .format-hour{width:44px;height:38px;flex:0 0 44px;overflow:visible}
.fcal_cal_wrap .format-hour button{box-sizing:border-box;width:100%;height:38px;min-height:38px;min-width:0;margin:0;padding:0!important;border:0!important;border-radius:5px;white-space:nowrap;text-transform:none;letter-spacing:0;font:500 13px/1.2 Arial,sans-serif}
.fcal_cal_wrap .calendar_nav{flex-shrink:0}
.fcal_cal_wrap .calendar_nav button{box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:0!important;border:0!important;min-width:36px;min-height:40px}
.fcal_cal_wrap .fcal_calendar_inner .calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;overflow:visible;min-width:0}
.fcal_cal_wrap .fcal_calendar_inner .fcal_date_wrapper .calendar .day-name{min-width:0;white-space:nowrap;font-size:12px;text-align:center}
.fcal_cal_wrap .fcal_calendar_inner .calendar .day{min-width:0;min-height:40px}
.fcal_cal_wrap .fcal_slot_picker_header{gap:8px;flex-wrap:wrap}
.fcal_cal_wrap .fcal_slot_picker_header_date{min-width:0}
@media(max-width:900px){
 .belgi-booking-brand{padding:0 16px;gap:16px;flex-wrap:wrap}
 .belgi-booking-brand img{max-width:150px}
 .belgi-booking-brand nav{gap:16px}
 .fcal_cal_wrap .fcal_calendar_inner .fcal_date_wrapper .calendar-container{padding:24px 16px}
 .belgi-global .belgi-editorial .fcal_cal_wrap .calendar-header h2,
 .fcal_cal_wrap .calendar-header h2{font-size:23px!important;line-height:1.3!important;margin:0!important}
 .fcal_cal_wrap .calendar-header{gap:8px;align-items:center}
 .fcal_cal_wrap .calendar-month-year{min-width:0}
}
@media(max-width:480px){
 .calendar_wrap{padding:20px 10px}
 .fcal_cal_wrap .fcal_calendar_inner .fcal_date_wrapper .calendar-container{padding:24px 12px}
 .fcal_cal_wrap .fcal_calendar_inner .calendar{gap:3px}
 .fcal_cal_wrap .fcal_calendar_inner .calendar .day{min-height:40px;font-size:13px}
 .fcal_cal_wrap .fcal_calendar_inner .fcal_date_wrapper .calendar .day-name{font-size:10px;line-height:1.4;min-height:26px;display:flex;align-items:center;justify-content:center}
 .fcal_cal_wrap .calendar_nav{width:72px}
 .fcal_cal_wrap .fcal_slot_picker{padding-left:12px;padding-right:12px}
 .fcal_cal_wrap .fcal_slot_picker_header{padding-top:22px;padding-bottom:18px}
 .fcal_cal_wrap :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px;max-width:100%;box-sizing:border-box}
}
