:root{--fond: #f6f3ec;--carte: #ffffff;--separateur: #f2efe6;--champ: #fbfaf6;--bordure-carte: #ece8dd;--texte: #2c2a24;--texte-attenue: #686458;--texte-faible: #706b5e;--vert-action: #3f7a33;--vert-prix: #287a3c;--vert-fond: #eef4e8;--vert-fond-doux: #f7faf3;--vert-fond-actif: #dcefd1;--vert-bordure: #b9d3a6;--vert-texte: #2f6b28;--rouge: #b54a4a;--rouge-fond: #f9eded;--rouge-bordure: #e8c9c9;--desactive: #d9d4c6;--t-legende: 12px;--t-meta: 14px;--t-controle: 14px;--t-corps: 16px;--t-prix: 16px;--t-titre-feuille: 17px;--t-titre-ecran: 20px;--t-heros: 26px;--r-carte: 18px;--r-controle: 10px;--r-pilule: 999px;--police: "Inter", system-ui, -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;overflow-x:hidden}.app-shell{min-height:100vh;min-height:100dvh}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes hero-in{0%{opacity:.3;transform:scaleY(.92)}to{opacity:1;transform:scaleY(1)}}@keyframes row-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.hero-card{animation:hero-in .2s cubic-bezier(.22,1,.36,1);transform-origin:top center}.offre-row{animation:row-in .15s ease-out}@keyframes sheet-fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.recette-sheet-backdrop{animation:sheet-fade-in .2s ease}.recette-sheet{animation:sheet-slide-up .28s cubic-bezier(.32,.72,0,1)}@keyframes extract-spin{to{transform:rotate(360deg)}}.recette-extract-spinner{width:16px;height:16px;flex-shrink:0;border-radius:50%;border:2px solid #dfe6d6;border-top-color:#3f7a33;animation:extract-spin .8s linear infinite}@keyframes vt-slide-in-right{0%{transform:translate(28px);opacity:0}to{transform:none;opacity:1}}@keyframes vt-slide-in-left{0%{transform:translate(-28px);opacity:0}to{transform:none;opacity:1}}@keyframes vt-fade-out{to{opacity:0}}.app-header{view-transition-name:app-header}@media (prefers-reduced-motion: no-preference){html[data-nav-dir]::view-transition-old(root),html[data-nav-dir]::view-transition-new(root){animation-duration:.22s;animation-timing-function:cubic-bezier(.32,.72,0,1)}html[data-nav-dir=push]::view-transition-new(root){animation-name:vt-slide-in-right}html[data-nav-dir=pop]::view-transition-new(root){animation-name:vt-slide-in-left}html[data-nav-dir]::view-transition-old(root){animation-name:vt-fade-out}}.recette-action-btn{transition:background .15s ease,color .15s ease,transform .1s ease}.recette-action-btn:active{transform:scale(.96)}.recette-cta{transition:background .2s ease,color .2s ease,box-shadow .2s ease}.recette-cta-wrap{position:sticky;bottom:16px;z-index:40}@media (max-width: 599px){.recette-cta-wrap{bottom:calc(74px + env(safe-area-inset-bottom))}}.app-tabbar{display:none}@media (max-width: 599px){.app-nav-top{display:none!important}.app-tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:50;background:var(--carte);border-top:1px solid var(--separateur);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.app-tabbar-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0;font-size:10.5px;font-weight:500;color:#8a8578;text-decoration:none;border-radius:10px;transition:color .15s}.app-tabbar-item-active{color:#3f7a33;font-weight:600}}@media (prefers-reduced-motion: no-preference){.app-tabbar-badge{animation:mep-pop .28s cubic-bezier(.34,1.56,.64,1)}}.mep-rangee{display:flex;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid var(--separateur);transition:background .15s ease,opacity .15s ease}.mep-rangee:first-child{border-top:0}.mep-rangee-cliquable{cursor:pointer;-webkit-user-select:none;user-select:none}.mep-rangee-cliquable:hover{background:#faf8f3}.mep-coche{position:relative;width:22px;height:22px;flex-shrink:0}.mep-coche-cercle{position:relative;width:22px;height:22px;border-radius:50%;background:var(--vert-fond);border:1.5px solid var(--vert-bordure);display:flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease}.mep-coche-cochee .mep-coche-cercle{background:var(--vert-action);border-color:var(--vert-action)}.mep-coche-auto .mep-coche-cercle:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--vert-texte)}.mep-coche svg{width:12px;height:12px;stroke:#fff;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:20;stroke-dashoffset:20}.mep-coche-cochee svg{stroke-dashoffset:0}@media (prefers-reduced-motion: no-preference){.mep-coche svg{transition:stroke-dashoffset .18s ease .06s}.mep-coche-cochee .mep-coche-cercle{animation:mep-pop .28s cubic-bezier(.34,1.56,.64,1)}}@keyframes mep-pop{0%{transform:scale(1)}45%{transform:scale(1.22)}to{transform:scale(1)}}.mep-bouton{transition:transform .12s ease,background .15s ease,box-shadow .15s ease}.mep-bouton:active:not(:disabled){transform:scale(.97)}.mep-squelette{height:14px;border-radius:7px;margin-bottom:10px;background:linear-gradient(90deg,var(--separateur) 25%,#faf8f2 50%,var(--separateur) 75%);background-size:200% 100%}.mep-squelette:last-child{margin-bottom:0}@media (prefers-reduced-motion: no-preference){.mep-squelette{animation:mep-miroite 1.4s ease infinite}}@keyframes mep-miroite{0%{background-position:200% 0}to{background-position:-200% 0}}.mep-retour{display:inline-flex;align-items:center;gap:2px;font-family:var(--police);font-size:var(--t-controle);font-weight:600;color:var(--texte-attenue);background:none;border:0;text-decoration:none;padding:8px 10px 8px 2px;margin-left:-2px;cursor:pointer;border-radius:8px;transition:opacity .15s ease}.mep-retour:active{opacity:.6}.mep-retour-chevron{font-size:var(--t-titre-feuille);line-height:1;margin-top:-1px}@media (max-width: 599px){.mep-rangee{padding:12px 16px}}.mep-detail-ordinateur{display:inline}@media (max-width: 599px){.mep-detail-ordinateur{display:none}}@media (max-width: 599px){.app-shell{padding:12px 12px 84px!important}.app-title{font-size:18px!important}.hero-price-amount{font-size:28px!important;line-height:1.1!important}.hero-header-band{gap:6px!important;padding:10px 14px!important}.hero-body{padding:12px 14px!important}.hero-body-row{gap:8px!important}.offre-row{padding:11px 12px!important;gap:10px!important}.offre-store-col{width:115px!important}.offre-spark{display:none!important}.offre-price-col{width:72px!important}.offre-price-delta{display:none!important}.recette-card{padding:16px!important}.recette-titre-input{font-size:17px!important}.recette-ingredient-row{gap:6px!important;padding:6px 8px!important}.recette-qty-scrubber{min-width:40px!important;padding:2px 4px!important}.recette-unit-btn{min-width:46px!important;padding:0 6px!important}.recette-sheet{max-height:88vh!important;border-radius:18px 18px 0 0!important}}.admin-produits-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:10px}.admin-epinglage-ligne{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,2fr) minmax(0,1.6fr);gap:4px 14px;align-items:baseline}@media (max-width: 599px){.admin-epinglage-entete{display:none}.admin-epinglage-ligne{grid-template-columns:1fr;gap:2px}.admin-epinglage-cellule[data-label]:before{content:attr(data-label) " · ";color:var(--texte-faible)}}.guide-cible{outline:3px solid var(--vert-action)!important;outline-offset:4px;box-shadow:0 0 0 7px var(--vert-fond)!important}.courses-produit>summary.guide-cible{outline:none!important;box-shadow:inset 0 0 0 2px var(--vert-action)!important;border-radius:var(--r-controle)}.courses-produit{border-bottom:1px solid var(--separateur)}.courses-produit:last-child{border-bottom:0}.courses-produit>summary{display:flex;align-items:center;gap:12px;padding:16px;min-height:72px;cursor:pointer;list-style:none}.courses-produit>summary::-webkit-details-marker{display:none}.courses-produit-texte{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0;overflow-wrap:anywhere}.courses-produit strong{font-size:var(--t-corps)}.courses-meta{display:block;color:var(--texte-attenue);font-size:var(--t-meta);line-height:1.45;overflow-wrap:anywhere}.courses-prix{font-weight:700;font-size:var(--t-prix);white-space:nowrap}.courses-chevron{font-size:24px;color:var(--texte-attenue);transition:transform .18s ease}.courses-produit[open] .courses-chevron{transform:rotate(90deg)}.courses-produit-details{padding:0 16px 16px;font-size:var(--t-meta)}.courses-produit-details p{margin:8px 0 12px;line-height:1.5}.courses-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.courses-actions button{min-height:44px}.courses-attention{color:#885a18;font-size:var(--t-meta)}.courses-verification{margin-bottom:20px;scroll-margin:100px;outline-offset:6px}.courses-verification h3{font-size:var(--t-corps);margin:16px 0 8px}.courses-a-verifier{background:#fff5df;border:1px solid #e3ca93;padding:14px;border-radius:var(--r-controle);font-size:var(--t-meta)}.courses-reserve{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--separateur)}.courses-reserve>div:first-child{flex:1;min-width:140px}.courses-reserve strong{font-size:var(--t-corps)}.courses-aide-emplacement{margin:0 0 12px}.courses-aide{display:flex;align-items:center;gap:8px;padding:4px 8px 4px 14px;background:var(--vert-fond);border:1px solid var(--vert-bordure);border-radius:var(--r-controle)}.courses-aide p{flex:1;margin:0;font-size:var(--t-meta);line-height:1.5}.courses-aide button{width:44px;height:44px;flex-shrink:0;background:none;border:0;font-size:22px;cursor:pointer;color:var(--texte-attenue)}.courses-lien-aide{display:block;margin-left:auto;min-height:44px;background:none;border:0;color:var(--vert-texte);text-decoration:underline;font:inherit;font-size:var(--t-meta);cursor:pointer}.courses-avis{position:fixed;z-index:1300;bottom:150px;left:50%;transform:translate(-50%);width:min(520px,calc(100% - 32px));display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;background:var(--texte);color:#fff;border-radius:var(--r-controle);box-shadow:0 4px 16px #0002;font-size:var(--t-meta)}.courses-produit summary:focus-visible,.mep-rangee:focus-visible{outline:2px solid var(--vert-action);outline-offset:-3px}.mep-rangee{transition:background-color .18s ease,opacity .18s ease}@keyframes courses-confirme{0%{background-color:var(--vert-fond-actif)}to{background-color:transparent}}@keyframes courses-termine{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: no-preference){.courses-modifie{animation:courses-confirme .25s ease-out;border-radius:4px}.courses-produit[open] .courses-produit-details{animation:row-in .18s ease-out}.courses-termine{animation:courses-termine .25s ease-out}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.app-tabbar-item{color:var(--texte-attenue);font-size:12px;min-height:48px}.app-tabbar-item-active{color:var(--vert-action)}.courses-garde-manger>summary{padding:16px 0;font-size:var(--t-corps);font-weight:600;cursor:pointer;min-height:48px}.courses-comparatif>summary{padding:12px 0;min-height:44px;color:var(--vert-texte);font-size:var(--t-meta);font-weight:600;cursor:pointer}.courses-ajout-gm{width:44px;height:44px;flex-shrink:0;border:1px solid var(--vert-bordure);border-radius:50%;background:var(--vert-fond);color:var(--vert-texte);font:inherit;font-size:24px;cursor:pointer}.courses-ajout-gm:focus-visible{outline:2px solid var(--vert-action);outline-offset:3px}.liste-entete{margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid var(--bordure-carte)}.liste-entete-principale,.liste-entete-titre,.liste-epiceries,.liste-feuille-titre{display:flex;align-items:center;justify-content:space-between;gap:12px}.liste-entete-titre{justify-content:flex-start;gap:4px}.liste-entete h2{margin:0;font-size:24px;color:var(--texte)}.liste-entete button,.liste-choix{font-family:inherit;cursor:pointer}.liste-aide{width:44px;min-height:44px;background:transparent;border:0;color:var(--texte-attenue);font-size:16px}.liste-total{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-height:44px;padding:4px 0;background:transparent;border:0;color:var(--texte);flex-shrink:0}.liste-total strong{font-size:24px}.liste-total span{color:var(--texte-attenue);font-size:12px}.liste-total .liste-rabais{color:var(--vert-texte);font-weight:600}.liste-epiceries{justify-content:flex-start;gap:8px;font-size:14px;color:var(--texte)}.liste-epiceries>span{min-width:0;overflow-wrap:anywhere}.liste-epiceries button{background:transparent;border:0;color:var(--vert-texte);font-weight:600;min-height:44px;padding:0 8px;flex-shrink:0}.liste-total-incomplet{margin:0 0 4px}.liste-feuille{padding:0 20px 24px;overflow-y:auto}.liste-feuille-titre{margin-bottom:16px}.liste-feuille-titre h3{margin:0;font-size:20px}.liste-choix{display:flex;align-items:center;gap:12px;width:100%;padding:16px 12px;margin:8px 0;border:1px solid var(--bordure-carte);border-radius:14px;background:var(--carte);color:var(--texte);text-align:left}.liste-choix[aria-pressed=true]{border-color:var(--vert-bordure);background:var(--vert-fond)}.liste-choix-coche{color:var(--vert-texte)}.liste-choix-texte{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}.liste-choix-texte span{font-size:13px;color:var(--texte-attenue)}.liste-choix>strong{white-space:nowrap}.liste-detail-montant{font-size:30px;font-weight:700;margin:12px 0}.liste-epiceries .courses-meta{display:inline}@media (max-width: 360px){.liste-entete h2,.liste-total strong{font-size:21px}.liste-entete-principale{gap:6px}}.liste-options,.liste-retour-options{min-height:44px;padding:8px 12px;border:0;border-radius:12px;background:transparent;color:var(--vert-texte);font:inherit;font-weight:600;cursor:pointer}.liste-options{background:var(--vert-fond)}.liste-options span{margin-left:6px}.liste-resume{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0 6px}.liste-resume .liste-total{align-items:flex-start}.liste-resume .liste-epiceries{text-align:right}.liste-menu-options button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:56px;padding:14px 0;background:transparent;border:0;border-bottom:1px solid var(--bordure-carte);color:var(--texte);font:inherit;text-align:left;cursor:pointer}.liste-menu-options small{display:block;margin-top:5px;color:var(--texte-attenue)}.liste-retour-options{margin:-8px 0 8px;padding-left:0}.liste-arrets{display:flex;gap:8px;margin:10px 0}.liste-arrets button{flex:1;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--bordure-carte);border-radius:12px;background:transparent;color:var(--texte);font:inherit;text-align:left;cursor:pointer}.liste-arrets button[aria-pressed=true]{border-color:var(--vert-texte);background:var(--vert-fond)}.liste-arrets strong,.liste-arrets span,.liste-arrets small{display:block}.liste-arrets strong{font-size:14px}.liste-arrets span{margin-top:3px;font-size:13px}.liste-arrets small{margin-top:3px;font-size:12px;color:var(--texte-attenue)}.liste-semaine{margin:8px 0 0}.liste-selecteur{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:14px;color:var(--texte-attenue)}.liste-selecteur select{min-height:44px;max-width:100%;min-width:0;padding:8px 28px 8px 12px;border:1px solid var(--bordure-carte);border-radius:12px;background:var(--carte);color:var(--texte);font:inherit;cursor:pointer}.liste-selecteur>span{flex-shrink:0}.liste-a-propos{display:block;margin:12px auto;min-height:44px;border:0;background:transparent;color:var(--texte-attenue);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}.liste-epiceries-depliant{margin-top:10px}.liste-epiceries-depliant>summary{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;list-style:none;font-size:14px}.liste-epiceries-depliant>summary::-webkit-details-marker{display:none}.liste-epiceries-depliant>summary>.courses-meta{flex-shrink:0}.liste-magasin-actif{min-width:0}.liste-fleche{margin-left:2px;flex-shrink:0;font-size:24px;color:var(--vert-texte);transition:transform .22s ease}.liste-epiceries-depliant[open] .liste-fleche{transform:rotate(90deg)}.liste-epiceries-choix{padding:4px 0 8px}.liste-epiceries-choix button{display:flex;align-items:center;gap:10px;min-height:48px;width:100%;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:var(--texte);font:inherit;font-size:14px;text-align:left;cursor:pointer}.liste-epiceries-choix button[aria-pressed=true]{background:var(--vert-fond)}.liste-choix-indicateur{width:18px;flex-shrink:0;color:var(--vert-texte)}.liste-epiceries-choix small{display:block;margin-top:3px;color:var(--vert-texte)}@media (prefers-reduced-motion: reduce){.liste-fleche{transition:none}}.liste-entete{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;row-gap:8px}.liste-entete-principale{display:contents}.liste-entete-principale h2{grid-column:1;grid-row:1;align-self:center}.liste-entete>.liste-semaine{grid-column:2;grid-row:1;margin:0;text-align:right;align-self:center}.liste-entete-principale>.liste-total{grid-column:2;grid-row:2;align-self:start}.liste-entete>.liste-epiceries-depliant{grid-column:1;grid-row:2;margin-top:0;min-width:0}.liste-epiceries-depliant>summary{min-height:72px}.liste-entete>.liste-total-incomplet{grid-column:1 / -1}@media (max-width: 480px){.liste-entete{column-gap:12px}.liste-entete>.liste-semaine{max-width:160px;font-size:12px}.liste-epiceries-depliant>summary{gap:6px;flex-wrap:wrap}.liste-magasin-actif{flex:0 1 auto}}.recettes-cta-espace{height:80px}.recette-cta-wrap.recettes-cta-fixe{position:fixed;left:24px;right:24px;max-width:820px;margin-inline:auto}:where(button:not(:disabled),a[href],summary,.mep-rangee-cliquable):not([aria-disabled=true]){transition:background-color .15s ease,filter .15s ease,outline-color .15s ease,transform .12s ease}@media (hover: hover) and (pointer: fine){:where(button:not(:disabled),a[href],summary):not([aria-disabled=true]):hover{filter:brightness(.94)}.mep-rangee-cliquable:not(:has(button:hover)):hover{filter:brightness(.97)}summary:hover{color:var(--vert-texte)}.liste-epiceries-depliant>summary:hover .liste-magasin-actif{color:var(--vert-texte)}}:where(button,a[href],summary,input,select,textarea,.mep-rangee-cliquable):focus-visible{outline:2px solid var(--vert-action);outline-offset:3px}:where(button:not(:disabled),a[href],summary):not([aria-disabled=true]):active{filter:brightness(.88)}@media (prefers-reduced-motion: no-preference){button:not(:disabled):not([aria-disabled=true]):active{transform:scale(.97)}}@media (prefers-reduced-motion: reduce){:where(button,a[href],summary,.mep-rangee-cliquable){transition:none!important}.mep-bouton:active:not(:disabled),.recette-action-btn:active{transform:none}}
