/* Accueil uniquement. Noir #090907 et jaune #CCD61C du logo. */
@font-face {
  font-family: "fontello";
  src: url("/sites/assets/fonts/fontello.woff2?24250026") format("woff2"),
       url("/sites/assets/fonts/fontello.woff?24250026") format("woff"),
       url("/sites/assets/fonts/fontello.ttf?24250026") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

body.page-home {
  --rp-black: #090907;
  --rp-yellow: #CCD61C;
  --rp-paper: #f6f5f0;
  --rp-muted: #3c3c38;
  background: var(--rp-paper);
  overflow-x: clip;
}

body.page-home #header.bg-chr {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0.75rem 1.25rem !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 2 !important;
  background: var(--rp-black) !important;
  background-image: none !important;
  color: #f7f7f5 !important;
  border-bottom: 3px solid var(--rp-yellow) !important;
  padding: 0.85rem 1rem 1rem !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.page-home #header > #logo,

body.page-home #header > #titre,

body.page-home #header > .col3,

body.page-home #header > .col6 {
  position: static !important;
  float: none !important;
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: 1 1 16rem !important;
  height: auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.page-home #header > #logo {
  flex: 0 1 12rem !important;
  text-align: center !important;
}

body.page-home #header #logo img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
}

body.page-home #header a {
  color: #f7f7f5 !important;
}

body.page-home #slogan,

body.page-home #slogan strong {
  color: var(--rp-yellow) !important;
  text-indent: 0 !important;
}

body.page-home #header #titre {
  display: block !important;
}

body.page-home #header #titre:before {
  content: none !important;
  display: none !important;
}

body.page-home #recherche_form,

body.page-home #header #titre form,

body.page-home #header #titre form div + div {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.page-home #header #titre form input,

body.page-home #motcle {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 2.75rem !important;
  box-sizing: border-box !important;
  background: #fff !important;
  color: var(--rp-black) !important;
  border: 1px solid var(--rp-yellow) !important;
  border-radius: 2px !important;
  padding: 0 3rem 0 0.75rem !important;
}

body.page-home #header #titre form button,

body.page-home #header .btn-primary,

body.page-home #header .btn-success,

body.page-home #header #btn_header a,

body.page-home #header #phone-btn {
  background: var(--rp-yellow) !important;
  background-image: none !important;
  color: var(--rp-black) !important;
  border-color: var(--rp-yellow) !important;
}

body.page-home #header #titre form button {
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  width: 2.75rem !important;
  height: 2.75rem !important;
  line-height: 2.75rem !important;
  padding: 0 !important;
}

body.page-home #header #btn_header {
  position: static !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.4rem !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0.4rem 0 0 !important;
}

body.page-home #header #btn_header a {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 2.5rem !important;
  max-width: none !important;
  height: auto !important;
  min-height: 2.4rem !important;
  max-height: none !important;
  text-indent: 0 !important;
  padding: 0.35rem 0.55rem !important;
  line-height: 1.2 !important;
}

body.page-home #header #btn_header a .icon,

body.page-home #header #btn_header a [class^="icon-"],

body.page-home #header #btn_header a [class*=" icon-"] {
  position: static !important;
  transform: none !important;
  color: var(--rp-black) !important;
  display: inline-block !important;
}

body.page-home #header #contact-appel,

body.page-home #header #contact-appel a#phone-btn,

body.page-home #phone-btn {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  line-height: 1.25 !important;
  overflow: visible !important;
  top: auto !important;
  padding: 0.45rem 0.7rem !important;
  box-sizing: border-box !important;
}

body.page-home #phone-btn .horaires,

body.page-home #phone-btn .tel-number,

body.page-home #phone-btn .text-secondary,

body.page-home #phone-btn .horaires > span,

body.page-home #phone-btn .icon {
  position: static !important;
  display: inline !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  background: transparent !important;
  background-image: none !important;
  color: var(--rp-black) !important;
  transform: none !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  line-height: 1.25 !important;
}

body.page-home #avis_verifies,

body.page-home #avis_verifies img {
  max-width: 72px !important;
  height: auto !important;
}

body.page-home #page.parallax,

body.page-home main#page {
  background: var(--rp-paper) !important;
  background-image: none !important;
  position: relative !important;
  z-index: 1 !important;
  margin: 0 !important;
  padding: 0 0 5.5rem !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow-x: clip !important;
  text-align: left !important;
}

body.page-home #bottom {
  position: relative !important;
  z-index: 1 !important;
  clear: both !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  background: var(--rp-black) !important;
  background-image: none !important;
  color: #f7f7f5 !important;
  box-sizing: border-box !important;
}

body.page-home #bottom .letterpress,

body.page-home #bottom h3,

body.page-home #bottom a {
  color: #f7f7f5 !important;
}

body.page-home #bottom .prefooter {
  background: var(--rp-yellow) !important;
  color: var(--rp-black) !important;
}

body.page-home #bottom .prefooter a {
  color: var(--rp-black) !important;
}

body.page-home #bottom .col4 {
  float: none !important;
  display: inline-block !important;
  vertical-align: top !important;
  width: 32% !important;
  max-width: 32% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.page-home .rp-home{
  width: min(1120px, calc(100% - 2rem));
  max-width: 100%;
  margin: 1.25rem auto 2rem;
  color: var(--rp-black);
  font-family: "Open Sans", Arial, sans-serif;
  box-sizing: border-box;
}

body.page-home .rp-hero,
body.page-home .rp-cats,
body.page-home .rp-reassure {
  margin: 0 0 1.5rem;
  min-width: 0;
  max-width: 100%;
}

body.page-home .rp-hero{
  background: var(--rp-black);
  color: #f7f7f5;
  padding: 2rem 1.25rem;
}

body.page-home .rp-hero-copy{
  max-width: 40rem;
}

body.page-home .rp-kicker{
  margin: 0 0 0.55rem;
  color: var(--rp-yellow);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.85rem;
}

body.page-home .rp-hero h1{
  margin: 0 0 0.75rem;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  line-height: 1.15;
  color: #fff;
}

body.page-home .rp-hero p{
  margin: 0 0 1rem;
  line-height: 1.5;
  font-size: 1.05rem;
  color: #f7f7f5;
}

body.page-home .rp-cta {
  display: inline-block;
  background: var(--rp-yellow);
  color: var(--rp-black);
  text-decoration: none;
  font-weight: 700;
  padding: 0.75rem 1.05rem;
  border-radius: 2px;
  line-height: 1.2;
}

body.page-home .rp-cta:hover,
body.page-home .rp-cta:focus {
  background: #e4ef4a;
  color: var(--rp-black);
}

body.page-home .rp-cats h2 {
  margin: 0 0 0.75rem;
  color: var(--rp-black);
  font-size: 1.35rem;
  line-height: 1.25;
  background: none;
}

body.page-home .rp-cat-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.85rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

body.page-home .rp-cat-grid{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.page-home .rp-cat-grid > li{
  min-width: 0;
  margin: 0;
}

body.page-home .rp-cat,
body.page-home .rp-cat-label{
  white-space: normal !important;
  overflow-wrap: break-word;
  word-break: break-word;
  max-width: 100%;
}

body.page-home .rp-cat{
  display: flex;
  align-items: flex-end;
  min-height: 6.5rem;
  height: 100%;
  box-sizing: border-box;
  padding: 0.9rem;
  background: #fff;
  color: var(--rp-black);
  text-decoration: none;
  border: 1px solid #dedcd3;
  border-bottom: 4px solid var(--rp-black);
  font-weight: 700;
  line-height: 1.3;
  overflow: visible;
}

body.page-home .rp-cat:hover,
body.page-home .rp-cat:focus{
  background: var(--rp-black);
  color: #fff;
  border-bottom-color: var(--rp-yellow);
}

body.page-home .rp-reassure{
  background: var(--rp-yellow);
  color: var(--rp-black);
}

body.page-home .rp-reassure ul{
  list-style: none;
  margin: 0;
  padding: 0.95rem 1rem;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem 1rem;
}

body.page-home .rp-reassure li,
body.page-home .rp-reassure a{
  color: var(--rp-black);
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1.35;
}

body.page-home .rp-badge{
  display: inline-block;
  margin-left: 0.35rem;
  padding: 0.1rem 0.4rem;
  background: var(--rp-yellow);
  color: var(--rp-black);
  font-size: 0.8rem;
  font-weight: 700;
  vertical-align: middle;
}

body.page-home .rp-cat-source{
  display: none;
}

@media (max-width: 900px) {
  body.page-home .rp-cat-grid,
body.page-home .rp-reassure ul{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.page-home #bottom .col4 {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
  }
}

@media (max-width: 720px) {
  
  body.page-home .rp-hero{
    padding: 1.35rem 1rem;
  }

  body.page-home #header > #logo,

  body.page-home #header > #titre,

  body.page-home #header > .col3 {
    flex: 1 1 100% !important;
  }
}

@media (max-width: 480px) {
  body.page-home .rp-cat-grid,
  body.page-home .rp-reassure ul {
    grid-template-columns: 1fr;
  }

  body.page-home #header {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.page-home #header > #logo,

  body.page-home #header > #titre,

  body.page-home #header > .col3 {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.page-home #header > .col3 {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.6rem !important;
  }

  body.page-home #header #contact-appel {
    order: 1 !important;
  }

  body.page-home #header #btn_header {
    order: 2 !important;
    width: 100% !important;
    justify-content: flex-start !important;
  }

  body.page-home #header #phone-btn,

  body.page-home #header #contact-appel a#phone-btn {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
  }
}

@media (min-width: 1100px) {
  
  body.page-home #page,

  body.page-home main,

  body.page-home main#page {
    padding-top: 0 !important;
  }

  }

/* Chrome clair, une seule barre. Texte #090907, accent #CCD61C. */
header#header.rp-topbar,
body.page-home header#header.rp-topbar {
  display: block !important;
  float: none !important;
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #fff !important;
  background-image: none !important;
  color: #090907 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(9, 9, 7, 0.14) !important;
  box-sizing: border-box !important;
}
header#header.rp-topbar .rp-bar,
body.page-home header#header.rp-topbar .rp-bar {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.75rem !important;
  width: 100% !important;
  max-width: 1180px !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 auto !important;
  padding: 0.55rem 1rem !important;
  box-sizing: border-box !important;
  background: transparent !important;
}
header#header.rp-topbar #logo,
body.page-home header#header.rp-topbar #logo {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0.55rem !important;
  flex: 0 0 auto !important;
  float: none !important;
  position: static !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 15rem !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  text-decoration: none !important;
  color: #090907 !important;
  background: transparent !important;
}
header#header.rp-topbar #logo img,
body.page-home header#header.rp-topbar #logo img {
  display: block !important;
  width: auto !important;
  max-width: 9.2rem !important;
  height: 44px !important;
  margin: 0 !important;
  object-fit: contain !important;
}
header#header.rp-topbar #slogan,
header#header.rp-topbar #slogan strong,
body.page-home header#header.rp-topbar #slogan,
body.page-home header#header.rp-topbar #slogan strong {
  display: block !important;
  position: static !important;
  width: auto !important;
  max-width: 6.5rem !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  text-indent: 0 !important;
  color: #090907 !important;
  background: transparent !important;
  font-size: 0.68rem !important;
  line-height: 1.15 !important;
  font-weight: 500 !important;
}
header#header.rp-topbar #slogan strong,
body.page-home header#header.rp-topbar #slogan strong {
  font-size: 0.78rem !important;
  font-weight: 700 !important;
}
header#header.rp-topbar #titre,
body.page-home header#header.rp-topbar #titre {
  display: block !important;
  flex: 1 1 auto !important;
  float: none !important;
  position: static !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
}
header#header.rp-topbar #titre:before,
body.page-home header#header.rp-topbar #titre:before {
  content: none !important;
  display: none !important;
  background: none !important;
}
header#header.rp-topbar h1,
body.page-home header#header.rp-topbar h1 {
  display: block !important;
  position: static !important;
  height: auto !important;
  max-height: 1.3rem !important;
  margin: 0 0 0.25rem !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: #090907 !important;
  background: transparent !important;
  font-size: 0.95rem !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}
header#header.rp-topbar a,
body.page-home header#header.rp-topbar a {
  color: #090907 !important;
}
header#header.rp-topbar #recherche_form,
header#header.rp-topbar #titre form,
body.page-home header#header.rp-topbar #recherche_form,
body.page-home header#header.rp-topbar #titre form {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 0.5rem !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  background: transparent !important;
  box-sizing: border-box !important;
}
header#header.rp-topbar #avis_verifies,
body.page-home header#header.rp-topbar #avis_verifies {
  position: static !important;
  flex: 0 0 64px !important;
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 44px !important;
  max-height: 44px !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  align-self: center !important;
}
header#header.rp-topbar #avis_verifies img,
header#header.rp-topbar #avis_verifies a,
header#header.rp-topbar #avis_verifies div,
body.page-home header#header.rp-topbar #avis_verifies img,
body.page-home header#header.rp-topbar #avis_verifies a,
body.page-home header#header.rp-topbar #avis_verifies div {
  position: static !important;
  display: block !important;
  width: 64px !important;
  max-width: 64px !important;
  height: auto !important;
  max-height: 44px !important;
  margin: 0 !important;
  object-fit: contain !important;
  float: none !important;
}
header#header.rp-topbar .rp-search-field,
body.page-home header#header.rp-topbar .rp-search-field {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  position: static !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid rgba(9, 9, 7, 0.22) !important;
  border-radius: 0.4rem !important;
  box-sizing: border-box !important;
}
header#header.rp-topbar #motcle,
header#header.rp-topbar #titre form input,
body.page-home header#header.rp-topbar #motcle,
body.page-home header#header.rp-topbar #titre form input {
  display: block !important;
  position: static !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 42px !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 0.75rem !important;
  box-sizing: border-box !important;
  background: #fff !important;
  color: #090907 !important;
  border: 0 !important;
  border-radius: 0.4rem 0 0 0.4rem !important;
  font-size: 1rem !important;
  line-height: 42px !important;
  float: none !important;
}
header#header.rp-topbar #recherche_form button.submit,
header#header.rp-topbar #titre form button,
body.page-home header#header.rp-topbar #recherche_form button.submit,
body.page-home header#header.rp-topbar #titre form button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 2.75rem !important;
  max-width: none !important;
  height: 42px !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 0.8rem !important;
  line-height: 1 !important;
  text-indent: 0 !important;
  float: none !important;
  background: #CCD61C !important;
  background-image: none !important;
  color: #090907 !important;
  border: 0 !important;
  border-radius: 0 0.35rem 0.35rem 0 !important;
  box-sizing: border-box !important;
  cursor: pointer;
}
header#header.rp-topbar #titre form button span,
body.page-home header#header.rp-topbar #titre form button span {
  position: static !important;
  display: inline !important;
  width: auto !important;
  height: auto !important;
  text-indent: 0 !important;
  color: #090907 !important;
  background: transparent !important;
  transform: none !important;
  overflow: visible !important;
  clip: auto !important;
}
header#header.rp-topbar .rp-actions,
body.page-home header#header.rp-topbar .rp-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0.4rem !important;
  flex: 0 1 auto !important;
  float: none !important;
  position: static !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
header#header.rp-topbar #contact-appel,
header#header.rp-topbar a#phone-btn,
header#header.rp-topbar #phone-btn .horaires,
header#header.rp-topbar #phone-btn .horaires > span,
header#header.rp-topbar #phone-btn .tel-number,
header#header.rp-topbar #phone-btn .tel-number span,
body.page-home header#header.rp-topbar #contact-appel,
body.page-home header#header.rp-topbar a#phone-btn,
body.page-home header#header.rp-topbar #phone-btn .horaires,
body.page-home header#header.rp-topbar #phone-btn .horaires > span,
body.page-home header#header.rp-topbar #phone-btn .tel-number,
body.page-home header#header.rp-topbar #phone-btn .tel-number span {
  position: static !important;
  float: none !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  background-image: none !important;
  text-indent: 0 !important;
  box-sizing: border-box !important;
}
header#header.rp-topbar #contact-appel,
body.page-home header#header.rp-topbar #contact-appel {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  order: 0 !important;
}
header#header.rp-topbar a#phone-btn,
body.page-home header#header.rp-topbar a#phone-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 15rem !important;
  height: 44px !important;
  min-height: 0 !important;
  max-height: 44px !important;
  padding: 0 0.65rem !important;
  overflow: hidden !important;
  background: #CCD61C !important;
  color: #090907 !important;
  border: 0 !important;
  border-radius: 0.4rem !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
header#header.rp-topbar #phone-btn .horaires,
body.page-home header#header.rp-topbar #phone-btn .horaires {
  display: flex !important;
  flex-direction: column !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 12rem !important;
  height: auto !important;
  background: transparent !important;
  color: #090907 !important;
  font-size: 0.65rem !important;
  line-height: 1.1 !important;
}
header#header.rp-topbar #phone-btn .tel-number,
body.page-home header#header.rp-topbar #phone-btn .tel-number,
header#header.rp-topbar #phone-btn .rp-phone-note,
body.page-home header#header.rp-topbar #phone-btn .rp-phone-note {
  display: block !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  color: #090907 !important;
}
header#header.rp-topbar #phone-btn .tel-number,
body.page-home header#header.rp-topbar #phone-btn .tel-number {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
}
header#header.rp-topbar #btn_header,
body.page-home header#header.rp-topbar #btn_header {
  position: static !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 0.35rem !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
header#header.rp-topbar #btn_header a,
body.page-home header#header.rp-topbar #btn_header a {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.2rem !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 40px !important;
  min-height: 0 !important;
  max-height: 40px !important;
  margin: 0 !important;
  padding: 0 0.5rem !important;
  overflow: hidden !important;
  text-indent: 0 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  background: #fff !important;
  background-image: none !important;
  color: #090907 !important;
  border: 1px solid rgba(9, 9, 7, 0.18) !important;
  border-radius: 0.35rem !important;
  font-size: 0.82rem !important;
  line-height: 1 !important;
  float: none !important;
}
header#header.rp-topbar #btn_header a:hover,
body.page-home header#header.rp-topbar #btn_header a:hover {
  border-color: #CCD61C !important;
}
header#header.rp-topbar #btn_header a .icon,
header#header.rp-topbar #btn_header a [class^="icon-"],
header#header.rp-topbar #btn_header a [class*=" icon-"],
header#header.rp-topbar #btn_header a span,
body.page-home header#header.rp-topbar #btn_header a .icon,
body.page-home header#header.rp-topbar #btn_header a [class^="icon-"],
body.page-home header#header.rp-topbar #btn_header a [class*=" icon-"],
body.page-home header#header.rp-topbar #btn_header a span {
  position: static !important;
  display: inline !important;
  color: #090907 !important;
  background: transparent !important;
  transform: none !important;
  text-indent: 0 !important;
  width: auto !important;
  height: auto !important;
}
header#header.rp-topbar .rp-sr {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
}
main#page,
body.page-home main#page {
  padding-top: 0 !important;
}
footer#bottom.rp-footer,
body.page-home footer#bottom.rp-footer {
  display: block !important;
  float: none !important;
  clear: both !important;
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 0 4.5rem !important;
  overflow: visible !important;
  background: #f6f5f0 !important;
  background-image: none !important;
  color: #090907 !important;
  border-top: 2px solid #CCD61C !important;
  box-sizing: border-box !important;
}
footer#bottom.rp-footer .prefooter,
body.page-home footer#bottom.rp-footer .prefooter {
  display: block !important;
  position: static !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0.8rem 1rem 0.15rem !important;
  background: transparent !important;
  color: #090907 !important;
  text-align: center !important;
}
footer#bottom.rp-footer .prefooter a,
body.page-home footer#bottom.rp-footer .prefooter a {
  color: #090907 !important;
  background: transparent !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-decoration-color: #CCD61C !important;
}
footer#bottom.rp-footer .rp-footer-grid,
body.page-home footer#bottom.rp-footer .rp-footer-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.25rem 1.5rem !important;
  width: 100% !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 1.1rem 1rem 0.4rem !important;
  box-sizing: border-box !important;
  background: transparent !important;
  height: auto !important;
  overflow: visible !important;
}
footer#bottom.rp-footer .rp-footer-col,
body.page-home footer#bottom.rp-footer .rp-footer-col {
  display: block !important;
  float: none !important;
  position: static !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  color: #090907 !important;
}
footer#bottom.rp-footer .rp-footer-col h3,
footer#bottom.rp-footer .letterpress,
body.page-home footer#bottom.rp-footer .rp-footer-col h3,
body.page-home footer#bottom.rp-footer .letterpress {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 0 0.65rem !important;
  padding: 0 !important;
  overflow: visible !important;
  color: #090907 !important;
  background: transparent !important;
  font-size: 0.95rem !important;
  line-height: 1.3 !important;
  text-align: left !important;
  text-indent: 0 !important;
}
footer#bottom.rp-footer .rp-footer-col h3::after,
body.page-home footer#bottom.rp-footer .rp-footer-col h3::after {
  content: "" !important;
  display: block !important;
  width: 2rem !important;
  height: 2px !important;
  margin-top: 0.35rem !important;
  background: #CCD61C !important;
}
footer#bottom.rp-footer .rp-footer-col ul,
body.page-home footer#bottom.rp-footer .rp-footer-col ul {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  list-style: none !important;
  background: transparent !important;
}
footer#bottom.rp-footer .rp-footer-col li,
body.page-home footer#bottom.rp-footer .rp-footer-col li {
  display: block !important;
  position: static !important;
  float: none !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 0 0.4rem !important;
  padding: 0 !important;
  overflow: visible !important;
  color: #090907 !important;
  background: transparent !important;
  text-align: left !important;
  white-space: normal !important;
  line-height: 1.4 !important;
  font-size: 1rem !important;
}
footer#bottom.rp-footer a,
footer#bottom.rp-footer a[href^="tel:"],
body.page-home footer#bottom.rp-footer a,
body.page-home footer#bottom.rp-footer a[href^="tel:"] {
  display: inline !important;
  position: static !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  color: #090907 !important;
  background: transparent !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  white-space: normal !important;
  text-indent: 0 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(9, 9, 7, 0.35) !important;
  text-underline-offset: 0.12em;
}
footer#bottom.rp-footer a:hover,
body.page-home footer#bottom.rp-footer a:hover {
  text-decoration-color: #CCD61C !important;
}
footer#bottom.rp-footer .about,
body.page-home footer#bottom.rp-footer .about {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: 1100px !important;
  height: auto !important;
  max-height: none !important;
  margin: 0.5rem auto 0 !important;
  padding: 0.8rem 1rem 0.2rem !important;
  overflow: visible !important;
  border-top: 1px solid rgba(9, 9, 7, 0.12) !important;
  color: #090907 !important;
  background: transparent !important;
  text-align: left !important;
  line-height: 1.5 !important;
  box-sizing: border-box !important;
}
footer#bottom.rp-footer .about a,
body.page-home footer#bottom.rp-footer .about a {
  color: #090907 !important;
}
@media (max-width: 860px) {
  header#header.rp-topbar .rp-bar,
  body.page-home header#header.rp-topbar .rp-bar {
    flex-direction: column !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
    gap: 0.55rem !important;
  }
  header#header.rp-topbar #logo,
  header#header.rp-topbar #titre,
  header#header.rp-topbar .rp-actions,
  body.page-home header#header.rp-topbar #logo,
  body.page-home header#header.rp-topbar #titre,
  body.page-home header#header.rp-topbar .rp-actions {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
  }
  header#header.rp-topbar #recherche_form,
  body.page-home header#header.rp-topbar #recherche_form {
    width: 100% !important;
  }
  header#header.rp-topbar .rp-search-field,
  body.page-home header#header.rp-topbar .rp-search-field {
    width: 100% !important;
    flex: 1 1 auto !important;
  }
  header#header.rp-topbar .rp-actions,
  body.page-home header#header.rp-topbar .rp-actions {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }
  header#header.rp-topbar a#phone-btn,
  body.page-home header#header.rp-topbar a#phone-btn {
    width: auto !important;
    max-width: 46% !important;
    flex: 0 1 auto !important;
  }
  header#header.rp-topbar #btn_header,
  body.page-home header#header.rp-topbar #btn_header {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    flex-wrap: nowrap !important;
  }
  header#header.rp-topbar #btn_header a,
  body.page-home header#header.rp-topbar #btn_header a {
    padding: 0 0.35rem !important;
    font-size: 0.72rem !important;
    min-width: 0 !important;
  }
  footer#bottom.rp-footer .rp-footer-grid,
  body.page-home footer#bottom.rp-footer .rp-footer-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Bat les regles a 3 identifiants de l ancienne feuille d accueil. */
body.page-home header#header.rp-topbar #contact-appel a#phone-btn,
header#header.rp-topbar #contact-appel a#phone-btn {
  display: inline-flex !important;
  align-items: center !important;
  position: static !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 14rem !important;
  height: 44px !important;
  min-height: 0 !important;
  max-height: 44px !important;
  padding: 0 0.6rem !important;
  overflow: hidden !important;
  line-height: 1.1 !important;
  background: #CCD61C !important;
  color: #090907 !important;
  border-radius: 0.4rem !important;
}
body.page-home header#header.rp-topbar #contact-appel a#phone-btn .horaires,
body.page-home header#header.rp-topbar #contact-appel a#phone-btn .horaires > span,
body.page-home header#header.rp-topbar #contact-appel a#phone-btn .tel-number,
header#header.rp-topbar #contact-appel a#phone-btn .horaires,
header#header.rp-topbar #contact-appel a#phone-btn .horaires > span,
header#header.rp-topbar #contact-appel a#phone-btn .tel-number {
  position: static !important;
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 11rem !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
  background: transparent !important;
  background-image: none !important;
  color: #090907 !important;
  line-height: 1.1 !important;
}
@media (max-width: 860px) {
  body.page-home header#header.rp-topbar #contact-appel a#phone-btn,
  header#header.rp-topbar #contact-appel a#phone-btn {
    max-width: 46% !important;
    height: 44px !important;
    max-height: 44px !important;
  }
}

/* Numero lisible, icone plus en absolute au-dessus du logo. */
body.page-home header#header.rp-topbar #contact-appel a#phone-btn.phone,
header#header.rp-topbar #contact-appel a#phone-btn.phone {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: static !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 16rem !important;
  height: auto !important;
  min-height: 44px !important;
  max-height: none !important;
  padding: 0.3rem 0.7rem !important;
  overflow: visible !important;
  white-space: normal !important;
  line-height: 1.15 !important;
  background: #CCD61C !important;
  color: #090907 !important;
}
body.page-home header#header.rp-topbar #contact-appel a#phone-btn .icon-volume-control-phone,
header#header.rp-topbar #contact-appel a#phone-btn .icon-volume-control-phone {
  position: static !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}
body.page-home header#header.rp-topbar #contact-appel a#phone-btn .horaires,
header#header.rp-topbar #contact-appel a#phone-btn .horaires {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  white-space: normal !important;
  background: transparent !important;
  color: #090907 !important;
}
body.page-home header#header.rp-topbar #contact-appel a#phone-btn .tel-number,
header#header.rp-topbar #contact-appel a#phone-btn .tel-number {
  order: -1 !important;
  display: flex !important;
  flex-direction: column !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  white-space: nowrap !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  color: #090907 !important;
  background: transparent !important;
}
body.page-home header#header.rp-topbar #contact-appel a#phone-btn .rp-phone-note,
header#header.rp-topbar #contact-appel a#phone-btn .rp-phone-note {
  font-size: 0.65rem !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  color: #090907 !important;
  white-space: nowrap !important;
}
@media (max-width: 860px) {
  body.page-home header#header.rp-topbar #contact-appel a#phone-btn.phone,
  header#header.rp-topbar #contact-appel a#phone-btn.phone {
    max-width: none !important;
    height: 44px !important;
    min-height: 0 !important;
    max-height: 44px !important;
    padding: 0 0.45rem !important;
    overflow: hidden !important;
  }
  body.page-home header#header.rp-topbar #contact-appel a#phone-btn .horaires > span:not(.tel-number),
  body.page-home header#header.rp-topbar #contact-appel a#phone-btn .horaires > br,
  header#header.rp-topbar #contact-appel a#phone-btn .horaires > span:not(.tel-number),
  header#header.rp-topbar #contact-appel a#phone-btn .horaires > br,
  body.page-home header#header.rp-topbar #contact-appel a#phone-btn .rp-phone-note,
  header#header.rp-topbar #contact-appel a#phone-btn .rp-phone-note {
    display: none !important;
  }
  body.page-home header#header.rp-topbar #contact-appel a#phone-btn .tel-number,
  header#header.rp-topbar #contact-appel a#phone-btn .tel-number {
    font-size: 0.78rem !important;
    line-height: 1 !important;
    max-width: none !important;
  }
  body.page-home header#header.rp-topbar .rp-actions,
  header#header.rp-topbar .rp-actions {
    flex-wrap: nowrap !important;
    overflow: visible !important;
  }
}

@media (min-width: 861px) {
  body.page-home header#header.rp-topbar #contact-appel a#phone-btn.phone,
  header#header.rp-topbar #contact-appel a#phone-btn.phone {
    padding: 0.2rem 0.65rem !important;
    max-width: 18rem !important;
  }
  body.page-home header#header.rp-topbar #contact-appel a#phone-btn.phone .horaires,
  header#header.rp-topbar #contact-appel a#phone-btn.phone .horaires {
    align-items: flex-start !important;
    gap: 0 !important;
  }
  body.page-home header#header.rp-topbar #contact-appel a#phone-btn.phone .tel-number,
  header#header.rp-topbar #contact-appel a#phone-btn.phone .tel-number {
    flex-direction: row !important;
    align-items: baseline !important;
    gap: 0.35rem !important;
    font-size: 0.92rem !important;
  }
  body.page-home header#header.rp-topbar #contact-appel a#phone-btn.phone .horaires > br,
  header#header.rp-topbar #contact-appel a#phone-btn.phone .horaires > br {
    display: none !important;
  }
  body.page-home header#header.rp-topbar #contact-appel a#phone-btn.phone .horaires > span:not(.tel-number),
  header#header.rp-topbar #contact-appel a#phone-btn.phone .horaires > span:not(.tel-number) {
    display: inline !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    font-size: 0.65rem !important;
    line-height: 1.15 !important;
    white-space: normal !important;
  }
}

/* Largeur de contenu copiee sur Fourniresto : max-width 1400px, gouttiere laterale 20px. */
body.page-home .rp-home {
  width: min(1400px, calc(100% - 40px)) !important;
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
body.page-home .rp-cats {
  width: 100% !important;
  max-width: 1400px !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
header#header.rp-topbar .rp-bar,
body.page-home header#header.rp-topbar .rp-bar {
  width: min(1400px, calc(100% - 40px)) !important;
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}
footer#bottom.rp-footer .prefooter,
body.page-home footer#bottom.rp-footer .prefooter,
footer#bottom.rp-footer .rp-footer-grid,
body.page-home footer#bottom.rp-footer .rp-footer-grid,
footer#bottom.rp-footer .about,
body.page-home footer#bottom.rp-footer .about {
  width: min(1400px, calc(100% - 40px)) !important;
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* Ligne fine au-dessus de la barre principale. */
.rp-topline {
  display: block;
  width: 100%;
  background: #f6f5f0;
  color: #090907;
  border-bottom: 1px solid rgba(9, 9, 7, 0.12);
  box-sizing: border-box;
}
.rp-topline-inner {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 1.15rem;
  width: min(1400px, calc(100% - 40px));
  max-width: 1400px;
  min-height: 36px;
  margin: 0 auto;
  padding: 0.3rem 0;
  box-sizing: border-box;
  font-size: 0.8rem;
  line-height: 1.2;
}
.rp-topline-hours {
  margin-right: auto;
  color: #090907;
  font-size: 0.78rem;
}
.rp-topline-hours br {
  display: none;
}
.rp-topline-hours span,
.rp-topline .text-nowrap {
  display: inline;
  white-space: normal;
}
.rp-topline-link,
.rp-topline a {
  display: inline;
  position: static;
  width: auto;
  height: auto;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  background: transparent !important;
  background-image: none !important;
  color: #090907 !important;
  border: 0 !important;
  border-radius: 0;
  box-shadow: none;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}
.rp-topline a:hover {
  text-decoration: underline;
  text-decoration-color: #CCD61C;
}
.rp-topline .rp-phone-note {
  font-weight: 500;
  margin-right: 0.35rem;
}
header#header.rp-topbar,
body.page-home header#header.rp-topbar {
  background: #fff !important;
}
@media (min-width: 861px) {
  header#header.rp-topbar .rp-bar,
  body.page-home header#header.rp-topbar .rp-bar {
    min-height: 88px !important;
    height: auto !important;
  }
}
@media (max-width: 860px) {
  .rp-topline-inner {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 0.2rem 0.75rem;
    padding: 0.35rem 0;
  }
  .rp-topline-hours {
    margin-right: 0;
    flex: 1 1 100%;
  }
  header#header.rp-topbar .rp-actions,
  body.page-home header#header.rp-topbar .rp-actions {
    width: 100% !important;
  }
}

/* Corrections passe finale. */
html:has(body.page-home) {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  scroll-snap-type: none !important;
}
body.page-home {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}
body.page-home main#page.parallax {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  background-attachment: scroll !important;
}

@media (min-width: 861px) {
  header#header.rp-topbar nav#menu_produit.rp-catnav,
  body.page-home header#header.rp-topbar nav#menu_produit {
    position: static !important;
    display: block !important;
    float: none !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
    background-image: none !important;
    border: 0 !important;
    border-top: 1px solid rgba(9, 9, 7, 0.12) !important;
    box-shadow: none !important;
    z-index: 2 !important;
  }
  header#header.rp-topbar nav#menu_produit > p,
  header#header.rp-topbar nav#menu_produit > button,
  body.page-home header#header.rp-topbar nav#menu_produit > p,
  body.page-home header#header.rp-topbar nav#menu_produit > button {
    display: none !important;
  }
  header#header.rp-topbar nav#menu_produit > ul,
  body.page-home header#header.rp-topbar nav#menu_produit > ul {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    width: min(1400px, calc(100% - 40px)) !important;
    max-width: 1400px !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0.15rem 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    overflow: visible !important;
  }
  header#header.rp-topbar nav#menu_produit > ul > li.menu_produit_item,
  body.page-home header#header.rp-topbar nav#menu_produit > ul > li.menu_produit_item {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    float: none !important;
    position: relative !important;
  }
  header#header.rp-topbar nav#menu_produit > ul > li.menu_produit_item > a.nav-link,
  body.page-home header#header.rp-topbar nav#menu_produit > ul > li.menu_produit_item > a.nav-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.35rem !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0.45rem 0.55rem !important;
    background: transparent !important;
    color: #090907 !important;
    font-size: 0.78rem !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }
  header#header.rp-topbar nav#menu_produit > ul > li.menu_produit_item > a.nav-link .nav-link-label,
  header#header.rp-topbar nav#menu_produit > ul > li.menu_produit_item > a.nav-link .icon,
  body.page-home header#header.rp-topbar nav#menu_produit > ul > li.menu_produit_item > a.nav-link .nav-link-label,
  body.page-home header#header.rp-topbar nav#menu_produit > ul > li.menu_produit_item > a.nav-link .icon {
    color: #090907 !important;
    background: transparent !important;
    position: static !important;
    transform: none !important;
    width: auto !important;
    height: auto !important;
    font-size: 0.78rem !important;
    line-height: 1.2 !important;
  }
  header#header.rp-topbar nav#menu_produit > ul > li.menu_produit_item > a.nav-link .icon,
  body.page-home header#header.rp-topbar nav#menu_produit > ul > li.menu_produit_item > a.nav-link .icon {
    font-size: 1rem !important;
  }
  header#header.rp-topbar nav#menu_produit > ul > li.menu_produit_item > a.nav-link:hover .nav-link-label,
  header#header.rp-topbar nav#menu_produit > ul > li.menu_produit_item > a.nav-link:focus .nav-link-label,
  body.page-home header#header.rp-topbar nav#menu_produit > ul > li.menu_produit_item > a.nav-link:hover .nav-link-label,
  body.page-home header#header.rp-topbar nav#menu_produit > ul > li.menu_produit_item > a.nav-link:focus .nav-link-label {
    text-decoration: underline !important;
    text-decoration-color: #CCD61C !important;
    text-underline-offset: 0.28rem !important;
  }
}

@media (max-width: 860px) {
  header#header.rp-topbar nav#menu_produit:not(.opened),
  body.page-home header#header.rp-topbar nav#menu_produit:not(.opened) {
    display: none !important;
  }
  #mobile_nav {
    position: fixed !important;
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 40 !important;
    height: auto !important;
    max-height: none !important;
  }
  header#header.rp-topbar #avis_verifies,
  body.page-home header#header.rp-topbar #avis_verifies {
    display: none !important;
  }
  header#header.rp-topbar .rp-search-field,
  body.page-home header#header.rp-topbar .rp-search-field {
    width: 100% !important;
    flex: 1 1 100% !important;
  }
  header#header.rp-topbar #motcle,
  body.page-home header#header.rp-topbar #motcle {
    flex: 1 1 240px !important;
    min-width: 240px !important;
    width: auto !important;
  }
  header#header.rp-topbar #recherche_form button.submit,
  body.page-home header#header.rp-topbar #recherche_form button.submit {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 6.2rem !important;
    min-width: 0 !important;
    padding: 0 0.45rem !important;
  }
}

body.page-home .rp-reassure,
body.page-home .rp-reassure li,
body.page-home .rp-reassure a,
body.page-home .rp-reassure a:link,
body.page-home .rp-reassure a:visited,
body.page-home .rp-reassure a:hover {
  color: #090907 !important;
  background-color: transparent !important;
}
body.page-home .rp-reassure {
  background: #CCD61C !important;
  color: #090907 !important;
}
body.page-home a.rp-cta,
body.page-home a.rp-cta:link,
body.page-home a.rp-cta:visited,
body.page-home a.rp-cta:hover,
body.page-home a.rp-cta:focus {
  color: #090907 !important;
  background: #CCD61C !important;
}
body.page-home a.rp-cat,
body.page-home a.rp-cat:link,
body.page-home a.rp-cat:visited,
body.page-home a.rp-cat:hover,
body.page-home a.rp-cat:focus,
body.page-home .rp-cat-label {
  color: #090907 !important;
}
body.page-home a.rp-cat {
  display: flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
  background: #fff !important;
  border-bottom: 3px solid #CCD61C !important;
  font-size: 1.12rem !important;
  font-weight: 700 !important;
  min-height: 5.25rem !important;
  text-decoration: none !important;
}
body.page-home a.rp-cat .icon {
  color: #090907 !important;
  font-size: 1.35rem !important;
  line-height: 1 !important;
  flex: 0 0 auto !important;
}
body.page-home a.rp-cat .rp-cat-label {
  font-size: 1.12rem !important;
  line-height: 1.25 !important;
}
body.page-home a.rp-cat::after {
  content: "\2192";
  margin-left: auto;
  color: #090907;
  font-size: 1.25rem;
  line-height: 1;
}

/* Rang menu sur une ligne pour rester sous 190px. */
@media (min-width: 861px) {
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.navbar-nav {
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    overflow: hidden !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul > li.menu_produit_item > a.nav-link {
    padding: 0.28rem 0.22rem !important;
    font-size: 0.68rem !important;
    gap: 0.2rem !important;
  }
  header#header.rp-topbar.rp-topbar .rp-bar {
    min-height: 76px !important;
  }
}
@media (max-width: 860px) {
  nav#mobile_nav {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
    display: flex !important;
    justify-content: space-around !important;
    align-items: center !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  nav#mobile_nav #go_menu {
    position: static !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
}

/* Menu unique tout le site */
header#header.rp-topbar {
  position: relative;
  z-index: 20;
  overflow: visible !important;
  background: #fff !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav {
  position: relative !important;
  display: block !important;
  float: none !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #fff !important;
  background-image: none !important;
  border: 0 !important;
  border-top: 1px solid rgba(9, 9, 7, 0.12) !important;
  box-shadow: none !important;
  transform: none !important;
  z-index: 21 !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav > p,
header#header.rp-topbar nav#menu_produit.rp-catnav > button,
header#header.rp-topbar nav#menu_produit.rp-catnav .icon,
header#header.rp-topbar nav#menu_produit.rp-catnav .sous_menu {
  display: none !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0 !important;
  width: min(1400px, calc(100% - 40px)) !important;
  max-width: 1400px !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  overflow: visible !important;
  list-style: none !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item {
  display: flex !important;
  align-items: center !important;
  position: static !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  float: none !important;
  line-height: 1.2 !important;
  list-style: none !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link {
  display: inline-block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0.42rem 0.2rem !important;
  background: transparent !important;
  color: #090907 !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link:hover,
header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link:focus {
  color: #090907 !important;
  text-decoration: underline !important;
  text-decoration-color: #CCD61C !important;
  text-underline-offset: 0.28rem !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  background: #fff;
  border-top: 1px solid rgba(9, 9, 7, 0.12);
  border-bottom: 1px solid rgba(9, 9, 7, 0.12);
  box-shadow: 0 14px 28px rgba(9, 9, 7, 0.08);
  z-index: 30;
}
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-inner {
  width: min(1400px, calc(100% - 40px));
  max-width: 1400px;
  margin: 0 auto;
  padding: 1rem 0 1.2rem;
  column-count: 4;
  column-gap: 1.4rem;
  box-sizing: border-box;
}
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-col {
  break-inside: avoid;
  margin: 0 0 0.85rem;
}
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega a,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega a:link,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega a:visited {
  color: #090907 !important;
  background: transparent !important;
  text-decoration: none !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega a:hover,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega a:focus {
  color: #090907 !important;
  text-decoration: underline !important;
  text-decoration-color: #CCD61C !important;
  text-underline-offset: 0.18rem !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title {
  display: block;
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 0.25rem;
}
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub {
  list-style: none;
  margin: 0;
  padding: 0;
}
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a {
  display: block;
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.35;
  padding: 0.12rem 0;
}
@media (min-width: 861px) {
  header#header.rp-topbar .rp-bar {
    min-height: 72px !important;
    height: auto !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-catnav-item:hover > .rp-mega,
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-catnav-item:focus-within > .rp-mega,
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-catnav-item.is-open > .rp-mega {
    display: block !important;
  }
  nav#mobile_nav #rp-burger {
    display: none !important;
  }
}
@media (max-width: 860px) {
  header#header.rp-topbar nav#menu_produit.rp-catnav {
    display: none !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 46px !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: auto !important;
    background: #fff !important;
    z-index: 35 !important;
    border-top: 0 !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav.rp-open,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav.rp-open {
    display: block !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: calc(100% - 32px) !important;
    padding: 0.5rem 0 1rem !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item {
    flex-direction: column !important;
    align-items: stretch !important;
    border-bottom: 1px solid rgba(9, 9, 7, 0.12) !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link {
    padding: 0.75rem 0 !important;
    font-size: 1rem !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega {
    position: static !important;
    width: 100% !important;
    box-shadow: none !important;
    border: 0 !important;
    display: none !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-catnav-item.is-open > .rp-mega {
    display: block !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-inner {
    column-count: 1 !important;
    width: 100% !important;
    padding: 0 0 0.6rem !important;
  }
  nav#mobile_nav {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
    display: flex !important;
    justify-content: space-around !important;
    align-items: center !important;
    z-index: 40 !important;
    box-sizing: border-box !important;
  }
  nav#mobile_nav #rp-burger {
    position: static !important;
    display: inline-flex !important;
    width: auto !important;
    transform: none !important;
  }
}

/* Correctifs i : lignes du mega-menu et contenu sous le chrome. */
header#header.rp-topbar,
header#header.rp-topbar #titre {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub {
  display: block !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub li {
  display: block !important;
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0.2rem 0 !important;
  line-height: 1.35 !important;
  white-space: normal !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  white-space: normal !important;
  line-height: 1.35 !important;
  padding: 0.12rem 0 !important;
}
body:not(.page-home) main#page {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body:not(.page-home) .breadcrumbs,
body:not(.page-home) .breadcrumbs .inner {
  margin-top: 0 !important;
  position: static !important;
  top: auto !important;
}

/* Menu plus aéré. */
@media (min-width: 861px) {
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link {
    padding: 0.72rem 0.28rem !important;
    font-size: 0.84rem !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    letter-spacing: 0.01em !important;
    border-bottom: 2px solid transparent !important;
    text-decoration: none !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link:hover,
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link:focus,
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item.is-open > a.rp-catnav-link,
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item:hover > a.rp-catnav-link {
    border-bottom-color: #CCD61C !important;
    text-decoration: none !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega {
    box-shadow: 0 22px 48px rgba(9, 9, 7, 0.1) !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-inner {
    padding: 1.6rem 0 2rem !important;
    column-gap: 2.4rem !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-col {
    margin: 0 0 1.35rem !important;
  }
}
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title {
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  margin: 0 0 0.55rem !important;
  padding-bottom: 0.35rem !important;
  border-bottom: 2px solid #CCD61C !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub li {
  padding: 0.15rem 0 !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a {
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  padding: 0.32rem 0.4rem !important;
  border-radius: 4px !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a:hover,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a:focus {
  background: rgba(204, 214, 28, 0.35) !important;
  text-decoration: none !important;
}
@media (max-width: 860px) {
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link {
    padding: 0.95rem 0 !important;
    font-size: 1.05rem !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-inner {
    padding: 0.2rem 0 1rem !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a {
    font-size: 1rem !important;
    padding: 0.45rem 0.2rem !important;
  }
}

/* Menu : plus de filets jaunes, une seule bordure, survol discret. */
header#header.rp-topbar nav#menu_produit.rp-catnav,
header#header.rp-topbar nav#menu_produit.rp-catnav ul,
header#header.rp-topbar nav#menu_produit.rp-catnav li,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub li,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-catnav-link {
  border: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav {
  border-top: 1px solid rgba(9, 9, 7, 0.08) !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega {
  border: 0 !important;
  border-top: 1px solid rgba(9, 9, 7, 0.08) !important;
  box-shadow: 0 18px 40px rgba(9, 9, 7, 0.06) !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title {
  padding-bottom: 0 !important;
  margin: 0 0 0.45rem !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link {
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  transition: background-color 0.16s ease, color 0.16s ease !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link:hover,
header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link:focus,
header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item.is-open > a.rp-catnav-link,
header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item:hover > a.rp-catnav-link {
  border: 0 !important;
  background: #f3f2ec !important;
  color: #090907 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a {
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  transition: background-color 0.16s ease !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a:hover,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a:focus {
  background: #f3f2ec !important;
  color: #090907 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
@media (max-width: 860px) {
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item {
    border: 0 !important;
    border-bottom: 1px solid rgba(9, 9, 7, 0.08) !important;
  }
}

/* Menu : filet unique, onglet blanc, survol papier, aucun jaune dans le nav. */
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega a,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega a:link,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega a:visited,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega a:hover,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega a:focus,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title:hover,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title:focus,
body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega a:hover,
body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega a:focus,
body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title,
body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title:hover,
body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title:focus {
  border: 0 !important;
  border-color: transparent !important;
  box-shadow: none !important;
  background-image: none !important;
  text-decoration: none !important;
  text-decoration-color: #090907 !important;
  text-underline-offset: 0 !important;
  color: #090907 !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title:hover,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title:focus,
body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title:hover,
body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title:focus {
  background: transparent !important;
  font-weight: 700 !important;
  padding-bottom: 0 !important;
}
@media (min-width: 861px) {
  header#header.rp-topbar nav#menu_produit.rp-catnav,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav {
    border: 0 !important;
    border-top: 1px solid rgba(9, 9, 7, 0.12) !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega {
    top: calc(100% - 1px) !important;
    margin-top: 0 !important;
    border: 0 !important;
    border-top: 0 !important;
    border-bottom: 1px solid rgba(9, 9, 7, 0.08) !important;
    background: #fff !important;
    box-shadow: 0 18px 40px rgba(9, 9, 7, 0.06) !important;
    z-index: 30 !important;
  }
  header#header.rp-topbar:has(nav#menu_produit.rp-catnav .rp-catnav-item:hover),
  header#header.rp-topbar:has(nav#menu_produit.rp-catnav .rp-catnav-item.is-open),
  header#header.rp-topbar:has(nav#menu_produit.rp-catnav .rp-catnav-item:focus-within),
  body.page-home header#header.rp-topbar:has(nav#menu_produit.rp-catnav .rp-catnav-item:hover),
  body.page-home header#header.rp-topbar:has(nav#menu_produit.rp-catnav .rp-catnav-item.is-open),
  body.page-home header#header.rp-topbar:has(nav#menu_produit.rp-catnav .rp-catnav-item:focus-within) {
    border-bottom-color: transparent !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link {
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #090907 !important;
    text-decoration: none !important;
    text-decoration-color: #090907 !important;
    box-shadow: none !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link:hover,
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link:focus,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link:hover,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link:focus {
    border: 0 !important;
    border-radius: 8px !important;
    background: #f6f5f0 !important;
    color: #090907 !important;
    text-decoration: none !important;
    text-decoration-color: #090907 !important;
    box-shadow: none !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item.is-open > a.rp-catnav-link,
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item:has(.rp-mega):hover > a.rp-catnav-link,
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item:has(.rp-mega):focus-within > a.rp-catnav-link,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item.is-open > a.rp-catnav-link,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item:has(.rp-mega):hover > a.rp-catnav-link,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item:has(.rp-mega):focus-within > a.rp-catnav-link {
    position: relative !important;
    z-index: 40 !important;
    background: #fff !important;
    color: #090907 !important;
    border: 0 !important;
    border-radius: 8px 8px 0 0 !important;
    text-decoration: none !important;
    text-decoration-color: #090907 !important;
    box-shadow: 0 2px 0 #fff !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub,
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub li {
    display: block !important;
    border: 0 !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #090907 !important;
    text-decoration: none !important;
    text-decoration-color: #090907 !important;
    padding: 0.42rem 0.7rem !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a:hover,
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a:focus,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a:hover,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a:focus {
    background: #f3f2ec !important;
    color: #090907 !important;
    border: 0 !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    text-decoration-color: #090907 !important;
    box-shadow: none !important;
  }
}
@media (max-width: 860px) {
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item {
    border: 0 !important;
    border-top: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(9, 9, 7, 0.08) !important;
    box-shadow: none !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega,
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title,
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title:hover,
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link,
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link:hover,
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a,
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a:hover,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a:hover {
    border-color: transparent !important;
    text-decoration: none !important;
    text-decoration-color: #090907 !important;
    box-shadow: none !important;
  }
}

/* Footer e-commerce. */
footer#bottom.rp-footer,
body.page-home footer#bottom.rp-footer {
  background: #f6f5f0 !important;
  background-image: none !important;
  color: #090907 !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 0 5.5rem !important;
  font-family: "Open Sans", sans-serif !important;
}
footer#bottom.rp-footer .prefooter,
body.page-home footer#bottom.rp-footer .prefooter {
  position: static !important;
  top: auto !important;
  left: auto !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 2rem !important;
  width: min(1400px, calc(100% - 40px)) !important;
  max-width: 1400px !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 2rem 0 !important;
  background: transparent !important;
  background-image: none !important;
  color: #090907 !important;
  text-align: left !important;
  line-height: 1.4 !important;
  border-bottom: 1px solid rgba(9, 9, 7, 0.1) !important;
  box-sizing: border-box !important;
}
footer#bottom.rp-footer .rp-footer-cta-copy,
body.page-home footer#bottom.rp-footer .rp-footer-cta-copy {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}
footer#bottom.rp-footer .rp-footer-cta-title,
body.page-home footer#bottom.rp-footer .rp-footer-cta-title {
  margin: 0 !important;
  padding: 0 !important;
  color: #090907 !important;
  background: transparent !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 1.45rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
}
footer#bottom.rp-footer .rp-footer-cta-note,
body.page-home footer#bottom.rp-footer .rp-footer-cta-note {
  margin: 0.4rem 0 0 !important;
  padding: 0 !important;
  color: rgba(9, 9, 7, 0.68) !important;
  background: transparent !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}
footer#bottom.rp-footer .prefooter a.rp-footer-cta-btn,
body.page-home footer#bottom.rp-footer .prefooter a.rp-footer-cta-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0.85rem 1.35rem !important;
  background: #CCD61C !important;
  background-image: none !important;
  color: #090907 !important;
  border-radius: 999px !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
footer#bottom.rp-footer .prefooter a.rp-footer-cta-btn:hover,
footer#bottom.rp-footer .prefooter a.rp-footer-cta-btn:focus,
body.page-home footer#bottom.rp-footer .prefooter a.rp-footer-cta-btn:hover,
body.page-home footer#bottom.rp-footer .prefooter a.rp-footer-cta-btn:focus {
  background: #090907 !important;
  color: #fff !important;
  text-decoration: none !important;
}
footer#bottom.rp-footer .rp-footer-grid,
body.page-home footer#bottom.rp-footer .rp-footer-grid {
  display: grid !important;
  grid-template-columns: 1.2fr 1fr 1fr 1fr !important;
  gap: 2.2rem 2rem !important;
  width: min(1400px, calc(100% - 40px)) !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 2.2rem 0 1.6rem !important;
  box-sizing: border-box !important;
  background: transparent !important;
}
footer#bottom.rp-footer .rp-footer-col h3,
footer#bottom.rp-footer .letterpress,
body.page-home footer#bottom.rp-footer .rp-footer-col h3,
body.page-home footer#bottom.rp-footer .letterpress {
  margin: 0 0 0.9rem !important;
  padding: 0 !important;
  color: #090907 !important;
  background: transparent !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
  text-align: left !important;
  text-indent: 0 !important;
}
footer#bottom.rp-footer .rp-footer-col h3::after,
body.page-home footer#bottom.rp-footer .rp-footer-col h3::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
}
footer#bottom.rp-footer .rp-footer-col li,
body.page-home footer#bottom.rp-footer .rp-footer-col li {
  margin: 0 0 0.45rem !important;
  padding: 0 !important;
  color: rgba(9, 9, 7, 0.78) !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  text-align: left !important;
  max-width: none !important;
}
footer#bottom.rp-footer a,
footer#bottom.rp-footer a:link,
footer#bottom.rp-footer a:visited,
body.page-home footer#bottom.rp-footer a,
body.page-home footer#bottom.rp-footer a:link,
body.page-home footer#bottom.rp-footer a:visited {
  color: #090907 !important;
  background: transparent !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
}
footer#bottom.rp-footer .rp-footer-col a:hover,
footer#bottom.rp-footer .rp-footer-col a:focus,
body.page-home footer#bottom.rp-footer .rp-footer-col a:hover,
body.page-home footer#bottom.rp-footer .rp-footer-col a:focus {
  color: #090907 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(9, 9, 7, 0.45) !important;
  text-underline-offset: 0.16em !important;
}
footer#bottom.rp-footer .rp-footer-logo,
body.page-home footer#bottom.rp-footer .rp-footer-logo {
  display: inline-block !important;
  margin: 0 0 0.85rem !important;
  padding: 0 !important;
  background: transparent !important;
  text-decoration: none !important;
}
footer#bottom.rp-footer .rp-footer-logo img,
body.page-home footer#bottom.rp-footer .rp-footer-logo img {
  display: block !important;
  width: auto !important;
  max-width: 168px !important;
  height: auto !important;
  max-height: 48px !important;
  object-fit: contain !important;
}
footer#bottom.rp-footer .rp-footer-tag,
footer#bottom.rp-footer .rp-footer-meta,
body.page-home footer#bottom.rp-footer .rp-footer-tag,
body.page-home footer#bottom.rp-footer .rp-footer-meta {
  margin: 0 0 0.75rem !important;
  padding: 0 !important;
  color: rgba(9, 9, 7, 0.68) !important;
  background: transparent !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}
footer#bottom.rp-footer a.rp-footer-phone,
body.page-home footer#bottom.rp-footer a.rp-footer-phone {
  display: inline-block !important;
  margin: 0 0 0.35rem !important;
  color: #090907 !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}
footer#bottom.rp-footer a.rp-footer-phone:hover,
body.page-home footer#bottom.rp-footer a.rp-footer-phone:hover {
  text-decoration: none !important;
}
footer#bottom.rp-footer .rp-footer-paylabel,
body.page-home footer#bottom.rp-footer .rp-footer-paylabel {
  margin: 1.1rem 0 0.55rem !important;
  padding: 0 !important;
  color: #090907 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
}
footer#bottom.rp-footer .rp-pay,
body.page-home footer#bottom.rp-footer .rp-pay {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.4rem !important;
  margin: 0 !important;
  padding: 0 !important;
}
footer#bottom.rp-footer .rp-pay span,
body.page-home footer#bottom.rp-footer .rp-pay span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 2.6rem !important;
  height: 1.75rem !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  color: #090907 !important;
  border: 1px solid rgba(9, 9, 7, 0.14) !important;
  border-radius: 7px !important;
  font-family: fontello !important;
  font-size: 1.05rem !important;
  line-height: 1 !important;
}
footer#bottom.rp-footer .rp-footer-base,
body.page-home footer#bottom.rp-footer .rp-footer-base {
  width: min(1400px, calc(100% - 40px)) !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 1rem 0 0.2rem !important;
  border-top: 1px solid rgba(9, 9, 7, 0.1) !important;
  box-sizing: border-box !important;
  background: transparent !important;
}
footer#bottom.rp-footer .rp-footer-base p,
body.page-home footer#bottom.rp-footer .rp-footer-base p {
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(9, 9, 7, 0.55) !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}
@media (max-width: 980px) {
  footer#bottom.rp-footer .rp-footer-grid,
  body.page-home footer#bottom.rp-footer .rp-footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 1.6rem 1.25rem !important;
  }
}
@media (max-width: 860px) {
  footer#bottom.rp-footer .prefooter,
  body.page-home footer#bottom.rp-footer .prefooter {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 1rem !important;
    padding: 1.4rem 0 !important;
  }
  footer#bottom.rp-footer .rp-footer-cta-title,
  body.page-home footer#bottom.rp-footer .rp-footer-cta-title {
    font-size: 1.2rem !important;
  }
  footer#bottom.rp-footer .rp-footer-grid,
  body.page-home footer#bottom.rp-footer .rp-footer-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 1.5rem 0 1.2rem !important;
  }
}

/* Menu n : survol papier immédiat, un seul filet, aucun jaune dans le nav. */
header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega a,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title,
body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link,
body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega a,
body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title {
  transition: none !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega a:hover,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega a:focus,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title:hover,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title:focus,
body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega a:hover,
body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega a:focus,
body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title:hover,
body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title:focus {
  border: 0 !important;
  border-color: transparent !important;
  text-decoration: none !important;
  text-decoration-color: #090907 !important;
  text-decoration-line: none !important;
  color: #090907 !important;
  box-shadow: none !important;
  transition: none !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title:hover,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title:focus,
body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title:hover,
body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title:focus {
  background: transparent !important;
  font-weight: 700 !important;
}
@media (min-width: 861px) {
  header#header.rp-topbar nav#menu_produit.rp-catnav,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav {
    border-top: 1px solid rgba(9, 9, 7, 0.12) !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    background: #fff !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega {
    top: calc(100% - 1px) !important;
    border-top-width: 0 !important;
    border-top-color: transparent !important;
    background: #fff !important;
  }
  header#header.rp-topbar:has(nav#menu_produit.rp-catnav .rp-catnav-item:hover),
  header#header.rp-topbar:has(nav#menu_produit.rp-catnav .rp-catnav-item.is-open),
  header#header.rp-topbar:has(nav#menu_produit.rp-catnav .rp-catnav-item:focus-within),
  body.page-home header#header.rp-topbar:has(nav#menu_produit.rp-catnav .rp-catnav-item:hover),
  body.page-home header#header.rp-topbar:has(nav#menu_produit.rp-catnav .rp-catnav-item.is-open),
  body.page-home header#header.rp-topbar:has(nav#menu_produit.rp-catnav .rp-catnav-item:focus-within) {
    border-bottom-color: transparent !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link:hover,
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link:focus,
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item:hover > a.rp-catnav-link,
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item:has(.rp-mega):hover > a.rp-catnav-link,
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item:focus-within > a.rp-catnav-link,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link:hover,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link:focus,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item:hover > a.rp-catnav-link,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item:has(.rp-mega):hover > a.rp-catnav-link,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item:focus-within > a.rp-catnav-link {
    background: #f6f5f0 !important;
    color: #090907 !important;
    border: 0 !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    text-decoration-line: none !important;
    text-decoration-color: #090907 !important;
    box-shadow: none !important;
    transition: none !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item.is-open > a.rp-catnav-link,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item.is-open > a.rp-catnav-link {
    position: relative !important;
    z-index: 40 !important;
    background: #fff !important;
    color: #090907 !important;
    border: 0 !important;
    border-radius: 8px 8px 0 0 !important;
    text-decoration: none !important;
    text-decoration-color: #090907 !important;
    box-shadow: 0 2px 0 #fff !important;
    transition: none !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a:hover,
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a:focus,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a:hover,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a:focus {
    background: #f3f2ec !important;
    color: #090907 !important;
    border: 0 !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    text-decoration-line: none !important;
    text-decoration-color: #090907 !important;
    box-shadow: none !important;
    transition: none !important;
  }
}
@media (max-width: 860px) {
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item {
    border: 0 !important;
    border-bottom: 1px solid rgba(9, 9, 7, 0.08) !important;
    box-shadow: none !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > a.rp-catnav-link:hover,
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a:hover,
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title:hover {
    text-decoration: none !important;
    text-decoration-color: #090907 !important;
    border-color: transparent !important;
  }
}

/* Catalogue catégorie. Papier, cartes blanches, encre #090907, accent jaune uniquement sur les CTA. */
html:has(body.page-category) {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  scroll-snap-type: none !important;
}
body.page-category {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  background: #f6f5f0;
  color: #090907;
}
body.page-category main#page.parallax,
body.page-category main#page {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  background: #f6f5f0 !important;
  background-image: none !important;
  background-attachment: scroll !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 0 3rem !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  color: #090907;
  text-align: left;
  float: none !important;
}
body.page-category main#page,
body.page-category main#page * {
  box-sizing: border-box;
}
body.page-category main#page > .breadcrumbs,
body.page-category main#page > nav.rp-breadcrumb,
body.page-category main#page > article.max-960,
body.page-category main#page > #rubrique,
body.page-category main#page > #bottom_description,
body.page-category main#page > #definitions {
  width: min(1400px, calc(100% - 40px)) !important;
  max-width: min(1400px, calc(100% - 40px)) !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
}

body.page-category .breadcrumbs,
body.page-category nav.rp-breadcrumb,
body.page-category .breadcrumbs .inner {
  position: static !important;
  top: auto !important;
  margin: 0.85rem auto 0.35rem !important;
  padding: 0 !important;
  background: transparent !important;
  text-align: left !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.page-category .breadcrumbs .inner ul {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.2rem 0.15rem;
  justify-content: flex-start;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  width: auto !important;
}
body.page-category .breadcrumbs .inner ul li {
  display: inline-flex !important;
  align-items: center;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
  color: #3c3c38 !important;
  font-size: 0.875rem !important;
  float: none !important;
}
body.page-category .breadcrumbs .inner ul li + li::before {
  content: "/";
  margin: 0 0.4rem 0 0.15rem;
  color: #8a8a82;
}
body.page-category .breadcrumbs a,
body.page-category .breadcrumbs a span {
  color: #3c3c38 !important;
  text-decoration: none !important;
  background: transparent !important;
}

body.page-category .rp-cat-h1,
body.page-category .rp-cat-heading,
body.page-category h2.letterpress,
body.page-category header.letterpress,
body.page-category .font-title.letterpress {
  color: #090907 !important;
  background: none !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 1.65rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  line-height: 1.25 !important;
  text-align: left !important;
  text-shadow: none !important;
  margin: 0.35rem 0 0.7rem !important;
  padding: 0 0 0.35rem !important;
}

body.page-category .rp-guide-title {
  color: #090907 !important;
  background: none !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 1.45rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  line-height: 1.3 !important;
  text-align: left !important;
  text-shadow: none !important;
  margin: 1.5rem 0 0.85rem !important;
  padding: 0 !important;
}

body.page-category .rp-guide-header,
body.page-category .rp-guide-subtitle {
  color: #090907 !important;
  background: none !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em;
  line-height: 1.35 !important;
  text-align: left !important;
  text-shadow: none !important;
  margin: 1rem 0 0.5rem !important;
  padding: 0 !important;
}

/* Styles formulaires tunnel & compte client */
.rp-cart-title,
.rp-account-title {
  display: block !important;
  color: #090907 !important;
  background: none !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  line-height: 1.3 !important;
  text-shadow: none !important;
  margin: 1rem 0 1.25rem !important;
  padding: 0 0 0.5rem !important;
  border-bottom: 0 !important;
}

.rp-flow-h3,
.rp-account-h3 {
  color: #090907 !important;
  background: none !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em;
  line-height: 1.35 !important;
  text-shadow: none !important;
  margin: 1.25rem 0 0.65rem !important;
  padding: 0 !important;
}

.rp-flow,
section.rp-flow,
div.rp-flow {
  background: #fff !important;
  color: #090907 !important;
  max-width: 1100px !important;
  margin: 1.5rem auto 3rem !important;
  padding: 2rem !important;
  border-radius: 12px !important;
  border: 1px solid rgba(9, 9, 7, 0.08) !important;
  box-shadow: 0 4px 18px rgba(9, 9, 7, 0.04) !important;
  box-sizing: border-box !important;
}
body.page-category #rubrique > aside {
  text-align: left !important;
  margin: 0 0 1.25rem !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
body.page-category #rubrique > aside p,
body.page-category article.max-960 p {
  color: #3c3c38 !important;
  font-size: 0.98rem !important;
  line-height: 1.55 !important;
  text-align: left !important;
  max-width: 75ch;
  margin: 0 0 0.85rem !important;
}
body.page-category article.max-960 {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #090907 !important;
  text-align: left !important;
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
  padding: 0 !important;
  float: none !important;
}
body.page-category #focus-materiel {
  display: grid !important;
  grid-template-columns: 148px minmax(0, 1fr);
  gap: 0.5rem 1rem;
  align-items: start;
  text-align: left !important;
}
body.page-category #focus-materiel figure {
  grid-row: 1 / span 2;
  margin: 0 !important;
  width: 148px !important;
  height: 112px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #dedcd3;
  border-radius: 8px;
  padding: 0.4rem;
}
body.page-category #focus-materiel figure img {
  max-width: 100% !important;
  max-height: 96px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
}
body.page-category #focus-materiel nav,
body.page-category #focus-materiel nav.d-flex {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.25rem;
}
body.page-category #focus-materiel .btn,
body.page-category article.max-960 .btn-primary {
  background: #CCD61C !important;
  color: #090907 !important;
  border: 0 !important;
  border-radius: 6px !important;
  font-size: 0.9rem !important;
  line-height: 1.2 !important;
  padding: 0.5rem 0.8rem !important;
  width: auto !important;
  height: auto !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

body.page-category ul#sous_categories.multicateg {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 1.75rem !important;
  padding: 0 !important;
  list-style: none !important;
  justify-content: stretch !important;
  float: none !important;
}
body.page-category ul#sous_categories > li {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 0.35rem;
  position: relative !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 96px !important;
  max-height: none !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  padding: 0.9rem 2rem 0.85rem 0.95rem !important;
  background: #fff !important;
  color: #090907 !important;
  border: 1px solid #dedcd3 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  overflow: hidden;
  white-space: normal !important;
  float: none !important;
}
body.page-category ul#sous_categories > li::before {
  content: "";
  position: absolute;
  left: 0.95rem;
  top: 0.85rem;
  width: 18px;
  height: 3px;
  background: #CCD61C;
  border: 0;
  margin: 0;
}
body.page-category ul#sous_categories > li,
body.page-category ul#sous_categories > li * {
  white-space: normal !important;
}
body.page-category ul#sous_categories .fs-xs.absolute,
body.page-category ul#sous_categories .icon-froid {
  display: none !important;
}
body.page-category ul#sous_categories .relative {
  position: static !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
}
body.page-category ul#sous_categories a.nav-link {
  position: static !important;
  display: block !important;
  color: #090907 !important;
  font-weight: 600;
  font-size: 0.98rem !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  padding: 0 !important;
  background: transparent !important;
}
body.page-category ul#sous_categories a.nav-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
body.page-category ul#sous_categories .counter {
  position: static !important;
  display: block !important;
  color: #3c3c38 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: 0.8rem !important;
  line-height: 1.3 !important;
  padding: 0 !important;
  height: auto !important;
  width: auto !important;
}
body.page-category ul#sous_categories .product_menu {
  position: absolute !important;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  margin: 0 !important;
  color: #8a8a82 !important;
  line-height: 1 !important;
  z-index: 2;
}
body.page-category ul#sous_categories .icon-angle-right {
  font-size: 0.95rem !important;
}

body.page-category #rubrique:has(#advanced_search) {
  display: grid !important;
  grid-template-columns: 280px minmax(0, 1fr);
  column-gap: 24px;
  row-gap: 12px;
  align-items: start;
}
body.page-category #rubrique:has(#advanced_search) > h2 {
  grid-column: 1 / -1;
}
body.page-category #advanced_search {
  float: none !important;
  position: static !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  color: #090907 !important;
  border: 1px solid #dedcd3 !important;
  border-radius: 10px !important;
  overflow: hidden;
  text-align: left !important;
}
body.page-category #advanced_search .wrapper,
body.page-category #advanced_search form,
body.page-category #advanced_search .recherche_avance_rubrique {
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  color: #090907 !important;
}
body.page-category #advanced_search header,
body.page-category #advanced_search .bg-primary {
  background: #f6f5f0 !important;
  color: #090907 !important;
  border: 0 !important;
  text-align: left !important;
  padding: 0.75rem 0.9rem !important;
}
body.page-category #advanced_search h3,
body.page-category #advanced_search h4,
body.page-category #advanced_search .ui-accordion-header,
body.page-category #advanced_search .ui-state-default,
body.page-category #advanced_search .ui-state-active,
body.page-category #advanced_search .ui-widget-content {
  background: #fff !important;
  color: #090907 !important;
  border: 0 !important;
  border-bottom: 1px solid #eceae3 !important;
  border-radius: 0 !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  text-align: left !important;
  text-shadow: none !important;
  box-shadow: none !important;
}
body.page-category #advanced_search .ui-accordion-content,
body.page-category #advanced_search .recherche_avance_rubrique_form {
  background: #fff !important;
  color: #090907 !important;
  border: 0 !important;
  padding: 0.65rem 0.9rem 0.85rem !important;
  height: auto !important;
  overflow: visible !important;
}
body.page-category #advanced_search label {
  display: flex !important;
  align-items: center;
  gap: 0.45rem;
  color: #090907 !important;
  font-size: 0.88rem !important;
  line-height: 1.35;
  margin: 0.2rem 0 !important;
  cursor: pointer;
}
body.page-category #advanced_search select,
body.page-category #search_classement {
  display: block;
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
  background: #fff !important;
  color: #090907 !important;
  border: 1px solid #dedcd3 !important;
  border-radius: 6px !important;
  padding: 0.45rem 0.55rem !important;
  font-size: 0.9rem !important;
  margin: 0.35rem 0 0.6rem !important;
}
body.page-category #advanced_search .btn-primary,
body.page-category #show_results {
  background: #CCD61C !important;
  color: #090907 !important;
  border: 0 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
body.page-category #init_search_parameters {
  background: #fff !important;
  color: #090907 !important;
  border: 1px solid #dedcd3 !important;
  box-shadow: none !important;
}
body.page-category #advanced_search .ui-slider {
  background: #dedcd3 !important;
  border: 0 !important;
}
body.page-category #advanced_search .ui-slider-handle {
  background: #090907 !important;
  border-color: #090907 !important;
}

body.page-category section#products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  text-align: left !important;
}
body.page-category section#products > h2,
body.page-category section#products .produit_page_rubrique {
  grid-column: 1 / -1;
}
body.page-category #products > .row,
body.page-category #products #page-1,
body.page-category #products #page-1 > .row {
  display: contents !important;
}

body.page-category .produit_page_rubrique {
  margin: 0.25rem 0 0.75rem !important;
  text-align: center !important;
  float: none !important;
  width: 100% !important;
}
body.page-category .produit_page_rubrique .pages {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: center;
  align-items: center;
}
body.page-category .LIEN_pages,
body.page-category .LIEN_pages_fleche {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  height: 2.25rem !important;
  padding: 0 0.45rem !important;
  margin: 0 !important;
  background: #fff !important;
  color: #090907 !important;
  border: 1px solid #dedcd3 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  text-decoration: none !important;
  font-size: 0.9rem !important;
  line-height: 1 !important;
  float: none !important;
}
body.page-category .LIEN_pages.current {
  background: #090907 !important;
  color: #fff !important;
  border-color: #090907 !important;
}

body.page-category #bottom_description,
body.page-category #definitions {
  background: transparent !important;
  color: #090907 !important;
  border: 0 !important;
  text-align: left !important;
  padding-top: 1.5rem !important;
  float: none !important;
}
body.page-category #bottom_description .letterpress,
body.page-category #bottom_description h2,
body.page-category #bottom_description h3,
body.page-category #bottom_description p,
body.page-category #bottom_description li,
body.page-category #definitions,
body.page-category #definitions .letterpress,
body.page-category #definitions header,
body.page-category #definitions p,
body.page-category #definitions dt,
body.page-category #definitions dd {
  color: #090907 !important;
  text-align: left !important;
  background: transparent !important;
  text-shadow: none !important;
}
body.page-category #bottom_description h2.letterpress,
body.page-category #definitions header.letterpress {
  font-size: 1.35rem !important;
}
body.page-category #bottom_description article {
  background: #fff !important;
  border: 1px solid #dedcd3 !important;
  border-radius: 10px !important;
  color: #090907 !important;
  padding: 0.9rem 1rem !important;
}
body.page-category #bottom_description .col10,
body.page-category #bottom_description .col3,
body.page-category #bottom_description .col4,
body.page-category #bottom_description .col9,
body.page-category #bottom_description .col12 {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
}
body.page-category #bottom_description a {
  color: #090907 !important;
}

@media (max-width: 1100px) {
  body.page-category ul#sous_categories.multicateg,
  body.page-category section#products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.page-category #rubrique:has(#advanced_search) {
    grid-template-columns: 240px minmax(0, 1fr);
  }
}
@media (max-width: 860px) {
  body.page-category #rubrique:has(#advanced_search) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.page-category #focus-materiel {
    grid-template-columns: minmax(0, 1fr);
  }
  body.page-category #focus-materiel figure {
    grid-row: auto;
    width: 100% !important;
  }
}
@media (max-width: 640px) {
  body.page-category main#page > .breadcrumbs,
  body.page-category main#page > article.max-960,
  body.page-category main#page > #rubrique,
  body.page-category main#page > #bottom_description,
  body.page-category main#page > #definitions {
    width: min(1400px, calc(100% - 24px)) !important;
    max-width: min(1400px, calc(100% - 24px)) !important;
  }
  body.page-category ul#sous_categories.multicateg,
  body.page-category section#products {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.page-category h2.letterpress,
  body.page-category header.letterpress {
    font-size: 1.35rem !important;
  }
}

/* Correctifs catalogue : enlever le panneau noir, les pastilles prix et le bloc caractéristiques sombre. */
body.page-category #rubrique,
body.page-category main#page > article.max-960,
body.page-category #bottom_description,
body.page-category #definitions {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
body.page-category h2.letterpress,
body.page-category header.letterpress,
body.page-category .letterpress,
body.page-category #products h2 {
  font-family: "Open Sans", sans-serif !important;
  font-style: normal !important;
  text-align: left !important;
}
body.page-category .lineafter:after,
body.page-category .lineafter::after {
  content: none !important;
  display: none !important;
  background: none !important;
}
body.page-category ul#sous_categories,
body.page-category ul#sous_categories > li,
body.page-category ul#sous_categories a.nav-link {
  text-align: left !important;
}
body.page-category ul#sous_categories .product_menu {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Dernière ligne à gauche (text-align-last legacy) et prix empilés. */
body.page-category #rubrique,
body.page-category #rubrique h2,
body.page-category #products,
body.page-category #products h2,
body.page-category ul#sous_categories,
body.page-category ul#sous_categories > li,
body.page-category ul#sous_categories a,
body.page-category .letterpress {
  text-align: left !important;
  text-align-last: left !important;
}
@media (min-width: 1101px) {
  body.page-category #rubrique:has(#advanced_search) section#products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

body.page-category #rubrique > aside,
body.page-category #rubrique > aside p,
body.page-category article.max-960,
body.page-category article.max-960 p,
body.page-category #focus-materiel,
body.page-category #focus-materiel p {
  text-align: left !important;
  text-align-last: left !important;
}
body.page-category section#products.col9 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
@media (max-width: 1100px) {
  body.page-category section#products.col9 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px) {
  body.page-category section#products.col9 {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Grille feuille : les articles sont dans .row, pas enfants directs. */
body.page-category section#products.col9 {
  display: block !important;
}
body.page-category #products #page-1 {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
}
body.page-category #products #page-1 > .row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: none !important;
  float: none !important;
}
@media (max-width: 1100px) {
  body.page-category #products #page-1 > .row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px) {
  body.page-category #products #page-1 > .row {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

body.page-category #products .row::before,
body.page-category #products .row::after,
body.page-category #products #page-1::before,
body.page-category #products #page-1::after {
  content: none !important;
  display: none !important;
}

/* Catalogue q : cartes plus posées, barre d'outils calme, 4/2/1 colonnes. */
body.page-category ul#sous_categories a.nav-link,
body.page-category h2.letterpress,
body.page-category header.letterpress,
body.page-category .letterpress,
body.page-category #advanced_search,
body.page-category #advanced_search header,
body.page-category #advanced_search h3,
body.page-category #advanced_search label,
body.page-category #advanced_search select,
body.page-category #advanced_search button,
body.page-category .produit_page_rubrique,
body.page-category .produit_page_rubrique a {
  font-family: "Open Sans", sans-serif !important;
  font-style: normal !important;
}

body.page-category ul#sous_categories.multicateg {
  gap: 20px !important;
  margin: 0.4rem 0 2rem !important;
}

body.page-category ul#sous_categories > li {
  min-height: 112px !important;
  padding: 1.15rem 2.4rem 1.05rem 1.15rem !important;
  border-radius: 12px !important;
  border: 1px solid rgba(9, 9, 7, 0.1) !important;
  background: #fff !important;
  box-shadow: 0 8px 22px rgba(9, 9, 7, 0.06) !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease !important;
}

body.page-category ul#sous_categories > li::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
}

body.page-category ul#sous_categories > li:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(9, 9, 7, 0.12) !important;
}

body.page-category ul#sous_categories a.nav-link {
  font-size: 1.02rem !important;
  letter-spacing: -0.01em;
}

body.page-category section#products,
body.page-category #products #page-1 > .row {
  gap: 22px !important;
}

body.page-category #rubrique:has(#advanced_search) {
  display: block !important;
}

body.page-category #advanced_search {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  margin: 0 0 1.5rem !important;
  padding: 0 !important;
  background: #fff !important;
  color: #090907 !important;
  border: 1px solid rgba(9, 9, 7, 0.1) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  overflow: hidden;
}

body.page-category section#products.col9 {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
}

body.page-category #advanced_search > .wrapper,
body.page-category #advanced_search .wrapper.row,
body.page-category #advanced_search .recherche_avance_rubrique,
body.page-category #search_form {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

body.page-category #advanced_search > .wrapper > header,
body.page-category #advanced_search header.bg-primary {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.65rem !important;
  margin: 0 !important;
  padding: 0.75rem 1rem !important;
  background: #fff !important;
  color: #090907 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(9, 9, 7, 0.1) !important;
  border-radius: 0 !important;
  text-align: left !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

body.page-category .rp-cat-toolbar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0.65rem 1rem !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0.75rem 1rem !important;
  background: #fff !important;
  border-bottom: 1px solid rgba(9, 9, 7, 0.1) !important;
  box-sizing: border-box !important;
}

body.page-category #show_results,
body.page-category #start_search {
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0.4rem 0.8rem !important;
  background: #fff !important;
  color: #090907 !important;
  border: 1px solid rgba(9, 9, 7, 0.1) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

body.page-category .rp-cat-sort {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  margin: 0 !important;
  color: #090907 !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
}

body.page-category #search_classement {
  appearance: auto;
  margin: 0 !important;
  padding: 0.35rem 0.6rem !important;
  max-width: 100% !important;
  background: #fff !important;
  color: #090907 !important;
  border: 1px solid rgba(9, 9, 7, 0.1) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  font-size: 0.88rem !important;
}

body.page-category #advanced_search h3,
body.page-category #advanced_search .ui-accordion-header,
body.page-category #advanced_search .ui-state-default,
body.page-category #advanced_search .ui-state-active {
  background: transparent !important;
  background-image: none !important;
  color: #090907 !important;
  border: 0 !important;
  box-shadow: none !important;
  text-align: left !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
}

body.page-category #advanced_search .recherche_avance_rubrique_form,
body.page-category #advanced_search #accordion-search,
body.page-category #advanced_search #price_filter {
  background: #fff !important;
  color: #090907 !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.page-category #advanced_search .w-100,
body.page-category #search_buttons {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0.35rem 1rem 0.9rem !important;
  box-sizing: border-box !important;
}

body.page-category #products #page-1 > .produit_page_rubrique:first-child {
  display: none !important;
}

body.page-category .produit_page_rubrique {
  margin: 1.35rem 0 0.2rem !important;
  text-align: left !important;
  width: 100% !important;
}

body.page-category .produit_page_rubrique .pages {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.35rem !important;
  justify-content: flex-start !important;
}

body.page-category .produit_page_rubrique .pages a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 2.15rem !important;
  height: 2.15rem !important;
  margin: 0 !important;
  padding: 0 0.45rem !important;
  border-radius: 8px !important;
  border: 1px solid rgba(9, 9, 7, 0.1) !important;
  background: #fff !important;
  color: #090907 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

body.page-category .produit_page_rubrique .pages a.current {
  background: #090907 !important;
  color: #fff !important;
  border-color: #090907 !important;
}

body.page-category ul#sous_categories.multicateg,
body.page-category section#products,
body.page-category #products #page-1 > .row {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.page-category ul#sous_categories,
body.page-category #advanced_search,
body.page-category #search_form,
body.page-category .rp-cat-toolbar {
  max-width: 100% !important;
  min-width: 0 !important;
}

@media (max-width: 980px) {
  body.page-category ul#sous_categories.multicateg,
  body.page-category section#products,
  body.page-category #products #page-1 > .row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 699px) {
  body.page-category ul#sous_categories.multicateg,
  body.page-category section#products,
  body.page-category #products #page-1 > .row {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.page-category main#page > .breadcrumbs,
  body.page-category main#page > article.max-960,
  body.page-category main#page > #rubrique,
  body.page-category main#page > #bottom_description,
  body.page-category main#page > #definitions {
    width: min(1400px, calc(100% - 40px)) !important;
    max-width: min(1400px, calc(100% - 40px)) !important;
  }
}

/* Barre de filtres en pastilles, style catalogue. */
body.page-category #advanced_search {
  overflow: visible !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 28px rgba(9, 9, 7, 0.05) !important;
}
body.page-category #search_form {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0.5rem !important;
  padding: 0.7rem 0.85rem !important;
  overflow: visible !important;
}
body.page-category #advanced_search .w-100,
body.page-category #advanced_search .recherche_avance_rubrique_form,
body.page-category #advanced_search #accordion-search,
body.page-category #advanced_search .rp-filter-extra {
  display: contents !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}
body.page-category #advanced_search h3,
body.page-category #advanced_search .ui-accordion-header {
  display: none !important;
}
body.page-category .rp-cat-toolbar {
  display: contents !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
body.page-category #show_results {
  order: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 0.35rem 0 0 !important;
  color: #090907 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
}
body.page-category #show_results .icon,
body.page-category #show_results .icon-eye {
  display: none !important;
}
body.page-category #nb_resul_chiffre {
  font-weight: 700 !important;
  font-size: 1.05rem !important;
}
body.page-category .rp-filter-pill {
  position: relative !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
body.page-category .rp-filter-pill-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  margin: 0 !important;
  padding: 0.48rem 0.9rem !important;
  border: 1px solid rgba(9, 9, 7, 0.16) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #090907 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.84rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  cursor: pointer !important;
  box-shadow: none !important;
}
body.page-category .rp-filter-pill-btn::after {
  content: "" !important;
  display: inline-block !important;
  width: 0 !important;
  height: 0 !important;
  margin-left: 0.15rem !important;
  border-left: 4px solid transparent !important;
  border-right: 4px solid transparent !important;
  border-top: 5px solid #090907 !important;
  background: transparent !important;
}
body.page-category .rp-filter-pill:hover .rp-filter-pill-btn,
body.page-category .rp-filter-pill:focus-within .rp-filter-pill-btn {
  border-color: #090907 !important;
  background: #f6f5f0 !important;
}
body.page-category .rp-filter-menu {
  display: none !important;
  position: absolute !important;
  z-index: 40 !important;
  top: calc(100% + 6px) !important;
  left: 0 !important;
  width: 240px !important;
  max-width: 70vw !important;
  max-height: 280px !important;
  margin: 0 !important;
  padding: 0.4rem !important;
  overflow: auto !important;
  background: #fff !important;
  color: #090907 !important;
  border: 1px solid rgba(9, 9, 7, 0.1) !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 40px rgba(9, 9, 7, 0.12) !important;
}
body.page-category .rp-filter-pill:hover .rp-filter-menu,
body.page-category .rp-filter-pill:focus-within .rp-filter-menu {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.1rem !important;
}
body.page-category .rp-filter-menu label {
  display: flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0.4rem 0.45rem !important;
  border-radius: 8px !important;
  color: #090907 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  text-align: left !important;
}
body.page-category .rp-filter-menu label:hover {
  background: #f6f5f0 !important;
}
body.page-category .rp-filter-menu .search-count {
  margin-left: auto !important;
  background: #f6f5f0 !important;
  color: rgba(9, 9, 7, 0.7) !important;
  border-radius: 999px !important;
  padding: 0.05rem 0.4rem !important;
  font-size: 0.75rem !important;
}
body.page-category .rp-filter-price {
  display: flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
  flex: 1 1 260px !important;
  min-width: 220px !important;
  margin: 0 !important;
  padding: 0 0.2rem !important;
}
body.page-category .rp-filter-price .rp-filter-pill-btn::after {
  display: none !important;
}
body.page-category #price_filter {
  display: block !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 140px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
body.page-category #price_filter .recherche_avance_help,
body.page-category #price_filter .prix_texte {
  display: none !important;
}
body.page-category #price_filter .prix_slider,
body.page-category #slider-range {
  width: 100% !important;
  min-width: 120px !important;
}
body.page-category .rp-cat-sort {
  margin-left: auto !important;
}
body.page-category #search_classement {
  border-radius: 999px !important;
  padding: 0.42rem 0.75rem !important;
  font-family: "Open Sans", sans-serif !important;
  font-weight: 600 !important;
}
body.page-category .rp-filter-reset {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0.45rem 0.75rem !important;
  border-radius: 999px !important;
  color: rgba(9, 9, 7, 0.7) !important;
  background: transparent !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
body.page-category .rp-filter-reset:hover {
  color: #090907 !important;
  background: #f6f5f0 !important;
}
body.page-category #search_buttons {
  display: none !important;
}
@media (max-width: 699px) {
  body.page-category .rp-cat-sort {
    margin-left: 0 !important;
  }
  body.page-category .rp-filter-price {
    flex: 1 1 100% !important;
  }
}

/* Correctif filtres pastilles : pas de display:contents, pas de display:none sur slider/menus. */
body.page-category #advanced_search {
  overflow: visible !important;
}
body.page-category #search_form {
  display: block !important;
  padding: 0.75rem 0.9rem 0.85rem !important;
  overflow: visible !important;
}
body.page-category .rp-cat-toolbar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0.45rem !important;
  position: relative !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
body.page-category #show_results {
  order: 0 !important;
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 0.3rem !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 0.45rem 0 0 !important;
  margin: 0 !important;
  color: #090907 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  cursor: default !important;
  width: auto !important;
  height: auto !important;
}
body.page-category #show_results .icon,
body.page-category #show_results .icon-eye {
  display: none !important;
}
body.page-category #show_results .result,
body.page-category #nb_resul_chiffre {
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  color: #090907 !important;
}
body.page-category .rp-filter-pill {
  position: relative !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  float: none !important;
}
body.page-category .rp-filter-price,
body.page-category .rp-filter-price.rp-filter-pill {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}
body.page-category .rp-filter-pill-btn,
body.page-category #rp-filter-more-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  margin: 0 !important;
  padding: 0.48rem 0.85rem !important;
  border: 1px solid rgba(9, 9, 7, 0.16) !important;
  border-radius: 999px !important;
  background: #fff !important;
  background-image: none !important;
  color: #090907 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.84rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  cursor: pointer !important;
  box-shadow: none !important;
  width: auto !important;
  height: auto !important;
  float: none !important;
}
body.page-category .rp-filter-pill-btn::after,
body.page-category .rp-filter-price .rp-filter-pill-btn::after {
  content: "" !important;
  display: inline-block !important;
  width: 0 !important;
  height: 0 !important;
  margin-left: 0.15rem !important;
  border-left: 4px solid transparent !important;
  border-right: 4px solid transparent !important;
  border-top: 5px solid #090907 !important;
  background: transparent !important;
}
body.page-category #rp-filter-more-btn::before {
  content: "+" !important;
  font-weight: 700 !important;
  color: #090907 !important;
}
body.page-category .rp-filter-pill.is-open > .rp-filter-pill-btn,
body.page-category .rp-filter-pill:has(input:checked) > .rp-filter-pill-btn,
body.page-category #rp-filter-more-btn[aria-expanded="true"],
body.page-category #search_form:has(#rp-filter-more-panel input:checked) #rp-filter-more-btn {
  border-color: #090907 !important;
}
body.page-category .rp-filter-pill.is-open > .rp-filter-pill-btn,
body.page-category .rp-filter-pill:has(input:checked) > .rp-filter-pill-btn,
body.page-category #rp-filter-more-btn[aria-expanded="true"] {
  box-shadow: inset 0 -2px 0 #CCD61C !important;
}
body.page-category .rp-filter-menu,
body.page-category #price_filter.rp-filter-menu {
  display: flex !important;
  flex-direction: column !important;
  flex: none !important;
  gap: 0.1rem !important;
  position: fixed !important;
  left: var(--rp-left, 0px) !important;
  top: var(--rp-top, 0px) !important;
  z-index: 80 !important;
  width: 240px !important;
  min-width: 240px !important;
  max-width: calc(100vw - 24px) !important;
  max-height: 320px !important;
  margin: 0 !important;
  padding: 0.4rem !important;
  overflow: auto !important;
  background: #fff !important;
  color: #090907 !important;
  border: 1px solid rgba(9, 9, 7, 0.1) !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 40px rgba(9, 9, 7, 0.12) !important;
  visibility: hidden !important;
  pointer-events: none !important;
  float: none !important;
}
body.page-category .rp-filter-pill.is-open .rp-filter-menu,
body.page-category .rp-filter-pill.is-open:hover .rp-filter-menu,
body.page-category .rp-filter-pill.is-open:focus-within .rp-filter-menu,
body.page-category .rp-filter-pill.is-open #price_filter.rp-filter-menu {
  visibility: visible !important;
  pointer-events: auto !important;
  display: flex !important;
}
body.page-category .rp-filter-pill:hover .rp-filter-menu,
body.page-category .rp-filter-pill:focus-within .rp-filter-menu {
  visibility: hidden !important;
  pointer-events: none !important;
}
body.page-category .rp-filter-pill.is-open:hover .rp-filter-menu,
body.page-category .rp-filter-pill.is-open:focus-within .rp-filter-menu {
  visibility: visible !important;
  pointer-events: auto !important;
}
body.page-category #price_filter.rp-filter-menu {
  overflow: visible !important;
  max-height: none !important;
  padding: 0.85rem 0.95rem 0.8rem !important;
}
body.page-category #price_filter .recherche_avance_help {
  display: none !important;
}
body.page-category #price_filter .prix_texte {
  display: block !important;
  margin: 0 0 0.35rem !important;
  padding: 0 !important;
  color: #090907 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  text-align: center !important;
}
body.page-category #slider-range,
body.page-category #price_filter .prix_slider,
body.page-category #price_filter #slider-range {
  display: block !important;
  width: 208px !important;
  min-width: 208px !important;
  max-width: 208px !important;
  height: 6px !important;
  margin: 1rem 0.15rem 0.45rem !important;
  border: 0 !important;
  background: #dedcd3 !important;
  position: relative !important;
}
body.page-category #slider-range .ui-slider-range {
  background: #CCD61C !important;
}
body.page-category #slider-range .ui-slider-handle {
  width: 16px !important;
  height: 16px !important;
  top: -6px !important;
  margin-left: -8px !important;
  border-radius: 50% !important;
  background: #090907 !important;
  border: 0 !important;
  cursor: pointer !important;
}
body.page-category .rp-filter-menu label,
body.page-category .rp-filter-more-values label,
body.page-category #advanced_search .ui-checkboxradio-label {
  display: flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0.4rem 0.45rem !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #090907 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  text-align: left !important;
  float: none !important;
  height: auto !important;
  cursor: pointer !important;
}
body.page-category .rp-filter-menu label:hover,
body.page-category .rp-filter-more-values label:hover {
  background: #f6f5f0 !important;
}
body.page-category .ui-checkboxradio-checked,
body.page-category .rp-filter-menu .ui-state-active,
body.page-category .rp-filter-more-values .ui-state-active {
  background: #f7f8e4 !important;
  color: #090907 !important;
}
body.page-category .ui-checkboxradio-icon {
  display: none !important;
}
body.page-category .rp-filter-menu .search-count,
body.page-category .rp-filter-more-values .search-count {
  margin-left: auto !important;
  background: #f6f5f0 !important;
  color: rgba(9, 9, 7, 0.7) !important;
  border-radius: 999px !important;
  padding: 0.05rem 0.4rem !important;
  font-size: 0.75rem !important;
}
body.page-category .rp-filter-more-panel:not([hidden]) {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 0.85rem 1.25rem !important;
  width: 100% !important;
  margin: 0.75rem 0 0 !important;
  padding: 0.85rem 0 0.15rem !important;
  border-top: 1px solid rgba(9, 9, 7, 0.1) !important;
  background: transparent !important;
}
body.page-category .rp-filter-more-panel[hidden] {
  display: none !important;
}
body.page-category .rp-filter-more-title {
  margin: 0 0 0.35rem !important;
  padding: 0 !important;
  background: transparent !important;
  color: #090907 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-align: left !important;
  border: 0 !important;
}
body.page-category .rp-filter-more-values,
body.page-category .rp-filter-dim-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.1rem !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  float: none !important;
}
body.page-category .rp-filter-dim-row {
  flex-direction: row !important;
  gap: 0.5rem !important;
  align-items: flex-end !important;
}
body.page-category .rp-filter-dim-label {
  flex: 1 1 0 !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0.25rem !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  color: #090907 !important;
}
body.page-category .rp-filter-dim-row input[type="number"] {
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0.4rem 0.5rem !important;
  border: 1px solid rgba(9, 9, 7, 0.16) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #090907 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
}
body.page-category .rp-cat-sort {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  width: auto !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  color: #090907 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.84rem !important;
  font-weight: 600 !important;
  background: transparent !important;
}
body.page-category .rp-cat-sort .ui-selectmenu-button,
body.page-category #search_classement-button {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-width: 11.5rem !important;
  margin: 0 !important;
  padding: 0.42rem 0.75rem !important;
  border: 1px solid rgba(9, 9, 7, 0.16) !important;
  border-radius: 999px !important;
  background: #fff !important;
  background-image: none !important;
  color: #090907 !important;
  font-family: "Open Sans", sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.84rem !important;
  box-shadow: none !important;
}
body.page-category .rp-cat-sort .ui-selectmenu-text {
  color: #090907 !important;
  font-weight: 600 !important;
}
body.page-category .ui-selectmenu-menu .ui-menu-item-wrapper {
  font-family: "Open Sans", sans-serif !important;
  color: #090907 !important;
}
body.page-category .rp-filter-reset {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0.45rem 0.7rem !important;
  border-radius: 999px !important;
  color: rgba(9, 9, 7, 0.7) !important;
  background: transparent !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
body.page-category .rp-filter-reset:hover {
  color: #090907 !important;
  background: #f6f5f0 !important;
}
body.page-category #search_buttons {
  display: none !important;
}
body.page-category #products > .produit_page_rubrique {
  display: none !important;
}
@media (max-width: 699px) {
  body.page-category .rp-cat-sort {
    margin-left: 0 !important;
  }
  body.page-category .rp-filter-more-panel:not([hidden]) {
    grid-template-columns: 1fr !important;
  }
  body.page-category #slider-range,
  body.page-category #price_filter #slider-range {
    width: 208px !important;
    min-width: 208px !important;
  }
}

body.page-category .rp-filter-menu .ui-checkboxradio-label::before,
body.page-category .rp-filter-more-values .ui-checkboxradio-label::before {
  content: "" !important;
  flex: 0 0 15px !important;
  width: 15px !important;
  height: 15px !important;
  margin: 0 !important;
  border: 1.5px solid rgba(9, 9, 7, 0.35) !important;
  border-radius: 4px !important;
  background: #fff !important;
  box-sizing: border-box !important;
}
body.page-category .rp-filter-menu .ui-checkboxradio-checked::before,
body.page-category .rp-filter-more-values .ui-checkboxradio-checked::before {
  background: #CCD61C !important;
  border-color: #090907 !important;
  box-shadow: inset 0 0 0 2px #fff !important;
}

body.page-category #advanced_search #show_results.btn,
body.page-category #advanced_search #show_results.btn-primary {
  background: transparent !important;
  background-image: none !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 0.4rem 0 0 !important;
  color: #090907 !important;
}

/* Filtres : correctif visuel. Pas de barre jaune, tri aligné, menu jQuery neutralisé. */
body.page-category #search_form .rp-cat-toolbar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0.45rem 0.5rem !important;
  width: 100% !important;
}
body.page-category #advanced_search label.rp-cat-sort,
body.page-category #search_form .rp-cat-sort {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  width: auto !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  float: none !important;
  line-height: 1.2 !important;
  cursor: default !important;
}
body.page-category #search_form .rp-filter-pill.is-open > .rp-filter-pill-btn,
body.page-category #search_form .rp-filter-pill:has(input:checked) > .rp-filter-pill-btn,
body.page-category #search_form #rp-filter-more-btn[aria-expanded="true"],
body.page-category #search_form:has(#rp-filter-more-panel input:checked) #rp-filter-more-btn {
  box-shadow: none !important;
  background: #f6f5f0 !important;
  background-image: none !important;
  border-color: #090907 !important;
  color: #090907 !important;
}
body.page-category #search_form .rp-filter-pill.is-open > .rp-filter-pill-btn::after {
  transform: rotate(180deg) !important;
}
body.page-category #search_form .rp-filter-pill-btn:focus,
body.page-category #search_form #rp-filter-more-btn:focus,
body.page-category #search_classement-button:focus {
  outline: none !important;
}
body.page-category #advanced_search label[for^="search_brand_"],
body.page-category #advanced_search label[for^="search_caracdisp_"] {
  box-shadow: none !important;
  margin: 0 !important;
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  line-height: 1.3 !important;
  position: relative !important;
}
body.page-category #advanced_search .ui-checkboxradio-label.ui-state-active,
body.page-category #advanced_search .ui-checkboxradio-label.ui-state-hover,
body.page-category #advanced_search .ui-button.ui-checkboxradio-label.ui-state-active:not(.ui-accordion-header) {
  background: #f7f8e4 !important;
  background-image: none !important;
  border: 0 !important;
  color: #090907 !important;
  box-shadow: none !important;
  font-weight: 500 !important;
  margin: 0 !important;
}
body.page-category #search_classement-button .ui-selectmenu-icon {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}
body.page-category #search_classement-button .ui-selectmenu-icon::before {
  content: none !important;
  display: none !important;
}
body.page-category #search_classement-button.ui-state-active,
body.page-category #search_classement-button.ui-state-focus,
body.page-category #search_classement-button.ui-selectmenu-button-open,
body.page-category #search_classement-button.ui-button.ui-state-active:not(.ui-accordion-header) {
  background: #f6f5f0 !important;
  background-image: none !important;
  border: 1px solid #090907 !important;
  color: #090907 !important;
  box-shadow: none !important;
  outline: none !important;
}
body.page-category .ui-selectmenu-menu.ui-front {
  z-index: 90 !important;
}
body.page-category .ui-selectmenu-menu .ui-menu.ui-widget-content {
  background: #fff !important;
  background-image: none !important;
  border: 1px solid rgba(9, 9, 7, 0.1) !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 40px rgba(9, 9, 7, 0.12) !important;
  padding: 0.35rem !important;
  outline: none !important;
}
body.page-category .ui-selectmenu-menu .ui-menu-item-wrapper,
body.page-category .ui-selectmenu-menu .ui-menu .ui-state-active,
body.page-category .ui-selectmenu-menu .ui-menu .ui-state-focus,
body.page-category .ui-selectmenu-menu .ui-widget-content .ui-state-active:not(.ui-accordion-header),
body.page-category .ui-selectmenu-menu .ui-widget-content .ui-state-focus:not(.ui-accordion-header) {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  margin: 0 !important;
  border-radius: 8px !important;
  color: #090907 !important;
  font-family: "Open Sans", sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.84rem !important;
  box-shadow: none !important;
  outline: none !important;
  text-decoration: none !important;
}
body.page-category .ui-selectmenu-menu .ui-menu-item-wrapper.ui-state-active,
body.page-category .ui-selectmenu-menu .ui-menu-item-wrapper.ui-state-focus {
  background: #f6f5f0 !important;
}
body.page-category .ui-selectmenu-menu .ui-visual-focus {
  box-shadow: none !important;
}
@media (max-width: 699px) {
  body.page-category #advanced_search #show_results {
    flex: 1 0 100% !important;
  }
  body.page-category #advanced_search label.rp-cat-sort,
  body.page-category #search_form .rp-cat-sort {
    margin-left: 0 !important;
    flex: 1 1 100% !important;
  }
  body.page-category #search_classement-button {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
}

body.page-category .ui-selectmenu-menu .ui-menu-item {
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  list-style: none !important;
}
body.page-category .ui-selectmenu-menu .ui-menu.ui-widget-content .ui-menu-item-wrapper.ui-state-active,
body.page-category .ui-selectmenu-menu .ui-menu.ui-widget-content .ui-menu-item-wrapper.ui-state-focus {
  background: #f6f5f0 !important;
  border: 0 !important;
  margin: 0 !important;
}

/* Barre filtres plus aeree, cartes, squelettes, header colle. */
body.page-category #advanced_search #search_form > .rp-cat-toolbar {
  box-sizing: border-box !important;
  padding: 0.9rem 0.85rem !important;
  gap: 0.65rem 0.7rem !important;
}
body.page-category #products.is-loading article,
body.page-category #products.is-loading .produit_page_rubrique,
body.page-category #products.is-loading > .row {
  display: none !important;
}
body.page-category #products .rp-skel {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  width: 100%;
}
body.page-category #products .rp-skel-card {
  background: #fff;
  border: 1px solid rgba(9, 9, 7, 0.08);
  border-radius: 12px;
  overflow: hidden;
  min-height: 280px;
}
body.page-category #products .rp-skel-photo {
  height: 210px;
  background: #eceae4;
}
body.page-category #products .rp-skel-line {
  height: 12px;
  margin: 14px 16px 0;
  border-radius: 999px;
  background: #e4e2db;
}
body.page-category #products .rp-skel-short {
  width: 58%;
  margin-bottom: 16px;
}
body.page-category .ui-dialog:has(.icon-spinner),
body.page-category .ui-widget-overlay {
  display: none !important;
}
@media (max-width: 699px) {
  body.page-category #products .rp-skel {
    grid-template-columns: minmax(0, 1fr);
  }
}
html, body {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}
main#page, main#page.parallax {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  padding-top: 0 !important;
}
.rp-sticky {
  position: sticky;
  top: 0;
  z-index: 30;
  background: #f6f5f0;
}
.rp-sticky > header#header.rp-topbar {
  position: relative !important;
  top: auto !important;
  z-index: 30 !important;
}
.rp-topline, header#header.rp-topbar {
  background-clip: padding-box;
}
@media (max-width: 860px) {
  nav#mobile_nav {
    z-index: 60 !important;
  }
}

/* Bandes catalogue pleine largeur, grille conservee apres AJAX. */
body.page-category main#page > .breadcrumbs,
body.page-category main#page > article.max-960,
body.page-category main#page > #rubrique {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
  box-sizing: border-box !important;
}
body.page-category main#page > .breadcrumbs {
  padding: 0.7rem 20px !important;
  background: #fff !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(9, 9, 7, 0.12) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.page-category main#page > .breadcrumbs .inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.page-category main#page > article.max-960 {
  padding: 1rem 20px 0.95rem !important;
  background: #fff !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(9, 9, 7, 0.12) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.page-category #rubrique > h2.letterpress {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0.95rem 20px 0.8rem !important;
  background: #fff !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(9, 9, 7, 0.12) !important;
  box-sizing: border-box !important;
  float: none !important;
}
body.page-category #advanced_search {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
  background: #fff !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(9, 9, 7, 0.12) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body.page-category #advanced_search #search_form {
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}
body.page-category section#products,
body.page-category section#products.col9,
body.page-category #rubrique > ul#sous_categories,
body.page-category #rubrique > ul#sous_categories.multicateg {
  width: min(1400px, calc(100% - 40px)) !important;
  max-width: min(1400px, calc(100% - 40px)) !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
  box-sizing: border-box !important;
}
body.page-category section#products,
body.page-category section#products.col9 {
  display: block !important;
  margin-top: 1.25rem !important;
  margin-bottom: 0 !important;
}
body.page-category #products > .row.text-left,
body.page-category #products #page-1 > .row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
}
body.page-category #products .row > .produit_page_rubrique {
  display: block !important;
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
}
body.page-category #products > .produit_page_rubrique {
  display: none !important;
}
@media (max-width: 980px) {
  body.page-category #products > .row.text-left,
  body.page-category #products #page-1 > .row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 699px) {
  body.page-category #products > .row.text-left,
  body.page-category #products #page-1 > .row {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
body.page-category #products.is-loading > .row,
body.page-category #products.is-loading article,
body.page-category #products.is-loading .produit_page_rubrique {
  display: none !important;
}

/* Barre filtres bord a bord : le padding du formulaire ne doit pas la recadrer. */
body.page-category #advanced_search,
body.page-category #advanced_search > .wrapper,
body.page-category #advanced_search > .wrapper.row,
body.page-category #advanced_search .recherche_avance_rubrique,
body.page-category #advanced_search .col12,
body.page-category #advanced_search #search_form {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
  box-sizing: border-box !important;
}
body.page-category #advanced_search > .wrapper,
body.page-category #advanced_search > .wrapper.row,
body.page-category #advanced_search .recherche_avance_rubrique,
body.page-category #advanced_search .col12,
body.page-category #advanced_search #search_form {
  padding: 0 !important;
}
body.page-category #advanced_search {
  border-bottom: 0 !important;
  background: #fff !important;
  overflow: visible !important;
}
body.page-category #advanced_search #search_form > .rp-cat-toolbar {
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  box-sizing: border-box !important;
  padding: 0.9rem 20px !important;
  gap: 0.65rem 0.7rem !important;
  background: #fff !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(9, 9, 7, 0.12) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Cartes AJAX : une colonne chacune, jamais sorties du flux. */
body.page-category #products > .row.text-left,
body.page-category #products #page-1 > .row.text-left {
  display: grid !important;
  grid-auto-flow: row !important;
  justify-items: stretch !important;
  align-items: stretch !important;
}

/* Pastille Filtres : inutile en desktop, la barre est deja visible. */
@media (min-width: 768px) {
  body.page-category nav#mobile_nav #go_filter {
    display: none !important;
  }
}

/* Pastille basse : masquee des 768 px, gardee sur mobile. */
@media (min-width: 768px) {
  body.page-category nav#mobile_nav {
    display: none !important;
  }
}

/* Contenu fil d'Ariane, intro et filtres : cadre 1400 centre. La bande reste pleine largeur. */
body.page-category main#page > .breadcrumbs,
body.page-category main#page > article.max-960,
body.page-category #rubrique > h2.letterpress,
body.page-category #advanced_search #search_form > .rp-cat-toolbar {
  padding-left: max(20px, calc((100% - 1400px) / 2)) !important;
  padding-right: max(20px, calc((100% - 1400px) / 2)) !important;
  box-sizing: border-box !important;
}

body.page-category main#page > article.max-960 {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  margin-top: 1rem !important;
  margin-bottom: 1.5rem !important;
}

body.page-category main#page > article.max-960 header.rp-cat-heading {
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 0.75rem !important;
  padding: 0 !important;
  color: #090907 !important;
  border: 0 !important;
}

body.page-category #focus-materiel p {
  color: #3c3c38 !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  margin: 0 0 0.5rem !important;
}
body.page-category #advanced_search #search_form {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.page-category #advanced_search #rp-filter-more-panel {
  width: min(1400px, calc(100% - 40px)) !important;
  max-width: min(1400px, calc(100% - 40px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* Intro categorie : titre et texte, sans boutons ni photo vide. */
body.page-category main#page > article.max-960 > header.letterpress {
  font-size: 1.75rem !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 0.7rem !important;
  padding: 0 !important;
  color: #090907 !important;
}
body.page-category #focus-materiel {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.page-category #focus-materiel figure:has(img[src*="no-image"]),
body.page-category #focus-materiel nav {
  display: none !important;
}
body.page-category #focus-materiel:not(:has(img[src*="no-image"])) {
  display: grid !important;
  grid-template-columns: 148px minmax(0, 1fr) !important;
  column-gap: 1.35rem !important;
  align-items: start !important;
}
body.page-category #focus-materiel figure {
  width: 148px !important;
  height: 112px !important;
  margin: 0 !important;
  border-radius: 12px !important;
  border: 1px solid rgba(9, 9, 7, 0.1) !important;
  background: #f6f5f0 !important;
  overflow: hidden !important;
}
body.page-category #focus-materiel p {
  max-width: 74ch !important;
  margin: 0 0 0.55rem !important;
  font-size: 0.98rem !important;
  line-height: 1.6 !important;
  color: #3c3c38 !important;
}
body.page-category #focus-materiel p:last-child {
  margin-bottom: 0 !important;
}
body.page-category #focus-materiel a {
  color: #090907 !important;
  text-underline-offset: 0.16em !important;
}
body.page-category .breadcrumbs .icon,
body.page-category .breadcrumbs [class^="icon-"],
body.page-category .breadcrumbs [class*=" icon-"] {
  display: none !important;
}
@media (max-width: 699px) {
  body.page-category main#page > article.max-960 > header.letterpress {
    font-size: 1.4rem !important;
  }
  body.page-category #focus-materiel:not(:has(img[src*="no-image"])) {
    grid-template-columns: 96px minmax(0, 1fr) !important;
    column-gap: 0.85rem !important;
  }
  body.page-category #focus-materiel figure {
    width: 96px !important;
    height: 76px !important;
  }
}

@keyframes rp-skel-shine {
  0% { background-position: 140% 0; }
  100% { background-position: -40% 0; }
}
body.page-category #products .rp-skel-photo,
body.page-category #products .rp-skel-line {
  background-color: #e6e4dc !important;
  background-image: linear-gradient(100deg, #e6e4dc 0%, #e6e4dc 38%, #f8f7f3 50%, #e6e4dc 62%, #e6e4dc 100%) !important;
  background-size: 220% 100% !important;
  background-repeat: no-repeat !important;
  animation: rp-skel-shine 1.15s ease-in-out infinite !important;
}
@media (prefers-reduced-motion: reduce) {
  body.page-category #products .rp-skel-photo,
  body.page-category #products .rp-skel-line {
    animation: none !important;
  }
}

/* Intro : meme corps de texte, sans lettrine Kalam. */
body.page-category #focus-materiel p::first-letter,
body.page-category main#page > article.max-960 > header.letterpress::first-letter {
  font-family: "Open Sans", sans-serif !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  font-style: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  color: inherit !important;
  float: none !important;
  text-transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.page-category #focus-materiel a {
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.16em !important;
}

/* Skeleton : balayage plus lisible, decale d'une carte a l'autre. */
body.page-category #products .rp-skel-photo,
body.page-category #products .rp-skel-line {
  background-image: linear-gradient(100deg, #e6e4dc 0%, #e6e4dc 36%, #ffffff 50%, #e6e4dc 64%, #e6e4dc 100%) !important;
}
body.page-category #products .rp-skel-card:nth-child(2) .rp-skel-photo,
body.page-category #products .rp-skel-card:nth-child(2) .rp-skel-line { animation-delay: 0.12s !important; }
body.page-category #products .rp-skel-card:nth-child(3) .rp-skel-photo,
body.page-category #products .rp-skel-card:nth-child(3) .rp-skel-line { animation-delay: 0.24s !important; }
body.page-category #products .rp-skel-card:nth-child(4) .rp-skel-photo,
body.page-category #products .rp-skel-card:nth-child(4) .rp-skel-line { animation-delay: 0.36s !important; }
body.page-category #products .rp-skel-card:nth-child(5) .rp-skel-photo,
body.page-category #products .rp-skel-card:nth-child(5) .rp-skel-line { animation-delay: 0.12s !important; }
body.page-category #products .rp-skel-card:nth-child(6) .rp-skel-photo,
body.page-category #products .rp-skel-card:nth-child(6) .rp-skel-line { animation-delay: 0.24s !important; }
body.page-category #products .rp-skel-card:nth-child(7) .rp-skel-photo,
body.page-category #products .rp-skel-card:nth-child(7) .rp-skel-line { animation-delay: 0.36s !important; }
body.page-category #products .rp-skel-card:nth-child(8) .rp-skel-photo,
body.page-category #products .rp-skel-card:nth-child(8) .rp-skel-line { animation-delay: 0.48s !important; }

/* Fil d'Ariane : le triangle jaune du theme, le separateur reste « / ». */
body.page-category .breadcrumbs .inner ul li a::before,
body.page-category .breadcrumbs .inner ul li a::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
}

/* Sous-categories : cadre 1400, comme la grille produits. */
body.page-category #rubrique > aside {
  width: min(1400px, calc(100% - 40px)) !important;
  max-width: min(1400px, calc(100% - 40px)) !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 0.35rem !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
  float: none !important;
}
body.page-category #rubrique > aside ul#sous_categories.multicateg {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Topline defile avec la page. Seul le header reste sticky. */
.rp-topline {
  position: static !important;
  top: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  background: #f6f5f0 !important;
}
.rp-sticky {
  position: sticky !important;
  top: 0 !important;
  z-index: 30 !important;
  overflow: visible !important;
}
.rp-sticky > header#header.rp-topbar,
header#header.rp-topbar {
  overflow: visible !important;
}
@media (max-width: 860px) {
  nav#mobile_nav {
    z-index: 60 !important;
  }
}

/* Topline: fond noir, texte clair, pictogramme telephone. */
.rp-topline {
  background: #1f1d20 !important;
  color: #f6f5f0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
}
.rp-topline .rp-topline-hours {
  color: #e4e2db !important;
}
.rp-topline a,
.rp-topline .rp-topline-link {
  color: #f6f5f0 !important;
}
.rp-topline a:hover,
.rp-topline a:focus,
.rp-topline a:focus-visible {
  color: #ffffff !important;
}
.rp-topline .rp-stars {
  color: #CCD61C !important;
}
.rp-topline strong {
  color: #ffffff !important;
}
.rp-topline .rp-phone-note {
  display: none !important;
}
.rp-topline .rp-topline-phone .icon-phone {
  display: inline-block;
  margin: 0 0.4rem 0 0;
  vertical-align: -2px;
  line-height: 1;
}
.rp-topline .rp-topline-phone .icon-phone::before {
  color: #f6f5f0 !important;
  font-size: 15px;
  line-height: 1;
  width: auto;
  margin: 0;
}

/* Topline non sticky, fond papier, contenu aligne a gauche. Header seul sticky. */
.rp-topline {
  position: static !important;
  top: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  background: #f6f5f0 !important;
  color: #090907 !important;
  border-bottom: 1px solid rgba(9, 9, 7, 0.12) !important;
}
.rp-topline-inner {
  justify-content: flex-start !important;
}
.rp-topline .rp-topline-hours,
.rp-topline a,
.rp-topline .rp-topline-link,
.rp-topline strong,
.rp-topline .rp-phone-note {
  color: #090907 !important;
}
.rp-topline .rp-phone-note {
  display: inline !important;
}
.rp-sticky {
  position: sticky !important;
  top: 0 !important;
  z-index: 30 !important;
  overflow: visible !important;
}
.rp-sticky > header#header.rp-topbar,
header#header.rp-topbar {
  overflow: visible !important;
}
@media (max-width: 860px) {
  nav#mobile_nav {
    z-index: 60 !important;
  }
}

.rp-topline .icon-phone,
.rp-topline .icon-phone::before {
  color: #090907 !important;
}

/* Topline noire #1f1d20: texte clair, pictogramme, note masquee. Le header reste blanc. */
.rp-topline {
  background: #1f1d20 !important;
  color: #f6f5f0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
}
.rp-topline .rp-topline-hours {
  color: #e4e2db !important;
}
.rp-topline a,
.rp-topline .rp-topline-link,
.rp-topline strong {
  color: #f6f5f0 !important;
}
.rp-topline a:hover,
.rp-topline a:focus,
.rp-topline a:focus-visible {
  color: #ffffff !important;
}
.rp-topline .rp-stars {
  color: #CCD61C !important;
}
.rp-topline .rp-phone-note {
  display: none !important;
}
.rp-topline .rp-topline-phone .icon-phone {
  display: inline-block;
  margin: 0 0.4rem 0 0;
  vertical-align: -2px;
  line-height: 1;
}
.rp-topline .rp-topline-phone .icon-phone::before {
  color: #f6f5f0 !important;
  font-size: 15px;
  line-height: 1;
  width: auto;
  margin: 0;
}
.rp-topline .rp-topline-phone:not(:has(.icon-phone))::before {
  content: "\e81f";
  font-family: fontello;
  font-style: normal;
  font-weight: normal;
  font-size: 15px;
  line-height: 1;
  color: #f6f5f0;
  display: inline-block;
  margin-right: 0.4rem;
  vertical-align: -2px;
}

/* ===== FORCE TOPLINE FOURNIRESTO-LIKE (v20260929o) — MUST WIN ===== */
div.rp-topline,
.rp-topline {
  position: static !important;
  top: auto !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  background: #1f1d20 !important;
  background-color: #1f1d20 !important;
  color: #ffffff !important;
  border: 0 !important;
  border-bottom: none !important;
  border-bottom-width: 0 !important;
  border-bottom-style: none !important;
  box-shadow: none !important;
}
div.rp-topline .rp-topline-inner,
.rp-topline-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 1.15rem !important;
  width: min(1400px, calc(100% - 40px)) !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0.3rem 0 !important;
  background: #1f1d20 !important;
  background-color: #1f1d20 !important;
  border: 0 !important;
  border-bottom: none !important;
  border-bottom-width: 0 !important;
  box-sizing: border-box !important;
  font-size: 0.8rem !important;
  line-height: 1.2 !important;
  color: #ffffff !important;
}
.rp-topline .rp-topline-left,
div.rp-topline .rp-topline-left {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 1.15rem !important;
  margin: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
.rp-topline .rp-topline-hours,
div.rp-topline .rp-topline-hours {
  margin: 0 !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  color: #cfcfc8 !important;
  font-weight: 400 !important;
  font-size: 0.78rem !important;
}
.rp-topline a,
.rp-topline .rp-topline-link,
.rp-topline strong,
div.rp-topline a,
div.rp-topline .rp-topline-link,
div.rp-topline strong {
  color: #ffffff !important;
  background: transparent !important;
}
.rp-topline a:hover,
.rp-topline a:focus,
.rp-topline a:focus-visible {
  color: #ffffff !important;
}
.rp-topline .rp-topline-phone,
div.rp-topline .rp-topline-phone {
  font-weight: 700 !important;
  color: #ffffff !important;
}
.rp-topline .rp-topline-avis strong,
div.rp-topline .rp-topline-avis strong {
  color: #ffffff !important;
  font-weight: 700 !important;
}
.rp-topline .rp-stars,
div.rp-topline .rp-stars {
  color: #CCD61C !important;
}
.rp-topline .rp-phone-note,
div.rp-topline .rp-phone-note {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  font-size: 0 !important;
}
.rp-topline .rp-topline-phone .icon-phone,
div.rp-topline .rp-topline-phone .icon-phone {
  display: inline-block !important;
  margin: 0 0.4rem 0 0 !important;
  vertical-align: -2px !important;
  line-height: 1 !important;
  color: #ffffff !important;
}
.rp-topline .rp-topline-phone .icon-phone::before,
div.rp-topline .rp-topline-phone .icon-phone::before {
  content: "\e81f" !important;
  font-family: fontello !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-size: 15px !important;
  line-height: 1 !important;
  color: #ffffff !important;
  margin: 0 !important;
}
/* header remains white — do not paint sticky/header black */
header#header.rp-topbar,
.rp-sticky > header#header.rp-topbar,
body.page-home header#header.rp-topbar {
  background: #fff !important;
  background-color: #fff !important;
}

/* ===== Homepage hero fade slider (v20260929p) ===== */
body.page-home .rp-home{
  overflow-x: clip;
}

body.page-home .rp-hero{
  position: relative;
  width: 100vw;
  max-width: 100vw;
  margin: 0 0 1.5rem;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 0 !important;
  background: #090907;
  color: #f7f7f5;
  min-height: 480px;
  overflow: hidden;
}

body.page-home .rp-hero-slides{
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  min-height: inherit;
}

body.page-home .rp-hero-slide{
  grid-area: 1 / 1;
  position: relative;
  min-height: inherit;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.8s ease, visibility 0.8s ease;
  z-index: 1;
  display: flex;
  align-items: center;
  pointer-events: none;
}

body.page-home .rp-hero-slide.is-active{
  opacity: 1;
  visibility: visible;
  z-index: 2;
  pointer-events: auto;
}

body.page-home .rp-hero-media{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  z-index: 0;
}

body.page-home .rp-hero-overlay{
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(9,9,7,0.82) 0%, rgba(9,9,7,0.55) 42%, rgba(9,9,7,0.28) 70%, rgba(9,9,7,0.18) 100%),
    linear-gradient(180deg, rgba(9,9,7,0.35) 0%, rgba(9,9,7,0.15) 45%, rgba(9,9,7,0.45) 100%);
  pointer-events: none;
}

body.page-home .rp-hero-inner{
  position: relative;
  z-index: 2;
  width: min(1400px, calc(100% - 2.5rem));
  max-width: 1400px;
  margin: 0 auto;
  padding: 3.25rem 0 4.5rem;
  box-sizing: border-box;
}

body.page-home .rp-hero-copy{
  max-width: 38rem;
}

body.page-home .rp-hero .rp-kicker{
  margin: 0 0 0.7rem;
  color: #CCD61C;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.82rem;
}

body.page-home .rp-hero h1,
body.page-home .rp-hero h2.rp-hero-title{
  margin: 0 0 0.85rem;
  font-family: Kalam, cursive;
  font-weight: 400;
  font-size: clamp(1.75rem, 3.4vw, 2.65rem);
  line-height: 1.12;
  color: #fff;
  letter-spacing: -0.02em;
}

body.page-home .rp-hero p{
  margin: 0 0 1.15rem;
  line-height: 1.55;
  font-size: 1.05rem;
  color: #f3f3ef;
  max-width: 34rem;
}

body.page-home .rp-hero-actions{
  margin: 0;
}

body.page-home .rp-hero .rp-cta{
  display: inline-block;
  background: #CCD61C;
  color: #090907 !important;
  text-decoration: none;
  font-weight: 700;
  padding: 0.85rem 1.2rem;
  border-radius: 2px;
  line-height: 1.2;
  border: none;
}

body.page-home .rp-hero .rp-cta:hover,
body.page-home .rp-hero .rp-cta:focus{
  background: #e4ef4a;
  color: #090907 !important;
}

body.page-home .rp-hero-nav{
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
}

body.page-home .rp-hero-prev,
body.page-home .rp-hero-next{
  pointer-events: auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2.6rem;
  height: 2.6rem;
  border: 1px solid rgba(255,255,255,0.35);
  background: rgba(9,9,7,0.45);
  color: #fff;
  cursor: pointer;
  border-radius: 2px;
  font-size: 1.35rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

body.page-home .rp-hero-prev{ left: max(0.75rem, calc(50% - 700px + 0.5rem)); }
body.page-home .rp-hero-next{ right: max(0.75rem, calc(50% - 700px + 0.5rem)); }

body.page-home .rp-hero-prev:hover,
body.page-home .rp-hero-next:hover,
body.page-home .rp-hero-prev:focus,
body.page-home .rp-hero-next:focus{
  background: rgba(9,9,7,0.75);
  border-color: #CCD61C;
  outline: none;
}

body.page-home .rp-hero-dots{
  position: absolute;
  left: 50%;
  bottom: 1.1rem;
  transform: translateX(-50%);
  z-index: 5;
  display: flex;
  gap: 0.55rem;
  align-items: center;
  justify-content: center;
}

body.page-home .rp-hero-dot{
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.7);
  background: transparent;
  padding: 0;
  cursor: pointer;
}

body.page-home .rp-hero-dot.is-active,
body.page-home .rp-hero-dot[aria-current="true"]{
  background: #CCD61C;
  border-color: #CCD61C;
}

body.page-home .rp-hero-status{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 900px){
  body.page-home .rp-hero{
    min-height: 420px;
  }
  body.page-home .rp-hero-inner{
    padding: 2.5rem 0 4rem;
  }
  body.page-home .rp-hero-overlay{
    background:
      linear-gradient(180deg, rgba(9,9,7,0.72) 0%, rgba(9,9,7,0.58) 55%, rgba(9,9,7,0.72) 100%);
  }
}

@media (max-width: 720px){
  body.page-home .rp-hero{
    min-height: 380px;
    padding: 0 !important;
  }
  body.page-home .rp-hero-inner{
    width: calc(100% - 2rem);
    padding: 2rem 0 3.75rem;
  }
  body.page-home .rp-hero h1,
  body.page-home .rp-hero h2.rp-hero-title{
    font-size: clamp(1.45rem, 6.5vw, 1.9rem);
  }
  body.page-home .rp-hero p{
    font-size: 0.98rem;
  }
  body.page-home .rp-hero-prev,
  body.page-home .rp-hero-next{
    width: 2.2rem;
    height: 2.2rem;
    font-size: 1.15rem;
  }
}

@media (prefers-reduced-motion: reduce){
  body.page-home .rp-hero-slide{
    transition: none;
  }
}

/* Pastille remonter : supprimee. Nav basse masquee en desktop, gardee sur mobile. */
#go_up {
  display: none !important;
}
@media (min-width: 768px) {
  nav#mobile_nav {
    display: none !important;
  }
}

/* Section a propos / definitions : bande claire, defs en grille. */
main#page > section#definitions.rp-about,
main#page > section#definitions.parallax-text,
body.page-home main#page > section#definitions,
body.page-category main#page > section#definitions {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 3.25rem 0 3.5rem !important;
  float: none !important;
  position: relative !important;
  background: #f6f5f0 !important;
  color: #090907 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: left !important;
  text-shadow: none !important;
}
#definitions .rp-about-inner {
  width: min(1400px, calc(100% - 40px));
  max-width: 1400px;
  margin: 0 auto;
  box-sizing: border-box;
}
#definitions .rp-about-head {
  margin: 0 0 1.5rem !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  text-align: left !important;
}
#definitions .rp-about-kicker {
  margin: 0 0 0.45rem !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #6c6c66 !important;
}
#definitions .rp-about-head h2,
#definitions header.rp-about-head h2 {
  margin: 0 0 0.45rem !important;
  padding: 0 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: clamp(1.55rem, 2.4vw, 2rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.15 !important;
  color: #090907 !important;
  background: none !important;
  text-shadow: none !important;
}
#definitions .rp-about-sub {
  margin: 0 !important;
  max-width: 54ch;
  font-size: 1.02rem !important;
  line-height: 1.5 !important;
  color: #3c3c38 !important;
}
#definitions .rp-about-lead {
  margin: 0 0 1.75rem !important;
  padding: 0 0 1.5rem !important;
  border-bottom: 1px solid rgba(9, 9, 7, 0.1);
}
#definitions .rp-about-lead p {
  margin: 0 0 0.85rem !important;
  max-width: 78ch;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.98rem !important;
  line-height: 1.65 !important;
  color: #3c3c38 !important;
  text-align: left !important;
}
#definitions .rp-about-lead p:last-child {
  margin-bottom: 0 !important;
}
#definitions .rp-about-lead dfn {
  font-family: "Open Sans", sans-serif !important;
  font-style: normal !important;
  font-weight: 700 !important;
  font-size: 1.05em !important;
  color: #090907 !important;
}
#definitions .rp-about-lead a,
#definitions .rp-about-lead a.fw-bold,
#definitions .rp-about-lead mark,
#definitions .rp-about-lead b,
#definitions .rp-about-lead strong {
  color: #090907 !important;
  background: transparent !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.16em !important;
  text-shadow: none !important;
}
#definitions .rp-about-lead a:hover {
  color: #090907 !important;
  text-decoration-color: #CCD61C !important;
}
#definitions .rp-about-defs {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.15rem 1.35rem;
  margin: 0 !important;
  padding: 0 !important;
}
#definitions .rp-about-item {
  margin: 0 !important;
  padding: 1.15rem 1.2rem 1.2rem !important;
  background: #fff !important;
  border: 1px solid rgba(9, 9, 7, 0.1) !important;
  border-radius: 12px !important;
  border-top: 3px solid #CCD61C !important;
  box-shadow: none !important;
}
#definitions .rp-about-item dt {
  margin: 0 0 0.45rem !important;
  padding: 0 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 1.02rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.3 !important;
  color: #090907 !important;
  background: none !important;
  text-decoration: none !important;
  border: 0 !important;
}
#definitions .rp-about-item dt abbr {
  text-decoration: none !important;
  border: 0 !important;
  font-weight: 700 !important;
  color: inherit !important;
}
#definitions .rp-about-item dd {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.92rem !important;
  line-height: 1.55 !important;
  color: #3c3c38 !important;
  background: none !important;
}
#definitions .rp-about-item dd dfn,
#definitions .rp-about-item dd a {
  color: #090907 !important;
  font-style: normal !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
#definitions .rp-about-item dd a:hover {
  text-decoration: underline !important;
  text-decoration-color: #CCD61C !important;
}
@media (max-width: 799px) {
  main#page > section#definitions.rp-about,
  main#page > section#definitions.parallax-text {
    padding: 2.25rem 0 2.5rem !important;
  }
  #definitions .rp-about-defs {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0.85rem !important;
  }
}

/* ===== FORCE TOPLINE TEL/AVIS ALIGN (v20260929u) — MUST WIN ===== */
div.rp-topline,
.rp-topline {
  background: #1f1d20 !important;
  background-color: #1f1d20 !important;
  color: #ffffff !important;
  border-bottom: none !important;
  border-bottom-width: 0 !important;
}
div.rp-topline .rp-topline-inner,
.rp-topline-inner,
div.rp-topline .rp-topline-left,
.rp-topline .rp-topline-left {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 1.15rem !important;
}
div.rp-topline a,
div.rp-topline .rp-topline-link,
.rp-topline a,
.rp-topline .rp-topline-link {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0.4rem !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  vertical-align: middle !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  text-underline-offset: 0 !important;
  border: 0 !important;
  border-bottom: none !important;
  box-shadow: none !important;
  background: transparent !important;
  color: #ffffff !important;
  white-space: nowrap !important;
}
div.rp-topline a:hover,
div.rp-topline a:focus,
div.rp-topline a:focus-visible,
div.rp-topline a:active,
.rp-topline a:hover,
.rp-topline a:focus,
.rp-topline a:focus-visible,
.rp-topline a:active,
div.rp-topline .rp-topline-phone:hover,
div.rp-topline .rp-topline-avis:hover,
.rp-topline .rp-topline-phone:hover,
.rp-topline .rp-topline-avis:hover {
  color: #ffffff !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  text-decoration-color: transparent !important;
  border-bottom: none !important;
  border-bottom-width: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  opacity: 1 !important;
}
div.rp-topline .rp-topline-phone,
.rp-topline .rp-topline-phone {
  font-size: 0.95rem !important; /* ~15.2px — légèrement plus gros */
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  color: #ffffff !important;
  line-height: 1 !important;
}
div.rp-topline .rp-topline-phone .icon-phone,
.rp-topline .rp-topline-phone .icon-phone {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: middle !important;
  line-height: 1 !important;
  width: 1em !important;
  height: 1em !important;
  color: #ffffff !important;
  position: relative !important;
  top: 0 !important;
}
div.rp-topline .rp-topline-phone .icon-phone::before,
.rp-topline .rp-topline-phone .icon-phone::before {
  content: "\e81f" !important;
  font-family: fontello !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-size: 1em !important;
  line-height: 1 !important;
  color: #ffffff !important;
  margin: 0 !important;
  vertical-align: middle !important;
  display: block !important;
}
div.rp-topline .rp-topline-hours,
.rp-topline .rp-topline-hours {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.8rem !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  color: #cfcfc8 !important;
  white-space: nowrap !important;
}
div.rp-topline .rp-topline-avis,
.rp-topline .rp-topline-avis {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  gap: 0.35rem !important;
  color: #ffffff !important;
  line-height: 1 !important;
}
div.rp-topline .rp-topline-avis strong,
.rp-topline .rp-topline-avis strong {
  font-size: inherit !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1 !important;
}
div.rp-topline .rp-stars,
.rp-topline .rp-stars {
  display: inline-flex !important;
  align-items: center !important;
  color: #CCD61C !important;
  font-size: 0.85rem !important;
  line-height: 1 !important;
  letter-spacing: 0.02em !important;
}

/* ===== FORCE FOOTER E-COMMERCE (v20260929v) — MUST WIN ===== */
footer#bottom.rp-footer,
body.page-home footer#bottom.rp-footer,
body.page-category footer#bottom.rp-footer,
body.page-product footer#bottom.rp-footer {
  display: block !important;
  float: none !important;
  clear: both !important;
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #f6f5f0 !important;
  background-image: none !important;
  color: #090907 !important;
  border: 0 !important;
  border-top: 0 !important;
  box-shadow: none !important;
  font-family: "Open Sans", sans-serif !important;
  box-sizing: border-box !important;
}

/* CTA bande ink pleine largeur */
footer#bottom.rp-footer .prefooter,
footer#bottom.rp-footer .rp-footer-cta,
body.page-home footer#bottom.rp-footer .prefooter,
body.page-home footer#bottom.rp-footer .rp-footer-cta {
  display: block !important;
  position: static !important;
  float: none !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #090907 !important;
  background-image: none !important;
  color: #ffffff !important;
  text-align: left !important;
  line-height: 1.4 !important;
  border: 0 !important;
  border-bottom: 0 !important;
  box-sizing: border-box !important;
}
footer#bottom.rp-footer .rp-footer-cta-inner,
body.page-home footer#bottom.rp-footer .rp-footer-cta-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1.75rem 2.5rem !important;
  width: min(1400px, calc(100% - 40px)) !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 1.65rem 0 !important;
  box-sizing: border-box !important;
  background: transparent !important;
}
footer#bottom.rp-footer .rp-footer-cta-copy,
body.page-home footer#bottom.rp-footer .rp-footer-cta-copy {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
footer#bottom.rp-footer .rp-footer-cta-title,
body.page-home footer#bottom.rp-footer .rp-footer-cta-title {
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  background: transparent !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
}
footer#bottom.rp-footer .rp-footer-cta-title abbr,
body.page-home footer#bottom.rp-footer .rp-footer-cta-title abbr {
  color: inherit !important;
  text-decoration: none !important;
  border: 0 !important;
  font-weight: inherit !important;
}
footer#bottom.rp-footer .rp-footer-cta-note,
body.page-home footer#bottom.rp-footer .rp-footer-cta-note {
  margin: 0.35rem 0 0 !important;
  padding: 0 !important;
  color: rgba(255, 255, 255, 0.72) !important;
  background: transparent !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}
footer#bottom.rp-footer .prefooter a,
footer#bottom.rp-footer .prefooter a.rp-footer-cta-btn,
footer#bottom.rp-footer a.rp-footer-cta-btn,
body.page-home footer#bottom.rp-footer .prefooter a,
body.page-home footer#bottom.rp-footer .prefooter a.rp-footer-cta-btn,
body.page-home footer#bottom.rp-footer a.rp-footer-cta-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0.8rem 1.4rem !important;
  background: #CCD61C !important;
  background-image: none !important;
  color: #090907 !important;
  border: 0 !important;
  border-radius: 4px !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}
footer#bottom.rp-footer .prefooter a.rp-footer-cta-btn:hover,
footer#bottom.rp-footer .prefooter a.rp-footer-cta-btn:focus,
footer#bottom.rp-footer a.rp-footer-cta-btn:hover,
footer#bottom.rp-footer a.rp-footer-cta-btn:focus,
body.page-home footer#bottom.rp-footer .prefooter a.rp-footer-cta-btn:hover,
body.page-home footer#bottom.rp-footer .prefooter a.rp-footer-cta-btn:focus,
body.page-home footer#bottom.rp-footer a.rp-footer-cta-btn:hover,
body.page-home footer#bottom.rp-footer a.rp-footer-cta-btn:focus {
  background: #ffffff !important;
  color: #090907 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

/* Corps colonnes aérées */
footer#bottom.rp-footer .rp-footer-main,
body.page-home footer#bottom.rp-footer .rp-footer-main {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #f6f5f0 !important;
  border: 0 !important;
}
footer#bottom.rp-footer .rp-footer-grid,
body.page-home footer#bottom.rp-footer .rp-footer-grid {
  display: grid !important;
  grid-template-columns: 1.35fr 1fr 1fr 1fr !important;
  gap: 2.4rem 2.5rem !important;
  align-items: start !important;
  width: min(1400px, calc(100% - 40px)) !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 2.75rem 0 2.25rem !important;
  box-sizing: border-box !important;
  background: transparent !important;
  height: auto !important;
  overflow: visible !important;
}
footer#bottom.rp-footer .rp-footer-col,
body.page-home footer#bottom.rp-footer .rp-footer-col {
  display: block !important;
  float: none !important;
  position: static !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  color: #090907 !important;
  border: 0 !important;
  box-shadow: none !important;
}
footer#bottom.rp-footer .rp-footer-col h3,
footer#bottom.rp-footer .letterpress,
body.page-home footer#bottom.rp-footer .rp-footer-col h3,
body.page-home footer#bottom.rp-footer .letterpress {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 0 1rem !important;
  padding: 0 !important;
  overflow: visible !important;
  color: #090907 !important;
  background: transparent !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
  text-align: left !important;
  text-indent: 0 !important;
  border: 0 !important;
}
footer#bottom.rp-footer .rp-footer-col h3::after,
footer#bottom.rp-footer .rp-footer-col h3::before,
body.page-home footer#bottom.rp-footer .rp-footer-col h3::after,
body.page-home footer#bottom.rp-footer .rp-footer-col h3::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
}
footer#bottom.rp-footer .rp-footer-col ul,
body.page-home footer#bottom.rp-footer .rp-footer-col ul {
  display: block !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
footer#bottom.rp-footer .rp-footer-col li,
body.page-home footer#bottom.rp-footer .rp-footer-col li {
  display: block !important;
  margin: 0 0 0.55rem !important;
  padding: 0 !important;
  color: rgba(9, 9, 7, 0.78) !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  text-align: left !important;
  max-width: none !important;
  background: transparent !important;
  border: 0 !important;
}
footer#bottom.rp-footer a,
footer#bottom.rp-footer a:link,
footer#bottom.rp-footer a:visited,
body.page-home footer#bottom.rp-footer a,
body.page-home footer#bottom.rp-footer a:link,
body.page-home footer#bottom.rp-footer a:visited {
  color: #090907 !important;
  background: transparent !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
footer#bottom.rp-footer .rp-footer-col a:hover,
footer#bottom.rp-footer .rp-footer-col a:focus,
body.page-home footer#bottom.rp-footer .rp-footer-col a:hover,
body.page-home footer#bottom.rp-footer .rp-footer-col a:focus {
  color: #090907 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(9, 9, 7, 0.4) !important;
  text-underline-offset: 0.18em !important;
  background: transparent !important;
}

/* Brand + téléphone fort */
footer#bottom.rp-footer .rp-footer-logo,
body.page-home footer#bottom.rp-footer .rp-footer-logo {
  display: inline-block !important;
  margin: 0 0 0.85rem !important;
  padding: 0 !important;
  background: transparent !important;
  text-decoration: none !important;
}
footer#bottom.rp-footer .rp-footer-logo img,
body.page-home footer#bottom.rp-footer .rp-footer-logo img {
  display: block !important;
  width: auto !important;
  max-width: 168px !important;
  height: auto !important;
  max-height: 48px !important;
  object-fit: contain !important;
}
footer#bottom.rp-footer .rp-footer-tag,
footer#bottom.rp-footer .rp-footer-meta,
body.page-home footer#bottom.rp-footer .rp-footer-tag,
body.page-home footer#bottom.rp-footer .rp-footer-meta {
  margin: 0 0 0.85rem !important;
  padding: 0 !important;
  color: rgba(9, 9, 7, 0.62) !important;
  background: transparent !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}
footer#bottom.rp-footer a.rp-footer-phone,
footer#bottom.rp-footer a.rp-footer-phone:link,
footer#bottom.rp-footer a.rp-footer-phone:visited,
body.page-home footer#bottom.rp-footer a.rp-footer-phone,
body.page-home footer#bottom.rp-footer a.rp-footer-phone:link,
body.page-home footer#bottom.rp-footer a.rp-footer-phone:visited {
  display: inline-block !important;
  margin: 0 0 0.35rem !important;
  padding: 0 !important;
  color: #090907 !important;
  background: transparent !important;
  font-size: 1.55rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.15 !important;
  text-decoration: none !important;
}
footer#bottom.rp-footer a.rp-footer-phone:hover,
body.page-home footer#bottom.rp-footer a.rp-footer-phone:hover {
  color: #090907 !important;
  text-decoration: none !important;
}

/* Bas de page : paiement + copyright */
footer#bottom.rp-footer .rp-footer-base,
body.page-home footer#bottom.rp-footer .rp-footer-base {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #f6f5f0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(9, 9, 7, 0.1) !important;
  box-sizing: border-box !important;
}
footer#bottom.rp-footer .rp-footer-base-inner,
body.page-home footer#bottom.rp-footer .rp-footer-base-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem 1.5rem !important;
  flex-wrap: wrap !important;
  width: min(1400px, calc(100% - 40px)) !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 1.1rem 0 1.35rem !important;
  box-sizing: border-box !important;
}
footer#bottom.rp-footer .rp-footer-payblock,
body.page-home footer#bottom.rp-footer .rp-footer-payblock {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0.75rem 1rem !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
footer#bottom.rp-footer .rp-footer-paylabel,
body.page-home footer#bottom.rp-footer .rp-footer-paylabel {
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(9, 9, 7, 0.55) !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
footer#bottom.rp-footer .rp-pay,
body.page-home footer#bottom.rp-footer .rp-pay {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.35rem !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
footer#bottom.rp-footer .rp-pay span,
body.page-home footer#bottom.rp-footer .rp-pay span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 2.45rem !important;
  height: 1.65rem !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
  color: #090907 !important;
  border: 1px solid rgba(9, 9, 7, 0.12) !important;
  border-radius: 4px !important;
  font-family: fontello !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  box-shadow: none !important;
}
footer#bottom.rp-footer .rp-footer-copy,
footer#bottom.rp-footer .rp-footer-base p,
body.page-home footer#bottom.rp-footer .rp-footer-copy,
body.page-home footer#bottom.rp-footer .rp-footer-base p {
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(9, 9, 7, 0.52) !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  background: transparent !important;
}

/* Legacy about / col4 kill inside new footer */
footer#bottom.rp-footer .about,
footer#bottom.rp-footer .col4,
body.page-home footer#bottom.rp-footer .about,
body.page-home footer#bottom.rp-footer .col4 {
  display: none !important;
}

/* go_up reste masqué */
#go_up,
a#go_up,
body.page-home #go_up {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 980px) {
  footer#bottom.rp-footer .rp-footer-grid,
  body.page-home footer#bottom.rp-footer .rp-footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 1.75rem 1.5rem !important;
    padding: 2rem 0 1.75rem !important;
  }
}
@media (max-width: 860px) {
  footer#bottom.rp-footer .rp-footer-cta-inner,
  body.page-home footer#bottom.rp-footer .rp-footer-cta-inner {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 1rem !important;
    padding: 1.4rem 0 !important;
  }
  footer#bottom.rp-footer .rp-footer-cta-title,
  body.page-home footer#bottom.rp-footer .rp-footer-cta-title {
    font-size: 1.15rem !important;
  }
  footer#bottom.rp-footer .rp-footer-grid,
  body.page-home footer#bottom.rp-footer .rp-footer-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.5rem !important;
    padding: 1.75rem 0 1.4rem !important;
  }
  footer#bottom.rp-footer a.rp-footer-phone,
  body.page-home footer#bottom.rp-footer a.rp-footer-phone {
    font-size: 1.35rem !important;
  }
  footer#bottom.rp-footer .rp-footer-base-inner,
  body.page-home footer#bottom.rp-footer .rp-footer-base-inner {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

/* Hero accueil: pas de fleches. Colonne 1400, padding horizontal type Fourniresto (3.5rem). */
body.page-home .rp-home{
  container-type: inline-size;
  container-name: rp-home;
}
body.page-home .rp-hero-nav,
body.page-home .rp-hero-prev,
body.page-home .rp-hero-next{
  display: none !important;
}
body.page-home .rp-hero-inner{
  width: 100cqi;
  max-width: 1400px;
  margin-top: 0;
  margin-bottom: 0;
  margin-left: calc(50vw - 50cqi);
  margin-right: auto;
  padding-left: 3.5rem;
  padding-right: 3.5rem;
  box-sizing: border-box;
  flex: 0 0 auto;
}
@media (max-width: 900px){
  body.page-home .rp-hero-inner{
    width: 100cqi;
    margin-left: calc(50vw - 50cqi);
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media (max-width: 720px){
  body.page-home .rp-hero-inner{
    width: 100cqi;
    margin-left: calc(50vw - 50cqi);
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

/* ===== PAGE CONTENT / QUI SOMMES-NOUS (v20260929z) ===== */
html:has(body.page-content),
body.page-content {
  overflow-x: clip !important;
  background: #f6f5f0 !important;
  color: #090907 !important;
}
body.page-content main#page.parallax,
body.page-content main#page {
  overflow-x: clip !important;
  overflow-y: visible !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  background: #f6f5f0 !important;
  background-image: none !important;
  background-attachment: scroll !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 0 3.5rem !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  color: #090907 !important;
  text-align: left !important;
  float: none !important;
  box-sizing: border-box !important;
}
body.page-content main#page > .breadcrumbs,
body.page-content main#page > article.rp-page,
body.page-content main#page > article#content {
  width: min(1400px, calc(100% - 40px)) !important;
  max-width: min(1400px, calc(100% - 40px)) !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
  box-sizing: border-box !important;
}
body.page-content .breadcrumbs,
body.page-content .breadcrumbs .inner {
  position: static !important;
  top: auto !important;
  margin: 0.85rem auto 0.35rem !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #090907 !important;
}
body.page-content .breadcrumbs a,
body.page-content .breadcrumbs span {
  color: #090907 !important;
}

/* Kill legacy dark parallax box on content pages */
body.page-content .parallax-text,
body.page-content article.parallax-text,
body.page-content #content.parallax-text {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #090907 !important;
  width: min(1400px, calc(100% - 40px)) !important;
  max-width: min(1400px, calc(100% - 40px)) !important;
  padding: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.page-content .letterpress,
body.page-content .font-title.letterpress,
body.page-content header.letterpress {
  color: #090907 !important;
  font-family: "Open Sans", "Segoe UI", sans-serif !important;
  font-style: normal !important;
  text-shadow: none !important;
  background: none !important;
}
body.page-content .letterpress.lineafter::after,
body.page-content .lineafter::after {
  background: #CCD61C !important;
  border: 0 !important;
}

/* Tooltips: never expand document scrollWidth */
body.page-content [data-tooltip]::after,
body.page-content .tooltip::after,
body.page-content .tooltip-left::after,
body.page-content .tooltip-top::after,
body.page-content .tooltip-right::after,
body.page-content .tooltip-bottom::after,
.article_panier[data-tooltip]::after,
.rp-footer-cta-btn[data-tooltip]::after,
a.tooltip-left::after,
a.tooltip-top::after {
  width: max-content !important;
  max-width: min(240px, 70vw) !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  contain: layout paint !important;
}
body.page-content .tooltip-left::after,
.article_panier.tooltip-left::after {
  left: auto !important;
  right: calc(100% + 10px) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  bottom: 50% !important;
  transform: translateY(50%) !important;
}
body.page-content .tooltip-top::after,
.rp-footer-cta-btn.tooltip-top::after {
  left: 50% !important;
  right: auto !important;
  margin-left: 0 !important;
  transform: translateX(-50%) !important;
  bottom: calc(100% + 10px) !important;
}
#mobile_nav {
  max-width: 100vw !important;
  width: min(100vw, 100%) !important;
  box-sizing: border-box !important;
}

/* Page chrome */
body.page-content article.rp-page {
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #090907 !important;
  padding: 1.25rem 0 0 !important;
  margin-bottom: 0 !important;
}
body.page-content .rp-page-head {
  margin: 0 0 1.5rem !important;
  padding: 0 0 1rem !important;
  border-bottom: 2px solid #CCD61C !important;
  text-align: left !important;
  animation: rp-about-fade 0.55s ease both;
}
body.page-content .rp-page-kicker {
  margin: 0 0 0.45rem !important;
  padding: 0 !important;
  font-family: "Open Sans", "Segoe UI", sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #090907 !important;
}
body.page-content .rp-page-title,
body.page-content .rp-page-head h2 {
  margin: 0 !important;
  padding: 0 !important;
  color: #090907 !important;
  font-family: "Open Sans", "Segoe UI", sans-serif !important;
  font-size: clamp(1.55rem, 2.4vw, 2.15rem) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  text-align: left !important;
  background: none !important;
  text-shadow: none !important;
}
body.page-content .rp-page-prose {
  max-width: 72ch !important;
  color: #090907 !important;
  font-family: "Open Sans", "Segoe UI", sans-serif !important;
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
  animation: rp-about-fade 0.7s ease 0.08s both;
}
body.page-content .rp-page-prose p {
  margin: 0 0 1.1rem !important;
  padding: 0 !important;
  color: #090907 !important;
  background: none !important;
}
body.page-content .rp-page-prose h3,
body.page-content .rp-page-prose h2,
body.page-content .rp-page-prose .font-title,
body.page-content .rp-page-prose .letterpress {
  margin: 2rem 0 0.85rem !important;
  padding: 0 !important;
  color: #090907 !important;
  font-family: "Open Sans", "Segoe UI", sans-serif !important;
  font-size: 1.28rem !important;
  font-weight: 700 !important;
  font-style: normal !important;
  line-height: 1.3 !important;
  text-shadow: none !important;
  background: none !important;
  border: 0 !important;
}
body.page-content .rp-page-prose h3.lineafter::after,
body.page-content .rp-page-prose .lineafter::after {
  display: block !important;
  width: 2.4rem !important;
  height: 2px !important;
  margin-top: 0.45rem !important;
  background: #CCD61C !important;
  content: "" !important;
  border: 0 !important;
}
body.page-content .rp-page-prose a {
  color: #090907 !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-decoration-color: #CCD61C !important;
  text-underline-offset: 0.14em !important;
}
body.page-content .rp-page-prose a:hover {
  text-decoration-thickness: 2px !important;
}
body.page-content .rp-page-figure {
  margin: 2rem 0 0 !important;
  text-align: center !important;
}
body.page-content .rp-page-figure img {
  width: 100% !important;
  max-width: 640px !important;
  height: auto !important;
  border-radius: 8px !important;
}

/* Benefits grid — e-commerce, no dark boxes */
body.page-content .rp-benefits {
  margin: 2.75rem 0 0 !important;
  padding: 0 !important;
  animation: rp-about-fade 0.75s ease 0.16s both;
}
body.page-content .rp-benefits-head {
  margin: 0 0 1.35rem !important;
  max-width: 48rem !important;
}
body.page-content .rp-benefits-title {
  margin: 0 0 0.4rem !important;
  color: #090907 !important;
  font-family: "Open Sans", "Segoe UI", sans-serif !important;
  font-size: clamp(1.35rem, 2vw, 1.75rem) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.015em !important;
}
body.page-content .rp-benefits-sub {
  margin: 0 !important;
  color: #3c3c38 !important;
  font-size: 1rem !important;
  line-height: 1.55 !important;
}
body.page-content .rp-benefits-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1rem 1.15rem !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
body.page-content .rp-benefit {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 0.85rem 1rem !important;
  align-items: start !important;
  margin: 0 !important;
  padding: 1.15rem 1.2rem !important;
  background: #ffffff !important;
  border: 1px solid rgba(9, 9, 7, 0.1) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  color: #090907 !important;
  min-width: 0 !important;
  transition: border-color 0.2s ease, transform 0.35s cubic-bezier(0.34, 1.45, 0.64, 1), box-shadow 0.25s ease !important;
}
body.page-content .rp-benefit:hover {
  border-color: #b7c01a !important;
  box-shadow: 0 12px 28px rgba(9, 9, 7, 0.08) !important;
  transform: translateY(-3px) !important;
}
body.page-content .rp-benefit-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 3rem !important;
  height: 3rem !important;
  border-radius: 999px !important;
  background: rgba(204, 214, 28, 0.28) !important;
  color: #090907 !important;
  font-size: 1.35rem !important;
  line-height: 1 !important;
}
body.page-content .rp-benefit-icon [class*="icon-"] {
  color: #090907 !important;
  background: none !important;
}
body.page-content .rp-benefit-avis .rp-benefit-icon {
  width: auto !important;
  height: auto !important;
  min-width: 3rem !important;
  padding: 0.15rem !important;
  background: transparent !important;
  border-radius: 0 !important;
}
body.page-content .rp-benefit-avis-slot,
body.page-content .rp-benefit-avis-slot > * {
  max-width: 5.5rem !important;
}
body.page-content .rp-benefit-body {
  min-width: 0 !important;
}
body.page-content .rp-benefit-title {
  margin: 0 0 0.35rem !important;
  color: #090907 !important;
  font-family: "Open Sans", "Segoe UI", sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}
body.page-content .rp-benefit-text {
  margin: 0 !important;
  color: #3c3c38 !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
  font-variant: normal !important;
}
body.page-content .rp-benefit-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.55rem !important;
  margin-top: 0.85rem !important;
}
body.page-content .rp-benefit-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  padding: 0.55rem 0.9rem !important;
  background: #CCD61C !important;
  color: #090907 !important;
  border: 0 !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  font-size: 0.92rem !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: transform 0.2s ease, background 0.2s ease !important;
}
body.page-content .rp-benefit-btn:hover,
body.page-content .rp-benefit-btn:focus {
  background: #b7c01a !important;
  color: #090907 !important;
  transform: translateY(-1px) !important;
  text-decoration: none !important;
}
body.page-content .rp-benefit-btn-ghost {
  background: #ffffff !important;
  border: 1px solid rgba(9, 9, 7, 0.18) !important;
}
body.page-content .rp-benefit-btn-ghost:hover,
body.page-content .rp-benefit-btn-ghost:focus {
  border-color: #CCD61C !important;
  background: #ffffff !important;
}
body.page-content .sticker,
body.page-content .sticker-row {
  display: none !important;
}
@keyframes rp-about-fade {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  body.page-content .rp-page-head,
  body.page-content .rp-page-prose,
  body.page-content .rp-benefits,
  body.page-content .rp-benefit {
    animation: none !important;
    transition: none !important;
  }
  body.page-content .rp-benefit:hover {
    transform: none !important;
  }
}
@media (max-width: 860px) {
  body.page-content .rp-benefits-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.page-content main#page > .breadcrumbs,
  body.page-content main#page > article.rp-page,
  body.page-content main#page > article#content {
    width: min(1400px, calc(100% - 24px)) !important;
    max-width: min(1400px, calc(100% - 24px)) !important;
  }
  body.page-content .rp-benefit-actions {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  body.page-content .rp-benefit-btn {
    justify-content: center !important;
    white-space: normal !important;
  }
}

/* Compte header: bouton fermé, bulle au clic */
header#header.rp-topbar .rp-bar,
header#header.rp-topbar .rp-actions,
body.page-home header#header.rp-topbar .rp-bar,
body.page-home header#header.rp-topbar .rp-actions {
  overflow: visible !important;
}
header#header.rp-topbar .rp-account,
body.page-home header#header.rp-topbar .rp-account {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  height: 40px !important;
  max-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  z-index: 60 !important;
}
header#header.rp-topbar .rp-account-btn,
body.page-home header#header.rp-topbar .rp-account-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.45rem !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  margin: 0 !important;
  padding: 0 0.75rem !important;
  background: #fff !important;
  background-image: none !important;
  color: #090907 !important;
  border: 1px solid rgba(9, 9, 7, 0.18) !important;
  border-radius: 0.35rem !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
header#header.rp-topbar .rp-account-btn:hover,
header#header.rp-topbar .rp-account.is-open .rp-account-btn,
body.page-home header#header.rp-topbar .rp-account-btn:hover,
body.page-home header#header.rp-topbar .rp-account.is-open .rp-account-btn {
  border-color: #CCD61C !important;
  background: #fff !important;
  color: #090907 !important;
}
header#header.rp-topbar .rp-account-btn .icon-user,
header#header.rp-topbar .rp-account-btn .rp-account-label,
body.page-home header#header.rp-topbar .rp-account-btn .icon-user,
body.page-home header#header.rp-topbar .rp-account-btn .rp-account-label {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: #090907 !important;
  line-height: 1 !important;
  text-indent: 0 !important;
  float: none !important;
}
header#header.rp-topbar .rp-account-btn .icon-user::before,
body.page-home header#header.rp-topbar .rp-account-btn .icon-user::before {
  color: #090907 !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  margin: 0 !important;
}
header#header.rp-topbar .rp-account-menu,
header#header.rp-topbar .rp-account:hover .rp-account-menu,
body.page-home header#header.rp-topbar .rp-account-menu,
body.page-home header#header.rp-topbar .rp-account:hover .rp-account-menu {
  display: none !important;
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  left: auto !important;
  min-width: 12.5rem !important;
  margin: 0 !important;
  padding: 0.35rem !important;
  background: #fff !important;
  color: #090907 !important;
  border: 1px solid rgba(9, 9, 7, 0.12) !important;
  border-radius: 0.5rem !important;
  box-shadow: 0 10px 28px rgba(9, 9, 7, 0.12) !important;
  z-index: 70 !important;
}
header#header.rp-topbar .rp-account.is-open .rp-account-menu,
header#header.rp-topbar .rp-account.is-open:hover .rp-account-menu,
body.page-home header#header.rp-topbar .rp-account.is-open .rp-account-menu,
body.page-home header#header.rp-topbar .rp-account.is-open:hover .rp-account-menu {
  display: block !important;
}
header#header.rp-topbar .rp-account-lead,
body.page-home header#header.rp-topbar .rp-account-lead {
  display: none !important;
}
header#header.rp-topbar .rp-account-menu a,
body.page-home header#header.rp-topbar .rp-account-menu a {
  display: block !important;
  margin: 0 !important;
  padding: 0.55rem 0.7rem !important;
  background: transparent !important;
  color: #090907 !important;
  border: 0 !important;
  border-radius: 0.35rem !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 0.88rem !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}
header#header.rp-topbar .rp-account-menu a:hover,
header#header.rp-topbar .rp-account-menu a:focus,
body.page-home header#header.rp-topbar .rp-account-menu a:hover,
body.page-home header#header.rp-topbar .rp-account-menu a:focus {
  background: #CCD61C !important;
  color: #090907 !important;
}

/* Hero slider cadre arrondi : 16px, image clippée */
body.page-home .rp-hero{
  border-radius: 16px;
  overflow: hidden;
}

/* H1 de page : hors du header, en tête de main, gouttière 20px, largeur 1400. */
main#page > h1.rp-page-h1 {
  display: block !important;
  float: none !important;
  clear: both !important;
  position: static !important;
  width: min(1400px, calc(100% - 40px)) !important;
  max-width: 1400px !important;
  height: auto !important;
  max-height: none !important;
  margin: 1.15rem auto 0.45rem !important;
  padding: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  color: #090907 !important;
  background: transparent !important;
  border: 0 !important;
  font-family: "Open Sans", "Segoe UI", sans-serif !important;
  font-size: clamp(1.45rem, 2.2vw, 2.05rem) !important;
  font-weight: 700 !important;
  font-style: normal !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
  text-align: left !important;
  text-shadow: none !important;
  white-space: normal !important;
  text-overflow: clip !important;
}
body.page-content .rp-page-head h1.rp-page-title {
  color: #090907 !important;
  font-family: "Open Sans", "Segoe UI", sans-serif !important;
  font-weight: 700 !important;
}

/* Homepage trust band + bestsellers (sous le slider, cartes listing). */
body.page-home .rp-trust{
  margin: 1.5rem 0 2rem !important;
  background: #fff;
  color: #090907;
  border: 1px solid rgba(9, 9, 7, 0.1);
  border-radius: 12px;
  box-shadow: 0 4px 18px rgba(9, 9, 7, 0.04);
}
body.page-home .rp-trust-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
body.page-home .rp-trust-list > li{
  min-width: 0;
  margin: 0;
  border-right: 1px solid rgba(9, 9, 7, 0.08);
}
body.page-home .rp-trust-list > li:last-child{
  border-right: 0;
}
body.page-home .rp-trust-item{
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-height: 100%;
  box-sizing: border-box;
  padding: 1.05rem 1rem;
  color: #090907;
  text-decoration: none;
  background: #fff;
}
body.page-home a.rp-trust-item:hover,
body.page-home a.rp-trust-item:focus{
  background: #f6f5f0;
  color: #090907;
  text-decoration: none;
}
body.page-home .rp-trust-icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 2.6rem;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 999px;
  background: #CCD61C;
  color: #090907;
  font-size: 1.15rem;
  line-height: 1;
}
body.page-home .rp-trust-icon::before{
  line-height: 1;
}
body.page-home .rp-trust-copy{
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}
body.page-home .rp-trust-copy strong{
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.3;
  color: #090907;
}
body.page-home .rp-trust-copy span{
  font-size: 0.82rem;
  font-weight: 400;
  line-height: 1.35;
  color: #3c3c38;
}
body.page-home .rp-bestsellers{
  margin: 0 0 2rem;
}
body.page-home .rp-bestsellers-head h2{
  margin: 0 0 0.35rem;
  color: #090907;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.2;
  font-weight: 700;
  background: none;
}
body.page-home .rp-bestsellers-head p{
  margin: 0 0 1rem;
  color: #3c3c38;
  line-height: 1.45;
}
body.page-home .rp-bestsellers-grid{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
@media (max-width: 980px){
  body.page-home .rp-bestsellers-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 860px){
  body.page-home .rp-trust-list{
    grid-template-columns: minmax(0, 1fr);
  }
  body.page-home .rp-trust-list > li{
    border-right: 0;
    border-bottom: 1px solid rgba(9, 9, 7, 0.08);
  }
  body.page-home .rp-trust-list > li:last-child{
    border-bottom: 0;
  }
}
@media (max-width: 699px){
  body.page-home .rp-bestsellers-grid{
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Catégorie : le h1 occupe l'emplacement de l'ancien h2 de rubrique. */
body.page-category #rubrique > h1.rp-cat-h1,
body.page-category #rubrique > h1.letterpress {
  display: block !important;
  float: none !important;
  clear: both !important;
  position: static !important;
  width: min(1400px, calc(100% - 40px)) !important;
  max-width: min(1400px, calc(100% - 40px)) !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: none !important;
  margin: 0.5rem auto 1rem !important;
  padding: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  color: #090907 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  font-family: "Open Sans", "Segoe UI", sans-serif !important;
  font-size: 1.65rem !important;
  font-weight: 700 !important;
  font-style: normal !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
  text-align: left !important;
  text-align-last: left !important;
  text-shadow: none !important;
  text-transform: none !important;
}
body.page-category #rubrique:has(#advanced_search) > h1.rp-cat-h1,
body.page-category #rubrique:has(#advanced_search) > h1.letterpress {
  grid-column: 1 / -1;
}
body.page-category #rubrique > h1.rp-cat-h1::first-letter,
body.page-category #rubrique > h1.letterpress::first-letter {
  font-family: "Open Sans", "Segoe UI", sans-serif !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  font-style: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  color: inherit !important;
  float: none !important;
  text-transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
@media (max-width: 640px) {
  body.page-category #rubrique > h1.rp-cat-h1,
  body.page-category #rubrique > h1.letterpress {
    font-size: 1.35rem !important;
  }
}

/* Panier accueil : le ::after tooltip ne doit pas masquer le libellé. */


/* ============================================================================
   Card produit unique : article.rp-card (templates/rp_product_card.php).
   Une seule definition pour l'accueil (meilleures ventes), le listing categorie,
   les meilleures ventes des categories parentes, la recherche et le rendu AJAX
   (category-json renvoie le meme HTML). Reference visuelle : card categorie
   (survol Fourniresto, prix, picto panier, pas de bouton "Voir").
   Les !important ne servent qu'a battre products_list.min.css / home.min.css
   (.materiels_equipements article, h3, sup) charges avant cette feuille.
   ============================================================================ */
article.rp-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 0 0.85rem !important;
  float: none !important;
  overflow: visible !important;
  background: #fff !important;
  color: #090907 !important;
  border: 1px solid rgba(9, 9, 7, 0.1) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  font-family: "Open Sans", sans-serif !important;
  text-align: left !important;
  text-align-last: left !important;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease, border-color 0.2s ease;
}
article.rp-card:hover {
  border-color: #b7c01a !important;
  box-shadow: 0 16px 32px rgba(9, 9, 7, 0.1), 0 4px 8px rgba(204, 214, 28, 0.28) !important;
  transform: translateY(-6px);
}
article.rp-card::before,
article.rp-card::after {
  content: none !important;
  display: none !important;
}

/* Photo : ratio 4/3, zoom doux au survol de la carte. */
.rp-card .rp-card-media {
  order: 1;
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  aspect-ratio: 4 / 3;
  margin: 0;
  padding: 0.85rem;
  overflow: hidden;
  background: #fff;
  border-bottom: 1px solid rgba(9, 9, 7, 0.08);
  border-radius: 9px 9px 0 0;
  text-decoration: none;
}
.rp-card .rp-card-img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  margin: 0;
  object-fit: contain;
  transform: scale(1);
  transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}
article.rp-card:hover .rp-card-img {
  transform: scale(1.08);
}

/* Corps : colonne flex, le prix est pousse en bas. */
.rp-card .rp-card-body {
  order: 2;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
}
.rp-card .rp-card-body > * {
  min-width: 0;
}

.rp-card .rp-card-title {
  margin: 0 !important;
  padding: 0.75rem 0.9rem 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #090907 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.015em !important;
  text-align: left !important;
}
.rp-card .rp-card-link {
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden !important;
  height: auto !important;
  min-height: 2.6em;
  max-height: 2.6em !important;
  color: #090907 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  background: transparent !important;
}
/* Toute la carte ouvre la fiche (lien etendu) ; le picto panier reste au-dessus (z-index 5). */
.rp-card .rp-card-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.rp-card .rp-card-brandname {
  white-space: nowrap;
}

.rp-card .rp-card-brand {
  display: block !important;
  margin: 0 !important;
  padding: 0.4rem 0.9rem 0 !important;
  color: #3c3c38 !important;
  font-size: 0.75rem !important;
  line-height: 1 !important;
  background: transparent !important;
  border: 0 !important;
  min-height: 18px !important;
}
.rp-card .rp-card-logo,
.rp-card .rp-card-flag {
  display: block !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  max-width: 92px !important;
  max-height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
}
.rp-card .rp-card-logo + .rp-card-flag {
  margin-top: 0.3rem !important;
}

.rp-card .rp-card-ref,
.rp-card .rp-card-ship {
  display: block !important;
  margin: 0 !important;
  padding: 0.2rem 0.9rem 0 !important;
  color: #8a8a82 !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
  white-space: normal !important;
  background: transparent !important;
  border: 0 !important;
}
.rp-card .rp-card-ship .icon-shipping-fast {
  margin-right: 0.3rem;
}

/* Caracteristiques : 3 lignes max, label a gauche / valeur a droite. */
.rp-card .rp-card-specs {
  display: block !important;
  min-height: 4.4rem !important;
  max-height: 4.4rem !important;
  overflow: hidden !important;
  margin: 0.35rem 0.9rem 0 !important;
  padding: 0 !important;
  color: #3c3c38 !important;
  background: transparent !important;
  border: 0 !important;
}
.rp-card .rp-card-spec {
  display: flex !important;
  justify-content: space-between;
  gap: 0.5rem;
  margin: 0 !important;
  padding: 0.08rem 0 !important;
  color: #3c3c38 !important;
  font-size: 0.75rem !important;
  line-height: 1.35 !important;
}
.rp-card .rp-card-spec dt,
.rp-card .rp-card-spec dd {
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0;
  font-size: inherit !important;
  font-weight: 400 !important;
  line-height: inherit !important;
}
.rp-card .rp-card-spec dt {
  flex: 0 1 auto;
  color: #8a8a82 !important;
}
.rp-card .rp-card-spec dd {
  flex: 1 1 auto;
  color: #090907 !important;
  text-align: right !important;
}

.rp-card .rp-card-stock {
  display: block !important;
  margin: 0.45rem 0.9rem 0 !important;
  padding: 0 !important;
  color: #3c3c38 !important;
  font-size: 0.75rem !important;
  line-height: 1.3 !important;
  background: transparent !important;
  border: 0 !important;
}
.rp-card .rp-card-stock.is-in {
  color: #1d6b32 !important;
}
.rp-card .rp-card-stock.is-out {
  color: #6c6c66 !important;
}

.rp-card .rp-card-price {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  gap: 2px !important;
  margin: auto 0 0 !important;
  padding: 0.7rem 3.5rem 0.1rem 0.9rem !important;
  min-height: 2.6rem !important;
  color: #090907 !important;
  line-height: 1.1 !important;
  text-align: left !important;
  background: transparent !important;
}
.rp-card .rp-card-old {
  display: block !important;
  margin: 0 !important;
  color: #b0aea4 !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-decoration: line-through !important;
  text-decoration-thickness: 1px !important;
}
.rp-card .rp-card-now {
  display: block !important;
  margin: 0 !important;
  color: #090907 !important;
  font-size: 1.22rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.05 !important;
  text-decoration: none !important;
  background: none !important;
}
.rp-card .rp-card-ht {
  position: relative !important;
  top: -0.35em !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  margin-left: 0.18em !important;
  color: #6c6c66 !important;
  font-size: 0.55em !important;
  font-weight: 700 !important;
  font-variant: normal !important;
  letter-spacing: 0.02em !important;
  line-height: 1 !important;
  vertical-align: baseline !important;
}

.rp-card .rp-card-badge {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  right: auto !important;
  z-index: 2 !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0.15rem 0.45rem !important;
  background: #CCD61C !important;
  color: #090907 !important;
  border-radius: 999px !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

/* Picto panier (JypCart : .addtocart + data-ref). */
.rp-card .rp-card-cart {
  position: absolute !important;
  right: 0.7rem !important;
  bottom: 0.7rem !important;
  left: auto !important;
  top: auto !important;
  z-index: 5 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: #CCD61C !important;
  color: #090907 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  text-indent: 0 !important;
  font-size: 1.05rem !important;
  line-height: 1 !important;
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.25s ease;
}
.rp-card .rp-card-cart::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  border: 0;
  background: radial-gradient(circle at center, rgba(255, 255, 255, 0.55), transparent 62%);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}
.rp-card .rp-card-cart::after {
  content: none !important;
  display: none !important;
}
.rp-card .rp-card-cart:hover,
.rp-card .rp-card-cart:focus-visible {
  background: #CCD61C !important;
  color: #090907 !important;
  box-shadow: 0 6px 14px rgba(204, 214, 28, 0.5) !important;
  transform: translateY(-2px) scale(1.05);
}
.rp-card .rp-card-cart:hover::before {
  opacity: 1;
}
.rp-card .rp-card-cart:active {
  transform: translateY(0) scale(0.95);
}
.rp-card .rp-card-cart .icon-shopping-basket {
  display: block !important;
  position: relative !important;
  z-index: 1;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  color: #090907 !important;
  font-family: fontello !important;
  font-size: 1.05rem !important;
  line-height: 1 !important;
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.rp-card .rp-card-cart:hover .icon-shopping-basket {
  transform: scale(1.15) rotate(-8deg);
}

@media (prefers-reduced-motion: reduce) {
  article.rp-card,
  .rp-card .rp-card-img,
  .rp-card .rp-card-cart,
  .rp-card .rp-card-cart::before,
  .rp-card .rp-card-cart .icon-shopping-basket {
    transition: none !important;
  }
  article.rp-card:hover,
  article.rp-card:hover .rp-card-img,
  .rp-card .rp-card-cart:hover,
  .rp-card .rp-card-cart:hover .icon-shopping-basket {
    transform: none !important;
  }
}

/* Cards directement dans section#products (meilleures ventes des categories parentes,
   recherche) : meme grille 4/2/1, gap 22 que le listing et l'accueil. */
section#products:has(> article.rp-card) {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
  text-align: left !important;
  text-align-last: left !important;
}
section#products:has(> article.rp-card) > :not(article) {
  grid-column: 1 / -1 !important;
}
@media (max-width: 980px) {
  section#products:has(> article.rp-card) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 699px) {
  section#products:has(> article.rp-card) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Recherche, panier, tunnel */
body.page-search main#page { background:#f6f5f0; }
body.page-search h1.rp-page-h1 { display: block !important; max-width:1400px; margin:1.25rem auto .4rem; padding:0 20px; font-family:"Open Sans",sans-serif; font-size:1.7rem; font-weight:700; color:#090907; text-shadow:none; }
.rp-search, body.page-search #products { max-width:1400px; margin:0 auto; padding:0 20px 2rem; }
.rp-search-lead { margin:0 0 1rem; color:#3a3834; font-size:1.05rem; }
.rp-search-cats h2 { margin:0 0 .6rem; font-size:1rem; font-weight:700; color:#090907; }
.rp-search-catlist { display:flex; flex-wrap:wrap; gap:.5rem; }
.rp-search-cat { display:inline-block; background:#fff; color:#090907; text-decoration:none; border:1px solid #e4e2da; border-radius:999px; padding:.4rem .8rem; font-size:.92rem; }
.rp-search-cat:hover { border-color:#CCD61C; background:#fffef2; }
.rp-search-empty { max-width:720px; margin:1rem auto 2rem; background:#fff; border-radius:12px; padding:1.5rem 1.4rem; color:#090907; }
.rp-search-empty h2 { margin:0 0 .6rem; font-size:1.25rem; }
.rp-search-empty a { color:#090907; }
body.page-search .produit_page_rubrique { margin:0 0 1rem; }
.rp-flow h2.rp-cart-title,
.rp-flow h2.rp-account-title,
.rp-flow h1.rp-cart-title,
.rp-flow h1.rp-account-title {
  display: block !important;
  text-align: center !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  color: #1f1d20 !important;
  margin: 1.5rem 0 1.25rem !important;
}

main#page > h1.rp-page-h1 {
  display: none !important;
}

body.page-category main#page > h1.rp-cat-h1,
body.page-category h1.rp-cat-h1,
body.page-content main#page > article.rp-page > header.rp-page-head > h1.rp-page-title,
body.page-content h1.rp-page-title,
body.page-search main#page > h1.rp-page-h1,
body.page-product main#page #product_details h1,
.rp-flow h1.rp-cart-title,
.rp-flow h1.rp-account-title {
  display: block !important;
}

body.page-search .pages { display:flex; flex-wrap:wrap; gap:.35rem; align-items:center; }
body.page-search .pages a { display:inline-flex; min-width:2.1rem; height:2.1rem; align-items:center; justify-content:center; background:#fff; color:#090907; text-decoration:none; border:1px solid #e4e2da; border-radius:4px; }
body.page-search .pages a.current { background:#CCD61C; border-color:#CCD61C; font-weight:700; }
body.page-search .pages a:empty { display:none !important; }
main#page .rp-flow { background:transparent !important; color:#090907; max-width:1100px; margin:1rem auto 2.5rem; padding:0 !important; border-radius:0 !important; box-shadow:none !important; }
.rp-flow h2, .rp-flow .letterpress { color:#090907; text-shadow:none; font-family:"Open Sans",sans-serif; }
.rp-flow .lineafter::after, .rp-flow .lineafter { display:none !important; }
.rp-flow .btn, .rp-flow .btn-primary, .rp-flow .btn-success, .rp-flow .btn-success-dark { background:#CCD61C; color:#090907; border:0; border-radius:4px; box-shadow:none; text-decoration:none; }
.rp-flow .btn-secondary { background:#1f1d20; color:#fff; }
.rp-flow input[type="text"], .rp-flow input[type="password"], .rp-flow input[type="email"], .rp-flow input[type="tel"], .rp-flow textarea, .rp-flow select, .rp-flow .zoneDeSaisie { border:1px solid #d9d6cc; border-radius:4px; padding:.55rem .7rem; background:#fff; color:#090907; box-sizing:border-box; max-width:100%; }
.rp-flow article, .rp-flow header { color:#090907; }
.rp-flow table { width:100%; border-collapse:collapse; }
.rp-flow td { vertical-align:middle; }
main#page > section.parallax-text:not(#definitions) {
  background:#fff;
  color:#090907;
  max-width:1100px;
  margin:1rem auto 2.5rem;
  padding:1.4rem 1.2rem 2rem;
  border-radius:12px;
  box-shadow:none !important;
  border: 1px solid rgba(9, 9, 7, 0.08) !important;
}
main#page > section.parallax-text:not(#definitions) h2,
main#page > section.parallax-text:not(#definitions) .letterpress {
  color:#090907;
  text-shadow:none;
  font-family:"Open Sans",sans-serif;
}
main#page > section.parallax-text:not(#definitions) .btn-primary,
main#page > section.parallax-text:not(#definitions) .btn-success,
main#page > section.parallax-text:not(#definitions) .btn-success-dark {
  background:#CCD61C;
  color:#090907;
  border:0;
  border-radius:4px;
  box-shadow:none;
}

/* ===== Mobile v20260930h : tiroir, plus de barre fixe, pas de debordement ===== */
#mobile_nav,
nav#mobile_nav,
nav#mobile_nav #rp-burger,
nav#mobile_nav #go_menu,
nav#mobile_nav #go_filter {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  position: static !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

header#header.rp-topbar .rp-burger,
body.page-home header#header.rp-topbar .rp-burger,
header#header.rp-topbar .rp-nav-backdrop,
header#header.rp-topbar .rp-drawer-head,
header#header.rp-topbar .rp-catnav-sub {
  display: none !important;
}

header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > .rp-catnav-row {
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item .rp-catnav-link {
  display: inline-block !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0.42rem 0.2rem !important;
  background: transparent !important;
  color: #090907 !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item .rp-catnav-link:hover,
header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item .rp-catnav-link:focus {
  color: #090907 !important;
  text-decoration: underline !important;
  text-decoration-color: #CCD61C !important;
  text-underline-offset: 0.28rem !important;
}

@media (max-width: 860px) {
  html,
  body {
    overflow-x: clip !important;
    max-width: 100% !important;
  }
  body.rp-nav-open {
    overflow: hidden !important;
  }

  div.rp-topline .rp-topline-inner,
  .rp-topline-inner,
  div.rp-topline .rp-topline-left,
  .rp-topline .rp-topline-left {
    flex-wrap: wrap !important;
    gap: 0.35rem 0.75rem !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0.35rem 12px !important;
    box-sizing: border-box !important;
  }
  .rp-topline .rp-topline-hours,
  div.rp-topline .rp-topline-hours,
  .rp-topline .rp-topline-avis,
  div.rp-topline .rp-topline-avis {
    display: none !important;
  }

  body.page-home header#header.rp-topbar .rp-bar,
  header#header.rp-topbar.rp-topbar .rp-bar {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) auto !important;
    grid-template-areas: "burger logo actions" "search search search" !important;
    align-items: center !important;
    justify-content: stretch !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 6px 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 8px 12px 10px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
  body.page-home header#header.rp-topbar .rp-burger,
  header#header.rp-topbar.rp-topbar .rp-burger {
    display: inline-flex !important;
    grid-area: burger !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(9, 9, 7, 0.15) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #090907 !important;
    cursor: pointer !important;
    position: relative !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  header#header.rp-topbar .rp-burger-bars,
  header#header.rp-topbar .rp-burger-bars::before,
  header#header.rp-topbar .rp-burger-bars::after {
    display: block !important;
    width: 18px !important;
    height: 2px !important;
    background: #090907 !important;
    border-radius: 1px !important;
    content: "" !important;
  }
  header#header.rp-topbar .rp-burger-bars {
    position: relative !important;
  }
  header#header.rp-topbar .rp-burger-bars::before {
    position: absolute !important;
    left: 0 !important;
    top: -6px !important;
  }
  header#header.rp-topbar .rp-burger-bars::after {
    position: absolute !important;
    left: 0 !important;
    top: 6px !important;
  }
  body.page-home header#header.rp-topbar #logo,
  header#header.rp-topbar.rp-topbar #logo {
    grid-area: logo !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }
  body.page-home header#header.rp-topbar #logo img,
  header#header.rp-topbar.rp-topbar #logo img {
    width: auto !important;
    max-width: 118px !important;
    height: 36px !important;
  }
  body.page-home header#header.rp-topbar #slogan,
  header#header.rp-topbar.rp-topbar #slogan {
    display: none !important;
  }
  body.page-home header#header.rp-topbar #titre,
  header#header.rp-topbar.rp-topbar #titre,
  body.page-home header#header.rp-topbar #recherche_form,
  header#header.rp-topbar.rp-topbar #recherche_form,
  body.page-home header#header.rp-topbar .rp-search-field,
  header#header.rp-topbar.rp-topbar .rp-search-field {
    grid-area: search !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }
  body.page-home header#header.rp-topbar #motcle,
  header#header.rp-topbar.rp-topbar #motcle {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  body.page-home header#header.rp-topbar .rp-actions,
  header#header.rp-topbar.rp-topbar .rp-actions {
    grid-area: actions !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    gap: 6px !important;
  }
  body.page-home header#header.rp-topbar .rp-account-btn .rp-account-label,
  header#header.rp-topbar.rp-topbar .rp-account-btn .rp-account-label,
  header#header.rp-topbar .rp-account-btn .rp-account-label {
    display: none !important;
  }
  body.page-home header#header.rp-topbar .rp-account-btn,
  header#header.rp-topbar.rp-topbar .rp-account-btn,
  header#header.rp-topbar .rp-account-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    background: #ffffff !important;
    border: 1px solid rgba(9, 9, 7, 0.15) !important;
    border-radius: 8px !important;
    color: #1f1d20 !important;
  }
  body.page-home header#header.rp-topbar .rp-account-menu,
  header#header.rp-topbar.rp-topbar .rp-account.is-open .rp-account-menu {
    width: min(260px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    right: 0 !important;
    left: auto !important;
  }

  header#header.rp-topbar .rp-nav-backdrop {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 70 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: rgba(9, 9, 7, 0.48) !important;
    cursor: pointer !important;
  }
  header#header.rp-topbar .rp-nav-backdrop[hidden] {
    display: none !important;
  }

  header#header.rp-topbar nav#menu_produit.rp-catnav,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: min(100%, 420px) !important;
    max-width: 100% !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 0 !important;
    box-shadow: 8px 0 28px rgba(9, 9, 7, 0.16) !important;
    z-index: 80 !important;
    transform: translateX(-105%) !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav.rp-open,
  body.page-home header#header.rp-topbar nav#menu_produit.rp-catnav.rp-open {
    transform: translateX(0) !important;
    visibility: visible !important;
    pointer-events: auto !important;
    display: flex !important;
  }
  header#header.rp-topbar .rp-drawer-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex: 0 0 auto !important;
    height: 56px !important;
    padding: 0 8px 0 16px !important;
    border-bottom: 1px solid rgba(9, 9, 7, 0.12) !important;
    background: #fff !important;
    color: #090907 !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
  }
  header#header.rp-topbar .rp-drawer-close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #090907 !important;
    font-size: 1.8rem !important;
    line-height: 1 !important;
    cursor: pointer !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list {
    display: block !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 0 24px !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item {
    display: block !important;
    width: 100% !important;
    border-bottom: 1px solid rgba(9, 9, 7, 0.1) !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > .rp-catnav-row {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 0 4px 0 16px !important;
    box-sizing: border-box !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item .rp-catnav-link {
    flex: 1 1 auto !important;
    display: block !important;
    width: auto !important;
    padding: 12px 8px 12px 0 !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    text-decoration: none !important;
  }
  header#header.rp-topbar .rp-catnav-sub {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    cursor: pointer !important;
  }
  header#header.rp-topbar .rp-catnav-sub::before {
    content: "" !important;
    display: block !important;
    width: 8px !important;
    height: 8px !important;
    border-right: 2px solid #090907 !important;
    border-bottom: 2px solid #090907 !important;
    transform: rotate(45deg) !important;
    margin-top: -4px !important;
  }
  header#header.rp-topbar .rp-catnav-item.is-open > .rp-catnav-row .rp-catnav-sub::before {
    transform: rotate(225deg) !important;
    margin-top: 4px !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega {
    position: static !important;
    display: none !important;
    width: 100% !important;
    box-shadow: none !important;
    border: 0 !important;
    background: #f6f5f0 !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-catnav-item.is-open > .rp-mega {
    display: block !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-inner {
    column-count: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 4px 16px 12px !important;
    box-sizing: border-box !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title {
    font-size: 0.95rem !important;
    padding: 8px 0 2px !important;
  }
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a {
    font-size: 0.9rem !important;
    padding: 6px 0 !important;
  }

  main#page,
  main#page.parallax {
    overflow-x: clip !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  main#page img,
  main#page video,
  main#page iframe,
  main#page svg,
  main#page table {
    max-width: 100% !important;
  }
  main#page table {
    display: block !important;
    overflow-x: auto !important;
  }
  body.page-home .rp-hero,
  body.page-home .rp-hero-inner {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  body.page-home .rp-bestsellers-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 520px) {
  body.page-home .rp-bestsellers-grid,
  body.page-category #products > .row.text-left,
  body.page-category #products #page-1 > .row {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Topline: les etoiles restent dans l'ecran. */
div.rp-topline,
.rp-topline {
  overflow-x: clip !important;
  max-width: 100% !important;
}
div.rp-topline .rp-topline-inner,
.rp-topline-inner,
div.rp-topline .rp-topline-left,
.rp-topline .rp-topline-left {
  flex-wrap: wrap !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
div.rp-topline .rp-topline-phone,
div.rp-topline .rp-topline-hours,
div.rp-topline .rp-topline-avis,
.rp-topline .rp-topline-phone,
.rp-topline .rp-topline-hours,
.rp-topline .rp-topline-avis {
  max-width: 100% !important;
  min-width: 0 !important;
}
div.rp-topline .rp-stars,
.rp-topline .rp-stars {
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}
@media (max-width: 860px) {
  div.rp-topline .rp-topline-inner,
  div.rp-topline .rp-topline-left {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0.4rem 12px !important;
    row-gap: 0.2rem !important;
  }
  div.rp-topline .rp-topline-hours,
  div.rp-topline .rp-topline-avis {
    display: flex !important;
    flex: 1 1 100% !important;
    align-items: center !important;
    white-space: normal !important;
    max-width: 100% !important;
  }
  div.rp-topline .rp-topline-avis {
    flex-wrap: wrap !important;
    column-gap: 0.35rem !important;
  }
}

@media (min-width: 861px) {
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item .rp-catnav-link {
    font-size: 0.82rem !important;
    padding-top: 0.95rem !important;
    padding-bottom: 0.95rem !important;
    padding-left: 0.35rem !important;
    padding-right: 0.35rem !important;
    white-space: normal !important;
    max-width: 110px !important;
    text-align: center !important;
    line-height: 1.25 !important;
  }
}

/* ============================================================================
   Fil d'Ariane unifié pour tout le site (rp-breadcrumb / breadcrumbs)
   ============================================================================ */
main#page > nav.rp-breadcrumb,
main#page > .breadcrumbs,
main#page > div.breadcrumbs,
.breadcrumbs,
nav.rp-breadcrumb,
body.page-category .breadcrumbs,
body.page-category nav.rp-breadcrumb,
body.page-category main#page > .breadcrumbs,
body.page-category main#page > nav.rp-breadcrumb {
  position: static !important;
  top: auto !important;
  width: min(1400px, calc(100% - 40px)) !important;
  max-width: min(1400px, calc(100% - 40px)) !important;
  min-width: 0 !important;
  margin: 1.25rem auto 0.75rem !important;
  padding: 0.65rem 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  text-align: left !important;
  float: none !important;
  box-sizing: border-box !important;
}

.breadcrumbs .inner,
nav.rp-breadcrumb .inner {
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

.rp-breadcrumb-list,
.breadcrumbs ul,
.breadcrumbs ol {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0.2rem 0.15rem !important;
  justify-content: flex-start !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  width: auto !important;
  list-style: none !important;
}

.rp-breadcrumb-item,
.breadcrumbs li {
  display: inline-flex !important;
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
  color: #3c3c38 !important;
  font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 0.875rem !important;
  float: none !important;
}

.rp-breadcrumb-item + .rp-breadcrumb-item::before,
.breadcrumbs li + li::before {
  content: "/" !important;
  margin: 0 0.4rem 0 0.15rem !important;
  color: #8a8a82 !important;
}

.rp-breadcrumb a,
.rp-breadcrumb a span,
.breadcrumbs a,
.breadcrumbs a span {
  color: #3c3c38 !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

.rp-breadcrumb a:hover,
.breadcrumbs a:hover {
  color: #090907 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.rp-breadcrumb-item:last-child,
.rp-breadcrumb-item:last-child span,
.breadcrumbs li:last-child,
.breadcrumbs li:last-child span {
  color: #090907 !important;
  font-weight: 600 !important;
}

@media (max-width: 860px) {
  main#page > nav.rp-breadcrumb,
  main#page > .breadcrumbs,
  main#page > div.breadcrumbs,
  .breadcrumbs,
  nav.rp-breadcrumb {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
  }
}

/* ============================================================================
   Page 404 (Erreur introuvable)
   ============================================================================ */
.rp-404-wrap {
  width: min(1400px, calc(100% - 40px)) !important;
  max-width: 1400px !important;
  margin: 1.5rem auto 3.5rem !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.rp-404-card {
  background: #ffffff !important;
  border: 1px solid rgba(9, 9, 7, 0.08) !important;
  border-radius: 16px !important;
  padding: 3rem 2rem !important;
  text-align: center !important;
  box-shadow: 0 4px 20px rgba(9, 9, 7, 0.04) !important;
  max-width: 960px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

.rp-404-badge {
  display: inline-block !important;
  background: #f6f5f0 !important;
  color: #1f1d20 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 0.35rem 0.85rem !important;
  border-radius: 999px !important;
  margin: 0 0 1rem !important;
}

.rp-404-title {
  color: #1f1d20 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: clamp(1.75rem, 3vw, 2.4rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.2 !important;
  margin: 0 0 0.85rem !important;
}

.rp-404-lead {
  color: #6b6860 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 1.05rem !important;
  line-height: 1.6 !important;
  max-width: 600px !important;
  margin: 0 auto 2rem !important;
}

.rp-404-search {
  max-width: 580px !important;
  margin: 0 auto 2.5rem !important;
}

.rp-404-form {
  display: flex !important;
  gap: 0.5rem !important;
  width: 100% !important;
}

.rp-404-input {
  flex: 1 1 auto !important;
  height: 48px !important;
  padding: 0 1rem !important;
  border: 1px solid rgba(31, 29, 32, 0.2) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #1f1d20 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.95rem !important;
  box-sizing: border-box !important;
}

.rp-404-input:focus {
  outline: none !important;
  border-color: #1f1d20 !important;
}

.rp-404-btn {
  height: 48px !important;
  padding: 0 1.5rem !important;
  background: #CCD61C !important;
  color: #1f1d20 !important;
  border: 0 !important;
  border-radius: 8px !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background-color 0.15s ease !important;
}

.rp-404-btn:hover {
  background: #d8e225 !important;
}

.rp-404-cats {
  margin: 0 0 2.5rem !important;
  padding-top: 2rem !important;
  border-top: 1px solid rgba(9, 9, 7, 0.08) !important;
}

.rp-404-cats-title {
  color: #1f1d20 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  margin: 0 0 1.25rem !important;
}

.rp-404-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  text-align: left !important;
}

.rp-404-cat-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.25rem !important;
  padding: 1rem 1.15rem !important;
  background: #f6f5f0 !important;
  border: 1px solid rgba(31, 29, 32, 0.06) !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.rp-404-cat-card:hover {
  border-color: #CCD61C !important;
  background: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(9, 9, 7, 0.06) !important;
}

.rp-404-cat-card strong {
  color: #1f1d20 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
}

.rp-404-cat-card span {
  color: #6b6860 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.82rem !important;
  line-height: 1.4 !important;
}

.rp-404-actions {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
}

.rp-404-home-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 0 1.5rem !important;
  background: #1f1d20 !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: opacity 0.15s ease !important;
}

.rp-404-home-btn:hover {
  opacity: 0.9 !important;
}

.rp-404-contact-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 0 1.5rem !important;
  background: transparent !important;
  color: #1f1d20 !important;
  border: 1px solid rgba(31, 29, 32, 0.2) !important;
  border-radius: 8px !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background-color 0.15s ease !important;
}

.rp-404-contact-btn:hover {
  background: #f6f5f0 !important;
}

@media (max-width: 860px) {
  .rp-404-card {
    padding: 2rem 1.25rem !important;
  }
  .rp-404-grid {
    grid-template-columns: 1fr !important;
  }
  .rp-404-form {
    flex-direction: column !important;
  }
  .rp-404-actions {
    flex-direction: column !important;
  }
  .rp-404-home-btn,
  .rp-404-contact-btn {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* ============================================================================
   Refonte Moderne Panier & Tunnel d'Achat (Inspiration Fourniresto 2026)
   ============================================================================ */
body main#page > section.rp-flow {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
  max-width: min(1200px, calc(100% - 40px)) !important;
  margin: 1.5rem auto 3rem !important;
}

/* Stepper tunnel d'achat */
.rp-checkout-steps {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1.5rem !important;
  margin: 0 auto 2rem !important;
  padding: 1rem 1.5rem !important;
  background: #ffffff !important;
  border: 1px solid rgba(9, 9, 7, 0.08) !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(9, 9, 7, 0.03) !important;
}

.rp-step-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  color: #8a8880 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
}

.rp-step-num {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background: #f6f5f0 !important;
  color: #6b6860 !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
}

.rp-step-item.is-active {
  color: #1f1d20 !important;
}

.rp-step-item.is-active .rp-step-num {
  background: #CCD61C !important;
  color: #1f1d20 !important;
}

.rp-step-sep {
  color: #d1cfc7 !important;
  font-size: 0.85rem !important;
}

/* Carte panier principale */
.rp-flow article.primary,
.rp-flow article.bg-white,
.rp-flow article.bg-light {
  background: #ffffff !important;
  border: 1px solid rgba(9, 9, 7, 0.08) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 20px rgba(9, 9, 7, 0.04) !important;
  padding: 1.75rem 2rem !important;
  margin: 1.5rem 0 !important;
  box-sizing: border-box !important;
}

/* En-tête statut du panier */
.rp-flow article > header {
  background: #f6f5f0 !important;
  color: #1f1d20 !important;
  border-radius: 10px !important;
  padding: 0.85rem 1.25rem !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 1.5rem !important;
  position: static !important;
}

.rp-flow article > header span.text-nowrap {
  margin-left: 0.35rem !important;
}

.rp-flow article > header #cart-empty {
  position: static !important;
  transform: none !important;
  background: transparent !important;
  color: #dc2626 !important;
  border: 1px solid rgba(220, 38, 38, 0.2) !important;
  border-radius: 6px !important;
  padding: 0.35rem 0.65rem !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.3rem !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}

.rp-flow article > header #cart-empty:hover {
  background: #fee2e2 !important;
  border-color: #dc2626 !important;
}

/* Tableau des lignes d'articles */
#shopping_basket.tableau_donnees {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100% !important;
  margin: 0 0 1.5rem !important;
  border: 0 !important;
}

#shopping_basket thead th {
  background: #f6f5f0 !important;
  color: #6b6860 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  padding: 0.75rem 1rem !important;
  border: 0 !important;
  text-align: left !important;
}

#shopping_basket thead th.price,
#shopping_basket thead th:last-child {
  text-align: right !important;
}

#shopping_basket tbody tr {
  border-bottom: 1px solid rgba(9, 9, 7, 0.08) !important;
}

#shopping_basket tbody td {
  padding: 1.25rem 1rem !important;
  border-top: 0 !important;
  border-bottom: 1px solid rgba(9, 9, 7, 0.08) !important;
  vertical-align: middle !important;
  color: #1f1d20 !important;
}

#shopping_basket tbody td.texte_panier {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
}

#shopping_basket .rp-cart-thumb-wrap {
  flex: 0 0 72px !important;
  width: 72px !important;
  height: 72px !important;
}

#shopping_basket .img_panier {
  width: 72px !important;
  height: 72px !important;
  object-fit: contain !important;
  border: 1px solid rgba(9, 9, 7, 0.08) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  padding: 4px !important;
}

#shopping_basket a.text-dark {
  color: #1f1d20 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
}

#shopping_basket a.text-dark:hover {
  text-decoration: underline !important;
}

#shopping_basket .ref_panier {
  color: #8a8880 !important;
  font-size: 0.8rem !important;
  display: inline-block !important;
  margin-top: 0.35rem !important;
}

#shopping_basket .panier_ht_div {
  color: #1f1d20 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  text-align: right !important;
}

/* Sélecteur de quantité stylisé */
#shopping_basket input[name="quantite"] {
  width: 60px !important;
  height: 38px !important;
  border: 1px solid rgba(31, 29, 32, 0.2) !important;
  border-radius: 8px !important;
  text-align: center !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #1f1d20 !important;
  background: #f6f5f0 !important;
}

#shopping_basket a[href*="supprimer"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  color: #9e9b92 !important;
  text-decoration: none !important;
  border-radius: 6px !important;
  transition: all 0.15s ease !important;
}

#shopping_basket a[href*="supprimer"]:hover {
  color: #dc2626 !important;
  background: #fee2e2 !important;
}

/* Tableau récapitulatif des totaux */
#total_table {
  max-width: 520px !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 0.4rem !important;
}

#total_table tr td {
  padding: 0.4rem 0.5rem !important;
  border: 0 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.95rem !important;
}

#total_table tr.text-gray-dark td {
  color: #6b6860 !important;
}

#total_table td.text-right {
  text-align: right !important;
}

#total_table td[style*="font-size:larger"],
#total_table tr:has(.icon-calc) td:last-child {
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  color: #1f1d20 !important;
}

/* Boutons d'action panier */
.btn_valider_panier,
#valider {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 240px !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 1.75rem !important;
  background: #CCD61C !important;
  color: #1f1d20 !important;
  border: 0 !important;
  border-radius: 10px !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(204, 214, 28, 0.4) !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
}

.btn_valider_panier:hover,
#valider:hover {
  background: #d8e225 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(204, 214, 28, 0.5) !important;
}

#pageRetourBtn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  background: transparent !important;
  color: #6b6860 !important;
  border: 1px solid rgba(9, 9, 7, 0.15) !important;
  border-radius: 8px !important;
  padding: 0.55rem 1rem !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  margin-top: 1rem !important;
}

#pageRetourBtn:hover {
  background: #f6f5f0 !important;
  color: #1f1d20 !important;
}

#btn-devis {
  background: #f6f5f0 !important;
  color: #1f1d20 !important;
  border: 1px solid rgba(9, 9, 7, 0.12) !important;
  border-radius: 8px !important;
  padding: 0.5rem 1rem !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

#btn-devis:hover {
  background: #e5e4dc !important;
}

/* ============================================================================
   Refonte Connexion & Création de Compte
   ============================================================================ */
.rp-auth-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) !important;
  gap: 2rem !important;
  align-items: start !important;
}

.form_cdp_clientele input[type="radio"] {
  width: auto !important;
  height: auto !important;
  display: inline-block !important;
  margin: 0 0.35rem 0 0 !important;
  vertical-align: middle !important;
}

.rp-auth-box {
  background: #ffffff !important;
  border: 1px solid rgba(9, 9, 7, 0.08) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 20px rgba(9, 9, 7, 0.04) !important;
  padding: 2rem !important;
  box-sizing: border-box !important;
}

.rp-auth-box header {
  border-bottom: 2px solid rgba(9, 9, 7, 0.08) !important;
  padding-bottom: 0.75rem !important;
  margin-bottom: 1.5rem !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: #1f1d20 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* Formulaires modernes */
.form_cdp_clientele fieldset {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 1.5rem !important;
}

.form_cdp_clientele legend {
  font-family: "Open Sans", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #1f1d20 !important;
  margin-bottom: 1rem !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
}

.form_cdp_clientele .form-group {
  margin-bottom: 1rem !important;
}

.form_cdp_clientele label {
  display: block !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: #1f1d20 !important;
  margin-bottom: 0.35rem !important;
}

.form_cdp_clientele input[type="text"],
.form_cdp_clientele input[type="password"],
.form_cdp_clientele input[type="email"],
.form_cdp_clientele input[type="tel"],
.form_cdp_clientele textarea,
.form_cdp_clientele select,
.zoneDeSaisie {
  width: 100% !important;
  height: 46px !important;
  padding: 0 0.85rem !important;
  border: 1px solid rgba(31, 29, 32, 0.2) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.95rem !important;
  color: #1f1d20 !important;
  box-sizing: border-box !important;
  transition: border-color 0.15s ease !important;
}

.form_cdp_clientele textarea {
  height: 80px !important;
  padding: 0.65rem 0.85rem !important;
}

.form_cdp_clientele input:focus,
.form_cdp_clientele textarea:focus,
.form_cdp_clientele select:focus {
  outline: none !important;
  border-color: #1f1d20 !important;
  box-shadow: 0 0 0 3px rgba(31, 29, 32, 0.08) !important;
}

.submitBtn,
#submit_connex,
#submit_new_account {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  width: 100% !important;
  height: 48px !important;
  background: #CCD61C !important;
  color: #1f1d20 !important;
  border: 0 !important;
  border-radius: 8px !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  box-sizing: border-box !important;
}

.submitBtn:hover,
#submit_connex:hover,
#submit_new_account:hover {
  background: #d8e225 !important;
  transform: translateY(-1px) !important;
}

/* Neutraliser les fonds sombres/images sur le panier et tunnel */
body main#page.parallax {
  background-image: none !important;
  background-color: #f6f5f0 !important;
}

.rp-flow-card,
.rp-flow article {
  border: 1px solid rgba(9, 9, 7, 0.08) !important;
  border-radius: 16px !important;
}

@media (max-width: 860px) {
  .rp-checkout-steps {
    flex-wrap: wrap !important;
    gap: 0.75rem !important;
  }
  .rp-auth-grid {
    grid-template-columns: 1fr !important;
  }
  #total_table {
    max-width: 100% !important;
  }
  .rp-flow article.primary,
  .rp-flow article.bg-white,
  .rp-auth-box {
    padding: 1.25rem 1rem !important;
  }
  
  /* Panier mobile : affichage cartes au lieu de tableau écrasé */
  #shopping_basket thead {
    display: none !important;
  }
  #shopping_basket tbody tr {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
    padding: 1rem 0 !important;
    border-bottom: 1px solid rgba(9, 9, 7, 0.1) !important;
  }
  #shopping_basket tbody td {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 0.35rem 0 !important;
    border: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  #shopping_basket tbody td.texte_panier {
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 0.75rem !important;
  }
  #shopping_basket tbody td.price::before {
    content: "Quantité : " !important;
    font-size: 0.85rem !important;
    color: #6b6860 !important;
    font-weight: 600 !important;
  }
  #shopping_basket tbody td:last-child {
    border-top: 1px dashed rgba(9, 9, 7, 0.08) !important;
    padding-top: 0.65rem !important;
  }
}

/* ============================================================================
   Correctifs ciblés v20261007c :
   - Neutralisation des styles legacy letterpress résiduels
   - Harmonisation des boutons filtres et contact
   - Accessibilité et taille cliquable des points slider hero
   ============================================================================ */

/* Neutralisation définitive de toute classe legacy letterpress / lineafter */
.letterpress,
[class*="letterpress"] {
  text-shadow: none !important;
  color: #1f1d20 !important;
  font-family: "Open Sans", -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  background: transparent !important;
}

.lineafter::after,
.lineafter::before,
header.lineafter::after,
h1.lineafter::after,
h2.lineafter::after,
h3.lineafter::after {
  content: none !important;
  display: none !important;
}

/* Boutons dans la zone filtres (#advanced_search et #show_results) */
#advanced_search .btn.btn-primary,
#advanced_search button.btn-primary,
#advanced_search .btn,
#show_results,
button#show_results,
.rp-cat-toolbar #show_results,
#show_results.btn.btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 0.45rem 1rem !important;
  background: #CCD61C !important;
  background-color: #CCD61C !important;
  color: #1f1d20 !important;
  border: 0 !important;
  border-radius: 6px !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}

#advanced_search .btn.btn-primary:hover,
#show_results:hover {
  background: #d8e225 !important;
  background-color: #d8e225 !important;
}

/* Bouton "Contactez nos conseillers" dans le guide d'achat */
#bottom_description a.btn.btn-primary,
#bottom_description .btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  min-height: 38px !important;
  padding: 0.45rem 1.15rem !important;
  background: #CCD61C !important;
  color: #1f1d20 !important;
  border: 0 !important;
  border-radius: 6px !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

#bottom_description a.btn.btn-primary:hover {
  background: #d8e225 !important;
}

/* Points de pagination du slider Hero accueil */
.rp-hero-dot {
  position: relative !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  padding: 0 !important;
  margin: 0 4px !important;
  border: 2px solid #ffffff !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.4) !important;
  color: transparent !important;
  font-size: 0 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.rp-hero-dot::after {
  content: "" !important;
  position: absolute !important;
  top: -8px !important;
  bottom: -8px !important;
  left: -8px !important;
  right: -8px !important;
}

.rp-hero-dot.is-active,
.rp-hero-dot[aria-current="true"] {
  background: #CCD61C !important;
  border-color: #CCD61C !important;
  transform: scale(1.2) !important;
}

/* Bouton connectez-vous dans le bloc devis panier */
#zone-devis a.btn-primary,
#zone-devis .btn.btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  padding: 0.45rem 1rem !important;
  background: #1f1d20 !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 6px !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

#zone-devis a.btn-primary:hover {
  background: #3c393e !important;
}

/* Bouton Continuer mes achats dans panier vide */
.rp-cart-empty a.btn.btn-primary {
  background: #CCD61C !important;
  color: #1f1d20 !important;
  font-weight: 700 !important;
  padding: 0.75rem 1.75rem !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  display: inline-block !important;
}

.rp-cart-empty a.btn.btn-primary:hover {
  background: #d8e225 !important;
}

/* ============================================================================
   Correctifs ciblés v20261007f :
   - Bouton œil (afficher/masquer mot de passe) : pleine hauteur de l'input (46px), centré et stylisé
   - Z-Index : Isolation des menus et header par rapport aux formulaires d'authentification
   ============================================================================ */

/* Enveloppe champ mot de passe avec bouton œil */
.wrapbtnview {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  height: auto !important;
}

.wrapbtnview input[type="password"],
.wrapbtnview input[type="text"] {
  width: 100% !important;
  height: 46px !important;
  padding-right: 44px !important;
  box-sizing: border-box !important;
}

/* Bouton œil stylisé sur toute la hauteur */
.wrapbtnview .btn.btn-icon,
.wrapbtnview .btn-icon,
span.wrapbtnview > span.btn-icon {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  right: 0 !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-left: 1px solid rgba(31, 29, 32, 0.12) !important;
  border-radius: 0 8px 8px 0 !important;
  color: #6b6860 !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  z-index: 10 !important;
  transition: color 0.15s ease, background-color 0.15s ease !important;
  box-shadow: none !important;
}

.wrapbtnview .btn.btn-icon:hover,
.wrapbtnview .btn-icon:hover {
  background: #f6f5f0 !important;
  background-color: #f6f5f0 !important;
  color: #1f1d20 !important;
}

.wrapbtnview .btn.btn-icon .icon,
.wrapbtnview .btn-icon .icon,
.wrapbtnview .btn.btn-icon [class^="icon-"],
.wrapbtnview .btn-icon [class^="icon-"] {
  font-size: 1.15rem !important;
  line-height: 1 !important;
  color: inherit !important;
}

/* Header sticky + panier : au-dessus du contenu qui défile.
   .rp-flow à z-index 100 créait une couche qui peignait tout le tunnel
   (panier, récap, étapes) par-dessus la barre. z-index auto : le flux
   ne masque plus le header. Menu, compte et ui-front restent au-dessus. */
.rp-sticky {
  position: sticky !important;
  top: 0 !important;
  z-index: 200 !important;
}

header#header.rp-topbar #btn_header,
header#header.rp-topbar #btn_header a.article_panier {
  z-index: 6 !important;
}

header#header.rp-topbar nav#menu_produit.rp-catnav,
header#header.rp-topbar .rp-mega {
  z-index: 210 !important;
}

header#header.rp-topbar .rp-account,
header#header.rp-topbar .rp-account-menu {
  z-index: 220 !important;
}

.rp-flow {
  position: relative !important;
  z-index: auto !important;
}

.rp-auth-grid,
.rp-auth-box {
  position: relative !important;
  z-index: auto !important;
}


/* ============================================================================
   Page Recherche (v20261007i) :
   - Calage rigoureux sur la grille 1400px (x=20px avec marges)
   - Alignement typographique Open Sans et titres #1f1d20
   - Élimination des marges parasites body/main
   ============================================================================ */

body.page-search {
  margin: 0 !important;
  padding: 0 !important;
  font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  color: #1f1d20 !important;
  background: #f6f5f0 !important;
  overflow-x: clip !important;
}

body.page-search main#page,
body.page-search main#page.parallax {
  margin: 0 !important;
  padding: 0 0 3rem !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  background: transparent !important;
  background-image: none !important;
  font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  color: #1f1d20 !important;
}

body.page-search h1.rp-page-h1 {
  display: block !important;
  width: min(1400px, calc(100% - 40px)) !important;
  max-width: min(1400px, calc(100% - 40px)) !important;
  margin: 1.15rem auto 0.5rem !important;
  padding: 0 !important;
  font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: clamp(1.45rem, 2.2vw, 1.85rem) !important;
  font-weight: 700 !important;
  color: #1f1d20 !important;
  text-shadow: none !important;
  box-sizing: border-box !important;
}

body.page-search .rp-search,
body.page-search section#products {
  width: min(1400px, calc(100% - 40px)) !important;
  max-width: min(1400px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  color: #1f1d20 !important;
}

body.page-search .rp-search {
  margin-bottom: 1.5rem !important;
}

body.page-search .rp-search-lead {
  margin: 0 0 1rem !important;
  color: #6b6860 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 1rem !important;
}

body.page-search .rp-search-cats h2 {
  margin: 0 0 0.65rem !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #1f1d20 !important;
}

body.page-search .rp-search-catlist {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
}

body.page-search .rp-search-cat {
  display: inline-flex !important;
  align-items: center !important;
  background: #ffffff !important;
  color: #1f1d20 !important;
  text-decoration: none !important;
  border: 1px solid rgba(9, 9, 7, 0.12) !important;
  border-radius: 999px !important;
  padding: 0.4rem 0.85rem !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  transition: all 0.15s ease !important;
}

body.page-search .rp-search-cat:hover {
  border-color: #CCD61C !important;
  background: #fdfdf9 !important;
  color: #1f1d20 !important;
}

body.page-search section#products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
  margin-bottom: 3rem !important;
}

body.page-search section#products > :not(article.rp-card) {
  grid-column: 1 / -1 !important;
}

body.page-search .produit_page_rubrique {
  margin: 2rem 0 1rem !important;
  text-align: center !important;
}

body.page-search .pages {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.4rem !important;
}

body.page-search .pages a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  background: #ffffff !important;
  color: #1f1d20 !important;
  border: 1px solid rgba(9, 9, 7, 0.12) !important;
  border-radius: 6px !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}

body.page-search .pages a:hover {
  background: #f6f5f0 !important;
  border-color: #1f1d20 !important;
}

body.page-search .pages a.current,
body.page-search .pages a.LIEN_pages.current {
  background: #CCD61C !important;
  border-color: #CCD61C !important;
  color: #1f1d20 !important;
  font-weight: 700 !important;
}

body.page-search .rp-search-empty {
  max-width: 680px !important;
  margin: 2rem auto !important;
  background: #ffffff !important;
  border: 1px solid rgba(9, 9, 7, 0.08) !important;
  border-radius: 12px !important;
  padding: 2rem 1.5rem !important;
  text-align: center !important;
}

body.page-search .rp-search-empty h2 {
  font-family: "Open Sans", sans-serif !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  color: #1f1d20 !important;
  margin: 0 0 0.5rem !important;
}

body.page-search .rp-search-empty p {
  color: #6b6860 !important;
  font-family: "Open Sans", sans-serif !important;
  margin: 0 0 1rem !important;
}

body.page-search .rp-search-empty a {
  color: #1f1d20 !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}

@media (max-width: 980px) {
  body.page-search section#products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}

@media (max-width: 699px) {
  body.page-search section#products {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }
}

/* ============================================================================
   Menu Catégories avec Pictos compacts & Vrai Panneau Méga-menu (v20261007m)
   - Barre compacte : icône 16px à gauche ou au-dessus sans gonfler la barre
   - Panneau méga-menu : vrai panneau sur fond blanc opaque, z-index 120,
     position absolute sous la barre, colonnes lisibles, ombre douce,
     recouvrant proprement le contenu sous-jacent.
   ============================================================================ */

/* Conteneur de navigation principal */
@media (min-width: 861px) {
  header#header.rp-topbar nav#menu_produit.rp-catnav {
    position: relative !important;
    background: #ffffff !important;
    border-bottom: 1px solid rgba(9, 9, 7, 0.12) !important;
    z-index: 80 !important;
  }
}

@media (min-width: 861px) {
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    width: min(1400px, calc(100% - 40px)) !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    height: 48px !important;
    max-height: 48px !important;
    overflow: visible !important;
  }

  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 1 0 !important;
    min-width: 0 !important;
    height: 48px !important;
    position: static !important;
  }

  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item > .rp-catnav-row {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
  }

  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item .rp-catnav-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.35rem !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 0.3rem !important;
    background: transparent !important;
    color: #1f1d20 !important;
    font-size: 0.76rem !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    white-space: normal !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    border-radius: 4px !important;
    transition: background-color 0.15s ease, color 0.15s ease !important;
  }

  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item:hover .rp-catnav-link,
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item.is-open .rp-catnav-link {
    background: #f6f5f0 !important;
    color: #090907 !important;
  }

  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item .rp-catnav-link .icon,
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item .rp-catnav-link .rp-catnav-icon {
    display: inline-block !important;
    font-family: fontello !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    color: #1f1d20 !important;
    flex: 0 0 auto !important;
  }

  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item .rp-catnav-link .rp-catnav-label {
    display: inline-block !important;
    font-size: 0.74rem !important;
    line-height: 1.15 !important;
  }

  /* VRAI PANNEAU MÉGA-MENU AU SURVOL */
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    border-top: 1px solid rgba(9, 9, 7, 0.1) !important;
    border-bottom: 2px solid #CCD61C !important;
    box-shadow: 0 16px 36px rgba(9, 9, 7, 0.14) !important;
    z-index: 150 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Affichage au survol ou à l'ouverture de l'item */
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-catnav-item:hover > .rp-mega,
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-catnav-item.is-open > .rp-mega,
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-catnav-item:focus-within > .rp-mega {
    display: block !important;
  }

  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-inner {
    width: min(1400px, calc(100% - 40px)) !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 1.5rem 0 2rem !important;
    column-count: 4 !important;
    column-gap: 2rem !important;
    box-sizing: border-box !important;
    background: transparent !important;
  }

  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-col {
    break-inside: avoid !important;
    margin-bottom: 1.25rem !important;
  }

  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-title {
    display: block !important;
    font-family: "Open Sans", sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: #1f1d20 !important;
    margin: 0 0 0.5rem !important;
    padding-bottom: 0.35rem !important;
    border-bottom: 2px solid #CCD61C !important;
    text-decoration: none !important;
  }

  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub li {
    padding: 0.15rem 0 !important;
    margin: 0 !important;
  }

  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a {
    display: block !important;
    font-family: "Open Sans", sans-serif !important;
    font-size: 0.88rem !important;
    font-weight: 500 !important;
    color: #4a4740 !important;
    line-height: 1.4 !important;
    padding: 0.25rem 0.4rem !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: background-color 0.15s ease, color 0.15s ease !important;
  }

  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a:hover,
  header#header.rp-topbar nav#menu_produit.rp-catnav .rp-mega-sub a:focus {
    background: #f6f5f0 !important;
    color: #090907 !important;
    text-decoration: none !important;
  }
}

/* En mobile (tiroir latéral) : affichage horizontal avec icône à gauche */
@media (max-width: 860px) {
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item .rp-catnav-link {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    padding: 12px 8px 12px 16px !important;
    font-size: 0.95rem !important;
    line-height: 1.3 !important;
    white-space: normal !important;
  }

  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item .rp-catnav-link .icon,
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item .rp-catnav-link .rp-catnav-icon {
    display: inline-block !important;
    font-family: fontello !important;
    font-size: 1.25rem !important;
    color: #1f1d20 !important;
    flex: 0 0 auto !important;
  }
}

/* Glyphes originaux de la police fontello pour chaque catégorie du menu */
.icon-froid::before { content: '\e90c' !important; }
.icon-cuisson::before { content: '\e90b' !important; }
.icon-lavage-et-hygiene::before, .icon-lavage::before { content: '\e90f' !important; }
.icon-preparation-culinaire::before { content: '\e913' !important; }
.icon-traitement-de-l-air::before { content: '\e915' !important; }
.icon-inox::before { content: '\e90e' !important; }
.icon-materiel-pour-boissons::before { content: '\e87c' !important; }
.icon-service::before { content: '\e914' !important; }
.icon-mobilier::before { content: '\e911' !important; }
.icon-destockage::before { content: '\e817' !important; }
.icon-art-de-la-table--buffet-et-bar::before { content: '\e880' !important; }
.icon-ustensiles-et-stockage::before { content: '\e883' !important; }
.icon-pizzeria::before { content: '\e87b' !important; }













/* Menu sans pictos (v20261007n) */
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-catnav-icon,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-catnav-link .icon,
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-catnav-link [class^="icon-"],
header#header.rp-topbar nav#menu_produit.rp-catnav .rp-catnav-link [class*=" icon-"] {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  font-size: 0 !important;
}
@media (min-width: 861px) {
  header#header.rp-topbar nav#menu_produit.rp-catnav > ul.rp-catnav-list > li.rp-catnav-item .rp-catnav-link {
    gap: 0 !important;
  }
}

/* Icônes fontello sur toutes les pages (la recherche ne charge pas products_list). */
[class^="icon-"]:before,
[class*=" icon-"]:before,
.icon:before {
  font-family: "fontello" !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  line-height: 1 !important;
  display: inline-block !important;
  text-decoration: inherit;
  text-align: center;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-search:before { content: "\e801"; }
.icon-user:before { content: "\e805"; }
.icon-shopping-basket:before { content: "\f291"; }
.icon-phone:before { content: "\e81f"; }
.icon-eye:before { content: "\e806"; }
.icon-eye-off:before { content: "\e807"; }
.icon-paypal:before { content: "\f1ed"; }
.icon-bank:before { content: "\f19c"; }
.icon-credit-card:before { content: "\e833"; }
.icon-bank-check:before { content: "\e834"; }
.icon-check:before { content: "\e80e"; }
.icon-flash:before { content: "\e84d"; }
.icon-plug:before { content: "\f1e6"; }
.icon-ruler-combined:before { content: "\e887"; }
.icon-shipping-fast:before { content: "\e88a"; }
.icon-tint:before { content: "\e85c"; }
.icon-angle-right:before { content: "\f105"; }
.icon-mail:before { content: "\e87b"; }
.icon-mail-alt:before { content: "\e800"; }
.icon-lock:before { content: "\e809"; }
.icon-home:before { content: "\e808"; }
.icon-basket:before { content: "\e81c"; }

header#header.rp-topbar #recherche_form button.submit,
header#header.rp-topbar #titre form button {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  border-radius: 0 8px 8px 0 !important;
}
header#header.rp-topbar .rp-search-field {
  height: 44px !important;
  border-radius: 8px !important;
}
header#header.rp-topbar #motcle,
header#header.rp-topbar #titre form input {
  height: 42px !important;
  line-height: 42px !important;
}
header#header.rp-topbar #recherche_form button.submit .icon-search,
header#header.rp-topbar #btn_header a .icon-shopping-basket,
header#header.rp-topbar .rp-account-btn .icon-user,
header#header.rp-topbar .rp-topline-phone .icon-phone {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1.05rem !important;
  min-width: 1.05rem !important;
  height: 1.05rem !important;
  font-size: 1.05rem !important;
  line-height: 1 !important;
  color: #1f1d20 !important;
}
header#header.rp-topbar #btn_header a.article_panier {
  min-width: 44px !important;
  height: 44px !important;
  padding: 0 0.55rem !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
}
header#header.rp-topbar .rp-account-btn {
  height: 44px !important;
  min-height: 44px !important;
  border-radius: 8px !important;
}

/* Dropdown « Mon compte » au-dessus du menu catégories (v20261008d).
   Le méga-menu vit dans nav#menu_produit (z-index 80, panneau interne 150).
   .rp-account à 220 reste piégé si un ancêtre (barre) ne crée pas de
   stacking context au-dessus de cette nav. On hisse la barre et le compte
   sans toucher .rp-sticky (200) ni .rp-flow (auto) : le header du tunnel
   reste au-dessus du checkout. */
@media (min-width: 861px) {
  header#header.rp-topbar .rp-bar,
  body.page-home header#header.rp-topbar .rp-bar,
  header#header.rp-topbar .rp-actions,
  body.page-home header#header.rp-topbar .rp-actions {
    position: relative !important;
    z-index: 300 !important;
  }
  header#header.rp-topbar .rp-account,
  body.page-home header#header.rp-topbar .rp-account {
    position: relative !important;
    z-index: 310 !important;
  }
  header#header.rp-topbar .rp-account-menu,
  header#header.rp-topbar .rp-account.is-open .rp-account-menu,
  header#header.rp-topbar .rp-account.is-open:hover .rp-account-menu,
  body.page-home header#header.rp-topbar .rp-account-menu,
  body.page-home header#header.rp-topbar .rp-account.is-open .rp-account-menu {
    z-index: 320 !important;
  }
}

/* Contact / SAV : même habillage que les pages contenu (fond clair, cartes blanches). */
body.page-content .rp-page-form {
  width: 100% !important;
  max-width: 960px !important;
  margin: 0 auto 2rem !important;
  color: #090907 !important;
  font-family: "Open Sans", "Segoe UI", sans-serif !important;
}
body.page-content .rp-page-form .primary,
body.page-content .rp-page-form article,
body.page-content .rp-page-form fieldset,
body.page-content .rp-page-form .bg-light,
body.page-content .rp-page-form .bg-white {
  background: #ffffff !important;
  background-image: none !important;
  color: #090907 !important;
  border-color: rgba(9, 9, 7, 0.1) !important;
  box-shadow: none !important;
}
body.page-content .rp-page-form article {
  border: 1px solid rgba(9, 9, 7, 0.1) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}
body.page-content .rp-page-form h2,
body.page-content .rp-page-form h3,
body.page-content .rp-page-form .letterpress,
body.page-content .rp-page-form .font-title,
body.page-content .rp-page-form header,
body.page-content .rp-page-form legend {
  color: #090907 !important;
  font-family: "Open Sans", "Segoe UI", sans-serif !important;
  text-shadow: none !important;
  background: none !important;
}
body.page-content .rp-page-form .header-primary,
body.page-content .rp-page-form article > header {
  background: #f6f5f0 !important;
  color: #090907 !important;
  border-bottom: 2px solid #CCD61C !important;
  border-radius: 0 !important;
  text-align: left !important;
  font-weight: 700 !important;
}
body.page-content .rp-page-form .btn,
body.page-content .rp-page-form .btn-primary {
  background: #CCD61C !important;
  background-image: none !important;
  color: #090907 !important;
  border: 0 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  font-weight: 700 !important;
}
body.page-content .rp-page-form input[type="text"],
body.page-content .rp-page-form input[type="email"],
body.page-content .rp-page-form input[type="tel"],
body.page-content .rp-page-form textarea,
body.page-content .rp-page-form select {
  border: 1px solid #d9d6cc !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: #090907 !important;
  font-family: "Open Sans", "Segoe UI", sans-serif !important;
}
.tarteaucitron-magic-block.tarteaucitron-magic-block-recaptcha {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 999999;
  min-width: 300px;
}
