/* KPIZZ V388 - menu langues compact, visible et cliquable */
.kpizz-language-switcher{position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;margin:0 7px 0 0!important;padding:0!important;border:0!important;background:transparent!important;z-index:100005!important;pointer-events:auto!important}
.kpizz-language-current{appearance:none!important;-webkit-appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;width:50px!important;min-width:50px!important;height:40px!important;padding:4px 7px!important;margin:0!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:999px!important;background:#151518!important;color:#fff!important;cursor:pointer!important;box-shadow:0 6px 18px rgba(0,0,0,.28)!important;pointer-events:auto!important;touch-action:manipulation!important}
.kpizz-language-current:hover,.kpizz-language-current[aria-expanded="true"]{border-color:#ef3b36!important;background:#202024!important}
.kpizz-language-chevron{display:block!important;width:0!important;height:0!important;border-left:4px solid transparent!important;border-right:4px solid transparent!important;border-top:5px solid #fff!important;transition:transform .16s ease!important}
.kpizz-language-current[aria-expanded="true"] .kpizz-language-chevron{transform:rotate(180deg)!important}
.kpizz-language-menu{position:fixed!important;display:none!important;width:184px!important;padding:7px!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:15px!important;background:#111115!important;box-shadow:0 18px 42px rgba(0,0,0,.62)!important;z-index:2147483646!important;pointer-events:auto!important;touch-action:manipulation!important;isolation:isolate!important}
.kpizz-language-menu.open{display:grid!important;gap:4px!important}
.kpizz-language-option{appearance:none!important;-webkit-appearance:none!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;width:100%!important;min-height:40px!important;padding:7px 10px!important;margin:0!important;border:1px solid transparent!important;border-radius:10px!important;background:transparent!important;color:#fff!important;font-size:14px!important;font-weight:800!important;text-align:left!important;cursor:pointer!important;pointer-events:auto!important;touch-action:manipulation!important}
.kpizz-language-option:hover,.kpizz-language-option:focus{background:#27272c!important;outline:none!important}
.kpizz-language-option.active,.kpizz-language-option[aria-pressed="true"]{background:rgba(239,59,54,.20)!important;border-color:rgba(239,59,54,.65)!important}
.kpizz-flag-icon{display:block!important;width:27px!important;height:20px!important;min-width:27px!important;object-fit:cover!important;border-radius:4px!important;box-shadow:0 0 0 1px rgba(255,255,255,.25)!important;pointer-events:none!important}
.kpizz-language-current .kpizz-flag-icon{width:25px!important;height:18px!important;min-width:25px!important}
header nav>.kpizz-language-switcher{order:-1!important}
@media(max-width:900px){.kpizz-language-switcher{margin-right:5px!important}.kpizz-language-current{width:46px!important;min-width:46px!important;height:36px!important;padding:3px 6px!important}.kpizz-language-menu{width:176px!important}.kpizz-language-option{font-size:13px!important;min-height:38px!important}}
@media(max-width:640px){.kpizz-language-current{width:43px!important;min-width:43px!important;height:34px!important;padding:3px 5px!important}.kpizz-language-current .kpizz-flag-icon{width:22px!important;height:16px!important;min-width:22px!important}}


/* KPIZZ V417 : correction du selecteur de langue sur telephone */
@media(max-width:680px){
  header nav,
  header nav.public-nav{
    justify-content:flex-start!important;
    padding-left:2px!important;
    padding-right:2px!important;
    scroll-padding-left:2px!important;
  }
  header nav>.kpizz-language-switcher,
  header nav.public-nav>.kpizz-language-switcher{
    order:0!important;
    margin-left:0!important;
    margin-right:8px!important;
    flex:0 0 auto!important;
  }
}


/* KPIZZ V418 : telephone - selecteur de langue compact, visible et sans gros carre noir */
@media(max-width:680px){
  header nav,
  header nav.public-nav{
    align-items:center!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }
  header nav>.kpizz-language-switcher,
  header nav.public-nav>.kpizz-language-switcher{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    align-self:center!important;
    margin:0 8px 0 0!important;
    padding:0!important;
  }
  .kpizz-language-current{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:44px!important;
    height:32px!important;
    padding:4px 8px!important;
    gap:6px!important;
    border-radius:12px!important;
    background:#151518!important;
    box-shadow:0 4px 12px rgba(0,0,0,.22)!important;
    overflow:hidden!important;
  }
  .kpizz-language-current .kpizz-flag-icon{
    display:block!important;
    width:20px!important;
    height:14px!important;
    min-width:20px!important;
    flex:0 0 20px!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .kpizz-language-chevron{
    flex:0 0 auto!important;
    margin-left:0!important;
  }
}
@media(max-width:430px){
  .kpizz-language-current{
    min-width:40px!important;
    height:30px!important;
    padding:4px 7px!important;
    gap:5px!important;
  }
  .kpizz-language-current .kpizz-flag-icon{
    width:18px!important;
    height:13px!important;
    min-width:18px!important;
    flex-basis:18px!important;
  }
}

/* KPIZZ V419 : telephone - drapeau entier visible dans l'entete */
@media(max-width:680px){
  header{overflow:visible!important}
  header nav,
  header nav.public-nav{
    justify-content:flex-start!important;
    align-items:center!important;
    gap:8px!important;
    padding-left:0!important;
    padding-right:0!important;
    scroll-padding-left:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }
  header nav>.kpizz-language-switcher,
  header nav.public-nav>.kpizz-language-switcher{
    order:-1!important;
    flex:0 0 auto!important;
    margin:0 6px 0 0!important;
    padding:0!important;
    position:relative!important;
    left:0!important;
  }
  .kpizz-language-current{
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:32px!important;
    min-height:32px!important;
    padding:3px 6px!important;
    gap:4px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .kpizz-language-current .kpizz-flag-icon{
    width:20px!important;
    height:14px!important;
    min-width:20px!important;
    flex:0 0 20px!important;
    display:block!important;
  }
  .kpizz-language-chevron{transform:none!important}
}
@media(max-width:430px){
  header nav,
  header nav.public-nav{gap:7px!important}
  .kpizz-language-current{
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    height:30px!important;
    min-height:30px!important;
    padding:3px 5px!important;
  }
  .kpizz-language-current .kpizz-flag-icon{
    width:18px!important;
    height:13px!important;
    min-width:18px!important;
    flex-basis:18px!important;
  }
}

/* KPIZZ V659 : entete - drapeau sans bulle autour du selecteur de langue. */
.kpizz-language-current,
.kpizz-language-current:hover,
.kpizz-language-current:focus,
.kpizz-language-current:focus-visible,
.kpizz-language-current[aria-expanded="true"]{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  padding:2px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  outline:none!important;
}
@media(max-width:680px){
  .kpizz-language-current,
  .kpizz-language-current:hover,
  .kpizz-language-current:focus,
  .kpizz-language-current:focus-visible,
  .kpizz-language-current[aria-expanded="true"]{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    padding:2px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
}

/* KPIZZ V548 : présentation harmonisée des pages légales.
   Chargée après les anciens correctifs : elle remet Mentions légales au même niveau visuel que les CGV
   sans modifier le contenu juridique. */
main.legal-page{
  width:min(1120px,calc(100% - 28px))!important;
  max-width:1120px!important;
  margin:0 auto!important;
  padding:30px 0 50px!important;
  color:#fff!important;
  box-sizing:border-box!important;
}
main.legal-page .legal-hero{
  display:block!important;
  width:100%!important;
  margin:0 0 18px!important;
  padding:28px 30px!important;
  border:1px solid rgba(229,57,53,.28)!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,rgba(229,57,53,.15),rgba(255,255,255,.04))!important;
  box-shadow:none!important;
  overflow:visible!important;
}
main.legal-page .legal-kicker{
  display:inline-block!important;
  width:auto!important;
  margin:0!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  background:rgba(229,57,53,.16)!important;
  border:1px solid rgba(229,57,53,.38)!important;
  color:#fff!important;
  font-size:.86rem!important;
  line-height:1.2!important;
  font-weight:800!important;
}
main.legal-page .legal-hero h1{
  margin:12px 0 8px!important;
  color:#fff!important;
  font-size:clamp(2rem,5vw,4rem)!important;
  line-height:1.05!important;
  font-weight:900!important;
}
main.legal-page .legal-hero p{
  margin:0!important;
  color:#c7c7cc!important;
  font-size:1rem!important;
  line-height:1.55!important;
}
main.legal-page .legal-content{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
main.legal-page .legal-card{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:22px 24px!important;
  border-radius:20px!important;
  background:#101014!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:none!important;
  overflow:visible!important;
}
main.legal-page .legal-card h2{
  margin:0 0 12px!important;
  color:#fff!important;
  font-size:1.25rem!important;
  line-height:1.25!important;
  font-weight:900!important;
}
main.legal-page .legal-card p,
main.legal-page .legal-card li{
  margin-top:0!important;
  color:#e6e6e8!important;
  font-size:1rem!important;
  line-height:1.65!important;
}
main.legal-page .legal-card p:last-child{margin-bottom:0!important}
main.legal-page .legal-card ul{padding-left:20px!important}
main.legal-page a{
  color:#fff!important;
  text-underline-offset:3px!important;
}
main.legal-page .legal-note{
  padding:14px 16px!important;
  border-left:4px solid #e53935!important;
  border-radius:12px!important;
  background:rgba(229,57,53,.08)!important;
  color:#f2f2f2!important;
  line-height:1.55!important;
}
main.legal-page .legal-actions{
  display:flex!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  margin-top:8px!important;
}
main.legal-page .legal-actions .btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:12px 17px!important;
  border-radius:12px!important;
  background:#e53935!important;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:800!important;
}
main.legal-page .legal-actions .btn-dark{
  background:#17171c!important;
  border:1px solid rgba(255,255,255,.12)!important;
}
@media(max-width:760px){
  main.legal-page{
    width:calc(100% - 20px)!important;
    padding:16px 0 36px!important;
  }
  main.legal-page .legal-hero,
  main.legal-page .legal-card{
    padding:18px!important;
  }
  main.legal-page .legal-hero{
    border-radius:20px!important;
    margin-bottom:14px!important;
  }
  main.legal-page .legal-card{border-radius:18px!important}
  main.legal-page .legal-hero h1{font-size:2.2rem!important}
  main.legal-page .legal-content{gap:12px!important}
}
