/* Lot 1 : accueil, notre-approche, expert, contact, ressources, ressource, en-tête, pied de page, CTA, 404, pages légales */

/* ---------- Notre approche : frise « Notre histoire », flèches posées au bout de la ligne pointillée ---------- */
.dp-frise .lt-nav { top: 0; box-shadow: 0 0 0 8px var(--dp-blanc); padding: 0 !important; border: 0 !important; }
.dp-frise .lt-nav svg { width: 22px; height: 22px; }
.dp-frise .lt-next { right: 28px; }
.dp-frise .lt-prev { left: auto; right: calc(var(--lt-arrow-size, 48px) + 44px); }
.dp-frise .lt-nav.swiper-button-disabled { opacity: 0; }

/* ---------- Ressources : H1 sur une ligne, encart « Des formats variés » à 459 px ---------- */
@media (min-width: 1025px) {
  .dp-hero-ressources .dp-hero-gauche.e-con { --width: auto; flex: 1 1 auto; min-width: 0; }
  .dp-hero-ressources h1 { white-space: nowrap; }
  .dp-hero-ressources .dp-hero-info.e-con { width: 459px !important; min-width: 0; flex: 0 0 459px; }
  .dp-hero-ressources .dp-hero-info .elementor-heading-title,
  .dp-hero-ressources .dp-hero-info .elementor-widget-text-editor { white-space: normal; }
}

/* ---------- Contact : mention sous le bouton à 16 px ---------- */
.dp-form-mention p { font-size: 1rem; color: rgba(0, 24, 53, .6); }

/* ---------- Fiche expert : « Les autres experts », dernière carte centrée (tablette), 2 colonnes compactes (mobile) ---------- */
@media (max-width: 1024px) {
  .dp-grille-experts .elementor-loop-container { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 24px; }
  .dp-grille-experts .elementor-loop-container > .e-loop-item { flex: 0 0 calc((100% - 48px) / 3); max-width: calc((100% - 48px) / 3); }
}
@media (max-width: 767px) {
  .dp-grille-experts .elementor-loop-container { gap: 12px; }
  .dp-grille-experts .elementor-loop-container > .e-loop-item { flex-basis: calc((100% - 12px) / 2); max-width: calc((100% - 12px) / 2); }
  .dp-grille-experts .dp-carte-expert.e-con { --min-height: 300px; min-height: 300px; background-position: center 15% !important; --padding-top: 6px; --padding-right: 6px; --padding-bottom: 6px; --padding-left: 6px; }
  .dp-grille-experts .dp-carte-expert-infos.e-con { --padding-top: 12px; --padding-right: 12px; --padding-bottom: 12px; --padding-left: 12px; --gap: 6px; }
  .dp-grille-experts .dp-carte-expert-nom .elementor-heading-title { font-size: 1.125rem !important; }
  .dp-grille-experts .dp-carte-expert-role .elementor-heading-title { font-size: 1rem !important; line-height: 1.3; }
  .dp-grille-experts .dp-rond-fleche { transform: scale(.85); transform-origin: top right; }
}

/* ---------- Accueil : chiffres clés côte à côte en mobile ---------- */
@media (max-width: 767px) {
  .dp-stats.e-con { --flex-direction: row; flex-direction: row !important; flex-wrap: nowrap; align-items: stretch; }
  .dp-stats > .dp-stat.e-con { --width: auto; width: auto !important; flex: 1 1 0; min-width: 0; padding: 16px 14px !important; }
  .dp-stats.e-con { width: 100% !important; margin-right: 0 !important; }
  .dp-stat .elementor-heading-title { white-space: nowrap; letter-spacing: .04em; }
}

/* ---------- Heros : le voile d'Elementor (::before) couvre toute la largeur, quelle que soit la taille de la grille décorative ---------- */
.dp-hero::before { background-size: 100% 100%; }

/* ---------- Bloc CTA : chevauche la réserve de la dernière section (rôle « cta » : 256 / 200 / 160 px) ---------- */
.elementor-location-footer .pb-cta-zone.e-con { margin-top: -130px; }
@media (max-width: 1024px) { .elementor-location-footer .pb-cta-zone.e-con { margin-top: -100px; } }
@media (max-width: 767px) { .elementor-location-footer .pb-cta-zone.e-con { margin-top: -80px; } }
.pb-cta-zone { background: linear-gradient(180deg, var(--dp-cta-dessus, transparent) calc(100% - 126px), var(--dp-bleu-fonce) calc(100% - 126px)) !important; }

/* ---------- Contact : coordonnées plus serrées (pas de 89 px), 2 colonnes en tablette ---------- */
.dp-liste-coord > .e-con + .e-con { padding-top: 14px; }
@media (min-width: 768px) and (max-width: 1024px) {
  .dp-liste-coord.e-con { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; }
  .dp-liste-coord > .e-con:nth-child(2) { padding-top: 0; border-top: 0; }
}

/* ---------- Filtres de taxonomie : libellés à 16 px ---------- */
.pb-filtres .e-filter-item { font-size: 1rem !important; }

/* ---------- Fiche article ---------- */
.elementor-widget-shortcode:has(> .elementor-shortcode:empty) { display: none; }
.dp-insecable { white-space: nowrap; }
@media (max-width: 1024px) {
  .pb-colonne-sommaire.e-con, .pb-colonne-sommaire + .e-con { width: 100%; max-width: 760px; margin-inline: auto; }
}
@media (min-width: 900px) and (max-width: 1024px) {
  .dp-grille-poursuivre .elementor-loop-container { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; column-gap: 20px !important; }
}
@media (min-width: 768px) and (max-width: 899px) {
  .dp-grille-poursuivre .elementor-loop-container > .e-loop-item ~ .e-loop-item ~ .e-loop-item { display: none; }
}
.dp-aller-loin-icone .dp-pastille-enjeu { flex: 0 0 88px; width: 88px; height: 88px; border: 0; border-radius: 0; background: none; }
@media (min-width: 768px) and (max-width: 1024px) {
  .pb-sommaire.elementor-toc--collapsed .elementor-toc__toggle-button--expand,
  .pb-sommaire:not(.elementor-toc--collapsed) .elementor-toc__toggle-button--collapse { display: flex !important; }
  .pb-sommaire { padding: 24px 32px; }
  .pb-sommaire.elementor-toc--collapsed .elementor-toc__header { padding-bottom: 0 !important; border-bottom: 0 !important; }
  .pb-sommaire .elementor-toc__toggle-button svg { fill: var(--dp-bleu); width: 18px; height: 18px; }
}
.elementor-location-footer .pb-cta-zone.e-con:not(:has(.pb-cta-global)) { margin-top: 0 !important; }

/* ---------- Petits écrans d'ordinateur (1025 à 1180 px) : pas de bloc à largeur fixe qui déborde ---------- */
.dp-avantages.e-con { max-width: 100%; }

/* ---------- Fiche expert : photo à x 970 (bord droit à 164 px du bord de page), version compacte de 1025 à 1240 px ---------- */
@media (min-width: 1025px) { .dp-hero-expert > .e-con-inner { padding-right: 70px !important; } }
@media (min-width: 1025px) and (max-width: 1240px) {
  .dp-hero-expert > .e-con-inner { padding-right: 0 !important; }
  .dp-hero-expert .dp-hero-expert-droite img { width: 300px !important; height: 300px !important; }
  .dp-expert-infos { width: 180px; }
}
@media (max-width: 767px) {
  .dp-expert-info { padding: 16px !important; }
  .dp-expert-info strong { font-size: 1.25rem; white-space: nowrap; }
}

/* ---------- Surtitres sur 2 lignes (mobile) : la pastille reste collée au premier mot ---------- */
@media (max-width: 767px) {
  .pb-surtitre .elementor-heading-title { display: inline-block; line-height: 1.4; }
  .pb-surtitre .elementor-heading-title::before { display: inline-block; margin-right: 10px; vertical-align: .1em; }
}

/* ---------- Notre approche : citations de la méthode empilées sous 900 px ---------- */
@media (max-width: 900px) {
  .pb-rangee-2.e-con:has(> .dp-carte-citation-grande) { flex-direction: column !important; }
  .pb-rangee-2.e-con:has(> .dp-carte-citation-grande) > .e-con { flex: 0 0 auto !important; width: 100% !important; }
}

/* ---------- Accueil : les deux petites cartes d'actualité ont la même hauteur ---------- */
@media (min-width: 1025px) {
  .dp-grille-suite .elementor-loop-container { grid-auto-rows: 1fr; height: 100%; }
  .dp-grille-suite .e-loop-item, .dp-grille-suite .e-loop-item > .e-con { height: 100%; }
}
.dp-pointille-outils { right: -119px; }

/* ---------- Passe 3 : fiche article, ressources, contact ---------- */
.pb-contenu-article :is(h2, h3, h4) strong { color: inherit; font-weight: inherit; }
a.dp-etiquette-hero, a.dp-etiquette-hero:hover { color: #FDFDFB !important; }
@media (max-width: 767px) { .dp-date-article { font-size: 1rem; color: #FDFDFB; } }
@media (max-width: 1024px) { .pb-colonne-sommaire.e-con, .pb-colonne-sommaire + .e-con { margin-inline: 0; } }
@media (min-width: 768px) and (max-width: 899px) {
  .dp-grille-poursuivre .elementor-loop-container > .e-loop-item { display: block !important; }
  .dp-grille-poursuivre .elementor-loop-container > .e-loop-item ~ .e-loop-item ~ .e-loop-item { display: none !important; }
}
@media (min-width: 1025px) { .dp-carte-actu--h .elementor-heading-title { font-size: 1.125rem !important; line-height: 1.3 !important; } }
.dp-form-contact .elementor-select-wrapper::before { content: "" !important; width: 12px; height: 7px; background: url("../img/lot-1/form-select-chevron.svg") center / contain no-repeat; opacity: .7; font-size: 0 !important; color: transparent !important; text-shadow: none !important; }
.dp-form-contact .select-caret-down-wrapper { display: none !important; }
