/* Accueil : blocs natifs WPBakery, réservations et chalets dynamiques conservés. */
.beldina-home,.beldina-home *,.beldina-hero { box-sizing:border-box; }
.vc_row.beldina-home { max-width:1240px; width:calc(100% - 40px); margin-left:auto!important; margin-right:auto!important; }
.beldina-home .wpb_content_element { margin-bottom:0; }
.beldina-home h2 { color:#153745; font-size:clamp(32px,3.2vw,45px); font-weight:500; line-height:1.15; letter-spacing:-1.2px; margin:0 0 24px; }
.beldina-home h3 { color:#153745; font-size:24px; font-weight:500; line-height:1.25; letter-spacing:-.5px; margin:0 0 16px; }
.beldina-home p { font-size:16px; line-height:1.8; color:#53656b; margin:0 0 20px; }
.beldina-home p:last-child { margin-bottom:0; }
.beldina-home .home-eyebrow { text-transform:uppercase; letter-spacing:2px; font-size:11px; color:#70806c; margin-bottom:18px; }
.beldina-home .home-button { margin:10px 0 0; }
.beldina-home .home-button .vc_btn3 { background:#153745!important; color:white!important; border:0!important; border-radius:9px; padding:17px 24px; font-size:14px; font-family:inherit; }
.beldina-home .home-button .vc_btn3:hover { background:#244f59!important; }
/* Diaporama immersif : les quatre photos et les commandes du thème. */
body.page-id-84 .beldina-hero { padding:0!important; margin:0!important; background:transparent!important; }
body.page-id-84 .beldina-hero .flexslider { margin:0; border:0; border-radius:0; }
body.page-id-84 .beldina-hero .slides > li { height:clamp(490px,calc(100svh - 170px),760px)!important; }
body.page-id-84 .beldina-hero .sohohotel-slide-image { background-position:center; }
body.page-id-84 .beldina-hero .sohohotel-slider-overlay { background:linear-gradient(90deg,rgba(12,35,43,.70),rgba(12,35,43,.28) 65%,rgba(12,35,43,.08))!important; opacity:1!important; }
body.page-id-84 .beldina-hero .sohohotel-slider-caption-3 { top:50%; left:50%; width:calc(100% - 100px); max-width:1210px; margin:0; padding:0; transform:translate(-50%,-50%); text-align:left; }
body.page-id-84 .beldina-hero .sohohotel-slider-caption-3 h2 { font-family:inherit; font-size:clamp(38px,4.6vw,68px); font-weight:500; line-height:1.05; letter-spacing:-1.8px; text-align:left; max-width:740px; margin:0 0 24px; color:white; padding:0; text-shadow:none; }
body.page-id-84 .beldina-hero .sohohotel-slider-caption-3 h2:after { display:none; }
body.page-id-84 .beldina-hero .sohohotel-slider-caption-3 p { font-family:inherit; font-size:clamp(16px,1.6vw,22px); color:#f2f4ef; line-height:1.5; max-width:700px; text-align:left; margin:0 0 28px; }
body.page-id-84 .beldina-hero .sohohotel-slider-button { border-radius:9px; background:#eadac0; color:#153745; padding:16px 26px; font-size:14px; font-weight:500; margin:0; border:0; box-shadow:none; transition:background .2s; }
body.page-id-84 .beldina-hero .sohohotel-slider-button:hover { background:#f5e9d7; }
body.page-id-84 .beldina-hero .flex-direction-nav a { border:1px solid #ffffff80; background:#15374565; border-radius:50%; width:44px; height:44px; opacity:1; top:auto; bottom:32px; margin:0; text-shadow:none; }
body.page-id-84 .beldina-hero .flex-direction-nav .flex-prev { left:auto; right:calc(max(50px,(100vw - 1210px)/2) + 58px); }
body.page-id-84 .beldina-hero .flex-direction-nav .flex-next { right:max(50px,calc((100vw - 1210px)/2)); }
body.page-id-84 .beldina-hero .flex-direction-nav a:before { font-size:17px; color:#fff; line-height:44px; }
.beldina-slide-pause { position:absolute; bottom:32px; right:calc(max(50px,(100vw - 1210px)/2) + 116px); z-index:20; height:44px; padding:0 18px; border-radius:25px; border:1px solid #ffffff80; background:#15374565; color:white; font-family:inherit; font-size:13px; line-height:1; cursor:pointer; }
/* Le formulaire reste celui du moteur de réservation. */
body.page-id-84 .beldina-hero .shb-booking-form-style-1 { position:relative; top:auto; bottom:auto; left:auto; transform:none; width:calc(100% - 70px); max-width:1210px; margin:24px auto 0; padding:15px; background:#f2f4ed; border:1px solid #e1e7dd; border-radius:15px; box-shadow:none; display:grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:5px; }
body.page-id-84 .beldina-hero .shb-booking-form-style-1:after { display:none; }
body.page-id-84 .beldina-hero .shb-booking-form-col { width:auto; float:none; margin:0; padding:12px 15px; border:0; background:transparent; }
body.page-id-84 .beldina-hero .shb-booking-form-col-field label { font-size:11px; letter-spacing:1px; text-transform:uppercase; color:#65766c; margin-bottom:8px; }
body.page-id-84 .beldina-hero .shb-booking-form-col-field span { color:#153745; font-size:15px; }
body.page-id-84 .beldina-hero .shb-booking-form-col i { color:#153745; font-size:18px; }
body.page-id-84 .beldina-hero .shb-booking-form-col:last-child { padding:4px; display:flex; align-items:stretch; }
body.page-id-84 .beldina-hero .shb-booking-form-col input[type=submit] { background:#153745; color:white; border:0; border-radius:9px; font-size:14px; padding:20px 12px; width:100%; margin:0; }
.vc_row.home-welcome { padding:85px 0 60px; border-bottom:1px solid #e4e9df; }
.home-welcome > .wpb_column:first-child > .vc_column-inner { padding-right:55px; }
.home-welcome h2 { max-width:410px; }
.home-welcome-copy p:first-child { color:#153745; font-size:18px; }
/* Chalets : données issues des fiches existantes. */
.vc_row.home-chalets { padding:55px 20px 35px; border-radius:19px; background:#f2f4ed; margin-top:15px; margin-bottom:65px; }
.home-chalets .home-section-heading { padding:0 5px 28px; }
.home-chalets .home-section-heading p:last-child { max-width:770px; }
.home-chalets .shb-accommodation-listing-item { background:white; border-radius:14px; overflow:hidden; border:1px solid #e3e8df; }
.home-chalets .shb-accommodation-listing-image { width:100%; height:320px; object-fit:cover; display:block; transition:transform .6s; }
.home-chalets .shb-accommodation-listing-item > a { display:block; overflow:hidden; }
.home-chalets .shb-accommodation-listing-item > a:hover img { transform:scale(1.025); }
.home-chalets .shb-accommodation-listing-description-wrapper { padding:27px!important; border:0!important; }
.home-chalets .shb-accommodation-listing-description-wrapper h3 { margin:0 0 18px; font-size:30px; }
.home-chalets .shb-accommodation-listing-description-wrapper h3 a { color:#153745; }
.home-chalets .shb-accommodation-listing-description-wrapper h3 a:after { display:none; }
.home-chalets .shb-accommodation-listing-description li { font-size:14px; color:#53656b; }
.home-chalets .shb-accommodation-listing-button1 { color:#153745!important; font-size:15px; }
.home-chalets .shb-accommodation-listing-button2 { background:#153745!important; color:white!important; border-radius:8px; font-size:13px; padding:13px 17px!important; }
.home-chalets .owl-nav button { border-radius:50%; }
/* Film et citation, une seule composition. */
.vc_row.home-quote { border-radius:19px; background:#f7f7f1; overflow:hidden; padding:28px 14px; margin-bottom:15px; }
.home-quote .home-quote-copy > .vc_column-inner { padding:25px 30px 25px 35px; }
.home-quote h2 { font-size:clamp(29px,2.6vw,38px); }
.home-quote blockquote { border:0; background:none; margin:0; padding:0; }
.home-quote blockquote p { font-size:18px; line-height:1.8; font-style:normal; }
.home-quote .home-signature { margin-top:25px; font-size:13px; color:#70806c; padding-top:18px; border-top:1px solid #dbe2d3; }
.home-film .wp-video,.home-film .mejs-container { max-width:100%; border-radius:12px; overflow:hidden; }
.home-film .wp-video { width:100%!important; }
/* Prestations, cartes sobres et pictogrammes. */
.vc_row.home-services-heading { padding:0 0 10px; }
.vc_row.home-services { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; padding:0 15px 70px; }
.vc_row.home-services:before,.vc_row.home-services:after { display:none; }
.home-services > .wpb_column { width:auto; float:none; }
.home-services > .wpb_column > .vc_column-inner { padding:25px 20px; background:#f7f7f1; border:1px solid #e3e8df; border-radius:14px; height:100%; transition:background .2s,transform .2s; }
.home-services > .wpb_column:hover > .vc_column-inner { background:#f0f3e9; transform:translateY(-3px); }
.home-services h3 { font-size:21px; }
.home-services p { font-size:14px; line-height:1.75; }
.home-services .home-service-icon { width:46px; height:46px; border-radius:50%; background:#e5ebdb; display:grid; place-items:center; margin:0 0 24px; color:#53664c; font-size:19px; }
.beldina-home a:focus-visible,.beldina-hero a:focus-visible,.beldina-hero button:focus-visible,.beldina-hero input:focus-visible { outline:3px solid #b29262; outline-offset:4px; }
@media(max-width:1090px) {
 .vc_row.home-services { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .home-services > .wpb_column:last-child { grid-column:1/-1; }
 .home-chalets .shb-accommodation-listing-image { height:255px; }
 .home-welcome > .wpb_column:first-child > .vc_column-inner { padding-right:25px; }
 .home-quote .home-quote-copy > .vc_column-inner { padding:15px 15px 15px 20px; }
 .home-quote blockquote p { font-size:16px; }
}
@media(max-width:767px) {
 .vc_row.beldina-home { width:calc(100% - 30px); }
 .beldina-home h2 { font-size:32px; }
 .beldina-home p { font-size:15px; }
 body.page-id-84 .beldina-hero .slides > li { height:520px!important; }
 body.page-id-84 .beldina-hero .sohohotel-slider-caption-3 { width:calc(100% - 40px); top:45%; }
 body.page-id-84 .beldina-hero .sohohotel-slider-caption-3 h2 { font-size:40px; line-height:1.1; letter-spacing:-1px; max-width:480px; }
 body.page-id-84 .beldina-hero .sohohotel-slider-overlay { background:linear-gradient(90deg,#0c232bb8,#0c232b55)!important; }
 body.page-id-84 .beldina-hero .flex-direction-nav .flex-next { right:20px; }
 body.page-id-84 .beldina-hero .flex-direction-nav .flex-prev { right:78px; }
 .beldina-slide-pause { right:136px; }
 body.page-id-84 .beldina-hero .shb-booking-form-style-1 { width:calc(100% - 30px); grid-template-columns:1fr 1fr; padding:10px; margin-top:15px; gap:10px 0; }
 body.page-id-84 .beldina-hero .shb-booking-form-col { padding:10px 7px; }
 body.page-id-84 .beldina-hero .shb-booking-form-col i { display:none; }
 body.page-id-84 .beldina-hero .shb-booking-form-col-field { width:100%; padding-left:0; }
 body.page-id-84 .beldina-hero .shb-booking-form-col-field span { font-size:13px; }
 body.page-id-84 .beldina-hero .shb-booking-form-col input[type=submit] { font-size:12px; padding:15px 8px; }
 .vc_row.home-welcome { padding:45px 0 35px; }
 .home-welcome > .wpb_column > .vc_column-inner { padding:0; }
 .home-welcome > .wpb_column:first-child > .vc_column-inner { padding:0 0 30px; }
 .home-welcome h2 { max-width:100%; }
 .home-welcome-copy p:first-child { font-size:17px; }
 .vc_row.home-chalets { padding:30px 0 10px; margin-bottom:35px; }
 .home-chalets .home-section-heading { padding:0 3px 25px; }
 .home-chalets .shb-accommodation-listing-image { height:245px; }
 .home-chalets .shb-accommodation-listing-description-wrapper { padding:22px!important; }
 .vc_row.home-quote { padding:15px 0; }
 .home-quote .home-quote-copy > .vc_column-inner { padding:30px 20px 15px; }
 .vc_row.home-services { grid-template-columns:1fr; padding:0 0 40px; gap:12px; }
 .home-services > .wpb_column > .vc_column-inner { padding:23px; }
 .home-services .home-service-icon { margin-bottom:15px; }
 .home-services h3 { font-size:23px; }
 .home-services p { font-size:15px; }
 .home-services-heading > .wpb_column > .vc_column-inner { padding:0; }
}
@media(prefers-reduced-motion:reduce) {
 .beldina-home *,.beldina-hero * { transition:none!important; }
 .home-services > .wpb_column:hover > .vc_column-inner,.home-chalets .shb-accommodation-listing-item > a:hover img { transform:none; }
}
body.page-id-84 .beldina-hero .shb-booking-form-style-1:before { display:none; }
body.page-id-84 .beldina-hero .shb-booking-form-col { height:auto; min-height:72px; display:flex; align-items:center; gap:13px; }
body.page-id-84 .beldina-hero .shb-booking-form-col i { margin:0; float:none; }
body.page-id-84 .beldina-hero .shb-booking-form-col-field { margin:0; float:none; width:auto; }
.home-quote blockquote:before,.home-quote blockquote:after { display:none; }
.home-quote blockquote p { color:#53656b; letter-spacing:0; }
body.page-id-84 .beldina-hero .flex-direction-nav { position:static; }
body.page-id-84 .beldina-hero .flex-direction-nav a:before { top:0; left:0; width:100%; text-align:center; }
.home-chalets .shb-accommodation-listing-style-1.owl-carousel { width:100%; }
.home-chalets .shb-accommodation-listing-style-1 .shb-accommodation-listing-item h3 { padding:0 0 18px; }
.home-chalets .shb-accommodation-listing-style-1 .shb-accommodation-listing-description { padding:18px 0 0; }
.home-chalets .shb-accommodation-listing-style-1 .shb-accommodation-listing-description ul { margin:0 0 24px; }
.home-chalets .shb-accommodation-listing-style-1 .shb-accommodation-listing-description ul li { font-size:14px; color:#53656b; }
.home-chalets .shb-accommodation-listing-style-1 .shb-accommodation-listing-description ul li i { color:#6c7b61; }
@media(max-width:767px) {
 body.page-id-84 .beldina-hero .sohohotel-slider-caption-3 p { display:block!important; font-size:16px; }
 body.page-id-84 .beldina-hero .sohohotel-slider-caption-3 h2 { font-size:38px; }
}
.home-chalets .shb-accommodation-listing-description-wrapper h3 { padding:0 0 18px!important; }
.home-chalets .shb-accommodation-listing-description { padding:18px 0 0!important; }
.home-chalets .shb-accommodation-listing-description ul li { color:#53656b!important; font-size:14px!important; }
.home-chalets .shb-accommodation-listing-description ul li i { color:#6c7b61!important; }
.home-chalets .shb-accommodation-listing-button1 { background:#edf1e7!important; border-radius:8px; padding:13px 17px!important; }
body.page-id-84 .beldina-hero .slides,body.page-id-84 .beldina-hero .flex-direction-nav { margin:0!important; padding:0!important; }
.home-chalets .shb-accommodation-listing-button2 { display:inline-flex!important; align-items:center; gap:8px; }
.home-chalets .shb-accommodation-listing-description .shb-accommodation-listing-button1,
.home-chalets .shb-accommodation-listing-description .shb-accommodation-listing-button2 { float:none!important; margin:12px 8px 0 0; }
@media(min-width:768px) and (max-width:1000px) {
 body.page-id-84 .beldina-hero .shb-booking-form-style-1 { grid-template-columns:1fr 1fr; }
 body.page-id-84 .beldina-hero .shb-booking-form-col-field label { white-space:nowrap; }
}
