.cards-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;margin-bottom:3rem;display:grid}.menu-card{will-change:transform,opacity}
.menu-header{background:#fff;width:100%;padding:4rem 0 3.5rem}.menu-header-inner{text-align:center}.menu-header h1{font-family:var(--font-heading);color:var(--foreground);margin-bottom:1rem;font-size:clamp(2.8rem,4vw,3.6rem);font-weight:500}.menu-header p{max-width:600px;color:var(--muted-foreground);margin:0 auto 2.25rem;font-size:1.05rem;line-height:1.65}.menu-search{max-width:520px;margin:0 auto;position:relative}.menu-search-icon{opacity:.55;font-size:1.1rem;position:absolute;top:50%;left:1.25rem;transform:translateY(-50%)}.menu-search input{border:1px solid var(--border);width:100%;color:var(--foreground);background:#fff;border-radius:14px;padding:.95rem 1.25rem .95rem 3rem;font-size:.95rem;box-shadow:0 6px 20px #0000000f}@media (max-width:768px){.menu-header{padding:3rem 0 2.75rem}.menu-header h1{font-size:2.4rem}.menu-header p{margin-bottom:2rem;font-size:.95rem}}
.menu-filters{background:var(--card);border-radius:20px;margin:3rem 0;padding:2.5rem 2.75rem;box-shadow:0 10px 30px #0000000f}.filter-group+.filter-group{margin-top:2.75rem}.filter-group h3{font-family:var(--font-heading);color:var(--foreground);margin-bottom:1.25rem;font-size:1.35rem}.filter-buttons{flex-wrap:wrap;gap:.75rem;display:flex}.filter-btn{appearance:none;background:var(--muted);color:var(--foreground);cursor:default;border:none;border-radius:999px;padding:.65rem 1.5rem;font-size:.95rem;font-weight:500;transition:background .2s,color .2s,box-shadow .2s,transform .15s}.filter-btn.active{background:var(--primary);color:var(--primary-foreground);box-shadow:0 6px 18px #80052040}@media (max-width:768px){.menu-filters{padding:2rem 1.75rem}.filter-group h3{font-size:1.2rem}}
.menu-cta{background:var(--white);text-align:center;padding:4.5rem 0}.menu-cta-inner{max-width:720px;margin:0 auto}.menu-cta h2{font-family:var(--font-heading);color:var(--foreground);margin-bottom:.75rem;font-size:clamp(2rem,4vw,2.6rem)}.menu-cta p{color:var(--muted-foreground);margin-bottom:2.5rem;font-size:1rem;line-height:1.6}.menu-cta-actions{flex-wrap:wrap;justify-content:center;gap:1.25rem;display:flex}.btn{border-radius:14px;padding:.9rem 1.8rem;font-weight:500;text-decoration:none;transition:all .25s}.btn-primary{background:var(--secondary);color:var(--white)}.btn-primary:hover{opacity:.9}.btn-outline{border:1.5px solid var(--primary);color:var(--primary);background:0 0}.btn-outline:hover{background:var(--primary);color:var(--white)}
