/* Formules de certification : comparaison compacte, dans la charte du site. */
.formules-page { width: min(100%, max(90%, 1200px)); max-width: 1600px; margin: 0 auto 2.5rem; color: var(--icac-anthracite); font-size: 1rem; font-weight: 300; font-variant-numeric: lining-nums tabular-nums; }
.formules-page .btn { margin: 0; text-transform: none; letter-spacing: 0; }
.formules-page a:focus-visible, .formules-page summary:focus-visible { outline: 3px solid var(--icac-rouge); outline-offset: 4px; }
.formules-entete { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: .5rem 0 2.5rem; }
.formules-surtitre { display: flex; align-items: center; gap: .7rem; margin-bottom: .65rem; color: var(--icac-anthracite); text-transform: uppercase; letter-spacing: .15em; font-size: .75rem; font-family: var(--icac-police-surtitre); font-weight: 500; }
.formules-page h1 { margin: 0 0 .65rem; font-size: clamp(2rem, 3.2vw, 3rem); line-height: 1.1; text-transform: none; letter-spacing: -.035em; }
.formules-entete-texte > p:last-child { color: var(--icac-anthracite); margin: 0; }
.formules-cartes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; margin-bottom: 4rem; }
.formule { position: relative; display: flex; flex-direction: column; padding: 2.25rem 2.25rem 2rem; border: 1px solid #e1dfd7; border-top: 4px solid #cfccc2; border-radius: .85rem; background: linear-gradient(150deg, #fff, #faf9f6); box-shadow: 0 6px 20px #2d2e3308; }
.formule-medium { border-color: #ddc794; border-top-color: #ac863c; background: linear-gradient(150deg, #fffdf8, #faf3e2); }
.formule-optimum { border-color: #ac863c; border-top-color: #e4c780; background: radial-gradient(ellipse at top right, #504632 0, transparent 65%), #2d2e33; color: #fff; box-shadow: 0 8px 24px #2d2e3324; }
.formule-entete { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; align-items: center; }
.formule-nom { display: flex; align-items: center; gap: .6rem; margin: 0; font-size: .8rem; letter-spacing: .04em; font-weight: 800; color: var(--icac-anthracite); }
.formule-embleme { display: grid; place-items: center; width: 32px; height: 32px; flex-shrink: 0; color: var(--icac-rouge); }
.formule-embleme svg { width: 23px; height: 23px; fill: none; }
.formule-embleme img { width: auto; height: 34px; }
.formule h2 { grid-column: 1; font-size: 2rem; text-transform: none; margin: .3rem 0 0; letter-spacing: -.025em; color: inherit; }
/* L'économie réalisée doit sauter aux yeux : pastille rouge i-CAC, sur fond clair comme sur fond noir. */
.formule-avantage { grid-column: 2; grid-row: 1 / 3; align-self: start; padding: .45rem .85rem; border-radius: 2rem; background: var(--icac-rouge); color: #fff; font-size: .9rem; font-weight: 800; white-space: nowrap; box-shadow: 0 4px 12px #df373440; }
.formule-montant { margin: 1.75rem 0 1.25rem; }
.formule-prix { display: flex; align-items: baseline; flex-wrap: wrap; gap: .35rem; margin: 0; color: var(--icac-anthracite); font-size: 1.6rem; line-height: 1.1; }
.formule-prix strong { font-size: 4rem; letter-spacing: -.05em; }
.formule-reference { margin-left: .45rem; font-size: .95rem; color: #727581; }
.formule-total { margin: .4rem 0 0; font-size: .8rem; color: var(--icac-anthracite); }
.formule-annuel { margin: 1.25rem 0 0; padding-top: 1.25rem; border-top: 1px solid #e1dfd7; font-size: .85rem; color: var(--icac-anthracite); }
.formule-annuel strong { font-weight: 800; color: var(--icac-anthracite); }
.formule-inclus { display: flex; align-items: center; gap: .5rem; margin: 0 0 1.75rem; font-size: .8rem; color: var(--icac-anthracite); }
.formule-inclus .icone { color: var(--icac-anthracite); }
.formule-optimum .formule-nom, .formule-optimum .formule-prix, .formule-optimum .formule-inclus .icone { color: #efd393; }
.formule-optimum .formule-embleme { color: #efd393; }
.formule-optimum .formule-reference, .formule-optimum .formule-total, .formule-optimum .formule-annuel, .formule-optimum .formule-inclus { color: #dedbd3; }
.formule-optimum .formule-annuel { border-top-color: #ddc79450; }
.formule-optimum .formule-annuel strong { color: #fff; }
.formules-page .formule-souscrire { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding: .75rem 1rem; }
.formule-optimum .formule-souscrire:focus-visible { outline-color: #efd393; }
.formules-inclus { padding: 2.5rem 2.75rem; background: #fcfaf5; border: 1px solid #ddc794; border-radius: .85rem; }
.formules-section-entete { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1.75rem; }
.formules-page h2 { text-transform: none; }
.formules-section-entete h2 { margin: 0; font-size: 1.5rem; }
.formules-section-entete p { margin: 0; color: var(--icac-anthracite); font-size: .85rem; }
.formules-prestations { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem 2rem; list-style: none; padding: 0; margin: 0; }
.formules-prestations li { display: flex; align-items: baseline; gap: .65rem; font-size: .95rem; }
.formules-prestations .icone { flex-shrink: 0; color: var(--icac-anthracite); }
.formules-detail { margin-top: 2rem; border-top: 1px solid #dfe1e8; }
.formules-detail summary, .formules-comprendre summary { padding-top: 1rem; font-size: .85rem; font-weight: 800; cursor: pointer; }
.formules-services { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 2rem; margin-top: 1.5rem; }
.formules-services h3 { text-transform: none; font-size: 1.05rem; }
.formules-services h3 .icone { margin-right: .35rem; color: var(--icac-rouge-fonce); }
.formules-services ul { padding-left: 1.15rem; margin: .75rem 0 0; font-size: .9rem; color: var(--icac-anthracite); line-height: 1.7; }
.formules-services li + li { margin-top: .3rem; }
.formules-faq { margin: 4rem 0; }
.formules-faq .formules-section-entete > a { color: var(--icac-rouge-fonce); font-size: .85rem; font-weight: 800; }
.formules-faq-grille { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem 2rem; }
.formules-faq-reponse { padding: 1.75rem 2rem; border: 1px solid #e5e2da; border-top: 3px solid #ddc794; border-radius: .65rem; background: #fff; }
.formules-faq-reponse h3 { margin: 0 0 .75rem; font-size: 1rem; line-height: 1.4; text-transform: none; }
.formules-faq-reponse p { margin: 0; max-width: 70ch; color: var(--icac-anthracite); font-size: .9rem; line-height: 1.65; }
.formules-parrainage { display: flex; align-items: center; gap: 1.25rem; padding: 2rem 2.25rem; margin: 0 0 3rem; background: #faf3e2; border: 1px solid #ddc794; border-radius: .85rem; }
.formules-parrainage-icone { display: grid; place-items: center; flex-shrink: 0; width: 2.75rem; height: 2.75rem; color: var(--icac-rouge); font-size: 1.3rem; }
.formules-parrainage h2 { margin: 0 0 .3rem; font-size: 1.15rem; }
.formules-parrainage p { margin: 0; color: var(--icac-anthracite); font-size: .9rem; }
.formules-parrainage > a { margin-left: auto; color: var(--icac-rouge-fonce); font-size: .85rem; font-weight: 800; }
.formules-aide { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.5rem 0 2.5rem; }
.formules-aide h2 { margin: 0 0 .35rem; font-size: 1.15rem; }
.formules-aide p { margin: 0; font-size: .9rem; color: var(--icac-anthracite); }
.formules-aide-liens { display: flex; align-items: center; gap: 1.5rem; font-size: .85rem; }
.formules-aide-liens > a:first-child { color: var(--icac-rouge-fonce); }
.formules-comprendre { margin-top: 1rem; border-top: 1px solid #e4e5eb; }
.formules-texte { max-width: 85ch; padding-top: 1.25rem; font-size: .95rem; color: var(--icac-anthracite); line-height: 1.8; }
.formules-texte h2 { font-size: 1.3rem; color: var(--icac-anthracite); }
.formules-texte p { margin-bottom: 1rem; }
@media (max-width: 1199px) {
    .formules-page { width: 100%; padding-inline: 1rem; }
    .formule { padding: 1.75rem; }
    .formules-cartes { gap: 1.25rem; }
    .formule-entete { grid-template-columns: minmax(0, 1fr); align-content: start; min-height: 120px; }
    .formule-avantage { grid-column: 1; grid-row: auto; justify-self: start; }
    .formules-section-entete { flex-direction: column; gap: .35rem; }
    .formules-prestations { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .formules-page { padding-inline: .25rem; }
    .formules-entete { padding-top: 0; padding-bottom: 1rem; }
    .formules-page h1 { font-size: 2rem; }
    .formules-entete-texte > p:last-child { font-size: .9rem; }
    .formules-cartes { grid-template-columns: 1fr; gap: 1rem; margin-bottom: 2.5rem; }
    .formule { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem 1rem; padding: 1.1rem 1.25rem; }
    .formule-entete { min-height: 0; gap: .3rem; }
    .formule-embleme { width: 24px; height: 24px; }
    .formule-embleme svg { width: 18px; height: 18px; }
    .formule-embleme img { height: 26px; }
    .formule-inclus { display: none; }
    .formule-nom { font-size: .75rem; margin-bottom: .1rem; }
    .formule h2 { font-size: 1.5rem; }
    .formule-avantage { position: static; display: inline-block; margin-top: .35rem; padding: .15rem .45rem; font-size: .65rem; }
    .formule-montant { margin: 0; text-align: right; }
    .formule-prix { justify-content: flex-end; font-size: 1.1rem; }
    .formule-prix strong { font-size: 2.6rem; }
    .formule-reference { font-size: .8rem; margin-left: .15rem; }
    .formule-total { font-size: .7rem; margin-top: .15rem; }
    .formule-annuel { font-size: .7rem; margin-top: .35rem; padding-top: .35rem; }
    .formules-page .formule-souscrire { grid-column: 1 / -1; padding: .45rem .75rem; font-size: .8rem; }
        .formules-inclus { padding: 1.5rem 1.25rem; }
    .formules-faq { margin: 2.5rem 0; }
    .formules-faq-reponse { padding: 1.25rem 1.4rem; }
    .formules-parrainage { margin-bottom: 2rem; }
    .formules-prestations { grid-template-columns: 1fr; gap: .85rem; }
    .formules-prestations li { font-size: .9rem; }
    .formules-services { grid-template-columns: 1fr; gap: 1.25rem; }
    .formules-faq-grille { grid-template-columns: 1fr; gap: 1rem; }
    .formules-parrainage { flex-wrap: wrap; padding: 1.25rem; gap: .85rem; }
    .formules-parrainage > div { flex: 1; min-width: 0; }
    .formules-parrainage > a { margin-left: 0; width: 100%; }
    .formules-aide { flex-direction: column; align-items: flex-start; gap: 1rem; }
    .formules-aide-liens { flex-wrap: wrap; gap: 1rem; }
}

@media (prefers-reduced-motion: reduce) { .formules-page .btn { transition: none; } }

.formules-services h3, .formules-services h3 .icone, .formules-parrainage h2 { color: var(--icac-rouge); }
