@font-face{font-family:cocolate;src:url('../fonts/Cocolatte.otf') format('opentype');font-display:swap}
#carte-plats{max-width:1050px;margin:50px auto 0;padding:28px;background:#fffdf5;border:1px solid #f0e9c7;border-radius:10px;box-shadow:0 12px 26px rgba(0,0,0,0.06);color:#302b24;scroll-margin-top:95px;box-sizing:border-box}
#carte-plats h2::after{content:"";display:block;width:64px;height:4px;background:#CECD00;border-radius:2px;margin:18px auto 0}
#carte-plats h2{font-family:Cocolatte,cocolate,Georgia,serif;font-size:46px;font-weight:normal;letter-spacing:normal;text-transform:none;text-align:center;color:#302b24;margin:0 0 14px;line-height:1.25}
#carte-plats .carte-plats-date{font:14px/1.6 Arial,sans-serif;text-align:center;color:#51432f;margin:0 0 45px}
#carte-plats .carte-plats-groupes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
#carte-plats .carte-plats-groupe{position:relative;isolation:isolate;overflow:hidden;min-width:0;margin:0;padding:20px;background:#fff;border:1px solid #f0e9c7;border-radius:10px;box-shadow:0 12px 26px rgba(0,0,0,.06)}
#carte-plats .carte-plats-groupe::before{content:"";position:absolute;z-index:-1;right:-40px;top:-40px;width:120px;height:120px;background:radial-gradient(circle at center,rgba(206,205,0,.22),rgba(206,205,0,0));transform:rotate(12deg);pointer-events:none}
#carte-plats .carte-plats-rubrique{display:inline-block;max-width:100%;box-sizing:border-box;font-family:inherit;font-size:13px;font-weight:700;line-height:1.5;letter-spacing:1px;text-transform:uppercase;text-align:left;color:#000;background:#CECD00;border-radius:30px;margin:0 0 12px;padding:6px 12px;overflow-wrap:anywhere}
#carte-plats article{padding:18px 0;border:0}
#carte-plats article+article{border-top:1px dashed #e6dfbf}
#carte-plats .carte-plats-entete{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
#carte-plats h4{font:600 18px/1.45 Arial,sans-serif;color:#302b24;letter-spacing:normal;text-transform:none;margin:0}
#carte-plats p{font:16px/1.65 Arial,sans-serif;color:#463d31;white-space:pre-line;text-align:left;margin:8px 0 0;overflow-wrap:anywhere}
#carte-plats .carte-plats-prix{font:700 17px/1.5 Arial,sans-serif;flex-shrink:0;max-width:42%;color:#302b24;margin:0;text-align:right}
@media(max-width:767px){#carte-plats{padding:24px 12px;scroll-margin-top:65px;margin-top:35px}#carte-plats .carte-plats-groupes{grid-template-columns:1fr;gap:18px}#carte-plats h2{font-size:36px}#carte-plats .carte-plats-rubrique{font-size:12px}#carte-plats .carte-plats-groupe{padding:18px 14px}#carte-plats .carte-plats-date{margin-bottom:32px}#carte-plats .carte-plats-entete{flex-wrap:wrap;gap:6px 14px}#carte-plats h4{flex:1 1 190px}#carte-plats .carte-plats-prix{max-width:100%;text-align:left}}
#carte-plats .carte-language{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 12px;margin:0 0 20px;font:16px/1.5 Arial,sans-serif}
#carte-plats .carte-language select,#carte-plats .carte-language button{font:inherit;border:1px solid #d4ccad;border-radius:6px;padding:8px;background:#fff;color:#302b24;max-width:100%}
#carte-plats .carte-language button{background:#cecd00;cursor:pointer}
/* Variante du site de test V2 : mêmes textes, palette et typographie existantes. */
.public-v2 #carte-plats{max-width:none;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;color:var(--bistro-ink,#20231f);scroll-margin-top:11rem}
.public-v2 #carte-plats h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.5rem,5vw,4rem);text-align:left;color:var(--bistro-ink,#20231f)}
.public-v2 #carte-plats h2::after{display:none}
.public-v2 #carte-plats .carte-plats-groupes{gap:3rem}
.public-v2 #carte-plats .carte-plats-groupe{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.public-v2 #carte-plats .carte-plats-groupe::before{display:none}
.public-v2 #carte-plats .carte-plats-rubrique{display:block;padding:0 0 .9rem;background:transparent;border-radius:0;border-bottom:2px solid var(--bistro-green,#526b35);font:400 clamp(1.8rem,3vw,2.5rem)/1.2 Georgia,serif;letter-spacing:normal;text-transform:none;color:var(--bistro-ink,#20231f)}
.public-v2 #carte-plats h4{font-family:Georgia,"Times New Roman",serif;font-size:1.4rem;font-weight:400}
.public-v2 #carte-plats .carte-plats-prix{color:var(--bistro-green-dark,#2f4229)}
.public-v2 #carte-plats .carte-language button{background:var(--bistro-green-dark,#2f4229);color:white}
.public-v2 #carte-plats .carte-plats-date{color:var(--bistro-ink,#20231f);text-align:left}

/* Drapeaux visibles sur tous les systèmes, choix de langue sans JavaScript. */
#carte-plats .carte-language-flag{width:30px;height:20px;object-fit:fill;flex:none;border-radius:3px;box-shadow:0 0 0 1px #0002;vertical-align:middle}
#carte-plats .carte-language-dropdown{position:relative;min-width:180px;max-width:100%;text-align:left}
#carte-plats .carte-language-dropdown summary{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid #d4ccad;border-radius:8px;background:#fff;color:#302b24;cursor:pointer;list-style:none}
#carte-plats .carte-language-dropdown summary::-webkit-details-marker{display:none}
#carte-plats .carte-language-dropdown summary::after{content:'⌄';margin-left:auto;padding-left:12px}
#carte-plats .carte-language-options{position:absolute;z-index:30;top:calc(100% + 6px);left:0;min-width:100%;padding:6px;border:1px solid #d4ccad;border-radius:10px;background:#fff;box-shadow:0 8px 24px #0002}
#carte-plats .carte-language .carte-language-options button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;border-radius:6px;background:#fff;color:#302b24;text-align:left;white-space:nowrap}
#carte-plats .carte-language .carte-language-options button:hover,#carte-plats .carte-language .carte-language-options button[aria-current]{background:#edf4ef;color:#285548}
#carte-plats .carte-language-dropdown summary:focus-visible,#carte-plats .carte-language .carte-language-options button:focus-visible{outline:3px solid #526b35;outline-offset:2px}

/* Formules déjeuner et choix de plats réunis dans le même encart. */
#carte-plats .carte-plats-groupe.carte-plats-dejeuner{grid-column:1/-1;padding:24px;border:1px solid #d9dfce;border-radius:16px;background:#f4f6ef}
#carte-plats .carte-dejeuner-formules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
#carte-plats .carte-dejeuner-formules article{border:0}
#carte-plats .carte-dejeuner-choix{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:16px;padding-top:20px;border-top:1px solid #ccd5c0}
#carte-plats .carte-dejeuner-section{min-width:0}
#carte-plats .carte-dejeuner-heading{font:600 1.2rem/1.4 Georgia,serif;color:#285548;margin:0 0 8px}
#carte-plats .carte-dejeuner-section h5{font:600 18px/1.45 Arial,sans-serif;margin:0;color:#302b24}
.public-v2 #carte-plats .carte-dejeuner-section h5{font-family:Georgia,serif;font-size:1.25rem;font-weight:400}
@media(max-width:767px){#carte-plats .carte-plats-groupe.carte-plats-dejeuner{padding:18px 14px}#carte-plats .carte-dejeuner-formules,#carte-plats .carte-dejeuner-choix{grid-template-columns:1fr;gap:10px}#carte-plats .carte-dejeuner-section+.carte-dejeuner-section{padding-top:16px}}
