/* ===== Design tokens ===== */
:root{
  --brown-950:#1b0f09;
  --brown-900:#2a1810;
  --brown-800:#3d2418;
  --brown-700:#5c3a24;
  --brown-600:#7a4f30;
  --terracotta:#c1602f;
  --terracotta-light:#e08a54;
  --gold:#d9ab5c;
  --cream:#f7f0e4;
  --cream-soft:#efe3cd;
  --ink:#241813;
  --ink-soft:#5a4a3f;
  --white:#fffbf4;
  --shadow-lg:0 30px 60px -20px rgba(27,15,9,.35);
  --shadow-sm:0 10px 24px -12px rgba(27,15,9,.28);
  --radius:20px;
  --ff-serif:'Playfair Display', Georgia, serif;
  --ff-sans:'Poppins', 'Segoe UI', sans-serif;
  color-scheme: light;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--ff-sans);
  background:var(--cream);
  color:var(--ink);
  overflow-x:hidden;
  overscroll-behavior-y:none;
  -webkit-font-smoothing:antialiased;
}
img{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
button{font-family:inherit; border:none; background:none; cursor:pointer;}
ul{list-style:none;}
section{position:relative;}

/* film grain overlay for texture */
.grain-overlay{
  position:fixed; inset:0; pointer-events:none; z-index:9990;
  opacity:.035; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ===== Loader ===== */
.loader{
  position:fixed; inset:0; z-index:10000;
  background:radial-gradient(circle at 50% 35%, var(--brown-800), var(--brown-950));
  display:flex; align-items:center; justify-content:center;
  transition:opacity .6s ease, visibility .6s ease;
}
.loader.hidden{opacity:0; visibility:hidden; pointer-events:none;}
.loader-inner{display:flex; flex-direction:column; align-items:center; gap:22px;}
.loader-logo{
  width:96px; height:auto; border-radius:16px;
  box-shadow:0 20px 50px -10px rgba(0,0,0,.6);
  animation:loaderPulse 1.6s ease-in-out infinite;
}
@keyframes loaderPulse{0%,100%{transform:scale(1); filter:brightness(1);} 50%{transform:scale(1.06); filter:brightness(1.15);}}
.loader-bar{width:160px; height:3px; border-radius:3px; background:rgba(255,255,255,.15); overflow:hidden;}
.loader-bar span{display:block; height:100%; width:40%; background:linear-gradient(90deg,var(--gold),var(--terracotta-light)); animation:loaderSlide 1.1s ease-in-out infinite;}
@keyframes loaderSlide{0%{transform:translateX(-120%);} 100%{transform:translateX(360%);}}

/* ===== Steam particles (hero background) ===== */
.steam-field{position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:1;}
.steam-particle{
  position:absolute; bottom:-40px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,235,210,.35), transparent 70%);
  filter:blur(2px);
  animation:steamRise linear infinite;
}
@keyframes steamRise{
  0%{transform:translateY(0) translateX(0) scale(.6); opacity:0;}
  12%{opacity:.55;}
  85%{opacity:.15;}
  100%{transform:translateY(-620px) translateX(var(--drift,40px)) scale(1.4); opacity:0;}
}

/* ===== Header ===== */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:500;
  padding:18px 0;
  transition:background .4s ease, padding .4s ease, box-shadow .4s ease;
}
.site-header.scrolled{
  background:rgba(247,240,228,.88); backdrop-filter:blur(14px);
  padding:10px 0; box-shadow:0 10px 30px -18px rgba(27,15,9,.35);
}
.header-inner{
  max-width:1240px; margin:0 auto; padding:0 28px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.brand{display:flex; align-items:center; gap:12px;}
.brand-logo{width:44px; height:44px; border-radius:12px; object-fit:cover; box-shadow:var(--shadow-sm);}
.brand-text{display:flex; flex-direction:column; line-height:1;}
.brand-text strong{font-family:var(--ff-serif); font-size:1.05rem; letter-spacing:.06em; color:var(--brown-900);}
.site-header:not(.scrolled) .brand-text strong{color:var(--white);}
.brand-text em{font-style:normal; font-size:.68rem; letter-spacing:.35em; color:var(--terracotta);}

.main-nav{display:flex; gap:32px;}
.nav-link{
  font-size:.92rem; font-weight:500; color:var(--white); opacity:.85; position:relative; padding:4px 0;
  transition:opacity .3s ease, color .3s ease;
}
.site-header.scrolled .nav-link{color:var(--ink); opacity:.78;}
.nav-link::after{
  content:''; position:absolute; left:0; bottom:-4px; width:0; height:2px; background:var(--terracotta);
  transition:width .35s ease;
}
.nav-link:hover, .nav-link.active{opacity:1;}
.nav-link:hover::after, .nav-link.active::after{width:100%;}

.btn{
  display:inline-flex; align-items:center; gap:10px; justify-content:center;
  padding:12px 24px; border-radius:100px; font-weight:600; font-size:.92rem;
  transition:transform .35s cubic-bezier(.2,.9,.3,1.2), box-shadow .35s ease, background .3s ease;
}
.btn-primary{background:linear-gradient(135deg,var(--terracotta),#a3461f); color:var(--white); box-shadow:0 12px 26px -10px rgba(193,96,47,.6);}
.btn-primary:hover{transform:translateY(-3px) scale(1.02); box-shadow:0 18px 34px -10px rgba(193,96,47,.7);}
.btn-primary svg{transition:transform .3s ease;}
.btn-primary:hover svg{transform:translateX(4px);}
.btn-ghost{border:1.5px solid rgba(255,255,255,.55); color:var(--white);}
.site-header.scrolled .btn-ghost{border-color:var(--brown-700); color:var(--brown-800);}
.btn-ghost:hover{background:rgba(255,255,255,.12); transform:translateY(-3px);}
.btn-lg{padding:15px 30px; font-size:1rem;}
.header-cta{display:inline-flex;}

.nav-toggle{display:none; flex-direction:column; gap:5px; width:26px;}
.nav-toggle span{height:2px; width:100%; background:var(--white); border-radius:2px; transition:transform .3s ease, opacity .3s ease, background .3s ease;}
.site-header.scrolled .nav-toggle span{background:var(--brown-900);}

/* ===== Hero ===== */
.hero{
  position:relative; min-height:100vh; min-height:100svh; display:flex; align-items:center; justify-content:center;
  padding:140px 24px 80px;
  background:radial-gradient(120% 100% at 50% 0%, #4a2d1c 0%, var(--brown-900) 45%, var(--brown-950) 100%);
  overflow:hidden;
  text-align:center;
}
.hero-3d{position:absolute; inset:0; z-index:2; opacity:.9; pointer-events:none;}
.hero-3d canvas{display:block; width:100% !important; height:100% !important;}
.hero-glow{
  position:absolute; top:8%; left:50%; width:640px; height:640px; transform:translateX(-50%);
  background:radial-gradient(circle, rgba(217,171,92,.25), transparent 70%);
  z-index:0; pointer-events:none;
}
.hero-content{position:relative; z-index:3; max-width:720px; display:flex; flex-direction:column; align-items:center; gap:22px;}
.hero-eyebrow{
  color:var(--gold); letter-spacing:.4em; font-size:.72rem; font-weight:600; text-transform:uppercase;
}
.hero-title{font-family:var(--ff-serif); color:var(--white); font-weight:700; line-height:1.08;}
.title-line{display:block; font-size:clamp(2.4rem, 6vw, 4.6rem);}
.title-accent{
  background:linear-gradient(100deg, var(--gold), var(--terracotta-light));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  font-style:italic;
}
.hero-desc{color:rgba(255,251,244,.78); font-size:1.08rem; line-height:1.7; max-width:520px;}
.hero-actions{display:flex; gap:16px; flex-wrap:wrap; justify-content:center; margin-top:6px;}
.hero-scroll{
  position:absolute; bottom:34px; left:50%; transform:translateX(-50%); z-index:3;
  display:flex; flex-direction:column; align-items:center; gap:10px;
  color:rgba(255,251,244,.6); font-size:.72rem; letter-spacing:.25em; text-transform:uppercase;
}
.scroll-line{width:1px; height:44px; background:rgba(255,251,244,.25); overflow:hidden; position:relative;}
.scroll-line i{position:absolute; top:-20px; left:0; width:100%; height:20px; background:linear-gradient(var(--gold), transparent); animation:scrollDrop 1.8s ease-in-out infinite;}
@keyframes scrollDrop{0%{top:-20px;} 100%{top:44px;}}

/* reveal-on-scroll */
[data-reveal]{opacity:0; transform:translateY(28px); transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);}
[data-reveal].in-view{opacity:1; transform:translateY(0);}
.hero-content [data-reveal]:nth-child(1){transition-delay:.05s;}
.hero-content [data-reveal]:nth-child(2){transition-delay:.15s;}
.hero-content [data-reveal]:nth-child(3){transition-delay:.25s;}
.hero-content [data-reveal]:nth-child(4){transition-delay:.35s;}

/* ===== Marquee ===== */
.marquee{
  background:var(--terracotta); color:var(--white); overflow:hidden; padding:14px 0;
  white-space:nowrap;
}
.marquee-track{display:inline-flex; gap:14px; animation:marqueeScroll 26s linear infinite; font-family:var(--ff-serif); font-style:italic; font-size:1rem; letter-spacing:.05em;}
.marquee-track span{opacity:.92;}
@keyframes marqueeScroll{0%{transform:translateX(0);} 100%{transform:translateX(-50%);}}

/* ===== Story ===== */
.story{
  max-width:1240px; margin:0 auto; padding:120px 28px;
  display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center;
}
.story-visual{position:relative; display:flex; justify-content:center;}
.story-frame{position:relative; width:min(420px, 90%);}
.story-img{width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:28px; box-shadow:var(--shadow-lg);}
.story-ring{
  position:absolute; inset:-22px; border:1.5px dashed rgba(193,96,47,.4); border-radius:36px;
  animation:ringSpin 40s linear infinite;
}
@keyframes ringSpin{to{transform:rotate(360deg);}}
.story-badge{
  position:absolute; bottom:-22px; left:-18px; background:var(--white); border-radius:16px;
  padding:14px 20px; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; gap:2px;
}
.story-badge strong{font-family:var(--ff-serif); color:var(--terracotta); font-size:1.05rem;}
.story-badge span{font-size:.78rem; color:var(--ink-soft);}

.section-eyebrow{color:var(--terracotta); letter-spacing:.32em; font-size:.72rem; font-weight:700; text-transform:uppercase; margin-bottom:12px;}
.section-title{font-family:var(--ff-serif); font-size:clamp(2rem,3.6vw,2.8rem); color:var(--brown-900); line-height:1.2;}
.story-text{margin-top:20px; color:var(--ink-soft); line-height:1.85; font-size:1.02rem; max-width:520px;}
.story-stats{display:flex; gap:36px; margin-top:38px;}
.stat{display:flex; flex-direction:column;}
.stat strong{font-family:var(--ff-serif); font-size:2.2rem; color:var(--terracotta);}
.stat span{font-size:.82rem; color:var(--ink-soft); letter-spacing:.02em;}

/* ===== Ana sayfa kategori kartlari ===== */
.cat-section{max-width:1240px; margin:0 auto; padding:100px 28px 40px;}

/* Masaustunde 4 yan yana, mobilde 2 ust 2 alt */
.cat-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:22px;}

.cat-card{
  position:relative; display:block; border-radius:20px; overflow:hidden;
  box-shadow:var(--shadow-sm); background:var(--brown-900);
  transition:transform .35s cubic-bezier(.2,.8,.3,1.1), box-shadow .35s ease;
}
.cat-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg);}
.cat-card:focus-visible{outline:2px solid var(--terracotta); outline-offset:3px;}

.cat-photo{display:block; aspect-ratio:4/5; overflow:hidden;}
.cat-photo img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
.cat-card:hover .cat-photo img{transform:scale(1.06);}

.cat-body{
  position:absolute; inset:auto 0 0 0; display:flex; flex-direction:column; gap:6px;
  padding:52px 18px 18px; color:var(--white);
  background:linear-gradient(to top, rgba(27,15,9,.92) 18%, rgba(27,15,9,.55) 55%, transparent);
}
.cat-count{
  align-self:flex-start; font-size:.66rem; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--gold);
}
.cat-name{font-family:var(--ff-serif); font-size:1.22rem; font-weight:600; line-height:1.25;}

.cat-more{display:flex; flex-direction:column; align-items:center; gap:14px; margin-top:44px;}
.cat-more-note{font-size:.9rem; color:var(--ink-soft);}

/* Menu sayfasi ust bosluk: sabit header'in altinda kalmasin */
.menu-page{padding-top:140px;}

/* ===== Menü sayfası: kategori postları ===== */
/* Masaüstünde 2 sütun, mobilde tek sütun (aşağı doğru kaydırılan liste) */
.post-grid{display:grid; grid-template-columns:repeat(2, 1fr); gap:24px;}
.post-grid[hidden]{display:none;}

.post-card{
  display:block; background:var(--white); border-radius:22px; overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:transform .35s cubic-bezier(.2,.8,.3,1.1), box-shadow .35s ease;
}
.post-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg);}
.post-card:focus-visible{outline:2px solid var(--terracotta); outline-offset:3px;}

.post-media{position:relative; display:block; aspect-ratio:3/2; overflow:hidden; background:var(--cream-soft);}
.post-media img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease;}
.post-card:hover .post-media img{transform:scale(1.06);}
.post-count{
  position:absolute; top:14px; right:14px; z-index:2;
  background:rgba(42,24,16,.8); color:var(--white);
  font-size:.7rem; font-weight:700; letter-spacing:.08em; padding:6px 12px; border-radius:100px;
}

.post-meta{display:flex; align-items:center; gap:14px; padding:18px 22px 20px;}
.post-title{font-family:var(--ff-serif); font-size:1.3rem; font-weight:600; color:var(--brown-900);}
.post-more{
  margin-left:auto; flex:none; display:inline-flex; align-items:center; gap:8px;
  color:var(--terracotta); font-size:.85rem; font-weight:600; transition:gap .3s ease;
}
.post-card:hover .post-more{gap:12px;}

/* ===== Menü sayfası: kategori detayı ===== */
.menu-detail{display:block;}
.menu-detail[hidden]{display:none;}
.detail-back{
  display:inline-flex; align-items:center; gap:8px; color:var(--ink-soft); font-weight:600; font-size:.9rem;
  margin-bottom:28px; transition:color .3s ease, transform .3s ease;
}
.detail-back:hover{color:var(--terracotta); transform:translateX(-3px);}

/* ===== Menu ===== */
.menu-section{max-width:1240px; margin:0 auto; padding:100px 28px 60px;}
.menu-header{text-align:center; max-width:600px; margin:0 auto 48px;}
.menu-sub{color:var(--ink-soft); margin-top:14px; font-size:1rem;}

.menu-tabs{
  display:flex; gap:10px; overflow-x:auto; padding:6px 4px 18px; margin-bottom:20px;
  scrollbar-width:none; justify-content:flex-start;
}
.menu-tabs::-webkit-scrollbar{display:none;}
.tab-btn{
  flex:none; padding:11px 20px; border-radius:100px; font-size:.86rem; font-weight:600;
  background:var(--cream-soft); color:var(--ink-soft); border:1.5px solid transparent;
  transition:all .3s ease; white-space:nowrap;
}
.tab-btn:hover{border-color:var(--terracotta); color:var(--terracotta);}
.tab-btn.active{background:var(--brown-900); color:var(--white); box-shadow:var(--shadow-sm);}

.menu-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(270px, 1fr)); gap:22px;
}
.menu-card{
  display:block; background:var(--white); border-radius:18px; box-shadow:var(--shadow-sm);
  position:relative; overflow:hidden;
  transform-style:preserve-3d; transition:transform .35s cubic-bezier(.2,.8,.3,1.1), box-shadow .35s ease;
  opacity:0; transform:translateY(24px);
  animation:cardIn .6s cubic-bezier(.2,.7,.2,1) forwards;
}
@keyframes cardIn{to{opacity:1; transform:translateY(0);}}
.menu-card::before{
  content:''; position:absolute; inset:0; opacity:0; background:linear-gradient(140deg, rgba(217,171,92,.16), transparent 60%);
  transition:opacity .35s ease; pointer-events:none; z-index:2;
}
.menu-card:hover{box-shadow:var(--shadow-lg);}
.menu-card:hover::before{opacity:1;}
.card-photo{aspect-ratio:4/3; overflow:hidden; background:var(--cream-soft);}
.card-photo img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease;}
.menu-card:hover .card-photo img{transform:scale(1.06);}
.card-body{padding:18px 20px 22px; display:flex; flex-direction:column; gap:8px;}
.card-top{display:flex; align-items:flex-start; justify-content:space-between; gap:14px;}
.card-price{font-family:var(--ff-serif); font-size:1.2rem; color:var(--brown-900); white-space:nowrap;}
.card-price.no-price{font-size:.8rem; color:var(--ink-soft); font-family:var(--ff-sans); font-weight:600;}
/* Küçük/orta boyut farkı olan ürünlerde iki fiyat da kompakt iki satırda
   gösterilir — kart boyu neredeyse hiç büyümez, detaya girmeden fark görünür. */
.card-price-wrap{display:flex; flex-direction:column; align-items:flex-end; gap:1px;}
.price-row{display:flex; align-items:baseline; gap:5px; white-space:nowrap;}
.price-row .price-label{font-size:.62rem; font-weight:600; color:var(--terracotta); letter-spacing:.02em;}
.price-row .price-value{font-family:var(--ff-serif); font-size:.92rem; font-weight:600; color:var(--terracotta);}
.card-name{font-family:var(--ff-serif); font-size:1.1rem; color:var(--ink); line-height:1.3;}
.card-cat{font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--terracotta); font-weight:700;}

/* ===== Product detail view ===== */
.product-view{max-width:1080px; margin:0 auto; padding:150px 28px 100px;}
.product-back{
  display:inline-flex; align-items:center; gap:8px; color:var(--ink-soft); font-weight:600; font-size:.9rem;
  margin-bottom:36px; transition:color .3s ease, transform .3s ease;
}
.product-back:hover{color:var(--terracotta); transform:translateX(-3px);}
.product-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
.product-photo{border-radius:26px; overflow:hidden; box-shadow:var(--shadow-lg); aspect-ratio:1/1;}
.product-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.product-name{font-family:var(--ff-serif); font-size:clamp(2rem,4vw,2.8rem); color:var(--brown-900); margin:10px 0 16px; text-wrap:balance;}
.product-price{font-family:var(--ff-serif); font-size:1.6rem; color:var(--terracotta); margin-bottom:20px;}
.price-size-tag{font-family:var(--ff-sans); font-size:.62rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); margin-right:4px;}
.price-size-sep{margin:0 12px; color:var(--ink-soft); opacity:.4;}
.product-desc{color:var(--ink-soft); line-height:1.85; font-size:1.05rem; max-width:460px; margin-bottom:32px;}
.product-cta{display:inline-flex;}
@media (max-width:820px){
  .product-view{padding-top:120px;}
  .product-grid{grid-template-columns:1fr; gap:32px;}
}

/* ===== Contact ===== */
.contact{background:var(--brown-900); color:var(--white); padding:110px 28px;}
.contact-inner{max-width:1240px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
.contact .section-eyebrow{color:var(--gold);}
.contact .section-title{color:var(--white);}
.contact-list{margin-top:26px; display:flex; flex-direction:column; gap:18px;}
.contact-list li{display:flex; align-items:center; gap:14px; color:rgba(255,251,244,.85); font-size:.98rem;}
.contact-list li a:hover{ text-decoration:underline; text-underline-offset:3px; color:var(--gold); }
.contact-list svg{color:var(--gold); flex:none;}
.social-row{display:flex; gap:12px; margin-top:32px;}
.social-row a{
  width:44px; height:44px; border-radius:50%; border:1.5px solid rgba(255,251,244,.3);
  display:flex; align-items:center; justify-content:center; font-size:.72rem; font-weight:700; letter-spacing:.02em;
  transition:all .3s ease;
}
.social-row a:hover{background:var(--terracotta); border-color:var(--terracotta); transform:translateY(-4px);}

.contact-map{display:flex; justify-content:center;}
.map-card{
  display:block; position:relative; width:100%; max-width:420px; aspect-ratio:4/3; border-radius:24px; overflow:hidden;
  background:linear-gradient(160deg, var(--brown-800), var(--brown-950)); box-shadow:var(--shadow-lg);
  transition:transform .35s ease, box-shadow .35s ease;
}
.map-card:hover{ transform:translateY(-4px); box-shadow:0 34px 70px -18px rgba(0,0,0,.5); }
.map-cta{
  position:absolute; left:50%; bottom:20px; transform:translateX(-50%);
  background:var(--terracotta); color:var(--white); font-size:.8rem; font-weight:600;
  padding:9px 18px; border-radius:100px; white-space:nowrap; box-shadow:var(--shadow-sm);
}
.map-grid{
  position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,251,244,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,251,244,.06) 1px, transparent 1px);
  background-size:34px 34px;
}
.map-pin{position:absolute; top:50%; left:50%; transform:translate(-50%,-100%);}
.map-pin span{
  display:block; width:18px; height:18px; border-radius:50% 50% 50% 0; background:var(--terracotta);
  transform:rotate(-45deg); box-shadow:0 0 0 6px rgba(193,96,47,.25); animation:pinPulse 2.2s ease-in-out infinite;
}
@keyframes pinPulse{0%,100%{box-shadow:0 0 0 6px rgba(193,96,47,.25);} 50%{box-shadow:0 0 0 14px rgba(193,96,47,.08);}}

/* ===== Footer ===== */
.site-footer{
  background:var(--brown-950); color:rgba(255,251,244,.55); text-align:center; padding:40px 24px;
  display:flex; flex-direction:column; align-items:center; gap:14px; font-size:.85rem;
}
.footer-logo{width:40px; height:40px; border-radius:10px; object-fit:cover;}
.footer-credit{color:rgba(255,251,244,.55); text-decoration:underline; text-underline-offset:3px; transition:color .3s ease;}
.footer-credit:hover{color:var(--terracotta);}

/* ===== Responsive ===== */
@media (max-width:940px){
  .story, .contact-inner{grid-template-columns:1fr; gap:48px;}
  .story-visual{order:1;}
}
@media (max-width:760px){
  .main-nav, .header-cta{display:none;}
  .nav-toggle{display:flex;}
  .main-nav.open{
    display:flex; position:fixed; top:70px; left:16px; right:16px; background:var(--white);
    border-radius:18px; flex-direction:column; padding:14px; box-shadow:var(--shadow-lg); gap:2px; z-index:400;
  }
  .main-nav.open .nav-link{color:var(--ink); padding:12px 14px; border-radius:10px;}
  .main-nav.open .nav-link:hover{background:var(--cream-soft);}
  .story, .menu-section, .contact{padding-left:20px; padding-right:20px;}
  .cat-section{padding:80px 20px 30px;}
  .cat-grid{grid-template-columns:repeat(2, 1fr); gap:14px;}   /* 2 ustte, 2 altta */
  .cat-body{padding:40px 13px 14px; gap:4px;}
  .cat-name{font-size:1rem;}
  .cat-count{font-size:.6rem;}
  .cat-more{margin-top:32px;}
  .menu-page{padding-top:118px;}
  .post-grid{grid-template-columns:repeat(2, 1fr); gap:14px;}   /* mobilde 2'li */
  .post-count{font-size:.6rem; padding:4px 9px; top:10px; right:10px;}
  .post-meta{flex-direction:column; align-items:flex-start; gap:5px; padding:12px 14px 14px;}
  .post-title{font-size:.92rem; line-height:1.25;}
  .post-more{margin-left:0; font-size:.72rem; gap:5px;}
  .menu-grid{grid-template-columns:repeat(2, 1fr); gap:12px;}   /* kategori icindeki urunler de 2'li */
  .card-body{padding:10px 12px 14px; gap:5px;}
  .card-top{flex-wrap:wrap; gap:6px;}
  .card-price{font-size:.95rem;}
  .card-price.no-price{font-size:.62rem;}
  .card-name{font-size:.88rem; line-height:1.28;}
  .card-cat{font-size:.56rem; letter-spacing:.08em;}
  .price-row .price-label{font-size:.54rem;}
  .price-row .price-value{font-size:.8rem;}
  .price-row{gap:4px;}
  .story-stats{gap:22px; flex-wrap:wrap;}
}
@media (max-width:520px){
  .hero{padding-top:120px;}
  .title-line{font-size:clamp(2rem,10vw,2.8rem);}
  .hero-desc{font-size:.98rem;}
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important;}
}
