/* Cadre commun : menus et widgets restent gérés par WordPress. */
:root { --beldina-ink:#153745; --beldina-muted:#53656b; --beldina-cream:#f7f7f1; --beldina-sage:#e8eddf; --beldina-sand:#eadac0; }
body .sohohotel-site-wrapper .sohohotel-header { background:#fff; box-shadow:0 2px 15px #1537450a; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-topbar-wrapper { background:#f2f4ed; border-bottom:1px solid #e3e8df; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-topbar { max-width:1240px; width:calc(100% - 60px); margin:auto; min-height:38px; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-top-left-wrapper li { padding:10px 0 10px 25px; margin-right:25px; font-size:12px; line-height:18px; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-top-left-wrapper li a { color:#53656b; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-top-left-wrapper li:before { width:18px; height:18px; line-height:18px; font-size:12px; background:transparent; color:#153745; left:0; top:10px; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-top-right-wrapper .sohohotel-top-right-button2 { background:#153745; border:0; color:#fff; padding:10px 20px; font-size:12px; line-height:18px; border-radius:0 0 9px 9px; width:auto; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-logo-navigation { max-width:1240px; width:calc(100% - 60px); min-height:92px; padding:8px 0; display:flex; align-items:center; justify-content:space-between; gap:24px; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-logo-navigation:after { display:none; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-logo { width:108px; max-width:108px; height:auto; margin:0; float:none; display:block; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-navigation { float:none; margin-left:auto; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-navigation > ul { display:flex; align-items:center; gap:5px; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-navigation > ul > li > a { padding:13px 14px; color:#153745; font-size:14px; border-radius:7px; transition:background .2s,color .2s; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-navigation > ul > li > a:hover,
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-navigation > ul > li.current-menu-item > a { background:#f0f3eb; color:#153745; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-navigation li ul { border-radius:9px; overflow:hidden; box-shadow:0 10px 30px #15374518; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-mobile-navigation-button { color:#153745; background:#f2f4ed; border:1px solid #e2e7df; border-radius:10px; padding:12px 14px; margin:0; float:none; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-mobile-navigation-wrapper { background:#f7f7f1; border-top:1px solid #e2e7df; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-mobile-navigation li a { color:#153745; padding:15px 24px; border-color:#e2e7df; font-size:16px; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-mobile-navigation li.current-menu-item > a { background:#e8eddf; }
.sohohotel-header a:focus-visible,.sohohotel-footer-wrapper a:focus-visible { outline:3px solid #b29262; outline-offset:4px; }
/* Un pied de page lisible, avec les widgets et leurs liens d'origine. */
body .sohohotel-site-wrapper .sohohotel-footer-wrapper { background:#153745; color:#e1e9e7; border:0; padding-top:0; }
.beldina-footer-intro { max-width:1210px; width:calc(100% - 70px); margin:auto; padding:58px 0 38px; display:flex; align-items:center; justify-content:space-between; gap:32px; border-bottom:1px solid #ffffff26; }
.beldina-footer-intro h2 { font-size:clamp(28px,3vw,40px); line-height:1.15; letter-spacing:-1px; color:#fff; margin:0 0 14px; font-weight:500; }
.beldina-footer-intro p { color:#cad7d6; font-size:15px; margin:0; line-height:1.7; }
.beldina-footer-intro .beldina-footer-eyebrow { color:#dbc9ac; font-size:11px; text-transform:uppercase; letter-spacing:1.8px; margin-bottom:17px; }
body .sohohotel-site-wrapper a.beldina-footer-cta { flex-shrink:0; display:inline-flex; gap:30px; align-items:center; background:#eadac0; color:#153745; border-radius:9px; padding:17px 23px; font-size:14px; text-decoration:none; transition:background .2s; }
body .sohohotel-site-wrapper a.beldina-footer-cta:hover { background:#f5e9d7; }
body .sohohotel-site-wrapper .sohohotel-footer { max-width:1210px; width:calc(100% - 70px); padding:38px 0; margin:auto; display:grid; grid-template-columns:1fr 1fr 1fr; gap:50px; }
body .sohohotel-site-wrapper .sohohotel-footer:after { display:none; }
body .sohohotel-site-wrapper .sohohotel-footer .sohohotel-widget { width:auto; float:none; margin:0; padding:0; }
body .sohohotel-site-wrapper .sohohotel-footer .sohohotel-widget h5 { color:#e6d5b9; font-size:17px; margin-bottom:18px; }
body .sohohotel-site-wrapper .sohohotel-footer .sohohotel-widget a,
body .sohohotel-site-wrapper .sohohotel-footer .sohohotel-widget li { color:#e1e9e7; font-size:14px; }
body .sohohotel-site-wrapper .sohohotel-footer .sohohotel-widget a:hover { color:#eadac0; }
body .sohohotel-site-wrapper .sohohotel-footer .widget_nav_menu ul { display:grid; grid-template-columns:1fr 1fr; gap:13px 20px; margin:0; }
body .sohohotel-site-wrapper .sohohotel-footer .widget_nav_menu li { margin:0; padding:0; border:0; }
body .sohohotel-site-wrapper .sohohotel-footer .widget_nav_menu li:before { display:none; }
body .sohohotel-site-wrapper .sohohotel-footer .sohohotel-contact-widget li:before { color:#d7c3a3; }
body .sohohotel-site-wrapper .sohohotel-footer .widget_media_image img { width:100%; border-radius:12px; opacity:.9; }
body .sohohotel-site-wrapper .sohohotel-footer-bottom-wrapper { border-top:1px solid #ffffff26; background:transparent; }
body .sohohotel-site-wrapper .sohohotel-footer-bottom-wrapper .sohohotel-footer-bottom { max-width:1210px; width:calc(100% - 70px); padding:20px 0; margin:auto; }
body .sohohotel-site-wrapper .sohohotel-footer-bottom-wrapper p.sohohotel-footer-message { color:#b8cccd; font-size:12px; }
@media(max-width:1090px) {
 body .sohohotel-site-wrapper .sohohotel-header .sohohotel-logo-navigation { min-height:85px; }
 body .sohohotel-site-wrapper .sohohotel-header .sohohotel-topbar { width:100%; min-height:0; }
 body .sohohotel-site-wrapper .sohohotel-header .sohohotel-top-right-wrapper { text-align:right; }
 body .sohohotel-site-wrapper .sohohotel-header .sohohotel-top-right-wrapper .sohohotel-top-right-button2 { float:none; display:inline-block; border-radius:0; padding:8px 20px; }
 body .sohohotel-site-wrapper .sohohotel-header .sohohotel-logo { width:95px; max-width:95px; }
 body .sohohotel-site-wrapper .sohohotel-header .sohohotel-top-left-wrapper { display:none; }
}
@media(max-width:767px) {
 body .sohohotel-site-wrapper .sohohotel-header .sohohotel-logo-navigation { width:calc(100% - 36px); }
 .beldina-footer-intro { width:calc(100% - 40px); padding:38px 0 28px; flex-direction:column; align-items:flex-start; }
 body .sohohotel-site-wrapper .sohohotel-footer { width:calc(100% - 40px); grid-template-columns:1fr; gap:30px; padding:30px 0; }
 body .sohohotel-site-wrapper .sohohotel-footer .widget_media_image { max-width:400px; }
 body .sohohotel-site-wrapper .sohohotel-footer-bottom-wrapper .sohohotel-footer-bottom { width:calc(100% - 40px); }
}
@media(prefers-reduced-motion:reduce) { .sohohotel-header a,.beldina-footer-cta { transition:none!important; } }
/* Neutraliser les pseudo-éléments clearfix du thème dans les nouvelles grilles. */
body .sohohotel-site-wrapper .sohohotel-footer:before,
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-logo-navigation:before { display:none; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-topbar-wrapper { padding:0; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-topbar .sohohotel-top-left-wrapper { margin:0; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-topbar .sohohotel-top-left-wrapper li { padding:10px 0; margin-right:25px; line-height:18px; font-size:12px; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-topbar .sohohotel-top-left-wrapper li:before { background:transparent; color:#153745; width:18px; height:18px; padding:0; margin:0 8px 0 0; font-size:12px; line-height:18px; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-topbar .sohohotel-top-right-wrapper .sohohotel-top-right-button2 { background:#153745; color:white; padding:10px 20px; line-height:18px; font-size:12px; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-topbar .sohohotel-top-right-wrapper .sohohotel-top-right-button2 i { position:static; font-size:13px; }
@media(max-width:1090px) {
 body .sohohotel-site-wrapper .sohohotel-header .sohohotel-topbar .sohohotel-top-right-wrapper { width:100%; float:none; display:flex; justify-content:flex-end; }
 body .sohohotel-site-wrapper .sohohotel-header .sohohotel-topbar .sohohotel-top-right-wrapper:before,
 body .sohohotel-site-wrapper .sohohotel-header .sohohotel-topbar .sohohotel-top-right-wrapper:after { display:none; }
 body .sohohotel-site-wrapper .sohohotel-header .sohohotel-topbar .sohohotel-top-right-wrapper .sohohotel-top-right-button2 { width:auto; float:none; padding:9px 20px; white-space:nowrap; border-radius:0; }
}
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-logo-navigation { box-sizing:border-box; }
body .sohohotel-site-wrapper .sohohotel-header .sohohotel-topbar .sohohotel-top-left-wrapper li:before { background:transparent!important; color:#153745!important; width:18px!important; height:18px!important; padding:0!important; margin:0 8px 0 0!important; font-size:12px!important; line-height:18px!important; }
.sohohotel-header .sohohotel-mobile-currency-language:empty { display:none; }
