/* ── Contact r2 (2026-10-12) — views/contact.ejs (.ct) ──
   Philosophy (.fl) / About (.hk) ile ayni dil, kendi kurgusu: baslik ustte + dort destinasyon
   seridi (gorsel ustunde yazi yok), solda sabit baslikli adim adim talep formu, tipografik
   iletisim defteri, tek koyu an (koleksiyon), cerceveli gorselle konumlar, Dalaman rotasi.
   Hareket: kaydirinca bir kez belirme + yavas yakinlasma. Tum siniflar ct- onekli. */
.ct { --ct-murekkep: #24211c; --ct-yazi: #3a352d; --ct-soluk: #6f675b; --ct-altin: #9a7a45; --ct-altin-acik: #d9c39c;
  --ct-cizgi: rgba(36,33,28,.12); --ct-krem: #faf8f5; --ct-krem-koyu: #f2ece2; --ct-hata: #a4443a;
  --ct-egri: cubic-bezier(.2,.75,.2,1);
  background: var(--ct-krem); color: var(--ct-yazi); overflow-x: clip; }
.ct-ic { padding-left: max(24px, calc((100vw - 1180px) / 2)); padding-right: max(24px, calc((100vw - 1180px) / 2)); }
.ct *, .ct *::before, .ct *::after { box-sizing: border-box; }
.ct img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ct p { font-family: var(--serif); font-size: 18.5px; line-height: 1.72; color: var(--ct-yazi); margin: 0 0 18px; }
.ct a:focus-visible, .ct button:focus-visible { outline: 2px solid var(--ct-altin); outline-offset: 4px; }

.ct-etiket { font-family: var(--sans); font-size: 10.5px; letter-spacing: .28em; text-transform: uppercase; color: var(--ct-altin); margin-bottom: 18px; line-height: 1.6; }
.ct-etiket-soluk { color: var(--ct-soluk); }
.ct-h1 { margin: 0; font-family: var(--serif); font-weight: 400; font-size: clamp(44px, 4.8vw, 76px); line-height: 1.02; letter-spacing: -.018em; color: var(--ct-murekkep); text-wrap: balance; }
.ct-h2 { margin: 0 0 24px; font-family: var(--serif); font-weight: 400; font-size: clamp(34px, 3.4vw, 50px); line-height: 1.08; letter-spacing: -.01em; color: var(--ct-murekkep); text-wrap: balance; }
.ct-h3 { margin: 0 0 16px; font-family: var(--serif); font-weight: 400; font-size: clamp(32px, 3vw, 44px); line-height: 1.1; color: var(--ct-murekkep); }
.ct-h1 em, .ct-h2 em, .ct-h3 em { font-style: italic; color: var(--ct-altin); }
.ct-cizgi { display: block; width: 44px; height: 1px; background: var(--ct-altin); margin: 0 0 26px; }

/* dugme + alti cizgili baglanti */
.ct-dugme { display: inline-block; padding: 16px 38px; background: var(--ct-murekkep); color: var(--ct-krem); border: 0; border-radius: 2px; cursor: pointer;
  font-family: var(--sans); font-size: 11.5px; letter-spacing: .26em; text-transform: uppercase; text-decoration: none; transition: background .3s; }
.ct-dugme:hover { background: var(--ct-altin); color: var(--ct-krem); }
.ct-dugme[disabled] { opacity: .7; cursor: progress; }
.ct-link { display: inline-block; position: relative; font-family: var(--sans); font-size: 11px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--ct-murekkep); text-decoration: none; padding-bottom: 7px; overflow-wrap: anywhere; }
.ct-link::after { content: ""; position: absolute; left: 0; bottom: 0; height: 1px; width: 34px; background: var(--ct-altin); transition: width .5s var(--ct-egri); }
.ct-link:hover::after, .ct-link:focus-visible::after { width: 100%; }
.ct-link > span[aria-hidden] { display: inline-block; transition: transform .3s; }
.ct-link:hover > span[aria-hidden] { transform: translateX(4px); }
.ct-link-soluk { color: var(--ct-soluk); }
.ct-link-dugme { background: none; border: 0; cursor: pointer; padding: 0 0 7px; }
.ct-link-acik { color: #f5eedd; }
.ct-link-acik::after { background: var(--ct-altin-acik); }

/* belirme */
.ct-gor { transition: opacity 1.1s var(--ct-egri), transform 1.1s var(--ct-egri); }
.ct-gor.ct-bekle { opacity: 0; transform: translateY(28px); }

/* ── 1. acilis ── */
.ct-acilis { padding-top: calc(74px + clamp(22px, 3.4vh, 44px)); padding-bottom: clamp(80px, 11vh, 120px); }
.ct-acilis .breadcrumb { background: none; border: 0; margin: 0 0 clamp(22px, 3.4vh, 40px); z-index: auto; }
.ct-acilis .breadcrumb-inner { padding: 0; max-width: none; }
.ct-acilis .breadcrumb-item, .ct-acilis .breadcrumb-item a { color: var(--ct-soluk); }
.ct-acilis .breadcrumb-item a:hover { color: var(--ct-altin); }
.ct-acilis .breadcrumb-item span[aria-current="page"] { color: var(--ct-altin); }
.ct-acilis-bas { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: 64px; align-items: end;
  margin-bottom: clamp(34px, 5vh, 58px); animation: ctYuksel 1.1s .1s var(--ct-egri) both; }
.ct-acilis-sag { padding-bottom: 6px; }
.ct .ct-acilis-alt { font-style: italic; font-size: 20px; line-height: 1.6; color: var(--ct-soluk); margin: 0 0 28px; max-width: 470px; }
.ct-dugmeler { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 34px; }
@keyframes ctYuksel { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }

.ct-serit { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; align-items: start; }
.ct-serit-oge { animation: ctYuksel 1.2s calc(.25s + var(--i, 0) * .12s) var(--ct-egri) both; }
.ct-serit-oge:nth-child(even) { margin-top: 30px; }
.ct-serit-link { display: block; text-decoration: none; color: inherit; }
.ct-serit-gorsel { display: block; height: clamp(210px, 33vh, 340px); overflow: hidden; border-radius: 3px; background: #e9e2d6;
  box-shadow: 0 30px 54px -36px rgba(36,33,28,.6); }
.ct-serit-gorsel img { transition: transform 1.8s var(--ct-egri); }
.ct-serit-link:hover .ct-serit-gorsel img, .ct-serit-link:focus-visible .ct-serit-gorsel img { transform: scale(1.05); }
.ct-serit-ad { display: block; margin-top: 16px; font-family: var(--serif); font-size: 25px; line-height: 1.15; color: var(--ct-murekkep); transition: color .3s; }
.ct-serit-link:hover .ct-serit-ad { color: var(--ct-altin); }
.ct-serit-satir { display: block; margin-top: 5px; font-family: var(--sans); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--ct-soluk); line-height: 1.6; }

/* ── 2. talep ── */
.ct-talep { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: clamp(48px, 7vw, 100px); align-items: start;
  padding-top: clamp(80px, 10vh, 110px); padding-bottom: 130px; border-top: 1px solid var(--ct-cizgi); }
.ct-talep-yan { position: sticky; top: 120px; }
.ct .ct-talep-giris { color: var(--ct-soluk); max-width: 420px; }
.ct-ulas { margin-top: 40px; padding: 28px 30px 24px; background: var(--ct-krem-koyu); border-radius: 3px; }
.ct-ulas .ct-etiket { margin-bottom: 14px; }
.ct-ulas-panel { animation: ctSolma .5s var(--ct-egri) both; }
.ct-ulas-panel[hidden] { display: none; }
@keyframes ctSolma { from { opacity: 0; } to { opacity: 1; } }
.ct-ulas-ad { margin: 0 0 12px; font-family: var(--serif); font-weight: 400; font-size: 27px; line-height: 1.15; color: var(--ct-murekkep); }
.ct .ct-ulas-not { font-size: 16.5px; line-height: 1.6; color: var(--ct-soluk); margin: 0 0 14px; }
.ct-ulas-liste { list-style: none; margin: 0; padding: 0; }
.ct-ulas-liste li { display: flex; align-items: baseline; gap: 16px; padding: 10px 0; border-top: 1px solid var(--ct-cizgi); }
.ct-ulas-tur { flex: 0 0 86px; font-family: var(--sans); font-size: 9.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--ct-soluk); }
.ct-ulas-liste a { font-family: var(--serif); font-size: 18px; color: var(--ct-murekkep); text-decoration: none; overflow-wrap: anywhere;
  background: linear-gradient(var(--ct-altin), var(--ct-altin)) 0 100% / 0 1px no-repeat; transition: background-size .5s var(--ct-egri), color .3s; }
.ct-ulas-liste a:hover { background-size: 100% 1px; color: var(--ct-altin); }

/* form — tek-soru akisi. .ct-js YOKSA (JS kapali) adimlar normal form gibi alt alta durur. */
.ct-sahne { position: relative; scroll-margin-top: 96px; }
.ct-form { margin: 0; }
.ct-form[hidden] { display: none; }
.ct-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ct-ilerleme, .ct-sayac, .ct-kumanda, .ct-ozet, .ct-selam { display: none; }
.ct-adim { margin: 0 0 54px; min-width: 0; }
.ct-adim[hidden] { display: none; }
.ct-soru { margin: 0 0 10px; font-family: var(--serif); font-weight: 400; font-size: clamp(30px, 2.9vw, 44px); line-height: 1.1; letter-spacing: -.01em; color: var(--ct-murekkep); text-wrap: balance; outline: 0; }
.ct .ct-ipucu { margin: 0 0 30px; font-style: italic; font-size: 18px; line-height: 1.55; color: var(--ct-soluk); max-width: 520px; }

/* JS acik: sahne */
.ct-sahne.ct-js { min-height: clamp(470px, 58vh, 540px); padding-top: 46px; display: flex; flex-direction: column; }
.ct-js .ct-form { flex: 1; display: flex; flex-direction: column; }
.ct-js .ct-form[hidden] { display: none; }
.ct-js .ct-adim { margin: 0; flex: 1; }
.ct-js .ct-ilerleme { display: block; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--ct-cizgi); overflow: hidden; }
.ct-ilerleme-dolu { display: block; height: 100%; background: var(--ct-altin); transform-origin: 0 50%; transform: scaleX(0); transition: transform .8s var(--ct-egri); }
.ct-js .ct-sayac { display: block; position: absolute; right: 0; top: 14px; font-family: var(--serif); font-size: 16px; letter-spacing: .06em; color: var(--ct-altin); }
.ct-sayac-ayrac { margin: 0 6px; color: var(--ct-soluk); }
.ct-sahne.is-bitti .ct-sayac { visibility: hidden; }
.ct-js .ct-selam { display: block; margin: 0 0 8px; font-family: var(--serif); font-style: italic; font-size: 21px; color: var(--ct-altin); }
.ct-selam.is-bos { visibility: hidden; }
.ct .ct-ici { display: inline; margin: 0; font: inherit; color: inherit; }
.ct-gel-ileri { animation: ctGelIleri .6s var(--ct-egri) both; }
.ct-gel-geri { animation: ctGelGeri .6s var(--ct-egri) both; }
@keyframes ctGelIleri { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
@keyframes ctGelGeri { from { opacity: 0; transform: translateY(-18px); } to { opacity: 1; transform: none; } }

/* kumanda: Back · or press Enter · Next */
.ct-js .ct-kumanda { display: flex; align-items: center; gap: 22px; margin-top: 34px; padding-top: 22px; border-top: 1px solid var(--ct-cizgi); }
.ct-kumanda [hidden] { display: none !important; }
.ct-geri { background: none; border: 0; padding: 6px 0; cursor: pointer; font-family: var(--sans); font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--ct-soluk); transition: color .3s; }
.ct-geri::before { content: "\2190"; margin-right: 10px; display: inline-block; transition: transform .3s; }
.ct-geri:hover { color: var(--ct-murekkep); }
.ct-geri:hover::before { transform: translateX(-4px); }
.ct-enter { margin-left: auto; font-family: var(--serif); font-style: italic; font-size: 15px; color: var(--ct-soluk); }
.ct-enter::after { content: " \21B5"; font-style: normal; }
.ct-ileri { margin-left: 0; }
.ct-kumanda .ct-geri[hidden] + .ct-enter { margin-left: auto; }
@media (hover: none), (pointer: coarse) { .ct-enter { display: none; } .ct-ileri { margin-left: auto; } }

/* cipler (konu) */
.ct-cipler { display: flex; flex-wrap: wrap; gap: 10px; }
.ct-cip { position: relative; display: inline-flex; cursor: pointer; }
.ct-cip > span { display: inline-block; padding: 12px 20px; border: 1px solid rgba(36,33,28,.18); border-radius: 999px; font-family: var(--serif); font-size: 18px; line-height: 1.2;
  color: var(--ct-yazi); background: rgba(255,255,255,.4); transition: background .3s, color .3s, border-color .3s, transform .3s; }
.ct-cip:hover > span { border-color: rgba(154,122,69,.6); transform: translateY(-1px); }
.ct-cip.is-secili > span, .ct-cip:has(input:checked) > span { background: var(--ct-murekkep); border-color: var(--ct-murekkep); color: var(--ct-krem); }
.ct-cip:focus-within > span { outline: 2px solid var(--ct-altin); outline-offset: 3px; }
.ct-cip:has(input:focus:not(:focus-visible)) > span { outline: 0; }
.ct-cipler.is-hatali .ct-cip > span, .ct-hedefler.is-hatali .ct-hedef { border-color: rgba(164,68,58,.45); }

/* destinasyon kartlari */
.ct-hedefler { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ct-hedef { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 18px 18px 16px; cursor: pointer; border: 1px solid rgba(36,33,28,.16);
  border-radius: 2px; background: rgba(255,255,255,.35); transition: border-color .3s, background .3s, box-shadow .3s; }
.ct-hedef:hover { border-color: rgba(154,122,69,.6); }
.ct-hedef input, .ct-cip input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.ct-hedef::after { content: ""; position: absolute; top: 14px; right: 14px; width: 9px; height: 9px; border-radius: 50%;
  border: 1px solid rgba(154,122,69,.6); transition: background .3s, transform .3s; }
.ct-hedef.is-secili, .ct-hedef:has(input:checked) { border-color: var(--ct-murekkep); background: #fff; box-shadow: 0 18px 34px -28px rgba(36,33,28,.55); }
.ct-hedef.is-secili::after, .ct-hedef:has(input:checked)::after { background: var(--ct-altin); border-color: var(--ct-altin); transform: scale(1.1); }
.ct-hedef:focus-within { outline: 2px solid var(--ct-altin); outline-offset: 3px; }
.ct-hedef:has(input:focus:not(:focus-visible)) { outline: 0; }
.ct-hedef-ad { font-family: var(--serif); font-size: 23px; line-height: 1.1; color: var(--ct-murekkep); padding-right: 18px; }
.ct-hedef-yer { font-family: var(--sans); font-size: 9.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--ct-soluk); line-height: 1.5; }
.ct-hedef-belirsiz { grid-column: span 2; }
.ct-hedef-belirsiz .ct-hedef-ad { font-style: italic; }
.ct-oneri { display: none; position: absolute; top: -9px; left: 14px; padding: 2px 8px; background: var(--ct-krem); font-family: var(--sans); font-size: 9px;
  letter-spacing: .2em; text-transform: uppercase; color: var(--ct-altin); }
.ct-hedef.is-onerilen { border-color: rgba(154,122,69,.7); }
.ct-hedef.is-onerilen .ct-oneri { display: block; }
.ct-hedef.is-onerilen.is-secili .ct-oneri, .ct-hedef.is-onerilen:has(input:checked) .ct-oneri { background: #fff; }

/* alanlar */
.ct-satir { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
.ct-alan { position: relative; display: flex; flex-direction: column; margin-bottom: 24px; min-width: 0; }
.ct-alan label { font-family: var(--sans); font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--ct-soluk); margin-bottom: 4px; }
.ct-alan input, .ct-alan textarea { width: 100%; font-family: var(--serif); font-size: 24px; color: var(--ct-murekkep); background: transparent;
  border: 0; border-bottom: 1px solid rgba(36,33,28,.26); border-radius: 0; padding: 10px 0 10px; outline: 0; transition: border-color .3s; -webkit-appearance: none; appearance: none; }
.ct-alan input[type="number"] { -moz-appearance: textfield; }
.ct-alan textarea { resize: vertical; min-height: 140px; font-size: 20px; border: 1px solid rgba(36,33,28,.2); border-radius: 2px; padding: 14px 16px; line-height: 1.55; background: rgba(255,255,255,.5); }
.ct-alan input::placeholder, .ct-alan textarea::placeholder { color: rgba(111,103,91,.55); font-style: italic; }
.ct-alan input:focus, .ct-alan textarea:focus { border-color: var(--ct-altin); }
.ct-alan [aria-invalid="true"] { border-color: var(--ct-hata); }
.ct-alan-dar { max-width: 220px; }
.ct-istege { align-self: flex-end; margin-bottom: 8px; font-family: var(--sans); font-size: 9.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--ct-soluk); }
.ct .ct-hata { margin: 10px 0 0; font-family: var(--serif); font-style: italic; font-size: 16px; line-height: 1.45; color: var(--ct-hata); }
.ct-hata[hidden] { display: none; }
.ct-bal { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

/* ozet karti */
.ct-js .ct-ozet { display: block; margin: 0 0 24px; padding: 6px 24px; background: #fff; border-radius: 3px; box-shadow: 0 24px 50px -40px rgba(36,33,28,.6);
}
.ct-ozet-satir { display: grid; grid-template-columns: 110px minmax(0, 1fr) auto; gap: 14px; align-items: baseline; padding: 9px 0; border-bottom: 1px solid var(--ct-cizgi); }
.ct-ozet-satir:last-child { border-bottom: 0; }
.ct-ozet-satir[hidden] { display: none; }
.ct-ozet dt { font-family: var(--sans); font-size: 9.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--ct-soluk); }
.ct-ozet dd { margin: 0; font-family: var(--serif); font-size: 18px; line-height: 1.4; color: var(--ct-murekkep); overflow-wrap: anywhere; white-space: pre-line; }
.ct-ozet-satir[data-ct-oz-satir="message"] dd { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ct-duzelt { background: none; border: 0; padding: 0; cursor: pointer; font-family: var(--sans); font-size: 9.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--ct-altin); opacity: .8; }
.ct-duzelt:hover, .ct-duzelt:focus-visible { opacity: 1; text-decoration: underline; text-underline-offset: 3px; }

.ct-form-hata { margin: 0 0 18px; padding: 12px 16px; border-left: 2px solid var(--ct-hata); background: rgba(164,68,58,.06);
  font-family: var(--sans); font-size: 13px; line-height: 1.55; color: var(--ct-hata); }
.ct-form-hata[hidden] { display: none; }
.ct-gonder { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; }
.ct .ct-gizlilik { margin: 0; font-family: var(--serif); font-size: 15px; line-height: 1.55; color: var(--ct-soluk); max-width: 330px; }
.ct-gizlilik a { color: var(--ct-murekkep); text-decoration: underline; text-decoration-color: var(--ct-altin); text-underline-offset: 3px; }

.ct-tesekkur { padding: 20px 0 10px; outline: 0; animation: ctGelIleri .9s var(--ct-egri) both; }
.ct-tesekkur[hidden] { display: none; }
.ct-tesekkur .ct-soru { font-size: clamp(34px, 3.4vw, 52px); margin-bottom: 18px; }
.ct-tesekkur .ct-ad { font-style: italic; color: var(--ct-altin); }
.ct-tesekkur p:not(.ct-ici) { color: var(--ct-soluk); max-width: 460px; }
.ct-mesajlar[hidden] { display: none !important; }

/* ── 3. destinasyon defteri ── */
.ct-rehber { padding-bottom: 130px; }
.ct-bolum-bas { margin-bottom: 46px; }
.ct-bolum-orta { max-width: 720px; margin-left: auto; margin-right: auto; text-align: center; }
.ct-bolum-orta p { color: var(--ct-soluk); }
.ct-defter { border-top: 1px solid var(--ct-murekkep); }
.ct-kayit { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.35fr) minmax(0, .62fr); gap: 48px; align-items: start;
  padding: 42px 0 40px; border-bottom: 1px solid var(--ct-cizgi); }
.ct-kayit .ct-etiket { margin-bottom: 10px; }
.ct-kayit-ad { margin: 0 0 8px; font-family: var(--serif); font-weight: 400; font-size: clamp(34px, 3vw, 44px); line-height: 1.02; color: var(--ct-murekkep);
  transition: transform .7s var(--ct-egri), color .4s; }
.ct-kayit:hover .ct-kayit-ad { transform: translateX(6px); }
.ct .ct-kayit-satir { margin: 0; font-style: italic; font-size: 18px; color: var(--ct-soluk); line-height: 1.45; }
.ct-kanallar { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 36px; padding-top: 6px; }
.ct-kanal { min-width: 0; }
.ct-kanal-uzun { grid-column: 1 / -1; order: 5; } /* uzun e-posta (info@bluevoyageyachtcharter.com) bolunmesin */
.ct-kanal dt { font-family: var(--sans); font-size: 9.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--ct-soluk); margin-bottom: 6px; }
.ct-kanal dd { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.ct-kanal dd a, .ct-masa-deger a { font-family: var(--serif); font-size: 19px; line-height: 1.35; color: var(--ct-murekkep); text-decoration: none; overflow-wrap: anywhere;
  background: linear-gradient(var(--ct-altin), var(--ct-altin)) 0 100% / 0 1px no-repeat; transition: background-size .5s var(--ct-egri), color .3s; }
.ct-kanal dd a:hover, .ct-masa-deger a:hover { background-size: 100% 1px; color: var(--ct-altin); }
.ct-kopya { background: none; border: 0; padding: 2px 0; cursor: pointer; font-family: var(--sans); font-size: 9.5px; letter-spacing: .2em; text-transform: uppercase;
  color: var(--ct-altin); opacity: .75; transition: opacity .3s, color .3s; }
.ct-kopya:hover, .ct-kopya:focus-visible { opacity: 1; }
.ct-kopya.is-ok { opacity: 1; color: #5a6b4a; }
.ct-kayit-git { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; padding-top: 6px; }

/* ── 4. koleksiyon — koyu ── */
.ct-koleksiyon { background: #15120d; color: #efe7d8; padding: clamp(96px, 14vh, 150px) 0; }
.ct-koleksiyon-ic { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.7fr); gap: 64px; align-items: start; }
.ct-koleksiyon .ct-etiket { color: var(--ct-altin-acik); }
.ct-koleksiyon .ct-h2 { color: #f5eedd; }
.ct-koleksiyon .ct-h2 em { color: var(--ct-altin-acik); }
.ct-masalar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.ct-masa { border-top: 1px solid rgba(217,195,156,.4); padding-top: 26px; min-width: 0; }
.ct-masa-ad { margin: 0 0 16px; font-family: var(--serif); font-weight: 400; font-size: 26px; line-height: 1.15; color: #f5eedd; }
.ct-masa-deger { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin-bottom: 8px; }
.ct-koleksiyon .ct-masa-deger a { color: var(--ct-altin-acik); background-image: linear-gradient(var(--ct-altin-acik), var(--ct-altin-acik)); }
.ct-koleksiyon .ct-masa-deger a:hover { color: #f5eedd; }
.ct-koleksiyon .ct-kopya { color: var(--ct-altin-acik); }
.ct-adres { grid-column: 1 / -1; margin-top: 30px; padding-top: 28px; border-top: 1px solid rgba(217,195,156,.18);
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 28px; }
.ct-adres .ct-etiket { margin: 0; }
.ct .ct-adres p { margin: 0; color: rgba(239,231,216,.78); font-size: 18px; }

/* ── 5. konumlar ── */
.ct-bul { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(48px, 7vw, 96px); align-items: center; padding-top: 140px; padding-bottom: 130px; }
.ct-bul-gorsel { margin: 0; position: relative; padding: 0 22px 22px 0; }
.ct-bul-gorsel::before { content: ""; position: absolute; left: 22px; top: 22px; right: 0; bottom: 0; border: 1px solid rgba(154,122,69,.45); border-radius: 3px; }
.ct-bul-kare { position: relative; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 3px; box-shadow: 0 34px 60px -38px rgba(36,33,28,.55); }
.ct-bul-kare img { transition: transform 1.8s var(--ct-egri); }
.ct-bul-gorsel:hover .ct-bul-kare img { transform: scale(1.05); }
.ct-konumlar { list-style: none; margin: 34px 0 0; padding: 0; border-top: 1px solid var(--ct-cizgi); }
.ct-konum { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 24px; padding: 20px 0; border-bottom: 1px solid var(--ct-cizgi); }
.ct-konum-kim { min-width: 0; flex: 1 1 220px; }
.ct-konum-ad { font-family: var(--serif); font-size: 24px; line-height: 1.2; color: var(--ct-murekkep); }
.ct-konum-adres { margin-top: 3px; font-family: var(--sans); font-size: 12px; letter-spacing: .03em; line-height: 1.55; color: var(--ct-soluk); }
.ct-konum .ct-link { font-size: 10px; letter-spacing: .2em; }

/* ── 6. ulasim rotasi ── */
.ct-yol { padding-bottom: 140px; }
.ct-yol .ct-bolum-bas { margin-bottom: 64px; }
.ct-rota { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.4fr); align-items: start; max-width: 980px; margin: 0 auto 56px; }
.ct-rota::before { content: ""; position: absolute; left: 0; right: 0; top: 22px; height: 1px;
  background: repeating-linear-gradient(to right, rgba(154,122,69,.45) 0 6px, transparent 6px 12px); }
.ct-rota::after { content: ""; position: absolute; left: 0; right: 0; top: 22px; height: 1px; background: var(--ct-altin);
  transform-origin: 50% 50%; transform: scaleX(1); transition: transform 1.8s .2s var(--ct-egri); }
.ct-rota.ct-bekle::after { transform: scaleX(0); }
.ct-rota-kol { position: relative; z-index: 1; list-style: none; margin: 0; padding: 0; display: flex; justify-content: space-around; gap: 16px; }
.ct-durak { display: flex; flex-direction: column; align-items: center; text-align: center; padding-top: 17px; min-width: 0; }
.ct-durak-nokta { width: 11px; height: 11px; border-radius: 50%; background: var(--ct-krem); border: 1px solid var(--ct-altin); margin-bottom: 16px; }
.ct-durak-ad { font-family: var(--serif); font-size: 22px; line-height: 1.2; color: var(--ct-murekkep); }
.ct-durak-sure { margin-top: 4px; font-family: var(--serif); font-style: italic; font-size: 16px; color: var(--ct-soluk); }
.ct-rota-merkez { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 36px; max-width: 260px; }
.ct-ucak { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 50%; background: var(--ct-murekkep); color: var(--ct-altin-acik); margin-bottom: 14px;
  box-shadow: 0 0 0 8px var(--ct-krem); }
.ct-ucak svg { transform: rotate(90deg); }
.ct-havalimani { font-family: var(--sans); font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; line-height: 1.6; color: var(--ct-murekkep); }
.ct-yol-git { text-align: center; }

/* ── duyarlilik ── */
@media (max-width: 1100px) {
  .ct-kayit { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 28px 40px; }
  .ct-kayit-git { grid-column: 2; flex-direction: row; flex-wrap: wrap; gap: 14px 30px; padding-top: 0; }
  .ct-koleksiyon-ic { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 900px) {
  .ct-ic { padding-left: 20px; padding-right: 20px; }
  .ct p { font-size: 17px; }
  .ct-acilis { padding-top: calc(64px + 22px); padding-bottom: 80px; }
  .ct-acilis-bas { grid-template-columns: 1fr; gap: 22px; }
  .ct .ct-acilis-alt { font-size: 18.5px; margin-bottom: 24px; }
  .ct-serit { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 14px; }
  .ct-serit-oge:nth-child(even) { margin-top: 0; }
  .ct-serit-gorsel { height: auto; aspect-ratio: 4 / 5; }
  .ct-serit-ad { font-size: 22px; margin-top: 12px; }
  .ct-talep { grid-template-columns: 1fr; gap: 44px; padding-top: 72px; padding-bottom: 90px; }
  .ct-talep-yan { position: static; }
  .ct-ulas { margin-top: 28px; }
  .ct-kayit { grid-template-columns: 1fr; gap: 24px; padding: 34px 0; }
  .ct-kayit-git { grid-column: auto; }
  .ct-rehber { padding-bottom: 90px; }
  .ct-masalar { grid-template-columns: 1fr; gap: 30px; }
  .ct-bul { grid-template-columns: 1fr; gap: 44px; padding-top: 90px; padding-bottom: 90px; }
  .ct-bul-kare { aspect-ratio: 4 / 3; }
  .ct-yol { padding-bottom: 100px; }
}
@media (max-width: 700px) {
  .ct-hedefler { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ct-hedef-belirsiz { grid-column: span 2; }
  .ct-satir { grid-template-columns: 1fr; }
  .ct-alan-dar { max-width: none; }
  .ct-sahne.ct-js { min-height: 0; padding-top: 40px; }
  .ct-cip > span { font-size: 16.5px; padding: 10px 16px; }
  .ct-alan input { font-size: 21px; }
  .ct-js .ct-ozet { padding: 4px 16px; max-height: none; }
  .ct-ozet-satir { grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; }
  .ct-ozet dt { grid-column: 1; }
  .ct-ozet dd { grid-column: 1; grid-row: 2; }
  .ct-duzelt { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
  .ct-js .ct-kumanda { gap: 14px; }
  .ct-kanallar { grid-template-columns: 1fr; gap: 18px; }
  .ct-gonder .ct-dugme { width: 100%; text-align: center; }
  /* rota dikey: bati -> havalimani -> dogu, solda cizgi */
  .ct-rota { display: flex; flex-direction: column; align-items: stretch; gap: 0; max-width: 420px; padding-left: 34px; margin-bottom: 44px; }
  .ct-rota::before, .ct-rota::after { left: 16px; right: auto; top: 6px; bottom: 6px; width: 1px; height: auto; }
  .ct-rota::before { background: repeating-linear-gradient(to bottom, rgba(154,122,69,.45) 0 6px, transparent 6px 12px); }
  .ct-rota::after { transform-origin: 50% 0; transform: scaleY(1); }
  .ct-rota.ct-bekle::after { transform: scaleY(0); }
  .ct-rota-kol { flex-direction: column; gap: 0; }
  .ct-durak, .ct-rota-merkez { position: relative; flex-direction: row; flex-wrap: wrap; align-items: baseline; text-align: left; gap: 2px 14px; padding: 14px 0; max-width: none; }
  .ct-durak-nokta { position: absolute; left: -23px; top: 22px; margin: 0; }
  .ct-durak-sure { margin-top: 0; }
  .ct-rota-merkez { align-items: center; padding: 18px 0; }
  .ct-ucak { position: absolute; left: -40px; top: 50%; margin: -17px 0 0; width: 35px; height: 35px; box-shadow: 0 0 0 6px var(--ct-krem); }
  .ct-havalimani { padding-left: 0; }
}
@media (max-width: 359px) {
  .ct-hedefler { grid-template-columns: 1fr; }
  .ct-hedef-belirsiz { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .ct-acilis-bas, .ct-serit-oge, .ct-ulas-panel, .ct-tesekkur, .ct-gel-ileri, .ct-gel-geri { animation: none; }
  .ct-ilerleme-dolu, .ct-cip > span { transition: none; }
  .ct-gor, .ct img, .ct-kayit-ad, .ct-rota::after { transition: none !important; }
}
.ct-kir { display: none !important; }

/* ── Kendini yazan mektup (2026-10-12) — .ct-mektup · public/js/contact-mektup.js ──
   Ustte baslik tam genislik; solda soru sahnesi, sagda mektup kagidi. Her cevap mektupta bir cumle olur;
   o an yazilan satir altinla isaretlenir; gonderilince posta damgasi basilir ve kagit hafifce egilir. */
.ct-talep { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); grid-template-areas: "bas bas" "govde yan"; row-gap: 46px; }
.ct-talep-bas { grid-area: bas; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(48px, 7vw, 100px); align-items: end; }
.ct-talep-bas .ct-etiket { grid-column: 1 / -1; }
.ct-talep-bas .ct-h2 { margin-bottom: 0; }
.ct .ct-talep-bas .ct-talep-giris { margin: 0; padding-bottom: 6px; }
.ct-talep-govde { grid-area: govde; }
.ct-talep-yan { grid-area: yan; top: 104px; }
.ct-sahne.ct-js { min-height: clamp(430px, 52vh, 500px); }

.ct-mektup { --ct-m-satir: 34px; position: relative; padding: 30px 34px 30px; min-height: 420px; color: var(--ct-yazi);
  background: #fffdf8;
  border: 1px solid rgba(36,33,28,.08); border-radius: 2px; box-shadow: 0 40px 70px -46px rgba(36,33,28,.55);
  transform-origin: 50% 0; transition: transform 1s var(--ct-egri), box-shadow 1s var(--ct-egri); }
.ct-mektup::before { content: ""; position: absolute; inset: 8px; border: 1px solid rgba(154,122,69,.22); pointer-events: none; }
.ct-m-bas { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 14px; margin-bottom: 18px; border-bottom: 1px solid rgba(154,122,69,.35); }
.ct-m-marka { font-family: var(--sans); font-size: 10px; letter-spacing: .34em; text-transform: uppercase; color: var(--ct-altin); }
.ct-m-tarih { font-family: var(--serif); font-style: italic; font-size: 14px; color: var(--ct-soluk); }
.ct .ct-mektup p { margin: 0; font-family: var(--serif); font-size: 18.5px; line-height: var(--ct-m-satir); color: var(--ct-yazi); }
.ct .ct-mektup .ct-m-hitap { font-style: italic; color: var(--ct-murekkep); margin-bottom: 2px; }
.ct .ct-mektup .ct-m-bos { font-style: italic; color: var(--ct-soluk); }
.ct-mektup:not(.is-bos) .ct-m-bos { display: none; }
.ct-m-satir, .ct-m-kapanis { display: none; }
.ct-m-satir.is-on { display: block; }
.ct-m-kapanis.is-on { display: block; margin-top: 10px; }
.ct-m-satir.is-yeni, .ct-m-kapanis.is-yeni { animation: ctMYaz .9s var(--ct-egri) both; }
@keyframes ctMYaz { from { clip-path: inset(0 100% 0 0); opacity: .3; } to { clip-path: inset(0 0 0 0); opacity: 1; } }
.ct-mektup [class^="ct-mv-"] { color: var(--ct-murekkep); background: linear-gradient(transparent 62%, rgba(217,195,156,0) 62%); transition: background .5s; }
.ct-m-satir.is-simdi [class^="ct-mv-"] { background: linear-gradient(transparent 62%, rgba(217,195,156,.55) 62%); }
.ct-m-satir.is-simdi::after { content: ""; display: inline-block; width: 1px; height: 1.05em; margin-left: 3px; vertical-align: -2px; background: var(--ct-altin); animation: ctMImlec 1.1s steps(1) infinite; }
@keyframes ctMImlec { 50% { opacity: 0; } }
.ct .ct-mektup .ct-m-mesaj { font-style: italic; color: var(--ct-murekkep); overflow-wrap: anywhere; display: none; }
.ct .ct-mektup .ct-m-mesaj.is-on { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.ct .ct-mektup .ct-m-saygi { font-style: italic; }
.ct .ct-mektup .ct-m-imza { font-family: var(--serif); font-style: italic; font-size: 30px; line-height: 1.2; color: var(--ct-murekkep); margin-top: 4px; }
.ct-m-imza span { background: none !important; }

/* posta damgasi — gonderilince */
.ct-m-muhur { position: absolute; right: 22px; bottom: 22px; width: 104px; height: 104px; display: grid; place-items: center; color: var(--ct-altin);
  transform: rotate(-14deg) scale(1.6); opacity: 0; pointer-events: none; }
.ct-m-muhur svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.ct-m-muhur circle { fill: rgba(255,253,248,.9); stroke: currentColor; stroke-width: 1.2; }
.ct-m-muhur circle + circle { fill: none; stroke-dasharray: 2 3; }
.ct-m-muhur-y { position: relative; font-family: var(--serif); font-style: italic; font-size: 19px; }
.ct-mektup.is-gitti { transform: rotate(-1.2deg) translateY(-6px); box-shadow: 0 60px 90px -50px rgba(36,33,28,.65); }
.ct-mektup.is-gitti .ct-m-muhur { animation: ctMDamga .6s cubic-bezier(.3,1.6,.5,1) .35s both; }
.ct-mektup.is-gitti .ct-m-satir.is-simdi::after { display: none; }
@keyframes ctMDamga { from { opacity: 0; transform: rotate(-30deg) scale(1.8); } to { opacity: 1; transform: rotate(-14deg) scale(1); } }

.ct-talep-yan .ct-ulas { margin-top: 22px; padding: 20px 24px 16px; }
.ct-talep-yan .ct-ulas-ad { font-size: 22px; margin-bottom: 8px; }

@media (max-width: 900px) {
  .ct-talep { grid-template-columns: 1fr; grid-template-areas: "bas" "govde" "yan"; row-gap: 34px; }
  .ct-talep-bas { grid-template-columns: 1fr; row-gap: 14px; }
  /* mobilde mektup yalniz ozet adiminda ve gonderince gorunur (uzun sayfayi sisirmesin) */
  .ct-mektup { min-height: 0; }
  .ct-mektup:not([data-adim="summary"]):not(.is-gitti) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .ct-mektup, .ct-m-satir, .ct-m-kapanis, .ct-m-muhur { animation: none !important; transition: none !important; }
  .ct-mektup.is-gitti .ct-m-muhur { opacity: 1; transform: rotate(-14deg); }
  .ct-m-satir.is-simdi::after { animation: none; }
}
