/* =====================================================================
   Düğün Salonu Yazılımı — ortak stil
   Renkler, yazı tipleri ve köşe yuvarlaması temadan gelir (inc/tema.php -> :root değişkenleri).
   Düzen çeşitleri <html> özniteliklerinden: data-ust, data-giris, data-kart, data-baslik, data-mod.
   Mobil öncelikli; kırılımlar 600 / 900 / 1200 px.
   ===================================================================== */

:root {
    --kap: 1200px;
    --bosluk: clamp(56px, 8vw, 112px);
    --golge: 0 12px 32px -16px rgb(0 0 0 / .22);
    --ust-yukseklik: 72px;
    --vurgu-koyu: color-mix(in srgb, var(--vurgu) 84%, #000);
    --vurgu-saydam: color-mix(in srgb, var(--vurgu) 12%, transparent);
    --d-bos: #2f7d43;
    --d-kismen: #c99a06;
    --d-opsiyon: #d9731b;
    --d-dolu: #c0392b;
    --d-kapali: #7a7a7a;
}
[data-mod="koyu"] {
    --vurgu-koyu: color-mix(in srgb, var(--vurgu) 84%, #fff);
    --golge: 0 12px 32px -16px rgb(0 0 0 / .6);
    --d-bos: #5cc77a;
    --d-kismen: #e7c14a;
    --d-opsiyon: #f0a15a;
    --d-dolu: #ef6b5d;
    --d-kapali: #9a9a9a;
    color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--ust-yukseklik) + 16px); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
body {
    margin: 0;
    font: 400 1rem/1.7 var(--f-govde);
    color: var(--metin);
    background: var(--zemin);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
}
img, svg, video, iframe { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
button, input, select, textarea { font: inherit; color: inherit; }
::selection { background: var(--vurgu); color: var(--vurgu-metin); }
:focus-visible { outline: 2px solid var(--vurgu); outline-offset: 3px; }

h1, h2, h3, h4 { font-family: var(--f-baslik); font-weight: 500; line-height: 1.15; margin: 0 0 .5em; letter-spacing: -.01em; color: var(--metin); text-wrap: balance; }
h1 { font-size: clamp(2.2rem, 5.5vw, 4.4rem); }
h2 { font-size: clamp(1.8rem, 3.6vw, 2.9rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); }
p { margin: 0 0 1em; }

/* Başlık çeşitleri: <em> ile işaretlenen vurgu kelimesi */
h1 em, h2 em, h3 em { font-style: italic; color: var(--vurgu); }
[data-baslik="normal"] h1 em, [data-baslik="normal"] h2 em { font-style: normal; }
[data-baslik="buyuk"] h1, [data-baslik="buyuk"] h2 { text-transform: uppercase; letter-spacing: .06em; font-weight: 500; }
[data-baslik="buyuk"] h1 { font-size: clamp(2rem, 4.8vw, 3.8rem); }
[data-baslik="buyuk"] h2 { font-size: clamp(1.5rem, 3vw, 2.3rem); }
[data-baslik="buyuk"] h1 em, [data-baslik="buyuk"] h2 em { font-style: normal; }

.kap { width: 100%; max-width: var(--kap); margin: 0 auto; padding: 0 20px; }
.kap-dar { max-width: 820px; }
.kap-orta { max-width: 1000px; }
.orta { text-align: center; }

.atla { position: absolute; left: -9999px; top: 8px; z-index: 200; background: var(--vurgu); color: var(--vurgu-metin); padding: 10px 16px; }
.atla:focus { left: 8px; }
.bal { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.ust-yazi {
    font: 500 .78rem/1.4 var(--f-govde);
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--vurgu);
    margin: 0 0 1rem;
}
.hiza-orta .ust-yazi, .orta .ust-yazi { display: inline-flex; align-items: center; gap: 14px; }
.hiza-orta .ust-yazi::before, .hiza-orta .ust-yazi::after,
.orta .ust-yazi::before, .orta .ust-yazi::after { content: ""; width: 28px; height: 1px; background: var(--ince); }

/* ---------- Düğmeler (düz renk, ince çizgi, az yuvarlak) ---------- */
.dugme {
    display: inline-flex; align-items: center; justify-content: center; gap: .55em;
    min-height: 48px; padding: .75em 1.6em;
    background: var(--vurgu); color: var(--vurgu-metin);
    border: 1px solid var(--vurgu); border-radius: var(--kose);
    font: 500 .95rem/1.2 var(--f-govde); letter-spacing: .02em;
    text-decoration: none; cursor: pointer;
    transition: background .2s, color .2s, border-color .2s;
}
.dugme:hover { background: var(--vurgu-koyu); border-color: var(--vurgu-koyu); }
.dugme-cizgi { background: transparent; color: var(--metin); border-color: color-mix(in srgb, var(--metin) 35%, transparent); }
.dugme-cizgi:hover { background: var(--metin); border-color: var(--metin); color: var(--zemin); }
.dugme-acik { background: var(--koyu-metin); color: var(--koyu); border-color: var(--koyu-metin); }
.dugme-acik:hover { background: transparent; color: var(--koyu-metin); border-color: var(--koyu-metin); }
.dugme-cizgi-acik { background: transparent; color: var(--koyu-metin); border-color: color-mix(in srgb, var(--koyu-metin) 45%, transparent); }
.dugme-cizgi-acik:hover { background: var(--koyu-metin); color: var(--koyu); }
.dugme-kucuk { min-height: 40px; padding: .55em 1.1em; font-size: .88rem; }
.dugme-tam { width: 100%; }
.metin-baglanti { display: inline-flex; align-items: center; gap: .45em; color: var(--vurgu); font-weight: 500; text-decoration: none; }
.metin-baglanti i { font-size: .8em; transition: transform .2s; }
.metin-baglanti:hover i { transform: translateX(3px); }
.eylem-satir { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 1.6rem; }
.eylem-satir.orta { justify-content: center; }

/* ---------- Üst bölüm ---------- */
.ust { position: sticky; top: 0; z-index: 60; background: var(--zemin); border-bottom: 1px solid var(--cizgi); transition: background .25s, box-shadow .25s; }
.ust.kaydi { box-shadow: 0 6px 24px -18px rgb(0 0 0 / .5); }
.ust-bant { display: none; font-size: .82rem; border-bottom: 1px solid var(--cizgi); background: var(--yuzey2); color: var(--metin2); }
.ust-bant-ic { display: flex; justify-content: space-between; gap: 16px; padding-top: 8px; padding-bottom: 8px; }
.ust-bant-ic > span { display: inline-flex; align-items: center; gap: 18px; }
.ust-bant a { text-decoration: none; }
.ust-bant a:hover { color: var(--vurgu); }
.ust-ana { display: flex; align-items: center; gap: 16px; min-height: var(--ust-yukseklik); }
.ust-tel { display: none; }
.logo { display: inline-flex; flex-direction: column; text-decoration: none; line-height: 1; margin-right: auto; }
.logo img { max-height: 52px; width: auto; }
.logo-beyaz { display: none; }
.logo-ad { font: 500 1.7rem/1 var(--f-baslik); letter-spacing: .01em; color: var(--metin); }
.logo-alt { margin-top: 6px; font: 500 .62rem/1 var(--f-govde); letter-spacing: .28em; text-transform: uppercase; color: var(--vurgu); }
.ana-menu { display: none; }
.ana-menu ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 0; }
.ana-menu li.menu-ana { display: none; }
.ana-menu a { display: block; padding: 8px 10px; font-size: .9rem; font-weight: 500; text-decoration: none; color: inherit; position: relative; white-space: nowrap; }
@media (min-width: 1300px) { .ana-menu a { padding: 8px 12px; } }
.ana-menu a::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: 4px; height: 1px; background: var(--vurgu); transform: scaleX(0); transition: transform .25s; }
.ana-menu a:hover::after, .ana-menu a[aria-current]::after { transform: scaleX(1); }
.ust-eylem { display: flex; align-items: center; gap: 10px; }
.menu-ac { width: 44px; height: 44px; border: 1px solid var(--cizgi); background: transparent; border-radius: var(--kose); display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; cursor: pointer; }
.menu-ac span { width: 20px; height: 1.5px; background: currentColor; }
.sosyal { display: inline-flex; gap: 12px; }
.sosyal a { text-decoration: none; }

.mobil-menu { position: fixed; inset: 0; z-index: 120; background: var(--zemin); color: var(--metin); display: flex; flex-direction: column; padding: 16px 20px calc(24px + env(safe-area-inset-bottom)); overflow-y: auto; animation: menuGir .25s ease; }
.mobil-menu[hidden] { display: none; }
@keyframes menuGir { from { opacity: 0; transform: translateY(-8px); } }
.mobil-menu-ust { display: flex; align-items: center; justify-content: space-between; padding-bottom: 12px; border-bottom: 1px solid var(--cizgi); }
.menu-kapat { width: 44px; height: 44px; border: 1px solid var(--cizgi); background: transparent; border-radius: var(--kose); font-size: 1.2rem; cursor: pointer; }
.mobil-menu nav ul { list-style: none; margin: 12px 0; padding: 0; }
.mobil-menu nav a { display: block; padding: 13px 0; font: 500 1.35rem/1.2 var(--f-baslik); text-decoration: none; border-bottom: 1px solid var(--cizgi); }
.mobil-menu-alt { display: grid; gap: 10px; margin-top: auto; padding-top: 16px; }
.mobil-menu-alt .sosyal { justify-content: center; font-size: 1.2rem; padding-top: 8px; }
body.menu-acik { overflow: hidden; }

@media (min-width: 1100px) {
    .ana-menu { display: block; }
    .menu-ac { display: none; }
    .ust-bant { display: block; }
    /* Logo ortada, menü altında */
    [data-ust="ortali"] .ust { position: relative; }
    [data-ust="ortali"] .ust-ana { display: grid; grid-template-columns: 1fr auto 1fr; grid-template-areas: "tel logo eylem" "menu menu menu"; padding-top: 18px; }
    [data-ust="ortali"] .ust-tel { display: inline-flex; grid-area: tel; align-items: center; gap: 10px; text-decoration: none; font-size: .92rem; color: var(--metin2); }
    [data-ust="ortali"] .logo { grid-area: logo; margin: 0; align-items: center; text-align: center; }
    [data-ust="ortali"] .logo-ad { font-size: 2.3rem; }
    [data-ust="ortali"] .ust-eylem { grid-area: eylem; justify-content: flex-end; }
    [data-ust="ortali"] .ana-menu { grid-area: menu; margin-top: 14px; border-top: 1px solid var(--cizgi); padding: 6px 0; }
    [data-ust="ortali"] .ana-menu ul { justify-content: center; }
    [data-ust="ortali"] .ust-bant { display: none; }
    [data-ust="sol"] .logo { margin-right: 24px; }
    [data-ust="sol"] .ana-menu { margin-left: auto; }
}

/* Saydam üst: görselin üzerinde, kaydırınca koyulaşır (koyu temalarda kullanılır) */
[data-ust="seffaf"] .ust { position: fixed; left: 0; right: 0; background: transparent; border-bottom-color: rgb(255 255 255 / .12); color: #fff; }
[data-ust="seffaf"] .ust .logo-ad { color: #fff; }
[data-ust="seffaf"] .ust .logo-alt { color: var(--ince); }
[data-ust="seffaf"] .ust .logo-renkli:not(:only-child) { display: none; }
[data-ust="seffaf"] .ust .logo-beyaz { display: block; }
[data-ust="seffaf"] .ust .menu-ac { border-color: rgb(255 255 255 / .3); }
[data-ust="seffaf"] .ust.kaydi { background: color-mix(in srgb, var(--koyu) 94%, transparent); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
[data-ust="seffaf"] .ust-bant { display: none; }
[data-ust="seffaf"] .ust .dugme { background: transparent; border-color: rgb(255 255 255 / .55); color: #fff; }
[data-ust="seffaf"] .ust .dugme:hover { background: var(--vurgu); border-color: var(--vurgu); color: var(--vurgu-metin); }

/* ---------- Bölümler ---------- */
.bolum { padding: var(--bosluk) 0; }
.bolum-ikincil { background: var(--yuzey2); }
.bolum-ust-dar { padding-top: clamp(32px, 5vw, 56px); }
.bolum-baslik { max-width: 720px; margin: 0 auto clamp(32px, 5vw, 56px); }
.bolum-baslik.hiza-orta { text-align: center; }
.bolum-baslik.hiza-sol { margin-left: 0; }
.bolum-baslik p:last-child { color: var(--metin2); margin-bottom: 0; }
.bolum-alt { text-align: center; margin: 40px 0 0; }
.kucuk-baslik { font-size: clamp(1.3rem, 2.4vw, 1.7rem); margin: 2rem 0 1rem; }
.kucuk-baslik:first-child { margin-top: 0; }
.kucuk-not { font-size: .86rem; color: var(--metin2); }
.duz-metin { color: var(--metin2); }
.bos-durum { text-align: center; color: var(--metin2); padding: 40px 0; }

.izgara { display: grid; gap: clamp(20px, 3vw, 32px); grid-template-columns: 1fr; }
@media (min-width: 600px) { .izgara-2, .izgara-3, .izgara-4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .izgara-3 { grid-template-columns: repeat(3, 1fr); } .izgara-4 { grid-template-columns: repeat(4, 1fr); } }

/* ---------- Giriş (hero) çeşitleri ---------- */
.giris { position: relative; overflow: hidden; }
.giris h1 { margin-bottom: .35em; }
.giris-alt { font-size: clamp(1rem, 1.6vw, 1.18rem); max-width: 620px; }
.giris-mozaik { display: none; }
.giris-resim { width: 100%; height: 100%; object-fit: cover; }
.hizli-sorgu {
    display: grid; gap: 10px; grid-template-columns: 1fr;
    background: var(--yuzey); color: var(--metin); border: 1px solid var(--cizgi); border-radius: var(--kose);
    padding: 14px; margin-top: 1.8rem; width: 100%; max-width: 720px; text-align: left; box-shadow: var(--golge);
}
.hs-alan label { display: block; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--metin2); margin-bottom: 4px; }
.hs-alan input, .hs-alan select { width: 100%; min-height: 46px; border: 1px solid var(--cizgi); border-radius: var(--kose); background: var(--zemin); padding: 0 12px; }
.hizli-sorgu .dugme { align-self: end; }
@media (min-width: 700px) { .hizli-sorgu { grid-template-columns: 1fr 1fr auto; align-items: end; } .hizli-sorgu:not(:has(select)) { grid-template-columns: 1fr auto; } }
.giris-eylem { margin-top: 1.2rem; }

/* tam: tam ekran görsel üzerinde ortalı yazı */
[data-giris="tam"] .giris { min-height: min(92svh, 880px); display: grid; align-items: center; color: #fff; text-align: center; }
[data-giris="tam"] .giris-gorsel { position: absolute; inset: 0; }
[data-giris="tam"] .giris-gorsel::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(0 0 0 / .45), rgb(0 0 0 / .25) 40%, rgb(0 0 0 / .6)); }
[data-giris="tam"] .giris-icerik > :not(form) { text-shadow: 0 1px 14px rgb(0 0 0 / .55); }
[data-giris="tam"] .giris-icerik { position: relative; z-index: 1; padding-top: 72px; padding-bottom: 72px; display: flex; flex-direction: column; align-items: center; }
[data-giris="tam"] .giris h1 { color: #fff; max-width: 900px; }
[data-giris="tam"] .giris h1 em { color: var(--ince); }
[data-giris="tam"] .giris .ust-yazi { color: var(--ince); }
[data-giris="tam"] .giris-alt { color: rgb(255 255 255 / .88); }
[data-giris="tam"] .giris-eylem .metin-baglanti { color: #fff; }
[data-ust="seffaf"][data-giris="tam"] .giris-icerik { padding-top: calc(var(--ust-yukseklik) + 72px); }

/* bolunmus: yazı ve görsel yan yana */
[data-giris="bolunmus"] .giris { display: grid; background: var(--yuzey2); }
[data-giris="bolunmus"] .giris-gorsel { aspect-ratio: 4 / 3; }
[data-giris="bolunmus"] .giris-icerik { padding-top: 40px; padding-bottom: 56px; }
[data-ust="seffaf"][data-giris="bolunmus"] .giris { background: var(--koyu); color: var(--koyu-metin); }
[data-ust="seffaf"][data-giris="bolunmus"] .giris h1 { color: var(--koyu-metin); }
[data-ust="seffaf"][data-giris="bolunmus"] .giris-gorsel { margin-top: var(--ust-yukseklik); }
@media (min-width: 900px) {
    [data-giris="bolunmus"] .giris { grid-template-columns: 1fr 1fr; min-height: min(88svh, 820px); }
    [data-giris="bolunmus"] .giris-gorsel { order: 2; aspect-ratio: auto; position: relative; }
    [data-giris="bolunmus"] .giris-gorsel img { position: absolute; inset: 0; }
    [data-giris="bolunmus"] .giris-icerik { max-width: 640px; margin-left: auto; padding: 64px 56px 64px 20px; align-self: center; }
    [data-ust="seffaf"][data-giris="bolunmus"] .giris-gorsel { margin-top: 0; }
    [data-ust="seffaf"][data-giris="bolunmus"] .giris-icerik { padding-top: calc(var(--ust-yukseklik) + 48px); }
}

/* cerceve: içeride çerçeveli görsel, üzerine binen yazı kutusu */
[data-giris="cerceve"] .giris { padding: 16px; }
[data-giris="cerceve"] .giris-gorsel { aspect-ratio: 4 / 3; border-radius: var(--kose); overflow: hidden; outline: 1px solid var(--ince); outline-offset: 8px; margin: 8px; }
[data-giris="cerceve"] .giris-icerik { position: relative; background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: var(--kose); margin-top: -40px; width: calc(100% - 24px); padding: 28px 22px; box-shadow: var(--golge); }
@media (min-width: 900px) {
    [data-giris="cerceve"] .giris { padding: 32px; }
    [data-giris="cerceve"] .giris-gorsel { aspect-ratio: auto; height: min(78svh, 760px); margin: 12px; outline-offset: 12px; }
    [data-giris="cerceve"] .giris-icerik { position: absolute; left: max(56px, calc((100% - var(--kap)) / 2 + 20px)); bottom: 72px; margin: 0; width: min(560px, 46%); padding: 40px; }
    [data-giris="cerceve"] .hizli-sorgu { grid-template-columns: 1fr 1fr; }
    [data-giris="cerceve"] .hizli-sorgu .dugme { grid-column: 1 / -1; }
}

/* editoryal: büyük yazı, altında görsel ızgarası */
[data-giris="editoryal"] .giris { display: grid; gap: 16px; padding-bottom: 16px; }
[data-giris="editoryal"] .giris-icerik { order: -1; padding-top: 48px; padding-bottom: 16px; }
[data-giris="editoryal"] .giris h1 { font-size: clamp(2.6rem, 8vw, 6.6rem); line-height: 1; letter-spacing: -.02em; max-width: 1050px; }
[data-giris="editoryal"] .giris-gorsel { aspect-ratio: 16 / 10; margin: 0 20px; overflow: hidden; border-radius: var(--kose); }
[data-giris="editoryal"] .giris-mozaik { display: none; }
@media (min-width: 900px) {
    [data-giris="editoryal"] .giris { grid-template-columns: 2fr 1fr; max-width: var(--kap); margin: 0 auto; padding: 0 20px 24px; }
    [data-giris="editoryal"] .giris-icerik { grid-column: 1 / -1; padding: 72px 0 24px; }
    [data-giris="editoryal"] .giris-gorsel { margin: 0; aspect-ratio: auto; height: 560px; }
    [data-giris="editoryal"] .giris-mozaik { display: grid; gap: 16px; grid-template-rows: 1fr 1fr; height: 560px; }
    [data-giris="editoryal"] .giris-mozaik img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--kose); }
    [data-giris="editoryal"] .giris-mozaik img:nth-child(3) { display: none; }
}

/* ---------- İstatistik bandı ---------- */
.istatistik { background: var(--koyu); color: var(--koyu-metin); }
.istatistik-ic { display: grid; grid-template-columns: repeat(2, 1fr); }
.istatistik-oge { padding: 28px 12px; text-align: center; border-right: 1px solid color-mix(in srgb, var(--koyu-metin) 14%, transparent); }
.istatistik-oge:nth-child(2n) { border-right: 0; }
.istatistik-oge b { display: block; font: 500 clamp(2rem, 4vw, 2.8rem)/1.1 var(--f-baslik); color: var(--ince); }
.istatistik-oge span { font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; opacity: .8; }
@media (min-width: 900px) { .istatistik-ic { grid-template-columns: repeat(4, 1fr); } .istatistik-oge:nth-child(2n) { border-right: 1px solid color-mix(in srgb, var(--koyu-metin) 14%, transparent); } .istatistik-oge:last-child { border-right: 0; } }

/* ---------- Tanıtım ---------- */
.tanitim-ic { display: grid; gap: 40px; align-items: center; }
.tanitim-gorsel { position: relative; }
.tanitim-gorsel { margin-right: 12px; }
.tanitim-gorsel img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--kose); }
.tanitim-gorsel::before { content: ""; position: absolute; inset: 12px -12px -12px 12px; border: 1px solid var(--ince); border-radius: var(--kose); z-index: -1; }
@media (min-width: 900px) { .tanitim-ic { grid-template-columns: 5fr 6fr; gap: 80px; } .tanitim-gorsel { margin-right: 16px; } .tanitim-gorsel::before { inset: 16px -16px -16px 16px; } .tanitim-gorsel img { aspect-ratio: 4 / 5; max-height: 640px; } }

/* ---------- Kartlar (çizgi / gölge / yalın) ---------- */
.kart { position: relative; display: flex; flex-direction: column; background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: var(--kose); overflow: hidden; height: 100%; transition: transform .3s, box-shadow .3s; }
[data-kart="golge"] .kart { border-color: transparent; box-shadow: var(--golge); }
[data-kart="golge"] .kart:hover { transform: translateY(-4px); }
[data-kart="yalin"] .kart { background: transparent; border: 0; border-radius: 0; overflow: visible; }
[data-kart="yalin"] .kart .kart-govde { padding-left: 0; padding-right: 0; border-bottom: 1px solid var(--cizgi); }
.kart-resim { display: block; overflow: hidden; aspect-ratio: 3 / 2; background: var(--yuzey2); }
[data-kart="yalin"] .kart-resim { border-radius: var(--kose); }
.kart-resim img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.kart:hover .kart-resim img { transform: scale(1.04); }
.kart-govde { padding: 22px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.kart-govde > p { color: var(--metin2); font-size: .95rem; }
.kart-baslik { font-size: clamp(1.3rem, 2vw, 1.6rem); margin-bottom: .4em; }
.kart-baslik a { text-decoration: none; }
.kart-baslik a:hover { color: var(--vurgu); }
.kart-govde .metin-baglanti { margin-top: auto; }
.kart-eylem { margin-top: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 16px; padding-top: 12px; }
.ozet-ikonlar { list-style: none; padding: 0; margin: 0 0 12px; display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: .86rem; color: var(--metin2); }
.ozet-ikonlar i { color: var(--vurgu); margin-right: 4px; }
.etiket { align-self: flex-start; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; padding: 4px 10px; border: 1px solid var(--vurgu); color: var(--vurgu); border-radius: var(--kose); margin-bottom: 12px; }
.resim-yok { display: block; width: 100%; height: 100%; min-height: 160px; background: var(--yuzey2); }

.paket-kart { text-align: left; }
.paket-kart.one-cikan { border-color: var(--vurgu); outline: 1px solid var(--vurgu); }
.rozet { position: absolute; top: 16px; right: 16px; background: var(--vurgu); color: var(--vurgu-metin); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; padding: 5px 10px; border-radius: var(--kose); }
.paket-tur { font-size: .74rem; letter-spacing: .2em; text-transform: uppercase; color: var(--vurgu); margin-bottom: .6rem; }
.paket-fiyat { display: flex; align-items: baseline; gap: 8px; margin: 4px 0 2px; }
.paket-fiyat b { font: 500 1.9rem/1.1 var(--f-baslik); color: var(--metin); }
.paket-fiyat span { font-size: .85rem; color: var(--metin2); }
.paket-fiyat.buyuk b { font-size: 2.4rem; }
.tik-liste { list-style: none; padding: 0; margin: 16px 0; display: grid; gap: 8px; }
.tik-liste li { position: relative; padding-left: 26px; font-size: .95rem; }
.tik-liste li::before { content: ""; position: absolute; left: 2px; top: .55em; width: 12px; height: 7px; border-left: 1.5px solid var(--vurgu); border-bottom: 1.5px solid var(--vurgu); transform: rotate(-45deg); }
.tik-liste li.haric { color: var(--metin2); text-decoration: line-through; text-decoration-color: color-mix(in srgb, var(--metin2) 50%, transparent); }
.tik-liste li.haric::before { border: 0; width: 10px; height: 1.5px; background: var(--metin2); transform: none; top: .8em; }
@media (min-width: 700px) { .tik-liste.iki-sutun { grid-template-columns: 1fr 1fr; column-gap: 32px; } }

.hizmet-kart { display: block; padding: 28px 24px; border: 1px solid var(--cizgi); border-radius: var(--kose); background: var(--yuzey); text-decoration: none; transition: border-color .25s, transform .25s; height: 100%; }
[data-kart="golge"] .hizmet-kart { border-color: transparent; box-shadow: var(--golge); }
[data-kart="yalin"] .hizmet-kart { background: transparent; border-width: 0 0 1px; border-radius: 0; padding-left: 0; }
.hizmet-kart:hover { border-color: var(--vurgu); transform: translateY(-3px); }
.hizmet-kart h3 { font-size: 1.3rem; margin: 18px 0 8px; }
.hizmet-kart p { color: var(--metin2); font-size: .93rem; margin: 0; }
.hizmet-ikon { display: inline-grid; place-items: center; width: 56px; height: 56px; border: 1px solid var(--ince); border-radius: 50%; color: var(--vurgu); font-size: 1.25rem; flex-shrink: 0; }
.hizmet-ikon.kucuk { width: 44px; height: 44px; font-size: 1rem; margin-bottom: 12px; }
.neden { padding-top: 20px; border-top: 1px solid var(--ince); }
.neden-no { font: 500 2.2rem/1 var(--f-baslik); color: var(--ince); }
.neden h3 { margin: 12px 0 8px; font-size: 1.3rem; }
.neden p { color: var(--metin2); font-size: .95rem; }
.ekstra { display: flex; gap: 16px; align-items: flex-start; padding: 20px; background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: var(--kose); }
.ekstra h3 { font-size: 1.15rem; margin: 2px 0 4px; }
.ekstra p { margin: 0 0 4px; font-size: .92rem; color: var(--metin2); }
.ekstra .ekstra-fiyat { color: var(--metin); font-weight: 600; }

/* ---------- Yorumlar ---------- */
.yorum-kart { padding: 28px; margin: 0; }
.yildiz { color: var(--ince); font-size: .85rem; letter-spacing: 2px; margin-bottom: 14px; }
.yorum-kart blockquote { margin: 0 0 20px; font: italic 400 1.12rem/1.6 var(--f-baslik); flex: 1; }
.yorum-kart figcaption { display: flex; align-items: center; gap: 12px; }
.yorum-kart figcaption img, .avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.avatar { display: inline-grid; place-items: center; background: var(--vurgu-saydam); color: var(--vurgu); font: 500 1.2rem var(--f-baslik); }
.yorum-kart figcaption b { display: block; font-weight: 600; }
.yorum-kart figcaption small { color: var(--metin2); font-size: .82rem; }
.yatay-kaydir { display: grid; grid-auto-flow: column; grid-auto-columns: min(86%, 380px); gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 12px; scrollbar-width: thin; }
.yatay-kaydir > * { scroll-snap-align: start; }

/* ---------- Bantlar ---------- */
.cagri-bant { background: var(--koyu); color: var(--koyu-metin); }
.cagri-bant h2 { color: var(--koyu-metin); }
.cagri-bant h2 em { color: var(--ince); }
.cagri-bant .ust-yazi { color: var(--ince); }
.cagri-bant p { opacity: .85; max-width: 620px; }
.cagri-ic { display: grid; gap: 16px; align-items: center; }
@media (min-width: 900px) { .cagri-ic { grid-template-columns: 1.4fr 1fr; } .cagri-ic .eylem-satir { justify-content: flex-end; margin-top: 0; } }
.iletisim-bant-ic, .iletisim-izgara { display: grid; gap: 40px; }
@media (min-width: 900px) { .iletisim-bant-ic { grid-template-columns: 1fr 1fr; align-items: center; } .iletisim-izgara { grid-template-columns: 5fr 7fr; } }
.iletisim-liste { list-style: none; padding: 0; margin: 0 0 20px; display: grid; gap: 16px; }
.iletisim-liste li { display: flex; gap: 14px; align-items: flex-start; }
.iletisim-liste i { width: 40px; height: 40px; display: inline-grid; place-items: center; border: 1px solid var(--cizgi); border-radius: 50%; color: var(--vurgu); flex-shrink: 0; }
.iletisim-liste b { display: block; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--metin2); font-weight: 500; }
.iletisim-liste a { text-decoration: none; }
.harita-kutu { position: relative; min-height: 320px; border: 1px solid var(--cizgi); border-radius: var(--kose); overflow: hidden; background: var(--yuzey2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M0 20h40M20 0v40' stroke='%23888' stroke-opacity='.15'/%3E%3C/svg%3E"); display: grid; place-items: center; margin-top: 20px; }
.harita-kutu iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.harita-yukle { display: inline-flex; flex-direction: column; align-items: center; gap: 8px; background: transparent; border: 0; cursor: pointer; color: var(--metin); font-weight: 500; }
.harita-yukle i { font-size: 2rem; color: var(--vurgu); }
.harita-yol { position: absolute; right: 12px; bottom: 12px; z-index: 2; background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: var(--kose); padding: 8px 14px; font-size: .88rem; text-decoration: none; }

/* ---------- Galeri ve ışık kutusu ---------- */
.galeri-izgara { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.galeri-izgara a { display: block; aspect-ratio: 1; overflow: hidden; border-radius: var(--kose); background: var(--yuzey2); }
.galeri-izgara img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s, opacity .3s; }
.galeri-izgara a:hover img { transform: scale(1.05); }
@media (min-width: 760px) { .galeri-izgara { grid-template-columns: repeat(4, 1fr); gap: 12px; } .galeri-izgara a:nth-child(6n + 1) { grid-column: span 2; grid-row: span 2; } }
.salon-galeri { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-bottom: 40px; }
.salon-galeri a { display: block; overflow: hidden; border-radius: var(--kose); aspect-ratio: 3 / 2; }
.salon-galeri a.buyuk { grid-column: 1 / -1; }
.salon-galeri img { width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 900px) { .salon-galeri { grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 240px 240px; gap: 12px; } .salon-galeri a { aspect-ratio: auto; } .salon-galeri a.buyuk { grid-column: 1; grid-row: 1 / span 2; } .salon-galeri a:nth-child(n + 6) { display: none; } }
.isik-kutusu { position: fixed; inset: 0; z-index: 300; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgb(8 8 8 / .94); color: #fff; display: grid; place-items: center; }
.isik-kutusu:not([open]) { display: none; }
.isik-kutusu::backdrop { background: transparent; }
.isik-kutusu figure { margin: 0; max-width: 92vw; max-height: 86vh; display: grid; justify-items: center; gap: 10px; }
.isik-kutusu img { max-width: 92vw; max-height: 80vh; object-fit: contain; }
.isik-kutusu figcaption { font-size: .9rem; opacity: .8; }
.isik-kutusu button { position: absolute; width: 48px; height: 48px; border: 1px solid rgb(255 255 255 / .3); background: rgb(0 0 0 / .4); color: #fff; border-radius: 50%; cursor: pointer; font-size: 1.1rem; }
.isik-kutusu .ik-kapat { top: 16px; right: 16px; }
.isik-kutusu .ik-onceki { left: 12px; top: 50%; translate: 0 -50%; }
.isik-kutusu .ik-sonraki { right: 12px; top: 50%; translate: 0 -50%; }

/* ---------- SSS ---------- */
.sss-liste { border-top: 1px solid var(--cizgi); }
.sss { border-bottom: 1px solid var(--cizgi); }
.sss summary { list-style: none; cursor: pointer; padding: 20px 40px 20px 0; position: relative; font: 500 1.15rem/1.4 var(--f-baslik); }
.sss summary::-webkit-details-marker { display: none; }
.sss summary::after { content: "+"; position: absolute; right: 4px; top: 50%; translate: 0 -50%; font: 300 1.6rem/1 var(--f-govde); color: var(--vurgu); transition: rotate .25s; }
.sss[open] summary::after { rotate: 45deg; }
.sss-cevap { padding: 0 0 22px; color: var(--metin2); }

/* ---------- İç sayfa başı ---------- */
.sayfa-basi { position: relative; padding: clamp(40px, 7vw, 88px) 0 clamp(36px, 5vw, 64px); background: var(--yuzey2); border-bottom: 1px solid var(--cizgi); text-align: center; overflow: hidden; }
.sayfa-basi h1 { font-size: clamp(2rem, 5vw, 3.6rem); max-width: 900px; margin: 0 auto .3em; }
.sayfa-basi-aciklama { max-width: 640px; margin: 0 auto; color: var(--metin2); }
.sayfa-basi.gorselli { color: #fff; }
.sayfa-basi.gorselli h1 { color: #fff; }
.sayfa-basi-resim { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sayfa-basi.gorselli::before { content: ""; position: absolute; inset: 0; background: rgb(0 0 0 / .55); z-index: 0; }
.sayfa-basi .kap { position: relative; z-index: 1; }
[data-ust="seffaf"] .sayfa-basi { background: var(--koyu); color: var(--koyu-metin); padding-top: calc(var(--ust-yukseklik) + clamp(40px, 6vw, 72px)); border-bottom: 0; }
[data-ust="seffaf"] .sayfa-basi h1 { color: var(--koyu-metin); }
[data-ust="seffaf"] .sayfa-basi-aciklama { color: color-mix(in srgb, var(--koyu-metin) 75%, transparent); }
.kirinti ol { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; padding: 0; margin: 0 0 18px; font-size: .82rem; color: var(--metin2); }
[data-ust="seffaf"] .kirinti ol { color: color-mix(in srgb, var(--koyu-metin) 70%, transparent); }
.kirinti li + li::before { content: "/"; margin-right: 6px; opacity: .5; }
.kirinti a { text-decoration: none; }
.kirinti a:hover { color: var(--vurgu); }

/* ---------- Detay sayfaları ---------- */
.detay-izgara { display: grid; gap: 40px; }
@media (min-width: 960px) { .detay-izgara { grid-template-columns: minmax(0, 1fr) 340px; gap: 56px; } }
.detay-resim { margin-bottom: 32px; border-radius: var(--kose); overflow: hidden; }
.detay-resim img { width: 100%; }
.yan-kutu { background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: var(--kose); padding: 24px; display: grid; gap: 12px; }
.yan-kutu p { margin: 0; color: var(--metin2); font-size: .95rem; }
.yan-kutu .kucuk-baslik { margin: 0; }
@media (min-width: 960px) { .yapiskan { position: sticky; top: calc(var(--ust-yukseklik) + 24px); } [data-ust="ortali"] .yapiskan { top: 24px; } }
.yan-liste { list-style: none; padding: 0; margin: 0; }
.yan-liste a { display: flex; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--cizgi); text-decoration: none; }
.yan-liste i { color: var(--vurgu); width: 20px; }
.bilgi-kutulari { list-style: none; padding: 0; margin: 0 0 32px; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.bilgi-kutulari li { border: 1px solid var(--cizgi); border-radius: var(--kose); padding: 18px; display: grid; gap: 2px; }
.bilgi-kutulari i { color: var(--vurgu); font-size: 1.1rem; margin-bottom: 6px; }
.bilgi-kutulari b { font: 500 1.6rem/1.1 var(--f-baslik); }
.bilgi-kutulari span { font-size: .82rem; color: var(--metin2); }
.icerik-metin { font-size: 1.04rem; }
.icerik-metin h2, .icerik-metin h3 { margin-top: 1.6em; }
.icerik-metin img { border-radius: var(--kose); margin: 1.5em 0; }
.icerik-metin a { color: var(--vurgu); }
.icerik-metin ul, .icerik-metin ol { padding-left: 1.3em; }
.icerik-metin blockquote { margin: 1.5em 0; padding: 4px 0 4px 20px; border-left: 2px solid var(--ince); font: italic 1.2rem/1.6 var(--f-baslik); }
.giris-paragraf { font: 400 1.25rem/1.6 var(--f-baslik); color: var(--metin); }
.gomulu-kutu { position: relative; aspect-ratio: 16 / 9; border-radius: var(--kose); overflow: hidden; background: #000; }
.gomulu-kutu iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.menu-kart { border: 1px solid var(--ince); outline: 1px solid var(--ince); outline-offset: -8px; padding: 36px 28px; text-align: center; margin-bottom: 32px; background: var(--yuzey); }
.menu-kart h2 { font-size: 1.8rem; }
.menu-kart ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.menu-kart li { font: 400 1.12rem/1.4 var(--f-baslik); }
.menu-kart li + li::before { content: "·"; display: block; color: var(--ince); line-height: .6; margin-bottom: 8px; }
.alt-sayfalar { list-style: none; padding: 0; display: grid; gap: 8px; margin-top: 32px; }
.alt-sayfalar a { display: flex; justify-content: space-between; padding: 16px 20px; border: 1px solid var(--cizgi); border-radius: var(--kose); text-decoration: none; }
.yazi-cagri { margin-top: 48px; padding: 28px; border: 1px solid var(--cizgi); border-left: 3px solid var(--vurgu); background: var(--yuzey2); border-radius: var(--kose); }
.yazi-cagri .eylem-satir { margin-top: 12px; }
.karsilastir { margin-top: 56px; }
.tablo-kaydir { overflow-x: auto; border: 1px solid var(--cizgi); border-radius: var(--kose); }
.tablo { width: 100%; border-collapse: collapse; font-size: .95rem; min-width: 480px; }
.tablo th, .tablo td { padding: 14px 16px; text-align: left; border-bottom: 1px solid var(--cizgi); }
.tablo thead th { font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--metin2); font-weight: 500; background: var(--yuzey2); }
.tablo tbody tr:last-child > * { border-bottom: 0; }
.tablo a { text-decoration: none; color: var(--vurgu); }
.filtre-sekme { display: flex; gap: 8px; overflow-x: auto; margin: 0 0 32px; padding-bottom: 4px; justify-content: flex-start; scrollbar-width: none; }
@media (min-width: 760px) { .filtre-sekme { justify-content: center; flex-wrap: wrap; } }
.filtre-sekme > * { flex-shrink: 0; padding: 9px 18px; border: 1px solid var(--cizgi); border-radius: var(--kose); background: transparent; font-size: .9rem; cursor: pointer; text-decoration: none; white-space: nowrap; }
.filtre-sekme [aria-selected="true"], .filtre-sekme [aria-current] { background: var(--metin); color: var(--zemin); border-color: var(--metin); }
.filtre-sekme small { opacity: .6; margin-left: 4px; }
.sayfalama { display: flex; justify-content: center; gap: 6px; margin-top: 48px; }
.sayfalama a { min-width: 44px; height: 44px; display: inline-grid; place-items: center; border: 1px solid var(--cizgi); border-radius: var(--kose); text-decoration: none; }
.sayfalama a[aria-current] { background: var(--vurgu); color: var(--vurgu-metin); border-color: var(--vurgu); }

/* ---------- Formlar ---------- */
.form { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .form { grid-template-columns: 1fr 1fr; } .form .alan-tam, .form fieldset, .form .form-alt { grid-column: 1 / -1; } }
.form fieldset { border: 0; padding: 0; margin: 0 0 16px; display: grid; gap: 16px; grid-template-columns: inherit; }
@media (min-width: 640px) { .form fieldset { grid-template-columns: 1fr 1fr; } .form fieldset > .alan-tam, .form fieldset > legend, .form fieldset > .secim-kartlari, .form fieldset > p { grid-column: 1 / -1; } }
.form legend { display: flex; align-items: center; gap: 12px; font: 500 1.35rem/1.2 var(--f-baslik); margin-bottom: 4px; padding: 0; }
.form legend span { width: 32px; height: 32px; border-radius: 50%; display: inline-grid; place-items: center; border: 1px solid var(--vurgu); color: var(--vurgu); font: 500 .9rem var(--f-govde); }
.alan label, .etiket-baslik { display: block; font-size: .86rem; font-weight: 500; margin-bottom: 6px; }
.alan label small { font-weight: 400; color: var(--metin2); }
.alan input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), .alan select, .alan textarea {
    width: 100%; min-height: 50px; padding: 12px 14px;
    background: var(--yuzey); border: 1px solid color-mix(in srgb, var(--metin) 22%, transparent); border-radius: var(--kose);
    font-size: 1rem; transition: border-color .2s, box-shadow .2s;
}
.alan textarea { min-height: 120px; resize: vertical; }
.alan input:focus, .alan select:focus, .alan textarea:focus { outline: none; border-color: var(--vurgu); box-shadow: 0 0 0 3px var(--vurgu-saydam); }
.onay label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: .9rem; color: var(--metin2); }
.onay input { margin-top: 4px; width: 18px; height: 18px; accent-color: var(--vurgu); flex-shrink: 0; }
.onay a { color: var(--vurgu); }
.form-alt { display: grid; gap: 8px; justify-items: start; }
.form-kutu { background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: var(--kose); padding: clamp(20px, 4vw, 40px); }
.bildirim { padding: 14px 18px; border-radius: var(--kose); margin-bottom: 20px; border: 1px solid; }
.bildirim.basari { border-color: var(--d-bos); background: color-mix(in srgb, var(--d-bos) 10%, var(--yuzey)); }
.bildirim.hata { border-color: var(--d-dolu); background: color-mix(in srgb, var(--d-dolu) 10%, var(--yuzey)); }
.secim-kartlari { display: grid; gap: 10px; grid-template-columns: 1fr; }
@media (min-width: 540px) { .secim-kartlari { grid-template-columns: 1fr 1fr; } .secim-kartlari.kucuk { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); } }
.secim-kart { position: relative; display: block; cursor: pointer; }
.secim-kart input { position: absolute; opacity: 0; pointer-events: none; }
.secim-kart > span { display: block; height: 100%; padding: 14px 16px 14px 46px; border: 1px solid var(--cizgi); border-radius: var(--kose); background: var(--yuzey); transition: border-color .2s, background .2s; position: relative; }
.secim-kart > span::before { content: ""; position: absolute; left: 16px; top: 16px; width: 18px; height: 18px; border: 1.5px solid color-mix(in srgb, var(--metin) 35%, transparent); border-radius: 50%; }
.secim-kart input[type="checkbox"] + span::before { border-radius: 3px; }
.secim-kart input:checked + span { border-color: var(--vurgu); background: var(--vurgu-saydam); }
.secim-kart input:checked + span::before { border-color: var(--vurgu); background: var(--vurgu); box-shadow: inset 0 0 0 3px var(--yuzey); }
.secim-kart input:focus-visible + span { outline: 2px solid var(--vurgu); outline-offset: 2px; }
.secim-kart b { display: block; font-weight: 500; }
.secim-kart small { color: var(--metin2); font-size: .84rem; }
.secim-kart i { color: var(--vurgu); margin-right: 4px; }
.musaitlik-durum { margin: 0; padding: 12px 16px; border-radius: var(--kose); border: 1px solid var(--cizgi); font-size: .93rem; }
.musaitlik-durum.bos { border-color: var(--d-bos); color: var(--d-bos); }
.musaitlik-durum.dolu { border-color: var(--d-dolu); color: var(--d-dolu); }
.musaitlik-durum.opsiyon, .musaitlik-durum.kismen { border-color: var(--d-opsiyon); color: var(--d-opsiyon); }

/* ---------- Müsaitlik takvimi ---------- */
.secili-tarih { display: grid; gap: 16px; align-items: center; padding: 22px 24px; border: 1px solid var(--cizgi); border-left: 4px solid var(--d-bos); border-radius: var(--kose); background: var(--yuzey); margin-bottom: 24px; }
.secili-tarih.durum-dolu, .secili-tarih.durum-kapali { border-left-color: var(--d-dolu); }
.secili-tarih.durum-opsiyon, .secili-tarih.durum-kismen { border-left-color: var(--d-opsiyon); }
.secili-tarih h2 { font-size: 1.6rem; margin: 0 0 4px; }
.secili-tarih p:last-child { margin: 0; }
.secili-tarih .ust-yazi { margin-bottom: 4px; }
@media (min-width: 760px) { .secili-tarih { grid-template-columns: 1fr auto; } }
.takvim { background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: var(--kose); padding: clamp(14px, 3vw, 32px); }
.takvim-ust { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.takvim-baslik { margin: 0; font-size: clamp(1.4rem, 3vw, 2rem); text-align: center; }
.takvim-ok { width: 44px; height: 44px; display: inline-grid; place-items: center; border: 1px solid var(--cizgi); border-radius: 50%; text-decoration: none; }
.takvim-ok[aria-disabled="true"] { opacity: .3; pointer-events: none; }
.takvim-salon { display: flex; align-items: center; gap: 10px; justify-content: center; margin-bottom: 16px; }
.takvim-salon label { font-size: .86rem; color: var(--metin2); }
.takvim-salon select { min-height: 42px; padding: 0 12px; border: 1px solid var(--cizgi); border-radius: var(--kose); background: var(--zemin); }
.takvim-gunler, .takvim-izgara { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.takvim-gunler span { text-align: center; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--metin2); padding: 6px 0; }
.gun { position: relative; aspect-ratio: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border-radius: var(--kose); text-decoration: none; border: 1px solid var(--cizgi); background: var(--zemin); transition: border-color .15s, transform .15s; min-height: 44px; }
.gun b { font-weight: 500; font-size: clamp(.9rem, 2vw, 1.1rem); }
@media (min-width: 760px) { .gun { aspect-ratio: 3 / 2; } }
a.gun:hover { border-color: var(--vurgu); transform: translateY(-1px); }
.gun.bos-hucre { border: 0; background: transparent; }
.gun.gecmis { opacity: .35; border-style: dashed; }
.gun.durum-dolu { background: color-mix(in srgb, var(--d-dolu) 14%, var(--zemin)); }
.gun.durum-dolu b { text-decoration: line-through; text-decoration-color: var(--d-dolu); }
.gun.durum-opsiyon { background: color-mix(in srgb, var(--d-opsiyon) 12%, var(--zemin)); }
.gun.durum-kapali { background: color-mix(in srgb, var(--d-kapali) 18%, var(--zemin)); }
.gun.secili { outline: 2px solid var(--vurgu); outline-offset: 1px; }
.seans-nokta { display: flex; gap: 4px; }
.seans-nokta i, .takvim-aciklama i { width: 7px; height: 7px; border-radius: 50%; display: inline-block; background: var(--d-bos); }
.d-bos { background: var(--d-bos) !important; }
.d-kismen { background: var(--d-kismen) !important; }
.d-opsiyon { background: var(--d-opsiyon) !important; }
.d-dolu { background: var(--d-dolu) !important; }
.d-kapali, .d-gecmis { background: var(--d-kapali) !important; }
.takvim-aciklama { list-style: none; padding: 16px 0 0; margin: 16px 0 0; border-top: 1px solid var(--cizgi); display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: .84rem; color: var(--metin2); }
.takvim-aciklama li { display: inline-flex; align-items: center; gap: 6px; }
.takvim-aciklama i { width: 10px; height: 10px; }
.takvim-aciklama .not { width: 100%; font-size: .78rem; }
.takvim-detay { margin-top: 16px; padding: 18px; border: 1px solid var(--vurgu); border-radius: var(--kose); display: grid; gap: 10px; animation: menuGir .2s ease; }
.takvim-detay h3 { margin: 0; font-size: 1.3rem; }
.takvim-detay ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; font-size: .95rem; }
.takvim[aria-busy="true"] .takvim-izgara { opacity: .4; }

/* ---------- Fiyat hesaplayıcı ---------- */
.hesap-izgara { display: grid; gap: 32px; }
@media (min-width: 980px) { .hesap-izgara { grid-template-columns: minmax(0, 1fr) 360px; gap: 48px; align-items: start; } }
.hesap-form { display: block; }
.hesap-form fieldset { display: grid; gap: 14px; margin-bottom: 32px; }
@media (min-width: 640px) { .hesap-form fieldset { grid-template-columns: 1fr 1fr; } }
.kisi-alan { display: grid; gap: 10px; }
.kisi-alan output { font: 500 1.6rem var(--f-baslik); color: var(--vurgu); margin-left: 6px; }
.kisi-alan input[type="range"] { width: 100%; accent-color: var(--vurgu); height: 32px; }
.kisi-alan input[type="number"] { max-width: 160px; }
.hesap-ozet { background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: var(--kose); padding: 26px; display: grid; gap: 12px; }
.ozet-satirlar { margin: 0; display: grid; gap: 8px; }
.ozet-satirlar > div { display: flex; justify-content: space-between; gap: 12px; font-size: .95rem; padding-bottom: 8px; border-bottom: 1px dashed var(--cizgi); }
.ozet-satirlar dt { color: var(--metin2); }
.ozet-satirlar dd { margin: 0; font-weight: 500; text-align: right; }
.ozet-satirlar .indirim dd { color: var(--d-bos); }
.ozet-toplam { display: flex; justify-content: space-between; align-items: baseline; margin: 4px 0 0; }
.ozet-toplam b { font: 500 2.1rem/1.1 var(--f-baslik); color: var(--vurgu); }
.ozet-kisi { margin: 0; font-size: .88rem; color: var(--metin2); }
.ozet-kutu { max-width: 520px; margin: 28px auto; text-align: left; padding: 20px 24px; border: 1px solid var(--cizgi); border-radius: var(--kose); background: var(--yuzey); }
.tesekkur { text-align: center; }
.tesekkur-ikon { width: 72px; height: 72px; display: inline-grid; place-items: center; border-radius: 50%; border: 1px solid var(--d-bos); color: var(--d-bos); font-size: 1.6rem; margin-bottom: 20px; }
.hata-sayfa { text-align: center; }
.hata-sayfa .eylem-satir { justify-content: center; }

/* ---------- Alt bilgi ---------- */
.alt { background: var(--koyu); color: color-mix(in srgb, var(--koyu-metin) 80%, transparent); font-size: .94rem; }
.alt a { text-decoration: none; }
.alt a:hover { color: var(--ince); }
.alt-ust { display: grid; gap: 36px; padding-top: clamp(48px, 7vw, 88px); padding-bottom: 40px; }
@media (min-width: 760px) { .alt-ust { grid-template-columns: 1.4fr 1fr 1fr 1.3fr; } }
.alt .logo-ad { color: var(--koyu-metin); }
.alt .logo-alt { color: var(--ince); }
.alt .logo-renkli:not(:only-child) { display: none; }
.alt .logo-beyaz { display: block; }
.alt-marka p { margin: 18px 0; max-width: 340px; }
.alt-marka .sosyal { font-size: 1.1rem; gap: 16px; }
.alt-baslik { font: 500 .78rem/1.4 var(--f-govde); letter-spacing: .2em; text-transform: uppercase; color: var(--koyu-metin); margin: 0 0 18px; }
.alt-liste { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.alt-iletisim li { display: flex; gap: 10px; }
.alt-iletisim i { color: var(--ince); margin-top: 5px; width: 16px; }
.alt-alt { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding-top: 22px; padding-bottom: 22px; border-top: 1px solid color-mix(in srgb, var(--koyu-metin) 14%, transparent); font-size: .82rem; }
.imza { opacity: .75; }

/* ---------- Mobil hızlı işlem çubuğu ---------- */
.eylem-cubugu { position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; background: var(--yuzey); border-top: 1px solid var(--cizgi); padding-bottom: env(safe-area-inset-bottom); box-shadow: 0 -8px 24px -16px rgb(0 0 0 / .4); }
.eylem-cubugu a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 60px; font-size: .74rem; font-weight: 500; text-decoration: none; }
.eylem-cubugu i { font-size: 1.2rem; color: var(--vurgu); }
.eylem-cubugu a.vurgulu { background: var(--vurgu); color: var(--vurgu-metin); }
.eylem-cubugu a.vurgulu i { color: inherit; }
body { padding-bottom: calc(60px + env(safe-area-inset-bottom)); }
.wa-yuzen { display: none; }
@media (min-width: 900px) {
    .eylem-cubugu { display: none; }
    body { padding-bottom: 0; }
    .wa-yuzen { display: inline-grid; place-items: center; position: fixed; right: 24px; bottom: 24px; z-index: 70; width: 56px; height: 56px; border-radius: 50%; background: #25d366; color: #fff; font-size: 1.7rem; text-decoration: none; box-shadow: 0 10px 24px -8px rgb(0 0 0 / .45); transition: transform .2s; }
    .wa-yuzen:hover { transform: scale(1.06); }
}

/* ---------- Demo tema şeridi ---------- */
.demo-serit { position: fixed; left: 16px; bottom: calc(76px + env(safe-area-inset-bottom)); z-index: 90; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
@media (min-width: 900px) { .demo-serit { bottom: 24px; left: 24px; } }
.demo-ac { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 3px; border: 1px solid #1d2939; background: #101828; color: #fff; font-size: .88rem; font-weight: 600; cursor: pointer; box-shadow: 0 10px 24px -8px rgb(0 0 0 / .45); }
.demo-panel { position: absolute; left: 0; bottom: 56px; width: min(340px, calc(100vw - 32px)); max-height: min(70vh, 560px); overflow-y: auto; background: #fff; color: #101828; border: 1px solid #e4e7ec; border-radius: 4px; padding: 16px; box-shadow: 0 24px 48px -12px rgb(0 0 0 / .35); }
.demo-panel[hidden] { display: none; }
.demo-panel-ust { display: flex; justify-content: space-between; align-items: center; }
.demo-kapat { width: 36px; height: 36px; border: 0; background: #f2f4f7; border-radius: 3px; cursor: pointer; color: #101828; }
.demo-panel p { font-size: .82rem; color: #475467; margin: 8px 0 12px; line-height: 1.5; }
.demo-liste { list-style: none; padding: 0; margin: 0 0 12px; display: grid; gap: 6px; }
.demo-liste a { display: flex; align-items: center; gap: 12px; padding: 8px 10px; border: 1px solid #e4e7ec; border-radius: 3px; text-decoration: none; color: #101828; }
.demo-liste a:hover { border-color: #98a2b3; }
.demo-liste a[aria-current] { border-color: #101828; background: #f9fafb; }
.demo-liste b { display: block; font-size: .9rem; }
.demo-liste small { font-size: .75rem; color: #667085; }
.demo-renk { width: 38px; height: 38px; border-radius: 3px; flex-shrink: 0; border: 1px solid #e4e7ec; background: linear-gradient(135deg, var(--a) 0 50%, var(--b) 50% 80%, var(--c) 80%); }
.demo-bilgi { display: block; text-align: center; font-size: .85rem; font-weight: 600; color: #101828; padding: 10px; background: #f2f4f7; border-radius: 3px; text-decoration: none; }

/* ---------- Dijital davetiye ve anı albümü ---------- */
.davetiye-sayfa .ust-bant, .davetiye-sayfa .ana-menu, .davetiye-sayfa .ust-eylem, .davetiye-sayfa .ust-tel, .davetiye-sayfa .eylem-cubugu, .davetiye-sayfa .wa-yuzen { display: none !important; }
.davetiye-sayfa { padding-bottom: 0; }
.davetiye-sayfa .ust-ana { justify-content: center; grid-template-columns: 1fr; grid-template-areas: "logo"; padding-top: 0; }
.davetiye-sayfa .logo { margin: 0 auto; align-items: center; }
.davetiye-kapak { position: relative; min-height: min(86svh, 820px); display: grid; place-items: center; text-align: center; color: #fff; overflow: hidden; background: var(--koyu); }
.davetiye-kapak-resim { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.davetiye-kapak::after { content: ""; position: absolute; inset: 0; background: rgb(0 0 0 / .45); }
.davetiye-kapak-ic { position: relative; z-index: 1; padding: 96px 20px 64px; }
.davetiye-kapak .ust-yazi { color: #fff; letter-spacing: .4em; }
.cift-adi { display: flex; flex-direction: column; align-items: center; font-size: clamp(3rem, 11vw, 6.5rem); line-height: 1; color: #fff; margin: 0 0 .3em; }
.cift-adi em { font-style: italic; color: var(--ince); font-size: .6em; margin: .1em 0; }
.cift-adi.kucuk { font-size: clamp(2.2rem, 7vw, 4rem); color: var(--metin); }
.davetiye-tarih { font: 400 clamp(1.1rem, 2.4vw, 1.4rem)/1.4 var(--f-baslik); letter-spacing: .04em; }
.geri-sayim { display: flex; justify-content: center; gap: clamp(10px, 3vw, 28px); margin-top: 24px; }
.geri-sayim div { min-width: 64px; padding: 10px 6px; border: 1px solid rgb(255 255 255 / .35); border-radius: var(--kose); backdrop-filter: blur(4px); }
.geri-sayim b { display: block; font: 500 clamp(1.5rem, 4vw, 2.2rem)/1.1 var(--f-baslik); }
.geri-sayim span { font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; opacity: .85; }
.davetiye-mesaj { font: 400 clamp(1.15rem, 2.4vw, 1.45rem)/1.7 var(--f-baslik); }
.aileler { display: grid; gap: 20px; margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--ince); }
@media (min-width: 600px) { .aileler { grid-template-columns: 1fr 1fr; } }
.aileler small { display: block; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: var(--vurgu); margin-bottom: 4px; }
.aileler p { font: 400 1.2rem/1.4 var(--f-baslik); margin: 0; }
.program { list-style: none; padding: 0; margin: 0 auto; max-width: 560px; }
.program li { display: grid; grid-template-columns: 90px 1fr; gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--cizgi); align-items: baseline; }
.program time { font: 500 1.3rem var(--f-baslik); color: var(--vurgu); }
.davetiye-adres { color: var(--metin2); }
.katilim-sec { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ani-cagri { padding: 40px 24px; border: 1px solid var(--ince); border-radius: var(--kose); }
.ani-cagri > i { font-size: 2rem; color: var(--vurgu); margin-bottom: 12px; }
.davetiye-imza { text-align: center; font-size: .85rem; color: var(--metin2); padding: 24px 20px 40px; margin: 0; }
.davetiye-imza a { color: var(--vurgu); }
.ani-ust { padding: 48px 0 8px; }
.ani-sec { display: grid; place-items: center; gap: 6px; padding: 40px 20px; border: 1.5px dashed var(--vurgu); border-radius: var(--kose); background: var(--vurgu-saydam); cursor: pointer; text-align: center; }
.ani-sec input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.ani-sec i { font-size: 2.2rem; color: var(--vurgu); }
.ani-sec b { font: 500 1.3rem var(--f-baslik); }
.ani-sec small { color: var(--metin2); }
.ani-sec:focus-within { outline: 2px solid var(--vurgu); outline-offset: 3px; }
.ani-ek { margin-top: 16px; }
.ani-kuyruk { list-style: none; padding: 0; margin: 16px 0 32px; display: grid; gap: 8px; }
.ani-kuyruk li { display: grid; grid-template-columns: 48px 1fr auto; gap: 12px; align-items: center; padding: 8px; border: 1px solid var(--cizgi); border-radius: var(--kose); font-size: .88rem; }
.ani-kuyruk img { width: 48px; height: 48px; object-fit: cover; border-radius: var(--kose); }
.ani-kuyruk progress { width: 100%; height: 6px; accent-color: var(--vurgu); }
.ani-kuyruk .tamam { color: var(--d-bos); }
.ani-kuyruk .hata { color: var(--d-dolu); }
.ani-izgara { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
@media (min-width: 700px) { .ani-izgara { grid-template-columns: repeat(4, 1fr); gap: 8px; } }
.ani-izgara a { aspect-ratio: 1; overflow: hidden; border-radius: var(--kose); background: var(--yuzey2); }
.ani-izgara img { width: 100%; height: 100%; object-fit: cover; }

/* Görünüm animasyonu: kaydırınca belirme (JS .gorunur ekler) */
@media (prefers-reduced-motion: no-preference) {
    .js .belir { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
    .js .belir.gorunur { opacity: 1; transform: none; }
}

@media print {
    .ust, .alt, .eylem-cubugu, .wa-yuzen, .demo-serit { display: none !important; }
    body { padding: 0; }
}
