.grid{display:grid;gap:var(--grid-gap, 2rem);width:100%;margin:0 auto}.grid--2-col{grid-template-columns:repeat(2,1fr)}.grid--3-col{grid-template-columns:repeat(3,1fr)}.grid--4-col{grid-template-columns:repeat(4,1fr)}@media screen and (max-width: 1200px){.grid--4-col{grid-template-columns:repeat(2,1fr)}}@media screen and (max-width: 768px){.grid{grid-template-columns:1fr;gap:1rem;padding:1rem}}.menu{width:100%;min-height:calc(100vh - 60px);margin-top:60px;padding:2rem;display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}.menu .page-base__container{width:100%;max-width:1800px;margin:0 auto;padding:2rem;background:rgba(0,0,0,.92)}.menu .page-base__content{width:100%;max-width:1800px;margin:0 auto;padding:0}.menu:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:url(../assets/images/cookie2.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;opacity:.3;z-index:-1}.menu__header{width:100%;max-width:1800px;margin-bottom:2rem;text-align:center;padding:0 1.5rem}.menu__title{font-size:2.5rem;color:var(--primary-color);margin-bottom:1.5rem;text-shadow:var(--text-shadow)}.menu__search{display:flex;gap:1rem;max-width:720px;margin:0 auto 2rem;padding:0 1rem}.menu__search-input{flex:1;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.1);border-radius:4px;background:rgba(0,0,0,.7);color:var(--primary-color);font-family:var(--primary-font);font-size:1.5rem}.menu__search-btn{padding:.75rem 1.5rem;background:rgba(255,255,255,.1);border:1px solid var(--primary-color);border-radius:4px;color:var(--primary-color);cursor:pointer;transition:all .3s ease;font-family:var(--primary-font)}.menu__search-btn:hover{background:var(--primary-color);color:var(--background-color)}.menu__filters{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:2rem}.menu__filter-btn{padding:.5rem 1rem;background:rgba(255,255,255,.1);border:1px solid var(--primary-color);border-radius:4px;color:var(--primary-color);cursor:pointer;transition:all .3s ease;font-family:var(--primary-font)}.menu__filter-btn:hover,.menu__filter-btn--active{background:var(--primary-color);color:var(--background-color)}.menu__content{width:100%;max-width:1800px;margin:0 auto;padding:0 1.5rem}.menu__grid-container{width:100%}.menu__grid{display:grid;grid-template-columns:repeat(2,minmax(600px,1fr));gap:3rem;width:100%;max-width:1800px;margin:0 auto}.menu__item{background:rgba(0,0,0,.85);border:1px solid rgba(255,255,255,.2);border-radius:12px;overflow:hidden;transition:transform .3s ease;box-shadow:0 4px 8px rgba(0,0,0,.3);width:100%;min-width:600px}.menu__item:hover{transform:translateY(-5px)}.menu__item-image{width:100%;padding-top:60%;position:relative;background:rgba(0,0,0,.5)}.menu__item-image img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.menu__item:hover .menu__item-image img{transform:scale(1.05)}.menu__item-content{padding:2rem 1.5rem;text-align:center}.menu__item-title{font-size:2.2rem;color:var(--primary-color);margin-bottom:1rem}.menu__item-description{font-size:1.7rem;color:var(--primary-color);opacity:.9;margin-bottom:1.5rem;line-height:1.5;max-width:90%;margin-left:auto;margin-right:auto}.menu__item-price{font-size:1.65rem;color:var(--primary-color);font-weight:700;margin-bottom:1rem}.menu__item-allergens{font-size:1.1rem;color:var(--primary-color);opacity:.85;font-style:italic;margin-top:.5rem}.menu__loading{grid-column:1 / -1;text-align:center;padding:3rem;color:var(--primary-color)}.loader{display:inline-block;width:40px;height:40px;margin-bottom:1rem;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:var(--primary-color);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1400px){.menu__grid{grid-template-columns:repeat(2,minmax(500px,1fr));gap:2rem}.menu__item{min-width:500px}.menu__item-content{padding:1.75rem 1.25rem}}@media (max-width: 1100px){.menu__grid{grid-template-columns:1fr}.menu__item{min-width:100%}.menu__content,.menu__header{padding:0 1rem}}@media (max-width: 768px){.menu{padding:1rem}.menu__content,.menu__header{padding:0 .5rem}.menu__grid{gap:1.5rem}.menu__item-content{padding:1.5rem 1rem}.menu__item-title{font-size:1.925rem}.menu__item-description{font-size:1.21rem}.menu__item-price{font-size:1.375rem}.menu__item-allergens{font-size:1rem}}@media (min-width: 1400px){.menu__grid{grid-template-columns:repeat(2,1fr);max-width:1800px;margin:0 auto}}
