  *{margin:0;padding:0;box-sizing:border-box}
  :root{
    --bg:#ffffff; --cream:#f5f6f1; --ink:#0f110c; --muted:#6c7263;
    --line:#e6e8de; --vert:#7cbf3f; --vert-d:#5f9e2b; --vert-h:#8fd24c;
  }
  html{scroll-behavior:smooth}
  body{font-family:'Poppins',system-ui,sans-serif;background:var(--bg);color:var(--ink);overflow-x:hidden}
  h1,h2,h3,.h2,.display{font-family:'Anton',sans-serif;font-weight:400;letter-spacing:.5px;line-height:.96;text-transform:uppercase}
  a{color:inherit;text-decoration:none}
  img{display:block;max-width:100%}
  .wrap{max-width:1200px;margin:0 auto;padding:0 22px}
  .vert{color:var(--vert-d)}
  .page-top{padding-top:96px}

  .btn{display:inline-flex;align-items:center;gap:9px;background:var(--vert);color:#0f110c;font-weight:800;
      padding:14px 28px;border-radius:50px;font-size:14px;border:none;cursor:pointer;letter-spacing:.3px;
      box-shadow:0 8px 22px rgba(124,191,63,.35);transition:transform .18s,box-shadow .18s,background .18s}
  .btn:hover{transform:translateY(-2px);background:var(--vert-h);box-shadow:0 12px 30px rgba(124,191,63,.5)}
  .btn.dark{background:var(--ink);color:#fff;box-shadow:none}.btn.dark:hover{background:#000}
  .btn.ghost{background:transparent;border:2px solid var(--ink);color:var(--ink);box-shadow:none}
  .btn.ghost:hover{background:var(--ink);color:#fff}
  .btn.sm{padding:9px 18px;font-size:13px}
  .btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}

  /* NAV (fixe) */
  nav{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;
      padding:12px 22px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
  .brand{display:flex;align-items:center;gap:11px}
  .brand img{width:44px;height:44px;border-radius:11px}
  .brand .nm{font-family:'Montserrat';font-weight:900;font-size:17px;letter-spacing:.3px;white-space:nowrap}
  .nav-links{display:flex;gap:26px;font-size:13.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
  .nav-links a{color:var(--ink);transition:.2s}.nav-links a:hover{color:var(--vert-d)}
  .nav-right{display:flex;align-items:center;gap:12px}
  .link-co{font-weight:700;font-size:13.5px;display:flex;align-items:center;gap:6px;cursor:pointer}
  .link-co:hover{color:var(--vert-d)}
  /* Pictos en trait fin, à la place des emojis */
  .ico{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
  /* Grands pictos (confirmation, e-mail envoyé, anti-gaspi, avis) */
  .ico-xl{width:46px;height:46px;stroke:var(--vert-d);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;display:block;margin:0 auto 6px}
  .ag-ico .ico-xl{width:32px;height:32px;margin:0 0 6px}
  .ag-ico.c .ico-xl{margin:0 auto 6px}
  .av-pouce{display:inline-flex;flex-direction:column;align-items:center;gap:6px;font-size:14px}
  .av-pouce .ico-xl{width:34px;height:34px;margin:0;stroke:currentColor}
  .ico-s{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;flex:none}
  .link-co .ico{stroke:var(--vert-d)}
  .cempty .ico{width:36px;height:36px;stroke:#c3c7ba;display:block;margin:0 auto 12px}
  .perk .e .ico-s{width:22px;height:22px;stroke:var(--vert-d);vertical-align:0}
  .cl-n .ico-s,.co-mode .ico-s,.co-login .ico-s{stroke:var(--vert-d)}
  .cart-pts .ico-s{stroke:#5f9e2b}
  .nav-pts{background:#eef7e6;color:#3f6a16;border:1px solid #cfe6b8;border-radius:20px;padding:2px 9px;font-size:12px;font-weight:800;white-space:nowrap}
  .nav-pts.used{background:#fff8e6;border-color:#f1dfae;color:#6b4d00}
  @media(max-width:900px){.nav-links{display:none}.link-co span{display:none}}

  /* HERO plein écran */
  .hero{position:relative;height:calc(100svh - 46px);display:flex;align-items:center;overflow:hidden;background:#0c0e0a}
  .hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,9,6,.9),rgba(8,9,6,.55) 50%,rgba(8,9,6,.1))}
  .hero .wrap{position:relative;z-index:2;color:#fff;max-width:none;margin:0;padding:26px clamp(22px,5vw,72px)}
  .hero .inner{max-width:760px}
  .kick{display:inline-block;color:var(--vert);font-weight:800;font-size:15px;letter-spacing:3px;text-transform:uppercase;margin-bottom:14px;text-shadow:0 2px 14px rgba(0,0,0,.5)}
  .hero h1{font-size:clamp(44px,8.5vw,104px);color:#fff;text-shadow:0 6px 34px rgba(0,0,0,.5);white-space:nowrap}
  @media(max-width:560px){.hero h1{white-space:normal}}
  .hero h1 .l2{color:#fff}
  .hero p.lead{margin:18px 0 28px;font-size:clamp(15px,2vw,19px);color:#eaece3;max-width:480px;line-height:1.6}
  .hero-actions{display:flex;gap:13px;flex-wrap:wrap}
  .hero-rate{margin-top:22px;font-size:14px;color:#eaece3;font-weight:600}.hero-rate b{color:var(--vert)}
  .hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:46px;height:46px;border-radius:50%;
      background:rgba(255,255,255,.16);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.35);color:#fff;
      font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s}
  .hero-arrow:hover{background:rgba(255,255,255,.3)}.hero-arrow.l{left:18px}.hero-arrow.r{right:18px}
  .hero-dots{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:9px}
  .hero-dots i{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.5);transition:.3s}
  .hero-dots i.on{background:var(--vert);width:28px;border-radius:6px}
  @media(max-width:560px){.hero-arrow{display:none}}

  .marquee{background:var(--vert);color:#0f110c;overflow:hidden;white-space:nowrap;padding:11px 0;font-family:'Montserrat';font-weight:800;font-size:16px;letter-spacing:.5px;text-transform:uppercase}
  .marquee span{display:inline-block;padding-right:40px;animation:scroll 14s linear infinite}
  .marquee b{color:#fff}
  @keyframes scroll{from{transform:translateX(100%)}to{transform:translateX(-100%)}}

  .reveal{opacity:0;transform:translateY(28px);transition:.7s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}
  section{padding:clamp(58px,9vw,100px) 0}
  .head{margin-bottom:8px}
  .eyebrow{color:var(--vert-d);font-weight:800;font-size:13px;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}
  .h2{font-size:clamp(30px,5.5vw,58px);margin-bottom:12px}
  .sub{color:var(--muted);max-width:560px;font-size:15.5px;line-height:1.6}

  /* SERVICES */
  .services{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:44px}
  @media(max-width:680px){.services{grid-template-columns:1fr}}
  .svc{position:relative;border-radius:22px;min-height:200px;display:flex;align-items:flex-end;padding:26px;background:#fff;border:1px solid var(--line);transition:.3s}
  .svc:hover{transform:translateY(-5px);border-color:var(--vert);box-shadow:0 16px 36px rgba(0,0,0,.08)}
  .svc .ic{position:absolute;top:22px;right:24px;font-size:46px}
  .svc .tagn{position:absolute;top:24px;left:24px;background:var(--vert);color:#0f110c;font-weight:800;font-size:11px;padding:4px 10px;border-radius:6px;letter-spacing:1px}
  .svc h3{font-size:30px;margin-bottom:6px}.svc p{color:var(--muted);font-size:14px;max-width:82%}
  .scards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}
  @media(max-width:980px){.scards{grid-template-columns:1fr 1fr}}
  @media(max-width:520px){.scards{grid-template-columns:1fr}}
  .scard{position:relative;display:flex;flex-direction:column;justify-content:flex-start;min-height:0;border-radius:22px;padding:26px 24px 28px;text-decoration:none;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 50% 0%,#2b4a10,#0f110c 72%);transition:transform .3s,box-shadow .3s}
  .scard:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(0,0,0,.28)}
  .scard .sic{width:54px;height:54px;border-radius:15px;background:var(--vert);color:#0f110c;display:flex;align-items:center;justify-content:center;font-size:27px;margin-bottom:16px;box-shadow:0 8px 20px rgba(124,191,63,.35)}
  .scard h3{color:#fff;font-size:26px;margin:0 0 8px}
  .scard p{color:#c8ccc0;font-size:13.5px;line-height:1.55;margin:0;min-height:42px}
  .pchead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
  .pchead .sub{margin:8px 0 0}
  .pcnav{display:flex;align-items:center;gap:12px}
  .pclink{font-family:'Anton',sans-serif;text-transform:uppercase;letter-spacing:.5px;color:var(--ink);text-decoration:none;font-size:16px;border-bottom:2px solid var(--vert);padding-bottom:2px;white-space:nowrap}
  .pcarrow{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:22px;cursor:pointer;color:var(--ink);display:flex;align-items:center;justify-content:center;transition:.2s;line-height:1}
  .pcarrow:hover{background:var(--vert);border-color:var(--vert);color:#0f110c}
  .pcar{display:flex;gap:20px;margin-top:36px;overflow-x:auto;scroll-behavior:smooth;padding:6px 2px 14px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .pcar::-webkit-scrollbar{height:6px}.pcar::-webkit-scrollbar-thumb{background:#cfd3c8;border-radius:3px}
  .pcard{flex:0 0 300px;scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .3s,box-shadow .3s}
  .pcard:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(0,0,0,.09)}
  .pcimg{height:230px;display:flex;align-items:center;justify-content:center;font-size:96px;position:relative;background:radial-gradient(circle at 50% 40%,#eef4e2,#e2e7d6)}
  .pcbadge{position:absolute;top:16px;left:16px;background:var(--vert);color:#0f110c;font-weight:800;font-size:11px;padding:5px 11px;border-radius:6px;letter-spacing:.8px;font-family:'Montserrat'}
  .pcbadge.promo{background:#e5384e;color:#fff;box-shadow:0 3px 10px rgba(229,56,78,.4)}
  .pcb{padding:18px 20px 22px}
  .pcb h3{font-size:24px;margin:0 0 7px}
  .pcb p{color:var(--muted);font-size:13.5px;line-height:1.5;margin:0 0 12px;min-height:40px}
  .pcp{font-family:'Montserrat';font-weight:900;font-size:20px;color:var(--vert-d)}
  @media(max-width:520px){.pcard{flex:0 0 78vw}}
  .topups{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
  @media(max-width:760px){.topups{grid-template-columns:1fr}}
  .tup{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px 22px;text-align:center;transition:transform .3s,box-shadow .3s}
  .tup:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(0,0,0,.08)}
  .tup.best{border-color:var(--vert);box-shadow:0 12px 30px rgba(124,191,63,.18)}
  .tup-tag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--vert);color:#0f110c;font-family:'Montserrat';font-weight:800;font-size:10.5px;letter-spacing:.8px;padding:5px 12px;border-radius:6px;white-space:nowrap}
  .tup-pay{font-family:'Montserrat';font-weight:700;font-size:14px;color:var(--muted)}
  .tup-arrow{font-size:20px;color:var(--vert);margin:6px 0 2px;line-height:1}
  .tup-get{font-family:'Anton',sans-serif;font-size:50px;color:var(--ink);line-height:1;letter-spacing:.5px}
  .tup-bonus{margin-top:10px;font-family:'Montserrat';font-weight:800;font-size:13.5px;color:var(--vert-d)}
  .rules{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px 30px;margin-top:36px}
  .rules h3{font-size:24px;margin-bottom:16px}
  .rules ul{list-style:none;padding:0;margin:0}
  .rules li{position:relative;padding-left:27px;margin-bottom:12px;color:#33352f;font-size:14.5px;line-height:1.55}
  .rules li:before{content:"✓";position:absolute;left:0;top:0;color:var(--vert);font-weight:900}
  .rules .fine{margin-top:16px;font-size:12.5px;color:var(--muted)}
  .rules .fine a{color:var(--vert-d);font-weight:700}

  /* TRUST */
  .trust{background:var(--cream)}
  .trust .wrap{display:flex;flex-wrap:wrap;gap:26px;justify-content:center;align-items:center;text-align:center}
  .tcell{flex:1;min-width:150px}
  .tcell .n{font-family:'Montserrat';font-weight:900;font-size:38px;color:var(--vert-d)}
  .tcell .l{color:var(--muted);font-size:13.5px;font-weight:500}

  /* ACTUALITÉ (style Chamas) */
  .actu{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
  @media(max-width:820px){.actu{grid-template-columns:1fr}}
  .acard{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.04);transition:.3s;display:block}
  .acard:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.1)}
  .acard .img{height:215px;position:relative;background-size:cover;background-position:center;background-color:#11140f}
  .acard .img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,0) 45%)}
  .acard .badge2,.acard .ico-round{z-index:2}
  .acard .badge2{position:absolute;top:16px;left:16px;font-weight:800;font-size:11px;letter-spacing:.8px;padding:5px 12px;border-radius:6px;color:#0f110c;background:var(--vert)}
  .acard .ico-round{position:absolute;bottom:16px;right:16px;width:46px;height:46px;border-radius:50%;background:var(--vert);color:#0f110c;display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 6px 16px rgba(0,0,0,.25)}
  .acard .b{padding:20px 22px}
  .acard .b h3{font-family:'Poppins';font-weight:800;font-size:19px;text-transform:none;letter-spacing:0;margin-bottom:6px}
  .acard .b p{color:var(--muted);font-size:14px;font-weight:300;line-height:1.5}
  .acard .g1{background:radial-gradient(circle at 50% 38%,#33530f,#0f110c)}
  .acard .g2{background:radial-gradient(circle at 50% 38%,#4f8a23,#1c2a0f)}
  .acard .g3{background:radial-gradient(circle at 50% 38%,#1c2230,#0f110c)}

  /* MENU dynamique */
  /* En-tête sombre de la carte : unique bloc sombre, le catalogue reste en clair */
  .carte-hero{position:relative;background:#0c0e0a;padding:124px 0 46px;margin-bottom:8px}
  .carte-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,9,6,.86),rgba(8,9,6,.7))}
  .carte-hero .wrap{position:relative;z-index:1;text-align:center}
  .carte-hero .eyebrow{color:var(--vert);margin-bottom:8px}
  .carte-hero h1{color:#fff;font-family:'Poppins',sans-serif;font-weight:700;text-transform:none;letter-spacing:0;font-size:clamp(26px,3.2vw,38px);line-height:1.2;margin:0 0 8px}
  .carte-hero p{color:#c8cdbc;font-size:14.5px;margin:0}
  @media(max-width:820px){.carte-hero{padding:96px 0 34px}}
  /* Le catalogue démarre juste sous l'en-tête, sans grand blanc */
  .carte-hero + #menu{padding-top:4px}
  .carte-hero + #menu .menu-layout{margin-top:18px}
  .menu-layout{display:flex;gap:30px;align-items:flex-start;margin-top:30px}
  .menu-layout .grid{flex:1;margin-top:0;order:1}
  .cattabs{order:0;flex:0 0 250px;position:sticky;top:88px;display:flex;flex-direction:column;gap:2px;padding:0}
  .menu-layout .cattabs button{width:100%;text-align:left}
  .cat-toggle{display:none;order:-1;align-items:center;justify-content:space-between;gap:10px;width:100%;
    background:var(--ink);color:#fff;font-family:'Poppins';font-weight:800;font-size:15px;border:none;cursor:pointer;
    padding:14px 18px;border-radius:14px;position:sticky;top:64px;z-index:40;margin-bottom:6px}
  .cat-toggle i{font-style:normal;transition:transform .25s;font-size:13px}
  .cat-toggle.open i{transform:rotate(180deg)}
  @media(max-width:820px){
    .menu-layout{flex-direction:column;gap:0}
    .cat-toggle{display:flex}
    .cattabs{order:0;flex:none;width:100%;flex-direction:column;gap:6px;position:static;top:auto;
      max-height:0;overflow:hidden;padding:0;transition:max-height .28s ease,padding .28s ease}
    .cattabs.open{max-height:65vh;overflow:auto;padding:4px 0 12px;border-bottom:1px solid var(--line);margin-bottom:8px}
    .menu-layout .cattabs button{width:100%;text-align:left}
  }
  .cattabs::-webkit-scrollbar{height:6px}
  .cattabs::-webkit-scrollbar-thumb{background:#cfd3c8;border-radius:3px}
  /* Catégories : liste sobre, un filet vert marque l'active (plus de pastille vert vif) */
  .cattabs button{flex:0 0 auto;border:0;border-left:3px solid transparent;background:transparent;color:#5c6455;font-weight:600;font-size:14px;
      padding:10px 14px;border-radius:0 8px 8px 0;cursor:pointer;white-space:nowrap;transition:.18s}
  .cattabs button:hover{background:#f3f4ef;color:var(--ink)}
  .cattabs button.on{background:#f3f4ef;border-left-color:var(--vert);color:var(--ink);font-weight:800}
  /* Carte en une seule page : les catégories s'enchaînent, avec un repère de titre */
  .cat-sec{scroll-margin-top:96px}
  .cat-sec + .cat-sec{margin-top:38px}
  .cat-head{text-align:left;margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--line)}
  .cat-head h2{font-family:'Poppins',sans-serif;font-weight:700;font-size:clamp(19px,2.2vw,24px);letter-spacing:0;text-transform:none;line-height:1.25;margin:0}
  .cat-head p{color:#6b7261;font-size:14px;margin:5px 0 0}
  /* Fiches compactes : deux colonnes de cartes horizontales, une seule sur téléphone */
  .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:0}
  @media(max-width:1000px){.grid{grid-template-columns:1fr;gap:12px}}
  .card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.25s;box-shadow:0 2px 10px rgba(20,24,10,.05);display:flex;flex-direction:column;cursor:pointer}
  .card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(0,0,0,.09)}
  .card{flex-direction:row;align-items:stretch}
  .card .ph{flex:none;width:104px;height:104px;align-self:center;margin:10px 0 10px 10px;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:40px;position:relative;background:#f4f5f0}
  .card .ph img{width:100%;height:100%;object-fit:cover}
  .card .badge{position:absolute;top:6px;left:6px;background:var(--vert);color:#0f110c;font-weight:800;font-size:10.5px;padding:4px 9px;border-radius:5px;letter-spacing:.7px}
  .card .ko{position:absolute;inset:0;background:rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;font-weight:800;color:#b00;font-family:'Montserrat'}
  .card .info{padding:12px 14px 12px 12px;display:flex;flex-direction:column;flex:1;min-width:0;justify-content:center}
  .card .info h3{font-family:'Poppins';font-weight:700;font-size:15px;text-transform:none;letter-spacing:0;margin-bottom:3px;line-height:1.3;min-height:0}
  .card .info p{color:var(--muted);font-size:12.5px;font-weight:300;line-height:1.45;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  /* Ajout rapide : + sur la fiche, qui devient − n + dès le premier article */
  .card .card-add{flex:none;align-self:center;display:flex;align-items:center;gap:8px;padding:0 12px 0 2px;cursor:default}
  .card .card-add button{flex:none;width:34px;height:34px;padding:0;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:20px;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
  .card .card-add .ca-plus{background:var(--vert);border-color:var(--vert);color:#16200b}
  .card .card-add .ca-plus:hover{filter:brightness(1.06)}
  .card .card-add b{min-width:12px;text-align:center;font-weight:800;font-size:15px}
  .card .row{display:flex;align-items:center;justify-content:space-between;margin-top:14px}
  .card .price{font-family:'Poppins',sans-serif;font-weight:800;font-size:17px;color:var(--ink);letter-spacing:0}
  .card .price .o{font-size:11px;color:var(--muted);font-weight:600;font-family:'Poppins'}
  .center{text-align:center;margin-top:40px}
  .menu-note{color:var(--muted);font-size:13px;margin-top:14px;text-align:center}

  /* LOYALTY */
  .loy{background:var(--ink);color:#fff;border-radius:28px;padding:clamp(34px,6vw,60px);display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
  @media(max-width:820px){.loy{grid-template-columns:1fr;gap:30px}}
  .loy h2{font-size:clamp(30px,5vw,52px);margin-bottom:14px}.loy h2 .vert{color:var(--vert)}
  .loy .eyebrow{color:var(--vert)}
  .loy p{color:#c8ccc0;font-weight:300;font-size:15.5px;line-height:1.6;margin-bottom:24px}
  .perks{display:grid;grid-template-columns:1fr 1fr;gap:13px}@media(max-width:480px){.perks{grid-template-columns:1fr}}
  .perk{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px}
  .perk .e{font-size:24px}.perk b{display:block;font-weight:700;font-size:14.5px;margin:8px 0 3px}
  .perk small{color:#aab09f;font-weight:300;font-size:12.5px}
  a.perk{display:block;text-decoration:none;color:inherit;cursor:pointer;transition:transform .25s,background .25s,border-color .25s}
  a.perk:hover{background:rgba(124,191,63,.12);border-color:var(--vert);transform:translateY(-3px)}
  .perk .go{display:block;margin-top:9px;font-family:'Montserrat';font-weight:800;font-size:11px;color:var(--vert);letter-spacing:.5px}
  section[id]{scroll-margin-top:90px}
  .rwds{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
  @media(max-width:760px){.rwds{grid-template-columns:1fr}}
  .rwd{background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px 14px 24px;text-align:center;transition:transform .3s,box-shadow .3s;overflow:hidden}
  .rwd:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(0,0,0,.08)}
  .rwd .em{font-size:52px;line-height:1}
  .rwd .rimg{width:100%;aspect-ratio:4/3;border-radius:14px;background:#0f110c center/cover no-repeat;margin-bottom:10px}
  .rwd .pts{font-family:'Anton',sans-serif;font-size:32px;color:var(--vert-d);margin:12px 0 6px;line-height:1;letter-spacing:.5px}
  .rwd .lb{font-family:'Montserrat';font-weight:800;font-size:15px;color:var(--ink)}
  .rwd .dt{color:var(--muted);font-size:13px;margin-top:6px;line-height:1.45}
  /* --- Rubrique en inversion sombre (la cagnotte) --- */
  .sec-dark{background:var(--ink)}
  .sec-dark .h2{color:#fff}
  .sec-dark .h2 .vert{color:var(--vert)}
  .sec-dark .eyebrow{color:var(--vert)}
  .sec-dark .sub{color:#c8ccc0}
  .sec-dark .tup{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
  .sec-dark .tup:hover{box-shadow:0 16px 36px rgba(0,0,0,.35)}
  .sec-dark .tup.best{border-color:var(--vert);box-shadow:0 12px 34px rgba(124,191,63,.22)}
  .sec-dark .tup-pay{color:#aab09f}
  .sec-dark .tup-get{color:#fff}
  .sec-dark .tup-bonus{color:var(--vert)}
  .sec-dark .rules{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14)}
  .sec-dark .rules h3{color:#fff}
  .sec-dark .rules li{color:#c8ccc0}
  .sec-dark .rules li b{color:#fff}
  .sec-dark .rules .fine{color:#8b9182}
  .sec-dark .rules .fine a{color:var(--vert)}
  .refbox2{background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
  .refcode2{font-family:'Anton',sans-serif;font-size:34px;letter-spacing:2px;color:var(--vert-d);line-height:1}

  /* RESTO */
  .resto{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch}
  @media(max-width:820px){.resto{grid-template-columns:1fr}}
  .resto .map{border-radius:22px;min-height:300px;border:1px solid var(--line);background:url('devanture.jpg') center 80%/cover;position:relative;overflow:hidden}
  .resto .map::after{content:"38 Av. Victor Hugo, Aix-en-Provence";position:absolute;bottom:16px;left:16px;background:rgba(15,17,12,.78);color:#fff;padding:8px 14px;border-radius:30px;font-size:12.5px;font-weight:600}
  .infos{display:flex;flex-direction:column;gap:14px;justify-content:center}
  .iline{background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:18px 20px}
  .iline .k{color:var(--vert-d);font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;font-weight:800;margin-bottom:5px}
  .iline .v{font-weight:500;font-size:15.5px;line-height:1.55}.iline .v span{color:var(--muted);font-weight:300}

  /* FAQ */
  .faq{max-width:800px;margin:42px auto 0}
  .qa{border-bottom:1px solid var(--line)}
  .qa button{width:100%;text-align:left;background:none;border:none;color:var(--ink);font-family:'Poppins';font-weight:700;font-size:16.5px;padding:20px 0;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center}
  .qa .ans{max-height:0;overflow:hidden;transition:.35s;color:var(--muted);font-weight:300;font-size:14.5px;line-height:1.6}
  .qa.open .ans{max-height:220px;padding-bottom:20px}
  .qa .pl{color:var(--vert-d);font-size:24px;transition:.3s;flex-shrink:0}.qa.open .pl{transform:rotate(45deg)}

  .cta{text-align:center;background:var(--vert);color:#0f110c;border-radius:30px;padding:clamp(40px,7vw,72px)}
  .cta h2{font-size:clamp(30px,6vw,58px);margin-bottom:12px}.cta p{font-weight:600;margin-bottom:26px;font-size:16px;opacity:.8}
  footer{background:var(--cream);border-top:1px solid var(--line);padding:52px 0 30px;margin-top:10px}
  /* Pied de page : quatre blocs sur une même ligne (marque, nous trouver, horaires, infos). Texte
     en gris foncé #5b6350 et en graisse normale : contraste 5,8:1 sur le fond crème (4,58:1 avant,
     en graisse fine). La marque reprend l en-tête des pages claires : MONSIEUR à l encre, SUSHI
     dans le vert du logo. Chaque bloc a sa place nommée : si les horaires tardent, rien ne bouge. */
  .fcols{display:grid;grid-template-columns:1.2fr 1.1fr 1.3fr .9fr;grid-template-areas:"marque trouver heures infos";gap:34px}
  .f-marque{grid-area:marque}.f-trouver{grid-area:trouver}.f-heures{grid-area:heures}.f-infos{grid-area:infos}
  .fcols h4{font-family:'Poppins';font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:1px;margin-bottom:14px;color:var(--ink)}
  .fcols a,.fcols p{display:block;color:#5b6350;font-size:13.5px;font-weight:400;margin-bottom:9px}.fcols a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
  .fcols .brand{display:flex;margin:0 0 14px;color:var(--ink)}.fcols .brand:hover{text-decoration:none}
  footer .brand img{width:46px;height:46px}
  .fcols .f-note{display:inline-flex;align-items:center;gap:7px;margin:2px 0 0;color:var(--ink)}
  .fcols .f-note[hidden]{display:none}
  .f-note svg{width:15px;height:15px;fill:#e3a008;flex:none}
  .f-note b{font-weight:700}.f-note span{color:#5b6350}
  .f-trouver p{line-height:1.55}
  .f-actions{display:flex;flex-direction:column;align-items:flex-start}
  .fcols .f-actions a,.fcols .f-mail{display:inline-flex;align-items:center;gap:9px}
  .f-actions svg,.f-mail svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
  /* Panneaux Fidélité (ouverts depuis les tuiles de l accueil) : même mécanique que le panier,
     habillés comme l univers fidélité (section Cagnotte de la page Fidélité, bloc de l accueil) :
     fond encre, grand titre en capitales, chiffres en grand, accents verts. Aucun emoji. */
  .drawer.fid-panel{width:min(460px,100vw);background:var(--ink);color:#c8ccc0;color-scheme:dark}
  .fid-panel .dh{border-bottom-color:rgba(255,255,255,.1)}
  .fid-panel .dh h3{color:var(--vert);font-size:12px;letter-spacing:.26em}
  .fid-panel .dh .x{color:#8b9182}
  .fid-panel .dh .x:hover{color:#fff}
  .fid-panel .dbody{padding:24px 22px 28px}
  .fid-panel .dfoot{display:flex;flex-direction:column;gap:12px;border-top-color:rgba(255,255,255,.1)}
  .fid-panel .btn.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45)}
  .fid-panel .btn.ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
  .fid-accroche{font:800 clamp(25px,7.4vw,31px)/1.04 'Poppins',sans-serif;letter-spacing:.01em;text-transform:uppercase;color:#fff;margin:0 0 16px}
  .fid-accroche span{color:var(--vert)}
  .fid-intro{font-size:14px;line-height:1.6;color:#c8ccc0;margin:0 0 20px}
  .fid-h{font:700 11px 'Poppins',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#fff;margin:28px 0 12px}
  /* Le chiffre du client : ses points ou sa cagnotte, en très grand */
  .fid-big{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);padding:16px 18px 18px;margin:0 0 20px}
  .fid-big .k{font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#8b9182}
  .fid-big .n{font:400 54px/1 'Anton',sans-serif;letter-spacing:.02em;color:#fff;margin-top:8px}
  .fid-big .n em{font:700 12px 'Poppins',sans-serif;font-style:normal;letter-spacing:.2em;text-transform:uppercase;color:var(--vert);margin-left:8px}
  .fid-prog{height:6px;background:rgba(255,255,255,.12);margin-top:16px}
  .fid-prog i{display:block;height:100%;background:var(--vert)}
  .fid-big .s{margin-top:10px;font-size:13px;line-height:1.5;color:#c8ccc0}
  .fid-big .s b{color:#fff}
  /* Chiffres clés en cases */
  .fid-kpis{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:10px;margin:0 0 6px}
  .fid-kpis div{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);padding:14px 10px;text-align:center}
  .fid-kpis b{display:block;font:400 32px/1 'Anton',sans-serif;letter-spacing:.02em;color:#fff}
  .fid-kpis span{display:block;margin-top:7px;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8b9182;line-height:1.35}
  @media(max-width:400px){.fid-kpis b{font-size:26px}}
  /* Paliers de points */
  .fid-pal{display:flex;align-items:center;gap:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);padding:13px 16px;margin-bottom:8px}
  .fid-pal .pt{flex:none;min-width:54px;text-align:center}
  .fid-pal .pt b{display:block;font:400 30px/1 'Anton',sans-serif;color:#fff}
  .fid-pal .pt span{display:block;margin-top:3px;font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--vert)}
  .fid-pal .lb{flex:1;font-size:14px;font-weight:500;line-height:1.4;color:#fff}
  .fid-pal .et{flex:none;font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8b9182;white-space:nowrap}
  .fid-pal.ok{border-color:var(--vert)}
  .fid-pal.ok .et{background:var(--vert);color:var(--ink);padding:5px 8px}
  /* Recharges de la cagnotte : comme la page Fidélité (Le plus pris, Meilleur bonus) */
  .fid-tups{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0 8px}
  .fid-tup{position:relative;text-align:center;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);padding:22px 8px 16px}
  .fid-tup.best{border-color:var(--vert);box-shadow:0 10px 28px rgba(124,191,63,.2)}
  .fid-tup .tag{position:absolute;top:-9px;left:50%;transform:translateX(-50%);background:var(--vert);color:var(--ink);font:700 9px 'Poppins',sans-serif;font-style:normal;letter-spacing:.08em;text-transform:uppercase;padding:4px 7px;white-space:nowrap}
  .fid-tup .p{font-size:13px;font-weight:600;color:#aab09f}
  .fid-tup .p span{display:block;font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#8b9182;margin-bottom:2px}
  .fid-tup .a{color:var(--vert);font-size:15px;line-height:1;margin:7px 0 5px}
  .fid-tup .g{font:400 38px/1 'Anton',sans-serif;letter-spacing:.02em;color:#fff}
  .fid-tup .b{margin-top:9px;font-size:11.5px;font-weight:700;color:var(--vert)}
  .fid-tup .b small{display:block;margin-top:2px;font-size:10.5px;font-weight:500;color:#8b9182}
  /* Client connecté : l'offre est un bouton, « Recharger 50 € » en bas de la carte */
  button.fid-tup{display:block;width:100%;font:inherit;color:inherit;cursor:pointer}
  button.fid-tup:hover{border-color:var(--vert)}
  button.fid-tup:disabled{opacity:.55;cursor:default}
  .fid-tup .go{display:block;margin-top:12px;background:var(--vert);color:var(--ink);font:700 10px 'Poppins',sans-serif;letter-spacing:.14em;text-transform:uppercase;padding:9px 6px;text-align:center}
  .fid-rech-msg{margin:8px 0 0;font-size:13px;color:#e3c27a;text-align:center}
  .fid-rech-msg:empty{display:none}
  .fid-rech-ok{margin:0 0 16px;padding:12px 14px;background:rgba(124,191,63,.16);border:1px solid var(--vert);color:#dcefc6;font-size:13.5px;line-height:1.45}
  .fid-rech-ok b{color:#fff}
  @media(max-width:480px){
    .fid-tups{grid-template-columns:1fr;gap:14px}
    .fid-tup{display:grid;grid-template-columns:1fr auto;grid-template-areas:"p g" "b g";align-items:center;column-gap:12px;text-align:left;padding:18px 16px 14px}
    .fid-tup .p{grid-area:p}
    .fid-tup .a{display:none}
    .fid-tup .g{grid-area:g;font-size:42px}
    .fid-tup .b{grid-area:b;margin-top:4px}
    button.fid-tup{display:grid;grid-template-areas:"p g" "b g" "go go"}
    .fid-tup .go{grid-area:go}
    .fid-tup .tag{left:12px;transform:none}
  }
  /* Parrainage : les deux gains, le code à partager, les chiffres */
  .fid-duo{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 6px}
  .fid-duo div{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);padding:18px 12px 16px;text-align:center}
  .fid-duo div:first-child{border-color:var(--vert)}
  .fid-duo b{display:block;font:400 48px/1 'Anton',sans-serif;color:#fff}
  .fid-duo span{display:block;margin-top:8px;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--vert)}
  .fid-duo small{display:block;margin-top:5px;font-size:12px;line-height:1.4;color:#8b9182}
  .fid-ticket{border:1px dashed var(--vert);padding:16px 14px 18px;text-align:center;margin:0 0 20px}
  .fid-ticket span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#8b9182}
  .fid-ticket b{display:block;margin-top:8px;font:400 38px/1 'Anton',sans-serif;letter-spacing:.14em;color:#fff}
  .fid-attente{border:1px solid var(--vert);background:rgba(124,191,63,.08);padding:12px 14px;margin:-8px 0 20px;font-size:13px;line-height:1.55;color:#fff}
  /* Règles : coches vertes dessinées (pas d emoji) */
  .fid-ok{list-style:none;padding:0;margin:22px 0 0}
  .fid-ok li{position:relative;padding-left:26px;margin-bottom:10px;font-size:13.5px;line-height:1.55;color:#c8ccc0}
  .fid-ok li:before{content:"";position:absolute;left:3px;top:6px;width:10px;height:5px;border-left:2px solid var(--vert);border-bottom:2px solid var(--vert);transform:rotate(-45deg)}
  .fid-ok li b{color:#fff}
  /* Offres membres */
  .fid-chip{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.14);padding:8px 12px;margin:0 0 18px;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff}
  .fid-chip i{width:8px;height:8px;border-radius:50%;background:var(--vert)}
  .fid-chip.non i{background:#8b9182}
  .fid-offre{display:flex;gap:14px;align-items:flex-start;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);padding:16px;margin-bottom:10px}
  .fid-offre svg{flex:none;width:28px;height:28px;margin-top:1px;fill:none;stroke:var(--vert);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  .fid-offre b{display:block;font-size:14.5px;font-weight:700;color:#fff}
  .fid-offre span{display:block;margin-top:3px;font-size:13px;line-height:1.5;color:#aab09f}
  .fid-offre a{display:inline-block;margin-top:8px;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--vert);text-decoration:none}
  .fid-offre .fid-date{display:inline-block;margin-top:9px;border:1px solid var(--vert);padding:4px 8px;font-size:10.5px;font-weight:700;font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:#fff}
  .fid-note{font-size:12.5px;line-height:1.55;color:#8b9182;margin:18px 0 0}
  .fid-note a,.fid-attente a{color:#fff;text-decoration:underline;text-underline-offset:2px}
  /* Pied du panneau */
  .fid-liens{display:flex;justify-content:space-between;align-items:center;gap:12px}
  .fid-lien{background:none;border:0;padding:4px 0;cursor:pointer;font:700 10.5px 'Poppins',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#8b9182;text-decoration:none}
  .fid-lien:hover{color:#fff}
  .fid-liens .fid-lien:only-child{margin:0 auto}
  @media(max-width:400px){.fid-liens{flex-direction:column;gap:2px}}
  /* Bloc fidélité de l'accueil (cible de l'ancienne adresse /fidelite) : dégagé du bandeau promo */
  #fidelite{scroll-margin-top:40px}
  .perk.perk-clic{cursor:pointer;transition:border-color .15s,background .15s}
  .perk.perk-clic:hover,.perk.perk-clic:focus-visible{border-color:var(--vert);outline:none}
  .perk-go{display:block;margin-top:10px;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--vert)}
  /* Horaires : même corps et même pas que les liens des colonnes voisines, lignes alignées. */
  .f-sem{display:grid;grid-template-columns:auto 1fr;column-gap:18px;row-gap:9px;font-size:13.5px;color:#5b6350}
  .f-infos > div + div{margin-top:24px}
  .copy{color:#5b6350;font-size:12.5px;font-weight:400;margin-top:36px;padding-top:18px;border-top:1px solid var(--line)}
  @media(max-width:1100px){.fcols{grid-template-columns:1fr 1fr;grid-template-areas:"marque trouver" "heures infos"}}
  /* Téléphone : pied de page resserré (827 px auparavant, soit 1,25 écran). La marque n est pas
     répétée, elle est déjà dans l en-tête : il ne reste que la note Google, en une ligne. Sous
     « Nous trouver » : l adresse, les horaires, puis le numéro et l itinéraire en deux boutons à
     filet fin. Nos univers sur une ligne ; les infos légales en petit, avec le copyright. */
  @media(max-width:640px){
    footer{padding:30px 0 22px}
    .fcols{display:flex;flex-direction:column;gap:0}
    .f-marque .brand,.f-marque > p{display:none}
    .fcols .f-note{margin:0 0 24px}
    .f-trouver{display:contents}
    .f-trouver h4{order:1;margin-bottom:12px}
    .fcols .f-trouver p{order:2;margin-bottom:12px}
    .f-heures{order:3}
    .f-heures h4{display:none}
    .f-actions{order:4;flex-direction:row;gap:10px;margin:16px 0 12px}
    .fcols .f-actions a{flex:1;justify-content:center;min-height:44px;margin:0;background:#fff;border:1px solid #dcdfd2;color:var(--ink);font-weight:500}
    .fcols .f-actions a:hover{border-color:var(--ink);text-decoration:none}
    .f-actions svg{stroke:var(--vert-d)}
    .fcols .f-mail{order:5;margin:0}
    .f-infos{order:6;margin-top:26px}
    .fcols .f-infos > div:first-child h4{margin-bottom:4px}
    .fcols .f-infos a{display:inline-block;margin:0;padding:6px 0}
    .fcols .f-infos a + a::before{content:"·";display:inline-block;margin:0 10px;color:#9aa08f}
    .fcols .f-infos > div:first-child a{color:var(--ink);font-weight:500}
    .f-infos > div:last-child{margin-top:20px;padding-top:12px;border-top:1px solid var(--line)}
    .f-infos > div:last-child h4{display:none}
    .fcols .f-infos > div:last-child a{padding:4px 0;font-size:12px}
    .copy{margin-top:4px;padding-top:0;border-top:0;font-size:12px}
  }
  /* La bulle de discussion n ouvre encore rien (« Chat — bientôt ») : masquée sur téléphone, où
     elle passait par-dessus les liens du pied de page. */
  @media(max-width:820px){.chatbub{display:none!important}}
  .proto{position:fixed;bottom:14px;left:14px;z-index:99;background:var(--ink);color:var(--vert);font-size:11px;padding:7px 12px;border-radius:20px}

  /* PANIER flottant + tiroir */
  .cartfab{position:fixed;right:20px;bottom:86px;z-index:80;background:var(--ink);color:#fff;border:none;border-radius:50px;
      padding:14px 20px;font-weight:800;font-size:14px;cursor:pointer;display:none;align-items:center;gap:10px;box-shadow:0 14px 34px rgba(0,0,0,.3)}
  .cartfab.show{display:flex}
  .cartfab .cnt{background:var(--vert);color:#0f110c;border-radius:50px;padding:2px 9px;font-size:12px}
  .chatbub{position:fixed;right:20px;bottom:20px;z-index:81;width:54px;height:54px;border-radius:50%;background:var(--vert);
      color:#0f110c;border:none;font-size:24px;cursor:pointer;box-shadow:0 12px 30px rgba(124,191,63,.5);display:flex;align-items:center;justify-content:center}
  .chatbub:hover{background:var(--vert-h)}
  .overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:90;opacity:0;visibility:hidden;transition:.25s}
  .overlay.show{opacity:1;visibility:visible}
  .drawer{position:fixed;top:0;right:0;height:100%;width:min(420px,92vw);background:#fff;z-index:95;transform:translateX(100%);
      transition:transform .3s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column}
  .drawer.show{transform:none}
  .dh{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line)}
  .dh h3{font-size:22px}.dh .x{background:none;border:none;font-size:26px;cursor:pointer;color:var(--muted);line-height:1}
  .dbody{flex:1;overflow-y:auto;padding:16px 22px}
  .cline{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
  .cline .cl-ph{flex:0 0 58px;width:58px;height:58px;border-radius:12px;overflow:hidden;background:#f2f2ee;display:flex;align-items:center;justify-content:center;font-size:24px}
  .cline .cl-ph img{width:100%;height:100%;object-fit:cover;display:block}
  .cline .cl-n{font-weight:700;font-size:14.5px}.cline .cl-o{color:var(--muted);font-size:12px;margin-top:2px}
  .cline .cl-p{font-weight:800;color:var(--vert-d);white-space:nowrap}
  .qstep{display:inline-flex;align-items:center;gap:10px;margin-top:8px}
  .qstep button{width:26px;height:26px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:16px;cursor:pointer;line-height:1}
  .cempty{text-align:center;color:var(--muted);padding:50px 10px}

  /* RÉCOMPENSES — panneau par-dessus la page + bandeau en haut de la carte.
     Le client ne quitte jamais sa commande pour aller voir sa fidélité. */
  .rw-solde{background:#f4f6f0;border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:16px}
  .rw-solde b{font-size:26px;font-weight:800;color:var(--vert-d)}
  .rw-solde small{display:block;color:var(--muted);font-size:12.5px;margin-top:6px}
  .rw-bar{height:7px;border-radius:99px;background:#e2e5db;margin-top:10px;overflow:hidden}
  .rw-bar i{display:block;height:100%;background:var(--vert);border-radius:99px}
  .rw-sec{margin-bottom:18px}
  .rw-sec h4{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14.5px;font-weight:800;margin:0 0 9px}
  .rw-sec h4 em{font-style:normal;font-size:12px;font-weight:700;color:#3f6a16;background:#eef7e6;border:1px solid #cfe6b8;border-radius:20px;padding:3px 9px;flex:none}
  .rw-sec.ko h4{color:var(--muted)}
  .rw-sec.ko h4 em{color:#6b7060;background:#f3f4f0;border-color:#e3e5dc}
  .rw-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}
  .rw-card{flex:0 0 118px;width:118px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:8px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:6px;font:inherit;transition:.18s}
  .rw-card:hover{border-color:var(--vert);transform:translateY(-2px)}
  .rw-card .ph{width:100%;height:84px;border-radius:9px;overflow:hidden;background:#f2f2ee;display:flex;align-items:center;justify-content:center;font-size:28px;flex:none}
  .rw-card .ph img{width:100%;height:100%;object-fit:cover;display:block}
  .rw-card .nm{display:block;font-size:12px;font-weight:700;line-height:1.25;color:var(--ink)}
  .rw-card .pt{display:block;font-size:11.5px;font-weight:800;color:#3f6a16}
  .rw-card.ko{opacity:.48;cursor:default}
  .rw-card.ko:hover{transform:none;border-color:var(--line)}
  .rw-card.ko .pt{color:var(--muted)}
  .rw-vide{text-align:center;color:var(--muted);padding:26px 10px}
  .rw-note{margin-top:6px;font-size:12px;color:var(--muted);line-height:1.5;text-align:center}
  .rw-band{margin:0 0 18px;background:#f6f8f2;border:1px solid #d9e4cc;border-radius:16px;padding:13px 14px}
  .rw-band-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
  .rw-band-h b{font-size:15px;font-weight:800}
  .rw-band-h a{font-size:12.5px;font-weight:700;color:var(--vert-d);white-space:nowrap}
  .dfoot{border-top:1px solid var(--line);padding:18px 22px}
  .drow{display:flex;justify-content:space-between;font-weight:800;font-size:18px;margin-bottom:14px}
  .dfoot .btn{width:100%;justify-content:center}

  /* Fiche produit (modale) */
  .sheet{position:fixed;left:50%;top:50%;transform:translate(-50%,-46%) scale(.97);z-index:96;width:min(480px,94vw);max-height:88vh;overflow-y:auto;
      background:#fff;border-radius:24px;opacity:0;visibility:hidden;transition:.25s}
  .sheet.show{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}
  .sheet .ph{height:200px;background:radial-gradient(circle at 50% 40%,#eef4e2,#e2e7d6);display:flex;align-items:center;justify-content:center;font-size:90px;position:relative}
  .sheet .ph img{width:100%;height:100%;object-fit:cover}
  .sheet .x{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,.9);font-size:22px;cursor:pointer}
  .sbody{padding:20px 22px}
  .sbody h3{font-family:'Poppins';font-weight:800;font-size:21px;text-transform:none;letter-spacing:0}
  .sbody .sd{color:var(--muted);font-size:14px;margin:6px 0 16px;line-height:1.5}
  .optg{margin-bottom:18px}
  .optg .gh{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
  .optg .gh h4{font-family:'Poppins';font-size:15px;font-weight:700;text-transform:none;letter-spacing:0}
  .optg .gh .rq{font-size:10.5px;font-weight:800;color:var(--vert-d);background:rgba(124,191,63,.14);padding:3px 9px;border-radius:20px}
  .choice{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:11px 13px;margin-bottom:8px;cursor:pointer;font-size:14px}
  .choice.sel{border-color:var(--vert);background:rgba(124,191,63,.08)}
  .choice .mk{width:18px;height:18px;border-radius:50%;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:11px;color:#fff}
  .choice.sel .mk{background:var(--vert);border-color:var(--vert)}
  .choice .nm{flex:1}.choice .pr{color:var(--vert-d);font-weight:700;font-size:13px}
  .sfoot{display:flex;align-items:center;gap:14px;padding:16px 22px;border-top:1px solid var(--line);position:sticky;bottom:0;background:#fff}
  .sfoot .qstep{margin:0}.sfoot .btn{flex:1;justify-content:center}
  #toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;
      padding:12px 20px;border-radius:50px;font-weight:600;font-size:14px;z-index:140;opacity:0;transition:.25s;pointer-events:none}
  #toast.show{opacity:1;transform:translateX(-50%)}

  /* Tunnel de commande */
  .checkout{position:fixed;left:50%;top:50%;transform:translate(-50%,-46%) scale(.98);z-index:97;width:min(560px,96vw);max-height:90vh;overflow-y:auto;background:#fff;border-radius:24px;opacity:0;visibility:hidden;transition:.25s;display:flex;flex-direction:column}
  .checkout.show{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}
  @media(max-width:560px){.checkout{width:100vw;height:100svh;max-height:none;border-radius:0;top:0;left:0;transform:none}.checkout.show{transform:none}}
  .co-head{display:flex;align-items:center;gap:10px;padding:18px 20px;border-bottom:1px solid var(--line)}
  .co-head h3{flex:1;font-size:20px}
  .co-head .co-back{background:none;border:none;font-size:26px;cursor:pointer;color:var(--muted);width:24px;line-height:1}
  .co-head .x{background:none;border:none;font-size:26px;cursor:pointer;color:var(--muted);line-height:1}
  .co-body{padding:20px;flex:1}
  .co-foot{padding:16px 20px;border-top:1px solid var(--line)}
  .co-foot .btn{width:100%;justify-content:center}
  .co-serv{display:grid;gap:12px}
  .co-serv button{display:flex;align-items:center;gap:14px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff;cursor:pointer;font-size:16px;font-weight:700;text-align:left;color:var(--ink)}
  .co-serv button:hover{border-color:var(--vert);background:rgba(124,191,63,.06)}
  .co-serv .e{font-size:30px}.co-serv small{font-weight:400;color:var(--muted);font-size:12.5px}
  .co-field{margin-bottom:14px}
  .co-field label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}
  .co-field input,.co-field textarea,.co-field select{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:15px;font-family:inherit;background:#fff}
  .co-field input:focus,.co-field textarea:focus,.co-field select:focus{outline:none;border-color:var(--vert)}
  .co-login{background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:16px;font-size:13.5px}
  .co-login a{color:var(--vert-d);font-weight:700}
  .co-recap .rl{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
  .co-tot{display:flex;justify-content:space-between;font-weight:800;font-size:18px;margin-top:14px}
  .co-info{color:var(--muted);font-size:13.5px;margin-top:14px;line-height:1.6}
  .co-sugg div{padding:11px 13px;border:1px solid var(--line);border-top:none;background:#fff;cursor:pointer;font-size:14px}
  .co-sugg div:first-child{border-top:1px solid var(--line);border-radius:10px 10px 0 0;margin-top:4px}
  .co-sugg div:last-child{border-radius:0 0 10px 10px}
  .co-sugg div:hover{background:var(--cream)}

  /* Pages légales */
  .legal{max-width:820px;margin:0 auto}
  .legal h1{font-size:clamp(30px,5vw,46px);margin-bottom:6px}
  .legal .upd{color:var(--muted);font-size:13px;margin-bottom:26px}
  .legal h2{font-family:'Poppins',sans-serif;font-weight:800;text-transform:none;letter-spacing:0;font-size:19px;margin:26px 0 8px}
  .legal p,.legal li{color:#33352f;line-height:1.7;font-size:15px;margin-bottom:9px}
  .legal ul{padding-left:20px;margin-bottom:9px}
  .legal a{color:var(--vert-d);font-weight:600}
  .legal .box{background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:10px 0}
/* Carte — cartes compactes style Uber sur mobile */
@media(max-width:560px){
  .card{border-radius:16px}
  .card .ph{height:135px}
  .card .info{padding:11px 12px}
  .card .info h3{font-size:13.5px;min-height:2.4em;margin-bottom:4px}
  .card .info p{font-size:12px;-webkit-line-clamp:2}
  .card .price{font-size:22px}
}
/* Bouton flottant "Suivre ma commande" */
.orderfab{position:fixed;left:18px;bottom:18px;z-index:60;background:var(--ink);color:#fff;font-family:'Poppins';font-weight:800;font-size:14px;padding:12px 18px;border-radius:40px;text-decoration:none;box-shadow:0 10px 26px rgba(0,0,0,.22);display:none}
.orderfab.show{display:inline-block}
.orderfab:hover{background:#000}
@media(max-width:560px){.orderfab{left:12px;bottom:12px;font-size:13px;padding:10px 14px}}
/* Téléphone : le bouton de suivi passe au-dessus de la barre du bas (z-index 70) au lieu d'être caché dessous */
@media(max-width:820px){body.has-bb .orderfab{bottom:calc(72px + env(safe-area-inset-bottom));z-index:75}}

/* ===== Parcours de commande (mode dans le panier, remise à emporter, étapes) ===== */
.mode-seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:5px;margin-bottom:12px}
.mode-seg button{border:none;background:transparent;border-radius:10px;padding:11px 8px;font:inherit;font-weight:700;font-size:14px;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:.2s}
.mode-seg button.on{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.08)}
.mode-seg button em{font-style:normal;background:var(--vert);color:#0f110c;font-weight:800;font-size:12px;padding:2px 7px;border-radius:20px}
.cart-note{font-size:12.5px;color:var(--muted);line-height:1.45;margin:6px 0 10px}
.cart-note.warn{background:#fff6e5;border:1px solid #f3dfae;color:#7a5a12;border-radius:10px;padding:9px 12px;margin:0 0 12px}
.cart-promo{margin:0 0 12px;font-size:14px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.cart-promo a{color:var(--vert-d)}
/* Champ code promo : toujours ouvert, sur toute la largeur */
.cart-promo > div{flex-basis:100%}
.cart-promo input{flex:1;padding:10px 12px;border-radius:10px;border:1px solid var(--line);font:inherit;text-transform:uppercase}
.dfoot .drow.sub{font-weight:600;font-size:14px;color:var(--muted);margin-bottom:6px}
.dfoot .drow.remise,.co-totaux .drow.remise{font-weight:700;font-size:14px;color:var(--vert-d);margin-bottom:6px}
.dfoot .btn:disabled{opacity:.5;transform:none}
.offre-pill{display:inline-block;margin:14px auto 0;background:#eef7e6;border:1px solid #cfe6b8;color:#3f6a16;border-radius:30px;padding:8px 16px;font-size:13.5px;font-weight:600}
#menu-head+.offre-pill{display:table;margin-left:auto;margin-right:auto}
@media(min-width:821px){#menu-head+.offre-pill{margin-left:calc(280px + (100% - 280px) / 2);transform:translateX(-50%)}}
/* Étapes */
.co-steps{display:flex;align-items:center;margin:0 0 18px}
.co-steps .st{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#b5b9ab;flex:none}
.co-steps .st i{width:32px;height:32px;border-radius:50%;background:var(--cream);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-style:normal;font-size:13px;font-weight:800}
.co-steps .st.on{color:var(--ink)}.co-steps .st.on i{background:var(--ink);color:#fff;border-color:var(--ink)}
.co-steps .st.done{color:var(--vert-d)}.co-steps .st.done i{background:var(--vert);border-color:var(--vert);color:#0f110c}
.co-steps .ln{flex:1;height:1px;background:var(--line);margin:0 8px 18px}
.co-mode{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin-bottom:14px}
.co-mode .tag{background:var(--vert);color:#0f110c;font-weight:800;font-size:12px;padding:2px 8px;border-radius:20px}
.co-mode a{margin-left:auto;color:var(--vert-d);font-weight:700;font-size:13px;text-decoration:underline;text-underline-offset:3px}
.co-choice{text-align:center;padding:14px 0 6px}
.co-choice h4{font-family:'Poppins';font-weight:800;font-size:22px;margin-bottom:6px}
.co-choice p{color:var(--muted);font-size:14px;line-height:1.55;margin-bottom:18px}
.co-choice .btn{width:100%;justify-content:center;margin-bottom:10px}
.co-choice .or{display:flex;align-items:center;gap:12px;color:#b5b9ab;font-size:13px;margin:8px 0 14px}
.co-choice .or::before,.co-choice .or::after{content:"";flex:1;height:1px;background:var(--line)}
.co-choice .guest{font-weight:700;text-decoration:underline;text-underline-offset:4px;font-size:15px}
.co-field .req{color:var(--vert-d)}.co-field .hint{font-weight:400;color:#8a9078}
.co-consent{margin:4px 0 8px;padding:12px 14px;background:var(--cream);border:1px solid var(--line);border-radius:12px}
.co-consent label{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.45;cursor:pointer;margin-bottom:8px}
.co-consent input{width:18px;height:18px;margin-top:2px;flex:none;accent-color:var(--vert-d)}
.co-consent small{display:block;color:#8a9078;font-size:12px}
.co-totaux{margin-top:6px}
.co-totaux .drow{display:flex;justify-content:space-between;font-weight:800;font-size:17px;padding:8px 0 0}
.co-totaux .drow.sub{font-weight:600;font-size:14px;color:var(--muted)}
.co-pay{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:14px}
.co-pay .rl{display:flex;justify-content:space-between;font-size:14px;padding:4px 0}
.co-pay .rl.big{font-weight:800;font-size:18px}
.co-pay small{display:block;color:#8a9078;font-size:12px;margin-top:8px;line-height:1.45}
.co-done{text-align:center;padding:14px 0}
.co-done .ok{font-size:54px}
.co-done .ok .ico-xl{width:58px;height:58px}
.co-done h3{font-family:'Poppins';font-weight:800;margin:10px 0;text-transform:none;font-size:20px}
.co-foot .btn.ghost{background:transparent}
/* Prix livraison barré (à emporter = prix de la carte de base) */
.was{text-decoration:line-through;text-decoration-thickness:1.5px;color:#9aa08f;font-weight:600;font-size:.66em;margin-right:8px;font-family:'Poppins',sans-serif;letter-spacing:0;white-space:nowrap}
.card .price .was{font-size:15px}
.cart-note.eco{background:#eef7e6;border:1px solid #cfe6b8;color:#3f6a16;border-radius:10px;padding:8px 12px;margin:0 0 10px}
.eco-switch{display:inline-block;margin-top:6px;font-weight:800;color:#2f5410;text-decoration:underline;text-underline-offset:3px}
/* Avantages du compte, rappelés dans la fenêtre de connexion */
.auth-plus{margin:0 0 16px;padding:12px 14px;background:var(--cream);border:1px solid var(--line);border-radius:12px}
.auth-plus-t{font-size:13px;line-height:1.45;color:var(--muted);margin-bottom:9px}
.auth-plus-t b{color:var(--ink)}
.auth-plus ul{list-style:none;margin:0;padding:0}
.auth-plus li{position:relative;padding-left:18px;font-size:13.5px;line-height:1.5;color:var(--ink)}
.auth-plus li+li{margin-top:4px}
.auth-plus li a{color:var(--vert-d);font-weight:700;text-decoration:underline;text-underline-offset:3px}
/* Points visibles sur la carte : badge sous le prix des articles échangeables */
.pts-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}
/* Compteur de cadeaux (vert = points), distinct de la quantité payante */
.pts-step{display:inline-flex;align-items:center;gap:7px;background:#eef7e6;border:1px solid #cfe6b8;border-radius:20px;padding:2px 4px}
.pts-step button{width:24px;height:24px;border-radius:50%;border:1px solid #cfe6b8;background:#fff;color:#3f6a16;font-weight:800;font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.pts-step button:hover:not(:disabled){background:#e2f2d2}
.pts-step button:disabled{opacity:.35;cursor:not-allowed}
.pts-step b{min-width:12px;text-align:center;color:#2f4a12;font-size:13px;font-weight:800}
.pts-u{font-size:11.5px;font-weight:700;color:#3f6a16}
.pts-badge{display:inline-block;align-self:flex-start;width:fit-content;font-size:11.5px;font-weight:700;line-height:1.2;padding:3px 8px;border-radius:20px;background:#f3f4f0;color:#6b7060;border:1px solid #e3e5dc}
.pts-badge.go{background:#eef7e6;color:#3f6a16;border-color:#cfe6b8;cursor:pointer}
.pts-badge.go:hover{background:#e2f2d2}
.pts-badge.on{background:var(--vert,#7cbf3f);color:#16200b;border-color:transparent}
/* Règle de gain, page Fidélité */
.bareme{max-width:620px;margin:14px auto 0;background:#eef7e6;border:1px solid #cfe6b8;border-radius:12px;padding:12px 16px;color:#2f4a12;font-size:14.5px;line-height:1.6}
/* Ce que la commande rapporte : une simple ligne, sans encadré (un seul bloc coloré
   dans le panier, celui de l'incitation « à emporter ») */
.cart-pts{display:inline-block;margin-top:5px;color:#3f6a16;font-size:12.5px;line-height:1.45}
.cart-pts b{color:#2f4a12}
.cart-pts a{color:var(--vert-d,#5a7d2a);font-weight:800;text-decoration:underline;text-underline-offset:3px}
/* Case « Créer mon compte » à l'étape Informations du paiement */
.co-creer{background:#eef7e6;border:1px solid #cfe6b8;border-radius:12px;padding:11px 13px;margin:0 0 14px}
.co-creer label{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:#2f4a12;cursor:pointer}
.co-creer input{width:18px;height:18px;margin-top:2px;flex:none;accent-color:var(--vert-d,#5a7d2a)}
.co-creer small{display:block;margin:6px 0 0 28px;color:#5f7a3e;font-size:11.5px;line-height:1.4}
.auth-plus li::before{content:"";position:absolute;left:2px;top:8px;width:6px;height:6px;border-radius:50%;background:var(--vert)}
.co-eta{background:#eef7e6;border:1px solid #cfe6b8;color:#3f6a16;border-radius:10px;padding:9px 12px;font-size:13.5px;margin:-4px 0 14px}
.co-eta .hint{color:#6e8a52;font-weight:500}
.co-retrait{background:#eef7e6;border:1px solid #cfe6b8;color:#2f4a12;border-radius:12px;padding:12px 14px;margin:14px auto 0;max-width:440px;text-align:left;font-size:13.5px;line-height:1.55}
.co-retrait.bonus{background:#fff8e6;border-color:#f1dfae;color:#6b4d00}

/* ==========================================================================
   COUCHE « CORPO » — ajoutée en dernier, volontairement isolée.
   Coins droits, filets 1 px à la place des ombres, capitales espacées sur
   l'interface, vert réservé à l'action principale.
   Supprimer ce bloc suffit à revenir au style précédent.
   ========================================================================== */
:root{ --r:2px }

/* 1 — Coins droits (on laisse ronds : pastilles d'état et barres de progression) */
.btn,.card,.card .ph,.cline .cl-ph,.sheet,.drawer,.checkout,.cat-toggle,.cattabs button,
.pts-badge,.pts-step,.card-add button,.qstep button,.rw-card,.rw-card .ph,.rw-band,.rw-sec h4 em,
.nav-pts,.cart-note,.co-field input,.co-field select,.co-field textarea,.cart-promo input,
.offre-pill,.svc,.perk,.rw-solde,.co-recap,.co-totaux,.co-eta,.co-retrait,.co-creer,.auth-plus,
.mode-seg,.mode-seg button,.choice,.optg,.cempty,.acc-menu,.brand img,
.cmd-choice,.cmd-plus,.cmd-ag,.cmd-co,.cmd-choice .ic,.cmd-avantages .av,.cmd-reco,.cmd-panel,
.cmd-brand img,.cmd-pts{border-radius:var(--r)!important}

/* 2 — Ni ombre ni soulèvement : un filet suffit */
.btn,.card,.svc,.cmd-choice,.cmd-plus,.drawer,.checkout,.sheet{box-shadow:none!important}
.card:hover,.svc:hover,.cmd-choice:hover,.rw-card:hover,.btn:hover{transform:none!important}
.card:hover{border-color:var(--ink)}
.svc:hover{box-shadow:none!important;border-color:var(--ink)}

/* 3 — Boutons : capitales espacées, aplat vert pour la seule action principale */
.btn{text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:12.5px;padding:15px 28px}
/* Un <button> n'hérite pas de la police du site (Arial par défaut) : Poppins, comme les liens .btn */
button.btn{font-family:inherit}
.btn:hover{background:var(--vert-d)}
.btn.sm{padding:12px 20px;font-size:11px}
.btn.ghost{border-width:1px}
.btn.dark:hover{background:#000}

/* 4 — Interface en capitales espacées */
.link-co,.nav-links a,.cattabs button,.cat-toggle,.eyebrow,.kick,.cmd-reco,.cmd-avantages .av,
.pts-badge,.rw-sec h4 em,.mode-seg button,.cat-head h2,.co-head h3,.dh h3,.cmd-plus-t,
.cmd-choice .etat,.cmd-co{text-transform:uppercase;letter-spacing:.11em}
.cattabs button{font-weight:600;font-size:12px}
.cattabs button.on{font-weight:700}
.cat-head h2{font-family:'Poppins',sans-serif;font-size:clamp(14px,1.6vw,17px);font-weight:700;letter-spacing:.14em}
.co-head h3,.dh h3{font-size:15px;letter-spacing:.14em}
.cmd-choice .etat{font-size:11px}
.cmd-co{font-size:12px!important;letter-spacing:.1em}

/* 5 — Pastilles : contour fin plutôt qu'aplat coloré */
.cmd-avantages .av,.pts-badge,.rw-sec h4 em,.nav-pts,.offre-pill{
  background:transparent!important;border:1px solid currentColor!important;font-weight:600}
.cmd-avantages .av{color:#cfe6b8!important}
.cmd-avantages .av.neutre{color:var(--muted)!important}
.nav-pts,.pts-badge.go{color:var(--vert-d)!important}
.cmd-reco{background:var(--ink)!important;color:#fff!important;letter-spacing:.14em}

/* 6 — Encadrés du panier : filet au lieu d'aplat */
.cart-note,.cart-note.eco{background:transparent!important;border:1px solid var(--line)!important;color:var(--muted)}
.cart-note.eco b,.cart-note b{color:var(--ink)}
.cart-note.warn{border-color:#d9a021!important}

/* 7 — Champs de saisie */
.co-field input,.co-field select,.co-field textarea,.cart-promo input{border:1px solid var(--line)}
.co-field input:focus,.cart-promo input:focus,.co-field select:focus{outline:none;border-color:var(--ink)}

/* 8 — Menu du compte, déroulé sous le picto (on ne change pas de page pour ça) */
.acc-menu{position:fixed;z-index:120;min-width:296px;max-width:calc(100vw - 24px);background:#fff;
  border:1px solid var(--line);box-shadow:0 20px 44px rgba(0,0,0,.16);display:none}
.acc-menu.show{display:block}
/* Téléphone (barre du bas) : le menu du compte s'ouvre au-dessus de la barre. Le script le
   plaçait sous le bouton touché, donc hors de l'écran pour le bouton « Compte » du bas. */
@media(max-width:820px){.acc-menu{top:auto!important;bottom:calc(67px + env(safe-area-inset-bottom,0px))!important}}
.acc-top{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;padding:16px 18px;
  border-bottom:1px solid var(--line);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase}
.acc-top a{border-bottom:1px solid var(--ink);padding-bottom:2px;cursor:pointer}
.acc-top a:hover{color:var(--vert-d);border-color:var(--vert-d)}
.acc-hey{width:100%;text-align:center;font-weight:700;letter-spacing:.12em}
.acc-hey small{display:block;margin-top:5px;font-weight:600;letter-spacing:.08em;color:var(--vert-d);text-transform:none;font-size:12px}
.acc-row{display:flex;align-items:center;gap:14px;padding:15px 20px;border-bottom:1px solid var(--line);
  font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;color:var(--ink);background:none;border-left:0;border-right:0;border-top:0;width:100%;text-align:left;font-family:inherit;font-weight:500}
.acc-row:last-child{border-bottom:none}
.acc-row:hover{background:var(--cream)}
.acc-row svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.acc-row.out{color:#b3261e}
/* Menu du compte connecté (2026-10-21) : en-tête encre avec l'initiale, les points et la cagnotte ; icônes
   dans des ronds vert clair ; la commande en cours en tête ; la rubrique ouverte surlignée ; la
   déconnexion à part, en bas */
.acc-top.co{justify-content:flex-start;align-items:center;gap:14px;background:var(--ink);color:#fff;border-bottom:0;
  padding:18px 20px;text-transform:none;letter-spacing:0}
.acc-av{width:44px;height:44px;border-radius:50%;background:var(--vert);color:var(--ink);display:flex;align-items:center;
  justify-content:center;font:800 18px 'Poppins',sans-serif;flex:none}
.acc-top.co .acc-hey{width:auto;text-align:left;font-size:12.5px;color:#fff}
.acc-top.co .acc-hey small{color:#a8d97a;letter-spacing:.02em;font-size:12.5px;margin-top:4px}
.acc-row .ic{width:34px;height:34px;border-radius:50%;background:#eef5e6;display:flex;align-items:center;justify-content:center;flex:none}
.acc-row .ic svg{width:17px;height:17px;stroke:var(--vert-d)}
.acc-row .ic .cmd-pouls{margin:0}
.acc-row.on{background:#f4f9ee;box-shadow:inset 3px 0 0 var(--vert);font-weight:700}
.acc-row.live{background:#eef7e4;color:#27500a;text-transform:none;letter-spacing:.01em;font-size:13.5px;font-weight:600}
.acc-row.live:hover{background:#e4f1d6}
.acc-row.live .ic{background:#4d8422}
.acc-row.out{border-top:6px solid var(--cream);font-size:11px}
.acc-row.out .ic{background:#fbeceb}
.acc-row.out .ic svg{stroke:#b3261e}

/* 9 — Finitions : lisibilité des pastilles et dernières formes arrondies */
.cartfab,.orderfab,.toast{border-radius:var(--r)!important}
.cartfab{text-transform:uppercase;letter-spacing:.1em;font-size:12px}
.cmd-avantages .av{color:#3f6a16!important;border-color:#cfe6b8!important}
.cmd-avantages .av.neutre{color:var(--muted)!important;border-color:var(--line)!important}
.pts-badge{border-color:var(--line)!important}
.pts-badge.go{color:var(--vert-d)!important;border-color:#cfe6b8!important}
.nav-pts{border-color:#cfe6b8!important}

/* 10 — Ce que le client gagne, en évidence juste avant le total */
.drow.reduc{background:#d8efc2;color:#2f4a12;text-transform:uppercase;letter-spacing:.12em;
  font-weight:800;font-size:12.5px;align-items:center;margin-bottom:6px;padding:12px 16px}
.drow.reduc span:last-child{font-size:16px;letter-spacing:0}
.dfoot .drow.reduc{margin-left:-22px;margin-right:-22px;padding-left:22px;padding-right:22px}
.reduc-why{font-size:11.5px;color:var(--muted);margin:0 0 12px}
.drow.liv{font-size:13px;font-weight:600;color:var(--muted);margin-bottom:12px;align-items:center}
.drow.liv b{color:var(--vert-d);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:12px}

/* 11 — Bandeau promo : une ligne tout en haut, sur toutes les pages.
   Il pousse la barre de navigation et les contenus de 36 px vers le bas. */
.promo-bar{position:fixed;top:0;left:0;right:0;z-index:80;min-height:30px;display:flex;align-items:center;
  justify-content:center;gap:7px;background:var(--vert-d);color:#fff;font-size:10.5px;font-weight:400;
  letter-spacing:.09em;text-transform:uppercase;padding:7px 14px;text-align:center;line-height:1.3}
.promo-bar b{font-weight:800;color:#fff}
.promo-bar .chip{background:#fff;color:var(--vert-d);font-weight:800;padding:2px 9px;letter-spacing:.08em}
.promo-bar:hover{background:#4d8422}
/* Commande en cours (même emplacement que la promo) : vert foncé, un point qui « respire » et un reflet
   discret toutes les 7 s (demande du gérant, 2026-10-21). Rien ne bouge si le téléphone demande moins
   d'animations. */
.promo-bar.cmd-en-cours{background:#4d8422;overflow:hidden;isolation:isolate}
.promo-bar.cmd-en-cours:hover{background:#3f6e1b}
.promo-bar.cmd-en-cours .chip{background:#fff;color:#2f5a12;text-transform:none;letter-spacing:.02em}
.promo-bar.cmd-en-cours::after{content:"";position:absolute;top:0;left:-40%;width:30%;height:100%;pointer-events:none;z-index:-1;
  transform:skewX(-18deg);background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.3),rgba(255,255,255,0));
  animation:cmd-reflet 7s ease-in-out 1.2s infinite}
@keyframes cmd-reflet{0%{left:-40%}16%{left:120%}100%{left:120%}}
.cmd-pouls{display:inline-block;width:8px;height:8px;border-radius:50%;background:#fff;margin-right:8px;flex:none;vertical-align:middle;
  animation:cmd-pouls 1.8s ease-out infinite}
.cmd-pouls.vert{background:var(--vert);animation-name:cmd-pouls-v}
@keyframes cmd-pouls{0%{box-shadow:0 0 0 0 rgba(255,255,255,.75)}70%{box-shadow:0 0 0 7px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
@keyframes cmd-pouls-v{0%{box-shadow:0 0 0 0 rgba(124,191,63,.65)}70%{box-shadow:0 0 0 7px rgba(124,191,63,0)}100%{box-shadow:0 0 0 0 rgba(124,191,63,0)}}
@media (prefers-reduced-motion:reduce){.cmd-pouls,.promo-bar.cmd-en-cours::after{animation:none}}
/* Téléphone : une seule ligne, l'essentiel (numéro et heure) ; excuses et adresse sur ordinateur */
@media(max-width:560px){.promo-bar .cmd-suite{display:none}}
body.has-promo nav{top:30px}
body.has-promo .page-top{padding-top:126px}
body.has-promo .carte-hero{padding-top:160px}
@media(max-width:820px){body.has-promo .carte-hero{padding-top:132px}}
@media(max-width:560px){.promo-bar{font-size:10px;letter-spacing:.05em}}

/* 12 — Typographie : une seule famille, deux usages.
   Très gras pour l'accroche et les prix, léger et très espacé pour tout le reste.
   Plus d'Anton : la référence utilise un caractère géométrique large, pas un condensé. */
h1,h2,h3,.h2,.display{font-family:'Poppins',sans-serif;font-weight:800;letter-spacing:.01em;line-height:1.06}
.hero h1,.carte-hero h1,.cmd-claim h1{font-weight:800;letter-spacing:.01em}
.eyebrow,.kick{font-weight:500;letter-spacing:.26em}
.btn{font-weight:500}
.link-co{font-weight:500}
.cattabs button{font-weight:400}
.cattabs button.on{font-weight:600}
.cat-head h2{font-weight:600}
.co-head h3,.dh h3{font-weight:600}
.acct-link,.acc-row,.acc-top{font-weight:400}
.acct-link.on{font-weight:600}
.acct-sec h1{font-weight:600;letter-spacing:.16em}
.cmd-avantages .av,.pts-badge,.rw-sec h4 em,.nav-pts,.offre-pill,.cmd-reco{font-weight:500}
.promo-bar{font-weight:400}
.cmd-choice .etat{font-weight:500}
.mode-seg button{font-weight:500}
.mode-seg button.on{font-weight:700}
/* L'accroche est intégralement blanche : aucune couleur ne vient la couper */
/* Le bouton d action est sorti de ce groupe : il est desormais une pastille verte pleine,
   son texte doit rester fonce. Le reste de l accroche garde le blanc force. */
.cmd-claim h1,.cmd-claim .cmd-sub,.cmd-claim .code,.cmd-claim .code b{color:#fff!important}

/* ======================================================================
   §13 — FICHES DE RAYON
   Relevé sur la référence en fenêtre 1400 : fiche de 324 px, photo carrée
   324×324 sur aplat gris, étiquette de 21 px posée à même la photo en bas
   à gauche, puis marque 12/500 capitales, désignation 12/300, prix 14/700
   (rouge chez eux quand il y a remise, suivi de l'ancien prix barré), et
   une mention secondaire 12/400 grise. Deux corps seulement, 12 et 14.
   Trois graisses, 300 / 500 / 700. La couleur ne sert qu'à signaler.
   ====================================================================== */
.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:1180px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:560px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}}
/* Sans min-width:0 la ligne de description, qui ne se coupe pas, impose sa largeur
   a la colonne : la grille deborde alors tres largement de la page. */
.card{min-width:0;flex-direction:column;align-items:stretch;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.card:hover{border-color:transparent;box-shadow:none}
.card:hover .ph img{transform:scale(1.03)}
.card .ph{width:100%;height:auto;aspect-ratio:1/1;flex:none;align-self:stretch;margin:0;
  border-radius:0;background:#efeee9;overflow:hidden;font-size:54px}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.card .info{display:block;padding:10px 0 0;flex:none;min-width:0}
.card .info h3{font-family:'Poppins',sans-serif;font-weight:500;font-size:12px;line-height:1.5;
  letter-spacing:.06em;text-transform:uppercase;color:#3d3d3d;margin:0;min-height:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card .info .desc{display:block;font-weight:300;font-size:12px;line-height:1.45;letter-spacing:.06em;
  color:#3d3d3d;margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card .price{display:block;margin-top:7px;font-size:14px;font-weight:700;letter-spacing:.04em;color:var(--ink)}
.card .price b{font-weight:700}
.card .price b.rem{color:var(--vert-d)}
.card .price .was{margin-left:9px;font-size:14px;font-weight:700;color:#8c8c88;text-decoration:line-through}
.card .meta{display:block;margin-top:3px;font-size:12px;font-weight:400;letter-spacing:.02em;color:#8a8a85}
/* L'étiquette est posée à même la photo, à angles droits, hauteur fixe */
.card .ph .tag{position:absolute;left:0;bottom:0;display:flex;align-items:center;height:21px;padding:0 10px;
  font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;background:#222;color:#fff;border-radius:0}
.card .ph .tag.promo{background:var(--vert);color:#12200a}
/* L'ajout rapide remonte sur la photo : il ne coupe plus le bloc de texte */
.card .ph .card-add{position:absolute;right:8px;bottom:8px;align-self:auto;padding:0;gap:6px}
.card .ph .card-add button{width:30px;height:30px;font-size:18px;box-shadow:0 1px 6px rgba(0,0,0,.22)}
.card .ph .card-add b{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.65)}
.card .pts-line{margin-top:4px}
@media(max-width:560px){
  .card .info h3,.card .info .desc{font-size:11.5px}
  .card .info h3{min-height:0;margin-bottom:0}
  .card .price{font-size:14px}
  .card .ph .card-add button{width:27px;height:27px;font-size:17px}
}

/* ======================================================================
   §14 — NAVIGATION PAR RAYONS
   La colonne de catégories cède la place à deux rangs de pastilles, comme
   sur la référence : les rayons, puis les sous-familles du rayon ouvert,
   la pastille « tout » en tête, en contour blanc quand elle est active.
   La grille récupère toute la largeur : quatre colonnes de ~316 px, contre
   324 px chez eux.
   ====================================================================== */
#menu > .wrap{max-width:1440px;padding:0 clamp(18px,3.2vw,44px)}
.menu-layout{display:block;margin-top:26px}
.cat-toggle,.cattabs{display:none!important}
.ray-fam,.ray-sub{display:flex;flex-wrap:wrap;gap:10px}
.ray-sub{margin-top:12px}
.ray-fam button,.ray-sub button{background:#efeee9;color:#3d3d3d;border:1px solid transparent;
  border-radius:30px;cursor:pointer;font-family:'Poppins',sans-serif;text-transform:uppercase;white-space:nowrap}
.ray-fam button{padding:9px 19px;font-size:11.5px;font-weight:500;letter-spacing:.14em}
.ray-sub button{padding:8px 17px;font-size:11px;font-weight:500;letter-spacing:.12em}
.ray-fam button:hover,.ray-sub button:hover{background:#e4e2da}
.ray-fam button.on{background:var(--vert);color:#12200a;font-weight:700}
.ray-sub button.on{background:#fff;border-color:var(--ink);color:var(--ink)}
/* Bandeau de rayon : intitulé à gauche, nombre d'articles à droite */
.ray-title{display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  background:#f4f3ef;padding:13px 18px;margin:20px 0 22px}
.ray-title h2{margin:0;font-family:'Poppins',sans-serif;font-weight:400;text-transform:none;
  font-size:clamp(19px,2.3vw,27px);letter-spacing:.02em;line-height:1.2}
.ray-title span{font-size:12px;color:#8a8a85;letter-spacing:.06em;white-space:nowrap}
.grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1180px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:860px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cat-sec + .cat-sec{margin-top:34px}
@media(max-width:720px){
  .ray-fam,.ray-sub{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:8px;padding-bottom:3px}
  .ray-fam::-webkit-scrollbar,.ray-sub::-webkit-scrollbar{display:none}
  .ray-title{padding:11px 14px;margin:16px 0 18px}
}

/* ======================================================================
   §15 — EN-TÊTE DE RAYON
   Relevé sur la référence en fenêtre 1400 : barre de navigation sombre de
   42 px, liens 12/300 capitales espacés de .1em, l'actif en pavé plein sur
   toute la hauteur ; fil d'Ariane sur fond blanc ; bandeau de rayon de
   46 px sur gris #e7e7e7, titre 20/500 très espacé, compteur 12/400 à
   droite. Le bandeau photo « Notre menu » n'a plus lieu d'être : on entre
   directement dans le rayon.
   ====================================================================== */
body.rayon{padding-top:69px;background:#fff}
body.rayon.has-promo{padding-top:101px}
/* En-tete unique et clair sur tout le site : les pages de rayon ne repassent plus en sombre. */
/* #nav-co porte un sélecteur d'identifiant : il faut le même poids pour l'éclaircir */

/* La règle globale nav{position:fixed} attrapait cette barre : on la remet dans le flux */
.ray-nav{position:static;top:auto;left:auto;right:auto;z-index:auto;box-shadow:none;
  border:0;border-bottom:1px solid var(--line);padding:0;background:#fff;display:block}
.ray-nav-in{display:flex;justify-content:flex-end;gap:8px;max-width:1440px;margin:0 auto;
  padding:0 clamp(18px,3.2vw,44px)}
.ray-nav-in button{background:none;border:0;border-radius:0;cursor:pointer;color:var(--ink);
  font-family:'Poppins',sans-serif;font-size:12px;font-weight:300;letter-spacing:.1em;
  text-transform:uppercase;padding:13px 9px;white-space:nowrap;line-height:1.35}
.ray-nav-in button:hover{background:rgba(0,0,0,.055)}
.ray-nav-in button.on{background:var(--vert);color:#12200a;font-weight:600}
.fil{background:#fff}
.fil .wrap-r{display:flex;align-items:center;gap:9px;max-width:1440px;margin:0 auto;
  padding:9px clamp(18px,3.2vw,44px);font-size:12px;letter-spacing:.04em}
.fil a{color:#222;font-weight:600;text-decoration:none}
.fil a:hover{text-decoration:underline}
.fil span{color:#b0b0aa}
.fil b{color:#8a8a85;font-weight:400}
.ray-band{background:#e7e7e7}
.ray-band .wrap-r{display:flex;align-items:center;justify-content:space-between;gap:16px;
  max-width:1440px;margin:0 auto;padding:8px clamp(18px,3.2vw,44px);min-height:46px}
.ray-band h1{margin:0;font-family:'Poppins',sans-serif;font-weight:500;font-size:20px;
  letter-spacing:.14em;color:#222;text-transform:none;line-height:1.4}
.ray-band span{font-size:12px;font-weight:400;letter-spacing:.06em;color:#3d3d3d;white-space:nowrap}
body.rayon #menu{padding-top:20px}
body.rayon .menu-layout{margin-top:0}
@media(max-width:860px){
  .ray-nav-in{justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:2px}
  .ray-nav-in::-webkit-scrollbar{display:none}
  .ray-nav-in button{font-size:11.5px;padding:12px 8px}
  .ray-band h1{font-size:17px;letter-spacing:.1em}
}

/* ======================================================================
   §16 — MARQUE BLANCHE ET MENU DÉROULANT
   Le bloc de marque passe entièrement en blanc sur l'en-tête sombre, comme
   le logotype de la référence. Le burger ouvre un panneau à deux colonnes :
   à gauche les vitrines, les rayons puis les services ; à droite les
   sous-familles du rayon survolé.
   ====================================================================== */

.brand .nm-2{color:var(--vert-d);font-weight:inherit}
.nav-left{display:flex;align-items:center;gap:clamp(12px,1.6vw,22px);min-width:0}
.burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:28px;height:24px;
  background:none;border:0;padding:0;cursor:pointer;flex:none}
.burger i{display:block;height:2px;border-radius:2px;background:var(--ink)}

.burger:hover i{background:var(--vert)}

.mm{--mm-top:69px;position:fixed;inset:0;z-index:95;visibility:hidden;opacity:0;transition:opacity .18s}
body.has-promo .mm{--mm-top:101px}
.mm.open{visibility:visible;opacity:1}
/* Le voile commence sous la barre du haut : l'en-tête reste lisible et cliquable pendant
   que le menu est ouvert, comme sur la référence. */
.mm-ov{position:absolute;top:var(--mm-top);left:0;right:0;bottom:0;background:rgba(0,0,0,.45)}
.mm-panel{position:absolute;top:var(--mm-top);left:0;bottom:0;width:min(372px,94vw);display:grid;
  grid-template-columns:minmax(0,1fr);background:#fff;box-shadow:0 0 60px rgba(0,0,0,.3);
  transform:translateX(-16px);transition:transform .2s,width .18s}
/* Deuxième colonne seulement quand la famille survolée a de vraies sous-familles :
   sinon le panneau reste sur une colonne, au lieu d'ouvrir un grand vide. */
.mm-panel.deux{width:min(744px,94vw);grid-template-columns:372px minmax(0,1fr)}
/* Panneau sur une seule colonne : la colonne de droite ne doit pas se ranger EN DESSOUS
   de la liste (elle deviendrait une 2e ligne de la grille) — on la masque. */
.mm-panel:not(.deux) .mm-right{display:none}
.mm.open .mm-panel{transform:none}
.mm-x{position:absolute;top:8px;right:10px;z-index:2;width:34px;height:34px;border:0;background:none;
  font-size:26px;line-height:1;color:#8a8a85;cursor:pointer}
.mm-x:hover{color:#222}
.mm-left{overflow-y:auto;padding:26px 0 34px}
.mm-right{overflow-y:auto;background:#f2f2f0;padding:24px 0 34px}
.mm-item{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:9px 28px;color:#5d5d5d;font-family:'Poppins',sans-serif;font-size:12px;line-height:18px;
  font-weight:500;letter-spacing:1.2px;text-transform:uppercase;text-decoration:none}
.mm-item.mm-top{color:#222;font-weight:700;padding:10px 28px}
.mm-item i{font-style:normal;font-size:12px;line-height:1;color:#a8a8a2}
.mm-item:hover{color:#000}
.mm-item.on{color:var(--vert-d)}
.mm-item.fort,.mm-item.fort i{color:var(--vert-d)}
.mm-srv{font-weight:400;font-size:11.5px;letter-spacing:1px;color:#6b6b66;text-transform:none}
.mm-left hr{border:0;border-top:1px solid #e3e2dc;margin:15px 28px}
.mm-right h4{margin:0 0 4px;padding:0 clamp(20px,3vw,40px);font-family:'Poppins',sans-serif;
  font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#222}
.mm-right a{display:block;padding:7px 28px;color:#3d3d3d;font-size:13px;
  letter-spacing:.02em;text-decoration:none}
.mm-right a:hover{color:#000;background:rgba(0,0,0,.045)}
.mm-right .mm-tout{font-weight:600}
/* Deux visuels en bas du panneau, comme la référence : la liste ne finit plus sur du blanc. */
.mm-vis{margin:20px 28px 0;display:grid;gap:10px}
.mm-vis a{position:relative;display:block;height:128px;background-size:cover;background-position:center;text-decoration:none}
.mm-vis a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.55))}
.mm-vis span{position:absolute;left:14px;bottom:11px;z-index:1;color:#fff;font-family:'Poppins',sans-serif;
  font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}
body.mm-ouvert{overflow:hidden}
@media(max-width:820px){
  .mm-panel,.mm-panel.deux{width:100%;grid-template-columns:1fr}
  .mm-right{display:none}
  .mm-item,.mm-item.mm-top{font-size:12px;padding:11px 22px}
}

/* ======================================================================
   §17 — BARRE DU HAUT : RECHERCHE, COMPTE, FAVORIS, PANIER, LANGUE
   Même rangée que la référence : le mot « Rechercher » souligné, puis
   quatre pictos en trait fin, les compteurs en pastille sur le coin, et
   le drapeau qui ouvre le choix de langue.
   ====================================================================== */
.nav-right{display:flex;align-items:center;gap:clamp(12px,1.6vw,22px);position:relative}
.nv-search{display:flex;align-items:center;gap:9px;background:none;border:0;padding:0 0 3px;cursor:pointer;
  color:var(--ink);font-family:'Poppins',sans-serif;font-size:12px;font-weight:400;letter-spacing:.14em;
  text-transform:uppercase;border-bottom:1px solid currentColor}
.nv-search svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round}
@media(max-width:900px){.nv-search span{display:none}.nv-search{border-bottom:0}}
.nv-ico{position:relative;display:flex;align-items:center;gap:8px;background:none;border:0;padding:0;
  cursor:pointer;color:var(--ink);font-family:'Poppins',sans-serif;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;font-weight:400;text-decoration:none}
.nv-ico svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.nv-ico:hover{color:var(--vert)}
.nv-cnt{position:absolute;top:-6px;right:-9px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;
  background:var(--vert);color:#12200a;font-size:10px;font-weight:800;line-height:17px;text-align:center;letter-spacing:0}
@media(max-width:640px){.nv-ico .nv-t{display:none}}
.nv-lang{background:none;border:0;padding:0;cursor:pointer;display:flex;align-items:center;line-height:0}
.dr{width:22px;height:16px;display:block;border:1px solid rgba(0,0,0,.18)}

/* Panneau de langue, ancré sous le drapeau */
.lang-pan{position:absolute;top:calc(100% + 14px);right:0;z-index:70;width:250px;background:#f2f2f0;
  box-shadow:0 14px 40px rgba(0,0,0,.22);padding:16px 0 8px}
.lang-pan[hidden]{display:none}
.lang-pan h4{margin:0 0 10px;padding:0 20px;font-family:'Poppins',sans-serif;font-size:12px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:#222;text-align:center}
.lang-pan button{display:flex;align-items:center;gap:14px;width:100%;background:none;border:0;
  border-top:1px solid #e2e1db;padding:12px 20px;cursor:pointer;font-family:'Poppins',sans-serif;
  font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:#3d3d3d}
.lang-pan button:hover{background:rgba(0,0,0,.05);color:#000}

/* Le cœur, posé en haut à droite de la photo comme sur la référence */
.card .ph .fav{position:absolute;top:8px;right:8px;z-index:2;width:30px;height:30px;padding:0;border:0;
  border-radius:50%;background:rgba(255,255,255,.88);cursor:pointer;display:flex;align-items:center;
  justify-content:center;box-shadow:0 1px 6px rgba(0,0,0,.18)}
.card .ph .fav svg{width:17px;height:17px;stroke:#3d3d3d;fill:none;stroke-width:1.7}
.card .ph .fav:hover svg{stroke:var(--vert-d)}
.card .ph .fav.on svg{stroke:var(--vert-d);fill:var(--vert-d)}

/* Recherche : un bandeau qui descend du haut */
.rech{position:fixed;inset:0;z-index:100;visibility:hidden;opacity:0;transition:opacity .16s}
.rech.open{visibility:visible;opacity:1}
.rech-ov{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.rech-box{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:14px;
  background:#fff;padding:18px clamp(18px,3.2vw,44px);box-shadow:0 8px 30px rgba(0,0,0,.2)}
.rech-box svg{width:22px;height:22px;stroke:#3d3d3d;fill:none;stroke-width:1.7;stroke-linecap:round;flex:none}
.rech-box input{flex:1;min-width:0;border:0;border-bottom:1px solid var(--line);background:none;
  padding:10px 2px;font-family:'Poppins',sans-serif;font-size:17px;color:var(--ink);outline:none}
.rech-box input:focus{border-bottom-color:var(--vert)}
.rech-box button[type=submit]{background:var(--vert);border:0;color:#12200a;cursor:pointer;
  padding:11px 22px;font-family:'Poppins',sans-serif;font-size:11.5px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase}
.rech-x{background:none;border:0;font-size:26px;line-height:1;color:#8a8a85;cursor:pointer;padding:0 4px}
@media(max-width:640px){.rech-box button[type=submit]{display:none}}
/* Suggestions sous le champ : le champ et la liste forment un seul panneau blanc qui descend du haut */
.rech-pan{position:absolute;top:0;left:0;right:0;max-height:100%;display:flex;flex-direction:column;
  background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.2)}
.rech-pan .rech-box{position:relative;box-shadow:none;flex:none}
.rech-sug{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border-top:1px solid var(--line)}
.rech-sug:empty{display:none}
.rs-in{max-width:860px;padding:6px clamp(18px,3.2vw,44px) 16px calc(clamp(18px,3.2vw,44px) + 36px)}
.rs-t{margin:12px 0 10px;font-family:'Poppins',sans-serif;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8a8a85}
.rs-idees{display:flex;flex-wrap:wrap;gap:8px}
.rs-chip{border:1px solid var(--line);background:#f5f5f2;border-radius:999px;padding:8px 15px;cursor:pointer;
  font-family:'Poppins',sans-serif;font-size:13px;color:var(--ink)}
.rs-chip:hover{border-color:var(--vert);background:#f1f6eb}
.rs-vide{margin:14px 0 2px;font-size:14px;color:#5d6457}
.rs-vide b{color:var(--ink)}
.rs-i{display:flex;align-items:center;gap:12px;margin:0 -10px;padding:7px 10px;border-radius:10px;text-decoration:none;
  color:var(--ink);font-family:'Poppins',sans-serif;cursor:pointer}
.rs-i:first-child{margin-top:6px}
.rs-i.on{background:#f1f6eb}
.rs-ic{flex:none;width:44px;height:44px;border-radius:8px;background:#f2f2ef;display:flex;align-items:center;justify-content:center}
.rs-ic svg{width:18px;height:18px;stroke:#6b6b66;fill:none;stroke-width:1.8;stroke-linecap:round}
.rs-ph{flex:none;width:44px;height:44px;border-radius:8px;overflow:hidden;background:#eceae4;display:flex;align-items:center;justify-content:center}
.rs-ph img{width:100%;height:100%;object-fit:cover}
.rs-ph .ph-vide{width:60%!important;height:auto!important;object-fit:contain!important}
.rs-n{flex:1;min-width:0;font-size:14px;font-weight:400;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rs-n b{font-weight:700;color:#000}
.rs-n small{display:block;margin-top:1px;font-size:11.5px;color:#8a8a85;overflow:hidden;text-overflow:ellipsis}
.rs-p{flex:none;font-size:14px;font-weight:600;white-space:nowrap}
.rs-p .was{font-size:11.5px;margin-right:6px}
.rs-fl{flex:none;font-style:normal;color:#8a8a85;font-size:18px;padding:0 4px}
.rs-tout{margin-top:6px;padding-top:12px;padding-bottom:12px;border-top:1px solid var(--line);border-radius:0;
  justify-content:space-between;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--vert-d)}
.rs-tout .rs-fl{color:var(--vert-d)}
@media(hover:hover){.rs-i:hover{background:#f1f6eb}}
/* Une seule croix (celle du panneau) : pas celle du champ de recherche du navigateur */
.rech-box input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}
@media(max-width:640px){
  .rs-in{padding-left:clamp(18px,3.2vw,44px)}
  .rs-n{font-size:13.5px}
  .rs-p .was{display:none}
}
/* Suggestions sous le champ : le champ et la liste forment un seul panneau blanc qui descend du haut */
.rech-pan{position:absolute;top:0;left:0;right:0;max-height:100%;display:flex;flex-direction:column;
  background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.2)}
.rech-pan .rech-box{position:relative;box-shadow:none;flex:none}
.rech-sug{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border-top:1px solid var(--line)}
.rech-sug:empty{display:none}
.rs-in{max-width:860px;padding:6px clamp(18px,3.2vw,44px) 16px calc(clamp(18px,3.2vw,44px) + 36px)}
.rs-t{margin:12px 0 10px;font-family:'Poppins',sans-serif;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8a8a85}
.rs-idees{display:flex;flex-wrap:wrap;gap:8px}
.rs-chip{border:1px solid var(--line);background:#f5f5f2;border-radius:999px;padding:8px 15px;cursor:pointer;
  font-family:'Poppins',sans-serif;font-size:13px;color:var(--ink)}
.rs-chip:hover{border-color:var(--vert);background:#f1f6eb}
.rs-vide{margin:14px 0 2px;font-size:14px;color:#5d6457}
.rs-vide b{color:var(--ink)}
.rs-i{display:flex;align-items:center;gap:12px;margin:0 -10px;padding:7px 10px;border-radius:10px;text-decoration:none;
  color:var(--ink);font-family:'Poppins',sans-serif;cursor:pointer}
.rs-i:first-child{margin-top:6px}
.rs-i.on{background:#f1f6eb}
.rs-ic{flex:none;width:44px;height:44px;border-radius:8px;background:#f2f2ef;display:flex;align-items:center;justify-content:center}
.rs-ic svg{width:18px;height:18px;stroke:#6b6b66;fill:none;stroke-width:1.8;stroke-linecap:round}
.rs-ph{flex:none;width:44px;height:44px;border-radius:8px;overflow:hidden;background:#eceae4;display:flex;align-items:center;justify-content:center}
.rs-ph img{width:100%;height:100%;object-fit:cover}
.rs-ph .ph-vide{width:60%!important;height:auto!important;object-fit:contain!important}
.rs-n{flex:1;min-width:0;font-size:14px;font-weight:400;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rs-n b{font-weight:700;color:#000}
.rs-n small{display:block;margin-top:1px;font-size:11.5px;color:#8a8a85;overflow:hidden;text-overflow:ellipsis}
.rs-p{flex:none;font-size:14px;font-weight:600;white-space:nowrap}
.rs-p .was{font-size:11.5px;margin-right:6px}
.rs-fl{flex:none;font-style:normal;color:#8a8a85;font-size:18px;padding:0 4px}
.rs-tout{margin-top:6px;padding-top:12px;padding-bottom:12px;border-top:1px solid var(--line);border-radius:0;
  justify-content:space-between;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--vert-d)}
.rs-tout .rs-fl{color:var(--vert-d)}
@media(hover:hover){.rs-i:hover{background:#f1f6eb}}
@media(max-width:640px){
  .rs-in{padding-left:clamp(18px,3.2vw,44px)}
  .rs-n{font-size:13.5px}
}
/* Suggestions sous le champ : le champ et la liste forment un seul panneau blanc qui descend du haut */
.rech-pan{position:absolute;top:0;left:0;right:0;max-height:100%;display:flex;flex-direction:column;
  background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.2)}
.rech-pan .rech-box{position:relative;box-shadow:none;flex:none}
.rech-sug{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border-top:1px solid var(--line)}
.rech-sug:empty{display:none}
.rs-in{max-width:860px;padding:6px clamp(18px,3.2vw,44px) 16px calc(clamp(18px,3.2vw,44px) + 36px)}
.rs-t{margin:12px 0 10px;font-family:'Poppins',sans-serif;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8a8a85}
.rs-idees{display:flex;flex-wrap:wrap;gap:8px}
.rs-chip{border:1px solid var(--line);background:#f5f5f2;border-radius:999px;padding:8px 15px;cursor:pointer;
  font-family:'Poppins',sans-serif;font-size:13px;color:var(--ink)}
.rs-chip:hover{border-color:var(--vert);background:#f1f6eb}
.rs-vide{margin:14px 0 2px;font-size:14px;color:#5d6457}
.rs-vide b{color:var(--ink)}
.rs-i{display:flex;align-items:center;gap:12px;margin:0 -10px;padding:7px 10px;border-radius:10px;text-decoration:none;
  color:var(--ink);font-family:'Poppins',sans-serif;cursor:pointer}
.rs-i:first-child{margin-top:6px}
.rs-i.on{background:#f1f6eb}
.rs-ic{flex:none;width:44px;height:44px;border-radius:8px;background:#f2f2ef;display:flex;align-items:center;justify-content:center}
.rs-ic svg{width:18px;height:18px;stroke:#6b6b66;fill:none;stroke-width:1.8;stroke-linecap:round}
.rs-ph{flex:none;width:44px;height:44px;border-radius:8px;overflow:hidden;background:#eceae4;display:flex;align-items:center;justify-content:center}
.rs-ph img{width:100%;height:100%;object-fit:cover}
.rs-ph .ph-vide{width:60%!important;height:auto!important;object-fit:contain!important}
.rs-n{flex:1;min-width:0;font-size:14px;font-weight:400;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rs-n b{font-weight:700;color:#000}
.rs-n small{display:block;margin-top:1px;font-size:11.5px;color:#8a8a85;overflow:hidden;text-overflow:ellipsis}
.rs-p{flex:none;font-size:14px;font-weight:600;white-space:nowrap}
.rs-p .was{font-size:11.5px;margin-right:6px}
.rs-fl{flex:none;font-style:normal;color:#8a8a85;font-size:18px;padding:0 4px}
.rs-tout{margin-top:6px;padding-top:12px;padding-bottom:12px;border-top:1px solid var(--line);border-radius:0;
  justify-content:space-between;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--vert-d)}
.rs-tout .rs-fl{color:var(--vert-d)}
@media(hover:hover){.rs-i:hover{background:#f1f6eb}}
@media(max-width:640px){
  .rs-in{padding-left:clamp(18px,3.2vw,44px)}
  .rs-n{font-size:13.5px}
}
/* Suggestions sous le champ : le champ et la liste forment un seul panneau blanc qui descend du haut */
.rech-pan{position:absolute;top:0;left:0;right:0;max-height:100%;display:flex;flex-direction:column;
  background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.2)}
.rech-pan .rech-box{position:relative;box-shadow:none;flex:none}
.rech-sug{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border-top:1px solid var(--line)}
.rech-sug:empty{display:none}
.rs-in{max-width:860px;padding:6px clamp(18px,3.2vw,44px) 16px calc(clamp(18px,3.2vw,44px) + 36px)}
.rs-t{margin:12px 0 10px;font-family:'Poppins',sans-serif;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8a8a85}
.rs-idees{display:flex;flex-wrap:wrap;gap:8px}
.rs-chip{border:1px solid var(--line);background:#f5f5f2;border-radius:999px;padding:8px 15px;cursor:pointer;
  font-family:'Poppins',sans-serif;font-size:13px;color:var(--ink)}
.rs-chip:hover{border-color:var(--vert);background:#f1f6eb}
.rs-vide{margin:14px 0 2px;font-size:14px;color:#5d6457}
.rs-vide b{color:var(--ink)}
.rs-i{display:flex;align-items:center;gap:12px;margin:0 -10px;padding:7px 10px;border-radius:10px;text-decoration:none;
  color:var(--ink);font-family:'Poppins',sans-serif;cursor:pointer}
.rs-i:first-child{margin-top:6px}
.rs-i.on{background:#f1f6eb}
.rs-ic{flex:none;width:44px;height:44px;border-radius:8px;background:#f2f2ef;display:flex;align-items:center;justify-content:center}
.rs-ic svg{width:18px;height:18px;stroke:#6b6b66;fill:none;stroke-width:1.8;stroke-linecap:round}
.rs-ph{flex:none;width:44px;height:44px;border-radius:8px;overflow:hidden;background:#eceae4;display:flex;align-items:center;justify-content:center}
.rs-ph img{width:100%;height:100%;object-fit:cover}
.rs-ph .ph-vide{width:60%!important;height:auto!important;object-fit:contain!important}
.rs-n{flex:1;min-width:0;font-size:14px;font-weight:400;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rs-n b{font-weight:700;color:#000}
.rs-n small{display:block;margin-top:1px;font-size:11.5px;color:#8a8a85;overflow:hidden;text-overflow:ellipsis}
.rs-p{flex:none;font-size:14px;font-weight:600;white-space:nowrap}
.rs-p .was{font-size:11.5px;margin-right:6px}
.rs-fl{flex:none;font-style:normal;color:#8a8a85;font-size:18px;padding:0 4px}
.rs-tout{margin-top:6px;padding-top:12px;padding-bottom:12px;border-top:1px solid var(--line);border-radius:0;
  justify-content:space-between;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--vert-d)}
.rs-tout .rs-fl{color:var(--vert-d)}
@media(hover:hover){.rs-i:hover{background:#f1f6eb}}
@media(max-width:640px){
  .rs-in{padding-left:clamp(18px,3.2vw,44px)}
  .rs-n{font-size:13.5px}
}

/* ======================================================================
   §18 — TÉLÉPHONE : HAUT ALLÉGÉ, BARRE FIXE EN BAS
   Mesuré en 375 px : la rangée de pictos réclamait 347 px pour 331 px de
   place, d'où les chevauchements. Le haut ne garde donc que le burger et
   le logo centré, la recherche prend toute la largeur juste en dessous, et
   les pictos descendent dans une barre fixe — comme sur la référence.
   Sur ordinateur, rien ne bouge.
   ====================================================================== */
.bb{display:none}
@media(max-width:820px){
  /* --- Haut : burger à gauche, logo centré, rien d'autre --- */
  nav{padding:10px 14px}
  .nav-left{flex:1;gap:0}
  .brand{margin:0 auto;gap:10px}
  .nav-right{position:static;gap:0}
  .nav-right > *{display:none!important}
  .nav-right .lang-pan{display:none!important}
  .burger{position:absolute;left:16px;top:50%;transform:translateY(-50%)}
  /* Grande image des pages Monsieur Poké et Monsieur Ramen : elle commence sous l'en-tête fixe
     (bandeau vert compris), pour que le logo ne passe pas dessous */
  .u-hero{margin-top:65px!important}
  body.has-promo .u-hero{margin-top:95px!important}

  /* --- Barre fixe en bas --- */
  .bb{display:flex;position:fixed;left:0;right:0;bottom:0;top:auto;height:auto;z-index:70;background:#1b1d18;
    padding:0 2px env(safe-area-inset-bottom,0px);box-shadow:0 -2px 14px rgba(0,0,0,.25)}
  .bb-i{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:3px;padding:9px 2px 8px;background:none;border:0;cursor:pointer;color:rgba(255,255,255,.8);
    font-family:'Poppins',sans-serif;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
  .bb-i svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  .bb-i.on,.bb-i:active{color:#fff;background:rgba(255,255,255,.08)}
  .bb-cnt{position:absolute;top:4px;right:calc(50% - 22px);min-width:16px;height:16px;padding:0 4px;
    border-radius:8px;background:var(--vert);color:#12200a;font-size:9.5px;font-weight:800;
    line-height:16px;text-align:center;letter-spacing:0}
  body.has-bb{padding-bottom:62px}
  body.has-bb footer{margin-bottom:0}
  /* La barre du bas remplace les deux boutons flottants */
  body.has-bb .cartfab{display:none!important}
  body.has-bb .chatbub{right:14px;bottom:72px;width:46px;height:46px}
  /* Panier et paiement passent au-dessus de la barre */
  .drawer,.checkout,.overlay{z-index:120}
  .drawer{z-index:125}.checkout{z-index:130}
  /* L'accueil : ses pictos d'en-tête descendent aussi */
  .cmd-right .cmd-rech,.cmd-right .cmd-lang,.cmd-right .lang-pan,
  .cmd-right a[aria-label="Mes favoris"],.cmd-right a[aria-label="Mon panier"]{display:none!important}
}

/* ===== Peau sombre de l en-tete : pages de commande =====
   La carte (body.rayon) et la page Commander (body.sombre) portent la meme barre sombre,
   avec la barre de categories assortie. L accueil garde sa barre transparente sur la photo,
   le reste du site reste clair. */
body.rayon nav,body.sombre nav{background:#1b1d18;border-bottom:0;-webkit-backdrop-filter:none;backdrop-filter:none}
body.rayon nav a,body.rayon nav button,body.rayon nav .nm,body.rayon nav b,
body.sombre nav a,body.sombre nav button,body.sombre nav .nm,body.sombre nav b{color:#fff}
body.rayon nav svg,body.sombre nav svg{stroke:#fff}
body.rayon nav #nav-co,body.sombre nav #nav-co{color:#fff}
body.rayon nav #nav-co svg,body.sombre nav #nav-co svg{stroke:#fff}
body.rayon nav #nav-co:hover,body.sombre nav #nav-co:hover{color:var(--vert)}
body.rayon nav #nav-co:hover svg,body.sombre nav #nav-co:hover svg{stroke:var(--vert)}
body.rayon nav .brand .nm,body.rayon nav .brand .nm-2,
body.sombre nav .brand .nm,body.sombre nav .brand .nm-2{color:#fff}
body.rayon .burger i,body.sombre .burger i{background:#fff}
body.rayon .nv-search,body.rayon .nv-ico,body.sombre .nv-search,body.sombre .nv-ico{color:#fff}
body.rayon .dr,body.sombre .dr{border-color:rgba(255,255,255,.35)}
.ray-nav{background:#1b1d18;border-bottom:0}
.ray-nav-in button{color:#fff}
.ray-nav-in button:hover{background:rgba(255,255,255,.12)}

/* Panier : supprimer un article en un clic (icône corbeille à côté de − 1 +) */
.cline .qstep button.cl-del{width:34px;height:34px;border:0;border-radius:0;background:none;color:#9a9f91;margin-left:4px;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.cline .qstep button.cl-del svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cline .qstep button.cl-del:hover{color:#b3261e}

/* Adresse de livraison au paiement : l'adresse retenue en carte, le carnet du compte en liste,
   les précisions pour le livreur repliées (facultatives). Coins droits, filets, aucun emoji. */
.co-adr .adr-card{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--ink);background:#fff;padding:13px 14px}
.co-adr .adr-card>svg{width:20px;height:20px;flex:none;margin-top:1px;fill:none;stroke:var(--vert-d);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.adr-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:14px;line-height:1.4;color:var(--ink)}
.adr-t b{font-weight:700}
.adr-t small{color:var(--muted);font-size:12.5px;margin-top:3px}
.adr-t small:empty{display:none}
.adr-t small.adr-nom{order:-1;margin:0 0 2px;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--vert-d)}
.adr-chg{flex:none;background:none;border:0;padding:2px 0;font:700 11px 'Poppins',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--vert-d);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.adr-lien{display:inline-block;background:none;border:0;padding:10px 0 0;font:inherit;font-size:13px;font-weight:600;color:var(--vert-d);cursor:pointer;text-align:left}
.adr-liste{border:1px solid var(--line);background:#fff}
.adr-opt{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;background:#fff;border:0;border-bottom:1px solid var(--line);font:inherit;text-align:left;cursor:pointer;color:var(--ink)}
.adr-opt:last-child{border-bottom:0}
.adr-opt:hover{background:var(--cream)}
.adr-opt .adr-t span{color:var(--muted);font-size:13px}
.adr-radio{width:18px;height:18px;border-radius:50%;border:1.5px solid #b6bbac;flex:none;position:relative;font-style:normal}
.adr-opt.on .adr-radio{border-color:var(--vert-d)}
.adr-opt.on .adr-radio::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--vert-d)}
.adr-radio.plus{border:0;color:var(--vert-d);font-weight:700;font-size:20px;line-height:17px;text-align:center}
.adr-def{flex:none;font-style:normal;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--vert-d);border:1px solid #cfe6b8;padding:2px 7px;white-space:nowrap}
.adr-prec{margin-top:12px;padding:14px 14px 2px;background:var(--cream);border:1px solid var(--line)}
.adr-prec-h{font-size:12.5px;font-weight:700;margin-bottom:10px;color:var(--ink)}
.adr-prec-h .hint{font-weight:400;color:#8a9078}
.adr-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}
.adr-prec .co-field{margin-bottom:12px}
.adr-prec .co-field label{font-size:12px;font-weight:600;margin-bottom:5px}
.adr-prec .co-field input{padding:10px 12px;font-size:14px}
.adr-err{color:#b3261e;font-size:12.5px;font-weight:600;margin-top:6px}
.adr-err:empty{display:none}
