/* ==========================================================================
   Accueil — trois blocs repris de la maquette retenue, et eux seuls :
     1. les routes du PCEC, en carrousel plein écran (grande photo, pastille,
        grand titre, barres et flèches en bas) ;
     2. la section « Nos Normes » (cartes blanches à filet, pastilles,
        boutons sombres) ;
     3. le pied de page : appel final sur photo, fondu dans un pied de page
        vert.
   Le bleu de la maquette devient le vert de l'ACONOQ. Toutes les autres
   sections gardent leur présentation (home.css, home-theme.css, home-ux.css) :
   chaque règle de ce fichier est limitée à .m-slider, .m-quick, .h-norms,
   .m-final, .newsletter ou .footer — jamais .h-section, .h-heading, .h-tag
   ou .link-more seuls.
   Chargé en dernier, uniquement sur l'accueil.
   ========================================================================== */
:root {
    --m-ink: #14231b;            /* titres et boutons sombres */
    --m-text: #5f6b65;           /* texte courant */
    --m-soft: #86928b;           /* compteur à côté du titre */
    --m-grey: #f4f6f5;           /* champs et pastilles gris */
    --m-line: #e3e8e5;           /* filets et contours */
    --m-deep: #004d28;           /* pied de page et appel final */
    --m-radius: 18px;
}

/* ---------- Boutons du carrousel et de l'appel final ---------- */
.m-cta { display: inline-flex; align-items: center; gap: 14px; min-height: 50px; padding: 5px 5px 5px 22px; border-radius: 999px; background: var(--fx-paper); color: var(--m-ink); font-size: 15px; font-weight: 500; text-decoration: none; box-shadow: 0 6px 20px -8px var(--c-0-0-0-_35); transition: transform .2s; }
.m-cta:hover { color: var(--m-ink); text-decoration: none; transform: translateY(-1px); }
.m-cta__arrow { flex: 0 0 40px; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: var(--m-ink); color: var(--fx-paper); transition: background .2s; }
.m-cta:hover .m-cta__arrow { background: var(--fx-accent); }
.m-ghost { display: inline-flex; align-items: center; min-height: 50px; padding: 0 22px; border: 1.5px solid var(--c-255-255-255-_75); border-radius: 999px; color: var(--fx-paper); font-size: 15px; font-weight: 500; text-decoration: none; transition: background .2s, color .2s; }
.m-ghost:hover { background: var(--fx-paper); color: var(--m-ink); text-decoration: none; }
.m-badge { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 6px 14px 6px 12px; border: 1px solid var(--c-255-255-255-_7); border-radius: 999px; color: var(--fx-paper); font-size: 13px; font-weight: 400; line-height: 1.3; }
.m-badge::before { content: ""; flex: 0 0 5px; height: 5px; border-radius: 50%; background: var(--fx-paper); }
.m-round { flex: 0 0 48px; width: 48px; height: 48px; padding: 0; display: grid; place-items: center; border: 0; border-radius: 50%; font-size: 15px; cursor: pointer; transition: background .2s, color .2s, transform .2s; }
.m-round:hover { transform: translateY(-1px); }
.m-round--soft { background: var(--c-255-255-255-_28); color: var(--fx-paper); }
.m-round--soft:hover { background: var(--fx-paper); color: var(--m-ink); }
.m-round--accent { background: var(--fx-accent); color: var(--fx-paper); }
.m-round--accent:hover { background: var(--fx-paper); color: var(--fx-accent); }

/* ==========================================================================
   1. ROUTES DU PCEC : carrousel plein écran
   ========================================================================== */
.m-slider { position: relative; margin: 0 6px; overflow: hidden; background: var(--c-0b1f15); color: var(--fx-paper); }
.m-slider__stage { display: grid; }
.m-slide { grid-area: 1 / 1; position: relative; min-height: 560px; padding: 72px 0 150px; opacity: 0; visibility: hidden; transition: opacity .7s, visibility 0s .7s; }
.m-slide.is-active { opacity: 1; visibility: visible; transition: opacity .7s; }
.m-slide__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.m-slide__bg--miroir { transform: scaleX(-1); }
.m-slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--c-8-26-17-_86) 0%, var(--c-8-26-17-_62) 45%, var(--c-8-26-17-_2) 80%, var(--c-8-26-17-_1) 100%), linear-gradient(to top, var(--c-8-26-17-_7) 0%, transparent 40%); }
.m-slide__inner { position: relative; z-index: 1; }
.m-slide__top { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 0 0 18px; }
.m-slide__label { color: var(--fx-paper); font-size: 16px; }
.home .m-slide__title { max-width: 640px; margin: 0 0 16px; color: var(--fx-paper); font-size: clamp(32px, 4.4vw, 54px); font-weight: 700; line-height: 1.08; letter-spacing: -.03em; text-wrap: balance; }
.m-slide__text { max-width: 480px; margin: 0 0 18px; color: var(--c-255-255-255-_9); font-size: 16px; line-height: 1.6; }
.m-slide__tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 26px; padding: 0; list-style: none; }
.m-slide__tags li { padding: 6px 14px; border-radius: 999px; background: var(--c-255-255-255-_16); color: var(--fx-paper); font-size: 14px; }
.m-slider__bottom { position: absolute; z-index: 2; left: 0; right: 0; bottom: 36px; display: grid; grid-template-columns: 1fr auto 1fr; gap: 24px; align-items: end; pointer-events: none; }
.m-slider__bottom > * { pointer-events: auto; }
.m-slider__note { max-width: 340px; }
.m-slider__note small { display: block; margin-bottom: 6px; color: var(--c-255-255-255-_85); font-size: 14px; font-variant-numeric: tabular-nums; }
.m-slider__note p { margin: 0; color: var(--fx-paper); font-size: 16px; font-weight: 500; line-height: 1.4; }
.m-slider__dots { display: flex; gap: 6px; align-self: end; }
.m-slider__dot { position: relative; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.m-slider__dot::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 5px; border-radius: 99px; background: var(--c-255-255-255-_4); transform: translateY(-50%); transition: background .25s; }
.m-slider__dot:hover::before { background: var(--c-255-255-255-_75); }
.m-slider__dot.is-active::before { background: var(--fx-paper); }
.m-slider__nav { display: flex; gap: 10px; justify-self: end; }

/* Accès rapides du programme : une carte blanche arrondie, une ligne par lien (icône contour, libellé, flèche ↗) ;
   la ligne active est blanche et colorée, les autres grises. Sous le carrousel sur tablette et téléphone… */
.m-pcec { position: relative; }
.m-quick { padding: 22px 0 0; background: var(--fx-paper); }
.m-quick__list { margin: 0; padding: 0; list-style: none; overflow: hidden; border-radius: 20px; background: var(--c-fafafa); box-shadow: 0 10px 30px -12px var(--c-20-35-27-_28); }
.m-quick__list li + li { border-top: 1px solid var(--c-ececec); }
.m-quick a { display: flex; align-items: center; gap: 16px; min-height: 66px; padding: 0 24px; background: var(--c-fafafa); color: var(--m-ink); font-size: 17px; font-weight: 600; text-decoration: none; transition: background .2s, color .2s; }
.m-quick a i { flex: 0 0 24px; width: 24px; color: var(--m-ink); font-size: 20px; text-align: center; transition: color .2s; }
.m-quick a span { flex: 1; }
.m-quick a::after { content: ""; flex: 0 0 22px; width: 22px; height: 22px; background: currentColor; transition: transform .2s;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M8 5h11v11'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M8 5h11v11'/%3E%3C/svg%3E") center / contain no-repeat; }
.m-quick a:hover, .m-quick a.is-active { background: var(--fx-paper); color: var(--fx-accent); }
.m-quick a:hover i, .m-quick a.is-active i { color: var(--fx-accent); }
.m-quick a:hover::after { transform: translate(2px, -2px); }
.m-quick a:focus-visible { outline: 2px solid var(--fx-accent); outline-offset: -3px; }
/* …et sur ordinateur, à droite du carrousel, sur la photo */
@media (min-width: 1081px) {
    .m-pcec .m-quick { position: absolute; z-index: 3; top: 72px; left: 0; right: 0; padding: 0; background: none; pointer-events: none; }
    .m-pcec .m-quick .h-container { display: flex; justify-content: flex-end; }
    .m-pcec .m-quick__list { width: 360px; pointer-events: auto; }
}

/* ==========================================================================
   NOS ACTIVITÉS : menu à gauche (même style que le menu PCEC), détail du service choisi
   dans un panneau vert profond à droite.
   ========================================================================== */
.a-services { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 22px; align-items: stretch; }
.a-menu { margin: 0; padding: 0; list-style: none; overflow: hidden; border-radius: 20px; background: var(--c-fafafa); border: 1px solid var(--m-line); display: flex; flex-direction: column; }
.a-menu li { flex: 1; display: flex; }
.a-menu li + li { border-top: 1px solid var(--c-ececec); }
.a-menu a { flex: 1; display: flex; align-items: center; gap: 16px; min-height: 76px; padding: 0 26px; background: var(--c-fafafa); color: var(--m-ink); font-size: 18px; font-weight: 600; text-decoration: none; transition: background .2s, color .2s; }
.a-menu a i { flex: 0 0 26px; width: 26px; color: var(--m-ink); font-size: 21px; text-align: center; transition: color .2s; }
.a-menu a span { flex: 1; }
.a-menu a::after { content: ""; flex: 0 0 22px; width: 22px; height: 22px; background: currentColor; transition: transform .2s; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M8 5h11v11'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M8 5h11v11'/%3E%3C/svg%3E") center / contain no-repeat; }
.a-menu a:hover, .a-menu a[aria-selected="true"] { background: var(--fx-paper); color: var(--fx-accent); }
.a-menu a:hover i, .a-menu a[aria-selected="true"] i { color: var(--fx-accent); }
.a-menu a[aria-selected="true"]::after { transform: translate(2px, -2px); }
.a-menu a:focus-visible { outline: 2px solid var(--fx-accent); outline-offset: -3px; }

.a-panels { display: grid; }
.a-panel { grid-area: 1 / 1; position: relative; display: flex; flex-direction: column; align-items: flex-start; padding: 38px 40px 34px; overflow: hidden; border-radius: 20px; background: var(--c-0a4a2a); color: var(--fx-paper); box-shadow: 0 14px 30px -18px var(--c-6-40-26-_6); }
.a-panel[hidden] { display: none; }
.a-panel.is-active { animation: a-panel-in .35s ease both; }
@keyframes a-panel-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.a-panel__num { position: absolute; top: 22px; right: 34px; color: var(--c-255-255-255-_1); font-size: 96px; font-weight: 800; line-height: 1; letter-spacing: -.04em; pointer-events: none; }
.a-panel__icon { width: 60px; height: 60px; margin: 0 0 28px; display: grid; place-items: center; border-radius: 16px; background: var(--c-255-255-255-_1); border: 1px solid var(--c-255-255-255-_16); color: var(--aco-jaune, var(--c-f9d812)); font-size: 24px; }
.home .a-panel h3 { margin: 0 0 14px; color: var(--fx-paper); font-size: clamp(26px, 2.6vw, 34px); font-weight: 700; line-height: 1.15; letter-spacing: -.02em; }
.a-panel p { max-width: 480px; margin: 0 0 30px; color: var(--c-255-255-255-_82); font-size: 17px; line-height: 1.65; }
.a-submenu { margin: -10px 0 22px; padding: 0 0 0 18px; color: var(--c-255-255-255-_82); font-size: 15px; line-height: 1.6; display: grid; gap: 6px; }
.a-submenu a { color: #fff; text-decoration: none; }
.a-submenu a:hover, .a-submenu a:focus-visible { color: var(--aco-jaune, var(--c-f9d812)); text-decoration: underline; }
.a-panel__cta { margin-top: auto; display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 24px; border-radius: 999px; background: var(--aco-jaune, var(--c-f9d812)); color: var(--c-0a4a2a); font-size: 15px; font-weight: 700; text-decoration: none; transition: background .2s; }
.a-panel__cta i { font-size: 12px; transition: transform .2s; }
.a-panel__cta:hover { background: var(--fx-paper); color: var(--c-0a4a2a); text-decoration: none; }
.a-panel__cta:hover i { transform: translateX(3px); }
.a-panel__cta:focus-visible { outline: 3px solid var(--fx-paper); outline-offset: 3px; }
@media (max-width: 900px) {
    .a-services { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .a-menu a { min-height: 62px; padding: 0 20px; font-size: 17px; }
    .a-panel { padding: 28px 24px 26px; }
    .a-panel__num { font-size: 72px; top: 16px; right: 22px; }
    .a-panel p { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .a-panel.is-active { animation: none; }
    .a-menu a::after, .a-panel__cta, .a-panel__cta i { transition: none; }
}

/* ==========================================================================
   2. NOS NORMES : cartes blanches à filet, pastilles, boutons sombres
   ========================================================================== */
.home .h-norms { position: relative; padding: 88px 0; background: var(--c-f4f5f3); border-top: 1px solid var(--m-line); border-bottom: 1px solid var(--m-line); }
.home .h-norms .h-head { margin-bottom: 26px; align-items: flex-end; }
.home .h-norms .h-tag { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; padding: 0; border: 0; background: none; color: var(--m-text); font-size: 13px; font-weight: 500; }
.home .h-norms .h-tag::before { display: block; content: ""; width: 18px; height: 1px; border-radius: 0; background: var(--fx-accent); }
.home .h-norms .h-heading { margin: 0 0 8px; color: var(--m-ink); font-size: clamp(30px, 3.5vw, 44px); font-weight: 700; line-height: 1.1; letter-spacing: -.025em; }
.home .h-norms__lede { margin: 0; color: var(--m-text); font-size: 15px; white-space: nowrap; }
.home .h-norms .link-more__inner { min-height: 44px; padding: 0 18px; gap: 8px; border-radius: 999px; font-size: 14px; }
.home .h-norms .link-more--ghost .link-more__inner { background: var(--fx-paper); color: var(--m-ink); box-shadow: inset 0 0 0 1px var(--m-line); }
.home .h-norms .link-more:not(.link-more--ghost) .link-more__inner { background: var(--c-dc2626); color: var(--fx-paper); box-shadow: none; }
.home .h-norms__panel { background: var(--fx-paper); border: 1px solid var(--m-line); border-radius: 14px; padding: 18px 18px 6px; }
.home .h-norms .h-filters { margin-bottom: 0; align-items: center; gap: 10px; }
.home .h-norms .h-filters__search { flex: 1 1 260px; }
.home .h-norms .h-filters__search i { color: var(--c-255-255-255-_85); }
.home .h-norms .h-filters__selects { display: flex; flex-wrap: wrap; gap: 8px; }
.home .h-norms .h-filters input, .home .h-norms .h-filters select { border: 1px solid var(--c-198754); border-radius: 10px; background-color: var(--c-198754); color: var(--fx-paper); font-size: 13.5px; padding: 9px 12px; }
.home .h-norms .h-filters input::placeholder { color: var(--c-255-255-255-_85); }
.home .h-norms .h-filters select option { color: var(--c-111827); }
.home .h-norms .h-filters input { padding-left: 36px; }
.home .h-norms .h-filters input:focus, .home .h-norms .h-filters select:focus { outline: none; border-color: var(--fx-accent); box-shadow: 0 0 0 3px var(--c-25-135-84-_12); background-color: var(--fx-paper); color: var(--m-ink); }
.home .h-norms__status { margin: 12px 2px 0; padding-top: 12px; border-top: 1px solid var(--m-line); color: var(--m-text); font-size: 13px; }
.home .h-norms__status strong { color: var(--m-ink); font-weight: 600; }
.home .h-norms__list { margin-top: 4px; }
.home .h-norms .h-norm { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px 28px; align-items: start; padding: 18px 4px; border: 0; border-top: 1px solid var(--m-line); border-radius: 0; background: transparent; box-shadow: none; transition: background .15s; }
.home .h-norms .h-norm.is-collapsed { display: none; }
.home .h-norms .h-norm__ref { margin: 0 0 4px; color: var(--m-ink); font-size: 13px; font-weight: 700; }
.home .h-norms .h-norm__title { margin: 0 0 4px; font-size: 16px; font-weight: 700; line-height: 1.35; }
.home .h-norms .h-norm__title a { color: var(--m-ink); font-weight: 700; text-decoration: none; }
.home .h-norms .h-norm__desc { margin: 0; color: var(--m-text); font-size: 14px; font-weight: 700; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.home .h-norms .h-norm__side { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; min-width: 210px; }
.home .h-norms .h-norm__meta { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; margin: 0; padding: 0; list-style: none; }
.home .h-norms .h-norm__pill { padding: 3px 10px; border: 1px solid var(--m-line); border-radius: 999px; background: var(--fx-paper); color: var(--m-text); font-size: 12px; font-weight: 700; white-space: nowrap; }
.home .h-norms .h-norm__pill--origin { color: var(--m-ink); border-color: var(--c-cfd6d1); font-weight: 700; }
.home .h-norms .h-norm__actions { display: flex; align-items: center; gap: 14px; }
.home .h-norms .h-norm__link { color: var(--m-ink); font-size: 13.5px; font-weight: 500; text-decoration: none; white-space: nowrap; }
.home .h-norms .h-norm__buy { display: inline-flex; align-items: center; min-height: 34px; padding: 0 14px; border: 1px solid var(--c-198754); border-radius: 999px; background: var(--c-198754); color: var(--fx-paper); font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.home .h-norms .h-norms__empty { padding: 28px 4px 18px; color: var(--m-text); font-size: 14px; }
.home .h-norms .h-center { margin-top: 22px; }
.home .h-norms .h-btn-pill { min-height: 42px; padding: 0 18px; border: 1px solid var(--c-198754); border-radius: 999px; background: transparent; color: var(--m-ink); font-size: 14px; }

/* ==========================================================================
   3. APPEL FINAL et PIED DE PAGE (sur l'accueil seulement)
   ========================================================================== */
.m-final { position: relative; overflow: hidden; padding: 130px 0 150px; text-align: center; color: var(--fx-paper); background: var(--m-deep); }
.m-final > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.m-final::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, var(--c-0-58-30-_5) 0%, var(--c-0-68-35-_66) 45%, var(--m-deep) 96%); }
.m-final .h-container { position: relative; z-index: 1; }
.home .m-final h2 { max-width: 560px; margin: 0 auto 14px; color: var(--fx-paper); font-size: clamp(34px, 4.8vw, 58px); font-weight: 500; line-height: 1.08; letter-spacing: -.03em; text-wrap: balance; }
.m-final p { max-width: 460px; margin: 0 auto 28px; color: var(--c-255-255-255-_92); font-size: 16px; line-height: 1.6; }
.m-final__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }

.home .newsletter { background: var(--m-deep); }
/* mêmes marges que le reste de la page d'accueil */
.home .newsletter .container, .home .footer .container { max-width: 1280px; padding-left: 32px; padding-right: 32px; }
.home .newsletter__inner { padding-top: 8px; padding-bottom: 44px; border-bottom: 1px solid var(--c-255-255-255-_14); }
.home .newsletter h2 { font-size: 26px; font-weight: 500; letter-spacing: -.02em; }
.home .newsletter__form input { background: var(--c-255-255-255-_12); border-color: transparent; color: var(--fx-paper); }
.home .newsletter__form input::placeholder { color: var(--c-255-255-255-_8); }
.home .newsletter__form input:focus-visible { outline: 2px solid var(--fx-paper); outline-offset: 2px; }
.home .newsletter .btn--accent { background: var(--fx-paper); color: var(--m-ink); }
.home .newsletter .btn--accent:hover { background: var(--m-ink); color: var(--fx-paper); }
.home .footer { position: relative; overflow: hidden; background: var(--m-deep); color: var(--c-255-255-255-_82); }
.home .footer a { color: var(--c-255-255-255-_82); }
.home .footer a:hover { color: var(--fx-paper); }
.home .footer__bottom { border-top-color: var(--c-255-255-255-_14); }
.home .footer__social a { border-color: var(--c-255-255-255-_3); }

/* ---------- Repères au clavier ---------- */
.home .m-slider :focus-visible, .home .m-final :focus-visible { outline-color: var(--fx-paper); }

/* ==========================================================================
   Téléphone
   ========================================================================== */
@media (max-width: 720px) {
    .m-slider { margin: 0 4px; }
    .m-slide { min-height: 0; padding: 48px 0 190px; }
    .m-slide::after { background: linear-gradient(180deg, var(--c-8-26-17-_78) 0%, var(--c-8-26-17-_66) 55%, var(--c-8-26-17-_86) 100%); }
    .m-slide__label { flex: 0 0 100%; }
    .home .m-slide__title { font-size: 31px; }
    .m-slider__bottom { bottom: 22px; grid-template-columns: 1fr auto; gap: 14px 12px; }
    .m-slider__note { grid-column: 1 / -1; max-width: none; }
    .m-slider__note p { font-size: 15px; font-weight: 400; }
    .m-slider__dots { justify-self: start; }

    .home .h-norms { padding: 60px 0; }
    .home .h-norms .h-head { margin-bottom: 18px; }
    .home .h-norms .h-heading { font-size: 29px; }
    .home .h-norms__panel { padding: 14px 14px 4px; border-radius: 12px; }
    .home .h-norms .h-filters__selects { width: 100%; }
    .home .h-norms .h-filters__selects select { flex: 1 1 calc(50% - 4px); min-width: 0; }
    .home .h-norms .h-norm { grid-template-columns: 1fr; gap: 10px; padding: 16px 2px; }
    .home .h-norms .h-norm__side { align-items: flex-start; min-width: 0; }
    .home .h-norms .h-norm__meta { justify-content: flex-start; }
    .home .h-norms .h-norm__actions { flex-wrap: wrap; gap: 10px; }
    .home .h-norms .h-center { margin-top: 18px; text-align: left; }

    .m-final { padding: 84px 0 96px; }
    .home .m-final h2 { font-size: 34px; }
    .home .newsletter .container, .home .footer .container { padding-left: 16px; padding-right: 16px; }
    .home .newsletter__inner { padding-top: 0; padding-bottom: 36px; }
}

/* ==========================================================================
   Mouvement réduit
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    .m-slide, .m-slide.is-active { transition: none; }
}

/* Bouton « Voir toute l'actualité » : fond vert ACONOQ */
#actualites .link-more__inner { background: var(--fx-accent); color: var(--fx-paper); box-shadow: none; }
#actualites .link-more:hover .link-more__inner { background: var(--fx-accent-dark); color: var(--fx-paper); box-shadow: none; }
/* Nos Normes : styles des boutons d'en-tête gérés dans la section 2 */

/* ==========================================================================
   Boutons « Découvrir la route A/B/C » (carrousel PCEC) : fond rouge, texte blanc
   ========================================================================== */
.m-slider .m-cta { background: var(--c-dc2626); color: var(--fx-paper); }
.m-slider .m-cta:hover { color: var(--fx-paper); }
.m-slider .m-cta .m-cta__arrow { background: var(--fx-paper); color: var(--c-dc2626); }
.m-slider .m-cta:hover .m-cta__arrow { background: var(--fx-paper); color: var(--c-b91c1c); }

/* ==========================================================================
   Section « Événements à venir » : fond rouge clair, bouton rouge
   ========================================================================== */
#evenements { background: var(--c-fee2e2); }
#evenements .link-more__inner { background: var(--c-dc2626); color: var(--fx-paper); box-shadow: none; border-color: var(--c-dc2626); }
#evenements .link-more:hover .link-more__inner { background: var(--c-b91c1c); color: var(--fx-paper); box-shadow: none; border-color: var(--c-b91c1c); }

/* ==========================================================================
   Hero : bouton « Contactez-nous » (fx-btn--outline) : fond rouge
   ========================================================================== */
.h-hero__cta .fx-btn--outline { background: var(--c-dc2626); border-color: var(--c-dc2626); color: var(--fx-paper); }
.h-hero__cta .fx-btn--outline:hover { background: var(--c-b91c1c); border-color: var(--c-b91c1c); color: var(--fx-paper); }

/* ==========================================================================
   Partenaires : logos sans fond blanc (carte transparente)
   ========================================================================== */
.home .h-partner { background: transparent; border-color: transparent; }
.home .h-partner:hover { background: transparent; border-color: transparent; box-shadow: none; }
/* Tous les logos sur une seule ligne */
.home .h-partners__track { display: flex; flex-wrap: nowrap; grid-template-columns: none; align-items: center; justify-content: center; gap: clamp(8px, 2.5vw, 36px); }
.home .h-partners__track .h-partner { min-width: 0; flex: 0 1 auto; padding: 16px 12px; }
.home .h-partner:last-child:nth-child(odd) { grid-column: auto; }

/* Newsletter « Restez informé » : champ e-mail en jaune */
.home .newsletter__form input, .newsletter__form input { background: yellow !important; border-color: transparent; color: var(--c-000000) !important; }
.home .newsletter__form input::placeholder, .newsletter__form input::placeholder { color: var(--c-0-0-0-_65) !important; }
.newsletter__form input:focus-visible { outline: 2px solid var(--c-d9b400); outline-offset: 2px; }

/* Newsletter : bouton S'abonner noir, texte blanc */
.newsletter__form button { background: var(--c-000000); color: var(--fx-paper); border-color: var(--c-000000); }
.newsletter__form button:hover { background: var(--c-1a1a1a); color: var(--fx-paper); border-color: var(--c-1a1a1a); }

/* Hero : flèches préc./suiv. sur fond blanc */
.h-hero__arrow { background: var(--fx-paper) !important; color: var(--c-14231b) !important; border-color: var(--fx-paper) !important; }
.h-hero__arrow:hover { background: var(--c-f0f0f0) !important; color: var(--c-14231b) !important; border-color: var(--c-f0f0f0) !important; }

/* Remonter la section Nos activités */
.home #activites { margin-top: -60px; }
