/* ==========================================================================
   Régions Gourmandes — v2 « éditorial 2027 »
   Feuille unique, aucune dépendance JS. Animations CSS (scroll-driven) désactivées
   si prefers-reduced-motion: reduce. Polices auto-hébergées (theme.json).
   ========================================================================== */
:root{
 --creme:#F4EBDD;--papier:#FBF7F0;--sable:#EADFCB;--sable-2:#DDCFB6;--charbon:#2B2826;--encre:#1E1B19;--gris:#5A524C;
 --ocre:#C8892B;--ocre-clair:#F0C06A;--ocre-fonce:#8A5A12;--olive:#5E6B32;--bordeaux:#6E1F2B;--blanc:#FFFDF9;
 --lorraine:#E0A526;--alsace:#B5402F;--provence:#7A6FA8;--bretagne:#2F5A73;--rg-region:var(--ocre);
 --serif:"Fraunces","Iowan Old Style",Georgia,serif;--sans:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
 --wide:1280px;--text:700px;--g:clamp(1.1rem,4vw,2.5rem);--m:clamp(.5rem,1.1vw,1rem);
 --r:18px;--r-lg:clamp(20px,2.4vw,32px);--ease:cubic-bezier(.2,.7,.2,1);--header-h:68px;
 --shadow:0 30px 60px -40px rgba(43,40,38,.45);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--creme);color:var(--charbon);font:400 1.0625rem/1.65 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:var(--bordeaux);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{color:var(--charbon)}
:focus-visible{outline:2px solid var(--bordeaux);outline-offset:3px;border-radius:6px}
::selection{background:var(--ocre-clair);color:var(--encre)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.02em;margin:0 0 .5em;font-optical-sizing:auto;text-wrap:balance}
h1{font-size:clamp(2.4rem,5.5vw,4.4rem)}h2{font-size:clamp(1.9rem,3.4vw,2.6rem)}h3{font-size:1.35rem}
p{margin:0 0 1em;text-wrap:pretty}
em{font-style:italic}
.wp-site-blocks{padding:0}
.skip-link{position:absolute;left:-999px;top:0;background:var(--charbon);color:#fff;padding:.7em 1em;z-index:999;border-radius:999px}
.skip-link:focus{left:1rem;top:.6rem}
.sr-only,.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hp{position:absolute;left:-9999px}

/* ---------- Typographie éditoriale ---------- */
.display,.display-1,.display-2,.display-3{font-family:var(--serif);font-weight:340;letter-spacing:-.035em;font-variation-settings:"opsz" 144;margin:0}
.display{font-size:clamp(2.9rem,7.4vw,7.6rem);line-height:.94}
.display-1{font-size:clamp(2.7rem,6.6vw,6.2rem);line-height:.96}
.display-2{font-size:clamp(2.2rem,4.6vw,4.3rem);line-height:1}
.display-3{font-size:clamp(1.8rem,3.2vw,2.9rem);line-height:1.04}
.display em,.display-1 em,.display-2 em,.display-3 em,.wp-block-post-title em{font-weight:300;color:var(--ocre-fonce)}
.eyebrow{display:flex;align-items:center;gap:.7rem;font:600 .76rem/1 var(--sans);text-transform:uppercase;letter-spacing:.16em;color:var(--olive);margin:0 0 1.1rem}
.eyebrow .num{font:italic 400 1.05rem/1 var(--serif);letter-spacing:0;color:var(--ocre-fonce);text-transform:none}
.eyebrow .num::after{content:"";display:inline-block;width:2.2rem;height:1px;background:currentColor;margin-left:.7rem;vertical-align:middle;opacity:.6}
.lead{font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.55;color:#3d3834;max-width:40em}

/* ---------- Boutons, pilules ---------- */
.btn,.wp-element-button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;background:var(--charbon);color:var(--papier)!important;text-decoration:none;font:600 .98rem/1 var(--sans);padding:1rem 1.5rem;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:background .35s var(--ease),transform .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
.btn:hover,.wp-element-button:hover,.wp-block-button__link:hover{background:var(--bordeaux);color:#fff!important;transform:translateY(-1px)}
.btn svg{transition:transform .35s var(--ease)}.btn:hover svg{transform:translateX(3px)}
.btn--sm{padding:.7rem 1.1rem;font-size:.9rem}
.btn--lg{padding:1.15rem 1.8rem;font-size:1.05rem}
.btn--light{background:var(--papier);color:var(--encre)!important}
.btn--light:hover{background:var(--ocre-clair);color:var(--encre)!important}
.btn--glass{background:rgba(255,253,249,.12);border-color:rgba(255,253,249,.45);color:#fff!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.btn--glass:hover{background:rgba(255,253,249,.24);color:#fff!important}
.btn--ocre{background:var(--ocre);color:var(--encre)!important}
.btn--ocre:hover{background:var(--ocre-clair);color:var(--encre)!important}
.btn--ghost{background:transparent;border-color:var(--charbon);color:var(--charbon)!important}
.is-style-outline .wp-block-button__link{background:transparent;border-color:currentColor;color:var(--charbon)!important}
.pill{display:inline-flex;align-items:center;gap:.5rem;font:600 .74rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:.6rem .95rem;border-radius:999px;margin:0}
.pill::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--ocre)}
.pill--glass{background:rgba(255,253,249,.14);color:#fff;border:1px solid rgba(255,253,249,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.pill--ocre{background:rgba(200,137,43,.16);color:var(--ocre-clair);border:1px solid rgba(240,192,106,.35)}
.pill--ocre::before{background:var(--ocre-clair)}
.tags,.wp-block-post-terms.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;font-size:0;line-height:0}
.tags .wp-block-post-terms__separator{display:none}
.tags a,.tag a,.tag{position:relative;z-index:2;display:inline-block;font:600 .7rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:.5rem .8rem;border-radius:999px;background:rgba(43,40,38,.07);color:var(--charbon);text-decoration:none;transition:background .3s,color .3s}
.tags a:hover,.tag a:hover{background:var(--charbon);color:var(--papier)}
.tag{background:none;padding:0}
.link-arrow{display:inline-flex;align-items:center;gap:.6rem;font-weight:600;color:var(--charbon);text-decoration:none;white-space:nowrap;padding:.4rem 0;border-bottom:1px solid currentColor}
.link-arrow::after{content:"→";transition:transform .35s var(--ease)}
.link-arrow:hover{color:var(--bordeaux)}.link-arrow:hover::after{transform:translateX(4px)}

/* ---------- En-tête fin, collant, flouté ---------- */
header.wp-block-template-part{position:sticky;top:0;z-index:60;margin:0}
.admin-bar header.wp-block-template-part{top:32px}
@media (max-width:782px){.admin-bar header.wp-block-template-part{top:0}}
.site-header{position:relative;background:rgba(244,235,221,.78);-webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px);border-bottom:1px solid rgba(43,40,38,.08)}
.site-header__inner{max-width:calc(var(--wide) + 2*var(--g));margin:0 auto;padding:0 var(--g);height:var(--header-h);display:flex;align-items:center;gap:2rem}
.site-logo{flex:none}.site-logo img{height:42px;width:auto}
.nav-desktop{margin-left:auto}
.nav-desktop ul,.nav-mobile__panel ul{list-style:none;margin:0;padding:0}
.nav-desktop ul{display:flex;gap:clamp(1.2rem,2.4vw,2.2rem)}
.nav-desktop a{position:relative;color:var(--charbon);text-decoration:none;font-weight:500;font-size:.96rem;padding:.4rem 0}
.nav-desktop a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.nav-desktop a:hover::after,.nav-desktop a[aria-current]::after{transform:scaleX(1);transform-origin:left}
.nav-desktop a[aria-current]{color:var(--bordeaux)}
.nav-mobile{display:none;margin-left:auto}
.nav-mobile summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.6rem;font-weight:600;font-size:.92rem;padding:.55rem .95rem;border-radius:999px;border:1px solid rgba(43,40,38,.25)}
.nav-mobile summary::-webkit-details-marker{display:none}
.burger{display:grid;gap:5px;width:18px}.burger i{display:block;height:1.5px;background:currentColor;border-radius:2px;transition:transform .35s var(--ease)}
.nav-mobile[open] .burger i:first-child{transform:translateY(3.25px) rotate(45deg)}
.nav-mobile[open] .burger i:last-child{transform:translateY(-3.25px) rotate(-45deg)}
.nav-mobile__panel{position:absolute;left:0;right:0;top:100%;background:rgba(244,235,221,.97);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid rgba(43,40,38,.1);padding:1rem var(--g) 2rem;box-shadow:var(--shadow)}
.nav-mobile__panel a{display:block;font:400 2rem/1.2 var(--serif);letter-spacing:-.02em;color:var(--charbon);text-decoration:none;padding:.55rem 0;border-bottom:1px solid rgba(43,40,38,.1)}
.nav-mobile__panel a[aria-current]{color:var(--bordeaux);font-style:italic}
@media (max-width:900px){.nav-desktop,.header-cta{display:none}.nav-mobile{display:block}:root{--header-h:62px}.site-logo img{height:36px}}

/* ---------- Conteneurs ---------- */
.section,.crumbs,.entry-head,.archive-head,.recipe-head,.single .entry,.rg-newsletter,.faq--home{max-width:calc(var(--wide) + 2*var(--g));margin-left:auto;margin-right:auto;padding-left:var(--g);padding-right:var(--g)}
.section{padding-top:clamp(3.5rem,8vw,7.5rem);padding-bottom:clamp(1rem,3vw,2rem)}
.section--paper{max-width:none;background:var(--papier);margin-top:clamp(3rem,7vw,6rem);padding-bottom:clamp(3.5rem,8vw,7rem)}
.section--paper>*{max-width:var(--wide);margin-left:auto;margin-right:auto}
.section--flush{padding-top:1rem}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem 3rem;flex-wrap:wrap;margin-top:0;margin-bottom:clamp(2rem,4vw,3.2rem)}
.section-head__aside{max-width:26rem;color:var(--gris);margin:0}
.crumbs{padding-top:1.1rem}
.breadcrumb{font-size:.84rem;color:var(--gris)}
.breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}
.breadcrumb li+li::before{content:"/";margin-right:.35rem;opacity:.5}
.breadcrumb a{color:var(--gris);text-decoration:none}.breadcrumb a:hover{color:var(--bordeaux);text-decoration:underline}

/* ---------- Hero plein écran ---------- */
.home{padding-top:var(--m)}
.rg-hero{position:relative;isolation:isolate;margin:0 var(--m);min-height:max(560px,calc(100svh - var(--header-h) - 2*var(--m)));border-radius:var(--r-lg);overflow:hidden;display:grid;align-items:end;color:#fff;background:var(--encre)}
.rg-hero__media,.rg-hero__media img{position:absolute;inset:0;width:100%;height:100%}
.rg-hero__media img{object-fit:cover;object-position:60% 50%}
.rg-hero::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(20,17,15,.18) 0%,rgba(20,17,15,0) 30%,rgba(20,17,15,.35) 58%,rgba(20,17,15,.86) 100%),linear-gradient(90deg,rgba(20,17,15,.55) 0%,rgba(20,17,15,0) 65%)}
.rg-hero__content{position:relative;z-index:1;padding:clamp(1.5rem,5vw,4.5rem);max-width:1120px}
.rg-hero .display{color:#fff;margin:1.4rem 0 1.4rem;text-shadow:0 2px 30px rgba(0,0,0,.25)}
.rg-hero .display em{color:var(--ocre-clair)}
.rg-hero__lead{font-size:clamp(1.05rem,1.5vw,1.3rem);max-width:34em;color:rgba(255,255,255,.9);margin:0 0 2rem}
.rg-hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:0}
.rg-hero__scroll{position:absolute;z-index:1;right:clamp(1.5rem,4vw,3.5rem);bottom:clamp(1.5rem,4vw,3.5rem);display:flex;flex-direction:column;align-items:center;gap:.6rem;color:rgba(255,255,255,.85);text-decoration:none;font:600 .7rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.rg-hero__scroll span{writing-mode:vertical-rl}
.rg-hero__scroll svg{width:40px;height:40px;padding:10px;border:1px solid rgba(255,255,255,.45);border-radius:50%}
.rg-hero__scroll:hover{color:#fff}
@media (max-width:700px){.rg-hero{min-height:calc(100svh - var(--header-h) - 2*var(--m));max-height:820px}.rg-hero__scroll{display:none}.rg-hero__media img{object-position:50% 40%}.rg-hero__actions .btn{flex:1 1 auto}.rg-hero::after{background:linear-gradient(180deg,rgba(20,17,15,.1) 0%,rgba(20,17,15,.1) 30%,rgba(20,17,15,.55) 55%,rgba(20,17,15,.9) 100%)}}

/* ---------- Cartes ---------- */
.wp-block-post-template{list-style:none;margin:0;padding:0}
.wp-block-post-template>li{margin:0}
.card{position:relative;display:flex;flex-direction:column;height:100%}
.card .wp-block-post-featured-image{position:relative;margin:0 0 1.1rem;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--sable)}
.card .wp-block-post-featured-image a{display:block;height:100%}
.card .wp-block-post-featured-image img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.card:hover .wp-block-post-featured-image img{transform:scale(1.05)}
.card .body{display:flex;flex-direction:column;gap:.7rem;flex:1}
.card .wp-block-post-title{font:400 clamp(1.3rem,1.8vw,1.6rem)/1.12 var(--serif);letter-spacing:-.02em;margin:0;font-variation-settings:"opsz" 72}
.card .wp-block-post-title a{color:var(--charbon);text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .6s var(--ease)}
.card .wp-block-post-title a::after{content:"";position:absolute;inset:0;z-index:1}
.card:hover .wp-block-post-title a{background-size:100% 1px}
.card .wp-block-post-excerpt{margin:0;color:var(--gris);font-size:.98rem;line-height:1.6}
.card .wp-block-post-excerpt__excerpt{margin:0}
.card .wp-block-post-excerpt__more-text{display:none}
.card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin:0;font-size:.84rem;color:var(--gris)}
.card-meta>*{margin:0!important}
.card-meta span{display:inline-flex;align-items:center;gap:.35rem}
.card-meta .wp-block-post-date+p::before,.card-meta>span+span::before{content:"·";margin-right:.6rem;opacity:.6}
.card-meta p{margin:0}
/* ancienne grille (recherche, index) */
.grid,.grid-3,.grid-archive{display:grid;gap:clamp(1.5rem,3vw,2.5rem) clamp(1.2rem,2.4vw,2rem);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-archive--recipes .card .wp-block-post-featured-image{aspect-ratio:4/5}
@media (max-width:900px){.grid-3{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.grid-3,.grid-archive{grid-template-columns:1fr}}

/* Bento du magazine : 1 grande + 3 compactes */
.bento,.bento-archive{display:grid;grid-template-columns:1.12fr 1fr;gap:clamp(1.2rem,2.2vw,2rem) clamp(1.5rem,3.5vw,3.5rem);align-items:start}
.bento>li:first-child,.bento-archive>li:first-child{grid-row:span 3}
.bento>li:first-child .wp-block-post-featured-image,.bento-archive>li:first-child .wp-block-post-featured-image{aspect-ratio:4/3.3;border-radius:var(--r-lg)}
.bento>li:first-child .wp-block-post-title,.bento-archive>li:first-child .wp-block-post-title{font-size:clamp(1.8rem,3.1vw,2.9rem);line-height:1.02;font-weight:350;font-variation-settings:"opsz" 144}
.bento>li:first-child .wp-block-post-excerpt,.bento-archive>li:first-child .wp-block-post-excerpt{font-size:1.06rem;max-width:34em}
.bento>li:not(:first-child) .card,.bento-archive>li:not(:first-child) .card{display:grid;grid-template-columns:44% 1fr;gap:clamp(1rem,2vw,1.6rem);align-items:center}
.bento>li:not(:first-child) .wp-block-post-featured-image,.bento-archive>li:not(:first-child) .wp-block-post-featured-image{margin:0}
.bento>li:not(:first-child) .wp-block-post-excerpt,.bento-archive>li:not(:first-child) .wp-block-post-excerpt{display:none}
.bento>li:not(:first-child) .wp-block-post-title,.bento-archive>li:not(:first-child) .wp-block-post-title{font-size:clamp(1.15rem,1.6vw,1.45rem)}
.bento>li:nth-child(n+3),.bento-archive>li:nth-child(n+3){border-top:1px solid rgba(43,40,38,.12);padding-top:clamp(1.2rem,2.2vw,2rem)}
@media (max-width:900px){
 .bento,.bento-archive{grid-template-columns:1fr;gap:1.4rem}
 .bento>li:first-child,.bento-archive>li:first-child{grid-row:auto;margin-bottom:.8rem}
 .bento>li:not(:first-child) .card,.bento-archive>li:not(:first-child) .card{grid-template-columns:38% 1fr}
 .bento>li:nth-child(n+2),.bento-archive>li:nth-child(n+2){padding-top:1.4rem;border-top:1px solid rgba(43,40,38,.12)}
 .bento>li:not(:first-child) .tags,.bento-archive>li:not(:first-child) .tags{display:none}
}

/* Recettes : rangée éditoriale décalée */
.recipes-row{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,3vw,2.6rem)}
.card--recipe .wp-block-post-featured-image{aspect-ratio:4/5;border-radius:var(--r-lg)}
@media (min-width:901px){.section--paper .recipes-row>li:nth-child(2){margin-top:4.5rem}.section--paper .recipes-row{padding-bottom:1rem}}
@media (max-width:900px){
 .recipes-row,.regions-strip{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(240px,76%);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--g);margin:0 calc(-1*var(--g));padding:0 var(--g) .8rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .recipes-row::-webkit-scrollbar,.regions-strip::-webkit-scrollbar{display:none}
 .recipes-row>li,.regions-strip>li{scroll-snap-align:start}
}

/* Nos régions */
.regions-strip{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.8rem,1.6vw,1.4rem)}
.region-card a{position:relative;display:block;aspect-ratio:3/4;border-radius:var(--r-lg);overflow:hidden;color:#fff;text-decoration:none;isolation:isolate;background:var(--rg-region)}
.region-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.region-card a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,17,15,0) 40%,rgba(20,17,15,.78) 100%);z-index:0}
.region-card a:hover img{transform:scale(1.06)}
.region-card__body{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:clamp(1.1rem,2vw,1.6rem);display:grid;gap:.35rem}
.region-card__name{font:350 clamp(1.8rem,2.6vw,2.5rem)/1 var(--serif);letter-spacing:-.03em;font-variation-settings:"opsz" 144}
.region-card__spec{font-size:.86rem;color:rgba(255,255,255,.88)}
.region-card__arrow{position:absolute;z-index:1;top:1rem;right:1rem;width:2.4rem;height:2.4rem;display:grid;place-items:center;border-radius:50%;background:rgba(20,17,15,.28);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.35);transition:transform .45s var(--ease),background .45s}
.region-card a:hover .region-card__arrow{transform:rotate(-45deg);background:var(--papier);color:var(--encre)}
.r-normandie{--rg-region:var(--bordeaux)}.r-lorraine{--rg-region:var(--lorraine)}.r-alsace{--rg-region:var(--alsace)}.r-provence{--rg-region:var(--provence)}.r-bretagne{--rg-region:var(--bretagne)}

@media (max-width:900px){
 .regions-strip{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(230px,70%)}
}
@media (min-width:901px){
 .regions-strip--5,.regions-strip--6{grid-template-columns:repeat(3,1fr)}
 .regions-strip--5 .region-card a,.regions-strip--6 .region-card a{aspect-ratio:4/3.4}
 .regions-strip--5>li:nth-child(-n+2){grid-column:span 1}
}
@media (min-width:901px){
 .regions-strip--7,.regions-strip--8{grid-template-columns:repeat(4,1fr)}
 .regions-strip--7 .region-card a,.regions-strip--8 .region-card a{aspect-ratio:4/4.4}
 .regions-strip--7>li:first-child{grid-column:span 2}
 .regions-strip--7>li:first-child .region-card a,.regions-strip--7>li:first-child a{aspect-ratio:auto;height:100%}
}
/* Un seul portrait : carte « à la une », image et texte côte à côte */
@media (min-width:901px){
 .portraits:has(>li:only-child){grid-template-columns:1fr}
 .portraits>li:only-child .card--portrait{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
 .portraits>li:only-child .wp-block-post-featured-image{aspect-ratio:3/2}
 .portraits>li:only-child .wp-block-post-title{font-size:clamp(2.2rem,3.6vw,3.4rem)}
 .portraits>li:only-child .wp-block-post-excerpt{font-size:1.12rem}
}
/* Portrait : produits phares et lien */
.product-picks{margin:clamp(2.5rem,6vw,4.5rem) 0}
.product-picks__list{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:clamp(1rem,2.4vw,1.6rem)}
.product-pick img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;border-radius:var(--r)}
.product-pick__name{margin:.8rem 0 0;font:400 1.08rem/1.3 var(--serif);letter-spacing:-.01em}
.producer-link{margin:2rem 0}
/* Portraits */
.portraits{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.card--portrait .wp-block-post-featured-image{aspect-ratio:5/4;border-radius:var(--r-lg)}
.portraits>li:nth-child(2) .wp-block-post-featured-image{aspect-ratio:4/4.2}
.card--portrait .wp-block-post-title{font-style:italic;font-weight:350;font-size:clamp(1.6rem,2.4vw,2.2rem)}
@media (min-width:901px){.portraits>li:nth-child(2){margin-top:5rem}}
@media (max-width:900px){.portraits{grid-template-columns:1fr}.portraits>li:nth-child(2) .wp-block-post-featured-image{aspect-ratio:5/4}}

/* ---------- Encart « Nous recherchons des producteurs » (section sombre) ---------- */
.rg-recrute{margin:clamp(4rem,9vw,8rem) var(--m) 0;border-radius:var(--r-lg);background:var(--encre);color:var(--creme);padding:clamp(2.5rem,7vw,6rem) var(--g);position:relative;overflow:hidden}
.rg-recrute::before{content:"";position:absolute;width:60vw;height:60vw;max-width:780px;max-height:780px;right:-18%;top:-40%;background:radial-gradient(closest-side,rgba(200,137,43,.22),transparent);pointer-events:none}
.rg-recrute__inner{position:relative;max-width:var(--wide);margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.rg-recrute .display-2{color:var(--papier);margin:1.4rem 0 1.4rem}
.rg-recrute .display-2 em{color:var(--ocre-clair)}
.rg-recrute__lead{font-size:clamp(1.05rem,1.4vw,1.2rem);color:rgba(244,235,221,.86);max-width:34em}
.offre-badge{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.4rem 0 2rem;padding:.75rem 1.15rem;border-radius:999px;background:rgba(200,137,43,.14);border:1px dashed rgba(240,192,106,.55);color:var(--ocre-clair);font-size:.95rem}
.offre-badge strong{color:#fff;font-weight:600}
.rg-recrute__actions{margin:0 0 2rem}
.rg-recrute__points{list-style:none;margin:0;padding:1.6rem 0 0;border-top:1px solid rgba(244,235,221,.14);display:flex;flex-wrap:wrap;gap:.7rem 1.8rem;font-size:.92rem;color:rgba(244,235,221,.8)}
.rg-recrute__points li{display:flex;align-items:center;gap:.55rem}
.rg-recrute__points li::before{content:"";width:1.1rem;height:1.1rem;border-radius:50%;background:var(--ocre) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12 4 4 8-8' fill='none' stroke='%231E1B19' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/70% no-repeat;flex:none}
.rg-recrute__media{margin:0;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/4.4;box-shadow:0 40px 80px -40px rgba(0,0,0,.6)}
.rg-recrute__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.rg-recrute:hover .rg-recrute__media img{transform:scale(1.04)}
@media (max-width:900px){.rg-recrute__inner{grid-template-columns:1fr}.rg-recrute__media{aspect-ratio:4/3;order:-1}.rg-recrute .btn--lg{width:100%}}

/* ---------- Newsletter (aperçu) ---------- */
.rg-newsletter{margin-top:clamp(3rem,7vw,6rem)}
.rg-newsletter__inner{background:var(--sable);border-radius:var(--r-lg);padding:clamp(2.5rem,6vw,5rem) var(--g);text-align:center;display:flex;flex-direction:column;align-items:center}
.rg-newsletter .eyebrow{justify-content:center}
.rg-newsletter .display-3{max-width:18em;margin:0 auto 2rem}
.rg-newsletter__form{display:flex;gap:.4rem;width:100%;max-width:520px;padding:.4rem;background:var(--papier);border-radius:999px;border:1px solid var(--sable-2);box-shadow:var(--shadow)}
.rg-newsletter__form input{flex:1;min-width:0;border:0;background:transparent;font:inherit;padding:.8rem 1.1rem;color:var(--charbon);border-radius:999px}
.rg-newsletter__form input::placeholder{color:#756b63}
.rg-newsletter__form input:focus-visible{outline:2px solid var(--bordeaux);outline-offset:0}
.rg-newsletter__note{font-size:.84rem;color:var(--gris);margin:1.1rem 0 0}

/* ---------- FAQ ---------- */
.faq details,.wp-block-details{border-top:1px solid rgba(43,40,38,.15);padding:0;margin:0;background:transparent}
.faq details:last-of-type{border-bottom:1px solid rgba(43,40,38,.15)}
.faq summary,.wp-block-details summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1.5rem;align-items:center;padding:1.25rem 0;font:400 1.2rem/1.3 var(--serif);letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after,.wp-block-details summary::after{content:"+";flex:none;width:2rem;height:2rem;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(43,40,38,.25);font:300 1.2rem/1 var(--sans);transition:transform .4s var(--ease),background .3s}
.faq details[open] summary::after,.wp-block-details[open] summary::after{transform:rotate(45deg);background:var(--charbon);color:var(--papier)}
.faq details>:not(summary){margin:0;padding:0 3rem 1.3rem 0;color:#3d3834}
.faq--home{display:grid;grid-template-columns:1fr 1.7fr;gap:0 clamp(2rem,6vw,6rem);padding-top:clamp(4rem,8vw,7rem);align-items:start}
.faq--home>h2{grid-row:1/span 20;margin:0;position:sticky;top:calc(var(--header-h) + 2rem)}
.faq--home>details{grid-column:2}
@media (max-width:900px){.faq--home{grid-template-columns:1fr}.faq--home>h2{position:static;grid-row:auto;margin-bottom:1.5rem}.faq--home>details{grid-column:1}}

/* ---------- Pied de page ---------- */
footer.wp-block-template-part{margin-top:clamp(4rem,9vw,8rem)}
.site-footer{background:var(--charbon);color:#E9E0D2;margin:0 var(--m) var(--m);border-radius:var(--r-lg);padding:clamp(3rem,6vw,5rem) var(--g) 1.5rem;overflow:hidden}
.site-footer__inner{max-width:var(--wide);margin:0 auto;display:grid;grid-template-columns:1.2fr 2fr;gap:3rem}
.site-footer__brand img{height:52px;width:auto;margin-bottom:1.2rem}
.site-footer__tagline{max-width:22rem;color:#cfc5b6}
.site-footer__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.site-footer h2{font:600 .74rem/1 var(--sans);text-transform:uppercase;letter-spacing:.16em;color:var(--ocre-clair);margin:0 0 1.1rem}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.site-footer a{color:#F4EBDD;text-decoration:none}
.site-footer a:hover{color:var(--ocre-clair);text-decoration:underline}
.site-footer a.btn{color:var(--encre)!important;text-decoration:none}
.site-footer__wordmark{max-width:var(--wide);margin:clamp(2.5rem,6vw,4.5rem) auto 0;font:300 clamp(3rem,13vw,11.6rem)/.86 var(--serif);letter-spacing:-.055em;color:rgba(244,235,221,.16);font-variation-settings:"opsz" 144;white-space:nowrap;user-select:none}
.site-footer__wordmark em{color:rgba(240,192,106,.32)}
.site-footer__legal{max-width:var(--wide);margin:1.5rem auto 0;padding-top:1.2rem;border-top:1px solid rgba(244,235,221,.14);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8rem 2rem;font-size:.82rem;color:#c9bfb1}
.site-footer__legal p{margin:0;display:flex;gap:1.4rem}
.site-footer__social{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin:1.2rem 0 0;font-size:.88rem}
.site-footer__social a{display:inline-flex;align-items:center;gap:.45rem;color:#cfc5b6}
.site-footer__social svg{flex:none}
@media (max-width:900px){.site-footer__inner{grid-template-columns:1fr}.site-footer__cols{grid-template-columns:1fr 1fr}.site-footer__wordmark{font-size:12.4vw}}

/* ---------- Article / recette / portrait ---------- */
.entry-head{max-width:calc(960px + 2*var(--g));text-align:center;padding-top:clamp(2.5rem,6vw,5rem);padding-bottom:clamp(2rem,4vw,3rem)}
.entry-head__tags{display:flex;justify-content:center;gap:.4rem;flex-wrap:wrap;margin-bottom:1.6rem}
.entry-head__tags .tags{justify-content:center}
.entry-head .wp-block-post-title{margin:0 auto 1.4rem}
.entry-head .lead{margin:0 auto 2rem}
.byline{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem 1.2rem;font-size:.88rem;color:var(--gris)}
.byline>*{margin:0!important}
.byline .wp-block-post-author{display:flex;align-items:center;gap:.6rem}
.byline .wp-block-post-author__avatar img{border-radius:50%;display:block}
.byline .wp-block-post-author__content{display:flex;gap:.3rem;align-items:baseline;white-space:nowrap;flex:0 0 auto}
.byline .wp-block-post-author__avatar{margin:0}
.byline .wp-block-post-author__byline,.byline .wp-block-post-author__name{font-size:.88rem!important;width:auto;white-space:nowrap}
.byline .wp-block-post-author__byline{font-size:inherit;margin:0}
.byline .wp-block-post-author__name{font-weight:600;color:var(--charbon);margin:0}
.byline>*+*::before{content:"·";margin-right:1.2rem;opacity:.6}
.recipe-head .byline,.single--portrait .byline{justify-content:flex-start}
.entry-cover{max-width:calc(var(--wide) + 2*var(--m));margin:0 auto clamp(2.5rem,5vw,4rem)!important;padding:0 var(--m);aspect-ratio:16/8.5}
.entry-cover img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-lg)}
.single .entry{max-width:calc(var(--text) + 2*var(--g))}
.single .entry--wide{max-width:calc(1120px + 2*var(--g))}
.prose{font-size:clamp(1.06rem,1.3vw,1.16rem);line-height:1.78}
.prose>*{margin:0 0 1.25em}
.prose h2{font-size:clamp(1.7rem,2.6vw,2.2rem);margin:2.2em 0 .6em}
.prose h3{font-size:1.4rem;margin:1.8em 0 .5em}
.prose blockquote{margin:2em 0;padding:0 0 0 1.5rem;border-left:2px solid var(--ocre);font:italic 300 1.6rem/1.3 var(--serif)}
.prose img{border-radius:var(--r)}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin:.4em 0}
.prose li::marker{color:var(--ocre-fonce)}
.prose ol>li::marker{font:italic 400 1.1em var(--serif)}
.prose li>p{margin:.2em 0 .5em}
.prose h3{font-size:1.35rem}
.prose table{width:100%;border-collapse:collapse;font-size:.95rem;margin:1.5em 0}
.prose th,.prose td{text-align:left;padding:.7rem .8rem;border-bottom:1px solid rgba(43,40,38,.15)}
.prose th{font:600 .74rem/1.2 var(--sans);text-transform:uppercase;letter-spacing:.1em;color:var(--gris)}
.prose details{border-top:1px solid rgba(43,40,38,.15)}
.prose details:last-of-type{border-bottom:1px solid rgba(43,40,38,.15)}
.prose summary{cursor:pointer;list-style:none;padding:1rem 0;font:400 1.15rem/1.3 var(--serif)}
.prose summary::-webkit-details-marker{display:none}
.prose details>p{margin:0 0 1rem}
.single--post .prose>p:first-child::first-letter{float:left;font:400 5.2em/.8 var(--serif);padding:.08em .12em 0 0;color:var(--bordeaux);font-variation-settings:"opsz" 144}
.answer-box{position:relative;background:var(--papier);border:1px solid var(--sable);border-radius:var(--r);padding:1.5rem 1.6rem 1.4rem;margin:0 0 2.5rem;font-size:1.04rem}
.answer-box strong.label{display:inline-flex;align-items:center;gap:.45rem;font:700 .7rem/1 var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--papier);background:var(--olive);padding:.45rem .75rem;border-radius:999px;margin-bottom:.9rem}
.answer-box p:last-child{margin:0}
.sources{font-size:.88rem;color:var(--gris);border-top:1px solid rgba(43,40,38,.14);margin-top:3rem;padding-top:1.2rem}
.sources h2{font:600 .74rem/1 var(--sans)!important;text-transform:uppercase;letter-spacing:.14em;margin:0 0 .8rem}
.sources ul{padding-left:1.1rem;margin:0 0 .6rem}
.author-box{display:flex;gap:1rem;align-items:flex-start;background:var(--papier);border-radius:var(--r);padding:1.3rem 1.4rem;margin-top:2rem}
.author-box .wp-block-avatar img{border-radius:50%}
.author-box .wp-block-post-author-name{font-weight:600}
.author-box .wp-block-post-author-name a{color:var(--charbon)}
.author-box p{margin:.2rem 0 0;color:var(--gris);font-size:.94rem}
.section--related{padding-top:clamp(3rem,7vw,6rem)}
.section--related.section--paper{margin-top:clamp(3rem,7vw,6rem)}
/* tête recette / portrait */
.recipe-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;padding-top:clamp(2rem,4vw,3.5rem);padding-bottom:clamp(2.5rem,5vw,4rem)}
.recipe-head__text .tags{margin-bottom:1.4rem}
.recipe-head__text .eyebrow{margin-bottom:1rem}
.recipe-head .wp-block-post-title{margin:0 0 1.3rem}
.recipe-head .lead{margin:0 0 1.8rem}
.recipe-head__media{margin:0!important;aspect-ratio:4/4.6;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow)}
.recipe-head__media img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.recipe-head{grid-template-columns:1fr}.recipe-head__media{order:-1;aspect-ratio:4/3.4}}
.recipe-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0 0 clamp(2.5rem,5vw,4rem);padding:0;list-style:none;border-top:1px solid rgba(43,40,38,.15);border-bottom:1px solid rgba(43,40,38,.15)}
.recipe-facts li{padding:1.3rem 1rem;text-align:center}
.recipe-facts li+li{border-left:1px solid rgba(43,40,38,.15)}
.recipe-facts b{display:block;font:350 clamp(1.5rem,2.4vw,2.1rem)/1.1 var(--serif);letter-spacing:-.02em}
.recipe-facts span{font:600 .7rem/1 var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--gris)}
@media (max-width:620px){.recipe-facts{grid-template-columns:1fr 1fr}.recipe-facts li:nth-child(3){border-left:0}.recipe-facts li:nth-child(n+3){border-top:1px solid rgba(43,40,38,.15)}}
.recipe-cols{display:grid;grid-template-columns:minmax(260px,.8fr) 1.6fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.recipe-cols h2{font-size:clamp(1.6rem,2.4vw,2.1rem);margin:0 0 1.2rem}
.ingredients{background:var(--papier);border:1px solid var(--sable);padding:1.6rem 1.7rem;border-radius:var(--r-lg);position:sticky;top:calc(var(--header-h) + 1.5rem)}
.ingredients ul{list-style:none;margin:0;padding:0}
.ingredients li{display:flex;gap:.8rem;align-items:baseline;padding:.65rem 0;border-bottom:1px dashed rgba(43,40,38,.18)}
.ingredients li:last-child{border-bottom:0}
.ingredients li::before{content:"";flex:none;width:.6rem;height:.6rem;border-radius:50%;border:1.5px solid var(--ocre);transform:translateY(-1px)}
.steps{counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{counter-increment:s;display:grid;grid-template-columns:3.4rem 1fr;gap:1rem;padding:1.3rem 0;border-top:1px solid rgba(43,40,38,.14);font-size:1.08rem}
.steps li::before{content:counter(s,decimal-leading-zero);font:italic 300 2.2rem/1 var(--serif);color:var(--ocre-fonce)}
@media (max-width:900px){.recipe-cols{grid-template-columns:1fr}.ingredients{position:static}}
/* archives */
.archive-head{padding-top:clamp(2.5rem,6vw,5rem);padding-bottom:clamp(2rem,4vw,3rem)}
.archive-head .display-1,.archive-head .wp-block-query-title{margin:0 0 1.4rem;max-width:14em}
.archive-head .lead,.archive-head .wp-block-term-description{max-width:38em;font-size:clamp(1.1rem,1.6vw,1.3rem);color:#3d3834}
.archive-head .wp-block-term-description p{margin:0}
.archive-head--page{padding-left:0;padding-right:0;padding-bottom:1.5rem}
.archive-head--page .wp-block-post-title{margin:0}
.region-hero{position:relative;isolation:isolate;max-width:none;margin:var(--m) var(--m) 0;border-radius:var(--r-lg);overflow:hidden;min-height:clamp(380px,56vh,560px);display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(2rem,5vw,4.5rem);color:#fff;background:var(--rg-region) var(--region-img,none) center/cover no-repeat}
.region-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(20,17,15,.05) 20%,rgba(20,17,15,.78) 100%)}
.region-hero .eyebrow{color:var(--ocre-clair)}
.region-hero .display-1,.region-hero .wp-block-query-title{color:#fff}
.region-hero .wp-block-term-description{color:rgba(255,255,255,.9)}
.r-lorraine .region-hero{--region-img:url(../img/photos/region-lorraine.webp)}
.r-alsace .region-hero{--region-img:url(../img/photos/region-alsace.webp)}
.r-provence .region-hero{--region-img:url(../img/photos/region-provence.webp)}
.r-bretagne .region-hero{--region-img:url(../img/photos/region-bretagne.webp)}
.pager{margin-top:3rem;display:flex;gap:.5rem;justify-content:center;align-items:center}
.pager a,.pager .page-numbers{display:inline-grid;place-items:center;min-width:2.6rem;height:2.6rem;padding:0 .8rem;border-radius:999px;border:1px solid rgba(43,40,38,.2);color:var(--charbon);text-decoration:none}
.pager .current{background:var(--charbon);color:var(--papier)}
/* pages */
.page-main{padding-bottom:2rem}
.page-main .prose,.page-main>.wp-block-post-content{font-size:1.08rem}
.steps-3{counter-reset:k;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;list-style:none;padding:0;margin:2rem 0}
.steps-3 li{background:var(--papier);border:1px solid var(--sable);border-radius:var(--r);padding:1.5rem}
.steps-3 li::before{counter-increment:k;content:counter(k,decimal-leading-zero);font:italic 300 2.4rem/1 var(--serif);color:var(--ocre-fonce);display:block;margin-bottom:.8rem}
.steps-3 h3{font-size:1.3rem;margin:0 0 .4rem}.steps-3 p{margin:0;color:var(--gris);font-size:.95rem}
.encart-producteurs{margin:2.5rem 0;padding:clamp(1.6rem,4vw,2.6rem);border-radius:var(--r-lg);background:var(--encre);color:var(--creme);display:grid;grid-template-columns:1fr;gap:1.2rem}
.encart-producteurs h2{color:var(--papier);margin:0 0 .6rem;font-weight:350}
.encart-producteurs p{color:rgba(244,235,221,.86)}
.encart-producteurs .eyebrow{color:var(--ocre-clair)}
.encart-producteurs .offre-badge{margin-bottom:0}
.encart-producteurs .wp-block-button__link{background:var(--ocre)!important;color:var(--encre)!important}
.section--dark{background:var(--encre);color:var(--creme)}
/* formulaires */
.form{display:grid;gap:1.1rem;background:var(--papier);border:1px solid var(--sable);padding:clamp(1.3rem,3vw,2.2rem);border-radius:var(--r-lg)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:620px){.form .row{grid-template-columns:1fr}}
.form label{font-weight:600;display:block;margin-bottom:.35rem;font-size:.95rem}
.form input,.form select,.form textarea,.qty-row input,.wp-block-search__input{width:100%;font:inherit;padding:.8rem 1rem;border:1px solid #8c8178;border-radius:12px;background:#fff;color:var(--charbon)}
.form .hint{font-size:.85rem;color:var(--gris);font-weight:400}
.form .check{display:flex;gap:.6rem;align-items:flex-start;font-weight:400}
.form .check input{width:auto;margin-top:.35rem}
.notice{padding:1rem 1.2rem;border-radius:12px;background:#e7efd6;border:1px solid var(--olive)}
.notice--err{background:#f6dcdc;border-color:var(--bordeaux)}
.wp-block-search__inside-wrapper{gap:.5rem}
/* bandeau exemple */
.demo-banner{background:var(--bordeaux);color:#fff;text-align:center;font-size:.85rem;padding:.4rem 1rem}
.badge-exemple{display:inline-block;background:#fff3cd;color:#6b4c00;border:1px dashed #a67c00;font:600 .72rem/1.4 var(--sans);text-transform:uppercase;letter-spacing:.06em;padding:.15em .55em;border-radius:4px;vertical-align:middle}

/* ---------- WooCommerce (boutique, hors accueil) ---------- */
.product-layout{display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding:2rem 0}
@media (max-width:820px){.product-layout{grid-template-columns:1fr;gap:1.5rem}}
.product-gallery{aspect-ratio:1;border-radius:var(--r);overflow:hidden}
.qty-row{display:flex;gap:.8rem;align-items:center;margin:1.2rem 0}.qty-row input{width:5rem}
.shop-layout{display:grid;grid-template-columns:240px 1fr;gap:2rem}
@media (max-width:820px){.shop-layout{grid-template-columns:1fr}}
.filters{background:var(--papier);border-radius:var(--r);padding:1.2rem;align-self:start}
.filters fieldset{border:0;padding:0;margin:0 0 1rem}.filters legend{font-weight:700;margin-bottom:.4rem}
.filters label{display:block;font-size:.95rem;padding:.15rem 0}
.filters .wp-block-categories{list-style:none;padding:0}
.price{font:500 1.15rem var(--serif);color:var(--bordeaux)}
.seller{font-size:.85rem;color:var(--gris)}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem;list-style:none;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{width:auto!important;float:none!important;margin:0!important;background:var(--papier);border-radius:var(--r);padding:0 0 1rem;overflow:hidden}
.woocommerce ul.products li.product>*:not(a:first-child){padding-left:1rem;padding-right:1rem}
.woocommerce ul.products li.product img{width:100%;aspect-ratio:1;object-fit:cover;margin:0 0 .8rem}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font:400 1.2rem/1.25 var(--serif);color:var(--charbon)}
.woocommerce ul.products li.product a{text-decoration:none}
.woocommerce ul.products li.product .button{display:inline-block;background:var(--charbon);color:#fff;border-radius:999px;padding:.6em 1.1em;text-decoration:none;font-weight:600}
.wc-block-components-product-price,.woocommerce .price{font-family:var(--serif);color:var(--bordeaux)}

/* ---------- Mouvement (sobre) ---------- */
@keyframes rg-up{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
@keyframes rg-fade{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes rg-zoom{from{transform:scale(1.08)}to{transform:scale(1)}}
@media (prefers-reduced-motion:no-preference){
 .rg-hero__media img{animation:rg-zoom 2.6s var(--ease) both}
 .rg-hero__content>*{animation:rg-fade 1.1s var(--ease) both}
 .rg-hero__content>:nth-child(2){animation-delay:.12s}.rg-hero__content>:nth-child(3){animation-delay:.24s}.rg-hero__content>:nth-child(4){animation-delay:.36s}
 @supports (animation-timeline:view()){
  .reveal,.bento>li,.bento-archive>li,.portraits>li,.grid-3>li,.grid-archive>li,.recipe-head__media,.entry-cover{animation:rg-up linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
  @media (min-width:901px){.recipes-row>li,.regions-strip>li{animation:rg-up linear both;animation-timeline:view();animation-range:entry 0% entry 70%}}
 }
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* ---------- Recettes v2 : fiche interactive ---------- */
.recipe-facts--5{grid-template-columns:repeat(5,1fr)}
.recipe-facts--3{grid-template-columns:repeat(3,1fr)}
@media (max-width:620px){.recipe-facts--5,.recipe-facts--3{grid-template-columns:1fr 1fr}}
.rg-fiche{display:grid;grid-template-columns:minmax(280px,.85fr) 1.6fr;gap:clamp(2rem,5vw,5rem);align-items:start;margin:0 0 clamp(2.5rem,5vw,4rem)}
.rg-fiche h2{font-size:clamp(1.6rem,2.4vw,2.1rem);margin:0}
.rg-fiche__ing{background:var(--papier);border:1px solid var(--sable);padding:1.6rem 1.7rem;border-radius:var(--r-lg);position:sticky;top:calc(var(--header-h,72px) + 1.5rem)}
.rg-fiche__head{display:flex;flex-wrap:wrap;gap:.8rem 1rem;align-items:center;justify-content:space-between;margin:0 0 1rem}
.rg-portions{display:inline-flex;align-items:center;gap:.2rem;border:1px solid var(--sable);border-radius:999px;padding:.2rem;background:#fff}
.rg-portions[hidden]{display:none}
.rg-portions__btn{appearance:none;border:0;background:transparent;width:2.5rem;height:2.5rem;border-radius:50%;display:grid;place-items:center;color:var(--charbon);cursor:pointer;transition:background .25s}
.rg-portions__btn:hover:not(:disabled){background:var(--sable)}
.rg-portions__btn:disabled{opacity:.35;cursor:not-allowed}
.rg-portions__btn:focus-visible,.rg-tool:focus-visible,.chip:focus-visible{outline:3px solid var(--ocre);outline-offset:2px}
.rg-portions__val{margin:0;min-width:5.2rem;text-align:center;font-size:.9rem;color:var(--gris)}
.rg-portions__val b{font:400 1.35rem/1 var(--serif);color:var(--charbon)}
.rg-ing-list{list-style:none;margin:0;padding:0}
.rg-ing-list li{display:flex;gap:.75rem;align-items:flex-start;padding:.6rem 0;border-bottom:1px dashed rgba(43,40,38,.18)}
.rg-ing-list li:last-child{border-bottom:0}
.rg-ing-list input{appearance:none;flex:none;width:1.15rem;height:1.15rem;margin:.2rem 0 0;border:1.5px solid var(--ocre-fonce);border-radius:.3rem;background:#fff;cursor:pointer;display:grid;place-items:center;transition:background .2s}
.rg-ing-list input::after{content:"";width:.6rem;height:.35rem;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px);opacity:0}
.rg-ing-list input:checked{background:var(--olive);border-color:var(--olive)}
.rg-ing-list input:checked::after{opacity:1}
.rg-ing-list input:focus-visible{outline:3px solid var(--ocre);outline-offset:2px}
.rg-ing-list label{cursor:pointer;line-height:1.45;transition:color .2s}
.rg-q{font-weight:700;white-space:nowrap;color:var(--charbon)}
.rg-ing-list input:checked+label{color:var(--gris);text-decoration:line-through;text-decoration-thickness:1px}
.rg-fiche__tools{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.2rem 0 0;padding:1.1rem 0 0;border-top:1px solid var(--sable)}
.rg-fiche__tools[hidden]{display:none}
.rg-tool{appearance:none;display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.6rem 1rem;border-radius:999px;border:1.5px solid var(--charbon);background:transparent;color:var(--charbon);font:600 .88rem/1 var(--sans);cursor:pointer;transition:background .25s,color .25s}
.rg-tool:hover{background:var(--charbon);color:#fff}
.rg-toast{margin:.6rem 0 0;font-size:.85rem;color:var(--olive);min-height:1.2em}
.rg-fiche__steps h2{margin-bottom:1.2rem}
.rg-vin{display:flex;gap:1rem;align-items:flex-start;margin:2rem 0 0;padding:1.3rem 1.4rem;border-radius:var(--r-lg);background:var(--charbon);color:#F4EBDD}
.rg-vin .ico{flex:none;width:1.6rem;height:1.6rem;color:var(--ocre);margin-top:.15rem}
.rg-vin p{margin:0;line-height:1.5}
.rg-vin strong{display:block;font:600 .72rem/1.2 var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--ocre);margin-bottom:.35rem}
@media (max-width:900px){.rg-fiche{grid-template-columns:1fr}.rg-fiche__ing{position:static}}
.prose .rg-conseil{display:flex;gap:1rem;padding:1.3rem 1.4rem;border-radius:var(--r-lg);background:var(--papier);border:1px solid var(--sable);margin:2rem 0}
.prose .rg-conseil p{margin:0}

/* ---------- Archive des recettes : filtres ---------- */
.rg-filters{margin:clamp(1.6rem,3vw,2.4rem) 0 0;display:grid;gap:.9rem}
.rg-filters ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.chip{display:inline-flex;align-items:center;gap:.45rem;min-height:40px;padding:.5rem 1rem;border-radius:999px;border:1px solid rgba(43,40,38,.22);background:transparent;color:var(--charbon);font:500 .9rem/1 var(--sans);text-decoration:none;transition:background .25s,border-color .25s,color .25s}
.chip:hover{border-color:var(--charbon)}
.chip.is-active{background:var(--charbon);border-color:var(--charbon);color:#fff}
.chip__n{font-size:.75rem;opacity:.7}
.rg-filters__zones .chip{font-weight:600}
.rg-filters__count{margin:.2rem 0 0;font-size:.85rem;color:var(--gris)}
@media (max-width:700px){.rg-filters__regions{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1*var(--g));padding:0 var(--g) .3rem!important}.rg-filters__regions::-webkit-scrollbar{display:none}.rg-filters__regions .chip{white-space:nowrap}}

/* ---------- Impression d'une fiche recette ---------- */
@media print{
 @page{margin:1.4cm}
 html,body{background:#fff!important;color:#000!important;font-size:11pt}
 header.wp-block-template-part,footer.wp-block-template-part,.crumbs,.section--related,#producteurs-recherches,.rg-recrute,.author-box,.sources,.rg-fiche__tools,.rg-portions__btn,.rg-toast,.rgc,.rgc-footer-links,.skip-link,.answer-box .label{display:none!important}
 .reveal,.recipe-head__media,.entry-cover,[class*="animation"]{animation:none!important;opacity:1!important;transform:none!important}
 .recipe-head{display:grid;grid-template-columns:1fr 5.5cm;gap:1cm;align-items:start;margin:0 0 .6cm;padding:0}
 .recipe-head__media img{max-height:5.5cm;width:100%;object-fit:cover;border-radius:6px;box-shadow:none}
 .recipe-head .display-2{font-size:22pt}
 .recipe-head .lead{font-size:11pt}
 .byline{display:none}
 .entry,.entry--wide{max-width:none!important;padding:0!important}
 .recipe-facts{margin:0 0 .5cm;border-color:#999}
 .recipe-facts li{padding:.25cm .2cm}
 .recipe-facts b{font-size:13pt}
 .rg-fiche{grid-template-columns:6.2cm 1fr;gap:.8cm}
 .rg-fiche__ing{position:static;background:#fff;border:1px solid #999;padding:.4cm}
 .rg-ing-list input{border-color:#000;width:10pt;height:10pt}
 .rg-ing-list input:checked+label{text-decoration:none;color:#000}
 .steps li{padding:.25cm 0;font-size:10.5pt;break-inside:avoid;grid-template-columns:1cm 1fr}
 .steps li::before{font-size:14pt;color:#000}
 .rg-vin{background:#fff;color:#000;border:1px solid #999;padding:.3cm}
 .rg-vin .ico,.rg-vin strong{color:#000}
 .prose{font-size:10.5pt}
 .prose h2{font-size:14pt;break-after:avoid}
 a{color:#000;text-decoration:none}
}

/* v2.3 — lien Panier de saison sur l'archive des recettes */
.archive-panier{margin:1.2rem 0 0}
@media (min-width:901px) and (max-width:1120px){.nav-desktop ul{gap:1.1rem}.nav-desktop a{font-size:.9rem}}

/* ---------- Devenir producteur partenaire ---------- */
.page-partenaire{padding-bottom:clamp(2rem,5vw,4rem)}
.page-partenaire>.wp-block-post-content>*{max-width:calc(var(--wide) + 2*var(--g));margin-left:auto;margin-right:auto;padding-left:var(--g);padding-right:var(--g)}
.page-partenaire>.wp-block-post-content>.pp-hero,.page-partenaire>.wp-block-post-content>.pp-cta{max-width:none;margin-left:var(--m);margin-right:var(--m)}
.pp-hero{border-radius:var(--r-lg);background:var(--encre);color:var(--creme);padding:clamp(2.2rem,6vw,5.5rem) var(--g)!important;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,5vw,5rem);align-items:center;position:relative;overflow:hidden;margin-top:clamp(.5rem,1.5vw,1rem)}
.pp-hero::before{content:"";position:absolute;width:60vw;height:60vw;max-width:780px;max-height:780px;right:-18%;top:-40%;background:radial-gradient(closest-side,rgba(200,137,43,.22),transparent);pointer-events:none}
.pp-hero__text{position:relative;max-width:40rem;margin-left:auto}
.pp-hero .display-1{color:var(--papier);font-size:clamp(2.5rem,5.4vw,5.2rem);margin:1.3rem 0 1.4rem}
.pp-hero .display-1 em{color:var(--ocre-clair)}
.pp-hero p{color:rgba(244,235,221,.86)}
.pp-hero__lead{font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.55;color:var(--creme)!important}
.pp-promesse{border-left:2px solid var(--ocre);padding:.2rem 0 .2rem 1rem;margin:1.4rem 0}
.pp-promesse strong{color:#fff}
.pp-hero .offre-badge{margin:.2rem 0 1.6rem}
.pp-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:0}
.pp-hero__media{position:relative;margin:0;border-radius:calc(var(--r-lg) - 6px);overflow:hidden;aspect-ratio:4/5;max-width:520px}
.pp-hero__media img{width:100%;height:100%;object-fit:cover}
.pp-section{padding-top:clamp(3.5rem,8vw,6.5rem)}
.pp-section__head{max-width:46rem;margin:0 0 clamp(1.6rem,3.5vw,2.6rem)}
.pp-section__head .display-2{margin:0}
.pp-section__head .btn{margin-top:1.4rem}
.pp-formules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.4vw,1.6rem)}
.pp-formule{background:var(--papier);border:1px solid var(--sable);border-radius:var(--r-lg);padding:clamp(1.4rem,3vw,2.4rem);display:flex;flex-direction:column}
.pp-formule--sable{background:var(--sable);border-color:var(--sable-2)}
.pp-formule__n{font:600 .74rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--olive);margin:0 0 1rem}
.pp-formule h3{font-size:clamp(1.6rem,2.6vw,2.1rem);margin:0 0 .3rem}
.pp-formule__tag{font:italic 400 1.1rem/1.3 var(--serif);color:var(--ocre-fonce);margin:0 0 1.1rem}
.pp-list{list-style:none;margin:.2rem 0 1rem;padding:0;display:grid;gap:.65rem}
.pp-list li{position:relative;padding-left:1.8rem;line-height:1.5}
.pp-list li::before{content:"";position:absolute;left:0;top:.3em;width:1.05rem;height:1.05rem;border-radius:50%;background:var(--charbon) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12.5 4 4 8-9' fill='none' stroke='%23FBF7F0' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/70% no-repeat}
.pp-formule__foot{margin:auto 0 0;padding-top:1rem;border-top:1px solid rgba(43,40,38,.12);color:var(--gris);font-size:.95rem}
.pp-note{margin-top:clamp(1rem,2.4vw,1.6rem);background:rgba(94,107,50,.1);border:1px solid rgba(94,107,50,.3);border-radius:var(--r);padding:1.1rem 1.3rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem 2rem}
.pp-note p{margin:0;font-size:.98rem}
.pp-apports{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem;margin:0}
.pp-apports>div{background:var(--papier);border:1px solid var(--sable);border-radius:var(--r);padding:1.4rem 1.4rem 1.5rem}
.pp-apports dt{font:400 1.35rem/1.15 var(--serif);margin:0 0 .6rem}
.pp-apports dt::before{content:"";display:block;width:2.2rem;height:2px;background:var(--ocre);margin-bottom:1rem}
.pp-apports dd{margin:0;color:#3d3834;font-size:.98rem}
.pp-section--split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:0 clamp(2rem,6vw,6rem);align-items:start}
.pp-section--split .pp-section__head{position:sticky;top:calc(var(--header-h) + 2rem)}
.pp-steps{margin:0}
.pp-steps li:last-child{border-bottom:1px solid rgba(43,40,38,.14)}
.pp-steps strong{font-weight:600}
.pp-table-wrap{border:1px solid var(--sable);border-radius:var(--r-lg);overflow:hidden;background:var(--papier)}
.pp-table{width:100%;border-collapse:collapse;font-size:1rem}
.pp-table th,.pp-table td{text-align:left;padding:1rem 1.3rem;border-bottom:1px solid var(--sable);vertical-align:top}
.pp-table thead th{background:var(--charbon);color:var(--papier);font:600 .78rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;border-bottom:0}
.pp-table tbody th{font-weight:600}
.pp-table tbody tr:last-child>*{border-bottom:0}
.pp-table td+td{background:rgba(234,223,203,.35)}
.pp-table__sub{display:block;margin-top:.35rem;font-size:.85rem;color:var(--ocre-fonce)}
.pp-faq{padding-top:clamp(3.5rem,8vw,6.5rem);display:grid;grid-template-columns:1fr 1.7fr;gap:0 clamp(2rem,6vw,6rem);align-items:start}
.pp-faq>h2{grid-row:1/span 20;margin:0;position:sticky;top:calc(var(--header-h) + 2rem)}
.pp-faq>details{grid-column:2}
.pp-cta{margin-top:clamp(3.5rem,8vw,6.5rem);border-radius:var(--r-lg);background:var(--encre);color:var(--creme);padding:clamp(2.5rem,7vw,6rem) var(--g)!important;text-align:center;position:relative;overflow:hidden}
.pp-cta::before{content:"";position:absolute;inset:auto -10% -60% auto;width:70vw;height:70vw;max-width:800px;max-height:800px;background:radial-gradient(closest-side,rgba(200,137,43,.2),transparent);pointer-events:none}
.pp-cta>*{position:relative;max-width:44rem;margin-left:auto;margin-right:auto}
.pp-cta .display-2{color:var(--papier);margin-bottom:1.2rem}
.pp-cta .display-2 em{color:var(--ocre-clair)}
.pp-cta p{color:rgba(244,235,221,.86)}
.pp-cta__conditions{font-size:.9rem}
.pp-cta__conditions a{color:var(--ocre-clair)}
.pp-slogan{margin:2.2rem auto 0!important;padding-top:1.6rem;border-top:1px solid rgba(244,235,221,.18);font:italic 400 clamp(1.15rem,2vw,1.45rem)/1.35 var(--serif);color:var(--creme)!important}
@media (max-width:900px){
.pp-hero{grid-template-columns:1fr}
.pp-hero__text{margin-left:0}
.pp-hero__media{order:-1;aspect-ratio:4/3;max-width:none}
.pp-formules,.pp-note,.pp-section--split,.pp-faq{grid-template-columns:1fr}
.pp-section--split .pp-section__head,.pp-faq>h2{position:static}
.pp-faq>h2{grid-row:auto;margin-bottom:1.5rem}
.pp-faq>details{grid-column:1}
}
@media (max-width:640px){
.pp-actions .btn{width:100%}
.pp-table-wrap{border:0;background:none;border-radius:0;overflow:visible}
.pp-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.pp-table,.pp-table tbody,.pp-table tr,.pp-table th,.pp-table td{display:block;width:auto}
.pp-table tr{background:var(--papier);border:1px solid var(--sable);border-radius:var(--r);margin:0 0 .8rem;overflow:hidden}
.pp-table tbody th{width:auto;background:var(--charbon);color:var(--papier);padding:.8rem 1.1rem;border:0}
.pp-table td{padding:.75rem 1.1rem;background:none!important}
.pp-table td::before{content:attr(data-label);display:block;font:600 .72rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--olive);margin-bottom:.25rem}
.pp-table tbody tr:last-child>*{border-bottom:1px solid var(--sable)}
.pp-table tr>*:last-child{border-bottom:0!important}
}
@media print{.pp-hero,.pp-cta{background:none;color:#000}}
@media (min-width:641px){.pp-table{table-layout:fixed}.pp-table th:first-child{width:28%}}
.pp-hero .pp-actions .btn{flex:0 0 auto}

/* 2.7.1 — menu à 7 entrées (Marchés, Road trip) + lien annuaire des marchés sur l'accueil */
@media (min-width:901px) and (max-width:1240px){.site-header__inner{gap:1.2rem}.nav-desktop ul{gap:clamp(.8rem,1.3vw,1.3rem)}.nav-desktop a{font-size:.9rem}}
@media (max-width:1080px){.nav-desktop,.header-cta{display:none}.nav-mobile{display:block}}
.nav-desktop a{white-space:nowrap}
.nav-mobile__panel{max-height:calc(100dvh - var(--header-h));overflow-y:auto;overscroll-behavior:contain}
@media (max-height:760px){.nav-mobile__panel a{font-size:1.65rem;padding:.45rem 0}}
.rg-home-marches{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem 2rem;margin:clamp(1.8rem,3.5vw,2.6rem) 0 0;text-align:center}
@media (max-width:520px){.rg-home-marches .btn{width:100%;justify-content:center}}
/* 2.7.3 : fil d'Ariane Rank Math */
.breadcrumb .rank-math-breadcrumb p{margin:0;display:flex;flex-wrap:wrap;gap:.35rem}
.breadcrumb .separator{opacity:.5}
.breadcrumb .last{color:var(--gris)}
