
:root{
  --vert:#2f7d32; --vert-fonce:#1b4d1f; --vert-nuit:#123516; --vert-pale:#eef6ec;
  --jaune:#f9c513; --jaune-fonce:#e0ac00; --jaune-pale:#fff8dc;
  --blanc:#fff; --texte:#3d4a3e; --titre:#16301a; --gris:#7a857b; --ligne:#e4ebe3;
  --wa:#25d366; --wa-fonce:#128c4b; --r:10px; --ombre:0 15px 40px rgba(18,53,22,.10);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden}
body{overflow-x:hidden}
body{font-family:Mulish,system-ui,sans-serif;color:var(--texte);background:#fff;line-height:1.7;font-size:16px}
h1,h2,h3,h4{font-family:Barlow,sans-serif;color:var(--titre);line-height:1.15;font-weight:800}
a{color:inherit;text-decoration:none}
.wrap{width:min(1200px,92%);margin-inline:auto}
section{padding:100px 0;position:relative}
.script{font-family:Yellowtail,cursive;color:var(--jaune-fonce);font-size:1.75rem;line-height:1;display:block}
.entete{text-align:center;max-width:680px;margin:0 auto 55px}
.entete h2{font-size:clamp(2rem,4vw,2.9rem);margin:.25em 0 .35em}
.entete p{color:var(--gris)}
.feuille{display:flex;justify-content:center;gap:6px;margin-top:14px}
.feuille svg{width:46px}
.btn{display:inline-flex;align-items:center;gap:.6em;padding:15px 30px;border-radius:50px;font-family:Barlow,sans-serif;font-weight:700;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;border:0;cursor:pointer;transition:.25s}
.btn-jaune{background:var(--jaune);color:var(--titre)}
.btn-jaune:hover{background:#fff;color:var(--vert-fonce)}
.btn-vert{background:var(--vert);color:#fff}
.btn-vert:hover{background:var(--jaune);color:var(--titre)}
.btn-blanc{background:transparent;color:#fff;border:2px solid #fff}
.btn-blanc:hover{background:#fff;color:var(--vert-fonce)}
.btn-wa{background:var(--wa);color:#fff}
.btn-wa:hover{background:var(--wa-fonce)}
.ico{width:1.15em;height:1.15em;flex:none}

/* Top bar */
.topbar{background:var(--vert-fonce);color:rgba(255,255,255,.85);font-size:.85rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:44px;gap:20px;flex-wrap:wrap}
.topbar .infos{display:flex;gap:26px;flex-wrap:wrap}
.topbar span{display:inline-flex;align-items:center;gap:7px}
.topbar svg{width:15px;height:15px;color:var(--jaune)}
.topbar .horaire b{color:var(--jaune)}

/* Header */
header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 2px 20px rgba(0,0,0,.06)}
.nav{display:flex;align-items:center;justify-content:space-between;height:88px}
.logo{display:flex;align-items:center;gap:12px}
.logo-mark{width:50px;height:50px;border-radius:50%;background:var(--vert);display:grid;place-items:center;box-shadow:0 0 0 4px var(--jaune-pale)}
.logo b{font-family:Barlow,sans-serif;font-size:1.65rem;font-weight:800;color:var(--vert-fonce);letter-spacing:-.02em;display:block;line-height:1}
.logo small{font-size:.68rem;letter-spacing:.14em;white-space:nowrap;text-transform:uppercase;color:var(--gris)}
.menu{display:flex;gap:26px;white-space:nowrap;font-family:Barlow,sans-serif;font-weight:700;font-size:1rem;text-transform:uppercase;letter-spacing:.04em}
.menu a{position:relative;color:var(--titre);padding:6px 0}
.menu a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:3px;background:var(--jaune);border-radius:3px;transition:.25s}
.menu a:hover{color:var(--vert)}
.menu a:hover::after{width:100%}
.nav-cta{display:flex;gap:14px;align-items:center;white-space:nowrap}
.panier-btn{position:relative;width:50px;height:50px;border-radius:50%;background:var(--vert-pale);display:grid;place-items:center;border:0;cursor:pointer;color:var(--vert)}
.panier-btn:hover{background:var(--jaune)}
.badge{position:absolute;top:-3px;right:-3px;background:var(--jaune);color:var(--titre);border:2px solid #fff;border-radius:50%;min-width:24px;height:24px;font-size:.75rem;font-weight:800;display:grid;place-items:center}
.burger{display:none;background:none;border:0;cursor:pointer}

/* Hero slider */
.hero{position:relative;height:clamp(560px,82vh,760px);overflow:hidden;background:var(--vert-nuit)}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;display:flex;align-items:center}
.slide.active{opacity:1;z-index:1}
.slide .decor{position:absolute;inset:0}
.slide .decor img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 7s ease}
.slide.active .decor img{transform:scale(1)}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,53,22,.92) 0%,rgba(18,53,22,.65) 45%,rgba(18,53,22,0) 75%)}
.slide .contenu{position:relative;z-index:2;color:#fff;max-width:640px}
.slide .script{font-size:2.3rem;color:var(--jaune)}
.slide h1{color:#fff;font-size:clamp(2.6rem,6vw,4.8rem);text-transform:uppercase;margin:.15em 0 .3em;letter-spacing:-.01em}
.slide h1 span{color:var(--jaune)}
.slide p{font-size:1.12rem;opacity:.9;max-width:520px;margin-bottom:34px}
.slide .actions{display:flex;gap:14px;flex-wrap:wrap}
.slide.active .contenu>*{animation:monte .9s both}
.slide.active .contenu>*:nth-child(2){animation-delay:.15s}
.slide.active .contenu>*:nth-child(3){animation-delay:.3s}
.slide.active .contenu>*:nth-child(4){animation-delay:.45s}
@keyframes monte{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.points{position:absolute;bottom:90px;left:50%;transform:translateX(-50%);z-index:5;display:flex;gap:10px}
.points button{width:14px;height:14px;border-radius:50%;border:2px solid #fff;background:transparent;cursor:pointer;transition:.3s}
.points button.on{background:var(--jaune);border-color:var(--jaune);width:36px;border-radius:10px}
.fleche{position:absolute;top:50%;z-index:5;width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.12);border:0;color:#fff;cursor:pointer;display:grid;place-items:center;transform:translateY(-50%);transition:.25s}
.fleche:hover{background:var(--jaune);color:var(--titre)}
.fleche.g{left:24px}.fleche.d{right:24px}
.hero-bas{position:absolute;bottom:-1px;left:0;width:100%;z-index:4}

/* Features (cartes sous le hero) */
.atouts{position:relative;z-index:6;margin-top:-70px}
.atouts .grille{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:var(--r);box-shadow:var(--ombre);overflow:hidden}
.atout{padding:34px 28px;display:flex;gap:16px;align-items:flex-start;border-right:1px solid var(--ligne);transition:.3s}
.atout:last-child{border-right:0}
.atout:hover{background:var(--vert);color:#fff}
.atout:hover h4{color:#fff}
.atout:hover .rond{background:var(--jaune)}
.atout .rond{flex:none;width:58px;height:58px;border-radius:50%;background:var(--vert-pale);display:grid;place-items:center;transition:.3s}
.atout h4{font-size:1.18rem;margin-bottom:4px}
.atout p{font-size:.88rem;opacity:.8;line-height:1.5}

/* À propos */
.apropos{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.apropos-vis{position:relative;aspect-ratio:1/1}
.cercle-grand{position:absolute;inset:0 12% 12% 0;border-radius:50%;overflow:hidden;border:10px solid #fff;box-shadow:var(--ombre)}
.cercle-petit{position:absolute;width:46%;aspect-ratio:1;right:0;bottom:0;border-radius:50%;overflow:hidden;border:8px solid #fff;box-shadow:var(--ombre)}
.cercle-grand img,.cercle-petit img{width:100%;height:100%;object-fit:cover}
.pastille{position:absolute;top:8%;right:4%;width:130px;height:130px;border-radius:50%;background:var(--jaune);display:grid;place-items:center;text-align:center;font-family:Barlow,sans-serif;color:var(--titre);box-shadow:0 0 0 10px rgba(249,197,19,.25)}
.pastille b{font-size:2.6rem;line-height:1;display:block}
.pastille small{font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}
.apropos h2{font-size:clamp(2rem,4vw,2.8rem);margin:.25em 0 .5em}
.apropos .lead{font-size:1.1rem;color:var(--vert);font-weight:600;margin-bottom:14px}
.liste-check{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0 34px}
.liste-check li{display:flex;gap:10px;align-items:center;font-weight:700;color:var(--titre)}
.liste-check li::before{content:"";width:24px;height:24px;flex:none;border-radius:50%;background:var(--jaune) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316301a' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/14px no-repeat}
.signature{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.signature .script{font-size:2.1rem;color:var(--vert)}

/* Activités */
.bg-pale{background:var(--vert-pale)}
.motif{position:absolute;opacity:.08;pointer-events:none}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.service{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 5px 25px rgba(18,53,22,.06);transition:.35s;display:flex;flex-direction:column}
.service:hover{transform:translateY(-10px);box-shadow:var(--ombre)}
.service .img{height:220px;position:relative}
.service .img>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;clip-path:inset(0);transition:transform .6s}
.service .img svg{width:100%;height:100%;transition:transform .6s}
.service:hover .img>img{transform:scale(1.05)}
.service .icone{position:absolute;bottom:-34px;left:30px;width:72px;height:72px;border-radius:50%;background:var(--jaune);display:grid;place-items:center;border:6px solid #fff;z-index:2;transition:.3s}
.service:hover .icone{background:var(--vert)}
.service:hover .icone svg{stroke:#fff}
.service .txt{padding:50px 30px 30px;flex:1;display:flex;flex-direction:column}
.service h3{font-size:1.45rem;margin-bottom:8px}
.service p{color:var(--gris);font-size:.95rem;flex:1}
.service .plus{margin-top:18px;font-family:Barlow,sans-serif;font-weight:700;text-transform:uppercase;font-size:.88rem;letter-spacing:.06em;color:var(--vert);display:inline-flex;gap:8px;align-items:center}
.service .plus:hover{color:var(--jaune-fonce)}
.service.vedette{background:var(--vert)}
.service.vedette h3{color:#fff}
.service.vedette p{color:rgba(255,255,255,.85)}
.service.vedette .plus{color:var(--jaune)}
.service.vedette .icone{border-color:var(--vert)}

/* Compteurs */
.compteurs{background:var(--vert-fonce);color:#fff;padding:80px 0;overflow:hidden}
.compteurs .grille{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;position:relative;z-index:2}
.compteur{text-align:center}
.compteur .rond{width:86px;height:86px;margin:0 auto 18px;border-radius:50%;border:2px dashed rgba(249,197,19,.6);display:grid;place-items:center}
.compteur b{font-family:Barlow,sans-serif;font-size:3rem;font-weight:800;color:var(--jaune);display:block;line-height:1}
.compteur span{font-weight:600;opacity:.85;text-transform:uppercase;font-size:.85rem;letter-spacing:.08em}

/* Produits */
.produits{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.produits.cinq{grid-template-columns:repeat(5,1fr);gap:20px}
.sous-titre{font-size:1.5rem;margin-bottom:24px;display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:2px solid var(--ligne)}
.sous-titre span{width:44px;height:44px;border-radius:50%;background:var(--jaune);display:grid;place-items:center;font-size:1.3rem}
.produit{border:1px solid var(--ligne);border-radius:var(--r);text-align:center;padding:30px 22px;transition:.3s;background:#fff;position:relative}
.produit:hover{border-color:var(--jaune);box-shadow:var(--ombre)}
.produit .em{width:130px;height:130px;margin:0 auto 18px;border-radius:50%;overflow:hidden;border:5px solid var(--vert-pale);transition:.3s}
.produit .em img{width:100%;height:100%;object-fit:cover}
.produit:hover .em{border-color:var(--jaune);transform:scale(1.05)}
.produit h3{font-size:1.25rem}
.produit p{font-size:.88rem;color:var(--gris);margin:.4em 0 1.1em}
.lien-wa{display:inline-flex;align-items:center;gap:7px;font-family:Barlow,sans-serif;font-weight:700;text-transform:uppercase;font-size:.82rem;letter-spacing:.05em;color:var(--wa-fonce);border:2px solid var(--wa);padding:8px 16px;border-radius:30px;transition:.2s}
.lien-wa:hover{background:var(--wa);color:#fff}
.type-prod{position:absolute;top:14px;left:14px;font-family:Barlow;font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;padding:4px 10px;border-radius:20px}
.type-prod.achat{background:var(--jaune);color:var(--titre)}
.type-prod.vente{background:var(--vert);color:#fff}

/* Restaurant */
.resto{background:#fbfcf9}
.filtres{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:44px}
.filtre{border:0;background:#fff;padding:11px 24px;border-radius:30px;font-family:Barlow,sans-serif;font-weight:700;text-transform:uppercase;font-size:.88rem;letter-spacing:.05em;cursor:pointer;color:var(--titre);box-shadow:0 3px 12px rgba(0,0,0,.05);transition:.2s}
.filtre:hover{color:var(--vert)}
.filtre.actif{background:var(--vert);color:#fff}
.plats{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.plat{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 5px 25px rgba(18,53,22,.06);transition:.3s;display:flex;flex-direction:column}
.plat:hover{box-shadow:var(--ombre);transform:translateY(-6px)}
.plat .vis{height:220px;position:relative;background:var(--vert-pale)}
.plat .vis .photo{position:absolute;inset:0;overflow:hidden}
.plat .vis .photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.plat:hover .vis .photo img{transform:scale(1.08)}

.plat .cat{z-index:2;position:absolute;top:16px;left:16px;background:#fff;font-family:Barlow,sans-serif;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:5px 12px;border-radius:20px;color:var(--vert)}
.plat .pop{z-index:2;position:absolute;top:16px;right:16px;background:var(--jaune);color:var(--titre);font-family:Barlow,sans-serif;font-size:.75rem;font-weight:800;text-transform:uppercase;padding:5px 12px;border-radius:20px}
.plat .prix-rond{z-index:2;position:absolute;bottom:-26px;right:22px;width:78px;height:78px;border-radius:50%;background:var(--vert);color:#fff;display:grid;place-items:center;text-align:center;font-family:Barlow,sans-serif;font-weight:800;font-size:1.05rem;line-height:1;border:5px solid #fff}
.plat .prix-rond small{display:block;font-size:.62rem;font-weight:600;opacity:.85;margin-top:2px}
.plat .txt{padding:30px 24px 24px;display:flex;flex-direction:column;flex:1}
.plat h3{font-size:1.35rem;padding-right:70px}
.plat p{color:var(--gris);font-size:.92rem;margin:.4em 0 1.2em;flex:1}
.plat .acts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.plat .acts .btn{padding:12px 10px;font-size:.8rem;justify-content:center}
.ajout{background:var(--jaune-pale);color:var(--titre)}
.ajout:hover{background:var(--jaune)}
.ajout.ok{background:var(--jaune)}
.resto-cta{text-align:center;margin-top:50px}


/* Carte du restaurant */
.resto-tete{display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center;max-width:900px;margin:0 auto 44px}
.logo-resto{width:170px;height:170px;border-radius:50%;background:#000;display:grid;place-items:center;box-shadow:0 0 0 8px var(--jaune),var(--ombre)}
.logo-resto img{width:78%}
.resto-tete h2{font-size:clamp(2rem,4vw,2.8rem);margin:.15em 0 .3em}
.resto-tete p{color:var(--gris)}
.outils{position:sticky;top:88px;z-index:20;background:#fbfcf9;padding:14px 0;margin-bottom:24px;display:grid;gap:12px}
.outils .filtres{justify-content:flex-start;margin:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:2px}
.outils .filtres::-webkit-scrollbar{display:none}
.filtre{white-space:nowrap;display:inline-flex;gap:8px;align-items:center}
.filtre span{font-size:1.1rem}
.cherche{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--ligne);border-radius:30px;padding:0 18px;color:var(--gris);max-width:420px}
.cherche input{border:0;background:none;padding:12px 0;outline:none}
.cherche:focus-within{border-color:var(--jaune);box-shadow:0 0 0 3px rgba(249,197,19,.25)}
.cat-bloc{background:#fff;border-radius:16px;padding:28px;margin-bottom:28px;box-shadow:0 5px 25px rgba(18,53,22,.06)}
.cat-tete{display:flex;align-items:center;gap:18px;margin-bottom:18px;padding-bottom:16px;border-bottom:2px dashed var(--ligne)}
.cat-img{width:76px;height:76px;border-radius:50%;overflow:hidden;flex:none;border:4px solid var(--jaune)}
.cat-img img{width:100%;height:100%;object-fit:cover}
.cat-tete h3{font-size:1.6rem}
.cat-tete p{color:var(--gris);font-size:.9rem}
.items{display:grid;grid-template-columns:1fr 1fr;gap:6px 34px}
.item{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid #f0f3ef;align-items:flex-start}
.item-img{width:62px;height:62px;border-radius:50%;overflow:hidden;flex:none;background:var(--vert-pale)}
.item-img img{width:100%;height:100%;object-fit:cover}
.item-txt{flex:1;min-width:0}
.item-haut{display:flex;align-items:baseline;gap:8px}
.item-haut h4{font-size:1.08rem;font-weight:700}
.item-haut .pop{color:var(--jaune-fonce)}
.pointille{flex:1;border-bottom:2px dotted #cfd8cd;transform:translateY(-4px);min-width:16px}
.item-haut .prix{font-family:Barlow;font-weight:800;color:var(--vert);white-space:nowrap;font-size:1.05rem}
.item-haut .prix small{font-weight:600;color:var(--gris);font-size:.72rem}
.item p{font-size:.86rem;color:var(--gris);line-height:1.45;margin-top:2px}
.item-bas{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;align-items:center}
.opt{width:auto;padding:6px 10px;font-size:.82rem;border-radius:20px;max-width:200px}
.mini-btn{border:0;cursor:pointer;border-radius:20px;padding:6px 14px;font-family:Barlow;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;display:inline-flex;align-items:center;justify-content:center;transition:.2s}
.mini-btn.ajout{background:var(--jaune-pale);color:var(--titre)}
.mini-btn.ajout:hover,.mini-btn.ajout.ok{background:var(--jaune)}
.mini-btn.wa{background:var(--wa);color:#fff;padding:6px 10px}
.mini-btn.wa:hover{background:var(--wa-fonce)}
.note-carte{text-align:center;color:var(--gris);font-size:.88rem}
.barre-panier{position:fixed;left:50%;bottom:22px;transform:translate(-50%,120px);z-index:55;background:var(--vert-fonce);color:#fff;border:0;border-radius:40px;padding:14px 26px;display:flex;gap:26px;font-family:Barlow;font-weight:700;font-size:1rem;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.25);transition:transform .35s;border-bottom:4px solid var(--jaune)}
.barre-panier:not(.vu){visibility:hidden}
.barre-panier.vu{transform:translate(-50%,0)}
.barre-panier b{color:var(--jaune)}
@media (max-width:860px){
  .items{grid-template-columns:1fr}
  .resto-tete{grid-template-columns:1fr;text-align:center}
  .logo-resto{margin:auto;width:130px;height:130px}
  .cat-bloc{padding:20px 16px}
  .outils{top:88px}
  .barre-panier{width:calc(100% - 110px);justify-content:space-between;gap:10px;font-size:.92rem;left:calc(50% - 30px)}
}

/* Comment commander */
.etapes{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;counter-reset:e}
.etape{text-align:center;position:relative}
.etape .rond{width:110px;height:110px;margin:0 auto 22px;border-radius:50%;background:#fff;box-shadow:var(--ombre);display:grid;place-items:center;position:relative;font-size:2.6rem}
.etape .rond::after{counter-increment:e;content:"0" counter(e);position:absolute;top:-4px;right:-4px;width:38px;height:38px;border-radius:50%;background:var(--jaune);color:var(--titre);font-family:Barlow,sans-serif;font-weight:800;font-size:.95rem;display:grid;place-items:center;border:3px solid #fff}
.etape h4{font-size:1.2rem;margin-bottom:6px}
.etape p{font-size:.9rem;color:var(--gris)}
.etapes .etape:not(:last-child)::after{content:"";position:absolute;top:55px;left:calc(50% + 70px);width:calc(100% - 140px);border-top:2px dashed #cfdccd}

/* Témoignages */
.temoins{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.temoin{background:#fff;border-radius:var(--r);padding:36px 30px;position:relative;box-shadow:0 5px 25px rgba(18,53,22,.06)}
.temoin .guill{position:absolute;top:22px;right:26px;font-family:Barlow;font-size:5rem;line-height:1;color:var(--jaune);opacity:.6}
.temoin .etoiles{color:var(--jaune);letter-spacing:3px;margin-bottom:12px}
.temoin p{font-style:italic;margin-bottom:22px}
.temoin .qui{display:flex;align-items:center;gap:14px}
.temoin .av{width:54px;height:54px;border-radius:50%;background:var(--vert);color:var(--jaune);display:grid;place-items:center;font-family:Barlow;font-weight:800;font-size:1.2rem}
.temoin b{font-family:Barlow;color:var(--titre);font-size:1.05rem;display:block}
.temoin small{color:var(--gris)}

/* Bandeau CTA */
.cta{background:var(--jaune);padding:60px 0;overflow:hidden}
.cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;position:relative;z-index:2}
.cta h2{font-size:clamp(1.7rem,3.4vw,2.5rem);max-width:640px}
.cta .script{color:var(--vert-fonce)}

/* Contact */
.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:start}
.coord{list-style:none;display:grid;gap:22px;margin-top:30px}
.coord li{display:flex;gap:18px;align-items:center}
.coord .rond{width:60px;height:60px;border-radius:50%;background:var(--vert);display:grid;place-items:center;flex:none}
.coord b{font-family:Barlow;color:var(--titre);display:block;font-size:1.1rem}
.coord span{color:var(--gris)}
form.msg{background:var(--vert-pale);border-radius:var(--r);padding:40px;display:grid;gap:16px;border-top:5px solid var(--jaune)}
form.msg h3{font-size:1.6rem}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{font-size:.85rem;font-weight:700;color:var(--titre);display:block;margin-bottom:5px}
input,select,textarea{width:100%;padding:14px 18px;border-radius:8px;border:1px solid var(--ligne);font-family:inherit;font-size:.95rem;background:#fff;color:var(--texte)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--jaune);border-color:transparent}

/* Footer */
footer{background:var(--vert-nuit);color:rgba(255,255,255,.72);padding-top:80px;position:relative}
.foot-grille{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:50px}
footer h4{color:#fff;font-size:1.25rem;margin-bottom:22px;position:relative;padding-bottom:12px}
footer h4::after{content:"";position:absolute;left:0;bottom:0;width:40px;height:3px;background:var(--jaune);border-radius:2px}
footer .logo b{color:#fff}
footer .logo small{color:rgba(255,255,255,.6)}
footer ul{list-style:none;display:grid;gap:10px}
footer ul a:hover{color:var(--jaune)}
footer ul a::before{content:"› ";color:var(--jaune)}
.foot-bas{border-top:1px solid rgba(255,255,255,.1);padding:24px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.88rem}
.foot-bas b{color:var(--jaune)}
.horaires-f li{display:flex;justify-content:space-between;border-bottom:1px dashed rgba(255,255,255,.12);padding-bottom:8px}
.horaires-f li::before{content:none}

/* Panier */
.voile{position:fixed;inset:0;background:rgba(10,30,12,.55);opacity:0;pointer-events:none;transition:opacity .25s;z-index:80}
.voile.ouvert{opacity:1;pointer-events:auto}
.tiroir{position:fixed;top:0;right:0;height:100%;width:min(440px,100%);background:#fff;z-index:90;transform:translateX(100%);transition:transform .35s;display:flex;flex-direction:column}
.tiroir:not(.ouvert){visibility:hidden;transition:transform .35s,visibility 0s .35s}
.tiroir.ouvert{transform:none}
.t-head{padding:22px 26px;display:flex;justify-content:space-between;align-items:center;background:var(--vert);color:#fff}
.t-head h3{color:#fff;font-size:1.5rem}
.fermer{background:rgba(255,255,255,.15);border:0;width:38px;height:38px;border-radius:50%;font-size:1.5rem;cursor:pointer;line-height:1;color:#fff}
.t-corps{flex:1;overflow:auto;padding:16px 26px}
.ligne{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px dashed var(--ligne)}
.ligne .em{width:56px;height:56px;border-radius:50%;overflow:hidden;flex:none}
.ligne .em img{width:100%;height:100%;object-fit:cover}
.ligne .inf{flex:1}
.ligne .inf b{display:block;font-family:Barlow;color:var(--titre);font-size:1.02rem}
.ligne .inf small{color:var(--gris)}
.qte{display:flex;align-items:center;gap:7px}
.qte button{width:30px;height:30px;border-radius:50%;border:0;background:var(--jaune-pale);cursor:pointer;font-weight:800;color:var(--titre)}
.qte button:hover{background:var(--jaune)}
.vide{text-align:center;color:var(--gris);padding:50px 10px}
.t-form{display:grid;gap:8px;margin-top:18px}
.choix{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 6px}
.choix label{display:flex;align-items:center;justify-content:center;gap:.4em;padding:12px;border:2px solid var(--ligne);border-radius:8px;cursor:pointer;margin:0}
.choix input{display:none}
.choix label:has(input:checked){border-color:var(--vert);background:var(--vert-pale);color:var(--vert)}
.t-pied{padding:20px 26px;border-top:1px solid var(--ligne);background:var(--jaune-pale)}
.total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px;font-weight:700}
.total b{font-family:Barlow;font-size:1.7rem;color:var(--vert)}
.t-pied .btn{width:100%;justify-content:center}
.t-pied .note{font-size:.78rem;color:var(--gris);text-align:center;margin-top:10px}
.erreur{color:#c0392b;font-size:.84rem;font-weight:700;display:none}

.wa-flottant{position:fixed;bottom:24px;right:24px;width:62px;height:62px;border-radius:50%;background:var(--wa);display:grid;place-items:center;box-shadow:0 10px 25px rgba(37,211,102,.45);z-index:60}
.wa-flottant::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--wa);animation:pulse 2s infinite;z-index:-1}
@keyframes pulse{to{transform:scale(1.6);opacity:0}}
.haut{position:fixed;bottom:100px;right:32px;width:46px;height:46px;border-radius:50%;background:var(--jaune);display:grid;place-items:center;z-index:60;opacity:0;pointer-events:none;transition:.3s;box-shadow:0 6px 16px rgba(0,0,0,.15)}
.haut.vu{opacity:1;pointer-events:auto}
.toast{position:fixed;bottom:96px;left:50%;transform:translate(-50%,20px);background:var(--vert-fonce);color:#fff;padding:12px 22px;border-radius:30px;font-weight:700;font-size:.92rem;opacity:0;transition:.3s;z-index:95;pointer-events:none;border-left:5px solid var(--jaune)}
.toast.vu{opacity:1;transform:translate(-50%,0)}

@media (max-width:1024px){
  .atouts .grille{grid-template-columns:1fr 1fr}
  .atout:nth-child(2){border-right:0}
  .atout:nth-child(-n+2){border-bottom:1px solid var(--ligne)}
  .apropos,.contact{grid-template-columns:1fr}
  .apropos-vis{max-width:480px;margin:auto;width:100%}
  .services,.plats,.temoins{grid-template-columns:1fr 1fr}
  .produits,.produits.cinq,.compteurs .grille,.etapes{grid-template-columns:1fr 1fr}
  .etapes .etape::after{display:none}
  .foot-grille{grid-template-columns:1fr 1fr}
  .menu{display:none}
  .menu.ouvert{display:flex;flex-direction:column;position:absolute;top:88px;left:0;right:0;background:#fff;padding:22px 4%;gap:14px;box-shadow:0 10px 20px rgba(0,0,0,.08)}
  .burger{display:block}
}
@media (max-width:640px){
  section{padding:70px 0}
  .topbar .infos{display:none}
  .points{bottom:80px}
  .atouts{margin-top:-30px}
  .hero{height:auto;min-height:640px}
  .slide .contenu{padding:40px 0 110px}
  .atouts .grille,.services,.plats,.temoins,.produits,.produits.cinq,.etapes,.foot-grille,.duo,.liste-check{grid-template-columns:1fr}
  .atout{border-right:0;border-bottom:1px solid var(--ligne)}
  .compteurs .grille{grid-template-columns:1fr 1fr}
  .fleche{display:none}
  .pastille{width:100px;height:100px}.pastille b{font-size:2rem}
  form.msg{padding:26px}
  .nav-cta .btn{display:none}
  .slide::after{background:rgba(18,53,22,.78)}
}


/* ================= Pages ================= */
@keyframes apparait{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.menu a.actif{color:var(--vert)}
.menu a.actif::after{width:100%}
.deroulant{position:relative}
.sous-menu{position:absolute;top:100%;left:-18px;background:#fff;border-radius:12px;box-shadow:var(--ombre);padding:10px;display:grid;min-width:240px;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s;border-top:3px solid var(--jaune)}
.deroulant:hover .sous-menu,.deroulant:focus-within .sous-menu{opacity:1;pointer-events:auto;transform:none}
.sous-menu a{padding:10px 14px;border-radius:8px;text-transform:none;font-size:.98rem}
.sous-menu a:hover{background:var(--vert-pale)}
.sous-menu a::after{display:none}
.lien-resto{background:#111;color:var(--jaune)!important;padding:8px 16px!important;border-radius:30px}
.lien-resto::after{display:none}
.lien-resto.actif{box-shadow:0 0 0 3px var(--jaune)}
.ic-em{font-size:1.7rem;line-height:1}
.service .icone .ic-em{font-size:1.6rem}
a.service{color:inherit}
.service .img>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;clip-path:inset(0);transition:transform .6s}

/* Bannière des pages intérieures */
.banniere{position:relative;padding:110px 0 90px;color:#fff;background:linear-gradient(90deg,rgba(18,53,22,.92),rgba(18,53,22,.55)),var(--bg) center/cover;overflow:hidden}
.banniere::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:50px;background:#fff;clip-path:ellipse(60% 100% at 50% 100%)}
.banniere h1{color:#fff;font-size:clamp(2.6rem,6vw,4.2rem);text-transform:uppercase}
.banniere .script{color:var(--jaune);font-size:2rem}
.fil{margin-top:10px;opacity:.85;font-weight:600}
.fil a{color:var(--jaune)}

.intro-secteur{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.intro-secteur h2{font-size:clamp(2rem,4vw,2.8rem);margin:.2em 0 .5em}
.intro-secteur p{margin-bottom:28px}
.intro-img{border-radius:24px;overflow:hidden;aspect-ratio:4/3.4;box-shadow:var(--ombre);border-bottom:8px solid var(--jaune)}
.intro-img img{width:100%;height:100%;object-fit:cover}
.fiches{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.fiches.trois{grid-template-columns:repeat(3,1fr)}
.fiche{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 5px 25px rgba(18,53,22,.06);transition:.3s}
.fiche:hover{transform:translateY(-6px);box-shadow:var(--ombre)}
.fiche img{width:100%;aspect-ratio:4/3;object-fit:cover}
.fiche>div{padding:20px 22px 24px;border-top:4px solid var(--jaune)}
.fiche h3{font-size:1.35rem;margin-bottom:4px}
.fiche p{color:var(--gris);font-size:.93rem}


/* Informations légales */
.legal{max-width:760px;margin:0 auto;background:#fff;border-radius:18px;box-shadow:var(--ombre);overflow:hidden;border-top:6px solid var(--jaune)}
.legal-tete{display:flex;align-items:center;gap:16px;padding:24px 30px;background:var(--vert);color:#fff}
.legal-tete b{font-family:Barlow;font-size:1.5rem;display:block;line-height:1.1}
.legal-tete small{opacity:.85}
.legal dl{display:grid;grid-template-columns:1fr 1fr}
.legal dl>div{padding:20px 30px;border-bottom:1px solid var(--ligne)}
.legal dl>div:nth-child(odd){border-right:1px solid var(--ligne)}
.legal dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gris);font-weight:700}
.legal dd{font-family:Barlow;font-weight:800;font-size:1.3rem;color:var(--titre);margin-top:2px}
.foot-legal{font-size:.82rem;color:rgba(255,255,255,.6);padding:16px 0;border-top:1px solid rgba(255,255,255,.1);text-align:center;line-height:1.8}
.foot-legal b{color:var(--jaune)}
@media (max-width:640px){.legal dl{grid-template-columns:1fr}.legal dl>div:nth-child(odd){border-right:0}}

/* =====================================================================
   Ajouts WordPress / Elementor
   ===================================================================== */
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.skip-link:focus{clip:auto;width:auto;height:auto;left:10px;top:10px;z-index:999;background:#fff;padding:10px 16px}
.ico{display:inline-block;vertical-align:middle;flex:none}
.site-main{display:block;min-height:40vh}
.topbar a{color:inherit}
.topbar .ico{color:var(--jaune)}
.logo-mark{color:var(--jaune)}
.logo-img img{max-height:56px;width:auto}

/* Menu WordPress */
.menu-liste{list-style:none;display:flex;gap:26px;align-items:center;margin:0;padding:0}
.menu-liste>li{position:relative}
.menu-liste a{position:relative;color:var(--titre);padding:6px 0;display:inline-block;font-family:Barlow,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.menu-liste>li>a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:3px;background:var(--jaune);border-radius:3px;transition:.25s}
.menu-liste>li>a:hover,.menu-liste>li.current-menu-item>a,.menu-liste>li.current-menu-ancestor>a{color:var(--vert)}
.menu-liste>li>a:hover::after,.menu-liste>li.current-menu-item>a::after,.menu-liste>li.current-menu-ancestor>a::after{width:100%}
.menu-liste li.menu-item-has-children>a::before{content:"▾";position:absolute;right:-14px;top:6px;font-size:.8em}
.menu-liste li.menu-item-has-children{margin-right:12px}
.menu-liste .sub-menu{list-style:none;position:absolute;top:100%;left:-18px;background:#fff;border-radius:12px;box-shadow:var(--ombre);padding:10px;margin:0;min-width:240px;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s;border-top:3px solid var(--jaune);z-index:60}
.menu-liste li:hover>.sub-menu,.menu-liste li:focus-within>.sub-menu{opacity:1;pointer-events:auto;transform:none}
.menu-liste .sub-menu a{display:block;padding:10px 14px;border-radius:8px;text-transform:none;font-size:.98rem}
.menu-liste .sub-menu a:hover{background:var(--vert-pale)}
.menu-liste li.lien-resto>a{background:#111;color:var(--jaune);padding:8px 16px;border-radius:30px}
.menu-liste li.lien-resto>a::after{display:none}
.menu-liste li.lien-resto.current-menu-item>a{box-shadow:0 0 0 3px var(--jaune)}
.menu-liste li.page_item a{text-transform:none}

/* Pied de page */
.site-footer ul{list-style:none;display:grid;gap:10px;margin:0;padding:0}
.site-footer ul a:hover{color:var(--jaune)}
.site-footer .foot-menu a::before{content:"› ";color:var(--jaune)}
.menu .sub-menu a::after,.menu .menu-liste li.lien-resto>a::after{display:none}
.site-footer .horaires-f{margin-bottom:22px}
.site-footer .btn{padding:12px 22px}
.foot-desc{margin-top:18px}
.site-footer .logo b{color:#fff}

/* Contenu classique */
.contenu-texte{max-width:860px}
.contenu-texte p,.contenu-texte ul,.contenu-texte ol{margin-bottom:1.1em}
.contenu-texte h2,.contenu-texte h3{margin:1.4em 0 .5em}
.contenu-texte img{max-width:100%;height:auto;border-radius:12px}
.extrait{padding:20px 0;border-bottom:1px solid var(--ligne)}
.y-script,.banniere .y-script{font-family:Yellowtail,cursive;color:var(--jaune);font-size:2rem;display:block}

/* Formulaire de contact (shortcode) */
.yamsa-form label{display:block;font-size:.85rem;font-weight:700;color:var(--titre)}
.yamsa-form label input,.yamsa-form label select,.yamsa-form label textarea{margin-top:5px}
.yamsa-form .btn{justify-content:center;width:100%}

/* =====================================================================
   Habillage des widgets Elementor (classes CSS ajoutées par l'import)
   ===================================================================== */
.elementor-section.y-sec>.elementor-container{max-width:1200px}
body .y-script .elementor-heading-title{font-family:Yellowtail,cursive!important;color:var(--jaune-fonce);font-size:1.9rem;font-weight:400;line-height:1.1}
body .y-hero .y-script .elementor-heading-title,body .y-banniere .y-script .elementor-heading-title,body .y-sombre .y-script .elementor-heading-title{color:var(--jaune);font-size:2.3rem}
body .y-cta .y-script .elementor-heading-title{color:var(--vert-fonce)}
body .y-titre .elementor-heading-title{font-family:Barlow,sans-serif;font-weight:800;color:var(--titre);font-size:clamp(2rem,4vw,2.9rem);line-height:1.15}
body .y-hero-titre .elementor-heading-title{font-family:Barlow,sans-serif;font-weight:800;color:#fff;font-size:clamp(2.6rem,6vw,4.6rem);text-transform:uppercase;line-height:1.05}
body .y-hero-titre .elementor-heading-title span,body .y-hero-titre .elementor-heading-title em{color:var(--jaune);font-style:normal}
body .y-banniere-titre .elementor-heading-title{font-family:Barlow,sans-serif;font-weight:800;color:#fff;font-size:clamp(2.6rem,6vw,4.2rem);text-transform:uppercase}
body .y-texte,body .y-texte p{color:var(--texte);font-size:1.02rem;line-height:1.75}
body .y-texte-centre{text-align:center;color:var(--gris)}
body .y-lead,body .y-lead p{color:var(--vert);font-weight:600;font-size:1.1rem}
body .y-hero .y-texte,body .y-hero .y-texte p,body .y-banniere .y-texte,body .y-banniere .y-texte p{color:rgba(255,255,255,.92);font-size:1.12rem}
body .y-banniere .y-texte a{color:var(--jaune)}
body .y-hero .elementor-widget-wrap>.elementor-element,body .y-banniere .elementor-widget-wrap>.elementor-element{margin-bottom:10px}
body .y-hero.elementor-section{min-height:clamp(560px,80vh,760px)}

body .y-btn .elementor-button{font-family:Barlow,sans-serif;font-weight:700;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;border-radius:50px;padding:16px 30px;transition:.25s}
body .y-btn-jaune .elementor-button{background:var(--jaune);color:var(--titre)}
body .y-btn-jaune .elementor-button:hover{background:#fff;color:var(--vert-fonce)}
body .y-btn-vert .elementor-button{background:var(--vert);color:#fff}
body .y-btn-vert .elementor-button:hover{background:var(--jaune);color:var(--titre)}
body .y-btn-blanc .elementor-button{background:transparent;color:#fff;border:2px solid #fff}
body .y-btn-blanc .elementor-button:hover{background:#fff;color:var(--vert-fonce)}
body .y-btn-wa .elementor-button{background:var(--wa);color:#fff}
body .y-btn-wa .elementor-button:hover{background:var(--wa-fonce)}
body .y-boutons .elementor-widget-wrap{gap:14px}
body .y-inline{width:auto!important;display:inline-block}

/* Atouts (icon-box) */
body .y-atouts{margin-top:-70px;position:relative;z-index:5}
body .y-atouts>.elementor-container{background:#fff;border-radius:var(--r);box-shadow:var(--ombre);overflow:hidden}
body .y-atout .elementor-icon-box-wrapper{padding:30px 24px;display:flex;gap:16px;text-align:left!important}
body .y-atout .elementor-icon{background:var(--vert-pale);color:var(--vert);fill:var(--vert);width:58px;height:58px;border-radius:50%;display:grid!important;place-items:center;font-size:24px!important}
body .y-atout .elementor-icon svg{width:24px;height:24px}
body .y-atout .elementor-icon-box-title{font-family:Barlow;font-weight:800;font-size:1.15rem;color:var(--titre);margin:0 0 4px}
body .y-atout .elementor-icon-box-description{font-size:.88rem;color:var(--gris);line-height:1.5}
body .y-atouts .elementor-column+.elementor-column{border-left:1px solid var(--ligne)}

/* Cartes (image-box) */
body .y-carte .elementor-image-box-wrapper,body .y-fiche .elementor-image-box-wrapper{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 5px 25px rgba(18,53,22,.07);transition:.3s;height:100%;text-align:left}
body .y-carte:hover .elementor-image-box-wrapper,body .y-fiche:hover .elementor-image-box-wrapper{transform:translateY(-6px);box-shadow:var(--ombre)}
body .y-carte .elementor-image-box-img,body .y-fiche .elementor-image-box-img{width:100%!important;margin:0!important;overflow:hidden}
body .y-carte .elementor-image-box-img img,body .y-fiche .elementor-image-box-img img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .6s}
body .y-carte:hover .elementor-image-box-img img{transform:scale(1.05)}
body .y-carte .elementor-image-box-content,body .y-fiche .elementor-image-box-content{padding:22px 26px 26px;border-top:4px solid var(--jaune)}
body .y-carte .elementor-image-box-title,body .y-fiche .elementor-image-box-title{font-family:Barlow;font-weight:800;font-size:1.4rem;color:var(--titre);margin:0 0 6px}
body .y-carte .elementor-image-box-title a{color:inherit}
body .y-carte .elementor-image-box-description,body .y-fiche .elementor-image-box-description{color:var(--gris);font-size:.95rem}
body .y-carte-vedette .elementor-image-box-wrapper{background:var(--vert)}
body .y-carte-vedette .elementor-image-box-title,body .y-carte-vedette .elementor-image-box-title a{color:#fff}
body .y-carte-vedette .elementor-image-box-description{color:rgba(255,255,255,.88)}
body .y-lien .elementor-button{background:none;color:var(--vert);padding:0 26px;font-family:Barlow;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.88rem}
body .y-lien .elementor-button:hover{color:var(--jaune-fonce)}
body .y-cartes .elementor-column>.elementor-widget-wrap{align-content:flex-start}

/* Produits achetés (image-box rond) */
body .y-produit .elementor-image-box-wrapper{background:#fff;border:1px solid var(--ligne);border-radius:var(--r);padding:28px 18px 18px;text-align:center;transition:.3s}
body .y-produit:hover .elementor-image-box-wrapper{border-color:var(--jaune);box-shadow:var(--ombre)}
body .y-produit .elementor-image-box-img{width:130px!important;height:130px;margin:0 auto 16px!important;border-radius:50%;overflow:hidden;border:5px solid var(--vert-pale)}
body .y-produit .elementor-image-box-img img{width:100%;height:100%;object-fit:cover}
body .y-produit .elementor-image-box-title{font-family:Barlow;font-weight:800;font-size:1.25rem;color:var(--titre)}
body .y-produit .elementor-image-box-description{font-size:.88rem;color:var(--gris)}
body .y-btn-petit .elementor-button{background:transparent;border:2px solid var(--wa);color:var(--wa-fonce);border-radius:30px;padding:9px 16px;font-family:Barlow;font-weight:700;text-transform:uppercase;font-size:.8rem}
body .y-btn-petit .elementor-button:hover{background:var(--wa);color:#fff}

/* Images */
body .y-intro-img img{border-radius:24px;box-shadow:var(--ombre);border-bottom:8px solid var(--jaune);aspect-ratio:4/3.4;object-fit:cover;width:100%}
body .y-rond img{border-radius:50%;aspect-ratio:1;object-fit:cover;border:10px solid #fff;box-shadow:var(--ombre)}

/* Liste à puces cochées */
body .y-check .elementor-icon-list-icon{width:24px;height:24px;border-radius:50%;background:var(--jaune);display:grid!important;place-items:center}
body .y-check .elementor-icon-list-icon i,body .y-check .elementor-icon-list-icon svg{color:var(--titre);fill:var(--titre);font-size:12px;width:12px}
body .y-check .elementor-icon-list-text{font-weight:700;color:var(--titre);padding-left:8px}

/* Compteurs */
body .y-sombre .elementor-counter-number-wrapper{font-family:Barlow;font-weight:800;color:var(--jaune);font-size:3rem;line-height:1}
body .y-sombre .elementor-counter-title{color:rgba(255,255,255,.85);text-transform:uppercase;font-size:.85rem;letter-spacing:.08em;font-weight:600;font-family:Mulish}

/* Témoignages */
body .y-temoin .elementor-testimonial-wrapper{background:#fff;border-radius:var(--r);padding:34px 28px;box-shadow:0 5px 25px rgba(18,53,22,.06);text-align:left!important;position:relative}
body .y-temoin .elementor-testimonial-wrapper::before{content:"★★★★★";color:var(--jaune);letter-spacing:3px;display:block;margin-bottom:12px}
body .y-temoin .elementor-testimonial-content{font-style:italic;font-size:1rem;color:var(--texte);margin-bottom:18px}
body .y-temoin .elementor-testimonial-name{font-family:Barlow;font-weight:800;color:var(--titre)}
body .y-temoin .elementor-testimonial-job{color:var(--gris)}

/* Bandeau CTA */
body .y-cta h2.elementor-heading-title{color:var(--titre)}

@media (max-width:1024px){
  .menu{display:none}
  .menu.ouvert{display:block;position:absolute;top:88px;left:0;right:0;background:#fff;padding:18px 4%;box-shadow:0 10px 20px rgba(0,0,0,.08);max-height:calc(100vh - 100px);overflow:auto}
  .menu.ouvert .menu-liste{flex-direction:column;align-items:flex-start;gap:6px}
  .menu.ouvert .sub-menu{position:static;opacity:1;pointer-events:auto;transform:none;box-shadow:none;border:0;padding:0 0 0 14px;min-width:0}
  .burger{display:block;color:var(--vert-fonce)}
  body .y-atouts .elementor-column+.elementor-column{border-left:0;border-top:1px solid var(--ligne)}
}
@media (max-width:760px){
  .logo small{display:none}
  .logo b{font-size:1.35rem}
  .nav-cta{gap:8px}
  .nav-cta .btn-ecrire{display:none}
  body .y-atouts{margin-top:-30px}
}

body .y-galerie img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;box-shadow:var(--ombre);border-bottom:6px solid var(--jaune)}

body .y-etape .elementor-icon-box-wrapper{text-align:center!important;flex-direction:column;align-items:center;background:#fff;border-radius:16px;height:100%;box-shadow:0 5px 25px rgba(18,53,22,.06)}
body .y-etape .elementor-icon-box-icon{margin:0 auto 10px!important}
.yamsa-form-partenaire{border-top-color:var(--vert)}

/* Logo YAMSA GROUP (v1.4) */
.logo .logo-svg{height:58px;width:auto;display:block}
.site-footer .logo .logo-svg{height:62px}
.legal-logo{height:38px;width:auto}
@media (max-width:760px){.logo .logo-svg{height:44px}}

/* Pages filières (v1.4) */
body .y-fiche-lien .elementor-image-box-wrapper{cursor:pointer}
body .y-fiche-lien:hover .elementor-image-box-img img{transform:scale(1.06)}
body .y-fiche-lien .elementor-image-box-title a{color:inherit}
body .y-lien-fiche .elementor-button{padding:10px 26px 0;font-size:.82rem}
body .y-fiche-mini .elementor-image-box-img img{aspect-ratio:4/3}
body .y-fiche-mini .elementor-image-box-content{padding:14px 18px}
body .y-fiche-mini .elementor-image-box-title{font-size:1.15rem;margin:0}
body .y-chiffre .elementor-heading-title{font-family:Barlow,sans-serif;font-weight:800;color:var(--jaune);font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.1}
body .y-chiffre-txt,body .y-chiffre-txt p{color:rgba(255,255,255,.85);font-size:.95rem;margin:0}
body .y-encart>.elementor-widget-wrap{background:#fff;border-radius:18px;padding:30px!important;box-shadow:var(--ombre);border-top:5px solid var(--jaune);gap:10px}
body .y-sources,body .y-sources p{font-size:.82rem;color:var(--gris);line-height:1.6}
body .y-sources a{color:var(--vert);text-decoration:underline}
