/* ============================================================
   Theme    : FOXIZ
   Variante : 015
   Version  : 1.5
   Date     : 12/01/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=DM+Serif+Display&family=DM+Sans:wght@400;500;600;700&display=swap');

body {
    --cs-heading-font: "DM Serif Display", Georgia, serif;
    --cs-body-font: "DM Sans", system-ui, sans-serif;
}


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

/*MENU*/
.navbar-wrap {
    background:none!important;
}
.navbar-inner .mega-header {
    display:none;
}
.sticky-on .navbar-wrap {
    background:var(--blanc)!important;
}
[data-theme="dark"].sticky-on .navbar-wrap {
    background:#1a1c20!important;
}

.sticky-on .sticky-holder {
    margin-top: 12px!important;
}

#reading-progress {
    background: var(--g-color)!important;
}
.reading-indicator {
    height: 8px!important;
}
.mobile-logo-wrap img {
    max-height: 66px!important;
}

.navbar-inner {
    width:fit-content;
    margin: auto auto;
    margin-top:20px;
    border-radius:50px;
    background:var(--blanc)!important;
    padding:0px 32px 0px 12px;
    z-index: 999!important;
}
[data-theme="dark"] .navbar-inner {
    background:#1a1c20!important;
}
@media only screen and (max-width: 600px) {
.Sidebar {
    display:none;
}}

.navbar-inner .logo-wrap {
    background:var(--blanc)!important;
    padding:0 0 0 24px;
    border-radius:50px;
}
.navbar-inner .logo-wrap img {
    min-height: 90px!important;
}

.Icone path {
    fill:var(--g-color)!important;
}
.single-post .Icone path {
    fill:var(--noir)!important;
}
[data-theme="dark"].single-post .Icone path {
    fill:var(--blanc)!important;
}

.Fond1 {
    background: color-mix(in srgb, var(--g-color) 20%, transparent)
}

.Theme015Style01.PNoir .slider-pagination span {
    color:var(--noir);
}
[data-theme="dark"] .Theme015Style01.PNoir .slider-pagination span {
    color:var(--blanc);
}
.CLeft {
    padding-left:16px!important;
}

/*ESPACEMENTS*/
.H20 {padding-top:20px;}
.B20 {padding-bottom:20px;}
.H40 {padding-top:40px;}
.B40 {padding-bottom:40px;}
.H60 {padding-top:60px;}
.B60 {padding-bottom:60px;}
.H80 {padding-top:80px!important;}
.B80 {padding-bottom:80px;}
.H100 {padding-top:100px;}
.B100 {padding-bottom:100px;}
.H120 {padding-top:120px!important;}
.B120 {padding-bottom:120px;}
.H140 {padding-top:140px!important;}
.B140 {padding-bottom:140px;}
.H180 {padding-top:180px!important;}
.B180 {padding-bottom:180px!important;}
.H200 {padding-top:200px!important;}
.B200 {padding-bottom:200px!important;}

@media only screen and (max-width: 600px) {
.H60 {padding-top:40px;}
.B60 {padding-bottom:40px;}
.H80 {padding-top:40px!important;}
.B80 {padding-bottom:40px;}
.H100 {padding-top:40px;}
.B100 {padding-bottom:40px;}
.H120 {padding-top:50px!important;}
.B120 {padding-bottom:50px;}
.H140 {padding-top:60px!important;}
.B140 {padding-bottom:60px;}
.H180 {padding-top:70px!important;}
.B180 {padding-bottom:70px!important;}
.H200 {padding-top:80px!important;}
.B200 {padding-bottom:80px!important;}
}

/*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;
}}
/*TITRE*/
/*TITRE > Titre1*/
.Titre1 h2 {
    font-size:42px!important;
    line-height:48px!important;
    font-weight: 700!important;
    font-family: var(--cs-heading-font) !important;
}
.elementor-widget-sidebar .Titre1 p {
    font-size:22px!important;
    line-height:24px!important;
    font-weight: 700!important;
    font-family: var(--cs-heading-font) !important;
}
@media only screen and (max-width: 600px) {
.Titre1 h2 {
    font-size:36px!important;
    line-height:38px!important;
}
.elementor-widget-sidebar .Titre1 p {
    font-size:20px!important;
    line-height:22px!important;
}}

/*TITRE > Titre2*/
.Titre2 p {
    font-size:76px!important;
    line-height:76px!important;
    font-weight: 700!important;
    font-family: var(--cs-heading-font) !important;
}
@media only screen and (max-width: 600px) {
.Titre2 p {
    font-size:46px!important;
    line-height:48px!important;
}}


/*TITRE > Titre3*/
.Titre3 p,
.Titre3 h2 {
    font-size: 54px!important;
    line-height: 56px!important;
    font-weight: 700!important;
    font-family: var(--cs-heading-font) !important;
}
.Titre3.Petit p,
.Titre3.Petit h2 {
    font-size: 34px!important;
    line-height: 38px!important;
    font-weight: 700!important;
    font-family: var(--cs-heading-font) !important;
}

@media only screen and (max-width: 600px) {
.Titre3 p,
.Titre3 h2 {
    font-size: 32px!important;
    line-height: 34px!important;
}
.Titre3.Petit p,
.Titre3.Petit h2 {
    font-size: 26px!important;
    line-height: 28px!important;
}}

/*TITRE > Texte*/
.Texte p {
    font-size:18px!important;
    line-height:20px!important;
    font-weight: 400;
}
@media only screen and (max-width: 600px) {
.Texte p {
    font-size:16px!important;
    line-height:18px!important;
}}

.Titre1 h2,
.elementor-widget-sidebar .Titre1 p,
.Titre2 p,
.Titre3 p,
.Titre3 h2,
.Titre3.Petit p,
.Titre3.Petit h2,
.Titre4 p,
.Texte p {
    color:var(--noir)!important;
}

[data-theme="dark"] .Titre1 h2,
[data-theme="dark"] .elementor-widget-sidebar .Titre1 p,
[data-theme="dark"] .Titre2 p,
[data-theme="dark"] .Titre3 p,
[data-theme="dark"] .Titre3 h2,
[data-theme="dark"] .Titre3.Petit p,
[data-theme="dark"] .Titre3.Petit h2,
[data-theme="dark"] .Titre4 p,
[data-theme="dark"] .Texte p {
    color:var(--blanc)!important;
}

/*HEADER*/
.Header {
    background-color: transparent;
    background-image: linear-gradient(180deg, color-mix(in srgb, var(--g-color) 20%, transparent) 75%, var(--blanc) 25%)!important;
    margin-top:-160px;
    z-index: 10!important;
}

.single-post .Header {
    background-color: transparent;
    background-image: linear-gradient(180deg, color-mix(in srgb, var(--g-color) 25%, transparent) 100%, var(--blanc) 100%)!important;
    /*background-image: linear-gradient(180deg, color-mix(in srgb, var(--blanc) 20%, transparent) 75%, var(--blanc) 25%)!important;*/
    margin-top:-160px!important;
    z-index: 10!important;
}
.category .Header {
    background-color: transparent;
    background-image: linear-gradient(180deg, color-mix(in srgb, var(--g-color) 25%, transparent) 46%, var(--blanc) 46%)!important;
    /*background-image: linear-gradient(180deg, color-mix(in srgb, var(--blanc) 20%, transparent) 75%, var(--blanc) 25%)!important;*/
    margin-top:-160px!important;
    z-index: 10!important;
}

@media only screen and (max-width: 600px) {
.Header,
.single-post .Header {
    margin-top:-20px!important;
}}

[data-theme="dark"] .Header {
    background-image: linear-gradient(180deg, color-mix(in srgb, var(--g-color) 20%, transparent) 75%, #1a1c20 25%)!important;
}
[data-theme="dark"].single-post .Header {
    background-image: linear-gradient(180deg, color-mix(in srgb, #1a1c20 20%, transparent) 75%, #1a1c20 25%)!important;
}

body[data-theme="dark"] {
    background-color: #1a1c20!important;
}

/*BOUTON*/
/*BOUTON > Bouton 1*/
.Bouton1 .elementor-button {
    background-color: var(--blanc)!important;
    border-radius: 50px;
    color: var(--g-color);
    font-size: 22px;
    font-weight:600;
    line-height: 26px;
    padding: 16px 38px;
    text-align: center;
    transition: all .3s;
    box-shadow: 4px 4px 0 var(--noir-opacite);
    margin-top:12px;
    transition: all 0.6s;
}
@media only screen and (max-width: 600px) {
.Bouton1 .elementor-button {
    font-size: 18px;
    line-height: 20px;
    padding: 8px 16px;
}}

/*BOUTON > Bouton 1 > Hover*/
.Bouton1 .elementor-button:hover {
    background-color: var(--g-color)!important;
    color: var(--blanc);
    border:1px solid var(--blanc);
    box-shadow: 0 0 0 var(--blanc-opacite);
}

/*BOUTON > Bouton 2*/
.Bouton2 .elementor-button {
    border-radius: 50px;
    font-size: 22px;
    font-weight:600;
    line-height: 26px;
    padding: 16px 38px;
    text-align: center;
    transition: all .3s;
    margin-top:12px;
    transition: all 0.6s;
}
@media only screen and (max-width: 600px) {
.Bouton2 .elementor-button {
    font-size: 18px;
    line-height: 20px;
    padding: 8px 16px;
}}

/*BOUTON > Bouton 2 > Rouge*/
.Bouton2.Rouge .elementor-button {
    background-color: var(--g-color)!important;
    color: var(--blanc);
    border:1px solid var(--g-color);
    box-shadow: 4px 4px 0  color-mix(in srgb, var(--noir) 15%, transparent)!important;
}
.Bouton2.Rouge .elementor-button:hover {
    background-color: var(--noir)!important;
    border:1px solid var(--noir);
    box-shadow: none!important;
}
/*BOUTON > Bouton 2 > Noir*/
.Bouton2.Noir .elementor-button {
    background-color: var(--noir)!important;
    color: var(--blanc);
    border:1px solid var(--noir);
    box-shadow: 4px 4px 0  color-mix(in srgb, var(--noir) 15%, transparent)!important;
}
.Bouton2.Noir .elementor-button:hover {
    background-color: var(--g-color)!important;
    border:1px solid var(--g-color);
    box-shadow: none!important;
}

/*Theme015Style01*/
/*Theme015Style01 > Bordure*/
.Theme015Style01 .overlay-holder {
    border-radius:24px!important;
}
.Theme015Style01 .overlay-holder .overlay-inner {
    background: linear-gradient(to top, color-mix(in srgb, var(--noir) 88%, transparent) 0, color-mix(in srgb, var(--noir) 88%, transparent) 100%)!important;
    color:#000!important;
}
.Theme015Style01 .overlay-holder:hover .overlay-inner {
    background: linear-gradient(to top, color-mix(in srgb, var(--g-color) 92%, transparent) 0, color-mix(in srgb, var(--g-color) 92%, transparent) 100%)!important;
}

/*Theme015Style01 > Titre*/
.Theme015Style01 .entry-title {
    font-size:22px!important;
    line-height:30px!important;
    font-weight: 600!important;
    position: absolute;
    top:24px;
    left: 24px;
    font-family: var(--cs-heading-font) !important;
    margin-right: 24px;   
    color:var(--blanc)!important;   
}
.Theme015Style01 .overlay-holder:hover .entry-title a:hover,
.Theme015Style01 .overlay-holder:hover .entry-title {
    color:var(--blanc)!important;  
    font-size:26px!important;
    line-height:30px!important;  
}
/*Theme015Style01 > Categorie*/
.Theme015Style01 .p-category {
    position: absolute;
    bottom: 24px;
    left: 24px;
    font-size:14px!important;
    line-height:16px!important;
    font-weight: 500;
    padding:8px 16px!important;
    background-color: var(--transparent)!important;
    color:var(--blanc)!important;
    border:1px solid var(--blanc);
}
.Theme015Style01 .overlay-holder:hover .p-category {
    background-color: var(--blanc)!important;
    color:var(--g-color)!important;
    border:1px solid var(--g-color);
}
/*Theme015Style01 > Hover*/
.Theme015Style01 .overlay-holder {
    transition: all 0.5s;
}
.Theme015Style01 .overlay-holder:hover {
    /*border-bottom: 10px solid var(--g-color)!important;*/
    box-shadow: 0 0 40px var(--noir-opacite)!important;
    border-radius: 26px;
}
/*Theme015Style01 > Position*/
.Theme015Style01 .overlay-inner {
    min-height: -webkit-fill-available;
}

/*Theme015Style02*/
/*Theme015Style02 > Hover*/
.Theme015Style02 .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;
}
.Theme015Style02 .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;
}
.Theme015Style02 .p-content.overlay-inner.overlay-text {
    position: absolute;
    place-content: center;
}
.Theme015Style02 .overlay-holder {
    max-height:320px!important;
}
@media only screen and (max-width: 600px) {
.Theme015Style02 .p-wrap {
    min-height: 340px;
}}

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

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

/*Theme015Style02 > Bordure*/
.Theme015Style02 .overlay-holder {
    border-radius:20px!important;
}
/*Theme015Style02 > Titre*/
.Theme015Style02 .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;
}

/*Theme015Style02 > Date*/
.Theme015Style02 .p-meta time {
    font-size:15px!important;
    line-height:15px!important;
    font-weight: 400!important;
    margin-top:2px; 
    color:var(--blanc);
}
.Theme015Style02 .overlay-inner {
    padding: 18px 12px!important;
}
/*Theme015Style02 > Categorie*/
.Theme015Style02 .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);
}
.Theme015Style02 .overlay-holder:hover .p-category {
    background-color: var(--blanc)!important;
    color:var(--g-color)!important;
    border:1px solid var(--g-color);
}

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

/*Theme015Style02 > Pagination*/
[data-theme="dark"] .Theme015Style02 .slider-footer .swiper-pagination-bullet {
    color: var(--blanc);
}
[data-theme="default"] .Theme015Style02 .slider-footer .swiper-pagination-bullet {
    color: var(--noir);
}
.swiper-pagination-bullet:before {
    border-radius:0!important;
    width:36px!important;
    height:20px!important;
}
.swiper-pagination-bullet {
    padding:0 10px!important;
    transform: scale(0.75)!important;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active {
    padding:0 12px!important;
    transform: scale(0.75)!important;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active:before {
    border-radius:0!important;
}

/*Theme015Style03*/
/*Theme015Style03 > Couleur > Noir*/
.Theme015Style03.ANoir .overlay-holder .overlay-inner {
    background: linear-gradient(to top, color-mix(in srgb, var(--noir) 75%, transparent) 0, color-mix(in srgb, var(--noir) 75%, transparent) 100%)!important;
}
.Theme015Style03.ANoir .overlay-holder:hover .overlay-inner {
    background: linear-gradient(to top, color-mix(in srgb, var(--g-color) 95%, transparent) 0, color-mix(in srgb, var(--g-color) 95%, transparent) 100%)!important;
}

/*Theme015Style03 > Couleur > Rouge*/
.Theme015Style03.ARouge .overlay-holder .overlay-inner {
    background: linear-gradient(to top, color-mix(in srgb, var(--g-color) 86%, transparent) 0, color-mix(in srgb, var(--g-color) 86%, transparent) 100%)!important;
}
.Theme015Style03.ARouge .overlay-holder:hover .overlay-inner {
    background: linear-gradient(to top, color-mix(in srgb, var(--noir) 85%, transparent) 0, color-mix(in srgb, var(--noir) 85%, transparent) 100%)!important;
}

/*Theme015Style03 > Centrer*/
.Theme015Style03 .p-content.overlay-inner.overlay-text {
    position: absolute;
    place-content: center;
}
.Theme015Style03 .p-categories,
.Theme015Style03 .p-meta .meta-inner,
.Theme015Style03 .entry-title,
.Theme015Style03 .entry-summary {
    text-align:center!important;
    margin:auto!important;
    width: fit-content!important;
}

/*Theme015Style03 > Taille*/
.Theme015Style03 .overlay-holder {
    max-height:320px!important;
}
.Theme015Style05.Sidebar .overlay-holder {
    max-height:400px!important;
}
.Theme015Style03 .overlay-holder .overlay-inner {
    min-height: -webkit-fill-available;
}

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

/*Theme015Style03 > Date*/
.Theme015Style03 .p-meta time {
    font-size:14px!important;
    line-height:14px!important;
    font-weight: 400!important;
    margin-top:2px; 
    color:var(--blanc);
}
.Theme015Style03 .overlay-inner {
    padding: 18px 12px!important;
}
/*Theme015Style03 > Categorie*/
.Theme015Style03 .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);
}
.Theme015Style03 .overlay-holder:hover .p-category {
    background-color: var(--transparent)!important;
    color:var(--blanc)!important;
    border:1px solid var(--blanc);
}

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

/*Theme015Style03 > Pagination*/
[data-theme="dark"] .Theme015Style03 .swiper-pagination-bullet {
    color: var(--blanc);
}
[data-theme="default"] .Theme015Style03 .swiper-pagination-bullet {
    color: var(--noir);
}
.Theme015Style03 .swiper-pagination-bullet:before {
    border-radius:0!important;
    width:36px!important;
    height:20px!important;
}
.Theme015Style03 .swiper-pagination-bullet {
    padding:0 10px!important;
    transform: scale(0.75)!important;
}
.Theme015Style03 .swiper-pagination-bullet.swiper-pagination-bullet-active {
    padding:0 12px!important;
    transform: scale(0.75)!important;
}
.Theme015Style03 .swiper-pagination-bullet.swiper-pagination-bullet-active:before {
    border-radius:0!important;
}

/*Theme015Style04*/
/*Theme015Style04 > Espacement*/
.Theme015Style04 .list-feat-holder {
    width: 35%;
    max-width: 35%;
}

/*Theme015Style04 > Titre*/
.Theme015Style04 .entry-title {
    font-size:18px!important;
    line-height:20px!important; 
    margin-top:8px!important;
    margin-bottom:14px!important;
    font-family: var(--cs-heading-font) !important;
}

/*Theme015Style04 > Date*/
.Theme015Style04 .p-meta time {
    font-size:14px!important;
    line-height:14px!important;
    font-weight: 400!important;
    color:var(--noir);
}
.Theme015Style04 .overlay-inner {
    padding: 16px 8px!important;
}
/*Theme015Style04 > Categorie*/
.Theme015Style04 .p-category {
    font-size:11px!important;
    line-height:13px!important;
    font-weight: 500;
    padding:6px 14px!important;
    background: var(--transparent)!important;
    color:var(--noir)!important;
    border:1px solid var(--noir);
}
[data-theme="dark"] .Theme015Style04 .p-category {
    color:var(--blanc)!important;
    border:1px solid var(--blanc);
}

.Theme015Style04 .p-featured {
    border-radius: 12px;
    box-shadow:0 0 12px var(--noir-opacite);
    transition: all 1s!important;
}

/*Theme015Style05*/
/*Theme015Style05 > Fond*/
.Theme015Style05 .overlay-holder:hover .overlay-inner {
    background: linear-gradient(to top, color-mix(in srgb, var(--g-color) 88%, transparent) 0, color-mix(in srgb, var(--g-color) 88%, transparent) 100%)!important;
}

.Theme015Style05 .overlay-holder .overlay-inner {
    background: linear-gradient(to top, color-mix(in srgb, var(--noir) 72%, transparent) 0, color-mix(in srgb, var(--noir) 72%, transparent) 100%)!important;
    color:var(--blanc)!important;
}
.Theme015Style05 .p-content.overlay-inner.overlay-text {
    position: absolute;
    place-content: center;
}

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

/*Theme015Style05 > Titre*/
.Theme015Style05 .entry-title {
    font-size:32px!important;
    line-height:36px!important;
    font-weight: 600!important;
    font-family: var(--cs-heading-font) !important;
    color:var(--blanc)!important;   
}

.Theme015Style05 .overlay-holder:hover .entry-title a:hover,
.Theme015Style05 .overlay-holder:hover .entry-title {
    font-size:36px!important;
    line-height:40px!important;  
}
@media only screen and (max-width: 600px) {
.Theme015Style05 .entry-title {
    font-size:24px!important;
    line-height:26px!important;
}
.Theme015Style05 .overlay-holder:hover .entry-title a:hover,
.Theme015Style05 .overlay-holder:hover .entry-title {
    font-size:26px!important;
    line-height:28px!important;  
}}

/*Theme015Style05 > Categorie*/
.Theme015Style05 .p-category {
    font-size:14px!important;
    line-height:16px!important;
    font-weight: 500;
    padding:8px 16px!important;
    background-color: var(--transparent)!important;
    color:var(--blanc)!important;
    border:1px solid var(--blanc);
    margin-bottom:12px;
}
.Theme015Style05 .overlay-holder:hover .p-category {
    background-color: var(--blanc)!important;
    color:var(--g-color)!important;
    border:1px solid var(--g-color);
    font-size:16px!important;
    line-height:20px!important;
    
}
/*Theme015Style05 > Hover*/
.Theme015Style05 .overlay-holder {
    border-radius:32px!important;
    transition: all 0.5s;
}
.Theme015Style05 .overlay-holder:hover {
    box-shadow: 0 0 60px var(--noir-opacite)!important;
}
/*Theme015Style05 > Position*/
.Theme015Style05 .overlay-inner {
    min-height: -webkit-fill-available;
}

/*Theme015Style06*/
/*Theme015Style06 > Espacement*/
.Theme015Style06 .list-feat-holder {
    width: 30%;
    max-width: 30%;
}

/*Theme015Style06 > Titre*/
.Theme015Style06 .entry-title {
    font-size:16px!important;
    line-height:18px!important; 
    font-family: var(--cs-heading-font) !important;
}

/*Theme015Style06 > Categorie*/
.Theme015Style06 .p-category {
    font-size: 8px !important;
    line-height: 10px !important;
    font-weight: 500;
    padding: 2px 8px !important;
    background: var(--transparent)!important;
    color:var(--noir)!important;
    border:1px solid var(--noir);
}
[data-theme="dark"] .Theme015Style06 .p-category {
    color:var(--blanc)!important;
    border:1px solid var(--blanc);
}
.Theme015Style06 .p-featured {
    border-radius: 8px;
    box-shadow:0 0 8px var(--noir-opacite);
    transition: all 1s!important;
}

/*Theme015Style07*/
/*Theme015Style07 > Fond*/
.Theme015Style07 .overlay-holder:hover .overlay-inner {
    background: linear-gradient(to top, color-mix(in srgb, var(--g-color) 88%, transparent) 0, color-mix(in srgb, var(--g-color) 88%, transparent) 100%)!important;
}

.Theme015Style07 .overlay-holder .overlay-inner {
    background: linear-gradient(to top, color-mix(in srgb, var(--noir) 72%, transparent) 0, color-mix(in srgb, var(--noir) 72%, transparent) 100%)!important;
    color:var(--blanc)!important;
}
.Theme015Style07 .p-content.overlay-inner.overlay-text {
    position: absolute;
    place-content: center;
}

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

/*Theme015Style07 > Titre*/
.Theme015Style07 .entry-title {
    font-size:18px!important;
    line-height:20px!important;
    font-weight: 600!important;
    font-family: var(--cs-heading-font) !important;
    color:var(--blanc)!important;   
}

.Theme015Style07 .overlay-holder:hover .entry-title a:hover,
.Theme015Style07 .overlay-holder:hover .entry-title {
    font-size:20px!important;
    line-height:22px!important;  
}
/*Theme015Style07 > Categorie*/
.Theme015Style07 .p-category {
    font-size:12px!important;
    line-height:14px!important;
    font-weight: 500;
    padding:6px 16px!important;
    background-color: var(--transparent)!important;
    color:var(--blanc)!important;
    border:1px solid var(--blanc)!important;
    margin-bottom:10px;
}
.Theme015Style07 .overlay-holder:hover .p-category {
    background-color: var(--blanc)!important;
    color:var(--g-color)!important;
    border:1px solid var(--g-color);
    font-size:14px!important;
    line-height:18px!important;
    
}
/*Theme015Style07 > Hover*/
.Theme015Style07 .overlay-holder {
    border-radius:24px!important;
    transition: all 0.5s;
    max-height: 240px;
}
.Theme015Style07 .overlay-holder:hover {
    box-shadow: 0 0 40px var(--noir-opacite)!important;
}
/*Theme015Style07 > Position*/
.Theme015Style07 .overlay-inner {
    min-height: -webkit-fill-available;
}

/*ARTICLE > Titre*/
.Titre4 p {
    font-size:48px!important;
    line-height:52px!important;
    font-weight: 600!important;
    font-family: var(--cs-heading-font) !important;
    text-transform: initial!important;
}
@media only screen and (max-width: 600px) {
.Titre4 p {
    font-size:26px!important;
    line-height:28px!important;
}
.single-post .Titre4 .elementor-widget-container {
    padding:0!important;
}
.single-post .Titre4 {
    padding-top:0!important;
}}

/*ARTICLE > Categorie*/
.single-post .Header .p-category {
    font-size:18px!important;
    line-height:22px!important;
    font-weight: 500;
    padding:12px 24px!important;
    background-color: var(--transparent)!important;
    color:var(--noir)!important;
    border:1px solid var(--noir)!important;
    margin-bottom:12px;
}
@media only screen and (max-width: 600px) {
.single-post .Header .p-category {
    font-size:14px!important;
    line-height:16px!important;
    padding:6px 12px!important;
    margin-bottom:6px;
}}

[data-theme="dark"].single-post .Header .p-category {
    background-color: var(--transparent)!important;
    color:var(--blanc)!important;
    border:1px solid var(--blanc)!important;
}

/*ARTICLE > Image*/
.ArticleContenu img {
    box-shadow: 0px 0px 18px var(--noir-opacite);
    border-radius: 18px;
}
.Image.e-child {
    box-shadow: 0px 0px 18px var(--noir-opacite);
    border-radius: 18px;
}

/*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(--g-color);
}
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(--g-color);
}

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(--g-color)!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:6px;
    transition: transform .2s;
    border-radius: 4px;
    padding: 8px 24px!important;
    margin-left:0px!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;
}
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;
}

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


/*COULEUR*/
.Theme015Style01 .overlay-holder .overlay-inner {
    background: linear-gradient(to top,
 color-mix(in srgb, var(--noir) 40%, transparent) 0,
 color-mix(in srgb, var(--noir) 40%, transparent) 100%) !important;
    color: #000 !important;
}
.Theme015Style02 .overlay-holder .overlay-inner {
    background: linear-gradient(to top,
 color-mix(in srgb, var(--noir) 35%, transparent) 0,
 color-mix(in srgb, var(--noir) 35%, transparent) 100%) !important;
}

.Theme015Style03.ANoir .overlay-holder .overlay-inner {
    background: linear-gradient(to top,
 color-mix(in srgb, var(--noir) 35%, transparent) 0,
 color-mix(in srgb, var(--noir) 35%, transparent) 100%) !important;
}
.Theme015Style03.ARouge .overlay-holder .overlay-inner {
    background: linear-gradient(to top,
 color-mix(in srgb, var(--g-color) 45%, transparent) 0,
 color-mix(in srgb, var(--g-color) 45%, transparent) 100%) !important;
}
.Theme015Style05 .overlay-holder .overlay-inner {
    background: linear-gradient(to top,
 color-mix(in srgb, var(--noir) 35%, transparent) 0,
 color-mix(in srgb, var(--noir) 35%, transparent) 100%) !important;
    color: var(--blanc) !important;
}


/* CATEGORIE*/
.category h1 {
    font-size:4rem!important;
    line-height:4rem!important;
}
.category .blog-content .grid-box .entry-title,
.category .blog-content .grid-box .p-meta {
    position: absolute;
    left: 0;
    right: 0;
    padding: 12px 16px;
    color: #fff;
}
.category .blog-content .p-wrap  .entry-title {
    font-weight:600!important;
    font-size:23px!important;
    line-height:25px!important;
    margin-bottom:0px;
    max-width:90%!important;
    bottom: 52px!important;
    z-index:10;
}
.category .blog-content .grid-box .p-meta {
    bottom: 12px;
    z-index:100;
}
.category .blog-content .p-meta span {
    font-size:18px!important;
    line-height:20px!important;
    max-width:90%!important;
    color:var(--blanc);
}
.category .blog-content .grid-box {
    position: relative;
    overflow: hidden;
    height:340px;
    border-radius:24px!important;
    box-shadow: 0 0 24px color-mix(in srgb, var(--noir) 40%, transparent);
    padding-bottom: 0;
}
.category .blog-content .grid-box .feat-holder .p-featured {
    min-height: 100%!important;
    z-index: 1!important;
    border-radius:24px!important;
}
.category .blog-content .grid-box .feat-holder {
    z-index: 10;
    height: 100%;
    min-height: 100%;
    border-radius:24px!important;
    
}
.category .blog-content .grid-box .feat-holder::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,rgba(0,0,0,0.75),rgba(0,0,0,0));
    z-index: 1;
}
.category .blog-content .p-wrap .p-categories,
.category .blog-content .p-wrap .entry-summary {
    display:none;
}

.blog-sidebar p {
    font-size: 20px !important;
    line-height: 22px !important;
    font-weight: 700 !important;
    font-family: var(--cs-body-font) !important;
    color:var(--noir)!important;
}
[data-theme="dark"] .blog-sidebar p {
    color:var(--blanc)!important;
}

.single-post .elementor-heading-title {
    font-size: 44px!important;
    font-weight: 600!important;
    text-transform: initial!important;
    line-height: 48px!important;
    letter-spacing: 0px;
}


/* ============================================================
   COUCHE CUSTOM (TDM + POST + MENU)
   (contenu original de style-theme015-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: none;
	border-radius: 10px;
	padding: 20px 24px;
	box-shadow: 0 6px 20px color-mix(in srgb, var(--noir) 10%, transparent);
	background: var(--blanc);
}
body.single-post .ruby-table-contents .toc-header {
	margin-bottom: 0;
	/* padding-bottom: 10px; */
	/* border-bottom: 1px solid color-mix(in srgb, var(--noir) 8%, transparent); */
}
body.single-post .ruby-table-contents .toc-header span {
	font-size: 36px;
	font-weight: 400;
	font-family: var(--cs-heading-font);
	text-transform: initial;
	color: var(--noir);
	letter-spacing: -0.5px;
	margin-top: -6px;
}
body.single-post .ruby-table-contents .toc-header .rbi-read:before {
	content: "\25C9";
	font-family: initial;
	font-size: 26px;
	color: var(--accent-color-1, var(--g-color)) !important;
	padding-right: 8px;
}
body.single-post .ruby-table-contents .inner {
	column-count: 2;
	column-gap: 12px; /* espace entre colonnes */
	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: block;
	padding: 9px 12px 9px 28px;
	margin-bottom: 4px;
	font-size: 14px;
	line-height: 18px;
	font-weight: 500;
	font-family: var(--cs-body-font);
	text-decoration: none !important;
	text-shadow: none !important;
	border-radius: 8px;
	transition: all .2s ease;
}
body.single-post .ruby-table-contents .inner a:hover {
	background: color-mix(in srgb, var(--accent-color-1, var(--g-color)) 8%, transparent);
	color: var(--accent-color-1, var(--g-color)) !important;
}
body.single-post .ruby-table-contents .inner a::before {
	content: "";
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	background: var(--accent-color-1, var(--g-color));
	border-radius: 3px;
}
body.single-post .ruby-table-contents .inner a::after {
	display: none !important;
}
body.single-post .ruby-table-contents .ruby-toc-toggle i:before {
	content: "\276F" !important;
	font-family: initial !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	display: inline-block !important;
	transform: rotate(90deg) !important;
	color: var(--accent-color-1, var(--g-color)) !important;
}

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

/* light mode wrapper */
.rb-search-form .search-form-inner {
  display: flex;
  align-items: center;
  background: var(--blanc);
  border-radius: 12px;
  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: 50%;
  width: 38px;
  height: 38px;
  margin-left: 6px;
  cursor: pointer;
  transition: 0.2s ease;
}
.rbi-cright:before {
  content: "\276F";
  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 .wnav-icon {
	color: var(--noir);
	font-size: 18px;
	transition: 0.2s ease;
}
.logo-sec-right .wnav-icon:hover {
	color: var(--accent-color-1) !important;
}
.header-dropdown {
	margin-top: 12px;
	border-radius: 10px;
	padding: 0px;
	background: var(--blanc);
	box-shadow: 0 8px 24px color-mix(in srgb, var(--noir) 15%, transparent);
}
.w-header-search .header-search-form {
	padding: 0!important;
}
[data-theme="dark"] .navbar-right {
	background: var(--noir);
}
[data-theme="dark"] .logo-sec-right .wnav-icon {
	color: var(--blanc);
}
[data-theme="dark"] .header-dropdown {
	background: var(--noir);
}
