/* Pages chalets, réservation et contact. Les contenus restent éditables dans WPBakery. */
.beldina-inner { --inner-ink:#153745; --inner-text:#53656b; --inner-paper:#f7f7f1; --inner-sage:#f2f4ed; --inner-line:#dfe5df; }
.beldina-inner .sohohotel-main-content { color:var(--inner-text); }
.beldina-inner .sohohotel-main-content p { font-size:16px; line-height:1.85; margin-bottom:22px; }
.beldina-inner .sohohotel-main-content h1,.beldina-inner .sohohotel-main-content h2,.beldina-inner .sohohotel-main-content h3 { color:var(--inner-ink); font-weight:500; letter-spacing:-.7px; }
.beldina-inner .sohohotel-main-content h1 { font-size:clamp(38px,4.5vw,60px); line-height:1.12; margin:14px 0 28px; }
.beldina-inner .sohohotel-main-content h2 { font-size:clamp(28px,3vw,40px); line-height:1.2; margin:12px 0 24px; }
.beldina-inner .sohohotel-main-content h3 { font-size:25px; line-height:1.25; }
.beldina-inner .sohohotel-main-content .inner-eyebrow { color:#67766d; font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; line-height:1.7; margin-bottom:14px; }
.beldina-inner .sohohotel-main-content a:focus-visible,.beldina-inner .sohohotel-main-content input:focus-visible,.beldina-inner .sohohotel-main-content textarea:focus-visible,.beldina-inner .sohohotel-main-content button:focus-visible { outline:3px solid #a38c65; outline-offset:4px; }
.beldina-inner .sohohotel-page-header { position:relative; padding:85px 30px!important; margin-bottom:0; background-position:center 52%; }
.beldina-inner .sohohotel-page-header:before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(16,41,49,.78),rgba(16,41,49,.2)); }
.beldina-inner .sohohotel-page-header h1 { position:relative; z-index:1; color:white; font-weight:500; letter-spacing:-1.5px; font-size:clamp(40px,5vw,64px); max-width:1210px; margin:0 auto; text-align:left; }
.beldina-inner .sohohotel-content-wrapper { padding-top:0; }
.beldina-inner .beldina-inner-content,.beldina-inner .beldina-stay-layout,.beldina-inner .beldina-stay-related { max-width:1240px; margin:0 auto!important; padding:72px 0; }
.beldina-inner .beldina-chalets-intro>.vc_column_container>.vc_column-inner>.wpb_wrapper>.wpb_text_column { max-width:780px; margin-bottom:40px; }
/* Cartes dynamiques des chalets. */
.beldina-inner .shb-accommodation-listing-style-2 { margin-bottom:0; }
.beldina-inner .shb-accommodation-listing-style-2 .shb-accommodation-listing-item { background:var(--inner-paper); border-radius:18px; overflow:hidden; margin-bottom:30px; box-shadow:0 8px 28px rgba(21,55,69,.04); }
.beldina-inner .shb-accommodation-listing-style-2 .shb-accommodation-listing-image { overflow:hidden; }
.beldina-inner .shb-accommodation-listing-style-2 .shb-accommodation-listing-image img { width:100%; height:330px; object-fit:cover; display:block; transition:transform .55s ease; }
.beldina-inner .shb-accommodation-listing-style-2 .shb-accommodation-listing-item:hover img { transform:scale(1.025); }
.beldina-inner .shb-accommodation-listing-style-2 .shb-accommodation-listing-button1 { background:var(--inner-ink); color:white; border-radius:30px; padding:12px 18px; bottom:20px; left:20px; font-size:13px; z-index:2; }
.beldina-inner .shb-accommodation-listing-style-2 .shb-accommodation-listing-description-wrapper { padding:28px 30px; border:0; }
.beldina-inner .shb-accommodation-listing-style-2 h3 { margin:0 0 20px; }
.beldina-inner .shb-accommodation-listing-style-2 h3 a { color:var(--inner-ink); }
.beldina-inner .shb-accommodation-listing-style-2 .shb-accommodation-listing-description { margin:0; }
.beldina-inner .shb-accommodation-listing-style-2 li { color:var(--inner-text); font-size:14px; line-height:1.7; }
.beldina-inner .shb-accommodation-listing-style-2 li i { color:#8b795c; }
/* Contact. */
.beldina-inner .beldina-contact-layout { display:flex; align-items:stretch; gap:28px; }
.beldina-inner .beldina-contact-layout>.vc_column_container { float:none; }
.beldina-inner .beldina-contact-form { flex:7; }
.beldina-inner .beldina-contact-info { flex:5; }
.beldina-inner .beldina-contact-layout>.vc_column_container>.vc_column-inner { height:100%; padding:38px; background:var(--inner-paper); border-radius:18px; }
.beldina-inner .beldina-contact-info>.vc_column-inner { background:var(--inner-sage)!important; }
.beldina-inner .beldina-contact-info .inner-phone { font-size:23px; color:var(--inner-ink); font-weight:600; }
.beldina-inner .beldina-contact-info img { border-radius:12px; }
.beldina-inner .beldina-contact-info .inner-map-caption { font-size:13px; line-height:1.6; }
.beldina-inner .wpcf7 label { font-size:13px; color:var(--inner-ink); font-weight:600; }
.beldina-inner .wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=hidden]),.beldina-inner .wpcf7 textarea,.beldina-inner .shb-booking-page-wrapper input[type=text],.beldina-inner .shb-booking-page-wrapper input[type=email],.beldina-inner .shb-booking-page-wrapper input[type=tel],.beldina-inner .shb-booking-page-wrapper textarea,.beldina-inner .shb-booking-page-wrapper select { border:1px solid var(--inner-line); background:#fff; color:var(--inner-ink); border-radius:9px; padding:14px; box-sizing:border-box; max-width:100%; }
.beldina-inner .wpcf7 textarea { height:155px; }
.beldina-inner .wpcf7 input[type=submit] { background:var(--inner-ink); color:#fff; border:0; border-radius:30px; padding:17px 28px; font-weight:600; cursor:pointer; }
.beldina-inner .wpcf7 input[type=submit]:hover { background:#285565; }
/* Fiches chalets. */
.beldina-inner .beldina-stay-layout { display:flex; gap:38px; align-items:flex-start; padding-top:55px; }
.beldina-inner .beldina-stay-layout>.beldina-stay-details { width:calc(100% - 365px); float:none; }
.beldina-inner .beldina-stay-layout>.beldina-stay-reservation { width:327px; float:none; padding-top:12px; }
.beldina-inner .beldina-stay-layout>.vc_column_container>.vc_column-inner { padding:0; }
.beldina-inner .beldina-stay-heading { margin-bottom:22px; }
.beldina-inner .shb-title-with-icons-wrapper { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:26px; }
.beldina-inner .shb-title-with-icons-wrapper>span { background:var(--inner-sage); border-radius:10px; padding:12px 15px; margin:0; color:var(--inner-text); font-size:13px; line-height:1.7; }
.beldina-inner .shb-title-with-icons-wrapper>span>span { color:var(--inner-ink); font-weight:600; }
.beldina-inner .shb-title-with-icons-wrapper i { color:#8b795c; margin-right:7px; }
.beldina-inner .beldina-stay-nav { margin-bottom:28px; }
.beldina-inner .beldina-stay-nav p { display:flex; flex-wrap:wrap; gap:8px; margin:0; }
.beldina-inner .beldina-stay-nav a { display:inline-block; border:1px solid var(--inner-line); border-radius:24px; padding:8px 14px; color:var(--inner-ink); font-size:12px; line-height:1.6; transition:background .2s; }
.beldina-inner .beldina-stay-nav a:hover { background:var(--inner-sage); }
.beldina-inner .beldina-stay-nav .inner-reserve-link { color:#fff; background:var(--inner-ink); border-color:var(--inner-ink); }
.beldina-inner .beldina-stay-details .flexslider { border-radius:16px; overflow:hidden; margin-bottom:40px; background:var(--inner-paper); }
.beldina-inner .beldina-stay-details .flexslider .sohohotel-slide-image { background-position:center; }
.beldina-inner .beldina-stay-section-title { margin-top:44px; margin-bottom:20px; }
.beldina-inner .beldina-stay-section-title h2 { font-size:30px; }
.beldina-inner .beldina-stay-layout [id] { scroll-margin-top:130px; }
.beldina-inner .beldina-stay-details table { border:0; border-collapse:separate; border-spacing:6px; margin:0 -6px 10px; width:calc(100% + 12px); }
.beldina-inner .beldina-stay-details td { border:0; border-radius:8px; background:var(--inner-paper); padding:16px; color:var(--inner-text); font-size:14px; line-height:1.6; width:50%; }
.beldina-inner .beldina-stay-details td i { color:#8b795c; margin-right:12px; width:20px; }
.beldina-inner .beldina-stay-details .wpb_single_image img { border-radius:12px; }
.beldina-inner .beldina-stay-details .vc_toggle { background:var(--inner-paper); border:1px solid var(--inner-line); padding:16px 22px; border-radius:10px; margin-bottom:12px; }
.beldina-inner .beldina-stay-details .vc_toggle_title h4 { font-size:16px; color:var(--inner-ink); line-height:1.6; }
.beldina-inner .beldina-stay-details .vc_toggle_content { font-size:15px; line-height:1.8; }
.beldina-inner .beldina-stay-reservation .vc_column-inner { padding:0; }
.beldina-inner .beldina-stay-related { border-top:1px solid var(--inner-line); padding-top:35px; }
.beldina-inner .beldina-stay-related .beldina-stay-section-title { margin-top:0; }
/* Formulaires et parcours de réservation : comportements natifs conservés. */
.beldina-inner .shb-booking-form-style-1 { background:var(--inner-paper); box-shadow:none; border:1px solid var(--inner-line); border-radius:14px; padding:10px; box-sizing:border-box; }
.beldina-inner .shb-booking-form-style-1 .shb-booking-form-col { border:0!important; border-radius:9px; background:#fff; box-sizing:border-box; }
.beldina-inner .shb-booking-form-style-1 .shb-booking-form-col i { color:#8b795c; }
.beldina-inner .shb-booking-form-style-1 .shb-booking-form-col label { color:var(--inner-ink); font-size:12px; }
.beldina-inner .shb-booking-form-style-1 .shb-booking-form-col input[type=submit] { border-radius:9px; background:var(--inner-ink); color:#fff; padding-left:12px; padding-right:12px; }
.beldina-inner .shb-booking-form-style-1 .shb-booking-form-col input[type=submit]:hover { background:#285565; }
.beldina-inner .shb-booking-form-style-1-vertical .shb-booking-form-col { margin-bottom:8px; }
.beldina-inner .shb-booking-form-style-1-vertical .shb-booking-form-col:last-child { margin-bottom:0; }
.beldina-inner .shb-booking-contact-wrapper { background:var(--inner-ink); color:#fff; border:0; border-radius:14px; padding:28px; margin:24px 0 0; }
.beldina-inner .shb-booking-contact-wrapper h3,.beldina-inner .shb-booking-contact-wrapper h4,.beldina-inner .shb-booking-contact-wrapper a,.beldina-inner .shb-booking-contact-wrapper i { color:#fff; }
.beldina-inner .shb-booking-contact-wrapper p { color:#d9e1df; font-size:14px; line-height:1.8; }
.beldina-inner .beldina-booking-intro { padding-top:55px; padding-bottom:10px; }
.beldina-inner .beldina-booking-intro .wpb_text_column { margin-bottom:0; }
.beldina-inner .beldina-booking-engine { padding-top:20px; }
.beldina-inner .shb-booking-step-wrapper { border:1px solid var(--inner-line); background:var(--inner-sage); border-radius:12px; padding:24px 12px; margin-bottom:30px; }
.beldina-inner .shb-booking-step a { color:var(--inner-text); }
.beldina-inner .shb-booking-step.shb-booking-step-current a:first-child { background:var(--inner-ink); border-color:var(--inner-ink); color:#fff; }
.beldina-inner .shb-booking-step-line { display:none; }
.beldina-inner .shb-booking-your-stay-wrapper { background:var(--inner-paper); border:1px solid var(--inner-line); border-radius:14px; overflow:hidden; }
.beldina-inner .shb-booking-total { background:var(--inner-sage); color:var(--inner-ink); }
.beldina-inner .shb-booking-accommodation-item { border:1px solid var(--inner-line); border-radius:14px; overflow:hidden; background:#fff; margin-top:24px; }
.beldina-inner .shb-booking-accommodation-image img { border-radius:10px; }
.beldina-inner .shb-booking-page-wrapper input[type=submit],.beldina-inner .shb-booking-page-wrapper button[type=submit] { border-radius:8px; }
@media(min-width:1001px) {
 .beldina-inner .beldina-booking-engine .shb-booking-form-style-1 .shb-booking-form-col i { margin-left:12px; margin-right:10px; }
 .beldina-inner .beldina-booking-engine .shb-booking-form-style-1 .shb-booking-form-col .shb-booking-form-col-field { width:calc(100% - 48px); }
}
@media(max-width:1000px) {
 .beldina-inner .beldina-stay-layout { gap:25px; }
 .beldina-inner .beldina-stay-layout>.beldina-stay-details { width:calc(100% - 305px); }
 .beldina-inner .beldina-stay-layout>.beldina-stay-reservation { width:280px; }
 .beldina-inner .beldina-contact-layout { gap:18px; }
 .beldina-inner .beldina-contact-layout>.vc_column_container>.vc_column-inner { padding:26px; }
}
@media(max-width:767px) {
 .beldina-inner .sohohotel-page-header { padding:52px 22px!important; }
 .beldina-inner .beldina-inner-content,.beldina-inner .beldina-stay-layout,.beldina-inner .beldina-stay-related { padding-top:38px; padding-bottom:38px; }
 .beldina-inner .beldina-contact-layout,.beldina-inner .beldina-stay-layout { display:block; }
 .beldina-inner .beldina-contact-layout>.vc_column_container,.beldina-inner .beldina-stay-layout>.vc_column_container { width:100%; }
 .beldina-inner .beldina-contact-info { margin-top:24px; }
 .beldina-inner .beldina-contact-layout>.vc_column_container>.vc_column-inner { padding:25px 22px; }
 .beldina-inner .shb-accommodation-listing-style-2 .shb-accommodation-listing-image img { height:255px; }
 .beldina-inner .shb-accommodation-listing-style-2 .shb-accommodation-listing-description-wrapper { padding:24px; }
 .beldina-inner .beldina-stay-layout>.beldina-stay-reservation { padding-top:30px; }
 .beldina-inner .beldina-stay-details td { padding:12px 9px; font-size:12px; }
 .beldina-inner .beldina-stay-details td i { margin-right:5px; width:16px; }
 .beldina-inner .shb-title-with-icons-wrapper { gap:8px; }
 .beldina-inner .shb-title-with-icons-wrapper>span { font-size:12px; padding:9px 12px; }
 .beldina-inner .beldina-stay-nav a { padding:7px 11px; }
 .beldina-inner .beldina-booking-intro { padding-bottom:0; }
 .beldina-inner .beldina-booking-engine { padding-top:12px; }
 .beldina-inner .shb-booking-step-wrapper { padding:18px 4px; }
 .beldina-inner .shb-booking-step a { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) { .beldina-inner .shb-accommodation-listing-style-2 img { transition:none!important; transform:none!important; } }
/* Marges cohérentes, y compris avec le modèle pleine largeur du thème. */
.beldina-inner .beldina-inner-content,.beldina-inner .beldina-stay-related { width:calc(100% - 48px); }
.beldina-inner .shb-booking-step-wrapper .shb-booking-step a:last-child { font-size:13px; }
@media(max-width:767px) {
 .beldina-inner .beldina-inner-content,.beldina-inner .beldina-stay-related { width:calc(100% - 32px); }
 .beldina-inner .shb-accommodation-single-2-wrapper.beldina-stay-layout.vc_row { width:calc(100% - 40px); }
 .beldina-inner .shb-booking-step-wrapper .shb-booking-step a:last-child { font-size:10px; }
}
.beldina-inner .sohohotel-page-header { background-size:cover; }
.beldina-inner .shb-accommodation-listing-style-2 .shb-accommodation-listing-image .shb-accommodation-listing-button1 { top:auto; right:auto; width:auto; height:auto; background:#153745!important; }
.beldina-inner .shb-booking-page-wrapper { padding:20px 0 0; }
.beldina-inner .sohohotel-content-wrapper .shb-booking-contact-wrapper,.beldina-inner .shb-booking-your-stay-wrapper { box-shadow:none; }
.beldina-inner .sohohotel-content-wrapper .shb-booking-contact-wrapper h3:after { background:#b9aa8a; margin:20px 0; }
.beldina-inner .sohohotel-content-wrapper .shb-booking-contact-wrapper ul li i { color:#dccaa6!important; }
.beldina-inner .shb-booking-accommodation-result-wrapper .shb-booking-accommodation-item { padding:22px; }
.beldina-inner .shb-booking-accommodation-result-wrapper .shb-booking-accommodation-item .shb-booking-condition-wrapper { background:var(--inner-paper); border:0; border-left:3px solid #ab8c58!important; border-radius:8px; margin-bottom:24px; padding:20px; }
.beldina-inner .shb-booking-accommodation-result-wrapper .shb-booking-accommodation-item .shb-booking-condition-wrapper ul { margin-top:14px; }
.beldina-inner .shb-booking-accommodation-result-wrapper .shb-booking-accommodation-item .shb-booking-condition-wrapper h2 i,.beldina-inner .shb-booking-condition-wrapper ul li:before { color:#917443!important; }
.beldina-inner .shb-booking-accommodation-result-wrapper .shb-booking-accommodation-item.shb-booking-accommodation-unavailable .shb-booking-accommodation-info-wrapper .shb-booking-accommodation-info:first-child { opacity:1; }
.beldina-inner .shb-booking-accommodation-result-wrapper .shb-booking-accommodation-item.shb-booking-accommodation-unavailable .shb-booking-accommodation-image { opacity:.8; }
.beldina-inner .shb-booking-accommodation-info .shb-booking-rate-info .shb-booking-accommodation-select-room { border-radius:8px; }
@media(max-width:767px) { .beldina-inner .shb-booking-accommodation-result-wrapper .shb-booking-accommodation-item { padding:16px; } }
.beldina-inner .shb-title-with-icons-wrapper { max-width:100%; margin-left:0; margin-right:0; text-align:left; text-transform:none; }
.beldina-inner .beldina-stay-details .vc_toggle_title { padding-top:4px; padding-bottom:4px; }
.beldina-inner .shb-accommodation-listing-style-2 .shb-accommodation-listing-description ul li { display:block; float:none; width:100%; margin:0 0 12px; }
.beldina-inner .shb-accommodation-listing-style-2 .shb-accommodation-listing-description ul li:last-child { margin-bottom:0; }
.beldina-inner .shb-accommodation-listing-style-2 .shb-accommodation-listing-description ul li i { color:#8b795c!important; }

/* Pictogrammes des appareils : images visibles aussi dans l’éditeur de texte WPBakery. */
.beldina-inner .beldina-stay-details td img.beldina-equipment-icon {
 width:20px; height:20px; max-width:none; display:inline-block; vertical-align:-4px; margin:0 12px 0 0; border:0; border-radius:0;
}
@media(max-width:767px) {
 .beldina-inner .beldina-stay-details td img.beldina-equipment-icon { width:16px; height:16px; vertical-align:-3px; margin-right:5px; }
}
