/*
 * Le 1026 · feuille unique du front (maquette C « Soirée », docs/01-analyse-design.md).
 * Tokens : theme.json (--wp--preset--*, --wp--custom--*). Préfixe des composants : le1026-.
 * Ordre : base, en-tête, boutons, typographie, sections de l'accueil, cartes, bandes défilantes,
 * gabarits (catalogue, fiche, pages), pied de page, responsive, mouvement réduit.
 */

/* ---------------------------------------------------------------- Base */
/*
 * Polices de secours ajustées en métriques (U2-02) : tant que Hanken Grotesk et DM Serif Display ne sont pas
 * arrivées, Arial et Georgia occupent la même largeur et la même hauteur de ligne. L'en-tête ne passe plus sur
 * deux lignes et rien ne bouge à l'arrivée de la police. Valeurs calculées avec fontTools sur les woff2 du thème
 * (largeur moyenne d'un texte français, ascendante et descendante de hhea), puis recalées sur les largeurs rendues
 * par Chrome (punchline du hero, chapô, navigation). Liberation Sans et Arimo ont les métriques d'Arial.
 */
@font-face {
    font-family: "Hanken Grotesk repli";
    src: local("Arial"), local("ArialMT"), local("Liberation Sans"), local("Arimo");
    font-weight: 100 650;
    size-adjust: 100.13%;
    ascent-override: 99.87%;
    descent-override: 30.26%;
    line-gap-override: 0%;
}

@font-face {
    font-family: "Hanken Grotesk repli";
    src: local("Arial Bold"), local("Arial-BoldMT"), local("Liberation Sans Bold"), local("Arimo Bold");
    font-weight: 651 900;
    size-adjust: 90.7%;
    ascent-override: 110.25%;
    descent-override: 33.41%;
    line-gap-override: 0%;
}

@font-face {
    font-family: "DM Serif Display repli";
    src: local("Georgia");
    font-style: normal;
    size-adjust: 100.57%;
    ascent-override: 103.01%;
    descent-override: 33.31%;
    line-gap-override: 0%;
}

@font-face {
    font-family: "DM Serif Display repli";
    src: local("Georgia Italic"), local("Georgia-Italic");
    font-style: italic;
    size-adjust: 95.9%;
    ascent-override: 108.03%;
    descent-override: 34.93%;
    line-gap-override: 0%;
}

:root {
    --focus: var(--wp--custom--focus--sombre);
    --hauteur-entete: 72px;
    --rayon: var(--wp--custom--radius--xl);
    --c-nuit: var(--wp--preset--color--nuit);
    --c-braise: var(--wp--preset--color--braise);
    --c-filet: var(--wp--preset--color--braise-filet);
    --c-orange: var(--wp--preset--color--orange);
    --c-ambre: var(--wp--preset--color--ambre);
    --c-creme: var(--wp--preset--color--creme);
    --c-rose: var(--wp--preset--color--rose-pale);
    --c-sable: var(--wp--preset--color--sable);
    --c-blanc: var(--wp--preset--color--blanc);
}

html {
    scroll-padding-top: calc(var(--hauteur-entete) + 16px);
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    overflow-x: clip;
}

img,
video {
    max-width: 100%;
    height: auto;
}

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

/* Bouton « Agrandir l'image » de la lightbox du cœur : 20 px par défaut, porté à 44 px (cible tactile) */
.wp-lightbox-container button {
    width: 44px;
    height: 44px;
}

/* Déclencheur du composeur pendant le chargement de la modale (main.js pose aria-busy) : retour visible (M-11) */
[aria-busy="true"]:is(a, button) {
    cursor: progress;
    opacity: 0.7;
}

a[href^="tel:"] {
    white-space: nowrap;
}

.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.le1026-evitement {
    position: absolute;
    top: -200px;
    left: 16px;
    z-index: 100;
    padding: 12px 20px;
    border-radius: var(--wp--custom--radius--pilule);
    background: var(--c-orange);
    color: var(--c-nuit);
    font-weight: 800;
    text-decoration: none;
}

.le1026-evitement:focus {
    top: 12px;
    color: var(--c-nuit);
}

/* ---------------------------------------------------------------- En-tête collant */
.le1026-entete {
    position: sticky;
    top: var(--wp-admin--admin-bar--height, 0px);
    z-index: 50;
    background: var(--c-nuit);
    border-bottom: 1px solid var(--c-filet);
    transition: box-shadow var(--wp--custom--duree--moyenne) ease;
}

.le1026-entete.is-defile {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.le1026-entete__barre {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px 28px;
    max-width: 1280px;
    margin: 0 auto;
    padding: 10px 24px;
}

.le1026-logo {
    flex: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    min-height: 44px;
    text-decoration: none;
}

.le1026-logo__image {
    display: block;
    width: auto;
    height: 48px;
}

.le1026-logo__nom {
    font-family: var(--wp--preset--font-family--titre);
    font-size: 24px;
    line-height: 1;
    color: var(--c-blanc);
}

.le1026-logo__mention,
.le1026-pied__mention {
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--c-ambre);
}

.le1026-nav__liste {
    display: flex;
    flex-wrap: nowrap;
    gap: 0 26px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.le1026-nav__liste a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--c-creme);
}

.le1026-nav__liste a:hover {
    color: var(--c-ambre);
}

.le1026-nav__bouton {
    display: none;
    align-items: center;
    gap: 8px;
    min-width: 44px;
    min-height: 44px;
    padding: 0 14px;
    border: 1.5px solid rgba(255, 255, 255, 0.6);
    border-radius: var(--wp--custom--radius--pilule);
    background: transparent;
    color: var(--c-creme);
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

.le1026-nav__bouton path {
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
}

.le1026-nav__bouton[aria-expanded="true"] {
    background: var(--c-braise);
}

.le1026-entete__cta {
    flex: none;
    min-height: 46px;
    padding: 0 22px;
    font-size: 16px;
}

/* ---------------------------------------------------------------- Boutons */
.le1026-bouton,
.wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 28px;
    border: 0;
    border-radius: var(--wp--custom--radius--pilule);
    background: var(--c-orange);
    color: var(--c-nuit);
    font-family: var(--wp--preset--font-family--texte);
    font-size: 17px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: transform var(--wp--custom--duree--rapide) ease, box-shadow var(--wp--custom--duree--rapide) ease,
        background-color var(--wp--custom--duree--rapide) ease;
}

.le1026-bouton:hover,
.le1026-bouton:focus,
.wp-block-button__link:hover,
.wp-block-button__link:focus {
    color: var(--c-nuit);
}

@media (hover: hover) {
    .le1026-bouton:hover,
    .wp-block-button__link:hover {
        transform: translateY(-2px);
        box-shadow: var(--wp--preset--shadow--bouton);
    }
}

.le1026-bouton:active,
.wp-block-button__link:active {
    transform: none;
    box-shadow: none;
}

.le1026-bouton--l,
.is-style-hero .wp-block-button__link,
.is-style-dernier-appel .wp-block-button__link {
    min-height: 56px;
    padding: 0 30px;
    font-size: 18px;
}

.le1026-bouton--contour,
.wp-block-button.is-style-outline > .wp-block-button__link {
    border: 2px solid rgba(255, 255, 255, 0.7);
    background: transparent;
    color: var(--c-blanc);
    font-weight: 700;
}

.le1026-bouton--contour:hover,
.le1026-bouton--contour:focus,
.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-outline > .wp-block-button__link:focus {
    background: rgba(255, 255, 255, 0.1);
    color: var(--c-blanc);
    box-shadow: none;
}

.wp-block-button.is-style-lien > .wp-block-button__link,
.le1026-lien-tel {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 6px;
    background: none;
    color: var(--c-blanc);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 4px;
    box-shadow: none;
    transform: none;
}

.wp-block-button.is-style-lien > .wp-block-button__link:hover,
.le1026-lien-tel:hover {
    color: var(--c-ambre);
}

.le1026-boutons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 20px;
    margin: 28px 0 0;
}

.le1026-boutons--centre {
    justify-content: center;
    margin-top: 64px;
}

.wp-block-buttons {
    gap: 12px;
}

/* ---------------------------------------------------------------- Typographie */
/* Sur-titre (vrai Hn), punchline (faux Hn) */
.is-style-surtitre {
    margin: 0;
    font-family: var(--wp--preset--font-family--texte);
    font-size: var(--wp--preset--font-size--sur-titre);
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--c-ambre);
}

.is-style-punchline {
    margin: 12px 0 0;
    font-family: var(--wp--preset--font-family--titre);
    font-size: var(--wp--preset--font-size--punchline);
    font-weight: 400;
    line-height: 1;
    color: var(--c-blanc);
    text-wrap: balance;
}

.is-style-punchline em {
    font-style: italic;
    color: var(--c-ambre);
}

.is-style-chapo {
    font-size: var(--wp--preset--font-size--chapo);
    color: var(--c-rose);
}

.le1026-secondaire {
    font-size: 18px;
    color: var(--c-sable);
}

.le1026-secondaire em {
    color: var(--c-ambre);
}

.le1026-intro {
    font-size: 19px;
    color: var(--c-sable);
}

/* ---------------------------------------------------------------- Accueil : cadre commun des sections */
.le1026-contenu--accueil > * {
    margin-block: 0;
}

.le1026-section {
    padding-block: var(--wp--preset--spacing--90);
}

.le1026-section > .is-style-punchline {
    margin-top: 12px;
}

.le1026-section > .le1026-intro {
    max-width: 560px;
    margin-top: 16px;
}

.le1026-section > .wp-block-le1026-plateaux,
.le1026-restaurant > .wp-block-columns {
    margin-top: 56px;
}

/* Hero (core/cover .is-style-hero) : le H1 reprend la ligne manuscrite de C
   (Caveat 34, grand texte, contraste 4,23:1 au pire cas) */
.wp-block-cover.is-style-hero {
    min-height: min(760px, 100svh);
    padding: 104px 24px;
    text-align: center;
}

.is-style-hero .wp-block-cover__inner-container.is-layout-constrained > * {
    max-width: 960px;
}

.is-style-hero .wp-block-cover__inner-container > .is-style-chapo {
    max-width: 660px;
}

.is-style-hero .is-style-surtitre {
    font-family: var(--wp--preset--font-family--manuscrit);
    font-size: var(--wp--preset--font-size--manuscrit-l);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
}

.is-style-hero .is-style-punchline {
    line-height: 0.98;
    letter-spacing: -0.01em;
}

.is-style-hero .wp-block-buttons {
    margin-top: 30px;
}

.le1026-mention {
    font-weight: 600;
    color: var(--c-rose);
}

.le1026-hero__video {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.6s ease;
}

.le1026-hero__video.is-prete {
    opacity: 1;
}

.le1026-hero__pause {
    position: absolute;
    right: 24px;
    bottom: 24px;
    z-index: 2;
}

/* Dernier appel */
.wp-block-cover.is-style-dernier-appel {
    min-height: 0;
    padding: 128px 24px;
    text-align: center;
}

.is-style-dernier-appel .wp-block-cover__inner-container > * {
    margin-top: 18px;
}

.is-style-dernier-appel .wp-block-cover__inner-container > .is-style-punchline {
    margin-top: 12px;
}

/* Sur-titre de 13 px sur photo voilée : rose pâle, 5,5:1 au pire pixel (l'ambre tombait à 4,24:1, U-10) */
.is-style-dernier-appel .is-style-surtitre {
    color: var(--c-rose);
}

.is-style-dernier-appel .wp-block-buttons {
    flex-direction: column;
    margin-top: 28px;
}

/* Bande photos */
.le1026-bande {
    padding-block: 18px;
}

/* Babs et Aurore */
.le1026-nous .wp-block-columns {
    gap: 64px;
}

.le1026-nous .wp-block-column > * + * {
    margin-top: 22px;
}

.le1026-nous .wp-block-column > .is-style-punchline {
    margin-top: 12px;
}

.le1026-cadrage-equipe {
    margin: 0;
    overflow: hidden;
    border-radius: var(--rayon);
}

.le1026-cadrage-equipe img {
    display: block;
    width: 100%;
    height: 560px;
    object-fit: cover;
    object-position: 26% 40%;
}

.is-style-citation {
    margin: 10px 0 0;
    padding: 0 0 0 22px;
    border-left: 3px solid var(--c-orange);
    font-family: var(--wp--preset--font-family--titre);
    font-size: var(--wp--preset--font-size--titre-etape);
    line-height: 1.12;
    color: var(--c-blanc);
}

.is-style-citation p {
    margin: 0;
}

.is-style-citation em {
    color: var(--c-ambre);
}

/* Comment ça marche : fil d'étapes (numéros en CSS, sémantique de liste par Blocks::filEtapes) */
.is-style-section-alt {
    background-color: var(--c-braise);
}

.le1026-fil {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 80px;
    max-width: 1120px;
    margin-top: 80px;
    counter-reset: etape;
    isolation: isolate;
}

.le1026-fil::before,
.le1026-fil::after {
    content: "";
    position: absolute;
    top: 20px;
    bottom: 20px;
    left: 30px;
    z-index: -1;
    width: 4px;
    border-radius: 4px;
    background: var(--c-filet);
}

.le1026-fil::after {
    background: var(--c-orange);
    transform-origin: top;
}

.le1026-fil > .le1026-etape {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 32px 48px;
    margin: 0;
    padding-left: 96px;
    counter-increment: etape;
}

.le1026-etape::before {
    content: counter(etape);
    position: absolute;
    top: 0;
    left: 6px;
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--c-orange);
    color: var(--c-nuit);
    font: 28px/1 var(--wp--preset--font-family--titre);
    box-shadow: 0 0 0 8px var(--c-braise);
}

.le1026-etape:last-child::before {
    background: var(--c-blanc);
}

.le1026-etape > * {
    margin: 0;
}

.le1026-etape__texte {
    flex: 1 1 320px;
}

.le1026-etape__texte h3 {
    margin: 0 0 10px;
    font-size: var(--wp--preset--font-size--titre-etape);
    line-height: 1.05;
}

.le1026-etape:last-child h3 {
    color: var(--c-ambre);
}

.le1026-etape__texte p {
    margin: 0;
}

.le1026-etape > :not(.le1026-etape__texte) {
    flex: 1 1 380px;
    min-width: 0;
}

.le1026-etape > .wp-block-image {
    overflow: hidden;
    border-radius: var(--rayon);
}

.le1026-etape .wp-block-image img {
    display: block;
    width: 100%;
    height: 280px;
    object-fit: cover;
}

.le1026-cadrage-toast img {
    object-position: 50% 40%;
}

/* Aperçu du composeur (étape 1, bloc le1026/plateaux mode « apercu », décoratif) */
.le1026-apercu {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 12px;
    height: 280px;
    padding: 18px;
    border-radius: var(--rayon);
    background: var(--wp--preset--color--papier);
    color: var(--wp--preset--color--cacao);
    font-size: 15px;
    line-height: 1.4;
    box-shadow: var(--wp--preset--shadow--flottant);
}

.le1026-apercu__tete {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.le1026-apercu__tete strong {
    color: var(--wp--preset--color--bordeaux);
}

.le1026-apercu__etape,
.le1026-apercu__qte {
    border-radius: var(--wp--custom--radius--pilule);
    background: var(--wp--preset--color--bordeaux);
    color: var(--c-blanc);
    font-size: 12px;
    font-weight: 800;
}

.le1026-apercu__etape {
    padding: 3px 10px;
}

.le1026-apercu__vignettes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.le1026-apercu__vignette {
    position: relative;
    display: block;
    height: 72px;
    overflow: hidden;
    border-radius: 10px;
}

.le1026-apercu__vignette img {
    display: block;
    width: 100%;
    height: 72px;
    object-fit: cover;
}

.le1026-apercu__qte {
    position: absolute;
    right: 6px;
    bottom: 6px;
    padding: 1px 8px;
}

.le1026-apercu__ligne {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    font-size: 12px;
    font-weight: 800;
}

.le1026-apercu__ok {
    color: #2F7A3E;
}

.le1026-apercu__piste {
    height: 8px;
    margin-top: 4px;
    border-radius: 8px;
    background: #F3E2C6;
}

.le1026-apercu__barre {
    height: 8px;
    border-radius: 8px;
    background: #2F7A3E;
}

.le1026-apercu__total {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 4px 12px;
    margin-top: auto;
    padding: 10px 14px;
    border-radius: 10px;
    background: var(--wp--preset--color--bordeaux);
    color: var(--c-rose);
    font-size: 13px;
}

.le1026-apercu__total strong {
    font-size: 20px;
    color: var(--c-ambre);
}

/* Plateaux */
.le1026-plateaux .wp-block-buttons {
    margin-top: 48px;
}

.le1026-lien-suite {
    margin-top: 12px;
}

.le1026-lien-suite a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-weight: 700;
}

/* Plats : tête scindée (titre à gauche, texte à droite) */
.le1026-plats-section {
    padding-block: 112px;
}

.le1026-tete-scindee {
    gap: 20px 48px;
    margin-bottom: 44px;
}

.le1026-tete-scindee__titre {
    max-width: 720px;
}

.le1026-tete-scindee > p {
    max-width: 420px;
    margin: 0;
}

/* Restaurant : deux cartes, lien étiré */
.le1026-restaurant .wp-block-columns {
    gap: 22px;
}

.le1026-restaurant .wp-block-column {
    display: flex;
}

/* Sans privatisation, la carte Privatisation disparaît (C6-01) : la carte Restaurant garde sa largeur de demi-rangée,
   centrée, et ses photos le sizes calculé pour elle (Blocks::sizesCadres). Empilées sous 782 px (cœur). */
.le1026-restaurant .wp-block-columns > .wp-block-column:only-child {
    flex-grow: 0;
    flex-basis: calc(50% - 11px);
    margin-inline: auto;
}

.is-style-carte,
.is-style-carte-accent {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    overflow: hidden;
    border: 1.5px solid var(--c-filet);
    border-radius: var(--rayon);
    background: var(--c-braise);
    transition: transform var(--wp--custom--duree--moyenne) ease, border-color var(--wp--custom--duree--moyenne) ease;
}

.is-style-carte-accent {
    --focus: var(--c-nuit);
    border-color: var(--c-orange);
    background: var(--c-orange);
    color: var(--c-nuit);
}

.is-style-carte > *,
.is-style-carte-accent > * {
    margin: 0;
}

.is-style-carte .wp-block-gallery.has-nested-images {
    flex-wrap: nowrap;
    gap: 0;
    height: 260px;
}

.is-style-carte .wp-block-gallery.has-nested-images figure.wp-block-image:not(#le1026),
.is-style-carte-accent > .wp-block-image {
    height: 260px;
    margin: 0;
    overflow: hidden;
}

.is-style-carte .wp-block-gallery.has-nested-images figure.wp-block-image:not(#le1026) {
    flex: 1 1 50%;
    width: 50%;
}

.is-style-carte img,
.is-style-carte-accent img {
    display: block;
    width: 100%;
    height: 260px;
    object-fit: cover;
    transition: transform var(--wp--custom--duree--zoom) var(--wp--custom--courbe--douce);
}

.le1026-carte-resto__corps {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 32px 36px 36px;
}

.le1026-carte-resto__corps > * {
    margin: 0;
}

.le1026-carte-resto__corps h3 {
    font-size: var(--wp--preset--font-size--manuscrit-l);
    line-height: 1.08;
}

.is-style-carte-accent h3 {
    color: var(--c-nuit);
}

.is-style-carte p {
    color: var(--c-sable);
}

.le1026-lien-etire a {
    font-weight: 800;
    text-decoration: none;
}

.le1026-lien-etire a::after {
    content: "";
    position: absolute;
    inset: 0;
}

.is-style-carte .le1026-lien-etire a {
    color: var(--c-ambre);
}

.is-style-carte-accent .le1026-lien-etire a {
    color: var(--wp--custom--prune);
}

.is-style-carte:focus-within,
.is-style-carte-accent:focus-within {
    border-color: var(--c-orange);
}

.is-style-carte-accent:focus-within {
    border-color: var(--c-nuit);
}

@media (hover: hover) {
    .is-style-carte:hover,
    .is-style-carte-accent:hover {
        transform: translateY(-4px);
        border-color: var(--c-orange);
    }

    .is-style-carte:hover img,
    .is-style-carte-accent:hover img {
        transform: scale(1.06);
    }
}

/* FAQ (core/details, question en H3 dans <summary>) */
.le1026-faq .wp-block-details {
    margin-top: 0;
    border-bottom: 1px solid var(--c-filet);
}

.le1026-faq > .wp-block-details:first-of-type {
    margin-top: 48px;
    border-top: 1px solid var(--c-filet);
}

.wp-block-details summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 64px;
    padding: 16px 0;
    list-style: none;
    cursor: pointer;
}

.wp-block-details summary::-webkit-details-marker {
    display: none;
}

.wp-block-details summary::after {
    content: "+";
    flex: none;
    font-family: var(--wp--preset--font-family--titre);
    font-size: 32px;
    line-height: 1;
    color: var(--c-orange);
}

.wp-block-details[open] summary::after {
    content: "−";
}

.le1026-faq__question {
    margin: 0;
    font-size: var(--wp--preset--font-size--carte);
    line-height: 1.15;
}

.wp-block-details > p {
    margin: 0 0 24px;
    color: var(--c-sable);
}

/* ---------------------------------------------------------------- Cartes de plateau */
/* Bloc le1026/plateaux, catalogue, suggestions de la fiche */
.le1026-grille {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr));
    gap: 20px;
}

.le1026-carte {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1.5px solid var(--c-filet);
    border-radius: var(--rayon);
    background: var(--c-braise);
    color: var(--c-creme);
    transition: transform var(--wp--custom--duree--moyenne) ease, border-color var(--wp--custom--duree--moyenne) ease;
}

.le1026-carte__media {
    position: relative;
    height: 230px;
    overflow: hidden;
    background: var(--c-filet);
}

.le1026-carte__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--wp--custom--duree--zoom) var(--wp--custom--courbe--douce);
}

.le1026-carte__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--wp--custom--duree--video) ease;
}

.le1026-carte__badge {
    position: absolute;
    top: 12px;
    right: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: var(--wp--custom--radius--pilule);
    background: rgba(42, 15, 14, 0.75);
    color: var(--c-blanc);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
}

.le1026-carte__badge path {
    fill: var(--c-ambre);
}

.le1026-carte__corps {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 6px;
    padding: 22px 24px 24px;
}

.le1026-carte__corps > * {
    margin: 0;
}

.le1026-carte__titre {
    font-size: var(--wp--preset--font-size--carte);
    line-height: 1.05;
}

.le1026-carte__titre a {
    color: var(--c-blanc);
    text-decoration: none;
}

.le1026-carte__titre a::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
}

.le1026-carte__numero {
    display: block;
    margin-bottom: 6px;
    font-family: var(--wp--preset--font-family--texte);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--c-ambre);
}

.le1026-carte__sep {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.le1026-carte__accroche {
    font-family: var(--wp--preset--font-family--manuscrit);
    font-size: var(--wp--preset--font-size--manuscrit);
    font-weight: 700;
    line-height: 1.1;
    color: var(--c-ambre);
}

.le1026-carte__extrait,
.le1026-carte__quantite,
.le1026-carte__par-pers {
    font-size: 14px;
    color: var(--c-sable);
}

.le1026-carte__dispo {
    font-size: 14px;
    font-weight: 700;
    color: var(--c-rose);
}

.le1026-carte__pied {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto !important;
    padding-top: 12px;
    border-top: 1px solid var(--c-filet);
}

.le1026-carte__prix {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
}

.le1026-carte__prix strong {
    font-size: 20px;
    line-height: 1.3;
    color: var(--c-ambre);
}

.le1026-carte.is-indisponible .le1026-carte__media {
    opacity: 0.55;
}

.le1026-carte:focus-within {
    border-color: var(--c-orange);
}

@media (hover: hover) {
    .le1026-carte:hover {
        transform: translateY(-4px);
        border-color: var(--c-orange);
    }

    .le1026-carte:hover .le1026-carte__image {
        transform: scale(1.06);
    }
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .le1026-carte.has-video:is(:hover, :focus-within) .le1026-carte__video {
        opacity: 1;
    }
}

@media (hover: none) {
    .le1026-carte__badge {
        display: none;
    }
}

/* ---------------------------------------------------------------- Bandes défilantes */
/* Galerie .is-style-defilement, bloc le1026/plats */
.le1026-defilement {
    position: relative;
}

.le1026-defilement__fenetre {
    overflow: hidden;
    scroll-padding-inline: 24px;
}

.le1026-defilement .wp-block-gallery.has-nested-images,
.le1026-defilement__piste {
    display: flex;
    flex-wrap: nowrap;
    gap: 16px;
    width: max-content;
    margin: 0;
    padding: 0;
    animation: le1026-defile 110s linear infinite;
}

.le1026-defilement__lot {
    display: flex;
    flex: none;
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.le1026-defilement:is(:hover, :focus-within, .is-paused) :is(.wp-block-gallery, .le1026-defilement__piste) {
    animation-play-state: paused;
}

/* Navigation au clavier dans une bande : piste à l'origine, la fenêtre défile jusqu'au lien focalisé (U-12) */
.le1026-defilement.is-clavier :is(.wp-block-gallery, .le1026-defilement__piste) {
    animation: none;
}

@keyframes le1026-defile {
    to {
        transform: translateX(calc(-50% - 8px));
    }
}

.le1026-defilement .wp-block-gallery.has-nested-images figure.wp-block-image:not(#le1026) {
    flex: 0 0 340px;
    width: 340px;
    height: 250px;
    margin: 0;
    overflow: hidden;
    border-radius: 14px;
}

.le1026-defilement .wp-block-gallery.has-nested-images figure.wp-block-image:not(#le1026) img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--wp--custom--duree--zoom) var(--wp--custom--courbe--douce);
}

.le1026-defilement .le1026-cadrage-buffet img {
    object-position: 30% 92%;
}

.le1026-pause {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1.5px solid rgba(255, 255, 255, 0.6);
    border-radius: 50%;
    background: rgba(42, 15, 14, 0.8);
    color: var(--c-blanc);
    cursor: pointer;
}

.le1026-pause[hidden],
html:not(.js) .le1026-pause {
    display: none;
}

.le1026-pause path {
    fill: currentColor;
}

.le1026-pause__lecture,
.le1026-pause[aria-pressed="true"] .le1026-pause__pause {
    display: none;
}

.le1026-pause[aria-pressed="true"] .le1026-pause__lecture {
    display: inline;
}

.le1026-defilement > .le1026-pause {
    position: absolute;
    right: 24px;
    bottom: 12px;
    z-index: 2;
}

/* Bande des plats : le bouton passe sous la bande, il ne recouvre plus le prix d'une carte (U-12) */
.le1026-plats > .le1026-pause {
    position: static;
    display: grid;
    margin: 16px 24px 0 auto;
}

/* Éléments du défilement des plats */
.le1026-plat {
    flex: 0 0 300px;
    overflow: hidden;
    border-radius: var(--rayon);
    background: var(--c-nuit);
}

.le1026-plat__lien {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: var(--c-creme);
    text-decoration: none;
}

.le1026-plat__lien:hover {
    color: var(--c-creme);
}

.le1026-plat__media {
    display: block;
    height: 220px;
    overflow: hidden;
    background: var(--c-filet);
}

.le1026-plat__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--wp--custom--duree--zoom) var(--wp--custom--courbe--douce);
}

.le1026-plat__corps {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding: 18px 22px 20px;
}

.le1026-plat__nom {
    font-family: var(--wp--preset--font-family--titre);
    font-size: 25px;
    line-height: 1.1;
    color: var(--c-blanc);
}

.le1026-plat__prix {
    font-size: 13px;
    white-space: nowrap;
    color: var(--c-sable);
}

.le1026-plat__lien:focus-visible {
    outline-offset: -3px;
}

@media (hover: hover) {
    .le1026-defilement figure:hover img,
    .le1026-plat__lien:hover img {
        transform: scale(1.06);
    }
}

/* Apparitions au défilement (CSS seul, sans JS ; aucun état caché hors @supports) */
@supports (animation-timeline: view()) {
    @media (prefers-reduced-motion: no-preference) {
        .le1026-etape,
        .le1026-nous .wp-block-column {
            animation: le1026-apparition both ease-out;
            animation-timeline: view();
            animation-range: entry 5% cover 28%;
        }

        .le1026-fil::after {
            animation: le1026-trait linear both;
            animation-timeline: view();
            animation-range: cover 12% cover 70%;
        }
    }
}

@keyframes le1026-apparition {
    from {
        opacity: 0;
        translate: 0 32px;
    }

    to {
        opacity: 1;
        translate: 0 0;
    }
}

@keyframes le1026-trait {
    from {
        transform: scaleY(0);
    }

    to {
        transform: scaleY(1);
    }
}

/* ---------------------------------------------------------------- Gabarits */
/* Têtes, fil d'Ariane, catalogue, fiche, pages */
.le1026-tete {
    max-width: 1280px;
    margin: 0 auto;
    padding: 56px 24px 32px;
}

.le1026-tete--centre {
    text-align: center;
}

.le1026-tete > .is-style-punchline + .is-style-chapo {
    margin-top: 16px;
}

.le1026-tete--centre > .is-style-chapo,
.le1026-tete--centre > .le1026-catalogue__base {
    max-width: 640px;
    margin-inline: auto;
}

.le1026-ariane ol {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
    font-size: 14px;
    color: var(--c-sable);
}

.le1026-tete--centre .le1026-ariane ol {
    justify-content: center;
}

.le1026-ariane li {
    display: inline-flex;
    align-items: center;
}

.le1026-ariane li + li::before {
    content: "›";
    margin: 0 10px;
}

.le1026-ariane a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: var(--c-sable);
}

.le1026-ariane [aria-current] {
    color: var(--c-creme);
}

.le1026-catalogue__base {
    font-size: 15px;
    color: var(--c-sable);
}

.le1026-sommaire ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 12px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.le1026-sommaire a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 18px;
    border: 1.5px solid var(--c-filet);
    border-radius: var(--wp--custom--radius--pilule);
    color: var(--c-creme);
    font-weight: 700;
    text-decoration: none;
}

.le1026-sommaire a:hover {
    border-color: var(--c-orange);
    color: var(--c-creme);
}

.le1026-famille {
    max-width: 1280px;
    margin: 0 auto;
    padding: 48px 24px 24px;
}

.le1026-famille > h2 {
    margin-bottom: 24px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--c-filet);
}

/* Variétés côte à côte (U-06) : chaque variété occupe autant de colonnes que de cartes, dans la limite de la
   grille (1 colonne, 2 dès 600 px, 3 dès 1024 px, 4 dès 1280 px) ; ses cartes se rangent dans ces colonnes. */
.le1026-varietes {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 40px 20px;
}

.le1026-varietes .le1026-grille {
    grid-template-columns: minmax(0, 1fr);
}

.le1026-variete__titre {
    margin: 0 0 16px;
    font-size: var(--wp--preset--font-size--carte);
}

@media (min-width: 600px) {
    .le1026-varietes {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    :is(.le1026-variete--n2, .le1026-variete--n3, .le1026-variete--n4) {
        grid-column: span 2;
    }

    :is(.le1026-variete--n2, .le1026-variete--n3, .le1026-variete--n4) > .le1026-grille {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .le1026-varietes {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    :is(.le1026-variete--n3, .le1026-variete--n4) {
        grid-column: span 3;
    }

    :is(.le1026-variete--n3, .le1026-variete--n4) > .le1026-grille {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1280px) {
    .le1026-varietes {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .le1026-variete--n4 {
        grid-column: span 4;
    }

    .le1026-variete--n4 > .le1026-grille {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.le1026-catalogue > .le1026-boutons {
    max-width: 1232px;
    margin: 48px auto 96px;
}

.le1026-fiche__haut {
    display: grid;
    gap: 40px;
    max-width: 1280px;
    margin: 0 auto;
    padding: 40px 24px 24px;
}

.le1026-fiche__infos > .is-style-surtitre {
    margin-top: 8px;
}

.le1026-fiche__infos > .is-style-chapo {
    margin: 20px 0 0;
}

.le1026-fiche__sep {
    color: var(--c-blanc);
}

.le1026-fiche__cles {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 16px 24px;
    margin: 28px 0 0;
    padding: 20px 0;
    border-block: 1px solid var(--c-filet);
}

.le1026-fiche__cles dt {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--c-ambre);
}

.le1026-fiche__cles dd {
    margin: 4px 0 0;
    font-weight: 700;
    color: var(--c-creme);
}

.le1026-fiche__prix {
    font-size: 22px;
    color: var(--c-ambre) !important;
}

.le1026-fiche__base {
    display: block;
    font-size: 13px;
    font-weight: 400;
    color: var(--c-sable);
}

.le1026-fiche__dispo {
    margin-top: 24px;
    font-weight: 700;
    color: var(--c-rose);
}

.le1026-fiche__media {
    position: relative;
    overflow: hidden;
    border-radius: var(--rayon);
    background: var(--c-braise);
}

.le1026-fiche__media img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

/* Photo d'abord (LCP, S-21, S-22) ; la vidéo, s'il y en a une, se lit au survol comme sur les cartes */
.le1026-fiche__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--wp--custom--duree--video) ease;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .le1026-fiche__media.has-video:hover .le1026-fiche__video {
        opacity: 1;
    }
}

/* Suggestions de bas de fiche : cartes compactes, au plus 3, centrées (U-21) */
.le1026-grille--suggestions {
    grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 360px));
    justify-content: center;
}

.le1026-carte--compacte .le1026-carte__media {
    height: 180px;
}

.le1026-fiche__corps {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px 96px;
}

.le1026-fiche__section {
    margin-top: 64px;
}

.le1026-fiche__section > h2 {
    margin-bottom: 20px;
}

.le1026-fiche__section .wp-block-gallery figcaption,
.le1026-fiche__section .wp-element-caption {
    font-size: 14px;
    color: var(--c-creme);
}

.le1026-fiche__note {
    font-size: 14px;
    color: var(--c-sable);
}

.le1026-tableau {
    width: 100%;
    max-width: 560px;
    border-collapse: collapse;
}

.le1026-tableau :is(th, td) {
    padding: 10px 12px;
    border-bottom: 1px solid var(--c-filet);
    text-align: left;
}

.le1026-tableau thead th {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--c-ambre);
}

.le1026-pense-bete {
    max-width: 760px;
    padding: 28px 32px;
    border-left: 3px solid var(--c-orange);
    border-radius: 0 var(--rayon) var(--rayon) 0;
    background: var(--c-braise);
}

.le1026-pense-bete > h2 {
    margin-top: 0;
}

.le1026-pense-bete p {
    margin: 0;
}

.le1026-pastilles {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.le1026-pastilles li {
    padding: 6px 14px;
    border: 1px solid var(--c-filet);
    border-radius: var(--wp--custom--radius--pilule);
    background: var(--c-braise);
    font-size: 15px;
}

.le1026-page .le1026-contenu,
.le1026-liste {
    padding-bottom: 96px;
}

/* Page dont le contenu porte son propre H1 (page.php n'ajoute pas de tête) */
.le1026-page > .le1026-contenu:first-child {
    padding-top: 56px;
}

.le1026-liste {
    max-width: 760px;
    margin: 0 auto;
    padding-inline: 24px;
}

.le1026-liste .le1026-tete {
    padding-inline: 0;
}

.le1026-liste__titre {
    font-size: var(--wp--preset--font-size--carte);
}

.le1026-404 {
    max-width: 760px;
    margin: 0 auto;
    padding: 120px 24px;
    text-align: center;
}

.le1026-404 .le1026-boutons {
    justify-content: center;
}

/* ---------------------------------------------------------------- Pied de page */
.le1026-pied {
    background: var(--wp--preset--color--nuit-profonde);
    color: var(--c-sable);
    font-size: 15px;
}

.le1026-pied a {
    color: var(--c-sable);
}

.le1026-pied a:hover {
    color: var(--c-blanc);
}

.le1026-pied__haut {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 32px 56px;
    max-width: 1280px;
    margin: 0 auto;
    padding: 56px 24px 24px;
}

.le1026-pied__marque {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}

.le1026-pied__logo {
    display: block;
    width: 160px;
    height: auto;
}

.le1026-pied__mention,
.le1026-pied__devise {
    padding-left: 4px;
}

.le1026-pied__nom {
    font-family: var(--wp--preset--font-family--titre);
    font-size: 28px;
    color: var(--c-blanc);
}

.le1026-pied__devise {
    font-family: var(--wp--preset--font-family--manuscrit);
    font-size: 26px;
    font-weight: 700;
    line-height: 1.1;
    color: var(--c-blanc);
}

.le1026-pied__bloc {
    margin: 0;
    font-style: normal;
}

.le1026-pied__contact {
    display: flex;
    flex-direction: column;
}

.le1026-pied__contact a,
.le1026-pied__liens a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
}

/* Itinéraire (F3) : sur sa ligne, sous l'adresse, souligné (couleur du texte, link-in-text-block), cible de 44 px */
.le1026-pied__itineraire {
    display: flex;
    align-items: center;
    width: fit-content;
    min-height: 44px;
    margin-top: 4px;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.le1026-pied__tel {
    font-weight: 700;
    color: var(--c-ambre) !important;
}

.le1026-pied__zone {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px 24px;
}

.le1026-pied__bas {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 4px 24px;
    max-width: 1280px;
    margin: 0 auto;
    padding: 12px 24px 20px;
    border-top: 1px solid var(--c-braise);
    font-size: 14px;
}

.le1026-pied__copyright {
    margin: 0;
}

.le1026-pied__liens {
    display: flex;
    flex-wrap: wrap;
    gap: 0 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* ---------------------------------------------------------------- Responsive (01 § 6) */
/* Menu replié sous 1280 px : de 1200 à 1279 px, la navigation passait sur deux lignes (U2-03) */
@media (max-width: 1279.98px) {
    .le1026-nav {
        margin-left: auto;
    }

    .le1026-logo__image {
        height: 40px;
    }

    .js .le1026-nav__bouton {
        display: inline-flex;
    }

    .js .le1026-nav__panneau {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        display: none;
        max-height: calc(100vh - var(--hauteur-entete));
        overflow-y: auto;
        padding: 8px 24px 20px;
        border-bottom: 1px solid var(--c-filet);
        background: var(--c-nuit);
        box-shadow: 0 16px 32px rgba(0, 0, 0, 0.4);
    }

    .js .le1026-nav.is-ouvert .le1026-nav__panneau {
        display: block;
    }

    .js .le1026-nav__liste {
        flex-direction: column;
        gap: 0;
    }

    .js .le1026-nav__liste a {
        width: 100%;
        min-height: 48px;
        border-bottom: 1px solid var(--c-braise);
    }

    .le1026-entete__barre {
        flex-wrap: wrap;
    }

    .js .le1026-entete__barre {
        flex-wrap: nowrap;
    }

    /* Sans JS, le menu reste déplié : ses liens passent à la ligne au lieu d'élargir la page (R7-02) */
    html:not(.js) .le1026-nav__liste {
        flex-wrap: wrap;
        gap: 0 20px;
    }
}

@media (max-width: 899.98px) {
    .le1026-fil > .le1026-etape {
        padding-left: 64px;
    }

    .le1026-fil::before,
    .le1026-fil::after {
        left: 18px;
    }

    .le1026-etape::before {
        left: 0;
        width: 40px;
        height: 40px;
        font-size: 22px;
    }

    .le1026-fil {
        gap: 56px;
        margin-top: 56px;
    }
}

/* Fiche en mobile : la photo vient juste après le H1, et non après le bloc d'infos et les boutons (U2-07) */
@media (max-width: 899.98px) {
    .le1026-fiche__haut {
        row-gap: 0;
    }

    .le1026-fiche__infos {
        display: contents;
    }

    .le1026-fiche__infos > * {
        order: 2;
    }

    .le1026-fiche__infos > :is(.le1026-ariane, h1) {
        order: 0;
    }

    .le1026-fiche__media {
        order: 1;
        margin-top: 20px;
    }

    .le1026-fiche__infos > .is-style-punchline {
        margin-top: 24px;
    }
}

@media (min-width: 900px) {
    .le1026-fiche__haut {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: start;
    }
}

@media (max-width: 781.98px) {
    .le1026-cadrage-equipe img {
        height: auto;
        aspect-ratio: 3 / 2;
    }

    .le1026-nous .wp-block-columns {
        gap: 40px;
    }

    .le1026-etape .wp-block-image img {
        height: auto;
        aspect-ratio: 16 / 10;
    }

    .le1026-plats-section {
        padding-block: 72px;
    }

    .le1026-defilement .wp-block-gallery.has-nested-images figure.wp-block-image:not(#le1026) {
        flex-basis: 260px;
        width: 260px;
        height: 190px;
    }

    .le1026-plat {
        flex-basis: 240px;
    }

    .le1026-plat__media {
        height: 180px;
    }

    .le1026-carte-resto__corps {
        padding: 24px;
    }

    .wp-block-cover.is-style-hero {
        padding: 72px 24px 88px;
    }

    .wp-block-cover.is-style-dernier-appel {
        padding: 88px 24px;
    }
}

@media (max-width: 599.98px) {
    /* Sur-titres SEO longs : interlettrage réduit pour rester sur 2 lignes (U-14) */
    .is-style-surtitre {
        letter-spacing: 0.16em;
    }

    .le1026-cadrage-equipe img {
        aspect-ratio: 4 / 5;
    }

    .is-style-hero .wp-block-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .is-style-hero .wp-block-button,
    .is-style-hero .wp-block-button__link {
        width: 100%;
    }

    .le1026-apercu {
        height: auto;
    }
}

@media (max-width: 479.98px) {
    .le1026-apercu__vignettes,
    .le1026-apercu__jauge {
        display: none;
    }

    .le1026-fil > .le1026-etape {
        gap: 20px;
    }
}

@media (max-width: 399.98px) {
    .le1026-entete__barre {
        gap: 8px;
        padding-inline: 16px;
    }

    .le1026-entete__cta-suite,
    .le1026-nav__bouton span {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
    }

    .le1026-entete__cta {
        padding: 0 18px;
    }

    .le1026-nav__bouton {
        padding: 0;
        justify-content: center;
    }

    .le1026-logo__image {
        height: 36px;
    }
}

/* Sans JS : bandes figées et défilables à la main (le bouton pause ne peut rien sans JS, et la bande photos
   n'a aucun élément focalisable qui la mettrait en pause au clavier, WCAG 2.2.2) */
html:not(.js) :is(.le1026-defilement .wp-block-gallery.has-nested-images, .le1026-defilement__piste) {
    animation: none;
}

html:not(.js) .le1026-defilement__fenetre {
    overflow-x: auto;
}

html:not(.js) .le1026-defilement__copie {
    display: none;
}

/* ---------------------------------------------------------------- Mouvement réduit */
/* Tout est figé (WCAG 2.2.2, 2.3.3) */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    .le1026-defilement .wp-block-gallery.has-nested-images,
    .le1026-defilement__piste {
        animation: none;
    }

    .le1026-defilement__fenetre {
        overflow-x: auto;
        scroll-snap-type: x mandatory;
    }

    .le1026-defilement__lot > * {
        scroll-snap-align: start;
    }

    .le1026-defilement__copie,
    .le1026-pause,
    .le1026-hero__video {
        display: none !important;
    }

    .le1026-carte:hover,
    .is-style-carte:hover,
    .is-style-carte-accent:hover,
    .le1026-bouton:hover,
    .wp-block-button__link:hover,
    :hover > img,
    :hover img {
        transform: none !important;
    }
}
