/* =========================================================
   MENÜ SAYFASI — sadece /menu/ sayfasında yüklenir.
   Global header/footer korunur; bu dosya sayfa-içi bileşenler.
   ========================================================= */

.menu-page {
  --radius: 18px;
  --radius-sm2: 12px;
  --shadow: 0 18px 50px -24px rgba(20,20,20,.45);
  --shadow-sm: 0 8px 24px -16px rgba(20,20,20,.4);
  width: 100%;
  background: var(--cream-soft);
}

/* ---- Hero ---- */
.menu-page .hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 40px; align-items: center; }
.menu-page .hero-ticker { animation: menuHeroScroll 26s linear infinite; will-change: transform; }
.menu-page .hero-stage:hover .hero-ticker { animation-play-state: paused; }
.menu-page .hero-ember { animation: menuHeroFloat 5s ease-in-out infinite; }
@keyframes menuHeroScroll { from { transform: translateY(0); } to { transform: translateY(-50%); } }
@keyframes menuHeroFloat { 0%,100% { transform: translateY(0); opacity: .7; } 50% { transform: translateY(-14px); opacity: 1; } }

/* ---- Yapışkan kategori + arama çubuğu (global header'ın altına yapışır) ---- */
.menu-page #cat-bar { position: sticky; top: 74px; z-index: 50; background: rgba(251,247,240,.85); backdrop-filter: blur(18px) saturate(1.5); -webkit-backdrop-filter: blur(18px) saturate(1.5); border-bottom: 1px solid rgba(20,20,20,.08); box-shadow: 0 12px 32px -24px rgba(20,20,20,.7); }
.menu-page .cat-scroller { display: flex; gap: 10px; overflow-x: auto; padding: 2px 0; scrollbar-width: none; -ms-overflow-style: none; }
.menu-page .cat-scroller::-webkit-scrollbar { display: none; }

.menu-page .cat-chip { flex: none; padding: 10px 18px; border-radius: 999px; font-family: var(--font-display); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; font-size: 14px; white-space: nowrap; cursor: pointer; transition: all .2s ease; background: #fff; color: #26211E; border: 1px solid rgba(20,20,20,.12); }
.menu-page .cat-chip.is-active { background: linear-gradient(135deg,#FF5F00,#FF8A1E); color: #fff; border: 1px solid #FF5F00; box-shadow: 0 10px 22px -12px rgba(255,95,0,.9); }

.menu-page .filter-toggle { flex: none; padding: 9px 15px; border-radius: 999px; font-family: var(--font-body); font-weight: 600; font-size: 13px; cursor: pointer; transition: all .2s ease; white-space: nowrap; background: #fff; color: #7a746b; border: 1px solid rgba(20,20,20,.14); }
.menu-page .filter-aci.is-active { background: rgba(255,95,0,.12); color: #FF5F00; border: 1px solid rgba(255,95,0,.5); }
.menu-page .filter-vej.is-active { background: rgba(43,138,62,.14); color: #2e7d32; border: 1px solid rgba(43,138,62,.5); }
.menu-page .menu-search { width: 100%; padding: 11px 14px 11px 40px; border-radius: 12px; border: 1px solid rgba(20,20,20,.14); background: #fff; font-family: var(--font-body); font-size: 15px; color: #26211E; outline: none; }
.menu-page .menu-search::placeholder { color: #a39b8f; }

/* ---- Bölümler / fiyat ızgarası ---- */
.menu-page .menu-cat-section { scroll-margin-top: 150px; padding: 42px 0 8px; }
.menu-page .price-grid { display: grid; grid-template-columns: 1fr 1fr; column-gap: 34px; list-style: none; margin: 0; }
.menu-page .price-row { transition: background .18s ease; }
.menu-page .price-row:hover { background: rgba(255,95,0,.05); }

/* ---- Öne çıkanlar ---- */
.menu-page .feat-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.menu-page .feat-card { transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease; }
.menu-page .feat-card:hover { transform: translateY(-8px); box-shadow: 0 32px 64px -28px rgba(255,95,0,.5); }
.menu-page .feat-photo { transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.menu-page .feat-card:hover .feat-photo { transform: scale(1.09); }

/* ---- Scroll reveal ---- */
.menu-page .reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
.menu-page .reveal.in { opacity: 1; transform: none; }

/* ---- Masaüstü yapışkan sipariş çubuğu ---- */
.menu-deskbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 65; height: 68px; background: rgba(20,20,20,.9); backdrop-filter: blur(16px) saturate(1.3); -webkit-backdrop-filter: blur(16px) saturate(1.3); border-top: 1px solid rgba(255,138,30,.25); box-shadow: 0 -16px 44px -22px rgba(0,0,0,.65); transition: transform .42s cubic-bezier(.2,.7,.2,1); transform: translateY(130%); }
.menu-deskbar.is-visible { transform: translateY(0); }

/* ---- Sonuç yok ---- */
.menu-page .menu-noresults { display: none; }
.menu-page .menu-noresults.show { display: block; }

/* ---- Responsive ---- */
@media (max-width: 980px) { .menu-page .feat-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 880px) {
  .menu-page .hero-grid { grid-template-columns: 1fr; }
  .menu-page .hero-art { display: none !important; }
  .menu-deskbar { display: none !important; }
}
@media (max-width: 760px) { .menu-page .price-grid { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .menu-page .feat-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) {
  .menu-page .reveal { opacity: 1 !important; transform: none !important; }
  .menu-page .hero-ticker, .menu-page .hero-ember { animation: none !important; }
}
