/* izmir.gen.tr site stilleri. Renkler :root'ta; yeni tasarımın parçaları dosyanın sonunda ("b-" önekli) */

/* ---------- Yazı tipleri (sitenin kendi sunucusundan) ---------- */
@font-face { font-family: "Manrope"; font-weight: 400; font-display: swap; src: url("../fonts/manrope-latin-ext-400-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Manrope"; font-weight: 400; font-display: swap; src: url("../fonts/manrope-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Manrope"; font-weight: 600; font-display: swap; src: url("../fonts/manrope-latin-ext-600-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Manrope"; font-weight: 600; font-display: swap; src: url("../fonts/manrope-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Manrope"; font-weight: 700; font-display: swap; src: url("../fonts/manrope-latin-ext-700-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Manrope"; font-weight: 700; font-display: swap; src: url("../fonts/manrope-latin-700-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Manrope"; font-weight: 800; font-display: swap; src: url("../fonts/manrope-latin-ext-800-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Manrope"; font-weight: 800; font-display: swap; src: url("../fonts/manrope-latin-800-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Bricolage Grotesque"; font-weight: 700; font-display: swap; src: url("../fonts/bricolage-grotesque-latin-ext-700-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Bricolage Grotesque"; font-weight: 700; font-display: swap; src: url("../fonts/bricolage-grotesque-latin-700-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Bricolage Grotesque"; font-weight: 800; font-display: swap; src: url("../fonts/bricolage-grotesque-latin-ext-800-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Bricolage Grotesque"; font-weight: 800; font-display: swap; src: url("../fonts/bricolage-grotesque-latin-800-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ---------- Renkler ve temel ---------- */
:root {
  --ink: #0D1F2B;
  --muted: #557080;
  --line: #E3E8F0;
  --input: #94A3B8;
  --soft: #F2F7F8;
  --soft-2: #F7FAFB;
  --sea: #0A7EA4;
  --sea-dark: #075C7A;
  --sea-tint: #E2F2F7;
  --navy: #0C2E3E;
  --navy-2: #08212D;
  --cta: #E2573A;
  --hot: #E2573A;
  --gold: #F5A623;
  --price: #075C7A;
  --warn-bg: #FFF1E6;
  --warn-ink: #7A3410;
  --ok-bg: #E3F4EC;
  --ok-ink: #0B6B47;
  --wine: #7A2E4A;
  --tint-1: #D5EDF3;
  --tint-2: #D9EEF2;
  --tint-3: #E4E9F6;
  --tint-4: #F1E9DC;
  --ph-ink: #4B5E80;
  --display: "Bricolage Grotesque", system-ui, sans-serif;
  --body: "Manrope", system-ui, sans-serif;
  --gutter: clamp(16px, 4vw, 48px);
  --radius: 14px;
  --shadow: 0 1px 2px rgba(12, 46, 62, .06), 0 8px 24px rgba(12, 46, 62, .08);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 96px; }
body { margin: 0; background: #FFFFFF; color: var(--ink); font-family: var(--body); font-size: 16px; line-height: 1.5; }
img { max-width: 100%; display: block; }
a { color: var(--sea); }
a:hover { color: var(--sea-dark); }
:focus-visible { outline: 3px solid var(--sea); outline-offset: 2px; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.wrap { max-width: 1280px; margin: 0 auto; }
.section { padding: 64px var(--gutter); }
.section--tight-top { padding-top: 32px; }
.stack { display: flex; flex-direction: column; gap: 24px; }
.row-between { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; }
.muted { color: var(--muted); }
.h1 { margin: 0; font-family: var(--display); font-size: clamp(40px, 5vw, 66px); line-height: 1.02; letter-spacing: -0.03em; font-weight: 800; }
.h2 { margin: 0; font-family: var(--display); font-size: clamp(30px, 3.4vw, 38px); line-height: 1.1; letter-spacing: -0.02em; font-weight: 800; }
.h3 { margin: 0; font-family: var(--display); font-size: 21px; font-weight: 800; }
.lead { margin: 0; color: var(--muted); font-size: 17px; max-width: 680px; }
.eyebrow { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 800; color: var(--sea); letter-spacing: 0.04em; text-transform: uppercase; }
.link-strong { font-weight: 800; text-decoration: none; }

/* ---------- Düğmeler, çipler ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: 12px; border: 1px solid transparent; font: inherit; font-weight: 800; font-size: 15px; text-decoration: none; cursor: pointer; }
.btn--cta { background: var(--cta); color: #FFFFFF; }
.btn--cta:hover { background: var(--sea-dark); color: #FFFFFF; }
.btn--dark { background: var(--navy); color: #FFFFFF; }
.btn--dark:hover { background: var(--navy-2); color: #FFFFFF; }
.btn--light { background: #FFFFFF; color: var(--ink); }
.btn--outline { border-color: var(--line); color: var(--ink); background: #FFFFFF; }
.btn--outline:hover { border-color: var(--input); color: var(--ink); }
.btn--tint { background: var(--sea-tint); color: var(--sea-dark); }
.btn--tint:hover { color: var(--ink); }
.btn--lg { min-height: 52px; font-size: 16px; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--line); background: #FFFFFF; color: var(--ink); text-decoration: none; font-size: 14px; font-weight: 700; }
.chip:hover { border-color: var(--input); color: var(--ink); }
.chip[aria-current] { background: var(--ink); border-color: var(--ink); color: #FFFFFF; }
.chip--on-dark { background: transparent; border: 1.5px solid #FFFFFF; color: #FFFFFF; }
.chip--on-dark:hover { color: #FFFFFF; background: rgba(255,255,255,.12); }
.chip--on-dark[aria-current] { background: #FFFFFF; color: var(--ink); }
.pill { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 800; padding: 4px 10px; border-radius: 999px; }
.pill--warn { background: var(--warn-bg); color: #8A3A14; }
.pill--ok { background: var(--ok-bg); color: var(--ok-ink); }
.pill--cta { background: var(--cta); color: #FFFFFF; }

/* ---------- Uyarı bandı ---------- */
.alert-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 12px; padding: 10px var(--gutter); background: var(--warn-bg); color: var(--warn-ink); text-decoration: none; font-size: 14px; font-weight: 600; }
.alert-bar:hover { color: var(--warn-ink); }
.alert-bar__more { font-weight: 800; text-decoration: underline; }

/* ---------- Üst menü ---------- */
/* Üst başlık her sayfada sabit: logo (ana sayfaya dönüş) ve Instagram hep görünür */
.site-header { position: sticky; top: 0; z-index: 40; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px 28px; padding: 16px var(--gutter); border-bottom: 1px solid var(--line); background: #FFFFFF; }
.logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--ink); }
.logo:hover { color: var(--ink); }
.logo__mark { width: 40px; height: 40px; border-radius: 12px; background: var(--sea); color: #FFFFFF; display: flex; align-items: center; justify-content: center; }
.logo__text { font-family: var(--display); font-weight: 800; font-size: 26px; letter-spacing: -0.02em; }
.logo__text span { color: var(--sea); }
.main-nav { display: flex; flex-wrap: wrap; gap: 6px 26px; font-weight: 700; font-size: 15px; }
.main-nav a { color: var(--ink); text-decoration: none; }
.main-nav a:hover, .main-nav a[aria-current] { color: var(--sea); }
.header-actions { display: flex; align-items: center; gap: 10px; }
.icon-btn { width: 44px; height: 44px; border-radius: 12px; border: 1px solid var(--line); background: #FFFFFF; color: var(--ink); display: inline-flex; align-items: center; justify-content: center; }
.insta { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px 0 5px; border-radius: 999px; border: 1px solid var(--line); background: #FFFFFF; color: var(--ink); text-decoration: none; font-weight: 800; font-size: 14px; white-space: nowrap; }
.insta:hover { color: var(--ink); border-color: #D6249F; }
.insta__ikon { flex: none; width: 32px; height: 32px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #FFFFFF; background: radial-gradient(circle at 30% 107%, #FDF497 0%, #FDF497 5%, #FD5949 45%, #D6249F 60%, #285AEB 90%); }
.btn--wa { background: #15803D; color: #FFFFFF; }
.btn--wa:hover { background: #116632; color: #FFFFFF; }
/* Tesis sayfasındaki "İşletme adı / WhatsApp Hattı" düğmesi: iki satır, logoda nabız halkası */
.btn--wa-hat { min-height: 56px; justify-content: center; gap: 12px; padding: 8px 16px; background: linear-gradient(135deg, #16A34A, #15803D); box-shadow: 0 6px 16px rgba(21, 128, 61, .32); }
.btn--wa-hat:hover { background: linear-gradient(135deg, #15803D, #116632); }
.wa-ikon { position: relative; flex: none; display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(255, 255, 255, .18); }
.wa-ikon::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .7); animation: wa-nabiz 2.2s ease-out infinite; }
@keyframes wa-nabiz { from { transform: scale(1); opacity: .9; } to { transform: scale(1.55); opacity: 0; } }
.wa-metin { display: flex; align-items: baseline; gap: .3em; min-width: 0; white-space: nowrap; font-size: 17px; font-weight: 800; }
.wa-metin strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; font-weight: 800; }
.wa-metin > span { flex: none; }
@media (prefers-reduced-motion: reduce) { .wa-ikon::after { animation: none; display: none; } }
/* Son dakika fırsatları (firsat/kart, tesis sayfası kutusu, ana sayfa bandı) */
.firsat-kart--one { border-color: var(--cta); box-shadow: 0 0 0 2px var(--cta); }
.firsat-kart__indirim { background: var(--cta) !important; color: #FFFFFF !important; }
.firsat-kart__baslik { margin: 0; font-weight: 800; font-size: 16px; color: var(--cta); }
.firsat-kart__tarih { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 8px; margin: 0; font-size: 14px; font-weight: 700; }
.firsat-kart__kalan { padding: 2px 8px; border-radius: 999px; background: #FDE8E4; color: #B42318; font-size: 12px; font-weight: 800; }
.firsat-kart__aciklama { margin: 0; font-size: 14px; }
.firsat-kart__eski { font-weight: 600; margin-right: 4px; }
.firsat-kutu { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px; border: 2px solid var(--cta); border-radius: 16px; background: var(--sea-tint); }
.firsat-kutu__ust { margin: 0; font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--cta); }
.firsat-kutu strong { font-size: 17px; }
.firsat-kutu p { margin: 0; font-size: 14px; }
.firsat-pill { background: var(--cta); color: #FFFFFF; text-decoration: none; white-space: normal; }
.firsat-pill:hover { background: var(--sea-dark); color: #FFFFFF; }
.firsat-bant { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 16px; padding: 14px 18px; border-radius: 16px; background: var(--sea-tint); border: 1px solid #C5D6F7; text-decoration: none; color: var(--ink); }
.firsat-bant:hover { border-color: var(--cta); color: var(--ink); }
.firsat-bant strong { font-size: 17px; }
.firsat-bant span:last-child { font-weight: 800; color: var(--cta); }

/* Esnaf ve hizmet rehberi (esnaf/index, esnaf/kategori, esnaf/kart) */
.esnaf-kategoriler { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
.esnaf-kategori { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; background: #FFFFFF; color: var(--ink); text-decoration: none; }
a.esnaf-kategori:hover { border-color: var(--ink); color: var(--ink); }
.esnaf-kategori span { font-size: 13px; }
.esnaf-kategori--bos { background: var(--soft-2); }
.esnaf-kategori--bos strong { color: var(--muted); }
.esnaf-liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; }
.esnaf-kart { display: flex; flex-direction: column; justify-content: space-between; gap: 14px; padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: #FFFFFF; }
.esnaf-kart--one { border-color: var(--cta); box-shadow: 0 0 0 2px var(--cta); }
.esnaf-kart__ad { margin: 0; font-size: 19px; }
.esnaf-kart__aciklama { margin: 0; font-size: 15px; }
.esnaf-kart__saat { display: flex; align-items: center; gap: 6px; margin: 0; font-size: 14px; }
.esnaf-kart__dugmeler { display: flex; flex-wrap: wrap; gap: 8px; }
.esnaf-kart__dugmeler .btn { min-height: 42px; padding: 0 14px; font-size: 14px; }
@media (max-width: 480px) {
  .esnaf-liste { grid-template-columns: 1fr; }
  .esnaf-kategoriler { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .esnaf-kart__dugmeler .btn { flex: 1 1 auto; }
}

/* Çerez izni şeridi (Google Analytics); telefonda alttaki iletişim çubuğunun da üstünde */
.cerez-izni { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 60; display: flex; align-items: center; gap: 12px 20px; max-width: 760px; margin: 0 auto; padding: 14px 16px; border: 1px solid var(--line); border-radius: 16px; background: #FFFFFF; box-shadow: 0 10px 30px rgba(15,42,51,.18); font-size: 14px; }
.cerez-izni[hidden] { display: none; }
.cerez-izni p { margin: 0; flex: 1; }
.cerez-izni__dugmeler { display: flex; gap: 8px; flex: none; }
.cerez-izni .btn { min-height: 40px; padding: 0 16px; font-size: 14px; }
@media (max-width: 600px) {
  .cerez-izni { flex-direction: column; align-items: stretch; left: 8px; right: 8px; bottom: calc(8px + env(safe-area-inset-bottom)); padding: 12px; font-size: 13px; }
  .cerez-izni__dugmeler .btn { flex: 1; }
}

/* "Yapay zekâ ile özetleyin" düğmeleri (otel ve rehber sayfaları) */
.yz-ozet { display: flex; flex-direction: column; gap: 10px; padding: 16px; border: 1px solid var(--line); border-radius: 18px; background: var(--soft-2); }
.yz-ozet__baslik { margin: 0; font-weight: 800; font-size: 16px; }
.yz-ozet__dugmeler { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.yz-ozet__dugme { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 10px; border: 1px solid var(--line); border-radius: 12px; background: #FFFFFF; color: var(--ink); font-weight: 700; font-size: 14px; text-decoration: none; white-space: nowrap; }
.yz-ozet__dugme:hover { border-color: var(--yz-renk); color: var(--ink); }
.yz-ozet__nokta { flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--yz-renk); }
@media (max-width: 380px) { .yz-ozet__dugme { font-size: 13px; padding: 0 6px; gap: 6px; } }

/* Hava durumu sayfası */
.hava-simdi { display: grid; grid-template-columns: auto 1fr; gap: 12px 32px; align-items: center; padding: 24px; border-radius: 22px; color: #FFFFFF; background: linear-gradient(135deg, #0A6C8C, #13A0C4); box-shadow: 0 12px 30px rgba(10, 108, 140, .25); }
.hava-simdi__ana { display: flex; align-items: center; gap: 16px; }
.hava-simdi__simge { font-size: 64px; line-height: 1; }
.hava-simdi__derece { font-family: var(--display); font-size: 64px; font-weight: 800; line-height: 1; }
.hava-simdi__ad { font-size: 18px; font-weight: 700; opacity: .95; }
.hava-simdi__detay { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; margin: 0; }
.hava-simdi__detay dt { font-size: 13px; opacity: .8; }
.hava-simdi__detay dd { margin: 0; font-weight: 800; font-size: 16px; }
.hava-simdi__not { grid-column: 1 / -1; margin: 0; font-size: 13px; opacity: .8; }
.hava-uyari { display: flex; flex-direction: column; gap: 4px; padding: 14px 18px; border-radius: 16px; background: #FEF3C7; border: 1px solid #F59E0B; color: #78350F; text-decoration: none; }
.hava-uyari:hover { color: #78350F; background: #FDE68A; }
.hava-saatlik { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x proximity; }
.hava-saat { flex: none; display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 72px; padding: 10px 6px; border: 1px solid var(--line); border-radius: 14px; background: #FFFFFF; scroll-snap-align: start; }
.hava-saat__saat { font-size: 13px; font-weight: 700; color: var(--muted); }
.hava-saat__simge { font-size: 26px; line-height: 1.1; }
.hava-saat__ruzgar { font-size: 12px; color: var(--muted); white-space: nowrap; }
.hava-gunluk { width: 100%; border-collapse: collapse; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.hava-gunluk th, .hava-gunluk td { padding: 12px 14px; border-top: 1px solid var(--line); text-align: left; vertical-align: middle; }
.hava-gunluk tr:first-child th, .hava-gunluk tr:first-child td { border-top: 0; }
.hava-gunluk small { display: block; color: var(--muted); font-size: 12.5px; font-weight: 600; }
.hava-gunluk__hava span { font-size: 22px; margin-right: 4px; }
.hava-gunluk__derece { white-space: nowrap; font-size: 17px; }
.hava-gunluk__ruzgar { white-space: nowrap; text-align: right !important; }
@media (max-width: 640px) {
  .hava-simdi { grid-template-columns: 1fr; padding: 18px; }
  .hava-simdi__simge, .hava-simdi__derece { font-size: 52px; }
  .hava-gunluk th, .hava-gunluk td { padding: 10px 8px; font-size: 14px; }
  .hava-gunluk__hava { font-size: 13px; }
}

/* Ana sayfa hava kutusu (koyu "Avşa'ya ulaşım" bandında) */
.hava-kutulari { display: flex; flex-wrap: wrap; gap: 10px; }
.hava-kutulari > * { flex: 1 1 320px; }
.hava-kutu { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 16px; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .22); color: #FFFFFF; text-decoration: none; }
.hava-kutu:hover { color: #FFFFFF; background: rgba(255, 255, 255, .18); }
.hava-kutu__simge { font-size: 32px; line-height: 1; }
.hava-kutu__metin { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.hava-kutu__metin strong { font-size: 17px; }
.hava-kutu__metin span { font-size: 14px; opacity: .9; }
.hava-kutu__ok { display: inline-flex; align-items: center; gap: 4px; font-weight: 800; font-size: 14px; white-space: nowrap; }
@media (max-width: 480px) { .hava-kutu__ok { display: none; } }

/* "Bizi Instagram'da takip edin" bandı */
.insta-bant { display: flex; align-items: center; gap: 16px; padding: 18px 22px; border-radius: 20px; color: #FFFFFF; text-decoration: none; background: linear-gradient(100deg, #F58529 0%, #DD2A7B 45%, #8134AF 75%, #515BD4 100%); box-shadow: 0 10px 26px rgba(221, 42, 123, .25); }
.insta-bant:hover { color: #FFFFFF; filter: brightness(1.05); }
.insta-bant__ikon { flex: none; display: inline-grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; background: rgba(255, 255, 255, .2); }
.insta-bant__metin { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.insta-bant__metin strong { font-family: var(--display); font-size: 22px; font-weight: 800; line-height: 1.15; }
.insta-bant__metin span { font-size: 15px; opacity: .95; }
.insta-bant__dugme { flex: none; padding: 10px 20px; border-radius: 999px; background: #FFFFFF; color: #C1306B; font-weight: 800; }
.insta-bant--kucuk { padding: 12px 16px; gap: 12px; border-radius: 16px; }
.insta-bant--kucuk .insta-bant__ikon { width: 42px; height: 42px; border-radius: 12px; }
.insta-bant--kucuk .insta-bant__metin strong { font-size: 18px; }
.insta-bant--kucuk .insta-bant__metin span { font-size: 14px; }
@media (max-width: 640px) {
  .insta-bant { padding: 14px; gap: 12px; }
  .insta-bant__ikon { width: 44px; height: 44px; border-radius: 12px; }
  .insta-bant__metin strong { font-size: 18px; }
  .insta-bant__metin span { font-size: 13px; }
  .insta-bant__dugme { padding: 8px 14px; font-size: 14px; }
}
/* Telefon menüsünün başında Instagram */
.mobile-menu__panel a.mobil-insta { gap: 8px; margin-bottom: 6px; white-space: nowrap; font-size: 14.5px; color: #FFFFFF; background: linear-gradient(100deg, #F58529, #DD2A7B 55%, #8134AF); }
.mobil-insta svg { flex: none; }
.mobile-menu__panel a.mobil-insta:hover { background: linear-gradient(100deg, #F58529, #DD2A7B 55%, #8134AF); filter: brightness(1.05); }
.mobil-insta small { margin-left: auto; font-weight: 800; opacity: .95; }

/* Sitede arama: üst çubukta büyüteç, açılır kutu ve öneriler */
/* Kutu üst çubuğun sağ kenarına hizalanır (çubuk sabit/konumlu olduğu için ona göre) */
.site-arama { position: static; }
.site-arama summary { list-style: none; cursor: pointer; }
.site-arama summary::-webkit-details-marker { display: none; }
.site-arama[open] .site-arama__dugme { border-color: var(--sea); color: var(--sea); }
/* Büyüteç + "Ara" yazısı (yalnızca simge anlaşılmayabilir) */
.icon-btn.site-arama__dugme { width: auto; gap: 6px; padding: 0 12px 0 10px; font-weight: 800; font-size: 14px; }
/* Küçük telefonda "Ara" yazısına yer: Instagram yalnızca logosuyla */
@media (max-width: 480px) {
  .insta { padding: 0 4px; }
  .insta__ad { display: none; }
}
.site-arama__panel { position: absolute; right: 16px; top: calc(100% + 6px); z-index: 30; width: min(420px, calc(100vw - 24px)); padding: 10px; border-radius: 16px; border: 1px solid var(--line); background: #FFFFFF; box-shadow: 0 14px 34px rgba(15,42,51,.16); }
.site-arama__form { position: relative; }
.site-arama__ikon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--muted); pointer-events: none; }
.site-arama__form input { width: 100%; min-height: 46px; padding: 0 12px 0 38px; border: 1px solid var(--input); border-radius: 12px; font: inherit; font-size: 16px; background: #FFFFFF; }
.site-arama__form input:focus { outline: 2px solid var(--sea); outline-offset: 1px; border-color: var(--sea); }
.site-arama__oneriler { list-style: none; margin: 8px 0 0; padding: 0; max-height: min(60vh, 420px); overflow-y: auto; }
.site-arama__oneriler a { display: flex; align-items: center; gap: 10px; padding: 7px 8px; border-radius: 10px; color: var(--ink); text-decoration: none; }
.site-arama__oneriler a:hover, .site-arama__oneriler a:focus { background: var(--soft); }
.site-arama__oneriler img, .site-arama__bos { flex: none; width: 44px; height: 44px; border-radius: 8px; object-fit: cover; background: var(--soft); }
.site-arama__oneriler strong { display: block; font-weight: 800; line-height: 1.2; }
.site-arama__oneriler small { display: block; color: var(--muted); font-size: 13px; }
.site-arama__tumu a { justify-content: center; font-weight: 800; color: var(--sea); }
.site-arama__yok { padding: 10px 8px; color: var(--muted); }
.arama-formu { display: flex; gap: 8px; max-width: 640px; }
.arama-formu input { flex: 1; min-width: 0; min-height: 48px; padding: 0 14px; border: 1px solid var(--input); border-radius: 12px; font: inherit; font-size: 16px; background: #FFFFFF; }
@media (max-width: 900px) {
  /* Telefonda kutu üst çubuğun hemen altında, tam genişlikte */
  .site-arama__panel { left: 8px; right: 8px; width: auto; top: calc(100% + 4px); }
}
.mobile-menu { display: none; }
.mobile-menu summary { list-style: none; cursor: pointer; }
.mobile-menu summary::-webkit-details-marker { display: none; }
.mobile-menu__panel { position: absolute; right: var(--gutter); top: calc(100% + 4px); z-index: 20; width: min(320px, calc(100vw - 32px)); padding: 12px; border-radius: 16px; border: 1px solid var(--line); background: #FFFFFF; box-shadow: 0 12px 32px rgba(15,42,51,.12); display: flex; flex-direction: column; }
.mobile-menu__panel a { display: flex; align-items: center; min-height: 44px; padding: 0 10px; border-radius: 10px; color: var(--ink); text-decoration: none; font-weight: 700; }
.mobile-menu__panel a:hover { background: var(--soft); }
/* Sabit başlık tek satırda kalsın: dar masaüstünde menü sıkışır, daha darda menü düğmesine geçer */
@media (min-width: 1261px) and (max-width: 1400px) {
  .site-header { gap: 16px; padding-left: 24px; padding-right: 24px; }
  .main-nav { gap: 6px 14px; }
  .insta { padding: 0 5px; }
  .insta__ad { display: none; }
}
@media (max-width: 1260px) {
  .main-nav { display: none; }
  .mobile-menu { display: block; }
}
@media (max-width: 900px) {
  .site-header { padding-top: 10px; padding-bottom: 10px; gap: 10px; flex-wrap: nowrap; }
  .header-actions { gap: 8px; }
  .insta { min-height: 40px; padding: 0 10px 0 4px; gap: 6px; font-size: 13px; }
  .insta__ikon { width: 30px; height: 30px; }
  .main-nav, .header-actions .hide-sm { display: none; }
  .mobile-menu { display: block; }
  .logo__mark { width: 34px; height: 34px; border-radius: 10px; }
  .logo__text { font-size: 22px; }
  /* Sabit üst çubuk telefonda ince: ekranda içeriğe yer kalsın */
  .site-header { padding-top: 6px; padding-bottom: 6px; }
  .icon-btn { width: 38px; height: 38px; border-radius: 10px; }
  .insta { min-height: 36px; }
  .insta__ikon { width: 26px; height: 26px; }
}

/* ---------- Hero ve arama ---------- */
.hero { background: var(--soft); padding: 56px var(--gutter) 64px; }
.hero__grid { display: flex; flex-wrap: wrap; gap: 48px; align-items: center; }
.hero__text { flex: 1 1 540px; min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.hero__text .h1 span { color: var(--sea); }
.hero__media { flex: 1 1 420px; min-width: 0; height: 500px; border-radius: 28px; overflow: hidden; position: relative; }
.hero__badge { position: absolute; left: 20px; bottom: 20px; background: #FFFFFF; border-radius: 16px; padding: 12px 16px; display: flex; align-items: center; gap: 12px; }
.hero__badge small { display: block; font-size: 12px; font-weight: 700; color: var(--muted); }
.hero__badge strong { font-size: 16px; }
.search { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px; background: #FFFFFF; border-radius: 20px; border: 1px solid var(--line); }
.search__field { flex: 1 1 140px; min-width: 0; display: flex; flex-direction: column; gap: 2px; padding: 10px 14px; background: var(--soft); border-radius: 12px; }
.search__field label { font-size: 12px; font-weight: 700; color: var(--muted); }
.search__field select, .search__field input { border: 0; background: transparent; font: inherit; font-size: 16px; font-weight: 700; color: var(--ink); padding: 2px 0; min-height: 30px; width: 100%; }
.search .btn { flex: 1 1 180px; min-height: 56px; white-space: nowrap; }
.quick { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.quick > span { font-size: 14px; font-weight: 700; color: var(--muted); margin-right: 4px; }
@media (max-width: 640px) {
  .hero { padding-top: 24px; padding-bottom: 28px; }
  .hero__grid { gap: 20px; }
  .hero__media { height: 220px; border-radius: 20px; flex-basis: 100%; }
  .hero__badge { display: none; }
}

/* ---------- Ana sayfa açılışı (giris): tam genişlik fotoğraf, kısa başlık, tür düğmeleri ---------- */
/* Yazılar üstte (kullanıcı isteği), altta fotoğraf görünür kalır */
/* Yükseklik ekrana göre: altındaki kısayollar ilk ekranda görünsün (başlık 77 px + kısayollar ≈ 90 px pay) */
.giris { position: relative; overflow: hidden; color: #FFFFFF; background: var(--sea); padding: 34px var(--gutter) 22px; min-height: 480px; min-height: clamp(400px, calc(100svh - 250px), 540px); display: flex; align-items: stretch; }
.giris--zemin { background: linear-gradient(135deg, #0A6C8C, #0F2A33); }
.giris__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* Gölge yalnızca yazının durduğu sol-alt tarafta; fotoğrafın turkuaz denizi ve kumsalı canlı kalsın */
.giris::after { content: ""; position: absolute; inset: 0; background:
  linear-gradient(90deg, rgba(15,42,51,.72) 0%, rgba(15,42,51,.45) 38%, rgba(15,42,51,0) 68%),
  linear-gradient(180deg, rgba(15,42,51,0) 55%, rgba(15,42,51,.45) 100%); }
.giris--zemin::after { display: none; }
/* Üstte yazılar, altta düğmeler; aradaki boşlukta fotoğraf görünür */
.giris__ic { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: space-between; gap: 28px; width: 100%; }
.giris__yazilar { display: flex; flex-direction: column; gap: 12px; }
.giris__dugmeler { display: flex; flex-direction: column; gap: 12px; }
.giris__ust { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.giris__baslik { margin: 0; max-width: 720px; font-family: var(--display); font-size: clamp(28px, 3.6vw, 46px); line-height: 1.06; letter-spacing: -.025em; font-weight: 800; text-shadow: 0 2px 18px rgba(0,0,0,.3); }
.giris__slogan { margin: 0; font-size: 17px; font-weight: 600; max-width: 640px; text-shadow: 0 1px 10px rgba(0,0,0,.3); }
/* Yazı ile düğmeler arasında belirgin boşluk (kullanıcı isteği: "çok karışık görünüyor") */
.giris__turler { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; max-width: 820px; }
/* Tür düğmeleri: her türün kendi rengi (çerçeve + simge zemini), --tur-renk / --tur-zemin */
.giris__tur { --tur-renk: var(--sea); --tur-zemin: var(--sea-tint); display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 14px 16px; border: 4px solid var(--tur-renk); border-radius: 18px; background: #FFFFFF; color: var(--ink); text-decoration: none; box-shadow: 0 10px 30px rgba(0,0,0,.18); transition: transform .15s, background .15s; }
.giris__tur:hover { color: var(--ink); transform: translateY(-2px); background: var(--tur-zemin); }
.giris__tur svg { box-sizing: content-box; padding: 7px; border-radius: 12px; background: var(--tur-zemin); color: var(--tur-renk); }
.giris__tur--otel { --tur-renk: #0A6C8C; --tur-zemin: #DDF0F5; }
.giris__tur--apart { --tur-renk: #B45309; --tur-zemin: #FBEBD5; }
.giris__tur--pansiyon { --tur-renk: #2F7A3B; --tur-zemin: #E1F0E2; }
.giris__tur--motel { --tur-renk: #8E2C5A; --tur-zemin: #F5E1EA; }
.giris__tur strong { font-family: var(--display); font-size: 20px; }
.giris__tur small { font-size: 13px; font-weight: 700; color: var(--muted); }
.giris__hizli { display: flex; flex-wrap: wrap; gap: 8px; }
/* Hızlı seç düğmeleri fotoğrafın üstünde belirgin: beyaz zemin, koyu yazı, gölge */
.chip--cam { background: #FFFFFF; border: 2px solid #FFFFFF; color: var(--ink); font-weight: 800; box-shadow: 0 4px 14px rgba(0,0,0,.22); }
.chip--cam:hover { background: var(--sea-tint); border-color: var(--sea); color: var(--ink); }

/* Kısayollar (açılışın altında) */
.kisayollar-bolum { padding: 14px var(--gutter) 0; }
.kisayollar { display: flex; flex-wrap: wrap; gap: 8px; }
.kisayol { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px 6px 6px; border: 1px solid var(--line); border-radius: 999px; background: #FFFFFF; color: var(--ink); text-decoration: none; font-weight: 800; font-size: 15px; white-space: nowrap; }
.kisayol:hover { border-color: var(--ink); color: var(--ink); }
.kisayol > span { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: var(--sea-tint); color: var(--sea-dark); }
.kisayol small { padding: 1px 7px; border-radius: 999px; background: var(--cta); color: #FFFFFF; font-size: 12px; }
.kisayol--vurgu { border-color: var(--cta); }
.kisayol--vurgu > span { background: #FDECE4; color: var(--cta); }

/* Ada rehberi fotoğraflı kartları */
.rehber-kartlar { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.rehber-kart { position: relative; display: block; height: 240px; border-radius: 20px; overflow: hidden; color: #FFFFFF; text-decoration: none; }
.rehber-kart > :first-child { position: absolute; inset: 0; width: 100%; height: 100%; }
.rehber-kart img { transition: transform .4s; }
.rehber-kart:hover img { transform: scale(1.04); }
.rehber-kart::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(15,42,51,.85)); }
.rehber-kart__metin { position: absolute; left: 16px; right: 16px; bottom: 14px; z-index: 1; display: flex; flex-direction: column; gap: 2px; }
.rehber-kart__metin strong { font-family: var(--display); font-size: 20px; line-height: 1.15; }
.rehber-kart__metin small { font-size: 13px; opacity: .9; }
.rehber-kart:hover { color: #FFFFFF; }

/* Katlanan uzun yazı ("Devamını oku") */
.katla > summary { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; font-weight: 800; color: var(--sea); list-style: none; }
.katla > summary::-webkit-details-marker { display: none; }
.katla > summary::after { content: "▾"; }
.katla[open] > summary { margin-bottom: 8px; }
.katla[open] > summary::after { content: "▴"; }
.diger-ac { display: none; }

@media (max-width: 900px) {
  .giris__turler { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rehber-kartlar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  /* Telefonda başlık 51 px + kısayollar ≈ 80 px pay */
  .giris { min-height: 470px; min-height: clamp(430px, calc(100svh - 150px), 540px); padding: 22px 16px 16px; }
  .giris__ic { gap: 28px; }
  .giris__yazilar { gap: 10px; }
  .giris__dugmeler { gap: 10px; }
  /* Dar ekranda fotoğrafın sağa yakın kısmı (turkuaz sığ su + kumsal) görünsün */
  .giris__foto { object-position: 66% 50%; }
  /* Telefonda yazı tüm genişlikte: üstte açık, yazının olduğu alt yarıda koyulaşan hafif gölge */
  .giris::after { background: linear-gradient(180deg, rgba(15,42,51,.62) 0%, rgba(15,42,51,.38) 45%, rgba(15,42,51,.12) 75%, rgba(15,42,51,.30) 100%); }
  .giris__ic { gap: 12px; }
  .giris__ust { font-size: 12px; }
  .giris__baslik { font-size: 24px; }
  .giris__slogan { font-size: 15px; }
  .giris__tur svg { padding: 5px; }
  .giris__turler { gap: 10px; }
  .giris__tur { flex-direction: row; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 14px; }
  .giris__tur strong { font-size: 17px; }
  .giris__tur small { display: none; }
  /* Telefonda yan yana kaydırılan satırlar (kısayollar, hızlı seç, temalar, firmalar, rehber) */
  .kaydir { display: flex; flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; margin: 0 -16px; padding: 0 16px 4px; }
  .kaydir::-webkit-scrollbar { display: none; }
  .kaydir > * { flex: none; scroll-snap-align: start; }
  .kisayollar-bolum { padding-top: 14px; }
  .kisayol { font-size: 14px; padding-right: 14px; }
  .rehber-kartlar { gap: 10px; }
  .rehber-kart { width: 230px; height: 200px; }
  /* Telefonda kaymayan sade düzen (kullanıcı isteği): temalar iki sütun küçük düğme, feribotlar "Diğer tesisler" gibi
     tek satırlık liste. .grid-auto (display: grid) dosyada daha aşağıda; ezmesin diye çift sınıf. */
  .grid-auto.themes { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .themes .theme-tile { flex-direction: row; justify-content: flex-start; gap: 10px; min-height: 56px; padding: 10px 12px; text-align: left; font-size: 14px; border-radius: 14px; }
  .themes .theme-tile svg { flex: none; width: 26px; height: 26px; }
  .grid-auto.firma-liste { grid-template-columns: 1fr; gap: 8px; }
  .firma-liste .ferry { flex-direction: row; align-items: center; gap: 12px; padding: 8px; border-radius: 16px; }
  .firma-liste .ferry__media { flex: none; width: 64px; height: 64px; border-radius: 12px; overflow: hidden; }
  .firma-liste .ferry__badge { display: none; }
  .firma-liste .ferry__body { flex: 1; min-width: 0; flex-direction: row; flex-wrap: wrap; align-items: center; padding: 0; column-gap: 8px; }
  .firma-liste .ferry__name { font-size: 18px; }
  .firma-liste .ferry__route { flex-basis: 100%; order: 2; font-size: 14px; }
  .firma-liste .ferry__more { margin: 0 0 0 auto; padding: 0; font-size: 0; }
  .firma-liste .ferry__more svg { width: 20px; height: 20px; }
  .firma-liste .price-card { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 10px; padding: 14px 16px; border-radius: 16px; }
  .firma-liste .price-card .price-card__rows, .firma-liste .price-card .stack span:last-child { display: none; }
  .firma-liste .price-card .btn { margin-left: auto; min-height: 40px; }
  /* Diğer tesisler: ilk 6, kalanı düğmeyle */
  .diger-liste:not(.diger-liste--acik) > :nth-child(n+7) { display: none; }
  .diger-ac { display: block; }
  .diger-liste--acik + .diger-ac { display: none; }
  .section { padding-top: 40px; padding-bottom: 40px; }
  .band-sea { padding: 40px 16px; }
  .why { gap: 14px; padding: 18px; }
  .why > div { min-width: 0; gap: 4px; }
  .why > div .muted { font-size: 14px; }
}

/* ---------- Görsel yer tutucu (fotoğraf yüklenene kadar) ---------- */
.ph { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: var(--ph-ink); font-size: 13px; font-weight: 700; text-align: center; }
.ph--1 { background: var(--tint-1); }
.ph--2 { background: var(--tint-2); }
.ph--3 { background: var(--tint-3); }
.ph--4 { background: var(--tint-4); }
.ph--hero { background: #CFE2E8; width: 100%; height: 100%; }
.cover { width: 100%; height: 100%; object-fit: cover; }

/* ---------- Tür kartları ---------- */
.grid-auto { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(min(var(--min, 260px), 100%), 1fr)); }
.grid-fit { grid-template-columns: repeat(auto-fit, minmax(min(var(--min, 260px), 100%), 1fr)); }
.tile { display: flex; flex-direction: column; gap: 10px; padding: 22px; border-radius: 20px; border: 1px solid var(--line); text-decoration: none; color: var(--ink); }
.tile:hover { border-color: var(--input); color: var(--ink); }
.tile__icon { width: 48px; height: 48px; border-radius: 14px; display: flex; align-items: center; justify-content: center; }
.tile__title { font-family: var(--display); font-size: 22px; font-weight: 700; }
.tile__text { font-size: 15px; color: var(--muted); }
.tile__more { font-size: 14px; font-weight: 800; color: var(--sea); }
.ic--sea { background: var(--sea-tint); color: var(--sea-dark); }
.ic--sand { background: #F3EBDD; color: #7A4A12; }
.ic--green { background: #E2EDE3; color: #2D5A33; }
.ic--wine { background: #EFE3E8; color: var(--wine); }

/* ---------- Tatil temaları ---------- */
.band-cta { background: var(--cta); color: #FFFFFF; padding: 48px var(--gutter); }
.band-cta .lead { color: #FFFFFF; }
.theme-tile { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; min-height: 140px; padding: 20px 14px; border-radius: 16px; background: #FFFFFF; color: var(--ink); text-decoration: none; text-align: center; font-weight: 800; font-size: 15px; }
.theme-tile:hover { color: var(--ink); box-shadow: 0 0 0 3px rgba(255,255,255,.5); }
.theme-tile svg { color: var(--cta); }
@media (max-width: 640px) {
  .band-cta { margin: 22px 16px 0; padding: 20px 14px; border-radius: 22px; }
  .themes { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .theme-tile { min-height: 100px; padding: 14px 6px; font-size: 13px; gap: 8px; border-radius: 14px; }
  .theme-tile svg { width: 30px; height: 30px; }
}

/* ---------- Tesis kartları ---------- */
.card { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 20px; overflow: hidden; background: #FFFFFF; }
.card__media { position: relative; display: block; height: 190px; text-decoration: none; }
.card__badge { position: absolute; top: 12px; left: 12px; background: #FFFFFF; color: var(--ink); font-size: 12px; font-weight: 800; padding: 6px 10px; border-radius: 999px; }
.card__body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 4px; flex: 1; }
.card__type { font-size: 12px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); }
.card__title { margin: 0; font-family: var(--display); font-size: 21px; font-weight: 700; letter-spacing: -0.01em; }
.card__title a { color: var(--ink); text-decoration: none; }
.card__title a:hover { color: var(--sea); }
.price { margin: 0; font-size: 15px; font-weight: 800; color: var(--price); }
.price--none { font-weight: 400; color: var(--muted); }
.card__actions { display: flex; gap: 8px; margin-top: auto; padding-top: 14px; }
.card__actions .btn { flex: 1; font-size: 14px; padding: 0 10px; }

.compact { display: flex; align-items: center; gap: 12px; padding: 10px; border: 1px solid var(--line); border-radius: 16px; }
.compact__thumb { flex: none; width: 64px; height: 64px; border-radius: 12px; overflow: hidden; }
.compact__text { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.compact__text a { color: var(--ink); text-decoration: none; font-weight: 800; }
.compact__text a:hover { color: var(--sea); }
.compact__text span { font-size: 14px; color: var(--muted); }
.compact__text span.is-price { font-weight: 700; color: var(--price); }
.compact .icon-btn { border: 0; background: var(--sea-tint); color: var(--sea-dark); }
@media (max-width: 640px) {
  .cards-featured { display: flex; overflow-x: auto; gap: 12px; padding-bottom: 4px; scroll-snap-type: x mandatory; }
  .cards-featured .card { flex: none; width: 262px; scroll-snap-align: start; }
  .cards-featured .card__media { height: 150px; }
}

/* ---------- Ulaşım ---------- */
.band-sea { background: var(--sea); color: #FFFFFF; padding: 64px var(--gutter); }
.band-sea .lead { color: #FFFFFF; }
.ferry { display: flex; flex-direction: column; border-radius: 20px; overflow: hidden; background: #FFFFFF; color: var(--ink); text-decoration: none; }
.ferry:hover { color: var(--ink); box-shadow: 0 0 0 3px rgba(255,255,255,.45); }
.ferry__media { position: relative; height: 150px; }
.ferry__badge { position: absolute; top: 12px; right: 12px; }
.ferry__body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 2px; flex: 1; }
.ferry__name { font-family: var(--display); font-size: 22px; font-weight: 800; }
.ferry__route { font-size: 15px; font-weight: 700; color: var(--muted); }
.ferry__more { margin-top: auto; padding-top: 14px; display: flex; align-items: center; justify-content: space-between; font-weight: 800; color: var(--sea-dark); }
.price-card { display: flex; flex-direction: column; justify-content: space-between; gap: 16px; padding: 22px; border-radius: 20px; background: var(--ink); color: #FFFFFF; text-decoration: none; }
.price-card:hover { color: #FFFFFF; }
.price-card__rows { display: flex; flex-direction: column; gap: 8px; font-size: 15px; }
.price-card__rows span { display: flex; justify-content: space-between; gap: 8px; }
.price-card__rows em { font-style: normal; color: #C9D8DD; }
.price-card .btn { pointer-events: none; }

/* ---------- Duyurular ve etkinlikler ---------- */
.live { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: var(--ok-bg); color: var(--ok-ink); font-size: 14px; font-weight: 700; }
.live::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ok-ink); }
.panel { border: 1px solid var(--line); border-radius: 20px; overflow: hidden; background: #FFFFFF; }
.panel__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 16px 20px; background: var(--soft-2); }
.panel__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 20px; border-top: 1px solid var(--line); font-size: 14px; }
.notice { display: flex; gap: 16px; padding: 18px 20px; border-top: 1px solid var(--line); }
.datebox { flex: none; width: 58px; height: 58px; border-radius: 14px; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.1; background: var(--warn-bg); color: #8A3A14; }
.datebox b { font-family: var(--display); font-size: 22px; }
.datebox small { font-size: 12px; font-weight: 800; text-transform: uppercase; }
.datebox--dark { width: 52px; height: 52px; border-radius: 12px; background: var(--ink); color: #FFFFFF; }
.datebox--dark b { font-family: var(--body); font-size: 17px; }
.notice__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.notice__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: var(--muted); }
.notice__text { margin: 0; font-size: 17px; font-weight: 700; }
.event { display: flex; align-items: center; gap: 14px; padding: 14px 20px; border-top: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.event:hover { color: var(--ink); background: var(--soft-2); }
.event__text { display: flex; flex-direction: column; line-height: 1.35; min-width: 0; }
.event__type { font-size: 12px; font-weight: 800; color: var(--wine); text-transform: uppercase; }
.event__meta { font-size: 14px; color: var(--muted); }
.empty { padding: 18px 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: 15px; }

/* ---------- Rehber ve neden ---------- */
.guide-feature { flex: 1 1 440px; min-width: 0; display: flex; flex-direction: column; border-radius: 24px; overflow: hidden; background: var(--soft); text-decoration: none; color: var(--ink); }
.guide-feature:hover { color: var(--ink); }
.split { display: flex; flex-wrap: wrap; gap: 16px; }
.split > * { flex: 1 1 440px; min-width: 0; }
.why { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)); gap: 24px; padding: 28px; border-radius: 24px; background: var(--soft); }
.why > div { display: flex; flex-direction: column; gap: 8px; }
.owner-cta { display: flex; flex-direction: column; justify-content: center; gap: 14px; padding: 28px; border-radius: 24px; background: var(--ink); color: #FFFFFF; }
.owner-cta p { margin: 0; color: #C9D8DD; }

/* ---------- Alt bilgi ---------- */
.site-footer { background: var(--ink); color: #FFFFFF; padding: 56px var(--gutter) 32px; }
.site-footer a { color: #A9C0C7; text-decoration: none; }
.site-footer a:hover { color: #FFFFFF; }
.footer-cols { display: flex; flex-wrap: wrap; gap: 40px; }
.footer-cols nav { flex: 1 1 140px; display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.footer-cols strong { font-weight: 800; }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 24px; margin-top: 40px; border-top: 1px solid #2A4650; font-size: 14px; color: #A9C0C7; }

/* ---------- Tesis detay ve liste ---------- */
.breadcrumb { display: flex; flex-wrap: wrap; gap: 6px; font-size: 14px; color: var(--muted); }
/* Tesis sayfasının başı: ad büyük; telefonda sıkı (fotoğraf ekranın üstünde görünsün) */
.tesis-baslik .h1 { font-size: clamp(34px, 4vw, 52px); }
.tesis-mobil-ust { display: none; }
@media (max-width: 900px) {
  .section.tesis-sayfa { padding-top: 8px; }
  .tesis-sayfa > .wrap.stack { gap: 12px; }
  /* Yol satırı yerine tek satır: "‹ Avşa otelleri" ……… "3 misafir yorumu" */
  .tesis-yol { display: none; }
  .tesis-mobil-ust { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 8px; min-height: 26px; font-size: 13.5px; }
  .tesis-mobil-ust__geri { color: var(--muted); font-weight: 700; text-decoration: none; white-space: nowrap; }
  .tesis-mobil-ust .tesis-yorum { white-space: nowrap; font-weight: 700; }
  .tesis-mobil-ust .puan-rozet { font-size: 12px; }
  .tesis-mobil-ust .pill { white-space: nowrap; font-size: 12px; }
  /* Ad ve rozetler ortada; yorum bağlantısı yukarı taşındığı için burada yok, başka rozet yoksa satır kalkar */
  .tesis-baslik { gap: 6px !important; text-align: center; }
  .tesis-baslik .card__type { display: none; }
  .tesis-baslik .h1 { font-size: 27px; line-height: 1.1; }
  .tesis-baslik .chips { justify-content: center; }
  .tesis-baslik .chips > .tesis-yorum, .tesis-baslik .chips > .tesis-etiket { display: none; }
  .tesis-baslik .chips:not(:has(> :not(.tesis-yorum, .tesis-etiket))) { display: none; }
}
.breadcrumb a { color: var(--muted); }
.facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; }
.facts > div { padding: 16px; border-radius: 16px; background: var(--soft); display: flex; flex-direction: column; gap: 2px; }
.facts small { font-size: 13px; font-weight: 700; color: var(--muted); }
.facts strong { font-weight: 800; }
.price-table { width: 100%; border-collapse: collapse; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.price-table th, .price-table td { padding: 14px 20px; border-top: 1px solid var(--line); }
.price-table th { text-align: left; font-weight: 800; }
.price-table td { text-align: right; color: var(--muted); }
.price-table td.has-price { color: var(--price); font-weight: 800; }
.contact-card { border: 1px solid var(--line); border-radius: 22px; padding: 22px; display: flex; flex-direction: column; gap: 14px; }
.layout-2 { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.layout-2 > .main { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 32px; }
.layout-2 > .side { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.list-card { display: flex; flex-wrap: wrap; border: 1px solid var(--line); border-radius: 20px; overflow: hidden; }
.list-card__media { flex: 1 1 240px; min-height: 200px; }
.list-card__body { flex: 999 1 300px; min-width: 0; padding: 20px 22px; display: flex; flex-direction: column; gap: 6px; }
.page-head { background: var(--soft); padding: 28px var(--gutter) 32px; }
.prose { max-width: 760px; font-size: 17px; }
.prose p { margin: 0 0 1em; }

/* ---------- Telefon ekranı sıkılaştırmaları ---------- */
@media (max-width: 640px) {
  .section { padding-top: 40px; padding-bottom: 40px; }
  .band-sea { padding-top: 40px; padding-bottom: 40px; }
  .alert-bar { justify-content: flex-start; font-size: 13px; }
  .types { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .types .tile { padding: 14px; gap: 6px; border-radius: 16px; }
  .types .tile__text, .types .tile__more { display: none; }
  .types .tile__title { font-size: 18px; }
  .types .tile__icon { width: 40px; height: 40px; border-radius: 12px; }
  /* Feribot firmaları telefonda tek satırlık liste: kurallar "Ana sayfa açılışı" bölümünde (.firma-liste) */
  #firmalar .ph span { display: none; }
  .guide-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .guide-tiles .tile { padding: 14px; }
  .guide-tiles .tile__text { display: none; }
  .guide-feature > div:first-child { height: 180px !important; }
}

/* ---------- Tesis galerisi ---------- */
.gallery-bos { height: 180px; border-radius: 22px; overflow: hidden; }
@media (max-width: 640px) { .gallery-bos { height: 120px; } }

/* Tesis sayfası: mobilde telefon ve WhatsApp düğmeleri ekranın altında sabit, masaüstünde yan kart sabit */
.iletisim-bar { display: none; }
@media (min-width: 901px) {
  .layout-2 > #iletisim { position: sticky; top: 96px; align-self: flex-start; }
}
@media (max-width: 900px) {
  /* Sıkı yerleşim: ekranın olabildiğince azını kaplasın (şerit + WhatsApp + numaralar ≈ 130 px) */
  .iletisim-bar { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; padding: 5px 10px calc(5px + env(safe-area-inset-bottom)); background: #FFFFFF; border-top: 1px solid var(--line); box-shadow: 0 -6px 18px rgba(15,42,51,.12); }
  /* "avsa.com'dan aradığınızı belirtin": kırmızı şerit, beyaz yazı */
  .iletisim-bar__not { margin: 0 0 5px; padding: 2px 8px; border-radius: 8px; background: #DC2626; color: #FFFFFF; text-align: center; font-size: 12.5px; line-height: 1.4; font-weight: 800; letter-spacing: .01em; }
  /* Telefon numaraları: kırmızı, büyük */
  .iletisim-bar .btn.btn--cta { min-height: 42px; background: #DC2626; font-size: 19px; font-weight: 800; letter-spacing: .01em; }
  .iletisim-bar .btn.btn--cta:hover { background: #B91C1C; }
  .iletisim-bar .btn svg { flex: none; }
  /* Tek satır: WhatsApp · ilk numara (geniş) · ikinci numara küçük düğme (şerit + satır ≈ 85 px) */
  .iletisim-bar__ic { display: flex; flex-wrap: nowrap; gap: 5px; }
  .iletisim-bar__ic > .btn { flex: 1 1 0; min-width: 0; }
  .iletisim-bar__ic > .iletisim-bar__wa { flex: 0 0 auto; padding: 0 12px; font-size: 15px; font-weight: 800; }
  .iletisim-bar__ic > .iletisim-bar__ikinci { flex: 0 0 auto; flex-direction: column; gap: 0; padding: 0 8px; font-size: 11px !important; line-height: 1.1; }
  .iletisim-bar__ikinci small { font-size: 11px; font-weight: 800; }
  .iletisim-bar .btn { min-height: 42px; padding: 0 6px; gap: 6px; font-size: 15px; border-radius: 10px; white-space: nowrap; overflow: hidden; }
  .iletisim-bar .btn--wa-hat { min-height: 44px; padding: 0 10px; gap: 8px; box-shadow: none; }
  .iletisim-bar .wa-ikon { width: 30px; height: 30px; }
  .iletisim-bar .wa-metin { font-size: 16px; }
  body.iletisim-barli .site-footer { padding-bottom: 110px; }
}
@media (max-width: 350px) {
  .insta { padding: 0 4px; }
  .insta__ad { display: none; }
  /* En küçük telefonlar: logo, "Ara", Instagram ve menü tek satıra sığsın */
  .site-header { padding-left: 10px; padding-right: 10px; gap: 6px; }
  .header-actions { gap: 6px; }
  .logo { gap: 6px; }
  .logo__mark { width: 30px; height: 30px; }
  .logo__text { font-size: 19px; }
  .icon-btn.site-arama__dugme { padding: 0 9px 0 8px; }
  .iletisim-bar .btn:not(.btn--cta) { font-size: 13px; }
}
.thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(140px, 100%), 1fr)); gap: 8px; }
.thumbs a { display: block; aspect-ratio: 4 / 3; border-radius: 12px; overflow: hidden; background: var(--soft); }
.thumbs img { width: 100%; height: 100%; object-fit: cover; }
.lightbox { width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(8,20,25,.94); }
.lightbox[open] { display: flex; align-items: center; justify-content: center; }
.lightbox::backdrop { background: rgba(8,20,25,.94); }
.lightbox img { max-width: min(1600px, 94vw); max-height: 86vh; object-fit: contain; border-radius: 8px; }
.lightbox__btn { position: absolute; width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgba(255,255,255,.14); color: #FFFFFF; font-size: 28px; line-height: 1; cursor: pointer; }
.lightbox__btn:hover { background: rgba(255,255,255,.28); }
.lightbox__close { top: 16px; right: 16px; font-size: 20px; }
.lightbox__prev { left: 16px; top: 50%; transform: translateY(-50%); }
.lightbox__next { right: 16px; top: 50%; transform: translateY(-50%); }
.lightbox__count { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); color: #C9D8DD; font-weight: 700; font-size: 14px; }
.prose img { max-width: 100%; height: auto; border-radius: 14px; }

/* ---------- Misafir yorumları ve puanlar (10 üzerinden) ---------- */
.puan-rozet { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 32px; padding: 0 8px; border-radius: 10px 10px 10px 2px; background: var(--sea); color: #FFFFFF; font-weight: 800; font-size: 15px; font-variant-numeric: tabular-nums; }
.puan-rozet--buyuk { min-width: 64px; height: 56px; font-size: 26px; border-radius: 14px 14px 14px 3px; }
.puan-baglanti { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--ink); }
.card__puan { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; font-weight: 700; color: var(--ink); }
.card__puan .puan-rozet { min-width: 34px; height: 26px; font-size: 13px; }
.card__puan .muted { font-weight: 500; }

.puan-ozet { display: grid; grid-template-columns: auto 1fr; gap: 20px 32px; align-items: center; padding: 22px; border-radius: 22px; background: var(--soft); }
.puan-ozet__genel { display: flex; align-items: center; gap: 14px; }
.puan-ozet__genel strong { display: block; font-size: 20px; }
.puan-ozet__genel .muted { font-size: 14px; }
.puan-ozet__konular { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px 24px; margin: 0; }
.puan-ozet__konular dt { font-size: 14px; font-weight: 700; color: var(--muted); }
.puan-ozet__konular dd { display: flex; align-items: center; gap: 10px; margin: 4px 0 0; }
.puan-ozet__konular b { min-width: 28px; text-align: right; font-variant-numeric: tabular-nums; }
.puan-cubuk { flex: 1; height: 8px; border-radius: 99px; background: #FFFFFF; overflow: hidden; }
.puan-cubuk span { display: block; height: 100%; border-radius: inherit; background: var(--sea); }
@media (max-width: 640px) { .puan-ozet { grid-template-columns: 1fr; } }

.yorum { display: flex; flex-direction: column; gap: 10px; padding: 18px 0; border-top: 1px solid var(--line); }
.yorum__ust { display: flex; align-items: center; gap: 12px; }
.yorum__harf { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--sea-tint); color: var(--sea-dark); font-weight: 800; }
.yorum__kim { flex: 1; min-width: 0; display: flex; flex-direction: column; font-size: 14px; }
.yorum__kim strong { font-size: 16px; }
.yorum__metin { margin: 0; white-space: pre-line; }
.yorum__konular { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.yorum__konular li { padding: 4px 10px; border-radius: 999px; background: var(--soft); font-size: 13px; color: var(--muted); }
.yorum__konular b { color: var(--ink); }
.yorum__yanit { margin-left: 52px; padding: 12px 16px; border-left: 3px solid var(--sea); border-radius: 0 12px 12px 0; background: var(--sea-tint); font-size: 15px; }
.yorum__yanit p { margin: 4px 0 0; white-space: pre-line; }
@media (max-width: 640px) { .yorum__yanit { margin-left: 0; } }

.yorum-bildirim { margin: 0; padding: 14px 16px; border-radius: 14px; background: var(--ok-bg); color: var(--ok-ink); font-weight: 600; }
.yorum-bildirim--uyari { background: var(--warn-bg); color: var(--warn-ink); }

.yorum-form { padding-top: 6px; }
.yorum-form > summary { list-style: none; width: fit-content; }
.yorum-form > summary::-webkit-details-marker { display: none; }
.yorum-form[open] > summary { display: none; }
.yorum-form form { padding: 22px; border: 1px solid var(--line); border-radius: 22px; }
.gizli-alan { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.alan { display: flex; flex-direction: column; gap: 6px; font-weight: 700; font-size: 15px; }
.alan em { font-style: normal; font-weight: 500; }
.alan input, .alan textarea, .alan select { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--input); border-radius: 12px; background: #FFFFFF; color: var(--ink); font: inherit; font-weight: 500; }
.alan textarea { resize: vertical; }
.alan input:focus, .alan textarea:focus, .alan select:focus { outline: 2px solid var(--sea); outline-offset: 1px; }
.alan-ikili { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.onay-kutusu { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; }
.onay-kutusu input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--sea); }

.puan-sec { margin: 0; padding: 0; border: 0; display: flex; flex-direction: column; gap: 12px; }
.puan-sec legend { padding: 0; margin-bottom: 4px; font-weight: 800; }
.puan-sec legend .muted { font-weight: 500; font-size: 14px; }
.puan-sec__satir { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; }
.puan-sec__ad { width: 170px; font-size: 15px; font-weight: 700; }
.puan-sec__dugmeler { display: flex; gap: 4px; }
.puan-sec__dugmeler label { position: relative; }
.puan-sec__dugmeler input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.puan-sec__dugmeler span { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 10px; background: #FFFFFF; font-weight: 700; font-size: 14px; cursor: pointer; }
.puan-sec__dugmeler label:hover span { border-color: var(--input); }
.puan-sec__dugmeler input:checked + span { background: var(--sea); border-color: var(--sea); color: #FFFFFF; }
.puan-sec__dugmeler input:focus-visible + span { outline: 2px solid var(--sea); outline-offset: 2px; }
@media (max-width: 480px) {
  .puan-sec__ad { width: 100%; }
  .puan-sec__dugmeler { width: 100%; gap: 3px; }
  .puan-sec__dugmeler label { flex: 1; }
  .puan-sec__dugmeler span { width: 100%; height: 34px; font-size: 13px; }
}

/* ---------- Tesis sayfası (yeni düzen) ---------- */
html:has(.bolum-sekmeleri) { scroll-padding-top: 150px; }

.galeri { position: relative; display: grid; gap: 10px; height: 440px; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: repeat(2, minmax(0, 1fr)); }
.galeri > a { display: block; min-width: 0; min-height: 0; overflow: hidden; border-radius: 14px; color: inherit; background: var(--soft); }
.galeri > a img { transition: transform .4s ease; }
.galeri > a:hover img { transform: scale(1.03); }
.galeri__kapak { grid-row: 1 / -1; border-radius: 22px 14px 14px 22px !important; }
.galeri--4 .galeri__kucuk:last-of-type { grid-column: span 2; }
.galeri--3 { grid-template-columns: 2fr 1fr; }
.galeri--2 { grid-template-columns: 2fr 1fr; }
.galeri--2 .galeri__kucuk { grid-row: 1 / -1; }
.galeri--1 { grid-template-columns: 1fr; }
.galeri--1 .galeri__kapak { border-radius: 22px !important; }
.galeri__tumu { position: absolute; right: 16px; bottom: 16px; display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 16px; border: 0; border-radius: 12px; background: #FFFFFF; color: var(--ink); font: inherit; font-weight: 800; font-size: 14px; box-shadow: 0 4px 16px rgba(15,42,51,.22); cursor: pointer; }
.galeri__tumu:hover { background: var(--soft); }
@media (max-width: 900px) { .galeri { height: 360px; } }
@media (max-width: 640px) {
  .galeri, .galeri--2, .galeri--3 { height: auto; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: auto; gap: 6px; margin: 0 calc(var(--gutter) * -1); }
  .galeri__kapak { grid-column: 1 / -1; grid-row: auto; height: 250px; border-radius: 0 !important; }
  .galeri__kucuk { height: 64px; border-radius: 10px !important; grid-row: auto !important; grid-column: auto !important; }
  .galeri__kucuk:first-of-type { margin-left: var(--gutter); }
  .galeri__kucuk:last-of-type { margin-right: var(--gutter); }
  .galeri--1 { grid-template-columns: 1fr; }
  .galeri__tumu { top: 198px; bottom: auto; right: calc(var(--gutter) + 4px); min-height: 38px; font-size: 13px; }
}

/* --ust-yukseklik: üst başlığın gerçek yüksekliği (layouts/site'taki betik ölçer); sekmeler tam altına yapışır, arada boşluk kalmaz */
.bolum-sekmeleri { position: sticky; top: var(--ust-yukseklik, 72px); z-index: 30; display: flex; gap: 4px; margin: 0 calc(var(--gutter) * -1); padding: 8px var(--gutter); overflow-x: auto; scrollbar-width: none; background: rgba(255,255,255,.96); backdrop-filter: blur(6px); border-bottom: 1px solid var(--line); }
.bolum-sekmeleri::-webkit-scrollbar { display: none; }
.bolum-sekmeleri a { flex: none; padding: 8px 14px; border-radius: 999px; color: var(--muted); font-weight: 700; font-size: 15px; text-decoration: none; white-space: nowrap; }
.bolum-sekmeleri a:hover { color: var(--ink); background: var(--soft); }
.bolum-sekmeleri a[aria-current] { color: #FFFFFF; background: var(--ink); }
@media (min-width: 901px) { .layout-2 > #iletisim { top: 150px; } }

.ozellikler { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; }
@media (max-width: 640px) {
  .ozellikler { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .ozellik { flex-direction: column; align-items: flex-start; gap: 8px; padding: 12px; }
  .ozellik__ikon { width: 36px; height: 36px; }
}
.ozellik { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 16px; }
.ozellik > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.ozellik small { font-size: 13px; font-weight: 700; color: var(--muted); }
.ozellik strong { font-weight: 800; }
.guncelleme-notu { margin: 0; padding-top: 12px; border-top: 1px solid var(--line); font-size: 14px; }
.ozellik--baglanti { color: var(--ink); text-decoration: none; }
.ozellik--baglanti:hover { border-color: var(--ink); color: var(--ink); }
.ozellik--baglanti strong + small { font-weight: 600; }
.ozellik__ikon { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 42px; height: 42px; border-radius: 12px; background: var(--sea-tint); color: var(--sea-dark); }

.one-cikanlar { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.one-cikanlar li { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: var(--ok-bg); color: var(--ok-ink); font-weight: 700; font-size: 14px; }

/* İşletmenin yazdığı tanıtımdaki başlıklar sayfa başlıklarından küçük kalsın */
.aciklama h1, .aciklama h2 { font-size: 22px; margin: 0 0 6px; }
.aciklama h3, .aciklama h4 { font-size: 18px; margin: 0 0 4px; }
.aciklama--kisa { max-height: 260px; overflow: hidden; -webkit-mask-image: linear-gradient(#000 60%, transparent); mask-image: linear-gradient(#000 60%, transparent); }
.link-dugme { padding: 0; border: 0; background: none; color: var(--sea); font: inherit; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

.olanak-gruplari { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px 28px; }
.olanak-grubu { display: flex; flex-direction: column; gap: 10px; }
.olanak-grubu > strong { font-size: 15px; }
.olanak-grubu ul { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.olanak-grubu li { display: flex; align-items: center; gap: 10px; font-size: 15px; }
.olanak-grubu li svg { flex: none; color: var(--ok-ink); }

.price-table tr.bu-ay { background: var(--soft); }
.price-table th .pill { margin-left: 6px; vertical-align: 2px; }

.konum-adres { display: flex; align-items: flex-start; gap: 8px; margin: 0; }
.konum-adres svg { flex: none; margin-top: 3px; color: var(--sea); }
.harita { height: 320px; border-radius: 18px; overflow: hidden; background: var(--soft); }
.harita iframe { display: block; width: 100%; height: 100%; border: 0; }
@media (max-width: 640px) { .harita { height: 240px; } }

.yan-puan { display: flex; align-items: center; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.yan-puan > span:last-child { display: flex; flex-direction: column; }
.yan-puan small { font-size: 13px; }
/* ---------- Kategori sayfası rehberi ---------- */
.kategori-rehberi { display: flex; flex-direction: column; gap: 24px; margin-top: 16px; padding-top: 32px; border-top: 1px solid var(--line); }
.en-iyiler { display: flex; flex-direction: column; gap: 10px; margin: 0; padding-left: 22px; }
.en-iyiler li { padding-left: 4px; }
.en-iyiler li::marker { font-weight: 800; color: var(--muted); }
.en-iyiler a { font-weight: 800; color: var(--ink); }
.en-iyiler .card__puan { margin-top: 4px; }
.sss { border: 1px solid var(--line); border-radius: 14px; background: #FFFFFF; }
.sss summary { padding: 14px 18px; font-weight: 800; cursor: pointer; }
.sss p { margin: 0; padding: 0 18px 16px; color: var(--ink); }
.sss[open] summary { color: var(--sea-dark); }

/* ---------- Tesis galerisi: bölüm sekmeleri (Tümü, Genel, Aqua Park, odalar …) ---------- */
.thumbs a[hidden] { display: none; }
.galeri-sekmeleri .chip { gap: 6px; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.galeri-sekmeleri .chip span { font-weight: 600; opacity: .65; }
.galeri-sekmeleri .chip[aria-current] span { opacity: .85; }

/* ---------- İşletme başvuru formu ---------- */
.basvuru-bolum { display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 22px; border: 1px solid var(--line); border-radius: 22px; }
.basvuru-bolum legend { padding: 0 6px; font-family: var(--display); font-size: 20px; font-weight: 800; }
.basvuru-bolum legend .muted { font-family: var(--body); font-size: 14px; font-weight: 500; }
.fiyat-satirlari { display: flex; flex-direction: column; gap: 8px; }
.fiyat-satiri { display: grid; grid-template-columns: 90px minmax(0, 1fr) minmax(0, 1fr); gap: 10px; align-items: center; }
.olanak-secim { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 6px 16px; }
.olanak-secim .onay-kutusu { font-size: 15px; }
.tesis-sahibi { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border-radius: 16px; border: 1px dashed var(--input); font-size: 14px; }
.tesis-sahibi a { font-weight: 800; }
@media (max-width: 480px) { .fiyat-satiri { grid-template-columns: 70px minmax(0, 1fr) minmax(0, 1fr); gap: 6px; } .basvuru-bolum { padding: 16px; } }

/* ---------- Ana sayfa büyük fotoğraf ---------- */
.hero__zemin { width: 100%; height: 100%; background: linear-gradient(160deg, var(--sea) 0%, var(--sea-dark) 100%); }
.hero__zemin svg { display: block; width: 100%; height: 100%; }
.hero__etiket { position: absolute; right: 16px; top: 16px; padding: 6px 12px; border-radius: 999px; background: rgba(15,42,51,.55); color: #FFFFFF; font-size: 13px; font-weight: 700; backdrop-filter: blur(4px); }
@media (max-width: 640px) { .hero__etiket { right: 10px; top: 10px; font-size: 12px; } }

/* ---------- Sayfa altı: saate göre selam ---------- */
.selam { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 4px 14px; margin: 36px 0 0; text-align: center; color: #A9C0C7; font-size: 14px; }
.selam strong { color: #FFFFFF; font-family: var(--display); font-size: 18px; font-weight: 800; }

/* ---------- Ana sayfa başlığı: aranan kelimeli, daha ölçülü ---------- */
.hero__text .h1.hero__baslik { font-size: clamp(30px, 3.4vw, 46px); line-height: 1.08; }
.hero__slogan { margin: -8px 0 0; font-family: var(--display); font-size: clamp(19px, 1.8vw, 24px); font-weight: 700; color: var(--ink); }
.hero__slogan strong { color: var(--sea); }
@media (max-width: 640px) { .hero__text .h1.hero__baslik { font-size: 28px; } .hero__slogan { font-size: 18px; } }


/* ---------- Ana sayfa: Avşa Adası hakkında + sık sorulanlar ---------- */
.avsa-hakkinda { background: var(--soft); }
.avsa-hakkinda__izgara { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.avsa-hakkinda .prose p:last-child { margin-bottom: 0; }
@media (max-width: 900px) { .avsa-hakkinda__izgara { grid-template-columns: 1fr; gap: 28px; } }

/* Feribot sefer sorgulama (/feribot-seferleri) */
.sefer-sorgu { display: grid; grid-template-columns: 1fr auto 1fr 1fr auto; gap: 12px; align-items: end; padding: 20px; border: 1px solid var(--line); border-radius: 20px; background: var(--soft-2); }
.sefer-sorgu__alan { display: flex; flex-direction: column; gap: 6px; font-weight: 800; }
.sefer-sorgu__alan select, .sefer-sorgu__alan input { min-height: 48px; border: 1px solid var(--input); border-radius: 12px; padding: 0 12px; font: inherit; font-weight: 600; background: #FFFFFF; width: 100%; }
.sefer-sorgu__degistir { min-height: 48px; width: 48px; border: 1px solid var(--line); border-radius: 12px; background: #FFFFFF; font-size: 20px; cursor: pointer; color: var(--sea); }
.sefer-sorgu .btn { min-height: 48px; }
.sefer-tablosu { width: 100%; border-collapse: collapse; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.sefer-tablosu th { text-align: left; font-size: 14px; color: var(--muted); padding: 10px 16px; background: var(--soft); }
.sefer-tablosu td { padding: 12px 16px; border-top: 1px solid var(--line); vertical-align: top; }
.sefer-tablosu td small { display: block; color: var(--muted); font-size: 13px; }
.sefer-tablosu__saat { font-weight: 800; font-size: 18px; color: var(--sea); white-space: nowrap; }
@media (max-width: 760px) {
  .sefer-sorgu { grid-template-columns: 1fr auto 1fr; }
  .sefer-sorgu__alan:nth-of-type(3), .sefer-sorgu .btn { grid-column: 1 / -1; }
  .sefer-tablosu th, .sefer-tablosu td { padding: 10px 10px; }
}
/* =====================================================================
   izmir.gen.tr yeni tasarım (b- önekli parçalar)
   ===================================================================== */
body { background: #FFFFFF; }
.kaydir { scrollbar-width: none; }
.kaydir::-webkit-scrollbar { display: none; }

/* Düğmeler */
.b-dugme { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 20px; border-radius: 10px; border: 1px solid transparent; font: inherit; font-weight: 800; font-size: 15px; text-decoration: none; cursor: pointer; white-space: nowrap; transition: background .15s, transform .15s; }
.b-dugme--koyu { background: var(--navy); color: #FFFFFF; }
.b-dugme--koyu:hover { background: var(--navy-2); color: #FFFFFF; }
.b-dugme--mavi { background: var(--sea); color: #FFFFFF; }
.b-dugme--mavi:hover { background: var(--sea-dark); color: #FFFFFF; }
.b-dugme--beyaz { background: #FFFFFF; color: var(--navy); }
.b-dugme--beyaz:hover { color: var(--sea); }
.b-dugme--cizgi { background: #FFFFFF; border-color: var(--line); color: var(--ink); }
.b-dugme--cizgi:hover { border-color: var(--sea); color: var(--sea); }
.b-ikon-dugme { list-style: none; width: 44px; height: 44px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; color: var(--ink); cursor: pointer; }
.b-ikon-dugme::-webkit-details-marker { display: none; }
.b-ikon-dugme:hover { background: var(--soft); color: var(--sea); }

/* Üst başlık */
.b-ust { position: sticky; top: 0; z-index: 40; background: rgba(255, 255, 255, .97); backdrop-filter: saturate(1.4) blur(8px); border-bottom: 1px solid var(--line); }
.b-ust__ic { max-width: 1280px; margin: 0 auto; display: flex; align-items: center; gap: 28px; padding: 10px var(--gutter); min-height: 72px; }
.b-logo { display: inline-flex; align-items: center; gap: 10px; color: var(--navy); text-decoration: none; flex: none; }
.b-logo:hover { color: var(--navy); }
.b-logo__simge { color: var(--navy); flex: none; }
.b-logo__yazi { display: flex; flex-direction: column; line-height: 1.05; }
.b-logo__ad { font-family: var(--display); font-weight: 800; font-size: 25px; letter-spacing: -0.02em; }
.b-logo__ad span { font-size: .72em; font-weight: 700; color: var(--sea); }
.b-logo__alt { font-size: 12px; font-weight: 600; color: var(--muted); }
.b-logo--acik, .b-logo--acik:hover, .b-logo--acik .b-logo__simge { color: #FFFFFF; }
.b-logo--acik .b-logo__ad span { color: #8FB4F5; }
.b-logo--acik .b-logo__alt { color: #A9B8D6; }
.b-menu { display: flex; align-items: center; gap: 4px 22px; margin-left: auto; font-size: 14px; font-weight: 700; }
.b-menu a { color: var(--ink); text-decoration: none; padding: 8px 0; border-bottom: 2px solid transparent; white-space: nowrap; }
.b-menu a:hover { color: var(--sea); }
.b-menu a[aria-current] { color: var(--navy); border-bottom-color: var(--navy); }
.b-ust__sag { display: flex; align-items: center; gap: 8px; }
.b-ust .site-arama__panel { right: 0; }
.b-mobil-menu { position: relative; display: none; }
.b-mobil-menu__panel { position: absolute; right: 0; top: calc(100% + 10px); width: min(300px, calc(100vw - 32px)); display: flex; flex-direction: column; padding: 10px; border-radius: 16px; background: #FFFFFF; border: 1px solid var(--line); box-shadow: var(--shadow); z-index: 50; }
.b-mobil-menu__panel a:not(.b-dugme) { padding: 12px 12px; border-radius: 10px; color: var(--ink); font-weight: 700; text-decoration: none; }
.b-mobil-menu__panel a:not(.b-dugme):hover { background: var(--soft); }
.b-mobil-menu__panel .b-dugme { margin-top: 8px; }
@media (max-width: 1180px) {
  .b-menu { display: none; }
  .b-mobil-menu { display: block; }
  .b-ust__sag { margin-left: auto; }
}
@media (max-width: 560px) {
  .b-gizle-mobil { display: none; }
  .b-logo__ad { font-size: 21px; }
  .b-logo__simge { width: 34px; height: 34px; }
  .b-ust__ic { min-height: 62px; gap: 12px; }
}

/* Açılış */
.b-giris { position: relative; isolation: isolate; display: flex; align-items: flex-start; min-height: clamp(330px, 46vh, 470px); overflow: hidden; background: var(--navy); }
.b-giris__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.b-giris::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(5, 20, 50, .55) 0%, rgba(5, 20, 50, .18) 55%, rgba(5, 20, 50, 0) 100%), linear-gradient(180deg, rgba(5, 20, 50, .0) 60%, rgba(5, 20, 50, .35) 100%); }
.b-giris__ic { width: 100%; max-width: 1280px; margin: 0 auto; padding: clamp(40px, 8vh, 84px) var(--gutter) 96px; color: #FFFFFF; }
.b-giris__baslik { margin: 0; max-width: 720px; font-family: var(--display); font-weight: 800; font-size: clamp(34px, 5vw, 56px); line-height: 1.05; letter-spacing: -0.025em; text-shadow: 0 2px 18px rgba(0, 0, 0, .35); }
.b-giris__baslik strong { font-weight: 800; color: #FFFFFF; }
.b-giris__slogan { margin: 14px 0 0; max-width: 520px; font-size: clamp(16px, 1.6vw, 19px); line-height: 1.5; color: rgba(255, 255, 255, .95); text-shadow: 0 1px 10px rgba(0, 0, 0, .4); }
.b-giris__slogan strong { color: #FFFFFF; }

/* Arama kutusu (açılışın altına biner) */
.b-arama-yeri { position: relative; z-index: 5; max-width: 1280px; margin: -78px auto 0; padding: 0 var(--gutter); }
.b-arama { max-width: 900px; }
.b-arama__sekmeler { display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 6px 8px 0; border-radius: 14px 14px 0 0; background: #FFFFFF; max-width: 100%; overflow-x: auto; }
.b-arama__sekme { position: relative; cursor: pointer; }
.b-arama__sekme input { position: absolute; opacity: 0; pointer-events: none; }
.b-arama__sekme span { display: inline-flex; align-items: center; gap: 7px; padding: 12px 14px 12px; font-size: 14px; font-weight: 700; color: var(--ink); border-bottom: 3px solid transparent; white-space: nowrap; }
.b-arama__sekme input:checked + span { color: var(--sea); border-bottom-color: var(--sea); }
.b-arama__sekme input:focus-visible + span { outline: 3px solid var(--sea); outline-offset: -3px; border-radius: 8px; }
.b-arama__satir { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) auto; gap: 10px; padding: 14px; border-radius: 0 14px 14px 14px; background: #FFFFFF; box-shadow: 0 18px 40px rgba(11, 27, 58, .16); }
.b-arama__alan { display: flex; align-items: center; gap: 10px; min-height: 50px; padding: 0 14px; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); background: #FFFFFF; }
.b-arama__alan:focus-within { border-color: var(--sea); box-shadow: 0 0 0 3px var(--sea-tint); }
.b-arama__alan input, .b-arama__alan select { flex: 1; min-width: 0; height: 48px; border: 0; outline: 0; background: transparent; font: inherit; font-size: 15px; color: var(--ink); }
.b-arama__alan select { cursor: pointer; }
.b-arama__dugme { min-height: 50px; padding: 0 30px; font-size: 16px; }
@media (max-width: 760px) {
  .b-arama-yeri { margin-top: -64px; }
  .b-arama__satir { grid-template-columns: 1fr; border-radius: 0 0 14px 14px; }
  .b-arama__sekmeler { display: flex; border-radius: 14px 14px 0 0; }
  .b-arama__sekme span { padding: 11px 10px; font-size: 13px; }
}

/* Bölümler */
.b-bolum { max-width: 1280px; margin: 0 auto; padding: 44px var(--gutter) 0; }
.b-bolum--dar { padding-top: 28px; }
.b-bolum:last-child { padding-bottom: 64px; }
.b-bolum__bas { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px 20px; margin-bottom: 20px; }
.b-bolum__baslik { margin: 0; font-family: var(--display); font-weight: 800; font-size: clamp(24px, 2.6vw, 30px); letter-spacing: -0.02em; color: var(--ink); }
.b-bolum__alt { margin: 4px 0 0; color: var(--muted); font-size: 15px; }
.b-tumu { display: inline-flex; align-items: center; gap: 4px; flex: none; color: var(--sea); font-weight: 800; font-size: 14px; text-decoration: none; }
.b-tumu:hover { color: var(--sea-dark); }

/* Kategoriler */
.b-kategoriler { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 12px; }
.b-kategori { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 108px; padding: 14px 6px; border: 1px solid var(--line); border-radius: var(--radius); background: #FFFFFF; color: var(--navy); text-decoration: none; text-align: center; font-size: 13px; font-weight: 700; line-height: 1.25; box-shadow: 0 1px 2px rgba(11, 27, 58, .04); transition: border-color .15s, transform .15s, box-shadow .15s; }
.b-kategori svg { color: var(--sea); }
.b-kategori span { color: var(--ink); }
.b-kategori:hover { border-color: var(--sea); transform: translateY(-2px); box-shadow: var(--shadow); color: var(--navy); }
@media (max-width: 1100px) {
  .b-kategoriler { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 calc(var(--gutter) * -1); padding: 2px var(--gutter) 6px; }
  .b-kategori { flex: 0 0 104px; scroll-snap-align: start; }
}

/* İşletme kartları */
.b-kartlar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.b-kart { position: relative; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius); background: #FFFFFF; overflow: hidden; box-shadow: 0 1px 2px rgba(11, 27, 58, .05); transition: box-shadow .2s, transform .2s; }
.b-kart:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.b-kart__foto { position: relative; display: block; aspect-ratio: 16 / 10; background: var(--soft); }
.b-kart__foto .cover, .b-kart__foto .ph { width: 100%; height: 100%; object-fit: cover; }
.b-kart__etiket { position: absolute; top: 12px; left: 12px; padding: 5px 11px; border-radius: 8px; background: var(--hot); color: #FFFFFF; font-size: 12px; font-weight: 800; letter-spacing: .01em; box-shadow: 0 2px 6px rgba(0, 0, 0, .18); }
.b-kart__govde { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px 16px; flex: 1; }
.b-kart__ad { margin: 0; font-size: 17px; font-weight: 800; line-height: 1.3; }
.b-kart__ad a { color: var(--ink); text-decoration: none; }
.b-kart__ad a::after { content: ""; position: absolute; inset: 0; }
.b-kart__ad a:hover { color: var(--sea); }
.b-kart__puan { display: flex; align-items: center; gap: 6px; margin: 0; font-size: 14px; }
.b-kart__tur { margin: 0; font-size: 13px; font-weight: 700; color: var(--muted); }
.b-yildizlar { color: #D7DEE8; letter-spacing: 1px; font-size: 15px; }
.b-yildizlar .dolu { color: var(--gold); }
.b-kart__alt { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 4px; }
.b-kart__konum { display: inline-flex; align-items: center; gap: 4px; min-width: 0; font-size: 13px; color: var(--muted); }
.b-kart__konum svg { flex: none; }
.b-kart__fiyat { display: flex; flex-direction: column; align-items: flex-end; flex: none; line-height: 1.1; }
.b-kart__fiyat strong { font-size: 18px; font-weight: 800; color: var(--price); }
.b-kart__fiyat small { font-size: 12px; color: var(--muted); }
@media (max-width: 1100px) { .b-kartlar { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 820px) { .b-kartlar { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* Ana sayfada telefonda kartlar yana kayar */
@media (max-width: 640px) {
  .b-bolum > .b-kartlar.kaydir { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; margin: 0 calc(var(--gutter) * -1); padding: 2px var(--gutter) 8px; }
  .b-bolum > .b-kartlar.kaydir > .b-kart { flex: 0 0 82%; scroll-snap-align: start; }
  .b-kartlar:not(.kaydir) { grid-template-columns: 1fr; }
}

/* Yer tutucu (fotoğraf yokken) */
.ph { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: var(--ph-ink); font-size: 13px; font-weight: 700; background-image: radial-gradient(circle at 80% 15%, rgba(255, 255, 255, .55), transparent 45%); }
.ph--1 { background-color: var(--tint-1); }
.ph--2 { background-color: var(--tint-2); }
.ph--3 { background-color: var(--tint-3); }
.ph--4 { background-color: var(--tint-4); }

/* Bölge kartları */
.b-bolgeler { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.b-bolge { position: relative; display: block; aspect-ratio: 3 / 4; border-radius: var(--radius); overflow: hidden; background: var(--navy); text-decoration: none; isolation: isolate; }
.b-bolge .cover, .b-bolge .ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.b-bolge .ph { background: linear-gradient(160deg, #3C7BD9, #0B2A5B); color: rgba(255, 255, 255, .35); }
.b-bolge:nth-child(2n) .ph { background: linear-gradient(160deg, #2C9CC0, #0B3F7E); }
.b-bolge:nth-child(3n) .ph { background: linear-gradient(160deg, #5D86C9, #102A5C); }
.b-bolge:hover .cover { transform: scale(1.05); }
.b-bolge::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(5, 18, 45, .78) 100%); }
.b-bolge__yazi { position: absolute; left: 14px; right: 14px; bottom: 12px; z-index: 1; display: flex; flex-direction: column; color: #FFFFFF; }
.b-bolge__yazi strong { font-size: 18px; font-weight: 800; }
.b-bolge__yazi small { font-size: 13px; opacity: .9; }
@media (max-width: 1100px) {
  .b-bolgeler { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 calc(var(--gutter) * -1); padding: 2px var(--gutter) 8px; }
  .b-bolge { flex: 0 0 170px; scroll-snap-align: start; }
}
.b-bolgeler--izgara { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); margin: 0 !important; padding: 0 !important; overflow: visible !important; }
.b-bolgeler--izgara .b-bolge { flex: initial; aspect-ratio: 4 / 3; }

/* Yazı kartları */
.b-yazilar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.b-yazi { position: relative; display: flex; flex-direction: column; border-radius: var(--radius); overflow: hidden; background: #FFFFFF; border: 1px solid var(--line); transition: box-shadow .2s; }
.b-yazi:hover { box-shadow: var(--shadow); }
.b-yazi__foto { display: block; aspect-ratio: 16 / 10; background: var(--soft); }
.b-yazi__foto .cover, .b-yazi__foto .ph { width: 100%; height: 100%; object-fit: cover; }
.b-yazi__govde { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 6px; }
.b-yazi h3 { margin: 0; font-size: 16px; line-height: 1.35; font-weight: 800; }
.b-yazi h3 a { color: var(--ink); text-decoration: none; }
.b-yazi h3 a::after { content: ""; position: absolute; inset: 0; }
.b-yazi h3 a:hover { color: var(--sea); }
.b-yazi p { margin: 0; font-size: 13px; }
@media (max-width: 1100px) { .b-yazilar { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .b-bolum > .b-yazilar.kaydir { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; margin: 0 calc(var(--gutter) * -1); padding: 2px var(--gutter) 8px; }
  .b-bolum > .b-yazilar.kaydir > .b-yazi { flex: 0 0 78%; scroll-snap-align: start; }
  .b-yazilar:not(.kaydir) { grid-template-columns: 1fr; }
}

/* Etkinlikler */
.b-etkinlikler { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.b-etkinlik { display: flex; align-items: center; gap: 14px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); }
.b-etkinlik__tarih { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 56px; height: 56px; flex: none; border-radius: 12px; background: var(--sea-tint); color: var(--sea); font-size: 12px; font-weight: 800; text-transform: uppercase; line-height: 1.05; }
.b-etkinlik__tarih strong { font-size: 22px; }
.b-etkinlik > span:last-child { display: flex; flex-direction: column; gap: 2px; }
.b-etkinlik small { color: var(--muted); }

/* Çağrı bandı */
.b-cagri { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px 28px; padding: clamp(24px, 4vw, 40px); border-radius: 20px; color: #FFFFFF; background: radial-gradient(circle at 90% 0%, rgba(80, 140, 240, .45), transparent 50%), linear-gradient(120deg, var(--navy), #123E86); }
.b-cagri h2 { margin: 0; font-family: var(--display); font-size: clamp(22px, 2.6vw, 30px); font-weight: 800; letter-spacing: -0.02em; }
.b-cagri p { margin: 6px 0 0; color: #C9D6EF; max-width: 560px; }

/* Alt bilgi */
.b-alt { margin-top: 72px; background: var(--navy-2); color: #C9D3E6; }
.b-alt__ic { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1.3fr repeat(5, minmax(0, 1fr)); gap: 32px; padding: 56px var(--gutter) 36px; }
.b-alt__marka p { margin: 14px 0; max-width: 300px; font-size: 14px; line-height: 1.6; }
.b-alt nav { display: flex; flex-direction: column; gap: 9px; font-size: 14px; }
.b-alt nav strong { color: #FFFFFF; font-size: 15px; margin-bottom: 4px; }
.b-alt a { color: #C9D3E6; text-decoration: none; }
.b-alt a:hover { color: #FFFFFF; }
.b-alt__sosyal { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; }
.b-alt__taban { max-width: 1280px; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 20px; padding: 20px var(--gutter) 28px; border-top: 1px solid rgba(255, 255, 255, .1); font-size: 13px; color: #93A3C2; }
.b-alt__yasal { display: flex; flex-wrap: wrap; gap: 6px 18px; }
@media (max-width: 960px) { .b-alt__ic { grid-template-columns: repeat(2, minmax(0, 1fr)); } .b-alt__marka { grid-column: 1 / -1; } }

/* Liste ve iç sayfa başlığı */
.b-sayfa-bas { background: linear-gradient(180deg, var(--soft) 0%, #FFFFFF 100%); border-bottom: 1px solid var(--line); }
.b-sayfa-bas__ic { max-width: 1280px; margin: 0 auto; padding: 26px var(--gutter) 24px; display: flex; flex-direction: column; gap: 10px; }
.b-sayfa-bas h1 { margin: 0; font-family: var(--display); font-weight: 800; font-size: clamp(28px, 3.6vw, 42px); letter-spacing: -0.02em; line-height: 1.1; }
.b-sayfa-bas p { margin: 0; color: var(--muted); max-width: 760px; }
.b-yol { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; font-size: 13px; color: var(--muted); }
.b-yol li + li::before { content: "›"; margin-right: 6px; color: var(--input); }
.b-yol a { color: var(--muted); text-decoration: none; }
.b-yol a:hover { color: var(--sea); }
.b-suzgec { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.b-suzgec select { min-height: 42px; padding: 0 36px 0 12px; border: 1px solid var(--line); border-radius: 10px; background: #FFFFFF; font: inherit; font-size: 14px; font-weight: 700; color: var(--ink); }
.b-cip { display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--line); background: #FFFFFF; color: var(--ink); text-decoration: none; font-size: 14px; font-weight: 700; white-space: nowrap; }
.b-cip:hover { border-color: var(--sea); color: var(--sea); }
.b-cip[aria-current] { background: var(--navy); border-color: var(--navy); color: #FFFFFF; }
.b-cipler { display: flex; flex-wrap: wrap; gap: 8px; }
.b-bos { padding: 36px 24px; border: 1px dashed var(--line); border-radius: var(--radius); text-align: center; color: var(--muted); }
.b-bos strong { display: block; color: var(--ink); font-size: 18px; margin-bottom: 6px; }
.b-metin { max-width: 820px; font-size: 16px; line-height: 1.75; }
.b-metin h2 { font-family: var(--display); font-size: 24px; margin: 28px 0 10px; letter-spacing: -0.01em; }
.b-metin h3 { font-size: 19px; margin: 22px 0 8px; }
.b-metin img { border-radius: 12px; height: auto; }

/* Sayfalama */
.b-sayfalama { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 28px; }

/* Liste sayfası: solda süzgeç, sağda kartlar */
.b-liste { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 28px; align-items: start; }
.b-liste__yan { position: sticky; top: 92px; }
.b-liste__ana { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.b-liste__ust { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
.b-kartlar--liste { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.b-suzgec-kutu { display: flex; flex-direction: column; gap: 18px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #FFFFFF; }
.b-alan { display: flex; flex-direction: column; gap: 6px; font-weight: 800; font-size: 14px; }
.b-alan select, .b-alan input { min-height: 44px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; font: inherit; font-weight: 600; background: #FFFFFF; color: var(--ink); }
.b-secimler { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.b-secimler legend { font-weight: 800; font-size: 14px; margin-bottom: 8px; }
.b-secimler label { display: flex; align-items: center; gap: 10px; min-height: 32px; font-size: 14px; cursor: pointer; }
.b-secimler input { width: 18px; height: 18px; accent-color: var(--sea); }
.b-suzgec-kutu__dugmeler { display: flex; gap: 8px; }
.b-suzgec-kutu__dugmeler .b-dugme--mavi { flex: 1; }
@media (max-width: 1100px) { .b-kartlar--liste { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) {
  .b-liste { grid-template-columns: 1fr; }
  .b-liste__yan { position: static; }
  .b-secimler { flex-direction: row; flex-wrap: wrap; gap: 4px 14px; }
}
@media (max-width: 560px) { .b-kartlar--liste { grid-template-columns: 1fr; } }

/* Bölge sayfası */
.b-giris--kucuk { min-height: clamp(260px, 38vh, 380px); align-items: flex-end; }
.b-giris--kucuk .b-giris__ic { padding-top: 40px; padding-bottom: 36px; }
.b-yol--acik, .b-yol--acik a { color: rgba(255, 255, 255, .85); }
.b-yol--acik li + li::before { color: rgba(255, 255, 255, .6); }
.b-yol--acik { margin-bottom: 10px; }
.b-bolge-listesi { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px 28px; margin-top: 36px; }
.b-bolge-listesi h2 { margin: 0 0 4px; font-size: 18px; }
.b-bolge-listesi h2 a { color: var(--ink); text-decoration: none; }
.b-bolge-listesi h2 a:hover { color: var(--sea); }
.b-bolge-listesi p { margin: 0; color: var(--muted); font-size: 15px; }

/* Yazı sayfası */
.b-makale { max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; gap: 16px; }
.b-makale__baslik { margin: 0; font-family: var(--display); font-weight: 800; font-size: clamp(30px, 4vw, 44px); line-height: 1.1; letter-spacing: -0.02em; }
.b-makale__bilgi { margin: 0; color: var(--muted); font-weight: 700; font-size: 14px; }
.b-makale__kapak { width: 100%; border-radius: 18px; aspect-ratio: 16 / 9; object-fit: cover; }
.b-makale__ozet { margin: 0; font-size: 19px; line-height: 1.6; font-weight: 600; color: var(--ink); }
a .ph, a .ph span { text-decoration: none; }
.b-giris__foto { object-position: 50% 70%; }
.b-kart__foto, .b-yazi__foto, .b-bolge, .galeri__kapak { text-decoration: none; }
@media (max-width: 760px) { .b-arama__sekmeler { flex-wrap: nowrap; } }

/* Serbest lisanslı fotoğrafın kaynak notu (açılış ve bölge fotoğrafının sağ alt köşesi) */
.b-foto-kaynak { position: absolute; right: 10px; bottom: 8px; z-index: 2; max-width: calc(100% - 20px); padding: 2px 8px; border-radius: 6px; background: rgba(5, 20, 50, .45); color: rgba(255, 255, 255, .85); font-size: 11px; line-height: 1.5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.b-foto-kaynak a { color: inherit; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .4); }
.b-giris .b-foto-kaynak { bottom: 86px; }
@media (max-width: 760px) { .b-giris .b-foto-kaynak { bottom: 70px; } }
.b-giris--kucuk .b-foto-kaynak { bottom: 8px; }
.b-kaynak-tablo { width: 100%; border-collapse: collapse; font-size: 15px; }
.b-kaynak-tablo th, .b-kaynak-tablo td { padding: 10px 12px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }

/* ---------- Ulaşım: uçuşlar, Havaş, otobüs (b-) ---------- */
.b-ulasim-secim { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.b-sekmeler { display: inline-flex; gap: 4px; padding: 4px; border-radius: 12px; background: var(--soft); }
.b-sekmeler a { padding: 10px 16px; border-radius: 9px; color: var(--muted); font-weight: 800; text-decoration: none; }
.b-sekmeler a.aktif { background: #FFFFFF; color: var(--navy); box-shadow: 0 1px 3px rgba(11, 27, 58, .12); }
.b-sekmeler--kucuk a { padding: 7px 12px; font-size: 14px; }
.b-tablo-kap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); background: #FFFFFF; }
.b-tablo { width: 100%; border-collapse: collapse; font-size: 15px; }
.b-tablo th { padding: 12px 14px; background: var(--soft-2); color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: .04em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.b-tablo td { padding: 12px 14px; border-top: 1px solid var(--line); vertical-align: top; }
.b-tablo td small { display: block; color: var(--muted); font-size: 12.5px; }
.b-tablo__saat strong { font-size: 17px; font-variant-numeric: tabular-nums; }
.b-durum { display: inline-block; padding: 3px 9px; border-radius: 999px; font-size: 12.5px; font-weight: 800; white-space: nowrap; background: var(--soft); color: var(--muted); }
.b-durum--yesil { background: var(--ok-bg); color: var(--ok-ink); }
.b-durum--kirmizi { background: #FDE8E6; color: #9B2416; }
.b-durum--turuncu { background: var(--warn-bg); color: var(--warn-ink); }
.b-kaynak-notu { margin: 12px 0 0; color: var(--muted); font-size: 13px; }
.b-ulasim-kutular { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.b-ulasim-kutu { display: flex; flex-direction: column; gap: 4px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #FFFFFF; color: var(--ink); text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.b-ulasim-kutu:hover { border-color: var(--sea); box-shadow: var(--shadow); }
.b-ulasim-kutu strong { font-size: 17px; }
.b-ulasim-kutu span { color: var(--muted); font-size: 14px; }
.b-ulasim-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--soft-2); }
.b-ulasim-form label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; font-weight: 800; color: var(--muted); }
.b-ulasim-form select, .b-ulasim-form input { min-height: 44px; min-width: 160px; padding: 0 12px; border: 1px solid var(--input); border-radius: 10px; font: inherit; font-size: 15px; color: var(--ink); background: #FFFFFF; }
.b-ulasim-tarih { margin: 14px 0; font-weight: 800; }
.b-ulasim-alt { margin: 22px 0 10px; font-size: 18px; }
.b-havas-iki { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.b-havas { padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #FFFFFF; }
.b-havas h3 { margin: 0 0 12px; font-size: 18px; }
.b-saatler { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; padding: 0; list-style: none; }
.b-saatler li { padding: 7px 12px; border-radius: 9px; background: var(--sea-tint); color: var(--sea-dark); font-weight: 800; font-variant-numeric: tabular-nums; }
.b-havas__not { margin: 0 0 10px; padding: 10px 12px; border-radius: 10px; background: var(--soft); }
.b-havas__bilgi { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0 0 6px; }
.b-havas__duraklar { margin: 0; color: var(--muted); font-size: 14px; }
.b-firmalar { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.b-firma { padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #FFFFFF; }
.b-firma h3 { margin: 0 0 6px; font-size: 18px; }
.b-firma p { margin: 0 0 10px; color: var(--muted); font-size: 14px; }
.b-firma__iletisim { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 !important; }
.b-firma__iletisim .b-dugme { min-height: 38px; padding: 0 12px; font-size: 14px; }
@media (max-width: 760px) {
  .b-havas-iki { grid-template-columns: 1fr; }
  .b-tablo { font-size: 14px; }
  .b-tablo th, .b-tablo td { padding: 10px; }
  .b-ulasim-form label, .b-ulasim-form select, .b-ulasim-form input, .b-ulasim-form .b-dugme { width: 100%; }
}
.b-durum--mavi { background: var(--sea-tint); color: var(--sea-dark); }
.b-tablo__gun th { padding: 10px 14px; background: var(--navy); color: #FFFFFF; font-size: 13px; text-transform: none; letter-spacing: 0; }
.b-tablo__dar { display: none !important; }
@media (max-width: 760px) {
  .b-tablo__genis { display: none; }
  .b-tablo__dar { display: block !important; }
  .b-tablo--ucus td:nth-child(3) small { display: none; }
}
@media (max-width: 420px) {
  .b-tablo--ucus th, .b-tablo--ucus td { padding: 10px 6px; }
  .b-tablo--ucus .b-durum { padding: 3px 7px; font-size: 11.5px; }
}
.b-foto-kaynaklari { margin: 8px 0 0; color: var(--muted); font-size: 12.5px; }
.b-foto-kaynaklari a { color: inherit; }
.firsat-kutu__ust { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.firsat-kutu__indirim { padding: 2px 8px; border-radius: 999px; background: var(--hot); color: #FFFFFF; letter-spacing: 0; }
.firsat-kutu__fiyat { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.firsat-kutu__fiyat s { color: var(--muted); font-weight: 600; }
.firsat-kutu__fiyat b { font-size: 22px; color: var(--hot); }
/* Telefonda formda yazarken alttaki arama şeridi klavyenin üstüne binmesin */
@media (max-width: 760px) { body:has(form :is(input, textarea, select):focus) .iletisim-bar { display: none; } }
/* Rehber yazılarındaki tablolar (iklim, pazar günleri); telefonda yana kayar */
.b-metin table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin: 16px 0; font-size: 14.5px; }
.b-metin th, .b-metin td { padding: 8px 12px; border-bottom: 1px solid var(--line); text-align: left; white-space: nowrap; }
.b-metin thead th { background: var(--soft); font-weight: 800; }
.b-taksi-yerler { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; }
.b-bolum .sss + .sss { margin-top: 10px; }

/* Taksi durağı sayfası */
.b-durak-kutu { margin-bottom: 28px; }
.b-durak-kutu h2 { margin: 0 0 8px; font-size: 18px; }
.b-nobet-kisa { margin: 0; padding-left: 18px; line-height: 1.9; }
.b-nobet-not { padding: 10px 14px; border-radius: var(--radius); background: #EAF7EE; color: #145C2E; }

/* Rehbere ekleme çağrısı (taksi durağı, esnaf) */
.b-rehbere-ekle { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; justify-content: space-between; margin: 24px 0 0; padding: 18px; border: 1px dashed var(--sea); border-radius: var(--radius); background: #F3F7FF; }
.b-rehbere-ekle strong { display: block; margin-bottom: 2px; }
.b-rehbere-ekle span { color: var(--muted); font-size: 14px; }
.b-rehbere-ekle--kucuk { display: block; padding: 10px 14px; font-size: 14px; }

/* ── Zengin sayfa tasarımı (b-zn-): renkli açılış, bölge şeridi, kartlar, bilgi kutuları ─────────
   İlk olarak nöbetçi eczanelerde yapıldı; renk temaları .tema-* sınıfıyla (taksi sarı-siyah, eczane yeşil …).
   --zn: dolgu, --zn-ust: dolgu üstündeki yazı, --zn-vurgu: beyaz zeminde vurgu yazısı, --zn-dark/--zn-orta: açılış degradesi,
   --zn-tint: açık zemin, --zn-acik: parlak (canlı nokta, ışık) */
:root { --nb: #0B7A55; --zn-dark: #075238; --zn-tint: #E4F5EE; --zn-acik: #2BD48F; }
.b-zn-giris {
  position: relative; overflow: hidden; color: #FFFFFF;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cpath d='M26 18h4v8h8v4h-8v8h-4v-8h-8v-4h8z' fill='%23FFFFFF' fill-opacity='.07'/%3E%3C/svg%3E"),
    radial-gradient(900px 400px at 85% -10%, color-mix(in srgb, var(--zn-acik) 35%, transparent), transparent 60%),
    linear-gradient(135deg, var(--zn-dark) 0%, var(--zn-orta) 45%, var(--navy) 100%);
}
.b-zn-giris__ic { display: flex; flex-wrap: wrap; gap: 28px; align-items: flex-end; justify-content: space-between; max-width: 1200px; margin: 0 auto; padding: 32px var(--gutter) 64px; }
.b-zn-giris__sol { flex: 1 1 480px; }
.b-zn-giris h1 { margin: 10px 0 6px; font-family: var(--display); font-weight: 800; font-size: clamp(32px, 4.6vw, 54px); letter-spacing: -0.025em; line-height: 1.02; }
.b-zn-giris p { margin: 0; max-width: 620px; color: rgba(255, 255, 255, .86); }
.b-zn-tarih { margin-bottom: 10px !important; font-family: var(--display); font-weight: 700; font-size: clamp(18px, 2vw, 22px); color: #FFFFFF !important; }
.b-zn-canli { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .22); font-size: 13px; font-weight: 700; backdrop-filter: blur(4px); }
.b-zn-canli i, .b-zn-rozet i { position: relative; width: 8px; height: 8px; border-radius: 50%; background: var(--zn-acik); }
.b-zn-canli i::after, .b-zn-rozet i::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 2px solid var(--zn-acik); animation: b-zn-nabiz 1.8s ease-out infinite; }
@keyframes b-zn-nabiz { from { transform: scale(.5); opacity: 1; } to { transform: scale(1.6); opacity: 0; } }
.b-zn-ozet { display: grid; grid-template-columns: repeat(3, minmax(96px, 1fr)); gap: 1px; overflow: hidden; border-radius: 18px; background: rgba(255, 255, 255, .22); border: 1px solid rgba(255, 255, 255, .25); backdrop-filter: blur(6px); }
.b-zn-ozet div { padding: 16px 18px; background: color-mix(in srgb, var(--zn-dark) 35%, transparent); text-align: center; }
.b-zn-ozet strong { display: block; font-family: var(--display); font-size: 30px; line-height: 1; }
.b-zn-ozet span { font-size: 12px; color: rgba(255, 255, 255, .8); }

.b-zn-bolgeler { position: sticky; top: 0; z-index: 5; margin-top: -30px; padding: 0 var(--gutter); }
.b-zn-bolgeler__ic { display: flex; gap: 8px; max-width: 1200px; margin: 0 auto; padding: 10px; overflow-x: auto; scrollbar-width: none; border-radius: 18px; background: rgba(255, 255, 255, .92); box-shadow: var(--shadow); backdrop-filter: blur(8px); }
.b-zn-bolgeler__ic::-webkit-scrollbar { display: none; }
.b-zn-bolgeler a { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 6px; padding: 9px 14px; border-radius: 12px; color: var(--ink); font-weight: 700; font-size: 14px; text-decoration: none; transition: background .15s, color .15s; }
.b-zn-bolgeler a svg { color: var(--zn-vurgu); }
.b-zn-bolgeler a:hover { background: var(--zn-tint); color: var(--zn-vurgu); }
.b-zn-bolgeler small { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--zn); color: var(--zn-ust); font-size: 11px; }

.b-zn-liste { padding-top: 28px; }
.b-zn-grup { scroll-margin-top: 90px; margin-bottom: 34px; }
.b-zn-grup__baslik { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font-family: var(--display); font-size: clamp(20px, 2.3vw, 26px); letter-spacing: -0.01em; }
.b-zn-grup__baslik span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; background: var(--zn-tint); color: var(--zn-vurgu); }
.b-zn-kartlar { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 16px; }

.b-zn-kart { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 20px; border: 1px solid var(--line); border-radius: 20px; background: #FFFFFF; box-shadow: 0 1px 2px rgba(11, 27, 58, .04); transition: transform .18s, box-shadow .18s, border-color .18s; }
.b-zn-kart::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 5px; border-radius: 20px 0 0 20px; background: linear-gradient(180deg, var(--zn-acik), var(--zn)); }
.b-zn-kart:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--zn) 35%, #FFFFFF); box-shadow: var(--shadow); }
.b-zn-kart__bas { display: flex; gap: 14px; align-items: flex-start; }
.b-zn-kart__ikon { display: grid; flex: 0 0 auto; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: linear-gradient(135deg, var(--zn-acik), var(--zn)); color: var(--zn-ust); box-shadow: 0 6px 16px color-mix(in srgb, var(--zn) 30%, transparent); }
.b-zn-kart h3 { margin: 2px 0 6px; font-family: var(--display); font-size: 20px; line-height: 1.2; }
.b-zn-kart h3 a { color: var(--ink); text-decoration: none; }
.b-zn-kart h3 a:hover { color: var(--zn-vurgu); }
.b-zn-rozet { display: inline-flex; align-items: center; gap: 8px; padding: 4px 10px; border-radius: 999px; background: var(--zn-tint); color: var(--zn-vurgu); font-size: 12px; font-weight: 800; }
.b-zn-rozet--bekliyor { background: var(--warn-bg); color: var(--warn-ink); }
.b-zn-rozet--bekliyor i { background: var(--gold); }
.b-zn-rozet--bekliyor i::after { border-color: var(--gold); }

.b-zn-saat { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-radius: 14px; background: var(--soft); color: var(--zn-vurgu); }
.b-zn-saat div { line-height: 1.1; }
.b-zn-saat small { display: block; color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.b-zn-saat strong { color: var(--ink); font-family: var(--display); font-size: 20px; }
.b-zn-saat__cizgi { flex: 1; height: 2px; border-radius: 2px; background: repeating-linear-gradient(90deg, var(--zn) 0 6px, transparent 6px 11px); opacity: .5; }

.b-zn-adres { display: flex; gap: 8px; margin: 0; color: var(--muted); font-size: 14px; }
.b-zn-adres svg { flex: 0 0 auto; margin-top: 2px; color: var(--zn-vurgu); }
.b-zn-kart__dugmeler { display: flex; gap: 8px; margin-top: auto; }
.b-zn-ara, .b-zn-yol { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 16px; border-radius: 12px; font-weight: 800; text-decoration: none; transition: background .15s, transform .15s; }
.b-zn-ara { flex: 1; background: var(--zn); color: var(--zn-ust); font-size: 16px; }
.b-zn-ara:hover { filter: brightness(.92); }
.b-zn-yol { border: 1.5px solid var(--line); color: var(--ink); background: #FFFFFF; }
.b-zn-yol:hover { border-color: var(--zn); color: var(--zn-vurgu); }
.b-zn-kaynak { display: flex; align-items: center; gap: 8px; margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.b-zn-kaynak svg { flex: 0 0 auto; color: var(--zn-vurgu); }

.b-zn-bilgiler { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 16px; }
.b-zn-bilgi { display: flex; flex-direction: column; gap: 6px; padding: 22px; border-radius: 20px; background: var(--soft); }
.b-zn-bilgi > span { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 6px; border-radius: 14px; background: #FFFFFF; color: var(--zn-vurgu); box-shadow: 0 1px 2px rgba(11, 27, 58, .06); }
.b-zn-bilgi strong { font-family: var(--display); font-size: 19px; }
.b-zn-bilgi p { margin: 0; color: var(--muted); font-size: 14px; }
.b-zn-bilgi a { margin-top: auto; padding-top: 6px; color: var(--zn-vurgu); font-weight: 800; text-decoration: none; }
.b-zn-bilgi--acil { background: linear-gradient(135deg, #FFF1EE, #FFE3DD); }
.b-zn-bilgi--acil > span { color: var(--hot); }
.b-zn-bilgi--acil a { color: var(--hot); }

.b-zn-sss { display: grid; gap: 10px; }
.b-zn-sss .sss summary { list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.b-zn-sss .sss summary::-webkit-details-marker { display: none; }
.b-zn-sss .sss summary::after { content: "+"; flex: 0 0 auto; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; background: var(--zn-tint); color: var(--zn-vurgu); font-size: 18px; transition: transform .2s; }
.b-zn-sss .sss[open] summary::after { transform: rotate(45deg); }
.b-zn-sss .sss[open] summary { color: var(--zn-vurgu); }

.b-zn-bos { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 40px 20px; border: 1px dashed color-mix(in srgb, var(--zn) 35%, #FFFFFF); border-radius: 20px; background: var(--zn-tint); text-align: center; }
.b-zn-bos p { margin: 0; max-width: 460px; color: var(--muted); }

@media (max-width: 600px) {
  .b-zn-giris__ic { padding-bottom: 56px; }
  .b-zn-ozet { width: 100%; }
  .b-zn-ozet div { padding: 12px 8px; }
  .b-zn-ozet strong { font-size: 24px; }
  .b-zn-kart { padding: 18px 16px 16px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .b-zn-canli i::after, .b-zn-rozet i::after { animation: none; display: none; }
  .b-zn-kart, .b-zn-kart:hover { transition: none; transform: none; }
}
.b-zn-liste .b-zn-kartlar { margin-bottom: 18px; }
.b-zn-kart { scroll-margin-top: 90px; }
.b-zn-kart__bolge { display: inline-flex; align-items: center; gap: 6px; margin: -4px 0 -4px; color: var(--zn-vurgu); font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }

/* Renk temaları (kök: eczane yeşili). Sayfanın en dış kutusuna .tema-<kategori> */
:root { --zn: #0B7A55; --zn-ust: #FFFFFF; --zn-vurgu: #0B7A55; --zn-dark: #075238; --zn-orta: #0B7A55; --zn-tint: #E4F5EE; --zn-acik: #2BD48F; }
.tema-eczane { --zn: #0B7A55; --zn-ust: #FFFFFF; --zn-vurgu: #0B7A55; --zn-dark: #075238; --zn-orta: #0B7A55; --zn-tint: #E4F5EE; --zn-acik: #2BD48F; }
.tema-hastane { --zn: #D23A3A; --zn-ust: #FFFFFF; --zn-vurgu: #B42828; --zn-dark: #7E1A1A; --zn-orta: #C13030; --zn-tint: #FDECEC; --zn-acik: #FF7A6B; }
.tema-aile_sagligi_merkezi { --zn: #0E7C86; --zn-ust: #FFFFFF; --zn-vurgu: #0B6C75; --zn-dark: #08515A; --zn-orta: #0E7C86; --zn-tint: #E2F4F5; --zn-acik: #3CC9D4; }
.tema-market { --zn: #E06A12; --zn-ust: #FFFFFF; --zn-vurgu: #B4540A; --zn-dark: #8A3F06; --zn-orta: #D06010; --zn-tint: #FDF0E4; --zn-acik: #FFB04D; }
.tema-avm { --zn: #6B3FD1; --zn-ust: #FFFFFF; --zn-vurgu: #5A31BA; --zn-dark: #3B1C80; --zn-orta: #6237C4; --zn-tint: #EFEAFC; --zn-acik: #A98BFF; }
.tema-kozmetik { --zn: #C2387A; --zn-ust: #FFFFFF; --zn-vurgu: #A82B67; --zn-dark: #7A1648; --zn-orta: #B8306F; --zn-tint: #FBE9F2; --zn-acik: #FF86BE; }
.tema-fast_food { --zn: #D9452A; --zn-ust: #FFFFFF; --zn-vurgu: #B8361E; --zn-dark: #862512; --zn-orta: #CF3F25; --zn-tint: #FDEBE6; --zn-acik: #FF8A5C; }
.tema-kuafor { --zn: #A23BB5; --zn-ust: #FFFFFF; --zn-vurgu: #8C2C9E; --zn-dark: #621A70; --zn-orta: #9A35AD; --zn-tint: #F6E9F9; --zn-acik: #DE8BF0; }
.tema-berber { --zn: #3A4DB8; --zn-ust: #FFFFFF; --zn-vurgu: #3343A6; --zn-dark: #202B73; --zn-orta: #3647AE; --zn-tint: #E9ECFA; --zn-acik: #8C9BFF; }
.tema-sinema { --zn: #B3122E; --zn-ust: #FFFFFF; --zn-vurgu: #9A0F27; --zn-dark: #1A0A10; --zn-orta: #7A0C20; --zn-tint: #FCE8EC; --zn-acik: #FFC23D; }
.tema-tiyatro { --zn: #7B2D8E; --zn-ust: #FFFFFF; --zn-vurgu: #6A2479; --zn-dark: #2A0F33; --zn-orta: #5E2070; --zn-tint: #F4EAF7; --zn-acik: #F2B544; }
.tema-plaj { --zn: #0891B2; --zn-ust: #FFFFFF; --zn-vurgu: #0A7A96; --zn-dark: #053B4A; --zn-orta: #0B6F88; --zn-tint: #E2F6FA; --zn-acik: #FFD166; }
.tema-kahvalti { --zn: #C2410C; --zn-ust: #FFFFFF; --zn-vurgu: #A6380B; --zn-dark: #4A1A05; --zn-orta: #9A3412; --zn-tint: #FFF1E6; --zn-acik: #FBBF24; }
.tema-emlak { --zn: #1456D9; --zn-ust: #FFFFFF; --zn-vurgu: #1456D9; --zn-dark: #0E3F9E; --zn-orta: #1456D9; --zn-tint: #E8EFFC; --zn-acik: #5B9BFF; }
.tema-rehber { --zn: #1456D9; --zn-ust: #FFFFFF; --zn-vurgu: #1456D9; --zn-dark: #0B2A5B; --zn-orta: #1456D9; --zn-tint: #E8EFFC; --zn-acik: #4FD1FF; }
.tema-taksi { --zn: #F5B800; --zn-ust: #14161C; --zn-vurgu: #8A6100; --zn-dark: #14161C; --zn-orta: #3A3110; --zn-tint: #FFF6D1; --zn-acik: #FFD43B; }
/* Taksi: açılışta damalı şerit */
.tema-taksi .b-zn-giris { background:
    radial-gradient(900px 400px at 85% -10%, rgba(255, 212, 59, .30), transparent 60%),
    linear-gradient(135deg, #14161C 0%, #2B2614 50%, var(--navy) 100%); }
.tema-taksi .b-zn-giris::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 14px; opacity: .9;
    background: repeating-conic-gradient(#F5B800 0 25%, #14161C 0 50%) 0 0 / 14px 14px; }
.b-zn-bolgeler-bos { height: 1px; }
.b-zn-metin { margin: 0; color: var(--ink); font-size: 14px; line-height: 1.55; }
.b-zn-kategoriler { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 12px; }
.b-zn-kat { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 18px; background: #FFFFFF; color: var(--ink); text-decoration: none; transition: transform .18s, box-shadow .18s, border-color .18s; }
.b-zn-kat:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--zn) 40%, #FFFFFF); box-shadow: var(--shadow); }
.b-zn-kat .b-zn-kart__ikon { width: 46px; height: 46px; border-radius: 14px; }
.b-zn-kat__yazi { flex: 1; min-width: 0; }
.b-zn-kat strong { display: block; font-family: var(--display); font-size: 17px; line-height: 1.2; }
.b-zn-kat small { display: block; margin-top: 2px; color: var(--muted); font-size: 13px; }
.b-zn-kat em { display: grid; place-items: center; min-width: 30px; height: 30px; padding: 0 8px; border-radius: 999px; background: var(--zn-tint); color: var(--zn-vurgu); font-style: normal; font-weight: 800; font-size: 13px; }
@media (prefers-reduced-motion: reduce) { .b-zn-kat, .b-zn-kat:hover { transition: none; transform: none; } }
.b-zn-canli--koyu { background: var(--zn-tint); border-color: color-mix(in srgb, var(--zn) 30%, #FFFFFF); color: var(--zn-vurgu); }
.b-zn-vurgu { display: grid; gap: 16px; padding: 22px; border-radius: 22px; background: linear-gradient(135deg, #FFFFFF 0%, var(--zn-tint) 100%); border: 1px solid color-mix(in srgb, var(--zn) 25%, #FFFFFF); box-shadow: var(--shadow); }
.b-zn-vurgu h2 { margin: 8px 0 0; font-family: var(--display); font-size: clamp(22px, 2.6vw, 28px); }
.b-zn-vurgu ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.b-zn-vurgu li { display: grid; gap: 2px; padding: 12px 14px; border-radius: 14px; background: #FFFFFF; border: 1px solid var(--line); }
.b-zn-vurgu li span { color: var(--zn-vurgu); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.b-zn-vurgu li a { display: inline-flex; align-items: center; gap: 6px; color: var(--ink); font-weight: 700; text-decoration: none; }
.b-zn-vurgu li a svg { color: var(--zn-vurgu); }
.b-zn-vurgu__dugme { justify-self: start; flex: 0 0 auto; }
.tema-eczane .b-rehbere-ekle, .b-zn-liste .b-rehbere-ekle { border-color: var(--zn); background: var(--zn-tint); }
.b-zn-rozet--sade { background: var(--soft); color: var(--ink); font-weight: 700; }
.b-zn-iletisim { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 20px; margin-top: -34px; padding: 22px; border-radius: 22px; background: #FFFFFF; border: 1px solid var(--line); box-shadow: var(--shadow); }
.b-zn-iletisim__bilgi { display: flex; gap: 16px; align-items: flex-start; }
.b-zn-iletisim h2 { margin: 4px 0 10px; font-family: var(--display); font-size: 20px; }
.b-zn-iletisim .b-zn-adres { margin-bottom: 6px; color: var(--ink); font-size: 15px; }
.b-zn-iletisim__dugmeler { display: flex; flex-direction: column; gap: 8px; }
.b-zn-iletisim__dugmeler a { flex: 0 0 auto; width: 100%; }
.b-zn-metinler { max-width: 820px; }
.b-zn-metinler p { margin: 0 0 14px; font-size: 17px; line-height: 1.75; }
.b-zn-metinler p:first-child { font-size: 19px; color: var(--ink); }
.b-zn-detay-giris .b-zn-giris__ic { padding-bottom: 70px; }
@media (max-width: 760px) { .b-zn-iletisim { grid-template-columns: 1fr; } }

/* Ulaşım: uçuşlar (gök mavisi) ve Havaş (gün batımı turuncusu) */
.tema-ucus { --zn: #0A6CFF; --zn-ust: #FFFFFF; --zn-vurgu: #0A5AD6; --zn-dark: #061A3D; --zn-orta: #0B4FC4; --zn-tint: #E6F0FF; --zn-acik: #5CC8FF; }
.tema-havas { --zn: #E8590C; --zn-ust: #FFFFFF; --zn-vurgu: #C2410C; --zn-dark: #5A1E05; --zn-orta: #D9480F; --zn-tint: #FFF0E6; --zn-acik: #FFB347; }
.tema-ucus .b-zn-giris { background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72'%3E%3Cpath d='M36 22c.8 0 1.4.6 1.4 1.4v5.2l7 4v1.9l-7-2v4l2 1.5v1.4L36 38.4l-3.4 1V38l2-1.5v-4l-7 2v-1.9l7-4v-5.2c0-.8.6-1.4 1.4-1.4z' fill='%23FFFFFF' fill-opacity='.08'/%3E%3C/svg%3E"),
    radial-gradient(900px 400px at 85% -10%, rgba(92, 200, 255, .40), transparent 60%),
    linear-gradient(135deg, #061A3D 0%, #0B4FC4 55%, #0A6CFF 100%); }
.tema-havas .b-zn-giris { background:
    radial-gradient(700px 360px at 90% 0%, rgba(255, 179, 71, .45), transparent 60%),
    radial-gradient(600px 300px at 10% 120%, rgba(255, 120, 60, .35), transparent 60%),
    linear-gradient(135deg, #3B1404 0%, #C2410C 55%, var(--navy) 100%); }
.tema-havas .b-zn-giris::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px;
    background: repeating-linear-gradient(90deg, #FFB347 0 28px, transparent 28px 44px); opacity: .7; }

/* Uçuş yönü ve hat seçimi (yapışkan şeritte) */
.b-ucus-secim { flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; }
.b-ucus-yon, .b-ucus-hat { display: inline-flex; gap: 4px; padding: 4px; border-radius: 14px; background: var(--soft); }
.b-ucus-secim .b-ucus-yon a, .b-ucus-secim .b-ucus-hat a { gap: 8px; color: var(--muted); }
.b-ucus-secim .b-ucus-yon a svg { color: inherit; }
.b-ucus-secim a.aktif { background: var(--zn); color: var(--zn-ust); box-shadow: 0 4px 12px color-mix(in srgb, var(--zn) 30%, transparent); }
.b-ucus-secim a.aktif:hover { background: var(--zn); color: var(--zn-ust); }
.b-ucus-hat a { padding: 7px 12px !important; font-size: 13px !important; }

/* Sıradaki uçuş kartları */
.b-ucus-siradaki { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 16px; }
.b-ucus-kart { position: relative; overflow: hidden; display: grid; gap: 12px; padding: 20px; border-radius: 20px; color: #FFFFFF;
    background: radial-gradient(400px 200px at 100% 0%, color-mix(in srgb, var(--zn-acik) 35%, transparent), transparent 70%), linear-gradient(135deg, var(--zn-dark), var(--zn-orta)); box-shadow: var(--shadow); }
.b-ucus-kart__ust { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.b-ucus-kart__saat { font-family: var(--display); font-weight: 800; font-size: 40px; line-height: 1; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.b-ucus-kart__rota { display: flex; align-items: center; gap: 10px; font-family: var(--display); font-weight: 700; font-size: 18px; }
.b-ucus-kart__rota span { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.b-ucus-kart__rota i { position: relative; flex: 1 1 40px; display: grid; place-items: center; height: 18px; color: var(--zn-acik); }
.b-ucus-kart__rota i::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; border-top: 2px dashed rgba(255, 255, 255, .35); }
.b-ucus-kart__rota i svg { position: relative; transform: rotate(90deg); background: transparent; }
.b-ucus-kart__alt { margin: 0; color: rgba(255, 255, 255, .8); font-size: 14px; }
.b-ucus-kart__alt strong { color: #FFFFFF; }
.b-ucus-kart .b-durum { background: rgba(255, 255, 255, .16); color: #FFFFFF; }
.b-ucus-kart .b-durum--turuncu { background: #FFB347; color: #3B1404; }
.b-ucus-kart .b-durum--kirmizi { background: #FF6B5B; color: #FFFFFF; }

/* Uçuş tablosu (zengin kap) */
.b-zn-tablo { overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: #FFFFFF; box-shadow: 0 1px 2px rgba(11, 27, 58, .04); }
.b-zn-tablo .b-tablo-kap { margin: 0; border: 0; border-radius: 0; }
.b-zn-tablo .b-tablo thead th { background: var(--zn-tint); color: var(--zn-vurgu); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.b-zn-tablo .b-tablo tbody tr:hover td { background: color-mix(in srgb, var(--zn-tint) 55%, #FFFFFF); }
.b-zn-tablo .b-tablo__saat strong { font-family: var(--display); font-size: 18px; font-variant-numeric: tabular-nums; }
.b-zn-tablo .b-tablo__gun th { background: var(--soft); color: var(--ink); }
.b-tablo__bitti td { opacity: .55; }

/* Havaş */
.b-havas-tarih { align-items: center; flex-wrap: wrap; overflow: visible; }
.b-havas-tarih > a { padding: 9px 14px; border-radius: 12px; background: var(--soft); color: var(--ink); font-weight: 800; text-decoration: none; }
.b-havas-tarih > a.aktif { background: var(--zn); color: var(--zn-ust); }
.b-havas-tarih label { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; padding: 0 4px 0 12px; border: 1.5px solid var(--line); border-radius: 12px; color: var(--zn-vurgu); }
.b-havas-tarih input { min-height: 42px; border: 0; font: inherit; font-weight: 700; color: var(--ink); background: transparent; }
.b-havas-tarih .b-zn-ara { flex: 0 0 auto; border: 0; cursor: pointer; font: inherit; font-weight: 800; }
.b-havas-yonler { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 18px; }
.b-havas-yon { display: grid; gap: 16px; align-content: start; padding: 22px; border: 1px solid var(--line); border-radius: 22px; background: #FFFFFF; box-shadow: 0 1px 2px rgba(11, 27, 58, .04); }
.b-havas-yon__bas { display: flex; align-items: center; gap: 14px; }
.b-havas-yon__bas small { color: var(--zn-vurgu); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.b-havas-yon__bas h3 { margin: 2px 0 0; font-family: var(--display); font-size: 22px; line-height: 1.15; }
.b-havas-yon__bas h3 span { color: var(--zn); }
.b-havas-yon__siradaki { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0; padding: 12px 16px; border-radius: 16px; background: var(--zn-tint); }
.b-havas-yon__siradaki strong { font-family: var(--display); font-size: 34px; line-height: 1; color: var(--zn-vurgu); font-variant-numeric: tabular-nums; }
.b-havas-saatler { display: grid; grid-template-columns: repeat(auto-fill, minmax(72px, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.b-havas-saatler li { padding: 9px 0; border: 1.5px solid var(--line); border-radius: 12px; text-align: center; font-weight: 800; font-variant-numeric: tabular-nums; }
.b-havas-saatler li.gecti { color: var(--input); background: var(--soft); text-decoration: line-through; border-color: transparent; }
.b-havas-saatler li.siradaki { background: var(--zn); border-color: var(--zn); color: var(--zn-ust); box-shadow: 0 6px 14px color-mix(in srgb, var(--zn) 30%, transparent); }
.b-havas-yon__not { display: flex; gap: 8px; margin: 0; padding: 10px 12px; border-radius: 12px; background: var(--warn-bg); color: var(--warn-ink); font-size: 14px; }
.b-havas-yon__not svg { flex: 0 0 auto; margin-top: 2px; }
.b-havas-yon__bilgi { display: flex; flex-wrap: wrap; gap: 8px; }
.b-havas-yon__bilgi span { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 999px; background: var(--soft); font-size: 14px; }
.b-havas-yon__bilgi svg { color: var(--zn-vurgu); }
.b-havas-duraklar { position: relative; display: grid; gap: 10px; margin: 0; padding: 0 0 0 22px; list-style: none; font-size: 14px; color: var(--muted); }
.b-havas-duraklar::before { content: ""; position: absolute; left: 6px; top: 6px; bottom: 6px; border-left: 2px dashed color-mix(in srgb, var(--zn) 45%, #FFFFFF); }
.b-havas-duraklar li { position: relative; }
.b-havas-duraklar li::before { content: ""; position: absolute; left: -21px; top: 4px; width: 10px; height: 10px; border-radius: 50%; background: #FFFFFF; border: 2.5px solid var(--zn); }
.b-havas-duraklar li:first-child, .b-havas-duraklar li:last-child { color: var(--ink); font-weight: 800; }
.b-havas-duraklar li:first-child::before, .b-havas-duraklar li:last-child::before { background: var(--zn); }
@media (max-width: 600px) {
  .b-ucus-kart__saat { font-size: 34px; }
  .b-havas-tarih label { margin-left: 0; flex: 1 1 100%; }
  .b-havas-tarih .b-zn-ara { flex: 1 1 100%; }
}
@media (max-width: 600px) { .b-zn-ozet--cok { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
/* Nöbetçi eczaneler: gün sekmeleri (Çarşamba / Perşembe / Cuma) ve nöbet aralığı şeridi */
.b-zn-sekmeler { display: none; gap: 6px; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--line); }
.b-zn-sekmeler::-webkit-scrollbar { display: none; }
.b-zn-gunler--sekmeli .b-zn-sekmeler { display: flex; }
.b-zn-sekmeler button { flex: none; display: inline-flex; align-items: center; gap: 8px; min-width: 120px; justify-content: center; margin-bottom: -1px; padding: 12px 22px; border: 1px solid var(--line); border-bottom: 0; border-radius: 10px 10px 0 0; background: var(--soft); color: var(--ink); font: inherit; font-size: 16px; font-weight: 600; cursor: pointer; }
.b-zn-sekmeler button:hover { background: #FFFFFF; }
.b-zn-sekmeler button.aktif { background: #FFFFFF; font-weight: 800; box-shadow: inset 0 3px 0 var(--zn-vurgu); }
.b-zn-sekmeler button svg { color: #E5322D; }
.b-zn-gun + .b-zn-gun { margin-top: 32px; }
.b-zn-gunler--sekmeli .b-zn-gun + .b-zn-gun { margin-top: 0; }
.b-zn-gun__aralik { margin: 0 0 22px; padding: 14px 18px; border: 1px solid #F3E2A6; border-radius: 0 0 10px 10px; background: #FEF6DA; color: #7A5B0B; font-size: 16px; }
.b-zn-gunler:not(.b-zn-gunler--sekmeli) .b-zn-gun__aralik { border-radius: 10px; }
.b-zn-gun .b-zn-bolgeler { margin: 0 0 22px; padding: 0; }
@media (max-width: 600px) {
    .b-zn-sekmeler { gap: 4px; }
    .b-zn-sekmeler button { flex: 1 1 0; min-width: 0; padding: 11px 8px; font-size: 15px; gap: 5px; }
    .b-zn-gun__aralik { font-size: 15px; padding: 12px 14px; }
}
.b-zn-yarin { margin-top: 8px; padding-top: 28px; border-top: 1px dashed var(--line); }
.b-zn-yarin .b-zn-grup__baslik small { margin-left: 4px; color: var(--muted); font-family: var(--body); font-size: 15px; font-weight: 700; }
.b-zn-yarin .b-zn-kart::before { background: linear-gradient(180deg, var(--gold), #E08A00); }

/* İşletmenizi ekleyin sayfası (tema-isletme: lacivert-altın) */
.tema-isletme { --zn: #1456D9; --zn-ust: #FFFFFF; --zn-vurgu: #1456D9; --zn-dark: #0B1F45; --zn-orta: #1456D9; --zn-tint: #E8EFFC; --zn-acik: #F5C542; }
.tema-isletme .b-zn-giris { background:
    radial-gradient(800px 380px at 88% -10%, rgba(245, 197, 66, .38), transparent 60%),
    radial-gradient(600px 300px at 0% 120%, rgba(79, 209, 255, .25), transparent 60%),
    linear-gradient(135deg, #0B1F45 0%, #0E3F9E 55%, #1456D9 100%); }
.b-ie-dugmeler { flex-wrap: wrap; gap: 10px; }
.b-ie-dugmeler a { flex: 0 1 auto; }
.b-ie-adimlar { counter-reset: adim; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.b-ie-adimlar li { counter-increment: adim; position: relative; display: grid; gap: 4px; padding: 22px 22px 22px 76px; border: 1px solid var(--line); border-radius: 20px; background: #FFFFFF; }
.b-ie-adimlar li::before { content: counter(adim); position: absolute; left: 20px; top: 20px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 14px; background: linear-gradient(135deg, var(--zn-acik), #E0A800); color: #0B1F45; font-family: var(--display); font-weight: 800; font-size: 20px; }
.b-ie-adimlar strong { font-family: var(--display); font-size: 18px; }
.b-ie-adimlar span { color: var(--muted); font-size: 14px; }
.b-ie-grup { margin: 22px 0 10px; font-size: 15px; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.b-ie-cagri { background: linear-gradient(135deg, #FFFFFF 0%, #FFF7DD 100%); border-color: #F5DE9A; }

/* Liste sayfalarındaki "Otelinizi ekleyin" çağrısı */
.b-ie-kutu { position: relative; overflow: hidden; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; margin: 28px 0 0; padding: 22px 24px; border-radius: 22px; color: #FFFFFF;
    background: radial-gradient(500px 220px at 100% 0%, rgba(245, 197, 66, .35), transparent 65%), linear-gradient(135deg, #0B1F45, #1456D9); box-shadow: var(--shadow); }
.b-ie-kutu strong { display: block; font-family: var(--display); font-size: clamp(19px, 2.2vw, 24px); line-height: 1.2; }
.b-ie-kutu span { color: rgba(255, 255, 255, .85); font-size: 14px; }
.b-ie-kutu__dugmeler { display: flex; flex-wrap: wrap; gap: 8px; }
.b-ie-kutu__dugmeler a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: 12px; font-weight: 800; text-decoration: none; }
.b-ie-kutu__ana { background: #F5C542; color: #0B1F45; }
.b-ie-kutu__ana:hover { background: #FFD45C; }
.b-ie-kutu__ikinci { border: 1.5px solid rgba(255, 255, 255, .45); color: #FFFFFF; }
.b-ie-kutu__ikinci:hover { background: rgba(255, 255, 255, .1); }
.b-zn-bolgeler a.b-zn-ara, .b-zn-bolgeler a.b-zn-ara:hover { background: var(--zn); color: var(--zn-ust); }
.b-zn-bolgeler a.b-zn-ara svg { color: inherit; }
.b-ie-faydalar .b-zn-bilgiler { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }

/* Ücretsiz (halk) plajlar sayfası: plaj kartındaki olanak çipleri (tema-plaj) */
.b-hp-olanaklar { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 4px; padding: 0; list-style: none; }
.b-hp-olanak { padding: 4px 10px; border-radius: 999px; background: var(--zn-tint, #E2F6FA); color: var(--zn-dark, #053B4A); font-size: 12.5px; font-weight: 700; }
.b-hp-olanak--vurgu { background: var(--zn, #0891B2); color: #FFFFFF; }
.b-hp-bolge { margin-bottom: 40px; }
.b-hp-giris p { margin: 0 0 12px; font-size: 16.5px; line-height: 1.7; color: var(--ink); }
.b-hp-aciklama { max-width: 760px; margin: -4px 0 18px; color: var(--muted, #5B6475); line-height: 1.6; }
.b-hp-mavi { margin: 0; padding: 0; list-style: none; }

/* Hava durumu sayfası (tema-hava: gök mavisi, güneş sarısı vurgu) */
.tema-hava { --zn: #0369A1; --zn-ust: #FFFFFF; --zn-vurgu: #0369A1; --zn-dark: #0C2D48; --zn-orta: #0B5C8E; --zn-tint: #E5F3FB; --zn-acik: #FDBA2C; }
.b-hv-saatlik { display: flex; gap: 10px; margin: 0; padding: 4px 2px 14px; list-style: none; overflow-x: auto; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
.b-hv-saat { position: relative; flex: 0 0 84px; scroll-snap-align: start; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 14px 8px;
  border: 1px solid var(--line); border-radius: 16px; background: #FFFFFF; color: var(--zn-dark); text-align: center; }
.b-hv-saat svg { color: var(--zn); }
.b-hv-saat strong { font-size: 19px; font-weight: 800; }
.b-hv-saat small { font-size: 12px; color: var(--muted); display: inline-flex; align-items: center; gap: 3px; }
.b-hv-saat__zaman { font-size: 13px; font-weight: 700; color: var(--muted); }
.b-hv-saat--simdi { background: var(--zn); border-color: var(--zn); color: #FFFFFF; }
.b-hv-saat--simdi svg, .b-hv-saat--simdi small, .b-hv-saat--simdi .b-hv-saat__zaman { color: #FFFFFF; }
.b-hv-saat__yagis { color: var(--zn) !important; font-weight: 700; }
.b-hv-gunler { border: 1px solid var(--line); border-radius: 18px; background: #FFFFFF; overflow: hidden; }
.b-hv-gun { display: grid; grid-template-columns: 1.1fr 2fr 1fr 0.9fr 1fr; align-items: center; gap: 12px; padding: 14px 20px; border-top: 1px solid var(--line); }
.b-hv-gun:first-child { border-top: 0; background: var(--zn-tint); }
.b-hv-gun__ad { display: flex; flex-direction: column; }
.b-hv-gun__ad small, .b-hv-gun__yagis, .b-hv-gun__ruzgar { color: var(--muted); font-size: 13.5px; }
.b-hv-gun__durum { display: flex; align-items: center; gap: 10px; font-weight: 600; color: var(--ink); }
.b-hv-gun__durum svg { color: var(--zn); flex: none; }
.b-hv-gun__sicaklik { font-size: 15px; color: var(--muted); }
.b-hv-gun__sicaklik strong { font-size: 19px; color: var(--ink); }
.b-hv-gun__yagis, .b-hv-gun__ruzgar { display: inline-flex; align-items: center; gap: 5px; }
.b-hv-bolgeler { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.b-hv-bolge { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 16px; background: #FFFFFF; color: var(--ink); text-decoration: none; }
.b-hv-bolge:hover { border-color: var(--zn); }
.b-hv-bolge svg { color: var(--zn); flex: none; }
.b-hv-bolge__yazi { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.b-hv-bolge__yazi small { color: var(--muted); font-size: 13px; }
.b-hv-bolge__derece { display: flex; flex-direction: column; align-items: flex-end; font-family: 'Bricolage Grotesque', sans-serif; font-size: 26px; font-weight: 800; color: var(--zn-dark); }
.b-hv-bolge__derece small { font-family: inherit; font-size: 12px; font-weight: 600; color: var(--muted); }
@media (max-width: 720px) {
  .b-hv-gun { grid-template-columns: 1fr auto; padding: 12px 14px; gap: 6px 12px; }
  .b-hv-gun__ad { order: 1; } .b-hv-gun__sicaklik { order: 2; text-align: right; }
  .b-hv-gun__durum { order: 3; font-size: 14px; } .b-hv-gun__yagis { order: 4; justify-content: flex-end; }
  .b-hv-gun__ruzgar { display: none; }
}
/* Bölge sayfasındaki hava kutusu */
.b-hv-mini { display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px; border-radius: 999px; background: #E5F3FB; color: #0C2D48; text-decoration: none; font-weight: 700; }
.b-hv-mini svg { color: #0369A1; }
.b-hv-mini small { font-weight: 500; color: var(--muted); }
.tema-hava .b-zn-giris { background:
    radial-gradient(520px 320px at 88% 8%, rgba(253, 186, 44, .55), transparent 62%),
    radial-gradient(900px 420px at 10% 120%, rgba(56, 189, 248, .35), transparent 60%),
    linear-gradient(135deg, #0C2D48 0%, #0B5C8E 55%, #0EA5E9 100%); }

/* Önemli günler (partials/ozel-gun): üst şerit, siyah kurdele, açılış penceresi; gri site kök öğede (filter kökte sabit öğeleri bozmaz) */
html.ozel-gun--gri { filter: grayscale(1); }
.b-ozel-gun { position: relative; z-index: 41; color: #FFFFFF; background: #0B1B3A; }
.b-ozel-gun__ic { display: flex; align-items: center; gap: 12px 16px; flex-wrap: wrap; max-width: 1280px; margin: 0 auto; padding: 10px var(--gutter); }
.b-ozel-gun__ikon { display: inline-grid; place-items: center; width: 38px; height: 38px; flex: none; border-radius: 50%; background: rgba(255, 255, 255, .16); }
.b-ozel-gun p { flex: 1 1 320px; margin: 0; font-size: 14.5px; line-height: 1.5; }
.b-ozel-gun p strong { font-weight: 800; margin-right: 6px; }
.b-ozel-gun p span { opacity: .92; }
.b-ozel-gun__dugme { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 999px; background: #FFFFFF; color: #0B1B3A; font-weight: 800; font-size: 14px; text-decoration: none; white-space: nowrap; }
.b-ozel-gun__dugme--cizgi { background: transparent; color: #FFFFFF; border: 1.5px solid rgba(255, 255, 255, .7); }
.b-ozel-gun--milli { background: linear-gradient(90deg, #C8102E, #E30A17 60%, #C8102E); }
.b-ozel-gun--bayram { background: linear-gradient(90deg, #5C3A00, #8A5A12 50%, #5C3A00); }
.b-ozel-gun--anma, .b-ozel-gun--taziye { background: #111111; }
.b-ozel-gun--afet { background: #B91C1C; }
.b-ozel-gun--afet .b-ozel-gun__ikon { background: #FFFFFF; color: #B91C1C; animation: b-ozel-nabiz 1.6s ease-in-out infinite; }
.b-ozel-gun--afet .b-ozel-gun__dugme:not(.b-ozel-gun__dugme--cizgi) { color: #B91C1C; }
@keyframes b-ozel-nabiz { 50% { box-shadow: 0 0 0 7px rgba(255, 255, 255, .25); } }
@media (prefers-reduced-motion: reduce) { .b-ozel-gun--afet .b-ozel-gun__ikon { animation: none; } }
.b-kurdele { position: absolute; top: 4px; left: 8px; z-index: 2; pointer-events: none; }
.b-kurdele svg { width: 26px; height: 39px; }
@media (max-width: 899px) { .b-kurdele { display: none; } }
@media (max-width: 720px) { .b-ozel-gun p { font-size: 13.5px; } }
.b-ozel-pencere { width: min(520px, calc(100vw - 32px)); padding: 32px 28px 24px; border: 0; border-radius: 24px; text-align: center; color: var(--ink); background: #FFFFFF; box-shadow: 0 30px 80px rgba(0, 0, 0, .35); }
.b-ozel-pencere::backdrop { background: rgba(6, 15, 33, .6); }
.b-ozel-pencere img { display: block; width: 100%; height: auto; max-height: 60vh; object-fit: contain; margin: 0 0 18px; border-radius: 14px; }
.b-ozel-pencere h2 { margin: 0 0 10px; font-family: 'Bricolage Grotesque', sans-serif; font-size: 26px; line-height: 1.2; }
.b-ozel-pencere p { margin: 0 0 10px; color: var(--muted); line-height: 1.6; }
.b-ozel-pencere__imza { font-weight: 800; color: var(--navy) !important; letter-spacing: .02em; }
.b-ozel-pencere__ikon { display: inline-grid; place-items: center; width: 84px; height: 84px; margin-bottom: 14px; border-radius: 50%; color: #FFFFFF; background: #0B1B3A; }
.b-ozel-pencere--milli .b-ozel-pencere__ikon { background: #E30A17; }
.b-ozel-pencere--bayram .b-ozel-pencere__ikon { background: #B7791F; }
.b-ozel-pencere--afet .b-ozel-pencere__ikon { background: #B91C1C; }
.b-ozel-pencere__kapat { position: absolute; top: 12px; right: 12px; display: inline-grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 50%; background: #F1F4F9; color: var(--ink); cursor: pointer; }
/* Üst başlıkta İzmir'in anlık sıcaklığı (hava durumu sayfasına) */
.b-ust-hava { display: inline-flex; align-items: center; gap: 5px; padding: 6px 10px; border-radius: 999px; color: #0369A1; background: #E5F3FB; font-weight: 800; font-size: 15px; text-decoration: none; }
.b-ust-hava:hover { background: #D3EBF8; }
@media (min-width: 1181px) and (max-width: 1440px) { .b-menu { gap: 4px 14px; } .b-ust__ic { gap: 18px; } }
@media (max-width: 560px) { .b-ust-hava { padding: 4px 7px; gap: 3px; font-size: 14px; } .b-ust-hava svg { width: 18px; height: 18px; } .b-ust__sag { gap: 4px; } }
@media (min-width: 1181px) and (max-width: 1279px) { .b-ust-hava { display: none; } }
@media (max-width: 400px) { .b-ust-hava svg { display: none; } .b-logo__alt { font-size: 11px; } }
@media (max-width: 340px) { .b-ust-hava { display: none; } }

/* ── Dolmuş saatleri (tema-dolmus, turkuaz): /izmir-dolmus-saatleri ve hat sayfaları ─────────────────────── */
.tema-dolmus { --zn: #0E9384; --zn-ust: #FFFFFF; --zn-vurgu: #0B7468; --zn-dark: #042F2B; --zn-orta: #0B6E64; --zn-tint: #E3F6F3; --zn-acik: #5EEAD4; }
.tema-dolmus .b-zn-giris { background:
    radial-gradient(760px 380px at 92% -10%, rgba(94, 234, 212, .38), transparent 60%),
    radial-gradient(560px 300px at 0% 120%, rgba(20, 86, 217, .35), transparent 60%),
    linear-gradient(135deg, #042F2B 0%, #0B6E64 52%, var(--navy) 100%); }
.tema-dolmus .b-zn-giris::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px;
    background: repeating-linear-gradient(90deg, #5EEAD4 0 18px, transparent 18px 30px); opacity: .55; }

/* Arama şeridi */
.b-dl-arama { flex-direction: column; align-items: stretch; gap: 10px; overflow: visible; }
.b-dl-arama__kutu { display: flex; align-items: center; gap: 10px; padding: 0 14px; border: 1.5px solid var(--line); border-radius: 14px; background: #FFFFFF; color: var(--zn-vurgu); }
.b-dl-arama__kutu:focus-within { border-color: var(--zn); box-shadow: 0 0 0 4px color-mix(in srgb, var(--zn) 18%, transparent); }
.b-dl-arama__kutu input { flex: 1; min-width: 0; min-height: 48px; border: 0; outline: 0; background: transparent; color: var(--ink); font: inherit; font-size: 16px; font-weight: 600; }
.b-dl-hizli { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.b-dl-hizli::-webkit-scrollbar { display: none; }
.b-dl-hizli button { flex: 0 0 auto; padding: 7px 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--soft); color: var(--ink); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.b-dl-hizli button:hover { border-color: var(--zn); color: var(--zn-vurgu); }
.b-dl-hizli button.aktif { background: var(--zn); border-color: var(--zn); color: var(--zn-ust); }
.b-dl-sayi { display: inline-grid; place-items: center; min-width: 26px; height: 26px; padding: 0 8px; border-radius: 999px; background: var(--zn-tint); color: var(--zn-vurgu); font-family: var(--body, inherit); font-size: 13px; font-weight: 800; }

/* Hat kartları */
.b-dl-kartlar { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 1fr)); gap: 14px; }
.b-dl-kart { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 18px; background: #FFFFFF; box-shadow: 0 1px 2px rgba(11, 27, 58, .04); transition: border-color .18s, box-shadow .18s, transform .18s; }
.b-dl-kart:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--zn) 40%, #FFFFFF); box-shadow: var(--shadow); }
.b-dl-kart[hidden] { display: none; }
.b-dl-kart__bas { display: flex; align-items: center; gap: 12px; color: var(--ink); text-decoration: none; }
.b-dl-kart__bas::after { content: ""; position: absolute; inset: 0; border-radius: 18px; }
.b-dl-kart__bas > svg { flex: 0 0 auto; color: var(--zn-vurgu); }
.b-dl-kod { display: grid; place-items: center; flex: 0 0 auto; min-width: 58px; height: 46px; padding: 0 8px; border-radius: 12px; background: linear-gradient(135deg, var(--zn), var(--zn-orta)); color: #FFFFFF; font-family: var(--display); font-weight: 800; font-size: 17px; letter-spacing: -.01em; font-variant-numeric: tabular-nums; box-shadow: 0 4px 12px color-mix(in srgb, var(--zn) 30%, transparent); }
.b-dl-kart__ad { flex: 1; min-width: 0; }
.b-dl-kart__ad strong { display: block; font-family: var(--display); font-size: 18px; line-height: 1.2; }
.b-dl-kart__ad small { display: block; margin-top: 3px; color: var(--muted); font-size: 13px; }
.b-dl-kart__siradaki { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.b-dl-kart__siradaki li { display: grid; gap: 2px; padding: 9px 12px; border-radius: 12px; background: var(--zn-tint); }
.b-dl-kart__siradaki span { overflow: hidden; color: var(--zn-vurgu); font-size: 11.5px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; text-overflow: ellipsis; white-space: nowrap; }
.b-dl-kart__siradaki strong { font-family: var(--display); font-size: 22px; line-height: 1.1; font-variant-numeric: tabular-nums; color: var(--ink); }
.b-dl-kart__siradaki em { color: var(--muted); font-size: 13px; font-style: normal; font-weight: 700; }
.b-dl-kart__fiyat { display: flex; align-items: center; gap: 6px; margin: 0; color: var(--muted); font-size: 13.5px; font-weight: 700; }
.b-dl-kart__fiyat svg { color: var(--zn-vurgu); }

/* Hat sayfası: yön kutuları, gün sekmeleri ve saat ızgarası */
.b-dl-yonler { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: 18px; margin-top: 18px; }
.b-dl-yon { display: grid; gap: 14px; align-content: start; padding: 20px; border: 1px solid var(--line); border-radius: 22px; background: #FFFFFF; box-shadow: 0 1px 2px rgba(11, 27, 58, .04); }
.b-dl-yon__bas { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.b-dl-yon__bas > div { flex: 1; min-width: 0; }
.b-dl-yon__bas small { color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.b-dl-yon__bas h3 { margin: 0; font-family: var(--display); font-size: 22px; line-height: 1.15; }
.b-dl-yon__siradaki { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; margin: 0; }
.b-dl-yon__siradaki strong { font-family: var(--display); font-size: 32px; line-height: 1; color: var(--zn-vurgu); font-variant-numeric: tabular-nums; }
.b-dl-sekmeler { display: flex; gap: 4px; padding: 4px; overflow-x: auto; border-radius: 14px; background: var(--soft); scrollbar-width: none; }
.b-dl-sekmeler::-webkit-scrollbar { display: none; }
.b-dl-sekmeler button { display: inline-flex; flex: 1 0 auto; align-items: center; justify-content: center; gap: 6px; padding: 9px 12px; border: 0; border-radius: 10px; background: transparent; color: var(--muted); font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; white-space: nowrap; }
.b-dl-sekmeler button:hover { color: var(--zn-vurgu); }
.b-dl-sekmeler button.aktif { background: var(--zn); color: var(--zn-ust); box-shadow: 0 4px 12px color-mix(in srgb, var(--zn) 30%, transparent); }
.b-dl-sekmeler em { padding: 1px 6px; border-radius: 999px; background: color-mix(in srgb, currentColor 16%, transparent); font-size: 10.5px; font-style: normal; letter-spacing: .03em; text-transform: uppercase; }
.b-dl-gun__baslik { margin: 0 0 10px; font-size: 15px; font-weight: 800; }
.b-dl-gun__baslik small { margin-left: 6px; color: var(--muted); font-size: 13px; font-weight: 600; }
.b-dl-yon--sekmeli .b-dl-gun__baslik { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.b-dl-gun + .b-dl-gun { margin-top: 18px; }
.b-dl-yon--sekmeli .b-dl-gun + .b-dl-gun { margin-top: 0; }
.b-dl-saatler { display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 6px; margin: 0; padding: 0; list-style: none; }
.b-dl-saatler li { position: relative; display: flex; align-items: center; justify-content: center; gap: 3px; min-height: 40px; padding: 6px 4px; border-radius: 10px; background: var(--soft); color: var(--ink); font-family: var(--display); font-size: 16px; font-weight: 700; font-variant-numeric: tabular-nums; transition: background .2s, color .2s, opacity .2s; }
.b-dl-saatler li.belediye { box-shadow: inset 0 -3px 0 color-mix(in srgb, var(--zn) 55%, transparent); }
.b-dl-saatler li.gecti { opacity: .38; }
.b-dl-saatler li.siradaki { background: var(--zn); color: var(--zn-ust); box-shadow: 0 6px 16px color-mix(in srgb, var(--zn) 35%, transparent); opacity: 1; }
.b-dl-saatler li.siradaki::before { content: "Sıradaki"; position: absolute; top: -8px; left: 50%; transform: translateX(-50%); padding: 1px 6px; border-radius: 999px; background: var(--zn-dark); color: #FFFFFF; font-family: inherit; font-size: 9.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.b-dl-nokta { display: inline-block; flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; background: var(--nokta); box-shadow: 0 0 0 1.5px #FFFFFF; }
.b-dl-ornek { display: inline-grid; place-items: center; min-width: 52px; height: 28px; border-radius: 8px; background: var(--soft); font-family: var(--display); font-size: 13px; font-weight: 700; box-shadow: inset 0 -3px 0 color-mix(in srgb, var(--zn) 55%, transparent); }
.b-dl-aciklamalar { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 8px 18px; margin: 18px 0 0; padding: 16px 18px; border-radius: 18px; background: var(--soft); list-style: none; font-size: 14px; }
.b-dl-aciklamalar li { display: flex; align-items: center; gap: 10px; color: var(--ink); }
.b-dl-aciklamalar li > svg { flex: 0 0 auto; color: var(--zn-vurgu); }
.b-dl-aciklamalar .b-dl-nokta { width: 12px; height: 12px; }

/* Duraklar: zaman çizgisi */
.b-dl-duraklar { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 18px; margin-top: 18px; }
.b-dl-durak-yon { padding: 20px; border: 1px solid var(--line); border-radius: 22px; background: #FFFFFF; }
.b-dl-durak-yon h3 { margin: 0 0 14px; font-family: var(--display); font-size: 20px; }
.b-dl-durak-yon h3 small { margin-left: 6px; color: var(--muted); font-family: inherit; font-size: 14px; font-weight: 600; }
.b-dl-durak-liste { position: relative; margin: 0; padding: 0; list-style: none; counter-reset: durak; }
.b-dl-durak-liste::before { content: ""; position: absolute; top: 12px; bottom: 12px; left: 13px; width: 3px; border-radius: 3px; background: linear-gradient(var(--zn), var(--zn-acik)); }
.b-dl-durak-liste li { position: relative; display: flex; align-items: center; min-height: 34px; padding: 4px 0 4px 40px; color: var(--ink); font-size: 15px; counter-increment: durak; }
.b-dl-durak-liste li::before { content: counter(durak); position: absolute; left: 3px; top: 50%; display: grid; place-items: center; width: 23px; height: 23px; transform: translateY(-50%); border: 2.5px solid var(--zn); border-radius: 50%; background: #FFFFFF; color: var(--zn-vurgu); font-size: 10.5px; font-weight: 800; }
.b-dl-durak-liste li.ilk, .b-dl-durak-liste li.son { font-weight: 800; }
.b-dl-durak-liste li.ilk::before, .b-dl-durak-liste li.son::before { background: var(--zn); color: #FFFFFF; }
.b-dl-durak-liste.kisa li:nth-child(n+13):not(.son) { display: none; }
.b-dl-durak-liste.kisa li.son { margin-top: 18px; }
.b-dl-durak-liste.kisa li.son::after { content: "⋮"; position: absolute; top: -20px; left: 10px; color: var(--zn-vurgu); font-weight: 800; }
.b-dl-tumu { margin-top: 12px; padding: 9px 14px; border: 1.5px solid var(--line); border-radius: 12px; background: #FFFFFF; color: var(--zn-vurgu); font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; }
.b-dl-tumu:hover { border-color: var(--zn); }

/* Ücret tabloları */
.b-dl-not { max-width: 760px; margin: 8px 0 16px; color: var(--muted); }
.b-dl-ucret + .b-dl-ucret { margin-top: 16px; }
.b-dl-ucret__baslik { margin: 0; padding: 14px 18px; border-bottom: 1px solid var(--line); font-family: var(--display); font-size: 18px; }
.b-dl-ucret .b-tablo th[scope=row] { color: var(--ink); font-size: 14.5px; font-weight: 600; letter-spacing: 0; text-transform: none; white-space: normal; background: transparent; }
.b-dl-ucret .b-tablo td { white-space: nowrap; font-variant-numeric: tabular-nums; }
.b-dl-ucret .b-tablo td.b-dl-tam { background: color-mix(in srgb, var(--zn-tint) 70%, #FFFFFF); color: var(--zn-vurgu); font-weight: 800; }
.b-dl-ucret .b-tablo thead th.b-dl-tam { background: var(--zn); color: var(--zn-ust); }
.b-dl-ucret .b-dl-indi th[scope=row] { color: var(--muted); font-style: italic; }

/* Notlar ve bölgeler */
.b-dl-notlar { display: grid; gap: 10px; margin: 16px 0 0; padding: 0; list-style: none; }
.b-dl-notlar li { display: flex; gap: 12px; padding: 14px 16px; border-radius: 16px; background: var(--soft); }
.b-dl-notlar svg { flex: 0 0 auto; margin-top: 2px; color: var(--zn-vurgu); }
.b-dl-bolgeler { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.b-dl-bolgeler a { display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; border: 1px solid var(--line); border-radius: 999px; background: #FFFFFF; color: var(--ink); font-weight: 700; text-decoration: none; }
.b-dl-bolgeler a:hover { border-color: var(--zn); color: var(--zn-vurgu); }
.b-dl-bolgeler svg { color: var(--zn-vurgu); }
.b-dl-tum-hatlar { display: inline-flex; flex: 0 0 auto; padding: 0 20px; text-decoration: none; }

@media (max-width: 640px) {
  .b-dl-yon, .b-dl-durak-yon { padding: 16px; border-radius: 18px; }
  .b-dl-saatler { grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 5px; }
  .b-dl-saatler li { min-height: 38px; font-size: 15px; }
  .b-dl-yon__siradaki strong { font-size: 26px; }
  .b-dl-ucret .b-tablo th, .b-dl-ucret .b-tablo td { padding: 10px; }
}
@media (prefers-reduced-motion: reduce) { .b-dl-kart, .b-dl-kart:hover { transition: none; transform: none; } }

/* ── Deniz suyu sıcaklığı (tema-deniz, derin mavi): /izmir-deniz-suyu-sicakligi ─────────────────────────── */
.tema-deniz { --zn: #0A7BC2; --zn-ust: #FFFFFF; --zn-vurgu: #08629B; --zn-dark: #04243F; --zn-orta: #075A92; --zn-tint: #E3F2FB; --zn-acik: #6FD3FF; }
[data-durum] { --durum: #12B886; }
[data-durum="cok-soguk"] { --durum: #3B5BDB; } [data-durum="soguk"] { --durum: #1C7ED6; } [data-durum="serinletici"] { --durum: #15AABF; }
[data-durum="serin"] { --durum: #12B886; } [data-durum="ilik"] { --durum: #F59F00; } [data-durum="cok-sicak"] { --durum: #F76707; }

.b-ds-giris { position: relative; overflow: hidden; color: #FFFFFF;
    background:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='24'%3E%3Cpath d='M0 12c15 0 15-8 30-8s15 8 30 8 15-8 30-8 15 8 30 8' fill='none' stroke='%23FFFFFF' stroke-opacity='.07' stroke-width='2'/%3E%3C/svg%3E"),
      radial-gradient(800px 420px at 85% -10%, rgba(111, 211, 255, .45), transparent 60%),
      radial-gradient(600px 300px at 0% 120%, rgba(18, 184, 134, .30), transparent 60%),
      linear-gradient(160deg, #04243F 0%, #075A92 55%, #0A7BC2 100%); }
.b-ds-giris::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 38px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 38' preserveAspectRatio='none'%3E%3Cpath d='M0 20c150-26 300 26 450 6s300-26 450 0 225 14 300 4v8H0z' fill='%23FFFFFF'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat; }
.b-ds-giris__ic { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 28px; max-width: 1200px; margin: 0 auto; padding: 30px var(--gutter) 84px; }
.b-ds-giris__sol { flex: 1 1 460px; }
.b-ds-giris h1 { margin: 12px 0 8px; font-family: var(--display); font-weight: 800; font-size: clamp(32px, 4.6vw, 54px); letter-spacing: -0.025em; line-height: 1.04; }
.b-ds-giris__alt { max-width: 560px; margin: 0; color: rgba(255, 255, 255, .86); font-size: 17px; }
.b-ds-dugmeler { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.b-ds-dugme { display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 0 18px; border: 0; border-radius: 14px; background: #FFFFFF; color: var(--zn-dark); font: inherit; font-weight: 800; cursor: pointer; box-shadow: 0 8px 20px rgba(4, 36, 63, .25); }
.b-ds-dugme svg { color: #F59F00; }
.b-ds-dugme--cam { background: rgba(255, 255, 255, .14); color: #FFFFFF; box-shadow: none; border: 1px solid rgba(255, 255, 255, .3); }
.b-ds-dugme--cam svg { color: var(--zn-acik); }
.b-ds-dugme:hover { filter: brightness(.96); }
.b-ds-ipucu { max-width: 520px; margin: 12px 0 0; padding: 10px 14px; border-radius: 12px; background: rgba(4, 36, 63, .55); border: 1px solid rgba(255, 255, 255, .2); font-size: 14px; }

.b-ds-olcum { display: flex; align-items: center; gap: 22px; padding: 24px 28px; border-radius: 28px; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .22); backdrop-filter: blur(8px); box-shadow: 0 20px 50px rgba(4, 36, 63, .35); }
.b-ds-olcum__yazi { display: grid; gap: 4px; }
.b-ds-olcum__yazi small { color: rgba(255, 255, 255, .8); font-size: 13px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.b-ds-derece { font-family: var(--display); font-weight: 800; font-size: clamp(64px, 9vw, 96px); line-height: .95; letter-spacing: -0.04em; font-variant-numeric: tabular-nums; }
.b-ds-derece sup { font-size: .38em; vertical-align: top; position: relative; top: .35em; margin-left: 2px; letter-spacing: 0; }
.b-ds-yorum { justify-self: start; padding: 5px 12px; border-radius: 999px; background: var(--durum); color: #FFFFFF; font-weight: 800; font-size: 15px; box-shadow: 0 4px 14px rgba(0, 0, 0, .18); }
.b-ds-farklar { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 0; padding: 0; list-style: none; }
.b-ds-farklar li { padding: 5px 10px; border-radius: 10px; background: rgba(255, 255, 255, .14); font-size: 13.5px; font-weight: 700; }
.b-ds-farklar li small { margin-left: 4px; color: rgba(255, 255, 255, .7); font-weight: 600; }
.b-ds-farklar li.sicak::before { content: "▲ "; color: #FFC078; }
.b-ds-farklar li.soguk::before { content: "▼ "; color: #A5D8FF; }

/* Termometre */
.b-ds-termometre { position: relative; flex: 0 0 auto; width: 26px; height: 150px; border-radius: 13px; background: rgba(255, 255, 255, .22); border: 2px solid rgba(255, 255, 255, .5); }
.b-ds-termometre::after { content: ""; position: absolute; left: 50%; bottom: -16px; width: 40px; height: 40px; transform: translateX(-50%); border-radius: 50%; background: var(--durum); border: 2px solid rgba(255, 255, 255, .6); }
.b-ds-termometre span { position: absolute; left: 4px; right: 4px; bottom: 4px; height: calc(var(--doluluk) - 8px); border-radius: 9px; background: linear-gradient(0deg, var(--durum), color-mix(in srgb, var(--durum) 60%, #FFFFFF)); animation: b-ds-dol 1.2s ease-out both; }
@keyframes b-ds-dol { from { height: 0; } }

/* Bugün kartları */
.b-ds-bugun { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 16px; margin-top: 18px; }
.b-ds-kart { position: relative; display: grid; gap: 10px; align-content: start; padding: 20px; border: 1px solid var(--line); border-radius: 22px; background: #FFFFFF; color: var(--ink); text-decoration: none; box-shadow: 0 1px 2px rgba(11, 27, 58, .04); overflow: hidden; }
.b-ds-kart::before { content: ""; position: absolute; inset: 0 0 auto; height: 5px; background: var(--durum, var(--zn)); }
.b-ds-kart header { display: flex; gap: 12px; align-items: flex-start; }
.b-ds-kart h3 { margin: 0; font-family: var(--display); font-size: 20px; }
.b-ds-kart header small { display: block; color: var(--muted); font-size: 13px; line-height: 1.4; }
.b-ds-kart__derece { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; margin: 0; font-family: var(--display); font-size: 44px; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; }
.b-ds-kart__derece span { padding: 3px 10px; border-radius: 999px; background: color-mix(in srgb, var(--durum, var(--zn)) 14%, #FFFFFF); color: color-mix(in srgb, var(--durum, var(--zn)) 80%, #000000); font-family: var(--body, inherit); font-size: 14px; }
.b-ds-kart__zaman { display: flex; align-items: center; gap: 6px; margin: 0; color: var(--muted); font-size: 13.5px; }
.b-ds-kart--hava:hover { border-color: var(--zn); box-shadow: var(--shadow); }

/* Ölçek */
.b-ds-olcek { margin-top: 26px; }
.b-ds-olcek__serit { position: relative; height: 16px; border-radius: 999px; background: linear-gradient(90deg, #3B5BDB 0%, #1C7ED6 14%, #15AABF 36%, #12B886 57%, #F59F00 78%, #F76707 100%); }
.b-ds-olcek__isaret { position: absolute; top: 50%; width: 26px; height: 26px; transform: translate(-50%, -50%); border-radius: 50%; background: #FFFFFF; border: 4px solid var(--zn-dark); box-shadow: 0 4px 12px rgba(0, 0, 0, .25); }
.b-ds-olcek__isaret b { position: absolute; bottom: calc(100% + 8px); left: 50%; transform: translateX(-50%); padding: 3px 8px; border-radius: 8px; background: var(--zn-dark); color: #FFFFFF; font-size: 12px; white-space: nowrap; }
.b-ds-olcek__adlar { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; margin: 10px 0 0; padding: 0; list-style: none; font-size: 12.5px; color: var(--muted); text-align: center; }
.b-ds-olcek__adlar strong { display: block; color: var(--ink); font-size: 13px; }
.b-ds-olcek { padding-top: 34px; }
.b-ds-tavsiye { display: flex; gap: 12px; margin: 18px 0 0; padding: 16px 18px; border-radius: 16px; background: var(--zn-tint); color: var(--ink); }
.b-ds-tavsiye svg { flex: 0 0 auto; color: var(--zn-vurgu); }
.b-ds-not { max-width: 780px; margin: 8px 0 16px; color: var(--muted); }

/* Grafik */
.b-ds-grafik { margin: 0 0 22px; padding: 18px 18px 12px; border: 1px solid var(--line); border-radius: 22px; background: #FFFFFF; }
.b-ds-grafik svg { display: block; width: 100%; height: auto; }
.b-ds-grafik .izgara { stroke: var(--line); stroke-width: 1; }
.b-ds-grafik .izgara--esik { stroke-dasharray: 4 4; stroke: #C5D3E3; }
.b-ds-grafik .eksen { fill: var(--muted); font-size: 12px; font-weight: 600; }
.b-ds-grafik .eksen--bu-ay { fill: var(--zn-vurgu); font-weight: 800; }
.b-ds-grafik .bolge-ilik { fill: #FFF4E0; opacity: .7; }
.b-ds-grafik .bant { fill: color-mix(in srgb, var(--zn) 18%, transparent); }
.b-ds-grafik .ortalama { fill: none; stroke: var(--zn); stroke-width: 3; stroke-linejoin: round; }
.b-ds-grafik .bu-yil { fill: none; stroke: #F76707; stroke-width: 2; stroke-dasharray: 6 4; }
.b-ds-grafik .nokta { fill: #FFFFFF; stroke: var(--zn); stroke-width: 2.5; }
.b-ds-grafik .bugun { stroke: var(--zn-dark); stroke-width: 1.5; stroke-dasharray: 3 3; }
.b-ds-grafik .bugun-nokta { fill: #F76707; stroke: #FFFFFF; stroke-width: 3; }
.b-ds-lejant { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 10px; color: var(--muted); font-size: 13px; }
.b-ds-lejant span { display: inline-flex; align-items: center; gap: 6px; }
.b-ds-lejant i { display: inline-block; width: 18px; height: 10px; border-radius: 3px; }
.l-ortalama { background: var(--zn); height: 3px !important; }
.l-bant { background: color-mix(in srgb, var(--zn) 22%, transparent); }
.l-bu-yil { background: repeating-linear-gradient(90deg, #F76707 0 6px, transparent 6px 10px); height: 2px !important; }
.l-bugun { background: #F76707; width: 10px !important; border-radius: 50% !important; }
.l-ilik { background: #FFF4E0; border: 1px solid #FFD8A8; }

/* Ay kartları */
.b-ds-aylar { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 150px), 1fr)); gap: 10px; margin-bottom: 22px; }
.b-ds-ay { position: relative; display: grid; gap: 2px; padding: 14px; border: 1px solid var(--line); border-radius: 18px; background: #FFFFFF; overflow: hidden; }
.b-ds-ay::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: var(--durum); }
.b-ds-ay h3 { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin: 0; font-size: 15px; }
.b-ds-ay h3 em { padding: 1px 7px; border-radius: 999px; background: var(--zn); color: #FFFFFF; font-size: 10.5px; font-style: normal; text-transform: uppercase; letter-spacing: .04em; }
.b-ds-ay--simdi { border-color: var(--zn); box-shadow: 0 0 0 3px color-mix(in srgb, var(--zn) 18%, transparent); }
.b-ds-ay__derece { margin: 4px 0 0; font-family: var(--display); font-size: 28px; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; }
.b-ds-ay__aralik { margin: 0; color: var(--muted); font-size: 12.5px; }
.b-ds-ay__yorum { margin: 4px 0 6px; color: color-mix(in srgb, var(--durum) 80%, #000000); font-size: 13px; font-weight: 800; }
.b-ds-ay__gun { height: 6px; border-radius: 999px; background: var(--soft); overflow: hidden; }
.b-ds-ay__gun span { display: block; height: 100%; border-radius: inherit; background: var(--durum); }
.b-ds-ay small { color: var(--muted); font-size: 11.5px; }
.b-ds-ay__gecen { font-weight: 700; }
.b-ds-tablo .b-tablo td, .b-ds-tablo .b-tablo th[scope=row] { font-variant-numeric: tabular-nums; }
.b-ds-tablo .b-tablo th[scope=row] { color: var(--ink); font-size: 14.5px; text-transform: none; letter-spacing: 0; background: transparent; }
.b-ds-tablo__simdi td, .b-ds-tablo__simdi th { background: var(--zn-tint) !important; }

/* Son günler */
.b-ds-seriler { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 16px; margin-top: 14px; }
.b-ds-seri { padding: 18px; border: 1px solid var(--line); border-radius: 20px; background: #FFFFFF; }
.b-ds-seri h3 { margin: 0 0 8px; font-size: 17px; }
.b-ds-seri h3 small { color: var(--muted); font-weight: 600; }
.b-ds-seri svg { display: block; width: 100%; height: auto; }
.b-ds-seri polyline { fill: none; stroke: var(--zn); stroke-width: 2.5; stroke-linejoin: round; }
.b-ds-seri circle { fill: #FFFFFF; stroke: var(--zn); stroke-width: 2; }
.b-ds-seri p { display: flex; justify-content: space-between; margin: 6px 0 0; color: var(--muted); font-size: 13px; }

/* Karşılaştırma çubukları */
.b-ds-cubuklar { display: grid; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.b-ds-cubuklar li { display: grid; grid-template-columns: minmax(90px, 160px) 1fr 64px; align-items: center; gap: 12px; padding: 8px 12px; border-radius: 14px; }
.b-ds-cubuklar li:nth-child(odd) { background: var(--soft-2); }
.b-ds-cubuk--izmir { background: var(--zn-tint) !important; box-shadow: inset 4px 0 0 var(--zn); }
.b-ds-cubuk__ad { font-weight: 700; }
.b-ds-cubuk--izmir .b-ds-cubuk__ad { color: var(--zn-vurgu); font-weight: 800; }
.b-ds-cubuk__cubuk { height: 14px; border-radius: 999px; background: var(--soft); overflow: hidden; }
.b-ds-cubuk__cubuk i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, color-mix(in srgb, var(--durum) 55%, #FFFFFF), var(--durum)); }
.b-ds-cubuklar strong { text-align: right; font-family: var(--display); font-size: 18px; font-variant-numeric: tabular-nums; }

/* Türkiye tablosu */
.b-ds-denizler { display: grid; gap: 10px; margin-top: 14px; }
.b-ds-deniz { border: 1px solid var(--line); border-radius: 18px; background: #FFFFFF; overflow: hidden; }
.b-ds-deniz summary { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; padding: 14px 18px; cursor: pointer; list-style: none; }
.b-ds-deniz summary::-webkit-details-marker { display: none; }
.b-ds-deniz summary::after { content: "+"; margin-left: auto; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--zn-tint); color: var(--zn-vurgu); font-weight: 800; }
.b-ds-deniz[open] summary::after { content: "–"; }
.b-ds-deniz summary strong { font-family: var(--display); font-size: 18px; }
.b-ds-deniz summary span { color: var(--zn-vurgu); font-weight: 800; }
.b-ds-deniz summary small { color: var(--muted); }
.b-ds-deniz .b-tablo-kap { border: 0; border-top: 1px solid var(--line); border-radius: 0; }
.b-ds-deniz .b-tablo th[scope=row] { color: var(--ink); font-size: 14px; text-transform: none; letter-spacing: 0; white-space: normal; background: transparent; }

@media (max-width: 640px) {
  .b-ds-giris__ic { padding-bottom: 70px; }
  .b-ds-olcum { width: 100%; padding: 20px; gap: 18px; }
  .b-ds-termometre { height: 120px; }
  .b-ds-olcek__adlar { grid-template-columns: repeat(3, 1fr); }
  .b-ds-cubuklar li { grid-template-columns: 90px 1fr 56px; gap: 8px; padding: 8px; }
  .b-ds-aylar { grid-template-columns: repeat(2, 1fr); }
  .b-ds-grafik { padding: 14px 10px 10px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .b-ds-grafik svg { min-width: 600px; }
  .b-ds-lejant { min-width: 0; }
  .b-ds-tablo .b-tablo th, .b-ds-tablo .b-tablo td { padding: 9px 10px; white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) { .b-ds-termometre span { animation: none; } }

/* Koy koy deniz durumu (deniz suyu sayfası) */
.b-ky { --ky-0: #12B886; --ky-1: #F5B700; --ky-2: #F76707; --ky-3: #E03131; --ky: #12B886; }
.b-ky [data-an] { display: none; }
[data-durum-ky="0"] { --dk: #12B886; } [data-durum-ky="1"] { --dk: #E8A600; } [data-durum-ky="2"] { --dk: #F76707; } [data-durum-ky="3"] { --dk: #E03131; }
.b-ky-ozet { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 10px; margin: 6px 0 16px; }
.b-ky-ozet > div { padding: 14px 16px; border-radius: 16px; background: var(--zn-tint); border-left: 4px solid var(--dk, var(--zn)); }
.b-ky-ozet small { display: block; color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.b-ky-ozet strong { display: block; margin-top: 2px; font-size: 16px; line-height: 1.3; }
.b-ky-anlar { margin-bottom: 8px; }
.b-ky-grup { margin-top: 22px; }
.b-ky-grup__baslik { margin: 0 0 12px; font-family: var(--display); font-size: 20px; }
.b-ky-grup__baslik small { display: block; margin-top: 2px; color: var(--muted); font-family: var(--body, inherit); font-size: 13.5px; font-weight: 600; }
.b-ky-kartlar { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 12px; }
.b-ky-kart { position: relative; display: grid; gap: 8px; align-content: start; padding: 16px 16px 14px 20px; border: 1px solid var(--line); border-radius: 18px; background: #FFFFFF; overflow: hidden; transition: border-color .2s; }
.b-ky-kart::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 5px; background: var(--ky); transition: background .2s; }
.b-ky-kart header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.b-ky-kart h4 { margin: 0; font-family: var(--display); font-size: 18px; }
.b-ky-kart h4 a { color: var(--ink); text-decoration: none; }
.b-ky-kart h4 a:hover { color: var(--zn-vurgu); text-decoration: underline; }
.b-ky-durum { flex: 0 0 auto; padding: 3px 9px; border-radius: 999px; background: color-mix(in srgb, var(--dk) 15%, #FFFFFF); color: color-mix(in srgb, var(--dk) 75%, #000000); font-size: 12px; font-weight: 800; }
.b-ky-not { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.4; }
.b-ky-degerler { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin: 4px 0 0; }
.b-ky-degerler > div { padding: 8px 6px; border-radius: 12px; background: var(--soft); text-align: center; }
.b-ky-degerler dt { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.b-ky-degerler dd { margin: 2px 0 0; font-family: var(--display); font-size: 20px; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.b-ky-degerler dd small { font-family: var(--body, inherit); font-size: 11px; font-weight: 700; color: var(--muted); }
.b-ky-ok { display: inline-block; margin-right: 3px; color: var(--zn-vurgu); font-style: normal; font-weight: 800; }
.b-ky-km { margin: 0; color: var(--muted); font-size: 12px; }
.b-ky-lejant { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 18px 0 0; padding: 0; list-style: none; color: var(--muted); font-size: 13px; }
.b-ky-lejant li { display: inline-flex; align-items: center; gap: 6px; }
.b-ky-lejant span { width: 12px; height: 12px; border-radius: 50%; background: var(--dk); }
@media (max-width: 640px) {
  .b-ky-ozet { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .b-ky-ozet > div { padding: 10px 12px; }
  .b-ky-ozet strong { font-size: 14px; }
  .b-ky-kartlar { gap: 10px; }
}

/* Koy haritası (kıyı çizgisi OpenStreetMap; dış harita servisi yok) */
.b-ky-harita { margin: 14px 0 6px; border: 1px solid var(--line); border-radius: 22px; background: #FFFFFF; overflow: hidden; box-shadow: var(--shadow); }
.b-ky-harita__kap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.b-ky-harita svg { display: block; width: 100%; height: auto; }
.b-ky-kara { fill: #EDE8DE; stroke: #C9C1B2; stroke-width: .8; stroke-linejoin: round; }
.b-ky-deniz-ad { fill: #FFFFFF; fill-opacity: .85; font-size: 15px; font-style: italic; font-weight: 600; letter-spacing: .08em; }
.b-ky-yer-ad { fill: #8A8173; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.b-ky-isaret { cursor: pointer; }
.b-ky-isaret__daire { fill: var(--ky, #12B886); stroke: #FFFFFF; stroke-width: 2.5; transition: transform .15s, fill .2s; transform-box: fill-box; transform-origin: center; }
.b-ky-isaret:hover .b-ky-isaret__daire, .b-ky-isaret:focus .b-ky-isaret__daire { transform: scale(1.18); }
.b-ky-isaret__cizgi { stroke: #23303F; stroke-opacity: .55; stroke-width: 1.2; }
.b-ky-isaret__kiyi { fill: #23303F; fill-opacity: .7; }
.b-ky-isaret__derece { fill: #FFFFFF; font-size: 11.5px; font-weight: 800; pointer-events: none; }
.b-ky-isaret__ad { fill: #23303F; font-size: 12.5px; font-weight: 800; paint-order: stroke; stroke: #FFFFFF; stroke-width: 3.5px; stroke-linejoin: round; pointer-events: none; }
.b-ky-pusula circle { fill: #FFFFFF; fill-opacity: .9; stroke: #C9D6E2; }
.b-ky-pusula .kuzey { fill: #C0392B; }
.b-ky-pusula text { fill: #23303F; font-size: 11px; font-weight: 800; }
.b-ky-pusula .ruzgar { fill: none; stroke: var(--zn-vurgu); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.b-ky-harita__alt { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px; padding: 10px 16px; color: var(--muted); font-size: 12.5px; border-top: 1px solid var(--line); }
.b-ky-kart { scroll-margin-top: 90px; }
.b-ky-kart.vurgu { border-color: var(--zn); box-shadow: 0 0 0 4px color-mix(in srgb, var(--zn) 25%, transparent); }
.b-ky-kaydir { display: none; font-weight: 700; }
@media (max-width: 760px) { .b-ky-harita svg { min-width: 760px; } .b-ky-kaydir { display: inline; } }

/* ── Etkinlikler (tema-etkinlik, mor-pembe): /izmir-etkinlikleri ve etkinlik sayfaları ───────────────────── */
.tema-etkinlik { --zn: #9333EA; --zn-ust: #FFFFFF; --zn-vurgu: #7E22CE; --zn-dark: #2E0B4F; --zn-orta: #6B21A8; --zn-tint: #F5EDFF; --zn-acik: #F0ABFC; }
.tema-etkinlik .b-zn-giris { background:
    radial-gradient(700px 360px at 90% -10%, rgba(240, 171, 252, .45), transparent 60%),
    radial-gradient(600px 300px at 0% 120%, rgba(251, 146, 60, .35), transparent 60%),
    linear-gradient(135deg, #2E0B4F 0%, #6B21A8 50%, #BE185D 100%); }
.b-et-dugmeler { display: flex; flex-wrap: wrap; gap: 10px; max-width: 1200px; margin: -14px auto 30px; padding: 0 var(--gutter); position: relative; z-index: 6; }
.b-et-dugme { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 18px; border: 0; border-radius: 14px;
    background: linear-gradient(135deg, #9333EA, #DB2777); color: #FFFFFF; font: inherit; font-weight: 800; text-decoration: none; cursor: pointer;
    box-shadow: 0 8px 20px rgba(147, 51, 234, .3); }
.b-et-dugme:hover { filter: brightness(1.05); color: #FFFFFF; }
.b-et-dugme--acik { background: #FFFFFF; color: var(--zn-vurgu); border: 1.5px solid color-mix(in srgb, var(--zn) 30%, #FFFFFF); box-shadow: var(--shadow); }
.b-et-dugme--acik:hover { color: var(--zn-vurgu); }
.b-et-dugme--cam { background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .35); box-shadow: none; }
.b-et-dugme--bilet { background: #FFFFFF; color: #BE185D; }
.b-et-dugme--bilet:hover { color: #BE185D; }

/* Süzgeç şeridi */
.b-et-suzgec { flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; overflow: visible; }
.b-et-zamanlar { display: flex; gap: 4px; padding: 4px; overflow-x: auto; border-radius: 14px; background: var(--soft); scrollbar-width: none; }
.b-et-zamanlar::-webkit-scrollbar { display: none; }
.b-et-zamanlar button { flex: 0 0 auto; padding: 8px 14px; border: 0; border-radius: 10px; background: transparent; color: var(--muted); font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; }
.b-et-zamanlar button:hover { color: var(--zn-vurgu); }
.b-et-zamanlar button.aktif { background: var(--zn); color: #FFFFFF; box-shadow: 0 4px 12px color-mix(in srgb, var(--zn) 30%, transparent); }
.b-et-suzgec__sag { display: flex; flex-wrap: wrap; gap: 8px; }
.b-et-secim select { min-height: 42px; padding: 0 12px; border: 1.5px solid var(--line); border-radius: 12px; background: #FFFFFF; color: var(--ink); font: inherit; font-weight: 700; }
.b-et-ara { display: inline-flex; align-items: center; gap: 6px; padding: 0 12px; border: 1.5px solid var(--line); border-radius: 12px; background: #FFFFFF; color: var(--zn-vurgu); }
.b-et-ara input { width: 170px; min-height: 40px; border: 0; outline: 0; background: transparent; font: inherit; font-weight: 600; color: var(--ink); }

/* Gün grupları */
.b-et-gun, .b-et-uzunlar { margin-bottom: 30px; scroll-margin-top: 110px; }
.b-et-gun[hidden], .b-et-uzunlar[hidden] { display: none; }
.b-et-gun__baslik { position: sticky; top: 64px; z-index: 3; display: flex; align-items: center; gap: 14px; margin: 0 0 14px; padding: 8px 0; background: linear-gradient(#FFFFFF 75%, transparent); font-size: inherit; }
.b-et-gun__tarih { display: grid; place-items: center; flex: 0 0 auto; width: 54px; height: 58px; border-radius: 16px; background: linear-gradient(160deg, var(--zn), #DB2777); color: #FFFFFF; line-height: 1; box-shadow: 0 6px 16px color-mix(in srgb, var(--zn) 30%, transparent); }
.b-et-gun__tarih strong { font-family: var(--display); font-size: 24px; }
.b-et-gun__tarih small { color: rgba(255, 255, 255, .92); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.b-et-gun__baslik > span:last-child { display: grid; }
.b-et-gun__baslik > span:last-child strong { font-family: var(--display); font-size: 22px; }
.b-et-gun__baslik em { margin-left: 8px; padding: 2px 9px; border-radius: 999px; background: #FDE047; color: #422006; font-size: 12px; font-style: normal; font-weight: 800; vertical-align: middle; }
.b-et-gun__baslik small { color: var(--muted); font-size: 13px; font-weight: 600; }

/* Kartlar */
.b-et-kartlar { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr)); gap: 12px; }
.b-et-kart { position: relative; display: flex; align-items: stretch; gap: 14px; padding: 14px 14px 14px 0; border: 1px solid var(--line); border-radius: 18px; background: #FFFFFF; overflow: hidden; transition: transform .18s, box-shadow .18s, border-color .18s; }
.b-et-kart[hidden] { display: none; }
.b-et-kart:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--et) 40%, #FFFFFF); box-shadow: var(--shadow); }
.b-et-kart__zaman { display: grid; place-content: center; flex: 0 0 76px; padding: 0 6px; border-right: 4px solid var(--et); background: color-mix(in srgb, var(--et) 10%, #FFFFFF); color: var(--et); text-align: center; line-height: 1.1; }
.b-et-kart__zaman strong { font-family: var(--display); font-size: 22px; font-variant-numeric: tabular-nums; }
.b-et-kart__zaman span { font-size: 12px; font-weight: 800; text-transform: uppercase; }
.b-et-kart__govde { flex: 1; min-width: 0; display: grid; gap: 5px; align-content: center; }
.b-et-kart__ust { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.b-et-tur { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 999px; background: color-mix(in srgb, var(--et, var(--zn)) 12%, #FFFFFF); color: var(--et, var(--zn-vurgu)); font-size: 12px; font-weight: 800; }
.b-et-tur--acik { background: rgba(255, 255, 255, .18); color: #FFFFFF; }
.b-et-rozet { padding: 2px 8px; border-radius: 999px; background: #DCFCE7; color: #166534; font-size: 12px; font-weight: 800; }
.b-et-rozet--canli { background: #FEF3C7; color: #92400E; }
.b-et-kart h3 { margin: 0; font-family: var(--display); font-size: 17px; line-height: 1.25; }
.b-et-kart h3 a { color: var(--ink); text-decoration: none; }
.b-et-kart h3 a::after { content: ""; position: absolute; inset: 0; }
.b-et-kart h3 a:hover { color: var(--zn-vurgu); }
.b-et-kart__alt { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 0; color: var(--muted); font-size: 13px; }
.b-et-kart__alt span { display: inline-flex; align-items: center; gap: 4px; }
.b-et-kart__alt svg { color: var(--et); }
.b-et-kart__ok { display: grid; place-items: center; color: var(--muted); }

/* Çağrı ve bitti */
.b-et-cagri { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 24px; border-radius: 22px; background: linear-gradient(135deg, #F5EDFF, #FCE7F3); border: 1px solid #E9D5FF; }
.b-et-cagri h2 { margin: 0 0 4px; font-family: var(--display); font-size: 22px; }
.b-et-cagri p { margin: 0; max-width: 620px; color: var(--muted); }
.b-et-bitti { display: flex; gap: 10px; padding: 14px 16px; border-radius: 14px; background: #FEF3C7; color: #78350F; }

/* Etkinlik sayfası */
.b-et-giris { position: relative; overflow: hidden; color: #FFFFFF;
    background: radial-gradient(700px 360px at 90% -10%, color-mix(in srgb, var(--et) 55%, transparent), transparent 60%),
      linear-gradient(135deg, #1E0B3A 0%, color-mix(in srgb, var(--et) 75%, #1E0B3A) 60%, var(--et) 100%); }
.b-et-giris__ic { max-width: 1200px; margin: 0 auto; padding: 28px var(--gutter) 34px; }
.b-et-giris__govde { display: flex; align-items: center; gap: 22px; margin-top: 14px; }
.b-et-takvim-yapragi { display: grid; flex: 0 0 auto; width: 110px; overflow: hidden; border-radius: 20px; background: #FFFFFF; color: var(--ink); text-align: center; box-shadow: 0 16px 40px rgba(0, 0, 0, .3); }
.b-et-takvim-yapragi span { padding: 6px; background: var(--et); color: #FFFFFF; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.b-et-takvim-yapragi strong { padding-top: 6px; font-family: var(--display); font-size: 48px; line-height: 1; }
.b-et-takvim-yapragi small { padding-bottom: 10px; color: var(--muted); font-size: 13px; font-weight: 700; }
.b-et-giris__etiket { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 8px; }
.b-et-giris h1 { margin: 0; font-family: var(--display); font-weight: 800; font-size: clamp(28px, 4vw, 46px); line-height: 1.08; letter-spacing: -0.02em; }
.b-et-giris__alt { margin: 10px 0 0; color: rgba(255, 255, 255, .88); font-size: 17px; font-weight: 600; }
.b-et-eylemler { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.b-et-ipucu { margin: 10px 0 0; font-size: 14px; }
.b-et-bilgiler { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 12px; }
.b-et-bilgiler > div { display: grid; gap: 2px; align-content: start; padding: 16px; border: 1px solid var(--line); border-radius: 18px; background: #FFFFFF; }
.b-et-bilgiler > div > span { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 6px; border-radius: 12px; background: var(--zn-tint); color: var(--zn-vurgu); }
.b-et-bilgiler small { color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.b-et-bilgiler strong { font-size: 16px; line-height: 1.3; }
.b-et-bilgiler strong a { color: var(--ink); }
.b-et-bilgiler__alt { color: var(--zn-vurgu); font-size: 14px; font-weight: 700; text-decoration: none; }
.b-et-metin { max-width: 780px; margin-top: 26px; }
.b-et-metin p { font-size: 17px; line-height: 1.7; }

@media (max-width: 640px) {
  .b-et-suzgec__sag { width: 100%; }
  .b-et-secim, .b-et-secim select { flex: 1; width: 100%; }
  .b-et-ara { flex: 1 1 100%; }
  .b-et-ara input { width: 100%; }
  .b-et-gun__baslik { top: 56px; }
  .b-et-giris__govde { align-items: flex-start; gap: 14px; }
  .b-et-takvim-yapragi { width: 78px; border-radius: 16px; }
  .b-et-takvim-yapragi strong { font-size: 34px; }
  .b-et-kart__zaman { flex-basis: 64px; }
  .b-et-dugmeler .b-et-dugme { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) { .b-et-kart, .b-et-kart:hover { transition: none; transform: none; } }

/* Etkinlik bildir: "Afişten doldur" kutusu (App\Services\AfisOkuyucu) */
.et-afis { display: grid; gap: 14px; padding: 20px; border: 2px dashed #C4B5FD; border-radius: 18px; background: linear-gradient(135deg, #F5F3FF, #FDF2F8); }
.et-afis__ust { display: flex; gap: 14px; align-items: flex-start; }
.et-afis__ust p { margin: 4px 0 0; font-size: 15px; line-height: 1.5; }
.et-afis__simge { flex: 0 0 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: #7C3AED; color: #FFFFFF; }
.et-afis__dosya { position: relative; display: flex; align-items: center; min-height: 52px; padding: 10px 14px; border: 1px solid #DDD6FE; border-radius: 12px; background: #FFFFFF; font-weight: 700; color: #5B21B6; cursor: pointer; overflow: hidden; }
.et-afis__dosya span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.et-afis__dosya input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.et-afis__dosya:focus-within { outline: 2px solid #7C3AED; outline-offset: 2px; }
.et-afis__onizleme { max-width: 220px; max-height: 280px; border-radius: 12px; object-fit: contain; box-shadow: 0 8px 24px rgba(91, 33, 182, .18); }
.et-afis__yazi summary { cursor: pointer; font-weight: 700; font-size: 15px; }
.et-afis__yazi summary em { font-style: normal; font-weight: 500; }
.et-afis__yazi textarea { width: 100%; margin-top: 8px; padding: 10px 12px; border: 1px solid var(--input); border-radius: 12px; font: inherit; resize: vertical; }
.et-afis [data-afis-oku] { justify-self: start; background: #7C3AED; border-color: #7C3AED; }
.et-afis [data-afis-oku]:disabled { opacity: .5; cursor: not-allowed; }
.et-afis [data-afis-oku].yukleniyor svg { animation: et-afis-don 1.2s linear infinite; }
@keyframes et-afis-don { to { transform: rotate(360deg); } }
.et-afis__durum { margin: 0; padding: 10px 14px; border-radius: 12px; font-weight: 700; font-size: 15px; background: #EDE9FE; color: #4C1D95; }
.et-afis__durum[data-tur="tamam"] { background: #DCFCE7; color: #166534; }
.et-afis__durum[data-tur="hata"] { background: #FEE2E2; color: #991B1B; }
.et-afis__not { margin: 0; font-size: 13px; }
.basvuru-formu .dolduruldu { background: #FAF5FF; border-color: #A78BFA; }
@media (prefers-reduced-motion: reduce) { .et-afis [data-afis-oku].yukleniyor svg { animation: none; } }

/* Yunan adaları rehberleri (/yunan-adalari, /yunan-adalari/{slug}; App\Support\YunanAdalari). Ege mavisi + beyaz, güneş sarısı vurgu */
.b-ya { --ya: #1D5FD1; --ya-koyu: #0B2A5B; --ya-derin: #082046; --ya-acik: #EAF3FF; --ya-cizgi: #D6E6FB; --ya-sari: #FFC93C; --ya-yesil: #12805C; background: #FBFDFF; }
.b-ya-okuma { position: fixed; left: 0; right: 0; top: 0; z-index: 60; height: 4px; pointer-events: none; }
.b-ya-okuma i { display: block; height: 100%; background: linear-gradient(90deg, var(--ya-sari), #FF8A3D); transform: scaleX(0); transform-origin: 0 50%; }
.b-ya-giris { position: relative; color: #FFFFFF; background: radial-gradient(1200px 400px at 85% -10%, rgba(255, 201, 60, .28), transparent 60%), linear-gradient(160deg, var(--ya) 0%, #1449A8 45%, var(--ya-derin) 100%); overflow: hidden; }
.b-ya-giris::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 46px; background: #FBFDFF; clip-path: path('M0 26 C 160 4, 320 46, 480 24 S 800 6, 960 26 S 1280 44, 1440 22 S 1760 8, 1920 26 V 46 H 0 Z'); }
.b-ya-giris__ic { position: relative; z-index: 1; max-width: 1280px; margin: 0 auto; padding: 28px var(--gutter) 76px; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 32px; align-items: center; }
.b-ya-giris .b-yol a, .b-ya-giris .b-yol { color: rgba(255, 255, 255, .8); }
.b-ya-etiket { display: inline-block; margin-top: 18px; padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .25); font-weight: 800; font-size: 13px; letter-spacing: .02em; }
.b-ya-giris h1 { margin: 14px 0 10px; font-family: var(--display); font-weight: 800; font-size: clamp(34px, 5vw, 58px); line-height: 1.02; letter-spacing: -0.03em; }
.b-ya-giris__alt { margin: 0; max-width: 620px; font-size: clamp(16px, 1.6vw, 19px); line-height: 1.55; color: rgba(255, 255, 255, .92); }
.b-ya-cipler { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; }
.b-ya-cipler li { display: inline-flex; align-items: center; gap: 7px; padding: 9px 13px; border-radius: 12px; background: rgba(255, 255, 255, .95); color: var(--ya-koyu); font-weight: 800; font-size: 14px; box-shadow: 0 6px 18px rgba(8, 32, 70, .18); }
.b-ya-cipler li svg { color: var(--ya); }
.b-ya-guncel { display: flex; align-items: center; gap: 6px; margin: 16px 0 0; font-size: 13px; color: rgba(255, 255, 255, .78); }

.b-ya-harita { margin: 0; padding: 10px; border-radius: 22px; background: rgba(255, 255, 255, .96); box-shadow: 0 24px 50px rgba(8, 32, 70, .35); color: var(--ya-koyu); }
.b-ya-harita svg { display: block; width: 100%; height: auto; border-radius: 14px; }
.b-ya-harita figcaption { padding: 8px 6px 2px; font-size: 12px; color: var(--muted); }
.b-ya-harita__kara { fill: #F3E6CF; stroke: #DCC7A2; stroke-width: 1.5; }
.b-ya-harita__ulke { font: 800 13px var(--display); fill: #B89C6E; letter-spacing: .2em; text-anchor: middle; }
.b-ya-harita__ada { fill: #F7EEDC; stroke: #D8C29C; stroke-width: 1.5; }
.b-ya-harita__ada--vurgu { fill: var(--ya-sari); stroke: #E0A400; }
.b-ya-harita__etiket { font: 700 14px var(--body, system-ui); fill: #4A5B78; }
.b-ya-harita__etiket--vurgu { font: 800 17px var(--display); fill: var(--ya-koyu); }
.b-ya-harita__hat { fill: none; stroke: var(--ya); stroke-width: 2.5; stroke-dasharray: 8 7; stroke-linecap: round; opacity: .75; animation: b-ya-hat 1.4s linear infinite; }
.b-ya-harita__hat--ana { stroke-width: 4; opacity: 1; stroke-dasharray: none; animation: none; }
.b-ya-harita__hat--ince { stroke-width: 2; opacity: .5; }
@keyframes b-ya-hat { to { stroke-dashoffset: -30; } }
.b-ya-harita__gemi { fill: #FFFFFF; stroke: var(--ya); stroke-width: 3.5; }
.b-ya-harita__liman circle { fill: var(--ya-koyu); stroke: #FFFFFF; stroke-width: 2.5; }
.b-ya-harita__liman text { font: 800 14px var(--display); fill: var(--ya-koyu); }
.b-ya-harita__liman--ada circle { fill: #E0A400; }
.b-ya-harita__sure rect { fill: var(--ya-koyu); }
.b-ya-harita__sure text { font: 800 14px var(--display); fill: #FFFFFF; text-anchor: middle; }
.b-ya-harita__sure--acik rect { fill: #FFFFFF; stroke: var(--ya); stroke-width: 1.5; }
.b-ya-harita__sure--acik text { fill: var(--ya-koyu); font-size: 13px; }

.b-ya-govde { max-width: 1280px; margin: 0 auto; padding: 8px var(--gutter) 64px; display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 40px; align-items: start; }
.b-ya-govde--tek { grid-template-columns: minmax(0, 1fr); max-width: 1040px; }
.b-ya-icindekiler { position: sticky; top: 96px; padding: 16px; border: 1px solid var(--ya-cizgi); border-radius: 16px; background: #FFFFFF; }
.b-ya-icindekiler p { margin: 0 0 8px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.b-ya-icindekiler ol { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; counter-reset: ya; }
.b-ya-icindekiler a { display: flex; gap: 8px; padding: 7px 8px; border-radius: 9px; color: var(--ink); font-weight: 700; font-size: 14px; text-decoration: none; counter-increment: ya; }
.b-ya-icindekiler a::before { content: counter(ya, decimal-leading-zero); color: var(--muted); font-size: 12px; padding-top: 1px; }
.b-ya-icindekiler a:hover { background: var(--ya-acik); }
.b-ya-icindekiler a[aria-current] { background: var(--ya); color: #FFFFFF; }
.b-ya-icindekiler a[aria-current]::before { color: rgba(255, 255, 255, .7); }

.b-ya-metin { min-width: 0; max-width: 820px; font-size: 17px; line-height: 1.7; color: #22324F; }
.b-ya-govde--tek .b-ya-metin { max-width: none; }
.b-ya-bolum { padding-top: 40px; scroll-margin-top: 90px; }
.b-ya-bolum:first-child { padding-top: 12px; }
.b-ya-bolum h2 { margin: 0 0 14px; font-family: var(--display); font-weight: 800; font-size: clamp(26px, 3vw, 34px); line-height: 1.15; letter-spacing: -0.02em; color: var(--ya-koyu); }
.b-ya-bolum h2::after { content: ""; display: block; width: 56px; height: 4px; margin-top: 10px; border-radius: 4px; background: linear-gradient(90deg, var(--ya), var(--ya-sari)); }
.b-ya-bolum p { margin: 0 0 14px; }
.b-ya-bolum a { color: var(--ya); font-weight: 700; }
.b-ya-giris-metni { font-size: 19px; line-height: 1.65; color: var(--ya-koyu); }
.b-ya-ara-baslik { margin: 28px 0 12px; font-family: var(--display); font-size: 21px; color: var(--ya-koyu); }
.b-ya-not { font-size: 14px; line-height: 1.55; color: var(--muted); }

.b-ya-bakis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 20px 0 0; }
.b-ya-bakis div { padding: 14px 16px; border-radius: 14px; background: var(--ya-acik); border: 1px solid var(--ya-cizgi); }
.b-ya-bakis dt { font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--ya); }
.b-ya-bakis dd { margin: 4px 0 0; font-weight: 700; font-size: 15px; line-height: 1.45; color: var(--ya-koyu); }

.b-ya-kartlar { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; }
.b-ya-kartlar--uc { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.b-ya-sefer { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 20px; border-radius: 18px; border: 1px solid var(--ya-cizgi); background: #FFFFFF; box-shadow: 0 2px 6px rgba(11, 42, 91, .05); }
.b-ya-sefer h3 { margin: 0; font-family: var(--display); font-size: 20px; line-height: 1.2; color: var(--ya-koyu); }
.b-ya-sefer--ana { color: #FFFFFF; background: linear-gradient(150deg, var(--ya), var(--ya-derin)); border: 0; box-shadow: 0 16px 36px rgba(29, 95, 209, .3); }
.b-ya-sefer--ana h3 { color: #FFFFFF; }
.b-ya-sefer--uyari { background: #FFF8E6; border-color: #F6DC94; }
.b-ya-sefer p { margin: 0; font-size: 15px; line-height: 1.55; }
.b-ya-sefer ul { margin: 0; padding-left: 18px; font-size: 14px; line-height: 1.6; }
.b-ya-sefer__rozet { align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: var(--ya-sari); color: var(--ya-derin); font-weight: 800; font-size: 12px; }
.b-ya-sefer__rozet--acik { background: var(--ya-acik); color: var(--ya); }
.b-ya-sefer__rozet--uyari { background: #F6B700; }
.b-ya-sefer__saat { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.b-ya-sefer__saat strong { white-space: nowrap; }
.b-ya-sefer__saat strong { font-family: var(--display); font-size: 34px; line-height: 1; letter-spacing: -0.02em; }
.b-ya-sefer__saat span { font-size: 14px; opacity: .85; }

.b-ya-fiyatlar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.b-ya-fiyatlar div { display: flex; flex-direction: column; gap: 4px; padding: 16px; border-radius: 14px; border: 1px solid var(--ya-cizgi); background: #FFFFFF; text-align: center; }
.b-ya-fiyatlar span { font-size: 13px; font-weight: 700; color: var(--muted); }
.b-ya-fiyatlar strong { font-family: var(--display); font-size: 28px; color: var(--ya-koyu); }
.b-ya-fiyatlar__vurgu { border: 2px solid var(--ya) !important; background: var(--ya-acik) !important; }

.b-ya-ipucu { display: flex; gap: 14px; align-items: flex-start; margin-top: 18px; padding: 16px 18px; border-radius: 16px; background: #EAF7F1; border: 1px solid #BFE5D3; color: #0E4F3A; }
.b-ya-ipucu svg { flex: none; margin-top: 2px; color: var(--ya-yesil); }
.b-ya-ipucu p { margin: 0; font-size: 15px; line-height: 1.6; }
.b-ya-ipucu a { color: var(--ya-yesil); }

.b-ya-vize { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 16px; margin-top: 8px; }
.b-ya-vize__adimlar ol { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: adim; }
.b-ya-vize__adimlar li { position: relative; display: flex; flex-direction: column; gap: 2px; padding: 14px 16px 14px 62px; border-radius: 14px; background: #FFFFFF; border: 1px solid var(--ya-cizgi); counter-increment: adim; }
.b-ya-vize__adimlar li::before { content: counter(adim); position: absolute; left: 14px; top: 14px; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--ya); color: #FFFFFF; font: 800 16px var(--display); }
.b-ya-vize__adimlar strong { color: var(--ya-koyu); }
.b-ya-vize__adimlar span { font-size: 15px; line-height: 1.5; }
.b-ya-vize__liste { display: flex; flex-direction: column; gap: 8px; padding: 18px; border-radius: 16px; background: var(--ya-koyu); color: #FFFFFF; }
.b-ya-vize__liste-baslik { display: flex; align-items: center; gap: 8px; margin: 0 0 4px !important; font-weight: 800; }
.b-ya-vize__liste-baslik small { margin-left: auto; padding: 2px 9px; border-radius: 999px; background: var(--ya-sari); color: var(--ya-derin); font-size: 12px; }
.b-ya-vize__liste label { display: flex; gap: 10px; align-items: flex-start; padding: 8px 10px; border-radius: 10px; background: rgba(255, 255, 255, .07); font-size: 15px; line-height: 1.45; cursor: pointer; }
.b-ya-vize__liste input { width: 19px; height: 19px; margin-top: 2px; flex: none; accent-color: var(--ya-sari); }
.b-ya-vize__liste input:checked + span { text-decoration: line-through; opacity: .65; }
.b-ya-vize__liste .b-ya-not { margin: 4px 0 0; color: rgba(255, 255, 255, .7); font-size: 13px; }
.b-ya-uyarilar { display: grid; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.b-ya-uyarilar li { padding: 12px 16px 12px 44px; border-radius: 12px; background: #FFFFFF; border: 1px solid var(--ya-cizgi); font-size: 15px; line-height: 1.55; position: relative; }
.b-ya-uyarilar li::before { content: "!"; position: absolute; left: 14px; top: 12px; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--ya-sari); color: var(--ya-derin); font-weight: 900; font-size: 13px; }
.b-ya-uyarilar strong { color: var(--ya-koyu); }

.b-ya-sekmeler__dugmeler { display: inline-flex; gap: 4px; padding: 4px; margin-bottom: 16px; border-radius: 12px; background: var(--ya-acik); }
.b-ya-sekmeler__dugmeler button { padding: 9px 18px; border: 0; border-radius: 9px; background: transparent; color: var(--ya-koyu); font: 800 15px var(--body, system-ui); cursor: pointer; }
.b-ya-sekmeler__dugmeler button[aria-selected="true"] { background: #FFFFFF; color: var(--ya); box-shadow: 0 2px 8px rgba(11, 42, 91, .12); }
.b-ya-zaman { position: relative; display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.b-ya-zaman li { position: relative; display: grid; grid-template-columns: 74px 1fr; gap: 18px; padding-bottom: 18px; }
.b-ya-zaman li::before { content: ""; position: absolute; left: 92px; top: 8px; bottom: -8px; width: 2px; background: var(--ya-cizgi); }
.b-ya-zaman li:last-child::before { display: none; }
.b-ya-zaman li::after { content: ""; position: absolute; left: 86px; top: 6px; width: 14px; height: 14px; border-radius: 50%; background: #FFFFFF; border: 3px solid var(--ya); }
.b-ya-zaman time { font: 800 18px var(--display); color: var(--ya); text-align: right; padding-top: 1px; }
.b-ya-zaman div { padding-left: 18px; }
.b-ya-zaman strong { display: block; color: var(--ya-koyu); font-size: 17px; }
.b-ya-zaman p { margin: 2px 0 0; font-size: 15px; line-height: 1.55; }
.b-ya-gunler { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.b-ya-gunler li { padding: 18px; border-radius: 16px; background: #FFFFFF; border: 1px solid var(--ya-cizgi); }
.b-ya-gunler span { display: inline-block; padding: 3px 10px; border-radius: 999px; background: var(--ya); color: #FFFFFF; font-weight: 800; font-size: 12px; }
.b-ya-gunler strong { display: block; margin: 10px 0 4px; color: var(--ya-koyu); font-family: var(--display); font-size: 18px; line-height: 1.25; }
.b-ya-gunler p { margin: 0; font-size: 15px; line-height: 1.55; }

.b-ya-suzgec { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 16px; }
.b-ya-suzgec button { padding: 8px 14px; border-radius: 999px; border: 1px solid var(--ya-cizgi); background: #FFFFFF; color: var(--ya-koyu); font: 700 14px var(--body, system-ui); cursor: pointer; }
.b-ya-suzgec button[aria-pressed="true"] { background: var(--ya-koyu); border-color: var(--ya-koyu); color: #FFFFFF; }
.b-ya-yer { display: flex; flex-direction: column; gap: 6px; padding: 20px; border-radius: 18px; background: #FFFFFF; border: 1px solid var(--ya-cizgi); transition: transform .18s, box-shadow .18s; }
.b-ya-yer:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(11, 42, 91, .1); }
.b-ya-yer[hidden] { display: none; }
.b-ya-yer__ikon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: linear-gradient(150deg, var(--ya), var(--ya-derin)); color: #FFFFFF; }
.b-ya-yer h3 { margin: 6px 0 0; font-family: var(--display); font-size: 19px; line-height: 1.25; color: var(--ya-koyu); }
.b-ya-yer p { margin: 0; font-size: 15px; line-height: 1.6; }
.b-ya-yer__nerede { display: flex; align-items: center; gap: 5px; color: var(--ya) !important; font-weight: 700; font-size: 13px !important; }
.b-ya-yer__harita { margin-top: auto; padding-top: 8px; font-size: 14px; }

.b-ya-plajlar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.b-ya-plaj { padding: 18px; border-radius: 16px; background: linear-gradient(180deg, #FFFFFF, #F4F9FF); border: 1px solid var(--ya-cizgi); border-left: 5px solid #19A7CE; }
.b-ya-plaj[hidden] { display: none; }
.b-ya-plaj__ust { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.b-ya-plaj h3 { margin: 0; font-family: var(--display); font-size: 20px; color: var(--ya-koyu); }
.b-ya-plaj p { margin: 8px 0 10px; font-size: 15px; line-height: 1.55; }
.b-ya-plaj ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.b-ya-plaj li { padding: 3px 10px; border-radius: 999px; background: #E3F6FB; color: #0B6F88; font-weight: 700; font-size: 12px; }
.b-ya-plaj__bolge { padding: 3px 10px; border-radius: 999px; font-weight: 800; font-size: 12px; color: #FFFFFF; }
.b-ya-plaj__bolge--kuzey { background: #6D5BD0; }
.b-ya-plaj__bolge--orta { background: var(--ya); }
.b-ya-plaj__bolge--guney { background: #E07A1F; }

.b-ya-lezzetler { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; margin-bottom: 14px; }
.b-ya-lezzetler div { padding: 18px; border-radius: 16px; background: #FFF9EC; border: 1px solid #F3E2B5; }
.b-ya-lezzetler strong { display: block; font-family: var(--display); font-size: 18px; color: #7A4B00; }
.b-ya-lezzetler p { margin: 6px 0 0; font-size: 15px; line-height: 1.55; color: #4F3A12; }

.b-ya-pratik { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.b-ya-pratik div { display: flex; flex-direction: column; gap: 6px; padding: 18px; border-radius: 16px; background: #FFFFFF; border: 1px solid var(--ya-cizgi); }
.b-ya-pratik svg { color: var(--ya); }
.b-ya-pratik strong { color: var(--ya-koyu); font-size: 17px; }
.b-ya-pratik p { margin: 0; font-size: 15px; line-height: 1.55; }

.b-ya-sss { display: grid; gap: 10px; }
.b-ya-sss__soru { border-radius: 14px; background: #FFFFFF; border: 1px solid var(--ya-cizgi); overflow: hidden; }
.b-ya-sss__soru[open] { border-color: var(--ya); box-shadow: 0 8px 22px rgba(29, 95, 209, .1); }
.b-ya-sss summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 18px; cursor: pointer; list-style: none; }
.b-ya-sss summary::-webkit-details-marker { display: none; }
.b-ya-sss h3 { margin: 0; font-size: 17px; line-height: 1.4; color: var(--ya-koyu); }
.b-ya-sss summary span { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--ya-acik); color: var(--ya); font-weight: 800; font-size: 20px; transition: transform .2s; }
.b-ya-sss__soru[open] summary span { transform: rotate(45deg); background: var(--ya); color: #FFFFFF; }
.b-ya-sss p { margin: 0; padding: 0 18px 18px; font-size: 16px; line-height: 1.65; }

.b-ya-paylas { padding: 22px; border-radius: 20px; background: linear-gradient(135deg, var(--ya-koyu), var(--ya)); color: #FFFFFF; margin-bottom: 18px; }
.b-ya-paylas__baslik { margin: 0 0 14px !important; font-family: var(--display); font-weight: 800; font-size: 22px; }
.b-ya-paylas__dugmeler { display: flex; flex-wrap: wrap; gap: 8px; }
.b-ya-paylas__d { display: inline-flex; align-items: center; gap: 7px; padding: 11px 16px; border-radius: 12px; border: 0; background: rgba(255, 255, 255, .14); color: #FFFFFF !important; font: 800 15px var(--body, system-ui); text-decoration: none; cursor: pointer; }
.b-ya-paylas__d:hover { background: rgba(255, 255, 255, .24); }
.b-ya-paylas__d--wa { background: #25D366; color: #06371C !important; }
.b-ya-paylas__d--wa:hover { background: #3BE07A; }
.b-ya-paylas__d[hidden] { display: none; }
.b-ya-kaynak { font-size: 15px; color: var(--muted); }
.b-ya-kaynak p { margin-bottom: 8px; }

.b-ya-adalar { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.b-ya-ada { --ada: var(--ya); position: relative; display: flex; flex-direction: column; gap: 8px; min-height: 220px; padding: 22px; border-radius: 20px; color: #FFFFFF !important; text-decoration: none; background: radial-gradient(400px 160px at 100% 0, rgba(255, 201, 60, .35), transparent 60%), linear-gradient(150deg, var(--ada), var(--ya-derin)); box-shadow: 0 16px 34px rgba(11, 42, 91, .22); transition: transform .18s; overflow: hidden; }
.b-ya-ada:hover { transform: translateY(-3px); }
.b-ya-ada--yazi { --ada: #0E7490; }
.b-ya-ada strong { font-family: var(--display); font-size: 30px; line-height: 1.05; letter-spacing: -0.02em; }
.b-ya-ada p { margin: 0; font-size: 15px; line-height: 1.55; font-weight: 500; color: rgba(255, 255, 255, .92); }
.b-ya-ada__sure { align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: var(--ya-sari); color: var(--ya-derin); font-weight: 800; font-size: 13px; }
.b-ya-ada__alt { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: rgba(255, 255, 255, .85); }
.b-ya-ada__git { margin-top: auto; font-weight: 800; }

@media (max-width: 1024px) {
  .b-ya-giris__ic { grid-template-columns: 1fr; padding-bottom: 70px; }
  .b-ya-harita { max-width: 560px; }
  .b-ya-govde { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .b-ya-icindekiler, .b-ya-icindekiler ol { min-width: 0; }
  .b-ya-bolum { scroll-margin-top: 130px; }
  .b-ya-icindekiler { top: 64px; z-index: 20; margin: 0 calc(var(--gutter) * -1); padding: 8px var(--gutter); border: 0; border-bottom: 1px solid var(--ya-cizgi); border-radius: 0; background: rgba(251, 253, 255, .96); backdrop-filter: blur(6px); }
  .b-ya-icindekiler p { display: none; }
  .b-ya-icindekiler ol { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; scroll-behavior: smooth; }
  .b-ya-icindekiler a { white-space: nowrap; border: 1px solid var(--ya-cizgi); background: #FFFFFF; }
  .b-ya-icindekiler a::before { display: none; }
  .b-ya-kartlar--uc, .b-ya-gunler { grid-template-columns: 1fr; }
  .b-ya-vize { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .b-ya-metin { font-size: 16px; }
  .b-ya-bakis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .b-ya-fiyatlar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .b-ya-plajlar { grid-template-columns: 1fr; }
  .b-ya-zaman li { grid-template-columns: 54px 1fr; gap: 12px; }
  .b-ya-zaman li::before { left: 66px; }
  .b-ya-zaman li::after { left: 60px; }
  .b-ya-zaman time { font-size: 15px; }
  .b-ya-cipler li { font-size: 13px; padding: 8px 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .b-ya-harita__hat, .b-ya-harita__gemi { animation: none; }
  .b-ya-yer, .b-ya-ada { transition: none; }
}

/* Yunan adaları feribot rehberi: ada seçici, karşılaştırma tablosu, limanlar, sezon takvimi, vize ücreti */
.b-ya-secici__dugmeler { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; margin-bottom: 14px; }
.b-ya-secici__dugmeler button { flex: 1 0 120px; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--ya-cizgi); background: #FFFFFF; color: var(--ya-koyu); cursor: pointer; text-align: left; transition: background .15s, transform .15s; }
.b-ya-secici__dugmeler button strong { font: 800 18px var(--display); }
.b-ya-secici__dugmeler button span { font-size: 13px; font-weight: 700; color: var(--muted); }
.b-ya-secici__dugmeler button:hover { transform: translateY(-1px); }
.b-ya-secici__dugmeler button[aria-selected="true"] { background: linear-gradient(150deg, var(--ya), var(--ya-derin)); border-color: transparent; color: #FFFFFF; box-shadow: 0 10px 24px rgba(29, 95, 209, .28); }
.b-ya-secici__dugmeler button[aria-selected="true"] span { color: var(--ya-sari); }
.b-ya-secim { padding: 22px; border-radius: 20px; background: #FFFFFF; border: 1px solid var(--ya-cizgi); box-shadow: 0 12px 30px rgba(11, 42, 91, .07); animation: b-ya-belir .25s ease; }
.b-ya-secim[hidden] { display: none; }
@keyframes b-ya-belir { from { opacity: 0; transform: translateY(6px); } }
.b-ya-secim__ust { display: flex; gap: 18px; justify-content: space-between; align-items: flex-start; }
.b-ya-secim h3 { margin: 0 0 6px; font-family: var(--display); font-size: 28px; color: var(--ya-koyu); }
.b-ya-secim h3 small { font-size: 17px; color: var(--muted); font-weight: 700; }
.b-ya-secim__ust p { margin: 0; font-size: 16px; line-height: 1.6; }
.b-ya-secim__sure { flex: none; display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 130px; padding: 14px; border-radius: 16px; background: var(--ya-acik); text-align: center; }
.b-ya-secim__sure span { font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--ya); }
.b-ya-secim__sure strong { font: 800 20px/1.2 var(--display); color: var(--ya-koyu); }
.b-ya-secim__bilgi { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 18px 0 0; }
.b-ya-secim__bilgi div { padding: 12px 14px; border-radius: 12px; background: #F6FAFF; border: 1px solid var(--ya-cizgi); }
.b-ya-secim__bilgi dt { font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--ya); }
.b-ya-secim__bilgi dd { margin: 4px 0 0; font-size: 15px; font-weight: 700; line-height: 1.45; color: var(--ya-koyu); }
.b-ya-secim__bilgi dd small { display: block; font-weight: 600; color: var(--muted); }
.b-ya-secim__git { display: inline-block; margin-top: 16px; padding: 11px 16px; border-radius: 12px; background: var(--ya); color: #FFFFFF !important; text-decoration: none; }

.b-ya-tablo { overflow-x: auto; border-radius: 16px; border: 1px solid var(--ya-cizgi); background: #FFFFFF; }
.b-ya-tablo table { width: 100%; border-collapse: collapse; font-size: 15px; }
.b-ya-tablo th, .b-ya-tablo td { padding: 13px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--ya-cizgi); line-height: 1.45; }
.b-ya-tablo thead th { background: var(--ya-koyu); color: #FFFFFF; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; }
.b-ya-tablo tbody th { font-family: var(--display); font-size: 17px; color: var(--ya-koyu); white-space: nowrap; }
.b-ya-tablo tbody tr:nth-child(even) { background: #F8FBFF; }
.b-ya-tablo tbody tr:last-child > * { border-bottom: 0; }
.b-ya-tablo td:last-child { font-weight: 800; color: var(--ya-koyu); white-space: nowrap; }

.b-ya-limanlar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.b-ya-liman { display: flex; flex-direction: column; gap: 6px; padding: 20px; border-radius: 18px; background: #FFFFFF; border: 1px solid var(--ya-cizgi); }
.b-ya-liman__ikon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: var(--ya-sari); color: var(--ya-derin); }
.b-ya-liman h3 { margin: 6px 0 0; font-family: var(--display); font-size: 19px; color: var(--ya-koyu); }
.b-ya-liman p { margin: 0; font-size: 15px; line-height: 1.55; }
.b-ya-liman__adalar { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0; padding: 0; list-style: none; }
.b-ya-liman__adalar li { padding: 3px 10px; border-radius: 999px; background: var(--ya-acik); color: var(--ya); font-weight: 800; font-size: 13px; }
.b-ya-liman a { font-size: 14px; }

.b-ya-takvim { display: grid; gap: 6px; padding: 16px; border-radius: 16px; background: #FFFFFF; border: 1px solid var(--ya-cizgi); overflow-x: auto; }
.b-ya-takvim__satir { display: grid; grid-template-columns: 92px repeat(12, minmax(30px, 1fr)); gap: 4px; align-items: center; min-width: 520px; }
.b-ya-takvim__satir > span:first-child { font-weight: 800; font-size: 15px; color: var(--ya-koyu); }
.b-ya-takvim__satir > span[role="cell"] { height: 26px; border-radius: 7px; background: #EEF2F8; }
.b-ya-takvim__satir--bas span { font-size: 12px; font-weight: 800; color: var(--muted); text-align: center; }
.b-ya-takvim__satir--bas span:first-child { text-align: left; }
.b-ya-takvim__satir > span.b-ya-takvim__dolu { background: linear-gradient(150deg, var(--ya), #1449A8); }
.b-ya-takvim__satir > span.b-ya-takvim__yaklasik { background: repeating-linear-gradient(135deg, #7FA8EC 0 6px, #B9D0F5 6px 12px); }
.b-ya-takvim__satir > span.b-ya-takvim__bu { outline: 2px solid var(--ya-sari); outline-offset: 1px; }
.b-ya-takvim__satir--bas span.b-ya-takvim__bu { color: var(--ya-koyu); outline: 0; background: var(--ya-sari); border-radius: 6px; }

.b-ya-vize__ucret { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; padding: 14px; border-radius: 16px; background: linear-gradient(135deg, #FFF6D6, #FFEDB0); border: 1px solid #F3D57A; }
.b-ya-vize__ucret div { display: flex; flex-direction: column; align-items: center; padding: 10px; border-radius: 12px; background: rgba(255, 255, 255, .7); }
.b-ya-vize__ucret span { font-size: 13px; font-weight: 800; color: #7A5A00; }
.b-ya-vize__ucret strong { font: 800 30px var(--display); color: var(--ya-derin); }
.b-ya-vize__ucret p { grid-column: 1 / -1; margin: 0 !important; font-size: 14px; line-height: 1.5; color: #5E4700; }

@media (max-width: 1024px) {
  .b-ya-limanlar { grid-template-columns: 1fr; }
  .b-ya-secim__bilgi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .b-ya-secim { padding: 16px; }
  .b-ya-secim__ust { flex-direction: column; }
  .b-ya-secim__sure { flex-direction: row; gap: 10px; min-width: 0; width: 100%; }
  .b-ya-secim__bilgi { grid-template-columns: 1fr; }
  .b-ya-tablo { border: 0; background: transparent; overflow: visible; }
  .b-ya-tablo thead { display: none; }
  .b-ya-tablo table, .b-ya-tablo tbody, .b-ya-tablo tr, .b-ya-tablo th, .b-ya-tablo td { display: block; }
  .b-ya-tablo tr { margin-bottom: 10px; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--ya-cizgi); background: #FFFFFF !important; }
  .b-ya-tablo th, .b-ya-tablo td { padding: 4px 0; border: 0; }
  .b-ya-tablo td::before { content: attr(data-baslik) ": "; font-weight: 800; color: var(--ya); }
  .b-ya-tablo td:last-child { white-space: normal; }
}
@media (prefers-reduced-motion: reduce) { .b-ya-secim { animation: none; } }

/* Hastane ve ASM: doktorlar, branşlar, hekim sayfası, çalışma listesi, kat planı (b-sg-, 2026-11-02) */
.b-sg-menu { margin-bottom: 14px; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.b-sg-menu a { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 1px solid var(--line); border-radius: 999px; background: #FFFFFF; color: var(--ink); font-weight: 700; font-size: 15px; text-decoration: none; }
.b-sg-menu a:hover { border-color: var(--zn); color: var(--zn-vurgu); }
.b-sg-menu a[aria-current] { background: var(--zn); border-color: var(--zn); color: var(--zn-ust); }
.b-sg-menu svg { color: currentColor; }
.b-sg-ara { display: flex; gap: 10px; align-items: center; margin: 0 0 18px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 14px; background: #FFFFFF; }
.b-sg-ara input { flex: 1; min-width: 0; border: 0; outline: 0; font: inherit; font-size: 16px; background: transparent; }
.b-sg-ara svg { color: var(--muted); }
.b-sg-branslar { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 10px; }
.b-sg-brans { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; background: #FFFFFF; color: var(--ink); font-weight: 700; text-decoration: none; }
.b-sg-brans:hover { border-color: var(--zn); box-shadow: inset 4px 0 0 var(--zn); }
.b-sg-brans em { flex: none; min-width: 28px; padding: 2px 8px; border-radius: 999px; background: var(--zn-tint); color: var(--zn-vurgu); font-style: normal; font-size: 13px; text-align: center; }
.b-sg-grup { margin-top: 30px; scroll-margin-top: 90px; }
.b-sg-grup h2 { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font-family: var(--display); font-size: 22px; }
.b-sg-grup h2 a { color: var(--ink); text-decoration: none; }
.b-sg-grup h2 a:hover { color: var(--zn-vurgu); }
.b-sg-grup > p { margin: 0 0 14px; color: var(--muted); font-size: 15px; }
.b-sg-hekimler { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 12px; }
.b-sg-hekim { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border: 1px solid var(--line); border-radius: 16px; background: #FFFFFF; color: var(--ink); text-decoration: none; transition: border-color .15s, transform .15s; }
.b-sg-hekim:hover { border-color: var(--zn); transform: translateY(-1px); }
.b-sg-hekim__harf { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: var(--zn-tint); color: var(--zn-vurgu); font-family: var(--display); font-weight: 800; font-size: 16px; }
.b-sg-hekim strong { display: block; font-size: 16px; line-height: 1.25; }
.b-sg-hekim small { display: block; margin-top: 2px; color: var(--muted); font-size: 13px; }
.b-sg-hekim .b-sg-durum, .b-sg-hekim .b-sg-puan { margin-top: 6px; }
.b-sg-durum { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 800; background: var(--soft); color: var(--ink); }
.b-sg-durum::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.b-sg-durum--yesil { background: #E5F6EC; color: #157347; }
.b-sg-durum--kirmizi { background: #FDECEC; color: #B42828; }
.b-sg-durum--mavi { background: #E8EFFC; color: #1456D9; }
.b-sg-durum--turuncu { background: #FFF1E0; color: #B35A00; }
.b-sg-durum--gri { background: var(--soft); color: var(--muted); }
.b-sg-durum--yok { background: transparent; color: var(--muted); padding-left: 0; font-weight: 600; }
.b-sg-durum--yok::before { display: none; }
.b-sg-puan { display: inline-flex; align-items: center; gap: 4px; color: #B37F00; font-size: 13px; font-weight: 800; }
.b-sg-puan small { color: var(--muted); font-weight: 600; display: inline !important; margin: 0 !important; }
.b-sg-yildizlar { color: #F5B301; letter-spacing: 1px; }
.b-sg-yildizlar span { color: #D9DEE7; }
.b-sg-kat { margin-top: 18px; border: 1px solid var(--line); border-radius: 20px; background: #FFFFFF; overflow: hidden; }
.b-sg-kat > h3 { display: flex; align-items: center; gap: 10px; margin: 0; padding: 14px 18px; background: var(--zn-tint); color: var(--zn-dark); font-family: var(--display); font-size: 19px; }
.b-sg-kat__bloklar { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.b-sg-blok { padding: 14px 18px 16px; border-top: 1px solid var(--line); }
.b-sg-blok h4 { margin: 0 0 8px; color: var(--zn-vurgu); font-size: 13px; text-transform: uppercase; letter-spacing: .05em; }
.b-sg-blok ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; font-size: 15px; }
.b-sg-blok li { position: relative; padding-left: 14px; }
.b-sg-blok li::before { content: ""; position: absolute; left: 0; top: .6em; width: 6px; height: 6px; border-radius: 2px; background: var(--zn); }
.b-sg-blok li small { color: var(--muted); }
.b-sg-gruplar { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 6px; }
.b-sg-gruplar button { padding: 8px 14px; border: 1px solid var(--line); border-radius: 999px; background: #FFFFFF; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.b-sg-gruplar button.aktif { background: var(--zn); border-color: var(--zn); color: var(--zn-ust); }
.b-sg-liste { width: 100%; border-collapse: collapse; font-size: 15px; }
.b-sg-liste th, .b-sg-liste td { padding: 11px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.b-sg-liste thead th { background: var(--zn-tint); color: var(--zn-vurgu); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.b-sg-liste tbody th { background: var(--soft); font-size: 13px; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.b-sg-liste a { color: var(--ink); font-weight: 700; text-decoration: none; }
.b-sg-liste a:hover { color: var(--zn-vurgu); }
.b-sg-liste td small { display: block; color: var(--muted); font-size: 13px; }
.b-sg-uyari { display: flex; gap: 10px; margin: 0 0 16px; padding: 14px 16px; border-radius: 14px; background: var(--warn-bg); color: var(--warn-ink); font-size: 15px; }
.b-sg-uyari svg { flex: none; margin-top: 2px; }
.b-sg-takvim { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.b-sg-takvim div { padding: 10px 8px; border: 1px solid var(--line); border-radius: 12px; background: #FFFFFF; text-align: center; font-size: 13px; }
.b-sg-takvim div strong { display: block; font-size: 14px; }
.b-sg-takvim .b-sg-durum { margin-top: 6px; font-size: 11px; padding: 2px 7px; }
@media (max-width: 700px) { .b-sg-takvim { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.b-sg-yorumlar { display: grid; gap: 12px; }
.b-sg-yorum { padding: 16px 18px; border: 1px solid var(--line); border-radius: 16px; background: #FFFFFF; }
.b-sg-yorum header { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; margin-bottom: 6px; }
.b-sg-yorum p { margin: 0; white-space: pre-line; }
.b-sg-form { display: grid; gap: 14px; padding: 20px; border: 1px solid var(--line); border-radius: 20px; background: #FFFFFF; scroll-margin-top: 90px; }
.b-sg-form label { display: grid; gap: 6px; font-weight: 700; font-size: 14px; }
.b-sg-form input[type=text], .b-sg-form input[type=email], .b-sg-form textarea { width: 100%; padding: 11px 13px; border: 1px solid var(--line); border-radius: 12px; font: inherit; font-weight: 400; }
.b-sg-form .b-sg-yildiz-sec { display: flex; flex-direction: row-reverse; justify-content: flex-end; gap: 4px; border: 0; margin: 0; padding: 0; }
.b-sg-yildiz-sec input { position: absolute; opacity: 0; pointer-events: none; }
.b-sg-yildiz-sec label { cursor: pointer; font-size: 30px; line-height: 1; color: #D9DEE7; }
.b-sg-yildiz-sec input:checked ~ label, .b-sg-yildiz-sec label:hover, .b-sg-yildiz-sec label:hover ~ label { color: #F5B301; }
.b-sg-yildiz-sec input:focus-visible + label { outline: 2px solid var(--zn); border-radius: 4px; }
.b-sg-form .b-sg-onay { display: flex; gap: 8px; align-items: flex-start; font-weight: 400; }
.b-sg-form .hata { color: #B42828; font-size: 14px; font-weight: 600; }
.b-sg-tamam { padding: 14px 16px; border-radius: 14px; background: #E5F6EC; color: #157347; font-weight: 700; }
.b-sg-gizli { position: absolute; left: -9999px; }
[data-sg-gizli] { display: none !important; }

/* =====================================================================
   İzmir canlı tema (2026-11-04): Ege turkuazı, gün batımı mercanı, güneş sarısı,
   begonvil pembesi. Önceki kuralların üstüne yazar; yeni bileşenler "iz-" önekli.
   ===================================================================== */
:root {
  --ink: #1B1340;
  --muted: #5E5A7A;
  --line: #ECE7F5;
  --soft: #F6F3FC;
  --soft-2: #FBF9FF;
  --sea: #0096C7;
  --sea-dark: #0077A3;
  --sea-tint: #DDF4FB;
  --navy: #2A1B6E;
  --navy-2: #1B1146;
  --cta: #FF5A5F;
  --hot: #FF5A5F;
  --price: #0077A3;
  --tint-1: #DDF4FB;
  --tint-2: #FFE6DA;
  --tint-3: #ECE6FF;
  --tint-4: #FFF2C6;
  --ph-ink: #5B4A9C;
  --iz-mercan: #FF5A5F;
  --iz-sari: #FFC233;
  --iz-pembe: #EF476F;
  --iz-mor: #7B4DFF;
  --iz-yesil: #06C28B;
  --iz-gunbatimi: linear-gradient(120deg, #FF8A3D 0%, #FF5A5F 40%, #EF476F 65%, #7B4DFF 100%);
  --iz-deniz: linear-gradient(120deg, #12B5D0 0%, #0096C7 50%, #3A5BFF 100%);
  --radius: 18px;
  --shadow: 0 2px 4px rgba(42, 27, 110, .05), 0 14px 34px rgba(42, 27, 110, .10);
}
::selection { background: #FFD9DA; color: var(--ink); }

/* Renk sınıfları: --r ana renk, --r-acik zemin */
.iz-renk--yesil { --r: var(--iz-yesil); --r-acik: #DDF8EE; }
.iz-renk--sari { --r: #E5A100; --r-acik: #FFF3CF; }
.iz-renk--mor { --r: var(--iz-mor); --r-acik: #ECE6FF; }
.iz-renk--mavi { --r: var(--sea); --r-acik: #DDF4FB; }
.iz-renk--mercan { --r: var(--iz-mercan); --r-acik: #FFE4E4; }
.iz-renk--pembe { --r: var(--iz-pembe); --r-acik: #FDE2EA; }

/* ---------- Üst bölüm ---------- */
.b-ust { background: rgba(255, 255, 255, .92); border-bottom: 0; box-shadow: 0 1px 0 var(--line); transition: box-shadow .25s; }
.b-ust--golge { box-shadow: 0 10px 30px rgba(42, 27, 110, .10); }
.b-ust::after { content: ""; position: absolute; left: 0; right: 0; bottom: -3px; height: 3px; background: var(--iz-gunbatimi); }
.b-logo__simge { box-sizing: content-box; width: 30px; height: 30px; padding: 7px; border-radius: 14px; color: #FFFFFF; background: var(--iz-gunbatimi); box-shadow: 0 6px 16px rgba(255, 90, 95, .35); }
.b-logo, .b-logo:hover { color: var(--ink); }
.b-logo__ad span { color: var(--iz-mercan); }
.b-logo--acik, .b-logo--acik:hover { color: #FFFFFF; }
.b-logo--acik .b-logo__simge { color: #FFFFFF; }
.b-logo--acik .b-logo__ad span { color: var(--iz-sari); }
.b-menu { gap: 2px; }
.b-menu a { padding: 8px 12px; border: 0; border-radius: 999px; transition: background .15s, color .15s; }
.b-menu a:hover { color: var(--iz-mor); background: #F1ECFF; }
.b-menu a[aria-current] { color: #FFFFFF; background: var(--navy); }
@media (min-width: 1181px) and (max-width: 1440px) {
  .b-menu { gap: 0; font-size: 13.5px; }
  .b-menu a { padding: 8px 9px; }
  .b-menu a:first-child, .b-menu a:last-child { display: none; } /* Ana Sayfa (logo var) ve İletişim (alt bilgide) */
}
.b-ust-hava { color: #B26B00; background: #FFF3CF; }
.b-ust-hava:hover { background: #FFE9A8; }
.b-dugme { border-radius: 999px; }
.b-dugme--koyu, .b-dugme--koyu:hover { background: var(--iz-gunbatimi); background-size: 160% 100%; box-shadow: 0 8px 20px rgba(255, 90, 95, .28); transition: background-position .4s, transform .15s; }
.b-dugme--koyu:hover { background-position: 100% 0; transform: translateY(-1px); }
.b-dugme--mavi, .b-dugme--mavi:hover { background: var(--iz-deniz); background-size: 160% 100%; box-shadow: 0 8px 20px rgba(0, 150, 199, .28); transition: background-position .4s, transform .15s; }
.b-dugme--mavi:hover { background-position: 100% 0; transform: translateY(-1px); }
.b-ikon-dugme { border-radius: 999px; }
.b-ikon-dugme:hover { background: #F1ECFF; color: var(--iz-mor); }

/* ---------- Açılış ---------- */
.iz-giris { position: relative; isolation: isolate; overflow: hidden; background:
    radial-gradient(700px 420px at 8% 0%, #FFE3D3 0%, transparent 60%),
    radial-gradient(640px 420px at 100% 10%, #E4DCFF 0%, transparent 60%),
    radial-gradient(600px 400px at 60% 110%, #CFF3FA 0%, transparent 65%),
    #FFF9F3; }
.iz-giris__ic { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; gap: clamp(24px, 4vw, 64px); max-width: 1280px; margin: 0 auto; padding: clamp(36px, 6vw, 72px) var(--gutter) clamp(110px, 12vw, 140px); }
.iz-leke { position: absolute; z-index: -1; border-radius: 50%; opacity: .55; animation: iz-yuz 14s ease-in-out infinite alternate; }
.iz-leke--1 { width: 120px; height: 120px; left: 46%; top: 8%; background: radial-gradient(circle at 30% 30%, #FFD166, #FF8A3D); }
.iz-leke--2 { width: 70px; height: 70px; left: 4%; bottom: 18%; background: radial-gradient(circle at 30% 30%, #8DE6F5, #12B5D0); animation-delay: -4s; }
.iz-leke--3 { width: 46px; height: 46px; right: 6%; top: 12%; background: radial-gradient(circle at 30% 30%, #FFB3C7, #EF476F); animation-delay: -8s; }
@keyframes iz-yuz { from { transform: translate(0, 0) scale(1); } to { transform: translate(18px, -22px) scale(1.12); } }
.iz-etiket { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border-radius: 999px; background: #FFFFFF; color: var(--iz-mor); font-size: 13px; font-weight: 800; letter-spacing: .02em; box-shadow: 0 6px 18px rgba(123, 77, 255, .14); }
.iz-etiket i { width: 8px; height: 8px; border-radius: 50%; background: var(--iz-mercan); box-shadow: 0 0 0 4px #FFE4E4; }
.iz-giris__baslik { margin: 18px 0 0; font-family: var(--display); font-weight: 800; font-size: clamp(38px, 5.6vw, 70px); line-height: 1.02; letter-spacing: -0.035em; color: var(--ink); }
.iz-giris__baslik strong { display: inline-block; font-weight: 800; background: var(--iz-gunbatimi); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: iz-akis 8s ease-in-out infinite alternate; padding-bottom: .06em; }
@keyframes iz-akis { from { background-position: 0 0; } to { background-position: 100% 0; } }
.iz-giris__slogan { margin: 18px 0 0; max-width: 540px; font-size: clamp(16px, 1.5vw, 19px); line-height: 1.55; color: var(--muted); }
.iz-giris__slogan strong { color: var(--ink); }
.iz-hizli { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.iz-hizli__og { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; background: #FFFFFF; color: var(--ink); font-size: 14px; font-weight: 800; text-decoration: none; border: 1px solid var(--line); box-shadow: 0 4px 14px rgba(42, 27, 110, .08); transition: transform .15s, box-shadow .15s, background .15s; }
.iz-hizli__og svg { color: var(--r); }
.iz-hizli__og:hover { transform: translateY(-2px); background: var(--r-acik); color: var(--ink); box-shadow: 0 10px 22px rgba(42, 27, 110, .12); }

.iz-kartpostal { position: relative; margin: 0; padding: 14px; justify-self: end; width: min(100%, 560px); }
.iz-kartpostal__cerceve { position: relative; aspect-ratio: 5 / 4; overflow: hidden; border-radius: 28px; border: 8px solid #FFFFFF; background: #FFD166; box-shadow: 0 30px 60px rgba(42, 27, 110, .22); transform: rotate(2deg); transition: transform .5s; }
.iz-kartpostal:hover .iz-kartpostal__cerceve { transform: rotate(0deg) scale(1.01); }
.iz-kartpostal__cerceve img { width: 100%; height: 100%; object-fit: cover; }
.iz-kartpostal::before { content: ""; position: absolute; inset: 40px -14px -14px 40px; z-index: -1; border-radius: 32px; background: var(--iz-gunbatimi); transform: rotate(-3deg); }
.iz-cikartma { position: absolute; z-index: 2; display: inline-flex; align-items: center; gap: 7px; padding: 10px 14px; border-radius: 16px; background: #FFFFFF; color: var(--ink); font-size: 14px; font-weight: 800; white-space: nowrap; box-shadow: 0 12px 28px rgba(42, 27, 110, .18); animation: iz-suzul 5s ease-in-out infinite; }
.iz-cikartma--1 { top: 2%; left: -6%; rotate: -4deg; }
.iz-cikartma--2 { bottom: 18%; left: -10%; animation-delay: -1.6s; }
.iz-cikartma--3 { bottom: -2%; right: 4%; rotate: 3deg; animation-delay: -3.2s; }
.iz-cikartma svg { color: var(--r); }
@keyframes iz-suzul { 0%, 100% { translate: 0 0; } 50% { translate: 0 -8px; } }

/* Arama kutusu açılışın altına biner */
.b-arama-yeri { margin-top: -86px; }
.b-arama { max-width: 980px; }
.b-arama__sekmeler { gap: 6px; padding: 10px; border-radius: 22px 22px 0 0; }
.b-arama__sekme span { padding: 9px 14px; border: 0; border-radius: 999px; transition: background .15s, color .15s; }
.b-arama__sekme:hover span { background: var(--soft); }
.b-arama__sekme input:checked + span { color: #FFFFFF; background: var(--navy); }
.b-arama__satir { padding: 16px; border-radius: 0 22px 22px 22px; box-shadow: 0 24px 50px rgba(42, 27, 110, .16); }
.b-arama__alan { border-radius: 14px; background: var(--soft-2); }
.b-arama__alan:focus-within { border-color: var(--iz-mor); box-shadow: 0 0 0 4px #ECE6FF; background: #FFFFFF; }
.b-arama__dugme { min-height: 52px; padding: 0 28px; }

/* ---------- Bölüm başlıkları: altında dalga ---------- */
.b-bolum { padding-top: 56px; }
.b-bolum__baslik { position: relative; padding-bottom: 14px; font-size: clamp(26px, 3vw, 36px); letter-spacing: -0.03em; }
.b-bolum__baslik::after { content: ""; position: absolute; left: 0; bottom: 0; width: 64px; height: 8px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='8' viewBox='0 0 64 8'%3E%3Cpath d='M1 5c5 0 5-3 10-3s5 3 10 3 5-3 10-3 5 3 10 3 5-3 10-3 5 3 12 3' fill='none' stroke='%23FF5A5F' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat; }
.iz-ust-baslik { display: inline-block; margin-bottom: 6px; color: var(--iz-mercan); font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.b-tumu { padding: 8px 14px; border-radius: 999px; background: var(--soft); color: var(--navy); }
.b-tumu:hover { background: #ECE6FF; color: var(--iz-mor); }

/* ---------- Kategoriler: her biri ayrı renk ---------- */
.b-kategori { border: 0; border-radius: 22px; background: var(--k-acik, #F1ECFF); box-shadow: none; min-height: 118px; transition: transform .2s, box-shadow .2s; }
.b-kategori svg { box-sizing: content-box; width: 30px; height: 30px; padding: 11px; border-radius: 16px; color: #FFFFFF; background: var(--k, var(--iz-mor)); box-shadow: 0 8px 18px color-mix(in srgb, var(--k, #7B4DFF) 35%, transparent); transition: transform .25s; }
.b-kategori:hover { transform: translateY(-4px); box-shadow: 0 16px 30px rgba(42, 27, 110, .12); }
.b-kategori:hover svg { transform: rotate(-8deg) scale(1.08); }
.b-kategori:nth-child(6n+1) { --k: #0096C7; --k-acik: #E4F6FC; }
.b-kategori:nth-child(6n+2) { --k: #FF5A5F; --k-acik: #FFEAEA; }
.b-kategori:nth-child(6n+3) { --k: #7B4DFF; --k-acik: #EFEAFF; }
.b-kategori:nth-child(6n+4) { --k: #E5A100; --k-acik: #FFF5D6; }
.b-kategori:nth-child(6n+5) { --k: #06C28B; --k-acik: #E0F8EF; }
.b-kategori:nth-child(6n+6) { --k: #EF476F; --k-acik: #FDE6EC; }

/* ---------- Şehir rehberi kutuları ---------- */
.iz-sehir { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.iz-sehir__kutu { position: relative; display: grid; grid-template-columns: auto 1fr; column-gap: 16px; align-items: center; padding: 20px 52px 20px 20px; border-radius: 24px; background: var(--r-acik); color: var(--ink); text-decoration: none; overflow: hidden; transition: transform .2s, box-shadow .2s; }
.iz-sehir__kutu::before { content: ""; position: absolute; right: -40px; top: -40px; width: 120px; height: 120px; border-radius: 50%; background: var(--r); opacity: .12; transition: transform .4s; }
.iz-sehir__kutu:hover { color: var(--ink); transform: translateY(-3px); box-shadow: 0 16px 32px rgba(42, 27, 110, .12); }
.iz-sehir__kutu:hover::before { transform: scale(1.5); }
.iz-sehir__ikon { grid-row: 1 / 3; display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 18px; color: #FFFFFF; background: var(--r); box-shadow: 0 10px 20px color-mix(in srgb, var(--r) 35%, transparent); }
.iz-sehir__kutu strong { font-family: var(--display); font-size: 19px; font-weight: 800; letter-spacing: -0.01em; }
.iz-sehir__kutu small { color: var(--muted); font-size: 14px; font-weight: 600; }
.iz-sehir__ok { position: absolute; right: 18px; top: 50%; translate: 0 -50%; color: var(--r); transition: transform .2s; }
.iz-sehir__kutu:hover .iz-sehir__ok { transform: translateX(4px); }

/* ---------- Kartlar ---------- */
.b-kart { border: 0; border-radius: 22px; box-shadow: 0 2px 6px rgba(42, 27, 110, .06), 0 10px 26px rgba(42, 27, 110, .07); }
.b-kart:hover { transform: translateY(-4px); box-shadow: 0 22px 44px rgba(42, 27, 110, .16); }
.b-kart__foto { overflow: hidden; }
.b-kart__foto .cover { transition: transform .5s; }
.b-kart:hover .b-kart__foto .cover { transform: scale(1.06); }
.b-kart__etiket { border-radius: 999px; background: var(--iz-gunbatimi); }
.ph { background-image: radial-gradient(circle at 85% 15%, rgba(255, 255, 255, .7), transparent 40%), radial-gradient(circle at 10% 90%, rgba(255, 255, 255, .45), transparent 35%); }
.ph svg { box-sizing: content-box; padding: 10px; border-radius: 14px; background: rgba(255, 255, 255, .7); }

/* İlçe kartları: fotoğraf yokken gün batımı ve deniz renkleri */
.b-bolge { border-radius: 24px; transition: box-shadow .2s, transform .2s; }
.b-bolge:hover { transform: translateY(-3px); box-shadow: 0 20px 40px rgba(42, 27, 110, .2); }
.b-bolge .ph { color: rgba(255, 255, 255, .55); }
.b-bolge .ph svg { background: rgba(255, 255, 255, .16); }
.b-bolge:nth-child(6n+1) .ph { background: linear-gradient(160deg, #12B5D0, #3A5BFF); }
.b-bolge:nth-child(6n+2) .ph { background: linear-gradient(160deg, #FF8A3D, #EF476F); }
.b-bolge:nth-child(6n+3) .ph { background: linear-gradient(160deg, #9D7BFF, #5B2EE0); }
.b-bolge:nth-child(6n+4) .ph { background: linear-gradient(160deg, #FFC233, #FF6B3D); }
.b-bolge:nth-child(6n+5) .ph { background: linear-gradient(160deg, #2EE6A8, #0096C7); }
.b-bolge:nth-child(6n+6) .ph { background: linear-gradient(160deg, #FF7AA2, #7B4DFF); }
.b-bolge::after { background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(27, 17, 70, .72) 100%); }
.b-bolge__yazi strong { font-family: var(--display); font-size: 21px; letter-spacing: -0.01em; }

/* ---------- İşletme çağrısı ---------- */
.b-cagri { position: relative; overflow: hidden; border-radius: 32px; background: var(--iz-gunbatimi); box-shadow: 0 24px 50px rgba(239, 71, 111, .28); }
.b-cagri::before, .b-cagri::after { content: ""; position: absolute; border-radius: 50%; background: rgba(255, 255, 255, .14); }
.b-cagri::before { width: 260px; height: 260px; right: -60px; top: -120px; }
.b-cagri::after { width: 140px; height: 140px; right: 180px; bottom: -80px; background: rgba(255, 210, 102, .35); }
.b-cagri > * { position: relative; z-index: 1; }
.b-cagri p { color: rgba(255, 255, 255, .92); }
.b-dugme--beyaz { color: var(--iz-pembe); box-shadow: 0 10px 24px rgba(27, 17, 70, .2); }
.b-dugme--beyaz:hover { color: var(--iz-mor); transform: translateY(-1px); }

/* ---------- Alt bilgi: üstünde dalga ---------- */
.b-alt { position: relative; margin-top: 96px; background: radial-gradient(800px 300px at 90% 0%, rgba(123, 77, 255, .35), transparent 60%), radial-gradient(600px 260px at 0% 100%, rgba(18, 181, 208, .25), transparent 60%), var(--navy-2); color: #CFC8EA; }
.b-alt::before { content: ""; position: absolute; left: 0; right: 0; top: -38px; height: 40px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V22c120-14 240-22 360-10s240 26 360 14 240-34 360-30 240 18 360 18v26z' fill='%231B1146'/%3E%3C/svg%3E") no-repeat center / 100% 100%; }
.b-alt a { color: #CFC8EA; }
.b-alt a:hover { color: var(--iz-sari); }
.b-alt nav strong { color: #FFFFFF; }

/* ---------- Görününce beliren bölümler (yalnızca JS varken; hareket azaltılmışsa yok) ---------- */
.iz-js .iz-belir { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1); }
.iz-js .iz-belir.iz-gorundu { opacity: 1; transform: none; }

/* ---------- Telefon ve tablet ---------- */
@media (max-width: 960px) {
  .iz-giris__ic { grid-template-columns: 1fr; padding-bottom: 120px; }
  .iz-kartpostal { justify-self: center; width: min(100%, 520px); margin-top: 8px; }
  .iz-cikartma--1 { left: 0; }
  .iz-cikartma--2 { left: -2%; }
  .iz-sehir { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .iz-giris__ic { padding-top: 28px; gap: 18px; }
  .iz-giris__baslik { margin-top: 14px; }
  .iz-leke--1 { width: 70px; height: 70px; left: auto; right: 4%; top: 4%; }
  .iz-leke--3 { display: none; }
  .iz-hizli { gap: 8px; margin-top: 20px; }
  .iz-hizli__og { padding: 9px 13px; font-size: 13px; }
  .iz-cikartma { font-size: 12px; padding: 8px 11px; }
  .iz-cikartma--2 { display: none; }
  .iz-kartpostal__cerceve { border-width: 6px; border-radius: 22px; }
  .iz-sehir { grid-template-columns: 1fr; gap: 12px; }
  .iz-sehir__kutu { padding: 16px 48px 16px 16px; }
  .b-bolum { padding-top: 44px; }
  .b-alt::before { top: -22px; height: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .iz-leke, .iz-cikartma, .iz-giris__baslik strong { animation: none; }
  .iz-js .iz-belir { opacity: 1; transform: none; transition: none; }
}

/* ---------- Şehir içi ulaşım sayfaları (metro, İZBAN, tramvay, vapur, havalimanı, İzmirim Kart) ---------- */
.iz-ulasim-menu { padding-top: 4px; }
.iz-hat-bas { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 18px; }
.iz-hat-bas .b-bolum__baslik { margin: 0; }
.iz-hat-bas p { margin: 4px 0 0; color: var(--muted); font-size: 14.5px; max-width: 760px; }
.iz-hat-kod { flex: none; display: inline-flex; align-items: center; justify-content: center; min-width: 52px; height: 52px; padding: 0 10px; border-radius: 16px; background: var(--hat); color: #FFFFFF; font-family: var(--display); font-weight: 800; font-size: 17px; box-shadow: 0 10px 20px color-mix(in srgb, var(--hat) 30%, transparent); }
.iz-hat { list-style: none; margin: 0; padding: 0; columns: 3 260px; column-gap: 28px; }
.iz-hat__durak { position: relative; break-inside: avoid; padding: 7px 0 7px 30px; min-height: 36px; }
.iz-hat__durak::before { content: ""; position: absolute; left: 8px; top: 0; bottom: 0; width: 4px; background: var(--hat); border-radius: 2px; }
.iz-hat__durak::after { content: ""; position: absolute; left: 3px; top: 12px; width: 14px; height: 14px; border-radius: 50%; background: #FFFFFF; border: 3px solid var(--hat); box-sizing: border-box; }
.iz-hat__durak:first-child::before { top: 14px; }
.iz-hat__durak:last-child::before { bottom: calc(100% - 20px); }
.iz-hat__durak--aktarma::after { width: 18px; height: 18px; left: 1px; top: 10px; border-color: var(--ink); }
.iz-hat__durak strong { display: block; font-size: 15px; line-height: 1.35; }
.iz-hat__aktarma { display: inline-block; margin-top: 3px; padding: 2px 9px; border-radius: 999px; background: var(--iz-sari); color: var(--ink); font-size: 12px; font-weight: 800; }
.iz-iskele small { color: var(--sea); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.iz-secenekler { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.iz-secenek { padding: 22px; border-radius: 24px; background: var(--r-acik); border-top: 6px solid var(--r); }
.iz-secenek h2 { margin: 0; font-family: var(--display); font-size: 22px; }
.iz-secenek p { margin: 10px 0 0; line-height: 1.6; }
.iz-secenek__ozet { color: var(--r); font-weight: 800; }
.iz-adimlar { list-style: none; counter-reset: adim; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; }
.iz-adimlar li { counter-increment: adim; position: relative; padding: 58px 20px 20px; border-radius: 24px; background: var(--r-acik); }
.iz-adimlar li::before { content: counter(adim); position: absolute; left: 20px; top: 16px; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: var(--r); color: #FFFFFF; font-weight: 800; }
.iz-adimlar strong { display: block; font-size: 17px; }
.iz-adimlar span { display: block; margin-top: 6px; color: var(--muted); font-size: 14.5px; line-height: 1.55; }
@media (max-width: 760px) {
  .iz-secenekler, .iz-adimlar { grid-template-columns: 1fr; }
  .iz-hat { columns: 1; }
  .iz-hat-kod { min-width: 44px; height: 44px; font-size: 15px; border-radius: 13px; }
}

/* ESHOT otobüs hatları ve durakları (/eshot-hatlari, /eshot-duraklari) */
.iz-eshot-ara { display: flex; gap: 10px; margin-bottom: 14px; }
.iz-eshot-ara input { flex: 1; min-width: 0; min-height: 50px; padding: 0 16px; border: 2px solid var(--line); border-radius: 14px; font: inherit; font-size: 16px; background: #FFFFFF; color: var(--ink); }
.iz-eshot-ara input:focus { outline: none; border-color: var(--sea); box-shadow: 0 0 0 3px var(--sea-tint); }
.iz-eshot-suzgec { margin-bottom: 18px; }
.iz-eshot-suzgec button { cursor: pointer; font: inherit; font-size: 14px; font-weight: 700; }
.iz-eshot-suzgec button[aria-pressed="true"] { background: var(--navy); border-color: var(--navy); color: #FFFFFF; }
.iz-eshot-hatlar { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 10px; }
.iz-eshot-hatlar a, .iz-eshot-hatlar__pasif { display: flex; align-items: center; gap: 12px; height: 100%; padding: 10px 14px 10px 10px; border-radius: 16px; background: #FFFFFF; border: 1px solid var(--line); color: var(--ink); text-decoration: none; transition: border-color .15s, transform .15s, box-shadow .15s; }
.iz-eshot-hatlar a:hover { border-color: var(--sea); transform: translateY(-1px); box-shadow: 0 8px 18px rgba(11, 27, 58, .08); }
.iz-eshot-hatlar strong { display: block; font-size: 15px; line-height: 1.3; }
.iz-eshot-hatlar small { display: block; margin-top: 2px; color: var(--muted); font-size: 12.5px; line-height: 1.35; }
.iz-eshot-no { flex: none; display: inline-flex; align-items: center; justify-content: center; min-width: 48px; height: 40px; padding: 0 8px; border-radius: 12px; background: linear-gradient(135deg, var(--sea), var(--iz-mor)); color: #FFFFFF; font-family: var(--display); font-weight: 800; font-size: 16px; }
.iz-eshot-baglanti { display: flex; flex-wrap: wrap; gap: 6px; }
.iz-eshot-baglanti span { padding: 3px 10px; border-radius: 999px; background: var(--iz-sari); color: var(--ink); font-size: 13px; font-weight: 800; }
.iz-eshot-duyuru { padding: 18px 20px; border-radius: 20px; background: #FFF3CF; border-left: 6px solid #E5A100; }
.iz-eshot-duyuru h2 { margin: 0 0 6px; font-size: 18px; }
.iz-eshot-duyuru ul { margin: 0; padding-left: 20px; line-height: 1.55; }
.iz-eshot-duyuru p { margin: 8px 0 0; font-size: 14px; }
.iz-eshot-tarifeler { display: grid; gap: 12px; }
.iz-eshot-tarife { border: 1px solid var(--line); border-radius: 18px; background: #FFFFFF; overflow: hidden; }
.iz-eshot-tarife summary { cursor: pointer; padding: 14px 18px; font-weight: 800; font-size: 16px; list-style-position: inside; }
.iz-eshot-tarife summary span { margin-left: 8px; padding: 2px 9px; border-radius: 999px; background: var(--iz-yesil); color: #FFFFFF; font-size: 12px; vertical-align: 2px; }
.iz-eshot-tarife[open] summary { border-bottom: 1px solid var(--line); background: var(--sea-tint); }
.iz-eshot-yonler { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding: 16px 18px 18px; }
.iz-eshot-yonler h3 { margin: 0 0 10px; font-size: 15px; }
.iz-eshot-saatler { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.iz-eshot-saatler li { display: inline-flex; align-items: center; gap: 3px; min-width: 58px; justify-content: center; padding: 5px 8px; border-radius: 9px; background: #F2F5FA; font-variant-numeric: tabular-nums; font-weight: 700; font-size: 14px; }
.iz-eshot-saatler li.iz-eshot-gecti { opacity: .45; }
.iz-eshot-saatler li.iz-eshot-siradaki { background: var(--iz-yesil); color: #FFFFFF; box-shadow: 0 6px 14px rgba(0, 0, 0, .12); }
.iz-eshot-isaret { display: inline-flex; align-items: center; justify-content: center; width: 15px; height: 15px; border-radius: 4px; background: var(--sea); color: #FFFFFF; font-style: normal; font-size: 10px; font-weight: 800; }
.iz-eshot-isaret--l { background: var(--iz-yesil); }
.iz-eshot-not { margin-top: 10px; font-size: 13.5px; }
.iz-hat__durak a { color: var(--ink); text-decoration: none; }
.iz-hat__durak a:hover strong { color: var(--sea); }
.iz-hat__durak small { display: block; font-size: 12px; }
.iz-eshot-durak-liste { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 8px; }
.iz-eshot-durak-liste a { display: block; padding: 12px 16px; border-radius: 14px; border: 1px solid var(--line); background: #FFFFFF; color: var(--ink); text-decoration: none; }
.iz-eshot-durak-liste a:hover { border-color: var(--sea); }
.iz-eshot-durak-liste strong { display: block; font-size: 16px; }
.iz-eshot-durak-liste small { display: block; margin-top: 2px; color: var(--muted); font-size: 13px; }
.iz-eshot-yakin p { margin: 10px 0 0; }
.iz-eshot-canli { padding: 20px; border-radius: 24px; background: linear-gradient(135deg, #DDF4FB, #ECE6FF); }
.iz-eshot-canli__bas { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.iz-eshot-canli h2 { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 20px; }
.iz-eshot-canli small { color: var(--muted); }
.iz-eshot-canli > p { margin: 12px 0 0; }
.iz-eshot-nokta { width: 12px; height: 12px; border-radius: 50%; background: var(--iz-mercan); box-shadow: 0 0 0 0 rgba(255, 92, 92, .6); animation: iz-eshot-nabiz 1.8s infinite; }
@keyframes iz-eshot-nabiz { 70% { box-shadow: 0 0 0 10px rgba(255, 92, 92, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 92, 92, 0); } }
@media (prefers-reduced-motion: reduce) { .iz-eshot-nokta { animation: none; } }
.iz-eshot-yaklasan { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 8px; }
.iz-eshot-yaklasan li a { display: flex; align-items: center; gap: 12px; padding: 10px 14px 10px 10px; border-radius: 14px; background: #FFFFFF; color: var(--ink); text-decoration: none; }
.iz-eshot-yaklasan strong { display: block; font-size: 15px; }
.iz-eshot-yaklasan small { display: block; color: var(--muted); font-size: 12.5px; }
.iz-eshot-yaklasan .iz-eshot-kalan { margin-left: auto; flex: none; text-align: right; font-weight: 800; color: var(--sea); font-size: 15px; white-space: nowrap; }
.iz-eshot-havalimani { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.iz-eshot-havalimani__hat { padding: 18px 20px; border-radius: 20px; background: #FFFFFF; border: 1px solid var(--line); }
.iz-eshot-havalimani__hat h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; font-size: 17px; }
.iz-eshot-havalimani__hat p { margin: 8px 0 0; line-height: 1.55; }
@media (max-width: 760px) {
  .iz-eshot-yonler, .iz-eshot-havalimani { grid-template-columns: 1fr; }
  .iz-eshot-ara { flex-direction: column; }
  .iz-eshot-hatlar { grid-template-columns: 1fr; }
}
