/* Harmonisation barre haute — 0 px de padding sur les 7 pages */
body > header{padding:0!important;}
body > header .wrap.nav,
body > header.cs-main-header .wrap.nav{
  padding:0!important;
  min-height:62px!important;
}
/* Gouttières : le 0px de padding n'envoie pas le logo contre les bords */
body > header.cs-main-header .wrap.nav{
  width:min(1180px,calc(100% - 36px))!important;
}
@media(max-width:600px){
  body > header .wrap.nav,
  body > header.cs-main-header .wrap.nav{min-height:52px!important;}
  body > header.cs-main-header .wrap.nav{width:calc(100% - 24px)!important;}
}
@media(max-width:390px){
  body > header.cs-main-header .wrap.nav{width:calc(100% - 20px)!important;}
}
/* Retour toujours visible, indépendant de la barre et de ses menus */
.cs-retour-flottant{
  position:fixed;left:clamp(10px,2.6vw,27px);bottom:clamp(16px,2.5vh,26px);
  z-index:85;display:inline-flex;align-items:center;gap:8px;
  padding:9px 14px;
  border:1px solid rgba(214,195,38,.42);border-radius:8px;
  background:linear-gradient(145deg,rgba(15,20,27,.94),rgba(25,32,39,.94));
  box-shadow:0 6px 22px rgba(0,0,0,.42);backdrop-filter:blur(10px);
  color:#f3f1ea!important;text-decoration:none!important;
  font:700 12px/1.2 Inter,Arial,sans-serif;letter-spacing:.03em;
  transition:background .15s,border-color .15s,transform .15s;
}
.cs-retour-flottant:hover,.cs-retour-flottant:focus-visible{border-color:#d6c326;background:#22282d;transform:translateY(-2px);outline:none;}
.cs-retour-flottant svg{width:16px;height:16px;flex:none;stroke:#d6c326;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
@media(max-width:600px){.cs-retour-flottant{padding:8px 12px;font-size:11px;left:10px;bottom:calc(env(safe-area-inset-bottom,0px) + 14px);}}
@media print{.cs-retour-flottant{display:none!important;}}

/* Le simulateur possède des règles globales button!important : menu identique à l'accueil */
body > header.cs-main-header .nav-toggle{
  background:transparent!important;
  color:#f3f1ea!important;
  border:1px solid #2a2f38!important;
  border-radius:3px!important;
  min-height:0!important;
  padding:0!important;
  text-transform:none!important;
  box-shadow:none!important;
}
body > header.cs-main-header .nav-toggle:hover{
  background:rgba(255,255,255,.05)!important;
  border-color:rgba(214,195,38,.35)!important;
}

/* Retour visible uniquement au début des six pages secondaires, sous la navigation. */
.cs-retour-zone{width:min(1100px,calc(100% - 36px));margin:0 auto 0;padding-top:18px;position:relative;z-index:2;}
.cs-retour-haut{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border:1px solid rgba(214,195,38,.36);border-radius:9px;background:linear-gradient(140deg,#131920,#0b1117);box-shadow:0 7px 20px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.045);color:#f3f1ea!important;text-decoration:none!important;font:700 12px/1.2 Inter,Arial,sans-serif;letter-spacing:.03em;transition:border-color .2s,background .2s,transform .2s;}
.cs-retour-haut svg{width:16px;height:16px;fill:none;stroke:#d6c326;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.cs-retour-haut:hover,.cs-retour-haut:focus-visible{border-color:#d6c326;background:#1b252d;transform:translateX(-2px);}
.cs-retour-zone + .wrap > .hero{padding-top:26px!important;}
body:has(> main > .cs-retour-zone) main{padding-top:12px!important;}
main > .cs-retour-zone{width:100%;padding-top:0;margin:0 0 16px;}
@media(max-width:760px){.cs-retour-zone{padding-top:12px;}.cs-retour-zone + .wrap > .hero{padding-top:20px!important;}main > .cs-retour-zone{padding-top:0;margin-bottom:13px;}}
/* Aligner le Retour sur la colonne de texte des pages prestations. */
body:has(> .cs-main-global-texture) main > .cs-retour-zone{
  width:min(1100px,calc(100% - 36px));
  margin-left:auto;
  margin-right:auto;
}
@media(max-width:760px){
  .cs-retour-zone + .wrap > .hero{padding-top:12px!important;}
}

/* 2026-10-28 — RETOUR FLOTTANT LATÉRAL : ne change pas la mise en page.
   Le contenant conserve la place qu'il occupait précédemment ; seul le bouton
   suit la fenêtre pendant le défilement des six pages secondaires. */
main > .cs-retour-zone {
  min-height: 36px !important;
}
main > .cs-retour-zone > .cs-retour-haut {
  position: fixed !important;
  top: calc(var(--cs-fixed-header-height, 62px) + 99px) !important;
  left: max(14px, calc((100vw - 1340px) / 2)) !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  z-index: 85 !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: 0 8px 25px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.05);
}
/* Sur les fenêtres intermédiaires, le placer sous la barre pour préserver le contenu. */
@media (max-width: 1450px) {
  main > .cs-retour-zone > .cs-retour-haut {
    top: calc(var(--cs-fixed-header-height, 62px) + 13px) !important;
    left: 14px !important;
  }
}
@media (max-width: 760px) {
  main > .cs-retour-zone { min-height: 36px !important; }
  main > .cs-retour-zone > .cs-retour-haut {
    top: calc(var(--cs-fixed-header-height, 52px) + 12px) !important;
    left: 12px !important;
    padding: 8px 12px !important;
    font-size: 11px !important;
    z-index: 85 !important;
  }
}
@media print {
  main > .cs-retour-zone > .cs-retour-haut { position: static !important; }
}


/* 2026-10-28 — pages prestations : démarrer le contenu plus haut.
   Le bouton Retour est fixé à la fenêtre ; son emplacement dans le flux
   ne doit pas créer une grande zone vide sous la barre du haut. */
@media (min-width: 1451px) {
  body[data-cs-service] main:has(> .cs-retour-zone + .wrap > .hero) {
    padding-top: 0 !important;
  }
  body[data-cs-service] main > .cs-retour-zone:has(+ .wrap > .hero) {
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body[data-cs-service] main > .cs-retour-zone + .wrap > .hero {
    padding-top: 26px !important;
  }
  body[data-cs-service] main > .cs-retour-zone > .cs-retour-haut {
    top: calc(var(--cs-fixed-header-height, 62px) + 27px) !important;
  }
}
/* À largeur intermédiaire, réserver une seule hauteur de bouton pour éviter
   que « Retour » chevauche le fil d'Ariane. */
@media (min-width: 761px) and (max-width: 1450px) {
  body[data-cs-service] main:has(> .cs-retour-zone + .wrap > .hero) {
    padding-top: 0 !important;
  }
  body[data-cs-service] main > .cs-retour-zone:has(+ .wrap > .hero) {
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body[data-cs-service] main > .cs-retour-zone + .wrap > .hero {
    padding-top: 12px !important;
  }
}
@media (max-width: 760px) {
  body[data-cs-service] main:has(> .cs-retour-zone + .wrap > .hero) {
    padding-top: 0 !important;
  }
  body[data-cs-service] main > .cs-retour-zone:has(+ .wrap > .hero) {
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body[data-cs-service] main > .cs-retour-zone + .wrap > .hero {
    padding-top: 10px !important;
  }
}
