/* Généré par _source/import-fetes.js depuis la page source du traiteur.
   Ne pas modifier ici : modifier la page source, puis relancer l'import. */

@font-face {
  font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/cormorant-400-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/cormorant-400-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
:root { --vert:#1e3a2f;        
  --vert-clair:#2d5344;  
  --or:#b8944d;          
  --or-clair:#d4b877;
  --creme:#fbf8f3;
  --creme-fonce:#f3ece1;
  --encre:#23282a;
  --encre-doux:#5c6360;
  --trait:#e0d7c8;
  --ombre:0 1px 3px rgba(35,40,42,.06), 0 8px 24px -12px rgba(35,40,42,.18);
  --serif:'Cormorant Garamond',"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
.fetes-src *,
.fetes-src *::before,
.fetes-src *::after { box-sizing:border-box }
html { scroll-behavior:smooth }
.fetes-src { margin:0;
  background:var(--creme);
  color:var(--encre);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased; }
.fetes-src img { max-width:100%;height:auto;display:block }
.fetes-src .wrap { max-width:1080px;margin:0 auto;padding:0 1.25rem }
.fetes-src .narrow { max-width:760px }
.fetes-src h1,
.fetes-src h2,
.fetes-src h3 { font-family:var(--serif);font-weight:400;line-height:1.2;margin:0 }
.fetes-src .sur-titre { font-family:var(--sans);font-size:.72rem;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--or);
  margin:0 0 .75rem; }
.fetes-src .echeance { background:var(--vert);color:var(--creme);
  font-size:.86rem;text-align:center;
  padding:.6rem 1.25rem; }
.fetes-src .echeance strong { color:var(--or-clair);font-weight:600 }
.fetes-src .hero { background-color:var(--vert);
  background-image:
    linear-gradient(105deg,rgba(16,38,30,.94) 0%,rgba(16,38,30,.80) 45%,rgba(16,38,30,.50) 100%),
    url('../img/hero-fetes.avif');
  background-size:cover,cover;
  background-position:center,center;
  background-repeat:no-repeat;
  color:var(--creme);
  padding:4rem 0 4.5rem;
  min-height:clamp(470px,68vh,680px);
  min-height:clamp(470px,68svh,680px); 
  display:flex;align-items:center;
  position:relative;overflow:hidden; }
.fetes-src .hero::after { content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 75% 15%,rgba(184,148,77,.22),transparent 55%); }
.fetes-src .hero .wrap { position:relative;z-index:1;width:100% }
.fetes-src .hero .sur-titre { color:var(--or-clair) }
.fetes-src .hero h1 { font-size:clamp(2.2rem,5.5vw,3.4rem);margin-bottom:1rem }
.fetes-src .hero p.chapo { font-size:1.1rem;max-width:34rem;
  color:rgba(251,248,243,.86);margin:0 0 2rem; }
.fetes-src .hero-tags { display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.25rem }
.fetes-src .tag { border:1px solid rgba(212,184,119,.5);border-radius:2rem;
  padding:.3rem .85rem;font-size:.8rem;color:var(--or-clair); }
.fetes-src .boutons { display:flex;flex-wrap:wrap;gap:.75rem }
.fetes-src .btn { display:inline-flex;align-items:center;gap:.5rem;
  padding:.8rem 1.5rem;border-radius:.4rem;
  font-size:.92rem;font-weight:600;text-decoration:none;
  border:1px solid transparent;cursor:pointer;
  transition:background .2s,color .2s,transform .2s,border-color .2s; }
.fetes-src .btn-or { background:var(--or);color:#1a1d1b }
.fetes-src .btn-or:hover { background:var(--or-clair);transform:translateY(-1px) }
.fetes-src .btn-fantome { border-color:rgba(251,248,243,.35);color:var(--creme) }
.fetes-src .btn-fantome:hover { border-color:var(--or-clair);color:var(--or-clair) }
.fetes-src section { padding:4rem 0 }
.fetes-src section.creme { background:var(--creme-fonce) }
.fetes-src section.blanc { background:#fff }
.fetes-src .section-titre { text-align:center;margin-bottom:2.75rem }
.fetes-src .section-titre h2 { font-size:clamp(1.7rem,3.6vw,2.3rem) }
.fetes-src .section-titre p { color:var(--encre-doux);max-width:36rem;margin:.75rem auto 0 }
.fetes-src .etapes { display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.5rem }
.fetes-src .etape { text-align:center;padding:0 .5rem }
.fetes-src .etape-num { width:2.6rem;height:2.6rem;margin:0 auto .9rem;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--or);border-radius:50%;
  color:var(--or);font-family:var(--serif);font-size:1.1rem; }
.fetes-src .etape h3 { font-size:1.1rem;margin-bottom:.4rem }
.fetes-src .etape p { margin:0;font-size:.9rem;color:var(--encre-doux) }
.fetes-src .menus { display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:1.75rem;align-items:stretch }
.fetes-src .menu { background:#fff;border:1px solid var(--trait);border-radius:.6rem;
  box-shadow:var(--ombre);overflow:hidden;
  display:flex;flex-direction:column; }
.fetes-src .menu-tete { background:var(--vert);color:var(--creme);
  padding:1.6rem 1.75rem;text-align:center;position:relative; }
.fetes-src .menu-tete h3 { font-size:1.45rem;margin-bottom:.35rem }
.fetes-src .menu-prix { font-family:var(--serif);font-size:2.5rem;color:var(--or-clair);
  line-height:1;display:block;margin:.5rem 0 .15rem; }
.fetes-src .menu-prix small { font-family:var(--sans);font-size:.78rem;color:rgba(251,248,243,.7);display:block;margin-top:.4rem;font-weight:500 }
.fetes-src .menu-mini { margin:.7rem 0 0;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--or-clair);font-weight:600; }
.fetes-src .menus--unique { grid-template-columns:min(600px,100%);justify-content:center }
.fetes-src .menu-enfant { max-width:min(600px,100%);margin:1.5rem auto 0;
  display:grid;grid-template-columns:auto 1fr;gap:1.75rem;align-items:center;
  padding:1.5rem 1.75rem;background:#fffdf8;
  border:1px solid var(--or);border-radius:.6rem;box-shadow:var(--ombre); }
.fetes-src .menu-enfant-tete { text-align:center;padding-right:1.75rem;border-right:1px solid var(--trait) }
.fetes-src .menu-enfant-tete h3 { font-size:1.25rem;margin-bottom:.25rem;white-space:nowrap }
.fetes-src .menu-enfant-prix { font-family:var(--serif);font-size:2rem;color:var(--or);line-height:1 }
.fetes-src .menu-enfant ul { margin:0;padding:0;list-style:none }
.fetes-src .menu-enfant li { font-family:var(--serif);font-size:1.02rem;line-height:1.35;
  padding:.4rem 0; }
.fetes-src .menu-enfant li + li { border-top:1px solid var(--trait) }
.fetes-src .menu-enfant li span { display:block;font-family:var(--sans);font-size:.64rem;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--or);margin-bottom:.1rem; }
@media (max-width:560px) {
  .fetes-src .menu-enfant { grid-template-columns:1fr;gap:1.1rem;text-align:center }
  .fetes-src .menu-enfant-tete { padding:0 0 1.1rem;border-right:0;border-bottom:1px solid var(--trait) }
  .fetes-src .menu-enfant li { text-align:left }
}
.fetes-src .service .plat + .plat { margin-top:.95rem }
.fetes-src .menu-corps { padding:1.75rem }
.fetes-src .service { margin-bottom:1.6rem }
.fetes-src .service:last-child { margin-bottom:0 }
.fetes-src .service-nom { font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--or);padding-bottom:.5rem;margin-bottom:.9rem;
  border-bottom:1px solid var(--trait); }
.fetes-src .plat { font-family:var(--serif);font-size:1.02rem;line-height:1.45;margin:0 }
.fetes-src .plat .precision { display:block;font-size:.88rem;color:var(--encre-doux);font-family:var(--sans);margin-top:.15rem }
.fetes-src .ou { display:flex;align-items:center;gap:.75rem;
  margin:.9rem 0;font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--encre-doux); }
.fetes-src .ou::before,
.fetes-src .ou::after { content:"";flex:1;height:1px;background:var(--trait) }
.fetes-src .inclus { margin-top:1.5rem;padding-top:1.1rem;border-top:1px solid var(--trait);
  font-size:.84rem;color:var(--encre-doux); }
.fetes-src .duo { display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.5rem }
.fetes-src .carte { background:#fff;border:1px solid var(--trait);border-radius:.6rem;
  padding:1.75rem;box-shadow:var(--ombre); }
.fetes-src .carte h3 { font-size:1.25rem;margin-bottom:.3rem }
.fetes-src .carte .soustitre { font-size:.82rem;color:var(--or);font-weight:600;margin:0 0 1rem }
.fetes-src .carte ul { margin:0;padding-left:1.1rem;font-size:.92rem;color:var(--encre-doux) }
.fetes-src .carte li { margin-bottom:.45rem }
.fetes-src .a-confirmer { display:inline-block;border:1px dashed #c08a2e;border-radius:.3rem;
  background:#fdf6e7;color:#8a6118;
  padding:.1rem .45rem;font-size:.82rem;font-family:var(--sans); }
.fetes-src .a-confirmer::before { content:"à compléter — ";font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;opacity:.75 }
.fetes-src .section-sombre { background:var(--vert);color:rgba(251,248,243,.85) }
.fetes-src .section-sombre h2 { color:var(--creme) }
.fetes-src .section-sombre .sur-titre { color:var(--or-clair) }
.fetes-src .section-sombre .section-titre p { color:rgba(251,248,243,.75) }
.fetes-src .section-sombre .carte { background:rgba(255,255,255,.045);border-color:rgba(212,184,119,.3);
  box-shadow:none;color:rgba(251,248,243,.8); }
.fetes-src .section-sombre .carte h3 { color:var(--creme) }
.fetes-src .section-sombre .carte ul { color:rgba(251,248,243,.78) }
.fetes-src .section-sombre .carte .soustitre { color:var(--or-clair) }
.fetes-src .section-sombre .a-confirmer { background:rgba(253,246,231,.94) }
.fetes-src .edito { max-width:44rem;margin:0 auto;text-align:center }
.fetes-src .edito h2 { font-size:clamp(1.7rem,3.6vw,2.3rem);margin-bottom:1.35rem }
.fetes-src .edito p { color:var(--encre-doux);font-size:1rem;margin:0 0 1rem }
.fetes-src .edito p.intro { font-family:var(--serif);font-size:1.16rem;
  color:var(--encre);line-height:1.55;margin-bottom:1.35rem; }
.fetes-src .filet { width:3rem;height:1px;background:var(--or);margin:1.9rem auto 1.5rem }
.fetes-src .signature { font-family:var(--serif);font-style:italic;font-size:1.08rem;color:var(--encre) }
.fetes-src .signature span { display:block;font-style:normal;font-family:var(--sans);
  font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--or);margin-top:.4rem; }
.fetes-src .reperes { display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.9rem }
.fetes-src .repere { border:1px solid var(--trait);background:var(--creme);border-radius:2rem;
  padding:.3rem .9rem;font-size:.8rem;color:var(--encre-doux); }
.fetes-src .form-bloc { background:#fff;border:1px solid var(--trait);border-radius:.6rem;padding:2rem;box-shadow:var(--ombre) }
.fetes-src fieldset { border:0;padding:0;margin:0 0 2rem }
.fetes-src fieldset:last-of-type { margin-bottom:1.25rem }
.fetes-src legend { font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--or);padding:0 0 .65rem;margin-bottom:1.1rem;width:100%;
  border-bottom:1px solid var(--trait); }
.fetes-src label { display:block;font-size:.85rem;font-weight:600;margin-bottom:.35rem }
.fetes-src input[type=text],
.fetes-src input[type=tel],
.fetes-src input[type=email],
.fetes-src input[type=date],
.fetes-src input[type=number],
.fetes-src textarea,
.fetes-src select { width:100%;padding:.62rem .8rem;font:inherit;font-size:.93rem;
  border:1px solid var(--trait);border-radius:.35rem;background:var(--creme);
  color:var(--encre);transition:border-color .2s,box-shadow .2s; }
.fetes-src input:focus,
.fetes-src textarea:focus,
.fetes-src select:focus { outline:none;border-color:var(--or);box-shadow:0 0 0 3px rgba(184,148,77,.16); }
.fetes-src .grille2 { display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem }
.fetes-src .champ { margin-bottom:1rem }
.fetes-src .detail-plats { border:1px solid var(--trait);border-radius:.5rem;background:var(--creme);margin-bottom:.5rem }
.fetes-src .detail-plats summary { cursor:pointer;padding:.8rem 1rem;font-size:.88rem;font-weight:600;
  list-style:none;display:flex;align-items:center;gap:.6rem; }
.fetes-src .detail-plats summary::-webkit-details-marker { display:none }
.fetes-src .detail-plats summary::before { content:"+";color:var(--or);font-size:1.15rem;font-weight:400;line-height:1 }
.fetes-src .detail-plats[open] summary::before { content:"–" }
.fetes-src .detail-plats summary span { font-weight:500;font-size:.68rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--encre-doux); }
.fetes-src .detail-plats .corps { padding:0 1rem 1.1rem }
.fetes-src .aide { font-size:.82rem;color:var(--encre-doux);margin:0 0 1.1rem }
.fetes-src .grille-plats { display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:1.5rem }
.fetes-src .grille-plats h4 { margin:0 0 .35rem;font-family:var(--serif);font-size:1.05rem;font-weight:400 }
.fetes-src .grille-plats .ligne-plat { padding:.32rem 0;gap:.5rem }
.fetes-src .grille-plats .ligne-plat span { font-size:.81rem;line-height:1.3 }
.fetes-src .grille-plats .ligne-plat input { width:3.4rem;padding:.25rem }
.fetes-src .grille-plats .sous-groupe { margin:.85rem 0 .25rem }
.fetes-src .grille-plats .controle { font-size:.74rem;margin-top:.3rem;min-height:0 }
.fetes-src .ligne-plat { display:flex;align-items:center;gap:.75rem;
  padding:.45rem 0;border-top:1px solid var(--trait); }
.fetes-src .ligne-plat:first-of-type { border-top:0 }
.fetes-src .ligne-plat span { flex:1;font-size:.89rem;line-height:1.35 }
.fetes-src .ligne-plat input { width:4.2rem;text-align:center;padding:.35rem }
.fetes-src .sous-groupe { font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--or);margin:1rem 0 .35rem }
.fetes-src .sous-groupe:first-child { margin-top:0 }
.fetes-src .controle { font-size:.8rem;margin-top:.5rem;min-height:1.2rem }
.fetes-src .ok { color:#2d6a4f }
.fetes-src .ecart { color:#a33a24 }
.fetes-src .total { display:flex;justify-content:space-between;align-items:baseline;
  background:var(--vert);color:var(--creme);
  padding:1.1rem 1.4rem;border-radius:.5rem;margin-bottom:1.5rem; }
.fetes-src .total .libelle { font-size:.88rem;color:rgba(251,248,243,.8) }
.fetes-src .total .montant { font-family:var(--serif);font-size:1.9rem;color:var(--or-clair) }
.fetes-src .total .mention { display:block;font-size:.72rem;color:rgba(251,248,243,.6);font-family:var(--sans);text-align:right;margin-top:.2rem }
.fetes-src .radios { display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem }
.fetes-src .radio-carte { flex:1;min-width:170px }
.fetes-src .radio-carte input { position:absolute;opacity:0;pointer-events:none }
.fetes-src .radio-carte span { display:block;padding:.85rem 1rem;border:1px solid var(--trait);border-radius:.4rem;
  background:var(--creme);cursor:pointer;font-size:.9rem;font-weight:600;
  transition:border-color .2s,background .2s; }
.fetes-src .radio-carte input:checked + span { border-color:var(--or);background:#fdf9f0;box-shadow:0 0 0 2px rgba(184,148,77,.18) }
.fetes-src .radio-carte input:focus-visible + span { outline:2px solid var(--or);outline-offset:2px }
.fetes-src .recap { margin-top:1.5rem;padding:1.5rem;border:1px solid var(--or);border-radius:.5rem;
  background:#fdf9f0;font-size:.9rem; }
.fetes-src .recap h4 { margin:0 0 .75rem;font-family:var(--serif);font-size:1.2rem;font-weight:400 }
.fetes-src .recap dl { margin:0;display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem }
.fetes-src .recap dt { font-weight:600;color:var(--encre-doux) }
.fetes-src .recap dd { margin:0 }
.fetes-src .recap p { margin:0 0 .9rem }
.fetes-src .recap dl { margin-top:.9rem }
.fetes-src .recap .note { font-size:.84rem;color:var(--encre-doux);margin:.9rem 0 0 }
.fetes-src .recap a { color:inherit;font-weight:600 }
.fetes-src .recap.succes { border-color:#2d6a4f;background:#f1f7f3 }
.fetes-src .recap.succes h4 { color:#1d4f39 }
.fetes-src .recap.echec { border-color:#a33a24;background:#fdf1ee }
.fetes-src .recap.echec h4 { color:#8a2d1b }
.fetes-src .piege { position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden }
.fetes-src .faq { max-width:760px;margin:0 auto }
.fetes-src .faq details { border-bottom:1px solid var(--trait);padding:1.1rem 0 }
.fetes-src .faq summary { cursor:pointer;font-family:var(--serif);font-size:1.1rem;
  list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center; }
.fetes-src .faq summary::-webkit-details-marker { display:none }
.fetes-src .faq summary::after { content:"+";color:var(--or);font-size:1.3rem;flex:none }
.fetes-src .faq details[open] summary::after { content:"–" }
.fetes-src .faq p { margin:.85rem 0 0;color:var(--encre-doux);font-size:.93rem }
.fetes-src footer { background:var(--vert);color:rgba(251,248,243,.75);padding:2.5rem 0;font-size:.88rem }
.fetes-src footer a { color:var(--or-clair);text-decoration:none }
.fetes-src footer a:hover { text-decoration:underline }
.fetes-src .pied-grille { display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between }
.fetes-src footer strong { color:var(--creme);display:block;font-family:var(--serif);font-size:1.1rem;font-weight:400;margin-bottom:.4rem }
.fetes-src .hero h1 { font-size:clamp(2.7rem,6.6vw,4.3rem);line-height:1.08 }
.fetes-src .section-titre h2,
.fetes-src .edito h2 { font-size:clamp(2rem,4.2vw,2.8rem) }
.fetes-src .menu-tete h3 { font-size:1.7rem }
.fetes-src .menu-prix { font-size:3rem;letter-spacing:-.01em }
.fetes-src .plat { font-size:1.16rem;line-height:1.4 }
.fetes-src .edito p.intro { font-size:1.3rem;line-height:1.5 }
.fetes-src .signature { font-size:1.25rem }
.fetes-src .carte h3 { font-size:1.45rem }
.fetes-src .etape h3 { font-size:1.25rem }
.fetes-src .faq summary { font-size:1.22rem }
.fetes-src .total .montant { font-size:2.2rem }
.fetes-src .grille-plats h4 { font-size:1.2rem }
.fetes-src .recap h4 { font-size:1.4rem }
.fetes-src footer strong { font-size:1.25rem }
.fetes-src .menu { background-color:#fffdf8;
  background-image:radial-gradient(rgba(184,148,77,.06) 1px,transparent 1px);
  background-size:15px 15px; }
.fetes-src .menu-corps { position:relative;padding:2rem 1.9rem;flex:1;display:flex;flex-direction:column }
.fetes-src .menu-corps .inclus { margin-top:auto }
.fetes-src .menu-corps::before { content:"";position:absolute;inset:.55rem;pointer-events:none;
  border:1px solid rgba(184,148,77,.3);border-radius:.2rem; }
.fetes-src .menu-corps > * { position:relative }
.fetes-src .service-nom { letter-spacing:.24em;font-size:.66rem }
.fetes-src .ou { font-size:.66rem;letter-spacing:.2em;margin:.8rem 0 }
.fetes-src .barre-reservation { position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:var(--vert);border-top:1px solid rgba(212,184,119,.4);
  box-shadow:0 -12px 32px -14px rgba(0,0,0,.45);
  transform:translateY(115%);visibility:hidden;
  transition:transform .45s cubic-bezier(.22,1,.36,1),visibility .45s; }
.fetes-src .barre-reservation.visible { transform:none;visibility:visible }
.fetes-src .barre-reservation .wrap { display:flex;align-items:center;gap:1rem;padding-top:.75rem;padding-bottom:.75rem }
.fetes-src .barre-reservation p { margin:0;flex:1;font-size:.86rem;color:rgba(251,248,243,.82) }
.fetes-src .barre-reservation strong { display:block;color:var(--creme);font-family:var(--serif);
  font-size:1.25rem;font-weight:400;line-height:1.2; }
.fetes-src .barre-reservation .btn { padding:.62rem 1.3rem;font-size:.86rem;flex:none }
.fetes-src .fermer-barre { background:none;border:0;color:rgba(251,248,243,.5);
  font-size:1.35rem;line-height:1;cursor:pointer;padding:.2rem .35rem;flex:none;
  transition:color .2s; }
.fetes-src .fermer-barre:hover { color:var(--creme) }
@media (max-width:480px) {
  .fetes-src .barre-reservation p { font-size:.78rem }
  .fetes-src .barre-reservation .btn { padding:.55rem 1rem;font-size:.8rem }
}
.fetes-src .carte-lieu { margin-top:1.75rem;display:grid;grid-template-columns:2fr 1fr;
  border:1px solid var(--trait);border-radius:.6rem;overflow:hidden;
  background:#fff;box-shadow:var(--ombre); }
.fetes-src .carte-lieu iframe { width:100%;height:100%;min-height:270px;border:0;display:block;
  filter:grayscale(.22) contrast(1.02); }
.fetes-src .carte-adresse { padding:1.9rem;display:flex;flex-direction:column;
  justify-content:center;gap:1.1rem; }
.fetes-src .carte-adresse p { margin:0;color:var(--encre-doux);font-size:.95rem;line-height:1.6 }
.fetes-src .carte-adresse strong { display:block;font-family:var(--serif);font-size:1.35rem;font-weight:400;
  color:var(--encre);margin-bottom:.45rem; }
.fetes-src .carte-adresse .distance { display:inline-block;margin-top:.45rem;font-size:.86rem;color:var(--or) }
.fetes-src .btn-contour { align-self:flex-start;border-color:var(--or);color:var(--vert);background:transparent }
.fetes-src .btn-contour:hover { background:var(--or);color:#1a1d1b }
@media (max-width:700px) {
  .fetes-src .carte-lieu { grid-template-columns:1fr }
  .fetes-src .carte-lieu iframe { min-height:220px }
  .fetes-src .carte-adresse { padding:1.4rem }
}
.fetes-src .lien-tel { display:inline-flex;align-items:center;gap:.5rem;
  padding:.8rem .25rem;text-decoration:none;
  color:var(--or-clair);font-size:.95rem;font-weight:600;
  transition:color .2s ease; }
.fetes-src .lien-tel:hover { color:var(--creme) }
.fetes-src .lien-tel svg { width:1.05rem;height:1.05rem;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round }
.fetes-src .barre-reservation .btn-tel-barre { background:transparent;border-color:rgba(212,184,119,.5);color:var(--or-clair); }
.fetes-src .barre-reservation .btn-tel-barre:hover { border-color:var(--or-clair);color:var(--creme) }
.fetes-src .barre-reservation .btn-tel-barre svg { width:1rem;height:1rem;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round }
.fetes-src .appel-direct { margin:1.15rem 0 0;font-size:.9rem;color:var(--encre-doux) }
.fetes-src .appel-direct a { display:inline-flex;align-items:center;gap:.4rem;
  color:var(--vert);font-weight:600;text-decoration:none;
  border-bottom:1px solid rgba(30,58,47,.3);
  transition:color .2s ease,border-color .2s ease; }
.fetes-src .appel-direct a:hover { color:var(--or);border-color:var(--or) }
.fetes-src .appel-direct svg { width:.95rem;height:.95rem;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round }
@media (max-width:560px) {
  .fetes-src .barre-reservation .btn-tel-barre span { display:none }
  .fetes-src .barre-reservation .btn-tel-barre { padding:.62rem .85rem }
}
.fetes-src .pas { display:flex;align-items:stretch;overflow:hidden;
  border:1px solid var(--trait);border-radius:.35rem;
  background:var(--creme);max-width:11rem;
  transition:border-color .2s,box-shadow .2s; }
.fetes-src .pas:focus-within { border-color:var(--or);box-shadow:0 0 0 3px rgba(184,148,77,.16) }
.fetes-src .pas input[type=number] { border:0;border-radius:0;background:transparent;text-align:center;
  flex:1 1 auto;width:auto;min-width:0;padding:.55rem .2rem;
  -moz-appearance:textfield;appearance:textfield; }
.fetes-src .pas input[type=number]:focus { box-shadow:none }
.fetes-src .pas input[type=number]::-webkit-outer-spin-button,
.fetes-src .pas input[type=number]::-webkit-inner-spin-button { -webkit-appearance:none;margin:0 }
.fetes-src .pas button { flex:0 0 auto;width:2.6rem;border:0;background:transparent;
  color:var(--or);font-size:1.25rem;line-height:1;cursor:pointer;
  transition:background .2s ease,color .2s ease; }
.fetes-src .pas button:hover { background:rgba(184,148,77,.14) }
.fetes-src .pas button:active { background:rgba(184,148,77,.28) }
.fetes-src .pas button:disabled { color:var(--trait);cursor:default;background:transparent }
.fetes-src .ligne-plat .pas { max-width:7.4rem;flex:0 0 auto }
.fetes-src .ligne-plat .pas button { width:2.05rem;font-size:1.05rem }
.fetes-src .ligne-plat .pas input[type=number] { padding:.3rem .1rem;font-size:.85rem }
@media (max-width:600px) {
  .fetes-src .pas { max-width:100% }
  .fetes-src .pas button { width:3.1rem;font-size:1.45rem;padding:.75rem 0 }
  .fetes-src .pas input[type=number] { padding:.75rem .2rem;font-size:1.02rem }
  .fetes-src .ligne-plat .pas { max-width:9.4rem }
  .fetes-src .ligne-plat .pas button { width:2.8rem;font-size:1.3rem }
  .fetes-src .ligne-plat .pas input[type=number] { padding:.55rem .1rem;font-size:.95rem }
}
.fetes-src .etapes { position:relative;margin-bottom:3.25rem }
.fetes-src .etapes::before { content:"";position:absolute;top:1.3rem;left:16.6%;right:16.6%;height:1px;
  background:repeating-linear-gradient(90deg,var(--or) 0 5px,transparent 5px 11px);
  opacity:.5;transform:scaleX(0);transform-origin:left center;
  transition:transform 1.5s cubic-bezier(.22,1,.36,1) .2s; }
.fetes-src .etapes.trace::before { transform:scaleX(1) }
@media (max-width:760px) {
  .fetes-src .etapes::before { display:none }
}
.fetes-src .etape-num { position:relative;background:var(--creme);
  transition:background .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease; }
.fetes-src .etape:hover .etape-num { background:var(--or);color:#1a1d1b;border-color:var(--or);
  box-shadow:0 10px 22px -10px rgba(184,148,77,.85); }
.fetes-src .etape h3 { transition:color .3s ease }
.fetes-src .etape:hover h3 { color:var(--or) }
.js .fetes-src .etapes .etape-num { opacity:0 }
.js .fetes-src .etapes.trace .etape-num { animation:apparition-num .65s cubic-bezier(.34,1.56,.64,1) forwards }
.js .fetes-src .etapes.trace .etape:nth-child(2) .etape-num { animation-delay:.18s }
.js .fetes-src .etapes.trace .etape:nth-child(3) .etape-num { animation-delay:.36s }
@keyframes apparition-num {from{opacity:0;transform:scale(.55)}to{opacity:1;transform:none}}
.js .fetes-src .etapes.trace .etape-num::after { content:"";position:absolute;inset:-5px;border-radius:50%;
  border:1px solid var(--or);opacity:0;
  animation:onde 1.6s ease-out .3s 1; }
.js .fetes-src .etapes.trace .etape:nth-child(2) .etape-num::after { animation-delay:.48s }
.js .fetes-src .etapes.trace .etape:nth-child(3) .etape-num::after { animation-delay:.66s }
@keyframes onde {0%{opacity:.9;transform:scale(.85)}100%{opacity:0;transform:scale(1.6)}}
.js .fetes-src .reveal { opacity:0;transform:translateY(24px);
  transition:opacity .75s ease,transform .75s cubic-bezier(.22,1,.36,1); }
.js .fetes-src .reveal.visible { opacity:1;transform:none }
.fetes-src .neige { position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0 }
.fetes-src .flocon { position:absolute;top:-8%;border-radius:50%;background:#fff;
  box-shadow:0 0 5px rgba(255,255,255,.6);
  animation-name:tomber;animation-timing-function:linear;animation-iteration-count:infinite; }
@keyframes tomber {
  0%   {transform:translate3d(0,-10%,0);opacity:0}
  12%  {opacity:1}
  88%  {opacity:1}
  100% {transform:translate3d(var(--derive,20px),118vh,0);opacity:0}
}
.fetes-src .hero::before { content:"";position:absolute;inset:-25% -15%;pointer-events:none;z-index:0;
  background:linear-gradient(100deg,transparent 42%,rgba(212,184,119,.15) 50%,transparent 58%);
  transform:translateX(-65%);
  animation:balayage 12s ease-in-out 2s infinite; }
@keyframes balayage {0%{transform:translateX(-65%)}45%,100%{transform:translateX(65%)}}
.fetes-src .guirlande { display:flex;justify-content:center;gap:.7rem;margin:0 0 1.9rem }
.fetes-src .guirlande i { width:.42rem;height:.42rem;border-radius:50%;background:var(--or-clair);
  box-shadow:0 0 9px rgba(212,184,119,.85);
  animation:scintille 2.8s ease-in-out infinite; }
.fetes-src .guirlande i:nth-child(2) { animation-delay:.35s }
.fetes-src .guirlande i:nth-child(3) { animation-delay:.7s }
.fetes-src .guirlande i:nth-child(4) { animation-delay:1.05s }
.fetes-src .guirlande i:nth-child(5) { animation-delay:1.4s }
.fetes-src .guirlande i:nth-child(6) { animation-delay:1.75s }
.fetes-src .guirlande i:nth-child(7) { animation-delay:2.1s }
@keyframes scintille {0%,100%{opacity:1;transform:scale(1)}50%{opacity:.22;transform:scale(.65)}}
.fetes-src .ornement { display:block;margin:1.9rem auto 1.5rem;color:var(--or) }
.fetes-src .menu { transition:transform .38s cubic-bezier(.22,1,.36,1),box-shadow .38s ease,border-color .38s ease }
.fetes-src .menu:hover { transform:translateY(-7px);border-color:var(--or);
  box-shadow:0 1px 3px rgba(35,40,42,.06),0 26px 44px -20px rgba(35,40,42,.34); }
.fetes-src .menu-tete { overflow:hidden }
.fetes-src .menu-tete::after { content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 40%,rgba(212,184,119,.28) 50%,transparent 60%);
  transform:translateX(-120%); }
.fetes-src .menu:hover .menu-tete::after { animation:lueur 1.1s ease-out }
@keyframes lueur {to{transform:translateX(120%)}}
.fetes-src .service-nom { display:flex;align-items:center;gap:.5rem }
.fetes-src .service-nom svg { width:1.1rem;height:1.1rem;flex:none;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round }
@media (max-width:600px) {
  .fetes-src section { padding:3rem 0 }
  .fetes-src .hero { padding:3rem 0 3.25rem;min-height:clamp(400px,58vh,520px);min-height:clamp(400px,58svh,520px) }
  .fetes-src .form-bloc { padding:1.35rem }
  .fetes-src .total { flex-direction:column;gap:.35rem }
  .fetes-src .total .mention { text-align:left }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto }
  .fetes-src * { transition:none!important;animation:none!important }
  .js .fetes-src .reveal { opacity:1!important;transform:none!important }
  .js .fetes-src .etapes .etape-num { opacity:1!important }
  .fetes-src .etapes::before { transform:scaleX(1)!important }
  .fetes-src .neige { display:none }
}
