/* =========================================================
   Ridoza — Apple v2 (TEK tutarlı tasarım sistemi)
   Tek accent: Apple mavisi. Tüm site dark/light.
   İşleyiş/Alpine/route DEĞİŞMEZ — yalnız görsel katman.
   ========================================================= */

/* ---------- Token'lar ---------- */
:root[data-theme="light"] {
    --bg: #ffffff;
    --bg2: #f5f5f7;
    --bg3: #ececee;
    --text: #1d1d1f;
    --text2: #6e6e73;
    --border: rgba(0, 0, 0, .10);
    --accent: #f97316;          /* Ridoza turuncusu */
    --accent-hover: #ea580c;
    --on-accent: #ffffff;
    --nav-bg: rgba(255, 255, 255, .72);
}
:root[data-theme="dark"] {
    --bg: #0b0f1a;              /* antrasit yüzey */
    --bg2: #161e31;             /* antrasit kart */
    --bg3: #243049;
    --text: #f5f7fa;
    --text2: #9aa6bb;
    --border: rgba(255, 255, 255, .12);
    --accent: #f97316;          /* turuncu (beyaz yazı okunur) */
    --accent-hover: #fb923c;
    --on-accent: #ffffff;
    --nav-bg: rgba(15, 20, 32, .72);
}

/* Zemin garanti (eski Tailwind bg class'larını ez) */
html { background: var(--bg); }
body.apple-ui, body.ap-ui { background: var(--bg) !important; color: var(--text) !important; }

/* ---------- Temel ---------- */
body.ap-ui {
    background: var(--bg);
    color: var(--text);
    font-family: -apple-system, "SF Pro Display", "SF Pro Text", Inter, system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
    transition: background .3s ease, color .3s ease;
}

/* ---------- App-like (mobil/tablet) temel ---------- */
html { -webkit-text-size-adjust: 100%; }
body.ap-ui { -webkit-tap-highlight-color: transparent; overscroll-behavior-y: none; }
@supports (-webkit-touch-callout: none) {
    body.ap-ui { -webkit-overflow-scrolling: touch; }
}
/* PWA standalone'da üst nav çentik/safe-area boşluğu */
@media (max-width: 768px) {
    body.ap-ui header { padding-top: env(safe-area-inset-top); }
}

/* ---------- Mobil alt sekme çubuğu (app tab bar) ---------- */
.ap-tabbar { display: none; }
.ap-tabbar-spacer { display: none; }
@media (max-width: 768px) {
    .ap-tabbar {
        display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
        justify-content: space-around; align-items: center;
        background: var(--nav-bg);
        -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px);
        border-top: 1px solid var(--border);
        padding: 8px 6px calc(8px + env(safe-area-inset-bottom));
    }
    .ap-tab {
        flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px;
        font-size: 10px; font-weight: 500; color: var(--text2); text-decoration: none;
        padding: 4px 2px; transition: color .2s, transform .2s;
    }
    .ap-tab i { font-size: 18px; }
    .ap-tab:active { transform: scale(.92); }
    .ap-tab.is-active { color: var(--accent); }
    .ap-tab-cta i {
        width: 42px; height: 42px; border-radius: 50%;
        display: flex; align-items: center; justify-content: center;
        background: var(--accent); color: #fff; margin-top: -22px;
        box-shadow: 0 6px 16px -4px var(--accent);
    }
    .ap-tab-cta { color: var(--accent); }
    .ap-tabbar-spacer { display: block; height: calc(60px + env(safe-area-inset-bottom)); }
}

/* Güven çipi — temaya duyarlı, okunur */
.ap-trust-chip {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 18px; border-radius: 980px;
    font-size: 14px; font-weight: 600;
    background: var(--bg2); color: var(--text); border: 1px solid var(--border);
    transition: transform .25s ease, box-shadow .25s ease;
}
.ap-trust-chip:hover { transform: translateY(-2px); box-shadow: 0 12px 28px -14px rgba(0, 0, 0, .4); }

/* ---------- 3D GÜÇLENDİRME (ev / tüm site) ---------- */
.ap-btn:active, .rdz-btn:active { transform: scale(.96) !important; }
.ap-reservation { transition: transform .45s cubic-bezier(.2, .8, .2, 1), box-shadow .45s ease; transform-style: preserve-3d; }
.ap-reservation:hover { transform: translateY(-4px); box-shadow: 0 50px 90px -40px rgba(0, 0, 0, .55); }
.ap-feature-icon { transition: transform .35s cubic-bezier(.2, .8, .2, 1); }
.ap-feature-card:hover .ap-feature-icon { transform: translateY(-3px) scale(1.06); }
/* Bento kartlarda daha belirgin 3D + derin gölge */
.ap-bento-card { transform-style: preserve-3d; }
.ap-bento-card:hover { box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .5); }

/* ===== Akordeon destinasyon galerisi (hover-genişleyen, 3D) ===== */
.ap-accordion { display: flex; gap: 12px; height: 460px; }
.ap-accordion__item { position: relative; flex: 1; min-width: 0; border-radius: 22px; overflow: hidden; cursor: pointer; transition: flex .6s cubic-bezier(.2, .8, .2, 1), box-shadow .4s; }
.ap-accordion__item:hover { flex: 4; box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .5); }
.ap-accordion__item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.2, .8, .2, 1); }
.ap-accordion__item:hover img { transform: scale(1.08); }
.ap-accordion__scrim { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, .85) 0%, rgba(0, 0, 0, .2) 45%, transparent 100%); }
.ap-accordion__vertical { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); writing-mode: vertical-rl; color: #fff; font-weight: 600; font-size: 17px; letter-spacing: -.01em; white-space: nowrap; opacity: 1; transition: opacity .3s; text-shadow: 0 2px 8px rgba(0, 0, 0, .6); }
.ap-accordion__item:hover .ap-accordion__vertical { opacity: 0; }
.ap-accordion__content { position: absolute; left: 24px; right: 24px; bottom: 22px; z-index: 2; opacity: 0; transform: translateY(14px); transition: opacity .4s .15s, transform .4s .15s; }
.ap-accordion__item:hover .ap-accordion__content { opacity: 1; transform: none; }
.ap-accordion__title { font-size: 30px; font-weight: 600; color: #fff; margin: 10px 0 6px; letter-spacing: -.02em; }
.ap-accordion__link { color: rgba(255, 255, 255, .92); font-size: 15px; font-weight: 500; display: inline-flex; align-items: center; gap: 4px; }
.ap-accordion__link::after { content: "\203A"; }
@media (max-width: 768px) {
    .ap-accordion { flex-direction: column; height: auto; }
    .ap-accordion__item { flex: none; height: 170px; }
    .ap-accordion__item:hover { flex: none; }
    .ap-accordion__vertical { display: none; }
    .ap-accordion__content { opacity: 1; transform: none; }
}

/* ===== 3 kademeli araç kartları (3D) ===== */
.ap-tier-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; perspective: 1200px; }
@media (max-width: 900px) { .ap-tier-grid { grid-template-columns: 1fr; } }
.ap-tier { position: relative; background: var(--bg2); border: 1px solid var(--border); border-radius: 22px; padding: 32px; overflow: hidden; transition: transform .45s cubic-bezier(.2, .8, .2, 1), box-shadow .45s, border-color .3s; transform-style: preserve-3d; }
.ap-tier:hover { transform: translateY(-10px) rotateX(4deg) rotateY(-2deg); box-shadow: 0 44px 80px -32px rgba(0, 0, 0, .45); border-color: var(--accent); }
.ap-tier--featured { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.ap-tier__badge { display: inline-block; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: var(--accent); margin-bottom: 14px; }
.ap-tier__media { height: 140px; display: flex; align-items: center; justify-content: center; margin-bottom: 18px; color: var(--accent); font-size: 56px; }
.ap-tier__media img { max-height: 140px; width: auto; object-fit: contain; transition: transform .5s; }
.ap-tier:hover .ap-tier__media img { transform: scale(1.06); }
.ap-tier__name { font-size: 26px; font-weight: 600; color: var(--text); letter-spacing: -.02em; margin: 0 0 8px; }
.ap-tier__desc { font-size: 15px; color: var(--text2); line-height: 1.5; margin: 0 0 20px; }
.ap-tier__list { list-style: none; padding: 0; margin: 0 0 24px; display: flex; flex-direction: column; gap: 10px; }
.ap-tier__list li { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--text2); }
.ap-tier__list i { color: var(--ap-green); }

/* ===== Site geneli giriş animasyonu (scroll reveal) ===== */
.ap-reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s cubic-bezier(.2, .8, .2, 1); }
.ap-reveal.is-in { opacity: 1; transform: none; }
.ap-reveal-2 { transition-delay: .1s; }
.ap-reveal-3 { transition-delay: .2s; }
@media (prefers-reduced-motion: reduce) { .ap-reveal { opacity: 1 !important; transform: none !important; } }

/* ---------- Konteyner ---------- */
.ap-container { max-width: 1280px; margin: 0 auto; padding: 0 22px; }
.ap-container-narrow { max-width: 980px; margin: 0 auto; padding: 0 22px; }

/* ---------- Tipografi ---------- */
.ap-eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; font-weight: 600; color: var(--accent); margin: 0 0 12px; }
.ap-title-hero { font-size: 80px; font-weight: 600; letter-spacing: -.022em; line-height: 1.05; color: var(--text); margin: 0; }
.ap-title-section { font-size: 48px; font-weight: 600; letter-spacing: -.022em; line-height: 1.08; color: var(--text); margin: 0; }
.ap-subhead { font-size: 28px; font-weight: 400; line-height: 1.14; color: var(--text2); margin: 0; }
.ap-body { font-size: 17px; font-weight: 400; line-height: 1.47; color: var(--text); margin: 0; }
.ap-caption { font-size: 14px; font-weight: 400; color: var(--text2); }

/* ---------- Butonlar ---------- */
.ap-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    background: var(--accent); color: var(--on-accent) !important;
    border-radius: 980px; padding: 12px 23px; font-size: 17px; font-weight: 400; line-height: 1.2;
    border: none; cursor: pointer; text-decoration: none;
    transition: background .2s ease, transform .2s ease;
}
.ap-btn:hover { background: var(--accent-hover); transform: translateY(-1px); }
.ap-btn-link {
    display: inline-flex; align-items: center; gap: 4px;
    background: none; border: none; padding: 0; color: var(--accent); font-size: 17px; font-weight: 400;
    cursor: pointer; text-decoration: none;
}
.ap-btn-link::after { content: " \203A"; }
.ap-btn-link:hover { text-decoration: underline; }
.ap-cta-pair { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }

/* ---------- Yüzeyler / Arketipler ---------- */
.ap-hero { background: var(--bg); color: var(--text); padding: 140px 0; text-align: center; }
.ap-hero .ap-cta-pair { justify-content: center; }
.ap-hero .ap-subhead { max-width: 720px; margin: 16px auto 32px; }

.ap-section { padding: 120px 0; background: var(--bg); }
.ap-section--alt { background: var(--bg2); }

.ap-feature { padding: 120px 0; }
.ap-feature__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.ap-feature--reverse .ap-feature__media { order: 2; }
.ap-media { border-radius: 22px; overflow: hidden; aspect-ratio: 4/3; background: var(--bg2); }
.ap-media img { width: 100%; height: 100%; object-fit: cover; display: block; }

.ap-card { background: var(--bg2); color: var(--text); border-radius: 22px; padding: 40px; min-height: 280px; transition: transform .3s ease; text-decoration: none; }
a.ap-card:hover { transform: translateY(-2px); }
.ap-card__title { font-size: 32px; font-weight: 600; letter-spacing: -.022em; line-height: 1.1; color: var(--text); margin: 0 0 8px; }
.ap-card__body { font-size: 17px; line-height: 1.47; color: var(--text2); margin: 0; }

.ap-stat-row { padding: 80px 0; }
.ap-stat-row__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; text-align: center; }
.ap-stat__num { font-size: 72px; font-weight: 600; letter-spacing: -.022em; line-height: 1; color: var(--accent); }
.ap-stat__label { font-size: 14px; color: var(--text2); margin-top: 12px; }

.ap-cta { padding: 120px 0; text-align: center; }
.ap-cta .ap-title-section { font-size: 56px; margin-bottom: 16px; }
.ap-cta .ap-subhead { max-width: 640px; margin: 0 auto 32px; }
.ap-cta .ap-cta-pair { justify-content: center; }

/* ---------- Step / Segment / Input ---------- */
.ap-step-row { display: flex; align-items: center; justify-content: center; gap: 8px; }
.ap-step { width: 6px; height: 6px; border-radius: 50%; background: var(--border); transition: .25s; }
.ap-step.is-active { width: 8px; height: 8px; background: var(--accent); }

.ap-input { height: 48px; width: 100%; background: var(--bg); border: 1px solid var(--border); border-radius: 12px; padding: 0 14px; font-size: 17px; color: var(--text); outline: none; transition: box-shadow .2s ease, border-color .2s ease; }
.ap-input:focus { border-color: transparent; box-shadow: 0 0 0 2px var(--accent); }

/* ---------- Bölge grid (eşit 4) ---------- */
.ap-regions-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (max-width: 980px) { .ap-regions-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .ap-regions-grid { grid-template-columns: 1fr; } }

/* ---------- Araç (filo) kartı ---------- */
.ap-vcard { background: var(--bg2); border: 1px solid var(--border); border-radius: 22px; transition: transform .3s ease; }
.ap-vcard:hover { transform: translateY(-2px); }

/* =========================================================
   REZERVASYON FORMU — temiz tema kartı (altın YOK, tek accent)
   ========================================================= */
/* Rezervasyon kartı — ALTIN YOK; bölüm temasını izler (is-dark'ta antrasit) */
.ap-reservation { background: var(--bg2); border: 1px solid var(--border); border-radius: 22px; padding: 32px; max-width: 1120px; margin: 0 auto; }
/* Aktif sekme + "Araçları Göster" butonu: TURUNCU + beyaz yazı */
body.ap-ui .ap-reservation .bg-gradient-to-r,
body.ap-ui .ap-reservation .bg-emerald-500,
body.ap-ui .ap-reservation .bg-emerald-600 { background: var(--ap-orange) !important; background-image: none !important; color: #fff !important; }
body.ap-ui .ap-reservation .form-panel { background: transparent !important; border: none !important; box-shadow: none !important; }
body.ap-ui .ap-reservation input[type="text"],
body.ap-ui .ap-reservation input[type="date"],
body.ap-ui .ap-reservation input[type="time"],
body.ap-ui .ap-reservation input[type="email"],
body.ap-ui .ap-reservation input[type="tel"] {
    background: var(--bg) !important; border: 1px solid var(--border) !important; color: var(--text) !important; border-radius: 12px !important;
}
body.ap-ui .ap-reservation input:focus { border-color: transparent !important; box-shadow: 0 0 0 2px var(--accent) !important; }
body.ap-ui .ap-reservation .map-panel { border-radius: 22px !important; }

/* =========================================================
   TEMA HARİTASI — mevcut dark-Tailwind class'larını token'a bağla
   (tüm sayfa tek tema motoruyla dark/light olur)
   ========================================================= */

/* Koyu zeminler → sayfa zemini */
body.ap-ui .bg-\[\#0b0f1a\],
body.ap-ui .bg-\[\#0d1117\],
body.ap-ui .bg-\[\#06090f\],
body.ap-ui .bg-\[\#161b22\],
body.ap-ui .bg-\[\#0f172a\] { background-color: var(--bg) !important; }

/* Koyu kart zeminleri → yüzey */
body.ap-ui .bg-\[\#121824\],
body.ap-ui .bg-\[\#1c2333\],
body.ap-ui .bg-\[\#1a2235\],
body.ap-ui .bg-\[\#2a3650\],
body.ap-ui .bg-\[\#1e2638\],
body.ap-ui .bg-\[\#111827\],
body.ap-ui .bg-secondary-800,
body.ap-ui .bg-secondary-900,
body.ap-ui .bg-secondary-950,
body.ap-ui .bg-slate-800,
body.ap-ui .bg-slate-900 { background-color: var(--bg2) !important; }

/* Metin */
body.ap-ui .text-white,
body.ap-ui .text-secondary-100,
body.ap-ui .text-secondary-200,
body.ap-ui .text-slate-100,
body.ap-ui .text-slate-200 { color: var(--text) !important; }
body.ap-ui .text-slate-300,
body.ap-ui .text-slate-400,
body.ap-ui .text-slate-500,
body.ap-ui .text-slate-600,
body.ap-ui .text-secondary-400,
body.ap-ui .text-secondary-500,
body.ap-ui .text-white\/70,
body.ap-ui .text-white\/80 { color: var(--text2) !important; }

/* Kenarlıklar */
body.ap-ui .border-white\/5,
body.ap-ui .border-white\/10,
body.ap-ui .border-white\/15,
body.ap-ui .border-white\/20 { border-color: var(--border) !important; }

/* Accent eşlemesi (turuncu/yeşil/teal → tek mavi accent) */
body.ap-ui .text-orange-400, body.ap-ui .text-orange-500, body.ap-ui .text-orange-600,
body.ap-ui .text-emerald-400, body.ap-ui .text-emerald-500, body.ap-ui .text-emerald-600,
body.ap-ui .text-primary-400, body.ap-ui .text-primary-500 { color: var(--accent) !important; }

body.ap-ui .bg-orange-500, body.ap-ui .bg-orange-600,
body.ap-ui .bg-emerald-500, body.ap-ui .bg-emerald-600,
body.ap-ui .bg-green-500, body.ap-ui .bg-green-600,
body.ap-ui .bg-teal-500, body.ap-ui .bg-primary-500, body.ap-ui .bg-primary-600 {
    background-color: var(--accent) !important; background-image: none !important;
}

/* Dolu accent buton/rozet üzerindeki yazı beyaz kalsın (kontrast) */
body.ap-ui .ap-btn,
body.ap-ui .bg-orange-500, body.ap-ui .bg-orange-600,
body.ap-ui .bg-emerald-500, body.ap-ui .bg-emerald-600,
body.ap-ui .bg-green-500, body.ap-ui .bg-green-600,
body.ap-ui .bg-teal-500, body.ap-ui .bg-primary-500, body.ap-ui .bg-primary-600,
body.ap-ui .bg-blue-600, body.ap-ui .bg-blue-500 { color: #fff !important; }

/* Başvuru inputları */
body.ap-ui .input-glass { background: var(--bg) !important; border: 1px solid var(--border) !important; border-radius: 12px !important; color: var(--text) !important; }
body.ap-ui .input-glass:focus { border-color: transparent !important; box-shadow: 0 0 0 2px var(--accent) !important; }
body.ap-ui input[type="checkbox"], body.ap-ui input[type="radio"] { accent-color: var(--accent); }

/* =========================================================
   ÜST NAV — Apple glass (her iki tema)
   ========================================================= */
body.ap-ui header {
    background: var(--nav-bg) !important;
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    backdrop-filter: saturate(180%) blur(20px);
    border-bottom: 1px solid var(--border) !important;
    color: var(--text);
}
body.ap-ui header .nav-link { color: var(--text); }
body.ap-ui header .nav-link:hover { color: var(--accent); }
body.ap-ui #mobileMenu { background: var(--nav-bg) !important; -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); }

/* =========================================================
   v2.1 — Derinlik (3D) + hover etkileşimi (tüm site)
   ========================================================= */
body.ap-ui { perspective: 1400px; }

/* Kartlara yumuşak derinlik */
.ap-vcard, .ap-card, .bento-card, .partner-card {
    box-shadow: 0 1px 2px rgba(0, 0, 0, .05), 0 14px 34px -20px rgba(0, 0, 0, .20);
}

/* 3D hover — kartlar yükselir + hafif eğilir + accent halka */
.ap-vcard, a.ap-card, .ap-card, .bento-card, .partner-card, .ap-regions-grid > * {
    transition: transform .4s cubic-bezier(.2, .8, .2, 1), box-shadow .4s ease, border-color .3s ease;
    transform-style: preserve-3d;
}
.ap-vcard:hover, a.ap-card:hover, .bento-card:hover, .partner-card:hover, .ap-regions-grid > *:hover, .ap-bento-card:hover {
    transform: perspective(900px) translateY(-8px) rotateX(3deg) rotateY(-3deg) scale(1.02);
    box-shadow: 0 36px 70px -28px rgba(0, 0, 0, .42), 0 0 0 1px var(--accent);
    border-color: var(--accent);
}

/* Kart görsellerine hover zoom */
.ap-vcard img, .ap-regions-grid > * img { transition: transform .6s cubic-bezier(.2, .8, .2, 1); }
.ap-vcard:hover img, .ap-regions-grid > *:hover img { transform: scale(1.06); }

/* Butonlar — hover'da renk değişimi + kalkış + gölge (TÜM SİTE) */
.ap-btn,
body.ap-ui .bg-orange-500, body.ap-ui .bg-orange-600,
body.ap-ui .bg-emerald-500, body.ap-ui .bg-emerald-600,
body.ap-ui .bg-green-500, body.ap-ui .bg-green-600,
body.ap-ui .bg-teal-500, body.ap-ui .bg-primary-500, body.ap-ui .bg-primary-600,
body.ap-ui .bg-blue-500, body.ap-ui .bg-blue-600, body.ap-ui .rdz-btn {
    transition: background-color .25s ease, transform .25s ease, box-shadow .25s ease, filter .25s ease !important;
}
.ap-btn:hover,
body.ap-ui .bg-orange-500:hover, body.ap-ui .bg-orange-600:hover,
body.ap-ui .bg-emerald-500:hover, body.ap-ui .bg-emerald-600:hover,
body.ap-ui .bg-green-500:hover, body.ap-ui .bg-green-600:hover,
body.ap-ui .bg-teal-500:hover, body.ap-ui .bg-primary-500:hover, body.ap-ui .bg-primary-600:hover,
body.ap-ui .bg-blue-500:hover, body.ap-ui .bg-blue-600:hover, body.ap-ui .rdz-btn:hover {
    background-color: var(--accent-hover) !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 26px -8px var(--accent) !important;
    filter: brightness(1.06);
}
.ap-btn-link:hover { color: var(--accent-hover); }

/* Form butonu (rezervasyon) hover da accent-hover */
body.ap-ui .ap-reservation .bg-gradient-to-r:hover { background-color: var(--accent-hover) !important; }

/* ---------- Mobil ölçek ---------- */
@media (max-width: 734px) {
    .ap-title-hero { font-size: 44px; }
    .ap-title-section { font-size: 30px; }
    .ap-cta .ap-title-section { font-size: 34px; }
    .ap-subhead { font-size: 19px; }
    .ap-stat__num { font-size: 48px; }
    .ap-hero { padding: 96px 0; }
    .ap-feature, .ap-cta { padding: 80px 0; }
    .ap-feature__grid { grid-template-columns: 1fr; gap: 32px; }
    .ap-stat-row__grid { grid-template-columns: 1fr; gap: 40px; }
    .ap-reservation { padding: 20px; }
}

/* =========================================================
   DÜZELTME — maviyi kaldır, kontrast garanti, overlay kartlar
   ========================================================= */

/* 1) Kalan mavileri turuncuya çevir (WhatsApp yeşili korunur) */
body.ap-ui .text-blue-400, body.ap-ui .text-blue-500, body.ap-ui .text-blue-600 { color: var(--accent) !important; }
body.ap-ui .bg-blue-500, body.ap-ui .bg-blue-600 { background-color: var(--accent) !important; }

/* 2) Bölüm tema sınıfları — bg + metin BİRLİKTE (kontrast asla kırılmaz) */
.is-light { background: #ffffff !important; color: #1d1d1f !important; }
.is-light-warm { background: #f5f5f7 !important; color: #1d1d1f !important; }
.is-dark { background: #0b0f1a !important; color: #f5f7fa !important; }

.is-light .ap-title-hero, .is-light .ap-title-section,
.is-light-warm .ap-title-hero, .is-light-warm .ap-title-section { color: #1d1d1f !important; }
.is-light .ap-subhead, .is-light-warm .ap-subhead { color: #6e6e73 !important; }
.is-dark .ap-title-hero, .is-dark .ap-title-section { color: #f5f7fa !important; }
.is-dark .ap-subhead { color: #9aa6bb !important; }
.is-light .ap-eyebrow, .is-light-warm .ap-eyebrow, .is-dark .ap-eyebrow { color: var(--accent) !important; }

/* Açık bölümde beyaz/açık metni KOYULA — toggle'dan bağımsız kontrast */
.is-light [class*="text-white"], .is-light-warm [class*="text-white"] { color: #1d1d1f !important; }
.is-light .text-slate-300, .is-light .text-slate-400, .is-light .text-slate-500,
.is-light-warm .text-slate-300, .is-light-warm .text-slate-400, .is-light-warm .text-slate-500 { color: #6e6e73 !important; }
/* Koyu bölümde metni AÇIK tut */
.is-dark [class*="text-white"] { color: #f5f7fa !important; }

/* 3) Metin-link (chevron animasyonlu) */
.ap-btn-link { color: var(--accent); font-size: 17px; font-weight: 500; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }
.ap-btn-link:hover { text-decoration: underline; }
.ap-btn-link::after { content: "\203A"; font-size: 1.1em; transition: transform .3s; }
.ap-btn-link:hover::after { transform: translateX(3px); }

/* 4) Etiket (havalimanı) — turuncu cam */
.ap-tag { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; background: rgba(249, 115, 22, .12); color: var(--accent); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; border-radius: 6px; }

/* 5) Fiyat pill — beyaz cam, koyu yazı */
.ap-price-pill { position: absolute; top: 16px; right: 16px; z-index: 2; padding: 8px 14px; background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: #1d1d1f; border-radius: 980px; box-shadow: 0 4px 12px rgba(0, 0, 0, .15); display: flex; gap: 8px; align-items: center; }
.ap-price-pill .label { color: #6e6e73; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.ap-price-pill .price { font-size: 15px; font-weight: 600; }

/* 6) Bento kart — full görsel + alta koyulaşan gradient + beyaz başlık overlay */
.ap-bento-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; max-width: 1280px; margin: 0 auto; }
@media (max-width: 1024px) { .ap-bento-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .ap-bento-grid { grid-template-columns: 1fr; } }

.ap-bento-card { position: relative; border-radius: 22px; overflow: hidden; aspect-ratio: 4/3; cursor: pointer; transition: transform .4s cubic-bezier(.2, .8, .2, 1), box-shadow .4s; }
.ap-bento-card:hover { transform: translateY(-6px); box-shadow: 0 30px 60px -26px rgba(0, 0, 0, .4); }
.ap-bento-media { position: absolute; inset: 0; overflow: hidden; }
.ap-bento-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2, .8, .2, 1); }
.ap-bento-card:hover .ap-bento-media img { transform: scale(1.05); }
.ap-bento-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 0%, transparent 35%, rgba(0, 0, 0, .45) 65%, rgba(0, 0, 0, .85) 100%); pointer-events: none; }
.ap-bento-overlay { position: absolute; left: 24px; right: 24px; bottom: 24px; z-index: 2; }
.ap-bento-title { font-size: 26px; font-weight: 600; color: #fff; letter-spacing: -.02em; line-height: 1.1; margin: 0 0 8px; }
.ap-bento-link { color: rgba(255, 255, 255, .92); font-size: 15px; font-weight: 500; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }
.ap-bento-link::after { content: "\203A"; transition: transform .3s; }
.ap-bento-card:hover .ap-bento-link::after { transform: translateX(3px); }
.ap-tag-overlay { position: absolute; top: 16px; left: 16px; z-index: 2; background: rgba(255, 255, 255, .92) !important; color: #1d1d1f !important; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }

/* Gri (warm) panel üstünde araç kartları beyaz → kontrast */
.is-light-warm .ap-vcard { background: var(--bg) !important; border-color: var(--border) !important; }
.is-light-warm .ap-vcard [class*="text-white"] { color: #1d1d1f !important; }
.is-light-warm .ap-vcard [class*="text-slate"] { color: #6e6e73 !important; }

/* =========================================================
   V3 — GRADIENT YASAĞI + 4-RENK (MAVİSİZ) DİSİPLİNİ
   Ana renk turuncu, güvence yeşil, nötr zeminler. Mavi YOK.
   ========================================================= */
:root {
    --ap-white: #ffffff;
    --ap-soft: #f5f5f7;
    --ap-graphite: #0b0f1a;
    --ap-graphite2: #161e31;
    --ap-orange: #f97316;
    --ap-orange-h: #fb923c;
    --ap-green: #22c55e;
    --ap-text-d: #1d1d1f;
    --ap-text-m: #6e6e73;
    --ap-text-l: #f5f5f7;
    --ap-text-lm: #a1a1a6;
}

/* 1) GRADIENT KATLİAMI — hiçbir zemin gradient değil */
.apple-ui [class*="bg-gradient"], .ap-ui [class*="bg-gradient"],
body.ap-ui [class*="bg-gradient-to"] { background-image: none !important; }
.rdz-parallax-bg { display: none !important; }
body.ap-ui .glass-widget { background: var(--ap-white) !important; }
:root[data-theme="dark"] body.ap-ui .glass-widget { background: var(--ap-graphite2) !important; }
/* mavi kalıntı temizliği (renk + tint) */
body.ap-ui [class*="text-blue"] { color: var(--ap-orange) !important; }
body.ap-ui .bg-blue-500, body.ap-ui .bg-blue-600 { background-color: var(--ap-orange) !important; }
body.ap-ui [class*="from-blue"], body.ap-ui [class*="to-blue"], body.ap-ui [class*="via-blue"] { --tw-gradient-from: var(--ap-orange) !important; --tw-gradient-to: var(--ap-orange) !important; }

/* 2) Bölüm sınıfları (düz dolgu) */
.ap-section { padding: 120px 24px; }
@media (max-width: 768px) { .ap-section { padding: 80px 20px; } }
/* is-* token'ları YENİDEN TANIMLAR → tüm iç öğeler bölüm temasına uyar */
/* is-* bölümleri GLOBAL temayı izler — tek toggle tüm sayfayı çevirir */
.is-light { background: var(--bg) !important; color: var(--text) !important; }
.is-soft, .is-light-warm { background: var(--bg2) !important; color: var(--text) !important; }
.is-dark { background: var(--bg) !important; color: var(--text) !important; }
.is-light .ap-title-hero, .is-light .ap-title-section,
.is-soft .ap-title-hero, .is-soft .ap-title-section,
.is-light-warm .ap-title-section,
.is-dark .ap-title-hero, .is-dark .ap-title-section, .is-dark .ap-title { color: var(--text) !important; }
.is-light .ap-subhead, .is-soft .ap-subhead, .is-light-warm .ap-subhead, .is-dark .ap-subhead { color: var(--text2) !important; }
.is-light [class*="text-white"], .is-soft [class*="text-white"], .is-light-warm [class*="text-white"], .is-dark [class*="text-white"] { color: var(--text) !important; }
.is-light [class*="text-slate"], .is-soft [class*="text-slate"], .is-light-warm [class*="text-slate"], .is-dark [class*="text-slate"] { color: var(--text2) !important; }

/* 3) Özellik kartı (flat, gradient yok) */
.ap-feature-card { background: var(--bg2); border: 1px solid var(--border); border-radius: 22px; padding: 40px; transition: transform .4s cubic-bezier(.2, .8, .2, 1), box-shadow .4s; }
.ap-feature-card:hover { transform: translateY(-4px); box-shadow: 0 20px 50px -20px rgba(0, 0, 0, .12); }
.is-dark .ap-feature-card { background: var(--bg2); border-color: var(--border); }
.ap-feature-icon { width: 44px; height: 44px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 20px; background: var(--ap-orange); margin-bottom: 24px; }
.ap-feature-icon.is-blue { background: var(--ap-orange); }   /* mavi yok → turuncu */
.ap-feature-icon.is-green { background: var(--ap-green); }
.ap-feature-title { font-size: 22px; font-weight: 600; letter-spacing: -.015em; line-height: 1.18; margin: 0 0 12px; color: var(--ap-text-d); }
.is-dark .ap-feature-title { color: var(--ap-text-l); }
.ap-feature-body { font-size: 15px; line-height: 1.55; margin: 0 0 20px; color: var(--ap-text-m); }
.is-dark .ap-feature-body { color: var(--ap-text-lm); }

/* 4) Pill / Row — kontrast garantisi */
.ap-pill { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; background: var(--ap-soft); color: var(--ap-text-d); border-radius: 980px; font-size: 14px; font-weight: 500; }
.ap-pill .check { color: var(--ap-green); }
.is-dark .ap-pill { background: rgba(255, 255, 255, .08); color: var(--ap-text-l); }
.ap-row { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; background: var(--ap-soft); border-radius: 14px; }
.ap-row .label { color: var(--ap-text-d); font-weight: 500; }
.ap-row .price { color: var(--ap-orange); font-weight: 600; }
.is-dark .ap-row { background: rgba(255, 255, 255, .06); }
.is-dark .ap-row .label { color: var(--ap-text-l); }

/* 5) Eyebrow turuncu (marka) */
.ap-eyebrow { color: var(--ap-orange) !important; }

/* 6) Canlı mini-kart */
.ap-mini-card { background: var(--bg); border: 1px solid var(--border); border-radius: 14px; padding: 16px 18px; display: flex; justify-content: space-between; align-items: center; }
.is-dark .ap-mini-card { background: var(--bg2); border-color: var(--border); }
.ap-mini-card .flight { font-size: 14px; color: var(--ap-text-m); }
.ap-mini-card .route { font-size: 18px; font-weight: 600; color: var(--ap-text-d); }
.is-dark .ap-mini-card .route { color: var(--ap-text-l); }
.ap-mini-card .live { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--ap-green); font-weight: 500; }
.ap-mini-card .live::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ap-green); animation: appulse 2s infinite; }
@keyframes appulse { 0%, 100% { opacity: 1; } 50% { opacity: .4; } }

/* Ic ice acik panel (is-dark icinde is-light/soft) baslik+metin kontrast garantisi */
.is-light .ap-title-hero, .is-light .ap-title-section,
.is-soft .ap-title-hero, .is-soft .ap-title-section,
.is-light-warm .ap-title-hero, .is-light-warm .ap-title-section { color: var(--text) !important; }
.is-light .ap-subhead, .is-soft .ap-subhead, .is-light-warm .ap-subhead { color: var(--text2) !important; }
.is-light .ap-eyebrow, .is-soft .ap-eyebrow, .is-light-warm .ap-eyebrow { color: var(--accent) !important; }

/* ===== Premium bolge bento galerisi (one cikan buyuk kart + 3D) ===== */
.ap-dest-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 230px; gap: 16px; }
.ap-dest-grid .ap-bento-card { aspect-ratio: auto; height: 100%; }
.ap-dest-grid > .ap-bento-card:first-child { grid-column: span 2; grid-row: span 2; }
.ap-dest-grid > .ap-bento-card:first-child .ap-bento-title { font-size: 40px; }
@media (max-width: 1024px) { .ap-dest-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 200px; } }
@media (max-width: 560px) { .ap-dest-grid { grid-template-columns: 1fr; grid-auto-rows: 220px; } .ap-dest-grid > .ap-bento-card:first-child { grid-column: span 1; grid-row: span 1; } .ap-dest-grid > .ap-bento-card:first-child .ap-bento-title { font-size: 28px; } }
.ap-dest-hero-stats { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 28px; }

/* ===== WhatsApp yuzar buton (FAB) ===== */
.ap-wa-fab { position: fixed; left: 20px; bottom: 24px; z-index: 70; width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #25D366; color: #fff; font-size: 28px; box-shadow: 0 10px 30px -6px rgba(37,211,102,.6); transition: transform .25s ease, box-shadow .25s ease; text-decoration: none; }
.ap-wa-fab:hover { transform: scale(1.08); box-shadow: 0 16px 40px -8px rgba(37,211,102,.7); color: #fff; }
.ap-wa-fab::after { content: ""; position: absolute; inset: 0; border-radius: 50%; animation: apWaPulse 2.4s infinite; }
@keyframes apWaPulse { 0% { box-shadow: 0 0 0 0 rgba(37,211,102,.45); } 70% { box-shadow: 0 0 0 16px rgba(37,211,102,0); } 100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); } }
@media (max-width: 768px) { .ap-wa-fab { bottom: calc(76px + env(safe-area-inset-bottom)); left: 16px; width: 52px; height: 52px; font-size: 26px; } }

/* ===== Havalimanlari vitrini (3D cipler) ===== */
.ap-airport-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; perspective: 1000px; }
@media (max-width: 900px) { .ap-airport-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .ap-airport-grid { grid-template-columns: 1fr; } }
.ap-airport-card { display: flex; align-items: center; gap: 14px; background: var(--bg2); border: 1px solid var(--border); border-radius: 18px; padding: 18px; cursor: pointer; transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s, border-color .3s; transform-style: preserve-3d; text-decoration: none; }
.ap-airport-card:hover { transform: translateY(-6px) rotateX(5deg); box-shadow: 0 30px 60px -28px rgba(0,0,0,.4); border-color: var(--accent); }
.ap-airport-code { width: 48px; height: 48px; flex-shrink: 0; border-radius: 12px; background: var(--accent); color: #fff; font-weight: 700; font-size: 13px; display: flex; align-items: center; justify-content: center; letter-spacing: .04em; }
.ap-airport-name { font-size: 16px; font-weight: 600; color: var(--text); }
.ap-airport-region { font-size: 12px; color: var(--text2); margin-top: 2px; }
.ap-airport-arrow { margin-left: auto; color: var(--text2); transition: transform .3s, color .3s; }
.ap-airport-card:hover .ap-airport-arrow { color: var(--accent); transform: translateX(4px); }

/* ===========================================================
   AKTİF TEMA TOGGLE — data-theme=dark iken açık bölümler de koyulaşır.
   Varsayılan (light) = tasarlanan görünüm; tıklayınca tüm sayfa koyu.
   =========================================================== */
:root[data-theme="dark"] body.ap-ui .is-light,
:root[data-theme="dark"] body.ap-ui .is-soft,
:root[data-theme="dark"] body.ap-ui .is-light-warm {
    --bg: #0b0f1a; --bg2: #161e31; --bg3: #243049;
    --text: #f5f7fa; --text2: #9aa6bb; --border: rgba(255, 255, 255, .12);
    --accent: #f97316; --accent-hover: #fb923c;
    background: #0b0f1a !important; color: #f5f7fa !important;
}
:root[data-theme="dark"] body.ap-ui .is-light [class*="text-white"],
:root[data-theme="dark"] body.ap-ui .is-soft [class*="text-white"],
:root[data-theme="dark"] body.ap-ui .is-light-warm [class*="text-white"] { color: #f5f7fa !important; }
:root[data-theme="dark"] body.ap-ui .is-light [class*="text-slate"],
:root[data-theme="dark"] body.ap-ui .is-soft [class*="text-slate"],
:root[data-theme="dark"] body.ap-ui .is-light-warm [class*="text-slate"] { color: #9aa6bb !important; }
:root[data-theme="dark"] body.ap-ui .is-light .ap-title-hero,
:root[data-theme="dark"] body.ap-ui .is-light .ap-title-section,
:root[data-theme="dark"] body.ap-ui .is-soft .ap-title-section,
:root[data-theme="dark"] body.ap-ui .is-light-warm .ap-title-section { color: #f5f7fa !important; }
:root[data-theme="dark"] body.ap-ui .is-light .ap-subhead,
:root[data-theme="dark"] body.ap-ui .is-soft .ap-subhead,
:root[data-theme="dark"] body.ap-ui .is-light-warm .ap-subhead { color: #9aa6bb !important; }
:root[data-theme="dark"] body.ap-ui .is-light-warm .ap-vcard { background: var(--bg) !important; border-color: var(--border) !important; }

/* ===== Hero rozet + 3D başlık ===== */
.ap-hero-badge { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 980px; background: rgba(249,115,22,.12); color: var(--accent); font-size: 13px; font-weight: 600; border: 1px solid var(--border); }
.ap-hero-3d { text-shadow: 0 1px 0 rgba(0,0,0,.25), 0 3px 10px rgba(0,0,0,.4), 0 12px 34px rgba(249,115,22,.20); letter-spacing: -.03em; }

/* Body'nin kendisi is-light olduğunda (checkout vb.) koyu modda da koyulaşsın */
:root[data-theme="dark"] body.ap-ui.is-light,
:root[data-theme="dark"] body.ap-ui.is-soft,
:root[data-theme="dark"] body.ap-ui.is-light-warm {
    --bg: #0b0f1a; --bg2: #161e31; --bg3: #243049; --text: #f5f7fa; --text2: #9aa6bb;
    --border: rgba(255,255,255,.12); --accent: #f97316; --accent-hover: #fb923c;
    background: #0b0f1a !important; color: #f5f7fa !important;
}

/* ===== Hero rozet: yanıp sönen yeşil + hareketli 3D başlık ===== */
.ap-hero-badge { background: rgba(34,197,94,.12) !important; color: #22c55e !important; border: 1px solid rgba(34,197,94,.35) !important; }
.ap-hero-badge__dot { width: 9px; height: 9px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 0 rgba(34,197,94,.6); animation: apGreenPulse 1.5s infinite; flex-shrink: 0; }
@keyframes apGreenPulse {
    0%   { box-shadow: 0 0 0 0 rgba(34,197,94,.6); opacity: 1; }
    70%  { box-shadow: 0 0 0 10px rgba(34,197,94,0); opacity: .65; }
    100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); opacity: 1; }
}

/* "Ridoza VIP" — hareketli shimmer + 3D derinlik (temaya duyarlı) */
.ap-hero-anim {
    background: linear-gradient(110deg, var(--text) 28%, var(--accent) 50%, var(--text) 72%);
    background-size: 220% 100%;
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: transparent;
    filter: drop-shadow(0 4px 16px rgba(249,115,22,.35)) drop-shadow(0 1px 0 rgba(0,0,0,.35));
    letter-spacing: -.03em;
    animation: apShimmer 3.6s linear infinite;
}
@keyframes apShimmer { 0% { background-position: 200% 0; } 100% { background-position: -40% 0; } }
@media (prefers-reduced-motion: reduce) { .ap-hero-anim { animation: none; } .ap-hero-badge__dot { animation: none; } }

/* ===== Logo: taç doğal turuncu kalsın (mono'da beyazlaşmasın); wordmark temaya uyar ===== */
body.ap-ui .rdz-mono .rdz-icon { filter: drop-shadow(0 4px 10px rgba(249,115,22,.45)) !important; }
