/* =========================================================
   ÉcoDélys : feuille de style principale
   Reproduit l'apparence du thème Shopify « Be Yours » utilisé
   sur l'ancien site, sans dépendance externe.
   ========================================================= */

/* ---------- Polices libres (licence SIL OFL), hébergées localement ---------- */
@font-face{font-family:"DM Serif Display";font-style:italic;font-weight:400;font-display:swap;src:url(/polices/dm-serif-display-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"DM Serif Display";font-style:italic;font-weight:400;font-display:swap;src:url(/polices/dm-serif-display-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"DM Serif Display";font-style:normal;font-weight:400;font-display:swap;src:url(/polices/dm-serif-display-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"DM Serif Display";font-style:normal;font-weight:400;font-display:swap;src:url(/polices/dm-serif-display-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:Poppins;font-style:italic;font-weight:400;font-display:swap;src:url(/polices/poppins-400-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:italic;font-weight:400;font-display:swap;src:url(/polices/poppins-400-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/polices/poppins-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/polices/poppins-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/polices/poppins-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/polices/poppins-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/polices/poppins-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/polices/poppins-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Variables ---------- */
:root{
  --fond:#f3f0e4;          /* crème, fond général */
  --texte:#212326;
  --titre:#1a1b18;
  --blanc:#fff;
  --orange:#f89c3e;        /* bouton infolettre */
  --carte:rgba(232,221,204,.5);
  --champ:rgba(231,221,203,.34);
  --bordure:#bebebe;
  --police-titre:"DM Serif Display",Georgia,"Times New Roman",serif;
  --police-texte:Poppins,system-ui,-apple-system,"Segoe UI",sans-serif;
  --largeur:1280px;
  --marge:40px;
  --rayon:16px;
  --hauteur-entete:104px;
}
@media (max-width:749px){:root{--marge:16px;--hauteur-entete:72px}}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--fond);color:var(--texte);font-family:var(--police-texte);font-size:14px;line-height:1.6;letter-spacing:.03em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--police-titre);font-weight:400;color:var(--titre);letter-spacing:.015em;line-height:1.2;margin:0}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
.visuellement-cache{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.lien-evitement{position:absolute;left:-9999px;top:8px;z-index:100;background:#000;color:#fff;padding:8px 16px;border-radius:8px}
.lien-evitement:focus{left:8px}
:focus-visible{outline:2px solid #87adf5;outline-offset:3px}
.conteneur{max-width:var(--largeur);margin:0 auto;padding:0 var(--marge)}
.section{padding:80px 0}
@media (max-width:749px){.section{padding:48px 0}}

/* ---------- Boutons ---------- */
.bouton{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:500 16px/20px var(--police-texte);letter-spacing:normal;text-decoration:none;cursor:pointer;border:1px solid var(--blanc);background:var(--blanc);color:#000;border-radius:18px;padding:10px 24px 9px;transition:transform .2s,box-shadow .2s}
.bouton:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.12)}
.bouton--contour{background:transparent;border:1px solid currentColor;border-radius:12px;min-height:42px;padding:9px 20px;font-weight:400}
.bouton--contour:hover{background:#000;color:#fff;border-color:#000}
.bouton--ombre{box-shadow:rgba(0,0,0,.35) 0 5px 15px;border-radius:18px;padding:16px 20px}

/* ---------- En-tête ---------- */
.entete{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid transparent;transition:box-shadow .2s}
.entete.defile{box-shadow:0 2px 12px rgba(0,0,0,.08)}
.entete__interieur{max-width:var(--largeur);margin:0 auto;padding:0 var(--marge);height:var(--hauteur-entete);display:grid;grid-template-columns:1fr auto auto auto 1fr;align-items:center;gap:8px}
.entete__logo{grid-column:3;display:block;padding:0 16px}
.entete__logo img{height:60px;width:auto}
.menu{display:flex;align-items:center;list-style:none;margin:0;padding:0}
.menu--gauche{grid-column:2;justify-content:flex-end}
.menu--droite{grid-column:4}
.menu a,.menu summary{display:flex;align-items:center;gap:4px;padding:8px 12px;font-size:15px;color:#000;text-decoration:none;letter-spacing:.02em;white-space:nowrap;cursor:pointer;position:relative}
.menu>li>a::after,.menu summary::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.menu>li>a:hover::after,.menu>li>a[aria-current=page]::after,.menu details:hover summary::after,.menu details[open] summary::after,.menu summary.actif::after{transform:scaleX(1)}
.menu summary{list-style:none}
.menu summary::-webkit-details-marker{display:none}
.chevron{width:10px;height:10px;transition:transform .2s}
details[open]>summary .chevron{transform:rotate(180deg)}
.sous-menu{position:relative}
.sous-menu ul{position:absolute;top:100%;left:0;min-width:200px;list-style:none;margin:0;padding:12px 0;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.1);border-radius:12px}
.sous-menu ul a{padding:8px 20px}
.sous-menu ul a:hover{text-decoration:underline}
.langue{grid-column:1;justify-self:start;position:relative}
.langue summary{display:flex;align-items:center;gap:6px;font-size:14px;cursor:pointer;list-style:none;padding:6px 0}
.langue summary::-webkit-details-marker{display:none}
.langue ul{position:absolute;top:100%;left:0;list-style:none;margin:4px 0 0;padding:8px 0;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.1);border-radius:10px;min-width:130px;z-index:5}
.langue ul a{display:block;padding:6px 16px;text-decoration:none;font-size:14px}
.langue ul a:hover,.langue ul a[aria-current=true]{text-decoration:underline}
.bouton-menu{display:none;grid-column:1;justify-self:start;background:none;border:0;padding:8px;margin-left:-8px;cursor:pointer;color:#000}
.bouton-menu svg{display:block}
.bouton-menu .icone-fermer,.bouton-menu[aria-expanded=true] .icone-ouvrir{display:none}
.bouton-menu[aria-expanded=true] .icone-fermer{display:block}
.entete__interieur>*{grid-row:1}
.tiroir{display:none}

@media (max-width:1099px){
  .entete__interieur{grid-template-columns:1fr auto 1fr}
  .entete__logo{grid-column:2;padding:0}
  .entete__logo img{height:44px}
  .menu--gauche,.menu--droite{display:none}
  .bouton-menu{display:block}
  .langue{grid-column:3;justify-self:end}
  .langue ul{left:auto;right:0}
  .tiroir{display:block;position:fixed;inset:var(--hauteur-entete) 0 0 0;background:#fff;transform:translateX(-100%);transition:transform .3s ease;overflow-y:auto;z-index:49;padding:16px var(--marge) 40px;visibility:hidden}
  .tiroir.ouvert{transform:none;visibility:visible}
  .tiroir ul{list-style:none;margin:0;padding:0}
  .tiroir>ul>li{border-bottom:1px solid #eee}
  .tiroir a{display:block;padding:16px 0;font-size:18px;text-decoration:none;color:#000}
  .tiroir ul ul a{padding:10px 0 10px 20px;font-size:16px}
}
@media (prefers-reduced-motion:reduce){.tiroir{transition:none}}

/* ---------- Bannière d'accueil ---------- */
.heros{position:relative;min-height:max(520px,calc(100svh - var(--hauteur-entete)));display:flex;align-items:center;color:#fff;overflow:hidden;background:#6b4a2b}
.heros>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%}
.heros__texte{position:relative;max-width:var(--largeur);width:100%;margin:0 auto;padding:0 var(--marge)}
.heros__texte>div{max-width:600px}
.heros h1{color:#fff;font-size:clamp(40px,5vw,58px);letter-spacing:-.02em;line-height:1.02;max-width:420px;margin-bottom:24px}
.heros p{font-size:16px;font-weight:500;line-height:1.5;margin-bottom:32px;max-width:580px}
@media (max-width:749px){
  .heros{align-items:flex-end;padding-bottom:48px}
  .heros::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55),transparent 65%);z-index:1}
  .heros__texte{z-index:2}
}

/* ---------- Saveurs (pots) ---------- */
.saveurs{text-align:center;padding:48px 0 24px}
.saveurs h2{font-size:clamp(24px,3vw,36px);line-height:1.4}
.saveurs h2 span{display:block}
.saveurs__visuel{position:relative;max-width:1200px;margin:40px auto 0}
.saveurs__visuel h3{font-size:clamp(18px,2vw,24px);margin:0 0 8px 50%;text-align:center}
@media (max-width:749px){.saveurs__visuel h3{margin-left:0}}

/* ---------- Bandeau défilant ---------- */
.defilant{overflow:hidden;padding:64px 0;background:var(--fond)}
.defilant__piste{display:flex;width:max-content;animation:defiler 30s linear infinite}
.defilant__piste span{display:flex;align-items:center;gap:31px;padding-right:62px;font:italic 400 38px/1 var(--police-titre);color:var(--texte);white-space:nowrap}
.defilant__piste svg{width:26px;height:26px;flex:none}
@keyframes defiler{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.defilant__piste{animation:none}}
@media (max-width:749px){.defilant{padding:40px 0}.defilant__piste span{font-size:28px}}

/* ---------- Image + texte ---------- */
.moitie{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.moitie__image{position:relative;min-height:420px}
.moitie__image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.moitie__texte{display:flex;flex-direction:column;justify-content:center;padding:80px 56px;color:#fff;background:#000 url(/images/motif-brun.webp) center/cover}
.moitie__texte h2{color:#fff;font-size:clamp(34px,3.8vw,48px);max-width:400px;position:relative}
.moitie__texte h2 img{display:inline-block;width:64px;vertical-align:-4px;margin-left:12px}
.moitie--pleine{min-height:900px}
@media (max-width:1099px){.moitie--pleine{min-height:0}}
@media (max-width:749px){.moitie{grid-template-columns:1fr}.moitie__image{min-height:320px}.moitie__texte{padding:48px var(--marge)}}

.liste-crochets{list-style:none;padding:0;margin:20px 0 0;font-size:15px;line-height:1.5}
.liste-crochets li{position:relative;padding-left:28px;margin-bottom:4px}
.liste-crochets li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;background:url(/images/icone-crochet.png) no-repeat center/contain;filter:brightness(0) invert(1)}
.moitie__texte .bouton{align-self:flex-start;margin-top:44px}
.partenaires{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:40px;max-width:520px}
.partenaires a{display:block;flex:1;max-width:108px}
.partenaires img{max-height:62px;width:auto;margin:0 auto;object-fit:contain}

/* Image + texte (carte arrondie, fond crème) */
.image-texte{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.image-texte--inverse .image-texte__media{order:-1}
.image-texte__media img{width:100%;border-radius:var(--rayon);object-fit:cover}
.image-texte h2{font-size:clamp(28px,3vw,48px);margin-bottom:16px}
.image-texte h2.petit{font-size:clamp(26px,2.6vw,34px)}
.image-texte h2 img{display:inline-block;width:72px;vertical-align:middle;margin-left:16px}
.image-texte__texte{font-size:15px;line-height:1.55}
.image-texte__texte.compact{font-size:13px}
.image-texte__texte a{text-underline-offset:3px}
.image-texte .bouton{margin-top:32px}
@media (max-width:749px){.image-texte{grid-template-columns:1fr;gap:32px}.image-texte__media{order:-1}}

/* ---------- Piliers ---------- */
.piliers{background:#e9e1cc url(/images/texture-papier.webp) center/cover;text-align:center;padding:80px 0}
.piliers h2{font-size:clamp(26px,2.6vw,34px);margin-bottom:24px}
.piliers ul{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1080px}
.piliers img{width:81px;height:81px;margin:0 auto 16px}
.piliers h3{font:500 20px/1.3 var(--police-texte);letter-spacing:-.01em;color:#000;margin-bottom:4px}
.piliers p{font-size:12.8px;line-height:1.5;max-width:346px;margin:0 auto}
.piliers .bouton{margin-top:60px;min-width:172px;min-height:48px;color:#000}
@media (max-width:749px){.piliers ul{grid-template-columns:1fr;gap:40px}}

/* ---------- Cartes de nouvelles ---------- */
.titre-section{text-align:center;font-size:clamp(34px,3.8vw,48px);margin-bottom:32px}
.cartes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px 24px;align-items:start}
.carte{display:flex;flex-direction:column}
.carte__image{display:block;border-radius:4px;overflow:hidden;background:#e8e1cf}
.carte__image img{width:100%;transition:transform .5s ease}
.carte__image:hover img{transform:scale(1.03)}
.carte h3{font:400 20px/1.2 var(--police-texte);letter-spacing:normal;color:var(--titre);margin:16px 0 6px}
.carte h3 a{text-decoration:none}
.carte h3 a:hover{text-decoration:underline}
.carte time{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#555}
.carte .bouton{margin-top:20px;align-self:flex-start;width:134px;font-size:16px}
.cartes--accueil .carte{align-items:flex-start}
.cartes--accueil .carte .bouton{align-self:center}
.voir-tout{text-align:center;margin-top:48px}
.voir-tout .bouton{min-width:170px}
@media (max-width:989px){.cartes{grid-template-columns:repeat(2,1fr)}}
@media (max-width:599px){.cartes{grid-template-columns:1fr}}

/* ---------- Infolettre ---------- */
.infolettre{padding:32px 0 40px}
.infolettre__boite{border-radius:var(--rayon);background:#000 url(/images/motif-vert.webp) center/cover;color:#fff;text-align:center;padding:64px 72px 72px}
.infolettre h2{color:#fff;font-size:clamp(30px,3.8vw,48px);max-width:780px;margin:0 auto}
.infolettre p{font-size:16px;line-height:2;max-width:760px;margin:24px auto 40px}
@media (max-width:749px){.infolettre__boite{padding:48px 20px}.infolettre p{line-height:1.6}}

.form-infolettre{display:flex;max-width:400px;margin:0 auto;position:relative}
.form-infolettre input[type=email]{flex:1;min-width:0;height:42px;border:1px solid #000;border-radius:23px;padding:0 140px 0 20px;background:#fff;font:400 13px var(--police-texte);color:#000}
.form-infolettre input::placeholder{color:#000;opacity:.8}
.form-infolettre button{position:absolute;right:-30px;top:0;height:42px;width:128px;border:0;border-radius:23px;background:var(--orange);color:#000;font:600 14px var(--police-texte);cursor:pointer}
.form-infolettre button:hover{filter:brightness(1.05)}
@media (max-width:499px){.form-infolettre button{right:0}}
.form-message{margin:16px auto 0;max-width:420px;font-size:14px;border-radius:10px;padding:10px 16px}
.form-message:empty{display:none}
.form-message.succes{background:rgba(144,238,144,.35)}
.form-message.erreur{background:rgba(255,120,100,.3)}
.infolettre .form-message{color:#fff}
.piege{position:absolute!important;left:-5000px}

/* ---------- Bannière des pages intérieures ---------- */
.banniere{position:relative;height:300px;display:grid;place-items:center;overflow:hidden;background:#b9a78d}
.banniere img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banniere h1{position:relative;color:#fff;font-size:clamp(36px,4.5vw,58px);text-shadow:0 2px 12px rgba(0,0,0,.25);text-align:center;padding:0 var(--marge)}
@media (max-width:749px){.banniere{height:200px}}

/* ---------- À propos : bande moutarde ---------- */
.vision{background:#b48c3c url(/images/motif-moutarde.webp) center/cover;color:#fff;padding:96px 0}
.vision .image-texte{gap:48px}
.vision h2{color:#fff;font-size:clamp(32px,3.6vw,48px);max-width:400px}
.vision ul{margin:24px 0 0;padding-left:18px;font-size:14px;line-height:1.55}
.vision li{margin-bottom:4px}
.vision__carte{background:#fff;border-radius:var(--rayon);aspect-ratio:1.3;display:grid;place-items:center;padding:40px}
.vision__carte img{max-width:78%}

/* ---------- Détaillants ---------- */
.detaillants h2{text-align:center;font-size:clamp(26px,2.6vw,34px);margin-bottom:40px}
.detaillant{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--carte);border:1px solid rgba(0,0,0,.06);border-radius:var(--rayon);padding:18px 30px;margin-bottom:20px}
.detaillant h3{font:600 20px var(--police-texte);letter-spacing:.02em;margin-bottom:8px}
.detaillant p{display:flex;align-items:center;gap:8px;font-size:13px;margin:0}
.detaillant a{display:flex;flex-direction:column;align-items:flex-end;gap:10px;font-size:13px;text-underline-offset:3px;flex:none}
.detaillant svg{flex:none}

/* ---------- Achetez en ligne ---------- */
.acheter{text-align:center;padding:48px 0 64px}
.acheter>div>h2{font-size:clamp(24px,3vw,36px);line-height:1.4;margin-bottom:56px}
.acheter h2 span{display:block}
.acheter__rangee{display:grid;grid-template-columns:260px 1fr 260px;gap:24px;align-items:center}
.acheter__rangee h3{font-size:36px;text-align:left;margin-bottom:24px}
.acheter__marchand img{background:#fff;width:100%;padding:0}
.acheter__marchand a{display:block;transition:transform .2s}
.acheter__marchand a:hover{transform:translateY(-2px)}
@media (max-width:899px){.acheter__rangee{grid-template-columns:1fr;max-width:420px;margin:0 auto}.acheter__rangee h3{text-align:center}.acheter__pots{order:-1}}

/* ---------- Contact ---------- */
.coordonnees{max-width:1040px;margin:0 auto;padding:64px var(--marge) 32px}
.coordonnees h2{font:400 20px var(--police-texte);margin-bottom:24px;letter-spacing:.02em}
.coordonnees__grille{display:grid;grid-template-columns:1fr auto;gap:8px 40px;font-size:14px}
.coordonnees__grille p{margin:0 0 16px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.coordonnees__grille a{text-underline-offset:3px}
.coordonnees__grille img{width:24px;height:22px;margin-left:10px}
@media (max-width:749px){.coordonnees__grille{grid-template-columns:1fr}}

.form-contact{max-width:1040px;margin:0 auto;padding:32px var(--marge) 80px}
.form-contact__grille{display:grid;grid-template-columns:1fr 1fr;gap:24px 16px}
.form-contact label{display:block;font-size:15px;margin:0 0 10px 14px}
.form-contact input,.form-contact textarea{width:100%;border:1px solid var(--bordure);border-radius:23px;background:var(--champ);padding:14px 22px;font:400 14px var(--police-texte);color:#000}
.form-contact textarea{height:153px;resize:vertical}
.form-contact .plein{grid-column:1/-1}
.form-contact .bouton{display:flex;margin:32px auto 0;min-width:180px;border-color:transparent}
.form-contact .form-message{text-align:center}
@media (max-width:599px){.form-contact__grille{grid-template-columns:1fr}}

/* ---------- Pages texte (politiques) ---------- */
.texte-long{max-width:1040px;margin:0 auto;padding:64px var(--marge) 80px;font-size:13px;line-height:1.9}
.texte-long h1{font-size:clamp(32px,3.8vw,48px);margin-bottom:40px}
.texte-long h2{font-family:var(--police-texte);font-size:18px;font-weight:600;margin:32px 0 12px;letter-spacing:.01em}
.texte-long h3{font-family:var(--police-texte);font-size:15px;font-weight:600;margin:24px 0 8px}
.texte-long a{word-break:break-word}
.texte-long ul{padding-left:20px}

/* ---------- Article ---------- */
.article{padding:48px 0 32px}
.article__image{max-width:760px;margin:0 auto 40px;padding:0 var(--marge)}
.article__image img{width:100%;border-radius:4px}
.article header{text-align:center;max-width:900px;margin:0 auto;padding:0 var(--marge)}
.article h1{font-size:clamp(32px,4.2vw,48px);margin-bottom:16px}
.article__meta{font-size:13px;color:#555}
.article__meta span+span::before{content:"•";margin:0 10px}
.article__contenu{max-width:900px;margin:40px auto 0;padding:0 var(--marge);font-size:15px;line-height:1.8}
.article__contenu img{margin:0 auto 16px;border-radius:4px}
.article__contenu iframe{width:100%;max-width:640px;aspect-ratio:4/3;height:auto;border:0;display:block;margin:0 auto}
.article__contenu h1{font-size:28px;margin-bottom:16px}
.article__lien{text-align:center;margin-top:40px}
.article__retour{text-align:center;margin-top:24px}
.article__retour a{font-size:14px;text-underline-offset:3px}
.galerie{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.galerie img{width:100%;height:100%;object-fit:cover;aspect-ratio:1;margin:0}

/* ---------- Pied de page ---------- */
.pied{background:#ece5d6 url(/images/texture-pied-de-page.webp) center/cover;color:#000;font-size:14px;border-top:1px solid rgba(0,0,0,.08)}
.pied__grille{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;padding-top:56px;padding-bottom:48px}
.pied__logo{width:232px;margin-bottom:24px}
.pied__marque p{margin:0 0 6px}
.pied h2{font:600 16px var(--police-texte);letter-spacing:.02em;margin:0 0 20px;color:#000}
.pied ul{list-style:none;margin:0;padding:0}
.pied li{margin-bottom:8px}
.pied ul a{text-decoration:none;color:var(--texte)}
.pied ul a:hover{text-decoration:underline}
.pied .form-infolettre{max-width:none;margin:0 0 12px}
.pied .form-infolettre input[type=email]{border-color:#aaa;background:transparent;padding-right:52px}
.pied .form-infolettre button{right:6px;top:4px;width:34px;height:34px;background:transparent url(/images/icone-courriel.png) no-repeat center/20px;font-size:0}
.pied .form-message{margin:8px 0}
.pied__bas{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:28px;font-size:11.5px}
.pied__bas .langue{position:relative}
.pied__bas .langue ul{top:auto;bottom:100%;left:auto;right:0}
@media (max-width:989px){.pied__grille{grid-template-columns:1fr 1fr}}
@media (max-width:599px){.pied__grille{grid-template-columns:1fr;gap:32px}.pied__logo{width:180px}}

/* ---------- 404 ---------- */
.introuvable{text-align:center;padding:120px var(--marge)}
.introuvable h1{font-size:clamp(40px,6vw,72px);margin-bottom:16px}
.introuvable p{font-size:16px;margin-bottom:32px}
.introuvable .bouton{border-color:#000}
