/* ===========================================================================
   Mutuelle optique — feuille dediee (v1.94.0)
   Portee par .hi-op-page : aucune regle ne deborde sur le reste du site.
   =========================================================================== */

.hi-op-page{
  --op-bleu:#1d4ed8; --op-bleu-fonce:#0f2250; --op-bleu-clair:#eaf2ff;
  --op-rouge:#e11d48; --op-indigo:#4338ca; --op-vert:#16a34a; --op-orange:#f59e0b;
  --op-encre:#0f1b33; --op-gris:#5b6b85; --op-trait:#e3eaf5; --op-fond:#f6f9ff;
  color:var(--op-encre);
}
.hi-op-wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.hi-op-page img{max-width:100%;height:auto}
.hi-op-page svg{flex:none}

/* --------------------------- apparition douce --------------------------- */
/* L'etat de depart n'est pose que si le JavaScript a pu s'executer : sans lui,
   ou en mode sobre, tout reste visible. */
.hi-op-anime .hi-op-page [data-apparait]{
  opacity:0;transform:translateY(16px);
  transition:opacity .5s cubic-bezier(.22,.61,.36,1) var(--retard,0ms),
             transform .5s cubic-bezier(.22,.61,.36,1) var(--retard,0ms);
}
.hi-op-anime .hi-op-page [data-apparait].est-visible{opacity:1;transform:none}

/* ------------------------------- commun -------------------------------- */
.hi-op-section{padding:46px 20px 6px}
.hi-op-section>h2,.hi-op-panier h2{margin:0 0 7px;font-size:clamp(22px,2.9vw,30px);font-weight:800;letter-spacing:-.02em}
.hi-op-sous{margin:0 0 24px;max-width:80ch;font-size:14.2px;line-height:1.62;color:var(--op-gris)}

.hi-op-btn{display:inline-flex;align-items:center;gap:9px;padding:13px 22px;border-radius:13px;
  font-size:14px;font-weight:700;text-decoration:none;
  transition:transform .18s cubic-bezier(.22,.61,.36,1),box-shadow .18s,background .18s,border-color .18s,color .18s}
.hi-op-btn:hover{transform:translateY(-2px)}
.hi-op-btn--rouge{background:var(--op-rouge);color:#fff;box-shadow:0 14px 26px -14px rgba(225,29,72,.75)}
.hi-op-btn--rouge:hover{background:#be123c;box-shadow:0 20px 34px -16px rgba(225,29,72,.85)}
.hi-op-btn--blanc{background:#fff;color:var(--op-encre);border:1px solid var(--op-trait)}
.hi-op-btn--blanc:hover{border-color:var(--op-bleu);color:var(--op-bleu)}
.hi-op-btn--blanc span{display:flex;flex-direction:column;line-height:1.25;text-align:left}
.hi-op-btn--blanc span strong{font-size:13.6px}

/* --------------------------------- hero -------------------------------- */
.hi-op-hero{position:relative;padding:18px 0 4px;overflow:hidden;
  background:linear-gradient(170deg,#eef5ff 0%,#f7fbff 58%,#fff 100%)}
.hi-op-hero::after{content:"";position:absolute;top:-120px;right:-140px;width:420px;height:420px;
  border-radius:50%;background:radial-gradient(circle,rgba(29,78,216,.14),transparent 68%);pointer-events:none}
.hi-op-hero__grille{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);gap:28px;align-items:center}

.hi-op-fil{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 14px;font-size:12.6px;color:#8395b2}
.hi-op-fil a{color:#8395b2;text-decoration:none}
.hi-op-fil a:hover{color:var(--op-bleu)}
.hi-op-fil strong{color:var(--op-encre);font-weight:700}

.hi-op-badge{display:inline-block;margin:0 0 14px;padding:6px 13px;border-radius:999px;
  background:#ffe4ec;color:var(--op-rouge);font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}

.hi-op-hero h1{margin:0 0 14px;font-size:clamp(27px,4.1vw,40px);font-weight:800;line-height:1.1;
  letter-spacing:-.025em;text-wrap:balance;max-width:19ch}
.hi-op-hero h1 span{display:block;color:var(--op-rouge)}
.hi-op-hero__accroche{margin:0 0 22px;max-width:50ch;font-size:14.6px;line-height:1.66;color:var(--op-gris)}
.hi-op-hero__cta{display:flex;flex-wrap:wrap;gap:12px}

.hi-op-hero__visuel{display:flex;justify-content:center}
.hi-op-hero__visuel img{width:100%;max-width:430px;display:block}

.hi-op-rassurances{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;
  margin:26px 0 0;padding:20px 0 0;border-top:1px solid var(--op-trait);list-style:none}
.hi-op-rassurances li{display:flex;align-items:center;gap:11px}
.hi-op-rassurances__ic{display:grid;place-items:center;width:36px;height:36px;flex:none;
  border-radius:11px;background:var(--op-bleu-clair);color:var(--op-bleu)}
.hi-op-rassurances strong{display:block;font-size:13.4px;font-weight:700}
.hi-op-rassurances span span{font-size:12.4px;color:var(--op-gris)}

/* ----------------------- postes de remboursement ----------------------- */
.hi-op-garanties{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px}
.hi-op-garantie{overflow:hidden;border:1px solid var(--op-trait);border-radius:16px;background:#fff;
  transition:transform .22s cubic-bezier(.22,.61,.36,1),box-shadow .22s,border-color .22s}
.hi-op-garantie:hover{transform:translateY(-4px);border-color:#c9dcff;box-shadow:0 20px 38px -24px rgba(29,78,216,.55)}
.hi-op-garantie__visuel{overflow:hidden;aspect-ratio:4/3;background:#f4f8ff}
.hi-op-garantie__visuel img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s cubic-bezier(.22,.61,.36,1)}
.hi-op-garantie:hover .hi-op-garantie__visuel img{transform:scale(1.05)}
.hi-op-garantie h3{margin:13px 14px 6px;font-size:13.6px;font-weight:800}
.hi-op-garantie p{margin:0 14px 16px;font-size:12.2px;line-height:1.55;color:var(--op-gris)}

/* ------------------------------ mecanique ------------------------------ */
.hi-op-meca{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.hi-op-meca__etape{position:relative;display:flex;align-items:center}
.hi-op-meca__carte{display:flex;gap:12px;flex:1;padding:17px 16px;border:1px solid var(--op-trait);border-radius:15px;background:#fff}
.hi-op-meca__ic{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:12px;
  background:var(--op-bleu-clair);color:var(--op-bleu)}
.hi-op-meca__carte h3{margin:0 0 5px;font-size:14.2px;font-weight:800;color:var(--op-bleu)}
.hi-op-meca__carte p{margin:0;font-size:12.6px;line-height:1.55;color:var(--op-gris)}
.hi-op-meca__lien{flex:none;width:30px;text-align:center;font-size:22px;font-weight:800;color:#9fb3d4}

/* ---------------------------- 100 % Sante ------------------------------ */
.hi-op-panier{margin:42px 0 0;padding:44px 0 48px;background:linear-gradient(170deg,#e9f2ff,#f7fbff)}
.hi-op-panier__grille{display:grid;grid-template-columns:minmax(0,.92fr) repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.hi-op-panier__visuel{display:grid;place-items:center;padding:18px;border-radius:18px;background:#fff;border:1px solid var(--op-trait)}
.hi-op-panier__visuel img{width:100%;max-width:260px}
.hi-op-panier__carte{padding:20px 19px;border:1px solid var(--op-trait);border-radius:18px;background:#fff}
.hi-op-panier__carte h3{display:flex;align-items:flex-start;gap:10px;margin:0 0 13px;font-size:14.4px;font-weight:800;line-height:1.35}
.hi-op-pastille{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:50%;
  font-size:14px;font-weight:800;color:#fff}
.hi-op-panier__carte--vert .hi-op-pastille{background:var(--op-vert)}
.hi-op-panier__carte--orange .hi-op-pastille{background:var(--op-orange)}
.hi-op-panier__carte ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.hi-op-panier__carte li{display:flex;align-items:flex-start;gap:9px;font-size:12.7px;line-height:1.52;color:var(--op-gris)}
.hi-op-panier__carte--vert li svg{margin-top:2px;color:var(--op-vert)}
.hi-op-panier__carte--orange li svg{margin-top:2px;color:var(--op-orange)}

/* ------------------------------- formules ------------------------------ */
.hi-op-formules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;align-items:start}
.hi-op-formule{position:relative;padding:24px 21px 23px;border:1px solid var(--op-trait);border-radius:19px;background:#fff;
  transition:transform .22s cubic-bezier(.22,.61,.36,1),box-shadow .22s}
.hi-op-formule:hover{transform:translateY(-4px);box-shadow:0 24px 44px -28px rgba(15,34,80,.4)}
.hi-op-formule--phare{border-color:#fbcfe8;box-shadow:0 22px 42px -28px rgba(225,29,72,.55)}
.hi-op-formule__ruban{position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  padding:5px 13px;border-radius:999px;background:var(--op-rouge);color:#fff;font-size:10.6px;font-weight:800;white-space:nowrap}
.hi-op-formule h3{margin:0 0 5px;font-size:17px;font-weight:800}
.hi-op-formule--bleu h3{color:var(--op-bleu)}
.hi-op-formule--indigo h3{color:var(--op-indigo)}
.hi-op-formule--rouge h3{color:var(--op-rouge)}
.hi-op-formule__accroche{margin:0 0 15px;font-size:12.6px;color:var(--op-gris)}
.hi-op-formule ul{margin:0 0 19px;padding:0;list-style:none;display:grid;gap:10px}
.hi-op-formule li{display:flex;align-items:flex-start;gap:9px;font-size:12.9px;line-height:1.5}
.hi-op-formule li svg{margin-top:2px;color:var(--op-vert)}
.hi-op-formule__cta{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;
  border:1px solid var(--op-trait);border-radius:12px;font-size:13.2px;font-weight:700;
  text-decoration:none;color:var(--op-encre);transition:border-color .18s,color .18s,background .18s}
.hi-op-formule__cta:hover{border-color:var(--op-bleu);color:var(--op-bleu)}
.hi-op-formule--phare .hi-op-formule__cta{background:var(--op-bleu);border-color:var(--op-bleu);color:#fff}
.hi-op-formule--phare .hi-op-formule__cta:hover{background:#1639a8;border-color:#1639a8;color:#fff}

/* --------------------------- tableau comparatif ------------------------ */
.hi-op-tableau{overflow-x:auto;border:1px solid var(--op-trait);border-radius:16px;background:#fff}
.hi-op-tableau table{width:100%;min-width:620px;border-collapse:collapse;font-size:12.8px}
.hi-op-tableau thead th{padding:13px 14px;color:#fff;font-size:12px;font-weight:700;text-align:center;white-space:nowrap}
.hi-op-tableau thead .hi-op-col-0{background:#eef3fb;color:var(--op-encre);text-align:left}
.hi-op-tableau thead .hi-op-col-1{background:var(--op-bleu)}
.hi-op-tableau thead .hi-op-col-2{background:var(--op-indigo)}
.hi-op-tableau thead .hi-op-col-3{background:var(--op-rouge)}
.hi-op-tableau tbody th{padding:12px 14px;border-top:1px solid var(--op-trait);font-weight:700;text-align:left}
.hi-op-tableau tbody td{padding:12px 14px;border-top:1px solid var(--op-trait);text-align:center;color:var(--op-gris)}
.hi-op-tableau tbody tr:nth-child(even){background:#fafcff}
.hi-op-tableau tbody tr:hover{background:#f2f7ff}

/* -------------------------------- profils ------------------------------ */
.hi-op-profils{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.hi-op-profil{overflow:hidden;border:1px solid var(--op-trait);border-radius:18px;background:#fff;
  transition:transform .22s cubic-bezier(.22,.61,.36,1),box-shadow .22s}
.hi-op-profil:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px rgba(15,34,80,.42)}
.hi-op-profil__photo{overflow:hidden;aspect-ratio:4/3;background:#eef3fb}
.hi-op-profil__photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s cubic-bezier(.22,.61,.36,1)}
.hi-op-profil:hover .hi-op-profil__photo img{transform:scale(1.05)}
.hi-op-profil h3{margin:14px 16px 6px;font-size:14.2px;font-weight:800;color:var(--op-bleu)}
.hi-op-profil p{margin:0 16px 17px;font-size:12.5px;line-height:1.56;color:var(--op-gris)}

/* ------------------------------- criteres ------------------------------ */
.hi-op-criteres{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px;align-items:start}
.hi-op-criteres__etapes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0;padding:0;list-style:none}
.hi-op-criteres__etapes li{padding:18px 15px;border:1px solid var(--op-trait);border-radius:16px;background:#fff}
.hi-op-criteres__num{display:grid;place-items:center;width:30px;height:30px;margin:0 0 11px;
  border-radius:50%;background:var(--op-rouge);color:#fff;font-size:13px;font-weight:800}
.hi-op-criteres__etapes h3{margin:0 0 6px;font-size:13.4px;font-weight:800}
.hi-op-criteres__etapes p{margin:0;font-size:12.2px;line-height:1.52;color:var(--op-gris)}

.hi-op-conseil{display:flex;gap:14px;align-items:flex-end;overflow:hidden;padding:16px 16px 0;
  border:1px solid var(--op-trait);border-radius:17px;background:linear-gradient(160deg,#eef5ff,#f8fbff)}
.hi-op-conseil img{width:112px;flex:none;align-self:flex-end;display:block;border-radius:12px 12px 0 0}
.hi-op-conseil h3{margin:0 0 7px;font-size:14px;font-weight:800;color:var(--op-bleu)}
.hi-op-conseil p{margin:0 0 18px;font-size:12.5px;line-height:1.55;color:var(--op-gris)}

/* ---------------------------------- FAQ -------------------------------- */
.hi-op-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.hi-op-faq__item{border:1px solid var(--op-trait);border-radius:14px;background:#fff;overflow:hidden;
  transition:border-color .18s,box-shadow .18s}
.hi-op-faq__item:hover{border-color:#c9dcff}
.hi-op-faq__item[open]{box-shadow:0 16px 32px -26px rgba(15,34,80,.5)}
.hi-op-faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:15px 17px;font-size:13.4px;font-weight:700;cursor:pointer;list-style:none}
.hi-op-faq__item summary::-webkit-details-marker{display:none}
.hi-op-faq__item summary:hover{color:var(--op-bleu)}
.hi-op-faq__signe{position:relative;width:15px;height:15px;flex:none}
.hi-op-faq__signe::before,.hi-op-faq__signe::after{content:"";position:absolute;background:var(--op-bleu);
  border-radius:2px;transition:transform .2s cubic-bezier(.22,.61,.36,1)}
.hi-op-faq__signe::before{top:6.5px;left:0;width:15px;height:2px}
.hi-op-faq__signe::after{left:6.5px;top:0;width:2px;height:15px}
.hi-op-faq__item[open] .hi-op-faq__signe::after{transform:scaleY(0)}
.hi-op-faq__reponse{padding:0 17px 16px}
.hi-op-faq__reponse p{margin:0;font-size:12.8px;line-height:1.66;color:var(--op-gris)}

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

/* ------------------------------- maillage ------------------------------ */
.hi-op-maillage{margin:0 auto 46px}
.hi-op-maillage h2{margin:0 0 13px;font-size:14.6px;font-weight:800}
.hi-op-maillage ul{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.hi-op-maillage a{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border:1px solid var(--op-trait);
  border-radius:999px;background:#fff;font-size:12.8px;font-weight:600;text-decoration:none;color:var(--op-encre);
  transition:border-color .18s,color .18s,transform .18s}
.hi-op-maillage a:hover{border-color:var(--op-bleu);color:var(--op-bleu);transform:translateY(-2px)}

/* ============================== RESPONSIVE ============================== */
@media (max-width:1080px){
  .hi-op-garanties{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hi-op-panier__grille{grid-template-columns:1fr 1fr}
  .hi-op-panier__visuel{grid-column:1/-1}
  .hi-op-panier__visuel img{max-width:200px}
  .hi-op-criteres{grid-template-columns:1fr}
  .hi-op-criteres__etapes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hi-op-profils{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:980px){
  .hi-op-hero__grille{grid-template-columns:1fr}
  .hi-op-hero__visuel{order:-1}
  .hi-op-hero__visuel img{max-width:300px}
  .hi-op-rassurances{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hi-op-meca{grid-template-columns:1fr}
  .hi-op-meca__lien{display:none}
  .hi-op-formules{grid-template-columns:1fr}
  .hi-op-formule--phare{order:-1}
  .hi-op-faq{grid-template-columns:1fr}
  .hi-op-final{grid-template-columns:1fr;text-align:center;justify-items:center}
  .hi-op-final__cta{justify-content:center}
  .hi-op-final__texte p{max-width:none}
}

@media (max-width:680px){
  .hi-op-section{padding:34px 20px 4px}
  .hi-op-garanties{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hi-op-panier__grille{grid-template-columns:1fr}
  .hi-op-profils,.hi-op-criteres__etapes{grid-template-columns:1fr}
  .hi-op-rassurances{grid-template-columns:1fr}
  .hi-op-btn{width:100%;justify-content:center}
  .hi-op-conseil{flex-direction:column;align-items:flex-start;padding-bottom:0}
  .hi-op-conseil img{align-self:center}
  .hi-op-maillage a{width:100%;justify-content:space-between}
}

@media (prefers-reduced-motion:reduce){
  .hi-op-page *{transition:none!important;animation:none!important}
  .hi-op-page [data-apparait]{opacity:1!important;transform:none!important}
  .hi-op-btn:hover,.hi-op-garantie:hover,.hi-op-profil:hover,.hi-op-formule:hover{transform:none}
}

@media print{
  .hi-op-hero__cta,.hi-op-final,.hi-op-maillage{display:none}
  .hi-op-faq__reponse{display:block!important}
  .hi-op-page [data-apparait]{opacity:1!important;transform:none!important}
}
