/*
Theme Name: Disette
Theme URI: https://disette.fr
Description: Thème enfant Divi — revue dette / gâchis / comptes publics.
Author: Disette
Version: 1.0.0
Template: Divi
Text Domain: disette
*/

/* =========================================================
   TOKENS — même palette que les decks
   ========================================================= */
:root {
  --d-cream: #F5F1EA;
  --d-cream-2: #EDE7DC;
  --d-navy: #0A1628;
  --d-navy-2: #06101F;
  --d-ink: #1F2D40;
  --d-slate: #5A6577;
  --d-orange: #C8531A;
  --d-peach: #E89B6A;
  --d-sand: #C9BFAE;
  --d-white: #FFFFFF;
  --d-max: 1180px;
  --d-serif: Georgia, "Times New Roman", serif;
  --d-sans: Calibri, "Segoe UI", system-ui, sans-serif;
}

/* =========================================================
   SOCLE
   ========================================================= */
html {
  font-size: 18px;
}

body,
body.et_divi_theme {
  background: var(--d-cream) !important;
  color: var(--d-ink);
  font-family: var(--d-sans);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0;
}

#page-container,
#et-boc,
.et_pb_module,
.et_pb_section,
.et_pb_row {
  font-family: var(--d-sans);
}

h1, h2, h3, h4, h5, h6,
.et_pb_module_header,
.et_pb_text_inner h1,
.et_pb_text_inner h2,
.et_pb_text_inner h3 {
  color: var(--d-navy);
  font-family: var(--d-sans);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

h1 { font-size: clamp(2.1rem, 4vw, 3.1rem); }
h2 { font-size: clamp(1.55rem, 2.6vw, 2rem); }
h3 { font-size: 1.2rem; }

p { margin: 0 0 1em; }

a {
  color: var(--d-orange);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
a:hover { color: var(--d-navy); }

strong { color: var(--d-navy); font-weight: 700; }

/* =========================================================
   HEADER — fin, pas d’usine Divi
   ========================================================= */
#main-header,
#main-header.et-fixed-header {
  background: var(--d-cream) !important;
  box-shadow: none !important;
  border-bottom: 1px solid var(--d-sand);
}

#main-header .container {
  max-width: var(--d-max);
}

#et-top-navigation nav > ul > li > a,
.et_mobile_menu li a {
  color: var(--d-navy) !important;
  font-size: 14px !important;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: none;
}

#et-top-navigation nav > ul > li > a:hover,
#et-top-navigation nav > ul > li.current-menu-item > a {
  color: var(--d-orange) !important;
}

#logo,
#main-header .logo_container {
  color: var(--d-navy);
}

/* Si le logo est du texte (site title) */
.et_header_style_left #logo,
header .logo_container a {
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 15px !important;
}

#et_top_search,
#et_mobile_nav_menu .mobile_menu_bar::before {
  color: var(--d-navy);
}

/* =========================================================
   SECTIONS DIVI
   ========================================================= */
.et_pb_section {
  background-color: transparent !important;
}

.et_pb_section.d-navy,
.et_pb_section.d-dark {
  background-color: var(--d-navy-2) !important;
  color: var(--d-cream);
}
.et_pb_section.d-navy h1,
.et_pb_section.d-navy h2,
.et_pb_section.d-navy h3,
.et_pb_section.d-navy .et_pb_module_header,
.et_pb_section.d-dark h1,
.et_pb_section.d-dark h2,
.et_pb_section.d-dark h3 {
  color: var(--d-white) !important;
}
.et_pb_section.d-navy p,
.et_pb_section.d-dark p {
  color: #C8D2E0;
}

.et_pb_section.d-card,
.et_pb_section.d-sand {
  background-color: var(--d-cream-2) !important;
}

.et_pb_row {
  width: 90%;
  max-width: var(--d-max);
}

/* Eyebrow / surtitre */
.d-eyebrow,
.et_pb_text.d-eyebrow .et_pb_text_inner,
.et_pb_text.d-eyebrow p {
  color: var(--d-orange) !important;
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 0.4em;
}

/* =========================================================
   COMPTEUR DIVI (Number Counter)
   ========================================================= */
.et_pb_number_counter {
  background: transparent !important;
}

.et_pb_number_counter .percent p,
.et_pb_number_counter .percent-value {
  color: var(--d-orange) !important;
  font-family: var(--d-sans);
  font-weight: 700;
  letter-spacing: -0.03em;
}

.et_pb_number_counter h3,
.et_pb_number_counter .et_pb_module_header {
  color: var(--d-slate) !important;
  font-size: 14px !important;
  font-weight: 500;
  letter-spacing: 0.02em;
}

/* Quatre KPI en ligne : un peu d’air */
.et_pb_column .et_pb_number_counter {
  padding: 8px 0 16px;
}

/* =========================================================
   BOUTONS
   ========================================================= */
.et_pb_button,
.et_pb_button:visited {
  background: var(--d-navy) !important;
  color: var(--d-cream) !important;
  border: 0 !important;
  border-radius: 2px !important;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 0.7em 1.25em !important;
}
.et_pb_button:hover {
  background: var(--d-orange) !important;
  color: var(--d-white) !important;
  padding: 0.7em 1.25em !important;
}
.et_pb_button:after { display: none !important; }

.et_pb_button.d-ghost,
.et_pb_button.d-ghost:visited {
  background: transparent !important;
  color: var(--d-navy) !important;
  box-shadow: inset 0 0 0 1px var(--d-sand);
}
.et_pb_button.d-ghost:hover {
  background: var(--d-navy) !important;
  color: var(--d-cream) !important;
}

/* =========================================================
   CARTES / BLURBS / TEXTES
   ========================================================= */
.et_pb_blurb,
.et_pb_text.d-card .et_pb_text_inner {
  background: var(--d-cream-2);
}

.et_pb_blurb {
  padding: 1.25rem 1.35rem !important;
  border-radius: 0;
  border-left: 3px solid var(--d-orange);
  box-shadow: none !important;
}

.et_pb_blurb .et_pb_module_header {
  color: var(--d-navy) !important;
}

.et_pb_blurb .et_pb_blurb_description {
  color: var(--d-ink);
}

/* Accents orange sur chiffres dans le texte */
.d-num,
.et_pb_text_inner .d-num {
  color: var(--d-orange);
  font-weight: 700;
}

/* =========================================================
   ARTICLES / NOTES
   ========================================================= */
.single article,
.et_pb_post,
#left-area .et_pb_post {
  background: transparent;
}

.post-meta,
.posted-on,
.et_pb_title_meta_container {
  color: var(--d-slate);
  font-size: 13px;
  letter-spacing: 0.04em;
}

.entry-title,
.et_pb_title_container h1 {
  color: var(--d-navy);
}

/* =========================================================
   FOOTER
   ========================================================= */
#main-footer,
#et-footer-area,
#footer-bottom {
  background: var(--d-navy-2) !important;
  color: #8C97A8;
  border: 0;
}

#main-footer a,
#footer-bottom a {
  color: var(--d-peach);
}

#footer-info {
  color: #8C97A8;
  font-size: 13px;
}

/* =========================================================
   FORMULAIRES (newsletter plus tard)
   ========================================================= */
input[type="text"],
input[type="email"],
textarea,
.et_pb_contact input,
.et_pb_newsletter_form input {
  background: var(--d-white);
  border: 1px solid var(--d-sand) !important;
  border-radius: 2px;
  color: var(--d-navy);
  box-shadow: none !important;
}

input:focus,
textarea:focus {
  border-color: var(--d-orange) !important;
  outline: none;
}

/* =========================================================
   UTILS À POSER EN CLASSE CSS DU MODULE DIVI
   ========================================================= */
.d-kicker { color: var(--d-orange) !important; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; font-size: 12px !important; }
.d-lead { font-size: 1.15rem; color: var(--d-ink); max-width: 40em; }
.d-mute { color: var(--d-slate) !important; }
.d-rule { border-top: 1px solid var(--d-sand); padding-top: 1.5rem; }


/* =========================================================
   Graphes Disette 29 08 2026
   ========================================================= */
.d-graph,
.et_pb_image img.d-graph,
.et_pb_text img {
  display: block;
  width: 100%;
  max-width: 920px;
  height: auto;
  margin: 28px auto 8px;
  border: 0;
}

.d-graph-caption,
.et_pb_text p.d-graph-caption {
  font-size: 13px;
  color: #5A6577;
  margin: 0 auto 36px;
  max-width: 920px;
}

/* =========================================================
   NETTOYAGE DIVI
   ========================================================= */
.et_pb_scroll_top.et-visible { background: var(--d-navy); }
#et-info-phone,
#et-info-email { display: none; }

@media (max-width: 980px) {
  html { font-size: 17px; }
  .et_pb_row { width: 92%; }
}
