
body.kesho-mentions-legales-page .entry-header,
body.kesho-mentions-legales-page .entry-title{display:none!important}
.kesho-legal{--ink:#292522;--muted:rgba(41,37,34,.65);--line:rgba(41,37,34,.12);--accent:#806451;width:min(1480px,calc(100% - 96px));margin:0 auto;color:var(--ink)}
.kl-kicker{margin:0 0 14px!important;color:var(--accent)!important;font-size:.68rem!important;font-weight:600!important;letter-spacing:.18em;text-transform:uppercase}
.kl-hero{padding:72px 0 68px;border-bottom:1px solid var(--line)}
.kl-hero h1{margin:0;font-family:Georgia,serif;font-size:clamp(4rem,7vw,7.2rem);font-weight:400;line-height:.94}
.kl-intro{max-width:720px;margin:30px 0 0!important;color:var(--muted);line-height:1.75}
.kl-layout{display:grid;grid-template-columns:290px minmax(0,850px);gap:110px;justify-content:center;padding:78px 0 100px}
.kl-index{position:sticky;top:110px;align-self:start}
.kl-index a{display:block;padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:.75rem;text-decoration:none}
.kl-content section{padding:0 0 48px;margin:0 0 48px;border-bottom:1px solid var(--line)}
.kl-content section>span{display:block;margin-bottom:16px;color:rgba(128,100,81,.52);font-family:Georgia,serif}
.kl-content h2{margin:0 0 22px;font-family:Georgia,serif;font-size:clamp(2rem,3vw,3.2rem);font-weight:400}
.kl-content p{color:var(--muted);line-height:1.8}
.kl-label{color:var(--ink)!important;font-size:.67rem!important;font-weight:600!important;letter-spacing:.12em;text-transform:uppercase}
.kl-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:25px 0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.kl-data>div{padding:21px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.kl-data small{display:block;margin-bottom:7px;color:var(--accent);font-size:.62rem;letter-spacing:.11em;text-transform:uppercase}
.kl-data strong{font-family:Georgia,serif;font-weight:400}
.kl-final{text-align:center;border-bottom:0!important}
@media(max-width:950px){.kesho-legal{width:calc(100% - 48px)}.kl-layout{grid-template-columns:1fr}.kl-index{display:none}}
@media(max-width:650px){.kesho-legal{width:calc(100% - 30px)}.kl-hero h1{font-size:clamp(45px,13vw,58px)}.kl-data{grid-template-columns:1fr}}


/* ==========================================================
   Keshō — Mentions légales v1.2
   Suppression du titre natif + mise en page large
   ========================================================== */

body.kesho-mentions-legales-page main.container.content-area{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

body.kesho-mentions-legales-page main.container.content-area > article{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

/* Le thème Keshō affiche ce bloc avant le contenu sur toutes les pages. */
body.kesho-mentions-legales-page main.container.content-area > article > .page-header{
  display:none !important;
}

body.kesho-mentions-legales-page main.container.content-area > article > .entry-content{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

/* Largeur générale de la page. */
body.kesho-mentions-legales-page .kesho-legal{
  width:min(1460px, calc(100% - 96px)) !important;
  max-width:none !important;
  margin:0 auto !important;
}

/* Le titre principal interne reste le seul titre visible. */
body.kesho-mentions-legales-page .kl-hero{
  padding:78px 0 70px !important;
}

body.kesho-mentions-legales-page .kl-hero h1{
  max-width:none !important;
  font-size:clamp(4.6rem, 7vw, 7.7rem) !important;
}

/* Texte introductif plus confortable et plus large. */
body.kesho-mentions-legales-page .kl-intro{
  max-width:900px !important;
  font-size:1rem !important;
}

/*
 * La colonne de gauche reste un sommaire discret.
 * La colonne de contenu utilise désormais tout l'espace disponible.
 */
body.kesho-mentions-legales-page .kl-layout{
  display:grid !important;
  grid-template-columns:250px minmax(0, 1fr) !important;
  gap:90px !important;
  width:100% !important;
  max-width:none !important;
  justify-content:stretch !important;
  padding:74px 0 110px !important;
}

body.kesho-mentions-legales-page .kl-content{
  width:100% !important;
  max-width:none !important;
}

/* Les sections deviennent plus horizontales et respirantes. */
body.kesho-mentions-legales-page .kl-content section:not(.kl-final){
  display:grid !important;
  grid-template-columns:90px minmax(220px, 320px) minmax(0, 1fr) !important;
  column-gap:42px !important;
  align-items:start !important;
  padding:0 0 54px !important;
  margin:0 0 54px !important;
}

/* Numéro à gauche. */
body.kesho-mentions-legales-page .kl-content section:not(.kl-final) > span{
  grid-column:1 !important;
  grid-row:1 / span 20 !important;
  margin:5px 0 0 !important;
}

/* Titre de section au centre. */
body.kesho-mentions-legales-page .kl-content section:not(.kl-final) > h2{
  grid-column:2 !important;
  margin:0 !important;
  font-size:clamp(2.25rem, 3.2vw, 3.7rem) !important;
}

/* Tout le contenu qui suit le titre part dans la grande colonne droite. */
body.kesho-mentions-legales-page .kl-content section:not(.kl-final) > h2 ~ *{
  grid-column:3 !important;
}

/* Les tableaux d'infos peuvent s'étaler davantage. */
body.kesho-mentions-legales-page .kl-data{
  width:100% !important;
  max-width:none !important;
  margin-top:0 !important;
  grid-template-columns:repeat(2, minmax(220px,1fr)) !important;
}

/* Paragraphes plus lisibles. */
body.kesho-mentions-legales-page .kl-content p{
  max-width:820px !important;
  font-size:.94rem !important;
  line-height:1.8 !important;
}

/* La fin de page reste centrée. */
body.kesho-mentions-legales-page .kl-content .kl-final{
  display:block !important;
  padding:54px 20px 0 !important;
}

/* Tablette */
@media(max-width:1100px){
  body.kesho-mentions-legales-page .kesho-legal{
    width:calc(100% - 56px) !important;
  }

  body.kesho-mentions-legales-page .kl-layout{
    grid-template-columns:210px minmax(0,1fr) !important;
    gap:50px !important;
  }

  body.kesho-mentions-legales-page .kl-content section:not(.kl-final){
    grid-template-columns:60px minmax(190px,260px) minmax(0,1fr) !important;
    column-gap:26px !important;
  }
}

/* Mobile et petite tablette */
@media(max-width:820px){
  body.kesho-mentions-legales-page .kesho-legal{
    width:calc(100% - 34px) !important;
  }

  body.kesho-mentions-legales-page .kl-layout{
    display:block !important;
    padding-top:54px !important;
  }

  body.kesho-mentions-legales-page .kl-index{
    display:none !important;
  }

  body.kesho-mentions-legales-page .kl-content section:not(.kl-final){
    display:block !important;
    padding-bottom:38px !important;
    margin-bottom:38px !important;
  }

  body.kesho-mentions-legales-page .kl-content section:not(.kl-final) > span{
    display:block !important;
    margin-bottom:12px !important;
  }

  body.kesho-mentions-legales-page .kl-content section:not(.kl-final) > h2{
    margin:0 0 22px !important;
  }

  body.kesho-mentions-legales-page .kl-data{
    grid-template-columns:1fr !important;
  }

  body.kesho-mentions-legales-page .kl-hero h1{
    font-size:clamp(48px, 13vw, 64px) !important;
  }
}


/* ==========================================================
   Keshō — Mentions légales v1.5
   Correction chevauchement des sections à titres longs
   ========================================================== */

/* Donne davantage de place au titre et décale le contenu vers la droite. */
@media (min-width: 1101px) {
  body.kesho-mentions-legales-page .kl-content section:not(.kl-final){
    grid-template-columns:70px minmax(300px, 390px) minmax(360px, 1fr) !important;
    column-gap:46px !important;
  }

  body.kesho-mentions-legales-page .kl-content section:not(.kl-final) > h2{
    max-width:390px !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  body.kesho-mentions-legales-page .kl-content section:not(.kl-final) > h2 ~ *{
    min-width:0 !important;
  }
}

/* Sur les écrans intermédiaires, on passe à une disposition plus sûre :
   numéro + titre, puis contenu en dessous sur toute la largeur. */
@media (min-width:821px) and (max-width:1250px) {
  body.kesho-mentions-legales-page .kl-content section:not(.kl-final){
    grid-template-columns:60px minmax(0,1fr) !important;
    column-gap:28px !important;
  }

  body.kesho-mentions-legales-page .kl-content section:not(.kl-final) > span{
    grid-column:1 !important;
    grid-row:1 !important;
  }

  body.kesho-mentions-legales-page .kl-content section:not(.kl-final) > h2{
    grid-column:2 !important;
    grid-row:1 !important;
    max-width:none !important;
    margin-bottom:28px !important;
  }

  body.kesho-mentions-legales-page .kl-content section:not(.kl-final) > h2 ~ *{
    grid-column:2 !important;
  }
}

/* Les deux noms restent côte à côte quand l'espace le permet,
   sinon les cartes passent proprement l'une sous l'autre. */
@media (min-width:821px) and (max-width:1050px) {
  body.kesho-mentions-legales-page .kl-data{
    grid-template-columns:1fr !important;
  }
}
