
:root{
  --creme:#F7F4EE;
  --papier:#FFFDF8;
  --noir:#111111;
  --or:#CBA15A;
  --or-fonce:#9B7437;
  --bleu:#102F6F;
  --rouge:#B3191E;
  --gris:#6F6A61;
  --filet:rgba(203,161,90,.38);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--creme);color:var(--noir);font-family:Montserrat,Arial,sans-serif;font-weight:300;line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;line-height:1.1;margin:0}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
.container{width:min(1180px,92%);margin:auto}
:focus-visible{outline:2px solid var(--or-fonce);outline-offset:3px}

/* — éléments de charte — */
.chapeau{display:flex;align-items:center;gap:12px;color:var(--or-fonce);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600}
.chapeau::before{content:"";width:46px;height:1px;background:var(--or)}
.filet-or{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto}
.filet-or::before,.filet-or::after{content:"";height:1px;background:var(--or);opacity:.55;flex:1;max-width:140px}
.filet-or svg{width:26px;height:26px;color:var(--or)}
.tricolore{display:inline-flex;gap:0;align-items:center}
.tricolore i{display:block;width:30px;height:3px}
.tricolore .b{background:var(--bleu)}
.tricolore .o{background:#FFFFFF;box-shadow:0 0 0 1px rgba(17,17,17,.10) inset}
.tricolore .r{background:var(--rouge)}
/* sur fond noir, un bleu et un rouge plus lumineux pour rester lisibles */
.topbar .tricolore .b,.footer .tricolore .b,.plat .tricolore .b{background:#2E56C4}
.topbar .tricolore .r,.footer .tricolore .r,.plat .tricolore .r{background:#E23A3F}
.topbar .tricolore .o,.footer .tricolore .o,.plat .tricolore .o{box-shadow:none}
.signature{font-family:"Great Vibes",cursive;font-weight:400;color:var(--or-fonce);line-height:1.35}

/* — barre haute — */
.topbar{background:var(--noir);color:#EDE8DF;font-size:.78rem;letter-spacing:.06em}
.topbar .container{display:flex;justify-content:center;align-items:center;gap:20px;padding:9px 0;flex-wrap:wrap;text-align:center}
.topbar .sep{color:var(--or)}

/* — entête — */
.header{position:sticky;top:0;z-index:50;background:rgba(247,244,238,.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(203,161,90,.25)}
.nav{display:flex;align-items:center;gap:20px;min-height:78px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:56px;height:56px;object-fit:contain}
.brand strong{display:block;font-family:"Cormorant Garamond",serif;font-size:1.12rem;font-weight:600;letter-spacing:.02em}
.brand span{display:block;font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:var(--or-fonce)}
.navlinks{margin-left:auto;display:flex;gap:24px;font-size:.76rem;text-transform:uppercase;letter-spacing:.11em;font-weight:500}
.navlinks a{position:relative;padding:8px 0}
.navlinks a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--or);transition:right .25s}
.navlinks a:hover::after{right:0}
.panier-btn{border:1px solid var(--noir);background:none;color:var(--noir);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:11px 16px;cursor:pointer;white-space:nowrap}
.panier-btn:hover{background:var(--noir);color:#fff}
.panier-btn span{font-variant-numeric:tabular-nums}
.menu-btn{display:none;border:0;background:none;font-size:1.6rem;cursor:pointer;line-height:1}

/* — boutons — */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;border:1px solid var(--noir);font-size:.74rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;background:none;color:var(--noir);transition:background .2s,color .2s,border-color .2s}
.btn.plein{background:var(--noir);color:#fff}
.btn.plein:hover{background:var(--or-fonce);border-color:var(--or-fonce)}
.btn.creux:hover{background:#fff}
.btn.or{background:var(--or);border-color:var(--or);color:var(--noir)}
.btn.or:hover{background:var(--noir);border-color:var(--noir);color:#fff}

/* — héro — */
.hero{position:relative;overflow:hidden;padding:70px 0 56px;background:radial-gradient(circle at 86% 10%,rgba(203,161,90,.14),transparent 26%),linear-gradient(115deg,var(--papier),var(--creme))}
.hero::before{content:"";position:absolute;left:-130px;bottom:-190px;width:430px;height:430px;border:1px solid var(--filet);border-radius:50%}
.hero-grid{position:relative;display:grid;grid-template-columns:1.06fr .94fr;gap:50px;align-items:center}
.hero h1{font-size:clamp(2.9rem,6.4vw,5.4rem);margin:.18em 0 .24em}
.hero h1 em{font-style:italic;color:var(--or-fonce)}
.hero p.accroche{color:var(--gris);max-width:52ch;font-size:1.04rem}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.hero-infos{display:flex;gap:30px;flex-wrap:wrap;margin-top:38px;padding-top:22px;border-top:1px solid var(--filet);font-size:.87rem;color:var(--gris)}
.hero-infos b{display:block;font-family:"Cormorant Garamond",serif;font-size:1.15rem;font-weight:600;color:var(--noir)}

/* — Marcel — */
.marcel{position:relative;display:flex;justify-content:center;align-items:flex-end}
.marcel img{width:min(330px,80%);cursor:pointer;filter:drop-shadow(0 12px 26px rgba(17,17,17,.07))}
.astuce{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--or-fonce);white-space:nowrap}

/* — sections — */
section{padding:78px 0}
.section-blanc{background:var(--papier)}
.tete{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:end;margin-bottom:42px}
.tete h2{font-size:clamp(2rem,3.6vw,2.9rem);margin-top:.22em}
.tete p{color:var(--gris);margin:0;font-size:.98rem}

/* — plat du jour — */
.plat{background:var(--noir);color:var(--creme);position:relative;overflow:hidden}
.plat-grid{display:grid;grid-template-columns:260px 1fr auto;gap:44px;align-items:center}
.plat .medaillon{background:var(--creme);border:1px solid var(--or);padding:20px 14px 0;display:grid;place-items:end center}
.plat .medaillon img{width:100%}
.plat .chapeau{color:var(--or)}
.plat .chapeau::before{background:var(--or)}
.plat h2{font-size:clamp(2.2rem,4.4vw,3.4rem);color:#fff;margin:.2em 0}
.plat .desc{color:#C9C3B8;max-width:44ch;margin:0}
.plat .prix-jour{font-family:"Cormorant Garamond",serif;font-size:3.4rem;color:var(--or);line-height:1}
.plat .prix-jour small{display:block;font-family:Montserrat,sans-serif;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#9A948A}

/* — boutique — */
.filtres{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}
.filtre{border:1px solid var(--filet);background:none;color:var(--gris);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:10px 18px;cursor:pointer}
.filtre[aria-pressed="true"]{background:var(--noir);border-color:var(--noir);color:#fff}
.filtre:hover{border-color:var(--or)}
.grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:26px}
.fiche{background:#fff;border:1px solid var(--filet);display:flex;flex-direction:column}
.fiche:hover{border-color:var(--or)}
.fiche .visuel{aspect-ratio:4/3;background:linear-gradient(135deg,#FBF8F1,#F1EADC);border-bottom:1px solid var(--filet);display:grid;place-items:center;position:relative}
.fiche .visuel .mono{font-family:"Cormorant Garamond",serif;font-size:2.6rem;color:var(--or);opacity:.45;letter-spacing:.08em}
.fiche .rayon{position:absolute;top:10px;left:10px;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--or-fonce);background:var(--creme);border:1px solid var(--filet);padding:4px 9px}
.fiche .corps{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
.fiche h3{font-size:1.3rem}
.fiche .desc{font-size:.84rem;color:var(--gris);margin:6px 0 0;flex:1;line-height:1.55}
.ligne-prix{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:14px;padding-top:12px;border-top:1px dotted var(--filet)}
.ligne-prix .p{font-family:"Cormorant Garamond",serif;font-size:1.55rem;font-weight:600;font-variant-numeric:tabular-nums}
.ligne-prix .u{font-size:.72rem;color:var(--gris);text-align:right}
.ajouter{width:100%;margin-top:14px;border:1px solid var(--noir);background:none;color:var(--noir);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:12px;cursor:pointer}
.ajouter:hover{background:var(--noir);color:#fff}
.ajouter.ok{background:var(--or);border-color:var(--or);color:var(--noir)}

/* — tampons — */
.tampons{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;margin-top:52px}
.tampon{width:128px;height:128px;border-radius:50%;border:1px solid var(--or);display:grid;place-items:center;text-align:center;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--or-fonce);line-height:1.7;padding:14px}
.tampon.mono{font-family:"Cormorant Garamond",serif;font-size:2.4rem;letter-spacing:.06em;text-transform:none}

/* — passerelle traiteur — */
.passerelle{background:var(--papier);border-top:1px solid var(--filet);border-bottom:1px solid var(--filet)}
.passerelle-grid{display:grid;grid-template-columns:200px 1fr auto;gap:48px;align-items:center}
.passerelle .rond-or{width:210px;height:210px;border-radius:50%;border:1px solid var(--or);background:var(--creme);display:grid;place-items:center;padding:32px}
.passerelle .rond-or img{width:100%;height:100%;object-fit:contain}
.passerelle h2{font-size:clamp(2rem,3.8vw,3rem);margin:.16em 0 .3em}
.passerelle p{color:var(--gris);margin:0;max-width:50ch}
.passerelle .prestations{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.passerelle .prestations span{border:1px solid var(--filet);padding:7px 14px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--or-fonce)}
.passerelle .lien{display:block;font-size:.78rem;letter-spacing:.08em;color:var(--gris);margin-top:12px;text-align:center}
.ext{display:inline-flex;align-items:center;gap:7px}
.ext svg{width:11px;height:11px;flex:none}

/* — identité — */
.identite-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center}
.identite-visuel{display:grid;place-items:center;background:var(--papier);border:1px solid var(--filet);padding:32px}
.identite-visuel img{width:min(260px,80%)}
.citation{font-family:"Great Vibes",cursive;font-size:2rem;color:var(--or-fonce);margin:22px 0}
.mini-liste{display:grid;gap:12px;margin-top:26px}
.mini-liste div{display:flex;gap:14px;align-items:baseline;font-size:.92rem;color:var(--gris)}
.mini-liste b{font-family:"Cormorant Garamond",serif;font-size:1.3rem;color:var(--or);min-width:34px}

/* — bandeau Marcel — */
.bande-marcel{background:var(--noir);color:var(--creme);padding:0}
.bande-grid{display:grid;grid-template-columns:190px 1fr auto;gap:40px;align-items:center;padding:40px 0}
.bande-marcel .rond{width:170px;height:170px;border-radius:50%;background:var(--creme);border:1px solid var(--or);overflow:hidden;display:grid;place-items:end center;margin:auto}
.bande-marcel .rond img{width:118%;max-width:none;transform:translateY(6%)}
.bande-marcel h2{color:#fff;font-size:clamp(1.8rem,3.2vw,2.6rem)}
.bande-marcel p{color:#C9C3B8;margin:10px 0 0;max-width:52ch;font-size:.95rem}
.bande-marcel .btn{border-color:#fff;color:#fff}
.bande-marcel .btn:hover{background:#fff;color:var(--noir)}

/* — horaires / contact — */
.horaires-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:34px;align-items:start}
.carte{background:#fff;border:1px solid var(--filet);padding:30px}
.ligne-h{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px dotted var(--filet);font-size:.92rem}
.ligne-h:last-child{border-bottom:0}
.ligne-h strong{font-weight:500}
.ferme{color:var(--rouge);letter-spacing:.08em;font-size:.8rem;text-transform:uppercase}
.puce{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--filet);padding:8px 14px;margin:0 8px 8px 0;font-size:.82rem;color:var(--gris)}
.a-faire{color:var(--or-fonce);font-style:italic}
.form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.form input,.form textarea{width:100%;border:1px solid var(--filet);background:var(--creme);padding:13px 14px;font-size:.9rem;font-weight:300}
.form .full{grid-column:1/-1}
.form textarea{min-height:110px;resize:vertical}

/* — pied — */
.footer{background:var(--noir);color:#A9A299;padding:56px 0 26px;font-size:.87rem}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 150px;gap:36px;align-items:start}
.footer h4{font-family:"Cormorant Garamond",serif;font-size:1.2rem;color:#fff;margin-bottom:14px;font-weight:500}
.footer a:hover{color:var(--or)}
.footer-rond{width:140px;height:140px;border-radius:50%;background:var(--creme);border:1px solid var(--or);display:grid;place-items:center;padding:22px}
.footer-rond img{width:100%;height:100%;object-fit:contain}
.footer .signature{font-size:1.55rem;color:var(--or);margin-top:18px}
.copyright{border-top:1px solid #2A2A2A;margin-top:34px;padding-top:18px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:.74rem;color:#7A736A}

/* — panier — */
.voile{position:fixed;inset:0;background:rgba(17,17,17,.5);opacity:0;pointer-events:none;transition:opacity .25s;z-index:60}
.voile.on{opacity:1;pointer-events:auto}
.tiroir{position:fixed;top:0;right:0;height:100%;width:min(430px,100%);background:var(--creme);z-index:70;transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column;border-left:1px solid var(--filet)}
.tiroir.on{transform:none}
.tiroir-tete{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--filet)}
.tiroir-tete h2{font-size:1.6rem}
.fermer{background:none;border:0;font-size:1.7rem;line-height:1;cursor:pointer;color:var(--gris);padding:2px 8px}
.tiroir-liste{flex:1;overflow-y:auto;padding:6px 24px}
.vide{text-align:center;padding:26px 0}
.vide img{width:140px;margin:0 auto 14px;opacity:.92}
.vide p{color:var(--gris);font-size:.9rem;margin:0}
.vide .signature{font-size:1.5rem;margin-top:6px}
.ligne-p{display:grid;grid-template-columns:1fr auto;gap:4px 14px;padding:18px 0;border-bottom:1px dotted var(--filet)}
.ligne-p h3{font-size:1.05rem}
.ligne-p .u{font-size:.74rem;color:var(--gris)}
.ligne-p .pt{font-family:"Cormorant Garamond",serif;font-size:1.2rem;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.qte{display:inline-flex;align-items:center;border:1px solid var(--filet);margin-top:8px;background:#fff}
.qte button{width:30px;height:28px;border:0;background:none;cursor:pointer;font-size:1rem}
.qte button:hover{background:var(--creme)}
.qte span{min-width:28px;text-align:center;font-size:.85rem;font-variant-numeric:tabular-nums}
.tiroir-pied{padding:20px 24px 26px;border-top:1px solid var(--filet);background:#fff}
.modes{display:grid;gap:9px;margin-bottom:16px;font-size:.86rem}
.modes label{display:flex;gap:10px;align-items:center;cursor:pointer}
.modes input{accent-color:var(--or-fonce)}
.total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}
.total .lib{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gris)}
.total .val{font-family:"Cormorant Garamond",serif;font-size:2rem;font-weight:600;font-variant-numeric:tabular-nums}
.tiroir-pied .btn{width:100%}

@media (max-width:960px){
  .hero-grid,.identite-grid,.horaires-grid,.tete{grid-template-columns:1fr}
  .tete{gap:14px}
  .plat-grid,.bande-grid,.passerelle-grid{grid-template-columns:1fr;gap:26px;text-align:center}
  .passerelle .rond-or{margin:auto}
  .passerelle p,.passerelle .prestations{margin-left:auto;margin-right:auto;justify-content:center}
  .plat .medaillon{width:190px;margin:auto}
  .plat .chapeau,.bande-marcel .chapeau{justify-content:center}
  .plat .desc{margin:auto}
  .footer-grid{grid-template-columns:1fr 1fr}
  .navlinks{display:none;position:absolute;top:78px;left:0;right:0;background:var(--creme);border-bottom:1px solid var(--filet);flex-direction:column;gap:0;padding:10px 4%}
  .navlinks.open{display:flex}
  .navlinks a{padding:13px 0;border-bottom:1px solid var(--filet)}
  .menu-btn{display:block;margin-left:auto}
  .panier-btn{order:3}
  .marcel img{width:240px}
  .salut{position:static;max-width:none;margin-bottom:20px}
  .salut::before{display:none}
  .astuce{display:none}
  .marcel{flex-direction:column;align-items:center}
}
@media (max-width:560px){
  section{padding:56px 0}
  .form{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .tampons{gap:14px}
}

/* — salutation de Marcel — */
.marcel{flex-direction:column;align-items:center;gap:0}
.salut{position:relative;width:min(340px,100%);background:#fff;border:1px solid var(--or);padding:22px 26px 20px;margin-bottom:22px;text-align:left}
.salut::after{content:"";position:absolute;bottom:-8px;left:52px;width:14px;height:14px;background:#fff;border-right:1px solid var(--or);border-bottom:1px solid var(--or);transform:rotate(45deg)}
.salut .guillemets{font-family:"Cormorant Garamond",serif;font-size:2.4rem;color:var(--or);line-height:.5;display:block;height:.6em}
.salut .mot{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.3rem;line-height:1.35;color:var(--noir);margin:0}
.salut .qui{display:flex;align-items:baseline;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--filet)}
.salut .qui b{font-family:"Great Vibes",cursive;font-weight:400;font-size:1.5rem;color:var(--or-fonce);line-height:1}
.salut .qui span{font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gris)}
.marcel img{width:min(300px,78%);cursor:pointer}
.astuce{position:static;transform:none;margin-top:10px;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--or-fonce)}

/* — pages, fil d'ariane, entêtes de page — */
.page-tete{background:linear-gradient(115deg,var(--papier),var(--creme));border-bottom:1px solid var(--filet);padding:52px 0 46px;position:relative;overflow:hidden}
.page-tete::before{content:"";position:absolute;right:-90px;top:-150px;width:340px;height:340px;border:1px solid var(--filet);border-radius:50%}
.page-tete h1{font-size:clamp(2.4rem,5vw,4rem);margin:.14em 0 .2em}
.page-tete p{color:var(--gris);max-width:56ch;margin:0}
.ariane{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gris);margin-bottom:6px}
.ariane a:hover{color:var(--or-fonce)}

/* — cartes d'accès (accueil) — */
.univers{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:26px}
.univers article{background:#fff;border:1px solid var(--filet);padding:30px 26px;display:flex;flex-direction:column;gap:10px}
.univers article:hover{border-color:var(--or)}
.univers h3{font-size:1.5rem}
.univers p{color:var(--gris);font-size:.9rem;margin:0;flex:1}
.univers .aller{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--or-fonce);margin-top:14px}
.univers .num{font-family:"Cormorant Garamond",serif;font-size:1.1rem;color:var(--or);letter-spacing:.1em}

/* — semaine — */
.semaine{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));border-top:1px solid var(--filet)}
.jour{padding:24px 20px;border-bottom:1px solid var(--filet);border-right:1px solid var(--filet)}
.jour:last-child{border-right:none}
.jour .j{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or-fonce)}
.jour h3{font-size:1.28rem;margin:8px 0 6px}
.jour p{font-size:.82rem;color:var(--gris);margin:0}
.jour .px{font-family:"Cormorant Garamond",serif;font-size:1.3rem;font-weight:600;margin-top:12px;display:block}

/* — galerie — */
.galerie{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px}
.cadre{position:relative;background:var(--papier);border:1px solid var(--filet);overflow:hidden}
.cadre .zone{aspect-ratio:4/3;background:linear-gradient(135deg,#FBF8F1,#EFE7D8);display:grid;place-items:center;position:relative}

.cadre .zone img{width:100%;height:100%;object-fit:cover}
.cadre .vide-photo{font-family:"Cormorant Garamond",serif;font-size:2.2rem;color:var(--or);opacity:.4;letter-spacing:.08em}
.cadre figcaption{padding:14px 16px 16px;display:block}
.cadre figcaption b{display:block;font-family:"Cormorant Garamond",serif;font-weight:600;font-size:1.1rem;color:var(--noir);line-height:1.25}
.cadre figcaption span{display:block;margin-top:5px;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--or-fonce)}
.cadre:hover{border-color:var(--or)}

/* — cartes de plats — */
.cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:22px}
.plat-carte{background:#fff;border:1px solid var(--filet);padding:26px 24px;display:flex;flex-direction:column;gap:8px}
.plat-carte .etiq{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--or-fonce);border:1px solid var(--filet);padding:4px 9px;align-self:flex-start}
.plat-carte .etiq.perm{color:var(--gris)}
.plat-carte .etiq.jour{background:var(--or);border-color:var(--or);color:var(--noir)}
.plat-carte h3{font-size:1.42rem;margin-top:6px}
.plat-carte p{font-size:.87rem;color:var(--gris);margin:0;flex:1}
.plat-carte .px{font-family:"Cormorant Garamond",serif;font-size:1.6rem;font-weight:600;margin-top:12px;padding-top:12px;border-top:1px dotted var(--filet)}
.plat-carte .px em{font-family:Montserrat,sans-serif;font-style:normal;font-size:.72rem;letter-spacing:.06em;color:var(--gris);margin-left:8px}
.plat .compte{font-size:.8rem;color:#C9C3B8;margin-top:10px}

/* — semaines à venir — */
.avenir{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;background:var(--filet);border:1px solid var(--filet)}
.bloc-sem{background:var(--papier);padding:22px 20px}
.bloc-sem.encours{background:var(--noir);color:var(--creme)}
.bloc-sem.encours h4,.bloc-sem.encours .px{color:var(--or)}
.bloc-sem.encours li{color:#D8D2C8;border-color:#2E2E2E}
.bloc-sem h4{font-family:"Cormorant Garamond",serif;font-size:1.2rem;font-weight:600;margin:0 0 4px}
.bloc-sem .dates{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--or-fonce);display:block;margin-bottom:12px}
.bloc-sem ul{list-style:none;padding:0;margin:0;font-size:.86rem}
.bloc-sem li{padding:9px 0;border-top:1px dotted var(--filet)}
.bloc-sem li b{font-weight:500;display:block}
.bloc-sem li span{color:var(--gris);font-size:.78rem}

/* — calendrier des plats — */
.calendrier{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:1px;background:var(--filet);border:1px solid var(--filet)}
.case{background:var(--papier);padding:16px 15px;min-height:118px;display:flex;flex-direction:column;gap:5px}
.case.off{background:var(--creme);opacity:.55}
.case .d{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--or-fonce)}
.case h4{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:1.08rem;margin:0;line-height:1.2}
.case p{font-size:.76rem;color:var(--gris);margin:0;flex:1}
.case .px{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:1rem}
.case.aujourdhui{background:var(--noir);color:var(--creme);outline:2px solid var(--or);outline-offset:-2px}
.case.aujourdhui h4{color:#fff}.case.aujourdhui p{color:#C9C3B8}.case.aujourdhui .px{color:var(--or)}
.mois-nav{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.mois-nav button{border:1px solid var(--filet);background:none;width:38px;height:38px;cursor:pointer;font-size:1.1rem}
.mois-nav button:hover{border-color:var(--or)}
.mois-nav strong{font-family:"Cormorant Garamond",serif;font-size:1.5rem;font-weight:600;min-width:190px}


/* — onglets de gestion — */
.onglets{display:flex;gap:0;border-bottom:1px solid var(--filet);margin-bottom:34px;flex-wrap:wrap}
.onglet{border:0;background:none;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--gris);padding:15px 22px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.onglet[aria-selected="true"]{color:var(--noir);border-bottom-color:var(--or)}
.onglet:hover{color:var(--or-fonce)}
.volet[hidden]{display:none}
.rang-prod{display:grid;grid-template-columns:96px 1fr 1fr 130px 150px 40px;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--filet)}
.rang-prod:last-child{border-bottom:none}
.vignette{width:96px;height:72px;border:1px solid var(--filet);background:var(--creme);display:grid;place-items:center;overflow:hidden;cursor:pointer;position:relative}
.vignette img{width:100%;height:100%;object-fit:cover}
.vignette span{font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--or-fonce);text-align:center;padding:4px}
.rang-prod input,.rang-prod select{width:100%;border:1px solid var(--filet);background:#fff;padding:10px 11px;font-size:.84rem;font-weight:300}
.suppr{border:1px solid var(--filet);background:none;width:34px;height:34px;cursor:pointer;color:var(--rouge);font-size:1rem}
.suppr:hover{border-color:var(--rouge)}
@media (max-width:900px){.rang-prod{grid-template-columns:96px 1fr;gap:8px}.rang-prod .suppr{justify-self:start}}

/* — saisie des plats — */
.saisie{border:1px solid var(--filet);background:var(--papier)}
.rang{display:grid;grid-template-columns:118px 1fr 1.2fr 96px 130px 36px;gap:10px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--filet)}
.rang:last-child{border-bottom:none}
.rang.ferme{background:var(--creme)}
.rang .date{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--or-fonce)}
.rang.ferme .date{color:var(--gris)}
.rang input{width:100%;border:1px solid var(--filet);background:#fff;padding:10px 12px;font-size:.88rem;font-weight:300}
.rang input:focus{border-color:var(--or)}
@media (max-width:900px){.rang{grid-template-columns:1fr;gap:8px}.rang .date{font-weight:600}.rang .suppr{justify-self:start}}

/* — nav active — */
.navlinks a.actif{color:var(--or-fonce)}
.navlinks a.actif::after{right:0}
