/*
Theme Name: Diaspora & Patrimoine
Template: astra
Author: La Redaction
Description: Habillage navy + terracotta (savoir-faire Vuexy) pour Diaspora & Patrimoine — thème enfant d'Astra. Crée aussi le menu principal et retire le crédit Astra à l'activation.
Version: 2.4
*/

@import url('https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,600&display=swap');

:root{
  --dp-navy:#0e5045; --dp-navy-d:#083a32; --dp-navy-l:#188066;
  --dp-accent:#c0573a; --dp-accent-d:#a3462c; --dp-accent-subtle:#f9ece5;
  --dp-ink:#26332f; --dp-ink-soft:#5f6b66; --dp-muted:#8f9793;
  --dp-bg:#f6f5ef; --dp-card:#ffffff; --dp-rule:#e5e6df; --dp-rule-2:#dcdedb;
  --dp-serif:"Iowan Old Style","Palatino Linotype",Palatino,Charter,Georgia,serif;
  --dp-sans:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --dp-r-sm:.375rem; --dp-r:.625rem; --dp-r-pill:50rem;
  --dp-sh-sm:0 .125rem .5rem rgba(47,51,73,.08);
  --dp-sh:0 .25rem 1rem rgba(47,51,73,.10);
  --dp-sh-lg:0 .75rem 2rem rgba(47,51,73,.16);
  --ast-global-color-0:#0e5045; --ast-global-color-1:#083a32;
}
body{ background:var(--dp-bg); color:var(--dp-ink); font-family:var(--dp-sans); -webkit-font-smoothing:antialiased; letter-spacing:-.003em; }
.ast-container{ max-width:1240px; }
a{ color:var(--dp-navy); text-underline-offset:2px; transition:color .18s ease; }
a:hover{ color:var(--dp-accent-d); }
h1,h2,h3,h4,.entry-title,.site-title,.wp-block-post-title,.widget-title,.ast-archive-title{
  font-family:var(--dp-serif); color:var(--dp-navy); letter-spacing:-.015em; }
h1,.entry-title{ line-height:1.13; font-weight:800; }
.entry-content h2{ font-size:1.62em; margin:2.1em 0 .7em; }
.entry-content h3{ font-size:1.28em; margin:1.6em 0 .5em; font-style:italic; color:var(--dp-navy-l); }
/* Astra pose une couleur de titre dynamique (#1e293b) qui écrase la nôtre sur
   les articles : on reprend la main avec une spécificité supérieure. */
.single .entry-content h2, .ast-single-post .entry-content h2{ color:var(--dp-navy) !important; }
.single .entry-content h3, .ast-single-post .entry-content h3{ color:var(--dp-navy-l) !important; }
.entry-content p{ line-height:1.8; }
.site-header, .main-header-bar{ background:#fff !important; border-bottom:1px solid var(--dp-rule); }
.ast-sticky-active .main-header-bar, .site-header.ast-header-sticked{ box-shadow:var(--dp-sh); }
.site-title{ font-size:1.55rem !important; }
.site-title a{ color:var(--dp-navy) !important; font-weight:800; }
.site-title a:hover{ color:var(--dp-accent-d) !important; }
.site-description{ color:var(--dp-ink-soft); font-style:italic; }
.main-header-menu .menu-link{
  font-family:var(--dp-sans); font-size:.82rem !important; font-weight:600;
  text-transform:uppercase; letter-spacing:.06em; color:var(--dp-ink) !important;
  padding-left:1.1em !important; padding-right:1.1em !important; position:relative; }
.main-header-menu > .menu-item > .menu-link::after{
  content:""; position:absolute; left:1.1em; right:1.1em; bottom:.55em; height:2px;
  background:var(--dp-accent); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; border-radius:2px; }
.main-header-menu > .menu-item:hover > .menu-link::after,
.main-header-menu > .current-menu-item > .menu-link::after,
.main-header-menu > .current-menu-ancestor > .menu-link::after{ transform:scaleX(1); }
.main-header-menu > .menu-item:hover > .menu-link,
.main-header-menu > .current-menu-item > .menu-link{ color:var(--dp-navy) !important; }
.main-header-menu .sub-menu{ border:1px solid var(--dp-rule-2) !important; border-top:3px solid var(--dp-accent) !important;
  box-shadow:var(--dp-sh-lg); border-radius:0 0 var(--dp-r) var(--dp-r); padding:.4em 0; }
.main-header-menu .sub-menu .menu-link{ text-transform:none; letter-spacing:0; font-size:.9rem !important; font-weight:500; }
.main-header-menu .sub-menu .menu-item:hover > .menu-link{ background:var(--dp-bg); color:var(--dp-navy) !important; }
.wp-block-button__link, .ast-button, .menu-button .menu-link, button, input[type=submit], button.wp-block-search__button{
  background:var(--dp-navy) !important; border-color:var(--dp-navy) !important; color:#fff !important;
  border-radius:var(--dp-r-sm) !important; font-family:var(--dp-sans); font-weight:600; letter-spacing:.01em;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease; }
.wp-block-button__link:hover, .ast-button:hover, button:hover, input[type=submit]:hover{
  background:var(--dp-navy-d) !important; transform:translateY(-1px); box-shadow:var(--dp-sh); }
/* Bouton hamburger mobile : PAS un carré navy — fond transparent, icône navy sur en-tête blanc */
.menu-toggle, button.menu-toggle, .main-header-menu-toggle, .ast-mobile-menu-trigger-fill, .ast-mobile-menu-trigger-minimal{
  background:transparent !important; border:none !important; box-shadow:none !important; color:var(--dp-navy) !important; }
.menu-toggle:hover, .ast-mobile-menu-trigger-fill:hover{ background:transparent !important; transform:none !important; }
.menu-toggle .ast-mobile-svg, .main-header-menu-toggle svg, .ast-mobile-menu-trigger-fill svg{ fill:var(--dp-navy) !important; }
.ast-separate-container .ast-article-post, .ast-separate-container .ast-article-single{
  border:1px solid var(--dp-rule-2); border-radius:var(--dp-r); box-shadow:var(--dp-sh-sm);
  transition:transform .2s ease, box-shadow .2s ease; overflow:hidden; }
.ast-separate-container .ast-article-post:hover{ transform:translateY(-4px); box-shadow:var(--dp-sh-lg); }
.entry-title a{ color:var(--dp-navy); }
.entry-title a:hover{ color:var(--dp-accent-d); }
.ast-blog-single-element.ast-read-more-container a, .read-more a{
  color:var(--dp-accent-d); font-weight:700; text-transform:uppercase; letter-spacing:.05em; font-size:.8em; text-decoration:none; }
/* Badges de catégorie : une couleur PROPRE et DISTINCTE par catégorie
   (6 couleurs, aucune répétition), l'or est totalement retiré de cet
   élément (il reste utilisé ailleurs : boutons, liens). Palette élargie
   mais toujours sobre/premium — pas de jaune, pas de couleur criarde. */
:root{
  --dp-navy-subtle:#e2f0ec;
  --dp-teal:#188066;        --dp-teal-subtle:#e4f1ec;
  --dp-bronze:#7a4a2f;      --dp-bronze-subtle:#f1e6da;
  --dp-plum:#6b3f5e;        --dp-plum-subtle:#ece2ea;
  --dp-slate:#3d5a73;       --dp-slate-subtle:#e1ebf1;
}
.ast-terms-link a, .cat-links a, .ast-taxonomy-container a{
  display:inline-block; font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; font-weight:700;
  color:var(--dp-bronze) !important; background:var(--dp-bronze-subtle); padding:.28em .8em; border-radius:var(--dp-r-pill);
  text-decoration:none; line-height:1.4; }
.ast-terms-link a:hover, .cat-links a:hover{ background:var(--dp-bronze); color:#fff !important; }

.ast-terms-link a[href*="entreprendre"], .cat-links a[href*="entreprendre"]{
  color:var(--dp-accent-d) !important; background:var(--dp-accent-subtle); }
.ast-terms-link a[href*="entreprendre"]:hover, .cat-links a[href*="entreprendre"]:hover{
  background:var(--dp-accent); color:#fff !important; }

.ast-terms-link a[href*="investir-au-pays"], .cat-links a[href*="investir-au-pays"]{
  color:var(--dp-navy) !important; background:var(--dp-navy-subtle); }
.ast-terms-link a[href*="investir-au-pays"]:hover, .cat-links a[href*="investir-au-pays"]:hover{
  background:var(--dp-navy); color:#fff !important; }

.ast-terms-link a[href*="finances-perso-diaspora"], .cat-links a[href*="finances-perso-diaspora"]{
  color:var(--dp-bronze) !important; background:var(--dp-bronze-subtle); }
.ast-terms-link a[href*="finances-perso-diaspora"]:hover, .cat-links a[href*="finances-perso-diaspora"]:hover{
  background:var(--dp-bronze); color:#fff !important; }

.ast-terms-link a[href*="immobilier-diaspora"], .cat-links a[href*="immobilier-diaspora"]{
  color:var(--dp-teal) !important; background:var(--dp-teal-subtle); }
.ast-terms-link a[href*="immobilier-diaspora"]:hover, .cat-links a[href*="immobilier-diaspora"]:hover{
  background:var(--dp-teal); color:#fff !important; }

.ast-terms-link a[href*="retour-au-pays"], .cat-links a[href*="retour-au-pays"]{
  color:var(--dp-plum) !important; background:var(--dp-plum-subtle); }
.ast-terms-link a[href*="retour-au-pays"]:hover, .cat-links a[href*="retour-au-pays"]:hover{
  background:var(--dp-plum); color:#fff !important; }

.ast-terms-link a[href*="fiscalite-transferts"], .cat-links a[href*="fiscalite-transferts"]{
  color:var(--dp-slate) !important; background:var(--dp-slate-subtle); }
.ast-terms-link a[href*="fiscalite-transferts"]:hover, .cat-links a[href*="fiscalite-transferts"]:hover{
  background:var(--dp-slate); color:#fff !important; }
.ast-post-meta-container, .post-meta, .entry-meta, .ast-blog-meta-container{ color:var(--dp-muted); font-size:.82rem; }
.ast-post-meta-container a, .entry-meta a{ color:var(--dp-ink-soft); }
.posted-on, .ast-blog-single-element.ast-blog-meta-container .posted-on{ display:none !important; }
.entry-content blockquote{
  border:0; border-left:4px solid var(--dp-accent); background:var(--dp-accent-subtle);
  margin:1.8em 0; padding:1.1em 1.4em; border-radius:0 var(--dp-r) var(--dp-r) 0;
  font-family:var(--dp-serif); font-style:italic; color:var(--dp-accent-d); font-size:1.08em; box-shadow:var(--dp-sh-sm); }
.entry-content ul li::marker, .entry-content ol li::marker{ color:var(--dp-accent-d); }
.entry-content figure img, .wp-block-image img{ border-radius:var(--dp-r); box-shadow:var(--dp-sh); }
.single .entry-content > p:first-of-type{ font-size:1.12em; color:var(--dp-ink); }
.widget-title, .widget .wp-block-heading{
  font-size:1.05rem !important; padding-bottom:.5rem; margin-bottom:1rem;
  border-bottom:2px solid var(--dp-rule); position:relative; }
.widget-title::after{ content:""; position:absolute; left:0; bottom:-2px; width:44px; height:2px; background:var(--dp-accent); border-radius:2px; }
input[type=text], input[type=email], input[type=search], input[type=url], textarea, select, .wp-block-search__input{
  border:1px solid var(--dp-rule-2) !important; border-radius:var(--dp-r-sm) !important; background:#fff;
  font-family:var(--dp-sans); color:var(--dp-ink); }
input:focus, textarea:focus, select:focus{ border-color:var(--dp-navy) !important; box-shadow:0 0 0 3px rgba(14,80,69,.12) !important; outline:none; }
.site-footer, .ast-small-footer, .footer-adv{ background:var(--dp-navy-d) !important; color:#cdd7e4; }
.ast-small-footer{ border-top:3px solid var(--dp-accent); padding:2em 1em !important; }
.site-footer a, .ast-small-footer a{ color:#e7c98a !important; }
.site-footer .widget-title{ color:#fff; border-color:rgba(255,255,255,.18); }
/* Footer responsive : colonnes empilées + centrées + pas de débordement (tablette/mobile) */
.site-footer, .ast-small-footer, .footer-adv{ max-width:100%; overflow-wrap:break-word; box-sizing:border-box; }
.site-footer *, .footer-adv *{ max-width:100%; box-sizing:border-box; }
@media (max-width:921px){
  .footer-adv .ast-container, .site-footer .ast-builder-grid-row, .ast-builder-footer-grid-columns{ display:block !important; }
  .site-footer [class*="ast-footer-widget"], .site-footer [class*="site-footer-focus-item"], .footer-adv .widget{
    width:100% !important; max-width:100% !important; flex:0 0 100% !important; text-align:center !important; margin:0 0 1.4em !important; }
  .ast-small-footer, .ast-small-footer .ast-container, .ast-small-footer .ast-builder-grid-row{
    display:flex !important; flex-direction:column !important; align-items:center !important; text-align:center !important; gap:.4em !important; }
  .ast-small-footer-section-1, .ast-small-footer-section-2{ width:100% !important; text-align:center !important; float:none !important; }
  .ast-small-footer{ padding:1.6em 1.1em !important; }
  .site-footer .widget-title::after{ left:50% !important; transform:translateX(-50%); }
}
/* Sélection de texte : vert émeraude (cohérent palette), plus d'or */
::selection{ background:#1a8a6e; color:#fff; }
::-moz-selection{ background:#1a8a6e; color:#fff; }

/* Accueil : le hero se suffit, on masque le titre de page « Accueil » */
.home .entry-header, .home h1.entry-title{ display:none !important; }

/* Pagination discrète : aucun numéro (le volume d'articles reste privé),
   seulement « Précédent / Suivant » stylés en pilules */
.ast-pagination a.page-numbers:not(.prev):not(.next),
.ast-pagination span.page-numbers{ display:none !important; }
.ast-pagination{ display:flex; justify-content:center; gap:1em; padding:1.2em 0; }
.ast-pagination .prev.page-numbers, .ast-pagination .next.page-numbers{
  display:inline-flex !important; align-items:center; gap:.45em;
  background:#fff; border:1px solid var(--dp-rule-2); border-radius:999px;
  padding:.6em 1.4em; color:var(--dp-navy) !important; font-weight:600;
  text-decoration:none !important; transition:background .15s, color .15s;
}
.ast-pagination .prev.page-numbers:hover, .ast-pagination .next.page-numbers:hover{
  background:var(--dp-navy); color:#fff !important; border-color:var(--dp-navy);
}

/* ══════════════════════════════════════════════════════════════
   Ergonomie : recherche instantanée, sommaire, temps de lecture,
   articles liés. Ajouté en v1.3.
   ══════════════════════════════════════════════════════════════ */

/* Recherche instantanée */
.dp-search{ position:relative; max-width:640px; margin:1.4em 0; }
.dp-search__input{
  width:100%; padding:.85em 1.1em; font-size:1rem;
  border:1px solid #d8d4c8; border-radius:999px; background:#fff;
  transition:border-color .15s, box-shadow .15s;
}
.dp-search__input:focus{
  outline:none; border-color:#0e5045;
  box-shadow:0 0 0 3px rgba(14,80,69,.12);
}
.dp-search__results{
  position:absolute; z-index:50; left:0; right:0; top:calc(100% + .4em);
  background:#fff; border:1px solid #e7e3d9; border-radius:12px;
  box-shadow:0 12px 30px rgba(0,0,0,.10); overflow:hidden;
}
/* Astra souligne tous les liens du contenu : on neutralise sur les resultats */
.dp-search__hit,
.entry-content .dp-search__hit,
.dp-search__hit:visited{
  display:flex; align-items:center; justify-content:space-between; gap:1em;
  padding:.8em 1.1em; text-decoration:none !important; color:inherit;
  border-bottom:1px solid #f1eee6;
}
.dp-search__hit *, .entry-content .dp-search__hit *{ text-decoration:none !important; }
.dp-search__hit:last-child{ border-bottom:0; }
.dp-search__hit:hover{ background:#f7f6f2; }
.dp-search__title{ color:#0e5045; font-weight:600; line-height:1.35; }
.dp-search__kind{
  flex:none; font-size:.7em; text-transform:uppercase; letter-spacing:.04em;
  color:#97959e; border:1px solid #e7e3d9; border-radius:999px; padding:2px 8px;
}
.dp-search__empty{ margin:0; padding:1em 1.1em; color:#6d6b77; font-size:.92em; }

/* Temps de lecture */
.dp-meta-lecture{
  font-size:.85em; color:#97959e; text-transform:uppercase;
  letter-spacing:.05em; margin:0 0 1.2em;
}

/* Sommaire */
.dp-toc{
  background:#f7f6f2; border:1px solid #e7e3d9; border-left:4px solid #c0573a;
  border-radius:0 10px 10px 0; padding:1.1em 1.4em; margin:0 0 2em;
}
.dp-toc__title{
  margin:0 0 .5em; font-weight:700; color:#0e5045;
  text-transform:uppercase; font-size:.78em; letter-spacing:.06em;
}
.dp-toc ol{ margin:0; padding-left:1.2em; }
.dp-toc li{ margin:.3em 0; }
.dp-toc a{ color:#2f3349; text-decoration:none; border-bottom:1px solid transparent; }
.dp-toc a:hover{ color:#0e5045; border-bottom-color:#c0573a; }

/* L'ancre ne doit pas passer sous l'en-tête collant */
.entry-content h2[id]{ scroll-margin-top:90px; }

/* Articles liés */
.dp-related{ margin:3em 0 1em; padding-top:1.5em; border-top:2px solid #e7e3d9; }
.dp-related h2{ margin-top:0; border:0; }
.dp-related__grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.1em;
}
.dp-related__card{
  display:block; text-decoration:none !important; color:inherit;
  border:1px solid #e7e3d9; border-radius:12px; padding:1.1em; background:#fff;
  transition:box-shadow .2s, transform .2s;
}
.dp-related__card:hover{ box-shadow:0 6px 18px rgba(14,80,69,.10); transform:translateY(-2px); }
.dp-related__card h3{
  margin:0 0 .4em; font-size:.98em; line-height:1.35;
  color:#0e5045 !important; text-decoration:none !important;
}
.dp-related__card p{ margin:0 0 .6em; font-size:.85em; color:#6d6b77; line-height:1.5; }
.dp-related__time{ font-size:.75em; color:#97959e; text-transform:uppercase; letter-spacing:.04em; }

@media (max-width:600px){
  .dp-search{ margin:1em 0; }
  .dp-toc{ padding:.9em 1.1em; }
}

/* ── Partage & note de méthode (v1.4) ────────────────────────── */
.dp-share{ display:flex; flex-wrap:wrap; gap:.55em; align-items:center; margin:2.2em 0 1.2em; }
.dp-share__label{
  font-size:.78em; text-transform:uppercase; letter-spacing:.06em;
  color:#97959e; margin-right:.3em;
}
/* Les <button> (Copier le lien, Partager…) héritaient du style global button
   (fond navy) : texte navy sur fond navy = invisible. On force fond blanc +
   bordure + texte navy avec !important pour battre la règle globale. */
.dp-share__btn,
.dp-share button.dp-share__btn{
  font:inherit; font-size:.85em; font-weight:600; cursor:pointer;
  padding:.5em 1.1em !important; border-radius:999px !important;
  border:1px solid #d8d4c8 !important;
  background:#fff !important; color:#0e5045 !important;
  text-decoration:none !important; text-transform:none !important;
  letter-spacing:0 !important; box-shadow:none !important;
  transition:background .15s, color .15s, border-color .15s, transform .15s;
}
.dp-share__btn:hover{ transform:translateY(-1px); }
.dp-share__btn--whatsapp:hover{ background:#25d366 !important; border-color:#25d366 !important; color:#fff !important; }
.dp-share__btn--facebook:hover{ background:#1877f2 !important; border-color:#1877f2 !important; color:#fff !important; }
.dp-share__btn--mail:hover,
.dp-share button.dp-share__btn--copy:hover,
.dp-share button.dp-share__btn--natif:hover{ background:#0e5045 !important; border-color:#0e5045 !important; color:#fff !important; transform:translateY(-1px); }

/* Note de méthode : sobre, pas un encadré publicitaire */
.dp-methode{
  border-top:1px solid #e7e3d9; border-bottom:1px solid #e7e3d9;
  padding:1.3em 0; margin:2em 0; color:#6d6b77;
}
.dp-methode h2{
  font-size:1.02em !important; margin:0 0 .5em !important;
  border:0 !important; padding:0 !important;
  text-transform:uppercase; letter-spacing:.05em; color:#97959e !important;
}
.dp-methode p{ font-size:.9em; line-height:1.65; margin:0 0 .6em; }
.dp-methode p:last-child{ margin-bottom:0; }

@media (max-width:520px){
  .dp-share{ gap:.4em; }
  .dp-share__btn{ flex:1 1 auto; text-align:center; }
}
