/*
 * Visit Sapanca tasarım sistemi v4: "Göl ve orman".
 * Kullanıcı kararları (2026-10-23): Sapanca'yı anlatsın ve hissettirsin (gerçek göl ve orman fotoğrafları), renkli
 * (göl mavisi, orman yeşili, doğa), hareketli (yeni nesil: sayfa geçişi, kaydırmaya bağlı hareket, fotoğraf gösterisi,
 * scroll snap), sosyetik, mobil öncelikli; her ekranda tek işletme. skills/web-tasarim-tercihleri bağlayıcı: açık tema,
 * gradyan yok, hap biçim yok, durağan kartta gölge yok, palet üç renk ve tonları (beyaz, göl mavisi, orman yeşili),
 * hareket yalnız transform ve opacity, azaltılmış hareket tercihinde sıfır. Tek aile: Readex Pro (Latin ve Arapça).
 * Yön: yalnız mantıksal özellikler.
 */
@font-face { font-family: "Readex"; src: url("/assets/fonts/readex-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Readex"; src: url("/assets/fonts/readex-600.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Readex"; src: url("/assets/fonts/readex-700.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Readex"; src: url("/assets/fonts/readex-ar-400.woff2") format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF; }
@font-face { font-family: "Readex"; src: url("/assets/fonts/readex-ar-600.woff2") format("woff2"); font-weight: 600; font-display: swap; unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF; }
@font-face { font-family: "Readex"; src: url("/assets/fonts/readex-ar-700.woff2") format("woff2"); font-weight: 700; font-display: swap; unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF; }
@font-face { font-family: "Readex Yedek"; src: local("Arial"); size-adjust: 104%; ascent-override: 98%; descent-override: 26%; }

:root {
  color-scheme: only light;
  /* üç renk */
  --zemin: #ffffff;
  --gol: #0b5f97;          /* vurgu: göl mavisi (dolgu, çizgi; beyaz yazıyla 6.9:1) */
  --orman: #0f3b31;        /* koyu metin ve kapalı bant: orman yeşili */
  /* tonlar */
  --gol-2: #1479bd;
  --gol-acik: #e6f1f9;
  --gol-sis: #f3f8fc;
  --orman-2: #1d5a4a;
  --orman-acik: #e8f2ee;
  --metin: var(--orman);
  --metin-2: #44605a;
  --metin-3: #566d67;   /* beyazda 5.4:1 (eski #6b827c 4.1:1 idi) */
  --cizgi: #dfe8e5;
  --cizgi-koyu: #bfd0cb;
  --perde: rgba(9, 34, 29, .42);  /* fotoğraf üstü düz perde (gradyan değil) */
  --uyari: #8a5a00;
  --uyari-zemin: #fff3d9;
  --hata: #b42318;
  --font: "Readex", "Readex Yedek", system-ui, sans-serif;
  --r1: 6px; --r2: 12px; --r3: 14px;
  --genislik: 1240px;
  --ust-yukseklik: 72px;
  --hiz: .2s;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--ust-yukseklik) + 8px); }
body { margin: 0; background: var(--zemin); color: var(--metin); font: 400 16px/1.65 var(--font); overflow-x: clip; }
[dir="rtl"] body { line-height: 1.85; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--gol); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--gol); outline-offset: 2px; border-radius: 4px; }
h1, h2, h3 { font-weight: 700; line-height: 1.1; letter-spacing: -.02em; text-wrap: balance; margin: 0 0 .45em; color: var(--orman); }
[dir="rtl"] h1, [dir="rtl"] h2, [dir="rtl"] h3 { letter-spacing: 0; line-height: 1.4; }
h1 { font-size: clamp(2.2rem, 1.3rem + 3.6vw, 4.2rem); }
h2 { font-size: clamp(1.6rem, 1.15rem + 1.7vw, 2.5rem); }
h3 { font-size: 1.25rem; }
p { margin: 0 0 1em; text-wrap: pretty; }
.kap { max-width: var(--genislik); margin-inline: auto; padding-inline: 16px; }
@media (min-width: 720px) { .kap { padding-inline: 32px; } }
.ikon { width: 18px; height: 18px; flex: none; vertical-align: -3px; }
[dir="rtl"] .dugme .ikon:last-child, [dir="rtl"] .bolum-link .ikon, [dir="rtl"] .doseme-ok .ikon, [dir="rtl"] .one-link .ikon, [dir="rtl"] .vitrin-link .ikon, [dir="rtl"] .menu-kutu .ikon, [dir="rtl"] [data-sonraki] .ikon { transform: scaleX(-1); }
[data-onceki] .ikon { transform: scaleX(-1); }
[dir="rtl"] [data-onceki] .ikon { transform: none; }
bdi { unicode-bidi: isolate; }
.gizli { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: 0 !important; overflow: hidden !important; clip-path: inset(50%); white-space: nowrap; }

/* ---------- hareket ---------- */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: 140ms ease-out both cikis; }
::view-transition-new(root) { animation: 200ms ease-out both giris; }
::view-transition-group(*) { animation-duration: 280ms; }
@keyframes cikis { to { opacity: 0; } }
@keyframes giris { from { opacity: 0; } }
.okuma-cubugu { position: fixed; top: 0; inset-inline-start: 0; height: 3px; width: 100%; background: var(--gol); transform-origin: 0 50%; transform: scaleX(0); z-index: 60; pointer-events: none; }
[dir="rtl"] .okuma-cubugu { transform-origin: 100% 50%; }
@supports (animation-timeline: scroll()) {
  .okuma-cubugu { animation: okuma linear both; animation-timeline: scroll(root); }
  @keyframes okuma { to { transform: scaleX(1); } }
}
.js [data-goster] { opacity: 0; transform: translateY(16px); transition: opacity .45s ease, transform .45s ease; }
.js [data-goster].goster, .js.goster-hepsi [data-goster] { opacity: 1; transform: none; }

/* ---------- şeritler ---------- */
.serit { padding: 6px 16px; font-size: .8rem; text-align: center; }
.serit-test { background: var(--orman); color: var(--zemin); }
.serit-taslak { background: var(--uyari-zemin); color: var(--uyari); }
.serit-kapi { background: var(--gol-sis); color: var(--metin-2); border-block-end: 1px solid var(--cizgi); }
.atla { position: absolute; inset-inline-start: -9999px; }
.atla:focus { inset-inline-start: 16px; top: 8px; background: var(--zemin); padding: 8px 12px; z-index: 70; }

/* ---------- üst çubuk ---------- */
.ust { position: sticky; top: 0; z-index: 40; background: var(--zemin); border-block-end: 1px solid var(--cizgi); }
.ust-ic { display: flex; align-items: center; gap: 14px; min-height: var(--ust-yukseklik); }
.logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; white-space: nowrap; color: var(--orman); }
.logo-isaret { width: 38px; height: 38px; flex: none; }
.logo-yazi { display: flex; flex-direction: column; line-height: 1.05; }
.logo-ust { font-size: .7rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--gol); }
.logo-ana { font-size: 1.3rem; font-weight: 700; letter-spacing: -.01em; }
[dir="rtl"] .logo-ust { letter-spacing: 0; font-size: .82rem; }
.ana-nav { display: flex; gap: 0; margin-inline-start: auto; }
.ana-nav a { position: relative; text-decoration: none; padding: 10px 9px; font-size: .9rem; font-weight: 600; white-space: nowrap; color: var(--orman); }
.ana-nav a::after { content: ""; position: absolute; inset-inline: 9px; bottom: 4px; height: 2px; background: var(--gol); transform: scaleX(0); transition: transform var(--hiz); }
.ana-nav a:hover::after, .ana-nav a[aria-current="page"]::after { transform: scaleX(1); }
.dil-secici { display: flex; flex: none; gap: 0; font-size: .78rem; font-weight: 600; border: 1px solid var(--cizgi-koyu); border-radius: var(--r1); overflow: hidden; }
.dil-secici a { padding: 6px 8px; white-space: nowrap; text-decoration: none; color: var(--metin-2); }
.dil-secici a + a { border-inline-start: 1px solid var(--cizgi-koyu); }
.dil-secici a[aria-current="true"] { background: var(--orman); color: var(--zemin); }
.menu-dugme { display: none; background: var(--zemin); border: 1px solid var(--cizgi-koyu); border-radius: var(--r1); width: 44px; height: 44px; padding: 10px; color: var(--orman); cursor: pointer; }
.menu-dugme svg { width: 22px; height: 22px; }
/* ana sayfa: üst çubuk fotoğrafın üstünde saydam başlar, kaydırınca beyaza döner (kaydırmaya bağlı animasyon) */
.ana .ust { position: fixed; inset-inline: 0; background: transparent; border-color: transparent; }
.ana .ust .logo, .ana .ust .ana-nav a { color: var(--zemin); }
.ana .ust .logo-ust { color: var(--gol-acik); }
.ana .ust .dil-secici { border-color: rgba(255, 255, 255, .5); }
.ana .ust .dil-secici a { color: var(--zemin); }
.ana .ust .dil-secici a[aria-current="true"] { background: var(--zemin); color: var(--orman); }
.ana .ust .menu-dugme { background: transparent; border-color: rgba(255, 255, 255, .6); color: var(--zemin); }
.ana .ust .ana-nav a::after { background: var(--zemin); }
.ana .serit { position: relative; z-index: 41; }
/* staging şeritleri yalnız test ortamında: sabit üst çubuk şeritlerin altından başlar (yükseklik site.js ölçer) */
.ana .ust { top: var(--serit-y, 0px); }
.ana .ust { transition: background-color var(--hiz), border-color var(--hiz), box-shadow var(--hiz); }
/* Menü yedi başlık ve dil seçiciyle 1240 px altında sığmaz: dar ekranda menü düğmesi. */
@media (max-width: 1240px) {
  .ust-ic { flex-wrap: wrap; gap: 10px; min-height: 64px; }
  .logo-isaret { width: 34px; height: 34px; }
  .logo-ana { font-size: 1.15rem; }
  .menu-dugme { display: inline-block; margin-inline-start: auto; order: 1; }
  /* Dar ekranda dil seçici menüyle birlikte açılır (kullanıcı kararı 2026-10-24: başlıktaki hali beğenilmedi). */
  .dil-secici { order: 3; width: 100%; display: none; }
  .ust-ic:has(.ana-nav.acik) .dil-secici { display: flex; }
  .dil-secici a { flex: 1; text-align: center; }
  .ana-nav { display: none; order: 2; width: 100%; flex-direction: column; margin: 0 0 14px; gap: 0; background: var(--zemin); border-radius: var(--r2); padding: 6px; }
  .ana-nav.acik { display: flex; }
  .ana-nav a { padding: 14px 12px; font-size: 1.15rem; border-block-end: 1px solid var(--cizgi); color: var(--orman) !important; }
  .ana-nav a::after { display: none; }
}
/* Telefon: üst satır (logo, arama, dil, menü) tek satırda kalsın; 320 px'e kadar sığacak ölçüler. */
@media (max-width: 520px) {
  .ust-ic { gap: 8px; min-height: 60px; }
  .logo { gap: 7px; }
  .logo-isaret { width: 30px; height: 30px; }
  .logo-ana { font-size: 1.02rem; }
  .logo-ust { font-size: .58rem; letter-spacing: .14em; }
  .ara-dugme { width: 36px; height: 36px; }
  .menu-dugme { width: 40px; height: 40px; padding: 8px; }
}
@media (max-width: 350px) { .logo-ust { display: none; } .ust-ic { gap: 6px; } }
@starting-style { .ana-nav.acik { opacity: 0; transform: translateY(-6px); } }
.ana-nav.acik { transition: opacity var(--hiz), transform var(--hiz); }

/* ---------- kırıntı ---------- */
.kirinti ol { list-style: none; display: flex; flex-wrap: nowrap; overflow: hidden; gap: 6px; padding: 14px 0 0; margin: 0 auto; font-size: .8rem; color: var(--metin-3); }
.kirinti li + li::before { content: "/"; margin-inline-end: 6px; color: var(--cizgi-koyu); }
.kirinti a { color: var(--metin-2); text-decoration: none; }
/* Kırıntı tek satır: ara halkalar tam, son halka (sayfa adı) sığmazsa üç noktayla kısalır. */
.kirinti li { white-space: nowrap; flex: none; }
.kirinti li:last-child { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.kirinti a:hover { color: var(--gol); }

/* ---------- ana sayfa hero: gerçek fotoğraf gösterisi ---------- */
.hero { position: relative; min-height: 100svh; display: flex; flex-direction: column; justify-content: flex-end; color: var(--zemin); overflow: hidden; background: var(--orman); }
.hero-fotolar, .hero-kare { position: absolute; inset: 0; margin: 0; }
.hero-kare { opacity: 0; transition: opacity 1.4s ease; }
.hero-kare.etkin { opacity: 1; }
.hero-foto { width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); }
.hero::before { content: ""; position: absolute; inset: 0; background: var(--perde); z-index: 1; }
.hero-ic { position: relative; z-index: 2; padding-block: 140px 36px; width: 100%; }
.hero > .kap, .yer-hero > .kap, .hero-alt > .kap { width: 100%; }
.hero h1 { color: var(--zemin); max-width: 13ch; font-size: clamp(2.8rem, 1.2rem + 6.4vw, 6.6rem); line-height: .98; letter-spacing: -.035em; }
[dir="rtl"] .hero h1 { letter-spacing: 0; line-height: 1.25; }
.hero-etiket { display: inline-flex; align-items: center; gap: 10px; font-size: .8rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; margin: 0 0 18px; color: var(--zemin); }
.hero-etiket::before { content: ""; width: 32px; height: 2px; background: var(--zemin); }
[dir="rtl"] .hero-etiket { letter-spacing: 0; text-transform: none; font-size: .95rem; }
.hero-giris { max-width: 46ch; font-size: clamp(1.05rem, .95rem + .4vw, 1.25rem); color: var(--zemin); }
.hero-cta { display: flex; flex-wrap: wrap; gap: 10px; margin-block-start: 26px; }
.hero-alt { position: relative; z-index: 2; border-block-start: 1px solid rgba(255, 255, 255, .28); background: rgba(9, 34, 29, .38); }
.hero-atif { position: relative; z-index: 2; margin: 0; padding-block: 0 8px; }
.hero-atif .atif a { color: rgba(255, 255, 255, .8); }
.bugun { display: flex; align-items: center; gap: 14px; min-width: 0; flex: 1; }
.bugun-etiket { display: inline-flex; align-items: center; gap: 8px; font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; flex: none; }
[dir="rtl"] .bugun-etiket { letter-spacing: 0; text-transform: none; font-size: .9rem; }
.bugun-liste { list-style: none; margin: 0; padding: 0; position: relative; min-height: 1.6em; flex: 1; min-width: 0; }
.bugun-oge { position: absolute; inset: 0; opacity: 0; transform: translateY(8px); transition: opacity .4s ease, transform .4s ease; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bugun-oge.etkin { opacity: 1; transform: none; position: relative; }
.bugun-oge a { color: var(--zemin); text-decoration: none; }
.bugun-isim { font-weight: 600; margin-inline-end: 6px; }
.bugun .fiyat-tutar, .bugun .fiyat-ek, .bugun .fiyat-tarih { color: var(--zemin); }
.bugun .fiyat { display: inline-flex; }
@media (max-height: 640px) and (min-width: 721px) { .hero-ic { padding-block: 110px 20px; } .hero h1 { font-size: clamp(2.4rem, 1rem + 4.4vw, 4.6rem); } }

/* ---------- sayfa hero (liste ve bölüm sayfaları) ---------- */
.sayfa-hero { position: relative; color: var(--zemin); overflow: hidden; background: var(--orman); margin-block-start: 14px; }
.sayfa-hero-foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sayfa-hero::before { content: ""; position: absolute; inset: 0; background: var(--perde); z-index: 1; }
.sayfa-hero-ic { position: relative; z-index: 2; padding-block: clamp(64px, 9vw, 130px) 28px; }
.sayfa-hero h1 { color: var(--zemin); max-width: 18ch; }
.sayfa-hero .hero-giris { max-width: 58ch; }
.sayfa-hero-tarih { font-size: .82rem; color: var(--gol-acik); margin: 0; }
.sayfa-hero .hero-atif { padding-block: 0 8px; }
@supports (animation-timeline: view()) {
  .sayfa-hero-foto, .yer-hero-foto { animation: derinlik linear both; animation-timeline: view(); animation-range: exit; }
  @keyframes derinlik { to { transform: scale(1.08) translateY(6%); } }
}

/* ---------- yer hero ---------- */
.yer-hero { position: relative; min-height: min(78svh, 680px); display: flex; flex-direction: column; justify-content: flex-end; color: var(--zemin); overflow: hidden; background: var(--orman); margin-block-start: 14px; }
.yer-hero-foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.yer-hero::before { content: ""; position: absolute; inset: 0; background: rgba(9, 34, 29, .32); z-index: 1; }
.yer-hero-ic { position: relative; z-index: 2; padding-block: 60px 20px; }
.yer-hero h1, .yer-hero-isim { color: var(--zemin); max-width: 16ch; font-size: clamp(2.6rem, 1.2rem + 6vw, 6rem); font-weight: 700; line-height: .98; letter-spacing: -.035em; margin: 0; }
[dir="rtl"] .yer-hero-isim { letter-spacing: 0; line-height: 1.3; }
.yer-hero .hero-atif { padding-block: 0 8px; }
.profil-tek { grid-template-columns: minmax(0, 1fr) !important; max-width: 820px; }

/* ---------- atıf ---------- */
.atif { display: inline-block; font-size: .72rem; line-height: 1.4; color: var(--metin-3); }
.atif a { color: inherit; text-decoration: none; }
.atif a:hover { text-decoration: underline; }

/* ---------- başlık bölümü, bölüm ---------- */
.baslik-bolum { padding-block: 28px 8px; }
.giris { font-size: 1.12rem; color: var(--metin-2); max-width: 64ch; }
.guncelleme { font-size: .82rem; color: var(--metin-3); }
.bolum { padding-block: clamp(40px, 6vw, 72px); }
.bolum-gol { background: var(--gol-sis); }
.bolum-ust { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-block-end: 24px; }
.bolum-ust h2 { margin: 0; }
.ust-etiket { display: inline-flex; align-items: center; gap: 10px; font-size: .76rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gol); margin: 0 0 10px; }
.ust-etiket::before { content: ""; width: 24px; height: 2px; background: var(--gol); }
.ust-etiket-acik { color: var(--gol-acik); }
.ust-etiket-acik::before { background: var(--gol-acik); }
[dir="rtl"] .ust-etiket { letter-spacing: 0; text-transform: none; font-size: .92rem; }
.bolum-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: .92rem; text-decoration: none; color: var(--gol); white-space: nowrap; padding-block: 6px; border-block-end: 2px solid var(--gol); }
.bolum-link .ikon { transition: transform var(--hiz); }
.bolum-link:hover .ikon { transform: translateX(3px); }
[dir="rtl"] .bolum-link:hover .ikon { transform: scaleX(-1) translateX(3px); }
.bos-liste { color: var(--metin-3); padding: 20px; border: 1px dashed var(--cizgi-koyu); border-radius: var(--r2); }
.not { font-size: .84rem; color: var(--metin-3); }
.bilgi-yok { color: var(--metin-3); }

/* ---------- sayılar ---------- */
.sayilar { background: var(--orman); color: var(--zemin); }
.sayilar-ic { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; padding-block: 26px; }
@media (max-width: 640px) { .sayilar-ic { grid-template-columns: repeat(2, 1fr); } }
.sayi-kutu { margin: 0; display: flex; flex-direction: column; gap: 2px; border-inline-start: 2px solid var(--gol-2); padding-inline-start: 14px; }
.sayi-deger { font-size: clamp(2rem, 1.4rem + 2vw, 3rem); font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums lining-nums; letter-spacing: -.02em; }
.sayi-isim { color: var(--gol-acik); font-size: .9rem; }

/* ---------- kategori döşemeleri: gerçek fotoğraf ---------- */
.doseme-izgara { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 720px) { .doseme-izgara { grid-template-columns: repeat(6, 1fr); grid-auto-rows: 210px; } .doseme-0 { grid-column: span 4; grid-row: span 2; } .doseme-1 { grid-column: span 2; grid-row: span 2; } .doseme-2, .doseme-3, .doseme-4, .doseme-5 { grid-column: span 2; } .doseme-2:nth-last-child(3) { grid-column: span 2; } .doseme:last-child:nth-child(5) { grid-column: span 2; } }
.doseme { position: relative; overflow: hidden; border-radius: var(--r3); min-height: 220px; background: var(--orman); color: var(--zemin); isolation: isolate; }
.doseme-foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; z-index: -2; }
.doseme::before { content: ""; position: absolute; inset-inline: 0; bottom: 0; height: 62%; background: rgba(9, 34, 29, .5); z-index: -1; clip-path: polygon(0 18%, 100% 0, 100% 100%, 0 100%); }
.doseme:hover .doseme-foto { transform: scale(1.05); }
.doseme-metin { position: absolute; inset-inline: 0; bottom: 0; padding: 20px 22px; }
.doseme-baslik { margin: 0; font-size: clamp(1.35rem, 1.1rem + .8vw, 1.9rem); color: var(--zemin); }
.doseme-0 .doseme-baslik { font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.8rem); }
.doseme-baslik a { color: inherit; text-decoration: none; }
.doseme-baslik a::after { content: ""; position: absolute; inset: 0; }
.doseme-ozet { margin: 6px 0 0; font-size: .92rem; color: var(--gol-acik); max-width: 46ch; }
.doseme-ok { position: absolute; top: 16px; inset-inline-end: 16px; width: 40px; height: 40px; display: grid; place-items: center; border-radius: var(--r1); background: var(--zemin); color: var(--orman); transition: transform var(--hiz); }
.doseme:hover .doseme-ok { transform: translateX(3px); }
[dir="rtl"] .doseme:hover .doseme-ok { transform: translateX(-3px); }

/* ---------- etiketler (hap yok: köşeli etiket, nokta ve metin) ---------- */
.kart-etiketler, .satir-etiketler, .one-ust, .profil-etiketler { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; }
.kart-etiketler:empty, .satir-etiketler:empty, .profil-etiketler:empty { display: none; }
.etiket-one { display: inline-flex; align-items: center; gap: 6px; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; background: var(--gol); color: var(--zemin); padding: 4px 9px; border-radius: 4px; }
[dir="rtl"] .etiket-one { letter-spacing: 0; text-transform: none; font-size: .84rem; }
.etiket-menulu, .etiket-editor { display: inline-flex; align-items: center; gap: 6px; font-size: .8rem; font-weight: 600; color: var(--orman-2); }
.etiket-menulu::before, .etiket-editor::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--orman-2); }
.etiket-menulu .ikon { display: none; }
.etiket-editor { color: var(--gol); }
.etiket-editor::before { background: var(--gol); }
.rozet { position: relative; display: inline-block; font-size: .8rem; }
.rozet summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 5px; color: var(--gol); font-weight: 600; }
.rozet summary::-webkit-details-marker { display: none; }
.rozet summary .ikon { width: 16px; height: 16px; }
.rozet p { position: absolute; z-index: 5; inset-inline-start: 0; top: 100%; margin: 6px 0 0; width: min(320px, 80vw); background: var(--zemin); border: 1px solid var(--cizgi-koyu); border-radius: var(--r2); padding: 10px 12px; font-size: .82rem; color: var(--metin-2); }

/* ---------- fiyat ---------- */
.fiyat { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 2px 6px; }
.fiyat-tutar { font-weight: 700; font-size: 1.15em; color: var(--orman); font-variant-numeric: lining-nums tabular-nums; white-space: nowrap; letter-spacing: -.01em; }
.fiyat-ek { font-size: .82rem; color: var(--metin-2); }
.fiyat-tarih { font-size: .74rem; color: var(--metin-3); white-space: nowrap; }
.eski { font-size: .72rem; color: var(--uyari); background: var(--uyari-zemin); padding: 1px 6px; border-radius: 3px; white-space: nowrap; }

/* ---------- yer tutucu: fotoğrafsız işletme (tipografik, dürüst) ---------- */
.yer-tutucu { position: relative; overflow: hidden; display: grid; place-items: center; background: var(--gol-acik); color: var(--gol); }
.yer-tutucu.ton-2 { background: var(--orman-acik); color: var(--orman-2); }
.yer-tutucu.ton-3 { background: var(--gol); color: var(--zemin); }
.yt-harf { font-size: clamp(4rem, 2rem + 6vw, 8rem); font-weight: 700; line-height: 1; letter-spacing: -.04em; }
.yt-dalga { position: absolute; inset-inline: 0; bottom: 22%; width: 100%; height: 40px; fill: none; stroke: currentColor; stroke-width: 2; opacity: .35; }
.yt-not { position: absolute; bottom: 10px; inset-inline-start: 12px; font-size: .72rem; opacity: .8; }

/* ---------- vitrin: her ekranda tek işletme ---------- */
.gorunum-sayi { font-size: .88rem; color: var(--metin-2); margin: 0 0 12px; }
.vitrin { list-style: none; padding: 0; margin: 0; display: grid; gap: 18px; }
.vitrin-kart { position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); background: var(--zemin); border: 1px solid var(--cizgi); border-radius: var(--r3); overflow: hidden; min-height: min(calc(100svh - var(--ust-yukseklik) - 40px), 640px); scroll-snap-align: start; scroll-margin-top: calc(var(--ust-yukseklik) + 16px); transition: border-color var(--hiz); }
.vitrin-kart:hover { border-color: var(--cizgi-koyu); }
.vitrin-menulu { border-color: var(--orman-2); }
.vitrin-one { border: 2px solid var(--gol); }
.vitrin-gorsel-kap { position: relative; overflow: hidden; }
.vitrin-gorsel { width: 100%; height: 100%; min-height: 300px; object-fit: cover; transition: transform .5s ease; }
.vitrin-kart:hover .vitrin-gorsel { transform: scale(1.04); }
.vitrin-sira { position: absolute; inset-inline-start: 0; top: 0; min-width: 64px; height: 64px; padding-inline: 14px; display: grid; place-items: center; background: var(--orman); color: var(--zemin); font-size: 1.8rem; font-weight: 700; font-variant-numeric: tabular-nums; border-end-end-radius: var(--r2); }
[dir="rtl"] .vitrin-sira { border-end-end-radius: 0; border-end-start-radius: var(--r2); }
.vitrin-one .vitrin-sira { background: var(--gol); }
.vitrin-sira .ikon { width: 24px; height: 24px; }
.vitrin-govde { padding: clamp(20px, 3vw, 40px); display: flex; flex-direction: column; gap: 10px; }
.vitrin-baslik { font-size: clamp(1.8rem, 1.2rem + 2vw, 2.8rem); margin: 4px 0 0; }
.vitrin-baslik a { text-decoration: none; color: var(--orman); }
.vitrin-baslik a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.vitrin-meta { margin: 0; color: var(--metin-2); }
.vitrin-aciklama { margin: 6px 0 0; color: var(--metin); font-size: 1.02rem; }
.vitrin-alt { margin-block-start: auto; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px; padding-block-start: 18px; border-block-start: 1px solid var(--cizgi); }
.vitrin-fiyat { display: flex; flex-direction: column; gap: 2px; }
.vitrin-fiyat-isim { font-size: .82rem; color: var(--metin-2); }
.vitrin-fiyat .fiyat-tutar { font-size: clamp(1.6rem, 1.2rem + 1vw, 2.1rem); }
.vitrin-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--zemin); background: var(--gol); padding: 12px 18px; border-radius: var(--r1); }
.vitrin-kart .satir-etiketler, .vitrin-kart .rozet { position: relative; z-index: 2; }
@media (max-width: 760px) {
  .vitrin { gap: 14px; }
  .vitrin-kart { grid-template-columns: 1fr; grid-template-rows: auto 1fr; min-height: calc(100svh - var(--ust-yukseklik) - 28px); }
  .vitrin-gorsel { min-height: 0; aspect-ratio: 4 / 3; max-height: 46svh; }
}
html:has(.vitrin) { scroll-snap-type: y proximity; }

/* ---------- tek kartlı yatay kaydırma (ana sayfa) ---------- */
.kaydirma { position: relative; }
.kaydirma-ray { list-style: none; padding: 0; margin: 0; display: grid; grid-auto-flow: column; grid-auto-columns: 100%; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; }
.kaydirma-ray::-webkit-scrollbar { display: none; }
.kaydirma-oge { scroll-snap-align: start; scroll-snap-stop: always; display: grid; }
.kaydirma-oge .vitrin-kart { min-height: 0; }
.kaydirma-kontrol { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-block-start: 14px; }
.kaydirma-dugme { width: 48px; height: 48px; display: grid; place-items: center; border-radius: var(--r1); border: 1px solid var(--cizgi-koyu); background: var(--zemin); color: var(--orman); cursor: pointer; transition: background var(--hiz), color var(--hiz); }
.kaydirma-dugme:hover { background: var(--orman); color: var(--zemin); }
.kaydirma-dugme:disabled { opacity: .35; cursor: default; background: var(--zemin); color: var(--orman); }
.kaydirma-sayac { font-variant-numeric: tabular-nums; color: var(--metin-2); min-width: 4ch; text-align: center; }

/* ---------- öne çıkan büyük kart (liste sayfası ilk ekranı) ---------- */
.one-kart { position: relative; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); background: var(--zemin); border: 2px solid var(--gol); border-radius: var(--r3); overflow: hidden; margin-block: 8px 24px; min-height: min(calc(100svh - var(--ust-yukseklik) - 40px), 600px); }
.one-gorsel { width: 100%; height: 100%; min-height: 300px; object-fit: cover; }
.one-govde { padding: clamp(20px, 3vw, 40px); display: flex; flex-direction: column; gap: 10px; }
.one-baslik { font-size: clamp(2rem, 1.3rem + 2.2vw, 3rem); margin: 4px 0 0; }
.one-baslik a { text-decoration: none; color: var(--orman); }
.one-baslik a::after { content: ""; position: absolute; inset: 0; }
.one-meta { margin: 0; color: var(--metin-2); }
.one-aciklama { margin: 6px 0 0; }
.one-alt { margin-block-start: auto; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; padding-block-start: 16px; border-block-start: 1px solid var(--cizgi); }
.one-fiyat { margin: 0; display: flex; flex-direction: column; gap: 2px; }
.one-fiyat > span:first-child { font-size: .82rem; color: var(--metin-2); }
.one-fiyat .fiyat-tutar { font-size: 2rem; }
.one-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--zemin); background: var(--gol); padding: 12px 18px; border-radius: var(--r1); }
@media (max-width: 760px) { .one-kart { grid-template-columns: 1fr; min-height: calc(100svh - var(--ust-yukseklik) - 28px); } .one-gorsel { min-height: 0; aspect-ratio: 4 / 3; max-height: 46svh; } }

/* ---------- kartlar ---------- */
.kart-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; }
.kart-izgara-3 { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.kart { position: relative; background: var(--zemin); border: 1px solid var(--cizgi); border-radius: var(--r3); overflow: hidden; display: flex; flex-direction: column; transition: border-color var(--hiz); }
.kart:hover { border-color: var(--gol); }
.kart-gorsel { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; transition: transform .5s ease; }
.kart:hover .kart-gorsel { transform: scale(1.04); }
.kart-govde { position: relative; padding: 16px 18px 20px; display: flex; flex-direction: column; gap: 4px; flex: 1; background: var(--zemin); }
.kart-baslik { margin: 2px 0 0; font-size: 1.25rem; }
.kart-baslik a { text-decoration: none; color: var(--orman); }
.kart-baslik a::after { content: ""; position: absolute; inset: 0; }
.kart-meta { margin: 0; font-size: .86rem; color: var(--metin-2); }
.kart-ozet { margin: 4px 0 0; font-size: .92rem; color: var(--metin-2); }
.kart-fiyat { margin: 8px 0 0; font-size: .92rem; }
.kart-fiyat-isim { color: var(--metin-2); }
.kart-belge { margin: 4px 0 0; font-size: .82rem; color: var(--orman-2); display: flex; gap: 6px; align-items: center; }

/* ---------- yer kartları ---------- */
.yer-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.yer-kart { position: relative; overflow: hidden; border-radius: var(--r3); min-height: 340px; display: flex; flex-direction: column; justify-content: flex-end; background: var(--orman); color: var(--zemin); isolation: isolate; }
.yer-kart-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .5s ease; }
.yer-kart:hover .yer-kart-img { transform: scale(1.05); }
.yer-kart-foto::before { content: ""; position: absolute; inset: 0; background: rgba(9, 34, 29, .38); z-index: -1; }
.yer-kart:not(.yer-kart-foto) { color: var(--orman); }
.yer-kart:not(.yer-kart-foto) .yer-kart-metin { background: var(--zemin); border-start-start-radius: var(--r2); border-start-end-radius: var(--r2); }
.yer-kart-metin { padding: 18px 20px; }
.yer-kart h3 { margin: 0 0 4px; font-size: 1.4rem; color: inherit; }
.yer-kart h3 a { color: inherit; text-decoration: none; }
.yer-kart h3 a::after { content: ""; position: absolute; inset: 0; }
.yer-kart p { margin: 0; font-size: .9rem; opacity: .92; }

/* ---------- spa bandı (orman) ---------- */
.bant-orman { display: grid; grid-template-columns: 1fr 1fr; background: var(--orman); color: var(--zemin); }
@media (max-width: 900px) { .bant-orman { grid-template-columns: 1fr; } }
.bant-foto { position: relative; min-height: 360px; overflow: hidden; }
.bant-foto-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bant-foto .atif { position: absolute; bottom: 6px; inset-inline-start: 10px; }
.bant-foto .atif a { color: rgba(255, 255, 255, .85); }
.bant-metin { padding: clamp(32px, 5vw, 72px); display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.bant-metin h2 { color: var(--zemin); margin: 0; }
.bant-metin > p { color: var(--gol-acik); max-width: 52ch; }
.bant-liste { list-style: none; padding: 0; margin: 6px 0 10px; width: 100%; border-block-start: 1px solid rgba(255, 255, 255, .2); }
.bant-liste li a { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 14px 0; border-block-end: 1px solid rgba(255, 255, 255, .2); color: var(--zemin); text-decoration: none; }
.bant-liste li a:hover .bant-isim { text-decoration: underline; }
.bant-isim { font-weight: 600; font-size: 1.05rem; }
.bant-deger, .bant-deger .fiyat-tutar, .bant-deger .fiyat-ek { color: var(--zemin); }
.bant-deger .fiyat-tarih { color: var(--gol-acik); }

/* ---------- cevap kutusu ---------- */
.cevap { border-inline-start: 4px solid var(--gol); padding: 16px 20px; background: var(--gol-sis); border-radius: 0 var(--r2) var(--r2) 0; margin-block: 20px; }
[dir="rtl"] .cevap { border-radius: var(--r2) 0 0 var(--r2); }
.cevap p { margin: 0 0 4px; }
.cevap-metin { font-size: 1.2rem; font-weight: 600; color: var(--orman); }
.cevap-tarih { font-size: .82rem; color: var(--metin-3); }

/* ---------- süzgeç ---------- */
.suzgec { position: sticky; top: calc(var(--ust-yukseklik) + 6px); z-index: 20; display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: end; padding: 12px 16px; background: var(--zemin); border: 1px solid var(--cizgi); border-radius: var(--r2); margin-block-end: 18px; font-size: .9rem; }
.suzgec label { display: flex; flex-direction: column; gap: 4px; color: var(--metin-2); }
.suzgec label.kutu { flex-direction: row; align-items: center; gap: 6px; color: var(--metin); padding-block-end: 10px; }
.sayac { margin-inline-start: auto; color: var(--metin-3); font-variant-numeric: tabular-nums; }
@media (max-width: 640px) { .suzgec { position: static; } }
select, input, textarea { font: inherit; font-size: 16px; color: var(--metin); border: 1px solid var(--cizgi-koyu); border-radius: var(--r1); padding: 10px 12px; background: var(--zemin); }
input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--gol); padding: 0; }

/* ---------- bağlantı ızgarası ---------- */
.link-izgara { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.link-izgara a { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 16px 18px; border: 1px solid var(--cizgi); border-radius: var(--r2); text-decoration: none; font-weight: 600; color: var(--orman); transition: border-color var(--hiz), background var(--hiz); }
.link-izgara a:hover { border-color: var(--gol); background: var(--gol-sis); }
.sayi { font-size: .82rem; font-weight: 600; color: var(--gol); font-variant-numeric: tabular-nums; }

/* ---------- tablolar ---------- */
.tablo-kap { margin-block: 8px 16px; }
.tablo { width: 100%; border-collapse: collapse; font-size: .95rem; }
.tablo th, .tablo td { text-align: start; padding: 14px 12px; border-block-end: 1px solid var(--cizgi); vertical-align: top; }
.tablo thead th { font-size: .74rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--gol); border-block-end: 2px solid var(--orman); }
[dir="rtl"] .tablo thead th { text-transform: none; letter-spacing: 0; font-size: .85rem; }
.tablo tbody th { font-weight: 700; font-size: 1.05rem; }
.tablo tbody th a { color: var(--orman); text-decoration: none; }
.tablo tbody th a:hover { color: var(--gol); }
.tablo .sayisal { text-align: end; }
.tablo .sayisal .fiyat { justify-content: flex-end; }
.tablo tr.fiyatsiz { color: var(--metin-3); }
.tablo tbody tr:hover { background: var(--gol-sis); }
@media (max-width: 720px) {
  .tablo thead { display: none; }
  .tablo, .tablo caption, .tablo tbody, .tablo tr, .tablo th, .tablo td { display: block; width: 100%; }
  .tablo tr { border: 1px solid var(--cizgi); border-radius: var(--r2); padding: 14px 16px; margin-block-end: 12px; }
  .tablo th, .tablo td { border: 0; padding: 3px 0; }
  .tablo td[data-e] { display: flex; justify-content: space-between; gap: 12px; }
  .tablo td[data-e]::before { content: attr(data-e); color: var(--metin-3); font-size: .84rem; }
  .tablo .sayisal { text-align: start; }
}

/* ---------- profil ---------- */
.profil { padding-block: 28px 8px; }
.profil-ust { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 48px); align-items: start; }
@media (max-width: 860px) { .profil-ust { grid-template-columns: 1fr; gap: 20px; } }
.profil-gorsel-kap { border-radius: var(--r3); overflow: hidden; }
.profil-gorsel { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; }
.profil-metin h1 { margin-block-end: 12px; font-size: clamp(2.2rem, 1.4rem + 3vw, 3.6rem); }
.profil-metin .ust-etiket { margin-block-end: 8px; }
.profil-fiyat { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: baseline; margin-block: 14px; padding: 14px 16px; background: var(--gol-sis); border-radius: var(--r2); }
.profil-fiyat > span:first-child { color: var(--metin-2); }
.profil-fiyat .fiyat-tutar { font-size: 1.9rem; }
.profil-saat { font-size: .92rem; color: var(--metin-2); }
.belge-bant { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 12px 16px; background: var(--orman-acik); color: var(--orman-2); border-radius: var(--r2); margin-block-end: 16px; }
.belge-bant strong { color: var(--orman); }

/* ---------- düğmeler (hap yok) ---------- */
.dugme { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 10px 20px; border: 1px solid var(--orman); border-radius: var(--r1); background: var(--zemin); color: var(--orman); text-decoration: none; font-weight: 600; font-size: .95rem; cursor: pointer; transition: background var(--hiz), color var(--hiz), border-color var(--hiz); }
.dugme:hover { background: var(--orman); color: var(--zemin); }
.dugme:active { transform: scale(.98); }
.dugme-birincil { background: var(--gol); border-color: var(--gol); color: var(--zemin); }
.dugme-birincil:hover { background: var(--orman); border-color: var(--orman); }
.dugme-acik { background: var(--zemin); border-color: var(--zemin); color: var(--orman); }
.dugme-acik:hover { background: var(--gol-acik); border-color: var(--gol-acik); color: var(--orman); }
.dugme-altin { background: var(--gol); border-color: var(--gol); color: var(--zemin); }
.dugme-kucuk { min-height: 40px; padding: 6px 14px; font-size: .88rem; }
.dugme .ikon:last-child { transition: transform var(--hiz); }
.dugme:hover .ikon:last-child { transform: translateX(3px); }
[dir="rtl"] .dugme:hover .ikon:last-child { transform: scaleX(-1) translateX(3px); }
.iletisim { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 16px; align-items: center; }
.telefon-metin { display: inline-flex; align-items: center; gap: 6px; min-height: 48px; padding: 10px 14px; border: 1px dashed var(--cizgi-koyu); border-radius: var(--r1); color: var(--metin-2); }
.konusulan { flex-basis: 100%; margin: 4px 0 0; font-size: .88rem; color: var(--metin-2); }
.beyan-tarih { font-size: .76rem; color: var(--metin-3); }
.dogrulanmadi { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 16px 18px; background: var(--gol-sis); border-radius: var(--r2); margin-block: 8px; }
.dogrulanmadi p { margin: 0; font-size: .92rem; color: var(--metin-2); }

/* ---------- menü bölümü ---------- */
.menu-bolum .bolum-ust { align-items: center; justify-content: flex-start; gap: 14px; }
.menu-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 28px 48px; }
.menu-grup h3 { font-size: .8rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--gol); margin-block-end: 10px; padding-block-end: 8px; border-block-end: 2px solid var(--orman); }
[dir="rtl"] .menu-grup h3 { text-transform: none; letter-spacing: 0; font-size: .95rem; }
.menu-liste { list-style: none; padding: 0; margin: 0; }
.menu-kalem { display: flex; align-items: baseline; gap: 8px; padding: 10px 0; border-block-end: 1px solid var(--cizgi); }
.menu-isim { font-weight: 600; font-size: 1.05rem; color: var(--orman); }
.menu-porsiyon { font-size: .8rem; font-weight: 400; color: var(--metin-3); margin-inline-start: 4px; }
.menu-nokta { flex: 1; }
.menu-fiyat { text-align: end; }
.menu-fiyat .fiyat { justify-content: flex-end; }
.menu-kaynak { font-size: .78rem; color: var(--metin-3); margin: 8px 0 0; }
.menu-kutu { margin-block-start: 22px; padding: 18px 20px; background: var(--orman-acik); border-radius: var(--r2); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 16px; }
.menu-kutu p { margin: 0; color: var(--orman); font-size: .95rem; }
.menu-kutu a { font-weight: 600; display: inline-flex; align-items: center; gap: 6px; text-decoration: none; color: var(--gol); }

/* ---------- iki sütun, özellikler ---------- */
.iki-sutun { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
@media (max-width: 760px) { .iki-sutun { grid-template-columns: 1fr; gap: 28px; } }
.ozellikler, .ozet-satirlar { list-style: none; padding: 0; margin: 0; border-block-start: 2px solid var(--orman); }
.ozellikler li, .ozet-satirlar li { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-block-end: 1px solid var(--cizgi); font-size: .95rem; }
.ozet-satirlar li > span:first-child { color: var(--metin-2); }
.oz-deger { text-align: end; }
.oz-evet .oz-deger { color: var(--orman-2); font-weight: 600; }
.oz-yok .oz-deger { color: var(--metin-3); }
.saatler { border-collapse: collapse; width: 100%; max-width: 400px; margin-block-end: 8px; }
.saatler th, .saatler td { text-align: start; padding: 8px 0; font-weight: 400; border-block-end: 1px solid var(--cizgi); }
.saatler td { text-align: end; font-variant-numeric: tabular-nums; }
.saatler tr.bugun th, .saatler tr.bugun td { font-weight: 700; color: var(--gol); }

/* ---------- metin ve yan ---------- */
.metin { padding-block: 8px 16px; font-size: 1.06rem; }
.metin > *, .sss > *, .form-bolum > * { max-width: 760px; }
.metin-izgara .metin { padding-inline: 0; }
.metin h2 { margin-block-start: 1.4em; font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); }
.metin > p:first-child { font-size: 1.18rem; color: var(--orman); }
.metin ul, .metin ol { padding-inline-start: 1.3em; }
.metin li { margin-block-end: .4em; }
.metin-izgara { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 56px; align-items: start; }
@media (max-width: 900px) { .metin-izgara { grid-template-columns: 1fr; gap: 16px; } }
.yan { position: sticky; top: calc(var(--ust-yukseklik) + 16px); }
.yan-kutu { background: var(--orman); color: var(--zemin); padding: 22px 24px; border-radius: var(--r3); font-size: .95rem; }
.yan-kutu h2 { font-size: 1.3rem; color: var(--zemin); }
.yan-kutu a { color: var(--gol-acik); }

/* ---------- organizasyon: ekran başına 1 kart ---------- */
.org-liste { display: grid; gap: 18px; }
.org-kart { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); border: 1px solid var(--cizgi); border-radius: var(--r3); overflow: hidden; background: var(--zemin); scroll-snap-align: start; scroll-margin-top: calc(var(--ust-yukseklik) + 16px); min-height: min(calc(100svh - var(--ust-yukseklik) - 40px), 560px); }
.org-kart-one { border: 2px solid var(--gol); }
.org-gorsel { width: 100%; height: 100%; min-height: 260px; object-fit: cover; }
.org-govde { padding: clamp(20px, 3vw, 36px); display: flex; flex-direction: column; gap: 12px; }
.org-govde h3 { font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.3rem); margin: 0; }
.paketler { list-style: none; padding: 0; margin: 0; border-block-start: 2px solid var(--orman); }
.paketler li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-block-end: 1px solid var(--cizgi); font-size: .95rem; }
.paket-fiyat { text-align: end; }
.org-govde .dugme { align-self: flex-start; margin-block-start: auto; }
@media (max-width: 760px) { .org-kart { grid-template-columns: 1fr; min-height: calc(100svh - var(--ust-yukseklik) - 28px); } .org-gorsel { min-height: 0; aspect-ratio: 4 / 3; max-height: 42svh; } }

/* ---------- SSS, kaynaklar ---------- */
.sss { padding-block: 24px 32px; }
.sss details { border-block-end: 1px solid var(--cizgi); }
.sss summary { cursor: pointer; padding: 16px 0; font-weight: 600; font-size: 1.08rem; color: var(--orman); list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.sss summary::-webkit-details-marker { display: none; }
.sss summary::after { content: "+"; flex: none; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--cizgi-koyu); border-radius: var(--r1); font-weight: 400; transition: background var(--hiz), color var(--hiz); }
.sss details[open] summary::after { content: "−"; background: var(--gol); border-color: var(--gol); color: var(--zemin); }
.sss p { color: var(--metin-2); }
.kaynaklar { font-size: .86rem; color: var(--metin-2); padding-block: 8px 16px; }
.kaynaklar h2 { font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gol); }
[dir="rtl"] .kaynaklar h2 { text-transform: none; letter-spacing: 0; font-size: .95rem; }
.kaynaklar ul { padding-inline-start: 1.2em; }
.duzeltme p { font-size: .88rem; color: var(--metin-2); }

/* ---------- form ---------- */
.form-bolum { }
.form-izgara { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; margin-block: 12px; }
@media (max-width: 640px) { .form-izgara { grid-template-columns: 1fr; } }
.alan { display: flex; flex-direction: column; gap: 6px; }
.alan-genis { grid-column: 1 / -1; }
.alan label { font-weight: 600; font-size: .9rem; }
.riza { margin-block: 8px 16px; }
.riza .kutu { display: flex; gap: 10px; align-items: flex-start; }
.riza .kutu input { margin-block-start: 3px; flex: none; }
.hata { color: var(--hata); font-size: .88rem; margin: 2px 0 0; }
[aria-invalid="true"] { border-color: var(--hata); }
.basari { background: var(--orman-acik); color: var(--orman); padding: 16px 18px; border-radius: var(--r2); }
.bal { position: absolute; inset-inline-start: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- alt ---------- */
.alt { position: relative; margin-block-start: 72px; background: var(--orman); color: var(--zemin); font-size: .92rem; }
.alt-dalga { display: block; width: 100%; height: 40px; fill: var(--orman); background: var(--zemin); margin-block-start: -40px; }
.alt-ic { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; padding-block: 40px 28px; }
@media (max-width: 760px) { .alt-ic { grid-template-columns: 1fr; gap: 24px; } }
.alt .logo { color: var(--zemin); }
.alt .logo-ust { color: var(--gol-acik); }
.alt-marka p { color: var(--orman-acik); max-width: 48ch; margin-block-start: 12px; }
.alt-slogan { font-size: 1.45rem; font-weight: 600; line-height: 1.3; margin-block-start: 16px; letter-spacing: -.01em; }
.alt-marka .alt-slogan { color: var(--zemin); }
.alt nav { display: flex; flex-direction: column; gap: 8px; }
.alt nav a { text-decoration: none; color: var(--orman-acik); }
.alt nav a:hover { color: var(--zemin); text-decoration: underline; }
.alt-baslik { font-size: .74rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gol-acik); margin: 0 0 6px; }
[dir="rtl"] .alt-baslik { text-transform: none; letter-spacing: 0; font-size: .9rem; }
.alt-not { border-block-start: 1px solid rgba(255, 255, 255, .16); padding-block: 16px 28px; color: #a9c2bb; font-size: .8rem; }
.alt-not p { margin: 0 0 4px; }
[x-cloak] { display: none !important; }

/* ---------- dokunma ve azaltılmış hareket ---------- */
@media (pointer: coarse) { .dil-secici a { padding-block: 12px; } .rozet summary { min-height: 32px; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .js [data-goster] { opacity: 1; transform: none; }
  .hero-kare { transition: none; }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
}
@media print { .ust, .alt, .suzgec, .serit, .okuma-cubugu, .hero-alt, .kaydirma-kontrol { display: none; } .hero, .yer-hero, .sayfa-hero { min-height: 0; } }

/* =====================================================================================================================
 * v5 katmanı: "Göl nefesi" (2026-10-23). Kullanıcı kararı: hareketli, göz alıcı, yeni nesil, Sapanca renkleri; bu site
 * için kullanıcının o anki talimatı skills'teki "dekoratif hareket yok" önerisinin önündedir (CLAUDE.md sırası). Sınırlar
 * korunur: gradyan, cam, parıltı, hap biçim, durağan kartta gölge yok; hareket transform ve opacity ile; hareketlerin
 * çoğu kaydırmaya bağlı (kullanıcı sürer); video durdurulabilir; azaltılmış harekette hepsi durur; JS yoksa içerik görünür.
 * (2026-10-28: v8 katmanı bu katmanın kendiliğinden dönen ve sonsuz döngülü öğelerini kaldırdı; kurallar skills'e göre.)
 * ===================================================================================================================== */
:root {
  --gol-canli: #1386d1;   /* göl mavisinin açık tonu: büyük yazı, çizgi, işaret (beyazda 3.9:1, yalnız büyük metin) */
  --yaprak: #2f7d5b;      /* orman yeşilinin açık tonu */
  --yaprak-acik: #e3f1ea;
}

/* ---------- hero: video ---------- */
.hero-sahne { position: absolute; inset: 0; overflow: hidden; background: var(--orman); }
.hero::before { background: rgba(9, 34, 29, .36); }
.hero-ic { padding-block: 150px 40px; }
.hero h1 { max-width: 12ch; }
@supports (animation-timeline: view()) {
  .hero-sahne { animation: hero-yakin linear both; animation-timeline: view(); animation-range: exit 0% exit 100%; }
  .hero-ic { animation: hero-cik linear both; animation-timeline: view(); animation-range: exit 0% exit 70%; }
  @keyframes hero-yakin { to { transform: scale(1.16); } }
  @keyframes hero-cik { to { transform: translateY(-80px); opacity: 0; } }
}

/* ---------- Sapanca'da bir gün ---------- */
.gun { padding-block: clamp(56px, 8vw, 110px) clamp(24px, 4vw, 48px); }
.gun-baslik { font-size: clamp(2.4rem, 1.2rem + 4.4vw, 5.2rem); line-height: 1; letter-spacing: -.035em; margin: 0 0 clamp(24px, 4vw, 48px); }
[dir="rtl"] .gun-baslik { letter-spacing: 0; line-height: 1.3; }
.gun-ic { max-width: var(--genislik); margin-inline: auto; padding-inline: 16px; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); }
@media (min-width: 720px) { .gun-ic { padding-inline: 32px; } }
.gun-sahne { position: sticky; top: calc(var(--ust-yukseklik) + 16px); height: calc(100svh - var(--ust-yukseklik) - 32px); max-height: 820px; border-radius: var(--r3); overflow: hidden; background: var(--orman); }
.gun-kare { position: absolute; inset: 0; margin: 0; opacity: 0; transform: scale(1.1); transition: opacity .8s ease, transform 1.6s cubic-bezier(.2, .7, .2, 1); }
.gun-kare.etkin { opacity: 1; transform: none; }
.gun-foto { width: 100%; height: 100%; object-fit: cover; }
.gun-cizgi { position: absolute; inset-inline-start: 16px; bottom: 16px; list-style: none; margin: 0; padding: 6px; display: flex; gap: 2px; background: var(--zemin); border-radius: var(--r2); font-size: .82rem; font-weight: 600; }
.gun-cizgi li { position: relative; padding: 8px 12px; color: var(--metin-3); transition: color .3s; }
.gun-cizgi li::after { content: ""; position: absolute; inset-inline: 12px; bottom: 3px; height: 2px; background: var(--gol); transform: scaleX(0); transition: transform .35s ease; }
.gun-cizgi li.etkin { color: var(--orman); }
.gun-cizgi li.etkin::after { transform: scaleX(1); }
.gun-bolumler { list-style: none; margin: 0; padding: 0; }
.gun-bolum { min-height: 78svh; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 6px; padding-block: 40px; }
.js .gun-bolum { opacity: .28; transition: opacity .5s ease; }
.js .gun-bolum.etkin { opacity: 1; }
.gun-an { display: flex; align-items: baseline; gap: 14px; margin: 0; font-weight: 600; color: var(--gol); font-size: .95rem; }
.gun-no { font-size: clamp(3rem, 2rem + 3vw, 5rem); font-weight: 700; line-height: 1; letter-spacing: -.04em; color: var(--gol-canli); font-variant-numeric: tabular-nums; }
.gun-bolum h3 { font-size: clamp(1.9rem, 1.2rem + 2.2vw, 3.2rem); margin: 8px 0 4px; }
.gun-bolum > p:not(.gun-an) { font-size: 1.12rem; color: var(--metin-2); max-width: 40ch; }
.gun-bolum .atif { margin-block-start: 10px; }
.gun-mobil-foto { display: none; margin: 0 0 14px; }
@media (max-width: 900px) {
  .gun-ic { grid-template-columns: 1fr; }
  .gun-sahne { display: none; }
  .js .gun-bolum { opacity: 1; }
  .gun-bolum { min-height: 0; padding-block: 18px 30px; }
  .gun-mobil-foto { display: block; width: 100%; border-radius: var(--r3); overflow: hidden; aspect-ratio: 4 / 5; max-height: 70svh; }
  .gun-mobil-foto .gun-foto { transform: scale(1.12); }
  @supports (animation-timeline: view()) {
    .gun-mobil-foto .gun-foto { animation: mobil-acil linear both; animation-timeline: view(); animation-range: entry 0% cover 50%; }
    @keyframes mobil-acil { from { transform: scale(1.25); opacity: .4; } to { transform: scale(1); opacity: 1; } }
  }
}

/* ---------- üst üste binen vitrin (ana sayfa) ---------- */
.bolum-vitrin { background: var(--gol-sis); }
.yigin { list-style: none; margin: 0; padding: 0; display: grid; gap: 28px; }
.yigin-oge { position: sticky; top: calc(var(--ust-yukseklik) + 14px + var(--n) * 12px); }
.yigin-oge .vitrin-kart { min-height: min(calc(100svh - var(--ust-yukseklik) - 60px), 700px); scroll-snap-align: none; }
.yigin .vitrin-kart { border-color: var(--cizgi-koyu); }
@media (max-width: 760px) { .yigin-oge { top: calc(var(--ust-yukseklik) + 8px + var(--n) * 8px); } .yigin-oge .vitrin-kart { min-height: calc(100svh - var(--ust-yukseklik) - 40px); } }

/* vitrin kartı v5: büyük fotoğraf, büyük sıra rakamı, yumuşak yakınlaşma */
.vitrin-gorsel-kap { isolation: isolate; }
.vitrin-sira { min-width: 76px; height: 76px; font-size: 2.2rem; }
.vitrin-kart:hover .vitrin-gorsel { transform: scale(1.06); }
.vitrin-gorsel { transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.vitrin-link { transition: background var(--hiz); }
.vitrin-kart:hover .vitrin-link { background: var(--orman); }
.vitrin-kart:hover .vitrin-link .ikon { transform: translateX(3px); }
[dir="rtl"] .vitrin-kart:hover .vitrin-link .ikon { transform: scaleX(-1) translateX(3px); }
.vitrin-link .ikon { transition: transform var(--hiz); }

/* vitrin küçük fotoğrafları: mekanın diğer gerçek görselleri (boş gövdeyi doldurur, üzerine gelince büyür) */
.vitrin-kucukler { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.vitrin-kucukler li { aspect-ratio: 1; border-radius: var(--r2); overflow: hidden; background: var(--gol-sis); }
.vitrin-kucuk { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.vitrin-kart:hover .vitrin-kucukler li:nth-child(1) .vitrin-kucuk { transform: scale(1.08); }
.vitrin-kart:hover .vitrin-kucukler li:nth-child(2) .vitrin-kucuk { transform: scale(1.08); transition-delay: .06s; }
.vitrin-kart:hover .vitrin-kucukler li:nth-child(3) .vitrin-kucuk { transform: scale(1.08); transition-delay: .12s; }
@media (max-width: 760px) { .vitrin-kucukler { display: none; } }

/* ---------- kategori: dikey kaydırmayla yatay akan galeri ---------- */
.yatay { padding-block: clamp(56px, 8vw, 100px); }
.yatay-ust { margin-block-end: 24px; width: 100%; }
.yatay-ray { list-style: none; margin: 0; display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding-block: 4px; padding-inline: max(16px, calc((100vw - var(--genislik)) / 2 + 32px)); scrollbar-width: none; }
.yatay-ray::-webkit-scrollbar { display: none; }
.yatay-kart { position: relative; flex: none; width: min(86vw, 620px); height: min(70svh, 600px); border-radius: var(--r3); overflow: hidden; background: var(--orman); scroll-snap-align: center; isolation: isolate; }
.yatay-foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.yatay-kart:hover .yatay-foto { transform: scale(1.06); }
.yatay-no { position: absolute; top: 0; inset-inline-start: 0; min-width: 72px; height: 72px; display: grid; place-items: center; background: var(--gol); color: var(--zemin); font-size: 1.7rem; font-weight: 700; font-variant-numeric: tabular-nums; border-end-end-radius: var(--r2); }
[dir="rtl"] .yatay-no { border-end-end-radius: 0; border-end-start-radius: var(--r2); }
.yatay-metin { position: absolute; inset-inline: 14px; bottom: 14px; background: var(--zemin); border-radius: var(--r2); padding: 18px 20px; padding-inline-end: 72px; }
.yatay-baslik { margin: 0 0 4px; font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2.2rem); }
.yatay-baslik a { color: var(--orman); text-decoration: none; }
.yatay-baslik a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.yatay-metin p { margin: 0; color: var(--metin-2); font-size: .95rem; }
.yatay-ok { position: absolute; inset-inline-end: 16px; top: 50%; translate: 0 -50%; width: 44px; height: 44px; display: grid; place-items: center; border-radius: var(--r1); background: var(--gol); color: var(--zemin); transition: transform var(--hiz); }
.yatay-kart:hover .yatay-ok { transform: translateX(4px); }
[dir="rtl"] .yatay-ok .ikon { transform: scaleX(-1); }
[dir="rtl"] .yatay-kart:hover .yatay-ok { transform: translateX(-4px); }
.yatay-kart > .atif { position: absolute; top: 10px; inset-inline-end: 12px; z-index: 2; }
.yatay-kart > .atif a { color: rgba(255, 255, 255, .9); }
@media (min-width: 900px) and (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .yatay { height: 300svh; padding: 0; view-timeline: --yatay block; }
    .yatay-sabit { position: sticky; top: 0; height: 100svh; display: flex; flex-direction: column; justify-content: center; overflow: hidden; }
    .yatay-ray { overflow: visible; width: max-content; scroll-snap-type: none; animation: yatay-kay linear both; animation-timeline: --yatay; animation-range: contain 0% contain 100%; }
    .yatay-kart { width: min(46vw, 640px); height: min(66svh, 640px); }
    @keyframes yatay-kay { to { transform: translateX(calc(-100% + 100vw)); } }
    [dir="rtl"] .yatay-ray { animation-name: yatay-kay-sag; }
    @keyframes yatay-kay-sag { to { transform: translateX(calc(100% - 100vw)); } }
  }
}

/* ---------- yer mozaiği ve eğim ---------- */
@media (min-width: 900px) {
  .yer-izgara-mozaik { grid-template-columns: repeat(3, 1fr); grid-auto-rows: 300px; }
  .yer-izgara-mozaik > .yer-kart { min-height: 0; }
  .yer-izgara-mozaik > :first-child { grid-row: span 2; }
  .yer-izgara-mozaik > :nth-child(4), .yer-izgara-mozaik > :nth-child(6) { grid-column: span 2; }
}
.yer-kart > .atif { position: absolute; top: 10px; inset-inline-end: 12px; z-index: 2; }
.yer-kart > .atif a { color: rgba(255, 255, 255, .9); }
.yer-kart-img { transition: transform .8s cubic-bezier(.2, .7, .2, 1); }

/* ---------- görünme: fotoğraf maskeyle açılır ---------- */
@supports (animation-timeline: view()) {
  .yer-kart-img, .bant-foto-img, .profil-gorsel { animation: maske-acil linear both; animation-timeline: view(); animation-range: entry 0% cover 35%; }
  @keyframes maske-acil { from { transform: scale(1.22); } to { transform: scale(1); } }
  .bant-foto-img { animation-name: bant-kay; animation-range: cover 0% cover 100%; }
  @keyframes bant-kay { from { transform: scale(1.12) translateY(-4%); } to { transform: scale(1.12) translateY(4%); } }
}

/* ---------- sayfa üstü: liste sayfaları daha büyük, fotoğraf yavaş yakınlaşır ---------- */
.sayfa-hero { min-height: min(62svh, 560px); display: flex; flex-direction: column; justify-content: flex-end; }
.sayfa-hero h1 { font-size: clamp(2.4rem, 1.2rem + 4.6vw, 5rem); line-height: 1; letter-spacing: -.035em; }
[dir="rtl"] .sayfa-hero h1 { letter-spacing: 0; line-height: 1.3; }

/* ---------- ikinci fotoğraf (yer, alan, aktivite) ---------- */
.ikinci-foto { margin-block: 28px 0; }
.ikinci-foto-img { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; border-radius: var(--r3); }
.ikinci-foto figcaption { margin-block-start: 6px; }
@media (max-width: 720px) { .ikinci-foto-img { aspect-ratio: 4 / 3; } }

/* ---------- mekan galerisi ---------- */
.galeri { position: relative; }
.galeri-ray { list-style: none; margin: 0; padding: 0; display: grid; grid-auto-flow: column; grid-auto-columns: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; border-radius: var(--r3); }
.galeri-ray::-webkit-scrollbar { display: none; }
.galeri-ray > li { scroll-snap-align: start; position: relative; overflow: hidden; }
.galeri-ray .profil-gorsel { aspect-ratio: 4 / 3; width: 100%; height: 100%; object-fit: cover; }
.galeri-ray > li > .atif { position: absolute; bottom: 8px; inset-inline-start: 10px; background: var(--zemin); padding: 2px 8px; border-radius: 4px; }
.galeri .kaydirma-kontrol { position: absolute; top: 12px; inset-inline-end: 12px; margin: 0; background: var(--zemin); border-radius: var(--r2); padding: 4px; gap: 4px; }
.galeri .kaydirma-dugme { width: 40px; height: 40px; border: 0; }
.galeri .kaydirma-sayac { font-size: .85rem; }
.vitrin-gorsel-kap > .atif, .one-kart .atif { position: absolute; bottom: 8px; inset-inline-start: 10px; z-index: 2; background: var(--zemin); padding: 2px 8px; border-radius: 4px; }

/* ---------- dil seçici: her dil kendi adıyla ---------- */
.dil-secici a[lang="ar"] { font-size: .9rem; }

/* ---------- form v5 ---------- */
.form-kart { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); border: 1px solid var(--cizgi-koyu); border-radius: var(--r3); overflow: hidden; background: var(--zemin); }
.form-bolum > .form-kart, .form-bolum > .basari { max-width: none; }
.form-yan { position: relative; background: var(--orman); color: var(--zemin); padding: clamp(24px, 3.5vw, 44px); display: flex; flex-direction: column; gap: 14px; overflow: hidden; isolation: isolate; }
.form-yan h2 { color: var(--zemin); margin: 0; font-size: clamp(1.8rem, 1.2rem + 1.8vw, 2.6rem); }
.form-yan .ust-etiket { color: var(--gol-acik); margin: 0; }
.form-yan .ust-etiket::before { background: var(--gol-acik); }
.form-yan > p { color: var(--orman-acik); margin: 0; }
.form-adimlar { list-style: none; margin: 8px 0 0; padding: 0; counter-reset: adim; display: grid; gap: 2px; }
.form-adimlar li { counter-increment: adim; display: flex; align-items: center; gap: 14px; padding: 12px 0; border-block-end: 1px solid rgba(255, 255, 255, .16); font-weight: 600; }
.form-adimlar li::before { content: counter(adim); flex: none; width: 34px; height: 34px; display: grid; place-items: center; border-radius: var(--r1); background: var(--gol); color: var(--zemin); font-variant-numeric: tabular-nums; }
.form-guven { display: flex; align-items: center; gap: 10px; margin-block-start: auto !important; padding-block-start: 12px; font-size: .9rem; color: var(--gol-acik) !important; }
.form-guven .ikon { width: 20px; height: 20px; }
.form-yan-dalga { position: absolute; inset-inline: -10%; bottom: -12px; width: 120%; height: 90px; z-index: -1; fill: none; stroke: rgba(255, 255, 255, .1); stroke-width: 2; }
.form { padding: clamp(20px, 3.5vw, 44px); }
.form .form-izgara { gap: 18px 18px; margin-block: 0 18px; }
.alan { position: relative; gap: 8px; }
.alan > label, .secenek legend { font-weight: 600; font-size: .92rem; color: var(--orman); display: flex; justify-content: space-between; gap: 8px; padding: 0; }
.alan-not { font-weight: 400; color: var(--metin-3); font-size: .8rem; }
.form input:not([type="checkbox"]):not([type="radio"]), .form select, .form textarea { width: 100%; min-height: 54px; padding: 14px 16px; border: 1px solid var(--cizgi-koyu); border-radius: var(--r2); background: var(--zemin); font-size: 16px; transition: border-color var(--hiz), box-shadow var(--hiz); }
.form textarea { min-height: 120px; resize: vertical; line-height: 1.5; }
.form input:hover, .form select:hover, .form textarea:hover { border-color: var(--metin-3); }
.form input:focus, .form select:focus, .form textarea:focus { outline: none; border-color: var(--gol); box-shadow: 0 0 0 4px var(--gol-acik); }
.form select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%230f3b31' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-size: 20px; background-position: right 14px center; padding-inline-end: 44px; }
[dir="rtl"] .form select { background-position: left 14px center; }
.form [aria-invalid="true"] { border-color: var(--hata) !important; }
.form [aria-invalid="true"]:focus { box-shadow: 0 0 0 4px #fde7e5; }
.secenek { border: 0; margin: 0; padding: 0; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.secenek-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.secenek-oge { position: relative; }
.secenek-oge input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.secenek-oge span { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 10px 14px; border: 1px solid var(--cizgi-koyu); border-radius: var(--r2); font-size: .92rem; font-weight: 600; color: var(--orman); transition: border-color var(--hiz), background var(--hiz); }
.secenek-oge span::before { content: ""; flex: none; width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--cizgi-koyu); transition: border-color var(--hiz), border-width var(--hiz); }
.secenek-oge input:hover + span { border-color: var(--metin-3); }
.secenek-oge input:checked + span { border-color: var(--gol); background: var(--gol-sis); }
.secenek-oge input:checked + span::before { border: 6px solid var(--gol); }
.secenek-oge input:focus-visible + span { outline: 3px solid var(--gol); outline-offset: 2px; }
.riza { margin-block: 4px 18px; padding: 14px 16px; background: var(--gol-sis); border-radius: var(--r2); }
.riza .kutu { font-size: .9rem; line-height: 1.5; color: var(--metin); cursor: pointer; }
.riza .kutu input { width: 22px; height: 22px; margin-block-start: 0; }
.riza .not { margin: 6px 0 0; padding-inline-start: 32px; }
.form .dugme-birincil { min-height: 56px; padding-inline: 26px; font-size: 1rem; }
.hata { display: flex; align-items: center; gap: 6px; }
.basari { display: flex; align-items: center; gap: 14px; padding: 22px 24px; font-size: 1.05rem; font-weight: 600; border: 1px solid var(--yaprak); background: var(--yaprak-acik); }
.basari::before { content: ""; flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--yaprak) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 22px no-repeat; }
@media (max-width: 520px) { .secenek-izgara { grid-template-columns: 1fr; } .secenek-oge span { min-height: 48px; } }
@media (max-width: 860px) { .form-kart { grid-template-columns: 1fr; } .form-yan-dalga { display: none; } .form .dugme-birincil { width: 100%; justify-content: center; } }

/* ---------- azaltılmış hareket (v5) ---------- */
@media (prefers-reduced-motion: reduce) {
  .gun-kare { transition: none; }
  .js .gun-bolum { opacity: 1; }
}

/* =====================================================================================================================
 * v6 katmanı: v5 hareket dili bütün sayfalarda (2026-10-23, kullanıcı: "ana sayfadaki hareketler diğer sayfalarda da;
 * mekan detay dahil her yer"). Ortak parçalar: sayfa başı (kaydırınca yakınlaşır, başlık kalkar), üst üste binen liste
 * (her ekranda tek kayıt), yatay akan galeri, kayan ad şeridi, mekan detayında yapışkan bilgi kartı. Görsel altı atıf ve
 * dış link yok (kullanıcı kararı).
 * ===================================================================================================================== */

/* ---------- üst üste binen liste: bütün vitrinler ---------- */
.vitrin { gap: 28px; }
.vitrin > .vitrin-kart { position: sticky; top: calc(var(--ust-yukseklik) + var(--yigin-ek, 0px) + 14px + var(--n, 0) * 10px); min-height: min(calc(100svh - var(--ust-yukseklik) - var(--yigin-ek, 0px) - 60px), 700px); scroll-snap-align: none; }
.vitrin.hizli > .vitrin-kart { position: relative; top: auto; min-height: 0; }
@media (max-width: 760px) {
  .vitrin > .vitrin-kart { top: calc(var(--ust-yukseklik) + 8px + var(--n, 0) * 8px); min-height: calc(100svh - var(--ust-yukseklik) - 40px); }
}
html:has(.vitrin) { scroll-snap-type: none; }
.vitrin-ust { margin: 0; font-size: .82rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--gol); }
[dir="rtl"] .vitrin-ust { letter-spacing: 0; text-transform: none; font-size: .92rem; }
.vitrin-deger { font-size: 1.2rem; font-weight: 700; color: var(--orman); }
.buyuk-kart-zemin { width: 100%; height: 100%; min-height: 300px; display: grid; place-items: center; background: var(--orman); color: var(--gol-acik); }
.buyuk-kart-zemin span { font-size: clamp(6rem, 4rem + 8vw, 12rem); font-weight: 700; line-height: 1; letter-spacing: -.05em; }
.vitrin-kucukler-1 { grid-template-columns: 1fr; }
.vitrin-kucukler-1 li { aspect-ratio: 16 / 9; }

/* ---------- yatay galeri: öğe sayısına göre uzunluk ---------- */
@media (min-width: 900px) and (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .yatay { height: calc(100svh + var(--adet, 5) * 42svh); }
    .yatay-kisa { height: calc(100svh + var(--adet, 3) * 30svh); }
  }
}
.yatay-kart-yalin { background: var(--orman); }
.yatay-kart-yalin .yatay-metin { inset-block-start: 96px; inset-block-end: auto; background: transparent; padding-inline: 4px; }
.yatay-kart-yalin .yatay-baslik a { color: var(--zemin); }
.yatay-kart-yalin .yatay-metin p { color: var(--gol-acik); }
.yatay-kart-yalin .yatay-ok { top: auto; bottom: -60px; translate: none; inset-inline-start: 4px; inset-inline-end: auto; }

/* ---------- sayfa başı: bütün sayfalarda aynı ---------- */
.sayfa-hero { margin-block-start: 0; min-height: min(72svh, 640px); isolation: isolate; }
.sayfa-hero-sahne { position: absolute; inset: 0; overflow: hidden; z-index: -2; }
.sayfa-hero-sahne .sayfa-hero-foto, .sayfa-hero-sahne img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sayfa-hero::before { z-index: -1; }
.sayfa-hero-ic { padding-block: clamp(96px, 12vw, 160px) clamp(28px, 4vw, 48px); }
.sayfa-hero-yalin { background: var(--orman); min-height: min(52svh, 460px); }
.sayfa-hero-yalin::before { display: none; }
.sayfa-hero-dalga { position: absolute; inset-inline: -5%; bottom: 8%; width: 110%; height: 60%; z-index: -1; fill: none; stroke: rgba(255, 255, 255, .09); stroke-width: 2; }
@supports (animation-timeline: view()) {
  [data-sayfa-hero] .sayfa-hero-sahne { animation: hero-yakin linear both; animation-timeline: view(); animation-range: exit 0% exit 100%; }
  [data-sayfa-hero] .sayfa-hero-ic, [data-sayfa-hero] .mekan-hero-ic, [data-sayfa-hero] .yer-hero-ic { animation: hero-cik linear both; animation-timeline: view(); animation-range: exit 0% exit 75%; }
  .sayfa-hero-dalga { animation: dalga-kay linear both; animation-timeline: view(); animation-range: exit 0% exit 100%; }
  @keyframes dalga-kay { to { transform: translateX(-4%) translateY(12%); } }
  .sayfa-hero-foto, .yer-hero-foto { animation: none; }
}
.yer-hero { margin-block-start: 0; isolation: isolate; }
.yer-hero::before { z-index: -1; }
.yer-hero .sayfa-hero-sahne .yer-hero-foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ana .kirinti { display: none; }
.kirinti ol { padding-block: 10px; }
.yazi-bilgi { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 4px 0 8px; font-size: .9rem; color: var(--gol-acik); }

/* ---------- mekan ve otel detayı ---------- */
.mekan-hero { position: relative; min-height: min(84svh, 760px); display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; isolation: isolate; background: var(--orman); }
.mekan-hero .sayfa-hero-sahne { z-index: -1; }
.mekan-hero-ic { position: relative; width: 100%; padding-block: 120px clamp(20px, 3vw, 36px); }
.mekan-hero-kutu { display: inline-flex; flex-direction: column; gap: 8px; max-width: min(640px, 100%); background: var(--zemin); border-radius: var(--r3); padding: clamp(18px, 2.6vw, 30px) clamp(20px, 3vw, 34px); }
.mekan-hero-kutu h1 { margin: 0; font-size: clamp(2.2rem, 1.3rem + 3.4vw, 4.2rem); line-height: 1; letter-spacing: -.035em; }
[dir="rtl"] .mekan-hero-kutu h1 { letter-spacing: 0; line-height: 1.3; }
.mekan-hero-kutu .ust-etiket { margin: 0; }
.mekan-hero.sayfa-hero-yalin .mekan-hero-kutu { background: transparent; padding-inline: 0; }
.mekan-hero.sayfa-hero-yalin h1, .mekan-hero.sayfa-hero-yalin .ust-etiket { color: var(--zemin); }
.mekan-duzen { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: clamp(28px, 4vw, 64px); align-items: start; padding-block: clamp(28px, 4vw, 56px); }
.mekan-ana .kap, .mekan-ana .bolum.kap { max-width: none; padding-inline: 0; }
.mekan-ana .menu-bolum { padding-block: 24px; }
.mekan-giris { font-size: clamp(1.15rem, 1rem + .5vw, 1.4rem); line-height: 1.6; color: var(--orman); margin: 0 0 28px; max-width: 60ch; }
.mekan-galeri { margin-block-end: 28px; }
.mekan-yan { position: sticky; top: calc(var(--ust-yukseklik) + 20px); }
.mekan-kart { border: 1px solid var(--cizgi-koyu); border-radius: var(--r3); padding: 22px; background: var(--zemin); display: flex; flex-direction: column; gap: 14px; }
.mekan-kart-baslik { margin: 0; font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gol); }
[dir="rtl"] .mekan-kart-baslik { letter-spacing: 0; text-transform: none; font-size: .92rem; }
.mekan-kart-fiyat { margin: 0; display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; background: var(--gol-sis); border-radius: var(--r2); }
.mekan-kart-fiyat > span:first-child { font-size: .85rem; color: var(--metin-2); }
.mekan-kart-fiyat .fiyat-tutar { font-size: 2rem; }
.mekan-kart-satirlar { list-style: none; margin: 0; padding: 0; border-block-start: 1px solid var(--cizgi); }
.mekan-kart-satirlar li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-block-end: 1px solid var(--cizgi); font-size: .92rem; }
.mekan-kart-satirlar li > span:first-child { color: var(--metin-2); flex: none; }
.mekan-kart-satirlar li > :last-child { text-align: end; }
.mekan-kart .iletisim { margin: 0; flex-direction: column; align-items: stretch; }
.mekan-kart .iletisim .dugme, .mekan-kart .telefon-metin { justify-content: center; }
@media (max-width: 960px) {
  .mekan-duzen { grid-template-columns: 1fr; }
  .mekan-yan { position: static; order: -1; }
}
@media (max-width: 720px) { .mekan-hero { min-height: 72svh; } .mekan-hero-ic { padding-block: 100px 16px; } }

/* ---------- blog yazısı ---------- */
.yazi { padding-block: 16px 8px; }
.yazi-metin { font-size: 1.08rem; }
.yazi-metin h2 { scroll-margin-top: calc(var(--ust-yukseklik) + 16px); }
.yazi-metin table { width: 100%; border-collapse: collapse; font-size: .95rem; margin-block: 12px 20px; }
.yazi-metin th, .yazi-metin td { text-align: start; padding: 10px 8px; border-block-end: 1px solid var(--cizgi); }
.yazi-metin thead th { font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--gol); border-block-end: 2px solid var(--orman); }
.yazi-ek { padding-block: 16px 24px; }
.yazi-icindekiler details { max-width: 760px; border: 1px solid var(--cizgi-koyu); border-radius: var(--r3); padding: 16px 20px; margin-block: 8px 12px; }
.yazi-icindekiler summary { cursor: pointer; font-weight: 700; color: var(--orman); }
.yazi-icindekiler ol { margin: 10px 0 0; padding-inline-start: 1.3em; display: grid; gap: 6px; }
.yazi-icindekiler a { text-decoration: none; }
.yazi-icindekiler a:hover { text-decoration: underline; }

/* ---------- küçük parçalar ---------- */
.ara-baslik { margin: 36px 0 14px; font-size: 1.2rem; color: var(--orman); }
.karsilastirma-baslik { margin-block: 56px 16px; font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); }
.atif-listesi { font-size: .82rem; color: var(--metin-2); columns: 2 320px; column-gap: 32px; padding-inline-start: 1.1em; }
.atif-listesi li { break-inside: avoid; margin-block-end: 6px; }
.link-izgara a .ikon { color: var(--gol); transition: transform var(--hiz); }
.link-izgara a:hover .ikon { transform: translateX(3px); }
[dir="rtl"] .link-izgara a .ikon { transform: scaleX(-1); }
.atif, .hero-atif { display: none !important; }
@media (max-width: 720px) { .yazi-metin table { display: block; overflow-x: auto; white-space: nowrap; } .yazi-metin td, .yazi-metin th { white-space: normal; min-width: 120px; } }

/* =====================================================================================================================
 * v7 katmanı (2026-10-23, kullanıcı geri bildirimi): kategori, aktivite ve organizasyon türleri büyük kartlı ızgarada
 * toplu; üst üste binen kartlar yalnız mekan listelerinde; blog dergi düzeni ve perde açılışı; zengin yazı sayfası;
 * fotoğraf görüntüleyici; karşılaştırma tabloları; tablo taşmaları giderildi.
 * ===================================================================================================================== */

/* ---------- büyük kart ızgarası ---------- */
.izgara { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); }
.izgara-kart { position: relative; display: flex; flex-direction: column; border-radius: var(--r3); overflow: hidden; background: var(--zemin); border: 1px solid var(--cizgi); transition: border-color var(--hiz), transform .25s ease; isolation: isolate; }
.izgara-kart:hover { border-color: var(--gol); }
.izgara-foto { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--orman); }
.izgara-img, .izgara-foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.2, .7, .2, 1); }
.izgara-kart:hover .izgara-foto img { transform: scale(1.07); }
.izgara-harf { position: absolute; inset: 0; display: grid; place-items: center; font-size: clamp(5rem, 3rem + 6vw, 9rem); font-weight: 700; color: var(--gol-acik); letter-spacing: -.05em; }
.izgara-govde { display: flex; flex-direction: column; gap: 8px; padding: clamp(18px, 2.2vw, 28px); flex: 1; }
.izgara-ust { margin: 0; font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--gol); }
[dir="rtl"] .izgara-ust { letter-spacing: 0; text-transform: none; font-size: .9rem; }
.izgara-baslik { margin: 0; font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2.2rem); line-height: 1.1; }
.izgara-baslik a { color: var(--orman); text-decoration: none; }
.izgara-baslik a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.izgara-ozet { margin: 0; color: var(--metin-2); font-size: .98rem; }
.izgara-alt { margin-block-start: auto; padding-block-start: 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.izgara-deger .fiyat-tutar { font-size: 1.35rem; }
.izgara-not { font-size: .88rem; color: var(--metin-2); }
.izgara-ok { flex: none; width: 46px; height: 46px; display: grid; place-items: center; border-radius: var(--r1); background: var(--gol); color: var(--zemin); transition: transform var(--hiz), background var(--hiz); }
.izgara-kart:hover .izgara-ok { transform: translateX(4px); background: var(--orman); }
[dir="rtl"] .izgara-ok .ikon { transform: scaleX(-1); }
[dir="rtl"] .izgara-kart:hover .izgara-ok { transform: translateX(-4px); }
.izgara-genis { grid-column: 1 / -1; flex-direction: row; min-height: 380px; }
.izgara-genis .izgara-foto { aspect-ratio: auto; flex: 1.3; }
.izgara-genis .izgara-govde { flex: 1; justify-content: center; }
.izgara-genis .izgara-baslik { font-size: clamp(2rem, 1.3rem + 2vw, 3.2rem); }
.izgara-yalin .izgara-foto { aspect-ratio: 16 / 10; }
@media (max-width: 860px) { .izgara { grid-template-columns: 1fr; } .izgara-genis { flex-direction: column; min-height: 0; } .izgara-genis .izgara-foto { aspect-ratio: 16 / 10; } }
.izgara-yazi { margin-block: 8px 12px; }
.izgara-yazi .izgara-baslik { font-size: clamp(1.3rem, 1.05rem + .8vw, 1.7rem); }

/* ---------- karşılaştırma tablosu ---------- */
.karsilastirma .tablo-kap { border: 1px solid var(--cizgi); border-radius: var(--r3); padding: 4px 18px 8px; background: var(--zemin); }
.karsilastirma .tablo tbody tr:nth-child(even) { background: var(--gol-sis); }
.karsilastirma .tablo tbody tr:hover { background: var(--gol-acik); }
@media (max-width: 720px) { .karsilastirma .tablo-kap { border: 0; padding: 0; } .karsilastirma .tablo tbody tr:nth-child(even) { background: var(--zemin); } }

/* ---------- tablo taşmaları ---------- */
.tablo td, .tablo th, .mekan-kart-satirlar li > :last-child { overflow-wrap: anywhere; }
.tablo-hizmet th[scope="row"] { width: 46%; }
.hizmet-isim { display: block; font-weight: 700; }
.hizmet-meta { display: block; font-size: .82rem; font-weight: 400; color: var(--metin-3); margin-block-start: 2px; }
.tablo-hizmet td:last-child { font-size: .88rem; color: var(--metin-2); }
@media (max-width: 720px) { .tablo td[data-e] { flex-wrap: wrap; } .tablo td[data-e]:empty { display: none; } }

/* ---------- galeri ve görüntüleyici ---------- */
.buyut { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; position: relative; }
.buyut::after { content: ""; position: absolute; top: 12px; inset-inline-start: 12px; width: 40px; height: 40px; border-radius: var(--r1); background: var(--zemin) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7' fill='none' stroke='%230f3b31' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat; opacity: 0; transform: scale(.9); transition: opacity var(--hiz), transform var(--hiz); }
.buyut:hover::after, .buyut:focus-visible::after { opacity: 1; transform: none; }
.galeri-tek { border-radius: var(--r3); overflow: hidden; }
.galeri-kucuk { list-style: none; margin: 10px 0 0; padding: 0; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.galeri-kucuk button { display: block; width: 92px; height: 64px; padding: 0; border: 2px solid transparent; border-radius: var(--r1); overflow: hidden; cursor: pointer; background: none; }
.galeri-kucuk button:hover { border-color: var(--gol); }
.galeri-kucuk-img { width: 100%; height: 100%; object-fit: cover; }
.isik-kutusu { width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(9, 34, 29, .94); color: var(--zemin); }
.isik-kutusu::backdrop { background: rgba(9, 34, 29, .94); }
.isik-kutusu[open] { display: grid; place-items: center; }
@starting-style { .isik-kutusu[open] { opacity: 0; } .isik-kutusu[open] .isik-sahne { transform: scale(.96); } }
.isik-kutusu { transition: opacity .2s ease; }
.isik-sahne { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 10px; transition: transform .22s ease; }
.isik-sahne img { max-width: min(92vw, 1600px); max-height: 82dvh; width: auto; height: auto; object-fit: contain; border-radius: var(--r2); }
.isik-sayac { font-size: .9rem; font-variant-numeric: tabular-nums; color: var(--gol-acik); }
.isik-dugme { position: fixed; width: 52px; height: 52px; display: grid; place-items: center; border-radius: var(--r1); border: 1px solid rgba(255, 255, 255, .4); background: transparent; color: var(--zemin); cursor: pointer; font-size: 1.6rem; transition: background var(--hiz), color var(--hiz); }
.isik-dugme:hover { background: var(--zemin); color: var(--orman); }
.isik-kapat { top: 16px; inset-inline-end: 16px; }
.isik-onceki { top: 50%; inset-inline-start: 16px; translate: 0 -50%; }
.isik-onceki .ikon { transform: scaleX(-1); }
[dir="rtl"] .isik-onceki .ikon { transform: none; }
[dir="rtl"] .isik-sonraki .ikon { transform: scaleX(-1); }
.isik-sonraki { top: 50%; inset-inline-end: 16px; translate: 0 -50%; }
.isik-kutusu.tek .isik-onceki, .isik-kutusu.tek .isik-sonraki, .isik-kutusu.tek .isik-sayac { display: none; }
@media (max-width: 720px) { .isik-onceki, .isik-sonraki { top: auto; bottom: 20px; translate: none; } }

/* ---------- blog: dergi düzeni ve perde açılışı ---------- */
.dergi-one { position: relative; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); border-radius: var(--r3); overflow: hidden; background: var(--orman); color: var(--zemin); min-height: min(70svh, 600px); margin-block-end: clamp(24px, 3vw, 40px); }
.dergi-one-foto { position: relative; overflow: hidden; }
.dergi-img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.2, .7, .2, 1); }
.dergi-one:hover .dergi-img, .dergi-kart:hover .dergi-img { transform: scale(1.06); }
.dergi-one-govde { display: flex; flex-direction: column; justify-content: center; gap: 12px; padding: clamp(24px, 4vw, 56px); }
.dergi-one .ust-etiket { color: var(--gol-acik); }
.dergi-one .ust-etiket::before { background: var(--gol-acik); }
.dergi-one-baslik { margin: 0; font-size: clamp(2rem, 1.2rem + 2.6vw, 3.6rem); line-height: 1.02; letter-spacing: -.03em; color: var(--zemin); }
.dergi-one-baslik a { color: inherit; text-decoration: none; }
.dergi-one-baslik a::after, .dergi-baslik a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.dergi-one .dergi-ozet { color: var(--orman-acik); font-size: 1.08rem; }
.dergi-one .dergi-meta { color: var(--gol-acik); }
.dergi-ok { width: 52px; height: 52px; display: grid; place-items: center; border-radius: var(--r1); background: var(--zemin); color: var(--orman); margin-block-start: 8px; transition: transform var(--hiz); }
.dergi-one:hover .dergi-ok { transform: translateX(6px); }
[dir="rtl"] .dergi-ok .ikon { transform: scaleX(-1); }
.dergi-izgara { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2.4vw, 32px); }
.dergi-kart { position: relative; display: flex; flex-direction: column; gap: 8px; }
.dergi-foto { aspect-ratio: 4 / 5; border-radius: var(--r3); overflow: hidden; background: var(--orman); margin-block-end: 6px; }
.dergi-baslik { margin: 0; font-size: clamp(1.35rem, 1.1rem + .8vw, 1.8rem); line-height: 1.15; }
.dergi-baslik a { color: var(--orman); text-decoration: none; }
.dergi-kart:hover .dergi-baslik a { color: var(--gol); }
.dergi-ozet { margin: 0; color: var(--metin-2); }
.dergi-meta { margin: 0; font-size: .85rem; color: var(--metin-3); }
@media (max-width: 960px) { .dergi-one { grid-template-columns: 1fr; } .dergi-one-foto { aspect-ratio: 16 / 10; } .dergi-izgara { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .dergi-izgara { grid-template-columns: 1fr; } .dergi-foto { aspect-ratio: 16 / 11; } }
/* perde: fotoğraf alttan yukarı açılır, metin arkasından gelir (yalnız JS çalışınca gizlenir) */

/* ---------- blog yazısı ---------- */
.yazi-hero { min-height: min(88svh, 820px); }
.yazi-hero-kutu { max-width: min(760px, 100%); }
.yazi-hero-kutu h1 { font-size: clamp(2.2rem, 1.2rem + 3.6vw, 4.4rem); }
.yazi-giris { margin: 4px 0 0; font-size: clamp(1.05rem, .98rem + .35vw, 1.25rem); color: var(--metin-2); }
.yazi-meta { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: .86rem; color: var(--metin-3); }
.yazi-meta li + li::before { content: ""; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--gol); margin-inline-end: 12px; vertical-align: middle; }
.yazi-duzen { display: grid; grid-template-columns: minmax(0, 720px) minmax(0, 300px); justify-content: space-between; gap: clamp(28px, 5vw, 80px); padding-block: clamp(32px, 5vw, 64px) 24px; }
.yazi { counter-reset: bolum; padding: 0; }
.yazi-metin { font-size: 1.12rem; line-height: 1.75; }
.yazi-metin > p:first-child::first-letter { float: inline-start; font-size: 4.2em; line-height: .85; font-weight: 700; color: var(--gol); margin-inline-end: 10px; margin-block-start: 6px; }
[dir="rtl"] .yazi-metin > p:first-child::first-letter { float: none; font-size: inherit; color: inherit; margin: 0; }
.yazi-metin h2 { counter-increment: bolum; position: relative; margin-block: 2.2em .7em; padding-block-start: 22px; font-size: clamp(1.6rem, 1.2rem + 1.3vw, 2.3rem); border-block-start: 2px solid var(--orman); }
.yazi-metin h2::before { content: counter(bolum, decimal-leading-zero); position: absolute; top: -2px; inset-inline-start: 0; translate: 0 -100%; padding-block-end: 6px; font-size: .9rem; font-weight: 700; letter-spacing: .1em; color: var(--gol); }
.yazi-metin h3 { margin-block: 1.6em .5em; font-size: 1.3rem; }
.yazi-metin a { color: var(--gol); font-weight: 600; text-decoration-thickness: 2px; text-decoration-color: var(--gol-acik); }
.yazi-metin a:hover { text-decoration-color: var(--gol); }
.yazi-metin ul { list-style: none; padding-inline-start: 0; }
.yazi-metin ul li { position: relative; padding-inline-start: 26px; margin-block-end: .55em; }
.yazi-metin ul li::before { content: ""; position: absolute; inset-inline-start: 4px; top: .68em; width: 10px; height: 10px; border-radius: 3px; background: var(--gol); }
.yazi-metin ol { padding-inline-start: 1.4em; }
.yazi-metin ol li::marker { color: var(--gol); font-weight: 700; }
.yazi-metin strong { color: var(--orman); }
.yazi-metin table { border: 1px solid var(--cizgi); border-radius: var(--r2); border-collapse: separate; border-spacing: 0; overflow: hidden; }
.yazi-metin tbody tr:nth-child(even) { background: var(--gol-sis); }
.yazi-ek { margin-block: 28px 36px; }
.yazi-yan { position: sticky; top: calc(var(--ust-yukseklik) + 24px); align-self: start; display: flex; flex-direction: column; gap: 16px; }
.yazi-yan .yazi-icindekiler details { margin: 0; padding: 20px 22px; background: var(--gol-sis); border: 0; }
.yazi-icindekiler summary { list-style: none; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gol); }
[dir="rtl"] .yazi-icindekiler summary { letter-spacing: 0; text-transform: none; font-size: .92rem; }
.yazi-icindekiler summary::-webkit-details-marker { display: none; }
.yazi-icindekiler ol { list-style: none; padding: 0; margin: 12px 0 0; display: grid; gap: 2px; counter-reset: t; }
.yazi-icindekiler li { counter-increment: t; }
.yazi-icindekiler a { display: flex; gap: 10px; padding: 7px 8px; border-radius: var(--r1); color: var(--metin-2); font-size: .92rem; line-height: 1.35; text-decoration: none; transition: background var(--hiz), color var(--hiz); }
.yazi-icindekiler a::before { content: counter(t, decimal-leading-zero); flex: none; font-weight: 700; color: var(--metin-3); font-variant-numeric: tabular-nums; }
.yazi-icindekiler a:hover { background: var(--zemin); color: var(--orman); }
.yazi-icindekiler a.etkin { background: var(--zemin); color: var(--orman); font-weight: 600; }
.yazi-icindekiler a.etkin::before { color: var(--gol); }
.yazi-kategori { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 18px 22px; border-radius: var(--r3); background: var(--orman); color: var(--zemin); font-weight: 700; text-decoration: none; transition: background var(--hiz); }
.yazi-kategori:hover { background: var(--gol); }
[dir="rtl"] .yazi-kategori .ikon { transform: scaleX(-1); }
@media (max-width: 1060px) {
  .yazi-duzen { grid-template-columns: 1fr; }
  .yazi-yan { position: static; order: -1; }
  .yazi-kategori { display: none; }
}
.sss { counter-reset: s; }
.sss details { border: 1px solid var(--cizgi); border-radius: var(--r2); padding-inline: 18px; margin-block-end: 10px; transition: border-color var(--hiz); }
.sss details[open] { border-color: var(--gol); }
@media (prefers-reduced-motion: reduce) {
}
.menu-uyari { margin: 8px 0 0; padding: 10px 14px; border-radius: var(--r2); background: var(--uyari-zemin); color: var(--uyari); font-size: .9rem; }
.izgara-dalga { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke: rgba(255, 255, 255, .14); stroke-width: 2; transition: transform 1.2s cubic-bezier(.2, .7, .2, 1); }
.izgara-kart:hover .izgara-dalga { transform: translateX(-6%); }
.izgara-yalin-isim { position: absolute; inset-inline: 22px; bottom: 18px; font-size: clamp(1.6rem, 1.1rem + 1.6vw, 2.6rem); font-weight: 700; line-height: 1.05; letter-spacing: -.02em; color: var(--gol-acik); }
.isik-kutusu { inset: 0; width: 100%; height: 100%; }
@media (max-width: 720px) { .tablo-hizmet th[scope="row"] { width: auto; } }
.mekan-duzen > *, .yazi-duzen > * { min-width: 0; }
@media (max-width: 960px) { .mekan-duzen { grid-template-columns: minmax(0, 1fr); } }
.oz-bilinmeyen { flex-direction: column; gap: 2px; }
.oz-bilinmeyen .oz-isim { color: var(--metin-3); font-size: .85rem; }
.oz-bilinmeyen .oz-deger { text-align: start; color: var(--metin-3); font-size: .88rem; }
.bugun-oge a { display: inline-flex; align-items: center; min-height: 32px; }
.bugun-liste { min-height: 32px; }
.kirinti a { display: inline-block; padding-block: 5px; }
.tablo th[scope="row"] a, .karsilastirma .tablo th a { display: inline-flex; align-items: center; min-height: 28px; }
/* ana sayfada menü açılınca üst çubuk beyaz zemine geçer (menü ve dil seçici fotoğrafın üstünde kalmasın) */
.ana .ust:has(.ana-nav.acik) { background: var(--zemin) !important; border-color: var(--cizgi) !important; animation: none; }
.ana .ust:has(.ana-nav.acik) .logo, .ana .ust:has(.ana-nav.acik) .menu-dugme, .ana .ust:has(.ana-nav.acik) .dil-secici a:not([aria-current]) { color: var(--orman) !important; animation: none; }
.ana .ust:has(.ana-nav.acik) .logo-ust { color: var(--gol) !important; animation: none; }
.ana .ust:has(.ana-nav.acik) .dil-secici { border-color: var(--cizgi-koyu); }
.ana .ust:has(.ana-nav.acik) .dil-secici a[aria-current="true"] { background: var(--orman); color: var(--zemin); }
.ana .ust:has(.ana-nav.acik) .menu-dugme { border-color: var(--cizgi-koyu); }
.ust-ic:has(.ana-nav.acik) { padding-block-end: 12px; }
.bulunamadi-linkler { margin-block-start: 24px; }
/* yatay galeri 3 ve daha az öğede kaydırmaya bağlı akmaz (gereksiz uzun boşluk olmasın); ızgara gibi durur */
.yatay-durgun { height: auto !important; padding-block: clamp(40px, 6vw, 72px) !important; view-timeline: none; }
.yatay-durgun .yatay-sabit { position: static !important; height: auto !important; overflow: visible !important; }
.yatay-durgun .yatay-ray { animation: none !important; width: auto !important; overflow-x: auto !important; }
@media (min-width: 900px) { .yatay-durgun .yatay-ray { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: var(--genislik); margin-inline: auto; padding-inline: 32px; } .yatay-durgun .yatay-kart { width: auto; height: 460px; } }
/* kalite turu düzeltmeleri */
.bolum-ust { flex-wrap: wrap; }
.riza .kutu input { width: 24px; height: 24px; }
.yazi-icindekiler summary { padding-block: 4px; min-height: 28px; display: flex; align-items: center; }
.yazi-metin td a, .yazi-metin th a { display: inline-block; padding-block: 2px; }

/* =====================================================================================================================
 * v8 kalite turu (2026-10-23): üç bağımsız göz denetimi ve kusur tarayıcının bulguları.
 * ===================================================================================================================== */
/* sayfa başı içeriği her sayfada aynı sol hizada (esnek kapta .kap genişliği) */
.sayfa-hero > .kap, .mekan-hero > .kap { width: 100%; }
/* kırıntı: bağlantı ve geçerli sayfa aynı satır ortasında */
.kirinti ol { align-items: center; }
.kirinti li[aria-current] { padding-block: 5px; }

/* üst üste binen mekan kartı: fotoğraf kartı uzatmaz, kart ekrana sığmaya çalışır ama içerikten kısa olamaz (2026-10-28:
   sabit yükseklik ve gövdede kesme kısa ekranda fiyat satırını kesiyordu); kısa ekranda küçük fotoğraf şeridi gizlenir. */
.vitrin-gorsel-kap { position: relative; min-height: 0; background: var(--gol-sis); }
.vitrin-gorsel-kap .vitrin-gorsel { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; max-height: none; aspect-ratio: auto; }
.vitrin > .vitrin-kart { height: auto; min-height: max(420px, min(calc(100svh - var(--ust-yukseklik) - 84px), 680px)); }
@media (max-height: 820px) and (min-width: 761px) { .vitrin > .vitrin-kart .vitrin-kucukler { display: none; } }
/* Ekrana sığmayan kart yapışmaz: yoksa sonraki kart onun alt kısmını (fiyat satırını) örter. JS ölçüp sınıf verir. */
.vitrin > .vitrin-kart.yigin-serbest, .yigin-oge.yigin-serbest { position: relative; top: auto; }
@media (max-width: 760px) {
  .vitrin > .vitrin-kart { height: auto; min-height: 0; }
  .vitrin-gorsel-kap { aspect-ratio: 4 / 3; max-height: 42svh; }
}
.izgara-foto, .gun-kare, .yer-kart, .dergi-foto, .dergi-one-foto, .yatay-kart, .galeri-ray li { background-color: var(--orman); }

/* fotoğraf üstü yazı: düz, opak zemin (gradyan değil) */
.yer-kart-metin { background: rgba(9, 34, 29, .78); margin: 10px; border-radius: var(--r2); padding: 14px 16px; }
.yer-kart:not(.yer-kart-foto) .yer-kart-metin { background: var(--zemin); }
:root { --perde: rgba(9, 34, 29, .5); }

/* ızgara: geniş kartta okuma düzeni */
.izgara-genis .izgara-alt { margin-block-start: 20px; }
.secenek-izgara { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); align-items: stretch; }
.secenek-oge span { height: 100%; }

/* bilgi satırları: uzun değer etiketin altına, sola yaslı */
.mekan-kart-satirlar li.uzun, .ozet-satirlar li.uzun { flex-wrap: wrap; }
.mekan-kart-satirlar li.uzun > :last-child, .ozet-satirlar li.uzun > :last-child { flex-basis: 100%; text-align: start; }
.ozet-satirlar li > span:first-child, .mekan-kart-satirlar li > span:first-child { white-space: nowrap; }
.oz-bilinmeyen { display: block !important; color: var(--metin-3); font-size: .88rem; }

/* saat tablosunda bugün (eski "bugun" sınıfı ana sayfa şeridiyle çakışıyordu) */
.saatler tr.saat-bugun th, .saatler tr.saat-bugun td { font-weight: 700; color: var(--gol); }

/* çok geniş panorama galeride kırpılmaz */
.profil-gorsel-genis { object-fit: contain !important; background: var(--orman); }

/* tablolar */
.karsilastirma .tablo th, .karsilastirma .tablo td { padding-inline: 14px; }
.tablo caption:not(.gizli) { text-align: start; font-weight: 700; color: var(--orman); padding-block-end: 8px; }
.tablo th[scope="row"] a { color: var(--gol); text-decoration: underline; text-decoration-color: var(--gol-acik); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.tablo th[scope="row"] a:hover { text-decoration-color: var(--gol); }

/* bağlantı ızgarası: eşit yükseklik */
.link-izgara li { display: flex; }
.link-izgara a { flex: 1; }

/* boşluk ritmi: sayfa sonundaki bölümler */
.duzeltme { padding-block: 8px 28px !important; }
.alt { margin-block-start: 56px; }
.mekan-duzen { padding-block-end: 8px; }
.yatay-durgun { padding-block: 32px 40px !important; }

/* dokunma hedefleri */
.alt nav a { padding-block: 8px; }
.alt nav { gap: 0; }
.riza .not a, .duzeltme a, .siralama-notu a { display: inline-block; padding-block: 6px; }

/* ana sayfa: test şeridi kayınca üst çubuk yukarı yapışır (site.js --serit-y'yi kaydırmayla küçültür) */
.ana .hero { min-height: calc(100svh - var(--serit-y, 0px)); }
.bugun-oge .fiyat { flex-wrap: nowrap; }
@media (max-width: 520px) { .bugun-oge .fiyat-tarih { display: none; } .bugun-isim { margin-inline-end: 4px; } }

/* görüntüleyici: geniş fotoğraf düğmelere binmez */
.isik-sahne img { max-width: min(calc(100vw - 2 * (52px + 28px)), 1600px); }
@media (max-width: 720px) { .isik-sahne img { max-width: 94vw; max-height: 74dvh; } }

/* blog */
.dergi-izgara:has(> :only-child) { grid-template-columns: 1fr; }
.dergi-izgara > :only-child { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(20px, 3vw, 40px); align-items: center; }
.dergi-izgara > :only-child .dergi-foto { grid-row: span 5; aspect-ratio: 16 / 10; margin: 0; }
@media (max-width: 760px) { .dergi-izgara > :only-child { display: flex; } .dergi-izgara > :only-child .dergi-foto { aspect-ratio: 16 / 11; } }
.yazi-hero .sayfa-hero-foto { object-position: center 30%; }
@media (max-width: 720px) { .mekan-hero .sayfa-hero-foto { object-position: center 25%; } }

/* form yan paneli: alt boşluk dalga motifiyle dolar */
.form-yan-dalga { height: 38%; bottom: 0; }
.form-guven { margin-block-start: 8px !important; }
.form-yan { justify-content: flex-start; }
.oz-bilinmeyen span { white-space: normal !important; }
.yazi-metin p a, .yazi-metin li a { padding-block: 3px; }
.logo-ust { letter-spacing: .34em; font-size: .68rem; margin-block-end: 1px; }
[dir="rtl"] .logo-ust { letter-spacing: 0; font-size: .82rem; }
/* kahvaltı fiyat tablosu: mekana göre gruplu, telefonda da tablo (kart yığını olmasın) */
.tablo-sik tbody + tbody { border-block-start: 2px solid var(--cizgi-koyu); }
.tablo-sik th[scope="rowgroup"] { vertical-align: top; font-weight: 700; }
.tablo-sik th[scope="rowgroup"] a { display: inline-flex; min-height: 28px; align-items: center; color: var(--gol); }
.karsilastirma .tablo-sik tbody tr:nth-child(even) { background: transparent; }
@media (max-width: 720px) {
  .tablo.tablo-sik { display: table; font-size: .88rem; }
  .tablo.tablo-sik thead { display: table-header-group; }
  .tablo.tablo-sik tbody { display: table-row-group; }
  .tablo.tablo-sik tr { display: table-row; border: 0; padding: 0; margin: 0; }
  .tablo.tablo-sik th, .tablo.tablo-sik td { display: table-cell; width: auto; padding: 10px 6px; border-block-end: 1px solid var(--cizgi); }
  .tablo.tablo-sik th[scope="rowgroup"] { width: 30%; }
  .tablo.tablo-sik .fiyat { flex-direction: column; align-items: flex-end; gap: 0; }
}

/* v9: kapaksız yazı hero'su (uygun fotoğraf yoksa fotoğraf konmaz, kullanıcı kararı). Koyu zeminde açık metin, boş yükseklik yok. */
.yazi-hero.sayfa-hero-yalin { min-height: 0; padding-block: clamp(48px, 8vw, 96px) clamp(36px, 5vw, 56px); }
.yazi-hero.sayfa-hero-yalin .yazi-giris { color: color-mix(in srgb, var(--zemin) 88%, transparent); }
.yazi-hero.sayfa-hero-yalin .yazi-meta { color: color-mix(in srgb, var(--zemin) 78%, transparent); }
.yazi-hero.sayfa-hero-yalin .yazi-meta a { color: var(--zemin); }
.yazi-meta a { display: inline-block; padding-block: 12px; margin-block: -12px; }
.yazi-hero.sayfa-hero-yalin .mekan-hero-ic { padding-block-start: 0; }
@media (max-width: 720px) { .yazi-metin table { overflow-x: auto; } }
/* Kapaksız yazı kartı: boş fotoğraf kutusu yerine metin kartı (uygun fotoğraf yoksa fotoğraf konmaz). */
.dergi-one.dergi-yalin { grid-template-columns: minmax(0, 1fr); min-height: 0; }
.dergi-one.dergi-yalin .dergi-one-govde { max-width: 820px; padding-block: clamp(32px, 5vw, 64px); }
.dergi-kart.dergi-yalin { border-block-start: 3px solid var(--gol); padding-block-start: 18px; }
.dergi-izgara-yalin { margin-block-start: clamp(28px, 4vw, 48px); }
/* Yeme içme: bölgelere göre mekanlar */
.bolge-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; margin-block-start: 16px; align-items: start; }
.bolge-kutu { border: 1px solid var(--cizgi); border-radius: var(--r2); padding: 16px 18px; background: var(--zemin); }
.bolge-kutu h3 { margin: 0 0 8px; font-size: 1.05rem; display: flex; align-items: center; gap: 8px; }
.bolge-sayi { font-size: .78rem; font-weight: 600; color: var(--gol); border: 1px solid currentColor; border-radius: var(--r1, 6px); padding: 1px 7px; }
.bolge-kutu ul { list-style: none; margin: 0; padding: 0; }
.bolge-kutu li { padding-block: 6px; border-block-start: 1px solid var(--cizgi); }
.bolge-kutu li:first-child { border-block-start: 0; }
.bolge-kutu a { display: block; padding-block: 4px; }
.tablo .tek-satir { white-space: nowrap; }

/* ---------- arama ---------- */
.ara-dugme { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 38px; height: 38px; border-radius: var(--r1); color: var(--orman); }
.ara-dugme svg { width: 20px; height: 20px; }
.ara-dugme:hover { color: var(--gol); }
.ana .ust .ara-dugme { color: var(--zemin); }
@media (max-width: 1240px) { .ara-dugme { order: 0; margin-inline-start: auto; } .ara-dugme ~ .menu-dugme { margin-inline-start: 0; } }
.ara-sayfa h1 { margin-block: 0 18px; }
.ara-form { display: flex; gap: 10px; max-width: 720px; }
.ara-form input { flex: 1; min-width: 0; font: inherit; font-size: 1.05rem; padding: 12px 14px; border: 1px solid var(--cizgi-koyu); border-radius: var(--r1); background: var(--zemin); color: var(--metin); }
.ara-form input:focus { outline: 2px solid var(--gol); outline-offset: 1px; }
.ara-sayi { color: var(--metin-2); margin-block: 18px 10px; }
.ara-sonuclar { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; max-width: 860px; }
.ara-sonuclar a { display: grid; gap: 4px; padding: 14px 16px; border: 1px solid var(--cizgi); border-radius: var(--r2); text-decoration: none; color: var(--metin); transition: border-color var(--hiz); }
.ara-sonuclar a:hover { border-color: var(--gol); }
.ara-tur { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--gol); }
.ara-sonuc-baslik { font-weight: 700; color: var(--orman); font-size: 1.05rem; }
.ara-ozet { color: var(--metin-2); font-size: .92rem; }
@media (max-width: 560px) { .ara-form { flex-direction: column; } }
.liste-devam { margin-block: clamp(36px, 5vw, 64px) 18px; font-size: 1.35rem; }

/* ---------- anlık arama kutusu ---------- */
.ara-kutu { width: min(680px, calc(100vw - 24px)); max-height: min(78vh, 720px); margin: 10vh auto auto; padding: 0; border: 0; border-radius: var(--r3); background: var(--zemin); color: var(--metin); overflow: hidden; display: none; flex-direction: column; }
.ara-kutu[open] { display: flex; }
.ara-kutu::backdrop { background: rgba(10, 30, 25, .55); backdrop-filter: blur(3px); }
.ara-kutu-form { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-block-end: 1px solid var(--cizgi); }
.ara-kutu-ikon { width: 22px; height: 22px; flex: none; color: var(--gol); }
.ara-kutu-form input { flex: 1; min-width: 0; border: 0; outline: 0; font: inherit; font-size: 1.1rem; background: transparent; color: var(--metin); padding: 6px 0; }
.ara-kapat { flex: none; width: 36px; height: 36px; border: 1px solid var(--cizgi); border-radius: var(--r1); background: var(--zemin); color: var(--metin-2); font-size: 1.4rem; line-height: 1; cursor: pointer; }
.ara-kapat:hover { color: var(--orman); border-color: var(--cizgi-koyu); }
.ara-kutu-sonuc { overflow-y: auto; padding: 12px 16px 16px; }
.ara-kutu-sonuc:empty { display: none; }
.ara-sonuclar-kutu { gap: 8px; }
.ara-sonuclar-kutu a { padding: 10px 12px; }
.ara-sonuclar-kutu a:focus-visible { outline: 2px solid var(--gol); outline-offset: 1px; }
.ara-bos, .ara-tumu { margin: 6px 2px; color: var(--metin-2); }
.ara-tumu a { color: var(--gol); font-weight: 600; }
html.ara-acik { overflow: hidden; }
@media (max-width: 520px) { .ara-kutu { margin-top: 12px; max-height: calc(100vh - 24px); width: calc(100vw - 16px); } }
.ara-sonuclar a { align-content: start; }
.ara-kutu-form input::-webkit-search-cancel-button { display: none; }
/* Gövde metnindeki tablolar dar ekranda sayfayı taşırmaz: kendi içinde yatay kayar. */
@media (max-width: 760px) {
  .metin table, .yazi-metin table, .yazi-govde table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

/* ---------- işletme paneli (/isletme/panel/) ---------- */
.panel-ileti { margin-block-start: 20px; }
.panel-cikis { margin-block-start: 14px; }
.panel-izgara { display: grid; grid-template-columns: 1fr; gap: 16px; }
.panel-izgara .sayi-kutu strong { font-size: 1.15rem; color: var(--orman); }
.panel-izgara .sayi-kutu a { color: var(--gol); font-weight: 600; }
.panel-form { display: grid; gap: 14px; justify-items: start; }
.panel-form .form-izgara { width: 100%; margin: 0; grid-template-columns: 1fr; }
.panel-form textarea, .panel-form select, .panel-form input:not([type=checkbox]):not([type=radio]) { width: 100%; }
.panel-form > .alan { width: 100%; }
.panel-saatler { grid-template-columns: 1fr 1fr !important; }
/* Çoklu seçim kutucuğu (başvuru formu): radyo ile karışmasın diye köşeli işaret ve onay çizgisi. */
.secenek-oge input[type=checkbox] + span::before { border-radius: var(--r1); }
.secenek-oge input[type=checkbox]:checked + span::before { border: 2px solid var(--gol); background: var(--gol) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2.2'/%3E%3C/svg%3E") center / 12px no-repeat; }
.panel-detay { margin-block-end: 16px; }
.panel-detay summary { cursor: pointer; font-weight: 600; color: var(--orman); padding-block: 8px; }
.panel-beyanlar { display: grid; grid-template-columns: 1fr; gap: 10px; width: 100%; }
.panel-beyan { margin: 0; padding: 10px 12px; border: 1px solid var(--cizgi); border-radius: var(--r1); display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; }
.panel-beyan legend { padding: 0 4px; font-weight: 600; font-size: .95rem; }
@media (min-width: 720px) {
  .panel-izgara { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
  .panel-form .form-izgara { grid-template-columns: 1fr 1fr; }
  .panel-saatler { grid-template-columns: repeat(4, 1fr) !important; }
  .panel-beyanlar { grid-template-columns: 1fr 1fr; }
}

/* =====================================================================================================================
 * v8 katmanı: kurallı hareket ve düz tabela (2026-10-28). Kullanıcı: "yeni tasarım skillerini uygula, hareketli yeni nesil
 * tasarım kurallara göre". Değişenler: hareket süre ve eğrileri token; etkileşim animasyonu 300 ms altında; kendiliğinden
 * dönen gösteri, kayan ad şeridi, "aşağı kaydır" ipucu, sayaç, imlece eğilen kart ve dikey kaydırmayı yataya çeviren
 * galeri kaldırıldı; fotoğraf üstünde renkli perde yok, metin düz beyaz tabelada (mekan ve rehber sayfalarındaki dil
 * bütün üst bölümlere yayıldı); görünme animasyonu yalnız seçili bölümlerde; hover yalnız fareli cihazda; SSS ve menü
 * açılışı tarayıcının kendi geçişleriyle. Mobil öncelikli yazıldı, geniş ekran kuralları min-width içinde.
 * =================================================================================================================== */
:root {
  --sure-bas: 140ms;
  --sure-hover: 180ms;
  --sure-menu: 240ms;
  --sure-giris: 560ms;
  --egri: cubic-bezier(.2, .7, .2, 1);
  --egri-yer: cubic-bezier(.65, 0, .35, 1);
  --hiz: var(--sure-hover) var(--egri);
  --hata-zemin: #fde7e5;
  --gorsel-cizgi: rgba(9, 34, 29, .1);
  --perde-koyu: rgba(10, 30, 25, .55);   /* yalnız modal arka planı */
}
html { scroll-padding-block: calc(var(--ust-yukseklik) + 12px) 16px; }

/* sayfa geçişi: token eğrisiyle; kart fotoğrafı mekan sayfasının üst fotoğrafına dönüşür (view-transition-name şablonda) */
::view-transition-old(root) { animation: var(--sure-bas) var(--egri) both cikis; }
::view-transition-new(root) { animation: var(--sure-menu) var(--egri) both giris; }
::view-transition-group(*) { animation-duration: var(--sure-menu); animation-timing-function: var(--egri-yer); }

/* görünme: kısa mesafe, token süre; ilk ekran beklemez, yalnız seçili bölümler (şablonda data-goster) */
.js [data-goster] { opacity: 0; transform: translateY(16px); transition: opacity var(--sure-giris) var(--egri), transform var(--sure-giris) var(--egri); }

/* uzun ve yavaş geçişler token süreye iner */
.doseme-foto, .vitrin-gorsel, .kart-gorsel, .yer-kart-img, .yatay-foto, .vitrin-kucuk, .izgara-foto img { transition: transform var(--sure-menu) var(--egri); }
.gun-kare { transform: none; transition: opacity var(--sure-menu) var(--egri); }
.gun-cizgi li { transition: color var(--hiz); }
.gun-cizgi li::after { transition: transform var(--sure-menu) var(--egri); }
.js .gun-bolum { transition: opacity var(--sure-menu) var(--egri); }

/* hover yakınlaşması yalnız fareli cihazda ve ölçülü; dokunmatikte takılı kalmaz */
@media (hover: none), (pointer: coarse) {
  .vitrin-kart:hover .vitrin-gorsel, .yatay-kart:hover .yatay-foto, .izgara-kart:hover .izgara-foto img,
  .kart:hover .kart-gorsel, .yer-kart:hover .yer-kart-img, .doseme:hover .doseme-foto, .dergi-one:hover .dergi-img, .dergi-kart:hover .dergi-img,
  .izgara-kart:hover .izgara-dalga, .vitrin-kart:hover .vitrin-kucukler li:nth-child(n) .vitrin-kucuk { transform: none; }
  .kaydirma-dugme:hover { background: var(--zemin); color: var(--orman); }
}
.dergi-img, .izgara-dalga { transition: transform var(--sure-menu) var(--egri); }
.vitrin-kart:hover .vitrin-kucukler li:nth-child(n) .vitrin-kucuk { transition-delay: 0s; }
@media (hover: hover) and (pointer: fine) {
  .vitrin-kart:hover .vitrin-gorsel, .yatay-kart:hover .yatay-foto, .izgara-kart:hover .izgara-foto img { transform: scale(1.04); }
  .vitrin-kart:hover .vitrin-kucukler li:nth-child(n) .vitrin-kucuk, .dergi-one:hover .dergi-img, .dergi-kart:hover .dergi-img { transform: scale(1.04); }
}
.dugme:not(:disabled):active, .kaydirma-dugme:not(:disabled):active { transform: scale(.98); }

/* ana sayfa üst çubuğu: fotoğraf üstünde de düz beyaz (perde kalktığı için okunurluk) */
.ana .ust { background: var(--zemin); border-color: var(--cizgi); }
.ana .ust .logo, .ana .ust .ana-nav a, .ana .ust .ara-dugme, .ana .ust .menu-dugme, .ana .ust .dil-secici a:not([aria-current]) { color: var(--orman); }
.ana .ust .logo-ust { color: var(--gol); }
.ana .ust .dil-secici, .ana .ust .menu-dugme { border-color: var(--cizgi-koyu); }
.ana .ust .dil-secici a[aria-current="true"] { background: var(--orman); color: var(--zemin); }
.ana .ust .ana-nav a::after { background: var(--gol); }

/* ana sayfa hero: tam ekran gerçek fotoğraf, perde yok, metin düz beyaz tabelada; fotoğrafı ziyaretçi seçer */
.hero { color: var(--orman); }
.hero::before { content: none; }
.hero-kare { transition: opacity var(--sure-menu) var(--egri); }
.hero-foto { transform: none; }
.hero-ic { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding-block: calc(var(--ust-yukseklik) + 32px) 20px; }
.hero-kutu { background: var(--zemin); border-radius: var(--r3); padding: 20px 20px 22px; max-width: min(720px, 100%); }
.hero-kutu h1 { color: var(--orman); font-size: clamp(2.3rem, 1.2rem + 4.6vw, 5rem); max-width: 14ch; line-height: 1; }
[dir="rtl"] .hero-kutu h1 { line-height: 1.25; }
.hero-kutu .hero-etiket { color: var(--gol); margin-block-end: 12px; }
.hero-kutu .hero-etiket::before { background: var(--gol); }
.hero-kutu .hero-giris { color: var(--metin-2); margin: 0; }
.hero-kutu .hero-cta { margin-block-start: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.hero-kutu .hero-cta .dugme { justify-content: center; padding-inline: 12px; }
.hero-kutu .hero-cta .dugme-birincil { grid-column: 1 / -1; }
.hero-kutu .hero-etiket, .sayfa-hero-kutu .hero-etiket, .yer-hero-kutu .hero-etiket { letter-spacing: .12em; }
.hero-kareler { display: flex; gap: 6px; padding: 6px; background: var(--zemin); border-radius: calc(var(--r1) + 6px); }
.hero-kare-sec { position: relative; width: 56px; height: 40px; padding: 0; border: 0; border-radius: var(--r1); overflow: hidden; background: var(--gol-sis); cursor: pointer; opacity: .5; transition: opacity var(--hiz); }
.hero-kare-sec[aria-pressed="true"] { opacity: 1; }
.hero-kare-sec[aria-pressed="true"]::after { content: ""; position: absolute; inset-inline: 6px; bottom: 4px; height: 2px; background: var(--zemin); }
.hero-kare-kucuk { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (hover: hover) and (pointer: fine) { .hero-kare-sec:hover { opacity: .85; } }
@media (pointer: coarse) { .hero-kare-sec { width: 64px; height: 44px; } }
.hero-alt { background: var(--zemin); border-block-start: 1px solid var(--cizgi); color: var(--orman); }
.bugun { display: flex; align-items: center; gap: 16px; padding-block: 12px; overflow-x: auto; scrollbar-width: none; }
.bugun::-webkit-scrollbar { display: none; }
.bugun-etiket { color: var(--gol); }
.bugun-liste { display: flex; gap: 28px; position: static; min-height: 0; }
.bugun-oge { position: static; opacity: 1; transform: none; flex: none; }
.bugun-oge a { color: var(--orman); }
.bugun .fiyat-tutar { color: var(--orman); }
.bugun .fiyat-ek, .bugun .fiyat-tarih { color: var(--metin-3); }
@media (min-width: 721px) {
  .hero-kutu .hero-cta { display: flex; flex-wrap: wrap; }
  .hero-kutu .hero-cta .dugme { padding-inline: 20px; }
  .hero-ic { padding-block: calc(var(--ust-yukseklik) + 56px) 28px; }
  .hero-kutu { padding: clamp(24px, 3vw, 40px); }
}

@media (max-height: 800px) {
  .hero-ic { padding-block: calc(var(--ust-yukseklik) + 20px) 14px; }
  .hero-kutu h1 { font-size: clamp(2rem, 1rem + 3.4vw, 3.4rem); }
  [dir="rtl"] .hero-kutu h1 { line-height: 1.15; }
  .hero-kutu .hero-giris { font-size: 1rem; }
  .hero-kutu .hero-cta { margin-block-start: 14px; }
  .hero-kutu .hero-etiket { margin-block-end: 8px; }
}
@media (max-height: 680px) {
  .hero-kutu { padding: 16px 16px 18px; }
  .hero-kutu .hero-giris { font-size: .95rem; line-height: 1.5; }
  .hero-kutu .dugme { min-height: 44px; }
}

/* liste ve bölüm sayfalarının üstü: fotoğraf üstünde düz beyaz tabela (mekan sayfasıyla aynı dil) */
.sayfa-hero:not(.sayfa-hero-yalin)::before, .yer-hero::before { content: none; }
.sayfa-hero:not(.sayfa-hero-yalin) { color: var(--orman); }
.sayfa-hero-kutu { display: flex; flex-direction: column; gap: 10px; max-width: min(880px, 100%); }
.sayfa-hero:not(.sayfa-hero-yalin) .sayfa-hero-kutu { background: var(--zemin); border-radius: var(--r3); padding: 20px 20px 22px; }
.sayfa-hero:not(.sayfa-hero-yalin) .sayfa-hero-kutu h1 { color: var(--orman); margin: 0 0 4px; font-size: clamp(2.1rem, 1.3rem + 3.2vw, 3.8rem); line-height: 1.04; max-width: none; }
.sayfa-hero:not(.sayfa-hero-yalin) .hero-etiket { color: var(--gol); margin: 0; }
.sayfa-hero:not(.sayfa-hero-yalin) .hero-etiket::before { background: var(--gol); }
.sayfa-hero:not(.sayfa-hero-yalin) .hero-giris { color: var(--metin-2); margin: 0; }
.sayfa-hero:not(.sayfa-hero-yalin) .sayfa-hero-tarih { color: var(--metin-3); }
.yer-hero { color: var(--orman); }
.yer-hero-kutu { display: inline-flex; flex-direction: column; gap: 8px; max-width: min(760px, 100%); background: var(--zemin); border-radius: var(--r3); padding: 20px 20px 22px; }
.yer-hero-kutu .hero-etiket { color: var(--gol); margin: 0; }
.yer-hero-kutu .hero-etiket::before { background: var(--gol); }
.yer-hero-kutu .yer-hero-isim { color: var(--orman); font-size: clamp(2.3rem, 1.2rem + 4.6vw, 5rem); }
@media (min-width: 721px) {
  .sayfa-hero:not(.sayfa-hero-yalin) .sayfa-hero-kutu, .yer-hero-kutu { padding: clamp(24px, 3vw, 36px); }
}

/* kategori galerisi: kaydırma ziyaretçide (sabitleme yok); geniş ekranda oklar, ray yerinde kayar */
.yatay-ust { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.yatay-oklar { display: flex; gap: 8px; flex: none; }
.yatay-oklar[hidden] { display: none; }
.yatay-oklar [data-yatay-geri] .ikon { transform: scaleX(-1); }
[dir="rtl"] .yatay-oklar [data-yatay-geri] .ikon { transform: none; }
[dir="rtl"] .yatay-oklar [data-yatay-ileri] .ikon { transform: scaleX(-1); }
.yatay-ray { scroll-behavior: smooth; scroll-padding-inline: max(16px, calc((100vw - var(--genislik)) / 2 + 32px)); }
@media (min-width: 900px) {
  @supports (animation-timeline: view()) {
    .yatay { height: auto; padding-block: clamp(56px, 8vw, 100px); view-timeline: none; }
    .yatay-sabit { position: static; height: auto; display: block; overflow: visible; }
    .yatay-ray { overflow-x: auto; width: auto; scroll-snap-type: x mandatory; animation: none; }
  }
  .yatay-kart { width: min(42vw, 560px); height: min(62svh, 560px); scroll-snap-align: start; }
}

/* SSS: açılış tarayıcının kendi içerik kutusuyla, yalnız opaklık ve küçük kayma (yükseklik canlandırılmaz) */
@supports selector(::details-content) {
  .sss details::details-content { opacity: 0; transform: translateY(-4px); transition: opacity var(--sure-menu) var(--egri), transform var(--sure-menu) var(--egri), content-visibility var(--sure-menu) allow-discrete; }
  .sss details[open]::details-content { opacity: 1; transform: none; }
}

/* içerik görselleri: ince iç çizgi (beyaz zeminde kenar kaybolmaz) */
.vitrin-gorsel, .kart-gorsel, .ikinci-foto-img, .galeri-img { outline: 1px solid var(--gorsel-cizgi); outline-offset: -1px; }

/* arama kutusu arka planı: bulanıklık yok, düz perde */
.ara-kutu::backdrop { backdrop-filter: none; background: var(--perde-koyu); }
.form [aria-invalid="true"]:focus { box-shadow: 0 0 0 4px var(--hata-zemin); }

@media (prefers-reduced-motion: reduce) {
  .hero-kare, .hero-kare-sec, .yatay-ray { transition: none; scroll-behavior: auto; }
}

/* rehber: yaklaşan etkinlikler başlık bölümünün hemen altında, tam genişlik (2026-11-01, "ilk görüşte görmeliler") */
.yazi-ust-bolum { counter-reset: bolum; padding-block: clamp(20px, 3vw, 36px) 0; }
.yazi-ust-bolum .yazi-metin h2 { margin-block-start: 1.2em; }
.yazi-ust-bolum .yazi-metin > p:first-child::first-letter { float: none; font-size: inherit; color: inherit; margin: 0; }
.yazi-ust-bolum .yazi-metin p { max-width: 72ch; }
.yazi-ust-bolum + .yazi-duzen .yazi { counter-reset: bolum 1; }
.etkinlikler h3 { margin-block: 1.2em .4em; }

/* yaklaşan etkinlik kartları: tarih kutusu + ad, salon, uzaklık; tarih sırasıyla ay başlıkları altında */
.etkinlikler { margin-block: 4px 0; }
.yazi-ek:has(.etkinlikler) { padding-block: 4px 8px; }
.etkinlikler .etk-ay-baslik { margin-block: 1.2em .6em; font-size: 1rem; letter-spacing: .08em; text-transform: uppercase; color: var(--gol); }
.etkinlikler .etk-liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 10px; }
.etkinlikler .etk-liste li { padding: 0; margin: 0; }
.etkinlikler .etk-liste li::before { content: none; }
.etk-kart { display: grid; grid-template-columns: 76px minmax(0, 1fr); background: var(--zemin); border: 1px solid var(--cizgi); border-radius: var(--r3); overflow: hidden; }
.etk-sapanca { border-color: var(--gol); }
.etk-tarih { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 12px 6px; background: var(--orman); color: var(--zemin); text-align: center; line-height: 1.1; }
.etk-gun { font-size: 2rem; font-weight: 700; letter-spacing: -.03em; font-variant-numeric: tabular-nums lining-nums; }
.etk-ay { font-size: .78rem; font-weight: 600; }
.etk-hgun { font-size: .72rem; color: var(--gol-acik); }
.etk-govde { padding: 12px 16px; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.etkinlikler .etk-govde p { margin: 0; max-width: none; }
.etk-ust { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--gol); line-height: 1.4; }
.etk-yakin { color: var(--orman); }
.etk-yakin::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--yaprak); margin-inline-end: 6px; vertical-align: 1px; }
.etkinlikler .etk-ad { font-size: 1.12rem; font-weight: 700; color: var(--orman); line-height: 1.3; overflow-wrap: anywhere; }
.etkinlikler .etk-yer { display: flex; gap: 6px; align-items: flex-start; font-size: .9rem; line-height: 1.45; color: var(--metin-2); }
.etk-yer .ikon { flex: none; width: 16px; height: 16px; margin-block-start: 2px; color: var(--gol); }
.etk-km { display: block; color: var(--metin-3); font-size: .84rem; }
.etkinlikler .etk-saat { font-size: .9rem; font-weight: 600; color: var(--orman); font-variant-numeric: tabular-nums; }
.etkinlikler .etk-not { font-size: .88rem; color: var(--metin-3); margin-block: 10px 0; }
@media (min-width: 720px) {
  .etkinlikler .etk-liste { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .etk-kart { grid-template-columns: 88px minmax(0, 1fr); }
  .etk-gun { font-size: 2.3rem; }
}
@media (min-width: 720px) and (max-width: 1099px) { .etkinlikler .etk-liste > li:last-child:nth-child(odd) { grid-column: 1 / -1; } }
@media (min-width: 1100px) {
  .yazi-ust-bolum .etkinlikler .etk-liste { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  /* yarım kalan son satırda boş sütun kalmaz */
  .yazi-ust-bolum .etkinlikler .etk-liste > li:last-child:nth-child(3n+1) { grid-column: 1 / -1; }
  .yazi-ust-bolum .etkinlikler .etk-liste > li:last-child:nth-child(3n+2) { grid-column: span 2; }
}
.etk-hero { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-block: 6px 4px; padding-block-start: 14px; border-block-start: 1px solid var(--cizgi); }
.etk-hero-satir { margin: 0; display: flex; flex-direction: column; gap: 2px; font-weight: 600; color: var(--orman); }
.etk-hero-etiket { font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: var(--gol); }
.sayfa-hero-yalin .etk-hero { border-color: rgba(255, 255, 255, .3); }
.sayfa-hero-yalin .etk-hero-satir { color: var(--zemin); }
.sayfa-hero-yalin .etk-hero-etiket { color: var(--gol-acik); }
@media (max-height: 800px) { .yazi-hero.sayfa-hero-yalin { padding-block-start: 28px; } }
