/* ==========================================================================
   Page assurance de prêt (refonte 2026) : hero, arguments, loi Lemoine, FAQ
   Charte : bleu marine #0a326f, dégradé violet #6b40bf -> #cd3499, turquoise #00a896
   ========================================================================== */
.adp {
  color: #173753;
  font-family: "Nunito", sans-serif; }

.adp-hero {
  padding: 28px 16px 8px; }

.adp-h1 {
  font-family: "Nunito", sans-serif;
  font-weight: 900;
  font-size: 34px;
  color: #0a326f;
  margin-bottom: 8px; }

.adp-sous-titre {
  font-size: 19px;
  color: #0b8ad7;
  margin: 0 auto 22px;
  max-width: 760px; }

.adp-sous-titre strong {
  color: #0a326f; }

.adp-pastilles {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin: 0; }

.adp-pastilles li {
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
  background: #fff;
  border-radius: 16px;
  padding: 12px 18px;
  box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.08);
  font-size: 14px;
  line-height: 1.35;
  color: #50646e; }

.adp-pastilles strong {
  color: #0a326f;
  font-size: 16px; }

.adp-pastille-icone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(90deg, #6b40bf 0%, #cd3499 100%);
  color: #fff;
  font-size: 18px;
  font-weight: 800; }

.adp-pastille-chiffre {
  font-size: 16px; }

.adp-section {
  padding-top: 56px;
  padding-bottom: 8px; }

.adp-h2 {
  font-family: "Nunito", sans-serif;
  font-weight: 900;
  font-size: 28px;
  color: #0a326f; }

.adp-surtitre {
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
  font-size: 14px;
  color: #cd3499;
  margin-bottom: 4px; }

.adp-intro {
  font-size: 18px;
  color: #50646e;
  max-width: 720px;
  margin: 8px auto 0; }

.adp-carte {
  background: #fff;
  border-radius: 20px;
  padding: 28px 26px;
  box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.08);
  border: 2px solid transparent; }

.adp-carte-accent {
  border-color: #cd3499; }

.adp-carte-icone {
  height: 48px;
  width: auto;
  margin-bottom: 14px; }

.adp-carte h3,
.adp-etape h3 {
  font-size: 21px;
  font-weight: 800;
  color: #0a326f;
  margin-bottom: 8px; }

.adp-carte p,
.adp-etape p {
  font-size: 16px;
  line-height: 1.55;
  color: #50646e;
  margin-bottom: 0; }

.adp-carte strong {
  color: #0a326f; }

.adp-logos-titre {
  font-weight: 800;
  font-size: 20px;
  color: #0a326f; }

.adp-lemoine {
  background: #f3f6ff;
  margin-top: 56px;
  padding-bottom: 48px; }

.adp-etape {
  position: relative;
  background: #fff;
  border-radius: 20px;
  padding: 30px 24px 24px; }

.adp-etape-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: linear-gradient(90deg, #6b40bf 0%, #cd3499 100%);
  color: #fff;
  font-weight: 900;
  font-size: 18px;
  margin-bottom: 12px; }

.adp-cta {
  display: inline-block;
  padding: 10px 32px;
  border-radius: 30px;
  background: linear-gradient(90deg, #6b40bf 0%, #cd3499 100%);
  color: #fff !important;
  font-weight: 800;
  font-size: 19px;
  text-decoration: none; }

/* Survol réservé aux appareils avec souris : sur mobile, l'état survolé resterait bloqué après un toucher */
@media (hover: hover) {
  .adp-cta:hover {
    box-shadow: inset 0px 0px 0px 2px #9d3aab;
    background: #fff;
    color: #cd3499 !important;
    transition: .3s; } }

.adp-lien {
  color: #0b8ad7;
  font-weight: 700; }

.adp-liste {
  list-style: none;
  padding-left: 0;
  margin-top: 16px; }

.adp-liste li {
  position: relative;
  padding-left: 34px;
  margin-bottom: 14px;
  font-size: 17px;
  line-height: 1.5;
  color: #50646e; }

.adp-liste li strong {
  color: #0a326f; }

.adp-liste li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 1px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #00a896;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
  line-height: 22px; }

.adp-liste-info li::before {
  content: "i";
  background: #0b8ad7;
  font-style: italic; }

.adp-faq-liste {
  max-width: 860px;
  margin: 20px auto 0; }

.adp-faq details {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.07);
  margin-bottom: 12px;
  padding: 0 22px; }

.adp-faq summary {
  cursor: pointer;
  list-style: none;
  padding: 18px 30px 18px 0;
  font-weight: 800;
  font-size: 17px;
  color: #0a326f;
  position: relative; }

.adp-faq summary::-webkit-details-marker {
  display: none; }

.adp-faq summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 12px;
  font-size: 26px;
  color: #cd3499; }

.adp-faq details[open] summary::after {
  content: "–"; }

.adp-faq details p {
  font-size: 16px;
  line-height: 1.6;
  color: #50646e;
  padding-bottom: 18px;
  margin: 0; }

.adp-cta-final {
  background: linear-gradient(90deg, #6b40bf 0%, #cd3499 100%);
  border-radius: 24px;
  padding: 40px 20px;
  color: #fff; }

.adp-cta-final h2 {
  font-weight: 900;
  font-size: 28px;
  color: #fff; }

.adp-cta-final p {
  font-size: 18px;
  margin-bottom: 20px; }

.adp-cta-blanc {
  background: #fff;
  color: #9d3aab !important; }

@media (hover: hover) {
  .adp-cta-blanc:hover {
    background: transparent;
    box-shadow: inset 0px 0px 0px 2px #fff;
    color: #fff !important; } }

@media (max-width: 767px) {
  .adp-hero {
    padding-top: 16px; }
  .adp-h1 {
    font-size: 25px; }
  .adp-sous-titre {
    font-size: 16px;
    margin-bottom: 16px; }
  .adp-pastilles {
    gap: 8px; }
  .adp-pastilles li {
    padding: 6px 12px 6px 6px;
    gap: 8px;
    border-radius: 30px; }
  .adp-pastilles strong {
    font-size: 14px; }
  .adp-pastille-detail {
    display: none; }
  .adp-pastille-icone {
    flex-basis: 28px;
    width: 28px;
    height: 28px;
    font-size: 13px; }
  .adp .avis-google {
    margin-left: 0 !important;
    margin-right: 8px; }
  .adp-h2,
  .adp-cta-final h2 {
    font-size: 23px; }
  .adp-section {
    padding-top: 40px; }
  .adp-cta {
    font-size: 17px;
    padding: 10px 22px; } }


/* ==========================================================================
   Passe design (sept. 2026) : pictos, logos, avis, lisibilité, bouton mobile
   ========================================================================== */
.adp-carte p,
.adp-etape p,
.adp-intro,
.adp-faq details p {
  font-size: 17px;
  color: #3d5262; }

.adp-pastilles li {
  color: #3d5262; }

.adp-carte-picto {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: linear-gradient(135deg, #6b40bf 0%, #cd3499 100%);
  margin-bottom: 16px;
  box-shadow: 0 6px 16px rgba(157, 58, 171, 0.25); }

.adp-logos {
  padding-top: 8px; }

.adp-logos .adp-logos-titre {
  font-size: 15px;
  font-weight: 700;
  color: #6086a2;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 10px; }

.adp-logos img {
  max-width: 820px;
  width: 100%; }

.adp-stat,
.adp-temoignage {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.08);
  padding: 26px 24px;
  text-align: center; }

.adp-stat-chiffre {
  font-family: "Nunito", sans-serif;
  font-weight: 900;
  font-size: 44px;
  line-height: 1.1;
  color: #0a326f;
  margin-bottom: 6px; }

.adp-stat-chiffre img {
  vertical-align: -3px; }

.adp-stat-libelle {
  font-size: 17px;
  color: #3d5262;
  margin-bottom: 8px; }

.adp-stat-note {
  font-size: 13px;
  color: #6086a2;
  margin: 10px 0 0; }

.adp-temoignage {
  text-align: left; }

/* Le diaporama place les avis en absolu : on réserve la hauteur du plus long (220 caractères max) */
.adp-temoignage #lesCommentaires {
  position: relative;
  width: 100% !important;
  min-height: 150px; }

.adp-temoignage .unAvisClientIndex {
  width: 100% !important;
  background: #fff; }

.adp-temoignage-texte {
  font-size: 18px;
  line-height: 1.55;
  color: #173753;
  font-style: italic;
  margin-bottom: 10px; }

.adp-temoignage-auteur {
  font-size: 15px;
  color: #6086a2;
  margin: 0; }

.adp-cta-mobile {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 -4px 18px rgba(0, 0, 0, 0.12);
  text-align: center;
  transform: translateY(110%);
  transition: transform .25s ease; }

.adp-cta-mobile.adp-cta-mobile-visible {
  transform: translateY(0); }

/* Le rond Cookiebot remonte au-dessus de la barre quand elle est affichée */
body.adp-cta-mobile-actif #CookiebotWidget {
  bottom: 84px !important;
  transition: bottom .25s ease; }

.adp-cta-mobile .adp-cta {
  display: block;
  width: 100%; }

@media (max-width: 767px) {
  .adp-carte p,
  .adp-etape p,
  .adp-intro,
  .adp-faq details p {
    font-size: 16px; }
  .adp-stat-chiffre {
    font-size: 38px; }
  .adp-temoignage-texte {
    font-size: 16px; }
  .adp-temoignage #lesCommentaires {
    min-height: 210px; }
  .footersombre {
    padding-bottom: 90px; } }

/* Signature, date de mise à jour et bloc auteur (GEO, sept. 2026) */
.adp-signature {
  font-size: 14px;
  color: #50646e;
  margin: 18px 0 0; }

.adp-signature a,
.adp-auteur a {
  color: #0a326f;
  font-weight: 700; }

.adp-auteur {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  max-width: 860px;
  margin: 0 auto;
  background: #fff;
  border-radius: 20px;
  padding: 22px 24px;
  box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.08); }

.adp-auteur-initiales {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(90deg, #6b40bf 0%, #cd3499 100%);
  color: #fff;
  font-size: 20px;
  font-weight: 900; }

.adp-auteur-nom {
  font-size: 17px;
  font-weight: 800;
  color: #0a326f;
  margin-bottom: 4px; }

.adp-auteur-texte {
  font-size: 15px;
  line-height: 1.55;
  color: #50646e;
  margin-bottom: 4px; }

/* Réponse courte en haut de page et section loi Lemoine sourcée */
.adp-reponse {
  font-size: 16px;
  line-height: 1.6;
  color: #50646e;
  max-width: 760px;
  margin: 22px auto 0; }

.adp-loi-liste {
  max-width: 860px;
  margin: 24px auto 0; }

.adp-sources {
  max-width: 860px;
  margin: 8px auto 0;
  font-size: 13px;
  line-height: 1.6;
  color: #50646e; }

.adp-sources a {
  color: #0b8ad7; }

/* Tableau comparatif assurance de la banque / délégation */
.adp-tableau-conteneur {
  max-width: 960px;
  margin: 24px auto 0;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.08);
  overflow: hidden; }

.adp-tableau {
  width: 100%;
  border-collapse: collapse;
  font-size: 16px;
  line-height: 1.5;
  color: #50646e; }

.adp-tableau th,
.adp-tableau td {
  padding: 14px 18px;
  vertical-align: top;
  border-bottom: 1px solid #e8ecf5; }

.adp-tableau thead th {
  background: linear-gradient(90deg, #6b40bf 0%, #cd3499 100%);
  color: #fff;
  font-weight: 800;
  font-size: 17px; }

.adp-tableau-precision {
  display: block;
  font-weight: 400;
  font-size: 14px; }

.adp-tableau tbody th {
  color: #0a326f;
  font-weight: 800;
  width: 24%; }

.adp-tableau tbody tr:last-child th,
.adp-tableau tbody tr:last-child td {
  border-bottom: 0; }

.adp-tableau-commun {
  font-weight: 700; }

@media (max-width: 767px) {
  .adp-tableau thead {
    display: none; }
  .adp-tableau,
  .adp-tableau tbody,
  .adp-tableau tr,
  .adp-tableau th,
  .adp-tableau td {
    display: block;
    width: 100%; }
  .adp-tableau tbody th {
    background: #f3f6ff;
    width: 100%; }
  .adp-tableau td {
    border-bottom: 0;
    padding-top: 6px;
    padding-bottom: 6px; }
  .adp-tableau td::before {
    display: block;
    font-weight: 800;
    font-size: 13px;
    color: #9d3aab; }
  .adp-tableau td:nth-of-type(1)::before {
    content: "Assurance de la banque"; }
  .adp-tableau td:nth-of-type(2)::before {
    content: "Délégation d’assurance"; }
  .adp-tableau td.adp-tableau-commun::before {
    content: "Dans les deux cas"; }
  .adp-tableau tr {
    padding-bottom: 8px; } }

.adp .adp-tableau th,
.adp .adp-tableau td {
  text-align: left; }

.adp .adp-tableau thead th {
  background: #6b40bf; }

.adp .adp-tableau td.adp-tableau-commun {
  text-align: center; }

/* Exemples de tarifs */
.adp .adp-tableau-tarifs td {
  font-weight: 700;
  color: #0a326f; }

.adp .adp-tableau-tarifs td.adp-tableau-economie {
  color: #9d3aab; }

.adp-tableau-tarifs .adp-tableau-precision {
  font-weight: 400; }

@media (max-width: 767px) {
  .adp .adp-tableau-tarifs td::before {
    content: attr(data-libelle); } }
