/* Accueil du site — extrait de l'ancien <style> inline. */
        .fm-page {
            background:
                radial-gradient(1200px 600px at 50% -10%, #FCEFD0 0%, rgba(252,239,208,0) 60%),
                linear-gradient(180deg, #FBF1DA 0%, #F6E7C4 100%);
        }
        @keyframes fmUp {
            from { opacity: 0; transform: translateY(22px); }
            to   { opacity: 1; transform: translateY(0); }
        }
        .fm-up { opacity: 0; animation: fmUp .6s cubic-bezier(.22,.61,.36,1) forwards; }

        .fm-card,
        .fm-card-static {
            box-shadow: 0 10px 30px rgba(90, 58, 34, .14), 0 2px 6px rgba(90, 58, 34, .10);
        }
        .fm-card {
            transition: transform .35s cubic-bezier(.22,.61,.36,1), box-shadow .35s ease;
        }
        .fm-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 26px 50px rgba(122, 31, 43, .22), 0 6px 14px rgba(90, 58, 34, .14);
        }
        /* Reflet doré qui balaie les boutons en boucle (attire le clic) */
        .fm-cta::after {
            content: ''; position: absolute; top: 0; left: -130%;
            width: 55%; height: 100%; transform: skewX(-20deg);
            background: linear-gradient(120deg, transparent, rgba(246,206,91,.5), transparent);
            animation: fmSheen 3.6s ease-in-out 1.2s infinite;
        }
        @keyframes fmSheen { 0% { left: -130%; } 35%, 100% { left: 140%; } }

        /* Icônes des cartes qui flottent doucement */
        @keyframes fmBob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
        .fm-bob { animation: fmBob 3s ease-in-out infinite; }

        /* Logo qui « respire » */
        @keyframes fmBreathe { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.045); } }
        .fm-breathe { animation: fmBreathe 4.5s ease-in-out infinite; }

        /* Apparition « enseigne » : chaque lettre tombe en place en cascade */
        @keyframes fmLetterIn {
            0%   { opacity: 0; transform: translateY(-24px) rotate(-8deg) scale(.85); }
            70%  { opacity: 1; transform: translateY(2px) rotate(2deg) scale(1.03); }
            100% { opacity: 1; transform: translateY(0) rotate(0) scale(1); }
        }
        .fm-title span { display: inline-block; opacity: 0; animation: fmLetterIn .55s cubic-bezier(.2,.7,.3,1.5) both; }

        .fm-hours summary { list-style: none; }
        .fm-hours summary::-webkit-details-marker { display: none; }

        @media (prefers-reduced-motion: reduce) {
            .fm-up { opacity: 1; animation: none; }
            .fm-card { transition: none; }
            .fm-cta::after, .fm-bob, .fm-breathe { animation: none; }
            .fm-title span { opacity: 1; animation: none; }
        }

/* --- Migré depuis les style="" inline de index.html.twig (Phase 3) --- */
/* Hero : image de fond (servie par le CDN, relatif à ce fichier) + voile dégradé. */
.fm-hero-bg { background-image: url(../img/comptoir.jpg); }
.fm-hero-overlay { background: linear-gradient(180deg, rgba(48,22,15,.80) 0%, rgba(122,31,43,.62) 55%, rgba(251,241,218,.99) 100%); }
/* Police décorative Rye (titres). */
.font-rye { font-family: 'Rye', cursive; }
/* Délais d'entrée en cascade des blocs .fm-up. */
.d04 { animation-delay:.04s; } .d08 { animation-delay:.08s; } .d16 { animation-delay:.16s; }
.d24 { animation-delay:.24s; } .d30 { animation-delay:.3s; }  .d34 { animation-delay:.34s; }
