/* blender-chauffant.fr : refonte d'après la maquette « Maison Mix ». Polices auto-hébergées. */
@font-face { font-family: "Nunito Sans"; src: url("../fonts/NunitoSans.woff2") format("woff2"); font-weight: 200 1000; font-style: normal; font-display: swap; }
@font-face { font-family: "Nunito Sans"; src: url("../fonts/NunitoSans-italique.woff2") format("woff2"); font-weight: 200 1000; font-style: italic; font-display: swap; }
@font-face { font-family: "Source Serif 4"; src: url("../fonts/SourceSerif4.woff2") format("woff2"); font-weight: 200 900; font-style: normal; font-display: swap; }
:root { --prim:#2c5a43; --prim-fonce:#1f4332; --prim-texte:#2c5a43; --acc:#e8892c; --ink:#2b2f2c; --ink2:#454a45; --doux:#5b605a; --fond:#f8f3ea; --carte:#fffdf9; --trait:#e6dccb; --creux:#f1eadc; --rayon:16px; --ombre:0 1px 2px rgba(60,45,20,.05),0 8px 24px rgba(60,45,20,.08); --police:"Nunito Sans","Segoe UI",system-ui,-apple-system,sans-serif; --serif:"Source Serif 4",Georgia,"Times New Roman",serif; --larg:1180px; }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-padding-top:88px; }
body { margin:0; background:var(--fond); color:var(--ink); font:400 1.03rem/1.7 var(--police); }
img,svg { max-width:100%; height:auto; }
a { color:var(--prim-texte); text-underline-offset:3px; text-decoration-thickness:1.5px; text-decoration-color:rgba(44,90,67,.45); }
a:hover { color:var(--prim-fonce); text-decoration-color:var(--acc); }
:focus-visible { outline:3px solid var(--prim); outline-offset:3px; border-radius:6px; }
.evitement { position:absolute; left:-999px; top:8px; background:var(--ink); color:#fff; padding:8px 14px; z-index:50; border-radius:8px; }
.evitement:focus { left:8px; }
.entete { position:sticky; top:0; z-index:20; background:rgba(255,255,255,.94); border-bottom:1px solid var(--trait); backdrop-filter:saturate(1.4) blur(8px); }
.entete-int { position:relative; max-width:var(--larg); margin:0 auto; padding:10px 20px; display:flex; align-items:center; gap:18px; min-height:66px; }
.marque { display:flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none; font:800 1.2rem/1.1 var(--police); letter-spacing:-.025em; }
.marque:hover { color:var(--prim-texte); }
.marque-logo svg { width:44px; height:30px; display:block; }
.menu { margin-left:auto; }
.menu ul { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:4px; }
.menu a { display:block; color:var(--ink); text-decoration:none; font:600 .92rem/1.2 var(--police); padding:9px 14px; border-radius:999px; }
.menu a:hover { background:var(--creux); color:var(--prim-texte); }
.menu a[aria-current="page"] { background:#e8f0e6; color:var(--prim-texte); }
.menu-bouton { display:none; margin-left:auto; background:#fff; color:var(--ink); border:1.5px solid var(--ink); border-radius:999px; padding:8px 18px; font:700 .95rem var(--police); cursor:pointer; }
.menu-bouton[aria-expanded="true"] { background:var(--ink); color:#fff; }
.fil { font:600 .8rem/1.4 var(--police); color:var(--doux); }
.fil ol { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px; }
.fil li + li::before { content:"›"; margin-right:6px; color:var(--doux); }
.fil a { color:var(--doux); text-decoration:none; }
.fil a:hover { color:var(--prim-texte); text-decoration:underline; }
.bouton,.button { display:inline-flex; align-items:center; gap:8px; background:var(--ink); color:#fff; text-decoration:none; font:700 .97rem/1.2 var(--police); padding:14px 24px; border-radius:12px; border:2px solid var(--ink); transition:background .15s,transform .15s; cursor:pointer; }
.bouton::after { content:"→"; }
.bouton:hover,.button:hover { background:var(--prim-fonce); border-color:var(--prim-fonce); color:#fff; transform:translateY(-1px); }
.lien-fleche { font-weight:700; color:var(--ink); }
.lien-fleche::after { content:" →"; }
.une { background:radial-gradient(900px 420px at 85% 10%,#efe4cd 0,rgba(224,231,255,0) 60%),linear-gradient(180deg,#fff,var(--fond)); border-bottom:1px solid var(--trait); }
.une-int { max-width:var(--larg); margin:0 auto; padding:56px 20px 48px; display:grid; grid-template-columns:1.05fr 1fr; gap:36px; align-items:center; }
.surtitre { font:700 .76rem/1.4 var(--police); text-transform:uppercase; letter-spacing:.16em; color:var(--doux); margin:0 0 18px; }
.une h1 { font:800 clamp(2rem,4.4vw,3.2rem)/1.1 var(--police); letter-spacing:-.03em; margin:0 0 18px; color:var(--ink); }
.chapo { font-size:1.1rem; color:var(--ink2); max-width:56ch; margin:0 0 26px; }
.une-actions { display:flex; flex-wrap:wrap; gap:18px; align-items:center; margin:0; }
.une-photo { width:100%; height:auto; border-radius:24px; box-shadow:0 24px 60px rgba(43,47,44,.18); display:block; aspect-ratio:3/2; object-fit:cover; }
.engagements { background:#fff; border-bottom:1px solid var(--trait); }
.engagements-int { max-width:var(--larg); margin:0 auto; padding:26px 20px; list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.engagements-int li { display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; padding:4px 18px; }
.engagements-int li + li { border-left:1px solid var(--trait); }
.engagement-icone svg { width:34px; height:34px; color:var(--ink); }
.engagements-int strong { font-size:.98rem; }
.engagements-int small { color:var(--doux); font-size:.82rem; line-height:1.4; display:block; }
.bloc-int { max-width:var(--larg); margin:0 auto; padding:0 20px; }
.bloc { padding:44px 0 6px; }
.bloc-titre { font:800 clamp(1.4rem,2.6vw,1.9rem)/1.2 var(--police); letter-spacing:-.02em; margin:0 0 6px; }
.bloc-sous { color:var(--doux); margin:0 0 22px; }
.plateformes { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.plateformes a { display:flex; flex-direction:column; gap:2px; height:100%; position:relative; background:var(--carte); border:1px solid var(--trait); border-radius:var(--rayon); padding:18px; text-decoration:none; color:var(--ink); box-shadow:var(--ombre); transition:transform .15s,border-color .15s; }
.plateformes a:hover { transform:translateY(-3px); border-color:var(--prim); }
.plateformes a::after { content:"→"; position:absolute; right:16px; bottom:14px; color:var(--doux); }
.profil-icone svg { width:30px; height:30px; margin-bottom:6px; color:var(--prim); }
.plateformes strong { font-size:1.05rem; }
.plateformes small { color:var(--doux); font-size:.85rem; }
.une-selection { display:grid; grid-template-columns:1.5fr 1fr; gap:18px; }
.carte-une { position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:360px; border-radius:20px; overflow:hidden; text-decoration:none; color:#fff; background:#24402f; }
.carte-une img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.6; }
.carte-une::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(43,47,44,.1),rgba(43,47,44,.88)); }
.carte-une-texte { position:relative; z-index:2; padding:26px; }
.carte-une strong { display:block; font:800 1.6rem/1.2 var(--police); letter-spacing:-.02em; margin:8px 0; color:#fff; }
.carte-une small { display:block; color:#efe6d3; font-size:.98rem; max-width:52ch; }
.etiquette { display:inline-block; font:800 .68rem/1 var(--police); text-transform:uppercase; letter-spacing:.1em; background:var(--prim); color:#fff; padding:6px 10px; border-radius:6px; }
.liste-cartes { list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.carte-h { display:grid; grid-template-columns:130px 1fr; gap:14px; align-items:center; height:100%; background:var(--carte); border:1px solid var(--trait); border-radius:var(--rayon); overflow:hidden; text-decoration:none; color:var(--ink); box-shadow:var(--ombre); transition:transform .15s,border-color .15s; }
.carte-h:hover { transform:translateY(-2px); border-color:var(--prim); }
.carte-h img { width:130px; height:100%; min-height:96px; object-fit:cover; display:block; }
.carte-h span.t { padding:12px 14px 12px 0; display:block; }
.carte-h .etiquette { background:#e8f0e6; color:var(--prim-texte); margin-bottom:6px; }
.carte-h strong { display:block; font-size:1rem; line-height:1.3; }
.carte-h small { color:var(--doux); font-size:.86rem; line-height:1.4; display:block; margin-top:3px; }
.bandeau-fiches { margin-top:44px; }
.bandeau-fiches-int { display:grid; grid-template-columns:1fr 1fr; background:linear-gradient(120deg,#24402f,#2c5a43); border-radius:24px; overflow:hidden; color:#fff; }
.bandeau-fiches-photo { width:100%; height:100%; min-height:260px; object-fit:cover; display:block; }
.bandeau-fiches-texte { padding:36px; align-self:center; }
.bandeau-fiches h2 { font:800 1.7rem/1.2 var(--police); letter-spacing:-.02em; margin:0 0 10px; color:#fff; }
.bandeau-fiches p { color:#efe4cd; margin:0 0 20px; }
.bandeau-fiches .bouton { background:#fff; color:var(--ink); border-color:#fff; }
.bandeau-fiches .bouton:hover { background:var(--acc); border-color:var(--acc); color:var(--ink); }
.bandeau { background:radial-gradient(700px 260px at 90% 0,#efe4cd 0,rgba(224,231,255,0) 70%),#fff; border-bottom:1px solid var(--trait); }
.bandeau-int { max-width:var(--larg); margin:0 auto; padding:22px 20px 34px; }
.tete-page h1 { font:800 clamp(1.8rem,3.6vw,2.7rem)/1.15 var(--police); letter-spacing:-.03em; margin:18px 0 12px; max-width:24ch; }
.tete-page .chapo { margin:0; max-width:68ch; }
.mise-en-page { max-width:var(--larg); margin:0 auto; padding:34px 20px 64px; display:block; }
.mise-en-page.avec-sommaire { display:grid; grid-template-columns:260px minmax(0,1fr); gap:44px; align-items:start; }
.sommaire { position:sticky; top:92px; background:var(--carte); border:1px solid var(--trait); border-radius:var(--rayon); padding:18px 18px 12px; font-size:.9rem; line-height:1.4; max-height:calc(100vh - 120px); overflow:auto; }
.sommaire-titre { font:800 .72rem var(--police); text-transform:uppercase; letter-spacing:.12em; color:var(--doux); margin:0 0 10px; }
.sommaire ol { margin:0; padding-left:18px; } .sommaire li { margin:0 0 8px; } .sommaire a { text-decoration:none; color:var(--ink2); } .sommaire a:hover { color:var(--prim-texte); text-decoration:underline; }
.corps { max-width:76ch; min-width:0; }
.corps h2 { font:800 1.55rem/1.25 var(--police); letter-spacing:-.02em; margin:2em 0 .6em; }
.corps h3 { font:700 1.2rem/1.3 var(--police); margin:1.7em 0 .5em; }
.corps > :first-child { margin-top:0; }
.corps p,.corps ul,.corps ol { margin:0 0 1.05em; }
.corps li { margin:0 0 .4em; }
.corps img { border-radius:14px; display:block; margin:1.2em 0; box-shadow:var(--ombre); }
.corps table { width:100%; border-collapse:collapse; font-size:.93rem; background:#fff; }
.corps th,.corps td { border:1px solid var(--trait); padding:10px 12px; text-align:left; vertical-align:top; }
.corps th { background:var(--creux); }
.table-wrap { overflow-x:auto; border-radius:12px; margin:0 0 1.4em; }
.note { background:#e8f0e6; border:1px solid #c9d9c6; border-radius:var(--rayon); padding:16px 18px; margin:0 0 1.4em; }
.note p:last-child { margin:0; }
.cartes { list-style:none; padding:0; margin:0 0 1.6em; display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.cartes a { display:flex; flex-direction:column; gap:6px; height:100%; background:var(--carte); border:1px solid var(--trait); border-radius:var(--rayon); padding:20px; text-decoration:none; color:var(--ink); box-shadow:var(--ombre); transition:transform .15s,border-color .15s; }
.cartes a:hover { transform:translateY(-3px); border-color:var(--prim); }
.cartes strong { font-size:1.08rem; } .cartes span { color:var(--doux); font-size:.92rem; line-height:1.5; }
.cartes a::after { content:"Découvrir →"; font-weight:700; font-size:.88rem; color:var(--prim-texte); margin-top:auto; }
.corps.large { max-width:none; }
.sourcee { font-size:.85rem; color:var(--doux); }
.sourcee a { color:var(--doux); }
.nd { color:var(--doux); font-style:italic; }
.faq details { border:1px solid var(--trait); background:#fff; border-radius:12px; margin:0 0 10px; padding:0 18px; }
.faq summary { cursor:pointer; font-weight:700; padding:14px 22px 14px 0; list-style:none; position:relative; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:""; position:absolute; right:2px; top:50%; width:9px; height:9px; border-right:2px solid var(--prim); border-bottom:2px solid var(--prim); transform:translateY(-70%) rotate(45deg); transition:transform .15s; }
.faq details[open] summary::after { transform:translateY(-30%) rotate(-135deg); }
.faq-a { padding:0 0 6px; }
.formulaire { display:grid; gap:16px; max-width:640px; background:var(--carte); border:1px solid var(--trait); border-radius:var(--rayon); padding:24px; box-shadow:var(--ombre); }
.formulaire label { display:grid; gap:6px; font:700 .92rem var(--police); }
.formulaire input,.formulaire textarea { font:400 1rem var(--police); padding:12px 14px; border:1.5px solid #8a8f86; border-radius:10px; background:#fff; color:var(--ink); }
.formulaire input:focus-visible,.formulaire textarea:focus-visible { border-color:var(--prim); outline-offset:1px; }
.formulaire textarea { min-height:160px; resize:vertical; }
.piege { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.retour-envoi { margin:0; font-weight:600; } .retour-envoi.ok { color:#047857; } .retour-envoi.erreur { color:#b91c1c; }
.site-main .container { max-width:640px; margin:60px auto; padding:0 20px; font-family:var(--police); }
.suite { margin-top:44px; padding:24px; background:var(--ink); color:#fff; border-radius:20px; }
.suite-titre { margin:0 0 14px !important; font:800 1.2rem var(--police) !important; color:#fff; }
.suite ul { list-style:none; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 14px; }
.suite a { display:block; height:100%; background:rgba(255,255,255,.08); border-radius:12px; padding:14px 16px; color:#fff; text-decoration:none; }
.suite a:hover { background:rgba(255,255,255,.16); }
.suite small { display:block; color:#d8d2c4; margin-top:4px; }
.suite .retour { margin:0; } .suite .retour a { display:inline-block; background:none; padding:0; font-weight:700; text-decoration:underline; }
.pied { background:var(--ink); color:#d8d2c4; margin-top:30px; }
.pied-int { max-width:var(--larg); margin:0 auto; padding:34px 20px; display:grid; grid-template-columns:2fr 1fr; gap:30px; }
.pied-marque { display:flex; align-items:center; gap:10px; color:#fff; font-weight:800; margin:0 0 10px; }
.pied-logo svg { width:36px; height:26px; display:block; } .pied-logo path:first-child { fill:#fff; } .pied-logo path:nth-child(2) { stroke:var(--ink); }
.pied-texte { margin:0; font-size:.92rem; max-width:60ch; }
.pied-liens { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.type-erreur .mise-en-page { min-height:30vh; }
@media (max-width:960px) {
 .une-int,.une-selection,.bandeau-fiches-int,.pied-int { grid-template-columns:1fr; }
 .plateformes { grid-template-columns:repeat(2,1fr); }
 .engagements-int { grid-template-columns:repeat(2,1fr); gap:18px 0; } .engagements-int li:nth-child(3) { border-left:0; }
 .mise-en-page.avec-sommaire { grid-template-columns:1fr; } .sommaire { position:static; max-height:none; }
 .menu-bouton { display:block; } .menu { display:none; position:absolute; left:0; right:0; top:100%; background:#fff; border-bottom:1px solid var(--trait); padding:8px 20px 14px; margin:0; }
 .menu.ouvert { display:block; } .menu ul { flex-direction:column; }
 .cartes,.suite ul { grid-template-columns:1fr; } .une-int { padding-top:34px; }
}
@media (prefers-reduced-motion:reduce) { * { transition:none !important; } }
.pied a { color:#d8d2c4; text-decoration:none; } .pied a:hover { text-decoration:underline; }

.une h1,.tete-page h1,.corps h2,.corps h3,.bloc-titre,.bandeau-fiches h2,.carte-une strong,.marque,.suite-titre,.recette-hero h1 { font-family:var(--serif) !important; font-weight:700; letter-spacing:-.01em; }
.etiquette { background:var(--prim); }
.pied { background:#24402f; }
.pied-logo path:nth-child(2) { stroke:#24402f; }
.engagements,.entete { background:rgba(255,253,249,.94); }
.une { background:radial-gradient(900px 420px at 85% 10%,#efe4cd 0,rgba(239,228,205,0) 60%),linear-gradient(180deg,#fffdf9,var(--fond)); }
.une-photo { aspect-ratio:4/3; }
.bouton { background:var(--prim); border-color:var(--prim); border-radius:999px; }
.bouton:hover { background:var(--prim-fonce); border-color:var(--prim-fonce); }
.bandeau-fiches .bouton { background:#fff; color:var(--ink); border-color:#fff; }
.bandeau-fiches .bouton:hover { background:var(--acc); border-color:var(--acc); color:var(--ink); }
.menu a { border-radius:8px; } .menu a[aria-current="page"] { background:#e8f0e6; }
.sourcee { font-size:.85rem; color:var(--doux); }
/* recettes */
.recette-hero { display:grid; grid-template-columns:1.1fr 1fr; gap:34px; align-items:center; }
.recette-hero h1 { font-size:clamp(1.8rem,3.6vw,2.7rem); line-height:1.15; margin:18px 0 12px; }
.recette-photo { width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:22px; box-shadow:var(--ombre); display:block; }
.recette-infos { list-style:none; display:flex; flex-wrap:wrap; gap:8px 10px; padding:0; margin:18px 0 0; }
.recette-infos li { background:#fff; border:1px solid var(--trait); border-radius:999px; padding:6px 14px; font:700 .86rem var(--police); color:var(--ink2); }
.recette-cols { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); gap:34px; align-items:start; }
.ingredients { list-style:none; padding:18px 20px; background:var(--carte); border:1px solid var(--trait); border-radius:var(--rayon); }
.ingredients li { padding:7px 0 7px 26px; margin:0; position:relative; border-bottom:1px dashed var(--trait); }
.ingredients li:last-child { border-bottom:0; }
.ingredients li::before { content:""; position:absolute; left:2px; top:.95em; width:11px; height:11px; border:2px solid var(--prim); border-radius:3px; }
.etapes { list-style:none; padding:0; counter-reset:e; }
.etapes li { counter-increment:e; position:relative; padding:0 0 0 52px; margin:0 0 20px; }
.etapes li::before { content:counter(e); position:absolute; left:0; top:-2px; width:36px; height:36px; border-radius:50%; background:var(--prim); color:#fff; font:800 1rem/36px var(--police); text-align:center; }
.recettes-grille { list-style:none; padding:0; margin:0 0 1.6em; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.recettes-grille a { display:block; height:100%; background:var(--carte); border:1px solid var(--trait); border-radius:var(--rayon); overflow:hidden; text-decoration:none; color:var(--ink); box-shadow:var(--ombre); transition:transform .15s; }
.recettes-grille a:hover { transform:translateY(-3px); }
.recettes-grille img { width:100%; aspect-ratio:3/2; object-fit:cover; display:block; margin:0; border-radius:0; box-shadow:none; }
.recettes-grille span { display:block; padding:14px 16px 18px; }
.recettes-grille strong { display:block; font:700 1.08rem/1.3 var(--serif); margin-bottom:4px; }
.recettes-grille small { color:var(--doux); }
.corps .recette-cols h2 { margin-top:0; }
.corps .photo-corps { width:100%; max-height:340px; object-fit:cover; }
.points { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:0 0 1.4em; }
.points > div { border-radius:var(--rayon); padding:16px 20px; border:1px solid var(--trait); background:var(--carte); }
.points h3 { margin:0 0 8px !important; font-size:1.05rem !important; }
.points ul { margin:0; padding-left:1.1em; }
.fiche-modele { background:var(--carte); border:1px solid var(--trait); border-radius:var(--rayon); padding:6px 22px 14px; margin:0 0 20px; box-shadow:var(--ombre); }
.fiche-modele h3 { margin-top:1em !important; }
.fiche-modele dl { display:grid; grid-template-columns:minmax(120px,190px) 1fr; gap:8px 18px; margin:0 0 .8em; }
.fiche-modele dt { font-weight:800; color:var(--ink2); } .fiche-modele dd { margin:0; }
.fiche-modele .badge { display:inline-block; background:#e8f0e6; color:var(--prim); font:800 .7rem var(--police); text-transform:uppercase; letter-spacing:.08em; padding:5px 10px; border-radius:6px; }
@media (max-width:960px) { .recette-hero,.recette-cols,.points { grid-template-columns:1fr; } .recettes-grille { grid-template-columns:1fr 1fr; } .fiche-modele dl { grid-template-columns:1fr; gap:2px; } .fiche-modele dd { margin-bottom:8px; } }
@media (max-width:600px) { .recettes-grille { grid-template-columns:1fr; } }
.marque-logo svg { width:36px; height:36px; display:block; }
.pied-logo svg { width:34px; height:34px; background:#f8f3ea; border-radius:50%; padding:4px; }
.pied-logo path:first-child { fill:none; } .pied-logo path:nth-child(2) { stroke:none; }
.corps details { border:1px solid var(--trait); background:#fff; border-radius:12px; margin:0 0 10px; padding:0 18px; }
.corps details summary { cursor:pointer; font-weight:700; padding:14px 22px 14px 0; list-style:none; position:relative; }
.corps details summary::-webkit-details-marker { display:none; }
.corps details summary::after { content:""; position:absolute; right:2px; top:50%; width:9px; height:9px; border-right:2px solid var(--prim); border-bottom:2px solid var(--prim); transform:translateY(-70%) rotate(45deg); transition:transform .15s; }
.corps details[open] summary::after { transform:translateY(-30%) rotate(-135deg); }
.corps .tableau { overflow-x:auto; margin:0 0 1.4em; }
.corps .astuce { background:#e8f0e6; border:1px solid #c9d9c6; border-radius:var(--rayon); padding:14px 18px; margin:0 0 1.4em; }
.corps .astuce.prudence { background:#fbefe0; border-color:#ecd2ad; }
.corps .astuce p { margin:0 0 .4em; } .corps .astuce p:last-child { margin:0; } .corps .astuce-titre { font-weight:800; }
.corps .note { background:#e8f0e6; border-color:#c9d9c6; }
.recettes-grille a > span { display:block; padding:14px 16px 18px; }
.recettes-grille .etiquette { display:inline-block; padding:5px 9px; margin:0 0 8px; }
.formulaire { margin-bottom:1.4em; } .corps.large .formulaire { max-width:640px; }

/* Fidélité maquette « Maison Mix » : en-tête, bandeaux arrondis à photo fondue, raccourcis, fiches */
.entete { background:#fffdf9; }
.entete-int { padding:8px 20px; min-height:62px; }
.marque { font-family:var(--police) !important; font-weight:800; font-size:1.2rem; letter-spacing:-.02em; }
.menu a { font-size:.84rem; font-weight:700; padding:8px 11px; }
.bouton-contour { display:inline-flex; align-items:center; background:#fffdf9; color:var(--prim-texte); border:1.5px solid var(--prim); font:700 .95rem/1.2 var(--police); padding:12px 22px; border-radius:999px; text-decoration:none; transition:background .15s; }
.bouton-contour:hover { background:#e8f0e6; color:var(--prim-fonce); }
.une { background:none; border:0; padding:22px 20px 0; }
.une-carte { max-width:calc(var(--larg) - 40px); margin:0 auto; border-radius:26px; background:linear-gradient(100deg,#fffdf9 0%,#f9f2e4 55%,#f0e4cb 100%); border:1px solid var(--trait); box-shadow:var(--ombre); overflow:hidden; }
.une-int { display:block; position:relative; max-width:none; margin:0; padding:52px 44px 44px; min-height:400px; }
.une-texte { position:relative; z-index:2; max-width:46%; }
.une-visuel { position:absolute; top:0; bottom:0; right:0; left:42%; }
.une-photo { width:100%; height:100%; aspect-ratio:auto; border-radius:0; box-shadow:none; object-fit:cover; -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 42%); mask-image:linear-gradient(90deg,transparent 0,#000 42%); }
.une h1 { font-size:clamp(2rem,3.6vw,2.9rem); line-height:1.12; }
.surtitre { margin-bottom:14px; }
.plateformes { position:relative; z-index:3; grid-template-columns:repeat(5,1fr); gap:0; background:rgba(255,253,249,.94); border-top:1px solid var(--trait); }
.plateformes li + li { border-left:1px solid var(--trait); }
.plateformes a { align-items:center; text-align:center; gap:4px; background:none; border:0; border-radius:0; box-shadow:none; padding:20px 14px 22px; }
.plateformes a:hover { transform:none; background:#f3ecde; }
.plateformes a::after { content:none; }
.plateformes .profil-icone svg { width:26px; height:26px; margin-bottom:4px; color:var(--ink); }
.plateformes strong { font-size:.95rem; }
.plateformes small { font-size:.78rem; line-height:1.35; }
.engagements { background:none; border:0; padding:0 20px; }
.engagements-int { max-width:calc(var(--larg) - 40px); margin:22px auto 0; padding:20px 10px; background:#fffdf9; border:1px solid var(--trait); border-radius:18px; box-shadow:var(--ombre); }
.type-accueil .engagements-int { margin-top:26px; }
.modeles-grille { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.modeles-grille a { display:flex; flex-direction:column; gap:3px; height:100%; background:var(--carte); border:1px solid var(--trait); border-radius:var(--rayon); padding:18px; text-decoration:none; color:var(--ink); box-shadow:var(--ombre); transition:transform .15s; }
.modeles-grille a:hover { transform:translateY(-3px); }
.modele-icone { display:flex; align-items:center; justify-content:center; height:92px; margin:-4px 0 8px; border-radius:12px; background:linear-gradient(135deg,#f6efe1,#efe4cc); color:var(--prim); }
.modele-icone svg { width:52px; height:52px; }
.modele-marque { font:800 .7rem/1.4 var(--police); text-transform:uppercase; letter-spacing:.1em; color:var(--doux); }
.modeles-grille strong { font:700 1.08rem/1.3 var(--serif); }
.modeles-grille small { color:var(--doux); font-size:.84rem; line-height:1.45; }
.modele-lien { align-self:flex-start; margin-top:auto; padding:7px 16px; border-radius:999px; background:var(--prim); color:#fff; font:700 .82rem/1.2 var(--police); }
.modele-lien::after { content:" →"; }
.modeles-grille a > .modele-lien { margin-top:12px; }
.bandeau { background:none; border:0; padding:22px 20px 0; }
.bandeau-int { position:relative; overflow:hidden; max-width:calc(var(--larg) - 40px); padding:26px 44px 38px; border-radius:26px; background:linear-gradient(100deg,#fffdf9 0%,#f9f2e4 55%,#f0e4cb 100%); border:1px solid var(--trait); box-shadow:var(--ombre); }
.tete-page { max-width:62%; }
.tete-page h1 { font-size:clamp(1.9rem,3.4vw,2.6rem); }
.bandeau.avec-photo .bandeau-int { min-height:330px; }
.recette-hero { display:block; }
.recette-hero > div { position:relative; z-index:2; max-width:50%; }
.recette-photo { position:absolute; top:0; right:0; width:54%; height:100%; aspect-ratio:auto; border-radius:0; box-shadow:none; object-fit:cover; -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 40%); mask-image:linear-gradient(90deg,transparent 0,#000 40%); }
.recette-infos { display:inline-flex; flex-wrap:nowrap; gap:0; background:#fffdf9; border:1px solid var(--trait); border-radius:14px; overflow:hidden; box-shadow:var(--ombre); }
.recette-infos li { display:flex; flex-direction:column; gap:1px; background:none; border:0; border-radius:0; padding:9px 18px; }
.recette-infos li + li { border-left:1px solid var(--trait); }
.recette-infos small { font:700 .68rem/1.3 var(--police); text-transform:uppercase; letter-spacing:.08em; color:var(--doux); }
.recette-infos span { font:800 .9rem/1.3 var(--police); color:var(--ink); }
.sommaire-titre { text-transform:none; letter-spacing:0; font-size:1rem; color:var(--ink); }
.corps .onglets { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 1.6em; }
.corps .onglets a { display:inline-block; padding:10px 30px; border:1.5px solid var(--prim); border-radius:999px; background:#fffdf9; color:var(--prim-texte); font:700 .95rem/1.2 var(--police); text-decoration:none; }
.corps .onglets a[aria-current="page"] { background:var(--prim); color:#fff; }
@media (max-width:960px) {
 .une-int { padding:0 0 26px; min-height:0; display:flex; flex-direction:column-reverse; }
 .une-texte { max-width:none; padding:22px 24px 0; }
 .une-visuel { position:static; width:100%; height:230px; }
 .une-photo { width:100%; height:230px; max-width:none; }
 .une-photo { -webkit-mask-image:linear-gradient(0deg,transparent 0,#000 35%); mask-image:linear-gradient(0deg,transparent 0,#000 35%); }
 .plateformes { grid-template-columns:repeat(2,1fr); }
 .plateformes li:nth-child(odd) { border-left:0; } .plateformes li { border-top:1px solid var(--trait); }
 .plateformes li:last-child:nth-child(odd) { grid-column:1 / -1; }
 .modeles-grille { grid-template-columns:1fr 1fr; }
 .bandeau-int { padding:22px 22px 30px; } .tete-page,.recette-hero > div { max-width:none; }
 .recette-photo { position:static; width:100%; height:230px; margin:18px 0 0; border-radius:16px; -webkit-mask-image:none; mask-image:none; }
 .bandeau.avec-photo .bandeau-int { min-height:0; }
 .recette-infos { flex-wrap:wrap; }
}
@media (max-width:600px) { .modeles-grille { grid-template-columns:1fr; } .une { padding:14px 12px 0; } .bandeau { padding:14px 12px 0; } .engagements { padding:0 12px; } .recette-infos li { padding:8px 14px; } }
