/* ============================================================
   FENHA KARABURUN — Ortak Tasarım Sistemi
   ============================================================ */

:root{
  --ink:#101d19;
  --ink-2:#182c24;
  --ink-3:#1e352b;
  --line: rgba(233,224,199,0.13);
  --line-strong: rgba(233,224,199,0.24);
  --ivory:#f2ead6;
  --muted:#9db3a6;
  --gold:#cea24a;
  --gold-soft:#e6c877;
  --wine:#9a4a3d;
  --sunset-1:#e8a06a;
  --sunset-2:#c95f42;
  --radius-sm:10px;
  --radius:16px;
  --radius-lg:26px;
  --safe-b: env(safe-area-inset-bottom, 0px);
  --maxw: 1120px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:
    radial-gradient(1200px 620px at 50% -12%, #1c3329 0%, var(--ink) 55%),
    var(--ink);
  color:var(--ivory);
  font-family:'Work Sans', sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
::selection{background:var(--gold); color:var(--ink);}
:focus-visible{outline:2px solid var(--gold-soft); outline-offset:3px; border-radius:4px;}
.container{max-width:var(--maxw); margin:0 auto; padding:0 20px;}

h1,h2,h3,h4{font-family:'Fraunces', serif; font-weight:600; margin:0; line-height:1.12;}

.eyebrow{
  font-size:11.5px; letter-spacing:.26em; text-transform:uppercase;
  color:var(--gold-soft); font-weight:600;
}

.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 26px; border-radius:999px;
  font-weight:600; font-size:14.5px;
  border:1px solid transparent; cursor:pointer;
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--gold); color:var(--ink);}
.btn-primary:hover{background:var(--gold-soft);}
.btn-ghost{border-color:var(--line-strong); color:var(--ivory); background:transparent;}
.btn-ghost:hover{border-color:var(--gold-soft); color:var(--gold-soft);}
.btn svg{width:16px; height:16px;}

/* ---------- Horizon (imza öge: gün batımı çizgisi) ---------- */
.horizon{
  width:100%; height:2px; margin:0 auto;
  background:linear-gradient(90deg, transparent, var(--sunset-2), var(--gold-soft), var(--sunset-2), transparent);
  opacity:.85;
}
.horizon-wrap{display:flex; justify-content:center; padding:0 0 2px;}
.horizon-wrap svg{width:min(220px, 60%); height:auto; opacity:.9;}

/* ---------------------- HEADER / NAV ---------------------- */
.site-header{
  position:sticky; top:0; z-index:40;
  backdrop-filter:blur(10px) saturate(1.1);
  background:rgba(16,29,25,0.72);
  border-bottom:1px solid var(--line);
}
.nav-row{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 20px;
}
.brand{display:flex; flex-direction:column; line-height:1; gap:2px;}
.brand-name{
  font-family:'Fraunces', serif; font-weight:600; font-size:24px; color:var(--ivory);
  letter-spacing:.01em;
}
.brand-sub{
  font-size:8.5px; letter-spacing:.24em; color:var(--gold-soft); font-weight:600;
}
.nav-links{display:flex; align-items:center; gap:28px;}
.nav-links a{
  font-size:14px; font-weight:600; color:var(--muted);
  padding:6px 2px; border-bottom:1px solid transparent;
  transition:color .15s ease, border-color .15s ease;
}
.nav-links a:hover, .nav-links a.active{color:var(--ivory); border-color:var(--gold);}
.nav-right{display:flex; align-items:center; gap:14px;}
.nav-cta{padding:10px 18px; font-size:13.5px;}
.nav-toggle{
  display:none; background:none; border:1px solid var(--line-strong);
  border-radius:10px; width:42px; height:42px; align-items:center; justify-content:center;
  color:var(--ivory); cursor:pointer;
}
.mobile-nav{
  position:fixed; inset:0; z-index:50;
  background:var(--ink); padding:24px 20px;
  display:none; flex-direction:column; gap:6px;
}
.mobile-nav.open{display:flex;}
.mobile-nav-top{display:flex; justify-content:space-between; align-items:center; margin-bottom:24px;}
.mobile-nav a{
  font-family:'Fraunces', serif; font-size:26px; padding:14px 4px;
  border-bottom:1px solid var(--line); color:var(--ivory);
}
.mobile-nav .btn{margin-top:18px; justify-content:center;}

@media (max-width: 860px){
  .nav-links{display:none;}
  .nav-toggle{display:flex;}
  .nav-cta.desktop-only{display:none;}
}

/* ---------------------- HERO ---------------------- */
.hero{
  position:relative;
  padding: 64px 20px 40px;
  text-align:center;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute; left:50%; top:-140px; transform:translateX(-50%);
  width:900px; height:420px; border-radius:50%;
  background:radial-gradient(closest-side, rgba(232,160,106,0.22), transparent 70%);
  pointer-events:none;
}
.hero-inner{position:relative; max-width:760px; margin:0 auto;}
.hero-title{
  font-size:clamp(34px, 6.2vw, 58px);
  margin:14px 0 16px;
  letter-spacing:.005em;
}
.hero-title em{color:var(--gold-soft); font-style:normal;}
.hero-sub{
  font-size:16px; color:var(--muted); max-width:520px; margin:0 auto 28px; line-height:1.6;
}
.hero-actions{display:flex; gap:12px; justify-content:center; flex-wrap:wrap;}

/* ---------------------- PAGE HERO (iç sayfalar) ---------------------- */
.page-hero{padding:52px 20px 30px; text-align:center;}
.page-hero h1{font-size:clamp(30px,5vw,44px); margin-top:10px;}
.page-hero p{color:var(--muted); max-width:480px; margin:12px auto 0; font-size:15px; line-height:1.6;}

/* ---------------------- SECTION ---------------------- */
.section{padding:56px 20px;}
.section-head{text-align:center; max-width:600px; margin:0 auto 36px;}
.section-head h2{font-size:clamp(26px,4vw,36px); margin-top:10px;}
.section-head p{color:var(--muted); margin-top:12px; font-size:15px; line-height:1.6;}

/* ---------------------- CARDS ---------------------- */
.cards-grid{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:16px;
  max-width:var(--maxw); margin:0 auto;
}
.card{
  background:var(--ink-2); border:1px solid var(--line); border-radius:var(--radius);
  padding:26px 20px; text-align:left;
}
.card-icon{
  width:40px; height:40px; border-radius:11px; background:var(--ink-3);
  display:flex; align-items:center; justify-content:center; margin-bottom:14px;
  color:var(--gold-soft);
}
.card-icon svg{width:20px; height:20px;}
.card h3{font-size:17px; margin-bottom:6px;}
.card p{font-size:13.5px; color:var(--muted); line-height:1.55; margin:0;}

@media (max-width:900px){ .cards-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .cards-grid{grid-template-columns:1fr;} }

/* ---------------------- ABOUT SPLIT ---------------------- */
.about-split{
  display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center;
  max-width:var(--maxw); margin:0 auto;
}
.about-split.reverse{grid-template-columns:1fr 1fr;}
.about-split.reverse .about-text{order:2;}
.about-text ul{list-style:none; padding:0; margin:20px 0 0; display:flex; flex-direction:column; gap:10px;}
.about-text li{display:flex; align-items:center; gap:10px; font-size:14.5px; color:var(--ivory);}
.about-text li svg{width:16px; height:16px; color:var(--gold-soft); flex:none;}
.about-text p{color:var(--muted); font-size:15px; line-height:1.75; margin-top:14px;}
@media (max-width:820px){
  .about-split, .about-split.reverse{grid-template-columns:1fr;}
  .about-split.reverse .about-text{order:0;}
}

/* ---------------------- PHOTO SLOT ---------------------- */
.photo-slot{
  position:relative; border-radius:var(--radius-lg); overflow:hidden;
  aspect-ratio: 4 / 5; background:var(--ink-2); border:1px solid var(--line);
}
.photo-slot.wide{aspect-ratio: 16/10;}
.photo-slot.square{aspect-ratio: 1/1;}
.photo-slot img{width:100%; height:100%; object-fit:cover;}
.photo-slot .ph-fallback{
  position:absolute; inset:0; display:none;
  flex-direction:column; align-items:center; justify-content:center; gap:10px;
  background:
    repeating-linear-gradient(135deg, var(--ink-2), var(--ink-2) 10px, var(--ink-3) 10px, var(--ink-3) 20px);
  color:var(--muted); text-align:center; padding:20px;
}
.photo-slot.missing .ph-fallback{display:flex;}
.photo-slot.missing img{display:none;}
.ph-fallback svg{width:26px; height:26px; opacity:.7;}
.ph-fallback strong{font-size:12.5px; color:var(--ivory); font-weight:600;}
.ph-fallback span{font-size:11px; font-family:monospace; color:var(--gold-soft); opacity:.85;}

/* ---------------------- MENU PREVIEW ---------------------- */
.preview-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px;
  max-width:var(--maxw); margin:0 auto;
}
.preview-card{
  border-radius:var(--radius); overflow:hidden; border:1px solid var(--line);
  background:var(--ink-2); display:block;
}
.preview-card .photo-slot{aspect-ratio:4/3; border-radius:0; border:0;}
.preview-card-body{padding:16px 18px 20px;}
.preview-card h3{font-size:15.5px; margin-bottom:4px;}
.preview-card p{font-size:12.5px; color:var(--muted); margin:0; line-height:1.5;}
@media (max-width:900px){ .preview-grid{grid-template-columns:repeat(2,1fr);} }

/* ---------------------- GALLERY ---------------------- */
.gallery-grid{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:14px;
  max-width:var(--maxw); margin:0 auto;
}
.gallery-grid .photo-slot{aspect-ratio: 4/5; border-radius:var(--radius);}
@media (max-width:820px){ .gallery-grid{grid-template-columns:repeat(2,1fr);} }

/* ---------------------- LOCATION / MAP ---------------------- */
.map-card{
  max-width:var(--maxw); margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:0;
  border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden;
  background:var(--ink-2);
}
.map-info{padding:38px 34px; display:flex; flex-direction:column; justify-content:center; gap:16px;}
.map-info h3{font-size:24px;}
.map-info p{color:var(--muted); font-size:14.5px; line-height:1.6; margin:0;}
.map-frame{min-height:320px;}
.map-frame iframe{
  width:100%; height:100%; min-height:320px; border:0; display:block;
  filter:grayscale(0.55) contrast(1.05) brightness(0.9);
  transition:filter .3s ease;
}
.map-frame iframe:hover, .map-frame iframe:focus{filter:none;}
@media (max-width:820px){ .map-card{grid-template-columns:1fr;} }

.info-row{display:flex; align-items:flex-start; gap:12px;}
.info-row svg{width:18px; height:18px; color:var(--gold-soft); flex:none; margin-top:2px;}
.info-row div strong{display:block; font-size:14px; margin-bottom:2px;}
.info-row div span{font-size:13.5px; color:var(--muted);}

/* ---------------------- CONTACT GRID (İletişim sayfası) ---------------------- */
.contact-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px;
  max-width:var(--maxw); margin:0 auto 40px;
}
.contact-card{
  background:var(--ink-2); border:1px solid var(--line); border-radius:var(--radius);
  padding:24px 20px; text-align:left;
}
.contact-card .card-icon{margin-bottom:16px;}
.contact-card h3{font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--gold-soft); margin-bottom:8px;}
.contact-card p{font-size:14.5px; color:var(--ivory); margin:0 0 14px; line-height:1.5;}
.contact-card a.link{font-size:13px; font-weight:600; color:var(--gold-soft); border-bottom:1px solid var(--gold-soft); padding-bottom:1px;}
@media (max-width:900px){ .contact-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .contact-grid{grid-template-columns:1fr;} }

.hours-table{max-width:420px; margin:0 auto; border-top:1px solid var(--line);}
.hours-row{
  display:flex; justify-content:space-between; padding:12px 4px;
  border-bottom:1px solid var(--line); font-size:14.5px;
}
.hours-row span:first-child{color:var(--ivory); font-weight:600;}
.hours-row span:last-child{color:var(--muted);}
.hours-note{
  text-align:center; font-size:12px; color:var(--muted); margin-top:14px; font-style:italic;
}

/* ---------------------- CTA BANNER ---------------------- */
.cta-banner{
  max-width:var(--maxw); margin:0 auto; text-align:center;
  padding:56px 30px; border-radius:var(--radius-lg);
  background:linear-gradient(135deg, var(--ink-3), var(--ink-2));
  border:1px solid var(--line-strong);
}
.cta-banner h2{font-size:clamp(24px,4vw,34px); margin-bottom:14px;}
.cta-banner p{color:var(--muted); margin-bottom:26px; font-size:15px;}

/* ---------------------- FOOTER ---------------------- */
.site-footer{border-top:1px solid var(--line); padding:56px 20px 0; margin-top:20px;}
.footer-grid{
  max-width:var(--maxw); margin:0 auto;
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px;
  padding-bottom:36px;
}
.footer-brand p{color:var(--muted); font-size:13.5px; line-height:1.6; margin-top:12px; max-width:260px;}
.footer-col h4{font-size:12px; text-transform:uppercase; letter-spacing:.1em; color:var(--gold-soft); margin-bottom:14px;}
.footer-col a, .footer-col span{
  display:block; font-size:13.5px; color:var(--muted); margin-bottom:10px;
}
.footer-col a:hover{color:var(--ivory);}
.footer-social{display:flex; gap:10px; margin-top:6px;}
.footer-social a{
  width:36px; height:36px; border-radius:50%; border:1px solid var(--line-strong);
  display:flex; align-items:center; justify-content:center; margin:0;
}
.footer-social svg{width:16px; height:16px;}
.footer-bottom{
  border-top:1px solid var(--line); padding:18px 0; text-align:center;
  font-size:12px; color:var(--muted); max-width:var(--maxw); margin:0 auto;
}
@media (max-width:820px){ .footer-grid{grid-template-columns:1fr 1fr; gap:28px;} }
@media (max-width:520px){ .footer-grid{grid-template-columns:1fr;} }

/* ---------------------- FLOATING WHATSAPP ---------------------- */
.fab{
  position:fixed; right:16px; bottom: calc(18px + var(--safe-b));
  z-index:45;
  display:flex; align-items:center; gap:8px;
  background:#25d366; color:#0b2118;
  padding:13px 18px; border-radius:999px;
  font-weight:700; font-size:14px;
  box-shadow:0 8px 24px rgba(0,0,0,.35);
}
.fab svg{width:18px; height:18px;}

/* ---------------------- REVEAL ----------------------
   İçerik her zaman görünürdür (JS'in geç çalışması veya
   engellenmesi hiçbir bölümü gizlemez). "in" sınıfı eklendiğinde
   yalnızca hafif bir giriş animasyonu oynar. */
.reveal{opacity:1; transform:none;}
.reveal:not(.in){animation:none;}
.reveal.in{animation:revealIn .5s ease both;}
@keyframes revealIn{
  from{opacity:.4; transform:translateY(10px);}
  to{opacity:1; transform:none;}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .reveal.in{animation:none;}
}

/* ============================================================
   MENÜ SAYFASI (menu.html) — kategori sekmeleri
   ============================================================ */
.menu-search-wrap{
  padding: 10px 16px 12px; position:sticky; top:66px; z-index:20;
  background:linear-gradient(180deg, var(--ink) 78%, transparent);
}
.menu-search{
  display:flex; align-items:center; gap:10px; max-width:520px; margin:0 auto;
  background:var(--ink-2); border:1px solid var(--line); border-radius:999px; padding:11px 16px;
}
.menu-search svg{flex:none; opacity:.6; width:16px; height:16px;}
.menu-search input{
  background:transparent; border:0; outline:0; color:var(--ivory);
  font-family:'Work Sans',sans-serif; font-size:15px; width:100%;
}
.menu-search input::placeholder{color:var(--muted);}

.menu-tabs{position:sticky; top:124px; z-index:19; background:var(--ink); padding:4px 0 12px; border-bottom:1px solid var(--line);}
.menu-tabs-scroll{display:flex; gap:8px; overflow-x:auto; padding:2px 16px; scrollbar-width:none;}
.menu-tabs-scroll::-webkit-scrollbar{display:none;}
.menu-tab{
  flex:none; display:flex; align-items:center; gap:6px; padding:9px 15px; border-radius:999px;
  border:1px solid var(--line); background:var(--ink-2); color:var(--muted); font-size:13.5px;
  font-weight:600; white-space:nowrap; cursor:pointer; transition:.15s ease;
}
.menu-tab svg{width:15px; height:15px; opacity:.85;}
.menu-tab.active{background:var(--gold); border-color:var(--gold); color:var(--ink);}

.menu-main{padding:18px 16px 8px; max-width:640px; margin:0 auto;}
.menu-panel{display:none;}
.menu-panel.active{display:block; animation:mfade .25s ease;}
@keyframes mfade{from{opacity:0; transform:translateY(4px)} to{opacity:1; transform:none}}

.menu-group{margin-bottom:26px;}
.menu-group-title{font-family:'Fraunces', serif; font-weight:600; font-size:20px; color:var(--gold-soft); margin:0 0 4px;}
.menu-group-note{font-size:12.5px; color:var(--muted); margin:0 0 12px;}

.menu-item{display:flex; align-items:baseline; gap:10px; padding:12px 0; border-bottom:1px solid var(--line);}
.menu-item:last-child{border-bottom:0;}
.menu-item-name{font-weight:600; font-size:15.5px; line-height:1.3;}
.menu-item-desc{display:block; font-size:12.5px; color:var(--muted); font-weight:400; margin-top:2px; line-height:1.4;}
.menu-item-leader{flex:1; border-bottom:1px dotted var(--line); min-width:14px; transform:translateY(-4px);}
.menu-item-price{flex:none; font-weight:700; font-size:15px; color:var(--gold-soft); white-space:nowrap;}

.ptable{width:100%; border-collapse:collapse; margin-top:4px;}
.ptable th{font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; font-weight:600; text-align:right; padding:0 0 8px; border-bottom:1px solid var(--line);}
.ptable th:first-child{text-align:left;}
.ptable td{padding:11px 0; font-size:14.5px; border-bottom:1px solid var(--line); text-align:right;}
.ptable td:first-child{text-align:left; font-weight:600;}
.ptable .price{color:var(--gold-soft); font-weight:700;}
.table-block{margin-bottom:24px;}
