/* ============================================================
   Theme    : FOXIZ
   Variante : 017
   Version  : 1.2
   Date     : 30/07/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=Archivo+Black&family=Barlow+Condensed:wght@400;500;600;700&display=swap');

body {
    --cs-heading-font: "Archivo Black", Impact, sans-serif;
    --cs-body-font: "Barlow Condensed", Arial Narrow, sans-serif;
}

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

.mobile-logo-wrap img {
    max-height: 66px!important;
}

/*BARRE DE PROGRESSION*/
#reading-progress {
    background: var(--g-color)!important;
}

/*MENU*/
.navbar-wrap {
    border-bottom: 8px solid var(--g-color);
}

/*HEADER > Logo*/
.navbar-left {
    min-width:240px;
    min-height:fit-content;
}

.logo-wrap {
    z-index: 20!important;
}
.logo-wrap img {
    min-height: 100px!important;
    width: 100%;
    z-index: 20!important;
}


@media (min-width:960px) and (max-width:1120px) {
.navbar-left {
    min-width:90px;
    min-height:fit-content;
}
    .logo-wrap img {
    min-height: 80px!important;
    width: 100%;
    z-index: 20!important;
}
#site-navigation .menu-item-has-children a {
    font-size:14px; 
    padding:0 6px;
    }
}

@media (min-width:1120px) and (max-width:1420px) {
.navbar-left {
    min-width:120px;
    min-height:fit-content;
}
    .logo-wrap img {
    min-height: 90px!important;
    width: 100%;
    z-index: 20!important;
}
#site-navigation .menu-item-has-children a {
    font-size:16px; 
    padding:0 8px;
    }
}

/*PADDING*/
.PT20 {padding-top:20px;}
.PB20 {padding-bottom:20px;}
.PT40 {padding-top:40px;}
.PB40 {padding-bottom:40px;}
.PT60 {padding-top:60px;}
.PB60 {padding-bottom:60px;}
.PT80 {padding-top:80px;}
.PB80 {padding-bottom:80px;}
.PT100 {padding-top:100px;}
.PB100 {padding-bottom:100px;}
.PT120 {padding-top:120px;}
.PB120 {padding-bottom:120px;}

/*SECTION*/
@media only screen and (max-width: 600px) {
.e-flex.e-con-boxed.e-con.e-parent {
    padding-left: 20px !important;
    padding-right: 20px !important;
}}

/*HEADER*/
/*.Header {
    margin-top:-180px!important;
}*/

/*SEPARATEUR*/
.Separateur  .elementor-divider-separator {
    border-block-start: var(--divider-border-width) var(--divider-border-style) var(--g-color)!important;
}

.Barre .elementor-spacer-inner {
    background: var(--g-color)!important;
    border-color: var(--g-color)!important;
}

/*FOND*/
.Fond1 {
    background: var(--noir)!important;
}
[data-theme="dark"] .Fond1 {
    background: #191C20!important;
}


.Bouton1 a {
    background-color: var(--g-color)!important;
    font-family: var(--cs-body-font) !important;
    font-size: 18px!important;
    font-weight: 900!important;
    text-transform: uppercase;
    font-style: normal;
    text-decoration: none;
    line-height: 1em;
    letter-spacing: 0px;
    word-spacing: 0em;
    color: var(--blanc);
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: var(--g-color);
    border-radius: 0px 0px 0px 0px;
    padding: 20px 35px 20px 35px;
    width:fit-content;
    margin:16px auto 24px auto!important;
    transition: all 0.6s;
}
@media only screen and (max-width: 600px) {
.Bouton1 a {
    font-size: 14px!important;
    line-height: 1em;
    padding: 16px 24px!important;
}}
.Bouton1 a:hover {
    background-color: var(--blanc)!important;
    color: var(--g-color);
    border-color: var(--g-color);
}
.ImageCadre {
    border-radius: 0;
    border:16px solid var(--g-color);
}

/*TITRE1*/
.Titre1 h2,
.Titre1 h1,
.Titre1 p {
    font-size: 48px;
    line-height: 1em;
    font-family: var(--cs-heading-font);
    font-weight: 900!important;
    text-transform: uppercase;
    font-style: normal;
    text-decoration: none;
    letter-spacing: 0px;
    word-spacing: 0em;
    color: var(--g-color)!important;
}
@media only screen and (max-width: 600px) {
.Titre1 h2,
.Titre1 h1,
.Titre1 p {
    font-size: 38px;
    line-height: 1em;
}}
.Titre1.Noir h2 {
    color: var(--noir)!important;
}
[data-theme="dark"] .Titre1.Noir h2 {
    color: var(--blanc)!important;
}

.category .elementor-heading-title {
    color: var(--g-color)!important;
}
[data-theme="dark"].category .elementor-heading-title {
    color: var(--blanc)!important;
}

/*TITRE1 > Petit*/
.Titre1.Petit h2,
.Titre1.Petit p {
    font-size: 34px!important;
    line-height: 1em!important;
}

.elementor-widget-sidebar .Titre1.Petit p {
    font-size: 26px!important;
    line-height: 1em!important;
    color:var(--noir)!important;
}
.elementor-widget-sidebar .Theme017Style08 .entry-title {
    font-size: 19px !important;
    line-height: 1em !important;
    color: var(--noir) !important;
    margin-bottom: 6px;
}
[data-theme="dark"] .elementor-widget-sidebar .Titre1.Petit p,
[data-theme="dark"] .elementor-widget-sidebar .Theme017Style08 .entry-title {
    color:var(--blanc)!important;
}

[data-theme="dark"] .elementor-widget-sidebar .Titre1.Petit p {
    color:var(--blanc);
}
.single-post .ArticleHeader .ImageArticle img {
    border-radius: 0!important;
    border: 16px solid var(--g-color)!important;
}

.Fond1 .Titre1 h2 {
    color: var(--blanc)!important;
}

/*SOUS TITRE*/
.SousTitre p {
    font-size: 28px!important;
    line-height: 34px!important;
    font-family: var(--cs-heading-font);
    font-weight:600;
    color: var(--noir)!important;
}
@media only screen and (max-width: 600px) {
.SousTitre p {
    font-size: 22px!important;
    line-height: 24px!important;
}}

[data-theme="dark"] .SousTitre p {
    color: var(--blanc)!important;
}

.Fond1 .SousTitre p {
    color: var(--blanc)!important;
}

/*Theme017Style01 > Catégories*/
.Theme017Style01 .p-category {
    font-size: 16px!important;
    line-height: 20px!important;
    text-transform: uppercase;
    font-weight: 600;
    font-family: var(--cs-body-font) !important;
    margin-top:22px!important;
    padding-bottom:4px!important;
    margin-bottom:0!important;
    text-align:center;
    margin:0 auto;
    color:var(--blanc)!important;
    background:var(--g-color)!important;
    padding:6px 22px 8px 22px!important;
    margin-bottom:8px!important;
}
/*
.Theme017Style01.Hover .block-inner .p-content {
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.4s linear;
  padding:24px;
}

.Theme017Style01.Hover .block-inner:hover .p-content {
  visibility: visible;
  opacity: 1;
}*/
.Theme017Style01 .block-inner .p-content {
  transition:  padding 0.6s;
}
.Theme017Style01 .block-inner:hover .p-content {
  padding-bottom:50px;
}
.Theme017Style01.Hover .block-inner:hover .p-content {
  padding-bottom:0px;
  transition:  padding 0.6s;
}
.Theme017Style01.Hover .block-inner:hover .p-content {
  padding-bottom:50px;
}
/*Theme017Style01 > Titre*/
.Theme017Style01 .entry-title {
    font-size: 36px;
    line-height: 1em;
    font-weight: 800;
    font-family: var(--cs-heading-font) !important;
    text-align:center;
    margin:0 auto;
    text-transform: none;
}
/*Theme017Style01 > Texte*/
.Theme017Style01 .entry-summary {
    font-size: 22px;
    line-height: 24px;
    font-weight: 300;
    font-family: var(--cs-body-font) !important;
    padding-top:8px;
    padding-bottom:8px;
    text-align:center;
    margin:0 auto;
}
/*Theme017Style01 > Date*/
.Theme017Style01 time {
    font-size: 16px;
    line-height: 20px;
    font-weight: 400;
    font-family: var(--cs-body-font) !important;
    margin-bottom:18px;
    padding-top:8px;
    text-align:center!important;
    margin:0 auto!important;
}
@media only screen and (max-width: 600px) {
/*Theme017Style01 > Titre*/
.Theme017Style01 .entry-title {
    font-size: 22px;
    line-height: 1em;
}
/*Theme017Style01 > Texte*/
.Theme017Style01 .entry-summary {
    font-size: 15px;
    line-height: 17px;
}
/*Theme017Style01 > Date*/
.Theme017Style01 time {
    font-size: 14px;
    line-height: 16px;
}}

.Theme017Style01 .meta-inner {
    justify-content: center;
}

/*Theme017Style02Image*/
/*Theme017Style02 > Titre*/
.Theme017Style02 .entry-title {
    font-size: 23px;
    line-height: 24px;
    font-weight: 800;
    font-family: var(--cs-heading-font) !important;
    color:var(--g-color);
    text-transform: none;
}
/*Theme017Style02 > Texte*/
.Theme017Style02 .entry-summary {
    font-size: 17px;
    line-height: 23px;
    font-weight: 400;
    font-family: var(--cs-body-font) !important;
    padding-bottom:12px;
    margin-bottom:0!important;
}

.Theme017Style02 .p-readmore {
    font-size: 14px;
    line-height: 18px;
    font-weight: 600;
    font-family: var(--cs-body-font) !important;
    color:var(--blanc);
    background:var(--g-color);
    text-transform: none;
    padding:12px 24px;
    border-radius:0;
}

/*Theme017Style03*/
/*Theme017Style03 > Hover*/
.Theme017Style03 .overlay-holder:hover .overlay-inner {
    background: linear-gradient(to top, color-mix(in srgb, var(--g-color) 80%, transparent) 0, color-mix(in srgb, var(--g-color) 80%, transparent) 100%)!important;
}
.Theme017Style03 .overlay-holder .overlay-inner {
    background: linear-gradient(to top, color-mix(in srgb, var(--noir) 65%, transparent) 0, color-mix(in srgb, var(--noir) 65%, transparent) 100%)!important;
}
.Theme017Style03 .p-content.overlay-inner.overlay-text {
    position: absolute;
    place-content: center;
}
.Theme017Style03 .overlay-holder {
    max-height:320px!important;
}

/*Theme017Style03 > Centrer*/
.Theme017Style03 .p-categories,
.Theme017Style03 .entry-title {
    text-align:center!important;
    margin:auto!important;
    width: fit-content!important;
}

/*Theme017Style03 > Position*/
.Theme017Style03 .overlay-inner {
    min-height: -webkit-fill-available;
}

/*Theme017Style03 > Bordure*/
.Theme017Style03 .overlay-holder {
    border-radius:0px!important;
}
/*Theme017Style03 > Titre*/
.Theme017Style03 .entry-title {
    font-size:22px!important;
    line-height:24px!important; 
    margin-top:12px!important;
    margin-bottom:14px!important;
    font-family: var(--cs-heading-font) !important;
}
.elementor-widget-sidebar .Theme017Style03 .entry-title {
    font-size:18px!important;
    line-height:20px!important; 
}
/*Theme017Style03 > Categorie*/
.Theme017Style03 .p-category {
    font-size:12px!important;
    line-height:14px!important;
    font-weight: 500;
    padding:6px 14px!important;
    background: var(--transparent)!important;
    color:var(--blanc)!important;
    border:1px solid var(--blanc);
}
.Theme017Style03 .overlay-holder:hover .p-category {
    background-color: var(--blanc)!important;
    color:var(--g-color)!important;
    border:1px solid var(--g-color);
}

/*Theme017Style03 > Hover*/
.Theme017Style03 .overlay-holder {
    transition: all 0.5s;
}
.Theme017Style03 .overlay-holder {
    box-shadow: 0 0 50px color-mix(in srgb, var(--g-color) 98%, transparent);
    border-radius: 0px;
    box-shadow:0 0 10px var(--noir-clair);
    transition: all 1s!important;
}
.Theme017Style03 .overlay-holder:hover {
    border-bottom: 0!important;
}
/*
.Theme017Style03 .block-inner .p-overlay .p-content {
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.4s linear;
  padding:24px;
}
.Theme017Style03 .block-inner .p-overlay:hover .p-content {
  visibility: visible;
  opacity: 1;
}*/

/*Theme017Style04*/
/*Theme017Style04 > Image*/
.Theme017Style04 .p-featured,
.Theme017Style04 .p-featured img {
    border-radius:0!important;
}

/*Theme017Style04 > Titre*/
.Theme017Style04 .entry-title {
    background:var(--g-color);
    padding:16px 8px 8px 8px;

}
.Theme017Style04 .entry-title,
.Theme017Style04 .entry-title a {
    text-align:center!important;
    font-size: 16px;
    line-height: 18px!important;    

}
.Theme017Style04 .entry-title:hover,
.Theme017Style04 .entry-title a:hover {
    text-decoration:underline;
    color:var(--blanc)!important;
}
.Theme017Style04 .entry-title a {
    font-family: var(--cs-heading-font);
    font-weight: 800;
    text-transform: none;
    color: var(--blanc);
}

/*Theme017Style04 > Categorie*/
.Theme017Style04 .p-categories {
    background:var(--g-color);
    padding:0px 8px 16px 8px;
    place-content: center;
    color: var(--blanc);
}
.Theme017Style04 .p-categories a {
    font-family: var(--cs-body-font);
    font-weight: 300;
}

/*Theme017Style05Image*/
/*Theme017Style05 > Titre*/
.Theme017Style05Image .entry-title {
    font-size: 22px;
    line-height: 24px;
    font-weight: 800;
    font-family: var(--cs-heading-font) !important;
    color:var(--blanc);
    text-transform: none;
}
/*Theme017Style05 > Texte*/
.Theme017Style05 .entry-summary {
    font-size: 19px;
    line-height: 21px;
    font-weight: 400;
    font-family: var(--cs-body-font) !important;
    padding-bottom:12px;
    margin-bottom:0!important;
}
@media only screen and (max-width: 600px) {
/*Theme017Style05 > Titre*/
.Theme017Style05Image .entry-title {
    font-size: 20px;
    line-height: 22px;
}
/*Theme017Style05 > Texte*/
.Theme017Style05 .entry-summary {
    font-size: 14px;
    line-height: 18px;
}}

.Theme017Style05 .p-readmore {
    font-size: 14px;
    line-height: 16px;
    font-weight: 600;
    font-family: var(--cs-body-font) !important;
    color:var(--blanc);
    background:var(--g-color);
    text-transform: uppercase;
    padding:12px 24px;
    border-radius:0;
}
/*Theme017Style05 > Image*/
.Theme017Style05Image .overlay-holder,
.Theme017Style05Image .p-featured img {
    border-radius:0!important;
}

/*Theme017Style06*/
/*Theme017Style06 > Centrer*/
.Theme017Style06 .p-categories,
.Theme017Style06 .entry-title {
    text-align:center!important;
    margin:auto!important;
    width: fit-content!important;
}

/*Theme017Style06 > Bordure*/
.Theme017Style06 .overlay-holder {
    border-radius:0px!important;
}
/*Theme017Style06 > Titre*/
.Theme017Style06 .entry-title {
    font-size:22px!important;
    line-height:24px!important; 
    margin-top:12px!important;
    margin-bottom:14px!important;
    font-family: var(--cs-heading-font) !important;
}

/*Theme017Style06 > Categorie*/
.Theme017Style06 .p-category {
    font-size:12px!important;
    line-height:14px!important;
    font-weight: 500;
    padding:6px 14px!important;
    background: var(--transparent)!important;
    color:var(--blanc)!important;
    border:1px solid var(--blanc);
}
.Theme017Style06 .overlay-holder:hover .p-category {
    background-color: var(--g-color)!important;
    color:var(--blanc)!important;
    border:1px solid var(--g-color);
}
.Theme017Style06 .overlay-holder:hover .entry-title {
    text-decoration: underline;
}

/*Theme017Style06 > Hover*/
.Theme017Style06 .overlay-holder {
    transition: all 0.5s;
}
.Theme017Style06 .overlay-holder {
    box-shadow: 0 0 50px color-mix(in srgb, var(--g-color) 98%, transparent);
    border-radius: 0px;
    box-shadow:0 0 10px var(--noir-clair);
    transition: all 1s!important;
}

/*Theme017Style07*/
/*Theme017Style07 > Hover*/
.Theme017Style07 .overlay-holder:hover .overlay-inner {
    background: linear-gradient(to top, color-mix(in srgb, var(--g-color) 80%, transparent) 0, color-mix(in srgb, var(--g-color) 80%, transparent) 100%)!important;
}
.Theme017Style07 .overlay-holder .overlay-inner {
    background: linear-gradient(to top, color-mix(in srgb, var(--noir) 65%, transparent) 0, color-mix(in srgb, var(--noir) 65%, transparent) 100%)!important;
}
.Theme017Style07 .p-content.overlay-inner.overlay-text {
    position: absolute;
    place-content: center;
}
.Theme017Style07 .overlay-holder {
    max-height:420px!important;
}
/*Theme017Style07 > Centrer*/
.Theme017Style07 .p-categories,
.Theme017Style07 .entry-title {
    text-align:center!important;
    margin:auto!important;
    width: fit-content!important;
}

/*Theme017Style07 > Position*/
.Theme017Style07 .overlay-inner {
    min-height: -webkit-fill-available;
}

/*Theme017Style07 > Bordure*/
.Theme017Style07 .overlay-holder {
    border-radius:0px!important;
}
/*Theme017Style07 > Titre*/
.Theme017Style07 .entry-title {
    font-size:19px!important;
    line-height:21px!important; 
    margin-top:12px!important;
    margin-bottom:14px!important;
    font-family: var(--cs-heading-font) !important;
    color:var(--blanc);
}
.Theme017Style07 .overlay-holder:hover .entry-title {
    color:var(--blanc);
}
/*Theme017Style07 > Categorie*/
.Theme017Style07 .p-category {
    font-size:12px!important;
    line-height:14px!important;
    font-weight: 500;
    padding:6px 14px!important;
    background: var(--transparent)!important;
    color:var(--blanc)!important;
    border:1px solid var(--blanc);
}
.Theme017Style07 .overlay-holder:hover .p-category {
    background-color: var(--blanc)!important;
    color:var(--g-color)!important;
    border:1px solid var(--blanc);
}

/*Theme017Style07 > Hover*/
.Theme017Style07 .overlay-holder {
    transition: all 0.5s;
}
/*Theme017Style07 > Hover*/
.Theme017Style07 .overlay-holder {
    transition: all 0.5s;
}

.Theme017Style07 .overlay-holder {
    box-shadow: 0 0 50px color-mix(in srgb, var(--g-color) 98%, transparent);
    border-radius: 0px;
    box-shadow:0 0 10px var(--noir-clair);
    transition: all 1s!important;
}
.Theme017Style07 .overlay-holder:hover {
    border-bottom: 0!important;
}
/*
.Theme017Style07 .block-inner .p-overlay .p-content {
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.4s linear;
  padding:24px;
}
.Theme017Style07 .block-inner .p-overlay:hover .p-content {
  visibility: visible;
  opacity: 1;
}*/

/*Theme017Style08*/
/*Theme017Style08 > Titre*/
.Theme017Style08 .entry-title {
    font-size: 22px;
    line-height: 23px;
    font-weight: 800;
    font-family: var(--cs-heading-font) !important;
    color:var(--g-color);
    text-transform: none;
}
.elementor-widget-sidebar .Theme017Style08 .entry-title {
    font-weight: 600!important;
    text-transform: none!important;
}

/*Theme017Style08 > Texte*/
.Theme017Style08 .entry-summary {
    font-size: 17px;
    line-height: 23px;
    font-weight: 400;
    font-family: var(--cs-body-font) !important;
    padding-bottom:12px;
    margin-bottom:0!important;
}

/*Theme017Style08 > Bouton*/
.Theme017Style08 .p-readmore {
    font-size: 14px;
    line-height: 18px;
    font-weight: 600;
    font-family: var(--cs-body-font) !important;
    color:var(--blanc);
    background:var(--g-color);
    text-transform: uppercase;
    padding:12px 24px;
    border-radius:0;
}

.Theme017Style08 .feat-holder {
    border-radius:0!important;
    position: relative;
    padding: 16px;
    background-color: white; 
    overflow: hidden;
}

[data-theme="dark"] .Theme017Style08 .feat-holder {
    background-color: #1E252E!important; 
}

.Theme017Style08 .p-featured {
    border-radius:0!important;
}

.Theme017Style08 .feat-holder::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0%;
    border: 16px solid var(--g-color);
    box-sizing: border-box;
    transition: width 0.5s ease-in-out;
    z-index: 0;
}
.elementor-widget-sidebar .Theme017Style08 .feat-holder::before {
    border: 12px solid var(--g-color);
}
.elementor-widget-sidebar .Theme017Style08 .feat-holder {
    padding: 12px;
}
.Theme017Style08 .p-wrap:hover .feat-holder::before {
    width: 100%;
}

/*CONTACT*/
/*CONTACT > CHAMPS*/
body.contact .wpcf7 p.label { 
    margin-bottom: 12px;
    font-size: 18px;
    line-height: 1.6em!important;
}
body.contact .wpcf7-form {
    margin-left:0!important;
    margin-right:0!important;
}
body.contact .wpcf7 .wpcf7-form-control-wrap span {
    margin-top:6px;
}
body.contact .wpcf7 input[type=text], 
body.contact .wpcf7 input[type=url], 
body.contact .wpcf7 input[type=tel], 
body.contact .wpcf7 input[type=email],
body.contact .wpcf7 textarea {
    font-size: 15px;
    line-height: 18px;
    border: 1px solid #505050;
    font-family: var(--cs-heading-font)!important;
    border-radius: 4px;
}
body.contact .wpcf7 input[type=text]:hover, 
body.contact .wpcf7 input[type=url]:hover, 
body.contact .wpcf7 input[type=tel]:hover, 
body.contact .wpcf7 input[type=email]:hover,
body.contact .wpcf7 textarea:hover {
    background: var(--accent-color-1);
}
body.contact .wpcf7 input[type=text]:hover::placeholder, 
body.contact .wpcf7 input[type=url]:hover::placeholder, 
body.contact .wpcf7 input[type=tel]:hover::placeholder, 
body.contact .wpcf7 input[type=email]:hover::placeholder,
body.contact .wpcf7 textarea:hover::placeholder {
    background: var(--accent-color-1);
}

body.contact .wpcf7 input[type=text]:focus, 
body.contact .wpcf7 input[type=url]:focus, 
body.contact .wpcf7 input[type=tel]:focus, 
body.contact .wpcf7 input[type=email]:focus,
body.contact .wpcf7 textarea:focus {
    background: var(--accent-color-1)!important;
}

/*FORMULAIRE DE CONTACT > MOBILE*/
#formulaire-responsive {
    max-width:100%; 
    width:100%;
}
.rang-form {
    width: 100%;
}
/*FORMULAIRE DE CONTACT > DEMI CHAMPS*/
.demi-colonne, .colonne {
    float: left;
    position: relative;
    width:100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}
.clearfix:after {
    content: "";
    display: table;
    clear: both;
}

@media only screen and (min-width: 48em) { 
    .demi-colonne {
        width: 49%;
    }
}

/*FORMULAIRE DE CONTACT > BOUTON ENVOYER*/
form input[type=submit] {
    font-size: 18px;
    background: var(--g-color)!important;
    border-radius: 0px;
    margin-top:12px;
    transition: transform .2s;
    border-radius: 4px;
    padding: 4px 32px!important;
    margin-left:0px!important;
}

form input[type=submit]:hover {
    transform: scale(1.2);
    box-shadow: 0 4px 15px var(--g-color)!important;
}

/*FORMULAIRE DE CONTACT > MESSAGE SUCCES*/
.wpcf7 form .wpcf7-response-output {
    margin: 0!important;
    padding: 0.8em 0.2em!important;
    border: 2px solid #46b450;
    text-align: center;
    font-weight: 500;
    color: #46b450;
    font-size:14px!important;
}
.wpcf7 form.invalid .wpcf7-response-output, 
.wpcf7 form.unaccepted .wpcf7-response-output, 
.wpcf7 form.payment-required .wpcf7-response-output {
    border: 2px solid #dc3232;
    color: #dc3232;
    border-color:#dc3232!important;
}
.wpcf7-not-valid-tip {
    font-size: 14px!important;
}

form .wpcf7-form-control-wrap {
    padding: 0!important;
}

/*RECHERCHE*/
form.rb-search-form input[type=submit] {
    font-size: 18px;
    background: var(--g-color)!important;
    border-radius: 0px;
    margin-top:6px;
    transition: transform .2s;
    border-radius: 4px;
    padding: 4px 2px!important;
    margin-left:0px!important;
}
.rb-search-submit {
    width: 44px;
}

/*FOOTER*/
.footer-wrap:not(.footer-etemplate) > *:first-child:not(.footer-copyright) {
    padding-top: 0!important;
    margin-top: 50px!important;
}


.mega-dropdown-inner .mega-header {
    display:none!important;
}
@media (min-width: 1120px) and (max-width: 1420px) {
    #site-navigation .menu-item-has-children a {
        padding: 0 8px!important;
    }
}

/*WIDGETS*/
/*WIDGETS > ESPACEMENTS*/
.widget_text {
    padding-left:12px
}
/*WIDGETS > TITRE*/
.widget_text .widget-heading {
    margin-top:12px!important;
    margin-bottom:6px!important;
}
.widget_text .widget-heading .heading-inner {
  font-size: 22px !important;
  line-height: 24px !important;
  font-weight: 700 !important;
  font-family: var(--cs-heading-font) !important;
}
/*WIDGETS > TEXTE*/
.widget_text .textwidget p {
  font-size: 14px !important;
  line-height: 16px !important;
  font-weight: 400;
}
/*WIDGETS > TEXTE*/
.widget_text .textwidget a:hover {
  font-weight: 700;
  color:var(--g-color);
}


/*CATEGORIE*/
.category .blog-content .p-wrap .entry-title {
    font-size: 22px;
    line-height: 23px;
    font-weight: 800;
    font-family: var(--cs-heading-font) !important;
    color:var(--g-color);
    text-transform: none;
}
.category .blog-content .p-wrap .entry-summary {
    font-size: 17px;
    line-height: 23px;
    font-weight: 400;
    font-family: var(--cs-body-font) !important;
    padding-bottom:12px;
    margin-bottom:0!important;
}
.category .blog-content .p-wrap .p-readmore {
    font-size: 14px;
    line-height: 18px;
    font-weight: 600;
    font-family: var(--cs-body-font) !important;
    color:var(--blanc);
    background:var(--g-color);
    text-transform: uppercase;
    padding:12px 24px;
    border-radius:0;
}
.category .blog-content .p-wrap .feat-holder {
    border-radius:0!important;
    position: relative;
    padding: 16px;
    background-color: white; 
    overflow: hidden;
}
[data-theme="dark"] .category .blog-content .p-wrap .feat-holder {
    background-color: #1E252E!important; 
}
.category .blog-content .p-wrap .p-featured {
    border-radius:0!important;
}
.category .blog-content .p-wrap .feat-holder::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0%;
    border: 16px solid var(--g-color);
    box-sizing: border-box;
    transition: width 0.5s ease-in-out;
    z-index: 0;
}
.category .blog-content .p-wrap:hover .feat-holder::before {
    width: 100%;
}


/* ============================================================
   COUCHE CUSTOM (TDM + POST + MENU)
   (contenu original de style-theme017-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;
}


/* --- TDM (single post) --- */
body.single-post .ruby-table-contents {
	border: 4px solid var(--noir);
	border-radius: 0;
	padding: 16px 18px;
	box-shadow: 5px 5px 0 0 var(--accent-color-1, var(--g-color));
	background: var(--blanc);
}
body.single-post .ruby-table-contents .toc-header {
	margin-bottom: 10px;
	padding-bottom: 8px;
	border-bottom: 4px solid var(--noir);
}
body.single-post .ruby-table-contents .toc-header span {
	font-size: 28px;
	font-weight: 400;
	font-family: var(--cs-heading-font);
	text-transform: initial;
	color: var(--noir);
	letter-spacing: 0.5px;
}
body.single-post .ruby-table-contents .toc-header .rbi-read:before {
	content: "\25A0";
	font-family: initial;
	font-size: 32px;
	color: var(--accent-color-1, var(--g-color)) !important;
	padding-right: 8px;
}
body.single-post .ruby-table-contents .inner {
	column-count: 2;
	margin-top: 0;
	padding-top: 0;
	counter-reset: toc-counter;
}
body.single-post .ruby-table-contents .inner > * {
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
}
body.single-post .ruby-table-contents .inner a {
    position: relative;
    display: flex;
    align-items: center;
    padding: 9px 10px 9px 26px !important;
    margin-bottom: 4px;
    color: var(--noir) !important;
    font-size: 15px;
    line-height: 17px;
    font-weight: 600;
    font-family: var(--cs-body-font);
    text-transform: initial;
    letter-spacing: 0.5px;
    text-decoration: none !important;
    text-shadow: none !important;
    border-radius: 0;
    transition: all .15s ease;
}
body.single-post .ruby-table-contents .inner a:hover {
	background: var(--accent-color-1, var(--g-color));
	color: var(--blanc) !important;
	box-shadow: 3px 3px 0 0 var(--noir);
}
body.single-post .ruby-table-contents .inner a::before {
	content: "";
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 10px;
	height: 10px;
	background: var(--accent-color-1, var(--g-color));
	border-radius: 0;
}
body.single-post .ruby-table-contents .inner a:hover::before {
	background: var(--blanc);
}
body.single-post .ruby-table-contents .inner a::after {
	display: none !important;
}
body.single-post .ruby-table-contents .ruby-toc-toggle i:before {
	content: "\25BC" !important;
	font-family: initial !important;
	font-size: 14px !important;
	font-weight: 900 !important;
	color: var(--noir) !important;
}

/* --- POST (single article) --- */
body.single-post .s-feat-outer {
	width: 100%;
	margin-bottom: 30px;
}
body.single-post .s-feat img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 0;
	border: 4px solid var(--blanc)!important;
	box-shadow: 8px 8px 0 0 var(--noir, var(--noir));
}
body.single-post .s-cats {
	margin-bottom: 16px;
}
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: 6px 14px;
	border: 3px solid var(--noir);
	border-radius: 0;
	background: var(--accent-color-1, var(--g-color));
	color: var(--blanc) !important;
	font-size: 16px;
	font-weight: 700;
	font-family: var(--cs-body-font);
	text-transform: uppercase;
	letter-spacing: 2px;
	text-decoration: none;
	box-shadow: 3px 3px 0 0 var(--noir);
}
body.single-post .single-meta,
body.single-post .single-meta a,
body.single-post .single-meta time,
body.single-post .single-meta .meta-date,
body.single-post .single-meta .meta-author,
body.single-post .single-meta .meta-author a,
body.single-post .single-meta .meta-category a,
body.single-post .single-meta .is-meta,
body.single-post .single-meta .smeta-in,
body.single-post .single-meta .smeta-extra,
body.single-post time {
	font-family: var(--cs-body-font);
}
body.single-post .s-title {
	font-size: 48px;
	line-height: 1.05;
	font-weight: 400;
	font-family: var(--cs-heading-font);
	text-transform: initial;
	margin: 14px 0 20px;
}

body.single-post .entry-content.rbct h2,
body.single-post .entry-content.rbct h3 {
	font-weight: 400;
	font-family: var(--cs-heading-font);
	text-transform: initial;
	background: var(--accent-color-1, var(--g-color));
	color: var(--blanc);
	padding: 8px 14px;
	border-left: none;
	margin-top: 32px;
	display: inline-block;
	letter-spacing: 0.4px;
}
body.single-post .entry-content.rbct h2 {font-size: 26px;}
body.single-post .entry-content.rbct h3 { font-size: 22px; }
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: 20px;
	line-height: 30px;
	font-family: var(--cs-body-font);
}
body.single-post .entry-content.rbct blockquote {
	border: 4px solid var(--noir);
	background: var(--blanc);
	padding: 20px 26px;
	margin: 26px 0;
	font-style: normal;
	font-weight: 600;
	border-radius: 0;
	box-shadow: 5px 5px 0 0 var(--accent-color-1, var(--g-color));
	font-family: var(--cs-body-font);
	font-size: 20px;
}
body.single-post .entry-content.rbct a {
	text-decoration: none;
	font-weight: 700;
}
body.single-post .entry-content.rbct a:hover {
	text-decoration: none;
	font-weight: 400!important;
}
/* --- MENU (sitewide) --- */
#site-header {
	background: var(--blanc);
	border-bottom: 5px solid var(--noir);
}
#site-header .logo-sec-inner {
	padding: 20px 0;
}
#site-header .main-menu > li > a {
	color: var(--noir);
	font-weight: 700;
	font-family: var(--cs-body-font);
	letter-spacing: 1.5px;
	text-transform: uppercase;
	font-size: 20px;
}
#site-header .main-menu > li:hover > a {
	background: var(--accent-color-1, var(--g-color));
	color: var(--blanc);
}
#site-header .navbar-wrap {
	border-top: 3px solid var(--noir);
	background: var(--blanc);
}
#site-header .search-btn,
#site-header .dark-mode-toggle {
	color: var(--noir);
}
.ArticleHeader time {
	font-size:20px!important;
}

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

/* light mode wrapper */
.rb-search-form .search-form-inner {
  display: flex;
  align-items: center;
  background: var(--blanc);
  border-radius: 0;
  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;
}

/* 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;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--g-color) 18%, transparent);
}
.rbi-cright:before {
  content: "\2192";
  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(--blanc);
	border: 3px solid var(--noir);
	border-radius: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 4px 4px 0 0 var(--noir);
	transition: 0.15s ease;
}
.logo-sec-right .wnav-icon {
	color: var(--noir);
	font-size: 18px;
}
.logo-sec-right .icon-holder:hover {
	background: var(--accent-color-1);
	transform: translate(2px, 2px);
	box-shadow: 2px 2px 0 0 var(--noir);
}
.logo-sec-right .icon-holder:hover .wnav-icon {
	color: var(--blanc);
}
.header-dropdown {
	margin-top: 12px;
	border: 3px solid var(--noir);
	border-radius: 0;
	padding: 0px;
	background: var(--blanc);
	box-shadow: 6px 6px 0 0 var(--accent-color-1);
}
.w-header-search .header-search-form {
	padding: 0!important;
}
[data-theme="dark"] .logo-sec-right .icon-holder {
	background: var(--noir);
	border-color: var(--blanc);
	box-shadow: 4px 4px 0 0 var(--blanc);
}
[data-theme="dark"] .logo-sec-right .wnav-icon {
	color: var(--blanc);
}
[data-theme="dark"] .header-dropdown {
	background: var(--noir);
	border-color: var(--blanc);
	box-shadow: 6px 6px 0 0 var(--accent-color-1);
}
