:root{
--rec-surface:#FAF7F0;--rec-warm:#F1E9DC;--rec-cosy:#F4E4D8;--rec-mist:#E5E5E4;
--rec-ink:#675142;--rec-text:#5F4B36;--rec-muted:#6E5D4C;
--rec-bronze:#854F0B;--rec-terra:#C28B5B;--rec-brown:#4A3728;--rec-line:#E4D8CB;
}

.rec{background:var(--rec-surface);font-family:Jost,system-ui,-apple-system,sans-serif;color:var(--rec-text);overflow-x:hidden}
.rec *,.rec *::before,.rec *::after{box-sizing:border-box}
.rec img{max-width:100%}
.rec a{color:var(--rec-bronze)}
.rec a:hover{color:var(--rec-brown)}
.rec-in{max-width:1040px;margin:0 auto}
.rec-pad{padding:0 20px}
@media(min-width:780px){.rec-pad{padding:0 32px}}

.rec-eyebrow{display:block;font-family:Jost,system-ui,sans-serif;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--rec-bronze)}
.rec-h2sm{margin:0;font-family:Jost,system-ui,sans-serif;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--rec-bronze)}
.rec-h2{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-size:32px;font-weight:600;line-height:1.12;color:var(--rec-ink);text-wrap:balance}
@media(min-width:780px){.rec-h2{font-size:40px}}
.rec-rule{width:56px;height:2px;background:var(--rec-terra);border-radius:2px}
.rec-sep{padding-top:36px}
@media(min-width:780px){.rec-sep{padding-top:48px}}
.rec-block{padding-bottom:44px}
@media(min-width:780px){.rec-block{padding-bottom:64px}}
.surligne{background:var(--rec-warm);color:var(--rec-brown);font-weight:600;padding:1px 6px}
.rec-flou{filter:blur(5px);user-select:none;color:#9A8878;-webkit-user-select:none}

/* en-tete */
.rec-head{padding:36px 0 32px}
@media(min-width:780px){.rec-head{padding:56px 0 44px}}
.rec-head-grid{display:flex;flex-wrap:wrap;gap:32px;align-items:center}
@media(min-width:780px){.rec-head-grid{gap:56px}}
.rec-head-txt{flex:999 1 380px;min-width:0;display:flex;flex-direction:column;gap:20px}
.rec-head-media{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:10px}
.rec-title-wrap{display:flex;flex-direction:column;gap:12px}
.rec-h1{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-size:38px;font-weight:600;line-height:1.06;color:var(--rec-ink);text-wrap:balance}
@media(min-width:780px){.rec-h1{font-size:56px;line-height:1.04}}
.rec-teasing{margin:0;max-width:32rem;font-family:"Cormorant Garamond",Georgia,serif;font-size:21px;font-weight:500;font-style:italic;line-height:1.36;color:var(--rec-muted)}
@media(min-width:780px){.rec-teasing{font-size:25px}}
.rec-badges{display:flex;flex-wrap:wrap;gap:8px}
.rec-badge{font-family:Jost,system-ui,sans-serif;font-size:14px;font-weight:500;color:var(--rec-text);background:var(--rec-warm);border-radius:100px;padding:9px 18px}
.rec-temps{margin:0;font-size:14px;letter-spacing:.02em;color:var(--rec-muted)}
.rec-accroche{margin:0;max-width:32rem;font-size:17px;line-height:1.75}
.rec-accroche p{margin:0 0 .6em}
.rec-accroche p:last-child{margin-bottom:0}
.rec-hamecon{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:none}
.rec-hamecon span{font-family:"Roboto Slab",Georgia,serif;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--rec-bronze)}

/* galerie */
.rec-photo{width:100%;aspect-ratio:3/4;border-radius:22px;overflow:hidden;background:var(--rec-cosy);border:1px solid var(--rec-line);display:flex;align-items:center;justify-content:center}
@media(min-width:780px){.rec-photo{border-radius:26px}}
.rec-photo img{width:100%;height:100%;object-fit:cover;display:block}
.rec-vignettes{display:flex;gap:10px}
.rec-vignette{flex:1 1 0;min-width:0;aspect-ratio:3/4;padding:0;border-radius:12px;overflow:hidden;background:var(--rec-warm);cursor:pointer;border:1px solid var(--rec-line);display:block}
.rec-vignette img{width:100%;height:100%;object-fit:cover;display:block}
.rec-vignette[aria-current="true"]{border:2px solid var(--rec-bronze)}

/* ingredients et etapes */
.rec-cuisine{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}
@media(min-width:780px){.rec-cuisine{gap:48px}}
.rec-col-ing{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:16px}
.rec-col-etp{flex:999 1 420px;min-width:0;display:flex;flex-direction:column;gap:16px}
.rec-liste{background:#fff;border:1px solid var(--rec-line);border-radius:20px;padding:4px 20px;margin:0;list-style:none}
@media(min-width:780px){.rec-liste{padding:8px 22px}}
.rec-liste li{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--rec-line);font-size:15px}
.rec-liste li:last-child{border-bottom:none}
.rec-ing-nom{color:var(--rec-ink)}
.rec-ing-qte{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--rec-text)}
.rec-ing-groupe{margin:14px 0 2px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--rec-bronze)}
.rec-etapes{display:flex;flex-direction:column;gap:20px;margin:0;padding:0;list-style:none;counter-reset:rec-etape}
.rec-etapes li{display:flex;gap:14px;counter-increment:rec-etape}
@media(min-width:780px){.rec-etapes li{gap:16px}}
.rec-etapes li::before{content:counter(rec-etape);flex-shrink:0;width:34px;height:34px;background:var(--rec-bronze);border-radius:100px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;color:#fff}
.rec-etapes p{margin:0;padding-top:5px;font-size:16px;line-height:1.62;color:var(--rec-text)}

/* substitutions */
.rec-bulles{display:flex;flex-wrap:wrap;gap:14px}
.rec-bulle{flex:1 1 260px;min-width:0;background:#fff;border:1px solid var(--rec-line);border-radius:20px;padding:20px 22px;display:flex;flex-direction:column;gap:8px}
.rec-bulle-t{font-size:17px;font-weight:600;color:var(--rec-ink)}
.rec-bulle-c{font-size:15px;line-height:1.6;color:var(--rec-text)}

/* macros */
.rec-macros{display:flex;flex-wrap:wrap;background:#fff;border:1px solid var(--rec-terra);border-radius:22px;overflow:hidden}
.rec-macro{flex:1 1 140px;padding:20px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;border-right:1px solid var(--rec-line)}
@media(min-width:780px){.rec-macro{padding:24px 12px}}
.rec-macro:last-child{border-right:none}
.rec-macro-val{font-size:20px;font-weight:600;line-height:1;color:var(--rec-brown);font-variant-numeric:tabular-nums}
.rec-macro-lab{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--rec-muted);text-align:center}
@media(min-width:780px){.rec-macro-lab{font-size:11px;letter-spacing:.1em}}
@media(max-width:620px){.rec-m-kcal{order:9;border-right:none}.rec-m-fibres{border-right:1px solid var(--rec-line)}}

/* zone abonnees */
.rec-abo{background:var(--rec-warm);padding:36px 0 0}
@media(min-width:780px){.rec-abo{padding:48px 0 0}}
.rec-abo-in{display:flex;flex-direction:column;gap:26px}
.rec-cadenas{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;row-gap:14px}
.rec-cadenas-rond{flex-shrink:0;width:30px;height:30px;border:1px solid var(--rec-terra);border-radius:100px;display:flex;align-items:center;justify-content:center}
.rec-cadenas-txt{font-family:"Roboto Slab",Georgia,serif;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--rec-bronze)}
.rec-fiches{display:flex;flex-wrap:wrap;gap:14px}
.rec-fiche{flex:1 1 260px;min-width:0;background:#fff;border:1px solid var(--rec-line);border-radius:20px;padding:20px 22px;display:flex;flex-direction:column;gap:9px}
.rec-fiche-t{font-family:"Roboto Slab",Georgia,serif;font-size:17px;font-weight:600;color:var(--rec-ink)}
.rec-fiche-credit{font-size:12px;letter-spacing:.03em;color:var(--rec-bronze)}
.rec-fiche p{margin:0;font-size:15px;line-height:1.62;color:var(--rec-text)}
.rec-synergie{background:#fff;border:1px solid var(--rec-terra);border-radius:22px;padding:26px 24px;display:flex;flex-wrap:wrap;gap:24px;align-items:center}
@media(min-width:780px){.rec-synergie{padding:30px 32px;gap:36px}}
.rec-synergie h2{flex:1 1 260px;min-width:0;margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-size:28px;font-weight:600;line-height:1.16;color:var(--rec-ink);text-wrap:balance}
@media(min-width:780px){.rec-synergie h2{font-size:34px}}
.rec-synergie p{flex:999 1 320px;min-width:0;margin:0;font-size:15px;line-height:1.66}

/* bande grise */
.rec-gris{margin-top:36px;background:var(--rec-mist);border-top:1px solid var(--rec-ink);border-bottom:1px solid var(--rec-ink);padding:44px 0}
@media(min-width:780px){.rec-gris{margin-top:44px;padding:60px 0}}
.rec-gris-grid{display:flex;flex-wrap:wrap;gap:36px;align-items:flex-start}
@media(min-width:780px){.rec-gris-grid{gap:56px}}
.rec-gris-col{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:16px}
.rec-gris-col p{margin:0;font-size:16px;line-height:1.78}

/* club */
.rec-club{background:var(--rec-warm);border-bottom:1px solid var(--rec-ink);padding:44px 0}
@media(min-width:780px){.rec-club{padding:60px 0}}
.rec-club-grid{display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:space-between}
@media(min-width:780px){.rec-club-grid{gap:48px}}
.rec-club-txt{flex:999 1 340px;min-width:0;display:flex;flex-direction:column;gap:14px}
.rec-club-titre{margin:0;font-family:"Roboto Slab",Georgia,serif;font-size:26px;font-weight:600;line-height:1.26;color:var(--rec-ink);text-wrap:balance}
@media(min-width:780px){.rec-club-titre{font-size:32px}}
.rec-club-txt p{margin:0;max-width:34rem;font-size:16px;line-height:1.78}
.rec-club-prix{font-size:15px;letter-spacing:.02em;color:var(--rec-muted)}
.rec-club-cta{flex:0 0 auto;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.rec-bouton{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:15px 28px;background:var(--rec-brown);color:#fff;border-radius:4px;font-size:15px;font-weight:500;text-decoration:none}
.rec-bouton:hover{background:#3a2b1f;color:#fff}
.rec-club-deja{margin:0;font-size:14px;color:var(--rec-muted)}

/* rails de recettes */
.rec-rail{display:flex;flex-wrap:wrap;gap:14px}
.rec-carte{flex:1 1 260px;min-width:0;display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--rec-line);border-radius:20px;padding:12px 16px;text-decoration:none}
.rec-carte:hover{border-color:var(--rec-terra)}
.rec-carte-img{flex-shrink:0;width:52px;height:65px;border-radius:12px;background:var(--rec-warm);object-fit:cover;display:block}
.rec-carte-nom{flex-grow:1;min-width:0;font-size:15px;line-height:1.4;color:var(--rec-ink)}
.rec-gris .rec-carte{border:none;border-radius:18px}
.rec-aime{display:flex;flex-direction:column;gap:16px;padding:40px 0 48px}
@media(min-width:780px){.rec-aime{padding:56px 0 64px}}
.rec-aime-tete{display:flex;flex-direction:column;gap:8px}
.rec-aime-tete p{margin:0;font-size:16px;line-height:1.7}

/* --- blocs ajoutes le 7 novembre --- */
.rec-duo{display:flex;flex-wrap:wrap;gap:14px}
.rec-encart{flex:1 1 300px;min-width:0;background:#fff;border:1px solid var(--rec-line);border-radius:20px;padding:22px 24px;display:flex;flex-direction:column;gap:10px}
.rec-encart-t{font-family:"Roboto Slab",Georgia,serif;font-size:17px;font-weight:600;color:var(--rec-ink)}
.rec-encart p{margin:0;font-size:15px;line-height:1.66;color:var(--rec-text)}


.rec-conservation{display:flex;align-items:center;gap:9px;margin:22px 0 0;padding:0 4px;font-size:14px;line-height:1.5;color:var(--rec-muted)}
.rec-conservation svg{flex-shrink:0}\n@media(min-width:780px){.rec-conservation span{white-space:nowrap}}
.rec-patho{flex:1 1 300px;min-width:0;background:#fff;border:1px solid var(--rec-terra);border-radius:20px;padding:20px 22px;display:flex;flex-direction:column;gap:8px}
.rec-patho-t{font-family:"Roboto Slab",Georgia,serif;font-size:16px;font-weight:600;color:var(--rec-ink)}
.rec-patho p{margin:0;font-size:15px;line-height:1.62;color:var(--rec-text)}
.rec-outils{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.rec-lien-outil{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:11px 20px;background:#fff;border:1px solid var(--rec-terra);border-radius:100px;font-size:14px;font-weight:500;color:var(--rec-bronze);text-decoration:none}
.rec-lien-outil:hover{background:var(--rec-cosy);color:var(--rec-brown)}

/* --- fiche a imprimer --- */
.imp{font-family:Jost,system-ui,sans-serif;color:#2E2318;background:#fff;max-width:780px;margin:0 auto;padding:36px 28px}
.imp h1{font-family:"Cormorant Garamond",Georgia,serif;font-size:34px;font-weight:600;line-height:1.1;margin:0 0 6px;color:#4A3728}
.imp .imp-sous{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#854F0B;margin:0 0 18px}
.imp h2{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#854F0B;margin:26px 0 10px}
.imp ul,.imp ol{margin:0;padding-left:20px}
.imp li{font-size:14px;line-height:1.7;margin-bottom:5px}
.imp .imp-macros{display:flex;flex-wrap:wrap;gap:0;border:1px solid #C28B5B;border-radius:10px;overflow:hidden;margin-top:6px}
.imp .imp-macro{flex:1 1 90px;padding:12px 8px;text-align:center;border-right:1px solid #E4D8CB}
.imp .imp-macro:last-child{border-right:none}
.imp .imp-macro b{display:block;font-size:17px;color:#4A3728}
.imp .imp-macro span{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#6E5D4C}
.imp .imp-note{font-size:13px;line-height:1.65;background:#F1E9DC;border-radius:10px;padding:14px 16px;margin-top:8px}
.imp .imp-pied{margin-top:30px;padding-top:14px;border-top:1px solid #E4D8CB;font-size:11px;color:#6E5D4C;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.imp .imp-barre{text-align:center;margin-bottom:22px}
.imp .imp-barre a{display:inline-block;padding:10px 22px;background:#4A3728;color:#fff;border-radius:4px;font-size:14px;text-decoration:none}
@media print{
  .imp{max-width:none;padding:0}
  .imp .imp-barre{display:none}
  @page{margin:14mm}
  .imp h2{page-break-after:avoid}
  .imp li{page-break-inside:avoid}
}
/* --- mouvement : discret, et coupe net si la personne l'a desactive --- */
@media (prefers-reduced-motion: no-preference){
  .rec-anim{opacity:0;transform:translateY(16px);transition:opacity .75s cubic-bezier(.22,.61,.36,1),transform .75s cubic-bezier(.22,.61,.36,1)}
  .rec-anim.rec-vu{opacity:1;transform:none}
  .rec-vignette{transition:border-color .25s ease,transform .25s ease}
  .rec-vignette:hover{transform:translateY(-2px)}
  .rec-photo img{transition:transform 1.2s cubic-bezier(.22,.61,.36,1)}
  .rec-photo:hover img{transform:scale(1.035)}
  .rec-carte,.rec-bulle,.rec-encart,.rec-fiche,.rec-patho{transition:border-color .25s ease,transform .25s ease}
  .rec-carte:hover{transform:translateY(-2px)}
  .rec-bouton,.rec-lien-outil{transition:background .25s ease,color .25s ease}
  .rec-etapes li::before{transition:transform .25s ease}
  .rec-etapes li:hover::before{transform:scale(1.06)}
  .rec-hamecon svg:last-child{animation:rec-descend 2.4s ease-in-out infinite}
  @keyframes rec-descend{0%,100%{transform:translateY(0)}50%{transform:translateY(3px)}}
}
.rec-groupe{display:flex;flex-direction:column;gap:16px}
.rec-groupe-tete{display:flex;flex-direction:column;gap:7px}
.rec-mention{margin:0;font-size:13px;line-height:1.55;color:var(--rec-muted)}

.rec-cadenas-gauche{display:flex;align-items:center;gap:12px}
.rec-outils{margin:0}
.rec-cadenas .rec-lien-outil{padding:9px 17px;font-size:13px;min-height:40px}
.rec-groupe{margin-top:30px}

.rec-cuisine > .rec-conservation{flex:1 1 100%;min-width:0}

@media(min-width:780px){.rec-groupe{margin-top:42px}}

/* pastilles d'apports, zone abonnees */
.rec-apports{background:#fff;border:1px solid var(--rec-line);border-radius:20px;padding:20px 22px;display:flex;flex-direction:column;gap:12px}
.rec-apports-lab{font-family:Jost,system-ui,sans-serif;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--rec-bronze)}
.rec-pastilles{display:flex;flex-wrap:wrap;gap:8px}
.rec-pastille{font-family:Jost,system-ui,sans-serif;font-size:14px;font-weight:500;color:var(--rec-text);background:var(--rec-warm);border-radius:100px;padding:9px 18px}
/* deux plats suggeres, meme largeur et meme hauteur */
.rec-rail{align-items:stretch}
.rec-rail .rec-carte{flex:1 1 calc(50% - 7px)}
@media(max-width:620px){.rec-rail .rec-carte{flex:1 1 100%}}

/* bloc article lié, zone gratuite */
.rec-article{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid var(--rec-line);border-radius:20px;padding:22px 24px;text-decoration:none}
.rec-article:hover{border-color:var(--rec-terra)}
.rec-article-txt{flex-grow:1;min-width:0;display:flex;flex-direction:column;gap:7px}
.rec-article-lab{font-family:Jost,system-ui,sans-serif;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--rec-bronze)}
.rec-article-q{font-family:"Cormorant Garamond",Georgia,serif;font-size:23px;font-weight:600;line-height:1.2;color:var(--rec-ink)}
@media(min-width:780px){.rec-article-q{font-size:27px}}
.rec-article-fleche{flex-shrink:0;width:38px;height:38px;border:1px solid var(--rec-terra);border-radius:100px;display:flex;align-items:center;justify-content:center}
@media (prefers-reduced-motion: no-preference){.rec-article-fleche{transition:transform .25s ease}.rec-article:hover .rec-article-fleche{transform:translateX(3px)}}
