/* =====================================================================================================================
   #240 — MÜŞTERİ SİTESİ YENİ TASARIM KATMANI (Ot.196/11 →)
   Kaynak: kullanıcının tasarım görselleri (`Gelen\Yeni Tasarım\`, 33 görsel), plan `docs/yeni-tasarim/plan-2026-10-12.html`.

   ⭐ KAPSAM: YALNIZ müşteri sitesi. Bu dosyayı yalnız `_Layout` ve `_LayoutAuth` yükler; her kural `body.dc-b2c` altında
      yazılır. Acente ve yönetim panelleri bu dosyayı HİÇ yüklemez.
   ⭐ RENK ROLLERİ (kullanıcı kararı 12.10 — "koyu olan renk"): `--dc-bant` acentenin iki renginden beyaz yazıyla daha iyi
      okunanı (tasarımdaki lacivert rolü; ≥ 4,5), `--dc-vurgu` diğeri (tasarımdaki kırmızı: yalnız küçük vurgular). Değerler
      sunucuda hesaplanır (`TasarimRenkleri` → `MarkaRengiCss.TasarimBlok`); burada YALNIZ kullanılır.
   ⭐ Durum renkleri (başarı / uyarı / tehlike / yıldız) sabittir — her acentede aynı anlamı taşır.
   ⛔ Mevcut çeviri değerleri bu işte değiştirilmez (ortak veritabanı); yeni metin `SeedData.YeniTasarimLocalizations`.
   ===================================================================================================================== */

:root {
    --dc-zemin: #f4f5f7;
    --dc-kart: #ffffff;
    --dc-cizgi: #e3e6ec;
    --dc-yazi: #151b2b;
    --dc-yazi-ikincil: #5b6475;
    --dc-basari: #17663f;
    --dc-basari-zemin: #e7f4ec;
    --dc-uyari: #8a5a00;
    --dc-uyari-zemin: #fff4dc;
    --dc-tehlike: #b42318;
    --dc-yildiz: #d4a017;
    --dc-yaricap-kart: 14px;
    --dc-yaricap-alan: 10px;
    --dc-yaricap-dugme: 10px;
    --dc-golge-kart: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .08);
    --dc-golge-acilir: 0 12px 32px rgba(16, 24, 40, .16);
    --dc-font: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
    /* Tasarımda içerik genişliği 1120px (1920'lik ekranda 400–1520). */
    --dc-kap-genislik: 1120px;
}

/* Sunucu bloğu yoksa (beklenmez) okunur bir yedek — platform rengine düşülmez.
   🔴 `html` seçicisiyle (özgüllük 0,0,1): sunucunun `:root{--dc-bant:…}` bloğu (0,1,0) sayfada bu dosyadan ÖNCE basılıyor;
      yedek `:root`ta olsaydı sonra geldiği için acentenin rengini EZERDİ (ölçüldü 12.10: dört acentede de #1f2937 çıktı). */
html {
    --dc-bant: #1f2937;
    --dc-bant-rgb: 31, 41, 55;
    --dc-vurgu: #1f2937;
    --dc-vurgu-okunur: #1f2937;
}

/* ── Yazı tipi: tema gövdeyi, başlıkları ve açılır menüleri IBM Plex / Poppins'e bağlıyordu ─────────────────────────── */
body.dc-b2c {
    --dc-font-family: var(--dc-font);
    --bs-body-font-family: var(--dc-font);
    font-family: var(--dc-font);
}
body.dc-b2c h1, body.dc-b2c h2, body.dc-b2c h3, body.dc-b2c h4, body.dc-b2c h5, body.dc-b2c h6,
body.dc-b2c .h1, body.dc-b2c .h2, body.dc-b2c .h3, body.dc-b2c .h4, body.dc-b2c .h5, body.dc-b2c .h6,
body.dc-b2c .dropdown .dropdown-menu,
body.dc-b2c button, body.dc-b2c input, body.dc-b2c select, body.dc-b2c textarea {
    font-family: var(--dc-font);
}

/* ── Ortak kap: tasarım genişliği ─────────────────────────────────────────────────────────────────────────────────── */
body.dc-b2c .dc-kap {
    width: 100%;
    max-width: calc(var(--dc-kap-genislik) + 32px);
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px;
    padding-right: 16px;
}

/* =====================================================================================================================
   ÜST BANT
   Ana sayfa ve şeritli iç sayfalarda görselin ÜSTÜNDE saydam; otel/uçuş sayfalarında (`dc-solid-header`) ve kaydırınca
   (tema `<header>`a `fixed` ekler) bant renginde.
   ===================================================================================================================== */
body.dc-b2c .dc-ust-bant {
    background: transparent;
    color: #fff;
    transition: background-color .2s ease, box-shadow .2s ease;
}
body.dc-b2c.dc-solid-header .dc-ust-bant,
body.dc-b2c .dc-ust-bant.fixed {
    background: var(--dc-bant);
}
body.dc-b2c .dc-ust-bant.fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1050;
    box-shadow: 0 2px 14px rgba(0, 0, 0, .18);
}
body.dc-b2c .dc-ust-bant__ic {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 88px;
    padding-top: 14px;
    padding-bottom: 14px;
}
body.dc-b2c .dc-ust-bant.fixed .dc-ust-bant__ic {
    min-height: 64px;
    padding-top: 8px;
    padding-bottom: 8px;
}
body.dc-b2c .dc-ust-bant__marka {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
body.dc-b2c .dc-logo {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    max-width: 100%;
}
body.dc-b2c .dc-logo__gorsel {
    display: block;
    width: auto;
    max-width: 220px;
    max-height: 48px;
}
/* Ayrı açık logo YOKSA normal logo beyaz zemin üstünde — koyu yazılı logo koyu bantta okunmaz. */
body.dc-b2c .dc-logo__zemin {
    display: inline-flex;
    align-items: center;
    background: #fff;
    border-radius: 10px;
    padding: 6px 10px;
}
body.dc-b2c .dc-logo__zemin .dc-logo__gorsel {
    max-height: 36px;
}
body.dc-b2c .dc-logo__yazi {
    font-size: 1.35rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: -.01em;
}
body.dc-b2c .dc-ust-bant .dc-verif-header {
    /* Tam beyaz: bant ≥ 4,5 garantili, opaklıklı beyaz açık renkli acentede sınırın altına düşer. */
    color: #fff;
    font-size: 11px;
    line-height: 1.3;
    margin-top: 4px;
}
body.dc-b2c .dc-ust-menu ul {
    display: flex;
    gap: 22px;
    list-style: none;
    margin: 0;
    padding: 0;
}
body.dc-b2c .dc-ust-menu a {
    color: #fff;
    font-weight: 500;
    text-decoration: none;
}
body.dc-b2c .dc-ust-menu a:hover,
body.dc-b2c .dc-ust-menu a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 6px;
}
body.dc-b2c .dc-ust-bant__sag {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 12px;
}
@media (max-width: 1199.98px) {
    body.dc-b2c .dc-ust-menu { display: none; }
}
@media (max-width: 575.98px) {
    body.dc-b2c .dc-ust-bant__ic { gap: 10px; min-height: 72px; }
    body.dc-b2c .dc-ust-bant__sag { gap: 8px; }
    body.dc-b2c .dc-logo__gorsel { max-width: 150px; max-height: 40px; }
    body.dc-b2c .dc-logo__zemin .dc-logo__gorsel { max-height: 30px; }
}

/* ── Dil + para birimi kapsülü ─────────────────────────────────────────────────────────────────────────────────────── */
body.dc-b2c .dc-secici-kapsul {
    display: flex;
    align-items: center;
    height: 40px;
    padding: 0 3px;
    border: 1px solid rgba(255, 255, 255, .38);
    border-radius: 12px;
}
body.dc-b2c .dc-kapsul-dugme {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 34px;
    padding: 0 9px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
}
body.dc-b2c .dc-kapsul-dugme:hover,
body.dc-b2c .dc-kapsul-dugme[aria-expanded="true"] {
    background: rgba(255, 255, 255, .14);
}
body.dc-b2c .dc-kapsul-dugme:focus-visible,
body.dc-b2c .dc-kullanici-dugme:focus-visible,
body.dc-b2c .dc-menu-dugme:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}
body.dc-b2c .dc-kapsul-dugme .ti-world { font-size: 17px; }
body.dc-b2c .dc-kapsul-ok { font-size: 13px; opacity: .85; }
body.dc-b2c .dc-kapsul-ayrac {
    width: 1px;
    height: 18px;
    background: rgba(255, 255, 255, .38);
}
@media (max-width: 575.98px) {
    body.dc-b2c .dc-kapsul-kod--para { display: none; }
    body.dc-b2c .dc-kapsul-dugme { padding: 0 7px; gap: 4px; }
}

/* ── Açılır menüler (dil, para birimi, kullanıcı) ─────────────────────────────────────────────────────────────────── */
body.dc-b2c .dc-secici-menu {
    min-width: 230px;
    margin-top: 8px !important;
    padding: 6px;
    border: 0;
    border-radius: 12px;
    background: var(--dc-kart);
    box-shadow: var(--dc-golge-acilir);
}
body.dc-b2c .dc-secici-oge {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 9px 12px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: var(--dc-yazi);
    font-size: 14px;
    font-weight: 600;
    text-align: left;
    text-decoration: none;
}
body.dc-b2c .dc-secici-oge:hover,
body.dc-b2c .dc-secici-oge:focus-visible {
    background: #f1f3f7;
    color: var(--dc-yazi);
    outline: none;
}
body.dc-b2c .dc-secici-oge.active,
body.dc-b2c .dc-secici-oge.active:hover {
    background: var(--dc-bant);
    color: #fff;
}
body.dc-b2c .dc-secici-oge i { font-size: 17px; }
body.dc-b2c .dc-secici-oge--tehlike,
body.dc-b2c .dc-secici-oge--tehlike:hover { color: var(--dc-tehlike); }
body.dc-b2c .dc-bayrak {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .08);
}
body.dc-b2c .dc-secici-cift {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}
body.dc-b2c .dc-secici-alt {
    font-size: 12px;
    font-weight: 500;
    opacity: .78;
}
body.dc-b2c .dc-kullanici-menu__ad {
    max-width: 260px;
    padding: 8px 12px 6px;
    overflow: hidden;
    color: var(--dc-yazi-ikincil);
    font-size: 12px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Kullanıcı ve menü düğmeleri ──────────────────────────────────────────────────────────────────────────────────── */
body.dc-b2c .dc-kullanici-dugme,
body.dc-b2c .dc-menu-dugme {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255, 255, 255, .38);
    border-radius: 50%;
    background: transparent;
    color: #fff;
    font-size: 18px;
}
body.dc-b2c .dc-kullanici-dugme:hover,
body.dc-b2c .dc-kullanici-dugme[aria-expanded="true"],
body.dc-b2c .dc-menu-dugme:hover {
    background: rgba(255, 255, 255, .14);
}
body.dc-b2c .dc-kullanici-dugme--girisli { background: rgba(255, 255, 255, .18); }
body.dc-b2c .dc-menu-dugme { display: none; border-radius: 12px; }
@media (max-width: 1199.98px) {
    body.dc-b2c .dc-menu-dugme { display: inline-flex; }
}

/* ── Mobil menü paneli (yalnız acentenin üst menüsü varsa) ────────────────────────────────────────────────────────── */
body.dc-b2c .dc-menu-paneli { font-family: var(--dc-font); }
body.dc-b2c .dc-menu-paneli__baslik { font-weight: 700; color: var(--dc-yazi); }
body.dc-b2c .dc-menu-paneli__liste {
    list-style: none;
    margin: 0;
    padding: 0;
}
body.dc-b2c .dc-menu-paneli__liste a {
    display: block;
    padding: 12px 4px;
    border-bottom: 1px solid var(--dc-cizgi);
    color: var(--dc-yazi);
    font-weight: 600;
    text-decoration: none;
}

/* ── Yukarı dön düğmesi: tasarımda bant renginde yuvarlak köşeli kare (konum/boyut aynı — WhatsApp düğmesi ona göre) ── */
body.dc-b2c .back-to-top-icon,
body.dc-b2c .back-to-top-icon:hover {
    border-radius: 10px;
    background: var(--dc-bant);
    color: #fff;
}

/* =====================================================================================================================
   ALT BİLGİ — bant renginde; üstündeki YAZI TAM BEYAZ (opaklık yalnız ayraç/çizgi gibi süslerde).
   ===================================================================================================================== */
body.dc-b2c .dc-alt-bilgi {
    background: var(--dc-bant);
    color: #fff;
    padding: 56px 0 28px;
    font-size: 14px;
    line-height: 1.6;
}
body.dc-b2c .dc-alt-bilgi a { color: #fff; text-decoration: none; }
body.dc-b2c .dc-alt-bilgi a:hover,
body.dc-b2c .dc-alt-bilgi a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
body.dc-b2c .dc-alt-bilgi a:focus-visible { outline: 2px solid #fff; outline-offset: 2px; border-radius: 4px; }
body.dc-b2c .dc-alt-bilgi__ust {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
    gap: 32px;
    align-items: start;
}
body.dc-b2c .dc-alt-bilgi__ust--tek { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 991.98px) {
    body.dc-b2c .dc-alt-bilgi__ust { grid-template-columns: minmax(0, 1fr); }
}
body.dc-b2c .dc-alt-bilgi__hakkinda > p {
    max-width: 380px;
    margin: 14px 0 0;
}
body.dc-b2c .dc-iletisim-listesi {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
    font-size: 13px;
}
body.dc-b2c .dc-iletisim-listesi li { display: flex; align-items: flex-start; gap: 8px; min-width: 0; }
body.dc-b2c .dc-iletisim-listesi i { font-size: 16px; line-height: 1.4; }
body.dc-b2c .dc-iletisim-listesi__etiket { font-weight: 700; }
body.dc-b2c .dc-iletisim-listesi a { overflow-wrap: anywhere; }
body.dc-b2c .dc-bulten__baslik {
    margin: 0 0 2px;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
}
body.dc-b2c .dc-bulten__alt { margin: 0 0 12px; font-size: 13px; }
body.dc-b2c .dc-bulten__kutu {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 6px 6px 14px;
    border-radius: 12px;
    background: #fff;
}
body.dc-b2c .dc-bulten__kutu > i { color: var(--dc-yazi-ikincil); font-size: 18px; }
body.dc-b2c .dc-bulten__kutu input[type="email"] {
    flex: 1 1 auto;
    min-width: 0;
    height: 40px;
    border: 0;
    outline: none;
    background: transparent;
    color: var(--dc-yazi);
    font-size: 14px;
}
body.dc-b2c .dc-bulten__kutu input[type="email"]::placeholder { color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-bulten__dugme,
body.dc-b2c .dc-bulten__dugme:hover {
    flex: 0 0 auto;
    padding: 10px 16px;
    border: 0;
    border-radius: 9px;
    background: var(--dc-bant);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}
body.dc-b2c .dc-bulten__dugme:focus-visible { outline: 2px solid var(--dc-bant); outline-offset: 2px; }
body.dc-b2c #newsletterMessage { color: #fff; font-size: 13px; }
body.dc-b2c .dc-alt-bilgi__ayrac {
    margin: 28px 0;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, .18);
    opacity: 1;
}
body.dc-b2c .dc-alt-bilgi__orta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
body.dc-b2c .dc-alt-menu {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 0;
    margin: 0;
    padding: 0;
    list-style: none;
}
body.dc-b2c .dc-alt-menu li { display: flex; align-items: center; }
body.dc-b2c .dc-alt-menu li + li::before {
    content: "";
    width: 4px;
    height: 4px;
    margin: 0 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .45);
}
body.dc-b2c .dc-alt-menu a { font-weight: 700; }
body.dc-b2c .dc-sosyal {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}
body.dc-b2c .dc-sosyal a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .12);
    font-size: 16px;
}
body.dc-b2c .dc-sosyal a:hover { background: rgba(255, 255, 255, .22); text-decoration: none; }
body.dc-b2c .dc-alt-yasal {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 18px;
    margin-top: 20px;
    font-size: 13px;
}
body.dc-b2c .dc-alt-bilgi__alt {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    font-size: 13px;
}
body.dc-b2c .dc-alt-bilgi__telif p { margin: 0; }
body.dc-b2c .dc-alt-bilgi__telif p + p { margin-top: 4px; }
body.dc-b2c .dc-alt-bilgi .dc-verif-footer,
body.dc-b2c .dc-alt-bilgi .dc-yasal-footer { color: #fff; }
body.dc-b2c .dc-alt-bilgi .dc-verif-badge img { display: block; max-height: 56px; width: auto; }
body.dc-b2c .dc-alt-bilgi__ek { margin-top: 20px; }
@media (max-width: 575.98px) {
    body.dc-b2c .dc-alt-bilgi { padding-top: 40px; }
    body.dc-b2c .dc-alt-bilgi__orta { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 575.98px) {
    /* Dar ekranda satır kırılınca nokta ayracı satır BAŞINDA kalıyordu ("• İletişim") — aralıkla ayrılır. */
    body.dc-b2c .dc-alt-menu { gap: 8px 18px; }
    body.dc-b2c .dc-alt-menu li + li::before { display: none; }
}

/* =====================================================================================================================
   GİRİŞ / KAYIT / ŞİFRE SAYFALARI (`_LayoutAuth`) — tasarımdaki pencere görünümü, AYRI SAYFA olarak (kullanıcı kararı 12.10).
   ===================================================================================================================== */
body.dc-b2c.dc-auth {
    min-height: 100vh;
    margin: 0;
    background: var(--dc-bant);
    background-image: radial-gradient(1200px 600px at 50% -10%, rgba(255, 255, 255, .10), transparent 60%);
}
body.dc-b2c .dc-auth__sahne {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: 40px 16px;
}
body.dc-b2c .dc-auth__kap { width: 100%; max-width: 480px; }
body.dc-b2c .dc-auth-kart {
    overflow: hidden;
    border-radius: 16px;
    background: var(--dc-kart);
    box-shadow: 0 24px 60px rgba(0, 0, 0, .28);
}
body.dc-b2c .dc-auth-kart__ust {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 72px;
    padding: 14px 52px;
    background: var(--dc-zemin);
}
body.dc-b2c .dc-auth-kart__marka { display: flex; flex-direction: column; align-items: center; gap: 2px; text-align: center; }
body.dc-b2c .dc-auth-kart__logo { display: inline-flex; align-items: center; text-decoration: none; }
body.dc-b2c .dc-auth-kart__logo img { display: block; width: auto; max-width: 220px; max-height: 44px; }
body.dc-b2c .dc-auth-kart__logo span { color: var(--dc-yazi); font-size: 1.4rem; font-weight: 700; }
body.dc-b2c .dc-auth-kart__slogan { color: var(--dc-yazi-ikincil); font-size: 12px; }
body.dc-b2c .dc-auth-kart__kapat {
    position: absolute;
    top: 50%;
    right: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin-top: -18px;
    border-radius: 50%;
    color: var(--dc-yazi);
    font-size: 18px;
    text-decoration: none;
}
body.dc-b2c .dc-auth-kart__kapat:hover { background: #e8ebf0; color: var(--dc-yazi); }
body.dc-b2c .dc-auth-sekme {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    margin: 16px 28px 0;
    padding: 4px;
    border-radius: 12px;
    background: var(--dc-zemin);
}
body.dc-b2c .dc-auth-sekme__oge {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    border-radius: 9px;
    color: var(--dc-yazi);
    font-weight: 600;
    text-decoration: none;
}
body.dc-b2c .dc-auth-sekme__oge:hover { background: #e8ebf0; color: var(--dc-yazi); }
body.dc-b2c .dc-auth-sekme__oge.active,
body.dc-b2c .dc-auth-sekme__oge.active:hover { background: var(--dc-bant); color: #fff; }
body.dc-b2c .dc-auth-kart__baslik {
    margin: 18px 28px 0;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--dc-cizgi);
    text-align: center;
}
body.dc-b2c .dc-auth-kart__baslik h1 { margin: 0 0 2px; color: var(--dc-yazi); font-size: 22px; font-weight: 700; }
body.dc-b2c .dc-auth-kart__baslik p { margin: 0; color: var(--dc-yazi-ikincil); font-size: 14px; }
body.dc-b2c .dc-auth-kart__govde { padding: 20px 28px 22px; }
body.dc-b2c .dc-auth-kart__govde .form-label { margin-bottom: 6px; color: var(--dc-yazi); font-size: 13px; font-weight: 700; }
body.dc-b2c .dc-auth-kart__govde .form-control,
body.dc-b2c .dc-auth-kart__govde .form-select {
    min-height: 48px;
    border: 1px solid #cfd5df;
    border-radius: var(--dc-yaricap-alan);
    color: var(--dc-yazi);
    font-size: 14px;
}
body.dc-b2c .dc-auth-kart__govde .form-control:focus {
    border-color: var(--dc-bant);
    box-shadow: 0 0 0 3px rgba(var(--dc-bant-rgb), .18);
}
body.dc-b2c .dc-auth-kart__govde .input-icon .form-control { padding-left: 42px; }
body.dc-b2c .dc-auth-kart__govde .input-icon .toggle-password + .form-control,
body.dc-b2c .dc-auth-kart__govde .input-icon .form-control.pass-input { padding-right: 46px; }
body.dc-b2c .dc-sifre-goz {
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}
body.dc-b2c .dc-sifre-goz:focus-visible { outline: 2px solid var(--dc-bant); outline-offset: 2px; border-radius: 6px; }
body.dc-b2c .dc-auth-kart__govde a { color: var(--dc-bant); }
body.dc-b2c .dc-auth-kart__govde .btn-primary,
body.dc-b2c .dc-auth-kart__govde .btn-primary:hover,
body.dc-b2c .dc-auth-kart__govde .btn-primary:focus {
    min-height: 50px;
    border-color: var(--dc-bant) !important;
    border-radius: var(--dc-yaricap-dugme);
    background: var(--dc-bant) !important;
    color: #fff;
    font-weight: 700;
}
body.dc-b2c .dc-auth-kart__govde .btn-primary:hover { filter: brightness(1.12); }
body.dc-b2c .dc-auth-unuttum { margin-top: 8px; text-align: right; font-size: 13px; }
body.dc-b2c .dc-auth-kart__govde .form-check-input:checked { border-color: var(--dc-bant); background-color: var(--dc-bant); }
body.dc-b2c .dc-auth__alt { margin-top: 18px; text-align: center; color: #fff; font-size: 13px; }
body.dc-b2c .dc-auth__alt a { display: inline-flex; align-items: center; gap: 6px; color: #fff; font-weight: 600; text-decoration: none; }
body.dc-b2c .dc-auth__alt a:hover { text-decoration: underline; }
body.dc-b2c .dc-auth__alt p { margin: 10px 0 0; }
@media (max-width: 575.98px) {
    body.dc-b2c .dc-auth__sahne { align-items: flex-start; padding-top: 24px; }
    body.dc-b2c .dc-auth-sekme, body.dc-b2c .dc-auth-kart__baslik { margin-left: 18px; margin-right: 18px; }
    body.dc-b2c .dc-auth-kart__govde { padding-left: 18px; padding-right: 18px; }
}

/* =====================================================================================================================
   ORTAK GÖRÜNÜM — tasarımın köşe dili (düğme / alan 10px, kart 14px). Tasarımı gelmeyen sayfalar da bunu alır.
   ⚠️ Sayfa ZEMİNİ bilerek değiştirilmedi: tasarımdaki gri (#f4f5f7) bugünkünden (#f9fafb) koyu; doğrudan zemin üstündeki
      soluk yazılar (ör. Bootstrap text-muted) okunurluk sınırının altına düşebilir. Zemin, sayfalar kartlarla yeniden
      kurulurken kendi aşamasında değişir.
   ===================================================================================================================== */
body.dc-b2c .btn:not(.rounded-pill):not(.rounded-circle):not(.btn-close) { border-radius: var(--dc-yaricap-dugme); }
body.dc-b2c .form-control:not(.rounded-pill),
body.dc-b2c .form-select:not(.rounded-pill) { border-radius: var(--dc-yaricap-alan); }
body.dc-b2c .card:not(.rounded-0) { border-radius: var(--dc-yaricap-kart); }

/* =====================================================================================================================
   ANA SAYFA — #240 Aşama 3 (Ot.196/15, 12.10.2026). Görsel: `Gelen\Yeni Tasarım\Ana Sayfa Düzen.png`.
   ⭐ Bölümler `.dc-kap` içinde (üst bant ve arama kutusuyla aynı 1120). Hero arkası (slayt, perde) DEĞİŞMEDİ.
   ⭐ KULLANICI KARARLARI (12.10): destinasyonlar 4 kartta da kaydırmalı (masaüstü 3 + sonrakinin ucu, noktalar) · mozaikte
      büyük kart etiketi "Öne Çıkan Seçim".
   ===================================================================================================================== */

/* Sayfa zemini: tasarımda hero altındaki alan açık gri, kartlar beyaz (yalnız ana sayfa — hero `main`in ilk çocuğu). */
body.dc-b2c main:has(> .hero-sec-eight) { background: var(--dc-zemin); }

/* ── Hero başlığı: "Acente adı | slogan" ─────────────────────────────────────────────────────────────────────────── */
/* Başlık kabı hero perdesinin (::before, z 0) ÜSTÜNDE olmalı — eski `.container` bu kuralı `site.css`ten alıyordu. */
body.dc-b2c .hero-sec-eight > .dc-kap { position: relative; z-index: 1; }
body.dc-b2c .dc-hero-baslik {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: .1em .5em;
    margin: 0 0 28px;
    color: #fff;
    text-align: center;
    font-size: clamp(1.6rem, 3.3vw, 2.875rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.01em;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .35);
}
/* Ayraç VURGU rengi (tasarımda kırmızı çubuk; renk rolü kararı Aşama 1). */
body.dc-b2c .dc-hero-baslik__ayrac {
    flex: 0 0 auto;
    width: 4px;
    height: 1.05em;
    border-radius: 2px;
    background: var(--dc-vurgu);
}
/* Telefonda ad ve slogan alt alta; dikey ayraç satır sonunda asılı kalıyordu (ölçüldü 375px) → ikisinin arasında kısa
   YATAY vurgu çizgisi (aynı renk, aynı rol). */
@media (max-width: 575.98px) {
    /* 🔴 Üst boşluk bandın ÖLÇÜLEN alt kenarından (`--dc-ust-cubuk-alt`, `_Layout` yazar): telefonda hero başlığı sabit
       ~80px'te başlıyor; biletnette'nin bandı TÜRSAB satırıyla 103px → başlık bandın 23px ALTINA giriyordu (ölçüldü 390px,
       dört acente). 64 = hero'nun telefondaki üst dolgusu (80) − istenen nefes payı (16). */
    body.dc-b2c .dc-hero-baslik { flex-direction: column; gap: 6px; font-size: 1.5rem; margin-bottom: 20px;
        margin-top: max(12px, calc(var(--dc-ust-cubuk-alt, 72px) - 64px)); }
    body.dc-b2c .dc-hero-baslik__ayrac { width: 32px; height: 3px; }
}

/* ── Bölüm başlığı: üstte küçük üst yazı, altta başlık (ortalı) ─────────────────────────────────────────────────── */
body.dc-b2c main:has(> .hero-sec-eight) > .section { padding: 56px 0 !important; }
@media (max-width: 991.98px) { body.dc-b2c main:has(> .hero-sec-eight) > .section { padding: 40px 0 !important; } }
body.dc-b2c .dc-bolum-basligi { text-align: center; margin: 0 0 28px; }
body.dc-b2c .dc-bolum-basligi__ust {
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--dc-yazi);
}
body.dc-b2c .dc-bolum-basligi h2 {
    margin: 0;
    font-size: clamp(1.5rem, 2.3vw, 2rem);
    font-weight: 800;
    color: var(--dc-yazi);
}
body.dc-b2c .dc-bolum-basligi .dc-vitrin-aciklama { max-width: 640px; margin: 8px auto 0; color: var(--dc-yazi-ikincil); }

/* ── Vitrin kartı (ortak): çerçevesiz, 14px köşe ─────────────────────────────────────────────────────────────────── */
body.dc-b2c .dc-vitrin-kart { border: 0; border-radius: var(--dc-yaricap-kart); }

/* ── Popüler destinasyonlar ──────────────────────────────────────────────────────────────────────────────────────── */
body.dc-b2c .dc-destinasyon-sec { --dc-vitrin-yukseklik: 310px; }
@media (max-width: 991.98px) { body.dc-b2c .dc-destinasyon-sec { --dc-vitrin-yukseklik: 280px; } }
@media (max-width: 575.98px) { body.dc-b2c .dc-destinasyon-sec { --dc-vitrin-yukseklik: 240px; } }
body.dc-b2c .dc-destinasyon-sec .dc-vitrin-ad {
    padding-right: var(--dc-vitrin-dolgu);   /* destinasyonda rozet yok — sağ rezerv gereksiz */
    font-size: 22px;
    font-weight: 700;
}
/* 3 ve daha az destinasyon: ızgara (kaydırma yok — kaydırılamayan karusel ölü kalır). */
body.dc-b2c .dc-destinasyon-izgara { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 991.98px) { body.dc-b2c .dc-destinasyon-izgara { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { body.dc-b2c .dc-destinasyon-izgara { grid-template-columns: minmax(0, 1fr); } }
/* Karusel: bir sonraki kartın UCU görünür (tasarım). Slick kart genişliğini listenin DOLGUSUZ içeriğinden hesaplar → sağ
   dolgu "uç" alanıdır. ⚠️ `!important`: slick satır içi stil yazmaz ama `site.css`in `.slick-list` kenar boşluğu ezilmeli. */
body.dc-b2c .dc-destinasyon-sec .dc-vitrin-karusel.slick-initialized .slick-list { margin: 0 -10px; padding-right: 9% !important; }
body.dc-b2c .dc-destinasyon-sec .dc-vitrin-karusel.slick-initialized .dc-vitrin-slayt { padding: 0 10px; }
@media (max-width: 991.98px) { body.dc-b2c .dc-destinasyon-sec .dc-vitrin-karusel.slick-initialized .slick-list { padding-right: 13% !important; } }
@media (max-width: 575.98px) { body.dc-b2c .dc-destinasyon-sec .dc-vitrin-karusel.slick-initialized .slick-list { padding-right: 18% !important; } }
/* JS'siz yedek (slick yüklenmeden): aynı oranda yatay kaydırıcı. */
body.dc-b2c .dc-destinasyon-sec .dc-vitrin-karusel:not(.slick-initialized) { gap: 20px; }
body.dc-b2c .dc-destinasyon-sec .dc-vitrin-karusel:not(.slick-initialized) > .dc-vitrin-slayt { width: calc((100% - 40px) / 3.3); }
@media (max-width: 991.98px) { body.dc-b2c .dc-destinasyon-sec .dc-vitrin-karusel:not(.slick-initialized) > .dc-vitrin-slayt { width: calc((100% - 20px) / 2.3); } }
@media (max-width: 575.98px) { body.dc-b2c .dc-destinasyon-sec .dc-vitrin-karusel:not(.slick-initialized) > .dc-vitrin-slayt { width: 82%; } }
body.dc-b2c .dc-vitrin-karusel .slick-dots { margin-top: 20px; }
body.dc-b2c .dc-vitrin-karusel .slick-dots li button { background: #d0d5dd; }
body.dc-b2c .dc-vitrin-karusel .slick-dots li.slick-active button { width: 26px; background: var(--dc-bant); }

/* ── Öne çıkan oteller: MOZAİK ───────────────────────────────────────────────────────────────────────────────────────
   Tasarım ölçüsü (1120 kap): büyük kart 346 · sağda üst satır 462 + 265 · alt satır 367 + 360; satır 224px (16px aralık).
   Dört sütunlu ızgara (346 · 367 · 79 · 265) her iki satır bölünmesini birden verir. Yerleşim otel SAYISINA göre
   (`data-adet` 1–5) — hiçbir sayıda boş delik ya da taşma kalmaz. 5'ten fazlası `.dc-mozaik-ek` sırasında. */
body.dc-b2c .dc-mozaik { display: grid; gap: 16px; }
body.dc-b2c .dc-mozaik .dc-vitrin-kart,
body.dc-b2c .dc-mozaik-ek .dc-vitrin-kart { height: 100%; min-height: 0; }
body.dc-b2c .dc-mozaik-ek { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 224px; gap: 16px; margin-top: 16px; }
@media (min-width: 768px) {
    body.dc-b2c .dc-mozaik { grid-template-columns: 346fr 367fr 79fr 265fr; grid-template-rows: repeat(2, 224px); }
    body.dc-b2c .dc-mozaik > :nth-child(1) { grid-column: 1 / 2; grid-row: 1 / 3; }
    body.dc-b2c .dc-mozaik[data-adet="1"] > :nth-child(1) { grid-column: 1 / -1; }
    body.dc-b2c .dc-mozaik[data-adet="2"] > :nth-child(2) { grid-column: 2 / -1; grid-row: 1 / 3; }
    body.dc-b2c .dc-mozaik[data-adet="3"] > :nth-child(2) { grid-column: 2 / -1; grid-row: 1; }
    body.dc-b2c .dc-mozaik[data-adet="3"] > :nth-child(3) { grid-column: 2 / -1; grid-row: 2; }
    body.dc-b2c .dc-mozaik[data-adet="4"] > :nth-child(2),
    body.dc-b2c .dc-mozaik[data-adet="5"] > :nth-child(2) { grid-column: 2 / 4; grid-row: 1; }
    body.dc-b2c .dc-mozaik[data-adet="4"] > :nth-child(3),
    body.dc-b2c .dc-mozaik[data-adet="5"] > :nth-child(3) { grid-column: 4 / 5; grid-row: 1; }
    body.dc-b2c .dc-mozaik[data-adet="4"] > :nth-child(4) { grid-column: 2 / -1; grid-row: 2; }
    body.dc-b2c .dc-mozaik[data-adet="5"] > :nth-child(4) { grid-column: 2 / 3; grid-row: 2; }
    body.dc-b2c .dc-mozaik[data-adet="5"] > :nth-child(5) { grid-column: 3 / -1; grid-row: 2; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    body.dc-b2c .dc-mozaik { grid-template-rows: repeat(2, 190px); }
    body.dc-b2c .dc-mozaik-ek { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 190px; }
}
/* Telefon: büyük kart tam genişlik, diğerleri iki sütun; tek kalan son kart iki sütuna yayılır. */
@media (max-width: 767.98px) {
    body.dc-b2c .dc-mozaik { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 240px; grid-auto-rows: 170px; gap: 12px; }
    body.dc-b2c .dc-mozaik > :nth-child(1) { grid-column: 1 / -1; }
    body.dc-b2c .dc-mozaik[data-adet="2"] > :last-child,
    body.dc-b2c .dc-mozaik[data-adet="4"] > :last-child { grid-column: 1 / -1; }
    body.dc-b2c .dc-mozaik-ek { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 170px; gap: 12px; margin-top: 12px; }
}
/* Perde yalnız ALTTA (ad + konum altta; tasarım). */
body.dc-b2c .dc-mozaik__oge::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, .18) 0%, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, .05) 50%, rgba(0, 0, 0, .74) 100%);
}
body.dc-b2c .dc-mozaik__metin { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 14px 18px 16px; }
body.dc-b2c .dc-mozaik__metin .dc-vitrin-ad { position: static; padding: 0; font-size: 16px; font-weight: 700; }
body.dc-b2c .dc-mozaik__oge--buyuk .dc-mozaik__metin { padding: 20px 22px 22px; }
body.dc-b2c .dc-mozaik__oge--buyuk .dc-mozaik__metin .dc-vitrin-ad { font-size: 24px; }
body.dc-b2c .dc-mozaik__metin .dc-vitrin-yer { display: flex; align-items: center; gap: 4px; margin-top: 4px; font-size: 12px; }
/* #240 Aşama 4: rozet tasarımdaki 10'luk DAİRE (`.dc-puan-daire`, liste kartıyla ortak; ölçek tek gövde OtelPuanKurali). */
body.dc-b2c .dc-mozaik__oge .dc-vitrin-rozet {
    top: 14px;
    right: 14px;
    padding: 0;
}
/* Büyük kartın etiketi (kullanıcı kararı: "Öne Çıkan Seçim"). Görsel üstünde okunurluk için koyu yarı saydam zemin. */
body.dc-b2c .dc-mozaik__etiket {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 3;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(16, 24, 40, .62);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

/* ── Neden biz: tek beyaz kart, dört sütun, ince ayraçlar ────────────────────────────────────────────────────────── */
body.dc-b2c .dc-nedenbiz__kart {
    display: grid;
    /* Ot.213 (#289): sütun sayısı GÖRÜNEN kutu sayısı (acente kutu gizleyebilir) — görünüm --dc-nedenbiz-sutun verir, yoksa 4. */
    grid-template-columns: repeat(var(--dc-nedenbiz-sutun, 4), minmax(0, 1fr));
    padding: 28px 8px;
    background: var(--dc-kart);
    border: 1px solid var(--dc-cizgi);
    border-radius: var(--dc-yaricap-kart);
    box-shadow: var(--dc-golge-kart);
}
body.dc-b2c .dc-nedenbiz__oge { padding: 4px 22px; text-align: center; }
body.dc-b2c .dc-nedenbiz__oge + .dc-nedenbiz__oge { border-left: 1px solid var(--dc-cizgi); }
body.dc-b2c .dc-nedenbiz__ikon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 14px;
    border-radius: 50%;
    background: var(--dc-bant);
    color: #fff;
    font-size: 24px;
}
body.dc-b2c .dc-nedenbiz__baslik { margin-bottom: 6px; font-size: 16px; font-weight: 700; color: var(--dc-yazi); }
body.dc-b2c .dc-nedenbiz__metin { margin: 0; font-size: 14px; line-height: 1.5; color: var(--dc-yazi-ikincil); }
@media (max-width: 991.98px) {
    body.dc-b2c .dc-nedenbiz__kart { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 24px; }
    body.dc-b2c .dc-nedenbiz__kart[data-adet="1"] { grid-template-columns: minmax(0, 1fr); }
    body.dc-b2c .dc-nedenbiz__oge:nth-child(odd) { border-left: 0; }
    body.dc-b2c .dc-nedenbiz__oge:nth-child(n+3) { padding-top: 24px; border-top: 1px solid var(--dc-cizgi); }
}
@media (max-width: 575.98px) {
    body.dc-b2c .dc-nedenbiz__kart { grid-template-columns: minmax(0, 1fr); padding: 8px 4px; row-gap: 0; }
    body.dc-b2c .dc-nedenbiz__oge { border-left: 0 !important; padding: 20px 16px; }
    body.dc-b2c .dc-nedenbiz__oge + .dc-nedenbiz__oge { border-top: 1px solid var(--dc-cizgi); }
}

/* =====================================================================================================================
   OTEL ARAMA SONUÇLARI — #240 Aşama 4 (Ot.196/17, 12.10.2026). Görseller: `Otel Arama Sonucları.png` + `Otel Sol Filtre.png`.
   ⭐ Kapsam `.dc-otel-sonuc` (Hotels/Index) ve kartlar/filtre parçası; uçuş filtresi (aynı `.filter-sidebar` iskeleti)
      Aşama 9'da (Ot.197) aynı kurallara katıldı — panel seçicileri `:is(.dc-otel-filtre, .dc-ucus-filtre)`.
   ⭐ KULLANICI KARARI (12.10): kart GECELİK fiyat basar, altında küçük konaklama toplamı. Puan yazısı geri (7+ İyi …).
   ⭐ Sol filtre masaüstünde YAPIŞIK, uzunsa kendi içinde kayar (tasarım görselindeki tekrar eden panel = yapışıklık izi).
      Üst pay `--dc-filtre-ust` betikle ölçülür (`wwwroot/js/sonuc-filtre.js`, uçuşla ortak): yapışan arama çubuğunun boyu değişiyor.
   ===================================================================================================================== */

/* Sayfa zemini tasarımdaki açık gri, kartlar beyaz (Aşama 1'de bilerek ertelenmişti — bu sayfada soluk yazı zemine düşmüyor:
   gri üstündeki tek yazı telefondaki sonuç sayacı, rengi --dc-yazi-ikincil ≥ 4,5). */
body.dc-b2c main:has(.dc-otel-sonuc),
body.dc-b2c main:has(.dc-ucus-sonuc) { background: var(--dc-zemin); }
body.dc-b2c .dc-otel-sonuc { padding-bottom: 48px; }

/* ── Filtre paneli ──────────────────────────────────────────────────────────────────────────────────────────────────── */
body.dc-b2c :is(.dc-otel-filtre, .dc-ucus-filtre) {
    border: 1px solid var(--dc-cizgi);
    border-radius: var(--dc-yaricap-kart);
    box-shadow: var(--dc-golge-kart);
    background: var(--dc-kart);
}
body.dc-b2c :is(.dc-otel-filtre, .dc-ucus-filtre) > .card-header { padding: 18px 18px 14px; background: var(--dc-kart); }
body.dc-b2c :is(.dc-otel-filtre, .dc-ucus-filtre) > .card-header h5 { font-size: 17px; font-weight: 700; color: var(--dc-yazi); }
body.dc-b2c :is(.dc-otel-filtre, .dc-ucus-filtre) > .card-header h5::before { content: none; }   /* tasarımda başlık simgesiz */
/* #260 (Ot.202): telefonda süzgeç ÇEKMECEDE açılır ve çekmecenin kendi başlığı ("Filtre" + kapatma) var — kartın aynı başlığı
   ikinci kez yazmasın (çekmece başlığı üst bandın altında kaldığı için eskiden görünmüyordu). Sayaç + "Sıfırla" kalır. */
@media (max-width: 991.98px) {
    body.dc-b2c .dc-filter-offcanvas :is(.dc-otel-filtre, .dc-ucus-filtre) > .card-header h5 { display: none; }
}
body.dc-b2c :is(.dc-otel-filtre, .dc-ucus-filtre) > .card-header a { color: var(--dc-yazi); font-weight: 500; }
body.dc-b2c :is(.dc-otel-filtre, .dc-ucus-filtre) .dc-filtre-sayac {
    margin-top: 2px;
    padding: 0;
    border: 0;
    background: none;
    font-size: 13px;
    color: var(--dc-yazi-ikincil);
}
body.dc-b2c :is(.dc-otel-filtre, .dc-ucus-filtre) .accordion-list > .accordion-item { padding: 16px 18px !important; border-bottom-color: var(--dc-cizgi); }
body.dc-b2c :is(.dc-otel-filtre, .dc-ucus-filtre) .accordion-list > .accordion-item > h6 { font-size: 15px; font-weight: 700; color: var(--dc-yazi); margin-bottom: 12px; }
body.dc-b2c :is(.dc-otel-filtre, .dc-ucus-filtre) .form-check .form-check-input:checked { background-color: var(--dc-bant); border-color: var(--dc-bant); }
body.dc-b2c :is(.dc-otel-filtre, .dc-ucus-filtre) .form-check .form-check-label { color: var(--dc-yazi); }
body.dc-b2c :is(.dc-otel-filtre, .dc-ucus-filtre) .form-check-label .fa-star { color: var(--dc-yildiz) !important; }

/* Masaüstünde yapışık + kendi içinde kayan panel. Yapışan öğe KOLONUN doğrudan çocuğu olmalı (kolon satır boyunca uzar);
   kartın kendisi yapışsaydı ebeveyni kadar yer bulur, hiç hareket etmezdi. */
@media (min-width: 992px) {
    body.dc-b2c :is(.dc-otel-sonuc, .dc-ucus-sonuc) .dc-filter-offcanvas {
        position: sticky;
        top: var(--dc-filtre-ust, 96px);
        max-height: calc(100vh - var(--dc-filtre-ust, 96px) - 16px);
        overflow-y: auto;
        overscroll-behavior: contain;
        border-radius: var(--dc-yaricap-kart);
        scrollbar-width: thin;
        scrollbar-color: #c4c9d2 transparent;
    }
}

/* ── Fiyat: Min/Max kutuları ── */
body.dc-b2c .dc-fiyat-kutular { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
body.dc-b2c .dc-fiyat-kutu { display: flex; flex-direction: column; gap: 4px; margin: 0; min-width: 0; }
body.dc-b2c .dc-fiyat-kutu__ad { font-size: 12px; font-weight: 600; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-fiyat-kutu__alan {
    display: flex;
    align-items: center;
    gap: 4px;
    height: 40px;
    padding: 0 10px;
    border: 1px solid var(--dc-cizgi);
    border-radius: var(--dc-yaricap-alan);
    background: var(--dc-kart);
}
body.dc-b2c .dc-fiyat-kutu__alan:focus-within { border-color: var(--dc-bant); box-shadow: 0 0 0 3px rgba(var(--dc-bant-rgb), .15); }
body.dc-b2c .dc-fiyat-kutu__birim,
body.dc-b2c .dc-fiyat-kutu__arti { font-size: 14px; font-weight: 700; color: var(--dc-yazi); flex: 0 0 auto; }
/* "+" yalnız kutu BOŞKEN (üst uç açık ve kullanıcı üst sınır koymamış) — yazılınca anlamı kalmaz. */
body.dc-b2c .dc-fiyat-kutu__arti { display: none; }
body.dc-b2c .dc-fiyat-kutu--acik input:placeholder-shown + .dc-fiyat-kutu__arti { display: inline; }
body.dc-b2c .dc-fiyat-kutu input {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    font-size: 14px;
    font-weight: 700;
    color: var(--dc-yazi);
    -moz-appearance: textfield;
    appearance: textfield;
}
body.dc-b2c .dc-fiyat-kutu input::placeholder { color: var(--dc-yazi); opacity: 1; }
body.dc-b2c .dc-fiyat-kutu input::-webkit-outer-spin-button,
body.dc-b2c .dc-fiyat-kutu input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* ── Fiyat: çubuk grafik (aramanın tamamı, sunucudan) ── */
body.dc-b2c .dc-fiyat-grafik {
    display: flex;
    align-items: flex-end;
    gap: 2px;
    height: 52px;
    margin: 16px 8px 0;
}
body.dc-b2c .dc-fiyat-grafik__cubuk {
    flex: 1 1 0;
    min-width: 0;
    height: max(3px, var(--oran));
    border-radius: 2px 2px 0 0;
    background: var(--dc-bant);
    transition: background-color .15s;
}
body.dc-b2c .dc-fiyat-grafik__cubuk--bos { height: 2px; }
body.dc-b2c .dc-fiyat-grafik__cubuk--disinda { background: #d5d9e0; }

/* ── Fiyat: iki uçlu kaydırıcı (iki üst üste `range`; yalnız tutamaçlar tıklanır) ── */
body.dc-b2c .dc-fiyat-kaydirici { position: relative; height: 24px; margin: 4px 8px 0; }
body.dc-b2c .dc-fiyat-kaydirici__ray {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 4px;
    margin-top: -2px;
    border-radius: 2px;
    background: #d5d9e0;
}
body.dc-b2c .dc-fiyat-kaydirici__dolu { position: absolute; top: 0; bottom: 0; border-radius: 2px; background: var(--dc-bant); }
body.dc-b2c .dc-fiyat-kaydirici input[type=range] {
    position: absolute;
    inset: 0;
    z-index: 3;
    width: 100%;
    height: 24px;
    margin: 0;
    background: none;
    pointer-events: none;
    -webkit-appearance: none;
    appearance: none;
}
body.dc-b2c .dc-fiyat-kaydirici input[type=range]::-webkit-slider-runnable-track { background: none; border: 0; }
body.dc-b2c .dc-fiyat-kaydirici input[type=range]::-moz-range-track { background: none; border: 0; }
body.dc-b2c .dc-fiyat-kaydirici input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border: 3px solid var(--dc-kart);
    border-radius: 50%;
    background: var(--dc-bant);
    box-shadow: 0 0 0 1px var(--dc-bant), 0 1px 3px rgba(16, 24, 40, .25);
    cursor: pointer;
    pointer-events: auto;
}
body.dc-b2c .dc-fiyat-kaydirici input[type=range]::-moz-range-thumb {
    width: 12px;
    height: 12px;
    border: 3px solid var(--dc-kart);
    border-radius: 50%;
    background: var(--dc-bant);
    box-shadow: 0 0 0 1px var(--dc-bant), 0 1px 3px rgba(16, 24, 40, .25);
    cursor: pointer;
    pointer-events: auto;
}
body.dc-b2c .dc-fiyat-kaydirici input[type=range]:focus-visible { outline: none; }
body.dc-b2c .dc-fiyat-kaydirici input[type=range]:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 1px var(--dc-bant), 0 0 0 5px rgba(var(--dc-bant-rgb), .25); }
body.dc-b2c .dc-fiyat-kaydirici input[type=range]:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 1px var(--dc-bant), 0 0 0 5px rgba(var(--dc-bant-rgb), .25); }

/* ── Sıralama sekme çubuğu ──────────────────────────────────────────────────────────────────────────────────────────── */
body.dc-b2c .dc-otel-sonuc__sayac { margin: 0 0 10px; font-size: 14px; font-weight: 600; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-siralama {
    display: flex;
    gap: 4px;
    margin-bottom: 16px;
    padding: 5px;
    border: 1px solid var(--dc-cizgi);
    border-radius: var(--dc-yaricap-kart);
    background: var(--dc-kart);
    box-shadow: var(--dc-golge-kart);
    overflow-x: auto;
    scrollbar-width: none;
}
body.dc-b2c .dc-siralama::-webkit-scrollbar { display: none; }
body.dc-b2c .dc-siralama__sekme {
    flex: 1 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 40px;
    padding: 8px 14px;
    border: 0;
    border-radius: var(--dc-yaricap-dugme);
    background: none;
    color: var(--dc-yazi);
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
}
body.dc-b2c .dc-siralama__sekme i { font-size: 17px; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-siralama__sekme:hover { background: var(--dc-zemin); }
body.dc-b2c .dc-siralama__sekme[aria-pressed="true"] { background: var(--dc-bant); color: #fff; }
body.dc-b2c .dc-siralama__sekme[aria-pressed="true"] i { color: #fff; }
body.dc-b2c .dc-siralama__sekme:focus-visible { outline: 2px solid var(--dc-bant); outline-offset: 2px; }

/* ── Otel kartı ─────────────────────────────────────────────────────────────────────────────────────────────────────── */
/* Kartın düzeni KENDİ genişliğine göre (kap sorgusu): aynı kart 1440'ta liste kolonunda, 768'de tam genişlikte, telefonda
   dar — ekran genişliği kartın gerçek yerini söylemez. */
body.dc-b2c #hotel-grid > .col-12 { container: dc-otel-kart / inline-size; }
body.dc-b2c .dc-otel-kart {
    display: grid;
    grid-template-columns: 290px minmax(0, 1fr);
    min-height: 236px;
    margin-bottom: 16px;
    overflow: hidden;
    border: 1px solid var(--dc-cizgi);
    border-radius: var(--dc-yaricap-kart);
    background: var(--dc-kart);
    box-shadow: var(--dc-golge-kart);
}
body.dc-b2c .dc-otel-kart__gorsel { display: block; position: relative; min-height: 100%; background: var(--dc-zemin); }
body.dc-b2c .dc-otel-kart__gorsel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
body.dc-b2c .dc-otel-kart__govde {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    padding: 18px 20px;
}
body.dc-b2c .dc-otel-kart__bilgi { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
body.dc-b2c .dc-otel-kart__ad {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
    color: var(--dc-yazi);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
body.dc-b2c .dc-otel-kart__ad a { color: inherit; text-decoration: none; }
body.dc-b2c .dc-otel-kart__ad a:hover { color: var(--dc-bant); text-decoration: underline; }
body.dc-b2c .dc-otel-kart__yildiz { display: inline-flex; gap: 2px; margin-left: 6px; vertical-align: 2px; color: var(--dc-yildiz); font-size: 11px; }
body.dc-b2c .dc-otel-kart__konum {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 0;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--dc-cizgi);
    font-size: 13px;
    color: var(--dc-yazi-ikincil);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
body.dc-b2c .dc-otel-kart__olanaklar { display: flex; flex-wrap: wrap; gap: 12px; margin: 4px 0 0; padding: 0; list-style: none; }
body.dc-b2c .dc-otel-kart__olanaklar li { display: inline-flex; align-items: center; font-size: 19px; line-height: 1; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-otel-kart__olanaklar .dc-otel-kart__olanak-fazla { font-size: 12px; font-weight: 700; }
body.dc-b2c .dc-otel-kart__rozetler { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
body.dc-b2c .dc-otel-rozet {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    border-radius: 999px;
    background: var(--dc-zemin);
    color: var(--dc-yazi);
    font-size: 12px;
    font-weight: 600;
}
body.dc-b2c .dc-otel-rozet--iptal { background: var(--dc-basari-zemin); color: var(--dc-basari); }
body.dc-b2c .dc-otel-kart__yan {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    min-width: 170px;
    text-align: right;
}
body.dc-b2c .dc-otel-kart__puan { display: flex; align-items: center; gap: 10px; }
body.dc-b2c .dc-otel-kart__puan-metin { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.25; }
body.dc-b2c .dc-otel-kart__puan-metin strong { font-size: 14px; color: var(--dc-yazi); }
body.dc-b2c .dc-otel-kart__puan-metin span { font-size: 12px; font-weight: 600; color: var(--dc-uyari); }
/* Puan dairesi — liste kartı ve ana sayfa vitrini ORTAK (10'luk ölçek, tek gövde OtelPuanKurali). */
body.dc-b2c .dc-puan-daire {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--dc-bant);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0 0 0 2px var(--dc-kart), 0 0 0 3px var(--dc-bant);
}
body.dc-b2c .dc-otel-kart__fiyat { display: flex; flex-direction: column; align-items: flex-end; margin-top: auto; line-height: 1.25; }
body.dc-b2c .dc-otel-kart__fiyat-etiket { font-size: 12px; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-otel-kart__fiyat-tutar { font-size: 18px; font-weight: 800; color: var(--dc-yazi); white-space: nowrap; }
body.dc-b2c .dc-otel-kart__fiyat-toplam { font-size: 12px; color: var(--dc-yazi-ikincil); white-space: nowrap; }
body.dc-b2c .dc-otel-kart__dugme {
    padding: 9px 18px;
    border: 0;
    background: var(--dc-bant);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
}
body.dc-b2c .dc-otel-kart__dugme:hover,
body.dc-b2c .dc-otel-kart__dugme:focus-visible { background: var(--dc-bant); color: #fff; filter: brightness(1.15); }

/* Orta genişlik (ör. 992–1199'daki liste kolonu): görsel daralır. */
@container dc-otel-kart (max-width: 699px) {
    body.dc-b2c .dc-otel-kart { grid-template-columns: 210px minmax(0, 1fr); }
    body.dc-b2c .dc-otel-kart__govde { padding: 16px; gap: 12px; }
    body.dc-b2c .dc-otel-kart__yan { min-width: 140px; }
}
/* Dar (telefon): görsel üstte, altında bilgi; sağ sütun puan + fiyat satırına, düğme tam genişliğe iner. */
@container dc-otel-kart (max-width: 539px) {
    body.dc-b2c .dc-otel-kart { grid-template-columns: minmax(0, 1fr); min-height: 0; }
    body.dc-b2c .dc-otel-kart__gorsel { height: 190px; min-height: 0; }
    body.dc-b2c .dc-otel-kart__govde { grid-template-columns: minmax(0, 1fr); padding: 14px 16px 16px; }
    body.dc-b2c .dc-otel-kart__ad { -webkit-line-clamp: 1; }
    body.dc-b2c .dc-otel-kart__yan {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
        min-width: 0;
        text-align: left;
    }
    body.dc-b2c .dc-otel-kart__puan { justify-self: start; flex-direction: row-reverse; }
    body.dc-b2c .dc-otel-kart__puan-metin { align-items: flex-start; }
    body.dc-b2c .dc-otel-kart__fiyat { grid-column: 2; grid-row: 1; margin-top: 0; }
    body.dc-b2c .dc-otel-kart__dugme { grid-column: 1 / -1; width: 100%; }
}

/* =====================================================================================================================
   OTEL DETAY SAYFASI — #240 Aşama 5 (Ot.196/18, 13.10.2026). Görseller: `Otel Detay Sayfası.png` +
   `Otel Detay Oda Kartları ve Politikalar açık hali.png`. Görünüm `Views/Hotels/DetailProvider.cshtml` (+ `_Otel*` parçaları).
   ⭐ Eski satır içi `<style>` bloğu buraya taşındı (yalnız müşteri sitesi yükler). Seçici sınıflar (`.dc-oda-kart`, `.dc-secenek`,
      `.dc-tab-nav`, `#sec-*`…) korundu — betik ve kapılar onları okuyor.
   ⭐ KULLANICI KARARI (13.10): SAĞ SÜTUN YOK — tam genişlik; özet kartının bilgileri politikalara / arama kutusuna taşındı.
   ===================================================================================================================== */
body.dc-b2c main:has(.dc-otel-detay) { background: var(--dc-zemin); }
/* Alt dolgu = bandın kutunun altına taşan kısmı: bant içeriğin ÜSTÜNE boyanır; dolgusuz başlık satırı bandın altına giriyordu
   (ölçüldü 13.10, 1440: bant 234'te bitiyor, başlık 230'da, "Oda Seç"in üst kenarı bantta; telefonda başlık bandın 10 px dibinde). */
/* 🔴 Katman: sarmalayıcı bant için YALITILMIŞ (`isolation`, search-widget.css) → içindeki telefon/tablet ALT ÇUBUĞU (fixed, z 1058) bu
   katmana hapsolur. Sonuç sayfalarında içerik sarmalayıcının İÇİNDE olduğu için sorun yok; detayda içerik DIŞINDA ve sonra geldiği için
   konumlu her öğe (oda fotoğrafı, puan dairesi, harita katmanları 400–1000) çubuğun ÜSTÜNE çiziliyordu (ölçüldü 13.10: 768'de 16 kaydırma
   adımının 6'sında). Sarmalayıcı içeriğin üstüne alınır (üst bant 999, pencereler 1055 hâlâ üstte); haritaların iç katmanları kendi
   kutusuna hapsedilir — yoksa 400–1000 aralığı sarmalayıcıyı da üst bandı da aşar. */
body.dc-b2c .dc-detay-motor { padding-top: 8px; padding-bottom: var(--dc-sw-bant-tasma, 32px); z-index: 10; }
/* Telefon "Düzenle" çekmecesi açıkken üst bandın üstüne (search-widget.css'teki çekmece kuralının detay karşılığı; bu dosya sonra
   yüklendiği ve üstteki kural aynı özgüllükte olduğu için burada ayrıca). */
body.dc-b2c.dc-sw-drawer-active .dc-detay-motor { z-index: 1100; }
body.dc-b2c .dc-otel-detay .leaflet-container { isolation: isolate; }
body.dc-b2c .dc-otel-detay { padding: 8px 0 56px; overflow-x: clip; }

/* ── Başlık ──────────────────────────────────────────────────────────────────────────────────────────────────────── */
body.dc-b2c .dc-otel-basligi { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 18px 0 14px; }
body.dc-b2c .dc-otel-basligi__sol { min-width: 0; }
body.dc-b2c .dc-otel-ad-satir { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; }
body.dc-b2c .dc-otel-ad { margin: 0; font-size: 24px; font-weight: 800; line-height: 1.25; color: var(--dc-yazi); }
body.dc-b2c .dc-otel-yildiz { display: inline-flex; gap: 2px; color: var(--dc-yildiz); font-size: 13px; }
body.dc-b2c .dc-otel-araclar { display: inline-flex; align-items: center; gap: 4px; position: relative; }
body.dc-b2c .dc-otel-arac {
    display: inline-flex; align-items: center; justify-content: center;
    width: 34px; height: 34px; padding: 0; border: 0; border-radius: 8px;
    background: transparent; color: var(--dc-yazi); font-size: 18px; cursor: pointer;
}
body.dc-b2c .dc-otel-arac:hover { background: var(--dc-kart); }
body.dc-b2c .dc-otel-arac:focus-visible { outline: 2px solid var(--dc-bant); outline-offset: 2px; }
body.dc-b2c .dc-otel-arac-bildirim { font-size: 12px; font-weight: 600; color: var(--dc-basari); white-space: nowrap; }
body.dc-b2c .dc-otel-marka { margin-top: 2px; font-size: 13px; font-weight: 600; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-otel-konum { margin-top: 4px; font-size: 13px; color: var(--dc-yazi-ikincil); overflow-wrap: anywhere; }
body.dc-b2c .dc-otel-harita-link { display: inline-flex; align-items: center; gap: 3px; font-weight: 700; color: var(--dc-bant); text-decoration: none; white-space: nowrap; }
body.dc-b2c .dc-otel-harita-link:hover { text-decoration: underline; }
body.dc-b2c .dc-otel-oda-sec {
    flex: 0 0 auto; padding: 10px 22px; border: 0; background: var(--dc-bant); color: #fff; font-size: 14px; font-weight: 700;
}
body.dc-b2c .dc-otel-oda-sec:hover, body.dc-b2c .dc-otel-oda-sec:focus-visible { background: var(--dc-bant); color: #fff; filter: brightness(1.15); }

/* ── Galeri: 1 büyük + 4 küçük ───────────────────────────────────────────────────────────────────────────────────── */
body.dc-b2c .dc-hero-gallery {
    display: grid; grid-template-columns: minmax(0, 57fr) minmax(0, 43fr); gap: 10px;
    height: 420px; margin-bottom: 22px;
}
body.dc-b2c .dc-hero-gallery--tek { grid-template-columns: minmax(0, 1fr); }
body.dc-b2c .dc-hero-main, body.dc-b2c .dc-hero-thumb {
    display: block; position: relative; overflow: hidden; border-radius: var(--dc-yaricap-kart); background: #dde1e7; text-decoration: none;
}
body.dc-b2c .dc-hero-main img, body.dc-b2c .dc-hero-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
body.dc-b2c .dc-hero-main:hover img, body.dc-b2c .dc-hero-thumb:hover img { transform: scale(1.03); }
body.dc-b2c .dc-hero-kucukler { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 10px; min-height: 0; }
body.dc-b2c .dc-galeri-puan { position: absolute; top: 14px; right: 14px; z-index: 2; }
body.dc-b2c .dc-hero-more-badge {
    position: absolute; right: 10px; bottom: 10px; z-index: 2; display: inline-flex; align-items: center; gap: 4px;
    padding: 4px 10px; border-radius: 999px; background: rgba(16, 24, 40, .78); color: #fff; font-size: 12px; font-weight: 700;
}

/* ── Sekme çubuğu (simgesiz, alt çizgili) ────────────────────────────────────────────────────────────────────────── */
body.dc-b2c .dc-tab-nav {
    display: flex; gap: 4px; margin-bottom: 20px; border-bottom: 1px solid var(--dc-cizgi);
    overflow-x: auto; scrollbar-width: none;
}
body.dc-b2c .dc-tab-nav::-webkit-scrollbar { display: none; }
body.dc-b2c .dc-tab-link {
    padding: 10px 12px; margin-bottom: -1px; border-bottom: 2px solid transparent;
    font-size: 14px; font-weight: 600; color: var(--dc-yazi-ikincil); text-decoration: none; white-space: nowrap;
}
body.dc-b2c .dc-tab-link:hover { color: var(--dc-yazi); }
body.dc-b2c .dc-tab-link.active { color: var(--dc-yazi); border-bottom-color: var(--dc-bant); }

/* ── Bölümler ────────────────────────────────────────────────────────────────────────────────────────────────────── */
body.dc-b2c .dc-otel-detay .dc-section { margin-bottom: 22px; scroll-margin-top: 170px; }
body.dc-b2c .dc-detay-kart {
    padding: 22px 24px; border: 1px solid var(--dc-cizgi); border-radius: var(--dc-yaricap-kart);
    background: var(--dc-kart); box-shadow: var(--dc-golge-kart);
}
body.dc-b2c .dc-otel-detay .dc-section-title {
    margin: 0 0 16px; padding: 0 0 12px; border-bottom: 1px solid var(--dc-cizgi);
    font-size: 18px; font-weight: 800; color: var(--dc-yazi);
}
body.dc-b2c .dc-detay-bolum > .dc-section-title,
body.dc-b2c .dc-detay-bolum .dc-bolum-ust .dc-section-title { border-bottom: 0; padding-bottom: 0; }
body.dc-b2c .dc-bolum-ust { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 16px; margin-bottom: 14px; }
body.dc-b2c .dc-bolum-ust .dc-section-title { margin: 0; }
body.dc-b2c .dc-guvenli-odeme { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; font-weight: 600; color: var(--dc-basari); }

/* Genel Bilgiler: öne çıkan olanaklar + açıklama | küçük harita */
body.dc-b2c .dc-genel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 300px); gap: 24px; padding: 20px 22px; }
body.dc-b2c .dc-genel:not(:has(.dc-genel__harita:not([hidden]))) { grid-template-columns: minmax(0, 1fr); }
body.dc-b2c .dc-genel__baslik { margin: 0 0 12px; font-size: 15px; font-weight: 800; color: var(--dc-yazi); }
body.dc-b2c .dc-genel__olanak-izgara { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0 0 12px; padding: 0; list-style: none; }
body.dc-b2c .dc-genel__olanak-izgara li {
    display: flex; align-items: center; gap: 8px; min-width: 0; padding: 8px 12px;
    border: 1px solid var(--dc-cizgi); border-radius: var(--dc-yaricap-alan); font-size: 13px; color: var(--dc-yazi);
}
body.dc-b2c .dc-genel__olanak-izgara i { flex: 0 0 auto; font-size: 16px; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-genel__tumu { font-size: 13px; font-weight: 700; color: var(--dc-bant); text-decoration: none; }
body.dc-b2c .dc-genel__tumu:hover { text-decoration: underline; }
body.dc-b2c .dc-genel__aciklama { margin-top: 14px; font-size: 14px; line-height: 1.7; color: var(--dc-yazi-ikincil); max-height: 300px; overflow-y: auto; }
body.dc-b2c .dc-genel__harita { display: block; min-height: 200px; border-radius: var(--dc-yaricap-alan); overflow: hidden; background: #e7eaef; }
body.dc-b2c .dc-genel__harita[hidden] { display: none; }
body.dc-b2c .dc-genel__harita-alan { width: 100%; height: 100%; min-height: 200px; pointer-events: none; }

/* Lokasyon */
body.dc-b2c .dc-lokasyon-harita { height: 380px; border-radius: var(--dc-yaricap-kart); overflow: hidden; border: 1px solid var(--dc-cizgi); }

/* Olanaklar — kategorili üç sütun */
body.dc-b2c .dc-olanak-kategoriler { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px 28px; }
body.dc-b2c .dc-olanak-kategori__ad { margin: 0 0 10px; font-size: 14px; font-weight: 800; color: var(--dc-yazi); }
body.dc-b2c .dc-olanak-kategori__liste { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
body.dc-b2c .dc-olanak-kategori__liste .dc-amenity-item { display: flex; align-items: center; gap: 8px; padding: 0; background: none; font-size: 13px; color: var(--dc-yazi); }
body.dc-b2c .dc-olanak-kategori__liste .dc-amenity-item i { flex: 0 0 auto; font-size: 15px; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-olanak-fazla { display: none !important; }
body.dc-b2c .dc-olanaklar-acik .dc-olanak-fazla { display: flex !important; }
body.dc-b2c .dc-olanak-tumu {
    margin-top: 16px; padding: 7px 14px; border: 1px solid var(--dc-cizgi); border-radius: var(--dc-yaricap-dugme);
    background: var(--dc-kart); font-size: 13px; font-weight: 700; color: var(--dc-yazi); cursor: pointer;
}

/* Misafir yorumları — genel puan */
body.dc-b2c .dc-yorum-ozet { display: flex; align-items: center; gap: 14px; }
body.dc-b2c .dc-puan-daire--buyuk { width: 64px; height: 64px; font-size: 20px; box-shadow: 0 0 0 3px var(--dc-kart), 0 0 0 4px var(--dc-bant); }
body.dc-b2c .dc-yorum-ozet__metin { display: flex; flex-direction: column; line-height: 1.3; }
body.dc-b2c .dc-yorum-ozet__metin strong { font-size: 16px; color: var(--dc-yazi); }
body.dc-b2c .dc-yorum-ozet__metin span { font-size: 13px; color: var(--dc-yazi-ikincil); }
/* #257 (Ot.202): misafir ALT puanları — yalnız sağlayıcı bildirdiyse; telefonda tek, geniş ekranda iki sütun. */
body.dc-b2c .dc-alt-puanlar { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px 28px; }
@media (min-width: 768px) { body.dc-b2c .dc-alt-puanlar { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
body.dc-b2c .dc-alt-puan { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px 12px; }
body.dc-b2c .dc-alt-puan__ad { font-size: 14px; color: var(--dc-yazi); overflow-wrap: anywhere; }
body.dc-b2c .dc-alt-puan__deger { grid-column: 2; grid-row: 1; font-size: 14px; font-weight: 700; color: var(--dc-yazi); font-variant-numeric: tabular-nums; }
body.dc-b2c .dc-alt-puan__cubuk { grid-column: 1 / -1; height: 6px; border-radius: 999px; background: var(--dc-cizgi); overflow: hidden; }
body.dc-b2c .dc-alt-puan__cubuk > span { display: block; height: 100%; border-radius: inherit; background: var(--dc-bant); }

/* Konaklama politikaları */
body.dc-b2c .dc-politika { display: grid; gap: 16px; }
body.dc-b2c .dc-politika__ad { margin: 0 0 4px; font-size: 14px; font-weight: 800; color: var(--dc-yazi); }
body.dc-b2c .dc-politika__deger, body.dc-b2c .dc-politika__saat { margin: 0; font-size: 14px; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-politika__saat:empty { display: none; }
/* #223 — sağlayıcının giriş talimatları (güvenli biçim HTML'i: p · ul/ol/li · b/i). Uzun metin kartı taşırmasın. */
body.dc-b2c .dc-talimatlar { display: grid; gap: 8px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--dc-cizgi); }
body.dc-b2c .dc-talimat-metni { font-size: 14px; line-height: 1.55; color: var(--dc-yazi-ikincil); overflow-wrap: anywhere; }
body.dc-b2c .dc-talimat-metni p { margin: 0 0 6px; }
body.dc-b2c .dc-talimat-metni ul, body.dc-b2c .dc-talimat-metni ol { margin: 0 0 6px; padding-left: 20px; list-style: disc outside; }
body.dc-b2c .dc-talimat-metni ol { list-style-type: decimal; }
body.dc-b2c .dc-talimat-metni li { margin-bottom: 4px; }
body.dc-b2c .dc-talimat-metni > :last-child { margin-bottom: 0; }
body.dc-b2c .dc-talimat-notu { margin: 0; font-size: 13px; font-style: italic; color: var(--dc-yazi-ikincil); }

/* ── ODA KARTLARI (iki sütun; betik çizer) ───────────────────────────────────────────────────────────────────────── */
body.dc-b2c .dc-oda-kartlar { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
body.dc-b2c .dc-oda-kart {
    display: flex; flex-direction: column; gap: 12px; padding: 16px;
    border: 1px solid var(--dc-cizgi); border-radius: var(--dc-yaricap-kart); background: var(--dc-kart); box-shadow: var(--dc-golge-kart);
}
/* "En ucuz" vurgusu notr (marka rengi kiracıya göre anlam değiştirir) — ince yeşil çerçeve. */
body.dc-b2c .dc-oda-kart-iyi { border-color: #9ad7ae; }
body.dc-b2c .dc-oda-kart-ust { display: flex; gap: 14px; min-width: 0; }
body.dc-b2c .dc-oda-kart-medya { position: relative; flex: 0 0 150px; height: 120px; border-radius: var(--dc-yaricap-alan); overflow: hidden; background: #e7eaef; }
body.dc-b2c .dc-oda-kart-medya .dc-oda-foto { display: block; width: 100%; height: 100%; }
body.dc-b2c .dc-oda-kart-medya img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.dc-b2c .dc-oda-foto-sayac {
    position: absolute; right: 6px; bottom: 6px; display: inline-flex; align-items: center; gap: 3px;
    padding: 2px 8px; border-radius: 999px; background: rgba(16, 24, 40, .78); color: #fff; font-size: 11px; font-weight: 700; pointer-events: none;
}
body.dc-b2c .dc-oda-foto:focus-visible { outline: 2px solid var(--dc-bant); outline-offset: 2px; }
body.dc-b2c .dc-oda-kart-govde { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
body.dc-b2c .dc-oda-ad { margin: 0 0 2px; font-size: 15px; font-weight: 800; line-height: 1.3; color: var(--dc-yazi); }
body.dc-b2c .dc-oda-olcu { margin: 0; font-size: 12px; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-oda-ozellik-ozet { margin: 0; padding: 0; list-style: none; font-size: 12px; line-height: 1.6; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-oda-tum-ozellik {
    align-self: flex-start; display: inline-flex; align-items: center; gap: 2px; margin-top: 2px; padding: 0; border: 0; background: none;
    font-size: 12px; font-weight: 800; color: var(--dc-yazi); cursor: pointer;
}
body.dc-b2c .dc-oda-tum-ozellik:hover { text-decoration: underline; }

/* Seçenekler — her satır GERÇEK bir rate. Grid: etiketler ile fiyat aynı satıra bağlı (Ot.105 dersi). */
body.dc-b2c .dc-secenekler { display: grid; gap: 8px; }
body.dc-b2c .dc-secenekler--kapali .dc-secenek:not(.dc-secenek-secili) { display: none; }
body.dc-b2c .dc-secenek {
    display: grid; align-items: center; gap: 4px 10px; margin: 0; padding: 10px 12px; cursor: pointer;
    grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "radyo etiketler fiyat";
    border: 1px solid var(--dc-cizgi); border-radius: var(--dc-yaricap-alan); background: var(--dc-zemin);
}
body.dc-b2c .dc-secenek:hover { border-color: #c4c9d2; }
body.dc-b2c .dc-secenek-secili { border-color: var(--dc-bant); background: var(--dc-kart); }
body.dc-b2c .dc-secenek-radyo { grid-area: radyo; width: 18px; height: 18px; margin: 0; accent-color: var(--dc-bant); }
body.dc-b2c .dc-secenek-etiketler { grid-area: etiketler; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; min-width: 0; }
body.dc-b2c .dc-secenek-fiyat { grid-area: fiyat; display: flex; flex-direction: column; align-items: flex-end; text-align: end; line-height: 1.25; }
body.dc-b2c .dc-fiyat-gece { font-size: 15px; font-weight: 800; color: var(--dc-yazi); white-space: nowrap; }
body.dc-b2c .dc-fiyat-toplam { font-size: 11px; color: var(--dc-yazi-ikincil); white-space: nowrap; }
body.dc-b2c .dc-board-pill { font-size: 12px; font-weight: 800; color: var(--dc-yazi); }
body.dc-b2c .dc-iade-pill { font-size: 12px; font-weight: 600; }
body.dc-b2c .dc-iade-var { color: var(--dc-basari); }
body.dc-b2c .dc-iade-yok { color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-iade-tarih { flex-basis: 100%; font-size: 11px; color: var(--dc-basari); }
/* Tek seçenekte radyo gizli (seçim sunulmuyor); girdi DOM'da kalır — düğmeyi besleyen gövde tek. */
body.dc-b2c .dc-tek-secenek .dc-secenek-radyo { display: none; }
body.dc-b2c .dc-tek-secenek .dc-secenek { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "etiketler fiyat"; }
body.dc-b2c .dc-secenek-daha {
    align-self: center; display: inline-flex; align-items: center; gap: 4px; padding: 2px 6px; border: 0; background: none;
    font-size: 13px; font-weight: 700; color: var(--dc-yazi); cursor: pointer;
}
body.dc-b2c .dc-secenek-daha i { transition: transform .15s ease; }
body.dc-b2c .dc-secenek-daha[aria-expanded="true"] i { transform: rotate(180deg); }
body.dc-b2c .dc-oda-kart-alt { margin-top: auto; }
body.dc-b2c .dc-oda-kart-alt .btn {
    width: 100%; padding: 10px 16px; border: 0; background: var(--dc-bant); color: #fff; font-size: 14px; font-weight: 700;
}
body.dc-b2c .dc-oda-kart-alt .btn:hover, body.dc-b2c .dc-oda-kart-alt .btn:focus-visible { background: var(--dc-bant); color: #fff; filter: brightness(1.15); }
body.dc-b2c .dc-oda-kart-alt .btn:disabled { filter: grayscale(.4); opacity: .7; }

/* "Tüm Oda Özellikleri" penceresi (içerik kartın gizli ayrıntısından) */
body.dc-b2c .dc-oda-detay-fotolar { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 8px; margin-bottom: 14px; }
body.dc-b2c .dc-oda-detay-fotolar img { width: 100%; height: 84px; object-fit: cover; border-radius: 8px; display: block; }
body.dc-b2c #dcOdaOzellikGovde .dc-oda-olcu, body.dc-b2c #dcOdaOzellikGovde .dc-oda-yatak { margin-bottom: 10px; font-size: 14px; color: var(--dc-yazi); }
body.dc-b2c .dc-oda-olanaklar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 12px; }
body.dc-b2c .dc-oda-olanak-baslik { width: 100%; font-size: 12px; font-weight: 800; letter-spacing: .3px; text-transform: uppercase; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-oda-yatak .dc-oda-olanak-baslik { width: auto; }
body.dc-b2c .dc-olanak-liste { display: contents; list-style: none; margin: 0; padding: 0; }
body.dc-b2c .dc-olanak { padding: 3px 10px; border-radius: 999px; border: 1px solid var(--dc-cizgi); background: var(--dc-zemin); font-size: 12px; color: var(--dc-yazi); }
body.dc-b2c .dc-oda-aciklama { border-top: 1px solid var(--dc-cizgi); padding-top: 10px; }
body.dc-b2c .dc-oda-aciklama > summary { font-size: 13px; font-weight: 700; color: var(--dc-yazi); cursor: pointer; list-style: revert; }
body.dc-b2c .dc-oda-aciklama-metin { margin: 6px 0 0; font-size: 13px; line-height: 1.6; color: var(--dc-yazi-ikincil); }

/* ── Çoklu oda seçimi — #240 Aşama 6 (Ot.196/19). Görseller `Çoklu Oda Seçimi.png` + `… Sticky Bar 1.png` + `… Sticky Bar Detay .png`.
   Liste SIRADAKİ odanın sonuçlarını gösterir (oda bölümleri DOM'da, biri görünür); alt sabit çubuk bant renginde; panel çubuğun üstünde.
   ⚠️ Katman (§553): çubuk 1040 — içerik ve detay arama sarmalayıcısı (z 10) ÜSTÜNDE; açılır pencere (1050+), çerez bandı ÜSTTE.
   ⭐ KARAR (13.10): çok odalı sayfada telefon/tablette altta YALNIZ seçim çubuğu — arama özeti şeridi gizlenir. ─────────────────────── */
body.dc-b2c .dc-coklu-liste-baslik { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; margin: 0 0 14px; font-size: 15px; color: var(--dc-yazi); }
body.dc-b2c .dc-coklu-liste-baslik span { font-size: 13px; color: var(--dc-yazi-ikincil); }

/* Kart düğmesi: Ekle → Eklendi (yeşil) */
body.dc-b2c .dc-oda-kart-alt .btn.dc-eklendi,
body.dc-b2c .dc-oda-kart-alt .btn.dc-eklendi:hover,
body.dc-b2c .dc-oda-kart-alt .btn.dc-eklendi:focus-visible { background: var(--dc-basari); border-color: var(--dc-basari); color: #fff; filter: none; cursor: default; }
body.dc-b2c .dc-oda-kart-alt .btn.dc-eklendi i { margin-inline-end: 6px; }

/* Sayfa sonu ve yukarı-çık düğmesi çubuğun ÜSTÜNDE kalır (yükseklik betikle ölçülür: --dc-coklu-cubuk-h). */
body.dc-b2c.dc-coklu-oda-aktif { padding-bottom: calc(var(--dc-coklu-cubuk-h, 120px) + 32px) !important; }
body.dc-b2c.dc-coklu-oda-aktif .back-to-top-icon { bottom: calc(var(--dc-coklu-cubuk-h, 120px) + 28px) !important; }
body.dc-b2c.dc-coklu-panel-acik .back-to-top-icon { opacity: 0 !important; pointer-events: none !important; }
@media (max-width: 991.98px) {
    body.dc-b2c.dc-coklu-oda-aktif .dc-sw-container.dc-sw-compact .dc-sw-summary-bottom { display: none !important; }
}
/* Telefon "Düzenle" çekmecesi açıkken çubuk ve perde görünmez (çekmece tam ekran). */
body.dc-b2c.dc-sw-drawer-active .dc-coklu-cubuk,
body.dc-b2c.dc-sw-drawer-active .dc-coklu-perde { display: none !important; }

body.dc-b2c .dc-coklu-perde { position: fixed; inset: 0; z-index: 1039; background: rgba(10, 15, 30, .35); backdrop-filter: blur(2px); }
body.dc-b2c .dc-coklu-cubuk {
    position: fixed; z-index: 1040; left: 50%; bottom: 16px; transform: translateX(-50%);
    width: min(var(--dc-kap-genislik), calc(100% - 32px));
    display: flex; flex-direction: column; gap: 10px; color: #fff;
}
body.dc-b2c .dc-coklu-cubuk[hidden], body.dc-b2c .dc-coklu-perde[hidden], body.dc-b2c .dc-coklu-panel[hidden] { display: none; }
body.dc-b2c .dc-coklu-cubuk__govde,
body.dc-b2c .dc-coklu-panel { background: var(--dc-bant); border-radius: var(--dc-yaricap-kart); box-shadow: 0 12px 32px rgba(10, 15, 30, .28); }
body.dc-b2c .dc-coklu-cubuk__govde { padding: 14px 20px 16px; }
body.dc-b2c .dc-coklu-etiket { display: block; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: rgba(255, 255, 255, .72); }

/* Adımlar: ODA 1 ── ODA 2 ── … (seçilen ✓ dolu, sıradaki halkalı, müsaitliği yok "!") */
body.dc-b2c .dc-coklu-adimlar { display: flex; margin: 0 0 12px; padding: 0; list-style: none; }
body.dc-b2c .dc-coklu-adim { flex: 1 1 0; position: relative; display: flex; justify-content: center; min-width: 0; }
body.dc-b2c .dc-coklu-adim:not(:first-child)::before {
    content: ""; position: absolute; top: 13px; right: calc(50% + 18px); left: calc(-50% + 18px); height: 2px; background: rgba(255, 255, 255, .28);
}
body.dc-b2c .dc-coklu-adim.is-secili:not(:first-child)::before { background: rgba(255, 255, 255, .85); }
body.dc-b2c .dc-coklu-adim button { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 0; border: 0; background: none; color: #fff; cursor: pointer; }
body.dc-b2c .dc-coklu-adim__daire {
    display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, .55); font-size: 12px; font-weight: 700; color: #fff; background: transparent;
}
body.dc-b2c .dc-coklu-adim.is-secili .dc-coklu-adim__daire { background: #fff; border-color: #fff; color: var(--dc-bant); font-size: 15px; }
body.dc-b2c .dc-coklu-adim.is-sirada .dc-coklu-adim__daire { border-color: #fff; box-shadow: 0 0 0 4px rgba(255, 255, 255, .22); }
body.dc-b2c .dc-coklu-adim.is-yok .dc-coklu-adim__daire { border-style: dashed; color: #ffd27a; border-color: #ffd27a; }
body.dc-b2c .dc-coklu-adim__ad { font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
body.dc-b2c .dc-coklu-adim button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; border-radius: 8px; }

/* Alt satır: seçiminiz | toplam | Devam Et */
body.dc-b2c .dc-coklu-cubuk__alt { display: flex; align-items: center; gap: 16px 24px; border-top: 1px solid rgba(255, 255, 255, .16); padding-top: 12px; }
body.dc-b2c .dc-coklu-secim { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
body.dc-b2c .dc-coklu-secim__satir { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 14px; }
body.dc-b2c .dc-coklu-sayac { font-size: 16px; font-weight: 700; }
body.dc-b2c .dc-coklu-goruntule { display: inline-flex; align-items: center; gap: 4px; padding: 0; border: 0; background: none; color: #cfe0ff; font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
body.dc-b2c .dc-coklu-adlar, body.dc-b2c .dc-coklu-kisi { font-size: 12px; color: rgba(255, 255, 255, .8); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.dc-b2c .dc-coklu-toplam { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; text-align: end; padding-inline-start: 24px; border-inline-start: 1px solid rgba(255, 255, 255, .16); }
body.dc-b2c .dc-coklu-toplam__tutar { font-size: 20px; font-weight: 800; white-space: nowrap; }
body.dc-b2c .dc-coklu-toplam__alt { font-size: 12px; color: rgba(255, 255, 255, .8); }
body.dc-b2c .dc-coklu-devam {
    flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 22px;
    border: 0; border-radius: var(--dc-yaricap-dugme); background: #fff; color: var(--dc-bant); font-weight: 700; white-space: nowrap;
}
body.dc-b2c .dc-coklu-devam:disabled { opacity: .5; cursor: not-allowed; }
body.dc-b2c .dc-coklu-devam:not(:disabled):hover { box-shadow: 0 0 0 3px rgba(255, 255, 255, .3); }

/* Panel: SEÇİMLERİNİZ */
body.dc-b2c .dc-coklu-panel { padding: 14px 20px 6px; max-height: min(60vh, 460px); overflow-y: auto; }
body.dc-b2c .dc-coklu-panel__ust { display: flex; align-items: center; justify-content: space-between; margin-bottom: 4px; }
body.dc-b2c .dc-coklu-panel__kapat { display: inline-flex; padding: 6px; border: 0; background: none; color: #fff; font-size: 20px; cursor: pointer; }
body.dc-b2c .dc-coklu-satir { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid rgba(255, 255, 255, .14); }
body.dc-b2c .dc-coklu-satir__sol { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
body.dc-b2c .dc-coklu-satir__ad { font-size: 14px; font-weight: 700; }
body.dc-b2c .dc-coklu-satir__meta { font-size: 12px; color: rgba(255, 255, 255, .78); }
body.dc-b2c .dc-coklu-satir__sag { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
body.dc-b2c .dc-coklu-satir__tutar { font-size: 15px; font-weight: 700; white-space: nowrap; }
body.dc-b2c .dc-coklu-satir__islem { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: rgba(255, 255, 255, .6); }
body.dc-b2c .dc-coklu-satir__islem button { padding: 2px 0; border: 0; background: none; color: #cfe0ff; font-size: 12px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

/* Telefon: çubuk ekranın altına yaslanır (kenarsız), adım adları gizli, Devam Et tam genişlik. Tablet masaüstü düzenini kullanır. */
@media (max-width: 575.98px) {
    body.dc-b2c .dc-coklu-cubuk { left: 0; right: 0; bottom: 0; transform: none; width: auto; gap: 0; }
    body.dc-b2c .dc-coklu-cubuk__govde { border-radius: var(--dc-yaricap-kart) var(--dc-yaricap-kart) 0 0; padding: 10px 16px calc(12px + env(safe-area-inset-bottom)); }
    body.dc-b2c .dc-coklu-panel { border-radius: var(--dc-yaricap-kart) var(--dc-yaricap-kart) 0 0; margin-bottom: -1px; padding: 12px 16px 4px; }
    body.dc-b2c .dc-coklu-adimlar { margin-bottom: 8px; }
    body.dc-b2c .dc-coklu-adim__ad { display: none; }
    body.dc-b2c .dc-coklu-adim:not(:first-child)::before { top: 12px; }
    body.dc-b2c .dc-coklu-adim__daire { width: 26px; height: 26px; }
    body.dc-b2c .dc-coklu-cubuk__alt { flex-wrap: wrap; gap: 8px 12px; padding-top: 8px; }
    body.dc-b2c .dc-coklu-secim { flex: 1 1 0; }
    body.dc-b2c .dc-coklu-etiket { font-size: 10px; }
    body.dc-b2c .dc-coklu-secim > .dc-coklu-etiket, body.dc-b2c .dc-coklu-adlar, body.dc-b2c .dc-coklu-kisi { display: none; }
    body.dc-b2c .dc-coklu-sayac { font-size: 14px; }
    body.dc-b2c .dc-coklu-toplam { padding-inline-start: 12px; }
    body.dc-b2c .dc-coklu-toplam .dc-coklu-etiket { display: none; }
    body.dc-b2c .dc-coklu-toplam__tutar { font-size: 17px; }
    body.dc-b2c .dc-coklu-devam { flex: 1 1 100%; min-height: 42px; }
}

@media (min-width: 992px) {
    body.dc-b2c .dc-oda-kartlar { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@media (max-width: 991.98px) {
    body.dc-b2c .dc-olanak-kategoriler { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.dc-b2c .dc-hero-gallery { height: 340px; }
    /* 🔴 Altı sekme dar ekrana sığmıyor (ölçüldü: 390'da 310 px, 768'de 22 px yatay kaydırma) — #14 kullanıcı şikâyetiydi
       ("mobilde sekme şeridi kayıyor"). Sekmeler alt satıra SARAR; kaydırma yok. */
    body.dc-b2c .dc-tab-nav { flex-wrap: wrap; overflow-x: visible; gap: 0 2px; }
}
@media (max-width: 767.98px) {
    body.dc-b2c .dc-genel { grid-template-columns: minmax(0, 1fr); }
    body.dc-b2c .dc-genel__harita { min-height: 180px; }
    /* Galeri: büyük görsel üstte, dört küçük altta tek sırada. */
    body.dc-b2c .dc-hero-gallery { grid-template-columns: minmax(0, 1fr); grid-template-rows: 240px 72px; height: auto; gap: 8px; }
    body.dc-b2c .dc-hero-gallery--tek { grid-template-rows: 240px; }
    body.dc-b2c .dc-hero-kucukler { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: 72px; gap: 8px; }
    body.dc-b2c .dc-hero-main, body.dc-b2c .dc-hero-thumb { border-radius: var(--dc-yaricap-alan); }
    body.dc-b2c .dc-hero-more-badge { right: 4px; bottom: 4px; padding: 2px 6px; font-size: 11px; }
}
@media (max-width: 575.98px) {
    body.dc-b2c .dc-otel-basligi { flex-direction: column; align-items: stretch; gap: 12px; }
    body.dc-b2c .dc-otel-oda-sec { width: 100%; }
    body.dc-b2c .dc-otel-ad { font-size: 20px; }
    body.dc-b2c .dc-detay-kart { padding: 18px 16px; }
    body.dc-b2c .dc-olanak-kategoriler { grid-template-columns: minmax(0, 1fr); }
    body.dc-b2c .dc-genel__olanak-izgara { grid-template-columns: minmax(0, 1fr); }
    body.dc-b2c .dc-oda-kart-medya { flex-basis: 110px; height: 96px; }
    body.dc-b2c .dc-tab-link { padding: 10px 8px; font-size: 13px; }
    body.dc-b2c .dc-lokasyon-harita { height: 280px; }
}

/* =====================================================================================================================
   FAVORİ OTELLER — #240 Aşama 7 (Ot.196/21). Kalp: otel detay başlığında (kopyala/paylaşın yanında, tasarım). Sayfa:
   `Views/Customer/FavoriOtellerim.cshtml` (ayrı görsel yok; sonuç kartlarının dili). Dolu kalp = seçili durum → BANT rengi
   (renk rolü kararı 12.10: seçili durumlar bant). Kapı `tools/favori-otel-kapisi.js`.
   ===================================================================================================================== */
body.dc-b2c .dc-otel-favori .dc-favori-dolu { display: none; }
body.dc-b2c .dc-otel-favori[aria-pressed="true"] { color: var(--dc-bant); }
body.dc-b2c .dc-otel-favori[aria-pressed="true"] .dc-favori-bos { display: none; }
body.dc-b2c .dc-otel-favori[aria-pressed="true"] .dc-favori-dolu { display: inline-block; }
body.dc-b2c a.dc-otel-favori { text-decoration: none; }
/* Hata/sınır mesajı aynı bildirim satırında; renk başarı yeşili DEĞİL. */
body.dc-b2c .dc-otel-arac-bildirim.is-hata { color: var(--dc-tehlike); }

/* Sütun sayısı KABIN genişliğine göre (ekran genişliği panelin gerçek yerini söylemez: masaüstünde yan menünün yanında). */
body.dc-b2c .dc-favori-kap { container: dc-favori / inline-size; }
body.dc-b2c .dc-favori-izgara { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
@container dc-favori (min-width: 440px) { body.dc-b2c .dc-favori-izgara { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container dc-favori (min-width: 760px) { body.dc-b2c .dc-favori-izgara { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
body.dc-b2c .dc-favori-kart {
    display: flex; flex-direction: column; min-width: 0; overflow: hidden;
    border: 1px solid var(--dc-cizgi); border-radius: var(--dc-yaricap-kart); background: var(--dc-kart); box-shadow: var(--dc-golge-kart);
}
/* `overflow:hidden` şart: oran kutusunun en küçük yüksekliği içeriğe göredir — dikey bir otel fotoğrafı kutuyu uzatıp aynı sıradaki
   kartları hizasız bırakıyordu (ölçüldü 13.10, 1440: "Han Hotel" görseli 225 px, komşuları 195 px). */
body.dc-b2c .dc-favori-kart__gorsel { aspect-ratio: 16 / 10; overflow: hidden; background: var(--dc-zemin); }
body.dc-b2c .dc-favori-kart__gorsel img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.dc-b2c .dc-favori-kart__govde { display: flex; flex-direction: column; gap: 6px; flex: 1 1 auto; padding: 14px 16px 16px; }
body.dc-b2c .dc-favori-kart__ad { margin: 0; font-size: 16px; font-weight: 700; line-height: 1.3; color: var(--dc-yazi); overflow-wrap: anywhere; }
body.dc-b2c .dc-favori-kart__konum { display: flex; align-items: flex-start; gap: 4px; margin: 0; font-size: 13px; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-favori-kart__konum i { margin-top: 2px; }
body.dc-b2c .dc-favori-kart__uyari {
    margin: 2px 0 0; padding: 6px 10px; border-radius: var(--dc-yaricap-alan);
    background: var(--dc-uyari-zemin); color: var(--dc-uyari); font-size: 13px; font-weight: 600;
}
body.dc-b2c .dc-favori-kart__eylem { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 10px; }
body.dc-b2c .dc-favori-kart__kaldir { margin: 0 0 0 auto; }
body.dc-b2c .dc-favori-dugme {
    padding: 8px 16px; border: 0; border-radius: var(--dc-yaricap-dugme); background: var(--dc-bant); color: #fff; font-size: 14px; font-weight: 700;
}
body.dc-b2c .dc-favori-dugme:hover, body.dc-b2c .dc-favori-dugme:focus-visible { background: var(--dc-bant); color: #fff; filter: brightness(1.15); }
body.dc-b2c .dc-favori-kaldir-dugme {
    display: inline-flex; align-items: center; gap: 4px; padding: 8px 6px; border: 0; background: transparent;
    color: var(--dc-yazi-ikincil); font-size: 14px; font-weight: 600; cursor: pointer;
}
body.dc-b2c .dc-favori-kaldir-dugme:hover { color: var(--dc-tehlike); }
body.dc-b2c .dc-favori-kaldir-dugme:focus-visible { outline: 2px solid var(--dc-bant); outline-offset: 2px; border-radius: 6px; }
body.dc-b2c .dc-favori-bos { color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-favori-bos__simge { font-size: 40px; opacity: .5; }

/* =====================================================================================================================
   ARAMA BEKLEME EKRANI — #263 (Ot.202). Kullanıcı kararı (15.10): seçenek B, GÖRSELLİ KART (öneri sayfası
   `docs/arama-bekleme-ekrani-2026-10-15/index.html`). Gövde `_Layout.cshtml` `showSearchOverlay` (tek gövde: arama kutusunun "Ara"sı ve
   `/oteller?sehir=` · `/ucuslar?nereden=` bağlantıları). Ödeme yönlendirme ekranının dili: düz zemin, acentenin renginde şerit + logo, beyaz
   kart. Adım işaretleri rezervasyon adımlarıyla aynı kural (✓ + dolu çizgi · dolu daire · boş daire + kesik çizgi).
   ===================================================================================================================== */
html.dc-ab-acik, html.dc-ab-acik body { overflow: hidden; }
body.dc-b2c .dc-ab {
    position: fixed; inset: 0; z-index: 9999; display: flex; flex-direction: column; overflow-y: auto;
    background: var(--dc-zemin); color: var(--dc-yazi); font-family: var(--dc-font); animation: dc-ab-gir .18s ease-out;
}
body.dc-b2c .dc-ab__bant { flex: 0 0 auto; min-height: 64px; display: flex; align-items: center; background: var(--dc-bant); }
body.dc-b2c .dc-ab__bant .dc-kap { display: flex; align-items: center; }
body.dc-b2c .dc-ab__bant .dc-verif-header { display: none; }
body.dc-b2c .dc-ab__govde { flex: 1 0 auto; display: flex; flex-direction: column; align-items: center; padding: 48px 16px 32px; }
body.dc-b2c .dc-ab__kart {
    width: 100%; max-width: 620px; padding: 28px; background: var(--dc-kart); border: 1px solid var(--dc-cizgi);
    border-radius: var(--dc-yaricap-kart); box-shadow: var(--dc-golge-kart);
}
body.dc-b2c .dc-ab__gorsel { position: relative; height: 190px; margin: -8px -8px 22px; border-radius: var(--dc-yaricap-alan); overflow: hidden; background: var(--dc-cizgi); }
/* İki görsel üst üste; görünen `is-gorunur` — yumuşak çapraz geçiş (tek görselin solup gri boşluk bırakması yok). */
body.dc-b2c .dc-ab__foto {
    position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover;
    opacity: 0; transform: scale(1); transition: opacity .9s ease, transform 6s ease;
}
body.dc-b2c .dc-ab__foto.is-gorunur { opacity: 1; }
body.dc-b2c .dc-ab__foto.is-yakin { transform: scale(1.06); }
body.dc-b2c .dc-ab__gorsel-yazi {
    position: absolute; left: 0; right: 0; bottom: 0; padding: 32px 16px 12px; color: #fff; font-size: 13px; font-weight: 600;
    background: linear-gradient(transparent, rgba(0, 0, 0, .55)); transition: opacity .4s ease;
}
body.dc-b2c .dc-ab__ust { display: flex; align-items: center; gap: 16px; }
body.dc-b2c .dc-ab__simge {
    position: relative; flex: 0 0 56px; width: 56px; height: 56px; display: flex; align-items: center; justify-content: center;
    border-radius: 50%; background: rgba(var(--dc-bant-rgb), .08); color: var(--dc-bant); font-size: 26px;
}
body.dc-b2c .dc-ab__simge::after {
    content: ""; position: absolute; inset: -5px; border-radius: 50%; border: 2px solid rgba(var(--dc-bant-rgb), .12);
    border-top-color: var(--dc-bant); animation: dc-ab-don 1s linear infinite;
}
body.dc-b2c .dc-ab__metin { min-width: 0; }
body.dc-b2c .dc-ab__baslik { margin: 0; font-size: 20px; font-weight: 700; line-height: 1.3; color: var(--dc-yazi); overflow-wrap: anywhere; }
body.dc-b2c .dc-ab__mesaj { margin: 4px 0 0; font-size: 14px; color: var(--dc-yazi-ikincil); transition: opacity .2s ease; }
body.dc-b2c .dc-ab__etiketler { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
body.dc-b2c .dc-ab__etiket {
    display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border: 1px solid var(--dc-cizgi); border-radius: 999px;
    background: #fff; color: var(--dc-yazi); font-size: 13px; font-weight: 500;
}
body.dc-b2c .dc-ab__etiket i { color: var(--dc-yazi-ikincil); font-size: 16px; }
body.dc-b2c .dc-ab__cubuk { height: 6px; margin-top: 22px; border-radius: 999px; overflow: hidden; background: var(--dc-cizgi); }
body.dc-b2c .dc-ab__cubuk span { display: block; width: 4%; height: 100%; border-radius: inherit; background: var(--dc-bant); transition: width .6s ease; }
body.dc-b2c .dc-ab__adimlar { display: flex; margin: 18px 0 0; padding: 0; list-style: none; }
body.dc-b2c .dc-ab__adim {
    position: relative; flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: 6px;
    color: var(--dc-yazi-ikincil); font-size: 12px; font-weight: 600; line-height: 1.25; text-align: center;
}
body.dc-b2c .dc-ab__adim + .dc-ab__adim::before {
    content: ""; position: absolute; top: 13px; right: calc(50% + 20px); width: calc(100% - 40px); border-top: 2px dashed var(--dc-cizgi);
}
body.dc-b2c .dc-ab__adim.is-tamam + .dc-ab__adim::before { border-top-style: solid; border-top-color: var(--dc-basari); }
body.dc-b2c .dc-ab__daire {
    display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%;
    border: 2px solid var(--dc-cizgi); background: #fff; color: var(--dc-yazi-ikincil); font-size: 13px; font-weight: 700;
}
body.dc-b2c .dc-ab__adim.is-simdi { color: var(--dc-yazi); }
body.dc-b2c .dc-ab__adim.is-simdi .dc-ab__daire { background: var(--dc-bant); border-color: var(--dc-bant); color: #fff; }
body.dc-b2c .dc-ab__adim.is-tamam .dc-ab__daire { background: var(--dc-basari-zemin); border-color: var(--dc-basari-zemin); color: var(--dc-basari); }
@keyframes dc-ab-don { to { transform: rotate(360deg); } }
@keyframes dc-ab-gir { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 575.98px) {
    body.dc-b2c .dc-ab__govde { padding: 20px 16px 24px; }
    body.dc-b2c .dc-ab__kart { padding: 20px; }
    body.dc-b2c .dc-ab__gorsel { height: 150px; margin: -6px -6px 18px; }
    body.dc-b2c .dc-ab__simge { flex-basis: 48px; width: 48px; height: 48px; font-size: 22px; }
    body.dc-b2c .dc-ab__baslik { font-size: 18px; }
    body.dc-b2c .dc-ab__adim { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
    body.dc-b2c .dc-ab, body.dc-b2c .dc-ab__simge::after { animation: none; }
    body.dc-b2c .dc-ab__foto, body.dc-b2c .dc-ab__foto.is-yakin { transform: none; transition: none; }
    body.dc-b2c .dc-ab__cubuk span, body.dc-b2c .dc-ab__mesaj, body.dc-b2c .dc-ab__gorsel-yazi { transition: none; }
}

/* =====================================================================================================================
   REZERVASYON ADIMLARI (üst bant) — #240 Aşama 8 (Ot.196/22). Parça `Views/Shared/_RezervasyonAdimlari.cshtml`; `_Header` rezervasyon
   sayfalarında menünün yerine basar. İşaret kuralı uçuş görsellerinden: tamamlanan ✓ + dolu çizgi · bulunulan dolu daire · sıradaki
   boş daire + kesik çizgi. Telefonda bandın ikinci satırı; yalnız bulunulan adımın adı yazılır.
   ===================================================================================================================== */
body.dc-b2c .dc-adimlar { flex: 1 1 auto; display: flex; justify-content: center; min-width: 0; }
body.dc-b2c .dc-adimlar__liste { display: flex; align-items: flex-start; list-style: none; margin: 0; padding: 0; }
body.dc-b2c .dc-adim {
    position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; width: 132px;
    color: rgba(255, 255, 255, .82); font-size: 12px; font-weight: 600; line-height: 1.25; text-align: center;
}
body.dc-b2c .dc-adim + .dc-adim::before {
    content: ""; position: absolute; top: 14px; right: calc(50% + 22px); width: calc(100% - 44px);
    border-top: 2px dashed rgba(255, 255, 255, .5);
}
body.dc-b2c .dc-adim.is-tamam + .dc-adim::before { border-top-style: solid; border-top-color: #4ade80; }
body.dc-b2c .dc-adim__daire {
    display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, .75); background: transparent; color: #fff; font-size: 13px; font-weight: 700;
}
body.dc-b2c .dc-adim.is-simdi .dc-adim__daire { background: #fff; border-color: #fff; color: var(--dc-bant); }
body.dc-b2c .dc-adim.is-tamam .dc-adim__daire { background: #fff; border-color: #fff; color: var(--dc-basari); }
body.dc-b2c .dc-adim.is-simdi .dc-adim__ad { color: #fff; }
/* Tablet: bant tek satır; uçuşun "Tarife Seçenekleri" adı 132 px'lik adımda logoya biniyordu (Aşama 10, 768'de ölçüldü). */
@media (min-width: 768px) and (max-width: 991.98px) {
    body.dc-b2c .dc-adim { width: 104px; font-size: 11.5px; }
}
@media (max-width: 767.98px) {
    body.dc-b2c .dc-ust-bant__ic:has(.dc-adimlar) { flex-wrap: wrap; row-gap: 6px; }
    body.dc-b2c .dc-adimlar { order: 3; flex-basis: 100%; }
    body.dc-b2c .dc-adim { width: 96px; }
    body.dc-b2c .dc-adim:not(.is-simdi) .dc-adim__ad { visibility: hidden; }
}

/* =====================================================================================================================
   OTEL REZERVASYON FORMU — #240 Aşama 8 (Ot.196/22). Görseller `Otel Rezervasyon Formu, Rez Özet ve Tel Num Kod dropdown.png` +
   `Çoklu Oda Seçimi Rezervasyon Form ve Özeti.png`. Görünüm `Views/Hotels/ProviderBooking.cshtml`, betik `wwwroot/js/rezervasyon-formu.js`.
   ⭐ KULLANICI KARARI (13.10): telefonda/tablette özet formun ÜSTÜNDE ince şerit, dokununca açılır; masaüstünde özet SABİT (sticky).
   Üst bant sayfanın üstüne bindirilir (`.main-header` absolute) → bant payını `main` verir (`demircode-override.css` opak çubuk kuralları);
   bu sayfada pay bandın ÖLÇÜLEN alt kenarından (`--dc-ust-cubuk-alt`) — telefonda adımlar banda ikinci satır ekler ve sabit 131 px
   yetmezdi. ⚠️ Bölüm KENDİ bant payı vermez: ilk sürüm veriyordu ve pay İKİ KEZ sayıldı (ölçüldü 13.10: form 220'de, bant 88'de bitiyor).
   ===================================================================================================================== */
body.dc-b2c main:has(.dc-rez-sayfa) { background: var(--dc-zemin); }
body.dc-b2c.dc-solid-header main#main-content:has(.dc-rez-sayfa) { padding-top: calc(var(--dc-ust-cubuk-alt, 88px) + 16px); }
body.dc-b2c .dc-rez-sayfa { background: var(--dc-zemin); padding: 8px 0 56px; }
body.dc-b2c .dc-rez-duzen { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 24px; align-items: start; }
body.dc-b2c .dc-rez-form { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
body.dc-b2c .dc-rez-kart {
    padding: 22px 24px; border: 1px solid var(--dc-cizgi); border-radius: var(--dc-yaricap-kart);
    background: var(--dc-kart); box-shadow: var(--dc-golge-kart);
}
body.dc-b2c .dc-rez-kart__oda { margin: 0 0 2px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-rez-kart__baslik { margin: 0 0 4px; font-size: 20px; font-weight: 800; color: var(--dc-yazi); }
body.dc-b2c .dc-rez-kart__baslik label { margin: 0; }
body.dc-b2c .dc-rez-kart__aciklama { margin: 0 0 14px; font-size: 14px; color: var(--dc-yazi-ikincil); }

/* Misafir bölümleri: başlık düğmesi aç/kapat; her odanın ilk yetişkini açık */
body.dc-b2c .dc-misafir + .dc-misafir { margin-top: 10px; border-top: 1px solid var(--dc-cizgi); }
body.dc-b2c .dc-misafir__baslik-kap { margin: 0; font-size: inherit; }
body.dc-b2c .dc-misafir__baslik {
    display: flex; align-items: center; gap: 10px; width: 100%; padding: 12px 0; border: 0; background: transparent;
    color: var(--dc-yazi); font-size: 16px; font-weight: 700; text-align: left; cursor: pointer;
}
body.dc-b2c .dc-misafir__baslik:focus-visible { outline: 2px solid var(--dc-bant); outline-offset: 2px; border-radius: 6px; }
body.dc-b2c .dc-misafir__ad { flex: 0 1 auto; }
body.dc-b2c .dc-ana-misafir { flex: 0 0 auto; padding: 3px 10px; border-radius: 999px; background: var(--dc-bant); color: #fff; font-size: 12px; font-weight: 700; }
body.dc-b2c .dc-misafir__ozet {
    flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: right;
    font-size: 14px; font-weight: 500; color: var(--dc-yazi-ikincil);
}
body.dc-b2c .dc-misafir__baslik[aria-expanded="true"] .dc-misafir__ozet { visibility: hidden; }
body.dc-b2c .dc-misafir__ok { flex: 0 0 auto; transition: transform .15s ease; }
body.dc-b2c .dc-misafir__baslik[aria-expanded="true"] .dc-misafir__ok { transform: rotate(180deg); }
body.dc-b2c .dc-misafir__govde { padding: 2px 0 12px; }

/* Alanlar */
body.dc-b2c .dc-alanlar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
body.dc-b2c .dc-alan { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
body.dc-b2c .dc-alan__etiket { margin: 0; padding: 0; font-size: 13px; font-weight: 600; color: var(--dc-yazi); }
body.dc-b2c .dc-zorunlu { color: var(--dc-tehlike); }
body.dc-b2c .dc-rez-form .form-control,
body.dc-b2c .dc-rez-form .form-select { min-height: 46px; border-color: var(--dc-cizgi); border-radius: var(--dc-yaricap-alan); font-size: 15px; }
body.dc-b2c .dc-rez-form textarea.form-control { min-height: 96px; }
body.dc-b2c .dc-rez-form .form-control:focus,
body.dc-b2c .dc-rez-form .form-select:focus { border-color: var(--dc-bant); box-shadow: 0 0 0 3px rgba(var(--dc-bant-rgb), .18); }
body.dc-b2c .dc-dogum { min-width: 0; margin: 0; padding: 0; border: 0; }
body.dc-b2c .dc-dogum legend { float: none; width: auto; margin: 0 0 6px; }
body.dc-b2c .dc-dogum__listeler { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr) minmax(0, 1.2fr); gap: 8px; }
/* Aşama 10: dar kolonda (uçuş formu: Doğum Tarihi + Pasaport Geçerlilik) "Gün" yer tutucusu "Gü" diye kesiliyordu (ölçüldü 13.10) — ok payı daraltıldı. */
body.dc-b2c .dc-dogum__listeler .form-select { padding-left: 10px; padding-right: 26px; background-position: right 8px center; }

/* Ülke seçici (telefon kodu + uyruk) — yerli <select> değerin kaynağı; betik hazırsa görünmez olur */
body.dc-b2c .dc-ulke-secici { position: relative; min-width: 0; }
body.dc-b2c .dc-ulke-secici.is-hazir .dc-ulke-secici__yerli {
    position: absolute; left: 0; bottom: 0; width: 1px; height: 1px; min-height: 0; padding: 0; border: 0; opacity: 0; pointer-events: none;
}
body.dc-b2c .dc-ulke-secici__dugme {
    display: flex; align-items: center; gap: 8px; width: 100%; min-height: 46px; padding: 0 12px;
    border: 1px solid var(--dc-cizgi); border-radius: var(--dc-yaricap-alan); background: #fff; color: var(--dc-yazi); font-size: 15px; text-align: left;
}
body.dc-b2c .dc-ulke-secici__dugme:focus-visible,
body.dc-b2c .dc-ulke-secici.is-acik .dc-ulke-secici__dugme { border-color: var(--dc-bant); box-shadow: 0 0 0 3px rgba(var(--dc-bant-rgb), .18); outline: 0; }
body.dc-b2c .dc-ulke-secici__metin { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.dc-b2c .dc-ulke-secici__metin--bos { color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-ulke-secici__ok { flex: 0 0 auto; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-bayrak { flex: 0 0 auto; width: 20px; height: 15px; border-radius: 3px; object-fit: cover; box-shadow: 0 0 0 1px rgba(0, 0, 0, .08); }
body.dc-b2c .dc-ulke-secici__acilir {
    position: absolute; z-index: 30; top: calc(100% + 4px); left: 0; width: max(100%, 300px); max-width: min(360px, calc(100vw - 32px));
    padding: 8px; border: 1px solid var(--dc-cizgi); border-radius: 12px; background: #fff; box-shadow: var(--dc-golge-acilir);
}
body.dc-b2c .dc-ulke-secici__ara { min-height: 40px !important; margin-bottom: 6px; }
body.dc-b2c .dc-ulke-secici__liste { max-height: 260px; margin: 0; padding: 0; overflow: auto; list-style: none; }
body.dc-b2c .dc-ulke-secici__liste [role="option"] {
    display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 8px; color: var(--dc-yazi); font-size: 14px; cursor: pointer;
}
body.dc-b2c .dc-ulke-secici__liste [role="option"].is-aktif,
body.dc-b2c .dc-ulke-secici__liste [role="option"]:hover { background: var(--dc-zemin); }
body.dc-b2c .dc-ulke-secici__liste [role="option"][aria-selected="true"] { background: var(--dc-bant); color: #fff; }
body.dc-b2c .dc-ulke-secici__ad { flex: 1 1 auto; min-width: 0; }
body.dc-b2c .dc-ulke-secici__kod { flex: 0 0 auto; font-weight: 600; }
body.dc-b2c .dc-ulke-secici__yok { padding: 10px; color: var(--dc-yazi-ikincil); font-size: 14px; }
body.dc-b2c .dc-ulke-secici.is-hata .dc-ulke-secici__dugme { border-color: var(--dc-tehlike); }
body.dc-b2c .dc-ulke-secici__uyari { margin-top: 4px; color: var(--dc-tehlike); font-size: 12px; font-weight: 600; }
/* Telefon: kod düğmesi + numara tek kutu gibi */
body.dc-b2c .dc-telefon { display: flex; min-width: 0; }
body.dc-b2c .dc-telefon .dc-ulke-secici { flex: 0 0 auto; }
body.dc-b2c .dc-telefon .dc-ulke-secici__dugme { width: auto; border-right: 0; border-radius: var(--dc-yaricap-alan) 0 0 var(--dc-yaricap-alan); font-weight: 700; }
body.dc-b2c .dc-telefon .dc-ulke-secici:not(.is-hazir) .dc-ulke-secici__yerli { width: 110px; border-radius: var(--dc-yaricap-alan) 0 0 var(--dc-yaricap-alan); }
body.dc-b2c .dc-telefon .dc-telefon__numara { flex: 1 1 auto; min-width: 0; border-radius: 0 var(--dc-yaricap-alan) var(--dc-yaricap-alan) 0; }

/* Özel istekler + onay + gönder */
body.dc-b2c .dc-rez-onay { margin: 16px 0 18px; }
body.dc-b2c .dc-rez-gonder {
    width: 100%; min-height: 52px; border: 0; border-radius: var(--dc-yaricap-dugme); background: var(--dc-bant); color: #fff; font-size: 16px; font-weight: 700;
}
body.dc-b2c .dc-rez-gonder:hover, body.dc-b2c .dc-rez-gonder:focus-visible { background: var(--dc-bant); color: #fff; filter: brightness(1.15); }

/* Özet (sağ sütun) */
body.dc-b2c .dc-rez-ozet-kolon { position: sticky; top: 80px; align-self: start; max-height: calc(100vh - 96px); overflow: auto; min-width: 0; }
body.dc-b2c .dc-ozet-serit { display: none; }
body.dc-b2c .dc-rez-ozet {
    margin: 0; padding: 18px; border: 1px solid var(--dc-cizgi); border-radius: var(--dc-yaricap-kart); background: var(--dc-kart); box-shadow: var(--dc-golge-kart);
}
body.dc-b2c .dc-rez-ozet__baslik { margin: 0 0 12px; padding-bottom: 10px; border-bottom: 1px solid var(--dc-cizgi); font-size: 17px; font-weight: 700; color: var(--dc-yazi); }
body.dc-b2c .dc-rez-ozet__otel { padding-bottom: 10px; border-bottom: 1px solid var(--dc-cizgi); }
/* Görsel 2:1 — 16:9'da özet 900 px yüksek ekranda taşıyor, iptal kutusu iç kaydırmaya kalıyordu (ölçüldü 13.10: özet 878 px). */
body.dc-b2c .dc-rez-ozet__gorsel { display: block; width: 100%; aspect-ratio: 2 / 1; margin-bottom: 10px; border-radius: var(--dc-yaricap-alan); object-fit: cover; background: var(--dc-zemin); }
body.dc-b2c .dc-rez-ozet__ad { margin: 0 0 4px; font-size: 16px; font-weight: 700; color: var(--dc-yazi); }
body.dc-b2c .dc-rez-ozet__konum { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 0; font-size: 13px; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-rez-ozet__bolum { padding: 8px 0; border-bottom: 1px solid var(--dc-cizgi); }
body.dc-b2c .dc-ozet-satir { gap: 12px; padding: 3px 0; font-size: 13.5px; }
body.dc-b2c .dc-ozet-satir > span { color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-ozet-satir > strong { font-weight: 600; color: var(--dc-yazi); text-align: right; }
body.dc-b2c .dc-ozet-satir--oda { align-items: flex-start; }
body.dc-b2c .dc-ozet-satir > .dc-ozet-oda { color: var(--dc-yazi); font-size: 13px; font-weight: 600; }
body.dc-b2c .dc-ozet-oda__alt { display: block; font-size: 12px; font-weight: 400; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-rez-toplam { margin-top: 12px; padding: 14px 16px; border-radius: 12px; background: var(--dc-bant); color: #fff; }
body.dc-b2c .dc-rez-toplam__satir { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
body.dc-b2c .dc-rez-toplam__etiket { font-size: 15px; font-weight: 700; }
body.dc-b2c .dc-rez-toplam__tutar { font-size: 22px; font-weight: 800; white-space: nowrap; }
body.dc-b2c .dc-rez-toplam__not { margin: 4px 0 0; font-size: 12px; text-align: right; opacity: .92; }
body.dc-b2c .dc-rez-iptal { margin-top: 12px; padding: 12px 14px; border-radius: 12px; background: var(--dc-zemin); }
body.dc-b2c .dc-rez-iptal__baslik { display: flex; align-items: center; gap: 6px; margin: 0 0 8px; font-size: 14px; font-weight: 700; color: var(--dc-yazi); }
body.dc-b2c .dc-rez-iptal__satir { margin: 0 0 6px; font-size: 12px; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-rez-iptal__tarih { margin-right: 4px; }

/* Tablet + telefon: tek sütun; özet sütunu formun ÜSTÜNDE ve kapalı şerit (kullanıcı kararı 13.10) */
@media (max-width: 991.98px) {
    body.dc-b2c .dc-rez-duzen { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    body.dc-b2c .dc-rez-ozet-kolon { order: -1; position: static; max-height: none; overflow: visible; }
    body.dc-b2c .dc-ozet-serit {
        display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 16px; border: 1px solid var(--dc-cizgi);
        border-radius: var(--dc-yaricap-kart); background: var(--dc-kart); box-shadow: var(--dc-golge-kart); color: var(--dc-yazi); text-align: left;
    }
    body.dc-b2c .dc-ozet-serit:focus-visible { outline: 2px solid var(--dc-bant); outline-offset: 2px; }
    body.dc-b2c .dc-ozet-serit__metin { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; }
    body.dc-b2c .dc-ozet-serit__ad { overflow: hidden; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
    body.dc-b2c .dc-ozet-serit__tarih { font-size: 12px; color: var(--dc-yazi-ikincil); }
    body.dc-b2c .dc-ozet-serit__tutar { flex: 0 0 auto; font-weight: 800; white-space: nowrap; }
    body.dc-b2c .dc-ozet-serit__ok { flex: 0 0 auto; transition: transform .15s ease; }
    body.dc-b2c .dc-ozet-serit[aria-expanded="true"] .dc-ozet-serit__ok { transform: rotate(180deg); }
    body.dc-b2c .dc-rez-ozet { display: none; margin-top: 8px; }
    body.dc-b2c .dc-rez-ozet-kolon.is-acik .dc-rez-ozet { display: block; }
}
@media (max-width: 575.98px) {
    body.dc-b2c .dc-rez-kart { padding: 18px 16px; }
    body.dc-b2c .dc-alanlar { grid-template-columns: minmax(0, 1fr); }
}

/* =====================================================================================================================
   UÇUŞ YOLCU FORMU — #240 Aşama 10 (Ot.198). Görseller `Uçus Rezervasyon Formu Tek kişi.png` · `… İki Kişi.png` · `… Uyruk Dropdown.png` ·
   `… Uyruk Pasaport Detay ve dropdown.png` · `Uçak Rezervasyon Özeti Gidiş Dönüş.png`. Görünüm `Views/Flights/OfferBooking.cshtml`; betikler
   `rezervasyon-formu.js` (ortak) + `ucus-formu.js` + `pasaport-yazimi.js`. Düzen, kartlar, alanlar, ülke seçici, özet ve şerit OTEL FORMUNUN
   kurallarından (yukarıdaki blok) gelir; burada yalnız uçuşa özgü olanlar var. Kapı `tools/ucus-rezervasyon-formu-kapisi.js`.
   ===================================================================================================================== */
/* Teklif süresi — tasarımda yeri yok; formun üstünde ince bant (gerçek bitiş anı, ortak sayaç). */
body.dc-b2c .dc-teklif-bandi {
    display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 0 0 12px; padding: 9px 14px;
    border: 1px solid #f3d9a4; border-radius: 12px; background: #fff8e8; color: #6b4a00; font-size: 13.5px; font-weight: 600;
}
body.dc-b2c .dc-teklif-bandi .ti { font-size: 18px; }
body.dc-b2c .dc-teklif-bandi__sure { color: var(--dc-tehlike); font-weight: 800; font-variant-numeric: tabular-nums; }

/* İletişim notu (tasarımda alanların altında, bağlantı renginde) */
body.dc-b2c .dc-iletisim-notu { display: flex; align-items: flex-start; gap: 6px; margin: 14px 0 0; font-size: 14px; color: var(--dc-bant); }
body.dc-b2c .dc-iletisim-notu .ti { margin-top: 2px; }

/* Yolcu alanları: Unvan (dar) · Adı · Soyadı / Cinsiyet (dar) · Uyruk · Doğum Tarihi */
body.dc-b2c .dc-alanlar--yolcu { grid-template-columns: 84px minmax(0, 1fr) minmax(0, 1fr); }
body.dc-b2c .dc-bilet-yazimi { font-size: 12px; font-weight: 700; letter-spacing: .02em; color: var(--dc-bant); }
body.dc-b2c .dc-yas-ipucu { margin: 0; font-size: 12px; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-kucak-notu {
    display: flex; align-items: flex-start; gap: 8px; margin: 0 0 12px; padding: 10px 12px; border-radius: 10px;
    background: var(--dc-zemin); color: var(--dc-yazi); font-size: 13px;
}
body.dc-b2c .dc-kucak-notu .ti { margin-top: 2px; color: var(--dc-bant); }

/* Belge: "TC Kimlik No" / "Pasaport No" düğmeleri (seçili = bant rengi) + paneller */
body.dc-b2c .dc-belge { min-width: 0; margin: 16px 0 0; padding: 0; border: 0; }
body.dc-b2c .dc-belge__dugmeler { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
body.dc-b2c .dc-belge__dugme {
    position: relative; display: inline-flex; align-items: center; min-height: 40px; margin: 0; padding: 0 16px;
    border: 1px solid var(--dc-cizgi); border-radius: var(--dc-yaricap-dugme); background: #fff; color: var(--dc-yazi);
    font-size: 14px; font-weight: 700; cursor: pointer;
}
body.dc-b2c .dc-belge__dugme[hidden] { display: none; }
body.dc-b2c .dc-belge__dugme input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
body.dc-b2c .dc-belge__dugme:has(input:checked) { border-color: var(--dc-bant); background: var(--dc-bant); color: #fff; }
body.dc-b2c .dc-belge__dugme:has(input:focus-visible) { outline: 2px solid var(--dc-bant); outline-offset: 2px; }
body.dc-b2c .dc-belge__panel[hidden] { display: none; }
body.dc-b2c .dc-alanlar--pasaport { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr); }

/* Ek hizmetler (sağlayıcı gönderirse) */
body.dc-b2c .dc-rez-kart__baslik .ti { margin-right: 8px; color: var(--dc-bant); }
body.dc-b2c .dc-ek-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; margin-top: 10px; }
body.dc-b2c .dc-ek-hizmet__bacak { display: flex; align-items: center; gap: 6px; margin: 12px 0 0; font-size: 13px; font-weight: 600; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-ek-secenek {
    display: flex; align-items: flex-start; gap: 10px; margin: 10px 0 0; padding: 12px 14px; border: 1px solid var(--dc-cizgi);
    border-radius: 12px; background: #fff; cursor: pointer;
}
body.dc-b2c .dc-ek-izgara .dc-ek-secenek { margin: 0; }
body.dc-b2c .dc-ek-secenek:has(input:checked) { border-color: var(--dc-bant); box-shadow: 0 0 0 1px var(--dc-bant); }
body.dc-b2c .dc-ek-secenek input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--dc-bant); }
body.dc-b2c .dc-ek-secenek__metin { display: flex; flex: 1 1 auto; flex-direction: column; gap: 3px; min-width: 0; font-size: 14px; color: var(--dc-yazi); }
body.dc-b2c .dc-ek-secenek__madde, body.dc-b2c .dc-ek-secenek__alt { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-ek-secenek__fiyat { flex: 0 0 auto; font-weight: 800; color: var(--dc-bant); white-space: nowrap; }

/* Özet: uçuş dilimleri (görsel "Rezervasyon Özeti" + "Gidiş Dönüş") */
body.dc-b2c .dc-ucus-ozet { padding: 4px 0 12px; border-bottom: 1px solid var(--dc-cizgi); }
body.dc-b2c .dc-ucus-ozet + .dc-ucus-ozet { padding-top: 12px; }
body.dc-b2c .dc-ucus-ozet__etiket { margin: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-ucus-ozet__hat { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: 10px; }
body.dc-b2c .dc-ucus-ozet__uc { display: flex; flex-direction: column; align-items: center; line-height: 1.25; }
body.dc-b2c .dc-ucus-ozet__saat { font-size: 20px; font-weight: 800; color: var(--dc-yazi); white-space: nowrap; position: relative; }
/* "+1" (ertesi gün) Aşama 9 kartında mutlak konumlu; özette saate yaslanır (kap yokken sütunun köşesine kaçıyordu — 13.10 görüldü). */
body.dc-b2c .dc-ucus-ozet .dc-fc-ertesi { top: -6px; right: -13px; }
body.dc-b2c .dc-ucus-ozet__kod { font-size: 12px; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-ucus-ozet__tarih { font-size: 12px; color: var(--dc-yazi-ikincil); white-space: nowrap; }
body.dc-b2c .dc-ucus-ozet__orta { display: flex; flex-direction: column; align-items: center; gap: 3px; padding-top: 6px; min-width: 0; }
body.dc-b2c .dc-ucus-ozet__sure { font-size: 12px; color: var(--dc-yazi-ikincil); white-space: nowrap; }
body.dc-b2c .dc-ucus-ozet__cizgi { display: block; width: 100%; border-top: 1px solid var(--dc-yazi-ikincil); }
body.dc-b2c .dc-ucus-ozet__aktarma { font-size: 12px; font-weight: 700; color: #b45309; }
body.dc-b2c .dc-ucus-ozet__aktarma--direkt { color: var(--dc-basari); }
body.dc-b2c .dc-ucus-ozet__havayolu { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-top: 12px; font-size: 13px; color: var(--dc-yazi); }
body.dc-b2c .dc-ucus-ozet__logo {
    display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; overflow: hidden;
    border-radius: 6px; background: var(--dc-zemin); color: var(--dc-yazi-ikincil);
}
body.dc-b2c .dc-ucus-ozet__logo { position: relative; }
body.dc-b2c .dc-ucus-ozet__logo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #fff; }
body.dc-b2c .dc-ucus-ozet__no { font-weight: 700; color: var(--dc-bant); }
body.dc-b2c .dc-ucus-ozet__tarife { font-weight: 700; color: var(--dc-yazi); }
body.dc-b2c .dc-ucus-ozet__bagaj { margin-top: 6px; font-size: 12.5px; font-weight: 600; color: var(--dc-bant); }
body.dc-b2c .dc-ucus-ozet__bagaj .text-muted { color: var(--dc-yazi-ikincil) !important; }
body.dc-b2c .dc-ucus-ozet__detay {
    display: inline-flex; align-items: center; gap: 4px; margin-top: 8px; padding: 0; border: 0; background: transparent;
    color: var(--dc-bant); font-size: 13px; font-weight: 700;
}
body.dc-b2c .dc-ucus-ozet__detay[aria-expanded="true"] .ti { transform: rotate(180deg); }
body.dc-b2c .dc-ucus-ozet__detay:focus-visible { outline: 2px solid var(--dc-bant); outline-offset: 2px; border-radius: 4px; }
body.dc-b2c .dc-ucus-ozet__cizelge { margin-top: 8px; font-size: 12.5px; }
body.dc-b2c .dc-ucus-ozet__cizelge[hidden] { display: none; }
body.dc-b2c .dc-ucus-ozet__yolcular { margin: 0 0 6px; font-size: 13px; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-ozet-baglanti { display: inline-flex; align-items: center; gap: 2px; font-weight: 700; color: var(--dc-bant); white-space: nowrap; }
body.dc-b2c .dc-ozet-koltuk > .d-flex > span:first-child { color: var(--dc-yazi); font-weight: 600; }
body.dc-b2c .dc-ozet-koltuk__yolcu { font-size: 12px; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-ucus-kosul { margin-top: 12px; padding: 12px 14px; border-radius: 12px; background: var(--dc-zemin); }
body.dc-b2c .dc-ucus-kosul__satir { margin: 0; font-size: 12.5px; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-ucus-kosul__satir + .dc-ucus-kosul__satir { margin-top: 4px; }
body.dc-b2c .dc-ucus-kosul__satir b { color: var(--dc-yazi); }
body.dc-b2c .dc-ucus-kosul__satir.is-var { color: var(--dc-basari); }
body.dc-b2c .dc-ucus-kosul__satir.is-yok { color: var(--dc-tehlike); }

@media (max-width: 767.98px) {
    body.dc-b2c .dc-alanlar--yolcu { grid-template-columns: 96px minmax(0, 1fr); }
    body.dc-b2c .dc-alanlar--yolcu > .dc-alan:nth-child(3),
    body.dc-b2c .dc-alanlar--yolcu > .dc-alan:nth-child(6) { grid-column: 1 / -1; }
    body.dc-b2c .dc-alanlar--pasaport { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 575.98px) {
    body.dc-b2c .dc-ucus-ozet__saat { font-size: 18px; }
}

/* =====================================================================================================================
   UÇUŞ SONUÇLARI — #240 Aşama 9 (Ot.197, 13.10.2026). Görseller: `Uçuş Sonucları.png`, `Ucak Sol Filtre.png`, `Ucak Kart ve üzerindeki
   Navigasyon Filtre.png`, `Ucak Sonuc Kaydırmalı Takvim.png`, `Ucak tek Yön Direk, 1 ve 2 aktarma detay açılım.png`, `Uçak farebreakdown
   tasarım.png`, `Uçak Gidiş Dönüş Sticky Bar Tasarım.png`. Görünüm `Views/Flights/SearchResults.cshtml` + parçaları; davranış `ucus-sonuc.js`.
   ⭐ Süzgeç paneli ve sıralama sekmeleri otel sayfasıyla ORTAK kurallar (`:is(.dc-otel-filtre, .dc-ucus-filtre)`, `.dc-siralama`).
   ⭐ Kart düzeni KENDİ genişliğine göre (kap sorgusu `ucuskart`): geniş kartta tek satır, dar kartta üç satır.
   ⭐ Alt çubuk sonuç sarmalayıcısının DIŞINDA (sarmalayıcının `isolation`ı sabit öğeyi hapseder — §553); katman 1040 (Aşama 6 çubuğuyla aynı).
   ===================================================================================================================== */
/* Üst pay: arama kutusunun bandı kutunun 32 px ALTINA taşar ve sarmalayıcının içindeki içerik onun üstüne boyanır (search-widget.css
   `--dc-sw-bant-tasma`). Otel sonuçlarında ilk öğeler beyaz kart olduğu için görünmüyordu; burada başlık ZEMİNSİZ yazı → bandın altından başlar. */
body.dc-b2c .dc-ucus-sonuc { padding: calc(var(--dc-sw-bant-tasma, 32px) + 20px) 0 48px; }
body.dc-b2c.dc-ucus-cubuk-acik .dc-ucus-sonuc { padding-bottom: calc(var(--dc-ucus-cubuk-h, 90px) + 48px); }

/* ── Başlık satırı + 7 günlük tarih şeridi ── */
/* ⚠️ Razor bu sayfada boş değerli özniteliği SİLMEZ (data-dc-gd-serit="" basar — her öğeye bağlanan bir etiket yardımcısı var); kural yalnız DOLU değerde. */
body.dc-b2c .dc-ucus-ust[data-dc-gd-serit]:not([data-dc-gd-serit=""]):not(.dc-gd-aktif) { display: none; }
body.dc-b2c .dc-ucus-baslik {
    display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0 0 12px;
    font-size: 16px; font-weight: 700; line-height: 1.35; color: var(--dc-yazi);
}
body.dc-b2c .dc-ucus-baslik > i { font-size: 20px; color: var(--dc-yazi); }
body.dc-b2c .dc-ucus-baslik__donus { transform: scaleX(-1); }
body.dc-b2c .dc-ucus-baslik__ayrac { width: 1px; height: 18px; background: var(--dc-yazi-ikincil); opacity: .55; }
body.dc-b2c .dc-ucus-baslik__tarih { font-weight: 400; color: var(--dc-yazi); }
body.dc-b2c .dc-tarih-seridi {
    display: flex; align-items: center; gap: 8px; margin: 0 0 20px; padding: 12px 16px;
    border: 1px solid var(--dc-cizgi); border-radius: var(--dc-yaricap-kart); background: var(--dc-kart); box-shadow: var(--dc-golge-kart);
}
body.dc-b2c .dc-tarih-seridi__ok {
    flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 36px;
    border: 0; border-radius: 8px; background: none; color: var(--dc-yazi); font-size: 16px;
}
body.dc-b2c .dc-tarih-seridi__ok:hover:not(:disabled), body.dc-b2c .dc-tarih-seridi__ileri:hover:not(:disabled) { background: var(--dc-zemin); }
body.dc-b2c .dc-tarih-seridi__ok:disabled, body.dc-b2c .dc-tarih-seridi__ileri:disabled { opacity: .35; cursor: default; }
body.dc-b2c .dc-tarih-seridi__gunler { flex: 1 1 auto; display: flex; min-width: 0; margin: 0; padding: 0; list-style: none; }
body.dc-b2c .dc-tarih-seridi__gun { position: relative; flex: 1 1 0; display: flex; min-width: 0; padding: 0 4px; }
body.dc-b2c .dc-tarih-seridi__gun::before {
    content: ""; position: absolute; left: 0; top: 22%; bottom: 22%; width: 1px; background: var(--dc-cizgi);
}
body.dc-b2c .dc-tarih-seridi__gun:first-child::before,
body.dc-b2c .dc-tarih-seridi__gun--disinda + .dc-tarih-seridi__gun::before { display: none; }
body.dc-b2c .dc-tarih-seridi__gun a {
    flex: 1 1 auto; display: flex; align-items: center; justify-content: center; gap: .3em; min-height: 40px; padding: 6px 8px;
    border: 1.5px solid transparent; border-radius: 10px; color: var(--dc-yazi-ikincil); font-size: 14px; text-decoration: none; white-space: nowrap;
}
body.dc-b2c .dc-tarih-seridi__gun a:hover { color: var(--dc-yazi); background: var(--dc-zemin); }
body.dc-b2c .dc-tarih-seridi__gun a[aria-current="date"] { border-color: var(--dc-bant); color: var(--dc-yazi); font-weight: 700; background: var(--dc-kart); }
body.dc-b2c .dc-tarih-seridi__gun a:focus-visible { outline: 2px solid var(--dc-bant); outline-offset: 1px; }
body.dc-b2c .dc-tarih-seridi__ileri {
    flex: 0 0 auto; display: inline-flex; align-items: center; gap: 2px; height: 36px; padding: 0 6px;
    border: 0; border-radius: 8px; background: none; color: var(--dc-yazi); font-size: 14px; font-weight: 700; white-space: nowrap;
}
@media (min-width: 768px) {
    body.dc-b2c .dc-tarih-seridi__gun--disinda { display: none; }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    body.dc-b2c .dc-tarih-seridi { padding: 10px 10px; gap: 4px; }
    body.dc-b2c .dc-tarih-seridi__gun { padding: 0 2px; }
    body.dc-b2c .dc-tarih-seridi__gun a { padding: 6px 4px; font-size: 13px; }
}
/* Tablet (768–991): 7 gün tek satıra sığmıyor ("Pzt, 9 Kas" üst üste biniyordu, ölçüldü) → gün adı üstte, tarih altta. */
@media (min-width: 768px) and (max-width: 991.98px) {
    body.dc-b2c .dc-tarih-seridi__gun a { flex-direction: column; gap: 0; line-height: 1.2; }
    body.dc-b2c .dc-tarih-seridi__virgul { display: none; }
}

/* ── Süzgeç: başlık düğmesi + havayolu logoları ── */
body.dc-b2c .dc-suzgec-sifirla { border: 0; background: none; padding: 0; color: var(--dc-yazi); font-size: 14px; font-weight: 500; }
body.dc-b2c .dc-suzgec-sifirla:hover { text-decoration: underline; }
body.dc-b2c .dc-suzgec-sifirla:focus-visible { outline: 2px solid var(--dc-bant); outline-offset: 2px; border-radius: 4px; }
body.dc-b2c .dc-havayolu-secenek { display: inline-flex; align-items: center; gap: 10px; }
body.dc-b2c .dc-havayolu-secenek__logo {
    flex: 0 0 24px; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px;
    overflow: hidden; border-radius: 6px; background: var(--dc-zemin); color: var(--dc-yazi-ikincil); font-size: 14px;
}
body.dc-b2c .dc-havayolu-secenek__logo img { width: 20px; height: 20px; object-fit: contain; }

/* ── Uçuş kartı ── */
body.dc-b2c .dc-ucus-sonuc .dc-flight-card {
    container: ucuskart / inline-size;
    margin-bottom: 16px !important; border: 1px solid var(--dc-cizgi); border-radius: var(--dc-yaricap-kart);
    background: var(--dc-kart); box-shadow: var(--dc-golge-kart);
}
/* §21 (Ot.111) içerik kartta DİKEY ORTALI: üstteki pay "Detay" satırını taşır, alt pay ona yakın (fark ≤ 8 — ucus-kart-dogrula ölçer). */
body.dc-b2c .dc-ucus-sonuc .dc-flight-card > .card-body { position: relative; padding: 32px 20px 26px; }
body.dc-b2c .dc-ucus-sonuc .dc-flight-card.dc-fc--secili { border-color: var(--dc-bant); box-shadow: 0 0 0 1px var(--dc-bant), var(--dc-golge-kart); }
body.dc-b2c .dc-fc-row {
    display: grid; align-items: center; column-gap: 16px;
    grid-template-columns: minmax(120px, 1.25fr) auto minmax(80px, 1fr) auto minmax(90px, 1.1fr) auto;
    grid-template-areas: "air kalkis orta varis bag act";
}
body.dc-b2c .dc-fc-row-return { margin-top: 16px; padding-top: 16px; border-top: 1px dashed var(--dc-cizgi); }
body.dc-b2c .dc-fc-air { grid-area: air; display: flex; align-items: center; gap: 12px; min-width: 0; }
body.dc-b2c .dc-fc-logo-kutu {
    flex: 0 0 48px; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px;
    overflow: hidden; border-radius: 10px; background: var(--dc-zemin); color: var(--dc-yazi-ikincil); font-size: 20px;
}
body.dc-b2c .dc-fc-logo { width: 36px; height: 36px; object-fit: contain; }
body.dc-b2c .dc-fc-airtext { display: flex; flex-direction: column; align-items: center; min-width: 0; text-align: center; }
/* Uzun ad ("Turkish Airlines", "Saudi Arabian Airlines") kesilmez, en çok iki satıra sarar. */
body.dc-b2c .dc-fc-airname {
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; max-width: 100%; overflow: hidden;
    font-size: 15px; font-weight: 700; line-height: 1.25; color: var(--dc-yazi); overflow-wrap: anywhere;
}
body.dc-b2c .dc-fc-flightno { font-size: 12.5px; line-height: 1.3; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-fc-kalkis { grid-area: kalkis; }
body.dc-b2c .dc-fc-varis { grid-area: varis; }
body.dc-b2c .dc-fc-kalkis, body.dc-b2c .dc-fc-varis { position: relative; display: flex; flex-direction: column; align-items: center; }
body.dc-b2c .dc-fc-saat { font-size: 18px; font-weight: 700; line-height: 1.2; color: var(--dc-yazi); }
body.dc-b2c .dc-fc-kod { font-size: 12.5px; line-height: 1.3; color: var(--dc-yazi-ikincil); }
/* "+N" varış saatinin sağ üstünde; hücre kendi payını ayırır — orta düzende komşu sütun fiyat ve "+1" fiyatın başına biniyordu (ölçüldü 1024). */
body.dc-b2c .dc-fc-varis { padding-right: 16px; }
body.dc-b2c .dc-fc-ertesi { position: absolute; top: -7px; right: 0; font-size: 11px; font-weight: 700; color: var(--dc-uyari); }
body.dc-b2c .dc-fc-orta { grid-area: orta; display: flex; flex-direction: column; align-items: center; gap: 3px; min-width: 0; }
body.dc-b2c .dc-fc-dur { font-size: 12.5px; color: var(--dc-yazi-ikincil); white-space: nowrap; }
body.dc-b2c .dc-fc-cizgi { display: block; width: 100%; height: 1px; background: var(--dc-yazi-ikincil); opacity: .5; }
body.dc-b2c .dc-fc-aktarma { font-size: 12.5px; font-weight: 700; color: var(--dc-uyari); white-space: nowrap; }
body.dc-b2c .dc-fc-aktarma--direkt { color: var(--dc-basari); }
body.dc-b2c .dc-fc-bag { grid-area: bag; display: flex; flex-wrap: wrap; gap: 4px 10px; min-width: 0; font-size: 13px; color: var(--dc-yazi-ikincil); }
/* min-width 0: dar kartta bagaj yazısı fiyatın altına taşmasın, sarsın (ölçüldü 390: "Bagaj hakkı yok" fiyata biniyordu). */
body.dc-b2c .dc-fc-bagaj, body.dc-b2c .dc-fc-donus-sayisi { display: inline-flex; align-items: center; gap: 4px; min-width: 0; }
body.dc-b2c .dc-fc-bagaj i, body.dc-b2c .dc-fc-donus-sayisi i { font-size: 15px; }
body.dc-b2c .dc-fc-act { grid-area: act; display: flex; align-items: center; justify-content: flex-end; }
body.dc-b2c .dc-fc-detay {
    position: absolute; top: 9px; right: 20px; display: inline-flex; align-items: center; gap: 4px; padding: 2px 0;
    border: 0; background: none; color: var(--dc-yazi); font-size: 13px; font-weight: 700;
}
body.dc-b2c .dc-fc-detay i { font-size: 11px; transition: transform .15s ease; }
body.dc-b2c .dc-fc-detay[aria-expanded="true"] i { transform: rotate(180deg); }
body.dc-b2c .dc-fc-detay:focus-visible { outline: 2px solid var(--dc-bant); outline-offset: 2px; border-radius: 4px; }
body.dc-b2c .dc-fc-buy { display: flex; align-items: center; gap: 14px; }
body.dc-b2c .dc-fc-price { display: flex; flex-direction: column; align-items: flex-end; font-size: 18px; font-weight: 800; line-height: 1.2; color: var(--dc-yazi); white-space: nowrap; }
body.dc-b2c .dc-fc-price-etiket { font-size: 11.5px; font-weight: 500; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-fc-btn {
    display: inline-flex; align-items: center; justify-content: center; min-width: 72px; height: 40px; padding: 0 18px;
    border: 0; border-radius: var(--dc-yaricap-dugme); background: var(--dc-bant); color: #fff; font-size: 15px; font-weight: 700;
    text-decoration: none; white-space: nowrap; cursor: pointer;
}
body.dc-b2c .dc-fc-btn:hover { color: #fff; filter: brightness(1.15); }
body.dc-b2c .dc-fc-btn:focus-visible { outline: 2px solid var(--dc-bant); outline-offset: 2px; }
body.dc-b2c .dc-fc-btn[aria-pressed="true"] { background: var(--dc-basari); }

/* Orta kart (768 tablet tam genişlik ~736, 1024'te sonuç sütunu ~640): #171'in ONAYLI tablet kuralı — "bagaj kendi satırına iner, fiyat +
   düğme saatlerle AYNI satırda kalır, fiyat düğmenin üstünde" (Ot.155; `gidis-donus-iki-adim` E10 + `ucus-kart-dogrula` ölçer).
   Eşik 799: 768'de tek satır bagajla birlikte sıkışıyordu ("Pegasu s…", ölçüldü); 1440 (816) ve 1200 (~840) geniş düzende kalır. */
@container ucuskart (max-width: 799px) {
    body.dc-b2c .dc-fc-row {
        row-gap: 12px; column-gap: 12px;
        grid-template-columns: minmax(96px, 1.2fr) auto minmax(64px, 1fr) auto auto;
        grid-template-areas: "air kalkis orta varis act" "bag bag bag bag bag";
    }
    body.dc-b2c .dc-fc-buy { flex-direction: column; align-items: flex-end; gap: 6px; }
}
/* Telefon: dikey düzen — havayolu / saatler / bagaj / fiyat + "Seç" (fiyat + düğme iki sütuna sığmayıp bagaja taşıyordu, ölçüldü 390). */
@container ucuskart (max-width: 520px) {
    body.dc-b2c .dc-fc-row {
        row-gap: 10px; grid-template-columns: auto minmax(0, 1fr) auto;
        grid-template-areas: "air air air" "kalkis orta varis" "bag bag bag" "act act act";
    }
    body.dc-b2c .dc-fc-airtext { align-items: flex-start; text-align: left; }
    body.dc-b2c .dc-fc-act { justify-self: end; }
    body.dc-b2c .dc-fc-buy { flex-direction: row; align-items: center; }
}
@container ucuskart (max-width: 420px) {
    body.dc-b2c .dc-ucus-sonuc .dc-flight-card > .card-body { padding: 16px 14px 16px; }
    body.dc-b2c .dc-fc-detay { top: 14px; right: 14px; }
    body.dc-b2c .dc-fc-air { padding-right: 64px; }
    body.dc-b2c .dc-fc-price { font-size: 16px; }
    body.dc-b2c .dc-fc-buy { gap: 10px; }
    body.dc-b2c .dc-fc-btn { min-width: 64px; padding: 0 14px; }
}

/* ── "Detay": zaman çizelgesi + tarife kutusu ── */
body.dc-b2c .dc-fc-detay-ic { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: var(--dc-zemin); }
body.dc-b2c .dc-zc + .dc-zc-yon { margin-top: 14px; }
body.dc-b2c .dc-zc-yon { margin: 0 0 8px; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-zc-baslik { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-bottom: 12px; font-size: 13.5px; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-zc-rota { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; }
body.dc-b2c .dc-zc-rota b, body.dc-b2c .dc-zc-baslik b { color: var(--dc-yazi); }
body.dc-b2c .dc-zc-kod { font-weight: 700; color: var(--dc-bant); }
body.dc-b2c .dc-zc-ayrac { width: 1px; height: 14px; background: var(--dc-yazi-ikincil); opacity: .4; }
body.dc-b2c .dc-zc-liste { margin: 0; padding: 0; list-style: none; }
body.dc-b2c .dc-zc-nokta, body.dc-b2c .dc-zc-ucus, body.dc-b2c .dc-zc-aktarma {
    display: grid; grid-template-columns: 58px 14px minmax(0, 1fr); column-gap: 8px; align-items: center;
}
body.dc-b2c .dc-zc-nokta { min-height: 26px; }
body.dc-b2c .dc-zc-zaman { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.15; }
body.dc-b2c .dc-zc-tarih { font-size: 11px; font-weight: 700; color: var(--dc-uyari); white-space: nowrap; }
body.dc-b2c .dc-zc-saat { font-size: 14px; font-weight: 700; color: var(--dc-yazi); }
body.dc-b2c .dc-zc-isaret { justify-self: center; width: 8px; height: 8px; border-radius: 50%; background: var(--dc-yazi); }
body.dc-b2c .dc-zc-yer { font-size: 13.5px; color: var(--dc-yazi); }
body.dc-b2c .dc-zc-yer b { margin-right: 4px; }
body.dc-b2c .dc-zc-ucus { padding: 4px 0; }
body.dc-b2c .dc-zc-ucus::before { content: ""; grid-column: 2; grid-row: 1; justify-self: center; align-self: stretch; width: 2px; min-height: 34px; background: var(--dc-yazi); }
body.dc-b2c .dc-zc-logo {
    grid-column: 1; grid-row: 1; justify-self: end; display: inline-flex; align-items: center; justify-content: center;
    width: 26px; height: 26px; overflow: hidden; border-radius: 6px; background: var(--dc-kart); color: var(--dc-yazi-ikincil); font-size: 14px;
}
body.dc-b2c .dc-zc-logo img { width: 20px; height: 20px; object-fit: contain; }
body.dc-b2c .dc-zc-ucus-bilgi { grid-column: 3; grid-row: 1; display: flex; flex-direction: column; gap: 2px; font-size: 12px; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-zc-satir { display: flex; flex-wrap: wrap; gap: 2px 10px; }
body.dc-b2c .dc-zc-no { color: var(--dc-bant); }
body.dc-b2c .dc-zc-sure { display: inline-flex; align-items: center; gap: 4px; }
body.dc-b2c .dc-zc-aktarma { padding: 8px 0; }
body.dc-b2c .dc-zc-aktarma-kutu {
    grid-column: 3; justify-self: start; display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; max-width: 100%;
    padding: 7px 12px; border: 1px solid var(--dc-cizgi); border-radius: 8px; background: var(--dc-kart); font-size: 12.5px; color: var(--dc-yazi-ikincil);
}
body.dc-b2c .dc-zc-aktarma-kutu b { color: var(--dc-yazi); }
body.dc-b2c .dc-zc-tarife { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--dc-cizgi); }
body.dc-b2c .dc-zc-tarife__baslik { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; margin-bottom: 2px; font-size: 13.5px; font-weight: 700; color: var(--dc-yazi); }
body.dc-b2c .dc-zc-tarife__kod { font-size: 12px; font-weight: 500; color: var(--dc-yazi-ikincil); }

/* ── Tarife kartları (bir uçuşta birden çok tarife) + tarife satırları ── */
body.dc-b2c .dc-tarife-izgara {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; margin-top: 16px; padding: 20px;
    border-radius: 12px; background: var(--dc-zemin);
}
body.dc-b2c .dc-tarife-karti { display: flex; flex-direction: column; gap: 10px; padding: 16px; border: 1px solid var(--dc-cizgi); border-radius: 12px; background: var(--dc-kart); }
body.dc-b2c .dc-tarife-karti__baslik { padding: 12px; border-radius: 10px; background: var(--dc-zemin); font-size: 16px; font-weight: 700; color: var(--dc-yazi); text-align: center; }
body.dc-b2c .dc-tarife-karti__baslik--kod { font-size: 13px; font-weight: 600; }
body.dc-b2c .dc-tarife-karti__kod-etiket { color: var(--dc-yazi-ikincil); font-weight: 500; }
body.dc-b2c .dc-tarife-satirlar { margin: 0; padding: 0; list-style: none; }
body.dc-b2c .dc-tarife-satirlar--yatay { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); column-gap: 20px; }
body.dc-b2c .dc-tarife-satir { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--dc-cizgi); font-size: 13px; }
body.dc-b2c .dc-tarife-karti .dc-tarife-satir:last-child { border-bottom: 0; }
body.dc-b2c .dc-tarife-satir__ad { display: inline-flex; align-items: center; gap: 6px; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-tarife-satir__ad i { font-size: 15px; }
body.dc-b2c .dc-tarife-satir__deger { font-weight: 700; color: var(--dc-yazi); text-align: right; }
body.dc-b2c .dc-tarife-satir__deger--var { color: var(--dc-basari); }
body.dc-b2c .dc-tarife-karti__fiyat {
    display: flex; align-items: center; justify-content: center; height: 44px; margin-top: auto; border: 0; border-radius: 10px;
    background: var(--dc-bant); color: #fff; font-size: 15px; font-weight: 800; text-decoration: none;
}
body.dc-b2c .dc-tarife-karti__fiyat:hover { color: #fff; filter: brightness(1.15); }
body.dc-b2c .dc-tarife-karti__fiyat[aria-pressed="true"] { background: var(--dc-basari); }
/* #264 paketler: fiyatı alınmakta olan paket (tıklanamaz) · panelin durum satırı · dahil ek haklar (etiket). */
body.dc-b2c .dc-tarife-karti__fiyat--bekliyor,
body.dc-b2c .dc-tarife-karti__fiyat--bekliyor:hover { gap: 8px; background: var(--dc-zemin); color: var(--dc-yazi-ikincil); font-size: 13px; font-weight: 600; filter: none; cursor: default; }
body.dc-b2c .dc-paket-durum { display: flex; align-items: center; gap: 8px; margin: 10px 4px 0; font-size: 13px; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-tarife-satir--ek { justify-content: flex-start; }
body.dc-b2c .dc-tarife-ekler { display: flex; flex-wrap: wrap; gap: 6px; }
body.dc-b2c .dc-tarife-ek { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 999px; background: var(--dc-zemin); font-size: 12px; font-weight: 600; color: var(--dc-yazi); }
body.dc-b2c .dc-tarife-ek i { font-size: 14px; }
body.dc-b2c .dc-rez-ozet__paket .dc-tarife-satir:last-child { border-bottom: 0; }

/* ── Sonuç yok ── */
body.dc-b2c .dc-ucus-sonuc-yok {
    display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 44px 16px;
    border: 1px solid var(--dc-cizgi); border-radius: var(--dc-yaricap-kart); background: var(--dc-kart); text-align: center; color: var(--dc-yazi-ikincil);
}
body.dc-b2c .dc-ucus-sonuc-yok > i { font-size: 42px; opacity: .55; }
body.dc-b2c .dc-ucus-sonuc-yok p { max-width: 520px; margin: 0; font-weight: 600; color: var(--dc-yazi); }

/* ── Gidiş-dönüş alt çubuğu (tasarım notu: üst bandın rengi yarı saydam .93 + hafif bulanıklık, "Devam Et" beyaz) ── */
body.dc-b2c .dc-ucus-cubuk {
    position: fixed; left: 0; right: 0; bottom: 16px; z-index: 1040; display: flex; flex-direction: column-reverse;
    padding: 0 16px; pointer-events: none;
}
body.dc-b2c .dc-ucus-cubuk[hidden] { display: none; }
body.dc-b2c .dc-ucus-cubuk__ic {
    display: flex; align-items: center; gap: 20px; width: 100%; max-width: var(--dc-kap-genislik); margin: 0 auto; padding: 14px 22px;
    border-radius: 14px; background: rgba(var(--dc-bant-rgb), .93); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
    color: #fff; box-shadow: 0 12px 32px rgba(16, 24, 40, .28); pointer-events: auto;
}
body.dc-b2c .dc-ucus-cubuk__secim {
    flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 0; border-radius: 8px;
    background: rgba(255, 255, 255, .14); color: #fff; font-size: 13px; font-weight: 700;
}
body.dc-b2c .dc-ucus-cubuk__secim:focus-visible, body.dc-b2c .dc-ucus-cubuk__degistir:focus-visible, body.dc-b2c .dc-ucus-cubuk__devam:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
body.dc-b2c .dc-ucus-cubuk__bacaklar { flex: 1 1 auto; display: flex; align-items: center; justify-content: center; gap: 28px; min-width: 0; }
body.dc-b2c .dc-ucus-cubuk__bacak { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 0; text-align: center; }
body.dc-b2c .dc-ucus-cubuk__ayrac { align-self: stretch; width: 1px; background: rgba(255, 255, 255, .25); }
body.dc-b2c .dc-ucus-cubuk__etiket { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; opacity: .82; }
body.dc-b2c .dc-ucus-cubuk__icerik { display: flex; justify-content: center; min-width: 0; }
body.dc-b2c .dc-ucus-cubuk__ozet { display: flex; flex-direction: column; align-items: center; gap: 2px; }
body.dc-b2c .dc-ucus-cubuk__rota { display: inline-flex; align-items: center; gap: 8px; font-size: 16px; }
body.dc-b2c .dc-ucus-cubuk__logo {
    display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; overflow: hidden;
    border-radius: 4px; background: #fff; color: var(--dc-bant); font-size: 12px;
}
body.dc-b2c .dc-ucus-cubuk__logo img { width: 16px; height: 16px; object-fit: contain; }
body.dc-b2c .dc-ucus-cubuk__cizgi { width: 24px; height: 1px; background: rgba(255, 255, 255, .6); }
body.dc-b2c .dc-ucus-cubuk__zaman { font-size: 12px; opacity: .9; }
body.dc-b2c .dc-ucus-cubuk__bos { font-size: 13px; opacity: .85; }
body.dc-b2c .dc-ucus-cubuk__degistir { padding: 0; border: 0; background: none; color: #fff; font-size: 12px; font-weight: 700; text-decoration: underline; }
body.dc-b2c .dc-ucus-cubuk__degistir[hidden] { display: none; }
body.dc-b2c .dc-ucus-cubuk__toplam { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; }
body.dc-b2c .dc-ucus-cubuk__toplam strong { font-size: 20px; font-weight: 800; white-space: nowrap; }
body.dc-b2c .dc-ucus-cubuk__devam {
    flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 22px; border-radius: 10px;
    background: #fff; color: var(--dc-bant); font-size: 15px; font-weight: 800; text-decoration: none; white-space: nowrap; cursor: pointer;
}
body.dc-b2c .dc-ucus-cubuk__devam:hover { color: var(--dc-bant); }
body.dc-b2c .dc-ucus-cubuk__devam[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
/* #283 (Ot.212, K76): "Seçiminiz" paneli alt çubukla AYNI görünümde (koyu, yarı saydam + bulanıklık, beyaz yazı) — açık kart zemininde sayfanın
   kendi kartlarıyla karışıyordu (kullanıcı bildirimi, mobil + masaüstü). Arkadaki sayfa karartılmaz (kullanıcı kararı). Otelin çok odalı paneliyle tutarlı. */
body.dc-b2c .dc-ucus-cubuk__panel {
    display: flex; gap: 16px; width: 100%; max-width: var(--dc-kap-genislik); margin: 0 auto 8px; padding: 16px;
    border-radius: 14px; background: rgba(var(--dc-bant-rgb), .93); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
    color: #fff; box-shadow: 0 12px 32px rgba(16, 24, 40, .28); pointer-events: auto;
}
body.dc-b2c .dc-ucus-cubuk__panel[hidden] { display: none; }
body.dc-b2c .dc-ucus-cubuk__panel .dc-ucus-cubuk__bacak {
    flex: 1 1 0; align-items: flex-start; padding: 12px; border: 1px solid rgba(255, 255, 255, .2); border-radius: 10px;
    background: rgba(255, 255, 255, .06); text-align: left;
}
body.dc-b2c .dc-ucus-cubuk__panel .dc-ucus-cubuk__ozet { align-items: flex-start; }

/* #283 (Ot.212): tablet (768–991) — Filtre düğmesi 992'nin altında görünür (ucus-arama.css) ama onu çubuğun ÜSTÜNE taşıyan kural yalnız
   telefondaydı → 768'de tam genişlik Filtre çubuğu seçim çubuğunun üstüne biniyordu (ölçüldü). Aynı dört kural bu aralıkta da geçerli. */
@media (min-width: 768px) and (max-width: 991.98px) {
    body.dc-b2c.dc-ucus-cubuk-acik .dc-mobile-filter-btn { bottom: var(--dc-ucus-cubuk-h, 90px) !important; }
    body.dc-b2c.dc-ucus-cubuk-acik .back-to-top-icon { bottom: calc(var(--dc-ucus-cubuk-h, 90px) + 8px) !important; }
    body.dc-b2c.dc-ucus-cubuk-acik { padding-bottom: calc(var(--dc-ucus-cubuk-h, 90px) + 64px) !important; }
    body.dc-b2c.dc-ucus-panel-acik .dc-mobile-filter-btn,
    body.dc-b2c.dc-ucus-panel-acik .back-to-top-icon { visibility: hidden !important; }
}

/* Telefon: altta YALNIZ seçim çubuğu (Aşama 6 kararıyla aynı kural) — arama özeti şeridi gizli, Filtre/yukarı-çık çubuğun üstünde. */
@media (max-width: 767.98px) {
    body.dc-b2c .dc-ucus-cubuk { bottom: 0; padding: 0; }
    body.dc-b2c .dc-ucus-cubuk__ic {
        gap: 10px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); border-radius: 14px 14px 0 0;
    }
    body.dc-b2c .dc-ucus-cubuk__ic > .dc-ucus-cubuk__bacaklar { display: none; }
    body.dc-b2c .dc-ucus-cubuk__secim { padding: 8px 10px; }
    body.dc-b2c .dc-ucus-cubuk__toplam { margin-left: auto; }
    body.dc-b2c .dc-ucus-cubuk__toplam strong { font-size: 16px; }
    body.dc-b2c .dc-ucus-cubuk__devam { height: 40px; padding: 0 14px; font-size: 14px; }
    body.dc-b2c .dc-ucus-cubuk__panel { flex-direction: column; width: auto; margin: 0 8px 8px; }
    body.dc-b2c.dc-ucus-cubuk-acik .dc-sw-container.dc-sw-compact .dc-sw-summary-bottom { display: none !important; }
    body.dc-b2c.dc-ucus-cubuk-acik .dc-mobile-filter-btn { bottom: var(--dc-ucus-cubuk-h, 64px) !important; }
    body.dc-b2c.dc-ucus-cubuk-acik .back-to-top-icon { bottom: calc(var(--dc-ucus-cubuk-h, 64px) + 8px) !important; }
    body.dc-b2c.dc-ucus-cubuk-acik { padding-bottom: calc(var(--dc-ucus-cubuk-h, 64px) + 64px) !important; }
    body.dc-b2c.dc-ucus-panel-acik .dc-mobile-filter-btn,
    body.dc-b2c.dc-ucus-panel-acik .back-to-top-icon { visibility: hidden !important; }
    body.dc-b2c .dc-tarih-seridi { padding: 8px; }
    body.dc-b2c .dc-tarih-seridi__ok, body.dc-b2c .dc-tarih-seridi__ileri { display: none; }
    body.dc-b2c .dc-tarih-seridi__gunler { overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
    body.dc-b2c .dc-tarih-seridi__gunler::-webkit-scrollbar { display: none; }
    body.dc-b2c .dc-tarih-seridi__gun { flex: 0 0 auto; scroll-snap-align: center; }
    body.dc-b2c .dc-tarih-seridi__gun a { flex-direction: column; min-width: 62px; min-height: 48px; padding: 4px 6px; font-size: 13px; line-height: 1.2; }
    body.dc-b2c .dc-tarih-seridi__virgul { display: none; }
    body.dc-b2c .dc-ucus-baslik { font-size: 15px; }
    body.dc-b2c .dc-ucus-baslik__ayrac { display: none; }
    body.dc-b2c .dc-ucus-baslik__tarih { flex-basis: 100%; font-size: 13.5px; color: var(--dc-yazi-ikincil); }
}

/* =====================================================================================================================
   ÖDEME EKRANLARI — #240 Aşama 11 (Ot.199). Görseller `Ödeme Ekranı.png` (sözleşme adımı) + `Ödeme Yönlendirme Ekranı.png`.
   Görünümler `Views/Checkout/SozlesmeOnayi.cshtml` + `_OdemeSayfasi.cshtml` (uçuş ve otel aynı parça); ortak `_OdemeSureBandi` + `_OdemeOzeti`.
   Düzen, kart, özet ve Toplam kutusu rezervasyon formunun kurallarından (`.dc-rez-*`, yukarıda) gelir. ⭐ KULLANICI KARARI (14.10): 3 adım.
   ⛔ Kartın içi ödeme kuruluşunun sunumu (`_PaymentPresentation` — iç yapı DEĞİŞMEDİ, acente paneli de kullanıyor) → görünüm YALNIZ bu
   kapsayıcıyla (`.dc-odeme-sunum`). Telefon/tablet: özet kartın ÜSTÜNDE ve AÇIK (iki satır; formdaki şerit gibi katlanmaz).
   Kapı `tools/odeme-tasarim-kapisi.js`.
   ===================================================================================================================== */
/* Süre bandı — tasarımda tam genişlik, sütunların üstünde, kalan süre koyu ve kalın; ≤ 2 dk / dolunca kırmızı (`_ExpiryCountdown` → is-kritik) */
body.dc-b2c .dc-odeme .dc-teklif-bandi { margin: 0 0 24px; padding: 13px 18px; font-size: 14.5px; font-weight: 500; }
body.dc-b2c .dc-odeme .dc-teklif-bandi .dc-teklif-bandi__sure { color: inherit; }
body.dc-b2c .dc-teklif-bandi.is-kritik { border-color: #f5c2c0; background: #fdecec; color: #8a1c1c; }
body.dc-b2c .dc-teklif-bandi.is-kritik .dc-teklif-bandi__sure { color: var(--dc-tehlike); }
body.dc-b2c .dc-rez-duzen--tek { grid-template-columns: minmax(0, 1fr); }

/* Sol kart (sözleşme / kredi kartı) */
body.dc-b2c .dc-odeme-kart { padding: 26px 26px 24px; }
body.dc-b2c .dc-odeme-kart__baslik {
    display: flex; align-items: center; gap: 10px; margin: 0 0 18px; font-size: 18px; font-weight: 700; color: var(--dc-yazi);
}
body.dc-b2c .dc-odeme-kart__baslik .ti { font-size: 22px; color: var(--dc-yazi); }
body.dc-b2c .dc-odeme-kart__not {
    display: flex; align-items: flex-start; gap: 8px; margin: 0 0 8px; padding: 10px 12px; border-radius: 10px;
    background: var(--dc-zemin); color: var(--dc-yazi); font-size: 13.5px;
}

/* Sözleşme metni: kendi içinde kayar; belgenin kendi büyük başlığı kart başlığını tekrar etmez */
body.dc-b2c .dc-odeme-sozlesme__metin {
    max-height: 220px; overflow-y: auto; padding: 16px 18px; border: 1px solid var(--dc-cizgi); border-radius: var(--dc-yaricap-alan);
    background: #fff; color: var(--dc-yazi-ikincil); font-size: 13.5px; line-height: 1.7;
}
body.dc-b2c .dc-odeme-sozlesme__metin:focus-visible { outline: 2px solid var(--dc-bant); outline-offset: 2px; }
/* Belge başlığı = gövdenin İLK öğesi olan h1/h2 (yayımlanmış belgede h2, bölümler h3 — 14.10 ölçüldü; ilk sürüm h1 varsaymıştı). */
body.dc-b2c .dc-odeme-sozlesme__metin > :is(h1, h2):first-child,
body.dc-b2c .dc-odeme-sozlesme__metin > div:first-child > :is(h1, h2):first-child { display: none; }
body.dc-b2c .dc-odeme-sozlesme__metin h1,
body.dc-b2c .dc-odeme-sozlesme__metin h2,
body.dc-b2c .dc-odeme-sozlesme__metin h3,
body.dc-b2c .dc-odeme-sozlesme__metin h4 { margin: 14px 0 6px; font-size: 15px; font-weight: 700; line-height: 1.4; color: var(--dc-yazi); }
body.dc-b2c .dc-odeme-sozlesme__metin p { margin: 0 0 8px; }
body.dc-b2c .dc-odeme-sozlesme__metin strong { color: var(--dc-yazi); }
body.dc-b2c .dc-odeme-sozlesme__ac { display: inline-flex; align-items: center; gap: 5px; margin: 12px 0 0; font-size: 13.5px; color: var(--dc-bant); }
body.dc-b2c .dc-odeme-sozlesme__ac:hover { text-decoration: underline; }
body.dc-b2c .dc-odeme-sozlesme__form { margin: 0; }
body.dc-b2c .dc-odeme-onay { display: flex; align-items: flex-start; gap: 10px; margin: 18px 0 20px; padding: 0; font-size: 14.5px; color: var(--dc-yazi); }
body.dc-b2c .dc-odeme-onay .form-check-input { flex: 0 0 auto; width: 20px; height: 20px; margin: 1px 0 0; float: none; border-color: #9aa3b2; }
body.dc-b2c .dc-odeme-onay .form-check-input:checked { background-color: var(--dc-bant); border-color: var(--dc-bant); }
body.dc-b2c .dc-odeme .dc-rez-gonder { min-height: 56px; }
body.dc-b2c .dc-odeme .dc-rez-gonder:disabled { opacity: .55; filter: none; cursor: not-allowed; }

/* Bankaya yönlendirme — ödeme kuruluşunun sunumu (dört biçim). Yalnız görünüm; alanlar ve betikler `_PaymentPresentation`da. */
body.dc-b2c .dc-odeme-sunum > .text-center { padding: 26px 0 6px !important; }
body.dc-b2c .dc-odeme-sunum .spinner-border { width: 36px; height: 36px; border-width: 3px; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-odeme-sunum .text-center > p { margin: 16px 0 18px !important; font-size: 14.5px; color: var(--dc-yazi-ikincil); }
body.dc-b2c .dc-odeme-sunum .btn-primary {
    min-height: 52px; padding: 12px 28px; border: 0; border-radius: var(--dc-yaricap-dugme); background: var(--dc-bant); color: #fff;
    font-size: 16px; font-weight: 700;
}
body.dc-b2c .dc-odeme-sunum .btn-primary:hover,
body.dc-b2c .dc-odeme-sunum .btn-primary:focus-visible { background: var(--dc-bant); color: #fff; filter: brightness(1.15); }
body.dc-b2c .dc-odeme-sunum .btn-primary:disabled,
body.dc-b2c .dc-odeme-sunum .btn-primary.disabled { opacity: .55; filter: none; }
body.dc-b2c .dc-odeme-sunum .form-label { margin-bottom: 6px; font-size: 13px; font-weight: 600; color: var(--dc-yazi); }
body.dc-b2c .dc-odeme-sunum .form-control { min-height: 46px; border-color: var(--dc-cizgi); border-radius: var(--dc-yaricap-alan); font-size: 15px; }
body.dc-b2c .dc-odeme-sunum .form-control:focus { border-color: var(--dc-bant); box-shadow: 0 0 0 3px rgba(var(--dc-bant-rgb), .18); }
body.dc-b2c .dc-odeme-sunum #dc-kart-formu { padding: 6px 0 4px; }
body.dc-b2c .dc-odeme-rozetler { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 30px 0 0; padding: 0; list-style: none; }
body.dc-b2c .dc-odeme-rozetler li {
    display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border: 1px solid var(--dc-cizgi); border-radius: 8px;
    background: #fff; color: var(--dc-yazi-ikincil); font-size: 12.5px;
}
body.dc-b2c .dc-odeme-rozetler .ti { font-size: 15px; color: var(--dc-yazi); }

/* Taksit tablosu */
body.dc-b2c .dc-odeme-taksit { padding: 20px 24px 12px; }
body.dc-b2c .dc-odeme-taksit__baslik { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: 16px; font-weight: 700; color: var(--dc-yazi); }
body.dc-b2c .dc-odeme-taksit .table { --bs-table-bg: transparent; font-size: 14px; }
body.dc-b2c .dc-odeme-taksit thead th {
    padding: 8px 6px; border-bottom: 1px solid var(--dc-cizgi); background: transparent !important; font-size: 12.5px; font-weight: 600; color: var(--dc-yazi-ikincil);
}
body.dc-b2c .dc-odeme-taksit tbody td { padding: 10px 6px; border-bottom: 1px solid var(--dc-cizgi); color: var(--dc-yazi); white-space: nowrap; }
body.dc-b2c .dc-odeme-taksit tbody tr:last-child td { border-bottom: 0; }

/* Sipariş Özeti — PNR + Toplam (formun özetinden) + vergi notu */
body.dc-b2c .dc-odeme-ozet__pnr { padding: 6px 0 2px; font-size: 14px; }
body.dc-b2c .dc-odeme-ozet__pnr > strong { font-size: 15px; font-weight: 700; letter-spacing: .02em; }
body.dc-b2c .dc-odeme-ozet__depozito > strong { color: var(--dc-basari); }
body.dc-b2c .dc-odeme-ozet-kolon .dc-rez-toplam { margin-top: 14px; }
body.dc-b2c .dc-odeme-ozet__not { margin: 12px 0 0; font-size: 12.5px; color: var(--dc-yazi-ikincil); }

@media (max-width: 991.98px) {
    /* Formun şeridi burada yok: özet iki satır — kartın üstünde AÇIK durur */
    body.dc-b2c .dc-odeme .dc-rez-ozet { display: block; margin-top: 0; }
}
@media (max-width: 575.98px) {
    body.dc-b2c .dc-odeme .dc-teklif-bandi { margin-bottom: 16px; padding: 11px 14px; font-size: 13.5px; }
    body.dc-b2c .dc-odeme-kart { padding: 20px 16px 18px; }
    body.dc-b2c .dc-odeme-sozlesme__metin { max-height: 200px; padding: 12px 14px; }
    body.dc-b2c .dc-odeme-taksit { padding: 18px 14px 8px; }
    body.dc-b2c .dc-odeme-rozetler { margin-top: 22px; }
}

/* ════════════════════════════════════════════════════════════════════════════
   TEMA ZEYTİNİ KALINTISI — #240 Aşama 12 son tur (Ot.200)
   Hazır temanın `secondary` rengi zeytin yeşili (#6F7C23, style.css `!important`). Renk rolü kararında (Aşama 1, kullanıcı:
   "koyu olan renk") yeri yok: düğme / bağlantı / seçili durum = BANT rengi. Son turda ölçülen görünür yerler: 404 sayfası ·
   otel + uçuş rezervasyon detayı · iki onay sayfası ("Ana Sayfa", "Başka Rezervasyon Sorgula", "Oteller") · çerez bandı "Reddet".
   Bekçi: `tools/b2c-son-tur.js` "tasarım dışı tema rengi" ölçümü. Acente/yönetim paneli (dc-b2c yok) DEĞİŞMEZ.
   ════════════════════════════════════════════════════════════════════════════ */
body.dc-b2c .btn-outline-secondary {
    border: 1px solid var(--dc-bant) !important;
    color: var(--dc-bant) !important;
}
body.dc-b2c .btn-outline-secondary:hover,
body.dc-b2c .btn-outline-secondary:focus-visible,
body.dc-b2c .btn-outline-secondary:active,
body.dc-b2c .btn-outline-secondary.active {
    background-color: var(--dc-bant) !important;
    border-color: var(--dc-bant) !important;
    color: #fff !important;
    box-shadow: none;
}

/* ════════════════════════════════════════════════════════════════════════════
   SOLUK YAZI OKUNURLUĞU — #240 Aşama 12 son tur (Ot.200)
   Temanın `text-muted`ı (#677788, `!important`) tasarımın gri sayfa zemininde (--dc-zemin #f4f5f7) 4,21:1 veriyordu
   (`marka-okunurluk-kapisi` Y, dört kiracı × 2 genişlik: otel listesi "Arama şu anda tamamlanamadı."). Aşama 1'in öngördüğü
   risk. Müşteri sitesinde soluk yazı tasarımın kendi ikincil yazı rengini alır: #5b6475 → beyazda 5,97 · gri zeminde 5,45.
   ════════════════════════════════════════════════════════════════════════════ */
body.dc-b2c .text-muted { color: var(--dc-yazi-ikincil) !important; }

/* ════════════════════════════════════════════════════════════════════════════
   KOYU ZEMİNDE BAŞLIK — #240 Aşama 12 son tur (Ot.200)
   Tema başlıklara sabit koyu renk verir (`h1…h6 { color: #111827 }`); `text-white` kapsayıcıdaki başlık bunu devralmıyordu →
   müşteri panosundaki karşılama kartında ("Hoş Geldiniz", bant zemini) koyu yazı koyu zeminde, okunmuyordu (son tur, 5 dil).
   Bant rengi B2C'de "ana renk" rolünü aldığı için (Aşama 1) `bg-primary text-white` kartlar artık koyu: başlık kapsayıcının rengini alır.
   ════════════════════════════════════════════════════════════════════════════ */
body.dc-b2c .text-white :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) { color: inherit; }

/* ════════════════════════════════════════════════════════════════════════════
   TEHLİKE YAZISI — #240 Aşama 12 son tur (Ot.200)
   Tema `text-danger`ı saf kırmızı (#FF0000, `!important`) basar: beyazda 4,0:1 (müşteri paneli menüsü "Çıkış Yap" — son turun
   tam sayfa kontrast ölçümü). Tasarımın sabit durum rengi `--dc-tehlike` (#b42318): beyazda 6,6 · gri zeminde 6,0.
   ════════════════════════════════════════════════════════════════════════════ */
body.dc-b2c .text-danger { color: var(--dc-tehlike) !important; }

/* ════════════════════════════════════════════════════════════════════════════
   DURUM YAZI RENKLERİ — #240 Aşama 12 son tur (Ot.200)
   Tema `text-success` #04BD6C (beyazda 2,4 · yeşil rozet zemininde 1,9) ve `text-warning` #FFCA18 (beyazda 1,6 · sarı rozet
   zemininde 1,38) basar: müşteri panelindeki "Ödendi / Onaylandı" rozetleri, onay sayfalarındaki "Ödeme Bekleniyor" başlığı
   okunmuyordu (son turun tam sayfa kontrast ölçümü, 5 dil). Tasarımın SABİT durum renklerine bağlanır (her acentede aynı).
   ⭐ Yıldız simgeleri `text-warning` taşır ama yazı değil süstür → tasarımın yıldız rengi.
   ════════════════════════════════════════════════════════════════════════════ */
body.dc-b2c .text-success { color: var(--dc-basari) !important; }
body.dc-b2c .text-warning { color: var(--dc-uyari) !important; }
body.dc-b2c .text-warning:is(.fa-star, .fa-star-half-stroke, .fa-star-half-alt, [class*="isax-star"]) { color: var(--dc-yildiz) !important; }
/* Bülten mesajı alt bilgide, BANT zemininde (`site.js` text-success/text-warning ekler): bant tanım gereği beyazla en iyi okunan renk. */
body.dc-b2c #newsletterMessage.text-success,
body.dc-b2c #newsletterMessage.text-warning { color: #fff !important; }

/* ════════════════════════════════════════════════════════════════════════════
   DURUM ZEMİNLERİ VE TEHLİKE DÜĞMELERİ — #240 Aşama 12 son tur (Ot.200)
   Tema `bg-success` #04BD6C (beyaz yazıyla 2,47:1 — "Onaylandı" rozeti: rezervasyon detayı, onay sayfası), `bg-danger` #FF0000 ve
   `btn-outline-danger` / `btn-danger` #FF0000 (beyazda / beyaz yazıyla 4,0:1 — "İptal", "İptal Et", "İptal talebi oluştur") basar.
   Tasarımın sabit durum renklerine bağlanır: başarı #17663f (beyazla 7,0) · tehlike #b42318 (beyazla 6,6).
   ════════════════════════════════════════════════════════════════════════════ */
body.dc-b2c .bg-success { background-color: var(--dc-basari) !important; }
body.dc-b2c .bg-danger { background-color: var(--dc-tehlike) !important; }
body.dc-b2c .btn-outline-danger { border: 1px solid var(--dc-tehlike) !important; color: var(--dc-tehlike) !important; }
body.dc-b2c .btn-outline-danger:hover,
body.dc-b2c .btn-outline-danger:focus-visible,
body.dc-b2c .btn-outline-danger:active { background-color: var(--dc-tehlike) !important; border-color: var(--dc-tehlike) !important; color: #fff !important; box-shadow: none; }
body.dc-b2c .btn.btn-danger { background-color: var(--dc-tehlike) !important; border-color: var(--dc-tehlike) !important; color: #fff !important; }
body.dc-b2c .btn.btn-danger:hover,
body.dc-b2c .btn.btn-danger:focus-visible { filter: brightness(1.12); }
