/* FINAL HEADER/BANNER + FLOATING WHATSAPP FIX — 2026-08-01 */
:root{
  --rm-final-bg:#dff2e9;
  --rm-final-bg-2:#d4ebdf;
  --rm-final-ink:#123d31;
  --rm-final-muted:#315d50;
  --rm-final-gold:#9a6d17;
  --rm-final-line:rgba(18,61,49,.16);
}

/* Old fixed-header compensation created the large empty strip above the new sticky header. */
html,body{
  margin:0!important;
  padding-top:0!important;
  scroll-padding-top:96px;
}

/* One compact banner/header on all pages */
.rm-site-header{
  position:sticky!important;
  top:0!important;
  z-index:9999!important;
  margin:0!important;
  background:linear-gradient(135deg,var(--rm-final-bg-2),var(--rm-final-bg))!important;
  border-bottom:1px solid var(--rm-final-line)!important;
  box-shadow:0 5px 16px rgba(18,61,49,.08)!important;
}
.rm-header-shell{
  width:min(1780px,calc(100% - 30px))!important;
  min-height:74px!important;
  padding:7px 0!important;
  margin:0 auto!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:clamp(10px,1vw,18px)!important;
}
.rm-brand{min-width:210px!important;max-width:240px!important;gap:9px!important}
.rm-brand-mark{width:48px!important;height:48px!important;flex:0 0 48px!important}
.rm-brand-name{font-size:23px!important;line-height:1!important}
.rm-brand-tag{font-size:8.5px!important;line-height:1.15!important;margin-top:4px!important}
.rm-desktop-nav{
  flex:1 1 auto!important;
  min-width:0!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:clamp(8px,.8vw,15px)!important;
  width:auto!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
}
.rm-desktop-nav a{
  font-size:clamp(10.5px,.7vw,13px)!important;
  font-weight:800!important;
  color:var(--rm-final-ink)!important;
  white-space:nowrap!important;
  padding:9px 0!important;
}
.rm-header-actions{display:flex!important;align-items:center!important;gap:7px!important;flex:0 0 auto!important;flex-wrap:nowrap!important;margin:0!important}
.rm-language,.rm-header-btn{height:38px!important;font-size:11.5px!important}
.rm-language{min-width:108px!important;padding-left:11px!important;padding-right:28px!important}
.rm-header-btn{padding:0 13px!important;border-radius:11px!important}

/* Compact secondary banner on inner pages */
.page-breadcrumb{
  margin:0!important;
  min-height:46px!important;
  height:auto!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  background:#d2eadd!important;
  border-bottom:1px solid var(--rm-final-line)!important;
  color:var(--rm-final-ink)!important;
}
.page-breadcrumb .container{
  width:min(1180px,calc(100% - 40px))!important;
  padding:11px 0!important;
  margin:0 auto!important;
}
.page-breadcrumb,.page-breadcrumb a,.page-breadcrumb span{
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:750!important;
  color:var(--rm-final-ink)!important;
  opacity:1!important;
}
.page-breadcrumb a{color:var(--rm-final-gold)!important}

/* Inner-page intro starts close to the breadcrumb instead of acting as another giant banner */
body:not(.home) main>section:first-of-type,
body:not(.home) .corps:first-of-type,
body:not(.home) .visage:first-of-type{
  padding-top:clamp(38px,4vw,60px)!important;
}
.corps .section-head,.visage .section-head{margin-top:0!important;margin-bottom:clamp(26px,3.5vw,42px)!important}

/* Readability safety */
main h1,main h2,main h3,main h4,section h1,section h2,section h3,section h4{color:var(--rm-final-ink)!important;opacity:1!important;text-shadow:none!important}
main p,main li,section p,section li,.card p,.visage-item p,.corps-item p,.static-result-card p{color:var(--rm-final-muted)!important;opacity:1!important}

/* Floating WhatsApp CTA restored globally */
.float-whatsapp{
  position:fixed!important;
  right:24px!important;
  bottom:24px!important;
  width:58px!important;
  height:58px!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#20c968!important;
  color:#fff!important;
  z-index:10000!important;
  box-shadow:0 12px 30px rgba(18,61,49,.25)!important;
  border:2px solid rgba(255,255,255,.88)!important;
  text-decoration:none!important;
  transition:transform .2s ease,box-shadow .2s ease!important;
}
.float-whatsapp:hover{transform:translateY(-3px) scale(1.04)!important;box-shadow:0 16px 34px rgba(18,61,49,.3)!important}
.float-whatsapp svg{width:29px!important;height:29px!important;fill:#fff!important;display:block!important}

@media(max-width:1180px){
  .rm-header-shell{flex-wrap:wrap!important;justify-content:space-between!important;gap:6px 12px!important;padding:7px 0 9px!important}
  .rm-brand{min-width:0!important;max-width:none!important}
  .rm-header-actions{margin-left:auto!important}
  .rm-desktop-nav{
    order:3!important;
    flex:0 0 100%!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(9,minmax(0,1fr))!important;
    gap:4px!important;
    border-top:1px solid var(--rm-final-line)!important;
    padding-top:5px!important;
  }
  .rm-desktop-nav a{font-size:10.5px!important;white-space:normal!important;min-height:31px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:6px 2px!important}
}
@media(max-width:760px){
  .rm-header-shell{width:calc(100% - 18px)!important}
  .rm-brand{width:100%!important;justify-content:center!important}
  .rm-header-actions{width:100%!important;justify-content:center!important;margin-left:0!important}
  .rm-desktop-nav{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}
  .rm-desktop-nav a{font-size:11px!important;min-height:38px!important;background:rgba(255,255,255,.25)!important;border-radius:8px!important}
  .page-breadcrumb .container{width:calc(100% - 24px)!important;padding:9px 0!important}
  .page-breadcrumb{min-height:40px!important}
  .float-whatsapp{right:15px!important;bottom:15px!important;width:52px!important;height:52px!important}
}
@media(max-width:420px){
  .rm-desktop-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .rm-brand-name{font-size:20px!important}
  .rm-brand-tag{font-size:7.5px!important}
  .rm-language,.rm-header-btn{height:34px!important;font-size:10.5px!important;padding-inline:9px!important}
}
