.slide-up{opacity:0;transform:translateY(20px);transition:transform var(--transition-base),opacity var(--transition-base);will-change:transform,opacity}.reveal{opacity:1;transform:translateY(0)}.fade-out{opacity:0;transition:opacity var(--transition-fast),transform var(--transition-fast)}.closed .btn-ajouter,.closed .btn-commande{opacity:.4;pointer-events:none}.custom-confirm-modal{width:min(85%,340px);padding:var(--space-lg);gap:var(--space-md);text-align:center}.custom-confirm-header{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);color:var(--status-error)}.custom-confirm-header svg{width:42px;height:42px;opacity:.9;filter:drop-shadow(0 0 12px rgba(255, 59, 48, .3))}.custom-confirm-header h3{font-family:var(--font-emphasis);font-size:1.8rem;text-transform:uppercase;letter-spacing:.5px}.custom-confirm-actions{display:flex;width:90%;gap:var(--space-sm);margin-top:var(--space-xs)}.custom-confirm-actions button{flex:1;padding:1.2rem}.theme-btn.btn-destructive{background:rgba(255,59,48,.15);border-color:rgba(255,59,48,.4);color:var(--status-error)}.theme-btn.btn-destructive:active{background:var(--status-error);color:#fff;border-color:var(--status-error);box-shadow:0 0 16px rgba(255,59,48,.4)}body{display:grid;grid-template-columns:1fr;min-height:100vh;font-family:var(--font-body);font-size:var(--text-body);line-height:1.5;background-color:var(--body-bg);color:var(--text-color)}.hero-section{position:relative;min-height:90vh;max-width:100%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1.2fr 0.8fr;grid-template-areas:"brand brand" "slogan cta";gap:var(--space-sm);background:url("../assets/icons/umi-hero.webp");background-size:100% 100%;padding:var(--space-md) var(--space-xs)}.hero-tile{background:var(--glass-bg);border:var(--glass-border);border-radius:6px;box-shadow:var(--glass-shadow);padding:var(--space-sm);transition:var(--transition-ui)}.hero-tile:hover{border-color:rgba(255,255,255,.1)}.hero-tile:active{transform:scale(.985)}.hero-tile--brand{grid-area:brand;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;gap:var(--space-sm);text-align:center}.hero-tile--slogan{grid-area:slogan;display:flex;align-items:center;font-family:var(--font-emphasis);font-size:var(--text-heading);text-align:center}.hero-tile--cta{grid-area:cta;display:flex;align-items:center;justify-content:center}@media (max-width:320px){.hero-section{grid-template-areas:"brand brand" "slogan slogan" "cta cta"}}.utility-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--pad-inline);color:var(--text-color);background:var(--layer-1)}.utility-actions{display:flex;align-items:center;gap:var(--space-sm)}.logo-wrap{width:50%;aspect-ratio:1/1;border-radius:50%;background:var(--glass-bg);border:1px solid var(--theme-glow);box-shadow:0 0 36px var(--theme-glow),var(--glass-shadow);padding:2px}.hero-logo{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:50%}.brand-name{font-family:var(--font-brand);font-size:var(--text-brand);line-height:1.05;font-weight:var(--weight-bold);padding:0 .8rem;text-transform:uppercase;text-shadow:0 4px 12px rgba(0,0,0,.8);color:var(--accent-color);text-wrap:balance;max-width:100%}.brand-name,.slogan{overflow-wrap:break-word;word-break:break-word;overflow-wrap:normal;word-break:keep-all;hyphens:none}.brand-name .first-letter{color:var(--theme-color)}.brand-name::first-letter{color:var(--theme-color)}.history-btn-trigger{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;background:var(--glass-bg);color:var(--accent-color);border:var(--glass-border);border-radius:50%;cursor:pointer;box-shadow:var(--glass-shadow);transition:var(--transition-ui)}.history-btn-trigger:active{transform:scale(.92);background:var(--layer-2);color:var(--theme-color);border-color:var(--theme-color)}.history-btn-trigger svg{width:3.2rem;height:3.2rem}.demo-banner{background:var(--glass-bg);color:var(--text-color);text-align:center;font-size:var(--text-small);padding:var(--space-sm) var(--pad-inline);letter-spacing:.4px;border-bottom:1px solid var(--layer-2);box-shadow:0 2px 10px rgba(0,0,0,.3)}.demo-banner a{color:var(--theme-color);font-weight:var(--weight-bold);font-family:var(--font-body);text-decoration:underline;text-underline-offset:0.3rem}.demo-banner small{color:var(--text-muted)}#menu{display:grid;grid-template-columns:minmax(0,1fr);position:relative;gap:0;background:var(--body-bg)}.menu-hint,.menu-intro{text-align:center;padding:0 var(--space-md)}.menu-hint{font-style:italic;font-weight:500;color:var(--text-muted);font-size:1.3rem}.menu-intro{margin:var(--space-lg) var(--space-md);padding:var(--space-md);font-family:var(--font-brand);font-weight:var(--weight-bold);letter-spacing:.5px;font-size:calc(var(--text-heading) + .8rem);background:var(--glass-bg);color:var(--accent-color);border:var(--glass-border);border-radius:var(--radius-card);box-shadow:var(--glass-shadow)}.menu-intro span{color:var(--theme-color)}