
/* Public typography system. The Studio uses its independent application UI. */
body.vanea-public-type{--vanea-copy:16px;--vanea-leading:1.75;font-family:Montserrat,Arial,sans-serif;color:#453a37}
body.vanea-public-type .entry-content,body.vanea-public-type .vanea-booking-content{font-family:Montserrat,Arial,sans-serif;font-size:var(--vanea-copy);line-height:var(--vanea-leading)}
body.vanea-public-type .entry-content :is(p,li),body.vanea-public-type .vanea-booking-content :is(p,li){font-family:Montserrat,Arial,sans-serif!important;font-size:var(--vanea-copy)!important;font-weight:400;line-height:var(--vanea-leading)!important;letter-spacing:0!important}
body.vanea-public-type .entry-content :is(h1,h2,h3,h4),body.vanea-public-type .vanea-booking-content :is(h1,h2,h3,h4){font-family:"Cormorant Garamond",Georgia,serif!important;font-weight:500!important;line-height:1.2!important;letter-spacing:0!important;text-transform:none!important}
body.vanea-public-type .entry-content h1,body.vanea-public-type .vanea-booking-content h1{font-size:clamp(36px,4.3vw,55px)!important;line-height:1.2!important}
body.vanea-public-type .entry-content h2,body.vanea-public-type .vanea-booking-content h2{font-size:clamp(30px,3vw,38px)!important}
body.vanea-public-type .entry-content h3,body.vanea-public-type .vanea-booking-content h3{font-size:28px!important}
body.vanea-public-type .entry-content h4,body.vanea-public-type .vanea-booking-content h4{font-size:24px!important}
body.vanea-public-type .elementor-element-d8c3e9b .elementor-heading-title{font-family:"Vanea Allura",cursive!important;font-size:clamp(46px,6.6vw,88px)!important;line-height:1.35!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important}
body.vanea-public-type .entry-content :is(.elementor-element-eb1ea84,.elementor-element-5564c6e,.elementor-element-fd90698) .elementor-heading-title{font-family:Montserrat,Arial,sans-serif!important;font-size:14px!important;font-weight:600!important;line-height:1.6!important;letter-spacing:2px!important;text-transform:uppercase!important}
body.vanea-public-type .entry-content :is(.elementor-element-619ab53,.elementor-element-99d9b79,.elementor-element-4caaa0f,.elementor-element-6cbf8c0) .elementor-heading-title{font-size:28px!important;line-height:1.25!important}
body.vanea-public-type :is(.main-header-menu,.ast-header-button-1,.site-footer){font-family:Montserrat,Arial,sans-serif}
body.vanea-public-type .entry-content :is(.elementor-button,.srfm-submit-button,.srfm-submit-btn),body.vanea-public-type .vanea-booking-content .button,body.vanea-public-type #srfm-submit-btn{font-family:Montserrat,Arial,sans-serif!important;font-size:14px!important;font-weight:600!important;line-height:1.5!important;letter-spacing:1px!important;text-transform:uppercase!important;min-height:46px;white-space:normal}
body.vanea-public-type :is(.srfm-form-container,.vanea-booking-content) :is(input,select,textarea){font-family:Montserrat,Arial,sans-serif!important;font-size:16px!important;line-height:1.5!important}
body.vanea-public-type :is(.srfm-form-container,.vanea-booking-content) label{font-family:Montserrat,Arial,sans-serif!important;font-size:14px!important;font-weight:500!important;line-height:1.6!important;letter-spacing:0!important}
body.vanea-public-type .vanea-booking-content .eyebrow{font-family:Montserrat,Arial,sans-serif!important;font-size:12px!important;line-height:1.6!important;font-weight:600!important;letter-spacing:1.5px!important}
body.vanea-public-type .vanea-booking-content :is(.help,.booking-note,.form-status,.modal-summary){font-family:Montserrat,Arial,sans-serif!important;font-size:14px!important;line-height:1.65!important}
body.vanea-public-type .vanea-booking-content .booking-card{font-family:Montserrat,Arial,sans-serif;font-size:15px;min-width:0}
body.vanea-public-type .vanea-booking-content :is(.calendar-grid,.slots) button{font-family:Montserrat,Arial,sans-serif!important;font-size:14px!important;font-weight:500!important;line-height:1.3!important;letter-spacing:0!important;min-width:0;min-height:44px;padding:5px;box-sizing:border-box}
body.vanea-public-type .vanea-booking-content .calendar-grid button{width:100%;aspect-ratio:auto;height:44px}
body.vanea-public-type .vanea-booking-content .calendar-head{font-family:Montserrat,Arial,sans-serif;font-size:15px;font-weight:600}
body.vanea-public-type .vanea-booking-content .weekdays{font-family:Montserrat,Arial,sans-serif;font-size:12px;font-weight:600}
body.vanea-public-type .vanea-booking-content :is(.calendar-grid,.slots) button.active{font-weight:700!important}
@media(max-width:600px){body.vanea-public-type{--vanea-copy:16px;--vanea-leading:1.7}body.vanea-public-type .entry-content h1,body.vanea-public-type .vanea-booking-content h1{font-size:36px!important;line-height:1.2!important}body.vanea-public-type .elementor-element-d8c3e9b .elementor-heading-title{font-size:clamp(40px,10.2vw,60px)!important;line-height:1.3!important}body.vanea-public-type .entry-content h2,body.vanea-public-type .vanea-booking-content h2{font-size:30px!important}body.vanea-public-type .entry-content :is(.elementor-element-619ab53,.elementor-element-99d9b79,.elementor-element-4caaa0f,.elementor-element-6cbf8c0) .elementor-heading-title{font-size:27px!important}}

/* Explicitly separate bookable, unavailable and selected calendar states. */
body.vanea-public-type .vanea-booking-content .calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;min-width:0}
body.vanea-public-type .vanea-booking-content .calendar-grid button{width:100%;max-width:100%;min-width:0;aspect-ratio:auto;height:44px;min-height:44px;border:1px solid #c4b7b1;border-radius:6px;background:#fffaf7;color:#493a35;opacity:1;font-size:14px!important;font-weight:600!important;padding:0;line-height:1!important;letter-spacing:0!important;box-sizing:border-box;box-shadow:none}
body.vanea-public-type .vanea-booking-content .calendar-grid button:disabled{color:#89817c;background:#f1efec;border:1px solid #e0dcd8;opacity:1;font-weight:400!important;cursor:not-allowed}
body.vanea-public-type .vanea-booking-content .calendar-grid button:not(:disabled):hover{background:#ecd6cf;border-color:#975c50;color:#382b26;box-shadow:none}
body.vanea-public-type .vanea-booking-content #calendar button.active{background:#874b44!important;color:#fff!important;border:2px solid #62352e;box-shadow:none;font-weight:700!important}
body.vanea-public-type .vanea-booking-content .slots button{border:1px solid #b6a49a;background:#fffaf7;color:#493a35;opacity:1;font-size:15px!important;font-weight:600!important;min-height:44px;border-radius:6px;letter-spacing:0!important}
body.vanea-public-type .vanea-booking-content #slots button.active{background:#874b44!important;color:#fff!important;border:2px solid #62352e;box-shadow:none}
body.vanea-public-type .vanea-booking-content .month-controls{color:#493a35;font-size:16px;font-weight:600}
body.vanea-public-type .vanea-booking-content .month-controls button{background:#f5e6df;border:1px solid #c4a89b;color:#593c32;font-family:Montserrat,Arial,sans-serif;font-size:19px;font-weight:600;min-height:40px;min-width:40px;border-radius:6px;line-height:1;padding:0;letter-spacing:0}
body.vanea-public-type .vanea-booking-content .weekdays{color:#5b4a42;font-weight:600;font-size:12px;letter-spacing:0}
body.vanea-public-type .vanea-booking-content .month-controls #month-title{font-family:Montserrat,Arial,sans-serif!important;font-size:16px!important;font-weight:600!important;line-height:1.4!important;letter-spacing:0!important;white-space:nowrap;margin:0;min-width:0}
body.vanea-public-type .vanea-booking-content .calendar-legend{font-size:12px;line-height:1.6;color:#615149;display:flex;flex-wrap:wrap;gap:8px}
body.vanea-public-type .vanea-booking-content .calendar-legend span{font-size:12px;line-height:1.6;color:#615149}
body.vanea-public-type .vanea-booking-content .slots-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
body.vanea-public-type .vanea-booking-content .slots-head #selected-date{font-size:13px;font-family:Montserrat,Arial,sans-serif;font-weight:600;line-height:1.5;color:#493a35}
body.vanea-public-type .vanea-booking-content .slots-head small{font-size:11px;font-family:Montserrat,Arial,sans-serif;line-height:1.5;letter-spacing:.3px;color:#6e6059}
body.vanea-public-type .vanea-booking-content :is(.duration,.step-badge){font-family:Montserrat,Arial,sans-serif;font-size:12px;line-height:1.5;color:#615149}
body.vanea-public-type .vanea-booking-content .booking-summary{font-size:14px;font-family:Montserrat,Arial,sans-serif;line-height:1.6;color:#493a35}
body.vanea-public-type .vanea-booking-content #calendar button.active{box-shadow:none!important}
body.vanea-public-type .entry-content :is(input,select,textarea){font-family:Montserrat,Arial,sans-serif!important;font-size:16px!important;line-height:1.5!important}
body.vanea-public-type .entry-content label{font-family:Montserrat,Arial,sans-serif!important;font-size:14px!important;line-height:1.6!important}
@media(max-width:600px){body.vanea-public-type .vanea-booking-content .calendar-grid{gap:5px}body.vanea-public-type .vanea-booking-content .calendar-grid button{min-width:0;width:100%;font-size:14px!important;height:44px;min-height:44px;aspect-ratio:auto;padding:0}}
