/* Compact navigation CTA, prevents an oversized orange block. */
.main-navigation .main-nav ul li:last-child a { height:42px!important; min-height:42px!important; line-height:42px!important; padding:0 15px!important; white-space:nowrap!important; display:inline-block!important; }
@media (max-width:600px){.main-navigation .main-nav ul li:last-child a{height:40px!important;min-height:40px!important;line-height:40px!important;padding:0 12px!important;}}

/* Home : header + hero compacts sur desktop, lien secondaire carte lancement */
.ecomia-route-secondary{ margin:10px 0 0; font-size:.82rem; color:#5a6672; }
.ecomia-route-secondary a{ color:#d96500; font-weight:600; }
@media (min-width:901px){
  .home .site-header .inside-header{ padding-top:10px!important; padding-bottom:4px!important; }
  .home .ecomia-hero-pro{ padding-top:14px!important; }
  .home .site-content{ padding-top:12px!important; }
  .home .ecomia-home{ margin-top:0!important; padding-top:0!important; }
}

/* Articles : catégorie au-dessus du titre, lecture confortable, hero maîtrisé */
.ecomia-post-cat{ margin:0 0 6px; font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#d96500; }
.ecomia-post-cat a{ color:#d96500; text-decoration:none; }
.ecomia-post-cat a:hover{ text-decoration:underline; }
.single .entry-content{ font-size:17px!important; line-height:1.75!important; }
.single .entry-content img{ border-radius:12px; }
.single .entry-content > p:first-of-type img, .single .entry-content img[width="1536"]{ max-width:720px; margin-left:auto; margin-right:auto; display:block; height:auto; }
/* Template article : la featured image ne précède plus le H1 (le héros vit dans le contenu, après le chapô) */
.single .post-image{ display:none!important; }
.single .inside-article > .post-image{ display:none!important; }

/* Archives (catégories + blog) : grille de cartes 3x3 desktop, 4x4 grand écran, 2x2 tablette */
.blog .site-main, .archive .site-main{display:grid!important;gap:22px!important;}
.blog .site-main .page-header, .archive .site-main .page-header{grid-column:1 / -1!important;width:100%!important;}
@media (min-width:1100px){.blog .site-main, .archive .site-main{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}
@media (min-width:1400px){.blog .site-main, .archive .site-main{grid-template-columns:repeat(4,minmax(0,1fr))!important;}}
@media (min-width:701px) and (max-width:1099px){.blog .site-main, .archive .site-main{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media (max-width:700px){.blog .site-main, .archive .site-main{grid-template-columns:1fr!important;gap:18px!important;}}
.blog .site-main article, .archive .site-main article{
  display:flex!important;flex-direction:column!important;
  margin:0!important;padding:0!important;
  background:#fff!important;border:1px solid #e8edf2!important;border-radius:14px!important;overflow:hidden!important;
  box-shadow:0 2px 10px rgba(12,17,23,.05)!important;
  height:100%!important;
}
.blog .site-main article .inside-article, .archive .site-main article .inside-article{padding:16px!important;display:flex!important;flex-direction:column!important;flex:1!important;}
.blog .site-main article .entry-header, .archive .site-main article .entry-header{order:2!important;margin:0 0 8px!important;}
.blog .site-main article .post-image, .archive .site-main article .post-image{order:1!important;margin:0 0 12px!important;}
.blog .site-main article .post-image img, .archive .site-main article .post-image img{width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:cover!important;display:block!important;}
.blog .site-main article .entry-title, .archive .site-main article .entry-title{font-size:1.02rem!important;line-height:1.3!important;margin:0 0 8px!important;}
.blog .site-main article .entry-summary, .archive .site-main article .entry-summary{order:3!important;font-size:.88rem!important;color:#5a6672!important;flex:1!important;margin:0 0 12px!important;}
.blog .site-main article .read-more, .archive .site-main article .read-more{display:inline-block!important;color:#d96500!important;font-weight:700!important;font-size:.88rem!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;}
.blog .site-main article .read-more:after{content:' →';}

/* Fix menu mobile : v3.css cachait tout .main-navigation (donc le bouton Menu aussi).
   On affiche le nav, on cache seulement les liens, et on laisse le toggle GP ouvrir le menu. */
/* Navigation mobile finale : bouton compact + panneau lisible. */
@media (max-width:600px){
  .main-navigation, .home .main-navigation{
    display:block!important;
    width:100%!important;
    text-align:center!important;
    background:transparent!important;
    border:0!important;
    padding:0!important;
  }
  .main-navigation .inside-navigation{
    display:block!important;
    width:100%!important;
    padding:0 18px 10px!important;
    text-align:center!important;
  }
  .main-navigation .menu-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:auto!important;
    height:42px!important;
    min-height:42px!important;
    margin:8px auto 2px!important;
    padding:0 18px!important;
    border:1px solid rgba(255,127,2,.45)!important;
    border-radius:999px!important;
    background:#fff7ef!important;
    color:#d96500!important;
    font-size:.82rem!important;
    font-weight:700!important;
    line-height:1!important;
    letter-spacing:.02em!important;
    box-shadow:0 4px 12px rgba(12,17,23,.06)!important;
    cursor:pointer!important;
  }
  .main-navigation .menu-toggle:before{
    content:'';
    display:inline-block;
    width:18px;
    height:14px;
    background:linear-gradient(to bottom,
      currentColor 0, currentColor 2px,
      transparent 2px, transparent 6px,
      currentColor 6px, currentColor 8px,
      transparent 8px, transparent 12px,
      currentColor 12px, currentColor 14px);
    font-size:0;
    line-height:1;
  }
  .main-navigation .menu-toggle .mobile-menu{padding:0!important;}
  .main-navigation .main-nav{display:none!important;}
  .main-navigation.toggled .main-nav{
    display:block!important;
    width:100%!important;
    margin:10px 0 0!important;
    padding:8px!important;
    border:1px solid #e8edf2!important;
    border-radius:16px!important;
    background:#0c1117!important;
    box-shadow:0 14px 30px rgba(12,17,23,.18)!important;
  }
  .main-navigation .main-nav > ul,
  .main-navigation.toggled .main-nav > ul{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:4px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }
  .main-navigation.toggled .main-nav ul li,
  .main-navigation.toggled .main-nav ul li a{
    float:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:44px!important;
    margin:0!important;
    padding:10px 7px!important;
    border-radius:10px!important;
    color:#f7f9fb!important;
    background:transparent!important;
    font-size:.78rem!important;
    font-weight:600!important;
    line-height:1.15!important;
    text-align:center!important;
    white-space:normal!important;
  }
  .main-navigation.toggled .main-nav ul li a:hover,
  .main-navigation.toggled .main-nav ul li.current-menu-item > a{
    color:#fff!important;
    background:rgba(255,127,2,.18)!important;
    box-shadow:none!important;
  }
  .main-navigation.toggled .main-nav ul li:last-child{
    grid-column:1 / -1!important;
    margin-top:4px!important;
  }
  .main-navigation.toggled .main-nav ul li:last-child a{
    min-height:44px!important;
    color:#fff!important;
    background:#ff7f02!important;
    border-radius:10px!important;
    font-weight:700!important;
  }
  .main-navigation.toggled .main-nav ul li:last-child a:hover{background:#d96500!important;}
}

/* Indicateur de tableau scrollable (mobile) */
.table-hint{ display:none; margin:8px 0 0; font-size:.78rem; color:#8a94a3; }
@media (max-width: 700px){ .table-hint{ display:block; } }

/* ===== Lecture confortable type blog professionnel (interligne + respiration) ===== */
.entry-content{ line-height:1.75 !important; }
.entry-content p{ margin:0 0 1.2em !important; }
.entry-content h2{ margin:1.5em 0 .6em !important; }
.entry-content h3{ margin:1.3em 0 .5em !important; }
.entry-content h2:first-of-type{ margin-top:.6em !important; }

/* ===== Mobile : marges symétriques confortables, texte pleine largeur utile ===== */
@media (max-width: 700px){
  .single article.post, .page article.page{ width:100% !important; max-width:100% !important; padding:0 24px !important; }
  .single .inside-article, .page .inside-article{ width:100% !important; max-width:100% !important; margin:0 !important; }
  .single .entry-content, .page .entry-content{ width:100% !important; max-width:100% !important; }
  .site-content{ padding-left:0 !important; padding-right:0 !important; }
}

/* ============================================================
   AUDIT IMPECCABLE — contrastes AA, tokens unifiés, touch targets
   Chargé en dernier : ces valeurs gagnent la cascade.
   ============================================================ */
:root{
  --accent:#ff7f02;                   /* accent décoratif (survols, ombres) */
  --accent-2:#d96500;                 /* liens inline dans le texte (3:1 ✓) */
  --accent-deep:#b45309;              /* texte petit autonome + hover (AA ~5:1) */
  --gradient:linear-gradient(135deg,#ff9a3c 0%,#ff7f02 100%); /* fonds CTA + texte navy = AA */
  --text-muted:#4b5563;               /* gris texte (AA ~5.4:1) */
  --muted:#4b5563;
}

/* CTA principaux : fond orange vif + texte navy (AA ~7.5:1, visible sur fond clair ET navy) */
.main-navigation .main-nav ul li:last-child a,
.ecomia-btn-primary{ background:#ff7f02!important; border-color:#ff7f02!important; color:#0c1117!important; }
.main-navigation .main-nav ul li:last-child a:hover,
.ecomia-btn-primary:hover{ background:#f97316!important; border-color:#f97316!important; color:#0c1117!important; }
.btn-ecomia, .btn-ecomia:hover{ color:#0c1117!important; }
.ecomia-btn-light{ border:1px solid #ff9a3c!important; }

/* Petits textes autonomes : orange profond AA */
.ecomia-kicker{ color:#b45309!important; }
.ecomia-route-num{ color:#b45309!important; }
.ecomia-post-cat, .ecomia-post-cat a{ color:#b45309!important; }
.ecomia-hero-pro h1 span{ color:#d96500!important; }        /* texte large ≥ 3:1 */

/* Liens autonomes (cartes, routes, Lire la suite) : AA ; survol foncé */
.ecomia-text-link,.ecomia-route-cta,.ecomia-article-card a,
.blog .site-main article .read-more, .archive .site-main article .read-more,
.read-more{ color:#b45309!important; }
.ecomia-text-link:hover,.ecomia-route-cta:hover,.ecomia-article-card a:hover,
.read-more:hover{ color:#c2410c!important; }

/* Bouton menu mobile : texte navy AA, icône orange conservée, hit 46px */
.main-navigation .menu-toggle{ height:46px!important; min-height:46px!important; color:#d96500!important; }
.main-navigation .menu-toggle .mobile-menu{ color:#0c1117!important; font-weight:700!important; }

/* Liens fantômes du hero : zone de clic ≥ 44px */
.ecomia-text-link{ display:inline-block; padding:12px 4px; }

/* Bloc final navy : les textes doivent être CLAIRS (AA sur fond sombre) */
.ecomia-final-cta .ecomia-kicker{ color:#ff9a3c!important; }
.ecomia-final-cta p{ color:#cbd5e1!important; }

/* Float-card du hero + intros de section : textes AA */
.ecomia-float-card strong{ color:#4b5563!important; }
.ecomia-float-card span{ color:#b45309!important; }
.ecomia-section-heading > p:not(.ecomia-kicker){ color:#4b5563!important; }

/* ===== QA final — 4 micro-corrections validées (contraste + tokens) ===== */
/* 1. Lien actif de la nav : orange profond sur fond clair (desktop) */
@media (min-width: 901px){
  .main-navigation .main-nav ul li.current-menu-item > a{ color:#b45309!important; }
}
/* 1b. Sur le panneau mobile navy : orange clair AA */
@media (max-width: 900px){
  .main-navigation .main-nav ul li.current-menu-item > a{ color:#ff9a3c!important; }
}
/* 2. Badges des cartes d'articles (accueil) */
.ecomia-article-card small{ color:#b45309!important; }
/* 3. Bloc auteur : label + liens AA */
.ecomia-author-label, .ecomia-author-box a, .ecomia-author-policy{ color:#b45309!important; }
.ecomia-author-box a:hover, .ecomia-author-policy:hover{ color:#c2410c!important; }
/* 4. Liens texte des blocs CTA : palette au lieu du bleu GP */
.cta-ecomia a:not(.btn-ecomia), .box-info a{ color:#d96500!important; }
.cta-ecomia a:not(.btn-ecomia):hover, .box-info a:hover{ color:#b45309!important; }

/* ===== Liens du corps des articles : palette orange au lieu du bleu GP ===== */
.entry-content a{ color:#d96500; text-decoration:underline; text-underline-offset:2px; }
.entry-content a:hover{ color:#b45309; }
.entry-content a:active{ color:#c2410c; }

/* ---------------------------------------------------------------------------
   Passe 5 du 22/09/2026 : la navigation debordait du cadre entre 601 et 880 px
   (3 px a 768 px, jusqu'a 87 px a 601 px). Reduction ciblee de la gouttiere et
   de la taille des libelles dans cette seule plage. Aucun effet au dela de
   880 px ni sous 601 px, ou le menu mobile prend le relais.
   --------------------------------------------------------------------------- */
@media (min-width: 601px) and (max-width: 880px) {
  .main-navigation .main-nav > ul { gap: 2px !important; }
  .main-navigation .main-nav ul li a { padding: 10px 10px !important; font-size: .78rem !important; }
  .main-navigation .main-nav ul li:last-child a { margin-left: 3px !important; padding: 0 12px !important; }
}

/* Passe 5, complement : sous 700 px il restait 6 a 16 px de debordement avec la
   seule reduction de la plage 601-880. Gouttiere encore reduite dans la bande
   etroite, sans toucher a la taille des libelles. */
@media (min-width: 601px) and (max-width: 700px) {
  .main-navigation .main-nav ul li a { padding: 10px 8px !important; }
  .main-navigation .main-nav ul li:last-child a { padding: 0 10px !important; margin-left: 2px !important; }
}

/* Passe 5, dernier ajustement : 1 px de debordement subsistait a 601 px.
   Suppression de l'espacement entre entrees dans la bande 601-700 px. */
@media (min-width: 601px) and (max-width: 700px) {
  .main-navigation .main-nav > ul { gap: 0 !important; }
}
