/* Trip Agent tanıtım sitesi.
   Marka: lacivert + altın (uygulamayla aynı). Tek gösterişli öğe hero'daki kalkış tabelası;
   gerisi sakin: açık zemin, ince çizgiler, gerçek ekran görüntüleri. */

:root {
    --lacivert: #14304F;
    --gece: #0F2742;
    --gece-2: #173A5E;
    --altin: #D9A441;
    --altin-koyu: #A5843C;
    --rota: #7FA3CC;
    --kagit: #F4F6F9;
    --beyaz: #FFFFFF;
    --murekkep: #1C2B3A;
    --ikincil: #55606E;
    --cizgi: #DCE3EC;
    --cizgi-koyu: rgba(255, 255, 255, .12);
    --tabela: #0C2036;
    --tabela-kare: #142D49;
    --tabela-yazi: #F2C268;
    --yesil: #6FCF97;

    --display: 'Bricolage Grotesque', 'Inter', system-ui, sans-serif;
    --metin: 'Inter', 'Segoe UI', system-ui, sans-serif;
    --tabela-font: 'JetBrains Mono', ui-monospace, 'Cascadia Mono', monospace;

    --kap: 1200px;
    --bosluk: clamp(64px, 9vw, 120px);
    --r-kucuk: 8px;
    --r: 14px;
    --r-buyuk: 22px;
    --golge: 0 1px 2px rgba(15, 39, 66, .06), 0 24px 60px rgba(15, 39, 66, .16);
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
    margin: 0;
    background: var(--kagit);
    color: var(--murekkep);
    font: 400 17px/1.6 var(--metin);
    -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
h1, h2, h3 { font-family: var(--display); line-height: 1.08; margin: 0; letter-spacing: -0.02em; }
p { margin: 0; }

:focus-visible { outline: 3px solid var(--altin); outline-offset: 3px; border-radius: 4px; }
.gorunmez { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.atla { position: absolute; left: 16px; top: -60px; z-index: 50; background: var(--altin); color: var(--gece); padding: 10px 16px; border-radius: var(--r-kucuk); font-weight: 600; }
.atla:focus { top: 12px; }

.kap { width: 100%; max-width: var(--kap); margin: 0 auto; padding: 0 24px; }
.kap-dar { max-width: 820px; }

/* ── Düğmeler ── */
.dugme {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 44px; padding: 0 20px; border-radius: 999px;
    font: 600 15px/1 var(--metin); text-decoration: none; cursor: pointer;
    border: 1.5px solid transparent; transition: background-color .18s, color .18s, border-color .18s, transform .18s;
}
.dugme-buyuk { min-height: 52px; padding: 0 26px; font-size: 16px; }
.dugme-altin { background: var(--altin); color: var(--gece); }
.dugme-altin:hover { background: #E6B556; }
.dugme-altin:active { transform: translateY(1px); }
.dugme-cizgi { border-color: rgba(255, 255, 255, .35); color: #fff; }
.dugme-cizgi:hover { border-color: #fff; background: rgba(255, 255, 255, .06); }
.dugme-lacivert { background: var(--lacivert); color: #fff; }
.dugme-lacivert:hover { background: var(--gece-2); }
.dugme-pasif { background: var(--cizgi); color: var(--ikincil); cursor: default; }

/* ── Üst çubuk ── */
.ust {
    position: sticky; top: 0; z-index: 30;
    background: rgba(15, 39, 66, .86);
    -webkit-backdrop-filter: blur(14px) saturate(140%); backdrop-filter: blur(14px) saturate(140%);
    border-bottom: 1px solid var(--cizgi-koyu);
}
.ust-ic { display: flex; align-items: center; justify-content: space-between; height: 72px; }
.logo img { width: 150px; height: auto; }
.menu { display: flex; align-items: center; gap: 28px; }
.menu a:not(.dugme) { color: #C9D6E5; text-decoration: none; font-weight: 500; font-size: 15px; }
.menu a:not(.dugme):hover { color: #fff; }
.menu-dugme { display: none; background: none; border: 0; color: #fff; width: 44px; height: 44px; border-radius: var(--r-kucuk); cursor: pointer; }

/* ── Hero ── */
.hero {
    position: relative; color: #EAF0F7; overflow: hidden;
    background:
        radial-gradient(900px 520px at 85% 8%, rgba(127, 163, 204, .22), transparent 60%),
        radial-gradient(700px 500px at 0% 100%, rgba(217, 164, 65, .14), transparent 60%),
        linear-gradient(180deg, var(--gece) 0%, var(--lacivert) 100%);
    padding-top: clamp(48px, 7vw, 96px);
}
/* Rota çizgisi: logodaki kavis gibi hero'yu çaprazlayan ince yol. */
.hero::before {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: radial-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px) 0 0 / 26px 26px;
    -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 70%); mask-image: linear-gradient(180deg, #000 0%, transparent 70%);
}
.hero-ic { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 590px); gap: 48px; align-items: center; }
.hero h1 { font-size: clamp(40px, 5.6vw, 72px); font-weight: 800; color: #fff; max-width: 13ch; }
.hero-alt { margin-top: 22px; font-size: clamp(17px, 1.4vw, 19px); color: #BFCCDB; max-width: 52ch; }
.hero-eylem { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.hero-maddeler { list-style: none; padding: 0; margin: 28px 0 0; display: flex; flex-wrap: wrap; gap: 8px 22px; color: #9FB3C9; font-size: 14.5px; }
.hero-maddeler li { display: flex; align-items: center; gap: 8px; }
.hero-maddeler li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--altin); }

/* ── Kalkış tabelası ── */
.tabela {
    margin: 0; padding: 20px 20px 16px; border-radius: var(--r-buyuk);
    background: linear-gradient(180deg, #102843, var(--tabela));
    border: 1px solid rgba(255, 255, 255, .1);
    box-shadow: 0 30px 80px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .06);
}
.tabela-baslik { display: flex; justify-content: space-between; align-items: baseline; font-family: var(--display); font-weight: 700; font-size: 20px; color: #fff; margin-bottom: 14px; }
.tabela-saat { font-family: var(--tabela-font); font-size: 15px; color: var(--tabela-yazi); }
/* Sütunlar KARE sayısıyla ölçülür: saat 5, durum 13 kare; iş ortadaki kalan yer. */
.tabela { --kare: 15px; --kare-ara: 1px; }
.tabela-sutunlar, .tabela-satir {
    display: grid; align-items: center; gap: 10px;
    grid-template-columns: calc(5 * (var(--kare) + var(--kare-ara))) minmax(0, 1fr) calc(13 * (var(--kare) + var(--kare-ara)));
}
.tabela-sutunlar { font-size: 12.5px; color: #7F93AA; padding: 0 2px 8px; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.tabela-satirlar { list-style: none; margin: 0; padding: 0; }
.tabela-satir { padding: 9px 0; border-bottom: 1px solid rgba(255, 255, 255, .06); }
.tabela-satir:last-child { border-bottom: 0; }
.flap { display: flex; gap: var(--kare-ara); min-width: 0; overflow: hidden; }
.flap span {
    flex: none; width: var(--kare); height: calc(var(--kare) * 1.5); display: grid; place-items: center;
    font: 700 calc(var(--kare) * .82)/1 var(--tabela-font); color: var(--tabela-yazi);
    background: linear-gradient(180deg, #1A3657 0 49%, #10263F 51% 100%);
    border-radius: 3px; box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .35);
}
.flap span.bos { background: linear-gradient(180deg, #152E4A 0 49%, #0E2238 51% 100%); }
.flap span.donuyor { animation: flap .09s linear; }
.durum-iyi .flap span { color: var(--yesil); }
@keyframes flap { 0% { transform: scaleY(1); } 50% { transform: scaleY(.15); } 100% { transform: scaleY(1); } }
.tabela-not { margin-top: 14px; font-size: 13.5px; color: #8EA3BA; }

/* Hero altındaki büyük ekran: hero'dan taşarak açık zemine iner. */
.cerceve {
    margin: 0; border-radius: var(--r); overflow: hidden; background: #fff;
    box-shadow: var(--golge); border: 1px solid rgba(15, 39, 66, .08);
}
.cerceve-cubuk { display: flex; align-items: center; gap: 7px; height: 34px; padding: 0 14px; background: #EEF2F6; border-bottom: 1px solid var(--cizgi); }
.cerceve-cubuk i { width: 10px; height: 10px; border-radius: 50%; background: #CBD5E1; }
.cerceve-cubuk span { margin-left: 12px; font-size: 12.5px; color: var(--ikincil); background: #fff; border-radius: 6px; padding: 3px 12px; }
.cerceve-hero { position: relative; margin-top: clamp(48px, 7vw, 88px); margin-bottom: calc(-1 * clamp(80px, 12vw, 180px)); }
.hero + .bolum { padding-top: calc(clamp(40px, 5vw, 64px) + clamp(80px, 12vw, 180px)); }

/* ── Bölümler ── */
.bolum { padding: var(--bosluk) 0; }
.bolum-acik { background: var(--beyaz); }
.bolum-koyu { background: var(--lacivert); color: #E2EAF3; }
.bolum-baslik { font-size: clamp(32px, 3.6vw, 48px); font-weight: 800; max-width: 22ch; }
.bolum-koyu .bolum-baslik { color: #fff; }
.bolum-alt { margin-top: 14px; color: var(--ikincil); font-size: 18px; max-width: 60ch; }
.bolum-koyu .bolum-alt { color: #AFC0D3; }

/* ── Yolculuk ── */
.yolculuk { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: 40px; margin-top: 48px; align-items: start; }
.adimlar { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.adimlar button {
    width: 100%; text-align: left; background: none; border: 0; cursor: pointer;
    display: grid; grid-template-columns: 36px 1fr; column-gap: 14px; row-gap: 6px;
    padding: 16px; border-radius: var(--r); color: var(--murekkep); font: inherit;
    transition: background-color .18s;
}
.adimlar button:hover { background: rgba(20, 48, 79, .05); }
.adimlar button[aria-selected="true"] { background: #fff; box-shadow: 0 1px 2px rgba(15, 39, 66, .06), 0 10px 30px rgba(15, 39, 66, .08); }
.adim-no {
    grid-row: span 2; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center;
    font: 700 15px/1 var(--display); color: var(--lacivert); border: 1.5px solid var(--cizgi);
}
.adimlar button[aria-selected="true"] .adim-no { background: var(--altin); border-color: var(--altin); color: var(--gece); }
.adim-ad { font: 700 18px/1.3 var(--display); align-self: center; }
.adim-aciklama { display: none; color: var(--ikincil); font-size: 15px; line-height: 1.55; }
.adimlar button[aria-selected="true"] .adim-aciklama { display: block; }
.cerceve-yolculuk { position: sticky; top: 96px; }
.cerceve-yolculuk img { transition: opacity .25s ease; }
.cerceve-yolculuk img.degisiyor { opacity: 0; }

/* ── Modül matrisi ── */
.matris-kutu { margin-top: 44px; overflow-x: auto; border-radius: var(--r); border: 1px solid var(--cizgi-koyu); }
.matris { width: 100%; border-collapse: collapse; min-width: 640px; }
.matris th, .matris td { padding: 16px 20px; text-align: left; border-bottom: 1px solid var(--cizgi-koyu); vertical-align: top; }
.matris tbody tr:last-child td, .matris tbody tr:last-child th { border-bottom: 0; }
.matris thead th { font: 700 16px/1.2 var(--display); color: #fff; background: rgba(255, 255, 255, .04); }
.matris thead th:not(:first-child), .matris td { text-align: center; width: 14%; }
.matris tbody th { font-weight: 600; color: #fff; font-size: 16px; }
.matris tbody th small { display: block; font-weight: 400; color: #9FB3C9; font-size: 14px; margin-top: 3px; max-width: 54ch; }
.var { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(217, 164, 65, .16); color: var(--altin); }
.yok { color: #5F7690; }
.ek { font-size: 13px; color: #C9D6E5; border: 1px solid var(--cizgi-koyu); border-radius: 999px; padding: 3px 10px; white-space: nowrap; }
.matris-not { margin-top: 16px; color: #AFC0D3; font-size: 15px; }

/* ── Paketler ── */
.paket-ust { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.donem { display: inline-flex; padding: 4px; border-radius: 999px; background: #fff; border: 1px solid var(--cizgi); }
.donem button { min-height: 40px; padding: 0 20px; border-radius: 999px; border: 0; background: none; font: 600 15px var(--metin); color: var(--ikincil); cursor: pointer; }
.donem button[aria-checked="true"] { background: var(--lacivert); color: #fff; }
.paketler { margin-top: 40px; display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 20px; align-items: stretch; }
.paket {
    display: flex; flex-direction: column; gap: 18px; padding: 28px; border-radius: var(--r-buyuk);
    background: #fff; border: 1px solid var(--cizgi);
}
.paket-ad { font: 800 26px/1.1 var(--display); }
.paket-aciklama { color: var(--ikincil); font-size: 15px; min-height: 2.4em; }
.paket-fiyat { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.paket-fiyat b { font: 800 40px/1 var(--display); letter-spacing: -0.03em; }
.paket-fiyat span { color: var(--ikincil); font-size: 15px; }
.paket-kurulum { color: var(--ikincil); font-size: 14px; margin-top: -10px; }
.paket ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 15px; }
.paket li { display: flex; gap: 10px; align-items: flex-start; }
.paket li svg { flex: none; margin-top: 3px; color: var(--altin-koyu); }
.paket .dugme { margin-top: auto; width: 100%; }
.paket-yukleniyor, .paket-not { color: var(--ikincil); }
.paket-not { margin-top: 20px; font-size: 15px; }
.paket-not a { font-weight: 600; }

/* ── Üç adım (gerçek sıra) ── */
.baslangic { display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: 56px; align-items: start; }
.uc-adim { list-style: none; margin: 0; padding: 0; counter-reset: adim; display: grid; gap: 28px; }
.uc-adim li { counter-increment: adim; display: grid; grid-template-columns: 52px 1fr; column-gap: 18px; }
.uc-adim li::before {
    content: counter(adim); grid-row: span 2; width: 52px; height: 52px; border-radius: 50%;
    display: grid; place-items: center; font: 800 22px/1 var(--display); color: var(--gece); background: var(--altin);
}
.uc-adim h3 { font-size: 22px; align-self: center; }
.uc-adim p { color: var(--ikincil); margin-top: 6px; }

/* ── Saha ── */
.saha { display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: 72px; align-items: center; }
.telefon { margin: 0; padding: 10px; border-radius: 44px; background: var(--gece); box-shadow: var(--golge); max-width: 340px; }
.telefon img { border-radius: 34px; }
.tik-liste { list-style: none; padding: 0; margin: 28px 0 0; display: grid; gap: 12px; font-size: 17px; }
.tik-liste li { padding-left: 30px; position: relative; }
.tik-liste li::before { content: ""; position: absolute; left: 0; top: .5em; width: 14px; height: 8px; border-left: 2.5px solid var(--altin-koyu); border-bottom: 2.5px solid var(--altin-koyu); transform: rotate(-45deg); }

/* ── Güvence ── */
.guvence { margin-top: 44px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1.5px solid var(--lacivert); }
.guvence > div { padding: 24px 24px 8px 0; }
.guvence > div + div { padding-left: 24px; border-left: 1px solid var(--cizgi); }
.guvence h3 { font-size: 20px; }
.guvence p { margin-top: 10px; color: var(--ikincil); font-size: 15.5px; }

/* ── SSS ── */
.sss { margin-top: 36px; border-top: 1px solid var(--cizgi); }
.sss details { border-bottom: 1px solid var(--cizgi); }
.sss summary {
    list-style: none; cursor: pointer; padding: 22px 40px 22px 0; position: relative;
    font: 700 19px/1.35 var(--display);
}
.sss summary::-webkit-details-marker { display: none; }
.sss summary::after {
    content: ""; position: absolute; right: 6px; top: 50%; width: 10px; height: 10px; margin-top: -7px;
    border-right: 2px solid var(--lacivert); border-bottom: 2px solid var(--lacivert); transform: rotate(45deg); transition: transform .2s;
}
.sss details[open] summary::after { transform: rotate(-135deg); margin-top: -2px; }
.sss details p { padding: 0 40px 22px 0; color: var(--ikincil); max-width: 68ch; }

/* ── Kapanış ve alt ── */
.kapanis { background: linear-gradient(180deg, var(--lacivert), var(--gece)); color: #fff; padding: clamp(64px, 8vw, 104px) 0; }
.kapanis-ic { display: flex; justify-content: space-between; align-items: center; gap: 32px; flex-wrap: wrap; }
.kapanis h2 { font-size: clamp(30px, 3.4vw, 46px); font-weight: 800; max-width: 18ch; }
.kapanis .hero-eylem { margin-top: 0; }
.alt { background: var(--gece); color: #8EA3BA; padding: 36px 0 44px; border-top: 1px solid var(--cizgi-koyu); }
.alt-ic { display: flex; align-items: center; gap: 20px 32px; flex-wrap: wrap; font-size: 14.5px; }
.alt-imza { color: #C9D6E5; }
.alt-yil { margin-left: auto; }
.alt a { color: #C9D6E5; }

/* ── Duyarlı ── */
@media (max-width: 1024px) {
    .hero-ic, .yolculuk, .baslangic, .saha { grid-template-columns: minmax(0, 1fr); }
    .hero-ic { gap: 40px; }
    .cerceve-yolculuk { position: static; }
    .guvence { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .guvence > div:nth-child(3) { padding-left: 0; border-left: 0; }
    .saha { gap: 40px; }
    .telefon { max-width: 300px; margin: 0 auto; }
}
@media (max-width: 760px) {
    body { font-size: 16px; }
    .kap { padding: 0 16px; }
    .menu-dugme { display: grid; place-items: center; }
    .menu {
        position: absolute; top: 72px; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0;
        background: var(--gece); border-bottom: 1px solid var(--cizgi-koyu); padding: 8px 16px 16px; display: none;
    }
    .menu.acik { display: flex; }
    .menu a:not(.dugme) { padding: 14px 0; border-bottom: 1px solid var(--cizgi-koyu); font-size: 16px; }
    .menu .dugme { margin-top: 14px; }
    .tabela { padding: 16px 14px 14px; --kare: 14px; }
    .tabela-sutunlar, .tabela-satir { grid-template-columns: calc(5 * (var(--kare) + var(--kare-ara))) minmax(0, 1fr); column-gap: 10px; row-gap: 4px; }
    .tabela-sutunlar span:last-child { display: none; }
    .tabela-satir .flap:last-child { grid-column: 2; }
    .matris { min-width: 0; }
    .matris th, .matris td { padding: 12px 8px; }
    .matris thead th { font-size: 13px; }
    .matris thead th:not(:first-child), .matris td { width: 64px; }
    .matris tbody th { font-size: 15px; }
    .matris tbody th small { font-size: 13px; }
    .ek { font-size: 11.5px; padding: 2px 6px; white-space: normal; }
    .guvence { grid-template-columns: minmax(0, 1fr); }
    .guvence > div, .guvence > div + div { padding: 20px 0 6px; border-left: 0; }
    .guvence > div + div { border-top: 1px solid var(--cizgi); }
    .adimlar button { padding: 14px 10px; }
    .alt-yil { margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: 0s !important; transition-duration: 0s !important; }
}
