/* Le Petit Istanbul, site. Renkler ve yazı tipleri admin panelinden :root değişkenleriyle gelir. */
*,*::before,*::after{box-sizing:border-box}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 84px);-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;font-family:var(--font);font-size:var(--fs);line-height:1.55;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-head);font-weight:700;line-height:1.1;margin:0}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.wrap{max-width:1180px;margin:0 auto;padding-left:1.25rem;padding-right:1.25rem}
.wrap.narrow{max-width:760px}
.ic{width:1.25em;height:1.25em;stroke-width:1.75;flex:none}
.skip{position:absolute;left:-999px;top:0;background:var(--red);color:#fff;padding:.5rem 1rem;z-index:100}
.skip:focus{left:1rem}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Buttons */
.btn-call{display:inline-flex;align-items:center;gap:.45rem;background:var(--red);color:#fff;text-decoration:none;font-weight:700;border-radius:999px;padding:.62rem 1.15rem;font-size:.98rem;white-space:nowrap;border:0;line-height:1.2}
.btn-call:hover{background:var(--red-deep)}
.btn-ghost{display:inline-flex;align-items:center;gap:.45rem;color:#F6ECE2;text-decoration:none;font-weight:700;border-radius:999px;padding:.6rem 1.1rem;border:1.5px solid color-mix(in srgb,var(--gold) 50%,transparent);line-height:1.2}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn-ghost.dark{color:var(--ink);border-color:var(--line)}
.btn-ghost.dark:hover{border-color:var(--red);color:var(--red)}
.cta{display:flex;flex-wrap:wrap;gap:.75rem}

/* Announcement + header */
.ann{text-align:center;font-size:.92rem;padding:.5rem 1rem;line-height:1.35}
.ann a{text-decoration:underline;text-underline-offset:3px}
.hdr{position:sticky;top:0;z-index:40;background:var(--espresso);border-bottom:1px solid color-mix(in srgb,var(--gold) 14%,transparent);padding-top:env(safe-area-inset-top,0px)}
.hdr-in{display:flex;align-items:center;gap:1.5rem;min-height:68px}
.logo{display:block;line-height:0}
.logo-img{height:var(--logo-h);width:auto;max-width:62vw}
.nav{display:flex;align-items:center;gap:1.75rem;margin-left:auto}
.nav a{color:#EFE1D4;text-decoration:none;padding:.35rem 0;border-bottom:2px solid transparent}
.nav a:hover{color:var(--gold);border-bottom-color:var(--gold)}
.burger{display:none;margin-left:auto;background:none;border:0;color:#fff;padding:.4rem;cursor:pointer}
.burger svg{width:28px;height:28px}
.drawer{background:var(--espresso);border-top:1px solid rgba(255,255,255,.06)}
.drawer a{display:flex;align-items:center;gap:.5rem;color:#F3E6DA;text-decoration:none;font-size:1.08rem;padding:.9rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.06)}

/* Hero */
.hero{position:relative;background-color:var(--espresso);background-image:var(--pattern);color:#F6ECE2;overflow:hidden}
.hero.has-bg{background-image:linear-gradient(90deg,color-mix(in srgb,var(--espresso) 92%,transparent) 30%,color-mix(in srgb,var(--espresso) 55%,transparent)),var(--hero-bg);background-size:cover;background-position:center}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--red)}
.hero-in{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:2.5rem;padding-top:5.25rem;padding-bottom:4.75rem}
.neon{font-family:var(--script);font-weight:400;font-size:clamp(3.4rem,8.5vw,6.6rem);line-height:.95;color:#FFF4D2;margin:0 0 1.25rem;display:inline-block;transform:rotate(-5deg);transform-origin:left center;
 text-shadow:0 0 4px #FFE9B0,0 0 14px color-mix(in srgb,var(--gold) 85%,transparent),0 0 34px rgba(255,170,60,.55),0 0 70px color-mix(in srgb,var(--red) 45%,transparent);animation:neon-on 1.6s ease-out .2s both}
@keyframes neon-on{0%{opacity:.08;text-shadow:none}12%{opacity:.9}16%{opacity:.2}24%{opacity:1}30%{opacity:.35}38%,100%{opacity:1}}
.hero h1{font-size:clamp(2rem,3.8vw,3.15rem);margin:0 0 1.1rem;max-width:18ch;color:#fff}
.hero .lead{font-size:1.12rem;color:#E4D3C6;max-width:46ch;margin:0 0 1.5rem}
.status{display:inline-flex;align-items:center;gap:.5rem;font-size:.93rem;padding:.35rem .8rem;border-radius:999px;background:rgba(255,255,255,.08);color:#F6ECE2;margin-bottom:1.4rem;line-height:1.3}
.status i{width:9px;height:9px;border-radius:50%;background:#9A8A80;display:inline-block;flex:none}
.status.open i{background:#3DD68C;box-shadow:0 0 0 4px rgba(61,214,140,.18)}
.hero-art{position:relative;aspect-ratio:1/.92}
.hero-art .back{position:absolute;right:2%;top:-4%;height:88%;width:auto;opacity:.85;-webkit-mask-image:radial-gradient(closest-side,#000 55%,transparent 100%);mask-image:radial-gradient(closest-side,#000 55%,transparent 100%)}
.hero-art .main{position:absolute;left:0;bottom:2%;width:92%;height:auto;-webkit-mask-image:radial-gradient(closest-side,#000 72%,transparent 100%);mask-image:radial-gradient(closest-side,#000 72%,transparent 100%)}
.badge-fm{position:absolute;right:4%;bottom:4%;width:118px;height:118px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;text-align:center;font-weight:700;line-height:1.1;font-size:.95rem;transform:rotate(8deg);box-shadow:0 0 0 6px color-mix(in srgb,var(--red) 25%,transparent)}
.badge-fm svg{width:26px;height:auto;margin:0 auto 4px;display:block}

/* Facts */
.facts{background:var(--sign);color:#F1E3D6}
.facts ul{list-style:none;margin:0 auto;padding-top:1.15rem;padding-bottom:1.15rem;display:grid;grid-template-columns:repeat(var(--n,4),1fr);gap:1rem}
.facts li{display:flex;align-items:center;gap:.7rem;font-size:.98rem;line-height:1.3}
.facts .ic{color:var(--gold);width:1.6em;height:1.6em}

/* Menu */
.carte{background:var(--bg);padding:4.5rem 0 3.5rem}
.sec-h{font-size:clamp(2rem,4vw,2.9rem);margin:0 0 .5rem}
.sec-h2{font-size:clamp(1.8rem,3.4vw,2.5rem);margin:0 0 1rem}
.sec-sub{color:var(--muted);margin:0 0 1.5rem;max-width:62ch}
.chips{display:flex;gap:.5rem;overflow-x:auto;padding:.25rem 0 1rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:.45rem 1rem;font-size:.95rem;font-weight:700;text-decoration:none;white-space:nowrap}
.chip:hover,.chip.on{border-color:var(--red);color:var(--red)}
.cat{display:grid;grid-template-columns:280px 1fr;gap:2.5rem;padding:2.25rem 0;border-top:1px solid var(--line)}
.cat.sticky .cat-side{position:sticky;top:96px;align-self:start}
.cat-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);background:var(--photo-bg);margin-bottom:1rem}
.cat h3{font-size:1.75rem;margin:0 0 .3rem}
.cat-desc{color:var(--muted);margin:0;font-size:.98rem}
.cat-note{display:inline-block;margin:.6rem 0 0;font-size:.85rem;font-weight:700;color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent);border-radius:6px;padding:.15rem .55rem}
.cat-cards{grid-template-columns:1fr;gap:1.25rem}
.cat-cards .cat-side{position:static}
.items{list-style:none;margin:0;padding:0}
.it{display:flex;align-items:flex-start;gap:1rem;padding:.95rem 0;border-bottom:1px dashed var(--line)}
.it:last-child{border-bottom:0}
.it-img{width:84px;height:63px;object-fit:cover;border-radius:10px;background:var(--photo-bg);flex:none}
.it-main{flex:1;min-width:0}
.it-name{font-weight:700;font-size:1.12rem;line-height:1.25}
.it-desc{color:var(--muted);font-size:.92rem;margin:.15rem 0 0}
.tags{display:inline-flex;flex-wrap:wrap;gap:.3rem;vertical-align:2px}
.tag{font-size:.72rem;font-weight:700;padding:.1rem .45rem;border-radius:5px;color:var(--tag);background:color-mix(in srgb,var(--tag) 12%,transparent)}
.prices{display:flex;gap:1.1rem;text-align:right;flex:none}
.pr b{display:block;font-size:1.12rem;color:var(--price);white-space:nowrap;line-height:1.25}
.pr small{display:block;color:var(--muted);font-size:.76rem;line-height:1.2;white-space:nowrap}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem}
.pc{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.pc-img{background:var(--photo-bg);aspect-ratio:16/10;display:grid;place-items:center;overflow:hidden}
.pc-img img{width:100%;height:100%;object-fit:cover}
.pc-body{padding:.85rem 1rem 1rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.pc-name{font-size:1.1rem}
.pc .prices{justify-content:flex-start;text-align:left;margin-top:auto;padding-top:.4rem;gap:1rem}
.note{color:var(--muted);font-size:.85rem;margin-top:1.5rem}

/* About + contact */
.about{background:var(--surface);padding:4.5rem 0;border-top:1px solid var(--line)}
.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center}
.about-grid.no-img{grid-template-columns:1fr;max-width:820px}
.about img{width:100%;border-radius:var(--radius);aspect-ratio:4/3;object-fit:cover}
.rich p{margin:0 0 1rem;max-width:62ch}
.rich h3{font-size:1.25rem;margin:1.75rem 0 .6rem}
.contact{background:var(--bg);padding:4.5rem 0;border-top:1px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:3rem;align-items:start}
.contact-grid.no-map{grid-template-columns:1fr;max-width:620px}
.contact .status{background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--ink);margin-bottom:.5rem}
.hours{width:100%;border-collapse:collapse;margin:1rem 0 .5rem;font-size:1rem}
.hours td{padding:.45rem 0;border-bottom:1px solid var(--line)}
.hours td:last-child{text-align:right}
.hours tr.today td{font-weight:700;color:var(--red)}
.hours-note{color:var(--muted);font-size:.92rem;margin:.25rem 0 0}
.addr{display:flex;gap:.6rem;align-items:flex-start;margin:.9rem 0 0}
.addr .ic{color:var(--red);margin-top:.15rem}
.contact .cta{margin-top:1.5rem}
.map{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--surface);min-height:380px;height:100%}
.map iframe{width:100%;height:100%;min-height:380px;border:0;display:block}

/* Footer */
.ftr{background:var(--espresso);color:#CDB8AA;padding:3rem 0 2rem;font-size:.95rem}
.ftr-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem}
.ftr-logo{margin-bottom:1rem}
.ftr h4{color:#fff;font-size:1rem;margin:0 0 .6rem}
.ftr p{margin:0 0 .3rem}
.ftr p span{display:inline-block;min-width:2.6em;color:#9C8577}
.ftr a{color:#F3E6DA;text-decoration:none}
.ftr a:hover{color:var(--gold)}
.social{display:flex;gap:.75rem;margin-top:1rem}
.social .ic{width:1.5em;height:1.5em}
.ftr-small .credit{margin-left:auto}
.ftr-small{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:2rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.08);font-size:.85rem;color:#9C8577}

/* Simple pages */
.page .hdr-call.show{display:inline-flex;margin-left:auto}
.page-body{background:var(--bg);padding:3.5rem 0 4rem;min-height:55vh}
.maint{min-height:100vh;display:grid;place-items:center;text-align:center;background:var(--espresso);background-image:var(--pattern);color:#F6ECE2;padding:2rem}
.maint .logo-img{margin:0 auto 2rem;height:calc(var(--logo-h) * 1.4)}
.maint .neon{transform:none}
.maint .rich{font-size:1.15rem;margin:0 0 1.5rem}

/* QR menu */
.qm{background:var(--bg)}
.qm-hd{background:var(--espresso);background-image:var(--pattern);color:#F6ECE2;padding:calc(1.25rem + env(safe-area-inset-top,0px)) 1rem 1.1rem;text-align:center;border-bottom:4px solid var(--red)}
.qm-hd .logo-img{height:calc(var(--logo-h) * 1.08);margin:0 auto;max-width:92%}
.qm-tb{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;margin-top:.8rem;font-size:.92rem}
.qm-tb>span{background:rgba(255,255,255,.08);border-radius:999px;padding:.3rem .8rem}
.qm-tb .status{margin:0}
.qm-nav{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line);padding:.6rem 0 0}
.qm-nav .chips{padding:0 1rem .55rem}
.qm-body{max-width:680px;margin:0 auto;padding:0 1rem 110px}
.qm-cat{padding-top:1.4rem;scroll-margin-top:70px}
.qm-cat-hd{display:flex;gap:.85rem;align-items:center;margin-bottom:.25rem}
.qm-cat-hd img{width:64px;height:64px;border-radius:12px;object-fit:cover;background:var(--photo-bg);flex:none}
.qm-cat-hd h2{font-size:1.45rem}
.qm-cat-hd p{margin:.15rem 0 0;color:var(--muted);font-size:.9rem}
.qm-cat-hd .cat-note{margin-top:.35rem}
.qm .it{padding:.8rem 0}
.qm .it-name{font-size:1.04rem}
.qm .it-img{width:72px;height:54px}
.qm-home{text-align:center;color:var(--muted);font-size:.85rem;margin-top:2rem}
.qm-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--espresso);color:#F6ECE2;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:.75rem;font-size:.92rem;line-height:1.3}
.qm-bar .btn-call{margin-left:auto;padding:.55rem .85rem}

/* Responsive */
@media (max-width:900px){
  .nav,.hdr-call{display:none}
  .burger{display:block}
  .hero-in{grid-template-columns:1fr;padding-top:2rem;gap:1rem}
  .hero-art{max-width:520px;width:100%;margin:0 auto;order:-1;aspect-ratio:1/.75}
  .facts ul{grid-template-columns:1fr 1fr}
  .cat{grid-template-columns:1fr;gap:1rem}
  .cat.sticky .cat-side{position:static}
  .cat:not(.cat-cards) .cat-side{display:grid;grid-template-columns:110px 1fr;gap:1rem;align-items:center}
  .cat:not(.cat-cards) .cat-img{margin:0}
  .about-grid,.contact-grid,.ftr-grid{grid-template-columns:1fr}
  .map,.map iframe{min-height:300px}
}
@media (max-width:520px){
  .ftr-small .credit{margin-left:0}
  body{font-size:calc(var(--fs) - 1px)}
  .facts ul{grid-template-columns:1fr}
  .prices{gap:.65rem}
  .cards{grid-template-columns:1fr 1fr;gap:.65rem}
  .pc-body{padding:.65rem .7rem .8rem}
  .pc-name{font-size:1rem}
  .pc .prices{flex-wrap:wrap;gap:.2rem .7rem}
  .pr b{font-size:1.02rem}
  .it-img{width:64px;height:48px}
}
@media print{.hdr,.ann,.qm-bar,.qm-nav,.map{display:none}}
