/* Menu YAMSA FOOD — style du menu papier */
/* ================= Page restaurant : style du menu ================= */
body.sur-menu{background:#0c0c0c}
.y-menu-section .elementor-widget-wrap{padding:0!important}
.y-menu-section .elementor-widget-shortcode{margin:0}
.page-menu{--m-jaune:#e2e55b;--m-vert:#2a7a5e;--m-vert-t:#3d8f6b;background:#0c0c0c;color:#fff;font-family:Montserrat,Mulish,sans-serif;position:relative}
.menu-couv{position:relative;padding:60px 0 50px;text-align:center;overflow:hidden;background:#0c0c0c}
.motif-couv{position:absolute;inset:0;opacity:.55;background:
  repeating-linear-gradient(45deg,transparent 0 34px,#1f5a45 34px 40px,transparent 40px 80px),
  repeating-linear-gradient(-45deg,transparent 0 34px,#1f5a45 34px 40px,transparent 40px 80px);
  -webkit-mask:linear-gradient(#000 0 14%,transparent 30% 70%,#000 86%);mask:linear-gradient(#000 0 14%,transparent 30% 70%,#000 86%)}
.couv-contenu{position:relative}
.couv-logo{display:block;width:min(320px,70vw);margin:0 auto}
.couv-sous{font-family:Fredoka,Barlow,sans-serif;font-weight:600;letter-spacing:.12em;font-size:1.15rem;margin:10px 0 26px;border-top:2px solid #fff;border-bottom:2px solid #fff;display:inline-block;padding:4px 16px}
.couv-ovale{background:var(--m-vert);border-radius:999px;max-width:560px;margin:0 auto;padding:18px 0;font-family:Fredoka,Barlow,sans-serif;font-weight:700;font-size:clamp(3.4rem,10vw,6rem);letter-spacing:.04em;line-height:1.1}
.couv-bon{font-family:Fredoka,Barlow,sans-serif;font-weight:700;color:var(--m-jaune);font-size:clamp(2.6rem,7vw,4.4rem);margin:16px 0 22px}
.couv-contacts{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.couv-contacts>span{background:var(--m-vert);border-radius:30px;padding:10px 22px;font-weight:700;letter-spacing:.08em;font-size:.95rem}
.couv-aide{margin-top:22px;color:#bbb;font-size:.9rem}
.couv-aide b{color:var(--m-jaune)}
.couv-aide b.vert{color:var(--wa)}

.menu-onglets{position:sticky;top:88px;z-index:30;background:rgba(12,12,12,.94);backdrop-filter:blur(6px);border-top:1px solid #222;border-bottom:1px solid #222}
.menu-onglets .m-onglets-in{width:min(1200px,92%);margin:auto;display:flex;gap:8px;overflow-x:auto;padding:12px 0;scrollbar-width:none}
.menu-onglets .m-onglets-in::-webkit-scrollbar{display:none}
.menu-onglets a{white-space:nowrap;display:inline-flex;align-items:center;gap:8px;padding:8px 16px 8px 8px;border-radius:30px;border:1.5px solid #333;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:#ddd;transition:.2s}
.menu-onglets a b{width:28px;height:28px;border-radius:50%;background:var(--m-jaune);color:#123;display:grid;place-items:center;font-family:Fredoka,Barlow;font-size:.85rem}
.menu-onglets a:hover,.menu-onglets a.on{border-color:var(--m-jaune);color:#fff;background:#1a1a1a}

.menu-pages{width:min(900px,94%);margin:40px auto 0;display:grid;gap:44px}
.m-page{position:relative;background:#0a0a0a;border-radius:6px;padding:34px 0 60px 0;overflow:hidden;box-shadow:0 0 0 1px #1d1d1d,0 25px 60px rgba(0,0,0,.6)}
.m-page::before{content:"";position:absolute;left:-30%;top:35%;width:90%;height:70%;background:#121212;border-radius:50%;transform:rotate(-20deg)}
.m-tete{position:relative;text-align:center}
.m-tete img{display:block;width:190px;margin:0 auto}
.m-tete h2{font-family:Fredoka,Barlow,sans-serif;color:var(--m-jaune);font-weight:700;font-size:clamp(3rem,9vw,5.2rem);line-height:1;margin-top:4px;display:flex;align-items:center;gap:18px;justify-content:center}
.m-tete h2::before,.m-tete h2::after{content:"";flex:1;height:3px;background:#fff;max-width:160px}
.m-corps{position:relative;display:grid;grid-template-columns:1fr 210px;gap:20px;margin-top:22px}
.m-col{padding:0 10px 0 clamp(18px,5vw,56px)}
.m-cat{font-family:Fredoka,Barlow,sans-serif;font-weight:500;color:var(--m-vert-t);font-size:clamp(1.6rem,3.6vw,2.1rem);text-align:center;text-shadow:0 2px 0 #000,0 0 1px #8fd3b3;margin:18px 0 6px;padding-bottom:6px;border-bottom:3px solid #fff;letter-spacing:.01em}
.m-items{display:grid;gap:2px;margin-top:10px}
.m-item{padding:5px 0}
.m-ligne{display:flex;align-items:center;gap:8px}
.m-ligne-bloc{line-height:1.6}
.m-nom{font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:.95rem;color:#fff}
.m-tag{color:var(--m-vert-t);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}
.m-points{flex:1;border-bottom:1px dotted #444;transform:translateY(-3px);min-width:10px}
.m-prix{font-weight:800;letter-spacing:.1em;font-size:.95rem;white-space:nowrap}
.m-desc,.m-desc-inline{color:var(--m-jaune);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;line-height:1.5}
.m-desc{margin-top:2px;padding-right:80px}
.m-acts{display:inline-flex;gap:5px;margin-left:6px}
.m-plus,.m-wa{width:28px;height:28px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;font-weight:800;font-size:1rem;flex:none;transition:.2s}
.m-plus{background:var(--m-jaune);color:#111;font-family:Fredoka,Barlow}
.m-plus:hover{transform:scale(1.12)}
.m-plus.ok{background:#fff;color:var(--m-vert);box-shadow:0 0 0 2px var(--m-jaune)}
.m-wa{background:var(--wa);color:#fff}
.m-wa .ico{width:15px;height:15px}
.m-wa:hover{background:var(--wa-fonce)}
.m-tailles{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:6px}
.m-taille{display:inline-flex;align-items:center;font-weight:800;letter-spacing:.08em;font-size:.85rem;background:#161616;border:1px solid #2a2a2a;border-radius:30px;padding:3px 4px 3px 12px}
.m-taille b{color:var(--m-jaune);text-transform:uppercase;margin-right:2px}
.m-texte{font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.88rem;line-height:1.8;margin-top:8px}
.m-nb{color:var(--m-jaune);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;margin-top:6px}
.m-choix-l{display:flex;gap:6px;align-items:center;margin-top:6px}
.m-choix{width:auto;background:#161616;color:#fff;border:1px solid #333;border-radius:20px;padding:6px 12px;font-size:.82rem;font-family:inherit}
.m-items.accolade{position:relative;padding-right:90px;margin-top:16px}
.m-items.accolade::after{content:"";position:absolute;right:66px;top:6px;bottom:6px;width:14px;border:3px solid var(--m-jaune);border-left:0;border-radius:0 12px 12px 0}
.m-items.accolade .m-points,.m-items.accolade .m-prix{display:none}
.m-items.accolade .m-desc{padding-right:0}
.m-acc-prix{position:absolute;right:0;top:50%;transform:translateY(-50%);font-weight:800;letter-spacing:.1em}
.m-bande{background:var(--m-vert);border-radius:110px 0 0 110px;padding:46px 0 46px 18px;display:flex;flex-direction:column;gap:28px;align-items:center;align-self:start;position:sticky;top:180px}
.m-rond{width:178px;height:178px;border-radius:50%;overflow:hidden;background:#fff}
.m-rond img{width:100%;height:100%;object-fit:cover;transform:scale(1.04)}
.m-num{position:absolute;right:18px;bottom:10px;width:96px;height:80px;background:var(--m-jaune);border-radius:46% 54% 40% 60% / 55% 45% 55% 45%;display:grid;place-items:center;font-family:Fredoka,Barlow;font-weight:700;font-size:2.4rem;color:var(--m-vert)}
.m-num::before{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:var(--m-jaune);left:-14px;top:6px}
.menu-note{text-align:center;color:#999;padding:30px 0 60px;font-size:.9rem}
body.sur-menu footer{border-top:4px solid var(--jaune)}


@media (max-width:760px){
  .logo small{display:none}
  .logo b{font-size:1.35rem}
  .nav-cta{gap:8px}
  .m-corps{grid-template-columns:minmax(0,1fr)}
  .m-col{min-width:0}
  .m-taille{font-size:.74rem;padding-left:8px}
  .m-tailles{gap:6px}
  .m-bande{position:static;flex-direction:row;border-radius:90px;padding:12px 14px;margin:10px 12px 0;justify-content:center;gap:12px;order:-1}
  .m-rond{width:min(23vw,96px);height:min(23vw,96px)}
  .m-col{padding:0 16px}
  .m-nom,.m-prix{font-size:.82rem;letter-spacing:.08em}
  .m-desc{padding-right:0;font-size:.72rem}
  .m-num{width:70px;height:58px;font-size:1.7rem}
  .menu-onglets{top:88px}
  .fiches,.fiches.trois{grid-template-columns:1fr}
  .banniere{padding:80px 0 70px}
}


.admin-bar .menu-onglets{top:120px}
.page-menu img{max-width:100%;height:auto}
.couv-logo{display:block;width:min(320px,70vw);margin:0 auto}
.m-tete img{display:block;width:190px;margin:0 auto}

/* ================= Menu par catégories (v1.1) ================= */
.cm-barre{position:sticky;top:88px;z-index:40;background:rgba(12,12,12,.96);backdrop-filter:blur(8px);border-top:1px solid #222;border-bottom:1px solid #222}
.admin-bar .cm-barre{top:120px}
.cm-barre-in{width:min(1200px,94%);margin:auto;padding:14px 0;display:grid;gap:12px}
.cm-cats{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:2px}
.cm-cats::-webkit-scrollbar{display:none}
.cm-cat{flex:none;display:flex;align-items:center;gap:10px;background:#161616;border:2px solid #2a2a2a;color:#eee;border-radius:40px;padding:8px 18px 8px 8px;cursor:pointer;font-family:Montserrat,sans-serif;font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;transition:.2s}
.cm-cat-em{width:38px;height:38px;border-radius:50%;background:#222;display:grid;place-items:center;font-size:1.25rem}
.cm-cat small{background:#2a2a2a;color:#aaa;border-radius:20px;padding:2px 8px;font-size:.7rem}
.cm-cat:hover{border-color:var(--m-vert-t)}
.cm-cat.on{background:var(--m-vert);border-color:var(--m-jaune);color:#fff}
.cm-cat.on .cm-cat-em{background:var(--m-jaune)}
.cm-cat.on small{background:rgba(0,0,0,.25);color:#fff}
.cm-cherche{display:flex;align-items:center;gap:10px;background:#161616;border:1px solid #2e2e2e;border-radius:30px;padding:0 18px;max-width:440px;color:#999}
.cm-cherche input{background:none;border:0;color:#fff;padding:11px 0;width:100%;font:inherit;outline:none}
.cm-cherche:focus-within{border-color:var(--m-jaune)}

.cm-panneaux{width:min(1200px,94%);margin:34px auto 0}
.cm-panneau{display:none}
.cm-panneau.on{display:block;animation:cmApparait .35s ease}
.page-menu.cm-recherche .cm-panneau{display:block}
.page-menu.cm-recherche .cm-tete{display:none}
@keyframes cmApparait{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.cm-tete{display:flex;align-items:center;gap:26px;background:linear-gradient(100deg,var(--m-vert),#1d5a44);border-radius:120px 24px 24px 120px;padding:16px 30px 16px 16px;margin-bottom:10px}
.cm-tete-img{width:130px;height:130px;border-radius:50%;overflow:hidden;flex:none;border:5px solid var(--m-jaune)}
.cm-tete-img img{width:100%;height:100%;object-fit:cover}
.cm-tete-em{font-size:1.6rem}
.cm-tete h2{font-family:Fredoka,Barlow,sans-serif;color:var(--m-jaune);font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.1;margin:2px 0 4px}
.cm-tete p{color:#e6f2ec}
.cm-rub{margin-top:26px}
.cm-rub .m-cat{text-align:left;max-width:520px}
.cm-rub .m-texte,.cm-rub .m-nb{max-width:900px}
.cm-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;margin-top:16px}
.cm-plat{background:#141414;border:1px solid #242424;border-radius:18px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:transform .25s,border-color .25s,box-shadow .25s}
.cm-plat:hover,.cm-plat:focus-visible{transform:translateY(-5px);border-color:var(--m-jaune);box-shadow:0 18px 40px rgba(0,0,0,.5);outline:none}
.cm-plat[hidden]{display:none}
.cm-plat-img{position:relative;aspect-ratio:4/3;background:#1e1e1e;overflow:hidden}
.cm-plat-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cm-plat:hover .cm-plat-img img{transform:scale(1.07)}
.cm-sans-img{position:absolute;inset:0;display:grid;place-items:center;font-size:3rem}
.cm-badge{position:absolute;top:10px;left:10px;background:var(--m-jaune);color:#111;font-weight:800;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;padding:4px 10px;border-radius:20px}
.cm-plat-txt{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1}
.cm-plat-txt h4{color:#fff;font-family:Montserrat,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.92rem;line-height:1.35}
.cm-plat-txt p{color:var(--m-jaune);font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;line-height:1.5;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cm-plat-bas{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;gap:8px}
.cm-prix{font-family:Montserrat,sans-serif;font-weight:800;color:#fff;font-size:1.05rem;letter-spacing:.04em}
.cm-prix small{color:#999;font-size:.7rem;font-weight:600}
.cm-voir{background:var(--m-vert);color:#fff;border-radius:20px;padding:6px 12px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.cm-plat:hover .cm-voir{background:var(--m-jaune);color:#111}
.cm-aucun{text-align:center;color:#aaa;padding:40px 0}

/* Fiche du plat */
html.cm-bloque{overflow:hidden}
.cm-fiche{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px}
.cm-fiche[hidden]{display:none}
.cm-fiche-fond{position:absolute;inset:0;background:rgba(0,0,0,.72);opacity:0;transition:opacity .2s}
.cm-fiche-boite{position:relative;width:min(880px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#0f0f0f;color:#fff;border-radius:24px;border:1px solid #2a2a2a;display:grid;grid-template-columns:1fr 1fr;transform:translateY(20px) scale(.98);opacity:0;transition:.22s;font-family:Montserrat,Mulish,sans-serif}
.cm-fiche.ouverte .cm-fiche-fond{opacity:1}
.cm-fiche.ouverte .cm-fiche-boite{transform:none;opacity:1}
.cm-fiche-x{position:absolute;top:12px;right:12px;z-index:2;width:42px;height:42px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:1.6rem;cursor:pointer;line-height:1}
.cm-fiche-x:hover{background:var(--m-jaune);color:#111}
.cm-fiche-img{background:#1a1a1a;min-height:100%}
.cm-fiche-img img{width:100%;height:100%;object-fit:cover;min-height:320px;display:block}
.cm-fiche-corps{padding:30px 28px 26px;display:flex;flex-direction:column;gap:14px}
.cm-fiche-fil{color:var(--m-vert-t);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.cm-fiche-corps h2{font-family:Fredoka,Barlow,sans-serif;color:var(--m-jaune);font-size:clamp(1.7rem,3.4vw,2.3rem);line-height:1.1}
.cm-fiche-tag{display:inline-block;align-self:flex-start;background:var(--m-jaune);color:#111;font-weight:800;font-size:.75rem;text-transform:uppercase;padding:4px 12px;border-radius:20px}
.cm-fiche-details{color:#ddd;line-height:1.6}
.cm-fiche-corps h3{font-family:Montserrat,sans-serif;color:#fff;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;font-weight:800}
.cm-fiche-ingr ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.cm-fiche-ingr li{background:#1d1d1d;border:1px solid #333;color:var(--m-jaune);border-radius:20px;padding:5px 12px;font-size:.8rem;font-weight:700}
.cm-radios{display:grid;gap:8px}
.cm-radios label{display:flex;align-items:center;gap:10px;background:#181818;border:2px solid #2c2c2c;border-radius:12px;padding:10px 14px;cursor:pointer;font-weight:700;font-size:.9rem}
.cm-radios input{accent-color:#e2e55b;width:18px;height:18px;margin:0}
.cm-radios label:has(input:checked){border-color:var(--m-jaune);background:#1e2a22}
.cm-stepper{display:inline-flex;align-items:center;gap:6px;background:#181818;border:1px solid #2c2c2c;border-radius:30px;padding:4px}
.cm-stepper button{width:38px;height:38px;border-radius:50%;border:0;background:var(--m-jaune);color:#111;font-size:1.3rem;font-weight:800;cursor:pointer}
.cm-stepper output{min-width:34px;text-align:center;font-weight:800;font-size:1.1rem}
.cm-fiche-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px dashed #333;padding-top:14px}
.cm-fiche-total span{color:#aaa;text-transform:uppercase;font-size:.8rem;letter-spacing:.08em;font-weight:700}
.cm-fiche-total b{font-family:Fredoka,Barlow;color:var(--m-jaune);font-size:1.8rem}
.cm-fiche-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cm-fiche-actions .btn{justify-content:center;padding:14px 12px;font-size:.85rem;text-align:center}
@media (max-width:760px){
  .cm-barre{top:88px}
  .cm-tete{border-radius:24px;padding:14px;gap:14px}
  .cm-tete-img{width:84px;height:84px}
  .cm-grille{grid-template-columns:1fr 1fr;gap:12px}
  .cm-plat-txt{padding:10px 12px 12px}
  .cm-plat-txt h4{font-size:.78rem;letter-spacing:.04em}
  .cm-plat-txt p{display:none}
  .cm-plat-bas{flex-direction:column;align-items:flex-start}
  .cm-fiche{padding:0;align-items:end}
  .cm-fiche-boite{grid-template-columns:1fr;border-radius:24px 24px 0 0;max-height:92vh}
  .cm-fiche-img img{min-height:0;aspect-ratio:16/10}
  .cm-fiche-actions{grid-template-columns:1fr}
}
/* Corrections v1.1 : photos en médaillon (comme le menu papier), lisibilité */
.cm-fiche [hidden]{display:none!important}
.cm-radios label{color:#fff;margin:0}
.cm-plat-img{aspect-ratio:auto;height:210px;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#2a7a5e 0 58%,#1a4a3a 59% 100%)}
.cm-plat-img img{width:172px;height:172px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 4px #0c0c0c,0 10px 24px rgba(0,0,0,.45);transform:scale(1)}
.cm-plat:hover .cm-plat-img img{transform:scale(1.06) rotate(-3deg)}
.cm-fiche-img{display:grid;place-items:center;background:linear-gradient(160deg,#2a7a5e,#163f31);padding:30px}
.cm-fiche-img img{width:min(320px,100%);height:auto;min-height:0;aspect-ratio:1;border-radius:50%;object-fit:cover;box-shadow:0 0 0 6px #e2e55b,0 20px 40px rgba(0,0,0,.5)}
@media (max-width:760px){
  .cm-plat-img{height:150px}
  .cm-plat-img img{width:118px;height:118px}
  .cm-fiche-img{padding:20px}
  .cm-fiche-img img{width:180px;aspect-ratio:1}
}

/* Couverture : photo de la salle YAMSA FOOD */
.menu-couv{background:linear-gradient(rgba(8,8,8,.82),rgba(8,8,8,.9)),var(--resto,none) center/cover}
.menu-couv .motif-couv{opacity:.25}
