/* ============================================================
   Theme    : FOXIZ
   Variante : 022
   Version  : 1.5
   Date     : 18/09/2025
   Fusion   : base + couche custom (TDM/POST/MENU) le 2026-05-05
============================================================ */

/* ============================================================
   BLOC 0 - POLICES (font harmonization, sitewide)
============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@400;600;700;800&family=Atkinson+Hyperlegible:wght@400;700&display=swap');

body {
    --cs-heading-font: "Bricolage Grotesque", system-ui, sans-serif;
    --cs-body-font: "Atkinson Hyperlegible", system-ui, sans-serif;
}


/* ============================================================
   COUCHE BASE THEME
   (contenu original de style-theme022.css)
============================================================ */

/* SOULIGNEMENT SUR LE TITRE */
.Titre1 {
  position: relative;
  display: inline-block; 
  padding-bottom: 20px;  
  text-align: center;
  margin-bottom:32px!important;
}
.Titre1 .elementor-heading-title {
  font-size:66px!important;
  line-height:68px;
  font-weight:800;
  text-transform: uppercase;
  color:var(--g-color);
}

.Titre2 .elementor-heading-title,
.Titre2 .elementor-heading-title p {
  font-size:26px!important;
  line-height:28px!important;
  font-weight:800!important;
  text-transform: initial;
  margin-top:6px!important;
}

[data-theme="default"] .Titre1 .elementor-heading-title,
[data-theme="default"] .Titre2 .elementor-heading-title,
[data-theme="default"] .Titre2 .elementor-heading-title p {
  color:var(--g-color);
}


[data-theme="dark"] .Titre1 .elementor-heading-title,
[data-theme="dark"] .Titre2 .elementor-heading-title,
[data-theme="dark"] .Titre2 .elementor-heading-title p {
  color:var(--blanc);
}


.Titre1::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0; 
  width: 30%;
  height: 6px; 
  background-color: #333; 
  transform: translateX(-50%) rotate(-2deg);
  transform-origin: center bottom; 
  background: linear-gradient(200deg, var(--g-color), var(--noir)); 
}

.Titre1.Gauche::after {
  left: 0%;
  transform: translateX(0%) rotate(-2deg);
}

[data-theme="dark"] .Titre1::after {
  background: linear-gradient(200deg, var(--g-color), var(--blanc)); 
}

/*BOUTON*/
/*BOUTON > TEXTE*/
.Bouton1 .elementor-button {
    background:var(--blanc);
    color:var(--g-color);
    border: 2px solid var(--g-color);
    border-radius:0;
    margin-top:24px;
    font-size:24px; 
    font-weight:600;
    padding: 12px 32px 16px 32px;
}
/*BOUTON > HOVER*/
.Bouton1 .elementor-button:hover {
    background:var(--g-color);
    color:var(--blanc);
}


/*Theme022Style01*/
/*Theme022Style01 > Fond*/
.Theme022Style01 .overlay-wrap {
    background: linear-gradient(to top, 
color-mix(in srgb, var(--g-color) 80%, transparent) 0%, 
color-mix(in srgb, var(--g-color) 20%, transparent) 50%, 
color-mix(in srgb, var(--g-color) 50%, transparent) 100%)!important;
}

.Theme022Style01 .p-content {
    width:44%;
    background:var(--noir-opacite)!important;
    box-shadow: none!important;
    right: 5%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border-radius:0px;
    padding:32px 60px;
    
}


/*Theme022Style01 > Titre*/
.Theme022Style01 .entry-title {
    font-weight:800!important;
    font-size:34px!important;
    line-height:38px!important;
    text-align: center;
    border-bottom: 7px solid var(--g-color);
    width:fit-content;
    margin-bottom:12px;
    padding: 12px!important;
}

/*Theme022Style01 > Texte*/
.Theme022Style01 .entry-summary {
    font-weight:200!important;
    font-size:18px!important;
    line-height:22px!important;
    margin-bottom:8px;
    color:var(--blanc);
    text-align: center;
}

.Theme022Style01 .slider-footer {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  align-items: center;
  pointer-events: none;
  z-index: 1000;
}

.Theme022Style01 .slider-prev,
.Theme022Style01 .slider-next {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  cursor: pointer;
}

.Theme022Style01 .rbi-cleft:before {
  content: "←";
  font-size: 36px; 
  padding-left:24px!important;
}
.Theme022Style01 .rbi-cright:before {
  content: "→";
  font-size: 36px;
  padding-right:24px!important;
}


/*Theme022Style02*/
/*Theme022Style02 > Titre*/
.Theme022Style02 .entry-title {
    font-weight:500!important;
    font-size:20px!important;
    line-height:22px!important;
    margin-bottom:8px;
}
.Theme022Style02 .entry-title::before {
    content: "\2605";
    font-family: "Segoe UI Symbol", "Arial Unicode MS", sans-serif;
    display: inline-block;
    margin-right: 8px;
    padding:0px 2px;
    color: var(--blanc);
    font-size: 1em;
  display: inline-block;
  margin-right: 8px;
  color: var(--blanc);
  font-size: 1em;
  border-bottom: 3px solid #FFF;
  border-radius: 0px;
  margin-bottom : 4px;
  padding-bottom:2px;
}

.Sidebar .Theme022Style02 .entry-title::before {
    display:none;
}
.Sidebar .Theme022Style02 .entry-title {
    font-size:19px!important;
    line-height:20px!important;
}

/*Theme022Style02 > Date*/
.Theme022Style02 .p-meta time {
    font-size:16px!important;
    line-height:18px!important;
    font-weight: 400;
}

/*Theme022Style03*/
/*Theme022Style03 > Titre*/
.Theme022Style03 .entry-title {
    font-weight:500!important;
    font-size:18px!important;
    line-height:20px!important;
    margin-bottom:8px;
    position: relative;
    display: inline-block;
    padding-top: 40px;
    text-align: center; 
}

.Theme022Style03 .entry-title::before {
    content: "\2605"; /* code Unicode de la flèche vers le haut */
    font-family: "Segoe UI Symbol", "Arial Unicode MS", sans-serif;
    display: inline-block;
    margin-right: 8px;
    padding:0px 5px;
    color: var(--blanc);
    font-size: 1em;
  position: absolute;
  top: 0; 
  left: 50%;
  transform: translateX(-50%); 
  width: 31px;
  height: 31px;
  line-height: 28px;
  border-radius: 50%;
  background-color: var(--blanc);
  color: var(--g-color);
  text-align: center;
  font-size: 18px;
}

/*Theme022Style03 > Date*/
.Theme022Style03 .p-meta time {
    font-size:16px!important;
    line-height:18px!important;
    font-weight: 400;
}

/*Theme022Style03 > Espacement*/
.Theme022Style03 .p-wrap:nth-child(2),
.Theme022Style03 .p-wrap:nth-child(4) {
    margin-top:50px!important;
}

.Theme022Style04 .list-holder .list-feat-holder,
.Theme022Style04 .list-holder .p-content {
    width: 50%!important;
    max-width: 50%!important;
    min-width: 50%!important;
}
@media only screen and (max-width: 600px) {
.Theme022Style04 .list-holder .list-feat-holder,
.Theme022Style04 .list-holder .p-content {
    width: 100%!important;
    max-width: 100%!important;
    min-width: 100%!important;
}}

/*Theme022Style04*/
/*Theme022Style04 > Bordure*/
.Theme022Style04 .p-wrap .p-featured {
    box-shadow:0 0 12px color-mix(in srgb, var(--noir) 40%, transparent);
    margin: 0px!important;
}

/*Theme022Style04 > Titre*/
.Theme022Style04 .entry-title {
    font-weight:700!important;
    font-size:36px!important;
    line-height:39px!important;
    margin-bottom:8px;
    color:var(--g-color);
    position: relative;
    display: inline-block;
    padding-bottom: 16px;
}
[data-theme="dark"] .Theme022Style04 .entry-title {
    color:var(--blanc);
}

.Theme022Style04 .entry-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 32%;
  height: 4px; 
  background: linear-gradient(200deg, var(--g-color), var(noir)); 
  transform-origin: left bottom;
}
[data-theme="dark"] .Theme022Style04 .entry-title::after {
  background: linear-gradient(200deg, var(--g-color), var(--blanc)); 
}

/*Theme022Style04 > Texte*/
.Theme022Style04 .entry-summary {
    font-weight:400!important;
    font-size:20px!important;
    line-height:22px!important;
    margin-bottom:4px;
}

/*Theme022Style04 > Bouton*/
.Theme022Style04 .p-link {
    margin-top:32px;
}
.Theme022Style04 .p-link a {
    font-weight:600!important;
    font-size:36px!important;
    line-height:38px!important;
    margin-bottom:4px;
    border-radius:0;
    background:var(--blanc);
    color:var(--g-color);
    border: 3px solid var(--g-color);
    border-radius:0;
    margin-top:24px;
    padding: 12px 24px 12px 24px;
}
.Theme022Style04 .p-link a .rbi {
    display:none!important;
}
.Theme022Style04 .p-link a:hover {
    background:var(--g-color);
    color:var(--blanc);
}

.Theme022Style04 .slider-footer .slider-prev,
.Theme022Style04 .slider-footer .slider-next {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  cursor: pointer;
}

.Theme022Style04 .slider-footer .rbi-cleft:before {
  content: "←";
  font-size: 36px; 
  padding-right:24px!important;
}
.Theme022Style04 .slider-footer .rbi-cright:before {
  content: "→";
  font-size: 36px;
  padding-left:12px!important;
}

/*Theme022Style05*/
/*Theme022Style05 > Bordure*/
.Theme022Style05 .p-wrap {
    border: 6px solid var(--g-color);
    padding: 24px;
}

@media only screen and (min-width: 600px) {
.Theme022Style05 .p-wrap {
    margin: 1.5%;
    width:30%!important;
    min-width:30%!important;
    max-width:30%!important;
}}

@media only screen and (min-width: 600px) {
.Theme022Style05.T50 .p-wrap {
    margin:0 2%;
    width:46%!important;
    min-width:46%!important;
    max-width:46%!important;
}}

/*Theme022Style05 > Titre*/
.Theme022Style05 .entry-title {
    font-weight:700!important;
    font-size:18px!important;
    line-height:20px!important;
    margin-top:12px;
    margin-bottom:8px;
    text-align:center;
}

/*Theme022Style05 > Texte*/
.Theme022Style05 .entry-summary {
    font-weight:400!important;
    font-size:16px!important;
    line-height:18px!important;
    margin-bottom:4px;
    text-align:center;
}
/*Theme022Style05 > Catégorie*/
.Theme022Style05 .p-category {
    color:var(--g-color);
    font-weight:600!important;
    font-size:20px!important;
    line-height:22px!important;
    margin-bottom:4px;
    text-align: center!important;
    margin: 0 auto;
}
[data-theme="dark"] .Theme022Style05 .p-category {
    color:var(--blanc);
}
/*Theme022Style05 > Image*/
.Theme022Style05 .p-wrap .p-featured {
    border: 3px solid var(--g-color);
    border-radius: 0!important;
    color:var(--g-color);
    font-weight:600!important;
    font-size:20px!important;
    line-height:22px!important;
    margin-bottom:4px;
    text-align: center!important;
    margin: 0 auto;
}

/*Theme022Style06*/
/*Theme022Style06 > Bordure*/
.Theme022Style06 .p-wrap .p-featured {
    box-shadow:0 0 12px color-mix(in srgb, var(--noir) 40%, transparent);
}

/*Theme022Style06 > Titre*/
.Theme022Style06 .entry-title {
    font-weight:800!important;
    font-size:18px!important;
    line-height:20px!important;
    margin-top:8px;
    margin-bottom:8px;
    color:var(--g-color);
    text-align: center;
    position: relative;
    display: inline-block;
    padding-bottom: 16px;
}
[data-theme="dark"] .Theme022Style06 .entry-title {
    color:var(--blanc);
}

.Theme022Style06 .entry-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 32%;
  height: 4px; 
  background: linear-gradient(200deg, var(--g-color), var(--noir)); 
  transform-origin: center bottom;
  align-self: center !important;
  position-area: center;
  transform: translateX(-50%);
  left: 50%;
}
[data-theme="dark"] .Theme022Style06 .entry-title::after {
  background: linear-gradient(200deg, var(--g-color), var(--blanc)); 
}

/*Theme022Style06 > Date*/
.Theme022Style06 .p-meta .is-meta {
    font-size:16px!important;
    line-height:18px!important;
    font-weight: 500;
    text-align:center!important;
    place-content: center;
    margin-top: 8px;
}
.Theme022Style06 .p-meta .is-meta time  {
    text-align:center!important;
    margin: 0 auto!important;
}


/*Theme022Style07*/
/*Theme022Style07 > Titre*/
.Theme022Style07 .entry-title {
    font-weight:700!important;
    font-size:20px!important;
    line-height:22px!important;
    margin-bottom:8px;
    position: relative;
    display: inline-block;
    padding-top: 40px;
    text-align: center; 
}
.Theme022Style07 .entry-title::before {
    content: "\2605"; /* code Unicode de la flèche vers le haut */
    font-family: "Segoe UI Symbol", "Arial Unicode MS", sans-serif;
    display: inline-block;
    margin-right: 8px;
    padding:0px 5px;
    color: var(--blanc);
    font-size: 1em;
  position: absolute;
  top: 0; 
  left: 50%;
  transform: translate(-50%, -24px) !important;
  width: 50px;
  height: 50px;
  line-height: 46px;
  border-radius: 50%;
  background-color: var(--transparent);
  color: var(--blanc);
  border: 2px solid var(--blanc);
  text-align: center;
  font-size: 24px;
  margin-bottom:24px!important;
}

/*Theme022Style07 > Date*/
.Theme022Style07 .p-meta .is-meta {
    font-size:16px!important;
    line-height:18px!important;
    font-weight: 300!important;
    text-align:center!important;
    place-content: center;
    margin-top: 8px;
}
.Theme022Style07 .p-meta .is-meta time  {
    text-align:center!important;
    margin: 0 auto!important;
}

/*Theme022Style08*/
/*Theme022Style08 > Titre*/
.Theme022Style08 .entry-title {
    font-weight:600!important;
    font-size:16px!important;
    line-height:18px!important;
    margin-bottom:0px;
    position: relative;
    display: inline-block;
    padding-top: 40px;
    text-align: center; 
}
.Theme022Style08 .entry-title::before {
  content: "•"; /* simple point */
  font-family: "Font Awesome 5 Free";
  font-weight: 600; 
  position: absolute;
  top: 0; 
  left: 50%;
  transform: translate(-50%, -2px) !important;
  width: 34px;
  height: 34px;
  line-height: 28px;
  border-radius: 50%;
  background-color: var(--transparent);
  color: var(--blanc);
  border: 2px solid var(--blanc);
  text-align: center;
  font-size: 32px;
  margin-bottom:24px!important;
}

/*Theme022Style08 > Date*/
.Theme022Style08 .p-meta .is-meta {
    font-size:12px!important;
    line-height:14px!important;
    font-weight: 300!important;
    text-align:center!important;
    place-content: center;
    margin-top: 8px;
}
.Theme022Style08 .p-meta .is-meta time  {
    text-align:center!important;
    margin: 0 auto!important;
}



@media only screen and (min-width: 768px) {
.LargeurBox,
.LargeurBox .e-con-inner {
    width: 1240px!important;
    max-width: 1240px!important;
    min-width: 1240px!important;
    margin: 0 auto!important;
}}

.LargeurBox .Sidebar .e-con-inner {
    width: 100%!important;
    max-width: 100%!important;
    min-width: 100%!important;
    margin: 0 auto!important;
}

.Full100 .e-con-inner,
.Full100 .p-wrap {
    width: 100%!important;
    max-width: 100%!important;
    min-width: 100%!important;
    margin: 0 auto!important;
    margin-top:0px!important;
}

/*FORMAT TELEPHONE*/
@media (max-width: 767px) {
/*.LargeurBox,
.LargeurBox .e-con-inner,
.LargeurBox .e-con-inner .p-wrap {
    width: 96%!important;
    max-width: 96%!important;
    min-width: 96%!important;
    margin:0 auto!important;
}*/

/*TITRE */
.Titre1 {
  padding-bottom: 10px;  
  margin-top:24px!important;
  margin-bottom:24px!important;
}
.Titre1 .elementor-heading-title {
  font-size:34px!important;
  line-height:36px;
}

.Titre1::after {
  width: 50%;
  height: 5px; 
}

/*BOUTON*/
/*BOUTON > TEXTE*/
.Bouton1 .elementor-button {
    margin-top:16px;
    font-size:18px; 
    padding: 12px 24px 14px 24px;
}

/*Theme022Style01*/
/*Theme022Style01 > Contenu*/
/*.Theme022Style01 .p-content {
    width:100%;
}*/
.Theme022Style01 .p-content.overlay-inner.overlay-text {
  right: 0!important; 
  padding: 10px;
}
/*Theme022Style01 > Titre*/
.Theme022Style01 .entry-title {
    font-size:18px!important;
    line-height:20px!important;
    margin-bottom:24px;
    padding-bottom:12px;
}
/*Theme022Style01 > Texte*/
.Theme022Style01 .entry-summary {
    font-size:12px!important;
    line-height:14px!important;
    margin-bottom:32px;
}

/*Theme022Style01 > Texte*/
.Theme022Style01 .p-wrap {
    height: fit-content!important;
    min-height: 420px!important;
    max-height: fit-content!important;
    margin-bottom:8px;
}
.Theme022Style03 .p-wrap {
    height: 280px!important;
    min-height: 280px!important;
    max-height: 280px!important;
    margin-bottom:8px;
}

.Theme022Style02 .p-wrap,
.Theme022Style07 .p-wrap {
    height: 340px!important;
    min-height: 340px!important;
    max-height: 340px!important;
    margin-bottom:8px;
}
.Theme022Style08 .p-wrap {
    height: 320px!important;
    min-height: 320px!important;
    max-height: 320px!important;
    margin-bottom:8px;
}

.Theme022Style02 .block-inner,
.Theme022Style03 .block-inner,
.Theme022Style07 .block-inner,
.Theme022Style08 .block-inner {
    display: grid!important;
}

/*Theme022Style02 > Titre*/
.Theme022Style02 .entry-title {
    font-size:18px!important;
    line-height:20px!important;
}

/*Theme022Style04*/
.Theme022Style04 .p-wrap .p-featured {
    margin: 0px;
}
.Theme022Style04 .entry-title {
    font-size:22px!important;
    line-height:24px!important;
    margin-bottom:8px;
}
.Theme022Style04 .entry-summary {
    font-size:14px!important;
    line-height:16px!important;
}
.Theme022Style04 .p-link a {
    font-size:16px!important;
    line-height:18px!important;
}

/*Theme022Style05*/
.Theme022Style05 .entry-title {
    font-size:16px!important;
    line-height:17px!important;
}
.Theme022Style05 .entry-summary {
    font-size:14px!important;
    line-height:16px!important;
}

/*Theme022Style06*/
.Theme022Style06 .entry-title {
    font-size:16px!important;
    line-height:17px!important;
    width:100%;
}

/*Theme022Style07 > Titre*/
.Theme022Style07 .entry-title {
    font-size:17px!important;
    line-height:18px!important;
}
.Theme022Style07 .p-meta .is-meta {
    font-size:13px!important;
    line-height:15px!important;
    margin-top: 0px;
}

/*Theme022Style08 > Titre*/
.Theme022Style08 .entry-title {
    font-size:18px!important;
    line-height:21px!important;
    padding-top: 40px;
}}

/*ARTICLE*/
.TitreArticle {
    border:8px solid var(--g-color);
    margin-top:0px;
    margin-bottom:0px!important;
}
.TitreArticle .s-title {
    font-size:24px!important;
    line-height:26px!important;
    font-weight: 500;
}
.ImageArticle .s-feat-outer {
    margin-bottom:0px!important;
}

.ImageArticle {
    box-shadow: 0 0 12px var(--noir-opacite);
}

/*CATEGORIE*/
.category .e-con-inner {
    padding-block-start: 12px;
}

/*HOVER*/
.Theme022Style02 .p-wrap .overlay-holder,
.Theme022Style03 .p-wrap .overlay-holder,
.Theme022Style06 .p-wrap .feat-holder,
.Theme022Style07 .p-wrap .overlay-holder,
.Theme022Style08 .p-wrap .overlay-holder {
  transition: transform 0.8s ease!important;
  transform-style: preserve-3d;
  margin-bottom:12px;
}
.Theme022Style02 .p-wrap .overlay-holder:hover,
.Theme022Style03 .p-wrap .overlay-holder:hover,
.Theme022Style06 .p-wrap .feat-holder:hover,
.Theme022Style07 .p-wrap .overlay-holder:hover,
.Theme022Style08 .p-wrap .overlay-holder:hover {
  transform: perspective(600px) rotateX(4deg) rotateY(4deg);
}

.Theme022Style04 .p-wrap,
.Theme022Style05 .p-wrap {
  transition: transform 0.35s ease;
}
.Theme022Style04 .p-wrap:hover ,
.Theme022Style05 .p-wrap:hover {
  transform: scale(0.98) translateY(-5px);
}


/* CATEGORIES */
.category .blog-content .p-wrap {
    border: 6px solid var(--g-color);
    padding: 24px;
    flex-basis: 48%;
    width: 48%;
    margin: 1%;
}
.category .blog-wrap {
    margin-top: 0!important;
}
.category .blog-wrap .block-inner {
    row-gap: 0;
}
.category .blog-content .p-wrap .entry-title {
    font-weight:700!important;
    font-size:22px!important;
    line-height:24px!important;
    margin-top:12px;
    margin-bottom:8px;
    text-align:center;
}
.category .blog-content .p-wrap .entry-summary {
    font-weight:400!important;
    font-size:16px!important;
    line-height:18px!important;
    margin-bottom:4px;
    text-align:center;
}
.category .blog-content .p-wrap .p-category {
    color:var(--g-color);
    font-weight:600!important;
    font-size:20px!important;
    line-height:22px!important;
    margin-bottom:4px;
    text-align: center!important;
    margin: 0 auto;
}
[data-theme="dark"] .category .blog-content .p-wrap  .p-category {
    color:var(--blanc);
}
.category .blog-content .p-wrap .p-featured {
    border: 3px solid var(--g-color);
    border-radius: 0!important;
    color:var(--g-color);
    font-weight:600!important;
    font-size:20px!important;
    line-height:22px!important;
    margin-bottom:4px;
    text-align: center!important;
    margin: 0 auto;
}
.category .blog-content .p-wrap .p-meta {
    display:none;
}


/* ============================================================
   COUCHE CUSTOM (TDM + POST + MENU)
   (contenu original de style-theme022-custom-styles.css)
============================================================ */

/* --- POLICES (font harmonization) --- */
.entry-title,
.entry-title a,
.heading-title,
.heading-title a,
.elementor-heading-title,
.elementor-heading-title a,
body.single-post .s-title,
h1, h2, h3, h4, h5, h6 {
	font-family: var(--cs-heading-font)!important;
}

p,
.entry-summary,
time {
	font-family: var(--cs-body-font)!important;
}


/* ============================================================
   BLOC 1 — TDM (Table des matières, single post only)
   ============================================================ */

/* Conteneur */
body.single-post .ruby-table-contents {
	border: 3px solid var(--g-color);
	border-radius: 0px;
	padding: 16px 18px;
	box-shadow: 0 8px 24px color-mix(in srgb, var(--noir) 20%, transparent);
	background: var(--blanc);
}

/* En-tête de la TDM */
body.single-post .ruby-table-contents .toc-header {
	margin-bottom: 10px;
	padding-bottom: 0;
}
body.single-post .ruby-table-contents .toc-header span {
	font-size: 32px;
	font-weight: 800;
	font-family: var(--cs-heading-font);
	text-transform: uppercase;
	padding-bottom: 6px;
	color: var(--noir);
}
body.single-post .ruby-table-contents .toc-header .rbi-read:before {
	content: "\2B22"; /* icône ☰ */
	font-family: initial;
	font-size: 38px;
	color: var(--g-color) !important;
	padding-right: 8px;
}

/* Liste des items */
body.single-post .ruby-table-contents .inner {
	margin-top: 0;
	padding-top: 0;
	column-count: 2;
}
body.single-post .ruby-table-contents .inner a {
	position: relative;
	display: block;
	padding: 4px 4px 4px 24px;
	margin-bottom: 4px;
	color: var(--noir) !important;
	font-size: 14px;
	line-height: 18px;
	font-weight: 500;
	text-decoration: none !important;
	text-shadow: none !important;
	border: 2px solid transparent;
	border-radius: 0px;
	transition: all .2s ease;
}
body.single-post .ruby-table-contents .inner a:hover {
	color: var(--g-color) !important;
	border-color: var(--g-color);
}
body.single-post .ruby-table-contents .inner a::before {
	content: "";
	position: absolute;
	left: 6px;
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	background: var(--g-color);
	border-radius: 4px;
}
body.single-post .ruby-table-contents .inner a::after {
	display: none !important;
}

/* Chevron toggle */
body.single-post .ruby-table-contents .ruby-toc-toggle i:before {
	content: "\2B9F" !important;
	font-family: initial !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	color: var(--g-color) !important;
}


/* ============================================================
   BLOC 2 — POST (Single article)
   ============================================================ */

/* Image à la une */
body.single-post .s-feat-outer {
	width: 100%;
	margin-bottom: 28px;
}
body.single-post .s-feat img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 0px;
	min-height: 240px;
	max-height: 240px;
	height: 240px;
}

/* Catégories */
body.single-post .s-cats {
	margin-bottom: 4px;
}
body.single-post .s-cats a,
body.single-post .s-cats .p-category,
body.single-post .s-cats .meta-category a {
	display: inline-block;
	padding: 5px 12px;
	border: 2px solid var(--blanc);
    color:var(--blanc)!important;
	border-radius: 0;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1px;
	text-decoration: none;
}
body.single-post .ArticleHeader time {
    color:var(--blanc);
}
/* Titre H1 article — layout 13 (badge plein accent, Magazine Bold signature) */
body.single-post .s-title {
	display: inline-block;
	font-size: 42px;
	line-height: 1.1;
	font-weight: 800;
	font-family: var(--cs-heading-font);
	color: var(--blanc);
	text-transform: initial;
	letter-spacing: 0.5px;
	padding: 0!important;
	margin: 0;
	background: var(--g-color);
	border-radius: 0;
}

body.single-post .ArticleHeader {
	background: var(--g-color);
    border:0 solid var(--blanc);
    box-shadow:0 0 16px #00000040;
}
body.single-post .ArticleHeader .elementor-widget-post-info,
body.single-post .ArticleHeader .elementor-widget-foxiz-single-category {
    margin-left:10px!important;
}

/* Corps article */
/* H2 — layout 4 (double bordure basse : épaisse accent + fine noire) */
body.single-post .entry-content.rbct h2 {
	position: relative;
	font-size: 26px;
	font-weight: 800;
	font-family: var(--cs-heading-font);
	text-transform: initial;
	padding-bottom: 10px;
	margin-top: 36px;
	margin-bottom: 18px;
	border-bottom: 4px solid var(--g-color);
	line-height: 28px;
}
body.single-post .entry-content.rbct h2::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 2px;
	border-bottom: 2px solid var(--noir);
}

/* H3 — layout 7 (bordure gauche épaisse accent) */
body.single-post .entry-content.rbct h3 {
	font-size: 22px;
	font-weight: 800;
	font-family: var(--cs-heading-font);
	text-transform: uppercase;
	padding-left: 12px;
	margin-top: 28px;
	margin-bottom: 14px;
	border-left: 7px solid var(--g-color);
}

/* H4 — layout 17 (titre + filet horizontal accent qui remplit) */
body.single-post .entry-content.rbct h4 {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 18px;
	font-weight: 800;
	font-family: var(--cs-heading-font);
	color: var(--noir);
	text-transform: uppercase;
	margin-top: 24px;
	margin-bottom: 12px;
}
body.single-post .entry-content.rbct h4::after {
	content: "";
	flex-grow: 1;
	height: 0;
	border-bottom: 2px solid var(--g-color);
}

/* H5 — layout 2 (puce ronde accent en préfixe) */
body.single-post .entry-content.rbct h5 {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 16px;
	font-weight: 700;
	font-family: var(--cs-heading-font);
	color: var(--noir);
	text-transform: uppercase;
	letter-spacing: 0.4px;
	margin-top: 20px;
	margin-bottom: 10px;
}
body.single-post .entry-content.rbct h5::before {
	content: "";
	display: inline-block;
	width: 0.55em;
	height: 0.55em;
	border-radius: 50%;
	background: var(--g-color);
	flex-shrink: 0;
}

/* H6 — layout 16 (fanion : badge accent avec pointe à droite) */
body.single-post .entry-content.rbct h6 {
	position: relative;
	display: inline-block;
	font-size: 14px;
	font-weight: 700;
	font-family: var(--cs-heading-font);
	color: var(--blanc);
	text-transform: uppercase;
	letter-spacing: 0.6px;
	padding: 5px 12px;
	margin-top: 18px;
	margin-bottom: 10px;
	background: var(--g-color);
}
body.single-post .entry-content.rbct h6::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 100%;
	width: 0;
	border-width: calc(1em + 10px) 0 0 12px;
	border-style: solid;
	border-color: transparent transparent transparent var(--g-color);
}

/* Paragraphes & listes */
body.single-post .entry-content.rbct p,
body.single-post .entry-content.rbct ol li,
body.single-post .entry-content.rbct ul li {
	font-size: 17px;
	line-height: 1.75;
}

/* Citations */
body.single-post .entry-content.rbct blockquote {
	border-left: 6px solid var(--g-color);
	background: color-mix(in srgb, var(--g-color) 6%, var(--blanc));
	padding: 18px 24px;
	margin: 24px 0;
	font-style: normal;
	border-radius: 4px;
}

/* Liens inline */
body.single-post .entry-content.rbct a {
	color: var(--g-color);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ============================================================
   BLOC 3 — MENU (Header sitewide)
   ============================================================ */
#site-header {
	border-bottom: 2px solid var(--g-color);
}
#site-header .logo-sec-inner {
	padding: 8px 0;
}
#site-header .main-menu > li > a {
	font-weight: 800;
	font-family: var(--cs-heading-font);
	letter-spacing: 0.02em;
	text-transform: uppercase;
}
.FondArticle .elementor-widget-foxiz-single-category .elementor-widget-container {
    margin: 0!important;
}

/* ============================================================
   BLOC 4 — TITLES (widgets Foxiz heading + blocs de listing)
   Variations par contexte pour casser la monotonie Magazine Bold.
   ============================================================ */

/* Titre de bloc Foxiz (widget heading) — layout 12 (marqueur carré + filet bas) */
.foxiz-heading .heading-inner,
.rb-section .block-h .heading-inner {
	padding-bottom: 8px;
	border-bottom: 4px solid var(--noir);
}
.foxiz-heading .heading-title,
.rb-section .block-h .heading-title {
	display: flex;
	align-items: center;
	flex-flow: row nowrap;
	font-weight: 800;
	font-family: var(--cs-heading-font);
	text-transform: uppercase;
}
.foxiz-heading .heading-title > *::before,
.rb-section .block-h .heading-title > *::before {
	content: "";
	display: inline-block;
	width: 1em;
	height: 0.6em;
	margin-right: 10px;
	background: var(--g-color);
}

/* Titre d'archive / de catégorie — layout 9 (crochets d'angle accent) */
.archive-title,
.search-header .search-title,
body.search .search-title {
	position: relative;
	display: inline-block;
	padding: 6px 22px;
	font-weight: 800;
	font-family: var(--cs-heading-font);
	text-transform: uppercase;
}
.archive-title::before,
.search-header .search-title::before,
body.search .search-title::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 10px;
	height: 10px;
	border-top: 3px solid var(--g-color);
	border-left: 3px solid var(--g-color);
}
.archive-title::after,
.search-header .search-title::after,
body.search .search-title::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 10px;
	height: 10px;
	border-right: 3px solid var(--g-color);
	border-bottom: 3px solid var(--g-color);
}

/* Titre de carte d'article (listing / related) — layout 18 soft (soulignement pointillé accent au survol) */
.p-wrap .entry-title a,
.p-wrap .p-url {
	text-decoration: underline dotted transparent;
	text-underline-offset: 4px;
	text-decoration-thickness: 3px;
	transition: text-decoration-color .2s ease;
}
.p-wrap:hover .entry-title a,
.p-wrap:hover .p-url {
	text-decoration-color: var(--g-color);
}

/* Titre de sidebar widget — layout 14 (filet haut fin accent) */
.widget .widget-heading,
.sidebar-inner .widget-heading {
	position: relative;
	padding-top: 10px;
	font-weight: 800;
	font-family: var(--cs-heading-font);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-top: 1px solid var(--g-color);
}
.widget .widget-heading::after,
.sidebar-inner .widget-heading::after {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	width: 60px;
	border-top: 4px solid var(--g-color);
}


/* ============================================================
   SEARCH (light + dark) — Theme 022
   ============================================================ */

/* light mode wrapper */
.rb-search-form .search-form-inner {
  display: flex;
  align-items: center;
  background: var(--blanc);
  border-radius: 0px;
  padding: 6px 10px;
  border: 1px solid color-mix(in srgb, var(--noir) 12%, transparent);
  transition: 0.3s ease;
}

/* search icon */
.search-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: var(--g-color);
  transition: 0.2s ease;
}
.rbi-search:before {
  content: "\e946";
}

/* input */
.search-text {
  flex: 1;
}
.search-text input.field {
  border: none;
  outline: none;
  width: 100%;
  padding: 10px;
  background: transparent;
  color: var(--noir);
  font-family: var(--cs-body-font);
}
.search-text input.field::placeholder {
  color: color-mix(in srgb, var(--noir) 55%, transparent);
}

/* submit button (always circular) */
.rb-search-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--g-color);
  border-radius: 0;
  width: 38px;
  height: 38px;
  margin-left: 6px;
  cursor: pointer;
  transition: 0.2s ease;
}
.rbi-cright:before {
  content: "\27A1";
  font-family: initial;
  color: #fff;
  font-size: 14px;
}
.rb-search-submit:hover {
  transform: scale(1.08);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
}

/* focus state */
.search-form-inner:focus-within {
  border-color: var(--g-color);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--g-color) 18%, transparent);
}

/* dark mode overrides */
[data-theme="dark"] .rb-search-form .search-form-inner {
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
}
[data-theme="dark"] .search-text input.field {
  color: #fff;
}
[data-theme="dark"] .search-text input.field::placeholder {
  color: #aaa;
}
[data-theme="dark"] .rbi-search {
  color: #fff;
  opacity: 0.85;
}
[data-theme="dark"] .rb-search-submit {
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.05);
}
[data-theme="dark"] .search-form-inner:focus-within {
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.08);
}


/* --- HEADER SEARCH (icon + dropdown) --- */
.logo-sec-right .icon-holder {
	width: 40px;
	height: 40px;
	background: var(--g-color);
	border-radius: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: 0.25s ease;
}
.logo-sec-right .wnav-icon {
	color: var(--blanc);
	font-size: 18px;
}
.logo-sec-right .icon-holder:hover {
	background: var(--noir);
}
.logo-sec-right .icon-holder:hover .wnav-icon {
	color: var(--blanc);
}
.header-dropdown {
	margin-top: 12px;
	border-radius: 0;
	border-bottom: 7px solid var(--g-color);
	padding: 0px;
	background: var(--blanc);
	box-shadow: 0 6px 18px color-mix(in srgb, var(--noir) 15%, transparent);
}
.w-header-search .header-search-form {
	padding: 0!important;
}
[data-theme="dark"] .logo-sec-right .icon-holder {
	background: var(--g-color);
}
[data-theme="dark"] .logo-sec-right .wnav-icon {
	color: var(--blanc);
}
[data-theme="dark"] .header-dropdown {
	background: var(--noir);
}
