/*
Theme Name: Betheme Child
Theme URI: https://themes.muffingroup.com/betheme
Author: Muffin group
Author URI: https://muffingroup.com
Description: Child Theme for Betheme
Template: betheme
Version: 1.6.2
*/

/* Navigation DECOENLIGNE — menu WordPress « Menu », esprit Prestige Concept. */
:root {
  --deo-ink: #171411;
  --deo-panel: #0a0c0e;
  --deo-gold: #d2aa4c;
  --deo-gold-light: #f6e7c6;
  --deo-border: rgba(210, 170, 76, .72);
}

#Top_bar {
  border-bottom: 1px solid rgba(180, 139, 52, .2);
  box-shadow: 0 8px 26px rgba(24, 18, 10, .07);
}

#Top_bar .container { width: min(100% - 48px, 1440px); max-width: 1440px; }
#Top_bar .top_bar_left { display: flex !important; align-items: center; width: calc(100% - 150px); }
#Top_bar .logo { position: static !important; flex: 0 0 auto; order: 1; }
#Top_bar .menu_wrapper { display: flex !important; align-items: center; justify-content: flex-end; flex: 1 1 auto; order: 2; }
#Top_bar #menu > ul { display: flex; align-items: center; justify-content: flex-end; gap: clamp(18px, 2.2vw, 38px); }

#Top_bar #menu > ul > li > a {
  padding: 0 !important;
  color: var(--deo-ink);
  font-size: clamp(16px, 1.25vw, 20px);
  font-weight: 600;
  letter-spacing: .025em;
  line-height: 76px !important;
  transition: color .2s ease;
}

#Top_bar #menu > ul > li > a span:not(.description) { padding: 0; border: 0; line-height: inherit; }
#Top_bar #menu > ul > li:not(.deo-menu-contact):hover > a,
#Top_bar #menu > ul > li:not(.deo-menu-contact) > a:focus-visible {
  padding-right: 4px !important;
  padding-left: 4px !important;
  border-bottom: 2px solid #111 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #b07a16 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .48) !important;
}

#Top_bar #menu ul.sub-menu {
  min-width: 290px;
  padding: 12px 22px;
  border: 1px solid rgba(210, 170, 76, .62);
  border-top: 2px solid var(--deo-gold);
  border-radius: 3px;
  background: rgba(10, 12, 14, .98);
  box-shadow: 0 18px 36px rgba(0, 0, 0, .35);
}

#Top_bar #menu ul.sub-menu li { border-bottom: 1px solid rgba(220, 195, 140, .16); }
#Top_bar #menu ul.sub-menu li:last-child { border-bottom: 0; }
#Top_bar #menu ul.sub-menu li a {
  padding: 12px 0 !important;
  color: rgba(255, 250, 238, .92);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.35;
}
#Top_bar #menu ul.sub-menu li:hover > a,
#Top_bar #menu ul.sub-menu li.current-menu-item > a { color: #e4bd68; background: transparent; }

/* Bouton Contact desktop, équivalent de « Prendre contact » sur Prestige. */
#Top_bar #menu > ul > li.deo-menu-contact > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 20px !important;
  border: 1px solid #171411;
  border-radius: 999px;
  background: #171411;
  color: #d2aa4c !important;
  line-height: 38px !important;
  text-transform: none;
}
#Top_bar #menu > ul > li.deo-menu-contact:hover > a,
#Top_bar #menu > ul > li.deo-menu-contact:focus-within > a {
  border-color: #d2aa4c;
  background: #d2aa4c;
  color: #171411 !important;
}

@media only screen and (min-width: 1240px) {
  #Top_bar #menu .menu-toggle,
  #Top_bar #menu .menu-arrow { display: none !important; }
  #Top_bar #menu ul.sub-menu {
    display: none !important;
    width: max-content !important;
    min-width: 330px !important;
    max-width: min(500px, calc(100vw - 40px)) !important;
  }
  #Top_bar #menu ul.sub-menu > li > a { white-space: nowrap !important; }
  #Top_bar #menu li:hover > ul.sub-menu { display: block !important; }
}

.deo-contact-toggle { display: none; }

/* Logo local unique sur ordinateur : independant des sources Betheme. */
@media only screen and (min-width: 1240px) {
  body #Top_bar .logo #logo {
    display: block !important;
    box-sizing: border-box !important;
    width: 72px !important;
    min-width: 72px !important;
    height: 72px !important;
    min-height: 72px !important;
    margin: 4px 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background-color: transparent !important;
    background-image: url("assets/images/logo.webp") !important;
    background-position: left center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
  }

  body #Top_bar .logo #logo img {
    display: none !important;
  }

  /* Le bandeau desktop reduit son logo lorsqu'il devient sticky. */
  body #Top_bar.is-sticky .logo #logo {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    background-size: contain !important;
    transform: translateY(-5px) !important;
  }
}

@media only screen and (max-width: 1239px) {
  #Top_bar .container { width: calc(100% - 28px); }
  #Top_bar .column.one { display: flex; align-items: center; width: 100%; margin: 0; }
  body #Top_bar .top_bar_left { display: flex !important; align-items: center; width: 100% !important; min-height: 76px; }
  body #Top_bar .logo { position: static !important; display: block !important; margin-right: auto; order: 1; }
  #Top_bar .logo #logo { margin: 0 !important; padding: 6px 0 !important; }
  #Top_bar .logo #logo img.logo-mobile {
    width: auto;
    max-width: min(48vw, 220px);
    max-height: 64px !important;
    object-fit: contain;
  }
  /*
   * Logo mobile autonome : aucune dependance aux URLs d'images reecrites par
   * Betheme. Le lien conserve sa fonction et son libelle accessible.
   */
  body #Top_bar .logo #logo {
    display: block !important;
    box-sizing: border-box !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 6px 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background-color: transparent !important;
    background-image: url("assets/images/logo.webp") !important;
    background-position: left center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
  }
  body #Top_bar .logo #logo img {
    display: none !important;
  }
  body #Top_bar .menu_wrapper,
  body.mobile-header-mini #Top_bar .menu_wrapper {
    position: static !important;
    display: flex !important;
    visibility: visible !important;
    flex: 0 0 auto;
    align-items: center;
    gap: 9px;
    order: 2;
  }

  #Top_bar a.responsive-menu-toggle,
  #Top_bar a.deo-contact-toggle {
    position: static !important;
    inset: auto !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--deo-border);
    border-radius: 3px;
    background: var(--deo-panel);
    color: var(--deo-gold-light) !important;
    box-shadow: 0 5px 18px rgba(0, 0, 0, .16);
    text-decoration: none;
    transition: color .2s, background .2s, transform .2s;
  }
  body.mobile-header-mini #Top_bar a.responsive-menu-toggle,
  body.mobile-header-mini #Top_bar a.deo-contact-toggle {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  #Top_bar a.responsive-menu-toggle i { color: inherit; font-size: 24px; line-height: 1; }
  #Top_bar a.deo-contact-toggle svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.55;
  }
  #Top_bar a.responsive-menu-toggle:hover,
  #Top_bar a.responsive-menu-toggle:focus-visible,
  #Top_bar a.deo-contact-toggle:hover,
  #Top_bar a.deo-contact-toggle:focus-visible {
    color: #17130d !important;
    background: var(--deo-gold);
    outline: 0;
    transform: translateY(-1px);
  }
  #Top_bar a.responsive-menu-toggle:hover i,
  #Top_bar a.responsive-menu-toggle:focus-visible i {
    color: #17130d !important;
  }
  #Top_bar a.deo-contact-toggle:hover svg,
  #Top_bar a.deo-contact-toggle:focus-visible svg {
    color: #17130d !important;
    stroke: #17130d !important;
  }

  #Top_bar .top_bar_right { display: none !important; }
  #Side_slide {
    width: min(390px, calc(100vw - 28px)) !important;
    border-left: 1px solid var(--deo-border);
    background: rgba(10, 12, 14, .99) !important;
    box-shadow: -18px 0 42px rgba(0, 0, 0, .36);
  }
  #Side_slide .close-wrapper a.close { color: var(--deo-gold-light) !important; }
  #Side_slide .menu_wrapper { padding: 8px 22px 28px; }
  #Side_slide .menu_wrapper ul,
  #Side_slide .menu_wrapper li { border-color: rgba(220, 195, 140, .18) !important; }
  #Side_slide .menu_wrapper a {
    color: rgba(255, 250, 238, .94) !important;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.35;
  }
  #Side_slide .menu_wrapper li.current-menu-item > a,
  #Side_slide .menu_wrapper li.current-menu-ancestor > a,
  #Side_slide .menu_wrapper li:hover > a { color: #e4bd68 !important; }
  #Side_slide .menu_wrapper ul.sub-menu a { color: rgba(255, 250, 238, .74) !important; font-size: 15px; font-weight: 500; }
  #Side_slide .menu_wrapper .menu-toggle { color: var(--deo-gold) !important; }
  #Side_slide .extras { border-color: rgba(220, 195, 140, .18) !important; }
  #Side_slide .extras,
  #Side_slide .extras a,
  #Side_slide .extras p,
  #Side_slide .extras .header-cart-total,
  #Side_slide .extras .header-cart-count { color: #fff !important; }
  #Side_slide .extras svg,
  #Side_slide .extras svg .path { color: #fff !important; stroke: #fff !important; }

  #Side_slide .menu_wrapper li > a:not(.menu-toggle),
  #Side_slide .menu_wrapper li.current-menu-item > a:not(.menu-toggle),
  #Side_slide .menu_wrapper li.current-menu-ancestor > a:not(.menu-toggle) {
    background: transparent !important;
    color: rgba(255, 250, 238, .94) !important;
  }
  #Side_slide .menu_wrapper li > a:not(.menu-toggle) span { color: rgba(255, 250, 238, .94) !important; }
  #Side_slide .menu_wrapper li > .menu-toggle { background: transparent !important; color: var(--deo-gold) !important; }
  #Side_slide .menu_wrapper li > .menu-toggle i { color: var(--deo-gold) !important; }
  #Side_slide .menu_wrapper li.submenu.hover > a:not(.menu-toggle),
  #Side_slide .menu_wrapper li.submenu.hover > .menu-toggle { background: var(--deo-gold) !important; color: #111 !important; }
  #Side_slide .menu_wrapper li.submenu.hover > a:not(.menu-toggle) span,
  #Side_slide .menu_wrapper li.submenu.hover > a:not(.menu-toggle) i,
  #Side_slide .menu_wrapper li.submenu.hover > .menu-toggle i { color: #111 !important; }

  #Side_slide .menu_wrapper li > a:not(.menu-toggle):hover,
  #Side_slide .menu_wrapper li > a:not(.menu-toggle):focus-visible,
  #Side_slide .menu_wrapper li > a:not(.menu-toggle):active {
    background: var(--deo-gold) !important;
    color: #111 !important;
  }
  #Side_slide .menu_wrapper li > a:not(.menu-toggle):hover span,
  #Side_slide .menu_wrapper li > a:not(.menu-toggle):hover i,
  #Side_slide .menu_wrapper li > a:not(.menu-toggle):focus-visible span,
  #Side_slide .menu_wrapper li > a:not(.menu-toggle):focus-visible i,
  #Side_slide .menu_wrapper li > a:not(.menu-toggle):active span,
  #Side_slide .menu_wrapper li > a:not(.menu-toggle):active i { color: #111 !important; }
  #Side_slide li.deo-menu-contact { display: none !important; }
}

@media only screen and (max-width: 520px) {
  body #Top_bar .top_bar_left { display: flex !important; min-height: 62px; }
  body #Top_bar .menu_wrapper { display: flex !important; }
  #Top_bar .logo #logo img.logo-mobile { max-width: 42vw; max-height: 56px !important; }
  body #Top_bar .logo #logo {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin-block: 6px !important;
  }
  #Top_bar a.responsive-menu-toggle,
  #Top_bar a.deo-contact-toggle { flex-basis: 42px; width: 42px !important; height: 42px !important; }
}

/* --------------------------------------------------------------------------
   Archives, réalisations et listes d'articles
   -------------------------------------------------------------------------- */

/* L'auteur et la date ne sont affichés sur aucune carte ni archive. */
body :is(.post-meta, .entry-meta, .post-author, .post-date, .author-date),
body .post-meta :is(.author, .date, .category, .cat-wrapper) {
  display: none !important;
}

/* Archive éditoriale « Conseils de pro ». */
body.deo-conseils-archive .deo-conseils-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
  box-sizing: border-box;
  width: min(calc(100% - 48px), 1380px);
  margin: 34px auto 54px;
  overflow: hidden;
  border: 1px solid #151310;
  border-radius: 8px;
  background: #151310;
  box-shadow: 0 0 0 3px #c99b32, 0 18px 42px rgba(0, 0, 0, .18);
}

body.deo-conseils-archive .deo-conseils-hero-media,
body.deo-conseils-archive .deo-conseils-hero-media img {
  min-height: 420px;
}

body.deo-conseils-archive .deo-conseils-hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.deo-conseils-archive .deo-conseils-hero-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  padding: clamp(30px, 4vw, 64px);
  color: #f7f3e9;
}

body.deo-conseils-archive .deo-conseils-hero h1 {
  margin: 0 0 24px !important;
  color: #d6ad50 !important;
  font-size: clamp(30px, 3vw, 48px) !important;
  line-height: 1.12 !important;
  text-align: left !important;
}

body.deo-conseils-archive .deo-conseils-hero p {
  margin: 0 0 17px;
  color: #f7f3e9 !important;
  font-size: clamp(16px, 1.2vw, 19px);
  line-height: 1.7;
  text-align: justify;
}

body.deo-conseils-archive .deo-conseils-hero .deo-conseils-lead {
  font-weight: 700;
}

body.deo-conseils-archive .deo-conseils-style-link a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 8px;
  padding: 11px 20px;
  border: 1px solid #d6ad50;
  border-radius: 999px;
  color: #d6ad50 !important;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}

body.deo-conseils-archive .deo-conseils-style-link a:hover,
body.deo-conseils-archive .deo-conseils-style-link a:focus-visible {
  background: #d6ad50;
  color: #151310 !important;
}

body.deo-conseils-archive .deo-conseils-presentation {
  box-sizing: border-box;
  width: min(calc(100% - 48px), 1240px);
  margin: 0 auto 54px;
  padding: clamp(28px, 4vw, 52px);
  border: 1px solid #151310;
  border-radius: 8px;
  background: #f5f3ef;
  box-shadow: 0 0 0 3px #c99b32, 0 14px 34px rgba(0, 0, 0, .1);
}

body.deo-conseils-archive .deo-conseils-presentation > h2 {
  margin: 0 0 32px !important;
  color: #151310 !important;
  font-size: clamp(25px, 2.4vw, 38px) !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

body.deo-conseils-archive .deo-conseils-presentation-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(26px, 4vw, 58px);
}

body.deo-conseils-archive .deo-conseils-presentation h3 {
  margin: 0 0 18px !important;
  color: #9d701d !important;
  font-size: clamp(20px, 1.7vw, 27px) !important;
  line-height: 1.3 !important;
  text-align: center !important;
}

body.deo-conseils-archive .deo-conseils-presentation p {
  color: #302c28;
  font-size: 17px;
  line-height: 1.75;
  text-align: justify;
}

body.deo-conseils-archive .posts_group {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 42px 28px;
}

body.deo-conseils-archive .posts_group > .post-item {
  width: 100% !important;
  margin: 0 !important;
}

body.deo-conseils-archive .post-item .image_frame {
  overflow: hidden;
  border: 1px solid #151310;
  border-radius: 6px;
  box-shadow: 0 0 0 3px #c99b32;
}

body.deo-conseils-archive .post-item .image_frame img {
  width: 100% !important;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

body.deo-conseils-archive .post-item .post-excerpt {
  display: block !important;
  color: #403b36;
  line-height: 1.65;
}

body.deo-conseils-archive .post-item .post-excerpt:empty {
  display: none !important;
}

@media only screen and (max-width: 960px) {
  body.deo-conseils-archive .deo-conseils-hero { grid-template-columns: 1fr; }
  body.deo-conseils-archive .deo-conseils-hero-media,
  body.deo-conseils-archive .deo-conseils-hero-media img { min-height: 300px; }
  body.deo-conseils-archive .posts_group { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.deo-conseils-archive .deo-conseils-presentation-grid { grid-template-columns: 1fr; }
}

@media only screen and (max-width: 620px) {
  body.deo-conseils-archive .deo-conseils-hero {
    width: calc(100% - 28px);
    margin-top: 22px;
    margin-bottom: 38px;
  }
  body.deo-conseils-archive .deo-conseils-hero-media,
  body.deo-conseils-archive .deo-conseils-hero-media img { min-height: 210px; }
  body.deo-conseils-archive .deo-conseils-hero-content { padding: 26px 22px 30px; }
  body.deo-conseils-archive .deo-conseils-hero h1 { text-align: center !important; }
  body.deo-conseils-archive .posts_group { grid-template-columns: 1fr; }
  body.deo-conseils-archive .deo-conseils-presentation {
    width: calc(100% - 28px);
    padding: 25px 20px 30px;
  }
}

/* Filtres de sélection : même langage visuel que le bouton « contact ». */
body .filters_buttons,
body .filters_buttons :is(.label, a, span, i),
body .filters_buttons a:is(.open, .close),
body .filters_buttons :is(.categories, .tags, .authors, .reset) a {
  color: #151310 !important;
}

body .filters_buttons a:hover,
body .filters_buttons a:focus-visible,
body .filters_buttons a:hover :is(span, i),
body .filters_buttons a:focus-visible :is(span, i) {
  color: #151310 !important;
  text-decoration-color: #151310 !important;
}

body .filters_wrapper ul.categories li a,
body .filters_wrapper ul li a,
body .portfolio_wrapper .filters_wrapper a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 44px;
  padding: 10px 22px !important;
  border: 1px solid #c99b3d !important;
  border-radius: 999px !important;
  background: #151310 !important;
  color: #d6ad50 !important;
  font-weight: 700;
  line-height: 1.25;
  text-align: center !important;
  text-decoration: none !important;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}

body .filters_wrapper ul.categories li a:hover,
body .filters_wrapper ul.categories li a:focus-visible,
body .filters_wrapper ul.categories li.current-cat a,
body .filters_wrapper ul li a:hover,
body .filters_wrapper ul li a:focus-visible,
body .filters_wrapper ul li.current-cat a,
body .portfolio_wrapper .filters_wrapper a:hover,
body .portfolio_wrapper .filters_wrapper a:focus-visible {
  background: #d6ad50 !important;
  color: #151310 !important;
  transform: translateY(-1px);
}

/* Compteurs, précédent et suivant de pagination. */
body :is(.pager, .pagination, .page-numbers) a,
body :is(.pager, .pagination) span,
body a.page-numbers,
body span.page-numbers {
  border-color: #151310 !important;
  background: #151310 !important;
  color: #f4d786 !important;
}

body :is(.pager, .pagination, .page-numbers) a:hover,
body :is(.pager, .pagination, .page-numbers) a:focus-visible,
body :is(.pager, .pagination) span.current,
body span.page-numbers.current {
  border-color: #d6ad50 !important;
  background: #d6ad50 !important;
  color: #151310 !important;
}

/* Liens précédent/suivant présentés comme de vrais boutons. */
body :is(.pager, .pagination) :is(.prev_page, .next_page, .prev, .next),
body :is(.pager, .pagination) a.page-numbers.prev,
body :is(.pager, .pagination) a.page-numbers.next {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 44px;
  padding: 10px 20px !important;
  border: 1px solid #c99b3d !important;
  border-radius: 999px !important;
  background: #151310 !important;
  color: #f4d786 !important;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  white-space: nowrap;
}

body :is(.pager, .pagination) :is(.prev_page, .next_page, .prev, .next):hover,
body :is(.pager, .pagination) :is(.prev_page, .next_page, .prev, .next):focus-visible,
body :is(.pager, .pagination) a.page-numbers.prev:hover,
body :is(.pager, .pagination) a.page-numbers.prev:focus-visible,
body :is(.pager, .pagination) a.page-numbers.next:hover,
body :is(.pager, .pagination) a.page-numbers.next:focus-visible {
  background: #d6ad50 !important;
  color: #151310 !important;
}

@media only screen and (max-width: 640px) {
  body .filters_wrapper ul.categories li a,
  body .filters_wrapper ul li a,
  body .portfolio_wrapper .filters_wrapper a {
    min-height: 42px;
    padding: 9px 16px !important;
  }

  body :is(.pager, .pagination) :is(.prev_page, .next_page, .prev, .next),
  body :is(.pager, .pagination) a.page-numbers.prev,
  body :is(.pager, .pagination) a.page-numbers.next {
    min-height: 40px;
    padding: 8px 14px !important;
    font-size: 13px;
  }
}

/* Page /realisations/ : cartes d'articles avec cadre Art deco. */
body.deo-realisations-page #Content .posts_group > .post-item {
  --deo-card-black: #151310;
  --deo-card-gold: #c99b3d;
  position: relative;
  box-sizing: border-box;
  padding: clamp(28px, 2.5vw, 40px) clamp(24px, 2.2vw, 36px) !important;
  border: 1px solid var(--deo-card-black) !important;
  border-radius: 0 !important;
  background-color: #fff !important;
  background-image:
    linear-gradient(var(--deo-card-gold), var(--deo-card-gold)),
    linear-gradient(var(--deo-card-gold), var(--deo-card-gold)),
    linear-gradient(var(--deo-card-gold), var(--deo-card-gold)),
    linear-gradient(var(--deo-card-gold), var(--deo-card-gold)),
    linear-gradient(var(--deo-card-gold), var(--deo-card-gold)),
    linear-gradient(var(--deo-card-gold), var(--deo-card-gold)),
    linear-gradient(var(--deo-card-gold), var(--deo-card-gold)),
    linear-gradient(var(--deo-card-gold), var(--deo-card-gold));
  background-position:
    left 10px top 10px, left 10px top 10px,
    right 10px top 10px, right 10px top 10px,
    left 10px bottom 10px, left 10px bottom 10px,
    right 10px bottom 10px, right 10px bottom 10px;
  background-repeat: no-repeat;
  background-size:
    42px 1px, 1px 42px,
    42px 1px, 1px 42px,
    42px 1px, 1px 42px,
    42px 1px, 1px 42px;
  box-shadow: 0 0 0 2px var(--deo-card-gold), 0 14px 30px rgba(21, 19, 16, .10) !important;
}

body.deo-realisations-page #Content .posts_group > .post-item::before {
  position: absolute;
  inset: 3px;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(var(--deo-card-black), var(--deo-card-black)) left top / 14px 1px no-repeat,
    linear-gradient(var(--deo-card-black), var(--deo-card-black)) left top / 1px 14px no-repeat,
    linear-gradient(var(--deo-card-black), var(--deo-card-black)) right top / 14px 1px no-repeat,
    linear-gradient(var(--deo-card-black), var(--deo-card-black)) right top / 1px 14px no-repeat,
    linear-gradient(var(--deo-card-black), var(--deo-card-black)) left bottom / 14px 1px no-repeat,
    linear-gradient(var(--deo-card-black), var(--deo-card-black)) left bottom / 1px 14px no-repeat,
    linear-gradient(var(--deo-card-black), var(--deo-card-black)) right bottom / 14px 1px no-repeat,
    linear-gradient(var(--deo-card-black), var(--deo-card-black)) right bottom / 1px 14px no-repeat;
  content: "";
}

body.deo-realisations-page #Content .posts_group > .post-item > * {
  position: relative;
  z-index: 1;
}

body.deo-realisations-page #Content .posts_group > .post-item .post-title h2,
body.deo-realisations-page #Content .posts_group > .post-item .post-title h2 a {
  color: #9d641d !important;
  text-align: center !important;
}

body.deo-realisations-page #Content .posts_group > .post-item .post-excerpt {
  text-align: justify;
}

body.deo-realisations-page #Content .posts_group > .post-item .post-footer {
  margin-top: auto;
  padding-top: 18px;
}

@media only screen and (max-width: 767px) {
  body.deo-realisations-page #Content .posts_group > .post-item {
    width: calc(100% - 28px) !important;
    margin: 0 14px 34px !important;
    padding: 30px 24px !important;
  }
}

/* --------------------------------------------------------------------------
   Accordéons et FAQ — harmonisation globale avec la page d'accueil
   -------------------------------------------------------------------------- */

body :is(.accordion, .faq) .question > .title,
body :is(.accordion, .faq) .question > .title a,
body details > summary,
body .wp-block-details > summary,
body .schema-faq-question,
body .rank-math-question {
  box-sizing: border-box;
  background: #dedede !important;
  color: #151310 !important;
  font-weight: 700;
  text-decoration: none !important;
  transition: background .2s ease, color .2s ease;
}

/* Accordéons SiteOrigin, utilisés notamment sur la page À propos. */
body .so-widget-sow-accordion .sow-accordion .sow-accordion-panel-header {
  box-sizing: border-box;
  min-height: 48px;
  border: 1px solid rgba(21, 19, 16, .18) !important;
  background: #dedede !important;
  color: #151310 !important;
  transition: background .2s ease, color .2s ease;
}

body .so-widget-sow-accordion .sow-accordion .sow-accordion-panel-header:hover,
body .so-widget-sow-accordion .sow-accordion .sow-accordion-panel-header:focus-visible,
body .so-widget-sow-accordion .sow-accordion .sow-accordion-panel-open > .sow-accordion-panel-header-container .sow-accordion-panel-header {
  background: #d6ad50 !important;
  color: #151310 !important;
}

body .so-widget-sow-accordion .sow-accordion .sow-accordion-panel-header :is(.sow-accordion-title, .sow-accordion-open-close-button, .sow-accordion-open-button, .sow-accordion-close-button),
body .so-widget-sow-accordion .sow-accordion .sow-accordion-panel-header :is(.sow-accordion-title, .sow-accordion-open-close-button, .sow-accordion-open-button, .sow-accordion-close-button)::before,
body .so-widget-sow-accordion .sow-accordion .sow-accordion-panel-header :is(.sow-accordion-title, .sow-accordion-open-close-button, .sow-accordion-open-button, .sow-accordion-close-button)::after {
  border-color: #151310 !important;
  color: #151310 !important;
}

body .so-widget-sow-accordion .sow-accordion .sow-accordion-panel-content,
body .so-widget-sow-accordion .sow-accordion .sow-accordion-panel-border {
  border-color: rgba(21, 19, 16, .18) !important;
  background: #fff !important;
  color: #151310 !important;
}

/* Portrait d'Irina SAVVON sur la page À propos. */
body.page-id-303412 img.wp-image-187 {
  display: block;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 6px;
  border: 1px solid #c99b3d !important;
  border-radius: 9px !important;
  background: #151310;
  box-shadow:
    inset 0 0 0 2px #151310,
    inset 0 0 0 3px rgba(201, 155, 61, .42),
    0 10px 24px rgba(0, 0, 0, .18);
}

body.page-id-303412 figure:has(img.wp-image-187) {
  width: fit-content;
  margin-right: auto !important;
  margin-left: auto !important;
}

/* Portrait : même cadre 1 px noir + 4 px or que les images et produits. */
body.page-id-303412 img.wp-image-187 {
  border: 1px solid #151310 !important;
  box-shadow:
    0 0 0 4px #c99b3d,
    0 10px 24px rgba(0, 0, 0, .18) !important;
}

body :is(.accordion, .faq) .question > .title {
  min-height: 48px;
  padding-top: 13px !important;
  padding-bottom: 13px !important;
  border: 1px solid rgba(21, 19, 16, .18) !important;
}

body :is(.accordion, .faq) .question > .title:hover,
body :is(.accordion, .faq) .question > .title:focus-within,
body :is(.accordion, .faq) .question.active > .title,
body details > summary:hover,
body details > summary:focus-visible,
body details[open] > summary,
body .wp-block-details > summary:hover,
body .wp-block-details > summary:focus-visible,
body .wp-block-details[open] > summary,
body .schema-faq-question:hover,
body .schema-faq-question:focus-visible,
body .rank-math-question:hover,
body .rank-math-question:focus-visible {
  background: #d6ad50 !important;
  color: #151310 !important;
}

body :is(.accordion, .faq) .question > .title :is(i, span, a),
body :is(.accordion, .faq) .question.active > .title :is(i, span, a),
body :is(.accordion, .faq) .question > .title:hover :is(i, span, a) {
  color: #151310 !important;
}

body :is(.accordion, .faq) .question > .answer,
body details:not(.wp-block-details),
body .wp-block-details,
body .schema-faq-answer,
body .rank-math-answer {
  border-color: rgba(21, 19, 16, .18) !important;
  background: #fff !important;
  color: #151310 !important;
}

body details > summary,
body .wp-block-details > summary,
body .schema-faq-question,
body .rank-math-question {
  cursor: pointer;
  min-height: 48px;
  margin: 0;
  padding: 13px 18px !important;
  border: 1px solid rgba(21, 19, 16, .18) !important;
}

body details > :not(summary),
body .wp-block-details > :not(summary),
body .schema-faq-answer,
body .rank-math-answer {
  padding-right: 18px;
  padding-left: 18px;
}

@media (prefers-reduced-motion: reduce) {
  body :is(.accordion, .faq) .question > .title,
  body details > summary,
  body .schema-faq-question,
  body .rank-math-question {
    transition: none;
  }
}

/* En-tête desktop compact uniquement pendant le défilement. */
@media only screen and (min-width: 1240px) {
  body #Top_bar.is-sticky,
  body #Top_bar.is-sticky .container,
  body #Top_bar.is-sticky .column.one,
  body #Top_bar.is-sticky .top_bar_left,
  body #Top_bar.is-sticky .menu_wrapper,
  body #Top_bar.is-sticky #menu,
  body #Top_bar.is-sticky #menu > ul {
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
  }

  body #Top_bar.is-sticky .logo #logo {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    transform: translateY(-5px) !important;
  }

  body #Top_bar.is-sticky #menu > ul {
    gap: clamp(15px, 1.8vw, 28px) !important;
  }

  body #Top_bar.is-sticky #menu > ul > li > a {
    height: 50px !important;
    padding: 0 !important;
    font-size: 15px !important;
    line-height: 50px !important;
  }

  body #Top_bar.is-sticky #menu > ul > li.deo-menu-contact > a {
    align-self: center !important;
    height: 32px !important;
    min-height: 32px !important;
    padding: 0 16px !important;
    line-height: 32px !important;
  }

  body #Top_bar.is-sticky #menu ul.sub-menu {
    top: 50px !important;
    width: max-content !important;
    min-width: 270px !important;
    max-width: min(410px, calc(100vw - 32px)) !important;
    padding: 7px 15px !important;
  }

  body #Top_bar.is-sticky #menu ul.sub-menu > li > a {
    padding: 8px 0 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body #Top_bar.is-sticky .top_bar_right,
  body #Top_bar.is-sticky .top_bar_right_wrapper {
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
  }
}

/* --------------------------------------------------------------------------
   Connexion client du menu Betheme — cadre disponible sur toutes les pages
   -------------------------------------------------------------------------- */

body .mfn-header-login form.woocommerce-form-login {
  box-sizing: border-box;
  width: calc(100% - 8px);
  margin: 12px auto 24px !important;
  padding: 24px 20px 26px !important;
  border: 1px solid #151310 !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px #c99b3d, 0 14px 30px rgba(21, 19, 16, .12) !important;
}

/* Panneau « Mon compte » du menu lorsqu'un client est connecté. */
body .mfn-header-login .woocommerce-MyAccount-navigation,
body .mfn-header-login .mfn-header-login-user,
body .mfn-header-login .mfn-header-login-account {
  box-sizing: border-box;
  width: calc(100% - 8px) !important;
  margin: 12px auto 24px !important;
  padding: 18px 16px 20px !important;
  border: 1px solid #151310 !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px #c99b3d, 0 14px 30px rgba(21, 19, 16, .12) !important;
}

body .mfn-header-login :is(.woocommerce-MyAccount-navigation, .mfn-header-login-user, .mfn-header-login-account) ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body .mfn-header-login :is(.woocommerce-MyAccount-navigation, .mfn-header-login-user, .mfn-header-login-account) li {
  border-bottom: 1px solid rgba(21, 19, 16, .12);
}

body .mfn-header-login :is(.woocommerce-MyAccount-navigation, .mfn-header-login-user, .mfn-header-login-account) li:last-child {
  border-bottom: 0;
}

body .mfn-header-login :is(.woocommerce-MyAccount-navigation, .mfn-header-login-user, .mfn-header-login-account) li a {
  display: flex !important;
  align-items: center;
  box-sizing: border-box;
  min-height: 44px;
  padding: 10px 12px !important;
  border-radius: 4px;
  color: #151310 !important;
  text-decoration: none !important;
  transition: background .2s ease, color .2s ease;
}

body .mfn-header-login :is(.woocommerce-MyAccount-navigation, .mfn-header-login-user, .mfn-header-login-account) li:is(.is-active, .current) a,
body .mfn-header-login :is(.woocommerce-MyAccount-navigation, .mfn-header-login-user, .mfn-header-login-account) li a:hover,
body .mfn-header-login :is(.woocommerce-MyAccount-navigation, .mfn-header-login-user, .mfn-header-login-account) li a:focus-visible {
  background: #c99b3d !important;
  color: #151310 !important;
}

body .mfn-header-login :is(.woocommerce-MyAccount-navigation, .mfn-header-login-user, .mfn-header-login-account) li a :is(i, svg) {
  color: currentColor !important;
  fill: currentColor !important;
}

body .mfn-header-login form.woocommerce-form-login .deo-customer-captcha {
  margin-top: 18px;
}

body .mfn-header-login form.woocommerce-form-login .deo-customer-captcha label {
  color: #151310 !important;
  font-weight: 700 !important;
}

body .mfn-header-login form.woocommerce-form-login .deo-customer-captcha input[type="number"] {
  box-sizing: border-box;
  width: 100% !important;
  min-height: 48px;
  border: 1px solid #151310 !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: #151310 !important;
  font-size: 18px;
  font-weight: 700;
}

/* Honeypot anti-robot : présent pour les robots, totalement hors écran. */
body .deo-customer-website,
body .mfn-header-login .deo-customer-website {
  position: fixed !important;
  top: 0 !important;
  left: -10000px !important;
  display: block !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media only screen and (max-width: 480px) {
  body .mfn-header-login form.woocommerce-form-login {
    width: calc(100% - 12px);
    padding: 20px 16px 22px !important;
    box-shadow: 0 0 0 2px #c99b3d, 0 10px 24px rgba(21, 19, 16, .1) !important;
  }

  body .mfn-header-login :is(.woocommerce-MyAccount-navigation, .mfn-header-login-user, .mfn-header-login-account) {
    width: calc(100% - 12px) !important;
    padding: 16px 12px 18px !important;
    box-shadow: 0 0 0 2px #c99b3d, 0 10px 24px rgba(21, 19, 16, .1) !important;
  }
}

/* --------------------------------------------------------------------------
   Page /contact/ — cadre du formulaire Fluent Forms uniquement
   -------------------------------------------------------------------------- */

body.deo-contact-page #Content :is(.fluentform, [class*="fluentform_wrapper_"]) {
  box-sizing: border-box;
  width: min(calc(100% - 40px), 1040px);
  margin: 32px auto 54px !important;
  padding: clamp(26px, 4vw, 48px) !important;
  border: 1px solid #151310 !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px #c99b3d, 0 14px 32px rgba(21, 19, 16, .12) !important;
}

body.deo-contact-page #Content :is(.fluentform, [class*="fluentform_wrapper_"]) :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
  select,
  textarea
) {
  box-sizing: border-box;
  border: 1px solid #151310 !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: #151310 !important;
}

body.deo-contact-page #Content :is(.fluentform, [class*="fluentform_wrapper_"]) :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
  select,
  textarea
):focus {
  border-color: #c99b3d !important;
  outline: 2px solid rgba(201, 155, 61, .32) !important;
  outline-offset: 1px;
  box-shadow: none !important;
}

body.deo-contact-page #Content :is(.fluentform, [class*="fluentform_wrapper_"]) :is(
  button[type="submit"],
  input[type="submit"],
  .ff-btn-submit
) {
  border: 1px solid #c99b3d !important;
  border-radius: 999px !important;
  background: #151310 !important;
  color: #f4d786 !important;
  font-weight: 800 !important;
}

body.deo-contact-page #Content :is(.fluentform, [class*="fluentform_wrapper_"]) :is(
  button[type="submit"],
  input[type="submit"],
  .ff-btn-submit
):hover,
body.deo-contact-page #Content :is(.fluentform, [class*="fluentform_wrapper_"]) :is(
  button[type="submit"],
  input[type="submit"],
  .ff-btn-submit
):focus-visible {
  background: #c99b3d !important;
  color: #151310 !important;
}

@media only screen and (max-width: 600px) {
  body.deo-contact-page #Content {
    box-sizing: border-box;
    padding-top: clamp(48px, 16vw, 72px) !important;
  }

  body.deo-contact-page #Content :is(.fluentform, [class*="fluentform_wrapper_"]) {
    width: calc(100% - 28px);
    margin-top: 24px !important;
    padding: 24px 18px 28px !important;
    box-shadow: 0 0 0 2px #c99b3d, 0 10px 24px rgba(21, 19, 16, .1) !important;
  }
}

/* Bas de la page Contact : coordonnées et carte équilibrées. */
body.deo-contact-page #Content .mcb-section-bda3c34ae {
  box-sizing: border-box;
  padding: clamp(44px, 6vw, 82px) 0 !important;
}

body.deo-contact-page #Content .mcb-section-bda3c34ae > .section_wrapper {
  display: grid !important;
  grid-template-columns: minmax(280px, 38fr) minmax(420px, 62fr);
  align-items: stretch;
  gap: clamp(28px, 4vw, 54px);
  box-sizing: border-box;
  width: min(calc(100% - 48px), 1240px) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
}

body.deo-contact-page #Content .mcb-section-bda3c34ae > .section_wrapper > .mcb-wrap {
  float: none !important;
  box-sizing: border-box;
  width: 100% !important;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

body.deo-contact-page #Content .mcb-section-bda3c34ae > .section_wrapper > .mcb-wrap > .mcb-wrap-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  height: 100%;
  min-height: 430px;
  padding: clamp(28px, 3.5vw, 46px) !important;
  overflow: hidden;
  border: 1px solid #151310 !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px #c99b3d, 0 14px 32px rgba(21, 19, 16, .12) !important;
}

body.deo-contact-page #Content .mcb-section-bda3c34ae .mcb-wrap-6ba003ac9 > .mcb-wrap-inner {
  padding: 0 !important;
}

body.deo-contact-page #Content .mcb-section-bda3c34ae .column,
body.deo-contact-page #Content .mcb-section-bda3c34ae .mcb-column-inner {
  box-sizing: border-box;
  width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

body.deo-contact-page #Content .mcb-section-bda3c34ae h3.title {
  margin: 0 auto 24px !important;
  color: #151310 !important;
  font-size: clamp(24px, 2.2vw, 34px) !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

body.deo-contact-page #Content .mcb-section-bda3c34ae h6.title {
  margin: 0 0 18px !important;
  color: #151310 !important;
  font-size: clamp(17px, 1.35vw, 21px) !important;
  line-height: 1.65 !important;
  text-align: center !important;
}

body.deo-contact-page #Content .mcb-section-bda3c34ae .column_attr p {
  margin-bottom: 18px;
  color: #4c453e;
  line-height: 1.65;
  text-align: center !important;
}

body.deo-contact-page #Content .mcb-section-bda3c34ae .mfn-list {
  display: flex;
  justify-content: center;
  margin: 10px 0 0 !important;
}

body.deo-contact-page #Content .mcb-section-bda3c34ae .mfn-list a {
  color: #9d701d !important;
  font-weight: 800;
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.deo-contact-page #Content .mcb-section-bda3c34ae .mfn-list-icon,
body.deo-contact-page #Content .mcb-section-bda3c34ae .mfn-list-icon i {
  color: #c99b3d !important;
}

body.deo-contact-page #Content .mcb-section-bda3c34ae .column_map_basic,
body.deo-contact-page #Content .mcb-section-bda3c34ae .column_map_basic .mcb-column-inner {
  height: 100%;
  margin: 0 !important;
}

body.deo-contact-page #Content .mcb-section-bda3c34ae iframe {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 430px;
  border: 0 !important;
}

@media only screen and (max-width: 900px) {
  body.deo-contact-page #Content .mcb-section-bda3c34ae > .section_wrapper {
    grid-template-columns: 1fr;
    width: calc(100% - 36px) !important;
  }

  body.deo-contact-page #Content .mcb-section-bda3c34ae > .section_wrapper > .mcb-wrap > .mcb-wrap-inner {
    min-height: 0;
  }

  body.deo-contact-page #Content .mcb-section-bda3c34ae iframe {
    min-height: 390px;
  }
}

@media only screen and (max-width: 600px) {
  body.deo-contact-page #Content .mcb-section-bda3c34ae {
    padding: 36px 0 48px !important;
  }

  body.deo-contact-page #Content .mcb-section-bda3c34ae > .section_wrapper {
    width: calc(100% - 28px) !important;
    gap: 28px;
  }

  body.deo-contact-page #Content .mcb-section-bda3c34ae > .section_wrapper > .mcb-wrap > .mcb-wrap-inner {
    padding: 26px 20px !important;
    box-shadow: 0 0 0 2px #c99b3d, 0 10px 24px rgba(21, 19, 16, .1) !important;
  }

  body.deo-contact-page #Content .mcb-section-bda3c34ae .mcb-wrap-6ba003ac9 > .mcb-wrap-inner {
    padding: 0 !important;
  }

  body.deo-contact-page #Content .mcb-section-bda3c34ae iframe {
    min-height: 320px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #Top_bar a.responsive-menu-toggle,
  #Top_bar a.deo-contact-toggle,
  #Top_bar #menu a { transition: none; }
}

/* --------------------------------------------------------------------------
   Largeur éditoriale globale : utilise le conteneur responsive de Betheme
   -------------------------------------------------------------------------- */

body.single-post #Content .section_wrapper {
  width: 92% !important;
  max-width: 1600px !important;
}

body #Content :is(.the_content_wrapper, .column_attr) > p {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding-right: 0;
  padding-left: 0;
}

/* --------------------------------------------------------------------------
   Typographie éditoriale globale
   -------------------------------------------------------------------------- */
body #Content :is(.the_content_wrapper, .column_attr) > p:not(.price):not(.cart-empty):not(.woocommerce-info):not(.woocommerce-message):not(.header-cart-total),
body footer p,
body #Footer p {
  text-align: justify !important;
  text-justify: inter-word;
  hyphens: auto;
}

body #Content :is(.the_content_wrapper, .column_attr) > p:not(.price):not(.cart-empty):not(.woocommerce-info):not(.woocommerce-message):not(.header-cart-total)::first-letter,
body footer p::first-letter,
body #Footer p::first-letter {
  font-size: 1.1em;
  font-weight: 800;
}

/* Aligne les listes éditoriales sur les paragraphes du contenu principal. */
body #Content :is(.the_content_wrapper, .column_attr) > ul,
body #Content :is(.the_content_wrapper, .column_attr) > ol {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding-right: 0;
  padding-left: 1.5em;
}

/* Évite de cumuler le retrait lorsqu'un paragraphe se trouve dans un <li>. */
body #Content :is(.the_content_wrapper, .column_attr) > :is(ul, ol) li > p {
  padding-right: 0;
  padding-left: 0;
}

body #Content :is(.the_content_wrapper, .column_attr) > h2,
body #Content :is(.the_content_wrapper, .column_attr) > h3 {
  text-align: center;
}

@media only screen and (max-width: 959px) {
  body #Content :is(.the_content_wrapper, .column_attr) > p,
  body #Content :is(.the_content_wrapper, .column_attr) > ul,
  body #Content :is(.the_content_wrapper, .column_attr) > ol {
    width: 100% !important;
  }
}

@media only screen and (max-width: 520px) {
  body.single-post #Content .section_wrapper {
    width: 94% !important;
  }

  body #Content :is(.the_content_wrapper, .column_attr) > p,
  body #Content :is(.the_content_wrapper, .column_attr) > ul,
  body #Content :is(.the_content_wrapper, .column_attr) > ol {
    width: 100% !important;
  }
}
/* Barre d'accessibilite : sous l'axe des fleches de navigation des articles. */
.a11y-responsive.a11y-toolbar.standard-location {
  top: auto !important;
  bottom: clamp(110px, 14vh, 160px) !important;
}

@media only screen and (max-width: 767px) {
  .a11y-responsive.a11y-toolbar.standard-location {
    bottom: 96px !important;
  }
}

/* Retour en haut : bouton or compact, avec libelle et fleche au survol. */
body #back_to_top.button.footer_button {
  box-sizing: border-box;
  position: fixed !important;
  right: 22px !important;
  bottom: 22px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 46px !important;
  min-width: 46px;
  height: 46px !important;
  padding: 0 13px !important;
  overflow: hidden;
  border: 1px solid #171411 !important;
  border-radius: 999px !important;
  background: #d2aa4c !important;
  color: #171411 !important;
  box-shadow: 0 0 0 3px #d2aa4c, 0 7px 18px rgba(0, 0, 0, .2) !important;
  white-space: nowrap;
  transition: width .25s ease, background-color .2s ease, color .2s ease,
    transform .2s ease !important;
}

body #back_to_top.button.footer_button::after {
  order: 1;
  width: 0;
  margin-right: 0;
  overflow: hidden;
  color: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
  white-space: nowrap;
  content: "Haut de page";
  opacity: 0;
  transition: width .25s ease, margin-right .25s ease, opacity .18s ease;
}

body #back_to_top.button.footer_button > i {
  position: absolute !important;
  inset: 0 !important;
  order: 2;
  display: grid !important;
  flex: none;
  place-items: center;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font-size: 16px !important;
  line-height: 18px !important;
  text-align: center !important;
}

body #back_to_top.button.footer_button > i::before {
  width: auto !important;
  margin: 0 !important;
  color: inherit !important;
  line-height: 18px !important;
}

body #back_to_top.button.footer_button:hover,
body #back_to_top.button.footer_button:focus-visible {
  width: 210px !important;
  background: #d2aa4c !important;
  color: #171411 !important;
  outline: 0;
  transform: translateY(-2px);
}

body #back_to_top.button.footer_button:hover > i,
body #back_to_top.button.footer_button:focus-visible > i {
  position: static !important;
  inset: auto !important;
  flex: 0 0 18px;
  width: 18px !important;
  height: 18px !important;
}

body #back_to_top.button.footer_button:hover::after,
body #back_to_top.button.footer_button:focus-visible::after {
  width: 118px;
  margin-right: 12px;
  overflow: visible;
  opacity: 1;
}

body #back_to_top.button.footer_button:focus-visible {
  outline: 2px solid #171411;
  outline-offset: 5px;
}

@media only screen and (max-width: 767px) {
  body #back_to_top.button.footer_button {
    right: 12px !important;
    bottom: 12px !important;
  }

  body #back_to_top.button.footer_button:hover,
  body #back_to_top.button.footer_button:focus-visible {
    width: 46px !important;
  }

  body #back_to_top.button.footer_button::after {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  body #back_to_top.button.footer_button,
  body #back_to_top.button.footer_button::after {
    transition: none !important;
  }
}

/* ==========================================================
   DECOENLIGNE.ORG
   Nettoyage global des pages et articles
   ========================================================== */


/* ----------------------------------------------------------
   1. SUPPRIMER LE SUBHEADER BETHEME
   sur toutes les pages
   ---------------------------------------------------------- */

#Subheader {
    display: none !important;
}


/* ----------------------------------------------------------
   2. SUPPRIMER LE FIL D'ARIANE SUR LES ARTICLES
   Sécurité supplémentaire si Betheme l'affiche
   indépendamment du Subheader
   ---------------------------------------------------------- */

body.single-post #Subheader ul.breadcrumbs,
body.single-post #Subheader .breadcrumbs,
body.single-post ul.breadcrumbs,
body.single-post .breadcrumbs {
    display: none !important;
}


/* ----------------------------------------------------------
   3. SUPPRIMER L'IMAGE DE BANDEAU / IMAGE MISE EN AVANT
   utilisée par Betheme dans le Header
   Accueil compris
   ---------------------------------------------------------- */

#Header_wrapper {
    background-image: none !important;
}


/* ----------------------------------------------------------
   4. SUPPRIMER L'ESPACE OCCUPE PAR L'ANCIEN BANDEAU IMAGE
   Le header retrouve uniquement la hauteur nécessaire au menu
   ---------------------------------------------------------- */

/* Supprimer la hauteur du bandeau uniquement sur ordinateur */
@media only screen and (min-width: 1240px) {
    #Header {
        min-height: 0 !important;
    }
}

/* ----------------------------------------------------------
   5. SUPPRIMER LES ANCIENS SEPARATEURS IMAGES
   SEPARATOR7 présents dans certaines anciennes pages
   hors page d'accueil
   ---------------------------------------------------------- */

body:not(.home) img[src*="SEPARATOR7"],
body:not(.home) img[src*="separator7"] {
    display: none !important;
}

/* 6. Supprimer la section vide sous le copyright
   sauf sur l'accueil */
body:not(.home) #mfn-footer-template .mcb-section-1e5b4c9e8 {
    display: none !important;
}


/* 7. Supprimer marges/padding sous copyright
   sauf sur l'accueil */
body:not(.home) #Footer .footer_copy,
body:not(.home) #Footer .footer_copy .one {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}


/* 8. Accueil : supprimer l'espace entre
   le menu et le premier bloc */
body.home #Content {
    padding-top: 0 !important;
}

body.home #Content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.page-id-3235 #Content {
    padding-top: 0 !important;
}


/* ==========================================================
   DECOENLIGNE.ORG
   MENU MOBILE  
   ========================================================== */
/* ==========================================================
   DECOENLIGNE.ORG
   MENU MOBILE BETHEME
   VERSION CONSOLIDEE
   ========================================================== */

@media only screen and (max-width: 1239px) {


    /* ======================================================
       1. PANNEAU LATERAL
       ====================================================== */

    #Side_slide {
        width: 250px !important;
        background: #0c0d0e !important;
        box-sizing: border-box !important;
    }


    /* ======================================================
       2. STRUCTURE GENERALE
       ====================================================== */

    #Side_slide #menu,
    #Side_slide #menu ul,
    #Side_slide .menu_wrapper,
    #Side_slide .menu_wrapper ul {
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }


    #Side_slide #menu ul li {
        position: relative !important;

        margin: 0 !important;
        padding: 0 !important;

        background: transparent !important;

        border-bottom: 1px solid rgba(216, 179, 90, 0.22) !important;

        box-sizing: border-box !important;
    }


    /* ======================================================
       3. LIENS PRINCIPAUX
       ====================================================== */

    #Side_slide #menu ul li >
    a:not(.menu-toggle) {

        display: block !important;

        width: 100% !important;

        margin: 0 !important;

        padding: 12px 42px 12px 18px !important;

        color: #f8f2e8 !important;

        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;

        font-size: 15px !important;
        font-weight: 500 !important;

        line-height: 1.35 !important;

        white-space: normal !important;

        text-decoration: none !important;

        box-sizing: border-box !important;
    }


    /* Texte interne */

    #Side_slide #menu ul li >
    a:not(.menu-toggle) span {

        color: #f8f2e8 !important;

        background: transparent !important;

        font: inherit !important;
        line-height: inherit !important;
    }


    /* ======================================================
       4. PREMIER NIVEAU
       ====================================================== */

    #Side_slide #menu > ul > li >
    a:not(.menu-toggle) {

        padding-top: 13px !important;
        padding-bottom: 13px !important;

        font-size: 17px !important;
        font-weight: 700 !important;
    }


    /* ======================================================
       5. SOUS-MENUS
       ====================================================== */

    #Side_slide #menu ul.sub-menu {
        background: rgba(255, 255, 255, 0.015) !important;
    }


    #Side_slide #menu ul.sub-menu li >
    a:not(.menu-toggle) {

        padding: 10px 38px 10px 28px !important;

        color: #e8e3da !important;

        background: transparent !important;

        font-size: 14px !important;
        font-weight: 400 !important;

        line-height: 1.35 !important;
    }


    #Side_slide #menu ul.sub-menu li >
    a:not(.menu-toggle) span {

        color: #e8e3da !important;
    }


    /* Niveau 3 */

    #Side_slide #menu ul.sub-menu ul.sub-menu li >
    a:not(.menu-toggle) {

        padding-left: 40px !important;
    }


    /* ======================================================
       6. SURVOL SIMPLE
       ====================================================== */

    #Side_slide #menu ul li:not(.hover) >
    a:not(.menu-toggle):hover {

        color: #d8b35a !important;

        background: rgba(216, 179, 90, 0.06) !important;
    }


    #Side_slide #menu ul li:not(.hover) >
    a:not(.menu-toggle):hover span {

        color: #d8b35a !important;
    }


    /* ======================================================
       7. PAGE ACTIVE SIMPLE
       ====================================================== */

    #Side_slide #menu ul li.current-menu-item:not(.menu-item-has-children) >
    a:not(.menu-toggle),

    #Side_slide #menu ul li.current_page_item:not(.menu-item-has-children) >
    a:not(.menu-toggle) {

        color: #d8b35a !important;

        background: transparent !important;
    }


    #Side_slide #menu ul li.current-menu-item:not(.menu-item-has-children) >
    a:not(.menu-toggle) span,

    #Side_slide #menu ul li.current_page_item:not(.menu-item-has-children) >
    a:not(.menu-toggle) span {

        color: #d8b35a !important;
    }


    /* ======================================================
       8. PARENT AVEC SOUS-MENU OUVERT

       FOND OR + TEXTE NOIR
       C'est la correction principale.
       ====================================================== */

    #Side_slide #menu ul li.submenu.hover >
    a:not(.menu-toggle),

    #Side_slide #menu ul li.menu-item-has-children.hover >
    a:not(.menu-toggle) {

        color: #111111 !important;

        background: #d8b35a !important;
        background-color: #d8b35a !important;
        background-image: none !important;
    }


    /* FORCE LE SPAN EN NOIR */

    #Side_slide #menu ul li.submenu.hover >
    a:not(.menu-toggle) span,

    #Side_slide #menu ul li.menu-item-has-children.hover >
    a:not(.menu-toggle) span {

        color: #111111 !important;

        background: transparent !important;
    }


    /* ======================================================
       9. BOUTON + / -

       Betheme utilise ce lien sur toute la largeur.
       On le garde TRANSPARENT.
       ====================================================== */

    #Side_slide #menu ul li.submenu >
    a.menu-toggle,

    #Side_slide #menu ul li.menu-item-has-children >
    a.menu-toggle {

        position: absolute !important;

        top: 0 !important;
        left: 0 !important;
        right: auto !important;

        display: block !important;

        width: 100% !important;
        height: 44px !important;

        margin: 0 !important;
        padding: 0 !important;

        color: #d8b35a !important;

        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;

        border: 0 !important;
        box-shadow: none !important;

        opacity: 1 !important;

        z-index: 20 !important;

        box-sizing: border-box !important;
    }


    /* ======================================================
       10. + / - VIA PSEUDO-ELEMENT
       ====================================================== */

    #Side_slide #menu ul li.submenu >
    a.menu-toggle::after,

    #Side_slide #menu ul li.menu-item-has-children >
    a.menu-toggle::after {

        position: absolute !important;

        top: 50% !important;
        right: 14px !important;

        transform: translateY(-50%) !important;

        color: #d8b35a !important;

        background: transparent !important;

        font-weight: 700 !important;
    }


    /* Parent ouvert : - noir sur fond or */

    #Side_slide #menu ul li.submenu.hover >
    a.menu-toggle::after,

    #Side_slide #menu ul li.menu-item-has-children.hover >
    a.menu-toggle::after {

        color: #111111 !important;
    }


    /* ======================================================
       11. TOUS LES ETATS DU MENU-TOGGLE
       AUCUN FOND
       ====================================================== */

    #Side_slide #menu ul li >
    a.menu-toggle:hover,

    #Side_slide #menu ul li >
    a.menu-toggle:focus,

    #Side_slide #menu ul li >
    a.menu-toggle:active,

    #Side_slide #menu ul li.hover >
    a.menu-toggle,

    #Side_slide #menu ul li.submenu.hover >
    a.menu-toggle {

        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;

        border: 0 !important;
        box-shadow: none !important;
    }


    /* ======================================================
       12. NEUTRALISATION DES COULEURS BETHEME
       SUR LE PARENT OUVERT
       ====================================================== */

    #Side_slide #menu ul li.submenu.hover >
    a:not(.menu-toggle):hover,

    #Side_slide #menu ul li.submenu.hover >
    a:not(.menu-toggle):focus,

    #Side_slide #menu ul li.submenu.hover >
    a:not(.menu-toggle):active {

        color: #111111 !important;

        background: #d8b35a !important;
    }


    #Side_slide #menu ul li.submenu.hover >
    a:not(.menu-toggle):hover span,

    #Side_slide #menu ul li.submenu.hover >
    a:not(.menu-toggle):focus span,

    #Side_slide #menu ul li.submenu.hover >
    a:not(.menu-toggle):active span {

        color: #111111 !important;
    }


    /* ======================================================
       13. ZONE COMPTE / PANIER
       ====================================================== */

    #Side_slide .extras-wrapper {

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        flex-wrap: wrap !important;

        margin: 0 !important;

        padding: 18px 15px !important;

        background: transparent !important;

        border-bottom: 1px solid rgba(216, 179, 90, 0.30) !important;

        box-sizing: border-box !important;
    }


    #Side_slide .extras-wrapper a,
    #Side_slide .extras-wrapper span,
    #Side_slide .extras-wrapper i {

        color: #f8f2e8 !important;
        background: transparent !important;
    }


    /* ======================================================
       14. CROIX DE FERMETURE
       ====================================================== */

    #Side_slide .close-wrapper {

        position: relative !important;

        height: 46px !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    #Side_slide .close-wrapper a.close {

        position: absolute !important;

        top: 8px !important;
        right: 10px !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 32px !important;
        height: 32px !important;

        margin: 0 !important;
        padding: 0 !important;

        color: #f8f2e8 !important;

        background: transparent !important;

        opacity: 1 !important;
    }


    #Side_slide .close-wrapper a.close i {

        color: #f8f2e8 !important;

        font-size: 22px !important;

        opacity: 1 !important;
    }


    /* ======================================================
       15. SECURITE
       ====================================================== */

    #Side_slide,
    #Side_slide *,
    #Side_slide *::before,
    #Side_slide *::after {

        box-sizing: border-box !important;
    }


    #Side_slide .menu_wrapper {
        overflow-x: hidden !important;
    }

}


/* ==========================================================
   MENU MOBILE - PARENT OUVERT / ACTIF
   Doré + gras
   ========================================================== */

@media only screen and (max-width: 1239px) {

    body #Side_slide .menu_wrapper li.submenu.hover > a:not(.menu-toggle) span,
    body #Side_slide .menu_wrapper li.current-menu-item > a:not(.menu-toggle) span,
    body #Side_slide .menu_wrapper li.current-menu-parent > a:not(.menu-toggle) span,
    body #Side_slide .menu_wrapper li.current-menu-ancestor > a:not(.menu-toggle) span {
        color: #d8b35a !important;
        font-weight: 700 !important;
    }

}

/* ==========================================================
   IMAGE PRODUIT LUXE DISCRET
   SUPPRESSION DE TOUS LES ENCADREMENTS
   + CONTOUR EXTERIEUR 2PX / DECALE DE 2PX
   ========================================================== */


/* ----------------------------------------------------------
   SUPPRESSION DE TOUS LES BORDS / ARRONDIS / OMBRES
   DES CONTENEURS DE L'IMAGE PRINCIPALE
   ---------------------------------------------------------- */

body.del-luxe-product .product_image_wrapper,
body.del-luxe-product .woocommerce-product-gallery,
body.del-luxe-product .woocommerce-product-gallery .flex-viewport,
body.del-luxe-product .woocommerce-product-gallery__wrapper,
body.del-luxe-product .woocommerce-product-gallery__image,
body.del-luxe-product .woocommerce-product-gallery__image a,
body.del-luxe-product .woocommerce-product-gallery__image img{

    border:none !important;
    border-width:0 !important;

    border-radius:0 !important;

    box-shadow:none !important;

    background:none !important;
}


/* ----------------------------------------------------------
   IMAGE PRINCIPALE
   ---------------------------------------------------------- */

body.del-luxe-product
.woocommerce-product-gallery
.flex-viewport{

    position:relative !important;

    /*
     * Un seul contour :
     * épaisseur = 2 px
     * distance de l'image = 2 px
     */
    outline:2px solid #211d1a !important;
    outline-offset:2px !important;

    border-radius:0 !important;

    overflow:hidden !important;
}


/* ----------------------------------------------------------
   IMAGE ELLE-MEME
   ---------------------------------------------------------- */

body.del-luxe-product
.woocommerce-product-gallery__image img{

    display:block !important;

    width:100% !important;
    height:auto !important;

    margin:0 !important;
    padding:0 !important;

    border:none !important;
    border-radius:0 !important;

    box-shadow:none !important;
    outline:none !important;
}

@media only screen and (max-width:1290px){

    body:not(.template-slider) #Header{
        min-height:0 !important;
        height:auto !important;
    }

    body:not(.template-slider) #Header_wrapper{
        min-height:0 !important;
    }
}

/* ==========================================================
   DECOENLIGNE - LARGEUR FICHES PRODUITS DESKTOP
   ========================================================== */

@media only screen and (min-width: 1240px){

    body.single-product #Content .section_wrapper,
    body.single-product #Content .container{
        width: calc(100% - 80px) !important;
        max-width: 1220px !important;
    }

}

/* ==========================================================
   PANIER WOOCOMMERCE NATIF
   ========================================================== */

html body a.deo-basket-link,
html body #del-mobile-cart-source,
html body a.del-mobile-cart{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
}

@media only screen and (max-width:1239px){

    html body.woocommerce-js #Side_slide .extras a#header_cart,
    html body.woocommerce-js #Side_slide .extras a.header-cart{
        display:none !important;
        visibility:hidden !important;
        opacity:0 !important;
        pointer-events:none !important;
    }

    html body.woocommerce-js:has(
        #Top_bar .header-cart-count:not(.mfn-header-icon-0)
    ) #Top_bar .top_bar_right{
        position:absolute !important;
        top:16px !important;
        right:106px !important;
        display:flex !important;
        visibility:visible !important;
        align-items:center !important;
        width:auto !important;
        height:44px !important;
        margin:0 !important;
        padding:0 !important;
        opacity:1 !important;
        z-index:1005 !important;
    }

    html body.woocommerce-js:has(
        #Top_bar .header-cart-count:not(.mfn-header-icon-0)
    ) #Top_bar .top_bar_right_wrapper{
        display:flex !important;
        visibility:visible !important;
        align-items:center !important;
        width:auto !important;
        height:44px !important;
        margin:0 !important;
        padding:0 !important;
        opacity:1 !important;
    }

    html body.woocommerce-js:has(
        #Top_bar .header-cart-count:not(.mfn-header-icon-0)
    ) #Top_bar .top_bar_right_wrapper > :not(#header_cart){
        display:none !important;
    }

    html body.woocommerce-js:has(
        #Top_bar .header-cart-count:not(.mfn-header-icon-0)
    ) #Top_bar a#header_cart,
    html body.woocommerce-js:has(
        #Top_bar .header-cart-count:not(.mfn-header-icon-0)
    ) #Side_slide .extras a#header_cart{
    ) #Top_bar a#header_cart{
        display:inline-flex !important;
        visibility:visible !important;
        align-items:center !important;
        opacity:1 !important;
        pointer-events:auto !important;
    }

    html body.woocommerce-js:has(
        #Top_bar .header-cart-count:not(.mfn-header-icon-0)
    ) #Top_bar #header_cart .header-cart-total,
    html body.woocommerce-js:has(
        #Top_bar .header-cart-count:not(.mfn-header-icon-0)
    ) #Side_slide #header_cart .header-cart-total{
    ) #Top_bar #header_cart .header-cart-total{
        display:block !important;
        visibility:visible !important;
        opacity:1 !important;
    }
}

 