@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=DM+Sans:ital,wght@0,400;0,500;0,600;1,400&display=swap";:root{--color-cream:#faf6f0;--color-paper:#f5efe6;--color-card:#fffdf9;--color-burgundy:#7a2332;--color-burgundy-light:#9b3a4a;--color-terracotta:#c4703f;--color-olive:#5c6b4f;--color-charcoal:#2c2c2c;--color-text:#3a3632;--color-text-light:#8a8279;--color-border:#e6ddd1;--color-border-dark:#d4c8b8;--color-badge-entree:var(--color-olive);--color-badge-plat:var(--color-burgundy);--color-badge-dessert:var(--color-terracotta);--color-badge-sur-place:#6b7b8d;--color-badge-emporter:#8b7355;--font-display:"Playfair Display", "Georgia", serif;--font-body:"DM Sans", "Helvetica Neue", sans-serif;--radius:6px;--radius-lg:12px;--shadow:0 1px 4px #3c2d1e0f;--shadow-hover:0 6px 20px #3c2d1e1a;--transition:.25s ease;--max-width:720px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-cream);-webkit-font-smoothing:antialiased;line-height:1.6;position:relative}body:before{content:"";pointer-events:none;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:var(--color-burgundy);transition:color var(--transition);text-decoration:none}a:hover{color:var(--color-burgundy-light);text-decoration:none}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.25rem}.badge{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.8px;color:#fff;white-space:nowrap;border-radius:3px;padding:3px 10px;font-size:.6rem;font-weight:600;display:inline-block}.badge-entree{background:var(--color-badge-entree)}.badge-plat{background:var(--color-badge-plat)}.badge-dessert{background:var(--color-badge-dessert)}.badge-sur-place{color:var(--color-badge-sur-place);border:1px solid var(--color-badge-sur-place);background:0 0}.badge-emporter{color:var(--color-badge-emporter);border:1px solid var(--color-badge-emporter);background:0 0}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:box-shadow var(--transition), transform var(--transition)}.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.card-accent{border-top:3px solid var(--color-burgundy)}.card-list{flex-direction:column;gap:1rem;display:flex}.fade-in{animation:.4s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes priceReveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.loader{color:var(--color-text-light);font-family:var(--font-display);flex-direction:column;align-items:center;gap:1rem;padding:4rem;font-size:.95rem;font-style:italic;display:flex}.loader:before{content:"";border:2px solid var(--color-border);border-top-color:var(--color-burgundy);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.error{text-align:center;color:var(--color-burgundy);font-family:var(--font-display);padding:3rem;font-style:italic}.empty{text-align:center;color:var(--color-text-light);font-family:var(--font-display);padding:4rem 2rem;font-size:1.05rem;font-style:italic}.ornament{color:var(--color-border-dark);justify-content:center;align-items:center;gap:.8rem;margin:.5rem 0;display:flex}.ornament:before,.ornament:after{content:"";background:linear-gradient(to right, transparent, var(--color-border-dark), transparent);flex:1;height:1px}
