/* ============================================================
   Theme    : FOXIZ
   Variante : 018
   Version  : 1.3
   Date     : 20/08/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=Quicksand:wght@400;500;600;700&family=Nunito:wght@400;600;700&display=swap');

body {
    --cs-heading-font: "Quicksand", system-ui, sans-serif;
    --cs-body-font: "Nunito", system-ui, sans-serif;
}


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

/*MENU*/
.mega-dropdown-inner .mega-header {display:none;}

/*CONTENU*/
@media only screen and (min-width: 760px) and (max-width: 1081px) { 
.LargeurContenu .e-con-inner {
    width:760px!important;
    min-width:760px!important;
    max-width:760px!important;
}}

@media only screen  and (min-width: 1081px) and (max-width: 1281px) { 
.LargeurContenu .e-con-inner {
    width:1040px!important;
    min-width:1040px!important;
    max-width:1040px!important;
}}

@media only screen and (min-width: 1281px) {
.LargeurContenu .e-con-inner {
    width:1240px!important;
    min-width:1240px!important;
    max-width:1240px!important;
}
/* TOP SPACE*/
.TopSpace {
    transform:scale(1.1);
    z-index: 20
}
.TopSpace .p-wrap .overlay-holder  {
    margin-top:60px;
    border-radius:0!important;
}}

.LargeurContenu .Sidebar .e-con-inner {
    width: initial!important;
    min-width: initial!important;
    max-width: initial!important;
}

/*FOND*/
.Fond0 {
    background:var(--blanc);
}
[data-theme="dark"] .Fond0 {
    background:#191c20;
}

/*FOND > Fond1*/
.Fond1 {
background-image: linear-gradient(45deg, color-mix(in srgb, var(--g-color) 25%, transparent) 0%, #FFFFFF 220px);}
[data-theme="dark"] .Fond1 {
background-image: linear-gradient(45deg, color-mix(in srgb, var(--g-color) 25%, transparent) 0%, #191c20 220px);}
/*FOND > Fond2*/
.Fond2 {
background-image: linear-gradient(135deg, color-mix(in srgb, var(--g-color) 25%, transparent) 0%, #FFFFFF 220px);}
[data-theme="dark"] .Fond2 {
background-image: linear-gradient(135deg, color-mix(in srgb, var(--g-color) 25%, transparent) 0%, #191c20 220px);}
/*FOND > Fond3*/
.Fond3 {
background-image: linear-gradient(315deg, color-mix(in srgb, var(--g-color) 25%, transparent) 0%, #FFFFFF 220px);}
[data-theme="dark"] .Fond3 {
background-image: linear-gradient(315deg, color-mix(in srgb, var(--g-color) 25%, transparent) 0%, #191c20 220px);}
/*FOND > Fond4*/
.Fond4 {
background-image: linear-gradient(225deg, color-mix(in srgb, var(--g-color) 25%, transparent) 0%, #FFFFFF 220px);}
[data-theme="dark"] .Fond4 {
background-image: linear-gradient(225deg, color-mix(in srgb, var(--g-color) 25%, transparent) 0%, #191c20 220px);}
/*FOND > Fond5*/
.Fond5 {
background-image: linear-gradient(360deg, color-mix(in srgb, var(--g-color) 25%, transparent) 0%, #FFFFFF 100%);}
[data-theme="dark"] .Fond5 {
background-image: linear-gradient(360deg, color-mix(in srgb, var(--g-color) 25%, transparent) 0%, #191c20 100%);}
/*FOND > Fond6*/
.Fond6 {
background-image: linear-gradient(180deg, color-mix(in srgb, var(--g-color) 25%, transparent) 5%, #FFFFFF 100%);}
[data-theme="dark"] .Fond6 {
background-image: linear-gradient(180deg, color-mix(in srgb, var(--g-color) 25%, transparent) 5%, #191c20 100%);}


/*SEPARATEUR*/
[data-theme="dark"] .elementor-divider-separator {
    border-block-start: var(--divider-border-width) var(--divider-border-style) var(--blanc)!important;
}

/*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;}

@media only screen and (max-width: 600px) {
.PT20 {padding-top:20px!important;}
.PB20 {padding-bottom:20px!important;}
.PT40 {padding-top:20px!important;}
.PB40 {padding-bottom:20px!important;}
.PT60 {padding-top:20px!important;}
.PB60 {padding-bottom:20px!important;}
.PT80 {padding-top:20px!important;}
.PB80 {padding-bottom:20px!important;}
.PT100 {padding-top:20px!important;}
.PB100 {padding-bottom:20px!important;}
.PT120 {padding-top:20px!important;}
.PB120 {padding-bottom:20px!important;}
}

/*TITRE*/
/*TITRE > TITRE1*/
.Titre1 .elementor-heading-title {
    font-family: var(--cs-heading-font);
    font-size: 66px;
    font-weight: 500;
    text-transform: none;
    font-style: normal;
    text-decoration: none;
    line-height: 1.05em;
    letter-spacing: -2px;
    word-spacing: 0em;
}
.elementor-widget-sidebar .Titre1 .elementor-heading-title {
    font-family: var(--cs-heading-font);
    font-size: 25px;
    line-height: 1em;
    font-weight: 300!important;
    text-transform: none;
    font-style: normal;
    text-decoration: none;
    letter-spacing: -1px;
    word-spacing: 0em;
}
@media only screen and (max-width: 600px) {
/*TITRE > TITRE1*/
.Titre1 .elementor-heading-title {
    font-size: 40px;
    line-height: 1.1em;
}}

/*TITRE > ARTICLE*/
.single-post h1.s-title {
    font-family: var(--cs-heading-font);
    font-size: 30px;
    font-weight: 300!important;
    line-height: 1.08em;
    letter-spacing: -1px;
}

.single-post .ImageArticle .s-feat img, 
.single-post .ImageArticle .s-feat-holder img {
    border: 4px solid var(--noir) !important;
    box-shadow: 0 0 4px var(--noir-opacite);
    border-radius: 0;
}
[data-theme="dark"].single-post .ImageArticle .s-feat img, 
[data-theme="dark"].single-post .ImageArticle .s-feat-holder img {
    border: 4px solid var(--blanc) !important;
    box-shadow: 0 0 4px var(--blanc-opacite);
    border-radius: 0;
}

.single-post .ImageArticle .s-feat-outer {
    margin-bottom: 0px!important;
}
.elementor-widget-sidebar .p-featured img {
    border: 1px solid var(--noir) !important;
    box-shadow: 0 0 4px var(--noir-opacite);
}
/*TEXTE*/
/*TEXTE > TEXTE1*/
.Texte1 {
    font-family: var(--cs-body-font);
    font-size: 22px;
    font-weight: 400!important;
    text-transform: none;
    font-style: normal;
    line-height: 1.5em;
}
.Texte1.Grand  {
    font-size: 24px!important;
    line-height: 1.2em;
}
@media only screen and (max-width: 600px) {
.Texte1 {
    font-size: 18px;
    line-height: 1.2em;
}
.Texte1.Grand  {
    font-size: 20px!important;
    line-height: 1.2em;
}}

/*TEXTE > TEXTE2*/

/*BOUTON*/
/*BOUTON > BOUTON1*/
.Bouton1 .elementor-button {
    background-color: var(--transparent)!important;
    font-family: var(--cs-body-font);
    font-size: 18px;
    font-weight: 500;
    text-transform: capitalize;
    font-style: normal;
    text-decoration: none;
    line-height: 1em;
    letter-spacing: 0px;
    word-spacing: 0em;
    fill: var(--noir);
    color: var(--noir);
    border-style: solid;
    border-width: 2px 2px 2px 2px;
    border-color: var(--noir);
    border-radius: 50px 50px 50px 50px;
    padding: 20px 50px 20px 50px;
    text-transform: none;
}
[data-theme="dark"] .Bouton1 .elementor-button {
    fill: var(--blanc);
    color: var(--blanc);
    border-color: var(--blanc);
}
@media only screen and (max-width: 600px) {
.Bouton1 .elementor-button {
    font-size: 15px;
    line-height: 1.05em;
    padding: 16px 24px;
}}
.Bouton1 .elementor-button {
    transform: scale(1.1);
}
/*SOUSTITRE*/
/*SOUSTITRE > SOUSTITRE*/
.SousTitre1 .elementor-heading-title {
    font-family: var(--cs-heading-font);
    font-size: 16px;
    font-weight: 300!important;
    text-transform: uppercase;
    font-style: normal;
    text-decoration: none;
    line-height: 1.1em;
    letter-spacing: 2px;
    word-spacing: 0em;
}
@media only screen and (max-width: 600px) {
/*SOUSTITRE > SOUSTITRE*/
.SousTitre1 .elementor-heading-title {
    font-size: 14px;
    line-height: 1.1em;
}}

/*COULEUR*/
/*COULEUR > COULEUR1*/
[data-theme="default"] .Titre1 .elementor-heading-title,
[data-theme="default"] .Texte1 .elementor-widget-text-editor,
[data-theme="default"] .SousTitre1 .elementor-heading-title {
    color: var(--noir)!important;
}
[data-theme="dark"] .Titre1 .elementor-heading-title,
[data-theme="dark"] .Texte1 .elementor-widget-text-editor,
[data-theme="dark"] .SousTitre1 .elementor-heading-title {
    color: var(--blanc)!important;
}



/*Theme018Style01*/
/*Theme018Style01 > Catégories*/
.Theme018Style01 .p-categories {
    margin-bottom:2px!important;
}
.Theme018Style01 .p-categories a.p-category {
    font-size:11px!important;
    font-weight:600!important;
    background:none;
    color:var(--blanc);
}
/*Theme018Style01 > Titre*/
.Theme018Style01 .entry-title {
    font-size:19px!important;
    line-height:1.05em!important;
}
/*Theme018Style01 > Date*/
.Theme018Style01 .p-meta time {
    font-size:13px!important;
    line-height:17px!important;
    font-weight: 500;
}


/*Theme018Style02*/
/*Theme018Style02 > Espace*/
@media only screen and (max-width: 600px) {
.Theme018Style02 {
    margin-bottom:24px!important;
}}

/*Theme018Style02 > Titre*/
.Theme018Style02 .entry-title {
    font-weight:600!important;
    font-size:19px!important;
    line-height:21px!important;
    margin-bottom:4px;
}
/*Theme018Style02 > Date*/
.Theme018Style02 .p-meta time {
    font-size:13px!important;
    line-height:17px!important;
    font-weight: 500;
}


/*Theme018Style03*/
/*Theme018Style03 > Catégories*/
.Theme018Style03 .p-categories {
    margin-bottom:4px!important;
    letter-spacing:1px;
}
.Theme018Style03 .p-categories a.p-category {
    font-size:14px!important;
    font-weight:400!important;
    color:var(--blanc);
}
/*Theme018Style03 > Titre*/
.Theme018Style03 .entry-title {
    font-size:24px!important;
    line-height:1.1em!important;
}
@media only screen and (max-width: 600px) {
.Theme018Style03 .entry-title {
    font-size:18px!important;
    line-height:1.1em!important;
}}

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

/*Theme018Style04*/
/*Theme018Style04 > Catégories*/
.Theme018Style04 .p-categories {
    margin-bottom:2px!important;
}
.Theme018Style04 .p-categories a.p-category {
    font-size:12px!important;
    font-weight:600!important;
    background:none;
}
/*Theme018Style04 > Titre*/
.Theme018Style04 .entry-title {
    font-size:20px!important;
    line-height:1.1em!important;
    margin-bottom:4px;
}
/*Theme018Style04 > Texte*/
.Theme018Style04 .entry-summary {
    font-size:16px!important;
    line-height:1.2em!important;
    font-weight: 400;
}

/*Theme018Style05*/
/*Theme018Style05 > Titre*/
.Theme018Style05 .entry-title {
    font-size:25px!important;
    line-height:1em!important;
}
/*Theme018Style05 > Date*/
.Theme018Style05 .p-meta time {
    font-size:14px!important;
    line-height:16px!important;
    font-weight: 500;
}

/*Theme018Style06*/
.Theme018Style06 {
    padding:0!important;
    margin:0!important;
}
/*Theme018Style06 > Titre*/
.Theme018Style06 .entry-title {
    font-size:16px!important;
    line-height:1.1em!important;
}
/*Theme018Style06 > Date*/
.Theme018Style06 .p-meta time {
    font-size:13px!important;
    line-height:15px!important;
    font-weight: 500;
}

/*Theme018Style07*/
/*Theme018Style07 > Catégories*/
.Theme018Style07 .p-categories {
    margin-bottom:6px!important;
}
.Theme018Style07 .p-categories a.p-category {
    font-size:16px!important;
    font-weight:400!important;
}
/*Theme018Style07 > Titre*/
.Theme018Style07 .entry-title {
    font-size:32px!important;
    line-height:32px!important;
    margin-bottom:6px;
}
/*Theme018Style07 > Texte*/
.Theme018Style07 .entry-summary {
    font-size:17px!important;
    line-height:1.2em!important;
    font-weight: 400;
}

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

/*Theme018Style07 > Miniature*/
.Theme018Style07Image .p-featured img, 
.Theme018Style07Image img {
    border: 1px solid var(--noir) !important;
    box-shadow: 0 0 4px var(--noir-opacite);
}

@media only screen and (max-width: 600px) {
/*Theme018Style07 > Titre*/
.Theme018Style07 .entry-title {
    font-size:20px!important;
    line-height:1.1em!important;
    margin-bottom:6px;
}
/*Theme018Style07 > Texte*/
.Theme018Style07 .entry-summary {
    font-size:14px!important;
    line-height:1.1em!important;
}}

/*Theme018Style08*/
/*Theme018Style08 > Miniature*/
.Theme018Style08 .p-wrap:nth-child(2) {
    margin-top:20px;
    transform: scale(1.2);
    z-index: 10;
}


/*Theme018Style09*/
/*Theme018Style09 > Catégories*/
.Theme018Style09 .p-categories {
    margin-bottom:6px!important;
}
.Theme018Style09 .p-categories a.p-category {
    font-size:12px!important;
    font-weight:400!important;
}
/*Theme018Style09 > Titre*/
.Theme018Style09 .entry-title {
    font-size:21px!important;
    line-height:1.1em!important;
    margin-bottom:4px;
}
/*Theme018Style09 > Texte*/
.Theme018Style09 .entry-summary {
    font-size:14px!important;
    line-height:1.3em!important;
    font-weight: 400;
}

/*Theme018Style10*/
/*Theme018Style10 > Catégories*/
.Theme018Style10 .p-categories {
    margin-bottom:6px!important;
}
.Theme018Style10 .p-categories a.p-category {
    font-size:12px!important;
    font-weight:400!important;
}
/*Theme018Style10 > Titre*/
.Theme018Style10 .entry-title {
    font-size:20px!important;
    line-height:1.15em!important;
    margin-bottom:4px!important;
}
@media only screen and (max-width: 600px) {
/*Theme018Style10 > Titre*/
.Theme018Style10 .entry-title {
    font-size:18px!important;
    line-height:1.1em!important;
}}

/*Theme018Style10 > Date*/
.Theme018Style10 .p-meta time {
    font-size:13px!important;
    line-height:17px!important;
    font-weight: 500;
}
/*Theme018Style10 > Texte*/
.Theme018Style10 .entry-summary {
    font-size:16px!important;
    line-height:1.2em!important;
    font-weight: 400;
}

/*BORDER RADIUS*/
.p-highlight, 
.overlay-holder,
.p-featured img,
.feat-holder,
.p-wrap .p-featured {
    border-radius: 0px!important;
    border: 1px solid var(--noir) !important;
    box-shadow: 0 0 4px var(--noir-opacite);
}
[data-theme="dark"] .p-highlight, 
[data-theme="dark"] .overlay-holder,
[data-theme="dark"] .p-featured img,
[data-theme="dark"] .feat-holder,
[data-theme="dark"] .p-wrap .p-featured {
    border: 1px solid var(--blanc) !important;
    box-shadow: 0 0 4px var(--blanc-opacite);
}

.ImageContact {
    border-radius: 0px!important;
    border: 1px solid var(--noir) !important;
    box-shadow: 0 0 4px var(--noir-opacite);
}
[data-theme="dark"] .ImageContact {
    border: 1px solid var(--blanc) !important;
    box-shadow: 0 0 4px var(--blanc-opacite);
}


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

/*HEADER*/
/*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;
}

/*HEADER > MOBILE > LOGO*/
.mobile-logo-wrap img {
    max-height: 66px!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;
}}

/*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;
}

/*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 .p-categories {
    margin-bottom:2px!important;
}
.category .blog-content .p-wrap .p-categories a.p-category {
    font-size:12px!important;
    font-weight:600!important;
    background:none;
}
.category .blog-content .p-wrap .entry-title {
    font-size:20px!important;
    line-height:1.1em!important;
    margin-bottom:4px;
}
.category .blog-content .p-wrap .entry-summary {
    font-size:16px!important;
    line-height:1.2em!important;
    font-weight: 400;
}

/*CATEGORIE*/
.category .blog-content .p-wrap .p-categories {
    margin-bottom:2px!important;
}
.category .blog-content .p-wrap .p-categories a.p-category {
    font-size:12px!important;
    font-weight:600!important;
    background:none;
}
.category .blog-content .p-wrap .entry-title {
    font-size:20px!important;
    line-height:1.1em!important;
    margin-bottom:4px;
}
.category .blog-content .p-wrap .entry-summary {
    font-size:16px!important;
    line-height:1.2em!important;
    font-weight: 400;
}
.Titre1.Petit .elementor-heading-title {
    font-size: 34px;
    line-height: 1.1em;
}

.Sidebar .Titre1 .elementor-heading-title {
    font-family: var(--cs-heading-font);
    font-size: 25px;
    line-height: 1em;
    font-weight: 300!important;
    text-transform: none;
    font-style: normal;
    text-decoration: none;
    letter-spacing: -1px;
    word-spacing: 0em;
}


/* ============================================================
   COUCHE CUSTOM (TDM + POST + MENU)
   (contenu original de style-theme018-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 .rbtoc {
    padding: 0px;
    border-radius: none;
    box-shadow: none;
}
body.single-post .rbtoc .inner a {
    border-top: none;
}
body.single-post .ruby-table-contents .toc-header {
	margin-bottom: 4px;
	padding-bottom: 0px;
}
body.single-post .ruby-table-contents .toc-header span {
	font-size: 34px;
	font-weight: 700;
	font-family: var(--cs-heading-font);
	text-transform: uppercase;
	color: var(--noir);
}
body.single-post .ruby-table-contents .toc-header .rbi-read:before {
	content: "\25CF";
	font-family: initial;
	font-size: 16px;
	color: var(--accent-color-1, var(--g-color)) !important;
	padding-right: 10px;
}
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: block;
	padding: 9px 14px 9px 30px;
	margin-bottom: 4px;
	font-size: 14px;
	line-height: 17px;
	font-weight: 600;
	font-family: var(--cs-body-font);
	text-decoration: none !important;
	text-shadow: none !important;
	transition: all .25s ease;
}
body.single-post .ruby-table-contents .inner a:hover {
	color: var(--accent-color-1, var(--g-color)) !important;
	background: color-mix(in srgb, var(--accent-color-1, var(--g-color)) 8%, transparent);
}
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: 50%;
}
body.single-post .ruby-table-contents .inner a::after {
	display: none !important;
}
body.single-post .ruby-table-contents .ruby-toc-toggle i:before {
	content: "\002B" !important;
	font-family: initial !important;
	font-size: 26px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	color: var(--accent-color-1, var(--g-color)) !important;
}

/* --- POST (single article) --- */
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: 24px;
}
body.single-post .s-cats {
	margin-bottom: 14px;
}
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 16px;
	border: 1px solid var(--accent-color-1, var(--g-color));
	border-radius: 999px;
	color: var(--accent-color-1, var(--g-color)) !important;
	font-size: 12px;
	font-weight: 700;
	font-family: var(--cs-heading-font);
	text-transform: initial;
	letter-spacing: 0.3px;
	text-decoration: none;
}
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: 44px;
	line-height: 1.12;
	font-weight: 700;
	font-family: var(--cs-heading-font);
	margin: 14px 0 20px;
	letter-spacing: -0.3px;
}
body.single-post .entry-content.rbct {
	border: none;
	border-radius: 20px;
	padding: 30px 34px;
	box-shadow: 0 6px 30px color-mix(in srgb, var(--noir) 8%, transparent);
	background: var(--blanc);
}
body.single-post .entry-content.rbct h2,
body.single-post .entry-content.rbct h3 {
	font-weight: 700;
	font-family: var(--cs-heading-font);
	border-left: 5px solid var(--accent-color-1, var(--g-color));
	padding-left: 14px;
	margin-top: 32px;
	border-radius: 0;
}
body.single-post .entry-content.rbct h2 { font-size: 28px; }
body.single-post .entry-content.rbct h3 { font-size: 23px; }
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.8;
	font-family: var(--cs-body-font);
}
body.single-post .entry-content.rbct blockquote {
	border-left: none;
	background: color-mix(in srgb, var(--accent-color-1, var(--g-color)) 6%, var(--blanc));
	padding: 20px 28px;
	margin: 26px 0;
	font-style: normal;
	border-radius: 16px;
	font-family: var(--cs-body-font);
}
body.single-post .entry-content.rbct a {
	color: var(--accent-color-1, var(--g-color));
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* --- MENU (sitewide) --- */
#site-header {
	background: var(--blanc);
	border-bottom: none;
	box-shadow: 0 2px 12px color-mix(in srgb, var(--noir) 6%, transparent);
}
#site-header .logo-sec-inner {
	padding: 4px 0;
}
.logo-sec {
    padding-bottom: 0px!important;
}
#site-header .main-menu > li > a {
	color: var(--noir);
	font-weight: 600;
	font-family: var(--cs-heading-font);
	letter-spacing: 0;
	text-transform: initial;
	padding: 6px 14px;
	border-radius: 999px;
	transition: all .25s ease;
}
#site-header .main-menu > li:hover > a,
#site-header .main-menu > li.current-menu-item > a {
	background: color-mix(in srgb, var(--accent-color-1, var(--g-color)) 10%, transparent);
	color: var(--accent-color-1, var(--g-color));
}
#site-header .navbar-wrap {
	border-top: none;
	background: var(--blanc);
}
#site-header .search-btn,
#site-header .dark-mode-toggle {
	color: var(--noir);
}


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

/* 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: 12px;
  width: 38px;
  height: 38px;
  margin-left: 6px;
  cursor: pointer;
  transition: 0.2s ease;
}
.rbi-cright:before {
  content: "\279C";
  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) --- */
.navbar-right {
	background: var(--blanc);
	padding: 8px 20px !important;
	border-radius: 50px !important;
	box-shadow: 0 6px 18px color-mix(in srgb, var(--noir) 12%, transparent);
}
.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: 20px;
	padding: 0px;
	background: var(--blanc);
	box-shadow: 0 8px 24px color-mix(in srgb, var(--noir) 12%, 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);
}
