/* =====================================================================
   Mutuelle dentaire — gabarit dédié (v1.91.0)
   Les pictogrammes en ligne portent une taille explicite dans le gabarit ;
   la règle de garde ci-dessous evite qu'un SVG oublié n'occupe toute la
   largeur disponible si cette feuille arrive avant le balisage.
   ===================================================================== */
.hi-dt-page{--dt-encre:#0f2250;--dt-bleu:#1d4ed8;--dt-bleu-clair:#eef4ff;--dt-rouge:#e11d48;--dt-violet:#6d41e0;--dt-gris:#5b6b85;--dt-trait:#e6ecf7;--dt-fond:#f6f9ff;color:var(--dt-encre);background:#fff}
.hi-dt-page svg{width:16px;height:16px;flex:none}
.hi-dt-page img{max-width:100%;height:auto}
.hi-dt-wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.hi-dt-section{padding:54px 20px}
.hi-dt-tete{margin-bottom:26px}
.hi-dt-tete h2{margin:0 0 8px;font-size:clamp(23px,3vw,31px);font-weight:800;letter-spacing:-.02em;line-height:1.2}
.hi-dt-tete p{margin:0;max-width:860px;color:var(--dt-gris);font-size:15.5px;line-height:1.65}

/* ------------------------------- HERO ------------------------------- */
.hi-dt-hero{background:linear-gradient(170deg,#f3f8ff 0%,#fdfefe 62%);padding:0 0 30px;border-bottom:1px solid var(--dt-trait)}
.hi-dt-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:34px;align-items:center;padding-top:26px}
.hi-dt-fil{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:16px;font-size:13.5px;color:#8a99b3}
.hi-dt-fil a{color:#8a99b3;text-decoration:none}
.hi-dt-fil a:hover{color:var(--dt-bleu)}
.hi-dt-fil strong{color:var(--dt-encre);font-weight:600}
.hi-dt-eyebrow{display:inline-block;padding:6px 14px;border-radius:999px;background:linear-gradient(90deg,#ffe7ee,#e9eeff);color:var(--dt-rouge);font-size:11.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.hi-dt-h1{margin:16px 0 14px;font-size:clamp(31px,4.6vw,47px);font-weight:900;line-height:1.08;letter-spacing:-.03em;text-wrap:balance}
.hi-dt-h1 span{display:block}
.hi-dt-h1 em{display:block;font-style:normal;color:var(--dt-rouge)}
.hi-dt-hero__accroche{margin:0 0 24px;max-width:33ch;color:var(--dt-gris);font-size:16.5px;line-height:1.6}
.hi-dt-hero__cta{display:flex;flex-wrap:wrap;gap:12px}

.hi-dt-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:14px;font-size:15px;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s}
.hi-dt-btn:hover{transform:translateY(-1px)}
.hi-dt-btn--primaire{background:linear-gradient(95deg,#e11d48,#be123c);color:#fff;box-shadow:0 10px 22px -10px rgba(225,29,72,.65)}
.hi-dt-btn--secondaire{background:#fff;color:var(--dt-encre);border:1.6px solid #d7e1f3}
.hi-dt-btn--secondaire:hover{border-color:var(--dt-bleu);color:var(--dt-bleu)}
.hi-dt-btn--clair{background:#fff;color:var(--dt-encre);align-items:center}
.hi-dt-btn--clair span{display:flex;flex-direction:column;line-height:1.25;text-align:left}
.hi-dt-btn--clair strong{font-size:14px}

.hi-dt-hero__visuel{position:relative;display:flex;justify-content:center}
.hi-dt-hero__visuel>img:first-child{width:100%;max-width:560px;border-radius:20px}
.hi-dt-hero__badge{position:absolute;top:6%;right:2%;max-width:200px;padding:13px 17px;border-radius:14px;background:linear-gradient(135deg,#1d4ed8,#1e40af);color:#fff;box-shadow:0 16px 32px -16px rgba(29,78,216,.8);transform:rotate(-4deg)}
.hi-dt-hero__badge strong{display:block;font-size:18px;font-weight:900;letter-spacing:-.01em}
.hi-dt-hero__badge span{display:block;margin-top:3px;font-size:11.5px;font-weight:600;line-height:1.35;opacity:.92}
.hi-dt-hero__dent{position:absolute;right:-6px;bottom:-4px;width:132px;height:auto}

.hi-dt-args{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:26px 0 0;padding:0;list-style:none}
.hi-dt-args li{display:flex;align-items:center;gap:11px}
.hi-dt-args__ic{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:12px;background:var(--dt-bleu-clair);color:var(--dt-bleu)}
.hi-dt-args__ic svg{width:21px;height:21px}
.hi-dt-args strong{display:block;font-size:14.5px;font-weight:700}
.hi-dt-args span span,.hi-dt-args li>span:last-child{font-size:13px;color:var(--dt-gris)}

/* --------------------------- GARANTIES 6 --------------------------- */
.hi-dt-grille6{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.hi-dt-carte{padding:18px 15px 20px;border:1px solid var(--dt-trait);border-radius:16px;background:#fff;transition:box-shadow .18s,transform .18s}
.hi-dt-carte:hover{transform:translateY(-3px);box-shadow:0 16px 30px -22px rgba(15,34,80,.45)}
.hi-dt-carte img{display:block;width:88px;height:88px;margin:0 auto 14px;object-fit:contain}
.hi-dt-carte h3{margin:0 0 7px;font-size:15px;font-weight:800}
.hi-dt-carte p{margin:0;font-size:12.8px;line-height:1.55;color:var(--dt-gris)}

/* ---------------------------- MECANIQUE ---------------------------- */
/* La colonne de droite (bulle + portrait) est bien plus haute que la rangee
   d'etapes : les aligner toutes deux en bas creusait un vide de pres de
   deux cent cinquante pixels au-dessus des cartes. Les etapes sont donc
   centrees, et seul le visuel reste ancre en bas. */
.hi-dt-meca{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px;align-items:center}
.hi-dt-meca__etapes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;counter-reset:none}
.hi-dt-meca__etape{position:relative;display:flex;align-items:center}
.hi-dt-meca__carte{display:flex;gap:12px;flex:1;padding:17px 16px;border:1px solid var(--dt-trait);border-radius:15px;background:#fff}
.hi-dt-meca__ic{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:12px;background:var(--dt-bleu-clair);color:var(--dt-bleu)}
.hi-dt-meca__ic svg{width:22px;height:22px}
.hi-dt-meca__carte h3{margin:0 0 5px;font-size:14.5px;font-weight:800;color:var(--dt-bleu)}
.hi-dt-meca__carte p{margin:0;font-size:12.8px;line-height:1.55;color:var(--dt-gris)}
.hi-dt-meca__lien{flex:none;width:30px;text-align:center;font-size:22px;font-weight:800;color:#9fb3d4}
.hi-dt-meca__aside{position:relative;align-self:end;text-align:center}
.hi-dt-meca__aside img{width:100%;max-width:230px;margin:0 auto;display:block}
.hi-dt-bulle{position:relative;margin:0 0 6px;padding:13px 16px;border-radius:14px 14px 14px 4px;background:var(--dt-bleu);color:#fff;font-size:13px;font-weight:600;line-height:1.45;text-align:left;box-shadow:0 14px 26px -16px rgba(29,78,216,.8)}

/* ---------------------------- 100% SANTE ---------------------------- */
.hi-dt-panier{padding:50px 0;background:linear-gradient(180deg,#eef5ff,#f8fbff)}
.hi-dt-panier__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:stretch}
.hi-dt-panier__visuel{display:flex;align-items:center;justify-content:center}
.hi-dt-panier__visuel img{width:100%;border-radius:18px}
.hi-dt-panier__carte{padding:21px 20px;border:1px solid var(--dt-trait);border-radius:18px;background:#fff;box-shadow:0 18px 34px -28px rgba(15,34,80,.5)}
.hi-dt-panier__carte h3{display:flex;align-items:center;gap:11px;margin:0 0 15px;font-size:15.5px;font-weight:800;line-height:1.3}
.hi-dt-pastille{display:grid;place-items:center;width:27px;height:27px;flex:none;border-radius:50%;color:#fff;font-size:14px;font-weight:800;font-style:normal}
.hi-dt-pastille--ok{background:#16a34a}
.hi-dt-pastille--info{background:#f97316}
.hi-dt-panier__carte ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.hi-dt-panier__carte li{display:flex;gap:10px;font-size:13.5px;line-height:1.5;color:#44546f}
.hi-dt-panier__carte li svg{margin-top:2px;color:#16a34a}
.hi-dt-panier__carte p{margin:0 0 11px;font-size:13.5px;line-height:1.6;color:var(--dt-gris)}
.hi-dt-panier__carte img{display:block;width:170px;margin-top:4px;border-radius:10px}

/* ----------------------------- FORMULES ----------------------------- */
.hi-dt-formules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none}
.hi-dt-formule{display:flex;flex-direction:column;padding:22px 21px;border:1px solid var(--dt-trait);border-radius:18px;background:#fff;transition:box-shadow .18s,transform .18s}
.hi-dt-formule:hover{transform:translateY(-3px);box-shadow:0 20px 38px -26px rgba(15,34,80,.5)}
.hi-dt-formule__tete{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}
.hi-dt-formule__ic{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:14px;color:#fff}
.hi-dt-formule__ic svg{width:26px;height:26px}
.hi-dt-formule--bleu .hi-dt-formule__ic{background:linear-gradient(140deg,#2563eb,#1d4ed8)}
.hi-dt-formule--violet .hi-dt-formule__ic{background:linear-gradient(140deg,#7c4dff,#5b2bd9)}
.hi-dt-formule--rouge .hi-dt-formule__ic{background:linear-gradient(140deg,#f43f5e,#be123c)}
.hi-dt-formule__tete h3{margin:0 0 4px;font-size:17px;font-weight:800}
.hi-dt-formule--bleu em{color:#2563eb}
.hi-dt-formule--violet em{color:#6d41e0}
.hi-dt-formule--rouge em{color:#e11d48}
.hi-dt-formule__tete em{font-style:normal;font-weight:900}
.hi-dt-formule__tete p{margin:0;font-size:12.8px;color:var(--dt-gris);line-height:1.45}
.hi-dt-formule__liste{flex:1;margin:0 0 18px;padding:0;list-style:none;display:grid;gap:10px;align-content:start}
.hi-dt-formule__liste li{display:flex;gap:10px;font-size:13.6px;line-height:1.5;color:#44546f}
.hi-dt-formule__liste li svg{margin-top:2px;color:#16a34a}
.hi-dt-formule__cta{display:flex;align-items:center;justify-content:center;gap:9px;padding:12px 16px;border:1.6px solid #d7e1f3;border-radius:13px;color:var(--dt-encre);font-size:14px;font-weight:700;text-decoration:none;transition:border-color .15s,color .15s}
.hi-dt-formule__cta:hover{border-color:var(--dt-bleu);color:var(--dt-bleu)}

/* ----------------------------- TABLEAU ----------------------------- */
.hi-dt-tableau__cadre{overflow-x:auto;border:1px solid var(--dt-trait);border-radius:16px;background:#fff;-webkit-overflow-scrolling:touch}
.hi-dt-tableau{width:100%;min-width:660px;border-collapse:collapse;font-size:13.5px}
.hi-dt-tableau thead th{padding:14px 16px;text-align:center;font-weight:800;color:#fff;font-size:13.5px}
.hi-dt-tableau thead th:first-child{background:#f1f5fc;color:var(--dt-encre);text-align:left}
.hi-dt-tableau__col--0{background:linear-gradient(120deg,#2563eb,#1d4ed8)}
.hi-dt-tableau__col--1{background:linear-gradient(120deg,#7c4dff,#5b2bd9)}
.hi-dt-tableau__col--2{background:linear-gradient(120deg,#f43f5e,#be123c)}
.hi-dt-tableau tbody th{padding:13px 16px;text-align:left;font-weight:500;border-top:1px solid var(--dt-trait)}
.hi-dt-tableau tbody th strong{font-weight:700}
.hi-dt-tableau tbody th span{color:#8a99b3}
.hi-dt-tableau td{padding:13px 16px;text-align:center;color:var(--dt-gris);border-top:1px solid var(--dt-trait)}
.hi-dt-tableau tbody tr:nth-child(even){background:#fafcff}

/* ----------------------------- PROFILS ----------------------------- */
.hi-dt-profils{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.hi-dt-profil{padding:21px 20px;border:1px solid var(--dt-trait);border-radius:17px;background:linear-gradient(165deg,#fff,#f7faff)}
.hi-dt-profil__ic{display:grid;place-items:center;width:46px;height:46px;margin-bottom:13px;border-radius:14px;background:var(--dt-bleu-clair);color:var(--dt-bleu)}
.hi-dt-profil__ic svg{width:23px;height:23px}
.hi-dt-profil h3{margin:0 0 7px;font-size:15.5px;font-weight:800;color:var(--dt-bleu)}
.hi-dt-profil p{margin:0;font-size:13px;line-height:1.55;color:var(--dt-gris)}

/* ----------------------------- CRITERES ----------------------------- */
.hi-dt-criteres{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:stretch}
.hi-dt-etapes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.hi-dt-etape{padding:19px 17px;border:1px solid var(--dt-trait);border-radius:16px;background:#fff}
.hi-dt-etape__tete{display:flex;align-items:center;gap:11px;margin-bottom:13px}
.hi-dt-etape__num{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;background:var(--dt-bleu);color:#fff;font-size:14px;font-weight:800}
.hi-dt-etape:first-child .hi-dt-etape__num{background:var(--dt-rouge)}
.hi-dt-etape__ic{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:11px;background:var(--dt-bleu-clair);color:var(--dt-bleu)}
.hi-dt-etape__ic svg{width:20px;height:20px}
.hi-dt-etape h3{margin:0 0 6px;font-size:14px;font-weight:800}
.hi-dt-etape p{margin:0;font-size:12.6px;line-height:1.5;color:var(--dt-gris)}
.hi-dt-conseil{display:flex;gap:14px;align-items:flex-end;padding:18px 18px 0;border:1px solid var(--dt-trait);border-radius:17px;background:linear-gradient(160deg,#eef5ff,#f8fbff);overflow:hidden}
.hi-dt-conseil img{width:118px;flex:none;align-self:flex-end;display:block}
.hi-dt-conseil h3{margin:0 0 7px;font-size:14.5px;font-weight:800;color:var(--dt-bleu)}
.hi-dt-conseil p{margin:0 0 18px;font-size:12.8px;line-height:1.55;color:var(--dt-gris)}

/* -------------------------------- FAQ -------------------------------- */
.hi-dt-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hi-dt-faq__item{border:1px solid var(--dt-trait);border-radius:13px;background:#fff;overflow:hidden}
.hi-dt-faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;font-size:14.2px;font-weight:600;cursor:pointer;list-style:none}
.hi-dt-faq__item summary::-webkit-details-marker{display:none}
.hi-dt-faq__item summary:hover{color:var(--dt-bleu)}
.hi-dt-faq__signe{position:relative;width:15px;height:15px;flex:none}
.hi-dt-faq__signe::before,.hi-dt-faq__signe::after{content:"";position:absolute;inset:50% 0 auto;height:2px;background:#8a99b3;border-radius:2px;transition:transform .2s}
.hi-dt-faq__signe::after{transform:rotate(90deg)}
.hi-dt-faq__item[open] .hi-dt-faq__signe::after{transform:rotate(0)}
.hi-dt-faq__rep{padding:0 17px 16px}
.hi-dt-faq__rep p{margin:0;font-size:13.6px;line-height:1.68;color:var(--dt-gris)}

/* ------------------------------ CTA FINAL ------------------------------ */
.hi-dt-final{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:22px;align-items:center;margin:10px 0 44px;padding:24px 28px;border-radius:20px;background:linear-gradient(110deg,#0f2250,#1a3a7d 55%,#1d4ed8);color:#fff}
.hi-dt-final__visuel{width:140px;height:auto}
.hi-dt-final__texte h2{margin:0 0 7px;font-size:clamp(19px,2.4vw,25px);font-weight:800;line-height:1.22}
.hi-dt-final__texte p{margin:0;font-size:13.6px;line-height:1.55;opacity:.84;max-width:52ch}
.hi-dt-final__cta{display:flex;flex-wrap:wrap;gap:11px}

/* ------------------------------ MAILLAGE ------------------------------ */
.hi-dt-maillage{padding-bottom:50px}
.hi-dt-maillage h2{margin:0 0 14px;font-size:16px;font-weight:800}
.hi-dt-maillage ul{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.hi-dt-maillage a{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--dt-trait);border-radius:999px;background:#fff;color:var(--dt-encre);font-size:13.5px;font-weight:600;text-decoration:none;transition:border-color .15s,color .15s}
.hi-dt-maillage a:hover{border-color:var(--dt-bleu);color:var(--dt-bleu)}

/* ============================== RESPONSIVE ============================== */
@media (max-width:1100px){
  .hi-dt-grille6{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hi-dt-panier__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hi-dt-panier__visuel{grid-column:1/-1}
  .hi-dt-criteres{grid-template-columns:1fr}
  .hi-dt-conseil{align-items:center}
}
@media (max-width:980px){
  .hi-dt-hero__grid{grid-template-columns:1fr;gap:26px}
  .hi-dt-hero__visuel{order:-1}
  .hi-dt-hero__dent{width:92px}
  .hi-dt-hero__accroche{max-width:none}
  .hi-dt-args{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hi-dt-meca{grid-template-columns:1fr}
  .hi-dt-meca__etapes{grid-template-columns:1fr}
  .hi-dt-meca__lien{display:none}
  .hi-dt-meca__aside{display:flex;align-items:center;gap:16px;text-align:left}
  .hi-dt-meca__aside img{width:140px}
  .hi-dt-formules{grid-template-columns:1fr}
  .hi-dt-profils{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hi-dt-etapes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hi-dt-faq{grid-template-columns:1fr}
  .hi-dt-final{grid-template-columns:1fr;text-align:center;justify-items:center}
  .hi-dt-final__cta{justify-content:center}
  .hi-dt-btn--clair span{text-align:center}
}
@media (max-width:620px){
  .hi-dt-section{padding:40px 20px}
  .hi-dt-grille6{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hi-dt-panier__grid{grid-template-columns:1fr}
  .hi-dt-profils,.hi-dt-etapes{grid-template-columns:1fr}
  .hi-dt-args{grid-template-columns:1fr}
  .hi-dt-hero__badge{max-width:150px;padding:10px 13px}
  .hi-dt-hero__badge strong{font-size:15px}
  .hi-dt-hero__dent{width:72px}
  .hi-dt-conseil{flex-direction:column;align-items:flex-start;padding-bottom:0}
  .hi-dt-conseil img{align-self:center}
  .hi-dt-btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .hi-dt-page *{transition:none!important}
}
