/* La Fée Clochette — menu « Arc-en-ciel doux » (23 septembre 2026).
   Chargé après pages.css sur l'accueil et les pages intérieures.
   Balisage produit par site.js (enhanceNavigation). Surcharge les règles
   .lfc-nav-* de pages.css sans les modifier. */

:root {
  --lfcm-encre: #33382E;
  --lfcm-texte: #5F6157;
  --lfcm-surtitre: #5C7234;
  --lfcm-sauge: #E4EAD6;
  --lfcm-bleu: #DCEBF6;
  --lfcm-beurre: #FCF1D8;
  --lfcm-peche: #F4D3E6;
  --lfcm-sauge-fonce: #B7C98F;
  --lfcm-bleu-fonce: #A9C9E1;
  --lfcm-beurre-fonce: #F3D48C;
  --lfcm-peche-fonce: #E6A6CB;
  --lfcm-bouton: #EBA9CF;
  --lfcm-bouton-survol: #E297C2;
  --lfcm-titres: 'LFC Baloo', 'Baloo 2', system-ui, sans-serif;
  --lfcm-corps: 'LFC Inclusive', 'Inclusive Sans', system-ui, sans-serif;
  --lfcm-ombre: 0 34px 70px -34px rgba(92, 72, 48, .42), 0 10px 24px -14px rgba(92, 72, 48, .2);
  --lfcm-etoile: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpolygon points='24.00,6.50 29.05,18.54 42.07,19.63 32.18,28.16 35.17,40.87 24.00,34.10 12.83,40.87 15.82,28.16 5.93,19.63 18.95,18.54' fill='black' stroke='black' stroke-width='5' stroke-linejoin='round'/%3E%3C/svg%3E");
  --lfcm-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.75 6 6.25l4.5-4.5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --lfcm-filet: linear-gradient(90deg,
    var(--lfcm-sauge-fonce) 0 calc(25% - 3px), transparent calc(25% - 3px) calc(25% + 3px),
    var(--lfcm-bleu-fonce) calc(25% + 3px) calc(50% - 3px), transparent calc(50% - 3px) calc(50% + 3px),
    var(--lfcm-beurre-fonce) calc(50% + 3px) calc(75% - 3px), transparent calc(75% - 3px) calc(75% + 3px),
    var(--lfcm-peche-fonce) calc(75% + 3px) 100%);
}

/* ---------- Filet quatre couleurs sous l'en-tête ---------- */
nav.framer-mzyRQ::after,
.lfc-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4px;
  background: var(--lfcm-filet);
  opacity: .8;
  pointer-events: none;
}
/* Pages intérieures : le filet court sur toute la largeur de l'en-tête. */
.lfc-header nav.framer-mzyRQ::after { content: none; }
.lfc-header { position: relative; background: #fff; }

/* Barre de progression de lecture Framer (accueil) : 3 px pêche, collée en haut de l'écran,
   au-dessus de l'en-tête ; le filet quatre couleurs reste sous l'en-tête. */
.framer-admrya-container > div { top: 0 !important; height: 3px !important; }
.framer-admrya-container > div > div { background: var(--lfcm-bouton) !important; }

/* ---------- Barre d'en-tête (desktop) ---------- */
@media (min-width: 1200px) {
  .lfc-header { max-width: none; padding: 0 30px; }
  .lfc-header nav.framer-mzyRQ.framer-fg5ocd { width: auto !important; padding: 16px 0 20px !important; }
  body nav.framer-mzyRQ.framer-fg5ocd {
    padding: 16px 30px 20px !important;
    background-color: #fff !important;
    box-shadow: 0 16px 34px -30px rgba(92, 72, 48, .5) !important;
  }
  .lfc-header nav.framer-mzyRQ.framer-fg5ocd { box-shadow: none !important; }

  /* Logo à gauche, entrées centrées dans l'espace libre, actions à droite. */
  nav.framer-mzyRQ .framer-161uoj1 { flex: 1 1 auto !important; width: auto !important; gap: 24px !important; }
  nav.framer-mzyRQ .framer-m6zar3 { margin-inline: auto !important; gap: 6px !important; }

  /* Entrées : « Notre histoire » (lien Framer) et les trois <summary>. */
  nav.framer-mzyRQ .framer-jcuzfg-container,
  nav.framer-mzyRQ .lfc-nav-discover > summary {
    position: relative;
    display: flex;
    align-items: center;
    padding: 9px 16px;
    border-radius: 999px;
    transition: background-color .2s ease, color .2s ease;
  }
  nav.framer-mzyRQ .framer-m6zar3 p.framer-text,
  nav.framer-mzyRQ .lfc-nav-discover > summary {
    font: 500 15px/22px var(--lfcm-corps) !important;
    letter-spacing: 0 !important;
    color: var(--lfcm-encre);
    --framer-text-color: var(--lfcm-encre);
  }
  nav.framer-mzyRQ .framer-jcuzfg-container:hover,
  nav.framer-mzyRQ .framer-jcuzfg-container:focus-within,
  nav.framer-mzyRQ .lfc-nav-discover > summary:hover,
  nav.framer-mzyRQ .lfc-nav-discover[open] > summary {
    background-color: var(--lfcm-sauge);
  }
  /* Petite étoile beurre au-dessus de l'entrée survolée ou ouverte. */
  nav.framer-mzyRQ .framer-jcuzfg-container::before,
  nav.framer-mzyRQ .lfc-nav-discover > summary::before {
    content: "";
    position: absolute;
    top: -9px;
    left: 50%;
    width: 15px;
    height: 15px;
    background: var(--lfcm-beurre-fonce);
    -webkit-mask: var(--lfcm-etoile) center / contain no-repeat;
            mask: var(--lfcm-etoile) center / contain no-repeat;
    opacity: 0;
    transform: translate(-50%, 4px) scale(.5) rotate(-20deg);
    transition: opacity .2s ease, transform .3s cubic-bezier(.3, 1.4, .5, 1);
    pointer-events: none;
  }
  nav.framer-mzyRQ .framer-jcuzfg-container:hover::before,
  nav.framer-mzyRQ .framer-jcuzfg-container:focus-within::before,
  nav.framer-mzyRQ .lfc-nav-discover > summary:hover::before,
  nav.framer-mzyRQ .lfc-nav-discover[open] > summary::before {
    opacity: 1;
    transform: translate(-50%, 0) scale(1) rotate(0);
  }
  /* Chevron en trait */
  nav.framer-mzyRQ .lfc-nav-discover > summary::after {
    content: "";
    width: 11px;
    height: 8px;
    margin-left: 9px;
    background: currentColor;
    -webkit-mask: var(--lfcm-chevron) center / contain no-repeat;
            mask: var(--lfcm-chevron) center / contain no-repeat;
    transition: transform .25s ease;
  }
  nav.framer-mzyRQ .lfc-nav-discover[open] > summary::after { transform: rotate(180deg); }
  nav.framer-mzyRQ .lfc-nav-current > summary,
  nav.framer-mzyRQ .framer-jcuzfg-container a[aria-current="page"] p.framer-text {
    /* Vert plus soutenu que le surtitre : AA aussi sur la pastille sauge (5,5:1). */
    color: #4E6130;
    --framer-text-color: #4E6130;
  }
  nav.framer-mzyRQ .lfc-nav-discover > summary:focus-visible {
    outline: 2px solid var(--lfcm-surtitre);
    outline-offset: 2px;
    border-radius: 999px;
  }

  /* Appelez-nous : pastille ronde sauge avec une icône téléphone en trait. */
  nav.framer-mzyRQ .framer-qsbei { gap: 26px !important; }
  nav.framer-mzyRQ .framer-m2d1r9 {
    justify-content: center !important;
    min-height: 46px;
    padding-left: 58px !important;
    background: url(icone-telephone.svg) left center / 46px 46px no-repeat;
  }
  nav.framer-mzyRQ .framer-m2d1r9 .framer-15mksaq p.framer-text {
    font: 500 16px/1.3 var(--lfcm-corps) !important;
    color: var(--lfcm-encre);
    --framer-text-color: var(--lfcm-encre);
  }
  /* Numéro : même taille et même couleur que « Appelez-nous », en Baloo (voir aussi a[href^="tel:"]). */
  nav.framer-mzyRQ .framer-m2d1r9 .framer-1yxyg9o { opacity: 1 !important; } /* Framer l'atténuait à 0,56 */
  nav.framer-mzyRQ .framer-m2d1r9 .framer-1yxyg9o p.framer-text,
  nav.framer-mzyRQ .framer-m2d1r9 .framer-1yxyg9o a.framer-text {
    font: 500 16px/1.3 var(--lfcm-titres) !important;
    letter-spacing: 0 !important;
    opacity: 1 !important;
    color: var(--lfcm-encre);
    --framer-text-color: var(--lfcm-encre);
    --framer-link-text-color: var(--lfcm-encre);
    --framer-font-family: var(--lfcm-titres);
  }
  nav.framer-mzyRQ .framer-m2d1r9 a.framer-text:hover { color: var(--lfcm-surtitre); --framer-link-hover-text-color: var(--lfcm-surtitre); }
}

/* Numéros de téléphone du site : Baloo 500, chiffres proportionnels, zéro simple.
   (Le zéro barré d'Inclusive Sans faisait « police de développeur ».) */
a[href^="tel:"],
a[href^="tel:"] .framer-text {
  font-family: var(--lfcm-titres) !important;
  --framer-font-family: var(--lfcm-titres) !important;
  font-weight: 500 !important;
  --framer-font-weight: 500 !important;
  font-variant-numeric: proportional-nums !important;
  font-feature-settings: normal !important;
  letter-spacing: 0 !important;
}

/* Le conteneur Framer des actions (.framer-qsbei) coupait le bouton et son ombre
   au ras de sa boîte : bord inférieur plat, « barre blanche » visible sur écran Retina. */
nav.framer-mzyRQ .framer-qsbei,
nav.framer-mzyRQ .framer-b8ut10-container { overflow: visible !important; }

/* Bouton « + Inscrire mon enfant » (pêche) et bouton du dialog mobile. */
nav.framer-mzyRQ a.framer-womO9,
.lfc-menu nav[data-linked] > .lfc-contact {
  background-color: var(--lfcm-bouton) !important;
  box-shadow: inset 0 3px 5px rgba(255, 255, 255, .42), inset 0 -4px 6px rgba(140, 70, 110, .14), 0 4px 0 #D58AB5, 0 10px 16px -6px rgba(140, 70, 110, .32) !important;
  color: var(--lfcm-encre) !important;
}
nav.framer-mzyRQ a.framer-womO9:hover,
.lfc-menu nav[data-linked] > .lfc-contact:hover { background-color: var(--lfcm-bouton-survol) !important; }
nav.framer-mzyRQ a.framer-womO9 .framer-text { --framer-text-color: var(--lfcm-encre) !important; }
nav.framer-mzyRQ a.framer-womO9 [data-framer-name="Line"] { background-color: var(--lfcm-encre) !important; }

/* Entre 1200 et 1319 px : on resserre l'en-tête pour tout garder sur une ligne. */
@media (min-width: 1200px) and (max-width: 1319px) {
  nav.framer-mzyRQ .framer-161uoj1 { gap: 14px !important; }
  nav.framer-mzyRQ .framer-m6zar3 { gap: 0 !important; }
  nav.framer-mzyRQ .framer-jcuzfg-container,
  nav.framer-mzyRQ .lfc-nav-discover > summary { padding-inline: 12px; }
  nav.framer-mzyRQ .framer-qsbei { gap: 16px !important; }
  nav.framer-mzyRQ .framer-m2d1r9 { padding-left: 54px !important; }
  nav.framer-mzyRQ a.framer-womO9 { padding-inline: 14px 18px !important; }
  nav.framer-mzyRQ .framer-sdgv9e-container { width: 214px !important; height: auto !important; aspect-ratio: 494 / 88; }
}

/* ---------- Panneaux (desktop) ---------- */
@media (min-width: 1200px) {
  nav.framer-mzyRQ .lfc-nav-item { position: relative; }
  nav.framer-mzyRQ .lfc-nav-discover > .lfc-nav-panel {
    position: absolute;
    top: calc(100% + 31px);
    left: var(--lfc-panel-left, -20px);
    z-index: 60;
    width: max-content;
    min-width: 0;
    max-width: calc(100vw - 32px);
    max-height: none;
    padding: 30px;
    overflow: visible;
    color: var(--lfcm-texte);
    background: #fff;
    border: 0;
    border-radius: 28px;
    box-shadow: var(--lfcm-ombre);
    font: 400 15px/1.5 var(--lfcm-corps);
    text-align: left;
    white-space: normal;
  }
  /* Petite flèche pointant l'entrée ouverte */
  nav.framer-mzyRQ .lfc-nav-discover > .lfc-nav-panel::before {
    content: "";
    position: absolute;
    top: -7px;
    left: var(--lfc-panel-arrow, 60px);
    width: 18px;
    height: 18px;
    background: #fff;
    border-radius: 4px 0 0 0;
    transform: translateX(-50%) rotate(45deg);
    box-shadow: -3px -3px 8px -4px rgba(92, 72, 48, .12);
  }
  /* Chrome garde la mise en page du contenu fermé : on le retire pour éviter tout débordement. */
  nav.framer-mzyRQ .lfc-nav-discover:not([open]) > .lfc-nav-panel { display: none; }
  nav.framer-mzyRQ .lfc-nav-discover[open] > .lfc-nav-panel { animation: lfcm-ouverture .26s cubic-bezier(.2, .7, .2, 1); }

  /* Réinitialise les liens génériques de pages.css dans les panneaux. */
  nav.framer-mzyRQ .lfc-nav-panel a { display: inline-flex; padding: 0; border-radius: 0; background: none; font-size: inherit; color: var(--lfcm-encre); }
  nav.framer-mzyRQ .lfc-nav-panel a:hover,
  nav.framer-mzyRQ .lfc-nav-panel a[aria-current="page"] { background: none; }
  nav.framer-mzyRQ .lfc-nav-panel p { margin: 0; }
  nav.framer-mzyRQ .lfc-nav-panel ul { list-style: none; margin: 0; padding: 0; }
  nav.framer-mzyRQ .lfc-nav-panel a:focus-visible { outline: 2px solid var(--lfcm-surtitre); outline-offset: 3px; border-radius: 6px; }

  .lfc-menu-eyebrow {
    font: 600 12px/1.4 var(--lfcm-corps);
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--lfcm-surtitre);
  }
  .lfc-menu-arrow { display: inline-block; font-size: .92em; line-height: 1; transition: transform .2s ease, opacity .2s ease; }

  /* Lien avec filet : bleu et flèche relevée au survol. */
  nav.framer-mzyRQ .lfc-nav-panel a.lfc-menu-link {
    align-items: center;
    gap: 9px;
    padding: 1px 0 4px;
    font: 500 16px/1.4 var(--lfcm-corps);
    background: linear-gradient(rgba(51, 56, 46, .28), rgba(51, 56, 46, .28)) left bottom / 100% 1px no-repeat;
    transition: background-size .2s ease, background-image .2s ease;
  }
  nav.framer-mzyRQ .lfc-nav-panel a.lfc-menu-link .lfc-menu-arrow { opacity: .55; }
  nav.framer-mzyRQ .lfc-nav-panel a.lfc-menu-link:hover,
  nav.framer-mzyRQ .lfc-nav-panel a.lfc-menu-link:focus-visible {
    background-image: linear-gradient(var(--lfcm-bleu-fonce), var(--lfcm-bleu-fonce));
    background-size: 100% 3px;
  }
  nav.framer-mzyRQ .lfc-nav-panel a.lfc-menu-link:hover .lfc-menu-arrow,
  nav.framer-mzyRQ .lfc-nav-panel a.lfc-menu-link:focus-visible .lfc-menu-arrow { opacity: 1; transform: translate(2px, -2px); }
  nav.framer-mzyRQ .lfc-nav-panel a.lfc-menu-link[aria-current="page"] {
    font-weight: 600;
    background-image: linear-gradient(var(--lfcm-sauge-fonce), var(--lfcm-sauge-fonce));
    background-size: 100% 3px;
  }

  /* Bouton pêche du panneau */
  nav.framer-mzyRQ .lfc-nav-panel a.lfc-menu-button {
    align-items: center;
    gap: 14px;
    padding: 13px 24px 13px 26px;
    border-radius: 999px;
    background: var(--lfcm-bouton);
    font: 600 15px/1.3 var(--lfcm-corps);
    box-shadow: inset 0 3px 5px rgba(255, 255, 255, .42), inset 0 -4px 6px rgba(140, 70, 110, .14), 0 4px 0 #D58AB5, 0 12px 18px -8px rgba(140, 70, 110, .36);
    transition: background-color .2s ease, transform .2s ease;
  }
  nav.framer-mzyRQ .lfc-nav-panel a.lfc-menu-button:hover { background: var(--lfcm-bouton-survol); transform: translateY(-1px); }
  nav.framer-mzyRQ .lfc-nav-panel a.lfc-menu-button:hover .lfc-menu-arrow { transform: translate(2px, -2px); }

  /* ----- Méga-menu « Nos crèches » ----- */
  .lfc-mega { display: grid; grid-template-columns: 296px minmax(0, 1fr); width: min(870px, calc(100vw - 92px)); }
  .lfc-mega-intro { position: relative; display: flex; flex-direction: column; align-items: flex-start; padding: 8px 28px 178px 4px; }
  nav.framer-mzyRQ .lfc-nav-panel .lfc-mega-intro .lfc-menu-eyebrow { margin-bottom: 14px; }
  nav.framer-mzyRQ .lfc-nav-panel .lfc-mega-title { font: 600 37px/1.04 var(--lfcm-titres); letter-spacing: -.01em; color: var(--lfcm-encre); margin-bottom: 14px; text-wrap: balance; }
  nav.framer-mzyRQ .lfc-nav-panel .lfc-mega-lede { font-size: 16px; margin-bottom: 26px; }
  .lfc-mega-art { position: absolute; left: -12px; bottom: -14px; width: 244px; aspect-ratio: 520 / 363; background: url(argile-mains.webp) center / contain no-repeat; pointer-events: none; }
  .lfc-mega-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px 20px;
    padding: 12px 0 0 30px;
    border-left: 1px solid #EDE7DC;
    align-content: start;
  }
  .lfc-mega-card {
    --tone: var(--lfcm-sauge);
    --accent: var(--lfcm-sauge-fonce);
    position: relative;
    min-height: 176px;
    padding: 34px 22px 24px 26px;
    background: var(--tone) url(decor-sauge.svg) right -4px bottom -6px / 124px auto no-repeat;
    border-radius: 26px 34px 28px 30px / 30px 28px 34px 26px;
  }
  .lfc-mega-card[data-tone="bleu"] { --tone: var(--lfcm-bleu); --accent: var(--lfcm-bleu-fonce); background-image: url(decor-bleu.svg); border-radius: 34px 26px 30px 28px / 28px 32px 26px 30px; }
  .lfc-mega-card[data-tone="beurre"] { --tone: var(--lfcm-beurre); --accent: var(--lfcm-beurre-fonce); background-image: url(decor-beurre.svg); border-radius: 28px 30px 34px 26px / 32px 26px 30px 28px; }
  .lfc-mega-card[data-tone="peche"] { --tone: var(--lfcm-peche); --accent: var(--lfcm-peche-fonce); background-image: url(decor-peche.svg); border-radius: 30px 28px 26px 34px / 26px 30px 28px 32px; }
  /* Onglet étoilé */
  .lfc-mega-card::before,
  .lfc-mega-card::after { content: ""; position: absolute; pointer-events: none; }
  .lfc-mega-card::before {
    top: -13px;
    left: 6px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--accent);
    box-shadow: 0 0 0 4px rgba(255, 255, 255, .7), 0 6px 12px -6px rgba(92, 72, 48, .45);
    transform: rotate(-6deg);
  }
  .lfc-mega-card::after {
    top: -3px;
    left: 16px;
    width: 20px;
    height: 20px;
    background: #fff;
    -webkit-mask: var(--lfcm-etoile) center / contain no-repeat;
            mask: var(--lfcm-etoile) center / contain no-repeat;
  }
  nav.framer-mzyRQ .lfc-nav-panel .lfc-mega-town { font: 600 22px/1.15 var(--lfcm-titres); color: var(--lfcm-encre); margin-bottom: 14px; letter-spacing: -.005em; }
  .lfc-mega-card ul { display: grid; justify-items: start; gap: 9px; }
  .lfc-mega-card li { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
  .lfc-mega-tag {
    padding: 3px 11px 4px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 3px 8px -5px rgba(92, 72, 48, .4);
    font: 500 12px/1.4 var(--lfcm-corps);
    color: var(--lfcm-encre);
  }

  /* ----- Panneaux « Au quotidien » et « Le journal » ----- */
  .lfc-mini { display: grid; grid-template-columns: minmax(0, 1fr) 184px; gap: 28px; width: min(566px, calc(100vw - 92px)); }
  .lfc-mini-body { display: flex; flex-direction: column; align-items: flex-start; padding: 4px 0 0 4px; }
  nav.framer-mzyRQ .lfc-nav-panel .lfc-mini-body .lfc-menu-eyebrow { margin-bottom: 10px; }
  .lfc-mini-list { display: grid; gap: 2px; align-self: stretch; }
  nav.framer-mzyRQ .lfc-nav-panel .lfc-mini-list a {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 9px 12px 9px 8px;
    margin-left: -8px;
    border-radius: 18px;
    transition: background-color .2s ease;
  }
  nav.framer-mzyRQ .lfc-nav-panel .lfc-mini-list a:hover,
  nav.framer-mzyRQ .lfc-nav-panel .lfc-mini-list a:focus-visible { background: #FBF8F2; }
  .lfc-mini-star {
    --tone: var(--lfcm-sauge);
    --accent: var(--lfcm-sauge-fonce);
    position: relative;
    flex: none;
    width: 38px;
    height: 38px;
    border-radius: 13px;
    background: var(--tone);
    transform: rotate(-4deg);
  }
  .lfc-mini-star::after {
    content: "";
    position: absolute;
    inset: 9px;
    background: var(--accent);
    -webkit-mask: var(--lfcm-etoile) center / contain no-repeat;
            mask: var(--lfcm-etoile) center / contain no-repeat;
  }
  [data-tone="bleu"] > .lfc-mini-star { --tone: var(--lfcm-bleu); --accent: var(--lfcm-bleu-fonce); transform: rotate(3deg); }
  [data-tone="beurre"] > .lfc-mini-star { --tone: var(--lfcm-beurre); --accent: var(--lfcm-beurre-fonce); transform: rotate(-2deg); }
  [data-tone="peche"] > .lfc-mini-star { --tone: var(--lfcm-peche); --accent: var(--lfcm-peche-fonce); transform: rotate(5deg); }
  .lfc-mini-text { display: flex; flex-direction: column; flex: 1; min-width: 0; }
  .lfc-mini-meta { font: 500 12px/1.3 var(--lfcm-corps); color: var(--lfcm-surtitre); margin-bottom: 1px; }
  .lfc-mini-label {
    align-self: flex-start;
    padding-bottom: 3px;
    font: 500 16px/1.35 var(--lfcm-corps);
    color: var(--lfcm-encre);
    background: linear-gradient(var(--lfcm-bleu-fonce), var(--lfcm-bleu-fonce)) left bottom / 0 3px no-repeat;
    transition: background-size .25s ease;
  }
  .lfc-mini-list a:hover .lfc-mini-label,
  .lfc-mini-list a:focus-visible .lfc-mini-label { background-size: 100% 3px; }
  .lfc-mini-list a .lfc-menu-arrow { opacity: 0; transform: translate(-4px, 2px); }
  .lfc-mini-list a:hover .lfc-menu-arrow,
  .lfc-mini-list a:focus-visible .lfc-menu-arrow { opacity: 1; transform: translate(0, 0); }
  .lfc-mini-list a[aria-current="page"] .lfc-mini-label { font-weight: 600; background-image: linear-gradient(var(--lfcm-sauge-fonce), var(--lfcm-sauge-fonce)); background-size: 100% 3px; }
  nav.framer-mzyRQ .lfc-nav-panel .lfc-mini-all { margin-top: 16px; }
  .lfc-mini-art {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    min-height: 200px;
    border-radius: 30px 44px 30px 38px / 34px 30px 40px 30px;
    background: var(--lfcm-bleu);
    overflow: hidden;
  }
  .lfc-mini-art::before {
    content: "";
    position: absolute;
    top: 16px;
    right: 18px;
    width: 16px;
    height: 16px;
    background: var(--lfcm-beurre-fonce);
    -webkit-mask: var(--lfcm-etoile) center / contain no-repeat;
            mask: var(--lfcm-etoile) center / contain no-repeat;
  }
  [data-menu="journal"] .lfc-mini-art { background: var(--lfcm-beurre); }
  [data-menu="journal"] .lfc-mini-art::before { background: var(--lfcm-peche-fonce); }
  .lfc-menu-art { width: 90%; aspect-ratio: 340 / 283; margin-bottom: 12px; background: url(argile-galets.webp) center bottom / contain no-repeat; }
  .lfc-menu-art[data-art="livre"] { aspect-ratio: 340 / 295; background-image: url(argile-livre.webp); }
}

@keyframes lfcm-ouverture {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}

/* ---------- Dialog mobile et tablette (< 1200 px) ---------- */
.lfc-menu { background: #fff; color: var(--lfcm-encre); }
.lfc-menu nav[data-linked] > a:not(.lfc-contact) { color: var(--lfcm-encre); }
.lfc-mobile-group { border-bottom-color: #EDE7DC; }
.lfc-mobile-group summary { color: var(--lfcm-encre); font-family: var(--lfcm-titres); }
.lfc-menu nav[data-linked] > a[aria-current="page"]:not(.lfc-contact) { margin-inline: -12px; padding-inline: 12px; border-radius: 16px; }
.lfc-mobile-group > div > a[aria-current="page"],
.lfc-mobile-group > div > a:hover { border-radius: 14px; }
.lfc-mobile-group .lfc-nav-sectors { gap: 10px; margin-top: 8px; }
.lfc-mobile-group .lfc-nav-sectors section {
  padding: 12px 10px 8px;
  border-radius: 22px 26px 22px 24px;
  background: var(--lfcm-sauge);
}
.lfc-mobile-group .lfc-nav-sectors section[data-tone="bleu"] { background: var(--lfcm-bleu); }
.lfc-mobile-group .lfc-nav-sectors section[data-tone="beurre"] { background: var(--lfcm-beurre); }
.lfc-mobile-group .lfc-nav-sectors section[data-tone="peche"] { background: var(--lfcm-peche); }
.lfc-mobile-group .lfc-nav-town { margin: 0 12px 2px; font: 600 16px/1.3 var(--lfcm-titres); color: var(--lfcm-encre); }
.lfc-mobile-group .lfc-nav-town::before {
  content: "";
  display: inline-block;
  width: 13px;
  height: 13px;
  margin-right: 7px;
  vertical-align: -1px;
  background: var(--lfcm-beurre-fonce);
  -webkit-mask: var(--lfcm-etoile) center / contain no-repeat;
          mask: var(--lfcm-etoile) center / contain no-repeat;
}
.lfc-mobile-group .lfc-nav-sectors a:hover,
.lfc-mobile-group .lfc-nav-sectors a[aria-current="page"] { background: rgba(255, 255, 255, .7); }
.lfc-mobile-group a:hover,
.lfc-menu a[aria-current="page"] { background: var(--lfcm-sauge); }

/* ---------- En-tête mobile et tablette (< 1200 px) : maquette final-mobile/mobile-01 ---------- */
@media (max-width: 1199px) {
  .lfc-header { max-width: none; padding: 0 !important; }
  body nav.framer-mzyRQ.framer-fg5ocd {
    width: auto !important;
    min-height: 64px;
    padding: 13px 20px 14px !important;
    background-color: #fff !important;
    box-shadow: none !important;
  }
  nav.framer-mzyRQ .framer-vh3dq8 { max-height: none !important; }
  nav.framer-mzyRQ .framer-sdgv9e-container { width: 232px !important; height: 43px !important; }
  nav.framer-mzyRQ::after,
  .lfc-header::after { left: 20px; right: 20px; height: 3px; border-radius: 3px; }
  /* Bouton burger rond, blanc, ombre douce */
  nav.framer-mzyRQ .framer-1gog7ex {
    position: absolute !important;
    top: 50% !important;
    right: 0 !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 6px 16px -6px rgba(92, 72, 48, .32), 0 0 0 1px rgba(92, 72, 48, .06);
    transform: translateY(-50%) !important;
    transition: box-shadow .2s ease, background-color .2s ease;
  }
  nav.framer-mzyRQ .framer-1gog7ex:hover { background: #FBF8F2; }
  nav.framer-mzyRQ .framer-1gog7ex:focus-visible { outline: 2px solid var(--lfcm-surtitre); outline-offset: 3px; }
  nav.framer-mzyRQ .framer-1vfm7t1-container { width: 22px !important; height: 22px !important; }
  nav.framer-mzyRQ .framer-1vfm7t1-container svg { stroke: var(--lfcm-encre) !important; }

  /* Dialog : feuille blanche arrondie, défilement interne complet */
  .lfc-menu {
    box-sizing: border-box;
    width: calc(100% - 16px);
    max-width: 480px;
    height: fit-content;
    max-height: calc(100dvh - 16px);
    margin: 8px 8px auto auto;
    padding: 0;
    overflow: hidden;
    border-radius: 28px;
    box-shadow: var(--lfcm-ombre);
  }
  .lfc-menu[open] { display: flex; flex-direction: column; }
  .lfc-menu::backdrop { background: rgba(51, 56, 46, .38); }
  /* Ligne du haut : logo + bouton fermer rond, filet quatre couleurs */
  .lfc-menu::before {
    content: "";
    position: absolute;
    top: 13px;
    left: 22px;
    width: 232px;
    height: 43px;
    background: url(/vendor/framerusercontent.com/images/PZMlImrOg1fGhq1NVtULXfffjA.svg) left center / contain no-repeat;
    pointer-events: none;
  }
  .lfc-menu::after {
    content: "";
    position: absolute;
    top: 64px;
    left: 22px;
    right: 22px;
    height: 3px;
    border-radius: 3px;
    background: var(--lfcm-filet);
    opacity: .8;
    pointer-events: none;
  }
  .lfc-menu > button {
    flex: none;
    float: none;
    align-self: flex-end;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    margin: 9px 14px 11px auto;
    padding: 0 0 3px;
    border-radius: 50%;
    background: #fff;
    color: var(--lfcm-encre);
    font: 400 28px/1 var(--lfcm-corps);
    box-shadow: 0 6px 16px -6px rgba(92, 72, 48, .32), 0 0 0 1px rgba(92, 72, 48, .06);
  }
  .lfc-menu > button:focus-visible { outline: 2px solid var(--lfcm-surtitre); outline-offset: 3px; }
  .lfc-menu nav,
  .lfc-menu nav[data-linked] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    clear: none;
    align-content: start;
    gap: 6px;
    padding: 18px 22px 26px;
  }
  .lfc-menu nav[data-linked] > a:not(.lfc-contact) { padding: 8px 12px; margin-inline: -12px; border-radius: 16px; font-size: 23px; }
  .lfc-menu nav[data-linked] > .lfc-contact { margin-top: 14px; padding: 14px 18px; font-size: 19px; }
  /* Groupes en accordéon, pastille pêche comme la FAQ */
  .lfc-mobile-group { padding-bottom: 6px; }
  /* Chrome mesure le contenu des <details> fermés : on le retire pour que la feuille garde sa hauteur utile. */
  .lfc-mobile-group:not([open]) > div { display: none; }
  .lfc-mobile-group summary { padding: 8px 0; font: 500 23px/1.4 var(--lfcm-titres); }
  .lfc-mobile-group summary::after,
  .lfc-mobile-group[open] summary::after {
    display: grid;
    place-items: center;
    flex: none;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--lfcm-peche-fonce);
    color: var(--lfcm-encre);
    font: 500 20px/1 var(--lfcm-corps);
  }
  .lfc-mobile-group summary:focus-visible { outline: 2px solid var(--lfcm-surtitre); outline-offset: 2px; border-radius: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  nav.framer-mzyRQ .lfc-nav-discover[open] > .lfc-nav-panel { animation: none !important; }
  nav.framer-mzyRQ .lfc-nav-discover > summary,
  nav.framer-mzyRQ .lfc-nav-discover > summary::before,
  nav.framer-mzyRQ .lfc-nav-discover > summary::after,
  nav.framer-mzyRQ .framer-jcuzfg-container,
  nav.framer-mzyRQ .framer-jcuzfg-container::before,
  nav.framer-mzyRQ .lfc-nav-panel *,
  nav.framer-mzyRQ .lfc-nav-panel a,
  nav.framer-mzyRQ .framer-1gog7ex { transition: none !important; }
}
@media (forced-colors: active) {
  nav.framer-mzyRQ .lfc-nav-discover > .lfc-nav-panel { border: 1px solid CanvasText; }
  .lfc-menu-link, .lfc-mini-label { text-decoration: underline; }
}
