/* Sections partagées : programmes, parcours, contenus, avis, avantages, bande d'appel. Chargées sur toutes les pages. */

.mk-programmes { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); gap: var(--mk-space-4); }
.mk-programme__promise { font-family: var(--mk-font-sans); font-size: 1rem; line-height: 1.5; color: var(--mk-ink-soft); }
.mk-entries { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--mk-space-7); }
.mk-testimonials { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr)); gap: var(--mk-space-7); }
.mk-testimonial__result { font-family: var(--mk-font-sans) !important; font-size: var(--mk-size-small) !important; color: var(--mk-blue) !important; margin-top: var(--mk-space-3) !important; }
.mk-testimonial__audio { inline-size: 100%; margin-top: var(--mk-space-3); }
.mk-advantages { max-width: 1440px; margin-inline: auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--mk-space-5); }
.mk-advantage { display: grid; align-content: start; gap: var(--mk-space-3); padding: var(--mk-space-6); background: var(--mk-paper); border: 1px solid var(--mk-line); border-radius: var(--mk-radius); box-shadow: var(--mk-shadow-card); }
.mk-advantage__icon { display: grid; place-items: center; inline-size: 52px; block-size: 52px; margin-bottom: var(--mk-space-2); border-radius: 50%; background: var(--mk-blue-tint); color: var(--mk-blue); }
.mk-advantage__icon svg { inline-size: 26px; block-size: 26px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.mk-advantages .mk-advantage__title { margin: 0; font-family: var(--mk-font-serif); font-size: clamp(1.625rem, 1.45rem + .5vw, 1.9375rem); font-weight: 500; line-height: 1.1; color: var(--mk-blue); }
.mk-advantages .mk-advantage__text { margin: 0; font-family: var(--mk-font-sans); font-size: 1.0625rem; line-height: 1.6; color: var(--mk-ink-soft); }
.mk-cta-band { padding: var(--mk-section) var(--mk-gutter); text-align: center; display: grid; justify-items: center; gap: var(--mk-space-5); }
.mk-cta-band :is(h2, p) { margin: 0; max-width: 24em; }
.mk-cta-band .mk-lede { max-width: 36em; }

/* ---------- Parcours : étapes en cartes reliées (langue arabe), deux choix sur champ bleu (Coran) ---------- */
.mk-tracks { display: grid; gap: var(--mk-space-8); margin-top: var(--mk-space-7); }
.mk-track { display: grid; gap: var(--mk-space-6); }
.mk-track__head { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: baseline; column-gap: var(--mk-space-4); row-gap: var(--mk-space-1); }
.mk-track__head .mk-h3 { grid-column: 1; grid-row: 1; margin: 0; font-size: clamp(1.75rem, 1.5rem + .8vw, 2.375rem); }
.mk-track__ar { grid-column: 2; grid-row: 1; justify-self: start; font-family: var(--mk-font-serif); font-size: clamp(1.75rem, 1.5rem + .8vw, 2.375rem); line-height: 1.4; color: var(--mk-blue); opacity: .75; }
.mk-tracks .mk-track__note { grid-column: 1 / -1; margin: 0; font-family: var(--mk-font-sans); font-size: 1rem; line-height: 1.55; color: var(--mk-ink-soft); max-width: 36em; }
.mk-tracks .mk-track__line { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--mk-cols, 3), minmax(0, 1fr)); gap: var(--mk-space-5); }
.mk-track--sequence .mk-track__line { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 2fr); }
.mk-station { display: grid; grid-template-rows: auto 1fr; gap: var(--mk-space-4); min-width: 0; }
.mk-station__step { display: flex; align-items: center; gap: var(--mk-space-3); font-family: var(--mk-font-sans); font-size: .9375rem; font-weight: 500; color: var(--mk-blue); white-space: nowrap; }
.mk-station__step::after { content: ""; flex: 1; block-size: 1px; background: var(--mk-blue); opacity: .45; } /* le fil du parcours */
.mk-station:last-child .mk-station__step::after { opacity: .15; }
.mk-station__node { flex: none; inline-size: 13px; block-size: 13px; border-radius: 50%; border: 1.5px solid var(--mk-blue); background: var(--mk-blue); }
.mk-station__cards { display: grid; gap: var(--mk-space-4); align-items: stretch; }
.mk-station--choice .mk-station__cards { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: var(--mk-space-3); }
.mk-station__or { align-self: center; display: grid; place-items: center; inline-size: 36px; block-size: 36px; border-radius: 50%; border: 1px solid var(--mk-line-strong); background: var(--mk-cream); font-family: var(--mk-font-sans); font-size: .8125rem; color: var(--mk-ink-soft); }

/* La carte de programme */
.mk-station__prog { display: flex; flex-direction: column; gap: var(--mk-space-3); block-size: 100%; padding: var(--mk-space-6) var(--mk-space-5) var(--mk-space-5); background: var(--mk-paper); border: 1px solid var(--mk-line); border-radius: var(--mk-radius); box-shadow: var(--mk-shadow-card); color: inherit; text-decoration: none; transition: transform var(--mk-dur-2) var(--mk-ease), box-shadow var(--mk-dur-2) var(--mk-ease), border-color var(--mk-dur-1) var(--mk-ease), background-color var(--mk-dur-1) var(--mk-ease); }
.mk-station__prog:hover { transform: var(--mk-lift); box-shadow: var(--mk-shadow-lift); border-color: color-mix(in srgb, var(--mk-blue) 40%, var(--mk-line)); background: var(--mk-white); }
.mk-station__prog:focus-visible { outline: 2px solid transparent; outline-offset: 2px; box-shadow: var(--mk-focus), var(--mk-shadow-lift); }
.mk-station__name { font-family: var(--mk-font-serif); font-size: clamp(1.75rem, 1.55rem + .6vw, 2.125rem); font-weight: 500; line-height: 1.05; color: var(--mk-blue); text-wrap: balance; }
.mk-station__promise { font-family: var(--mk-font-sans); font-size: 1.0625rem; line-height: 1.55; color: var(--mk-ink-soft); text-wrap: pretty; }
.mk-station__meta { font-family: var(--mk-font-sans); font-size: .875rem; line-height: 1.45; color: var(--mk-muted); }
.mk-station__meta:empty { display: none; }
.mk-station__foot { display: grid; justify-items: start; gap: var(--mk-space-2); margin-top: auto; padding-top: var(--mk-space-4); border-top: var(--mk-hairline); }
.mk-station__price { font-family: var(--mk-font-sans); font-size: .9375rem; color: var(--mk-ink-soft); font-variant-numeric: tabular-nums; }
.mk-station__price b { font-family: var(--mk-font-serif); font-size: 1.5rem; font-weight: 500; color: var(--mk-ink); }
.mk-station__more { display: inline-flex; align-items: center; gap: .4em; font-family: var(--mk-font-sans); font-size: .9375rem; font-weight: 500; color: var(--mk-blue); }
.mk-station__prog:hover .mk-btn__arrow { transform: translateX(3px); }

/* Coran : un panneau sur champ bleu, distinct de la langue arabe */
.mk-track--choice { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); align-items: start; gap: var(--mk-space-7); padding: var(--mk-space-8) var(--mk-space-7); border-radius: var(--mk-radius); }
.mk-track--choice .mk-track__head { grid-template-columns: 1fr; row-gap: var(--mk-space-3); }
.mk-track--choice .mk-track__head > * { grid-column: 1; grid-row: auto; }
.mk-track--choice .mk-track__ar { order: -1; font-size: clamp(2.5rem, 2rem + 1.5vw, 3.5rem); line-height: 1.3; color: var(--mk-cream); opacity: .9; }
.mk-track--choice .mk-h3 { color: var(--mk-cream); }
.mk-tracks .mk-track--choice .mk-track__note { color: color-mix(in srgb, var(--mk-cream) 84%, var(--mk-blue)); }
.mk-track--choice .mk-track__link { justify-self: start; margin-top: var(--mk-space-3); }
.mk-tracks .mk-track--choice .mk-track__line { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mk-track--choice .mk-station__step { color: var(--mk-cream); }
.mk-track--choice .mk-station__step::after { background: var(--mk-cream); opacity: .3; }
.mk-track--choice .mk-station__node { border-color: var(--mk-cream); background: transparent; }
.mk-track--choice .mk-station__prog { border-color: transparent; box-shadow: var(--mk-shadow-on-blue); }
.mk-track--choice .mk-station__prog:hover { border-color: var(--mk-cream); }
.mk-track--choice .mk-station__prog:focus-visible { box-shadow: var(--mk-focus-on-blue); }

@media (prefers-reduced-motion: reduce) {
	.mk-station__prog:hover { transform: none; }
}

@media (max-width: 1024px) {
	.mk-advantages { grid-template-columns: 1fr; gap: var(--mk-space-4); }
	.mk-advantage { grid-template-columns: auto minmax(0, 1fr); column-gap: var(--mk-space-5); padding: var(--mk-space-5); }
	.mk-advantage__icon { grid-row: span 2; margin: 0; }
}

@media (max-width: 1180px) {
	.mk-track--sequence .mk-track__line { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mk-track--sequence .mk-station--choice { grid-column: 1 / -1; }
	.mk-track--choice { grid-template-columns: 1fr; gap: var(--mk-space-6); padding: var(--mk-space-7) var(--mk-space-6); }
}

@media (max-width: 781px) {
	.mk-entries { grid-template-columns: 1fr; }
	.mk-track { gap: var(--mk-space-5); }
	.mk-tracks .mk-track__line, .mk-tracks .mk-track--choice .mk-track__line, .mk-track--sequence .mk-track__line { grid-template-columns: 1fr; gap: var(--mk-space-5); }
	.mk-station--choice .mk-station__cards { grid-template-columns: 1fr; justify-items: stretch; }
	.mk-station__or { justify-self: center; }
	.mk-station__prog { padding: var(--mk-space-5); }
	.mk-track--choice { margin-inline: calc(var(--mk-gutter) * -1); padding: var(--mk-space-7) var(--mk-gutter); border-radius: 0; }
}

/* ---------- Premier écran à deux champs (programmes, hub) ---------- */
.mk-prog-hero { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); /* ≈ 46/54, comme l'accueil */ min-height: min(calc(100svh - 84px), 860px); }
.mk-prog-hero__copy { display: flex; flex-direction: column; justify-content: safe center; gap: var(--mk-space-5); padding: var(--mk-space-7) var(--mk-space-8) var(--mk-space-7) var(--mk-gutter); }
.mk-prog-hero .mk-prog-hero__copy > *, .mk-prog-hero .mk-prog-hero__copy > .wp-block-group__inner-container > * { margin: 0; }
.mk-prog-hero__title { max-width: 14em; }
.mk-prog-hero .mk-prog-hero__ar { align-self: flex-start; margin-top: calc(var(--mk-space-4) * -1); font-family: var(--mk-font-serif); font-size: clamp(2rem, 1.6rem + 1.4vw, 3rem); line-height: 1.5; color: var(--mk-blue); }
.mk-prog-hero__reassure { max-width: 32em; padding-inline-start: var(--mk-space-4); border-inline-start: 1px solid var(--mk-blue); font-family: var(--mk-font-sans); font-size: 1rem; line-height: 1.55; color: var(--mk-ink); }
.mk-prog-hero__actions { display: flex; flex-wrap: wrap; gap: var(--mk-space-3); padding-top: var(--mk-space-2); }

.mk-prog-hero__field { display: grid; align-content: center; justify-items: center; gap: var(--mk-space-6); padding: var(--mk-space-7) var(--mk-gutter) var(--mk-space-7) var(--mk-space-7); overflow: hidden; }

/* Fiche : termes en Readex, valeurs en Markazi, séparés par des filets crème. */
.mk-prog-hero .mk-facts { margin: 0; inline-size: min(100%, 27rem); }
.mk-facts__item { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: var(--mk-space-4); align-items: baseline; padding-block: var(--mk-space-3); border-top: 1px solid color-mix(in srgb, var(--mk-cream) 26%, var(--mk-blue)); }
.mk-facts__item:last-child { border-bottom: 1px solid color-mix(in srgb, var(--mk-cream) 26%, var(--mk-blue)); }
.mk-facts dt { font-family: var(--mk-font-sans); font-size: var(--mk-size-small); color: color-mix(in srgb, var(--mk-cream) 82%, var(--mk-blue)); }
.mk-prog-hero .mk-facts dd { margin: 0; font-family: var(--mk-font-serif); font-size: 1.375rem; line-height: 1.2; color: var(--mk-cream); font-variant-numeric: tabular-nums; }

/* Fil d'Ariane */
.mk-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--mk-space-1) var(--mk-space-2); font-family: var(--mk-font-sans); font-size: var(--mk-size-small); line-height: 1.5; color: var(--mk-muted); }
.mk-crumbs li { display: inline-flex; gap: var(--mk-space-2); }
.mk-crumbs li { align-items: center; }
.mk-crumbs li + li::before { content: ""; inline-size: .4rem; block-size: .4rem; border-inline-end: var(--mk-stroke) solid var(--mk-line-strong); border-block-end: var(--mk-stroke) solid var(--mk-line-strong); transform: rotate(-45deg); } /* chevron tracé */
[dir="rtl"] .mk-crumbs li + li::before { transform: rotate(135deg); }
.mk-crumbs a { color: var(--mk-ink-soft); text-decoration: underline; text-decoration-color: var(--mk-line-strong); text-underline-offset: .22em; transition: color var(--mk-dur-1) var(--mk-ease), text-decoration-color var(--mk-dur-1) var(--mk-ease); }
.mk-crumbs a:hover { color: var(--mk-blue); text-decoration-color: currentColor; }
.mk-crumbs a:focus-visible { outline: 2px solid transparent; box-shadow: var(--mk-focus); }
.mk-crumbs [aria-current] { color: var(--mk-ink); }
.mk-hub-hero .mk-prog-hero__field { align-content: center; }

/* Hub /programmes/ : même respiration que les pages programme */
.mk-hub .mk-tracks { margin-block-end: var(--mk-space-8); }
.mk-hub .mk-page__section { padding-block: var(--mk-space-9); }

@media (max-width: 1024px) {
	.mk-prog-hero { grid-template-columns: 1fr; min-height: 0; }
	.mk-prog-hero__copy { padding: var(--mk-space-7) var(--mk-gutter); }
	.mk-prog-hero__field { grid-template-columns: minmax(0, 220px) minmax(0, 27rem); justify-content: center; align-items: center; padding: var(--mk-space-7) var(--mk-gutter); }
}

@media (max-width: 640px) {
	.mk-prog-hero__copy { gap: var(--mk-space-4); padding-block: var(--mk-space-5) var(--mk-space-7); }
	.mk-prog-hero__actions .mk-btn { flex: 1 1 100%; }
	.mk-prog-hero__field { grid-template-columns: 1fr; gap: var(--mk-space-4); padding: var(--mk-space-6) var(--mk-gutter); }
	.mk-prog-hero .mk-facts { inline-size: 100%; }
	.mk-facts__item { grid-template-columns: 6.25rem minmax(0, 1fr); }
	.mk-prog-hero .mk-facts dd { font-size: 1.25rem; }
}

/* ---------- Tarifs : vrai tableau, chiffres tabulaires ---------- */
.mk-prices-wrap { overflow-x: auto; } /* garde-fou si la grille reçoit des décimales */
.mk-prices-wrap .mk-prices { margin: 0; inline-size: 100%; border-collapse: collapse; font-family: var(--mk-font-sans); font-variant-numeric: tabular-nums; }
.mk-prices--single { max-width: 30rem; }
.mk-prices-wrap .mk-prices caption { caption-side: top; text-align: start; padding-bottom: var(--mk-space-4); font-size: var(--mk-size-small); line-height: 1.5; color: var(--mk-muted); max-width: 40em; }
.mk-prices th, .mk-prices td { padding: var(--mk-space-4) var(--mk-space-3); text-align: start; vertical-align: top; border-top: var(--mk-hairline); }
.mk-prices :is(th, td):first-child { padding-inline-start: 0; }
.mk-prices thead th { padding-block: var(--mk-space-3); border-top: 2px solid var(--mk-blue); font-family: var(--mk-font-serif); font-size: 1.5rem; font-weight: 500; line-height: 1.1; color: var(--mk-blue); }
.mk-prices thead th:first-child { vertical-align: bottom; font-family: var(--mk-font-sans); font-size: var(--mk-size-small); font-weight: 400; color: var(--mk-muted); }
.mk-prices tbody th { font-weight: 400; font-size: var(--mk-size-small); line-height: 1.4; color: var(--mk-ink-soft); }
.mk-price__month { display: block; font-family: var(--mk-font-serif); font-size: 1.875rem; line-height: 1; color: var(--mk-ink); }
.mk-price__unit { display: block; margin-top: var(--mk-space-1); font-size: var(--mk-size-small); color: var(--mk-muted); }
.mk-price__hour { display: block; font-size: .8125rem; color: var(--mk-muted); }
.mk-prices__more td { font-size: var(--mk-size-small); color: var(--mk-ink-soft); }
.mk-prices tbody tr:last-child > * { border-bottom: var(--mk-hairline); }
.mk-prices-wrap ~ .mk-prices__fees, .mk-prog-section .mk-prices__fees, .mk-page .mk-prices__fees { margin: var(--mk-space-5) 0 0; max-width: 40em; font-family: var(--mk-font-sans); font-size: 1rem; line-height: 1.55; color: var(--mk-ink-soft); }
.mk-prices-wrap + .mk-prices-wrap { margin-top: var(--mk-space-7); }

@media (max-width: 640px) {
	.mk-prices th, .mk-prices td { padding: var(--mk-space-3) var(--mk-space-2); }
	.mk-prices thead th { font-size: 1.1875rem; }
	.mk-price__month { font-size: 1.375rem; }
	.mk-price__unit { display: none; } /* la légende du tableau précise : prix mensuels */
	.mk-price__hour { font-size: .75rem; white-space: nowrap; }
}
