.elementor-5145 .elementor-element.elementor-element-236f526{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5145 .elementor-element.elementor-element-18ee6dc{--e-image-carousel-slides-to-show:3;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:100px 0px 0px 0px;}.elementor-5145 .elementor-element.elementor-element-18ee6dc .elementor-swiper-button.elementor-swiper-button-prev, .elementor-5145 .elementor-element.elementor-element-18ee6dc .elementor-swiper-button.elementor-swiper-button-next{color:var( --e-global-color-secondary );}.elementor-5145 .elementor-element.elementor-element-18ee6dc .elementor-swiper-button.elementor-swiper-button-prev svg, .elementor-5145 .elementor-element.elementor-element-18ee6dc .elementor-swiper-button.elementor-swiper-button-next svg{fill:var( --e-global-color-secondary );}.elementor-5145 .elementor-element.elementor-element-18ee6dc .elementor-image-carousel-wrapper .elementor-image-carousel .swiper-slide-image{border-radius:0px 0px 0px 0px;}.elementor-5145 .elementor-element.elementor-element-7ead2a5{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-5145 .elementor-element.elementor-element-a87598e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:100px;--padding-right:100px;}.elementor-5145 .elementor-element.elementor-element-42725dc{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5145 .elementor-element.elementor-element-fda3ab8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:10px 0px 0px 0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );color:var( --e-global-color-primary );}.elementor-5145 .elementor-element.elementor-element-8a524cc{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-5145 .elementor-element.elementor-element-8a524cc .elementor-heading-title{font-family:"Cormorant Garamond", Sans-serif;font-size:50px;font-weight:900;text-transform:uppercase;font-style:normal;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-5145 .elementor-element.elementor-element-812fbfa{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;font-family:"Inter", Sans-serif;font-size:16px;font-weight:200;color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-5145 .elementor-element.elementor-element-37d3024{width:var( --container-widget-width, 100% );max-width:100%;margin:-35px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;--e-icon-list-icon-size:28px;--icon-vertical-offset:0px;}.elementor-5145 .elementor-element.elementor-element-37d3024 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(50px/2);}.elementor-5145 .elementor-element.elementor-element-37d3024 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(50px/2);}.elementor-5145 .elementor-element.elementor-element-37d3024 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(50px/2);}.elementor-5145 .elementor-element.elementor-element-37d3024 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-50px/2);}.elementor-5145 .elementor-element.elementor-element-37d3024 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-50px/2);}.elementor-5145 .elementor-element.elementor-element-37d3024 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5145 .elementor-element.elementor-element-37d3024 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5145 .elementor-element.elementor-element-37d3024 .elementor-icon-list-icon{padding-inline-end:10px;}.elementor-5145 .elementor-element.elementor-element-37d3024 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-5145 .elementor-element.elementor-element-37d3024 .elementor-icon-list-item > a{font-family:"Inter", Sans-serif;font-size:14px;font-weight:400;}.elementor-5145 .elementor-element.elementor-element-37d3024 .elementor-icon-list-text{color:var( --e-global-color-primary );transition:color 0.3s;}.elementor-5145 .elementor-element.elementor-element-aa028d6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5145 .elementor-element.elementor-element-d463c0b{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 30px 0px;border-style:solid;border-width:0px 0px 1px 0px;border-color:#E0E0E0;font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;color:var( --e-global-color-primary );}.elementor-5145 .elementor-element.elementor-element-608639a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#E0E0E0;--border-color:#E0E0E0;--border-radius:0px 0px 0px 0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-5145 .elementor-element.elementor-element-6b292b8{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 20px 0px;}.elementor-5145 .elementor-element.elementor-element-6b292b8 .elementor-heading-title{font-family:"Cormorant Garamond", Sans-serif;font-size:32px;font-weight:900;text-transform:uppercase;font-style:normal;}.elementor-5145 .elementor-element.elementor-element-0331df9{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:20px 0px 0px 0px;}.elementor-5145 .elementor-element.elementor-element-4bbe708{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#E0E0E0;--border-color:#E0E0E0;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-5145 .elementor-element.elementor-element-b109e17{font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;color:var( --e-global-color-primary );}.elementor-5145 .elementor-element.elementor-element-30c352d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#E0E0E0;--border-color:#E0E0E0;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5145 .elementor-element.elementor-element-4784c8e{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 20px 0px;}.elementor-5145 .elementor-element.elementor-element-4784c8e .elementor-heading-title{font-family:"Cormorant Garamond", Sans-serif;font-size:32px;font-weight:900;text-transform:uppercase;font-style:normal;}.elementor-5145 .elementor-element.elementor-element-7eada01{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-5145 .elementor-element.elementor-element-ed5fbcd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#E0E0E0;--border-color:#E0E0E0;--border-radius:0px 0px 0px 0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-5145 .elementor-element.elementor-element-93ed7d3{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 20px 0px;}.elementor-5145 .elementor-element.elementor-element-93ed7d3 .elementor-heading-title{font-family:"Cormorant Garamond", Sans-serif;font-size:32px;font-weight:900;text-transform:uppercase;font-style:normal;}.elementor-5145 .elementor-element.elementor-element-158b19a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:20px 0px 0px 0px;}.elementor-5145 .elementor-element.elementor-element-1a599fa{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#E0E0E0;--border-color:#E0E0E0;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-5145 .elementor-element.elementor-element-93cbcce{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 20px 0px;}.elementor-5145 .elementor-element.elementor-element-93cbcce .elementor-heading-title{font-family:"Cormorant Garamond", Sans-serif;font-size:32px;font-weight:900;text-transform:uppercase;font-style:normal;}.elementor-5145 .elementor-element.elementor-element-d69bc9b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:20px 0px 0px 0px;}.elementor-5145 .elementor-element.elementor-element-28313d1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#E0E0E0;--border-color:#E0E0E0;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-5145 .elementor-element.elementor-element-b044083{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 20px 0px;}.elementor-5145 .elementor-element.elementor-element-b044083 .elementor-heading-title{font-family:"Cormorant Garamond", Sans-serif;font-size:32px;font-weight:900;text-transform:uppercase;font-style:normal;}.elementor-5145 .elementor-element.elementor-element-eaa47ac{color:var( --e-global-color-primary );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-5145 .elementor-element.elementor-element-7f93f64 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Roboto", Sans-serif;font-size:14px;font-weight:700;fill:var( --e-global-color-secondary );color:var( --e-global-color-secondary );border-radius:2px 2px 2px 2px;padding:15px 15px 15px 15px;}.elementor-5145 .elementor-element.elementor-element-7f93f64{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-5145 .elementor-element.elementor-element-a29fa51{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5145 .elementor-element.elementor-element-5684041{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 20px 0px;}.elementor-5145 .elementor-element.elementor-element-5684041 .elementor-heading-title{font-family:"Cormorant Garamond", Sans-serif;font-size:32px;font-weight:900;text-transform:uppercase;font-style:normal;}.elementor-5145 .elementor-element.elementor-element-05ac36b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:20px 0px 0px 0px;}.elementor-5145 .elementor-element.elementor-element-839818c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:-160px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5145 .elementor-element.elementor-element-ae06a22{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;z-index:2;}.elementor-5145 .elementor-element.elementor-element-570c4f6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-posts .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-posts .elementor-post__title, .elementor-widget-posts .elementor-post__title a{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );}.elementor-widget-posts .elementor-post__meta-data{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-posts .elementor-post__excerpt p{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-posts .elementor-post__read-more{color:var( --e-global-color-accent );}.elementor-widget-posts a.elementor-post__read-more{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-posts .elementor-post__card .elementor-post__badge{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-posts .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-posts .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-5145 .elementor-element.elementor-element-9de1dbe{--grid-row-gap:35px;width:100%;max-width:100%;--grid-column-gap:30px;}.elementor-5145 .elementor-element.elementor-element-9de1dbe > .elementor-widget-container{margin:0px 0px 0px 0px;padding:150px 50px 100px 50px;}.elementor-5145 .elementor-element.elementor-element-9de1dbe .elementor-post__thumbnail__link{width:100%;}.elementor-5145 .elementor-element.elementor-element-9de1dbe .elementor-post{border-style:solid;border-width:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-5145 .elementor-element.elementor-element-9de1dbe .elementor-post__text{padding:0px 0px 0px 0px;}.elementor-5145 .elementor-element.elementor-element-9de1dbe .elementor-post__thumbnail{border-radius:0px 0px 0px 0px;}.elementor-5145 .elementor-element.elementor-element-9de1dbe.elementor-posts--thumbnail-left .elementor-post__thumbnail__link{margin-right:20px;}.elementor-5145 .elementor-element.elementor-element-9de1dbe.elementor-posts--thumbnail-right .elementor-post__thumbnail__link{margin-left:20px;}.elementor-5145 .elementor-element.elementor-element-9de1dbe.elementor-posts--thumbnail-top .elementor-post__thumbnail__link{margin-bottom:20px;}.elementor-5145 .elementor-element.elementor-element-9de1dbe .elementor-post__title, .elementor-5145 .elementor-element.elementor-element-9de1dbe .elementor-post__title a{color:var( --e-global-color-primary );font-family:"Cormorant Garamond", Sans-serif;font-size:25px;font-weight:900;text-transform:uppercase;font-style:normal;}@media(max-width:1024px){.elementor-5145 .elementor-element.elementor-element-a87598e{--padding-top:0px;--padding-bottom:0px;--padding-left:50px;--padding-right:50px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-5145 .elementor-element.elementor-element-8a524cc .elementor-heading-title{font-size:44px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );}.elementor-5145 .elementor-element.elementor-element-37d3024 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(16px/2);}.elementor-5145 .elementor-element.elementor-element-37d3024 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(16px/2);}.elementor-5145 .elementor-element.elementor-element-37d3024 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(16px/2);}.elementor-5145 .elementor-element.elementor-element-37d3024 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-16px/2);}.elementor-5145 .elementor-element.elementor-element-37d3024 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-16px/2);}.elementor-5145 .elementor-element.elementor-element-570c4f6{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-posts .elementor-post__title, .elementor-widget-posts .elementor-post__title a{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-posts .elementor-post__meta-data{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-posts .elementor-post__excerpt p{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-posts .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-posts .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );}}@media(min-width:768px){.elementor-5145 .elementor-element.elementor-element-a87598e{--width:70%;}.elementor-5145 .elementor-element.elementor-element-839818c{--width:30%;}}@media(max-width:1024px) and (min-width:768px){.elementor-5145 .elementor-element.elementor-element-a87598e{--width:100%;}.elementor-5145 .elementor-element.elementor-element-839818c{--width:0%;}}@media(max-width:767px){.elementor-5145 .elementor-element.elementor-element-18ee6dc{width:100%;max-width:100%;padding:0px 0px 0px 0px;}.elementor-5145 .elementor-element.elementor-element-7ead2a5{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5145 .elementor-element.elementor-element-a87598e{--width:100%;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-5145 .elementor-element.elementor-element-8a524cc{width:100%;max-width:100%;}.elementor-5145 .elementor-element.elementor-element-8a524cc .elementor-heading-title{font-size:43px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-5145 .elementor-element.elementor-element-812fbfa{width:100%;max-width:100%;}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );}.elementor-5145 .elementor-element.elementor-element-37d3024{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-5145 .elementor-element.elementor-element-37d3024.elementor-element{--align-self:center;}.elementor-5145 .elementor-element.elementor-element-37d3024 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(50px/2);}.elementor-5145 .elementor-element.elementor-element-37d3024 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(50px/2);}.elementor-5145 .elementor-element.elementor-element-37d3024 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(50px/2);}.elementor-5145 .elementor-element.elementor-element-37d3024 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-50px/2);}.elementor-5145 .elementor-element.elementor-element-37d3024 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-50px/2);}.elementor-5145 .elementor-element.elementor-element-37d3024 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-5145 .elementor-element.elementor-element-37d3024 .elementor-icon-list-item > a{font-size:16px;}.elementor-5145 .elementor-element.elementor-element-d463c0b{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-5145 .elementor-element.elementor-element-608639a{--padding-top:0px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-5145 .elementor-element.elementor-element-6b292b8{padding:0px 0px 20px 0px;}.elementor-5145 .elementor-element.elementor-element-6b292b8 .elementor-heading-title{font-size:32px;}.elementor-5145 .elementor-element.elementor-element-b109e17{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-5145 .elementor-element.elementor-element-30c352d{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5145 .elementor-element.elementor-element-4784c8e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 20px 0px;}.elementor-5145 .elementor-element.elementor-element-4784c8e .elementor-heading-title{font-size:32px;}.elementor-5145 .elementor-element.elementor-element-7eada01{width:100%;max-width:100%;}.elementor-5145 .elementor-element.elementor-element-ed5fbcd{--padding-top:0px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-5145 .elementor-element.elementor-element-93ed7d3{padding:0px 0px 20px 0px;}.elementor-5145 .elementor-element.elementor-element-93ed7d3 .elementor-heading-title{font-size:32px;}.elementor-5145 .elementor-element.elementor-element-158b19a{width:100%;max-width:100%;}.elementor-5145 .elementor-element.elementor-element-1a599fa{--padding-top:0px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-5145 .elementor-element.elementor-element-93cbcce{padding:0px 0px 20px 0px;}.elementor-5145 .elementor-element.elementor-element-93cbcce .elementor-heading-title{font-size:32px;}.elementor-5145 .elementor-element.elementor-element-d69bc9b{width:100%;max-width:100%;}.elementor-5145 .elementor-element.elementor-element-28313d1{--padding-top:0px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-5145 .elementor-element.elementor-element-b044083{width:100%;max-width:100%;padding:0px 0px 20px 0px;}.elementor-5145 .elementor-element.elementor-element-b044083 .elementor-heading-title{font-size:32px;}.elementor-5145 .elementor-element.elementor-element-eaa47ac{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-5145 .elementor-element.elementor-element-7f93f64{width:100%;max-width:100%;padding:0px 0px 20px 0px;}.elementor-5145 .elementor-element.elementor-element-7f93f64 .elementor-button{font-size:14px;padding:15px 15px 15px 15px;}.elementor-5145 .elementor-element.elementor-element-a29fa51{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5145 .elementor-element.elementor-element-5684041{width:100%;max-width:100%;padding:0px 0px 20px 0px;}.elementor-5145 .elementor-element.elementor-element-5684041 .elementor-heading-title{font-size:32px;}.elementor-5145 .elementor-element.elementor-element-05ac36b{width:100%;max-width:100%;}.elementor-5145 .elementor-element.elementor-element-839818c{--width:0%;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-5145 .elementor-element.elementor-element-839818c.e-con{--order:-99999 /* order start hack */;}.elementor-5145 .elementor-element.elementor-element-570c4f6{--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-widget-posts .elementor-post__title, .elementor-widget-posts .elementor-post__title a{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-posts .elementor-post__meta-data{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-posts .elementor-post__excerpt p{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-posts .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-posts .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-5145 .elementor-element.elementor-element-9de1dbe{width:100%;max-width:100%;}.elementor-5145 .elementor-element.elementor-element-9de1dbe > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-5145 .elementor-element.elementor-element-9de1dbe .elementor-post__thumbnail__link{width:100%;}.elementor-5145 .elementor-element.elementor-element-9de1dbe .elementor-post__title, .elementor-5145 .elementor-element.elementor-element-9de1dbe .elementor-post__title a{font-size:20px;}}/* Start custom CSS for icon-list, class: .elementor-element-37d3024 */@media (max-width: 767px) {
  .elementor-icon-list-items {
    flex-direction: column !important;
  }
  .elementor-icon-list-item {
    width: 100% !important;
  }
}
@media (max-width: 767px) {

  .elementor-icon-list-items {
    display: block !important;
  }

  .elementor-icon-list-item {
    margin-bottom: 14px !important; /* espace entre chaque ligne */
  }

  .elementor-icon-list-item:last-child {
    margin-bottom: 0 !important;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ae06a22 */<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css">
<link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@700&family=Inter:wght@400;500&family=Roboto:wght@700&display=swap" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/flatpickr"></script>
<script src="https://cdn.jsdelivr.net/npm/flatpickr/dist/l10n/fr.js"></script>

<style>
#garni-booking-root,
#garni-booking-root * {
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
}

#garni-booking-root {
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #000 !important;
  background: #fff !important;
  width: 100% !important;
  max-width: 100% !important;
  position: relative !important;
  line-height: normal !important;
  border: none !important;
  box-shadow: none !important;
}

#garni-booking-root .gb-card {
  background: #fff !important;
  border: 1px solid #e5e5e5 !important;
  width: 100% !important;
  max-width: 100% !important;
}

#garni-booking-root .gb-head {
  padding: 24px 24px 20px !important;
  border-bottom: 1px solid #e5e5e5 !important;
  background: #fff !important;
}

#garni-booking-root .gb-head-label {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #8a6a3c !important;
  margin-bottom: 14px !important;
  display: block !important;
  border: none !important;
  background: none !important;
}

#garni-booking-root .gb-head-price {
  font-family: 'Inter', sans-serif !important;
  font-size: 50px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: -0.03em !important;
  color: #111 !important;
  display: block !important;
  border: none !important;
  background: none !important;
}

#garni-booking-root .gb-head-sub {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #666 !important;
  margin-top: 10px !important;
  display: block !important;
  border: none !important;
  background: none !important;
}

#garni-booking-root .gb-body {
  padding: 24px !important;
  background: #fff !important;
}

#garni-booking-root .gb-dates-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  margin-bottom: 18px !important;
  position: relative !important;
}

#garni-booking-root .gb-section-label {
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #111 !important;
  margin-bottom: 10px !important;
  display: block !important;
  line-height: 1.2 !important;
  border: none !important;
  background: none !important;
}

#garni-booking-root .gb-field {
  border: 1px solid #dcdcdc !important;
  background: #fff !important;
  width: 100% !important;
  min-height: 60px !important;
  display: flex !important;
  align-items: center !important;
  transition: none !important;
}

#garni-booking-root .gb-field:hover {
  border-color: #dcdcdc !important;
}

#garni-booking-root .gb-field:focus-within {
  border-color: #dcdcdc !important;
  box-shadow: none !important;
}

#garni-booking-root .gb-date-btn,
#garni-booking-root .gb-guests-trigger {
  all: unset !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  min-height: 62px !important;
  padding: 0 18px !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  font-family: 'Inter', sans-serif !important;
  color: #111 !important;
  background: transparent !important;
}

#garni-booking-root .gb-date-btn-value,
#garni-booking-root .gb-guests-trigger-value {
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #111 !important;
  line-height: 1 !important;
}

#garni-booking-root .gb-date-btn-value.placeholder {
  color: #b3b3b3 !important;
}

#garni-booking-root .gb-field-icons {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-shrink: 0 !important;
  margin-left: 12px !important;
}

#garni-booking-root .gb-clear-btn {
  all: unset !important;
  cursor: pointer !important;
  font-size: 24px !important;
  line-height: 1 !important;
  color: #222 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
}

#garni-booking-root .gb-clear-btn.hidden {
  visibility: hidden !important;
  pointer-events: none !important;
}

#garni-booking-root .gb-icon {
  width: 18px !important;
  height: 18px !important;
  stroke: #222 !important;
  stroke-width: 1.8 !important;
  fill: none !important;
  flex-shrink: 0 !important;
}

#garni-booking-root .gb-guests {
  border: 1px solid #dcdcdc !important;
  margin-bottom: 18px !important;
  background: #fff !important;
  width: 100% !important;
  transition: none !important;
}

#garni-booking-root .gb-guests:hover {
  border-color: #dcdcdc !important;
}

#garni-booking-root .gb-guests:focus-within {
  border-color: #dcdcdc !important;
  box-shadow: none !important;
}

#garni-booking-root .gb-guests-trigger-icon {
  display: none !important;
}

#garni-booking-root .gb-guests-panel {
  border-top: 1px solid #ececec !important;
  display: none !important;
  background: #fff !important;
  padding: 10px 18px !important;
}

#garni-booking-root .gb-guests-panel.open {
  display: block !important;
}

#garni-booking-root .gb-guest-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 20px 6px !important;
  background: #fff !important;
}

#garni-booking-root .gb-guest-row + .gb-guest-row {
  border-top: 1px solid #efefef !important;
}

#garni-booking-root .gb-guest-name {
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #1b1b1b !important;
  line-height: 1.3 !important;
}

#garni-booking-root .gb-stepper {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  flex-shrink: 0 !important;
}

#garni-booking-root .gb-step-btn {
  all: unset !important;
  width: 40px !important;
  height: 40px !important;
  border: 1px solid #e1e1e1 !important;
  background: #fff !important;
  color: #2a2a2a !important;
  cursor: pointer !important;
  font-size: 22px !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  font-family: 'Inter', sans-serif !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  transition: background .15s ease, border-color .15s ease !important;
}

#garni-booking-root .gb-step-btn:hover:not(:disabled) {
  background: #fafafa !important;
  border-color: #d5d5d5 !important;
}

#garni-booking-root .gb-step-btn:disabled {
  opacity: .35 !important;
  cursor: not-allowed !important;
}

#garni-booking-root .gb-step-val {
  font-family: 'Inter', sans-serif !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: #1b1b1b !important;
  min-width: 24px !important;
  text-align: center !important;
  display: block !important;
}

#garni-booking-root .gb-status {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #777 !important;
  margin-bottom: 18px !important;
  min-height: 18px !important;
  line-height: 1.5 !important;
  display: block !important;
  border: none !important;
  background: none !important;
}

#garni-booking-root .gb-status.ok {
  color: #111 !important;
}

#garni-booking-root .gb-status.err {
  color: #111 !important;
}

#garni-booking-root .gb-price-breakdown {
  border: none !important;
  padding: 0 0 18px !important;
  display: none !important;
  background: #fff !important;
}

#garni-booking-root .gb-price-breakdown.show {
  display: block !important;
}

#garni-booking-root .gb-price-row {
  display: flex !important;
  justify-content: space-between !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #777 !important;
  padding: 6px 0 !important;
}

#garni-booking-root .gb-btn {
  all: unset !important;
  display: block !important;
  width: 100% !important;
  height: 54px !important;
  background-color: #120905 !important;
  color: #ffffff !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  border: none !important;
  cursor: pointer !important;
  transition: opacity .15s !important;
  text-align: center !important;
  line-height: 54px !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

#garni-booking-root .gb-btn:hover:not(:disabled) {
  opacity: .9 !important;
  background-color: #120905 !important;
  color: #ffffff !important;
}

#garni-booking-root .gb-btn:disabled {
  opacity: .4 !important;
  cursor: not-allowed !important;
}

#garni-booking-root .gb-btn.gb-hidden {
  display: none !important;
}

.flatpickr-calendar {
  border: 1px solid #e0e0e0 !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.08) !important;
  border-radius: 0 !important;
  font-family: 'Inter', sans-serif !important;
}

.flatpickr-day {
  border-radius: 0 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  color: #111 !important;
}

.flatpickr-day:hover {
  background: #f5f5f5 !important;
  color: #111 !important;
}

.flatpickr-day.inRange {
  background: #f0f0f0 !important;
  border-color: #f0f0f0 !important;
  box-shadow: none !important;
  color: #111 !important;
}

.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected {
  background: #111 !important;
  border-color: #111 !important;
  color: #fff !important;
}

.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected:hover {
  background: #111 !important;
  color: #fff !important;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
  color: #ccc !important;
}

.flatpickr-months .flatpickr-month {
  height: 52px !important;
  background: #fff !important;
}

.flatpickr-current-month {
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  padding-top: 14px !important;
  color: #111 !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year {
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
}

span.flatpickr-weekday {
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: .06em !important;
  font-weight: 500 !important;
  color: #888 !important;
  background: #fff !important;
}

.flatpickr-weekdays {
  background: #fff !important;
}

@media (max-width: 767px) {
  #garni-booking-root .gb-head {
    padding: 20px 18px 18px !important;
  }

  #garni-booking-root .gb-body {
    padding: 18px !important;
  }

  #garni-booking-root .gb-dates-row {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  #garni-booking-root .gb-head-price {
    font-size: 42px !important;
  }
}
</style>

<div id="garni-booking-root">
  <div class="gb-card">
    <div class="gb-head">
      <span class="gb-head-label" id="gbHeadLabel">Total du séjour</span>
      <span class="gb-head-price" id="gbHeadPrice">0 €</span>
      <span class="gb-head-sub" id="gbHeadSub"></span>
    </div>

    <div class="gb-body">
      <div class="gb-dates-row" id="gbDatesBlock">
        <div>
          <span class="gb-section-label">Arrivée</span>
          <div class="gb-field">
            <button class="gb-date-btn" id="gbCheckinBtn" type="button">
              <span class="gb-date-btn-value placeholder" id="gbCheckinVal">Choisir</span>
              <span class="gb-field-icons">
                <span class="gb-clear-btn hidden" id="gbCheckinClear">×</span>
                <svg class="gb-icon" viewBox="0 0 24 24" aria-hidden="true">
                  <rect x="3" y="5" width="18" height="16"></rect>
                  <line x1="3" y1="9" x2="21" y2="9"></line>
                  <line x1="8" y1="3" x2="8" y2="7"></line>
                  <line x1="16" y1="3" x2="16" y2="7"></line>
                </svg>
              </span>
            </button>
          </div>
        </div>

        <div>
          <span class="gb-section-label">Départ</span>
          <div class="gb-field">
            <button class="gb-date-btn" id="gbCheckoutBtn" type="button">
              <span class="gb-date-btn-value placeholder" id="gbCheckoutVal">Choisir</span>
              <span class="gb-field-icons">
                <span class="gb-clear-btn hidden" id="gbCheckoutClear">×</span>
                <svg class="gb-icon" viewBox="0 0 24 24" aria-hidden="true">
                  <rect x="3" y="5" width="18" height="16"></rect>
                  <line x1="3" y1="9" x2="21" y2="9"></line>
                  <line x1="8" y1="3" x2="8" y2="7"></line>
                  <line x1="16" y1="3" x2="16" y2="7"></line>
                </svg>
              </span>
            </button>
          </div>
        </div>
      </div>

      <input type="hidden" id="gbCheckin">
      <input type="hidden" id="gbCheckout">

      <span class="gb-section-label" style="margin-top:0;display:block!important">Voyageurs</span>
      <div class="gb-guests">
        <button class="gb-guests-trigger" id="gbGuestTrigger" type="button">
          <span class="gb-guests-trigger-value" id="gbGuestSummary">1 adulte</span>
          <span class="gb-field-icons">
            <span class="gb-clear-btn hidden" id="gbGuestClear">×</span>
            <svg class="gb-icon" viewBox="0 0 24 24" aria-hidden="true">
              <path d="M16 19c0-2-2.5-3.5-5-3.5S6 17 6 19"></path>
              <circle cx="11" cy="9" r="3"></circle>
              <path d="M18 19c0-1.5-1.2-2.7-3-3.2"></path>
              <path d="M16 6.5c1.7.2 3 1.5 3 3.1 0 1.7-1.3 3-3 3.2"></path>
            </svg>
          </span>
        </button>

        <div class="gb-guests-panel" id="gbGuestPanel">
          <div class="gb-guest-row">
            <div><div class="gb-guest-name">Adultes</div></div>
            <div class="gb-stepper">
              <button class="gb-step-btn" id="gbAdultMinus" type="button">−</button>
              <span class="gb-step-val" id="gbAdultVal">1</span>
              <button class="gb-step-btn" id="gbAdultPlus" type="button">+</button>
            </div>
          </div>

          <div class="gb-guest-row">
            <div><div class="gb-guest-name">Enfants</div></div>
            <div class="gb-stepper">
              <button class="gb-step-btn" id="gbChildMinus" type="button">−</button>
              <span class="gb-step-val" id="gbChildVal">0</span>
              <button class="gb-step-btn" id="gbChildPlus" type="button">+</button>
            </div>
          </div>
        </div>
      </div>

      <span class="gb-status" id="gbStatus">Sélectionnez vos dates pour continuer.</span>

      <div class="gb-price-breakdown" id="gbBreakdown">
        <div class="gb-price-row">
          <span id="gbNightLine"></span>
          <span id="gbStayPrice"></span>
        </div>
        <div class="gb-price-row">
          <span>Ménage</span>
          <span id="gbCleaning"></span>
        </div>
        <div class="gb-price-row">
          <span>Taxe de séjour</span>
          <span id="gbCityTax"></span>
        </div>
      </div>

      <button class="gb-btn" id="gbMainBtn" type="button">Vérifier la disponibilité</button>
      <button class="gb-btn gb-hidden" id="gbReserveBtn" type="button" style="margin-top:10px!important">Réserver</button>
    </div>
  </div>
</div>

<script>
const MAX_GUESTS = 15;
const PROPERTY_KEY = 'propertyKeyu21jXB5BuXNgwKp84bX0z6Fkb';
const RESERVATION_PAGE = '/reservation/';

function getParam(name) {
  return new URLSearchParams(window.location.search).get(name) || '';
}

let adults = parseInt(getParam('adults')) || 1;
let children = parseInt(getParam('children')) || 0;
let checkin = getParam('checkin') || '';
let checkout = getParam('checkout') || '';
let bookingData = null;
let guestOpen = false;
let picker;

const fmt = v => new Intl.NumberFormat('fr-FR', { style: 'currency', currency: 'EUR' }).format(+v || 0);
const fmtP = v => new Intl.NumberFormat('fr-FR', { style: 'currency', currency: 'EUR' }).format(+v || 0);

const fmtDate = s => {
  if (!s) return 'Choisir';
  const d = new Date(s + 'T00:00:00');
  return d.toLocaleDateString('fr-FR', { day: 'numeric', month: 'short' }).replace('.', '');
};

const diffDays = (a, b) => Math.round((new Date(b + 'T00:00:00') - new Date(a + 'T00:00:00')) / 864e5);

function updateClearButtons() {
  const ci = document.getElementById('gbCheckinClear');
  const co = document.getElementById('gbCheckoutClear');
  const gc = document.getElementById('gbGuestClear');

  if (ci) ci.classList.toggle('hidden', !checkin);
  if (co) co.classList.toggle('hidden', !checkout);
  if (gc) gc.classList.toggle('hidden', adults === 1 && children === 0);
}

function updateGuests() {
  document.getElementById('gbAdultVal').textContent = adults;
  document.getElementById('gbChildVal').textContent = children;

  let s = adults + ' ' + (adults > 1 ? 'adultes' : 'adulte');
  if (children > 0) s += ' · ' + children + ' ' + (children > 1 ? 'enfants' : 'enfant');

  document.getElementById('gbGuestSummary').textContent = s;
  document.getElementById('gbAdultMinus').disabled = adults <= 1;
  document.getElementById('gbChildMinus').disabled = children <= 0;
  document.getElementById('gbAdultPlus').disabled = (adults + children) >= MAX_GUESTS;
  document.getElementById('gbChildPlus').disabled = (adults + children) >= MAX_GUESTS;

  updateClearButtons();
}

function updateDateDisplay() {
  const ci = document.getElementById('gbCheckinVal');
  const co = document.getElementById('gbCheckoutVal');

  ci.textContent = fmtDate(checkin);
  ci.className = 'gb-date-btn-value' + (checkin ? '' : ' placeholder');

  co.textContent = fmtDate(checkout);
  co.className = 'gb-date-btn-value' + (checkout ? '' : ' placeholder');

  updateClearButtons();
}

function setStatus(msg, type = '') {
  const el = document.getElementById('gbStatus');
  el.textContent = msg;
  el.className = 'gb-status' + (type ? ' ' + type : '');
}

function showMainBtn() {
  document.getElementById('gbMainBtn').classList.remove('gb-hidden');
  document.getElementById('gbReserveBtn').classList.add('gb-hidden');
}

function showReserveBtn() {
  document.getElementById('gbMainBtn').classList.add('gb-hidden');
  document.getElementById('gbReserveBtn').classList.remove('gb-hidden');
}

function updateHeaderLabel() {
  const label = document.getElementById('gbHeadLabel');
  if (checkin && checkout) {
    const nights = diffDays(checkin, checkout);
    label.textContent = 'Total pour ' + nights + ' nuit' + (nights > 1 ? 's' : '');
  } else {
    label.textContent = 'Total du séjour';
  }
}

function resetBooking(msg) {
  bookingData = null;
  try { sessionStorage.removeItem('garni_booking'); } catch (e) {}

  document.getElementById('gbHeadPrice').textContent = '0 €';
  document.getElementById('gbHeadSub').textContent = '';
  document.getElementById('gbHeadSub').style.color = '';
  document.getElementById('gbBreakdown').classList.remove('show');
  document.getElementById('gbMainBtn').textContent = 'Vérifier la disponibilité';
  document.getElementById('gbMainBtn').disabled = false;

  updateHeaderLabel();
  showMainBtn();
  setStatus(msg || 'Sélectionnez vos dates pour continuer.');
}

function toggleGuests() {
  guestOpen = !guestOpen;
  document.getElementById('gbGuestPanel').classList.toggle('open', guestOpen);
}

document.getElementById('gbGuestTrigger').addEventListener('click', toggleGuests);

document.addEventListener('click', e => {
  const panel = document.getElementById('gbGuestPanel');
  const trigger = document.getElementById('gbGuestTrigger');

  if (!panel.contains(e.target) && !trigger.contains(e.target)) {
    guestOpen = false;
    panel.classList.remove('open');
  }
});

document.getElementById('gbAdultMinus').addEventListener('click', () => {
  adults = Math.max(1, adults - 1);
  updateGuests();
  resetBooking('Modifications détectées — vérifiez à nouveau.');
});

document.getElementById('gbAdultPlus').addEventListener('click', () => {
  if (adults + children < MAX_GUESTS) adults++;
  updateGuests();
  resetBooking('Modifications détectées — vérifiez à nouveau.');
});

document.getElementById('gbChildMinus').addEventListener('click', () => {
  children = Math.max(0, children - 1);
  updateGuests();
  resetBooking('Modifications détectées — vérifiez à nouveau.');
});

document.getElementById('gbChildPlus').addEventListener('click', () => {
  if (adults + children < MAX_GUESTS) children++;
  updateGuests();
  resetBooking('Modifications détectées — vérifiez à nouveau.');
});

const calInput = document.createElement('input');
calInput.type = 'text';
calInput.style.cssText = 'position:absolute;width:0;height:0;opacity:0;pointer-events:none;border:0;padding:0;margin:0;top:100%;left:0;';
document.getElementById('gbDatesBlock').appendChild(calInput);

picker = flatpickr(calInput, {
  mode: 'range',
  showMonths: 2,
  dateFormat: 'Y-m-d',
  locale: flatpickr.l10ns.fr,
  disableMobile: true,
  positionElement: document.getElementById('gbDatesBlock'),
  defaultDate: (checkin && checkout) ? [checkin, checkout] : [],
  onChange(dates, _, inst) {
    checkin = dates[0] ? inst.formatDate(dates[0], 'Y-m-d') : '';
    checkout = dates[1] ? inst.formatDate(dates[1], 'Y-m-d') : '';
    updateDateDisplay();
    updateHeaderLabel();
    resetBooking('Modifications détectées — vérifiez à nouveau.');
  }
});

document.getElementById('gbCheckinBtn').addEventListener('click', () => picker.open());
document.getElementById('gbCheckoutBtn').addEventListener('click', () => picker.open());

document.getElementById('gbCheckinClear').addEventListener('click', function(e) {
  e.stopPropagation();
  checkin = '';
  checkout = '';
  picker.clear();
  updateDateDisplay();
  updateHeaderLabel();
  resetBooking('Sélectionnez vos dates pour continuer.');
});

document.getElementById('gbCheckoutClear').addEventListener('click', function(e) {
  e.stopPropagation();
  checkin = '';
  checkout = '';
  picker.clear();
  updateDateDisplay();
  updateHeaderLabel();
  resetBooking('Sélectionnez vos dates pour continuer.');
});

document.getElementById('gbGuestClear').addEventListener('click', function(e) {
  e.stopPropagation();
  adults = 1;
  children = 0;
  updateGuests();
  resetBooking('Modifications détectées — vérifiez à nouveau.');
});

async function checkAvailability() {
  if (!checkin || !checkout) {
    setStatus("Veuillez choisir vos dates d'arrivée et de départ.", 'err');
    return;
  }

  const btn = document.getElementById('gbMainBtn');
  btn.disabled = true;
  btn.textContent = 'Vérification…';
  setStatus('Vérification en cours…');

  try {
    const res = await fetch('/wp-json/garni/v1/property-availability', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({
        property_key: PROPERTY_KEY,
        start_date: checkin,
        end_date: checkout,
        nbr_adults: adults,
        nbr_children: children
      })
    });

    const data = await res.json();

    if (!data.success || !data.available) {
      setStatus(data.available === false ? 'Ces dates ne sont pas disponibles.' : 'Une erreur est survenue.', 'err');
      btn.disabled = false;
      btn.textContent = 'Vérifier la disponibilité';
      return;
    }

    bookingData = {
      property_key: PROPERTY_KEY,
      start_date: checkin,
      end_date: checkout,
      nbr_adults: adults,
      nbr_children: children,
      ...data
    };

    try {
      sessionStorage.setItem('garni_booking', JSON.stringify(bookingData));
    } catch (e) {}

    const nights = diffDays(checkin, checkout);

    document.getElementById('gbHeadLabel').textContent = 'Total pour ' + nights + ' nuit' + (nights > 1 ? 's' : '');
    document.getElementById('gbHeadPrice').textContent = fmt(data.total);
    document.getElementById('gbHeadSub').textContent = '';
    document.getElementById('gbNightLine').textContent = fmt(data.stay_price / Math.max(nights, 1)) + ' × ' + nights + ' nuit' + (nights > 1 ? 's' : '');
    document.getElementById('gbStayPrice').textContent = fmt(data.stay_price);
    document.getElementById('gbCleaning').textContent = fmtP(data.cleaning_fee);
    document.getElementById('gbCityTax').textContent = fmtP(data.city_tax_total);
    document.getElementById('gbBreakdown').classList.add('show');

    setStatus('Séjour disponible.', 'ok');
    showReserveBtn();

    const url = new URL(window.location.href);
    url.searchParams.set('checkin', checkin);
    url.searchParams.set('checkout', checkout);
    url.searchParams.set('adults', adults);
    url.searchParams.set('children', children);
    window.history.replaceState({}, '', url);

  } catch (err) {
    setStatus('Erreur technique — réessayez.', 'err');
    btn.disabled = false;
    btn.textContent = 'Vérifier la disponibilité';
  }
}

function goToReservation() {
  const url = new URL(RESERVATION_PAGE, window.location.origin);
  url.searchParams.set('property_key', PROPERTY_KEY);
  url.searchParams.set('checkin', checkin);
  url.searchParams.set('checkout', checkout);
  url.searchParams.set('adults', adults);
  url.searchParams.set('children', children);
  window.location.href = url.toString();
}

document.getElementById('gbMainBtn').addEventListener('click', checkAvailability);
document.getElementById('gbReserveBtn').addEventListener('click', goToReservation);

updateGuests();
updateDateDisplay();
updateHeaderLabel();

if (checkin && checkout) {
  checkAvailability();
}
</script>
#garni-booking-root {
  position: sticky !important;
  top: 110px !important;
  z-index: 10 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7ead2a5 */@media (max-width: 767px) {
  body {
    overflow-x: hidden !important;
  }
  .elementor-section,
  .elementor-container,
  .elementor-widget-wrap,
  .elementor-widget {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
}/* End custom CSS */