/* ============================================================
   HIROSHI — QR Menü (modern, mobil-app deneyimi)
   ============================================================ */
:root{
  --red:#E20A13; --red-deep:#930006; --gold:#D4AF37; --black:#0D0D0D; --washi:#FAF9F6;
  --surface:#15161420; --card:#16181500; --line:rgba(212,175,55,.16);
  --muted:#a8a5a1; --ease:cubic-bezier(.22,1,.36,1);
  --ff-serif:'Noto Serif',Georgia,serif; --ff-jp:'Noto Serif JP',serif; --ff-sans:'Manrope',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--ff-sans);background:#0a0b0a;color:var(--washi);line-height:1.5;
  -webkit-font-smoothing:antialiased;padding-bottom:78px}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

.qr-shell{max-width:540px;margin-inline:auto;min-height:100vh;position:relative;
  background:
    radial-gradient(ellipse 90% 40% at 50% 0,rgba(226,10,19,.14),transparent 60%),
    #0a0b0a;
  overflow:hidden}

/* ---------- HERO KAPAK ---------- */
.qr-hero{position:relative;padding:34px 22px 26px;text-align:center;overflow:hidden}
.qr-hero::before{content:"";position:absolute;inset:0;z-index:0;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='104' viewBox='0 0 60 104'%3E%3Cg fill='none' stroke='%23D4AF37' stroke-width='1'%3E%3Cpath d='M30 0v52L0 69m30-17l30 17M0 35l30 17 30-17M0 35v34l30 17 30-17V35M0 69l30-17m30 17L30 52M30 104V52'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.25),transparent);mask-image:linear-gradient(180deg,rgba(0,0,0,.25),transparent)}
.qr-hero>*{position:relative;z-index:1}
.qr-hero-logo{width:96px;height:96px;border-radius:50%;background:#fff;border:3px solid var(--red);
  display:grid;place-items:center;margin:0 auto 14px;box-shadow:0 14px 40px rgba(0,0,0,.5)}
.qr-hero-logo img{width:86%}
.qr-hero-name{font-family:var(--ff-serif);font-weight:700;font-size:27px;letter-spacing:.02em;line-height:1.1}
.qr-hero-jp{font-family:var(--ff-jp);color:var(--gold);font-size:14px;letter-spacing:.4em;display:block;margin-top:6px}
.qr-hero-tagline{color:var(--muted);font-size:13px;margin-top:10px;font-style:italic;font-family:var(--ff-serif)}
.qr-hero-branch{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:12px;color:var(--washi);
  background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:30px;padding:7px 16px}
.qr-hero-branch i{color:var(--gold)}
.qr-hero-branch .dot{width:4px;height:4px;border-radius:50%;background:var(--muted)}

/* ---------- YAPIŞKAN BAR: arama + kategori sekmeleri ---------- */
.qr-bar{position:sticky;top:0;z-index:30;background:rgba(10,11,10,.93);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);padding:12px 0 0}
.qr-bar::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.5}
.qr-bar-top{display:flex;align-items:center;gap:10px;padding:0 18px}
.qr-menu-btn{flex:0 0 auto;width:46px;height:46px;border-radius:13px;background:rgba(255,255,255,.05);
  border:1px solid var(--line);color:var(--gold);font-size:18px;display:grid;place-items:center;transition:.2s}
.qr-menu-btn:active{background:var(--red);border-color:var(--red);color:#fff}
.qr-search{position:relative;flex:1;min-width:0}
.qr-search i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:14px;pointer-events:none}
.qr-search input{width:100%;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:30px;
  color:var(--washi);font-size:15px;padding:12px 16px 12px 42px;font-family:inherit}
.qr-search input:focus{outline:none;border-color:var(--red);background:rgba(255,255,255,.07)}
.qr-search input::placeholder{color:var(--muted)}

/* Off-canvas kategori paneli (filtreli) */
.qr-catpanel{display:none;position:fixed;inset:0;z-index:60}
.qr-catpanel.open{display:block}
.qr-catpanel-back{position:absolute;inset:0;background:rgba(5,5,5,.62);opacity:0;transition:opacity .35s}
.qr-catpanel.show .qr-catpanel-back{opacity:1}
.qr-catpanel-inner{position:absolute;top:0;left:0;bottom:0;width:min(84vw,340px);
  background:linear-gradient(180deg,#141612,#0b0c0a);border-right:1px solid var(--line);
  box-shadow:18px 0 50px rgba(0,0,0,.5);transform:translateX(-101%);transition:transform .4s var(--ease);
  overflow-y:auto;padding:18px 0 30px}
.qr-catpanel.show .qr-catpanel-inner{transform:translateX(0)}
.qr-catpanel-head{display:flex;align-items:center;justify-content:space-between;padding:6px 20px 16px;
  border-bottom:1px solid var(--line);margin-bottom:8px}
.qr-catpanel-title{font-family:var(--ff-serif);font-weight:600;font-size:17px;display:flex;align-items:center;gap:9px}
.qr-catpanel-title i{color:var(--gold)}
.qr-catpanel-close{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);color:var(--washi);
  display:grid;place-items:center;font-size:19px}
.qr-catpanel-close:active{background:var(--red);border-color:var(--red)}
.qr-catlink{display:flex;align-items:center;gap:13px;padding:14px 20px;color:var(--muted);
  border-left:2px solid transparent;transition:background .2s,color .2s}
.qr-catlink .jp{font-family:var(--ff-jp);color:var(--gold);width:26px;text-align:center;font-size:18px}
.qr-catlink .lbl{flex:1;font-size:15px}
.qr-catlink .n{font-size:11px;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:20px;padding:2px 9px}
.qr-catlink.active,.qr-catlink:active{color:var(--washi);background:rgba(226,10,19,.1);border-left-color:var(--red)}
.qr-catlink.active .n{background:var(--red);color:#fff;border-color:var(--red)}

.qr-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:12px 18px}
.qr-tabs::-webkit-scrollbar{display:none}
.qr-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;font-size:13px;padding:8px 15px;
  border:1px solid var(--line);border-radius:30px;color:var(--muted);white-space:nowrap;transition:.25s var(--ease)}
.qr-tab .jp{font-family:var(--ff-jp);font-size:13px;color:var(--gold);transition:color .25s}
.qr-tab.active{background:var(--gold);border-color:var(--gold);color:var(--black);font-weight:600}
.qr-tab.active .jp{color:var(--black)}

/* ---------- ÖNE ÇIKANLAR (yatay şerit) ---------- */
.qr-featured{padding:24px 0 6px}
.qr-sec-head{display:flex;align-items:center;gap:10px;padding:0 18px;margin-bottom:14px}
.qr-sec-head .jp{font-family:var(--ff-jp);color:var(--red);font-size:20px;line-height:1}
.qr-sec-head h3{font-family:var(--ff-serif);font-size:19px;font-weight:600}
.qr-sec-head .line{flex:1;height:1px;background:var(--line)}
.qr-feat-scroll{display:flex;gap:14px;overflow-x:auto;scrollbar-width:none;padding:0 18px 8px;scroll-snap-type:x mandatory}
.qr-feat-scroll::-webkit-scrollbar{display:none}
.qr-feat-card{flex:0 0 auto;width:208px;scroll-snap-align:start;border-radius:16px;overflow:hidden;
  position:relative;background:#16181a;border:1px solid var(--line)}
.qr-feat-img{position:relative;aspect-ratio:4/3;overflow:hidden}
.qr-feat-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.qr-feat-card:active .qr-feat-img img{transform:scale(1.06)}
.qr-feat-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(13,13,13,.88))}
.qr-feat-meta{position:absolute;left:0;right:0;bottom:0;padding:12px 13px}
.qr-feat-name{font-family:var(--ff-serif);font-size:15px;font-weight:600;line-height:1.2;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.qr-feat-price{font-family:var(--ff-serif);font-weight:700;color:var(--gold);font-size:15px;margin-top:4px}
.qr-feat-tag{position:absolute;top:10px;left:10px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;
  font-weight:700;padding:4px 9px;border-radius:20px;background:rgba(212,175,55,.92);color:#1a1a1a}

/* ---------- MENÜ GÖVDESİ ---------- */
.qr-body{padding:10px 18px 40px}
.qr-cat{padding-top:26px;scroll-margin-top:128px}
.qr-cat-head{display:flex;align-items:center;gap:11px;margin-bottom:16px}
.qr-cat-jp{font-family:var(--ff-jp);color:var(--red);font-size:24px;line-height:1}
.qr-cat-title{font-family:var(--ff-serif);font-size:22px;font-weight:700}
.qr-cat-count{font-size:11px;color:var(--muted);background:rgba(255,255,255,.05);
  border:1px solid var(--line);border-radius:20px;padding:2px 9px}
.qr-cat-line{flex:1;height:1px;background:var(--line)}

/* Görsel kart ızgarası */
.qr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media (min-width:460px){.qr-grid{grid-template-columns:repeat(3,1fr)}}
.qr-card{display:flex;flex-direction:column;background:#16181a;border:1px solid var(--line);
  border-radius:16px;overflow:hidden;transition:transform .25s var(--ease),border-color .25s}
.qr-card:active{transform:scale(.97);border-color:var(--gold)}
.qr-card-img{position:relative;aspect-ratio:1/1;overflow:hidden}
.qr-card-img img{width:100%;height:100%;object-fit:cover}
.qr-ph{position:absolute;inset:0;display:grid;place-items:center;
  background:radial-gradient(ellipse 80% 70% at 50% 30%,rgba(226,10,19,.18),transparent 70%),linear-gradient(160deg,#1f211d,#111)}
.qr-ph::after{content:"";position:absolute;inset:0;background:url('../img/logo.png') center/52% no-repeat;opacity:.06}
.qr-ph-kanji{font-family:var(--ff-jp);font-size:54px;color:transparent;-webkit-text-stroke:1px rgba(212,175,55,.5);line-height:1}
.qr-card-badge{position:absolute;top:8px;left:8px;font-size:9px;letter-spacing:.05em;text-transform:uppercase;
  padding:3px 9px;border-radius:20px;font-weight:700;backdrop-filter:blur(4px)}
.qr-card-badge.spicy{background:rgba(226,10,19,.88);color:#fff}
.qr-card-badge.gold{background:rgba(212,175,55,.92);color:#1a1a1a}
.qr-card-body{padding:11px 12px 13px;display:flex;flex-direction:column;gap:5px;flex:1}
.qr-card-name{font-family:var(--ff-serif);font-size:14.5px;font-weight:600;line-height:1.25;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.qr-card-jp{font-family:var(--ff-jp);font-size:11px;color:var(--gold)}
.qr-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:5px}
.qr-card-price{font-family:var(--ff-serif);font-size:16px;font-weight:700;color:var(--gold)}
.qr-card-price .cur,.qr-feat-price .cur,.qrd-price .cur{font-size:11px;opacity:.8}
.qr-card-foot i{font-size:11px;color:var(--muted)}

.qr-empty{text-align:center;color:var(--muted);padding:60px 20px}

/* ---------- ALT SABİT ÇUBUK ---------- */
.qr-foot{position:fixed;left:0;right:0;bottom:0;z-index:40;max-width:540px;margin-inline:auto;
  display:flex;gap:1px;background:var(--line);border-top:1px solid var(--line)}
.qr-foot a{flex:1;background:rgba(10,11,9,.97);backdrop-filter:blur(10px);
  display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 4px;
  font-size:10.5px;letter-spacing:.03em;color:var(--muted)}
.qr-foot a i{font-size:17px;color:var(--gold)}
.qr-foot a.accent{background:var(--red);color:#fff}
.qr-foot a.accent i{color:#fff}

.qr-top-btn{position:fixed;right:calc(50% - 258px);bottom:90px;z-index:35;width:44px;height:44px;border-radius:50%;
  background:#1d1f1c;border:1px solid var(--line);color:var(--gold);display:grid;place-items:center;
  opacity:0;pointer-events:none;transition:opacity .3s}
.qr-top-btn.show{opacity:1;pointer-events:auto}
@media (max-width:580px){.qr-top-btn{right:16px}}

/* ============================================================
   DETAY SAYFASI (/qr/{slug})
   ============================================================ */
.qrd-hero{position:relative;aspect-ratio:1/1;max-height:62vh;overflow:hidden}
.qrd-hero img{width:100%;height:100%;object-fit:cover}
.qrd-hero .qr-ph-kanji{font-size:130px}
.qrd-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,13,.35) 0,transparent 28%,transparent 60%,#0a0b0a 100%)}
.qrd-back{position:fixed;top:14px;left:max(14px,calc(50% - 256px));z-index:30;width:44px;height:44px;border-radius:50%;
  background:rgba(10,11,10,.55);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);
  color:var(--washi);display:grid;place-items:center;font-size:16px}
.qrd-body{padding:0 22px 40px;position:relative;z-index:2;margin-top:-56px}
.qrd-head{display:flex;align-items:flex-start;gap:14px}
.qrd-title{flex:1;font-family:var(--ff-serif);font-size:27px;font-weight:700;line-height:1.15}
.qrd-jp{font-family:var(--ff-jp);font-size:15px;color:var(--gold);margin-top:5px;display:block}
.qrd-price{font-family:var(--ff-serif);font-size:25px;font-weight:700;color:var(--gold);white-space:nowrap;
  background:rgba(212,175,55,.1);border:1px solid var(--line);border-radius:14px;padding:8px 14px}
.qrd-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.qrd-tag{font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:6px 13px;border-radius:20px;font-weight:600}
.qrd-tag.spicy{background:rgba(226,10,19,.16);color:#ff6b63}
.qrd-tag.gold{background:rgba(212,175,55,.16);color:var(--gold)}
.qrd-tag.cat{background:rgba(255,255,255,.06);color:var(--muted)}
.qrd-desc{font-size:15px;color:#d7d4d0;line-height:1.7;margin-top:18px}
.qrd-block{margin-top:26px}
.qrd-h{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:11px;
  display:flex;align-items:center;gap:8px}
.qrd-h::before{content:"";width:18px;height:1px;background:var(--gold)}
.qrd-chips{display:flex;flex-wrap:wrap;gap:8px}
.qrd-chip{font-size:13px;background:rgba(255,255,255,.04);border:1px solid var(--line);
  border-left:2px solid var(--red);padding:8px 13px;border-radius:8px}
.qrd-meta{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.qrd-meta div{flex:1;background:#16181a;padding:16px 8px;text-align:center}
.qrd-meta b{display:block;font-family:var(--ff-serif);font-size:21px;color:var(--washi)}
.qrd-meta span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.qrd-two{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:8px}
.qrd-two>div{flex:1;background:#16181a;padding:16px}
.qrd-two p{font-size:14px;color:var(--washi);margin-top:6px}

/* İlgili ürünler (detayda) */
.qrd-related{margin-top:30px}
.qrd-rel-scroll{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;padding-bottom:6px}
.qrd-rel-scroll::-webkit-scrollbar{display:none}
.qrd-rel-card{flex:0 0 auto;width:140px;border-radius:14px;overflow:hidden;background:#16181a;border:1px solid var(--line)}
.qrd-rel-img{position:relative;aspect-ratio:1/1;overflow:hidden}
.qrd-rel-img img{width:100%;height:100%;object-fit:cover}
.qrd-rel-b{padding:9px 10px}
.qrd-rel-name{font-family:var(--ff-serif);font-size:13px;font-weight:600;line-height:1.2;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.qrd-rel-price{font-family:var(--ff-serif);font-weight:700;color:var(--gold);font-size:13px;margin-top:3px}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
