/* Bouton visible uniquement sur le site public, pas dans les espaces */
.sf-public-theme-button{position:fixed;right:18px;bottom:18px;z-index:9999;display:flex;align-items:center;justify-content:center;gap:7px;min-height:45px;padding:11px 17px;border-radius:12px;background:#e7f3fb;color:#103e57;border:2px solid #78b6d3;box-shadow:0 5px 22px #102d3940;font:800 14px system-ui,sans-serif;cursor:pointer}
.sf-public-theme-button:hover{background:#c9e8f8}
html[data-sf-theme='dark'] .sf-public-theme-button{background:#23354a;color:#fff1bf;border-color:#6791af}
@media print{.sf-public-theme-button{display:none!important}}

/* STEVENS FINANCES - alignement du menu public, sans toucher aux espaces */
@media (min-width:901px){
 .site-header .nav-wrap{gap:clamp(10px,1.3vw,20px)}
 .site-header .nav{gap:clamp(8px,1.1vw,17px);min-width:0}
 .site-header .nav>a{white-space:nowrap;flex-shrink:0}
 .site-header .nav .nav-cta{white-space:nowrap;padding-left:clamp(10px,1vw,17px);padding-right:clamp(10px,1vw,17px)}
 .site-header .nav .btn-client{padding-left:clamp(9px,.9vw,15px);padding-right:clamp(9px,.9vw,15px)}
}
@media (max-width:900px){.site-header .nav>a{white-space:nowrap}}

/* Navigation : « À propos » et « Confier un dossier » sur UNE seule ligne */
.site-header .nav a[href="#apropos"],
.site-header .nav a.nav-cta,
.site-header .nav a[href="#contact"].btn-gold {
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  flex-shrink:0!important;
  width:max-content!important;
  max-width:none!important;
  text-align:center!important;
}
@media(min-width:1201px){
 .site-header .nav-wrap{gap:12px!important;width:min(1440px,98%)!important}
 .site-header .brand{flex:0 0 160px!important;width:160px!important}
 .site-header .nav{gap:clamp(6px,.75vw,14px)!important;flex-wrap:nowrap!important}
 .site-header .nav .btn{font-size:12px!important;padding:0 11px!important;min-height:40px!important}
}
/* Dès que l'écran devient trop étroit, utiliser le menu mobile existant
   au lieu d'écraser les boutons ou de couper leur texte. */
@media(min-width:901px) and (max-width:1200px){
 .site-header .nav{display:none!important;position:absolute!important;left:0;right:0;top:78px;background:#032925;padding:22px 4%;flex-direction:column;align-items:stretch;gap:14px}
 .site-header .nav.open{display:flex!important}
 .site-header .menu-toggle{display:block!important}
 .site-header .nav a.nav-cta{align-self:flex-start!important}
}
@media(max-width:900px){
 .site-header .nav a.nav-cta{align-self:flex-start!important}
}
