/**
 * Composants partagés du thème Mosquée Ismaïl.
 * Les jetons (couleurs, polices, tailles, espacements, ombres) sont dans theme.json.
 */

/* ------------------------------------------------------------------
 * Arche : la forme des arcades (arc brisé à pieds droits, relevée sur la capture de référence).
 * Photos et vidéos : clip-path: var(--mi-arche) (boîte 2:3). Pastilles : var(--mi-arche-pastille) (≈ 6:7).
 * Filets (trait de 1 px, ou 1,5 px pour les pastilles, ouvert en bas) : un pseudo-élément un peu plus grand que
 * l'objet, fond de la couleur du trait, clip-path: var(--mi-arche-filet*). Utilisée par les extensions Contenus et Dons.
 * Ne pas modifier à la main : node dev/arche-forme.mjs ecrire
 * ------------------------------------------------------------------ */
/* arche:début — généré par dev/arche-forme.mjs */
:root {
	--mi-arche: polygon(0.73% 100%, 0.21% 43.16%, 0.59% 42.67%, 1.03% 42.22%, 1.53% 41.83%, 2.12% 41.52%, 2.79% 41.3%, 1.83% 40.76%, 1.03% 40.04%, 0.47% 39.29%, 0.17% 38.64%, 0.21% 38.25%, 0.19% 38.15%, 0.14% 37.85%, 0.08% 37.37%, 0.03% 36.73%, 0% 35.92%, 0.02% 34.97%, 0.1% 33.88%, 0.27% 32.66%, 0.54% 31.33%, 0.93% 29.9%, 1.45% 28.39%, 2.14% 26.79%, 3% 25.12%, 4.05% 23.41%, 5.32% 21.64%, 6.82% 19.85%, 8.57% 18.03%, 10.59% 16.21%, 12.89% 14.38%, 15.51% 12.58%, 18.44% 10.79%, 21.73% 9.05%, 25.37% 7.35%, 29.4% 5.71%, 33.82% 4.15%, 38.66% 2.67%, 43.94% 1.28%, 49.68% 0%, 55.3% 1.29%, 60.5% 2.69%, 65.27% 4.18%, 69.65% 5.75%, 73.64% 7.4%, 77.27% 9.1%, 80.56% 10.85%, 83.51% 12.63%, 86.15% 14.44%, 88.5% 16.26%, 90.56% 18.09%, 92.37% 19.9%, 93.93% 21.69%, 95.27% 23.45%, 96.4% 25.17%, 97.33% 26.83%, 98.09% 28.42%, 98.7% 29.94%, 99.16% 31.36%, 99.51% 32.68%, 99.74% 33.89%, 99.89% 34.98%, 99.97% 35.93%, 100% 36.73%, 99.99% 37.38%, 99.96% 37.85%, 99.93% 38.15%, 99.92% 38.25%, 99.81% 38.74%, 99.32% 39.46%, 98.62% 40.23%, 97.88% 40.9%, 97.3% 41.3%, 98.04% 41.67%, 98.66% 41.99%, 99.18% 42.32%, 99.59% 42.7%, 99.92% 43.16%, 99.64% 100%);
	--mi-arche-pastille: polygon(0.53% 100%, 0.21% 55.03%, 0.59% 54.4%, 1.03% 53.83%, 1.53% 53.34%, 2.12% 52.94%, 2.79% 52.66%, 1.83% 51.97%, 1.03% 51.05%, 0.47% 50.09%, 0.17% 49.27%, 0.21% 48.76%, 0.19% 48.64%, 0.14% 48.26%, 0.08% 47.65%, 0.03% 46.83%, 0% 45.8%, 0.02% 44.58%, 0.1% 43.19%, 0.27% 41.64%, 0.54% 39.95%, 0.93% 38.13%, 1.45% 36.19%, 2.14% 34.16%, 3% 32.03%, 4.05% 29.84%, 5.32% 27.59%, 6.82% 25.31%, 8.57% 22.99%, 10.59% 20.66%, 12.89% 18.34%, 15.51% 16.03%, 18.44% 13.76%, 21.73% 11.54%, 25.37% 9.37%, 29.4% 7.29%, 33.82% 5.29%, 38.66% 3.4%, 43.94% 1.63%, 49.68% 0%, 55.3% 1.65%, 60.5% 3.43%, 65.27% 5.33%, 69.65% 7.34%, 73.64% 9.43%, 77.27% 11.6%, 80.56% 13.83%, 83.51% 16.1%, 86.15% 18.41%, 88.5% 20.73%, 90.56% 23.06%, 92.37% 25.37%, 93.93% 27.66%, 95.27% 29.9%, 96.4% 32.09%, 97.33% 34.21%, 98.09% 36.24%, 98.7% 38.17%, 99.16% 39.98%, 99.51% 41.67%, 99.74% 43.21%, 99.89% 44.6%, 99.97% 45.81%, 100% 46.83%, 99.99% 47.66%, 99.96% 48.26%, 99.93% 48.64%, 99.92% 48.76%, 99.81% 49.39%, 99.32% 50.31%, 98.62% 51.3%, 97.88% 52.15%, 97.3% 52.66%, 98.04% 53.12%, 98.66% 53.54%, 99.18% 53.96%, 99.59% 54.44%, 99.92% 55.03%, 99.74% 100%);
	--mi-arche-filet: polygon(0.73% 100%, 0.21% 43.16%, 0.59% 42.67%, 1.03% 42.22%, 1.53% 41.83%, 2.12% 41.52%, 2.79% 41.3%, 1.83% 40.76%, 1.03% 40.04%, 0.47% 39.29%, 0.17% 38.64%, 0.21% 38.25%, 0.19% 38.15%, 0.14% 37.85%, 0.08% 37.37%, 0.03% 36.73%, 0% 35.92%, 0.02% 34.97%, 0.1% 33.88%, 0.27% 32.66%, 0.54% 31.33%, 0.93% 29.9%, 1.45% 28.39%, 2.14% 26.79%, 3% 25.12%, 4.05% 23.41%, 5.32% 21.64%, 6.82% 19.85%, 8.57% 18.03%, 10.59% 16.21%, 12.89% 14.38%, 15.51% 12.58%, 18.44% 10.79%, 21.73% 9.05%, 25.37% 7.35%, 29.4% 5.71%, 33.82% 4.15%, 38.66% 2.67%, 43.94% 1.28%, 49.68% 0%, 55.3% 1.29%, 60.5% 2.69%, 65.27% 4.18%, 69.65% 5.75%, 73.64% 7.4%, 77.27% 9.1%, 80.56% 10.85%, 83.51% 12.63%, 86.15% 14.44%, 88.5% 16.26%, 90.56% 18.09%, 92.37% 19.9%, 93.93% 21.69%, 95.27% 23.45%, 96.4% 25.17%, 97.33% 26.83%, 98.09% 28.42%, 98.7% 29.94%, 99.16% 31.36%, 99.51% 32.68%, 99.74% 33.89%, 99.89% 34.98%, 99.97% 35.93%, 100% 36.73%, 99.99% 37.38%, 99.96% 37.85%, 99.93% 38.15%, 99.92% 38.25%, 99.81% 38.74%, 99.32% 39.46%, 98.62% 40.23%, 97.88% 40.9%, 97.3% 41.3%, 98.04% 41.67%, 98.66% 41.99%, 99.18% 42.32%, 99.59% 42.7%, 99.92% 43.16%, 99.64% 100%, calc(99.64% - 1px) calc(100% - 0px), calc(99.92% - 1px) calc(43.16% + 0.22px), calc(99.59% - 0.86px) calc(42.7% + 0.51px), calc(99.18% - 0.75px) calc(42.32% + 0.66px), calc(98.66% - 0.66px) calc(41.99% + 0.76px), calc(98.04% - 0.61px) calc(41.67% + 0.8px), calc(97.3% - 1.52px) calc(41.3% + 0.12px), calc(97.88% - 0.77px) calc(40.9% - 0.65px), calc(98.62% - 0.83px) calc(40.23% - 0.55px), calc(99.32% - 0.89px) calc(39.46% - 0.47px), calc(99.81% - 0.97px) calc(38.74% - 0.28px), calc(99.92% - 0.99px) calc(38.25% - 0.12px), calc(99.93% - 1px) calc(38.15% - 0.08px), calc(99.96% - 1px) calc(37.85% - 0.05px), calc(99.99% - 1px) calc(37.38% - 0.03px), calc(100% - 1px) calc(36.73% + 0.01px), calc(99.97% - 1px) calc(35.93% + 0.04px), calc(99.89% - 1px) calc(34.98% + 0.07px), calc(99.74% - 0.99px) calc(33.89% + 0.11px), calc(99.51% - 0.99px) calc(32.68% + 0.15px), calc(99.16% - 0.98px) calc(31.36% + 0.19px), calc(98.7% - 0.97px) calc(29.94% + 0.24px), calc(98.09% - 0.96px) calc(28.42% + 0.28px), calc(97.33% - 0.95px) calc(26.83% + 0.33px), calc(96.4% - 0.93px) calc(25.17% + 0.38px), calc(95.27% - 0.9px) calc(23.45% + 0.43px), calc(93.93% - 0.88px) calc(21.69% + 0.48px), calc(92.37% - 0.85px) calc(19.9% + 0.53px), calc(90.56% - 0.82px) calc(18.09% + 0.58px), calc(88.5% - 0.78px) calc(16.26% + 0.63px), calc(86.15% - 0.74px) calc(14.44% + 0.67px), calc(83.51% - 0.69px) calc(12.63% + 0.72px), calc(80.56% - 0.65px) calc(10.85% + 0.76px), calc(77.27% - 0.6px) calc(9.1% + 0.8px), calc(73.64% - 0.55px) calc(7.4% + 0.84px), calc(69.65% - 0.5px) calc(5.75% + 0.87px), calc(65.27% - 0.45px) calc(4.18% + 0.89px), calc(60.5% - 0.4px) calc(2.69% + 0.92px), calc(55.3% - 0.35px) calc(1.29% + 0.94px), calc(49.68% - 0px) calc(0% + 1.06px), calc(43.94% + 0.34px) calc(1.28% + 0.94px), calc(38.66% + 0.39px) calc(2.67% + 0.92px), calc(33.82% + 0.44px) calc(4.15% + 0.9px), calc(29.4% + 0.5px) calc(5.71% + 0.87px), calc(25.37% + 0.55px) calc(7.35% + 0.84px), calc(21.73% + 0.6px) calc(9.05% + 0.8px), calc(18.44% + 0.65px) calc(10.79% + 0.76px), calc(15.51% + 0.7px) calc(12.58% + 0.72px), calc(12.89% + 0.74px) calc(14.38% + 0.67px), calc(10.59% + 0.79px) calc(16.21% + 0.62px), calc(8.57% + 0.82px) calc(18.03% + 0.57px), calc(6.82% + 0.86px) calc(19.85% + 0.51px), calc(5.32% + 0.89px) calc(21.64% + 0.46px), calc(4.05% + 0.91px) calc(23.41% + 0.41px), calc(3% + 0.94px) calc(25.12% + 0.35px), calc(2.14% + 0.95px) calc(26.79% + 0.3px), calc(1.45% + 0.97px) calc(28.39% + 0.25px), calc(0.93% + 0.98px) calc(29.9% + 0.2px), calc(0.54% + 0.99px) calc(31.33% + 0.16px), calc(0.27% + 0.99px) calc(32.66% + 0.11px), calc(0.1% + 1px) calc(33.88% + 0.07px), calc(0.02% + 1px) calc(34.97% + 0.03px), calc(0% + 1px) calc(35.92% - 0px), calc(0.03% + 1px) calc(36.73% - 0.04px), calc(0.08% + 1px) calc(37.37% - 0.07px), calc(0.14% + 1px) calc(37.85% - 0.1px), calc(0.19% + 0.99px) calc(38.15% - 0.12px), calc(0.21% + 1px) calc(38.25% - 0.04px), calc(0.17% + 1.01px) calc(38.64% - 0.12px), calc(0.47% + 0.93px) calc(39.29% - 0.37px), calc(1.03% + 0.86px) calc(40.04% - 0.52px), calc(1.83% + 0.74px) calc(40.76% - 0.69px), calc(2.79% + 1.81px) calc(41.3% + 0.22px), calc(2.12% + 0.54px) calc(41.52% + 0.85px), calc(1.53% + 0.69px) calc(41.83% + 0.73px), calc(1.03% + 0.8px) calc(42.22% + 0.61px), calc(0.59% + 0.87px) calc(42.67% + 0.5px), calc(0.21% + 1px) calc(43.16% + 0.24px), calc(0.73% + 1px) calc(100% - 0.01px));
	--mi-arche-filet-pastille: polygon(0.53% 100%, 0.21% 55.03%, 0.59% 54.4%, 1.03% 53.83%, 1.53% 53.34%, 2.12% 52.94%, 2.79% 52.66%, 1.83% 51.97%, 1.03% 51.05%, 0.47% 50.09%, 0.17% 49.27%, 0.21% 48.76%, 0.19% 48.64%, 0.14% 48.26%, 0.08% 47.65%, 0.03% 46.83%, 0% 45.8%, 0.02% 44.58%, 0.1% 43.19%, 0.27% 41.64%, 0.54% 39.95%, 0.93% 38.13%, 1.45% 36.19%, 2.14% 34.16%, 3% 32.03%, 4.05% 29.84%, 5.32% 27.59%, 6.82% 25.31%, 8.57% 22.99%, 10.59% 20.66%, 12.89% 18.34%, 15.51% 16.03%, 18.44% 13.76%, 21.73% 11.54%, 25.37% 9.37%, 29.4% 7.29%, 33.82% 5.29%, 38.66% 3.4%, 43.94% 1.63%, 49.68% 0%, 55.3% 1.65%, 60.5% 3.43%, 65.27% 5.33%, 69.65% 7.34%, 73.64% 9.43%, 77.27% 11.6%, 80.56% 13.83%, 83.51% 16.1%, 86.15% 18.41%, 88.5% 20.73%, 90.56% 23.06%, 92.37% 25.37%, 93.93% 27.66%, 95.27% 29.9%, 96.4% 32.09%, 97.33% 34.21%, 98.09% 36.24%, 98.7% 38.17%, 99.16% 39.98%, 99.51% 41.67%, 99.74% 43.21%, 99.89% 44.6%, 99.97% 45.81%, 100% 46.83%, 99.99% 47.66%, 99.96% 48.26%, 99.93% 48.64%, 99.92% 48.76%, 99.81% 49.39%, 99.32% 50.31%, 98.62% 51.3%, 97.88% 52.15%, 97.3% 52.66%, 98.04% 53.12%, 98.66% 53.54%, 99.18% 53.96%, 99.59% 54.44%, 99.92% 55.03%, 99.74% 100%, calc(99.74% - 1.5px) calc(100% - 0px), calc(99.92% - 1.5px) calc(55.03% + 0.33px), calc(99.59% - 1.3px) calc(54.44% + 0.77px), calc(99.18% - 1.13px) calc(53.96% + 0.99px), calc(98.66% - 0.98px) calc(53.54% + 1.13px), calc(98.04% - 0.91px) calc(53.12% + 1.19px), calc(97.3% - 2.28px) calc(52.66% + 0.18px), calc(97.88% - 1.15px) calc(52.15% - 0.97px), calc(98.62% - 1.25px) calc(51.3% - 0.83px), calc(99.32% - 1.33px) calc(50.31% - 0.7px), calc(99.81% - 1.45px) calc(49.39% - 0.43px), calc(99.92% - 1.49px) calc(48.76% - 0.17px), calc(99.93% - 1.5px) calc(48.64% - 0.12px), calc(99.96% - 1.5px) calc(48.26% - 0.08px), calc(99.99% - 1.5px) calc(47.66% - 0.04px), calc(100% - 1.5px) calc(46.83% + 0.01px), calc(99.97% - 1.5px) calc(45.81% + 0.06px), calc(99.89% - 1.5px) calc(44.6% + 0.11px), calc(99.74% - 1.49px) calc(43.21% + 0.17px), calc(99.51% - 1.48px) calc(41.67% + 0.23px), calc(99.16% - 1.47px) calc(39.98% + 0.29px), calc(98.7% - 1.46px) calc(38.17% + 0.35px), calc(98.09% - 1.44px) calc(36.24% + 0.42px), calc(97.33% - 1.42px) calc(34.21% + 0.49px), calc(96.4% - 1.39px) calc(32.09% + 0.57px), calc(95.27% - 1.36px) calc(29.9% + 0.64px), calc(93.93% - 1.32px) calc(27.66% + 0.72px), calc(92.37% - 1.27px) calc(25.37% + 0.79px), calc(90.56% - 1.22px) calc(23.06% + 0.87px), calc(88.5% - 1.17px) calc(20.73% + 0.94px), calc(86.15% - 1.11px) calc(18.41% + 1.01px), calc(83.51% - 1.04px) calc(16.1% + 1.08px), calc(80.56% - 0.97px) calc(13.83% + 1.14px), calc(77.27% - 0.9px) calc(11.6% + 1.2px), calc(73.64% - 0.83px) calc(9.43% + 1.25px), calc(69.65% - 0.75px) calc(7.34% + 1.3px), calc(65.27% - 0.67px) calc(5.33% + 1.34px), calc(60.5% - 0.6px) calc(3.43% + 1.38px), calc(55.3% - 0.53px) calc(1.65% + 1.41px), calc(49.68% - 0.01px) calc(0% + 1.58px), calc(43.94% + 0.51px) calc(1.63% + 1.41px), calc(38.66% + 0.59px) calc(3.4% + 1.38px), calc(33.82% + 0.66px) calc(5.29% + 1.35px), calc(29.4% + 0.74px) calc(7.29% + 1.3px), calc(25.37% + 0.82px) calc(9.37% + 1.26px), calc(21.73% + 0.9px) calc(11.54% + 1.2px), calc(18.44% + 0.97px) calc(13.76% + 1.14px), calc(15.51% + 1.05px) calc(16.03% + 1.08px), calc(12.89% + 1.11px) calc(18.34% + 1.01px), calc(10.59% + 1.18px) calc(20.66% + 0.93px), calc(8.57% + 1.24px) calc(22.99% + 0.85px), calc(6.82% + 1.29px) calc(25.31% + 0.77px), calc(5.32% + 1.33px) calc(27.59% + 0.69px), calc(4.05% + 1.37px) calc(29.84% + 0.61px), calc(3% + 1.4px) calc(32.03% + 0.53px), calc(2.14% + 1.43px) calc(34.16% + 0.45px), calc(1.45% + 1.45px) calc(36.19% + 0.38px), calc(0.93% + 1.47px) calc(38.13% + 0.3px), calc(0.54% + 1.48px) calc(39.95% + 0.23px), calc(0.27% + 1.49px) calc(41.64% + 0.17px), calc(0.1% + 1.5px) calc(43.19% + 0.11px), calc(0.02% + 1.5px) calc(44.58% + 0.05px), calc(0% + 1.5px) calc(45.8% - 0.01px), calc(0.03% + 1.5px) calc(46.83% - 0.06px), calc(0.08% + 1.5px) calc(47.65% - 0.1px), calc(0.14% + 1.49px) calc(48.26% - 0.15px), calc(0.19% + 1.49px) calc(48.64% - 0.19px), calc(0.21% + 1.51px) calc(48.76% - 0.06px), calc(0.17% + 1.51px) calc(49.27% - 0.18px), calc(0.47% + 1.4px) calc(50.09% - 0.56px), calc(1.03% + 1.28px) calc(51.05% - 0.79px), calc(1.83% + 1.1px) calc(51.97% - 1.03px), calc(2.79% + 2.72px) calc(52.66% + 0.33px), calc(2.12% + 0.81px) calc(52.94% + 1.27px), calc(1.53% + 1.04px) calc(53.34% + 1.09px), calc(1.03% + 1.2px) calc(53.83% + 0.91px), calc(0.59% + 1.3px) calc(54.4% + 0.75px), calc(0.21% + 1.5px) calc(55.03% + 0.36px), calc(0.53% + 1.5px) calc(100% - 0.01px));
	--mi-arche-filet-epais: polygon(0.73% 100%, 0.21% 43.16%, 0.59% 42.67%, 1.03% 42.22%, 1.53% 41.83%, 2.12% 41.52%, 2.79% 41.3%, 1.83% 40.76%, 1.03% 40.04%, 0.47% 39.29%, 0.17% 38.64%, 0.21% 38.25%, 0.19% 38.15%, 0.14% 37.85%, 0.08% 37.37%, 0.03% 36.73%, 0% 35.92%, 0.02% 34.97%, 0.1% 33.88%, 0.27% 32.66%, 0.54% 31.33%, 0.93% 29.9%, 1.45% 28.39%, 2.14% 26.79%, 3% 25.12%, 4.05% 23.41%, 5.32% 21.64%, 6.82% 19.85%, 8.57% 18.03%, 10.59% 16.21%, 12.89% 14.38%, 15.51% 12.58%, 18.44% 10.79%, 21.73% 9.05%, 25.37% 7.35%, 29.4% 5.71%, 33.82% 4.15%, 38.66% 2.67%, 43.94% 1.28%, 49.68% 0%, 55.3% 1.29%, 60.5% 2.69%, 65.27% 4.18%, 69.65% 5.75%, 73.64% 7.4%, 77.27% 9.1%, 80.56% 10.85%, 83.51% 12.63%, 86.15% 14.44%, 88.5% 16.26%, 90.56% 18.09%, 92.37% 19.9%, 93.93% 21.69%, 95.27% 23.45%, 96.4% 25.17%, 97.33% 26.83%, 98.09% 28.42%, 98.7% 29.94%, 99.16% 31.36%, 99.51% 32.68%, 99.74% 33.89%, 99.89% 34.98%, 99.97% 35.93%, 100% 36.73%, 99.99% 37.38%, 99.96% 37.85%, 99.93% 38.15%, 99.92% 38.25%, 99.81% 38.74%, 99.32% 39.46%, 98.62% 40.23%, 97.88% 40.9%, 97.3% 41.3%, 98.04% 41.67%, 98.66% 41.99%, 99.18% 42.32%, 99.59% 42.7%, 99.92% 43.16%, 99.64% 100%, calc(99.64% - 3px) calc(100% - 0.01px), calc(99.92% - 3px) calc(43.16% + 0.66px), calc(99.59% - 2.59px) calc(42.7% + 1.54px), calc(99.18% - 2.26px) calc(42.32% + 1.99px), calc(98.66% - 1.97px) calc(41.99% + 2.27px), calc(98.04% - 1.82px) calc(41.67% + 2.39px), calc(97.3% - 4.55px) calc(41.3% + 0.37px), calc(97.88% - 2.3px) calc(40.9% - 1.94px), calc(98.62% - 2.5px) calc(40.23% - 1.66px), calc(99.32% - 2.66px) calc(39.46% - 1.4px), calc(99.81% - 2.91px) calc(38.74% - 0.85px), calc(99.92% - 2.98px) calc(38.25% - 0.35px), calc(99.93% - 2.99px) calc(38.15% - 0.24px), calc(99.96% - 3px) calc(37.85% - 0.16px), calc(99.99% - 3px) calc(37.38% - 0.08px), calc(100% - 3px) calc(36.73% + 0.02px), calc(99.97% - 3px) calc(35.93% + 0.12px), calc(99.89% - 2.99px) calc(34.98% + 0.22px), calc(99.74% - 2.98px) calc(33.89% + 0.33px), calc(99.51% - 2.97px) calc(32.68% + 0.45px), calc(99.16% - 2.95px) calc(31.36% + 0.57px), calc(98.7% - 2.92px) calc(29.94% + 0.71px), calc(98.09% - 2.88px) calc(28.42% + 0.84px), calc(97.33% - 2.84px) calc(26.83% + 0.98px), calc(96.4% - 2.78px) calc(25.17% + 1.13px), calc(95.27% - 2.71px) calc(23.45% + 1.28px), calc(93.93% - 2.64px) calc(21.69% + 1.43px), calc(92.37% - 2.55px) calc(19.9% + 1.58px), calc(90.56% - 2.45px) calc(18.09% + 1.74px), calc(88.5% - 2.34px) calc(16.26% + 1.88px), calc(86.15% - 2.22px) calc(14.44% + 2.02px), calc(83.51% - 2.08px) calc(12.63% + 2.16px), calc(80.56% - 1.95px) calc(10.85% + 2.29px), calc(77.27% - 1.8px) calc(9.1% + 2.4px), calc(73.64% - 1.65px) calc(7.4% + 2.51px), calc(69.65% - 1.5px) calc(5.75% + 2.6px), calc(65.27% - 1.35px) calc(4.18% + 2.68px), calc(60.5% - 1.2px) calc(2.69% + 2.75px), calc(55.3% - 1.05px) calc(1.29% + 2.81px), calc(49.68% - 0.01px) calc(0% + 3.17px), calc(43.94% + 1.03px) calc(1.28% + 2.82px), calc(38.66% + 1.18px) calc(2.67% + 2.76px), calc(33.82% + 1.33px) calc(4.15% + 2.69px), calc(29.4% + 1.49px) calc(5.71% + 2.61px), calc(25.37% + 1.64px) calc(7.35% + 2.51px), calc(21.73% + 1.8px) calc(9.05% + 2.4px), calc(18.44% + 1.95px) calc(10.79% + 2.28px), calc(15.51% + 2.09px) calc(12.58% + 2.15px), calc(12.89% + 2.23px) calc(14.38% + 2.01px), calc(10.59% + 2.36px) calc(16.21% + 1.86px), calc(8.57% + 2.47px) calc(18.03% + 1.7px), calc(6.82% + 2.58px) calc(19.85% + 1.54px), calc(5.32% + 2.67px) calc(21.64% + 1.38px), calc(4.05% + 2.74px) calc(23.41% + 1.22px), calc(3% + 2.81px) calc(25.12% + 1.06px), calc(2.14% + 2.86px) calc(26.79% + 0.9px), calc(1.45% + 2.91px) calc(28.39% + 0.75px), calc(0.93% + 2.94px) calc(29.9% + 0.61px), calc(0.54% + 2.96px) calc(31.33% + 0.47px), calc(0.27% + 2.98px) calc(32.66% + 0.34px), calc(0.1% + 2.99px) calc(33.88% + 0.21px), calc(0.02% + 3px) calc(34.97% + 0.1px), calc(0% + 3px) calc(35.92% - 0.01px), calc(0.03% + 3px) calc(36.73% - 0.11px), calc(0.08% + 2.99px) calc(37.37% - 0.21px), calc(0.14% + 2.99px) calc(37.85% - 0.29px), calc(0.19% + 2.98px) calc(38.15% - 0.37px), calc(0.21% + 3.01px) calc(38.25% - 0.11px), calc(0.17% + 3.03px) calc(38.64% - 0.35px), calc(0.47% + 2.8px) calc(39.29% - 1.12px), calc(1.03% + 2.57px) calc(40.04% - 1.57px), calc(1.83% + 2.21px) calc(40.76% - 2.06px), calc(2.79% + 5.43px) calc(41.3% + 0.67px), calc(2.12% + 1.62px) calc(41.52% + 2.55px), calc(1.53% + 2.08px) calc(41.83% + 2.18px), calc(1.03% + 2.39px) calc(42.22% + 1.82px), calc(0.59% + 2.6px) calc(42.67% + 1.51px), calc(0.21% + 3px) calc(43.16% + 0.71px), calc(0.73% + 3px) calc(100% - 0.02px));
}
/* arche:fin */

/* ------------------------------------------------------------------
 * Surfaces du navigateur
 * ------------------------------------------------------------------ */

html {
	/* Ancres : bas réel de l'en-tête (mesuré par l'en-tête) + 12 px. */
	scroll-padding-top: calc(var(--mi-entete-hauteur, 76px) + var(--mi-horaires-bandeau, 0px) + 12px);
	scrollbar-color: var(--wp--preset--color--line-strong) transparent;
	-webkit-text-size-adjust: 100%;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	caret-color: var(--wp--preset--color--green);
}

::selection {
	background: var(--wp--preset--color--gold-light);
	color: var(--wp--preset--color--green-900);
}

/* Supprimer le flash tactile natif rectangulaire ; conserver les états et le focus clavier. */
:where(a, button, input[type="button"], input[type="submit"], input[type="reset"], [role="button"], [role="link"]) {
	-webkit-tap-highlight-color: transparent;
}

a {
	text-underline-offset: 4px;
	text-decoration-thickness: 1px;
}

a:hover {
	text-decoration-thickness: 2px;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--wp--preset--color--green);
	outline-offset: 3px;
}

/* Sur fond vert : anneau doré clair. */
:where(.has-green-background-color, .has-green-900-background-color, .mi-fond-sombre) :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline-color: var(--wp--preset--color--gold-light);
}

time,
.mi-chiffres,
table {
	font-variant-numeric: tabular-nums;
}

img {
	height: auto;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
	word-wrap: normal !important;
}

.skip-link.screen-reader-text:focus {
	z-index: 200;
	clip: auto !important;
	clip-path: none;
	width: auto;
	height: auto;
	padding: 14px 22px;
	border-radius: 999px;
	background: var(--wp--preset--color--green);
	color: var(--wp--preset--color--ivory);
	font-weight: 600;
}

/* Titres : mot d'accent en italique (doré clair sur vert). */
:where(h1, h2, h3, .wp-block-heading) em {
	font-style: italic;
}

:is(.has-green-background-color, .has-green-900-background-color, .mi-fond-sombre) :is(h1, h2, h3, .wp-block-heading) em {
	color: var(--wp--preset--color--gold-light);
}

/* Textes sur fond vert. */
:where(.has-green-background-color, .has-green-900-background-color, .mi-fond-sombre) {
	color: var(--wp--preset--color--ivory);
}

/* Spécificité réelle : les couleurs de titres de theme.json (vert très sombre) ne doivent pas l'emporter sur fond vert. */
:is(.has-green-background-color, .has-green-900-background-color, .mi-fond-sombre) :is(h1, h2, h3, h4) {
	color: var(--wp--preset--color--ivory);
}

:where(.has-green-background-color, .has-green-900-background-color, .mi-fond-sombre) a:where(:not(.wp-element-button)) {
	color: var(--wp--preset--color--ivory);
}

/* ------------------------------------------------------------------
 * Boutons (handoff : 52 px, pilule, 16/600)
 * ------------------------------------------------------------------ */

.wp-block-button__link,
.wp-element-button {
	box-sizing: border-box;
	min-height: 52px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background-color 150ms ease-out, border-color 150ms ease-out, color 150ms ease-out;
}

.wp-block-button.is-style-contour .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--green);
	box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--green);
}

.wp-block-button.is-style-contour .wp-block-button__link:hover {
	background: rgba(7, 63, 48, 0.07);
	color: var(--wp--preset--color--green);
}

.wp-block-button.is-style-dore .wp-block-button__link {
	background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--green-900);
}

.wp-block-button.is-style-dore .wp-block-button__link:hover {
	background: var(--wp--preset--color--gold-light);
	color: var(--wp--preset--color--green-900);
}

.wp-block-button.is-style-contour-clair .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--ivory);
	box-shadow: inset 0 0 0 1.5px rgba(245, 236, 217, 0.7);
}

.wp-block-button.is-style-contour-clair .wp-block-button__link:hover {
	background: rgba(245, 236, 217, 0.1);
	color: var(--wp--preset--color--ivory);
}

.wp-block-button.is-style-dore .wp-block-button__link:focus-visible,
.wp-block-button.is-style-contour-clair .wp-block-button__link:focus-visible {
	outline-color: var(--wp--preset--color--gold-light);
}

.wp-block-button__link[aria-disabled="true"],
.wp-element-button:disabled {
	background: var(--wp--preset--color--line);
	color: #6b6a5e;
	box-shadow: none;
	cursor: not-allowed;
}

/* ------------------------------------------------------------------
 * Étiquettes
 * ------------------------------------------------------------------ */

.is-style-sur-titre {
	font-family: var(--wp--preset--font-family--ibm-plex-mono);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-3);
}

:where(.has-green-background-color, .has-green-900-background-color, .mi-fond-sombre) .is-style-sur-titre {
	color: var(--wp--preset--color--gold-light);
}

/* « À valider » : donnée en attente de l'association (jamais présentée comme validée). */
.is-style-a-valider,
.mi-a-valider {
	display: inline-block;
	width: fit-content;
	padding: 4px 8px;
	border: 1px dashed var(--wp--custom--a-valider--bordure, #b79b5b);
	border-radius: 6px;
	font-family: var(--wp--preset--font-family--ibm-plex-mono);
	font-size: 11px;
	line-height: 1.4;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--custom--a-valider--texte, #5a4a22);
}

:where(.has-green-background-color, .has-green-900-background-color, .mi-fond-sombre) :is(.is-style-a-valider, .mi-a-valider) {
	border-color: var(--wp--preset--color--gold-light);
	color: var(--wp--preset--color--gold-light);
}

/* ------------------------------------------------------------------
 * Pied de page
 * ------------------------------------------------------------------ */

.mi-pied {
	color: var(--wp--preset--color--ivory);
}

.mi-pied__grille {
	display: grid;
	grid-template-columns: minmax(0, 1.33fr) minmax(0, 3fr);
	gap: 48px;
}

.mi-pied__marque {
	font-family: var(--wp--preset--font-family--cormorant-garamond);
	font-size: 32px;
	font-weight: 500;
	line-height: 1.1;
	color: var(--wp--preset--color--ivory);
}

.mi-pied__marque a {
	color: inherit;
	text-decoration: none;
}

.mi-pied__texte {
	max-width: 32ch;
	font-size: 15px;
	line-height: 1.6;
	color: var(--wp--preset--color--sage);
}

/* « Gérée par l’Association… » : plus long que l’adresse, tient sur une ligne. */
.mi-pied__texte.wp-block-mosquee-ismail-nom-association {
	max-width: 48ch;
	text-wrap: pretty;
}

.mi-pied__menus.is-colonnes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 32px 24px;
}

.mi-pied__titre a {
	color: inherit;
	text-decoration: none;
}

.mi-pied__titre a:hover {
	text-decoration: underline;
}

/* « Soutenir le projet » : en doré clair (handoff). */
.mi-pied__liens .mi-pied-soutenir a {
	color: var(--wp--preset--color--gold-light);
	font-weight: 600;
}

.mi-pied__titre {
	margin: 0 0 10px;
	font-family: var(--wp--preset--font-family--hanken-grotesk);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gold-light);
}

.mi-pied__liens {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mi-pied__liens a {
	display: inline-block;
	padding: 6px 0;
	color: var(--wp--preset--color--ivory);
	font-size: 15px;
	line-height: 20px;
	text-decoration: none;
}

.mi-pied__liens a:hover,
.mi-pied__ligne a:hover {
	color: var(--wp--preset--color--gold-light);
	text-decoration: underline;
}

.mi-pied__bas {
	border-top: 1px solid rgba(245, 236, 217, 0.15);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 12px 24px;
	font-size: 13px;
	color: var(--wp--preset--color--sage);
}

.mi-copyright {
	margin: 0;
}

/* Pas de marge de flux entre les éléments de la ligne : l'écart vient de « gap ». */
.mi-pied .mi-pied__bas > * {
	margin-block: 0;
}

/* Bureau : © à gauche, signature au centre, liens légaux à droite. Centre réel dès que la place le permet
   (sinon les colonnes gardent leur largeur de contenu : rien ne passe à la ligne). */
@media (min-width: 1024px) {
	.mi-pied__bas {
		display: grid;
		grid-template-columns: minmax(max-content, 1fr) auto minmax(max-content, 1fr);
	}

	/* Une seule ligne, quel que soit l'ordre des blocs dans l'éditeur de site. */
	.mi-pied__bas > * {
		grid-row: 1;
	}

	.mi-pied__bas .mi-copyright {
		grid-column: 1;
	}

	.mi-pied__bas .mi-signature {
		grid-column: 2;
	}

	.mi-pied__bas .mi-pied__menus {
		grid-column: 3;
		justify-self: end;
	}

	.mi-pied__bas .mi-pied__ligne {
		justify-content: flex-end;
	}
}

/* Signature « Conception & réalisation · Alwane.fr ». */
.mi-signature {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 10px;
	margin: 0;
	font-size: 13px;
	line-height: 20px;
}

.mi-signature__lien {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 44px;
	color: var(--wp--preset--color--ivory);
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
}

.mi-signature__lien:hover {
	color: var(--wp--preset--color--gold-light);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.mi-signature__logo {
	flex: none;
	width: 18px;
	height: 22px;
	background-color: currentColor;
	-webkit-mask: url("../img/alwane-cameleon.svg") center / contain no-repeat;
	mask: url("../img/alwane-cameleon.svg") center / contain no-repeat;
}

.mi-signature__fleche {
	flex: none;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.mi-pied__ligne {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0 24px;
}

.mi-pied__ligne a {
	display: inline-block;
	padding: 12px 0;
	color: var(--wp--preset--color--ivory);
	font-size: 13px;
	line-height: 20px;
	text-decoration: none;
}

/* Réseaux sociaux (bloc mosquee-ismail/reseaux) : cibles de 44 px, couleurs héritées du fond. */
.mi-reseaux__liste {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.mi-reseaux__lien {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	box-sizing: border-box;
	min-width: 44px;
	min-height: 44px;
	border: 1px solid currentColor;
	border-radius: 999px;
	color: var(--wp--preset--color--green);
	font-size: 15px;
	font-weight: 600;
	line-height: 20px;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.mi-reseaux__icone {
	flex: none;
	width: 20px;
	height: 20px;
}

.mi-reseaux.is-libelles .mi-reseaux__lien {
	padding: 0 18px 0 14px;
	border-color: var(--wp--preset--color--line-strong);
	background: var(--wp--preset--color--paper);
}

.mi-reseaux__lien:hover,
.mi-reseaux.is-libelles .mi-reseaux__lien:hover {
	border-color: var(--wp--preset--color--green);
	background: var(--wp--preset--color--green);
	color: var(--wp--preset--color--ivory);
}

.mi-pied .mi-reseaux {
	padding-top: 8px;
}

.mi-pied .mi-reseaux__lien {
	border-color: rgba(245, 236, 217, 0.35);
	color: var(--wp--preset--color--ivory);
}

.mi-pied .mi-reseaux__lien:hover,
.mi-pied .mi-reseaux.is-libelles .mi-reseaux__lien:hover {
	border-color: var(--wp--preset--color--gold-light);
	background: var(--wp--preset--color--gold-light);
	color: var(--wp--preset--color--green-900);
}

/* Page Accès et contact : coordonnées | horaires de prière, puis formulaire | plan d'accès. */
.mi-contact-page {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 40px 64px;
	align-items: start;
	padding-top: var(--wp--preset--spacing--80);
}

.mi-contact-page--ecrire {
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}

/* Sans coordonnées GPS, pas de plan : le formulaire garde une largeur de lecture. */
.mi-contact-page--ecrire:not(:has(.mi-carte)) {
	grid-template-columns: minmax(0, 720px);
}

.mi-contact-page__plan:not(:has(.mi-carte)) {
	display: none;
}

.mi-contact-page__colonne {
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
}

.mi-contact-page > *,
.mi-contact-page__colonne > * {
	margin-block: 0;
}

.mi-contact-page__titre {
	font-size: var(--wp--preset--font-size--xx-large);
}

.mi-contact-page__texte {
	max-width: 52ch;
	color: var(--wp--preset--color--ink-2);
}

.mi-contact-page__sous-titre {
	margin-top: 4px !important;
	font-family: var(--wp--preset--font-family--hanken-grotesk);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-3);
}

@media (max-width: 899px) {
	.mi-contact-page,
	.mi-contact-page--ecrire {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 781px) {
	.mi-reseaux.is-libelles .mi-reseaux__liste {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mi-reseaux.is-libelles .mi-reseaux__lien {
		width: 100%;
		justify-content: flex-start;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mi-reseaux__lien {
		transition: none;
	}
}

.mi-pied :where(a):focus-visible {
	outline-color: var(--wp--preset--color--gold-light);
}

/* Mobile (handoff refonte, F.5) : pied compact — identité, puis les rubriques en deux colonnes de liens
   de 44 px (titres de colonne seulement), « Soutenir le projet » en doré clair ; zone de sécurité en bas. */
@media (max-width: 781px) {
	.wp-site-blocks > footer {
		margin-block-start: 48px;
	}

	.mi-pied.mi-pied {
		padding: 28px 20px max(28px, env(safe-area-inset-bottom)) !important;
	}

	.mi-pied__grille {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}

	.mi-pied__marque {
		font-size: 22px;
		font-weight: 600;
	}

	.mi-pied__texte {
		font-size: 13px;
	}

	.mi-pied__menus.is-colonnes {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 12px;
	}

	.mi-pied__menus.is-colonnes .mi-pied__colonne:has(> .mi-pied__titre) .mi-pied__liens {
		display: none;
	}

	/* Liens isolés (Soutenir…) : sur toute la largeur, eux aussi en deux colonnes (liste conservée). */
	.mi-pied__menus.is-colonnes .mi-pied__colonne:not(:has(> .mi-pied__titre)) {
		grid-column: 1 / -1;
	}

	.mi-pied__menus.is-colonnes .mi-pied__colonne:not(:has(> .mi-pied__titre)) .mi-pied__liens {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 12px;
	}

	.mi-pied__titre {
		margin: 0;
		font-size: 15px;
		font-weight: 400;
		letter-spacing: 0;
		text-transform: none;
		color: var(--wp--preset--color--ivory);
	}

	.mi-pied__titre a,
	.mi-pied__menus.is-colonnes .mi-pied__liens a {
		display: flex;
		align-items: center;
		min-height: 44px;
		padding: 0;
		font-size: 15px;
	}

	.mi-pied__bas {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ------------------------------------------------------------------
 * Contenu courant
 * ------------------------------------------------------------------ */

.mi-contenu {
	padding-top: var(--wp--preset--spacing--70);
	padding-bottom: var(--wp--preset--spacing--80);
}

.mi-entete-page {
	padding-top: var(--wp--preset--spacing--70);
	padding-bottom: var(--wp--preset--spacing--60);
}

:lang(ar),
[dir="rtl"] {
	font-family: var(--wp--preset--font-family--amiri);
	line-height: 1.9;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
	}

	.wp-block-button__link,
	.wp-element-button {
		transition: none;
	}
}

/* ------------------------------------------------------------------
 * Fil d'Ariane et en-têtes de page
 * ------------------------------------------------------------------ */

.mi-contenu > .alignwide > .mi-fil-ariane,
.mi-contenu > .mi-fil-ariane {
	margin-bottom: var(--wp--preset--spacing--60);
	color: var(--wp--preset--color--green-900);
}

.mi-chapeau {
	margin: 0;
	max-width: 44ch;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.55;
	color: #1d3a30;
}

.mi-chapeau p {
	margin: 0;
}

/* ------------------------------------------------------------------
 * Chapitre (Apprendre l'Islam) — grille 250 / 720, écart 110
 * ------------------------------------------------------------------ */

.mi-article {
	display: grid;
	grid-template-columns: 250px minmax(0, 720px);
	gap: 110px;
	justify-content: center;
	align-items: start;
}

.mi-article__cote {
	align-self: stretch;
	padding-top: 150px;
}

.mi-article__corps {
	display: flex;
	flex-direction: column;
	gap: 0;
	min-width: 0;
}

.mi-article__corps > .mi-position {
	margin-bottom: 18px;
}

.mi-article__titre {
	margin: 0 0 28px;
	font-size: var(--wp--preset--font-size--display);
	line-height: 0.95;
}

.mi-article__corps > .mi-chapeau {
	max-width: none;
	margin-bottom: 24px;
}

.mi-article__texte {
	font-size: var(--wp--preset--font-size--article);
	line-height: 1.75;
	color: #1d3a30;
}

.mi-article__texte > * {
	margin-block: 18px 0;
}

.mi-article__texte > h2 {
	margin-top: 56px;
	font-size: clamp(30px, 25.5px + 1.14vw, 42px);
	font-weight: 600;
	line-height: 1.05;
}

.mi-article__texte > h3 {
	margin-top: 40px;
}

.mi-article__texte > :first-child {
	margin-top: 32px;
}

.mi-article__texte :where(em) {
	font-style: italic;
}

@media (max-width: 1023px) {
	.mi-article {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	.mi-article__cote {
		position: sticky;
		top: calc(var(--mi-entete-hauteur, 64px) + var(--mi-horaires-bandeau, 0px));
		z-index: 20;
		order: 0;
		padding-top: 0;
		margin-bottom: 24px;
	}

	.mi-article__texte {
		line-height: 1.7;
	}
}

/* ------------------------------------------------------------------
 * Page d'un thème — en-tête (texte | progression), corps (chapitres | côté)
 * ------------------------------------------------------------------ */

.mi-theme-entete {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
	gap: 48px 80px;
	align-items: end;
	padding-bottom: var(--wp--preset--spacing--70);
}

.mi-theme-entete__texte {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.mi-theme-entete__texte > .mi-fil-ariane {
	margin-bottom: 24px;
}

.mi-theme-entete__titre {
	margin: 18px 0 28px;
	font-size: var(--wp--preset--font-size--display-xl);
	line-height: 0.85;
}

.mi-separateur-plein.wp-block-separator {
	margin: 0;
	border: 0;
	border-top: 1px solid var(--wp--preset--color--line);
	opacity: 1;
}

.mi-theme-corps {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: var(--wp--preset--spacing--80) 100px;
	align-items: start;
	padding-top: var(--wp--preset--spacing--70);
}

.mi-theme-cote {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.mi-encart-relecture {
	padding: 22px;
	border-radius: 18px;
	background: var(--wp--preset--color--sage);
	font-size: 14px;
	line-height: 1.55;
	color: var(--wp--preset--color--ink-2);
}

.mi-encart-relecture > * {
	margin: 0 0 8px;
}

.mi-encart-relecture__titre {
	font-size: 15px;
	font-weight: 600;
	color: var(--wp--preset--color--green-900);
}

.mi-encart-relecture a {
	font-weight: 600;
	color: var(--wp--preset--color--green);
}

@media (max-width: 899px) {
	.mi-theme-entete,
	.mi-theme-corps {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Mobile (handoff refonte, écran 11) : en-tête resserré, progression compacte, chapitres juste après. */
@media (max-width: 781px) {
	.mi-theme-entete {
		gap: 12px;
		padding-bottom: 20px;
	}

	.mi-theme-entete__texte > .mi-fil-ariane {
		margin-bottom: 12px;
	}

	.mi-theme-entete__titre {
		margin: 8px 0 12px;
		font-size: 40px;
		line-height: 1.02;
	}

	.mi-page-theme .mi-separateur-plein {
		display: none;
	}

	.mi-theme-corps {
		gap: 32px;
		padding-top: 0;
	}

	.mi-progression {
		flex-flow: row wrap;
		align-items: center;
		gap: 10px 12px;
		padding: 14px 16px;
		border-radius: 18px;
	}

	.mi-progression__titre,
	.mi-progression__segments,
	.mi-progression__note {
		flex: 1 1 100%;
	}

	.mi-progression__segment {
		height: 4px;
	}

	.mi-progression__texte {
		flex: 1 1 10em;
		font-size: 13px;
		color: var(--wp--preset--color--ink-3);
	}

	.mi-progression__bouton {
		flex: 0 1 auto;
		min-height: 44px;
		padding: 0 14px;
		font-size: 14px;
	}
}

/* ------------------------------------------------------------------
 * Pages en mise en page libre (sommaire général, accueil)
 * ------------------------------------------------------------------ */

.mi-page-libre {
	padding-bottom: var(--wp--preset--spacing--80);
}

/* Bande verte arrondie pleine largeur, à 24 px (10 px sur mobile) des bords de la fenêtre. */
.mi-bande-verte.alignfull {
	box-sizing: border-box;
	border-radius: 28px;
	padding: var(--wp--preset--spacing--80) var(--wp--custom--gouttiere);
}

/* Même géométrie, fond au choix (accueil : héros, « Soutenir »). */
.mi-bande-arrondie.alignfull {
	box-sizing: border-box;
	border-radius: 28px;
}

.has-global-padding > :is(.mi-bande-verte, .mi-bande-arrondie).alignfull {
	margin-left: calc(var(--wp--style--root--padding-left) * -1 + 24px) !important;
	margin-right: calc(var(--wp--style--root--padding-right) * -1 + 24px) !important;
}

.mi-bande-verte .mi-fil-ariane {
	margin-bottom: 32px;
	color: var(--wp--preset--color--ivory);
}

.mi-bande-verte h1 {
	margin: 0 0 32px;
	font-size: var(--wp--preset--font-size--display);
	line-height: 0.9;
}

.mi-bande-verte p {
	max-width: 44ch;
	font-size: 19px;
	line-height: 1.6;
	color: var(--wp--preset--color--ivory);
}

.mi-bande-verte .wp-block-search__input {
	height: 60px;
	padding: 0 24px 0 52px;
	border: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 20 20'%3E%3Ccircle cx='9' cy='9' r='6' fill='none' stroke='%233F5A4F' stroke-width='1.7'/%3E%3Cpath d='m13.5 13.5 4 4' stroke='%233F5A4F' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 22px center;
	font-size: 17px;
	color: var(--wp--preset--color--green-900);
}

.mi-bande-verte .wp-block-search__input::placeholder {
	color: var(--wp--preset--color--ink-3);
	opacity: 1;
}

.mi-bande-verte .wp-block-search__inside-wrapper {
	border: 0;
	padding: 0;
}

.mi-bande-verte .wp-block-search__input:focus-visible {
	outline: 2px solid var(--wp--preset--color--gold-light);
	outline-offset: 3px;
}

.mi-bande-verte .wp-block-search {
	margin-bottom: 16px;
}

@media (max-width: 781px) {
	.mi-bande-verte.alignfull {
		border-radius: 24px;
		padding-block: 40px 44px;
	}

	.mi-bande-arrondie.alignfull {
		border-radius: 24px;
	}

	.has-global-padding > :is(.mi-bande-verte, .mi-bande-arrondie).alignfull {
		margin-left: calc(var(--wp--style--root--padding-left) * -1 + 10px) !important;
		margin-right: calc(var(--wp--style--root--padding-right) * -1 + 10px) !important;
	}
}

/* Titre de section avec étiquette à droite (« Cinq thèmes »). */
.mi-section {
	padding-top: var(--wp--preset--spacing--90);
}

.mi-section__entete {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px 24px;
	margin-bottom: 24px;
}

.mi-section__entete h2 {
	margin: 0;
}

/* Carte « Sources et relecture » du sommaire général. */
.mi-carte-papier {
	padding: 48px;
	border: 1.5px solid var(--wp--preset--color--line);
	border-radius: 28px;
	background: var(--wp--preset--color--paper);
}

.mi-carte-papier > * {
	margin-block: 0 18px;
}

/* Démarche éditoriale (Apprendre l'Islam) : carte pleine largeur, titre | texte et liens. */
.mi-carte-papier.mi-demarche {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	grid-auto-flow: row dense;
	column-gap: 64px;
	align-items: start;
}

.mi-demarche > :nth-child(-n+2) {
	grid-column: 1;
}

.mi-demarche > :nth-child(n+3) {
	grid-column: 2;
}

/* Le texte occupe la hauteur du sur-titre et du titre : pas de vide sous le sur-titre. */
.mi-demarche > :nth-child(3) {
	grid-row: 1 / span 2;
}

.mi-demarche > :last-child {
	margin-bottom: 0;
}

@media (max-width: 781px) {
	.mi-carte-papier.mi-demarche {
		grid-template-columns: minmax(0, 1fr);
	}

	.mi-demarche > * {
		grid-column: 1 !important;
		grid-row: auto !important;
	}
}

.mi-carte-papier > :last-child {
	margin-bottom: 0;
}

@media (max-width: 599px) {
	.mi-carte-papier {
		padding: 28px 22px;
		border-radius: 22px;
	}
}

.mi-apercu-editeur {
	padding: 16px;
	border: 1px dashed #b79b5b;
	border-radius: 12px;
	font-size: 13px;
	color: #5a4a22;
}

/* ------------------------------------------------------------------
 * Introduction de page (titre | encart) : chantier, soutenir…
 * ------------------------------------------------------------------ */

.mi-intro-page {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 440px);
	gap: 40px 80px;
	align-items: end;
	padding-top: var(--wp--preset--spacing--70);
}

.mi-intro-page__texte > .mi-fil-ariane {
	margin-bottom: 28px;
	color: var(--wp--preset--color--green-900);
}

.mi-intro-page__titre {
	margin: 0 0 24px;
	font-size: var(--wp--preset--font-size--display);
	line-height: 0.98;
}

@media (max-width: 899px) {
	.mi-intro-page {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Appel au don (bande verte). */
.mi-appel-don {
	margin-top: var(--wp--preset--spacing--90) !important;
}

.mi-appel-don__grille {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 24px 48px;
}

.mi-appel-don h2 {
	margin: 0 0 12px;
}

.mi-appel-don p {
	margin: 0;
}

/* ------------------------------------------------------------------
 * Liens de section et bouton « lien souligné »
 * ------------------------------------------------------------------ */

/* Cible tactile de 44 px. */
.mi-lien-fleche a {
	display: inline-block;
	padding-block: 11px;
	font-size: 16px;
	font-weight: 600;
	line-height: 22px;
	text-underline-offset: 5px;
}

.wp-block-button.is-style-lien .wp-block-button__link {
	min-height: 44px;
	padding-inline: 0;
	background: transparent;
	color: var(--wp--preset--color--green);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 5px;
}

.wp-block-button.is-style-lien .wp-block-button__link:hover {
	background: transparent;
	color: var(--wp--preset--color--green-900);
	text-decoration-thickness: 2px;
}

.wp-block-buttons:has(> .is-style-lien) {
	column-gap: 24px;
}

/* ------------------------------------------------------------------
 * Accueil — handoff « refonte mobile » (design_handoff_refonte_mobile : écrans B à F, § 13 ordinateur)
 * Mobile d'abord : gouttières de 16 px, cartes à 12 px des bords, 48 px entre les sections.
 * Ordinateur (≥ 1100 px) : composition d'avant la refonte (D33) — grand héros, carte des horaires en
 * chevauchement avec le financement, puis le rappel du jour en section compacte ; sections espacées de 96 px.
 * Le héros et la carte des horaires ne s'affichent que sur ordinateur ; la ligne « Prochaine prière », l'annonce
 * de tête, la présentation du projet et la carte du chantier, que sous 1100 px (mobile et tablette).
 * Le contenu de la page (post-content) n'a pas de mise en page contrainte : chaque section règle sa largeur.
 * ------------------------------------------------------------------ */

/* La ligne « Prochaine prière » touche l'en-tête : pas d'écart entre l'en-tête et le contenu. */
.wp-site-blocks > header.wp-block-template-part + .mi-accueil {
	margin-block-start: 0;
}

.mi-accueil {
	--mi-a-gouttiere: 16px;
	--mi-a-carte: 12px;
	--mi-a-section: 48px;
}

.mi-accueil :where(.mi-accueil-tete, .mi-apropos, .mi-actu-evt, .mi-acces) {
	box-sizing: border-box;
	margin: 0;
	max-width: none;
}

.mi-accueil :where(.mi-accueil-tete, .mi-apropos, .mi-actu-evt, .mi-acces) > * {
	margin-block: 0;
}

/* Ligne « Prochaine prière » : pleine largeur, juste sous l'en-tête. */
.mi-accueil .mi-accueil-ligne {
	margin: 0;
}

/* Premier écran (mobile) : annonce en cours, rappel du jour, présentation du projet, avancement du chantier.
   Les horaires détaillés sont sur leur page : la ligne « Prochaine prière » y mène et reste sous l'en-tête. */
.mi-accueil-tete {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas:
		"annonce"
		"rappel"
		"projet"
		"chantier";
}

.mi-accueil-tete__annonce {
	grid-area: annonce;
	margin: var(--mi-a-carte) var(--mi-a-carte) 0 !important;
}

.mi-accueil-tete__rappel {
	grid-area: rappel;
	margin: var(--mi-a-carte) var(--mi-a-carte) 0 !important;
}

.mi-accueil-tete > .mi-projet {
	grid-area: projet;
}

.mi-accueil-tete__chantier {
	grid-area: chantier;
	margin: 36px var(--mi-a-carte) 0 !important;
}

/* Présentation du projet : média 16:9, sur-titre, titre, texte, paire de boutons. */
.mi-projet {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 28px var(--mi-a-gouttiere) 0;
}

.mi-projet > *,
.mi-projet__texte > * {
	margin-block: 0;
}

.mi-projet__texte {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.mi-accueil .is-style-sur-titre {
	font-size: 12px;
}

.mi-projet__titre {
	font-family: var(--wp--preset--font-family--cormorant-garamond);
	font-size: 36px;
	font-weight: 500;
	line-height: 1.02;
	text-wrap: balance;
}

/* Pas de doré sur fond clair : l'accent reste vert, en italique. */
.mi-projet__titre em {
	color: var(--wp--preset--color--green);
}

.mi-projet__chapeau {
	font-size: 16px;
	line-height: 1.55;
	color: var(--wp--preset--color--ink-2);
}

/* Paire de boutons : côte à côte de 375 à 440 px, l'un sous l'autre si le texte est agrandi. */
.wp-block-buttons.mi-paire {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 8px;
}

.mi-paire > .wp-block-button {
	width: auto;
	min-width: 0;
	margin: 0;
}

.mi-paire .wp-block-button__link {
	width: 100%;
	min-height: 48px;
	padding: 0 12px;
	font-size: 15px;
	text-align: center;
}

/* À propos : texte puis quatre repères en cartes. */
.mi-accueil .mi-apropos {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: var(--mi-a-section) var(--mi-a-gouttiere) 0;
}

.mi-apropos__texte {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.mi-apropos__texte > * {
	margin-block: 0;
}

.mi-apropos__titre {
	font-family: var(--wp--preset--font-family--cormorant-garamond);
	font-size: 34px;
	font-weight: 500;
	line-height: 1.05;
}

.mi-apropos__texte > p:not(.is-style-sur-titre, .is-style-a-valider, .mi-apropos__histoire) {
	font-size: 16px;
	line-height: 1.6;
	color: var(--wp--preset--color--ink-2);
}

/* Lien discret vers « Notre histoire » : cible de 44 px, sans espace ajouté sous le texte. */
.mi-apropos__histoire a {
	padding-block: 0;
}

.mi-apropos__reperes {
	margin: 6px 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 8px;
}

.mi-apropos__reperes > li {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 14px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 18px;
	background: var(--wp--preset--color--paper);
	font-size: 14px;
	line-height: 1.45;
	color: var(--wp--preset--color--ink-3);
}

.mi-apropos__reperes > li::before {
	content: "";
	width: 26px;
	height: 26px;
	background: var(--wp--preset--color--green);
	-webkit-mask: var(--mi-repere-icone) center / contain no-repeat;
	mask: var(--mi-repere-icone) center / contain no-repeat;
}

.mi-apropos__reperes > li:nth-child(1) {
	--mi-repere-icone: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22%3E%3Cpath d=%22M5 21V10a7 7 0 0 1 14 0v11M9 21v-8a3 3 0 0 1 6 0v8%22/%3E%3C/svg%3E");
}

.mi-apropos__reperes > li:nth-child(2) {
	--mi-repere-icone: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22%3E%3Ccircle cx=%2212%22 cy=%227%22 r=%223%22/%3E%3Ccircle cx=%225%22 cy=%229.5%22 r=%222.2%22/%3E%3Ccircle cx=%2219%22 cy=%229.5%22 r=%222.2%22/%3E%3Cpath d=%22M6.5 20a5.5 5.5 0 0 1 11 0M1.5 19a4 4 0 0 1 4.5-3.6M22.5 19a4 4 0 0 0-4.5-3.6%22/%3E%3C/svg%3E");
}

.mi-apropos__reperes > li:nth-child(3) {
	--mi-repere-icone: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 6.5C10 5 7 4.5 3 4.5v14c4 0 7 .5 9 2 2-1.5 5-2 9-2v-14c-4 0-7 .5-9 2Zm0 0v14%22/%3E%3C/svg%3E");
}

.mi-apropos__reperes > li:nth-child(4) {
	--mi-repere-icone: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 20s-7.5-4.6-7.5-10.2A4.2 4.2 0 0 1 12 7.2a4.2 4.2 0 0 1 7.5 2.6C19.5 15.4 12 20 12 20Z%22/%3E%3C/svg%3E");
}

.mi-apropos__reperes strong {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--wp--preset--color--green-900);
}

/* Actualités et événements : une carte pleine largeur utile, puis les événements. */
.mi-accueil .mi-actu-evt {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: var(--mi-a-section) var(--mi-a-gouttiere) 0;
}

.mi-actu-evt__tete {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 0 12px;
}

.mi-actu-evt__titres {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.mi-actu-evt__titres > *,
.mi-actu-evt__tete > * {
	margin-block: 0;
}

.mi-actu__titre {
	font-family: var(--wp--preset--font-family--cormorant-garamond);
	font-size: 34px;
	font-weight: 500;
	line-height: 1.05;
}

:is(.mi-actu-evt__tout, .mi-apropos__histoire) a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

:is(.mi-actu-evt__tout, .mi-apropos__histoire) a:hover {
	text-decoration: underline;
}

.mi-actu-evt__grille {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.mi-actu-evt__grille > *,
.mi-actu__requete > * {
	margin-block: 0;
}

.mi-actu__grille {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mi-actu__grille > li {
	margin: 0;
}

.mi-actu-evt .mi-carte-actu {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 20px;
	background: var(--wp--preset--color--paper);
}

.mi-actu-evt .mi-carte-actu > *,
.mi-actu-evt .mi-carte-actu__corps > * {
	margin-block: 0;
}

.mi-actu-evt .mi-carte-actu__image {
	position: relative;
	background: var(--wp--preset--color--sand);
}

.mi-actu-evt .mi-carte-actu__image img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 0;
}

.mi-carte-actu__corps {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 14px 16px 6px;
}

.mi-actu-evt .mi-carte-actu__date {
	font-family: var(--wp--preset--font-family--ibm-plex-mono);
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-3);
}

.mi-actu-evt .mi-carte-actu__titre {
	font-family: var(--wp--preset--font-family--cormorant-garamond);
	font-size: 25px;
	font-weight: 600;
	line-height: 1.12;
	text-wrap: balance;
}

.mi-actu-evt .mi-carte-actu__titre a {
	color: var(--wp--preset--color--green-900);
	text-decoration: none;
}

.mi-actu-evt .mi-carte-actu__titre a:hover {
	text-decoration: underline;
}

.mi-actu-evt .mi-carte-actu__extrait,
.mi-actu-evt .mi-carte-actu__extrait p {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--wp--preset--color--ink-2);
}

.mi-actu-evt .mi-carte-actu__lire {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	min-height: 44px;
	font-size: 15px;
	font-weight: 600;
	color: var(--wp--preset--color--green);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.mi-actu-evt .mi-carte-actu__lire::after {
	content: "→";
	margin-left: 6px;
	text-decoration: none;
	display: inline-block;
}

.mi-actu__vide {
	margin: 0;
	padding: 16px;
	border: 1px dashed var(--wp--preset--color--line-strong);
	border-radius: 18px;
	color: var(--wp--preset--color--ink-2);
}

/* Événements (temps forts du chantier) : une ligne par événement, tuile de date de 56 px. */
.mi-actu-evt .mi-evenements__titre {
	margin: 0 0 8px;
	font-size: 11px;
}

.mi-actu-evt .mi-evenements__liste {
	gap: 8px;
}

.mi-actu-evt .mi-evenement__lien {
	box-sizing: border-box;
	align-items: center;
	gap: 14px;
	padding: 12px 14px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 18px;
}

.mi-actu-evt .mi-evenement__date {
	min-height: 0;
	border-color: var(--wp--preset--color--line);
	border-radius: 10px;
}

.mi-actu-evt .mi-evenements > .mi-lien-fleche {
	margin: 8px 0 0;
}

/* Accès et contact : coordonnées puis carte. */
:is(.mi-accueil, .mi-page-libre) .mi-acces {
	display: grid;
	gap: 24px;
	align-items: start;
	padding: var(--mi-a-section, 48px) var(--mi-a-gouttiere, 16px) 0;
}

.mi-acces__texte {
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-width: 560px;
}

.mi-acces__texte > * {
	margin-block: 0;
}

.mi-acces__titre {
	font-family: var(--wp--preset--font-family--cormorant-garamond);
	font-size: 34px;
	font-weight: 500;
	line-height: 1.05;
}

/* Tablette (700–1099 px) : une colonne centrée de 720 px, cartes à 2 colonnes. */
@media (min-width: 700px) and (max-width: 1099px) {
	.mi-accueil {
		--mi-a-gouttiere: 0px;
		--mi-a-carte: 0px;
	}

	.mi-accueil :is(.mi-accueil-tete, .mi-apropos, .mi-actu-evt, .mi-acces) {
		max-width: 720px;
		margin-inline: auto;
	}

	/* Carte du chantier sur toute la colonne (photo en tête, marges intérieures dans le bloc). */
	.mi-accueil-tete__chantier.mi-etat--accueil {
		border-radius: 28px;
	}

	.mi-actu-evt__grille {
		display: grid;
		grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
		align-items: start;
		gap: 16px;
	}
}

/* Ordinateur (≥ 1100 px) : maquette « Site Bureau ». */
@media (min-width: 1100px) {
	.mi-accueil {
		--mi-a-gouttiere: 48px;
		--mi-a-section: 96px;
	}

	/* Une colonne de 1 200 px, comme la carte des horaires et l'accueil d'avant la refonte. */
	.mi-accueil :is(.mi-accueil-tete, .mi-apropos, .mi-actu-evt, .mi-acces) {
		max-width: calc(1200px + 2 * var(--mi-a-gouttiere));
		margin-inline: auto;
	}

	/* Composition mobile remplacée sur ordinateur par le héros et la carte des horaires (relais au défilement,
	   annonce dans le pied de la carte). */
	.mi-accueil :is(.mi-accueil-ligne, .mi-accueil-tete__annonce, .mi-accueil-tete__chantier),
	.mi-accueil .mi-accueil-tete > .mi-projet {
		display: none;
	}

	/* L'en-tête est suivi du héros, à 24 px, comme avant la refonte. */
	.wp-site-blocks > header.wp-block-template-part + .mi-accueil {
		padding-top: 24px;
	}

	/* Rappel du jour : section compacte sous la carte des horaires, à sa largeur ; hauteur de son contenu. */
	.mi-accueil .mi-accueil-tete {
		display: block;
		padding: 56px var(--mi-a-gouttiere) 0;
	}

	.mi-accueil-tete__rappel {
		margin: 0 !important;
	}

	.mi-accueil .is-style-sur-titre {
		font-size: 13px;
	}

	.mi-accueil .mi-apropos {
		display: grid;
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
		gap: 56px;
		align-items: start;
	}

	.mi-apropos__texte {
		gap: 16px;
	}

	.mi-apropos__titre,
	.mi-actu__titre {
		font-size: 52px;
		line-height: 1;
	}

	.mi-apropos__texte > p:not(.is-style-sur-titre, .is-style-a-valider, .mi-apropos__histoire) {
		font-size: 17px;
		line-height: 1.65;
	}

	.mi-apropos__reperes {
		margin: 0;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.mi-apropos__reperes > li {
		gap: 8px;
		padding: 22px;
		border-radius: 22px;
		font-size: 15px;
	}

	.mi-apropos__reperes strong {
		font-family: var(--wp--preset--font-family--cormorant-garamond);
		font-size: 26px;
		line-height: 1.1;
	}

	.mi-accueil .mi-actu-evt {
		gap: 24px;
	}

	:is(.mi-actu-evt__tout, .mi-apropos__histoire) a {
		font-size: 15px;
	}

	.mi-actu-evt__grille {
		display: grid;
		grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
		gap: 24px;
		align-items: stretch;
	}

	.mi-actu-evt .mi-carte-actu {
		display: grid;
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
		height: 100%;
		border-radius: 24px;
	}

	.mi-actu-evt .mi-carte-actu__image,
	.mi-actu-evt .mi-carte-actu__image a {
		height: 100%;
		min-height: 300px;
	}

	.mi-actu-evt .mi-carte-actu__image img {
		height: 100%;
		aspect-ratio: auto;
	}

	.mi-carte-actu__corps {
		gap: 10px;
		padding: 28px;
	}

	.mi-actu-evt .mi-carte-actu__titre {
		font-size: 32px;
		line-height: 1.08;
	}

	.mi-actu-evt .mi-carte-actu__extrait,
	.mi-actu-evt .mi-carte-actu__extrait p {
		font-size: 16px;
		line-height: 1.6;
	}

	.mi-actu-evt .mi-carte-actu__lire {
		margin-top: auto;
	}

	.mi-actu-evt .mi-evenements {
		box-sizing: border-box;
		padding: 24px;
		border: 1px solid var(--wp--preset--color--line);
		border-radius: 24px;
	}

	.mi-actu-evt .mi-evenement__lien {
		padding: 0;
		border: 0;
	}

	:is(.mi-accueil, .mi-page-libre) .mi-acces:has(> .mi-carte) {
		grid-template-columns: minmax(0, 440px) minmax(0, 1fr);
		gap: 40px 80px;
	}

	.mi-acces__titre {
		font-size: 52px;
		line-height: 1;
	}
}


/* ------------------------------------------------------------------
 * Accueil sur ordinateur : héros et carte des horaires d'avant la refonte (D33, 09/10/2026)
 * Styles repris du thème d'avant la refonte (point de reprise b30802f, design_handoff_mosquee_ismail) et
 * vérifiés contre lui à 1100, 1280, 1440 et 1920 px : héros de 700 px à 24 px des bords, texte en bas à
 * gauche, médias du chantier en fond ; carte des horaires de 1 200 px qui le chevauche de 132 px.
 * Sous 1100 px, ni héros ni carte : le mobile et la tablette gardent leur composition (D27, D32).
 * ------------------------------------------------------------------ */

/* Héros : texte en bas à gauche sur le vert ; fond = bloc « Médias du bandeau » quand il est présent. */
.wp-block-cover.mi-heros {
	padding: 0 clamp(22px, 5.6vw, 80px) 176px;
	overflow: clip;
	background-color: var(--wp--preset--color--green);
	color: var(--wp--preset--color--ivory);
}

.wp-block-cover.mi-heros::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	z-index: 1;
	height: 260px;
	background: linear-gradient(0deg, rgba(2, 45, 34, 0.7), rgba(2, 45, 34, 0));
	pointer-events: none;
}

.mi-heros .wp-block-cover__inner-container {
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 18px;
	max-width: 640px;
}

.mi-heros .wp-block-cover__inner-container > * {
	margin-block: 0;
}

.mi-heros .is-style-sur-titre {
	letter-spacing: 0.16em;
}

/* Titre réduit d'environ un quart par rapport au handoff (84 → 64 px). */
.mi-heros__titre {
	font-size: clamp(36px, 25px + 2.7vw, 64px);
	font-weight: 500;
	line-height: 1;
	text-wrap: balance;
}

.mi-heros__texte {
	max-width: 520px;
	font-size: clamp(15px, 14px + 0.28vw, 18px);
	line-height: 1.55;
	text-wrap: pretty;
}

.mi-heros .mi-heros__boutons {
	gap: 10px;
	margin-top: 4px;
}

/* Boutons réduits d'environ 13 % (54 → 47 px), zone tactile toujours supérieure à 44 px. */
.mi-heros__boutons .wp-block-button__link {
	min-height: 47px;
	padding: 12px 24px;
	font-size: 15px;
}

/* Héros avec « Médias du bandeau » (bloc du thème) : la couche média (diapositives, voile localisé, bouton pause)
   couvre tout le héros sous le texte. */
.wp-block-cover.mi-heros:has(> .wp-block-cover__inner-container > .wp-block-mosquee-ismail-heros-medias) .wp-block-cover__inner-container {
	position: static; /* La couche se place par rapport au héros ; élément flexible : son z-index reste actif. */
}

.mi-heros .wp-block-cover__inner-container > .wp-block-mosquee-ismail-heros-medias {
	position: absolute;
	inset: 0;
	z-index: 0;
	margin: 0;
}

.mi-heros .wp-block-cover__inner-container > :not(.wp-block-mosquee-ismail-heros-medias) {
	position: relative;
	z-index: 1;
}

/* Place sur la page : bande arrondie à 24 px des bords ; carte des horaires en chevauchement, 1 200 px. */
.mi-accueil .wp-block-cover.mi-heros {
	margin: 0 24px;
	border-radius: 28px;
}

.mi-accueil .mi-horaires.mi-accueil-horaires {
	position: relative;
	z-index: 5;
	box-sizing: border-box;
	max-width: 1200px;
	margin: -132px auto 0;
}

@media (max-width: 1099px) {
	.mi-accueil .wp-block-cover.mi-heros,
	.mi-accueil .mi-horaires.mi-accueil-horaires {
		display: none;
	}
}

/* ------------------------------------------------------------------
 * Pages de rubrique : Notre histoire, La mosquée, Accès et contact, pages légales
 * ------------------------------------------------------------------ */

.mi-intro-page--seule {
	grid-template-columns: minmax(0, 980px);
}

.mi-intro-page--seule .mi-chapeau {
	max-width: 680px;
}

.mi-intro-page--seule .mi-intro-page__texte > .is-style-a-valider {
	margin-top: 16px;
}

/* Handoff « Notre histoire » : H1 112 px. */
.mi-titre-grand {
	font-size: var(--wp--preset--font-size--display);
	line-height: 0.9;
}

/* Emplacement réservé (récit illustré à venir). */
.mi-page-libre .mi-emplacement.alignfull {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 260px;
	margin-top: var(--wp--preset--spacing--70);
	padding: 40px 24px;
	border: 2px dashed #b79b5b;
	background: var(--wp--preset--color--paper);
	text-align: center;
}

.mi-emplacement > * {
	margin: 0 !important;
}

.mi-emplacement .is-style-sur-titre {
	font-size: 12px;
	letter-spacing: 0.12em;
	color: #5a4a22;
}

.mi-emplacement__titre {
	font-size: clamp(30px, 26.29px + 0.95vw, 40px);
	line-height: 1.1;
	text-wrap: balance;
}

.mi-emplacement__texte {
	max-width: 560px;
	font-size: 15px;
	color: var(--wp--preset--color--ink-2);
}

/* Trois temps en colonnes. */
.mi-page-libre .mi-temps-page {
	padding-top: var(--wp--preset--spacing--80);
}

.mi-temps-colonnes {
	counter-reset: mi-temps;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mi-temps-colonnes > li {
	counter-increment: mi-temps;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	padding-top: 20px;
	border-top: 1.5px solid var(--wp--preset--color--green-900);
	font-size: 15px;
	line-height: 1.55;
	color: var(--wp--preset--color--ink-2);
}

.mi-temps-colonnes > li::before {
	content: counter(mi-temps, upper-roman);
	font-family: var(--wp--preset--font-family--cormorant-garamond);
	font-size: 48px;
	font-style: italic;
	line-height: 0.9;
	color: var(--wp--preset--color--ink-3);
}

.mi-temps-colonnes strong {
	font-family: var(--wp--preset--font-family--cormorant-garamond);
	font-size: 32px;
	font-weight: 500;
	line-height: 1;
	color: var(--wp--preset--color--green-900);
}

/* Cartes d'une rubrique (La mosquée). */
.mi-page-libre .mi-cartes-rubrique {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	padding-top: var(--wp--preset--spacing--70);
}

.mi-page-libre .mi-carte-rubrique {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 32px;
	border: 1.5px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--carte);
	background: var(--wp--preset--color--paper);
	transition: border-color 150ms ease-out;
}

.mi-carte-rubrique > * {
	margin: 0 !important;
}

.mi-carte-rubrique h2 {
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.1;
}

.mi-carte-rubrique h2 a {
	color: inherit;
	text-decoration: none;
}

/* Toute la carte est cliquable (le lien reste le titre). */
.mi-carte-rubrique h2 a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

.mi-carte-rubrique:hover {
	border-color: var(--wp--preset--color--green);
}

.mi-carte-rubrique:hover h2 a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 5px;
}

.mi-carte-rubrique:has(a:focus-visible) {
	outline: 2px solid var(--wp--preset--color--green);
	outline-offset: 3px;
}

.mi-carte-rubrique h2 a:focus-visible {
	outline: none;
}

.mi-carte-rubrique p {
	font-size: 16px;
	line-height: 1.55;
	color: var(--wp--preset--color--ink-2);
}

/* Accès et contact (page). */
.mi-page-libre .mi-acces--page {
	padding-block: var(--wp--preset--spacing--70) 0;
}

/* Listes d'informations des pages légales. */
.mi-liste-infos {
	padding-left: 0;
	list-style: none;
}

.mi-liste-infos > li + li {
	margin-top: 8px;
}

@media (max-width: 899px) {
	.mi-temps-colonnes,
	.mi-page-libre .mi-cartes-rubrique {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 781px) {
	.mi-page-libre .mi-emplacement.alignfull {
		min-height: 200px;
	}

	.mi-temps-colonnes {
		gap: 28px;
	}

	.mi-temps-colonnes strong {
		font-size: 28px;
	}

	.mi-page-libre .mi-carte-rubrique {
		padding: 24px 22px;
	}
}

/* ------------------------------------------------------------------
 * Actualités : liste en cartes et article
 * ------------------------------------------------------------------ */

.mi-page-libre .mi-actualites {
	padding-top: var(--wp--preset--spacing--70);
}

.mi-actualites__grille {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 56px 32px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mi-actualites__grille > li {
	margin: 0;
}

.mi-carte-actu {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.mi-carte-actu > * {
	margin: 0 !important;
}

.mi-carte-actu__image {
	margin-bottom: 6px !important;
}

.mi-carte-actu__image img,
.mi-article-actu__image img {
	border-radius: var(--wp--custom--radius--carte);
}

.mi-carte-actu__meta {
	gap: 0 8px;
}

.mi-carte-actu__meta .wp-block-post-terms::before {
	content: "·";
	margin-right: 8px;
}

.mi-carte-actu__meta a {
	color: inherit;
}

.mi-carte-actu__titre {
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 600;
	line-height: 1.08;
}

.mi-carte-actu__titre a {
	color: inherit;
	text-decoration: none;
}

.mi-carte-actu__titre a:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 5px;
}

.mi-carte-actu__extrait {
	font-size: 16px;
	line-height: 1.55;
	color: var(--wp--preset--color--ink-2);
}

.mi-carte-actu__extrait p {
	margin: 0;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}

/* Lien explicite vers l'article (le titre et la photo y mènent aussi). */
.mi-carte-actu .mi-carte-actu__lire {
	display: inline-block;
	width: fit-content;
	padding: 10px 0;
	font-size: 16px;
	font-weight: 600;
	color: var(--wp--preset--color--green);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 5px;
}

.mi-carte-actu .mi-carte-actu__lire::after {
	content: "→" / "";
	/* En ligne-bloc : la flèche n'est pas soulignée avec le texte. */
	display: inline-block;
	margin-left: 8px;
	transition: transform 0.2s ease;
}

.mi-carte-actu .mi-carte-actu__lire:hover::after {
	transform: translateX(4px);
}

/* À la une : l'actualité la plus récente, en grand (première page de la liste seulement). */
@media (min-width: 900px) {
	body:not(.paged) .mi-actualites__grille > li:first-child {
		grid-column: 1 / -1;
		padding-bottom: 56px;
		border-bottom: 1px solid var(--wp--preset--color--line);
	}

	body:not(.paged) .mi-actualites__grille > li:first-child .mi-carte-actu {
		display: grid;
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		grid-template-rows: 1fr auto auto auto auto 1fr;
		column-gap: 56px;
		row-gap: 16px;
	}

	body:not(.paged) .mi-actualites__grille > li:first-child .mi-carte-actu__image {
		grid-row: 1 / -1;
		margin-bottom: 0 !important;
	}

	body:not(.paged) .mi-actualites__grille > li:first-child .mi-carte-actu > :not(.mi-carte-actu__image) {
		grid-column: 2;
	}

	body:not(.paged) .mi-actualites__grille > li:first-child .mi-carte-actu__meta {
		grid-row: 2;
	}

	body:not(.paged) .mi-actualites__grille > li:first-child .mi-carte-actu__titre {
		grid-row: 3;
	}

	body:not(.paged) .mi-actualites__grille > li:first-child .mi-carte-actu__extrait {
		grid-row: 4;
	}

	body:not(.paged) .mi-actualites__grille > li:first-child .mi-carte-actu__lire {
		grid-row: 5;
	}

	body:not(.paged) .mi-actualites__grille > li:first-child .mi-carte-actu__titre {
		font-size: var(--wp--preset--font-size--huge);
		line-height: 1.02;
		text-wrap: balance;
	}

	body:not(.paged) .mi-actualites__grille > li:first-child .mi-carte-actu__extrait {
		font-size: 18px;
		line-height: 1.6;
	}

	body:not(.paged) .mi-actualites__grille > li:first-child .mi-carte-actu__extrait p {
		-webkit-line-clamp: 6;
	}

	/* Bouton plein, comme « Lire l'actualité » sur l'accueil. */
	body:not(.paged) .mi-actualites__grille > li:first-child .mi-carte-actu__lire {
		margin-top: 8px !important;
		padding: 15px 26px;
		border-radius: 999px;
		background: var(--wp--preset--color--green);
		color: var(--wp--preset--color--ivory);
		text-decoration: none;
	}

	body:not(.paged) .mi-actualites__grille > li:first-child .mi-carte-actu__lire:hover {
		background: var(--wp--preset--color--green-900);
	}
}

.mi-actualites .mi-pagination {
	margin-top: 64px;
	font-weight: 600;
}

.mi-actualites__vide {
	font-size: 18px;
	color: var(--wp--preset--color--ink-2);
}

.mi-article-actu__entete {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.mi-article-actu__entete > * {
	margin: 0 !important;
}

.mi-article-actu__entete > .mi-fil-ariane {
	margin-bottom: 12px !important;
}

.mi-article-actu__titre {
	font-size: var(--wp--preset--font-size--display);
	line-height: 1.02;
	text-wrap: balance;
}

.mi-article-actu__entete .mi-chapeau {
	max-width: none;
}

.mi-article-actu__entete .mi-chapeau p {
	margin: 0;
}

.mi-contenu > .mi-article-actu__image {
	margin-top: 48px;
}

.mi-contenu > .mi-article-actu__texte {
	margin-top: 40px;
}

.mi-contenu > .mi-article-actu__navigation {
	gap: 16px 32px;
	margin-top: 64px;
	padding-top: 24px;
	border-top: 1px solid var(--wp--preset--color--line);
}

.mi-contenu > .mi-article-actu__navigation:not(:has(a)) {
	display: none;
}

@media (max-width: 1023px) {
	.mi-actualites__grille {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 639px) {
	.mi-actualites__grille {
		grid-template-columns: minmax(0, 1fr);
		gap: 40px;
	}

	.mi-carte-actu__image img,
	.mi-article-actu__image img {
		border-radius: 18px;
	}
}

/* ------------------------------------------------------------------
 * Récit d'un temps fort (article) : l'invitation, la visite, se projeter, la galerie.
 * Motif : l'arche (arcades du bâtiment, affiche de la visite).
 * ------------------------------------------------------------------ */

/* Arche : la forme des arcades (variable --mi-arche, en tête de ce fichier), quelle que soit la proportion. */
.wp-block-image.is-style-arche img,
.wp-block-video.is-style-arche video {
	clip-path: var(--mi-arche);
}

/*
 * Filet doré qui redessine l'arche à distance de l'image : la figure devient une grille dont la première ligne
 * porte l'image (ou la vidéo, avec son cadre de pause) et le filet, superposés ; la légende passe dessous.
 * Sur le site seulement : l'éditeur enveloppe l'image dans ses propres conteneurs.
 */
.wp-block-video.is-style-arche {
	position: relative;
}

body:not(.editor-styles-wrapper) :is(.wp-block-image, .wp-block-video).is-style-arche {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
}

body:not(.editor-styles-wrapper) .wp-block-image.is-style-arche > :is(img, a, .mi-arche__cadre),
body:not(.editor-styles-wrapper) .wp-block-video.is-style-arche > :is(video, .mi-arche__cadre) {
	grid-area: 1 / 1;
}

body:not(.editor-styles-wrapper) :is(.wp-block-image, .wp-block-video).is-style-arche > figcaption {
	grid-row: 2;
}

body:not(.editor-styles-wrapper) :is(.wp-block-image, .wp-block-video).is-style-arche::before {
	content: "";
	grid-area: 1 / 1;
	margin: -10px -10px 0;
	background: var(--mi-filet-couleur, var(--wp--preset--color--gold));
	clip-path: var(--mi-arche-filet);
	pointer-events: none;
}

.wp-block-video.is-style-arche video {
	display: block;
	width: 100%;
	aspect-ratio: 2 / 3;
	object-fit: cover;
	background: var(--wp--preset--color--green-900);
}

.mi-arche__cadre {
	position: relative;
	display: block;
}

.mi-arche__pause {
	position: absolute;
	right: 10px;
	bottom: 10px;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(2, 45, 34, 0.72);
	color: var(--wp--preset--color--ivory);
	cursor: pointer;
}

.mi-arche__pause:hover {
	background: var(--wp--preset--color--green-900);
}

.mi-article-actu__texte > .mi-recit-temps,
.mi-article-actu__texte > .mi-recit-galerie,
.mi-article-actu__texte > .mi-recit-vol,
.mi-article-actu__texte > .mi-recit-suite {
	margin-top: var(--wp--preset--spacing--80);
}

.mi-article-actu__texte > .mi-recit-temps:first-child {
	margin-top: 0;
}

.mi-recit-temps > *,
.mi-recit-invitation__texte > *,
.mi-recit-projection__texte > *,
.mi-recit-suite > * {
	margin-top: 0;
	margin-bottom: 0;
}

.mi-recit-temps h2,
.mi-recit-projection h2,
.mi-recit-suite h2 {
	margin: 12px 0 20px;
	text-wrap: balance;
}

.mi-recit-temps p + p {
	margin-top: 1em;
}

/* 1. L'invitation : l'affiche dans son arche, le programme en face. */
.mi-recit-invitation {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 32px 72px;
	align-items: center;
}

.mi-recit-invitation__affiche {
	justify-self: center;
	width: 100%;
	max-width: 400px;
}

.mi-recit-invitation__affiche img {
	width: 100%;
}

.mi-recit-invitation__affiche figcaption,
.mi-recit-demain figcaption,
.mi-recit-arches figcaption {
	margin-top: 22px;
	font-family: var(--wp--preset--font-family--ibm-plex-mono);
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-align: center;
	color: var(--wp--preset--color--ink-3);
}

.mi-recit-invitation__texte h2 {
	font-family: var(--wp--preset--font-family--cormorant-garamond);
	font-size: var(--wp--preset--font-size--display);
	font-style: italic;
	font-weight: 500;
	line-height: 1;
}

/* Modèle « Récit d'un temps fort » : pas d'en-tête ni d'image à la une ; la date, la rubrique et le titre
   sont dans la colonne de l'affiche, qui fait la première vue. */
.mi-contenu > .mi-article-recit__ariane {
	margin-bottom: 0;
}

.mi-article-recit .mi-contenu > .mi-article-actu__texte,
.mi-contenu.mi-article-recit > .mi-article-actu__texte {
	margin-top: 32px;
}

.mi-recit-invitation__texte > .mi-carte-actu__meta {
	gap: 0 8px;
}

.mi-recit-invitation__texte > .mi-article-actu__titre {
	margin-top: 14px;
}

.mi-recit-invitation__texte > .mi-article-actu__titre + .is-style-sur-titre {
	margin-top: 40px;
	padding-top: 28px;
	border-top: 1px solid var(--wp--preset--color--line-strong);
}

.mi-recit-invitation__texte > .mi-article-actu__titre ~ h2 {
	font-size: var(--wp--preset--font-size--xx-large);
}

.mi-article-recit .mi-recit-invitation__affiche {
	max-width: 320px;
}

.mi-programme {
	margin: 28px 0 0 !important;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--wp--preset--color--line-strong);
}

.mi-programme li {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	margin: 0;
	padding: 14px 0;
	border-bottom: 1px solid var(--wp--preset--color--line-strong);
	font-family: var(--wp--preset--font-family--ibm-plex-mono);
	font-size: 16px;
	color: var(--wp--preset--color--ink-2);
}

.mi-programme strong {
	font-family: var(--wp--preset--font-family--hanken-grotesk);
	font-size: 18px;
	font-weight: 600;
	color: var(--wp--preset--color--green);
}

/* 2. La visite : trois photos en portrait, légendes sous les photos ; le vol intérieur en grand. */
.wp-block-gallery.mi-recit-galerie {
	gap: 24px;
}

.wp-block-gallery.has-nested-images.mi-recit-galerie figure.wp-block-image {
	flex-direction: column;
}

/* Le recadrage du cœur (image étirée à 100 % d'une case sans hauteur) laisserait les photos à 0 px avec une légende sous la photo. */
.wp-block-gallery.has-nested-images.is-cropped.mi-recit-galerie figure.wp-block-image:not(#individual-image) img {
	flex: none;
	height: auto;
	aspect-ratio: 3 / 4;
	border-radius: var(--wp--custom--radius--carte);
}

.wp-block-gallery.has-nested-images.mi-recit-galerie figure.wp-block-image figcaption,
.mi-recit-vol figcaption {
	position: static;
	max-height: none;
	margin: 12px 0 0;
	padding: 0;
	background: none;
	font-size: 14px;
	text-align: left;
	text-shadow: none;
	color: var(--wp--preset--color--ink-3);
}

.wp-block-gallery.has-nested-images.mi-recit-galerie figure.wp-block-image:has(figcaption)::before {
	content: none;
}

.mi-recit-vol video {
	border-radius: var(--wp--custom--radius--carte);
	background: var(--wp--preset--color--green-900);
}

/* 3. Se projeter : bande sombre, deux fenêtres en arche (aujourd'hui), la vue 3D (demain). */
.mi-article-actu__texte > .mi-recit-projection.alignfull {
	/* À 24 px des bords de la fenêtre, comme les autres bandes (10 px sur mobile). */
	margin-left: calc(var(--wp--style--root--padding-left) * -1 + 24px) !important;
	margin-right: calc(var(--wp--style--root--padding-right) * -1 + 24px) !important;
	box-sizing: border-box;
	margin-top: var(--wp--preset--spacing--90);
	margin-bottom: 0;
	padding: var(--wp--preset--spacing--80) var(--wp--custom--gouttiere) var(--wp--preset--spacing--70);
	border-radius: 28px;
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	grid-template-areas: "texte arches" "demain demain";
	gap: 56px 72px;
	align-items: center;
}

.mi-recit-projection > * {
	margin: 0 !important;
	max-width: none !important;
}

.mi-recit-projection__texte {
	grid-area: texte;
	max-width: 440px !important;
	justify-self: end;
}

.mi-recit-projection__texte h2 {
	font-size: var(--wp--preset--font-size--display);
	line-height: 0.98;
	color: var(--wp--preset--color--ivory);
}

.mi-recit-projection__texte p:not(.is-style-sur-titre) {
	font-size: 19px;
	line-height: 1.6;
}

.mi-recit-arches {
	grid-area: arches;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 260px));
	gap: 40px;
	justify-content: start;
}

.mi-recit-arches > * {
	margin: 0 !important;
}

.mi-recit-arches {
	--mi-filet-couleur: rgba(231, 185, 93, 0.6);
}

.mi-recit-arches figcaption,
.mi-recit-demain figcaption {
	color: var(--wp--preset--color--gold-light);
}

.mi-recit-demain {
	grid-area: demain;
	justify-self: center;
	width: 100%;
	max-width: 780px;
	padding-top: 40px;
	border-top: 1px solid rgba(231, 185, 93, 0.35);
}

.mi-recit-demain img {
	display: block;
	width: 100%;
	height: auto;
}

/* 4. La galerie : carte d'appel, arche en filet doré. */
.mi-article-actu__texte > .mi-recit-suite {
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	padding: 48px 56px;
	padding-right: 220px;
	border-radius: 28px;
	background: var(--wp--preset--color--sage);
}

.mi-recit-suite::after {
	content: "";
	position: absolute;
	right: 56px;
	bottom: -1px;
	width: 120px;
	height: 170px;
	background: var(--wp--preset--color--green);
	clip-path: var(--mi-arche-filet);
	opacity: 0.5;
}

.mi-recit-suite p:not(.is-style-sur-titre) {
	max-width: 52ch;
	font-size: 18px;
	line-height: 1.6;
}

.mi-recit-suite .wp-block-buttons {
	margin-top: 28px;
	gap: 12px 16px;
}

@media (max-width: 899px) {
	.mi-recit-invitation {
		grid-template-columns: minmax(0, 1fr);
	}

	/* Une seule colonne : date et titre, puis l'affiche, puis l'invitation. */
	.mi-recit-invitation {
		row-gap: 0;
	}

	.mi-recit-invitation__texte {
		display: contents;
	}

	.mi-recit-invitation__texte > :is(.mi-carte-actu__meta, .mi-article-actu__titre) {
		order: -1;
	}

	.mi-recit-invitation__affiche,
	.mi-article-recit .mi-recit-invitation__affiche {
		max-width: 280px;
		margin: 36px auto 0 !important;
	}

	.mi-recit-invitation__texte > .mi-article-actu__titre + .is-style-sur-titre {
		margin-top: 40px;
		padding-top: 0;
		border-top: 0;
	}

	.mi-recit-invitation__affiche + .is-style-sur-titre,
	.mi-recit-invitation > .mi-recit-invitation__affiche ~ * .is-style-sur-titre {
		margin-top: 40px;
	}

	/* Galerie « Rangée défilante » : photos qui défilent d'un geste, chacune calée au bord. */
	.wp-block-gallery.is-style-defilante {
		flex-wrap: nowrap !important;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		gap: 12px;
		margin-right: calc(var(--wp--custom--gouttiere) * -1) !important;
		padding-right: var(--wp--custom--gouttiere);
		scrollbar-width: none;
	}

	.wp-block-gallery.is-style-defilante .wp-block-image {
		flex: 0 0 72% !important;
		width: 72% !important;
		scroll-snap-align: start;
	}

	.mi-article-actu__texte > .mi-recit-projection.alignfull {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "texte" "arches" "demain";
		gap: 40px;
		margin-left: calc(var(--wp--style--root--padding-left) * -1 + 10px) !important;
		margin-right: calc(var(--wp--style--root--padding-right) * -1 + 10px) !important;
		border-radius: 20px;
	}

	.mi-recit-projection__texte {
		justify-self: start;
	}

	.mi-recit-arches {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}

	.mi-recit-arches figcaption {
		font-size: 11px;
	}

	.mi-recit-demain {
		padding-top: 32px;
	}

	.mi-article-actu__texte > .mi-recit-suite {
		padding: 36px 24px;
	}

	.mi-recit-suite::after {
		content: none;
	}

	.mi-recit-arches figcaption {
		letter-spacing: 0.04em;
	}
}

/* ------------------------------------------------------------------
 * En-têtes de page compacts sur mobile (handoff refonte : 12 px sous l'en-tête, titre de 40 px)
 * ------------------------------------------------------------------ */

@media (max-width: 781px) {
	/* Le contenu commence sous l'en-tête, sans bande vide (le bandeau vert de Soutenir le touche). */
	.wp-site-blocks > header.wp-block-template-part + main {
		margin-block-start: 0;
	}

	.mi-contenu,
	.mi-intro-page {
		padding-top: 12px;
	}

	/* Introduction compacte : titre, chapeau puis encart « État actuel » sans grands vides. */
	.mi-intro-page {
		gap: 20px;
	}

	.mi-intro-page > * + * {
		margin-block-start: 0;
	}

	.mi-intro-page__titre {
		margin-bottom: 12px;
		font-size: 40px !important;
		line-height: 1.02;
	}

	.mi-intro-page__texte > .mi-fil-ariane {
		margin-bottom: 12px;
	}

	.mi-page-libre .mi-intro-page + .mi-section {
		padding-top: 0;
	}

	.mi-page-libre .mi-actualites {
		padding-top: 28px;
	}

	.mi-contenu > .alignwide > .mi-fil-ariane,
	.mi-contenu > .mi-fil-ariane {
		margin-bottom: 14px;
	}

	.mi-contenu > .mi-titre-page {
		margin-bottom: 14px;
		font-size: 40px;
		line-height: 1.02;
	}
}

/* Actualités : événements (temps forts du chantier) puis « Recevoir les annonces » (handoff refonte, écran 12). */
.mi-actualites-suite {
	display: grid;
	gap: 24px;
	margin-top: 48px !important;
	padding-bottom: 48px;
}

.mi-actualites-suite > * {
	margin-block: 0;
}

.mi-actualites-suite .mi-evenement__lien {
	box-sizing: border-box;
	align-items: center;
	gap: 14px;
	padding: 12px 14px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 18px;
	background: var(--wp--preset--color--paper);
}

.mi-actualites-suite .mi-evenements__liste {
	gap: 8px;
}

@media (min-width: 900px) {
	.mi-actualites-suite {
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		align-items: start;
		gap: 48px;
	}
}

/* ------------------------------------------------------------------
 * Rappels : bibliothèque et lecture (handoff refonte, écrans 5 et 6)
 * ------------------------------------------------------------------ */

.mi-page-rappel,
.mi-page-rappels {
	box-sizing: border-box;
	padding-inline: 16px;
}

.mi-page-rappels {
	display: flex;
	flex-direction: column;
	gap: 14px;
	max-width: 752px;
	margin-inline: auto;
}

.mi-page-rappels > *,
.mi-page-rappel > * {
	margin-block: 0;
}

.mi-page-rappel > .mi-fil-ariane {
	max-width: 640px;
	margin: 0 auto 14px !important;
}

.mi-page-rappels > .mi-fil-ariane {
	margin-bottom: 0 !important;
}

.mi-page-rappels > .mi-titre-page {
	margin-bottom: 0 !important;
	font-size: 40px;
	line-height: 1.02;
}

.mi-page-rappels__intro {
	font-size: 16px;
	line-height: 1.6;
	color: var(--wp--preset--color--ink-2);
}

.mi-circuit {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 16px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 20px;
	background: var(--wp--preset--color--paper);
}

.mi-circuit > * {
	margin-block: 0;
}

.mi-circuit__titre {
	font-family: var(--wp--preset--font-family--hanken-grotesk);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
}

.mi-circuit__etapes {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(86px, 1fr));
	gap: 6px;
	counter-reset: mi-circuit;
}

.mi-circuit__etapes > li {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0;
	padding: 10px;
	border-radius: 12px;
	background: var(--wp--preset--color--ivory);
	font-size: 14px;
	font-weight: 600;
	counter-increment: mi-circuit;
}

.mi-circuit__etapes > li::before {
	content: counter(mi-circuit, decimal-leading-zero);
	font-family: var(--wp--preset--font-family--ibm-plex-mono);
	font-size: 11px;
	font-weight: 400;
	color: var(--wp--preset--color--ink-3);
}

.mi-circuit__regle {
	font-size: 13px;
	line-height: 1.5;
	color: var(--wp--preset--color--ink-3);
}

@media (min-width: 782px) {
	.mi-page-rappel,
	.mi-page-rappels {
		padding-inline: 48px;
	}

	.mi-page-rappel > .mi-fil-ariane {
		max-width: 1156px;
	}

	.mi-page-rappels > .mi-titre-page {
		font-size: 60px;
	}
}

/* ------------------------------------------------------------------
 * Pages de texte (modèle par défaut : pages légales, sous-pages)
 * ------------------------------------------------------------------ */

.mi-contenu > .mi-titre-page {
	margin-bottom: 32px;
	font-size: var(--wp--preset--font-size--display);
	line-height: 0.98;
	text-wrap: balance;
}

.mi-texte-page {
	font-size: var(--wp--preset--font-size--article);
	line-height: 1.65;
}

.mi-texte-page > .mi-chapeau {
	/* Aligné sur le texte (la mise en page centrée recentrerait sa largeur réduite). */
	max-width: var(--wp--style--global--content-size);
}

.mi-texte-page > h2 {
	margin-top: 56px;
	margin-bottom: 16px;
	font-size: clamp(30px, 26.29px + 0.95vw, 40px);
	line-height: 1.1;
}

.mi-texte-page > h3 {
	margin-top: 32px;
	margin-bottom: 8px;
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.15;
}

.mi-texte-page > h2 + *,
.mi-texte-page > h3 + * {
	margin-top: 0;
}

/* ------------------------------------------------------------------
 * Soutenir le projet — handoff « Soutenir » piste A « Rapide d'abord »
 * Bandeau vert pleine largeur (titre, promesse, don rapide) puis chapitre clair
 * « S'engager sur des m² » en trois étapes. Les formulaires viennent de l'extension Dons.
 * ------------------------------------------------------------------ */

.mi-soutenir-hero.alignfull {
	box-sizing: border-box;
	padding: 72px var(--wp--custom--gouttiere) 80px;
}

.mi-soutenir-hero__grille {
	display: grid;
	/* 580 / 540 px à 1 200 px de large ; proportionnel en dessous. */
	grid-template-columns: minmax(0, 1.074fr) minmax(0, 1fr);
	gap: 40px 80px;
	align-items: start;
	max-width: var(--wp--style--global--wide-size, 1200px);
	margin-inline: auto;
}

.mi-soutenir-hero__texte {
	display: flex;
	flex-direction: column;
	gap: 22px;
	min-width: 0;
	container-type: inline-size;
}

.mi-soutenir-hero__texte > *,
.mi-soutenir-hero__don > *,
.mi-soutenir-engagement__entete > * {
	margin-block: 0;
}

.mi-soutenir-hero__texte .mi-fil-ariane {
	margin-bottom: 4px;
	color: var(--wp--preset--color--ivory);
}

.mi-soutenir-hero__titre {
	/* 104 px dans la colonne de 580 px (17,9 cqi) : « construction » tient sur une ligne à toutes les largeurs. */
	font-size: clamp(54px, 17.9cqi, 104px);
	font-weight: 500;
	line-height: 0.92;
	letter-spacing: -0.012em;
	text-wrap: balance;
}

.mi-soutenir-hero__promesse {
	max-width: 640px;
	font-size: clamp(17px, 15.3px + 0.45vw, 21px);
	line-height: 1.5;
	color: var(--wp--preset--color--sage);
	text-wrap: pretty;
}

/* Légende : deux pastilles en arche qui mènent aux deux parcours. */
.mi-soutenir-hero__legende {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 8px !important;
	padding: 0;
	list-style: none;
	counter-reset: mi-parcours;
}

.mi-soutenir-hero__legende > li {
	margin: 0;
	counter-increment: mi-parcours;
}

.mi-soutenir-hero__legende a {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	align-content: start;
	gap: 2px 14px;
	min-height: 44px;
	font-size: 15px;
	line-height: 1.45;
	color: var(--wp--preset--color--sage) !important;
	text-decoration: none;
}

.mi-soutenir-hero__legende a:hover strong {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.mi-soutenir-hero__legende a {
	position: relative;
}

/* Le chiffre est dans ::before ; le filet en arche est dessiné par ::after, posé dessus. */
.mi-soutenir-hero__legende a::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 34px;
	height: 40px;
	background: var(--wp--preset--color--gold-light);
	clip-path: var(--mi-arche-filet-pastille);
	pointer-events: none;
}

.mi-soutenir-hero__legende a::before {
	content: counter(mi-parcours);
	grid-row: 1 / span 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 40px;
	box-sizing: border-box;
	padding-top: 8px;
	font-family: var(--wp--preset--font-family--cormorant-garamond);
	font-size: 22px;
	font-style: italic;
	font-weight: 600;
	color: var(--wp--preset--color--gold-light);
}

.mi-soutenir-hero__legende strong {
	display: block;
	font-size: 17px;
	font-weight: 600;
	color: var(--wp--preset--color--ivory);
}

.mi-soutenir-hero__don {
	min-width: 0;
}

/* Chapitre « S'engager sur des m² ». */
.mi-soutenir-engagement {
	display: flex;
	flex-direction: column;
	gap: 40px;
	padding-block: 96px 120px;
}

.mi-soutenir-engagement > * {
	margin-block: 0;
}

.mi-soutenir-engagement__entete {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.mi-soutenir-engagement__entete .is-style-sur-titre {
	font-size: 12px;
	color: var(--wp--preset--color--ink-2);
}

.mi-soutenir-engagement__titre {
	font-size: clamp(42px, 30px + 3.2vw, 68px);
	font-weight: 500;
	line-height: 0.98;
	text-wrap: balance;
}

.mi-soutenir-engagement__chapeau {
	max-width: 620px;
	font-size: clamp(16px, 15.2px + 0.2vw, 19px);
	line-height: 1.55;
	color: var(--wp--preset--color--ink-2);
	text-wrap: pretty;
}

@media (max-width: 899px) {
	.mi-soutenir-hero__grille {
		grid-template-columns: minmax(0, 1fr);
		gap: 40px;
	}

	.mi-soutenir-hero__don {
		max-width: 640px;
	}
}

@media (max-width: 719px) {
	/* Introduction verte compacte (handoff refonte mobile, écran 05c) : les montants restent dans le premier écran. */
	.mi-soutenir-hero.alignfull {
		padding-block: 6px 28px;
	}

	.mi-soutenir-hero__grille {
		gap: 24px;
	}

	.mi-soutenir-hero__texte {
		gap: 12px;
	}

	.mi-soutenir-hero__texte .mi-fil-ariane {
		margin-bottom: 0;
	}

	.mi-soutenir-hero__titre {
		/* 38 px ; réduit seulement si la colonne devient très étroite (texte agrandi à 200 %). */
		font-size: min(38px, 17.9cqi);
		line-height: 1.02;
	}

	.mi-soutenir-hero__promesse {
		font-size: 16px;
	}

	/* Les deux parcours en deux cartes côte à côte (une seule colonne si la place manque). */
	.mi-soutenir-hero__legende {
		grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
		gap: 8px;
		margin-top: 4px !important;
	}

	.mi-soutenir-hero__legende > li {
		display: flex;
	}

	.mi-soutenir-hero__legende a {
		display: block;
		flex: 1;
		min-height: 64px;
		box-sizing: border-box;
		padding: 10px 12px;
		border: 1px solid rgba(245, 236, 217, 0.3);
		border-radius: 16px;
		font-size: 13px;
		line-height: 1.4;
	}

	.mi-soutenir-hero__legende a::before,
	.mi-soutenir-hero__legende a::after {
		content: none;
	}

	.mi-soutenir-hero__legende strong {
		margin-bottom: 2px;
		font-size: 15px;
		line-height: 1.3;
	}

	.mi-soutenir-engagement {
		gap: 24px;
		padding-block: 40px 24px;
	}
}

/* Modèle « Notre histoire (plein cadre) » : en-tête du site puis le récit (bloc Contenus « histoire »), sans pied
   de page. La fenêtre ne défile pas : seule la zone de lecture du récit défile, au besoin. */
body:has(.mi-histoire-page) {
	background: var(--wp--preset--color--green-900);
}

.wp-site-blocks:has(> .mi-histoire-page) {
	display: flex;
	flex-direction: column;
	height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
	height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px));
	overflow: hidden;
}

.wp-site-blocks:has(> .mi-histoire-page) > header {
	flex: none;
}

/* Récit plein écran (page sans défilement ni pied) : pas de barre des horaires sous l'en-tête. */
.wp-site-blocks:has(> .mi-histoire-page) > header .mi-horaires--en-tete {
	display: none;
}

.wp-site-blocks > .mi-histoire-page,
.mi-histoire-page > .wp-block-post-content {
	flex: 1;
	min-height: 0;
	margin-block: 0;
	display: flex;
	flex-direction: column;
}

/* Modèle « Khutba » (bloc Contenus « khutba ») : la page verte touche l'en-tête et le pied de page, du même
   vert ; un filet les sépare. */
.wp-site-blocks > .mi-page-khutba,
.wp-site-blocks > .mi-page-khutba + footer {
	margin-block-start: 0;
}

.wp-site-blocks > .mi-page-khutba + footer .mi-pied {
	border-top: 1px solid rgba(245, 236, 217, 0.14);
}
