/* MonLunch v5 — navigation publique flottante, vert profond.
   Chargé uniquement sur les pages publiques par page_start().
   Administration, logique de commande et impression inchangées. */
:root{--ml-forest:#104936;--ml-forest-dark:#07382b;--ml-leaf:#167653;--ml-mist:#e8f5ed;--ml-ring:#cee8d8}
.ml-public{background:#f8fbf8;color:#19392f}
.ml-public .top{background:transparent;border:0;padding:22px 16px 0}
.ml-public .top .wrap.nav{max-width:1050px;min-height:68px;padding:9px 11px 9px 14px;border-radius:100px;background:var(--ml-forest-dark);border:1px solid rgba(255,255,255,.12);box-shadow:0 16px 32px rgba(9,40,28,.16),0 3px 8px rgba(9,40,28,.12);display:flex;align-items:center;justify-content:space-between;gap:16px}
.ml-public .nav .logo{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;color:#fff;font-weight:780;letter-spacing:-.03em;font-size:18px;line-height:1.2;text-decoration:none}
.ml-public .nav .logo:hover{color:#fff;text-decoration:none}
.ml-public .nav .ml-brand-mark{display:grid;place-items:center;flex:none;width:41px;height:41px;border-radius:50%;background:#eaf7ef;color:var(--ml-forest-dark);box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);font-size:21px}
.ml-public .nav nav{display:flex;align-items:center;flex-wrap:nowrap;gap:5px;font-size:13px;font-weight:650}
.ml-public .nav nav a{color:#edf8f1;text-decoration:none;padding:12px 16px;border-radius:999px;white-space:nowrap;line-height:1;transition:background .2s ease,transform .2s ease}
.ml-public .nav nav a:hover,.ml-public .nav nav a:focus-visible{color:#fff;background:rgba(255,255,255,.13);text-decoration:none}
.ml-public .nav nav a[aria-current="page"]{background:rgba(255,255,255,.13);color:#fff}
.ml-public .nav nav .ml-nav-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;margin-left:10px;color:#0c422f;background:#fff;padding:13px 20px;box-shadow:0 2px 7px rgba(1,23,15,.12);font-weight:800}
.ml-public .nav nav .ml-nav-cta:hover,.ml-public .nav nav .ml-nav-cta:focus-visible{background:#e4f3e9;color:#07382b;transform:translateY(-1px)}
.ml-public .nav nav .ml-nav-cta span{font-size:15px;line-height:.7}
.ml-public .page-head{margin:34px 0 26px}
.ml-public .page-head h1{font-size:clamp(27px,3.3vw,39px);letter-spacing:-.045em;color:#173e2f}
.ml-public .card{border-color:#e2ebe5;border-radius:22px;box-shadow:0 8px 28px rgba(25,65,42,.045)}
.ml-public .ml-school-head{background:#eef8f0;border:1px solid #deecdf;border-radius:20px;padding:20px 24px}
.ml-public .ml-eyebrow{color:var(--ml-leaf);letter-spacing:.15em}
.ml-public .ml-week-tabs{gap:8px;padding:5px 0 14px;scrollbar-width:thin}
.ml-public .ml-week-tab{border:1px solid #dce7de;background:#fff;color:#355d48;padding:12px 20px;border-radius:999px;font-weight:700;transition:background .2s,border-color .2s,color .2s,transform .2s;box-shadow:0 3px 8px rgba(35,79,48,.035)}
.ml-public .ml-week-tab:hover{background:#ecf5ef;color:#124933;border-color:#c2dccb;text-decoration:none;transform:translateY(-1px)}
.ml-public .ml-week-tab.selected{background:var(--ml-forest);color:#fff;border-color:var(--ml-forest);box-shadow:0 5px 14px rgba(15,73,54,.17)}
.ml-public .ml-hero{overflow:hidden;border-radius:26px;border:1px solid #dceadd;box-shadow:0 12px 32px rgba(20,78,41,.06);background:#fff}
.ml-public .ml-hero-copy{padding:clamp(25px,4vw,48px)}
.ml-public .ml-hero-copy h2{font-size:clamp(30px,3.5vw,42px);line-height:1.12;letter-spacing:-.05em;color:#173b2e;margin-bottom:13px}
.ml-public .ml-hero-details{color:#4e6c5a}
.ml-public .ml-hero-media.ml-gallery{background:#eff4ef;gap:7px;padding:8px}
.ml-public .ml-gallery .ml-gallery-item{border-radius:14px}
.ml-public .ml-primary,.ml-public .btn.ml-primary{background:var(--ml-leaf);color:#fff;border-color:var(--ml-leaf);border-radius:999px;padding:13px 22px;font-weight:800;box-shadow:0 5px 12px rgba(14,99,66,.13)}
.ml-public .ml-primary:hover,.ml-public .btn.ml-primary:hover{color:#fff;background:#0c6345;border-color:#0c6345;filter:none;text-decoration:none}
.ml-public .ml-day-preview{background:#fff;border:1px solid #dfeae3;border-radius:22px;padding:23px;box-shadow:0 5px 20px rgba(16,70,36,.025)}
.ml-public .ml-day-header{border-bottom-color:#e8f0e9}
.ml-public .ml-day-name{color:#204332}
.ml-public .ml-chip.good{background:#e1f5e8;color:#0d6443}
.ml-public .ml-options-mini strong{color:#2c5841}
.ml-public .ml-bottom-cta{background:#eaf6ee;border:1px solid #d6e8d9;border-radius:22px;padding:22px 26px}
.ml-public .ml-choice-card{border-radius:18px}
.ml-public .ml-choice-card.is-selected{border-color:#42a77b}
.ml-public .ml-step{background:var(--ml-leaf);border-radius:50%}
.ml-public a:focus-visible,.ml-public button:focus-visible{outline:3px solid #8acf9d;outline-offset:3px}
@media(max-width:720px){
  .ml-public .top{padding:12px 12px 0}
  .ml-public .top .wrap.nav{border-radius:25px;min-height:0;flex-direction:column;align-items:stretch;gap:10px;padding:12px 15px 15px}
  .ml-public .nav .logo{justify-content:center;font-size:18px}
  .ml-public .nav .ml-brand-mark{width:35px;height:35px;font-size:18px}
  .ml-public .nav nav{justify-content:center;gap:2px;width:100%;flex-wrap:wrap}
  .ml-public .nav nav a{font-size:12px;padding:10px 12px}
  .ml-public .nav nav .ml-nav-cta{margin-left:3px;padding:10px 14px}
  .ml-public .page-head{margin:25px 0 20px}
  .ml-public .ml-hero-copy{padding:24px}
  .ml-public .ml-day-preview{padding:17px}
}
@media(max-width:390px){.ml-public .nav nav a{padding:9px 9px}.ml-public .nav nav .ml-nav-cta{padding:9px 12px}}
@media(prefers-reduced-motion:reduce){.ml-public .nav nav a,.ml-public .ml-week-tab{transition:none}}
@media print{.ml-public .top{display:none!important}.ml-public .card,.ml-public .ml-day-preview{box-shadow:none;border-radius:0}.ml-public .ml-week-tabs{display:none!important}}
