.elementor-36 .elementor-element.elementor-element-2da782b{--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:0px;--padding-right:0px;}.elementor-36 .elementor-element.elementor-element-c57f2f6{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-36 .elementor-element.elementor-element-a795bba{text-align:center;}.elementor-36 .elementor-element.elementor-element-e99ab09{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:0px 0px 2px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:2px;--border-left-width:0px;border-color:#E2B15A;--border-color:#E2B15A;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:15px;--padding-bottom:15px;--padding-left:0px;--padding-right:0px;}.elementor-36 .elementor-element.elementor-element-e99ab09:not(.elementor-motion-effects-element-type-background), .elementor-36 .elementor-element.elementor-element-e99ab09 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(135deg, #004d75 0%, #005886 100%);}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;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-36 .elementor-element.elementor-element-c3f70d3{text-align:center;font-family:"Atkinson Hyperlegible", Sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:1.5px;color:#FFFFFF;}.elementor-36 .elementor-element.elementor-element-d27c892{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:30px;--padding-bottom:30px;--padding-left:20px;--padding-right:20px;}.elementor-36 .elementor-element.elementor-element-9721b13{text-align:center;}.elementor-36 .elementor-element.elementor-element-9721b13 .elementor-heading-title{font-family:"Fraunces", Sans-serif;font-size:48px;font-weight:800;line-height:1.1em;color:#005886;}.elementor-36 .elementor-element.elementor-element-f2583cb{--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;--justify-content:center;--margin-top:15px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-36 .elementor-element.elementor-element-e201ae4 .elementor-icon-wrapper{text-align:center;}.elementor-36 .elementor-element.elementor-element-e201ae4.elementor-view-stacked .elementor-icon{background-color:#E2B15A;}.elementor-36 .elementor-element.elementor-element-e201ae4.elementor-view-framed .elementor-icon, .elementor-36 .elementor-element.elementor-element-e201ae4.elementor-view-default .elementor-icon{color:#E2B15A;border-color:#E2B15A;}.elementor-36 .elementor-element.elementor-element-e201ae4.elementor-view-framed .elementor-icon, .elementor-36 .elementor-element.elementor-element-e201ae4.elementor-view-default .elementor-icon svg{fill:#E2B15A;}.elementor-36 .elementor-element.elementor-element-e201ae4 .elementor-icon{font-size:28px;}.elementor-36 .elementor-element.elementor-element-e201ae4 .elementor-icon svg{height:28px;}.elementor-36 .elementor-element.elementor-element-5ca4864 .elementor-icon-wrapper{text-align:center;}.elementor-36 .elementor-element.elementor-element-5ca4864.elementor-view-stacked .elementor-icon{background-color:#E2B15A;}.elementor-36 .elementor-element.elementor-element-5ca4864.elementor-view-framed .elementor-icon, .elementor-36 .elementor-element.elementor-element-5ca4864.elementor-view-default .elementor-icon{color:#E2B15A;border-color:#E2B15A;}.elementor-36 .elementor-element.elementor-element-5ca4864.elementor-view-framed .elementor-icon, .elementor-36 .elementor-element.elementor-element-5ca4864.elementor-view-default .elementor-icon svg{fill:#E2B15A;}.elementor-36 .elementor-element.elementor-element-5ca4864 .elementor-icon{font-size:28px;}.elementor-36 .elementor-element.elementor-element-5ca4864 .elementor-icon svg{height:28px;}.elementor-36 .elementor-element.elementor-element-14ad716 .elementor-icon-wrapper{text-align:center;}.elementor-36 .elementor-element.elementor-element-14ad716.elementor-view-stacked .elementor-icon{background-color:#E2B15A;}.elementor-36 .elementor-element.elementor-element-14ad716.elementor-view-framed .elementor-icon, .elementor-36 .elementor-element.elementor-element-14ad716.elementor-view-default .elementor-icon{color:#E2B15A;border-color:#E2B15A;}.elementor-36 .elementor-element.elementor-element-14ad716.elementor-view-framed .elementor-icon, .elementor-36 .elementor-element.elementor-element-14ad716.elementor-view-default .elementor-icon svg{fill:#E2B15A;}.elementor-36 .elementor-element.elementor-element-14ad716 .elementor-icon{font-size:28px;}.elementor-36 .elementor-element.elementor-element-14ad716 .elementor-icon svg{height:28px;}.elementor-36 .elementor-element.elementor-element-9da80d2 .elementor-icon-wrapper{text-align:center;}.elementor-36 .elementor-element.elementor-element-9da80d2.elementor-view-stacked .elementor-icon{background-color:#E2B15A;}.elementor-36 .elementor-element.elementor-element-9da80d2.elementor-view-framed .elementor-icon, .elementor-36 .elementor-element.elementor-element-9da80d2.elementor-view-default .elementor-icon{color:#E2B15A;border-color:#E2B15A;}.elementor-36 .elementor-element.elementor-element-9da80d2.elementor-view-framed .elementor-icon, .elementor-36 .elementor-element.elementor-element-9da80d2.elementor-view-default .elementor-icon svg{fill:#E2B15A;}.elementor-36 .elementor-element.elementor-element-9da80d2 .elementor-icon{font-size:28px;}.elementor-36 .elementor-element.elementor-element-9da80d2 .elementor-icon svg{height:28px;}.elementor-36 .elementor-element.elementor-element-0cdc55b{text-align:center;font-family:"Fraunces", Sans-serif;font-size:19px;font-weight:500;font-style:italic;letter-spacing:0.5px;color:#E2B15A;}.elementor-36 .elementor-element.elementor-element-ff71f4b{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-36 .elementor-element.elementor-element-bfe094d{--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-36 .elementor-element.elementor-element-332fb77{text-align:justify;font-family:"Atkinson Hyperlegible", Sans-serif;font-size:17px;line-height:1.5em;color:#555555;}.elementor-36 .elementor-element.elementor-element-618a3a0{padding:0px 20px 0px 0px;}.elementor-36 .elementor-element.elementor-element-8db1ecb{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:30px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-36 .elementor-element.elementor-element-94dd153{--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-36 .elementor-element.elementor-element-94dd153:not(.elementor-motion-effects-element-type-background), .elementor-36 .elementor-element.elementor-element-94dd153 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-42d72c7 );}.elementor-36 .elementor-element.elementor-element-00b7048{font-family:"Atkinson Hyperlegible", Sans-serif;font-size:17px;line-height:1.6em;color:#555555;}.elementor-36 .elementor-element.elementor-element-424d6a0{--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:30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-36 .elementor-element.elementor-element-2a8e809{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--overflow:hidden;--border-radius:4px 4px 4px 4px;box-shadow:0px 15px 40px 0px rgba(0,0,0,0.05);}.elementor-36 .elementor-element.elementor-element-2a8e809:not(.elementor-motion-effects-element-type-background), .elementor-36 .elementor-element.elementor-element-2a8e809 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-36 .elementor-element.elementor-element-85efeea{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:35px;--padding-bottom:35px;--padding-left:35px;--padding-right:35px;}.elementor-36 .elementor-element.elementor-element-d2fbadf .elementor-heading-title{font-family:"Fraunces", Sans-serif;font-size:22px;color:#005886;}.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-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-36 .elementor-element.elementor-element-e83d702 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-36 .elementor-element.elementor-element-e83d702 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-36 .elementor-element.elementor-element-e83d702{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-36 .elementor-element.elementor-element-e83d702 .elementor-icon-list-text{transition:color 0.3s;}.elementor-36 .elementor-element.elementor-element-8e601a9{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--overflow:hidden;--border-radius:4px 4px 4px 4px;box-shadow:0px 15px 40px 0px rgba(0,0,0,0.05);}.elementor-36 .elementor-element.elementor-element-8e601a9:not(.elementor-motion-effects-element-type-background), .elementor-36 .elementor-element.elementor-element-8e601a9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-36 .elementor-element.elementor-element-5047e58{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:35px;--padding-bottom:35px;--padding-left:35px;--padding-right:35px;}.elementor-36 .elementor-element.elementor-element-403704e .elementor-heading-title{font-family:"Fraunces", Sans-serif;font-size:22px;color:#005886;}.elementor-36 .elementor-element.elementor-element-418a3d6 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-36 .elementor-element.elementor-element-418a3d6 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-36 .elementor-element.elementor-element-418a3d6{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-36 .elementor-element.elementor-element-418a3d6 .elementor-icon-list-text{transition:color 0.3s;}.elementor-36 .elementor-element.elementor-element-8cc86e1{--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-36 .elementor-element.elementor-element-500a4f0{--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-36 .elementor-element.elementor-element-500a4f0.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-36 .elementor-element.elementor-element-bdde7d7{--display:flex;--justify-content:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:18px;--padding-bottom:0px;--padding-left:30px;--padding-right:0px;}.elementor-36 .elementor-element.elementor-element-b82cdf2{font-family:"Atkinson Hyperlegible", Sans-serif;font-size:17px;line-height:1.5em;color:#555555;}.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-36 .elementor-element.elementor-element-a613c64 .elementor-button{background-color:#E2B15A;font-family:"Fraunces", Sans-serif;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:1px;fill:#FFFFFF;color:#FFFFFF;border-radius:50px 50px 50px 50px;}.elementor-36 .elementor-element.elementor-element-a613c64 .elementor-button:hover, .elementor-36 .elementor-element.elementor-element-a613c64 .elementor-button:focus{background-color:#d4a048;}.elementor-36 .elementor-element.elementor-element-9a3460e{--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-36 .elementor-element.elementor-element-2c220a8{--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;}.elementor-36 .elementor-element.elementor-element-0e7f46c{--display:flex;}.elementor-36 .elementor-element.elementor-element-a91c78a .elementor-heading-title{font-family:"Atkinson Hyperlegible", Sans-serif;font-size:16px;font-weight:500;color:var( --e-global-color-e04c36f );}.elementor-36 .elementor-element.elementor-element-9d7ec6e{--display:flex;}.elementor-36 .elementor-element.elementor-element-0addb7a .elementor-heading-title{font-family:"Atkinson Hyperlegible", Sans-serif;font-size:16px;font-weight:500;color:var( --e-global-color-e04c36f );}.elementor-36 .elementor-element.elementor-element-856e9a0{--display:flex;--padding-top:73px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-36 .elementor-element.elementor-element-e7552fd{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 20px;padding:0px 0px 20px 0px;text-align:justify;font-family:"Atkinson Hyperlegible", Sans-serif;font-size:17px;font-weight:400;font-style:normal;line-height:1.5em;color:#555555;}.elementor-36 .elementor-element.elementor-element-c26036d{--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:30px;--margin-bottom:60px;--margin-left:0px;--margin-right:0px;}.elementor-36 .elementor-element.elementor-element-2dec15b{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-36 .elementor-element.elementor-element-15faf06{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-36 .elementor-element.elementor-element-2a6682a{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-36 .elementor-element.elementor-element-013b607{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-36 .elementor-element.elementor-element-67a1987{text-align:center;}.elementor-36 .elementor-element.elementor-element-67a1987 .elementor-heading-title{font-family:"Atkinson Hyperlegible", Sans-serif;font-size:17px;font-weight:800;color:#005886;}.elementor-36 .elementor-element.elementor-element-52271e0{text-align:center;font-family:"Atkinson Hyperlegible", Sans-serif;font-size:14px;line-height:1.6em;color:#555555;}.elementor-36 .elementor-element.elementor-element-3f55f9c{text-align:center;}.elementor-36 .elementor-element.elementor-element-e388248{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-36 .elementor-element.elementor-element-083215c{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-36 .elementor-element.elementor-element-08b3005{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-36 .elementor-element.elementor-element-3eabec6{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-36 .elementor-element.elementor-element-a45a96b{text-align:center;}.elementor-36 .elementor-element.elementor-element-a45a96b .elementor-heading-title{font-family:"Atkinson Hyperlegible", Sans-serif;font-size:17px;font-weight:800;color:#005886;}.elementor-36 .elementor-element.elementor-element-7d6690b{text-align:center;font-family:"Atkinson Hyperlegible", Sans-serif;font-size:14px;line-height:1.6em;color:#555555;}.elementor-36 .elementor-element.elementor-element-4f9ead4{text-align:center;}.elementor-36 .elementor-element.elementor-element-27e6c08{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-36 .elementor-element.elementor-element-d5ab1b9{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-36 .elementor-element.elementor-element-b0fea27{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-36 .elementor-element.elementor-element-42bcf5d{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-36 .elementor-element.elementor-element-e4e8898{text-align:center;}.elementor-36 .elementor-element.elementor-element-e4e8898 .elementor-heading-title{font-family:"Atkinson Hyperlegible", Sans-serif;font-size:17px;font-weight:800;color:#005886;}.elementor-36 .elementor-element.elementor-element-11af623{text-align:center;font-family:"Atkinson Hyperlegible", Sans-serif;font-size:14px;line-height:1.6em;color:#555555;}.elementor-36 .elementor-element.elementor-element-0e054c6{text-align:center;}.elementor-36 .elementor-element.elementor-element-066c79f{--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-36 .elementor-element.elementor-element-0997920{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--padding-top:40px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-36 .elementor-element.elementor-element-0997920:not(.elementor-motion-effects-element-type-background), .elementor-36 .elementor-element.elementor-element-0997920 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-42d72c7 );}.elementor-36 .elementor-element.elementor-element-cb1eda5{--display:flex;--padding-top:0px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-36 .elementor-element.elementor-element-cb1eda5:not(.elementor-motion-effects-element-type-background), .elementor-36 .elementor-element.elementor-element-cb1eda5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-42d72c7 );}.elementor-36 .elementor-element.elementor-element-1abee1b{--swiper-slides-to-display:3;--swiper-slides-gap:10px;--arrow-prev-left-align:0%;--arrow-prev-translate-x:0px;--arrow-prev-left-position:0px;--arrow-prev-top-align:50%;--arrow-prev-translate-y:-50%;--arrow-prev-top-position:0px;--arrow-next-right-align:0%;--arrow-next-translate-x:0%;--arrow-next-right-position:0px;--arrow-next-top-align:50%;--arrow-next-translate-y:-50%;--arrow-next-top-position:0px;}.elementor-36 .elementor-element.elementor-element-1abee1b .swiper-slide > .elementor-element{height:100%;}.elementor-36 .elementor-element.elementor-element-815be9e{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--padding-top:40px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-36 .elementor-element.elementor-element-377be63{--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;}.elementor-36 .elementor-element.elementor-element-4818c1f{width:var( --container-widget-width, 38.354% );max-width:38.354%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;--container-widget-width:38.354%;--container-widget-flex-grow:0;text-align:start;font-family:"Atkinson Hyperlegible", Sans-serif;font-size:18px;font-weight:400;}.elementor-36 .elementor-element.elementor-element-4818c1f.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-36 .elementor-element.elementor-element-9c8b475{--display:flex;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:-44px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-36 .elementor-element.elementor-element-d27b234{width:var( --container-widget-width, 38.354% );max-width:38.354%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;--container-widget-width:38.354%;--container-widget-flex-grow:0;text-align:end;font-family:"Fraunces", Sans-serif;font-size:18px;font-weight:600;line-height:20px;letter-spacing:0px;word-spacing:0px;color:var( --e-global-color-primary );}.elementor-36 .elementor-element.elementor-element-d27b234.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-36 .elementor-element.elementor-element-0b2b2b0{--display:flex;}.elementor-36 .elementor-element.elementor-element-a684625{--swiper-slides-to-display:3;--swiper-slides-gap:10px;--arrow-prev-left-align:0%;--arrow-prev-translate-x:0px;--arrow-prev-left-position:0px;--arrow-prev-top-align:50%;--arrow-prev-translate-y:-50%;--arrow-prev-top-position:0px;--arrow-next-right-align:0%;--arrow-next-translate-x:0%;--arrow-next-right-position:0px;--arrow-next-top-align:50%;--arrow-next-translate-y:-50%;--arrow-next-top-position:0px;}.elementor-36 .elementor-element.elementor-element-a684625 .swiper-slide > .elementor-element{height:100%;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-36 .elementor-element.elementor-element-bfe094d{--width:50%;}.elementor-36 .elementor-element.elementor-element-8db1ecb{--width:50%;}.elementor-36 .elementor-element.elementor-element-8cc86e1{--width:54%;}.elementor-36 .elementor-element.elementor-element-500a4f0{--width:43.742%;}.elementor-36 .elementor-element.elementor-element-bdde7d7{--width:50%;}.elementor-36 .elementor-element.elementor-element-856e9a0{--content-width:1200px;}.elementor-36 .elementor-element.elementor-element-cb1eda5{--content-width:1330px;}.elementor-36 .elementor-element.elementor-element-0b2b2b0{--content-width:1330px;}}@media(max-width:1024px){.elementor-36 .elementor-element.elementor-element-1abee1b{--swiper-slides-to-display:2;}.elementor-36 .elementor-element.elementor-element-a684625{--swiper-slides-to-display:2;}}@media(max-width:767px){.elementor-36 .elementor-element.elementor-element-1abee1b{--swiper-slides-to-display:1;}.elementor-36 .elementor-element.elementor-element-a684625{--swiper-slides-to-display:1;}}/* Start custom CSS for html, class: .elementor-element-607d2be *//* ===========================================================
   HERO ACCUEIL — refonte vidéo immersive (page 36 UNIQUEMENT)
   Ciblé sur les classes elementor-element-<ID>, propres à ces
   deux éléments sur cette page : aucune incidence sur
   .lhv-hero-section (système global des autres heros).
   =========================================================== */
.elementor-element-2da782b {
    position: relative;
    width: 100%;
    overflow: hidden;
    background-color: #000;
    /* Hauteur cible : plein premier écran moins le header.
       Le header (.site-header) n'a ni logo ni titre visible
       (site-title en "hide"), seulement padding-block:1rem du
       thème — soit ~32px, calculé depuis son CSS, pas mesuré en
       direct dans un navigateur. 40px = marge de sécurité dessus.
       À ajuster ici si le header évolue (logo ajouté, etc.). */
    height: calc(100vh - 40px);
    height: calc(100svh - 40px);
    height: calc(100dvh - 40px);
    min-height: 420px;
}
/* CORRECTIF : le widget 607d2be est un item flex de 2da782b ; sa
   vidéo et son overlay sont en position:absolute (donc hors flux),
   ce qui laisse au widget lui-même une hauteur quasi nulle. On le
   force explicitement à occuper toute la surface du hero, sans
   dépendre du comportement flex implicite. .elementor-widget-container
   n'existe pas pour ce type de widget dans cette version d'Elementor
   (vérifié dans le HTML servi) mais la règle est posée par sécurité
   si Elementor l'ajoute un jour. */
.elementor-element-607d2be,
.elementor-element-607d2be > .elementor-widget-container {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}
.lhv-home-hero-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    pointer-events: none;
    z-index: 1;
}
.lhv-home-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(20,18,16,0.28), rgba(15,13,12,0.38));
    z-index: 2;
    pointer-events: none;
}
.elementor-element-c57f2f6 {
    position: relative;
    z-index: 5;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.lhv-home-hero-scroll {
    position: absolute;
    left: 50%;
    bottom: 28px;
    transform: translateX(-50%);
    z-index: 6;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    pointer-events: none;
}
.lhv-home-hero-scroll span {
    font-family: var(--font-corps);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #FFFFFF;
}
.lhv-home-hero-scroll-line {
    width: 1px;
    height: 46px;
    background: rgba(255,255,255,0.85);
}
@media (max-width: 1024px) {
    .elementor-element-2da782b {
        height: calc(100vh - 40px);
        height: calc(100svh - 40px);
        height: calc(100dvh - 40px);
        min-height: 520px;
    }
}
@media (max-width: 767px) {
    .elementor-element-2da782b { min-height: 480px; }
    .lhv-home-hero-scroll { bottom: 18px; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e99ab09 *//* Force le bandeau bleu à prendre toute la place et supprime les espaces */
.lhv-top-ribbon {
    width: 100vw !important;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    padding: 15px 0 !important;
}

/* On donne un peu d'air SOUS le slogan pour la hiérarchie */
.lhv-brand-identity {
    padding-bottom: 50px !important; 
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-faa3097 *//* ===========================================================
   ACCUEIL — Bloc institutionnel (identité + composition photo)
   Classes .lhv-home-intro* propres à ce widget/cette page.
   =========================================================== */
.elementor-element-9721b13,
.elementor-element-f2583cb,
.elementor-element-0cdc55b,
.elementor-element-ff71f4b {
    display: none !important;
}
.lhv-home-intro {
    max-width: 1300px;
    margin: 0 auto;
    padding: 60px 20px 85px 20px;
}

/* --- Bandeau identitaire centré --- */
.lhv-home-intro-brand {
    text-align: center;
    margin-bottom: 31px;
}
.lhv-home-intro-brand h1 {
    font-family: var(--font-titre);
    font-weight: 800;
    font-size: clamp(24px, 2.6vw, 32px);
    color: var(--alp-bleu);
    margin: 0 0 8px 0;
    line-height: 1.2;
}
.lhv-home-intro-stars {
    color: var(--alp-or);
    font-size: 18px;
    letter-spacing: 4px;
    margin-bottom: 8px;
}
.lhv-home-intro-tagline {
    font-family: var(--font-titre);
    font-style: italic;
    font-size: 17px;
    color: var(--alp-or);
    margin: 0 0 14px 0;
}
.lhv-home-intro-brand-rule {
    width: 60px;
    height: 1px;
    background: var(--alp-or);
    margin: 0 auto;
}

/* --- Composition 2 colonnes --- */
.lhv-home-intro-inner {
    display: grid;
    grid-template-columns: 46% 1fr;
    gap: 60px;
    align-items: start;
}
.lhv-home-intro-content {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.lhv-home-intro-header {
    display: flex;
    align-items: flex-start;
    gap: 18px;
}
.lhv-home-intro-bar {
    width: 3px;
    height: 50px;
    background: var(--alp-or);
    flex-shrink: 0;
    margin-top: 4px;
}
.lhv-home-intro-sub {
    display: block;
    font-family: var(--font-corps);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--alp-or);
    margin-bottom: 6px;
}
.lhv-home-intro-title {
    font-family: var(--font-titre);
    font-weight: 800;
    font-size: clamp(22px, 2.3vw, 29px);
    color: var(--alp-bleu);
    margin: 0;
    line-height: 1.2;
}
.lhv-title-break { display: block; }
.lhv-home-intro-text {
    font-family: var(--font-corps);
    font-size: 16px;
    line-height: 1.65;
    color: #555;
    margin: 0;
}
.lhv-home-intro-text strong { color: #333333; font-weight: 800; }

/* --- Bandeau avis --- */
.lhv-home-intro-reviews {
    display: flex;
    background: #FFFFFF;
    border-radius: 9px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.05);
    padding: 18px 10px;
    margin-top: 6px;
}
.lhv-home-intro-review {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 7px;
    border-left: 1px solid #EDEDED;
}
.lhv-home-intro-review:first-child { border-left: none; }
.lhv-home-intro-review-top {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 32px;
}
.lhv-home-intro-review-num {
    font-family: var(--font-corps);
    font-weight: 800;
    font-size: 19px;
    color: var(--alp-bleu);
    line-height: 1;
}
.lhv-home-intro-review-top img { width: auto; }
.lhv-home-intro-review-label {
    font-family: var(--font-corps);
    font-weight: 700;
    font-size: 9.5px;
    letter-spacing: 0.1em;
    color: #9AA5B1;
    text-transform: uppercase;
    white-space: nowrap;
}

/* --- Photo --- */
.lhv-home-intro-photo {
    width: 100%;
    height: 450px;
    border-radius: 9px;
    overflow: hidden;
}
.lhv-home-intro-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
    display: block;
}

@media (max-width: 1024px) {
    .lhv-home-intro-inner { grid-template-columns: 1fr; gap: 40px; }
    .lhv-home-intro-photo { height: 400px; }
    .lhv-title-break { display: none; }
}
@media (max-width: 767px) {
    .lhv-home-intro { padding: 45px 18px 60px 18px; }
    .lhv-home-intro-header { flex-direction: column; }
    .lhv-home-intro-photo { height: 300px; }
    .lhv-home-intro-reviews { flex-wrap: wrap; }
    .lhv-home-intro-review { min-width: 33%; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d27c892 *//* Force le bandeau bleu à prendre toute la place et supprime les espaces */
.lhv-top-ribbon {
    width: 100vw !important;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    padding: 15px 0 !important;
}

/* On donne un peu d'air SOUS le slogan pour la hiérarchie */
.lhv-brand-identity {
    padding-bottom: 50px !important; 
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-618a3a0 *//* --- BANDEAU AVIS COMPACT (PROPRE) --- */

.lhv-review-block {
    width: 100%;
    padding: 20px 0;
}

.lhv-review-inner {
    /* C'est ici qu'on "serre" le tout au centre */
    max-width: 600px; 
    margin: 0 auto;
    display: flex;
    justify-content: space-between; /* Espace égal entre les 3 */
    align-items: flex-start;
}

.lhv-item {
    display: flex;
    flex-direction: column;
    align-items: center; /* Centre le label sous le chiffre */
    text-align: center;
    flex: 1;
}

/* LA LIGNE DU HAUT (Chiffre + Logo) */
.lhv-top {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 40px; /* Force la hauteur pour que la ligne du bas soit droite */
    margin-bottom: 8px;
}

.lhv-num {
    font-family: 'Atkinson Hyperlegible', sans-serif;
    font-weight: 800;
    font-size: 22px; /* Taille pro, pas trop énorme */
    color: #005886;
    line-height: 1;
}

/* TAILLE DES LOGOS (Harmonisée) */
.img-g  { height: 18px; width: auto; }
.img-t  { height: 22px; width: auto; }
.img-tr { height: 35px; width: auto; } /* Le logo Travelski est plus haut par nature */

/* LE TEXTE EN DESSOUS (Alignement parfait) */
.lhv-label {
    font-family: 'Atkinson Hyperlegible', sans-serif;
    font-weight: 700;
    font-size: 10px;
    letter-spacing: 0.1em;
    color: #A0AEC0; /* Gris pro */
    text-transform: uppercase;
    white-space: nowrap; /* Empêche de revenir à la ligne */
}

/* MOBILE : On réduit encore plus pour que ça tienne */
@media (max-width: 600px) {
    .lhv-review-inner {
        max-width: 100%;
        gap: 10px;
    }
    .lhv-num { font-size: 18px; }
    .lhv-label { font-size: 8px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-84e8b35 *//* ===========================================================
   ACCUEIL — « Les atouts de la Résidence », 4 cartes (v2 finition)
   Classes .lhv-home-assets-* propres à ce widget/cette page.
   =========================================================== */
.elementor-element-4ea51c1,
.elementor-element-00b7048,
.elementor-element-424d6a0 {
    display: none !important;
}
.lhv-home-assets {
    max-width: 1300px;
    margin: 0 auto;
    padding: 80px 20px;
}
.lhv-home-assets-header {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 18px;
}
.lhv-home-assets-bar {
    width: 3px;
    height: 50px;
    background: var(--alp-or);
    flex-shrink: 0;
    margin-top: 4px;
}
.lhv-home-assets-sub {
    display: block;
    font-family: var(--font-corps);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--alp-or);
    margin-bottom: 6px;
}
.lhv-home-assets-title {
    font-family: var(--font-titre);
    font-weight: 800;
    font-size: clamp(28px, 3.2vw, 40px);
    color: var(--alp-bleu);
    margin: 0;
    line-height: 1.15;
}
.lhv-home-assets-intro {
    font-family: var(--font-corps);
    font-size: 17px;
    line-height: 1.6;
    color: #555;
    max-width: 820px;
    margin: 0 0 50px 0;
    text-align: left;
}
.lhv-home-assets-intro strong { color: #333333; font-weight: 800; }

.lhv-home-assets-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

/* Carte : overflow:visible obligatoire pour laisser déborder
   la pastille. Les coins arrondis sont gérés séparément par
   l'image (haut) et le contenu (bas), qui eux seuls clippent. */
.lhv-home-asset-card {
    position: relative;
    background: transparent;
    box-shadow: 0 10px 30px rgba(0,0,0,0.06);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    height: 410px;
    overflow: visible;
    transition: transform 0.45s ease, box-shadow 0.45s ease;
}
.lhv-home-asset-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(0,0,0,0.10);
}
.lhv-home-asset-image {
    position: relative;
    height: 200px;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 8px 8px 0 0;
}
.lhv-home-asset-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}
.lhv-home-asset-card:hover .lhv-home-asset-image img {
    transform: scale(1.035);
}

/* Pastille : enfant direct de la carte, jamais de la photo.
   top = hauteur image (200px) - rayon (30px) = 170px : reste
   toujours à cheval, quel que soit l'overflow de l'image. */
.lhv-home-asset-icon {
    position: absolute;
    left: 30px;
    top: 170px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 3px solid #FFFFFF;
    box-shadow: 0 6px 16px rgba(0,0,0,0.14);
    z-index: 3;
}
.lhv-home-asset-icon svg {
    width: 26px;
    height: 26px;
    fill: none;
    stroke: #FFFFFF;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.lhv-home-asset-icon.lhv-icon-blue { background: var(--alp-bleu); }
.lhv-home-asset-icon.lhv-icon-gold { background: var(--alp-or); }

.lhv-home-asset-content {
    flex: 1;
    background: #FFFFFF;
    border-radius: 0 0 8px 8px;
    display: flex;
    flex-direction: column;
    padding: 38px 24px 18px 24px;
    overflow: hidden;
}
.lhv-home-asset-content h3 {
    font-family: var(--font-titre);
    font-weight: 700;
    font-size: 21px;
    color: var(--alp-bleu);
    margin: 0 0 8px 0;
    line-height: 1.2;
}
.lhv-home-asset-rule {
    width: 36px;
    height: 2px;
    background: var(--alp-or);
    margin-bottom: 10px;
    flex-shrink: 0;
}
.lhv-home-asset-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.lhv-home-asset-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.lhv-home-asset-list svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    margin-top: 2px;
    fill: none;
    stroke: var(--alp-bleu);
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.lhv-home-asset-list span {
    font-family: var(--font-corps);
    font-size: 13.5px;
    line-height: 1.45;
    color: #333333;
}

@media (max-width: 1024px) {
    .lhv-home-assets-grid { grid-template-columns: repeat(2, 1fr); }
    .lhv-home-asset-card { height: auto; min-height: 400px; }
    .lhv-home-asset-content { overflow: visible; }
}
@media (max-width: 767px) {
    .lhv-home-assets { padding: 60px 18px; }
    .lhv-home-assets-grid { grid-template-columns: 1fr; gap: 26px; }
    .lhv-home-assets-title { font-size: 26px; }
    .lhv-home-asset-card { height: auto; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0196795 *//* ===========================================================
   ACCUEIL — « Équipements & services », composition photo 2 colonnes
   Classes .lhv-home-services* propres à ce widget/cette page.
   =========================================================== */
.elementor-element-500a4f0,
.elementor-element-bdde7d7 {
    display: none !important;
}
.lhv-home-services {
    max-width: 1300px;
    margin: 0 auto;
    padding: 85px 20px;
}
.lhv-home-services-inner {
    display: grid;
    grid-template-columns: 54% 1fr;
    gap: 64px;
    align-items: center;
    margin-bottom: 40px;
}

/* Visuel : overflow VISIBLE obligatoire pour laisser la vignette
   sauna déborder. Seul le wrapper de la grande photo (.pool)
   gère son propre clipping. */
.lhv-home-services-visual {
    position: relative;
    overflow: visible;
}
.lhv-home-services-pool {
    position: relative;
    width: 100%;
    height: 520px;
    border-radius: 9px;
    overflow: hidden;
    transition: transform 0.55s ease;
}
.lhv-home-services-pool img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 42%;
    display: block;
}
.lhv-home-services-visual:hover .lhv-home-services-pool {
    transform: scale(1.025);
}
.lhv-home-services-sauna {
    position: absolute;
    right: -18px;
    bottom: -38px;
    width: 40%;
    aspect-ratio: 4 / 3;
    border-radius: 11px;
    overflow: hidden;
    border: 4px solid #FFFFFF;
    box-shadow: 0 14px 34px rgba(0,0,0,0.16);
    transition: transform 0.5s ease, box-shadow 0.5s ease;
    z-index: 2;
}
.lhv-home-services-sauna img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.lhv-home-services-visual:hover .lhv-home-services-sauna {
    transform: translateY(-3px);
    box-shadow: 0 18px 38px rgba(0,0,0,0.2);
}

.lhv-home-services-content {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.lhv-home-services-header {
    display: flex;
    align-items: flex-start;
    gap: 18px;
}
.lhv-home-services-bar {
    width: 3px;
    height: 50px;
    background: var(--alp-or);
    flex-shrink: 0;
    margin-top: 4px;
}
.lhv-home-services-sub {
    display: block;
    font-family: var(--font-corps);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--alp-or);
    margin-bottom: 6px;
}
.lhv-home-services-title {
    font-family: var(--font-titre);
    font-weight: 800;
    font-size: clamp(28px, 3vw, 38px);
    color: var(--alp-bleu);
    margin: 0;
    line-height: 1.15;
}
.lhv-home-services-intro {
    font-family: var(--font-corps);
    font-size: 16.5px;
    line-height: 1.6;
    color: #555;
    margin: 0;
}
.lhv-home-services-intro strong { color: #333333; font-weight: 800; }

.lhv-home-services-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
    background: var(--alp-or);
    color: #FFFFFF !important;
    font-family: var(--font-titre);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none !important;
    padding: 16px 32px;
    border-radius: 50px;
    transition: background 0.3s ease;
}
.lhv-home-services-cta:hover { background: #d4a048; }
.lhv-home-services-cta svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: #FFFFFF;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 0.3s ease;
}
.lhv-home-services-cta:hover svg { transform: translateX(3px); }

.lhv-home-services-lists {
    display: flex;
    gap: 60px;
    margin-top: 6px;
}
.lhv-home-services-list h4 {
    font-family: var(--font-corps);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--alp-bleu);
    margin: 0 0 8px 0;
}
.lhv-home-services-rule {
    width: 32px;
    height: 2px;
    background: var(--alp-or);
    margin-bottom: 12px;
}
.lhv-home-services-list ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.lhv-home-services-list li {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-family: var(--font-corps);
    font-size: 14.5px;
    line-height: 1.4;
    color: #333333;
}
.lhv-home-services-list li::before {
    content: '/';
    color: var(--alp-or);
    font-weight: 800;
    font-size: 17px;
    line-height: 1;
}
.lhv-home-services-list li strong { color: #222222; font-weight: 800; }

@media (max-width: 1024px) {
    .lhv-home-services-inner { grid-template-columns: 1fr; gap: 50px; }
    .lhv-home-services-pool { height: 440px; }
}
@media (max-width: 767px) {
    .lhv-home-services { padding: 60px 18px; }
    .lhv-home-services-pool { height: 320px; }
    .lhv-home-services-sauna { width: 44%; right: -10px; bottom: -26px; border-width: 3px; }
    .lhv-home-services-inner { margin-bottom: 34px; gap: 40px; }
    .lhv-home-services-title { font-size: 26px; }
    .lhv-home-services-lists { flex-wrap: wrap; gap: 30px 50px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-cb92b25 *//* ===========================================================
   ACCUEIL — « Nos appartements à Valmeinier », 3 grandes cartes
   Classes .lhv-home-apartment* propres à ce widget/cette page.
   =========================================================== */
.elementor-element-67c970d,
.elementor-element-e7552fd,
.elementor-element-c26036d {
    display: none !important;
}
.lhv-home-apartments {
    max-width: 1300px;
    margin: 0 auto;
    padding: 10px 20px 80px 20px;
}
.lhv-home-apartments-header {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 18px;
}
.lhv-home-apartments-bar {
    width: 3px;
    height: 50px;
    background: var(--alp-or);
    flex-shrink: 0;
    margin-top: 4px;
}
.lhv-home-apartments-sub {
    display: block;
    font-family: var(--font-corps);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--alp-or);
    margin-bottom: 6px;
}
.lhv-home-apartments-title {
    font-family: var(--font-titre);
    font-weight: 800;
    font-size: clamp(28px, 3.2vw, 40px);
    color: var(--alp-bleu);
    margin: 0;
    line-height: 1.15;
}
.lhv-home-apartments-intro {
    font-family: var(--font-corps);
    font-size: 17px;
    line-height: 1.6;
    color: #555;
    max-width: 820px;
    margin: 0 0 26px 0;
    text-align: left;
}
.lhv-home-apartments-intro strong { color: #333333; font-weight: 800; }

.lhv-home-apartments-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.lhv-home-apartment-card {
    position: relative;
    background: #FFFFFF;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.07);
    display: flex;
    flex-direction: column;
    height: 480px;
    overflow: hidden;
    transition: transform 0.45s ease, box-shadow 0.45s ease;
}
.lhv-home-apartment-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 42px rgba(0,0,0,0.12);
}
.lhv-home-apartment-photo {
    position: relative;
    height: 260px;
    flex-shrink: 0;
    overflow: hidden;
}
.lhv-home-apartment-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}
.lhv-home-apartment-card:hover .lhv-home-apartment-photo img {
    transform: scale(1.03);
}
.lhv-home-apartment-badge {
    position: absolute;
    top: 18px;
    left: 18px;
    background: var(--alp-bleu);
    color: #FFFFFF;
    font-family: var(--font-corps);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 8px 16px;
    border-radius: 30px;
    border: 1.5px solid rgba(255,255,255,0.65);
    box-shadow: 0 6px 16px rgba(0,0,0,0.18);
    z-index: 2;
}

.lhv-home-apartment-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 22px 24px 22px 24px;
}
.lhv-home-apartment-specs {
    display: flex;
    align-items: center;
    gap: 14px;
}
.lhv-home-apartment-specs .lhv-spec {
    display: flex;
    align-items: center;
    gap: 8px;
}
.lhv-home-apartment-specs svg {
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    fill: none;
    stroke: var(--alp-bleu);
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.lhv-home-apartment-specs span {
    font-family: var(--font-corps);
    font-size: 14.5px;
    font-weight: 700;
    color: var(--alp-bleu);
}
.lhv-home-apartment-divider {
    width: 1px;
    height: 22px;
    background: #DDDDDD;
    flex-shrink: 0;
}
.lhv-home-apartment-rule {
    width: 38px;
    height: 2px;
    background: var(--alp-or);
    margin: 14px 0 12px 0;
    flex-shrink: 0;
}
.lhv-home-apartment-desc {
    font-family: var(--font-corps);
    font-size: 14px;
    line-height: 1.5;
    color: #333333;
    margin: 0;
}
.lhv-home-apartment-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    background: var(--alp-or);
    color: #FFFFFF !important;
    font-family: var(--font-corps);
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none !important;
    padding: 13px 24px;
    border-radius: 30px;
    margin-top: auto;
    transition: background 0.3s ease;
}
.lhv-home-apartment-cta:hover { background: #C99A44; }
.lhv-home-apartment-cta svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: #FFFFFF;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 0.3s ease;
}
.lhv-home-apartment-cta:hover svg { transform: translateX(3px); }

@media (max-width: 1024px) {
    .lhv-home-apartments-grid { grid-template-columns: 1fr; max-width: 560px; margin: 0 auto; }
    .lhv-home-apartment-card { height: auto; }
    .lhv-home-apartment-content { padding-bottom: 26px; }
}
@media (max-width: 767px) {
    .lhv-home-apartments { padding: 10px 18px 60px 18px; }
    .lhv-home-apartments-title { font-size: 26px; }
    .lhv-home-apartment-photo { height: 220px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6f282fa *//* --- SECTION STATION AVEC PARALLAXE (v2 — panneau vitré, stats sans cartes) --- */

.lhv-station-parallax {
    position: relative;
    width: 100%;
    min-height: 540px;
    padding: 70px 20px;
    background-image: url('https://dev.leshautsdevalmeinier.fr/wp-content/uploads/2026/09/ilia-bronskiy-3Ha_X6JlfdE-unsplash.jpg');
    background-attachment: fixed;
    background-size: cover;
    background-position: center 60%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: visible;
}

.lhv-bg-square {
    position: absolute;
    width: 100px;
    height: 100px;
    background-color: #005886;
    left: calc(50% - 580px);
    bottom: 90px;
    z-index: 1;
}

/* Panneau : fond blanc très translucide + flou, un seul cadre,
   pas de multiplication d'encadrements. */
.lhv-station-content {
    position: relative;
    z-index: 2;
    background: rgba(255, 255, 255, 0.32);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    max-width: 1300px;
    width: 100%;
    padding: 48px 60px;
    display: flex;
    gap: 50px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.08);
    align-items: center;
}

.lhv-text-col { flex: 0 0 44%; }

.lhv-title {
    font-family: 'Fraunces', serif;
    font-weight: 800;
    font-size: 36px;
    color: #005886;
    line-height: 1.2;
    margin-bottom: 25px;
    border-left: 5px solid #E2B15A;
    padding-left: 25px;
}

.lhv-gold { color: #E2B15A; }

.lhv-description {
    font-family: 'Atkinson Hyperlegible', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #555;
    margin-bottom: 30px;
}

/* --- Statistiques : plus de cartes blanches. Grille aérienne
   intégrée directement au panneau, séparateurs très fins. --- */
.lhv-station-stats {
    position: relative;
    flex: 0 0 52%;
    margin-left: auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 28px;
    column-gap: 30px;
}
.lhv-station-stats::before {
    content: '';
    position: absolute;
    top: 4px;
    bottom: 4px;
    left: 50%;
    width: 1px;
    background: rgba(0, 88, 134, 0.16);
}
.lhv-station-stats::after {
    content: '';
    position: absolute;
    left: 4px;
    right: 4px;
    top: 50%;
    height: 1px;
    background: rgba(0, 88, 134, 0.16);
}
.lhv-station-stat {
    display: flex;
    align-items: center;
    gap: 14px;
}
.lhv-station-stat svg {
    width: 34px;
    height: 34px;
    flex-shrink: 0;
    fill: none;
    stroke: var(--alp-or);
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.lhv-station-stat-num {
    display: block;
    font-family: 'Fraunces', serif;
    font-weight: 800;
    font-size: 27px;
    color: var(--alp-or);
    line-height: 1.15;
}
.lhv-station-stat-label {
    display: block;
    font-family: 'Atkinson Hyperlegible', sans-serif;
    font-weight: 700;
    font-size: 10.5px;
    color: #005886;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.4;
    margin-top: 2px;
}

@media (max-width: 1024px) {
    .lhv-station-content { flex-direction: column; padding: 40px; }
    .lhv-text-col { flex: none; width: 100%; }
    .lhv-station-stats { flex: none; width: 100%; margin-left: 0; }
    .lhv-bg-square { display: none; }
}
@media (max-width: 560px) {
    .lhv-station-stats { grid-template-columns: 1fr; }
    .lhv-station-stats::before { display: none; }
    .lhv-station-stats::after { display: none; }
    .lhv-station-stat { padding-bottom: 16px; border-bottom: 1px solid rgba(0,88,134,0.14); }
    .lhv-station-stat:last-child { border-bottom: none; padding-bottom: 0; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-449824a *//* ===========================================================
   ACCUEIL — « Nos offres bons plans ski », 3 grandes cartes photo
   Classes .lhv-home-offer* propres à ce widget/cette page.
   Ancien carousel (cb1eda5 / 1abee1b / template 233) neutralisé
   ci-dessous, non supprimé.
   =========================================================== */
.elementor-element-55ec4df,
.elementor-element-cb1eda5 {
    display: none !important;
}
.lhv-home-offers {
    max-width: 1300px;
    margin: 0 auto;
    padding: 80px 20px;
}
.lhv-home-offers-header {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 34px;
}
.lhv-home-offers-bar {
    width: 3px;
    height: 50px;
    background: var(--alp-or);
    flex-shrink: 0;
    margin-top: 4px;
}
.lhv-home-offers-sub {
    display: block;
    font-family: var(--font-corps);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--alp-or);
    margin-bottom: 6px;
}
.lhv-home-offers-title {
    font-family: var(--font-titre);
    font-weight: 800;
    font-size: clamp(28px, 3.2vw, 40px);
    color: var(--alp-bleu);
    margin: 0;
    line-height: 1.15;
}

.lhv-home-offers-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.lhv-home-offer-card {
    position: relative;
    display: block;
    height: 420px;
    border-radius: 9px;
    overflow: hidden;
    box-shadow: 0 10px 28px rgba(0,0,0,0.10);
    text-decoration: none !important;
    color: inherit;
    transition: box-shadow 0.5s ease;
}
.lhv-home-offer-card:hover {
    box-shadow: 0 18px 40px rgba(0,0,0,0.16);
}
.lhv-home-offer-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}
.lhv-home-offer-card:hover .lhv-home-offer-image {
    transform: scale(1.03);
}
/* Dégradé adouci : démarre très haut avec une opacité quasi nulle,
   monte progressivement par paliers rapprochés (même teinte de base
   partout, seule l'opacité varie) pour effacer toute rupture visible. */
.lhv-home-offer-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom,
        rgba(6,10,16,0) 15%,
        rgba(6,10,16,0.05) 35%,
        rgba(6,10,16,0.16) 52%,
        rgba(6,10,16,0.38) 68%,
        rgba(6,10,16,0.62) 82%,
        rgba(6,10,16,0.85) 100%);
    transition: opacity 0.5s ease;
}
.lhv-home-offer-card:hover .lhv-home-offer-overlay {
    opacity: 1.08;
}
.lhv-home-offer-badge-row {
    position: absolute;
    top: 18px;
    left: 18px;
    right: 18px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    z-index: 2;
}
.lhv-home-offer-badge {
    background: var(--alp-or);
    color: #FFFFFF;
    font-family: var(--font-corps);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 7px 14px;
    border-radius: 30px;
}
.lhv-home-offer-badge.lhv-badge-neutral {
    background: var(--alp-bleu);
}
.lhv-home-offer-price {
    background: rgba(255,255,255,0.95);
    color: var(--alp-bleu);
    font-family: var(--font-corps);
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    padding: 7px 14px;
    border-radius: 30px;
}
.lhv-home-offer-content {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    height: 178px;
    display: flex;
    flex-direction: column;
    padding: 26px 26px 24px 26px;
    transition: transform 0.5s ease;
}
.lhv-home-offer-card:hover .lhv-home-offer-content {
    transform: translateY(-4px);
}
.lhv-home-offer-rule {
    width: 32px;
    height: 2px;
    background: var(--alp-or);
    margin-bottom: 10px;
    flex-shrink: 0;
}
.lhv-home-offer-title {
    font-family: var(--font-titre);
    font-weight: 700;
    font-size: 22px;
    color: #FFFFFF;
    margin: 0 0 8px 0;
    line-height: 1.25;
}
.lhv-home-offer-text {
    font-family: var(--font-corps);
    font-size: 13.5px;
    line-height: 1.5;
    color: rgba(255,255,255,0.82);
    margin: 0;
}
.lhv-home-offer-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    border: 1.5px solid rgba(255,255,255,0.75);
    color: #FFFFFF;
    font-family: var(--font-corps);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 11px 20px;
    border-radius: 30px;
    margin-top: auto;
}
.lhv-home-offer-cta svg {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: #FFFFFF;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 0.3s ease;
}
.lhv-home-offer-card:hover .lhv-home-offer-cta svg { transform: translateX(3px); }

@media (max-width: 1024px) {
    .lhv-home-offers-grid { grid-template-columns: repeat(2, 1fr); }
    .lhv-home-offer-card:nth-child(3) { grid-column: 1 / span 2; max-width: calc(50% - 12px); margin: 0 auto; }
}
@media (max-width: 767px) {
    .lhv-home-offers { padding: 60px 18px; }
    .lhv-home-offers-grid { grid-template-columns: 1fr; gap: 20px; }
    .lhv-home-offer-card { height: 380px; }
    .lhv-home-offer-card:nth-child(3) { grid-column: auto; max-width: 100%; }
}/* End custom CSS */
/* Start custom CSS for loop-carousel, class: .elementor-element-1abee1b *//* --- 1. LE CARRÉ (centré sur le coin de la carte) --- */

.lhv-loop-item {
    position: relative;
    padding: 25px !important; 
    z-index: 1;
    overflow: visible !important; 
    height: 100%;
}

.lhv-loop-item::after {
    content: '';
    position: absolute;
    width: 80px;
    height: 80px;
    background-color: #E2B15A;
    bottom: -15px;
    right: -15px;
    z-index: -1;
    border-radius: 2px;
    transition: all 0.4s ease-in-out;
}

.lhv-loop-item:hover::after {
    background-color: #005886;
}

.elementor-widget-loop-carousel {
    padding: 0 40px;
}

.elementor-swiper-button {
    background-color: #FFFFFF !important;
    width: 45px !important;
    height: 45px !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease !important;
}

.elementor-swiper-button-prev {
    left: -20px !important;
}

.elementor-swiper-button-next {
    right: -20px !important;
}

.elementor-swiper-button i, 
.elementor-swiper-button svg {
    color: #000000 !important;
    fill: #000000 !important;
    width: 15px !important;
}

.elementor-swiper-button:hover {
    background-color: #FFFFFF !important;
    transform: scale(1.1);
    box-shadow: 0 6px 20px rgba(0,0,0,0.15) !important;
}

.elementor-swiper-pagination {
    display: none !important;
}

.lhv-loop-card {
    background: #FFFFFF;
    border-radius: 4px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    overflow: hidden;
    transition: transform 0.4s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.lhv-loop-item:hover .lhv-loop-card {
    transform: translateY(-10px);
}

.swiper-slide {
    height: auto !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-163c10a *//* ===========================================================
   ACCUEIL — « Le Mag », carrousel éditorial dynamique
   Classes .lhv-mag* propres à ce widget/cette page — instance
   dédiée, séparée du système .lhv-slide-* de Services (non
   touché), même mécanique reproduite localement.
   =========================================================== */
.elementor-element-c4f1f22,
.elementor-element-377be63,
.elementor-element-9c8b475,
.elementor-element-0b2b2b0 {
    display: none !important;
}
.lhv-mag-top {
    max-width: 1300px;
    margin: 0 auto;
    padding: 80px 20px 0 20px;
}
.lhv-mag-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 16px;
}
.lhv-mag-header-left {
    display: flex;
    align-items: flex-start;
    gap: 18px;
}
.lhv-mag-bar {
    width: 3px;
    height: 50px;
    background: var(--alp-or);
    flex-shrink: 0;
    margin-top: 4px;
}
.lhv-mag-sub {
    display: block;
    font-family: var(--font-corps);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--alp-or);
    margin-bottom: 6px;
}
.lhv-mag-title {
    font-family: var(--font-titre);
    font-weight: 800;
    font-size: clamp(28px, 3.2vw, 40px);
    color: var(--alp-bleu);
    margin: 0;
    line-height: 1.15;
}
.lhv-mag-all-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-corps);
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--alp-or);
    text-decoration: none;
    white-space: nowrap;
    padding-bottom: 4px;
}
.lhv-mag-all-link svg {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: var(--alp-or);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 0.3s ease;
}
.lhv-mag-all-link:hover svg { transform: translateX(3px); }
.lhv-mag-intro {
    font-family: var(--font-corps);
    font-size: 16px;
    line-height: 1.6;
    color: #555;
    max-width: 900px;
    margin: 0 0 34px 0;
}

/* --- Carrousel horizontal (instance dédiée Le Mag) — MÉCANIQUE
   HORIZONTALE NON TOUCHÉE DANS CETTE PASSE --- */
.lhv-mag-slide-wrap {
    position: relative;
}
.lhv-mag-slide-track {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    overflow-x: auto;
    scroll-behavior: smooth;
    -ms-overflow-style: none;
    scrollbar-width: none;
    padding: 4px 20px 30px max(20px, calc((100vw - 1300px) / 2));
}
.lhv-mag-slide-track::-webkit-scrollbar { display: none; }

/* --- Carte : un seul objet, arrondi + overflow:hidden conservés.
   Ombre très légère, pas de bordure. --- */
.lhv-mag-slide-item {
    flex: 0 0 380px;
    width: 380px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    background: #FFFFFF;
    border-radius: 9px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(10, 38, 55, 0.07);
    text-decoration: none !important;
    color: inherit;
    transition: box-shadow 0.5s ease;
}
.lhv-mag-slide-item:hover {
    box-shadow: 0 14px 30px rgba(10, 38, 55, 0.11);
}

/* Photo : reste fixe à 230px, sert d'ancre au badge */
.lhv-mag-slide-image {
    position: relative;
    height: 230px;
    flex: 0 0 230px;
    overflow: hidden;
    background: #EDE7DD;
}
.lhv-mag-slide-image img,
.lhv-mag-slide-image-empty {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}
.lhv-mag-slide-item:hover .lhv-mag-slide-image img {
    transform: scale(1.025);
}

/* Badge : pastille OR en superposition sur la photo */
.lhv-mag-slide-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    background: var(--alp-or);
    color: #FFFFFF;
    font-family: var(--font-corps);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 6px 13px;
    border-radius: 30px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

/* Corps : aplat ivoire clair pour se distinguer du fond blanc de
   la section (même teinte "beige" déjà utilisée ailleurs sur le
   site pour les sections/bandeaux). Hauteur naturelle, pas de
   bordure. */
.lhv-mag-slide-body {
    background: #F6F0E9;
    display: flex;
    flex-direction: column;
    padding: 22px 22px 22px 22px;
}
.lhv-mag-slide-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-family: var(--font-titre);
    font-weight: 700;
    font-size: 18px;
    line-height: 1.3;
    color: var(--alp-bleu);
    margin: 0 0 8px 0;
}
.lhv-mag-slide-desc {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-family: var(--font-corps);
    font-size: 13px;
    line-height: 1.5;
    color: #777;
    margin: 0 0 12px 0;
}
/* CTA : suit naturellement le contenu, ~12-16px après le titre */
.lhv-mag-slide-cta {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    font-family: var(--font-corps);
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--alp-bleu);
    margin-top: 14px;
}
.lhv-mag-slide-cta svg {
    width: 13px;
    height: 13px;
    fill: none;
    stroke: var(--alp-bleu);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 0.3s ease;
}
.lhv-mag-slide-item:hover .lhv-mag-slide-cta svg { transform: translateX(3px); }

.lhv-mag-slide-pill {
    position: absolute;
    top: 100px;
    left: 50%;
    transform: translateX(-50%);
    background: #FFFFFF;
    border-radius: 50px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.18);
    display: flex;
    align-items: center;
    z-index: 6;
    opacity: 0;
    transition: opacity 0.25s ease;
    pointer-events: none;
}
.lhv-mag-slide-wrap:hover .lhv-mag-slide-pill {
    opacity: 1;
    pointer-events: auto;
}
.lhv-mag-slide-pill button {
    background: none !important;
    border: none !important;
    border-radius: 50% !important;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--alp-bleu) !important;
    outline: none !important;
    appearance: none !important;
}
.lhv-mag-slide-pill button:hover,
.lhv-mag-slide-pill button:focus,
.lhv-mag-slide-pill button:active {
    background: var(--alp-bleu) !important;
    color: #FFFFFF !important;
    border-radius: 50% !important;
}
.lhv-mag-slide-pill button svg { width: 17px; height: 17px; }
.lhv-mag-slide-pill .divider { width: 1px; height: 22px; background: #eee; }

@media (max-width: 1024px) {
    .lhv-mag-slide-item { flex: 0 0 300px; width: 300px; }
    .lhv-mag-slide-image { height: 190px; flex: 0 0 190px; }
    .lhv-mag-slide-pill { top: 82px; }
}
@media (max-width: 767px) {
    .lhv-mag-top { padding: 60px 18px 0 18px; }
    .lhv-mag-slide-item { flex: 0 0 78%; width: 78%; }
    .lhv-mag-slide-track { padding-left: 18px; }
}/* End custom CSS */
/* Start custom CSS for loop-carousel, class: .elementor-element-a684625 *//* --- LE MAG : carré centré sur le coin de la carte --- */

.lhv-mag-item {
    position: relative;
    padding: 25px !important;
    z-index: 1;
    overflow: visible !important;
    height: 100%;
    width: 100%;
}

.lhv-mag-item::after {
    content: '';
    position: absolute;
    width: 80px;
    height: 80px;
    background-color: #d1e1ea;
    bottom: -15px;
    right: -15px;
    z-index: -1;
    border-radius: 2px;
    transition: all 0.4s ease;
}

.lhv-mag-item:hover::after {
    background-color: #005886;
}

.lhv-mag-img img {
    transition: transform 0.8s ease !important;
    border-radius: 4px;
}

.lhv-mag-item:hover .lhv-mag-img img {
    transform: scale(1.08);
}

.elementor-swiper-button {
    background-color: #FFFFFF !important;
    width: 45px !important;
    height: 45px !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.elementor-swiper-button-prev { left: -25px !important; }
.elementor-swiper-button-next { right: -25px !important; }

.elementor-swiper-button i {
    color: #000000 !important;
    font-size: 16px !important;
}

.elementor-swiper-pagination {
    display: none !important;
}

.lhv-mag-card {
    position: relative;
    z-index: 2;
    background-color: #FFFFFF;
    border-radius: 4px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    overflow: hidden;
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.lhv-mag-item:hover .lhv-mag-card {
    transform: translateY(-10px);
    transition: transform 0.4s ease;
}

.swiper-slide {
    height: auto !important;
}/* End custom CSS */