/* ==========================================================================
   KG Savunma /new — İLETİŞİM / TEKLİF (pages/contact.css) · yalnız .tpl-contact sayfasında yüklenir
   Talep konsolu (5 adım + altın omurga + yapışkan talep özeti) · seçim döşemeleri · hata/başarı panelleri ·
   Doğrudan hat: İstanbul HUD haritası (şematik SVG) · A4 tek sayfa talep özeti (@media print) · RTL + reduced-motion
   ========================================================================== */

/* ---------- sinematik giriş: alt şerit = doğrudan iletişim ---------- */
.tpl-contact .phero__title { max-width: 17ch; }
.tpl-contact .phero__title em { white-space: nowrap; }   /* "MISSION-SPECIFIC" tireden bölünmesin */
.tpl-contact .phero__meta .wrap { gap: 10px 44px; }
.ct-hm { display: inline-flex; align-items: baseline; gap: 12px; min-width: 0; }
.ct-hm b { color: var(--au); font-weight: 600; }
.tpl-contact .phero__meta a { text-transform: none; letter-spacing: .05em; color: #ECEAE4; transition: color var(--t1); }
.tpl-contact .phero__meta a:hover { color: var(--au); }
/* talep listesi: etiket + sayı TEK bağlantı; sayı alanı sabit genişlikte → "Boş" ↔ "3 kalem" geçişi şeridi yeniden sarmaz (CLS yok) */
.tpl-contact .phero__meta a.ct-hm--list { text-transform: uppercase; letter-spacing: .12em; color: rgba(236,234,228,.86); }
.ct-hm__n { display: inline-block; min-inline-size: 8.5ch; }
.ct-hm bdi { white-space: nowrap; }   /* "08:30–18:00" ve telefon numarası satır sonunda bölünmesin (RTL'de yön karışmasın) */
.ct-hm__n.is-on, .tpl-contact .phero__meta a.ct-hm--list:hover .ct-hm__n { color: var(--au); }
@media (max-width: 760px) {
  /* telefon: her öğe tam genişlikte ≥ 46 px satır; bağlantılı satırın TAMAMI dokunma alanı + yön oku */
  .tpl-contact .phero__meta .wrap { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; padding-block: 4px; }
  .ct-hm, .tpl-contact .phero__meta a.ct-hm--list { position: relative; display: grid; grid-template-columns: 9.6em minmax(0, 1fr); align-items: center; column-gap: 14px; min-height: 46px; padding-block: 9px; border-bottom: 1px solid rgba(236,234,228,.09); }
  .ct-hm:last-child { border-bottom: 0; }
  .ct-hm b { line-height: 1.3; }
  .ct-hm--link, .tpl-contact .phero__meta a.ct-hm--list { padding-inline-end: 28px; }
  .ct-hm--link > a::after { content: ""; position: absolute; inset: 0; }
  .ct-hm--link::before, a.ct-hm--list::before { content: ""; position: absolute; inset-inline-end: 6px; top: 50%; inline-size: 7px; block-size: 7px; margin-top: -4px;
    border-top: 1.5px solid var(--au); border-inline-end: 1.5px solid var(--au); transform: rotate(45deg); pointer-events: none; }
  [dir="rtl"] .ct-hm--link::before, [dir="rtl"] a.ct-hm--list::before { transform: rotate(-45deg); }
  .ct-hm__n { min-inline-size: 0; }
}

/* ---------- ortak: pahlı çerçeve (::before kenar, ::after zemin) ---------- */
.ct-cut, .ct-chip__f, .ct-band__f, .ct-item__vis {
  --c: 8px; --bd: var(--line2); --bgc: var(--k1);
  position: relative; isolation: isolate;
}
.ct-cut::before, .ct-chip__f::before, .ct-band__f::before, .ct-item__vis::before {
  content: ""; position: absolute; inset: 0; z-index: -2; background: var(--bd);
  clip-path: polygon(0 0, calc(100% - var(--c)) 0, 100% var(--c), 100% 100%, 0 100%);
  transition: background-color var(--t1) var(--ease);
}
.ct-cut::after, .ct-chip__f::after, .ct-band__f::after, .ct-item__vis::after {
  content: ""; position: absolute; inset: 1px; z-index: -1; background: var(--bgc);
  clip-path: polygon(0 0, calc(100% - var(--c) + .41px) 0, 100% calc(var(--c) - .41px), 100% 100%, 0 100%);
  transition: background-color var(--t1) var(--ease);
}
[dir="rtl"] .ct-cut::before, [dir="rtl"] .ct-chip__f::before, [dir="rtl"] .ct-band__f::before, [dir="rtl"] .ct-item__vis::before { clip-path: polygon(var(--c) 0, 100% 0, 100% 100%, 0 100%, 0 var(--c)); }
[dir="rtl"] .ct-cut::after, [dir="rtl"] .ct-chip__f::after, [dir="rtl"] .ct-band__f::after, [dir="rtl"] .ct-item__vis::after { clip-path: polygon(calc(var(--c) - .41px) 0, 100% 0, 100% 100%, 0 100%, 0 calc(var(--c) - .41px)); }

/* ---------- talep konsolu ---------- */
.ct-console { position: relative; isolation: isolate; padding-block: clamp(72px, 8vw, 136px) clamp(88px, 9vw, 160px); background: var(--k1); }
.ct-console::before {
  content: ""; position: absolute; inset: 0 0 auto; height: min(900px, 100%); z-index: -1; pointer-events: none;
  background-image: linear-gradient(rgba(236,234,228,.034) 1px, transparent 1px), linear-gradient(90deg, rgba(236,234,228,.034) 1px, transparent 1px);
  background-size: 72px 72px; background-position: -1px -1px;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0,0,0,.5) 40%, transparent 100%); mask-image: linear-gradient(180deg, #000 0%, rgba(0,0,0,.5) 40%, transparent 100%);
}
.ct-head { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: end; gap: 24px clamp(32px, 5vw, 96px); margin-bottom: clamp(48px, 5.6vw, 92px); }
.ct-head__t > * + * { margin-top: 22px; }
.ct-head__d .t-lead { max-width: 33em; }
.ct-reqnote { margin-top: 18px; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--fg3); }
.ct-reqnote span, .ct-req { color: var(--au); }
@media (max-width: 900px) { .ct-head { grid-template-columns: 1fr; } }

.ct-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 392px); gap: clamp(32px, 4.6vw, 84px); align-items: start; }
.ct-main { min-width: 0; }

/* ---------- adımlar + altın omurga ---------- */
.ct-form { position: relative; --rail: clamp(84px, 7.2vw, 112px); --numc: 28px; }
.ct-spine { position: absolute; inset-inline-start: var(--numc); top: 48px; bottom: 132px; width: 1px; background: var(--line2); pointer-events: none; }
.ct-spine__fill { position: absolute; inset: 0; background: linear-gradient(180deg, var(--au), var(--au3)); transform-origin: 50% 0; transform: scaleY(var(--prog, 0)); transition: transform 1100ms var(--ease-out); }
.ct-step { position: relative; padding-inline-start: var(--rail); padding-block: 40px 56px; }
.ct-step + .ct-step::before { content: ""; position: absolute; top: 0; inset-inline: var(--rail) 0; height: 1px; background: var(--line); }
.ct-step:first-of-type { padding-top: 6px; }
.ct-step__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; }
.ct-step__t { display: flex; align-items: baseline; gap: 14px; outline: none;
  font-family: var(--f-d); font-stretch: 75%; font-weight: 820; text-transform: uppercase; font-size: clamp(27px, 2.4vw, 38px); line-height: .95; letter-spacing: .01em; }
.ct-step__no {
  position: absolute; inset-inline-start: 0; top: 30px; inline-size: calc(var(--numc) * 2); text-align: center;
  padding-block: 10px; background: var(--k1);
  font-family: var(--f-d); font-stretch: 75%; font-weight: 850; font-size: clamp(46px, 4.4vw, 68px); line-height: .8; letter-spacing: 0;
  color: transparent; -webkit-text-stroke: 1.2px rgba(245, 200, 66, .62); transition: color var(--t3) var(--ease-out), -webkit-text-stroke-color var(--t3);
}
.ct-step:first-of-type .ct-step__no { top: -4px; }
.ct-step.is-done .ct-step__no { color: var(--au); -webkit-text-stroke-color: var(--au); }
.ct-step__d { margin-top: 12px; max-width: 46em; font-size: 15px; line-height: 1.6; color: var(--fg2); }
.ct-step__body { margin-top: 30px; }
.ct-badge { display: inline-flex; align-items: center; min-height: 26px; padding: 2px 10px; border: 1px solid var(--line2);
  font-family: var(--f-m); font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--fg3); white-space: nowrap; }
.ct-badge.is-on { border-color: var(--au); background: var(--au); color: #0B0C0F; font-weight: 600; }

/* ---------- alan düzeni + etiketler ---------- */
.ct-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 24px; align-items: start; }
.ct-f--full { grid-column: 1 / -1; }
.ct-fs { min-width: 0; margin: 0; padding: 0; border: 0; }
.ct-fs:focus { outline: none; }
.ct-lg, .ct-form .field > label {
  display: block; padding: 0; margin: 0 0 12px;
  font-family: var(--f-m); font-size: 11.5px; font-weight: 500; line-height: 1.35; letter-spacing: .14em; text-transform: uppercase; color: var(--fg2);
}
.ct-form .field { gap: 0; }
.ct-form .field > label + * { margin-top: 0; }
.ct-hint { margin: -4px 0 12px; font-size: 13px; color: var(--fg3); }
.ct-fs .ct-hint:last-child { margin: 12px 0 0; }
/* alan kuyusu: zeminden AÇIK dolgu (--k3) + belirgin taban çizgisi. Kenar, dolgunun üstünde birleşir (background-clip: border-box):
   yanlar .34 → 3,1:1, taban .6 → 6,7:1 (sayfa #0B0C0F'a karşı; eski .16/--k0 = 1,4:1). WCAG 1.4.11 ≥ 3:1 her kenarda.
   YALNIZ background-color: kısaltma (background) base.css'teki .select ok işaretini (background-image) siliyordu. */
.ct-form .input, .ct-form .select, .ct-form .textarea { background-color: var(--k3); border-color: rgba(236,234,228,.34) rgba(236,234,228,.34) rgba(236,234,228,.6); }
.ct-form .input:hover, .ct-form .select:hover, .ct-form .textarea:hover { border-color: rgba(236,234,228,.5) rgba(236,234,228,.5) rgba(236,234,228,.8); }
.ct-form .select { color: var(--fg); }
/* RTL: mantıksal dolgu zaten aynalanır (inline-end = sol = ok tarafı). base.css'teki [dir=rtl] .select takası metni 42 px içeri itip oku 15 px'e sıkıştırıyordu */
[dir="rtl"] .ct-form .select { padding-inline-start: 15px; padding-inline-end: 42px; }
.ct-form .select:has(option[value=""]:checked) { color: var(--fg2); }   /* "Seçiniz" yer tutucu tonunda; ok işareti currentColor */
.ct-form .input:focus-visible, .ct-form .select:focus-visible, .ct-form .textarea:focus-visible { border-color: var(--au); box-shadow: 0 0 0 1px var(--au), 0 0 0 6px rgba(245,200,66,.08); }
.ct-form .select option { background: var(--k2); color: var(--fg); }
.ct-form .textarea { min-height: 200px; line-height: 1.6; }
.ct-form .field--error .input, .ct-form .field--error .textarea, .ct-form .field--error .select { border-color: var(--neg); box-shadow: 0 0 0 1px var(--neg); }
.ct-form .field--error .input:focus-visible, .ct-form .field--error .textarea:focus-visible, .ct-form .field--error .select:focus-visible { box-shadow: 0 0 0 1px var(--neg), 0 0 0 6px rgba(224,106,78,.2); }   /* hatalı alanda da odak görünür */
.ct-err { margin-top: 10px; }
.ct-err .ico { margin-top: 2px; }

/* kullanıcı tipi: çip radyo */
.ct-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ct-chip, .ct-band, .ct-seg__o { position: relative; display: flex; cursor: pointer; }
.ct-chip input, .ct-band input, .ct-seg__o input { position: absolute; inset: 0; z-index: 2; inline-size: 100%; block-size: 100%; margin: 0; opacity: 0; cursor: pointer; }
.ct-chip__f { display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 0 18px;
  font-size: 13px; font-weight: 650; font-stretch: 108%; letter-spacing: .07em; text-transform: uppercase; color: var(--fg); transition: color var(--t1); }
.ct-chip:hover .ct-chip__f { --bd: rgba(236,234,228,.42); }
.ct-chip input:checked + .ct-chip__f { --bd: var(--au); --bgc: var(--au); color: #0B0C0F; }
.ct-chip input:focus-visible + .ct-chip__f, .ct-band input:focus-visible + .ct-band__f { outline: 2px solid var(--au); outline-offset: 3px; }

/* adet bandı: büyük rakamlı döşemeler */
.ct-bands { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ct-band { display: block; }
.ct-band__f { --c: 16px; display: flex; flex-direction: column; justify-content: space-between; gap: 18px; min-height: 128px; padding: 20px 22px 18px; }
.ct-band__n { font-family: var(--f-d); font-stretch: 75%; font-weight: 850; font-size: clamp(46px, 4.2vw, 66px); line-height: .84; color: var(--fg); transition: color var(--t2) var(--ease); }
.ct-band__u { padding-inline-end: 34px; font-family: var(--f-m); font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--fg3); }
.ct-band__ok { position: absolute; inset-block-end: 16px; inset-inline-end: 16px; display: grid; place-items: center; inline-size: 26px; block-size: 26px; background: var(--au); color: #0B0C0F;
  opacity: 0; transform: scale(.6); transition: opacity var(--t2) var(--ease), transform var(--t2) var(--ease-out); }
.ct-band__ok .ico { stroke-width: 2.4; }
.ct-band:hover .ct-band__f { --bd: rgba(236,234,228,.42); }
.ct-band input:checked + .ct-band__f { --bd: var(--au); --bgc: color-mix(in srgb, var(--au) 8%, var(--k1)); }
.ct-band input:checked + .ct-band__f .ct-band__n { color: var(--au); }
.ct-band input:checked + .ct-band__f .ct-band__ok { opacity: 1; transform: none; }

/* bölünmüş seçici (teslimat, konu) */
.ct-seg { display: grid; grid-template-columns: repeat(var(--n, 2), minmax(0, 1fr)); border: 1px solid rgba(236,234,228,.2); background: var(--k0); }
.ct-seg__o + .ct-seg__o { border-inline-start: 1px solid rgba(236,234,228,.2); }
.ct-seg__f { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 54px; padding: 8px 12px; text-align: center;
  font-size: 12.5px; font-weight: 700; font-stretch: 110%; letter-spacing: .1em; text-transform: uppercase; line-height: 1.25; color: var(--fg2);
  transition: background-color var(--t1) var(--ease), color var(--t1) var(--ease); }
.ct-seg__o:hover .ct-seg__f { color: var(--fg); background: rgba(236,234,228,.05); }
.ct-seg__o input:checked + .ct-seg__f { background: var(--au); color: #0B0C0F; }
.ct-seg__o input:focus-visible + .ct-seg__f { outline: 2px solid var(--au); outline-offset: -5px; }
.ct-seg__o input:checked:focus-visible + .ct-seg__f { outline-color: #0B0C0F; }

/* onay kutuları (belgeler, KVKK) */
.ct-ticks { display: grid; gap: 8px; }
.ct-tick { position: relative; display: flex; align-items: flex-start; gap: 14px; padding: 14px 16px; border: 1px solid var(--line); background: rgba(236,234,228,.015); cursor: pointer;
  transition: border-color var(--t1) var(--ease), background-color var(--t1) var(--ease); }
.ct-tick:hover { border-color: rgba(236,234,228,.3); }
.ct-tick__in { position: absolute; inset: 0; z-index: 2; inline-size: 100%; block-size: 100%; margin: 0; opacity: 0; cursor: pointer; }
.ct-tick__box { flex: none; display: grid; place-items: center; inline-size: 22px; block-size: 22px; margin-top: 1px; border: 1.5px solid rgba(236,234,228,.5); color: #0B0C0F;
  transition: background-color var(--t1) var(--ease), border-color var(--t1) var(--ease); }
.ct-tick__box .ico { inline-size: 16px; block-size: 16px; stroke-width: 2.6; opacity: 0; transform: scale(.4); transition: opacity var(--t1), transform var(--t2) var(--ease-out); }
.ct-tick__in:checked ~ .ct-tick__box { background: var(--au); border-color: var(--au); }
.ct-tick__in:checked ~ .ct-tick__box .ico { opacity: 1; transform: none; }
.ct-tick:has(.ct-tick__in:checked) { border-color: rgba(245,200,66,.5); background: rgba(245,200,66,.05); }
.ct-tick__in:focus-visible ~ .ct-tick__box { outline: 2px solid var(--au); outline-offset: 3px; }
.ct-tick__t { display: inline-flex; align-items: center; gap: 10px; font-size: 14.5px; line-height: 1.5; color: var(--fg); }
.ct-tick__doc { color: var(--fg3); }
.ct-tick--consent { padding: 18px 20px; }
.ct-tick--consent .ct-tick__t { display: block; color: var(--fg2); }
.ct-consent.field--error .ct-tick { border-color: var(--neg); }

/* ihracat notu */
.ct-export { display: flex; gap: 16px; padding: 18px 20px; background: linear-gradient(90deg, rgba(245,200,66,.10), rgba(245,200,66,.02)); border-inline-start: 3px solid var(--au); }
[dir="rtl"] .ct-export { background: linear-gradient(270deg, rgba(245,200,66,.10), rgba(245,200,66,.02)); }
.ct-export__ico { color: var(--au); padding-top: 2px; }
.ct-export__k { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--au); }
.ct-export__lead { margin-top: 6px; font-size: 14.5px; line-height: 1.6; color: var(--fg); }
.ct-export__sub { margin-top: 8px; font-size: 13px; color: var(--fg2); }
@media (prefers-reduced-motion: no-preference) {
  .ct-export.is-new { animation: ct-in 520ms var(--ease-out) both; }
  .ct-item.is-new { animation: ct-in 560ms var(--ease-out) both; }
}
@keyframes ct-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

/* bal küpü (görünmez) */
.ct-hp { position: absolute !important; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; inset-inline-start: -9999px; }

/* ---------- 01 · talep listesi ---------- */
.ct-items { border-top: 1px solid var(--line2); }
.ct-item { display: grid; grid-template-columns: 32px 76px minmax(0, 1fr) auto 44px; align-items: center; gap: 12px 18px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.ct-item__no { align-self: start; padding-top: 6px; font-family: var(--f-m); font-size: 12px; letter-spacing: .1em; color: var(--au); }
.ct-item__vis { --c: 10px; --bgc: #15181E; display: grid; place-items: center; inline-size: 76px; block-size: 76px; overflow: hidden; }
.ct-item__vis::after { background: radial-gradient(70% 70% at 50% 42%, #2A2F38 0%, #171A20 62%, #111318 100%); }
.ct-item__vis img { position: relative; inline-size: 84%; block-size: 84%; object-fit: contain; filter: drop-shadow(0 8px 10px rgba(0,0,0,.5)); }
.ct-item__vis.is-photo img { inline-size: calc(100% - 2px); block-size: calc(100% - 2px); object-fit: cover; filter: saturate(.86) contrast(1.05); }
.ct-item__ph, .ct-item__doc { display: none; color: var(--au); }
.ct-item__vis.is-ph .ct-item__ph, .ct-item__vis.is-doc .ct-item__doc { display: grid; place-items: center; }
.ct-item__mark { inline-size: 30px; height: auto; opacity: .9; }
.ct-item__main { min-width: 0; }
.ct-item__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-family: var(--f-m); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--fg3); }
.ct-item__tag:empty { display: none; }
.ct-item__tag { color: var(--fg2); }
.ct-item__tag.is-rated { padding: 1px 7px; background: var(--au); color: #0B0C0F; font-weight: 600; }
.ct-item__name { margin-top: 6px; font-family: var(--f-d); font-stretch: 78%; font-weight: 800; font-size: clamp(20px, 1.6vw, 25px); line-height: 1; text-transform: uppercase; letter-spacing: .01em; color: var(--fg); overflow-wrap: anywhere; }
.ct-item__sub { margin-top: 6px; font-size: 13px; color: var(--fg3); }
.ct-item__sub:empty { display: none; }
.ct-item__nb { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; margin-top: 6px; padding: 0; font-size: 11.5px; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; color: var(--fg3); transition: color var(--t1); }
.ct-item__nb:hover, .ct-item__nb[aria-expanded="true"] { color: var(--au); }
.ct-item__qty { display: grid; justify-items: end; gap: 6px; }
.ct-item__ql { font-family: var(--f-m); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--fg3); }
.ct-item__unit { font-family: var(--f-m); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--fg3); }
.ct-item__unit:empty { display: none; }
.ct-item.is-doc .ct-stepper, .ct-item.is-doc .ct-item__ql { display: none; }
.ct-stepper { display: inline-grid; grid-template-columns: 40px 62px 40px; block-size: 44px; border: 1px solid rgba(236,234,228,.2); background: var(--k0); }
.ct-stepper__b { display: grid; place-items: center; color: var(--fg2); transition: color var(--t1), background-color var(--t1); }
.ct-stepper__b:hover { color: #0B0C0F; background: var(--au); }
.ct-stepper__b:disabled { opacity: .35; pointer-events: none; }
.ct-stepper__in { inline-size: 100%; block-size: 100%; padding: 0 4px; border: 0; border-inline: 1px solid rgba(236,234,228,.2); background: transparent; border-radius: 0;
  text-align: center; font-family: var(--f-m); font-size: 15px; font-weight: 600; color: var(--fg); -webkit-appearance: none; appearance: none; }
.ct-stepper__in:focus-visible { outline: 2px solid var(--au); outline-offset: -2px; }
.ct-item__rm { display: grid; place-items: center; inline-size: 44px; block-size: 44px; color: var(--fg3); transition: color var(--t1), background-color var(--t1); }
.ct-item__rm:hover { color: #fff; background: rgba(224,106,78,.18); }
.ct-item__note { grid-column: 3 / -1; }
.ct-item__note .input { min-height: 44px; padding: 10px 14px; font-size: 15px; }
.ct-list__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; padding-top: 18px; }
.ct-clear { margin-inline-start: auto; display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.ct-clear__btn, .ct-clear__yes, .ct-clear__no { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; font-size: 12px; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; color: var(--fg3); transition: color var(--t1); }
.ct-clear__btn:hover { color: var(--ox); }
.ct-clear__ask { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; font-size: 13px; color: var(--fg); }
.ct-clear__yes { padding: 0 12px; background: var(--ox-d); color: #fff; }
.ct-clear__yes:hover { background: var(--ox); color: #fff; }
.ct-clear__no { padding: 0 8px; color: var(--fg2); }
.ct-clear__no:hover { color: var(--fg); }

/* boş durum */
.ct-empty { display: flex; gap: 24px; align-items: flex-start; padding: clamp(26px, 3vw, 38px); background: linear-gradient(135deg, rgba(236,234,228,.035), rgba(236,234,228,.01)); box-shadow: inset 0 0 0 1px var(--line); }
.ct-empty__ico { flex: none; display: grid; place-items: center; inline-size: 64px; block-size: 64px; color: var(--au); box-shadow: inset 0 0 0 1px rgba(245,200,66,.4); }
.ct-empty__lead { font-size: 16px; color: var(--fg); max-width: 40em; }
.ct-empty__alt { margin-top: 8px; font-size: 14px; color: var(--fg3); }
.ct-empty__go { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 18px; }

/* hızlı ekle */
.ct-qa { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 22px; }
.ct-qa__k { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--fg3); }
.ct-qa__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ct-qa__chip { min-height: 40px; }
.ct-qa__chip .ct-qa__c, .ct-qa__chip[aria-pressed="true"] .ct-qa__p { display: none; }
.ct-qa__chip[aria-pressed="true"] .ct-qa__c { display: block; }

/* ---------- 03 · sayaç + önizleme ---------- */
.ct-len { margin-top: 14px; }
.ct-len__row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px; font-family: var(--f-m); font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--fg3); }
.ct-len__v { font-size: 12.5px; letter-spacing: .06em; }
.ct-len__v b { color: var(--fg); font-weight: 600; }
.ct-gauge { position: relative; display: block; block-size: 3px; margin-top: 10px; background: rgba(236,234,228,.12); }
.ct-gauge__bar { position: absolute; inset: 0; background: var(--au); transform-origin: 0 50%; transform: scaleX(0); transition: transform 360ms var(--ease-out), background-color var(--t1); }
[dir="rtl"] .ct-gauge__bar { transform-origin: 100% 50%; }
.ct-gauge__mark { position: absolute; top: -4px; bottom: -4px; inset-inline-start: 90%; inline-size: 1px; background: rgba(236,234,228,.45); }
.ct-len__msg { margin-top: 10px; font-size: 13px; color: var(--fg3); }
[data-state="warn"] .ct-gauge__bar, .ct-sheet[data-len="warn"] .ct-gauge__bar { background: var(--au2); }
[data-state="over"] .ct-gauge__bar, .ct-sheet[data-len="over"] .ct-gauge__bar { background: var(--ox); }
.ct-len[data-state="warn"] .ct-len__msg { color: var(--au); }
.ct-len[data-state="over"] .ct-len__msg, .ct-len[data-state="over"] .ct-len__v b { color: var(--ox); }
.ct-preview { margin-top: 16px; }
.ct-preview summary { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; cursor: pointer; list-style: none;
  font-size: 12px; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; color: var(--fg2); transition: color var(--t1); }
.ct-preview summary::-webkit-details-marker { display: none; }
.ct-preview summary:hover, .ct-preview[open] summary { color: var(--au); }
.ct-preview__txt { margin: 10px 0 0; max-height: 340px; overflow: auto; padding: 18px 20px; background: var(--k0); border: 1px solid var(--line);
  font-family: var(--f-m); font-size: 12.5px; line-height: 1.65; color: var(--fg2); white-space: pre-wrap; overflow-wrap: anywhere; }

/* ---------- 05 · onay + gönder ---------- */
.ct-consent { display: grid; justify-items: start; gap: 12px; }
.ct-consent .ct-tick { inline-size: 100%; }
.ct-consent__read { position: relative; z-index: 3; }
.ct-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 30px; }
.ct-submit { --c: 16px; min-height: 66px; padding: 0 44px; font-size: 14.5px; letter-spacing: .14em; overflow: hidden; }
.ct-submit__bar { position: absolute; inset-inline-start: 0; bottom: 0; inline-size: 38%; block-size: 3px; background: #0B0C0F; opacity: 0; transform: translateX(-110%); }
.ct-submit[data-busy], .ct-submit[data-busy][aria-disabled="true"] { cursor: progress; opacity: 1; pointer-events: none; }
.ct-submit[data-busy]::before { background: var(--au2); }
.ct-submit[data-busy] .ct-submit__bar { opacity: .55; animation: ct-busy 1.15s linear infinite; }
[dir="rtl"] .ct-submit[data-busy] .ct-submit__bar { animation-name: ct-busy-r; }
@keyframes ct-busy { from { transform: translateX(-110%); } to { transform: translateX(270%); } }
@keyframes ct-busy-r { from { transform: translateX(110%); } to { transform: translateX(-270%); } }
.ct-printbtn { min-height: 66px; }

/* hazırlık şeridi (Gönder'in üstü) — yalnız özet formun altına indiğinde (≤ 1100 px) görünür */
.ct-gate { display: none; }
@media (max-width: 1100px) {
  .ct-gate { display: block; margin-top: 28px; padding: 16px 18px 14px; border: 1px solid var(--line2); background: linear-gradient(180deg, rgba(236,234,228,.035), rgba(236,234,228,.01)); transition: border-color var(--t2); }
  .ct-gate.is-ready { border-color: rgba(245,200,66,.55); }
  .ct-gate.is-ready [data-ct-readyn] { color: var(--au); }
  .ct-gate + .ct-actions { margin-top: 16px; }
  .ct-rail .ct-sheet__ready { display: none; }   /* aynı şerit özetin içinde tekrarlanmasın */
}
.ct-status { min-height: 1.6em; margin-top: 16px; font-size: 14px; color: var(--fg2); outline: none; }
.ct-status[data-tone="err"] { color: var(--ox); }
.ct-status[data-tone="busy"] { color: var(--au); }
.ct-noscript { margin-top: 14px; font-size: 13px; color: var(--fg3); }

/* hata paneli (500 / ağ / zaman aşımı) — dürüst, sakin, çıkış yolu gösteren */
.ct-fail { margin-top: 30px; padding: clamp(22px, 2.8vw, 36px); background: linear-gradient(180deg, rgba(224,106,78,.09), rgba(224,106,78,.025)); box-shadow: inset 0 0 0 1px rgba(224,106,78,.36); border-inline-start: 3px solid var(--ox); }
.ct-fail__head { display: flex; align-items: center; gap: 18px; }
.ct-fail__ico { display: grid; place-items: center; flex: none; inline-size: 56px; block-size: 56px; color: var(--ox); box-shadow: inset 0 0 0 1px rgba(224,106,78,.45); }
.ct-fail__k { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--ox); }
.ct-fail__t { margin-top: 6px; outline: none; font-family: var(--f-d); font-stretch: 78%; font-weight: 800; font-size: clamp(24px, 2.3vw, 34px); line-height: 1.04; text-transform: uppercase; color: var(--fg); }
.ct-fail__lead { margin-top: 18px; max-width: 46em; color: var(--fg2); }
.ct-fail__grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 24px 36px; margin-top: 24px; }
.ct-fail__lab { display: block; margin-bottom: 10px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--fg3); }
.ct-fail__text { min-height: 220px; font-family: var(--f-m); font-size: 12.5px; line-height: 1.6; background: var(--k0); color: var(--fg2); resize: vertical; }
.ct-fail__acts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.ct-fail__direct { display: grid; align-content: start; gap: 18px; padding-top: 30px; }
.ct-fail__direct dt { font-family: var(--f-m); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--fg3); }
.ct-fail__direct dd { display: grid; justify-items: start; gap: 4px; margin: 6px 0 0; }
.ct-plain bdi { white-space: nowrap; }
.ct-plain { font-size: 18px; font-weight: 600; line-height: 1.35; color: var(--fg); -webkit-user-select: all; user-select: all; }
.ct-fail__keep { display: flex; align-items: center; gap: 8px; margin-top: 22px; font-size: 13px; color: var(--fg3); }
@media (max-width: 760px) { .ct-fail__grid { grid-template-columns: 1fr; } .ct-fail__direct { padding-top: 0; } }
/* JS'siz dönüş (?err=1): gönderilen metin elde yok → metin kutusu/kopyala ve "korunuyor" notu gizli; doğrudan hat yan yana */
.ct-fail--nojs .ct-fail__textwrap, .ct-fail--nojs .ct-fail__keep { display: none; }
.ct-fail--nojs .ct-fail__grid { grid-template-columns: 1fr; }
.ct-fail--nojs .ct-fail__direct { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 18px 36px; padding-top: 0; }

/* JS'siz dönüş (?sent=1): özet sütunu yok → "alındı" paneli tam genişlik */
.ct-grid--sent { grid-template-columns: minmax(0, 1fr); }

/* başarı paneli (YALNIZ 200 + ok:true) */
.ct-done { --c: 30px; display: flex; align-items: flex-end; min-height: clamp(540px, 70vh, 720px); color: #ECEAE4;
  clip-path: polygon(0 0, calc(100% - var(--c)) 0, 100% var(--c), 100% 100%, 0 100%); }
[dir="rtl"] .ct-done { clip-path: polygon(var(--c) 0, 100% 0, 100% 100%, 0 100%, 0 var(--c)); }
.ct-done .cine__img { filter: saturate(.8) contrast(1.08) brightness(.74); }
.ct-done__shade { position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(6,7,8,.96) 0%, rgba(6,7,8,.74) 46%, rgba(6,7,8,.18) 100%); }
.ct-done__in { position: relative; z-index: 3; padding: clamp(28px, 4.4vw, 60px); }
.ct-done__state { display: flex; align-items: center; gap: 16px; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--au); }
.ct-done__tile { inline-size: 56px; block-size: 56px; background: var(--au); color: #0B0C0F; box-shadow: none; }
.ct-done__tile .ico { stroke-width: 2.4; }
.ct-done__t { margin-top: 24px; outline: none; }
.ct-done__msg { margin-top: 18px; color: rgba(236,234,228,.86); }
.ct-done__dl { display: flex; flex-wrap: wrap; gap: 18px 56px; margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(236,234,228,.18); }
.ct-done__dl dt { font-family: var(--f-m); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: rgba(236,234,228,.6); }
.ct-done__dl dd { margin: 6px 0 0; font-family: var(--f-d); font-stretch: 78%; font-weight: 800; font-size: clamp(22px, 2vw, 30px); line-height: 1; color: #fff; }
.ct-done__note { margin-top: 18px; max-width: 46em; font-size: 14px; color: rgba(236,234,228,.7); }
.ct-done__acts { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
@media (prefers-reduced-motion: no-preference) {
  .ct-done.is-in .ct-done__in > * { animation: ct-in 800ms var(--ease-out) both; }
  .ct-done.is-in .ct-done__in > :nth-child(2) { animation-delay: 90ms; }
  .ct-done.is-in .ct-done__in > :nth-child(3) { animation-delay: 180ms; }
  .ct-done.is-in .ct-done__in > :nth-child(n+4) { animation-delay: 260ms; }
  .ct-done.is-in .cine__img { animation: kg-kb 18s var(--ease) both; }
}

/* ---------- talep özeti (yapışkan dosya) ---------- */
.ct-rail { position: sticky; top: calc(var(--mast) + 24px); max-height: calc(100vh - var(--mast) - 40px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--k5) transparent; }
.ct-sheet { --c: 22px; position: relative; padding: 28px 26px 24px; background: linear-gradient(180deg, #15171D 0%, #0F1115 100%); box-shadow: inset 0 0 0 1px var(--line);
  clip-path: polygon(0 0, calc(100% - var(--c)) 0, 100% var(--c), 100% 100%, 0 100%); }
[dir="rtl"] .ct-sheet { clip-path: polygon(var(--c) 0, 100% 0, 100% 100%, 0 100%, 0 var(--c)); }
.ct-sheet::before { content: ""; position: absolute; inset-inline-start: 0; top: 0; inline-size: calc(100% - var(--c)); block-size: 3px; background: linear-gradient(90deg, var(--au), rgba(245,200,66,.2)); }
[dir="rtl"] .ct-sheet::before { background: linear-gradient(270deg, var(--au), rgba(245,200,66,.2)); }
.ct-sheet::after { content: ""; position: absolute; inset-block-end: 12px; inset-inline-end: 12px; inline-size: 16px; block-size: 16px; border: 1.5px solid var(--au); border-inline-start: 0; border-block-start: 0; pointer-events: none; }
.ct-sheet__top { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 12px 14px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.ct-sheet__tile { inline-size: 46px; block-size: 46px; }
.ct-sheet__t { font-family: var(--f-d); font-stretch: 80%; font-weight: 800; font-size: 23px; line-height: 1; text-transform: uppercase; letter-spacing: .02em; }
.ct-sheet__code { margin-top: 7px; font-family: var(--f-m); font-size: 12px; letter-spacing: .08em; color: var(--au); }
.ct-sheet__date { grid-column: 1 / -1; font-family: var(--f-m); font-size: 11.5px; letter-spacing: .08em; color: var(--fg3); }
.ct-sheet__date:empty, .ct-sheet__code:empty { display: none; }
.ct-sheet__blk { padding-block: 16px; border-bottom: 1px solid var(--line); }
.ct-sheet__k { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; font-family: var(--f-m); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--fg3); }
.ct-sheet__k .num { color: var(--fg); letter-spacing: .06em; }
.ct-sheet.is-ready [data-ct-readyn] { color: var(--au); }
.ct-ready { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; margin-top: 12px; }
.ct-ready a { display: grid; gap: 7px; padding-bottom: 2px; font-size: 11.5px; line-height: 1.2; color: var(--fg3); transition: color var(--t1); }
.ct-ready a:hover { color: var(--fg); }
.ct-ready a .num { font-family: var(--f-m); font-size: 10.5px; letter-spacing: .08em; color: var(--fg3); }
.ct-ready a > span:nth-child(3) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ct-ready__g { display: block; block-size: 6px; inline-size: 100%; border: 1px solid rgba(236,234,228,.32); transition: background-color var(--t2), border-color var(--t2); }
.ct-ready__i.is-opt .ct-ready__g { border-style: dashed; }
.ct-ready__i.is-done .ct-ready__g { background: var(--au); border-color: var(--au); }
.ct-ready__i.is-done a, .ct-ready__i.is-done a .num { color: var(--fg); }
.ct-sheet__items { display: grid; gap: 7px; margin-top: 12px; font-size: 13.5px; line-height: 1.35; }
.ct-sheet__items li { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.ct-sheet__items .n { min-width: 0; color: var(--fg); overflow-wrap: anywhere; }
.ct-sheet__items .q { flex: none; font-family: var(--f-m); font-size: 12px; color: var(--au); white-space: nowrap; }
.ct-sheet__items .ct-sheet__more { color: var(--fg3); font-size: 12.5px; }
.ct-sheet__empty { margin-top: 10px; font-size: 13px; color: var(--fg3); }
.ct-sheet__dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 7px 16px; margin-top: 12px; font-size: 13px; line-height: 1.4; }
.ct-sheet__dl:empty { display: none; }
.ct-sheet__dl dt { color: var(--fg3); }
.ct-sheet__dl dd { margin: 0; color: var(--fg); overflow-wrap: anywhere; }
.ct-sheet__len { padding-block: 16px; border-bottom: 1px solid var(--line); }
.ct-sheet__len .ct-gauge { margin-top: 12px; }
.ct-sheet[data-len="over"] [data-ct-slen] { color: var(--ox); }
.ct-sheet__disc { margin-top: 18px; padding: 10px 12px; border: 1px solid var(--line2); font-size: 12.5px; font-weight: 600; line-height: 1.45; color: var(--fg2); }
.ct-sheet__print { margin-top: 14px; --bgx: #121418; }

/* ---------- sonraki adımlar: talepten teklife ---------- */
.ct-next { position: relative; padding-block: clamp(88px, 9vw, 160px); background: var(--k2); border-top: 1px solid var(--line); overflow: hidden; isolation: isolate; }
.ct-next::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(60% 70% at 78% 50%, rgba(245,200,66,.06) 0%, rgba(245,200,66,0) 70%); }
[dir="rtl"] .ct-next::before { background: radial-gradient(60% 70% at 22% 50%, rgba(245,200,66,.06) 0%, rgba(245,200,66,0) 70%); }
.ct-next__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: center; gap: clamp(40px, 5.6vw, 104px); }
.ct-next__fig { margin: 0; }
.ct-next__fig.hud::before, .ct-next__fig.hud::after { z-index: 4; }
.ct-next__frame { --c: 28px; aspect-ratio: 5 / 4; }
.ct-next__frame .cine__img { filter: saturate(.84) contrast(1.08) brightness(.86); }
.ct-next__scrim { position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(6,7,8,.7) 0%, rgba(6,7,8,0) 42%), linear-gradient(90deg, rgba(6,7,8,.25) 0%, rgba(6,7,8,0) 50%); }
.ct-next__tag { position: absolute; z-index: 3; inset-inline-start: 26px; inset-block-end: 22px; display: inline-flex; align-items: center; gap: 10px; color: rgba(236,234,228,.75); }
.ct-next__dot { inline-size: 7px; block-size: 7px; background: var(--au); }
@media (prefers-reduced-motion: no-preference) { .ct-next__dot { animation: ct-blink 2.4s steps(2, jump-none) infinite; } }
@keyframes ct-blink { 50% { opacity: .2; } }
.ct-next__txt > * + * { margin-top: 22px; }
.ct-next__lead { max-width: 30em; }
.ct-next__steps { position: relative; display: grid; gap: 0; margin-top: 40px !important; }
.ct-next__steps::before { content: ""; position: absolute; inset-inline-start: 21px; top: 22px; bottom: 22px; inline-size: 1px; background: linear-gradient(180deg, var(--au), rgba(245,200,66,.15)); }
.ct-next__step { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 22px; padding-block: 16px; }
.ct-next__n { position: relative; display: grid; place-items: center; inline-size: 44px; block-size: 44px; background: var(--k2); box-shadow: inset 0 0 0 1px rgba(245,200,66,.55);
  font-family: var(--f-d); font-stretch: 75%; font-weight: 850; font-size: 24px; line-height: 1; color: var(--au);
  clip-path: polygon(0 0, calc(100% - 9px) 0, 100% 9px, 100% 100%, 0 100%); }
[dir="rtl"] .ct-next__n { clip-path: polygon(9px 0, 100% 0, 100% 100%, 0 100%, 0 9px); }
.ct-next__st { font-family: var(--f-d); font-stretch: 78%; font-weight: 800; font-size: clamp(22px, 1.8vw, 28px); line-height: 1; text-transform: uppercase; letter-spacing: .01em; padding-top: 4px; }
.ct-next__sd { margin-top: 8px; max-width: 34em; font-size: 15.5px; line-height: 1.6; color: var(--fg2); }
@media (max-width: 900px) { .ct-next__grid { grid-template-columns: 1fr; } .ct-next__frame { aspect-ratio: 4 / 3; } }
[lang="ar"] .ct-next__st { font-family: var(--f-d); font-weight: 700; font-stretch: 100%; text-transform: none; letter-spacing: 0; line-height: 1.35; font-size: clamp(19px, 1.6vw, 24px); padding-top: 2px; }
[lang="ar"] .ct-next__tag { letter-spacing: 0; text-transform: none; }
[lang="ar"] .ct-next__n { font-family: "Hubot Sans", "Hubot Fallback", Arial, sans-serif; }

/* ---------- doğrudan hat: İstanbul HUD haritası ---------- */
.ct-direct { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; min-height: max(640px, 46vw); background: #07090B; color: #ECEAE4; }
.ct-map { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.ct-map__svg { position: absolute; top: 0; left: 72%; block-size: 100%; inline-size: auto; max-width: none; aspect-ratio: 2600 / 800; transform: translateX(-50%); }
[dir="rtl"] .ct-map__svg { left: 28%; }
.ct-map__grat line { stroke: rgba(236,234,228,.05); stroke-width: 1; vector-effect: non-scaling-stroke; }
.ct-map__land path { fill: url(#ct-land); stroke: rgba(236,234,228,.40); stroke-width: 1.1; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.ct-map__kiz { fill: rgba(236,234,228,.8); }
.ct-map__br line { stroke: var(--au); stroke-width: 2.4; stroke-linecap: square; vector-effect: non-scaling-stroke; }
.ct-map text { direction: ltr; }   /* coğrafi çapa: RTL sayfada da etiketler aynı yöne açılır */
.ct-map__lab text { font-family: var(--f-m); fill: rgba(236,234,228,.42); letter-spacing: .3em; }
.ct-map__sea { font-size: 15px; fill: rgba(236,234,228,.40); letter-spacing: .5em; }
.ct-map__sea--sm { font-size: 11.5px; letter-spacing: .42em; }
.ct-map__side { font-size: 13px; fill: rgba(236,234,228,.26); letter-spacing: .44em; }
.ct-map__dist { font-size: 10.5px; fill: rgba(236,234,228,.40); letter-spacing: .22em; }
.ct-map__cross { stroke: rgba(245,200,66,.22); stroke-width: 1; stroke-dasharray: 3 7; vector-effect: non-scaling-stroke; }
.ct-map__ring { fill: none; stroke: rgba(245,200,66,.32); stroke-width: 1; stroke-dasharray: 2 6; vector-effect: non-scaling-stroke; }
.ct-map__ring--o { stroke: rgba(245,200,66,.16); }
.ct-map__pin { fill: var(--au); }
.ct-map__pin-o { fill: rgba(7,9,11,.6); stroke: var(--au); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.ct-map__pulse { fill: none; stroke: var(--au); stroke-width: 1.5; vector-effect: non-scaling-stroke; opacity: 0; transform-box: fill-box; transform-origin: center; }
.ct-map__lead { fill: none; stroke: var(--au); stroke-width: 1; vector-effect: non-scaling-stroke; }
.ct-map__name { font-family: var(--f-d); font-stretch: 78%; font-weight: 800; font-size: 30px; letter-spacing: .03em; fill: #FFFFFF; text-transform: uppercase; }
.ct-map__here { font-family: var(--f-m); font-size: 12.5px; letter-spacing: .2em; fill: var(--au); }
.ct-map__sweep { transform-box: view-box; transform-origin: 1300px 510px; transform: rotate(-24deg); }
@media (prefers-reduced-motion: no-preference) {
  .ct-direct.is-live .ct-map__sweep { animation: ct-sweep 10s linear infinite; }
  .ct-direct.is-live .ct-map__pulse { animation: ct-pulse 2.8s var(--ease-out) infinite; }
}
@keyframes ct-sweep { from { transform: rotate(-24deg); } to { transform: rotate(336deg); } }
@keyframes ct-pulse { 0% { opacity: .9; transform: scale(.5); } 100% { opacity: 0; transform: scale(3.4); } }
.ct-direct__shade { position: absolute; inset: 0; z-index: 1; pointer-events: none; background:
  linear-gradient(180deg, var(--k2) 0%, rgba(17,19,24,0) 14%, rgba(6,7,8,0) 84%, #060708 100%),
  linear-gradient(90deg, rgba(7,9,11,.92) 0%, rgba(7,9,11,.55) 36%, rgba(7,9,11,0) 58%),
  radial-gradient(90% 120% at 72% 64%, rgba(7,9,11,0) 46%, rgba(7,9,11,.66) 100%); }
[dir="rtl"] .ct-direct__shade { background:
  linear-gradient(180deg, var(--k2) 0%, rgba(17,19,24,0) 14%, rgba(6,7,8,0) 84%, #060708 100%),
  linear-gradient(270deg, rgba(7,9,11,.92) 0%, rgba(7,9,11,.55) 36%, rgba(7,9,11,0) 58%),
  radial-gradient(90% 120% at 28% 64%, rgba(7,9,11,0) 46%, rgba(7,9,11,.66) 100%); }
.ct-hudbar { position: absolute; z-index: 2; inset-inline: max(var(--m), calc((100% - var(--maxw)) / 2 + var(--m))); display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; pointer-events: none; }
.ct-hudbar--top { top: clamp(64px, 6vw, 92px); }
.ct-hudbar--bot { bottom: clamp(28px, 3vw, 44px); }
.ct-hudbar .hud-coord { color: rgba(236,234,228,.5); }
.ct-north { display: inline-flex; flex-direction: column; align-items: center; gap: 5px; font-family: var(--f-m); font-size: 11px; font-weight: 600; color: var(--au); }
.ct-north__a { inline-size: 0; block-size: 0; border-inline: 5px solid transparent; border-bottom: 10px solid var(--au); }
.ct-direct__in { position: relative; z-index: 3; inline-size: 100%; padding-block: clamp(120px, 10vw, 168px) clamp(96px, 9vw, 150px); }
.ct-card { --c: 24px; position: relative; max-inline-size: 548px; padding: clamp(28px, 3.2vw, 46px);
  background: rgba(10,11,14,.8); -webkit-backdrop-filter: blur(12px) saturate(1.1); backdrop-filter: blur(12px) saturate(1.1); box-shadow: inset 0 0 0 1px rgba(236,234,228,.12);
  clip-path: polygon(0 0, calc(100% - var(--c)) 0, 100% var(--c), 100% 100%, 0 100%); }
[dir="rtl"] .ct-card { clip-path: polygon(var(--c) 0, 100% 0, 100% 100%, 0 100%, 0 var(--c)); }
.ct-card::before { content: ""; position: absolute; inset-inline-start: 0; top: 0; inline-size: 72px; block-size: 3px; background: var(--au); }
.ct-card__t { margin-top: 18px; }
.ct-card__lead { margin-top: 16px; font-size: 16px; line-height: 1.6; color: var(--fg2); }
.ct-card__tel { display: block; margin-top: 28px; padding-block: 18px 20px; border-block: 1px solid rgba(236,234,228,.12); }
.ct-card__k { display: block; color: var(--fg3); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.ct-card__big { display: block; white-space: nowrap; margin-top: 8px; font-family: var(--f-d); font-stretch: 75%; font-weight: 820; font-size: clamp(36px, 3.5vw, 54px); line-height: .92; letter-spacing: .01em; color: #fff; transition: color var(--t1); }
.ct-card__tel:hover .ct-card__big { color: var(--au); }
.ct-card__dl { display: grid; gap: 14px; margin-top: 22px; }
.ct-card__dl > div { display: grid; grid-template-columns: 8.6em minmax(0, 1fr); gap: 4px 18px; align-items: baseline; }
.ct-card__dl dt { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--fg3); }
.ct-card__dl dd { margin: 0; font-size: 15px; line-height: 1.5; color: var(--fg); }
.ct-card__dl a:hover { color: var(--au); }
.ct-card__act { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }

/* ---------- duyarlı ---------- */
@media (max-width: 1100px) {
  .ct-grid { grid-template-columns: 1fr; }
  .ct-rail { position: static; max-inline-size: 640px; max-height: none; overflow: visible; }
}
@media (max-width: 900px) {
  .ct-direct { display: block; min-height: 0; background: #07090B; }
  .ct-map { position: relative; inset: auto; block-size: clamp(360px, 92vw, 520px); }
  .ct-map__svg, [dir="rtl"] .ct-map__svg { left: 50%; }
  .ct-map__lab text { font-size: 19px; }
  .ct-map__sea { font-size: 21px; }
  .ct-map__sea--sm, .ct-map__side { font-size: 17px; }
  .ct-map__dist { font-size: 16px; }
  .ct-map__name { font-size: 40px; }
  .ct-map__here { font-size: 18px; }
  .ct-direct__shade, [dir="rtl"] .ct-direct__shade { block-size: clamp(360px, 92vw, 520px); bottom: auto; background:
    linear-gradient(180deg, var(--k2) 0%, rgba(17,19,24,0) 18%, rgba(7,9,11,0) 70%, #07090B 100%),
    radial-gradient(80% 80% at 50% 62%, rgba(7,9,11,0) 50%, rgba(7,9,11,.7) 100%); }
  .ct-hudbar--top { top: 24px; }
  .ct-hudbar--bot { top: calc(clamp(360px, 92vw, 520px) - 40px); bottom: auto; }
  .ct-direct__in { padding-block: 0 clamp(72px, 12vw, 104px); margin-top: 0; }
  .ct-card { max-inline-size: none; background: rgba(13,14,18,.94); }
}
@media (max-width: 760px) {
  .ct-form { --rail: 0px; }
  .ct-spine { display: none; }
  .ct-lg, .ct-form .field > label { font-size: 12.5px; letter-spacing: .08em; }   /* telefonda okunur alan etiketleri */
  .ct-step { padding-block: 34px 40px; }
  .ct-step:first-of-type { padding-top: 0; }
  .ct-step__no, .ct-step:first-of-type .ct-step__no { position: static; inline-size: auto; padding: 0; background: none; font-size: 40px; text-align: start; }
  .ct-step__t { gap: 12px; align-items: center; }
  .ct-fields { grid-template-columns: 1fr; gap: 26px; }
  .ct-bands { grid-template-columns: 1fr; }
  .ct-band__f { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 4px 16px; min-height: 76px; padding: 14px 18px; }
  .ct-band__n { font-size: 44px; min-inline-size: 2.4ch; }
  .ct-band__ok { inset-block-end: auto; inset-block-start: 50%; transform: translateY(-50%) scale(.6); }
  .ct-band input:checked + .ct-band__f .ct-band__ok { transform: translateY(-50%); }
  .ct-item { grid-template-columns: 60px minmax(0, 1fr) 44px; gap: 10px 14px; }
  .ct-item__no { display: none; }
  .ct-item__vis { inline-size: 60px; block-size: 60px; grid-row: 1 / span 2; align-self: start; }
  .ct-item__main { grid-column: 2; }
  .ct-item__rm { grid-column: 3; grid-row: 1; align-self: start; }
  .ct-item__qty { grid-column: 2 / -1; grid-row: 2; display: flex; align-items: center; justify-content: flex-start; gap: 12px; }
  .ct-item__note { grid-column: 1 / -1; }
  .ct-clear { margin-inline-start: 0; }
  .ct-empty { flex-direction: column; gap: 18px; }
  .ct-actions .btn { inline-size: 100%; }
  .ct-sheet { padding: 24px 20px 22px; }
  .ct-card__dl > div { grid-template-columns: 1fr; }
  .ct-done { min-height: 560px; }
}
@media (max-width: 560px) {
  .ct-seg--4 { grid-template-columns: 1fr 1fr; }
  .ct-seg--4 .ct-seg__o:nth-child(3) { border-inline-start: 0; }
  .ct-seg--4 .ct-seg__o:nth-child(n+3) { border-top: 1px solid rgba(236,234,228,.2); }
  .ct-chip__f { min-height: 44px; padding: 0 14px; font-size: 12px; }
}

/* ---------- Arapça: harf aralığı / büyük harf YOK ---------- */
[lang="ar"] .ct-step__t, [lang="ar"] .ct-lg, [lang="ar"] .ct-form .field > label, [lang="ar"] .ct-chip__f, [lang="ar"] .ct-seg__f, [lang="ar"] .ct-band__u,
[lang="ar"] .ct-badge, [lang="ar"] .ct-len__row, [lang="ar"] .ct-preview summary, [lang="ar"] .ct-sheet__k, [lang="ar"] .ct-sheet__t, [lang="ar"] .ct-card__dl dt,
[lang="ar"] .ct-card__k, [lang="ar"] .ct-fail__t, [lang="ar"] .ct-fail__direct dt, [lang="ar"] .ct-done__dl dt, [lang="ar"] .ct-item__name, [lang="ar"] .ct-item__meta,
[lang="ar"] .ct-item__nb, [lang="ar"] .ct-item__ql, [lang="ar"] .ct-item__unit, [lang="ar"] .ct-clear__btn, [lang="ar"] .ct-clear__yes, [lang="ar"] .ct-clear__no,
[lang="ar"] .ct-hm b, [lang="ar"] .ct-hm--list, [lang="ar"] .ct-hm__n, [lang="ar"] .ct-sheet__date, [lang="ar"] .ct-map__lab text, [lang="ar"] .ct-map__name, [lang="ar"] .ct-map__here, [lang="ar"] .ct-hudbar .hud-coord,
[lang="ar"] .ct-done__dl dd, [lang="ar"] .ct-export__k, [lang="ar"] .ct-fail__k, [lang="ar"] .ct-fail__lab, [lang="ar"] .ct-qa__k, [lang="ar"] .ct-reqnote {
  letter-spacing: 0 !important; text-transform: none !important; font-stretch: 100% !important;
}
[lang="ar"] .ct-step__t .ct-step__name, [lang="ar"] .ct-sheet__t, [lang="ar"] .ct-item__name, [lang="ar"] .ct-fail__t, [lang="ar"] .ct-map__name { font-family: var(--f-d); font-weight: 700; line-height: 1.35; }
[lang="ar"] .ct-step__t { font-size: clamp(22px, 2vw, 30px); line-height: 1.35; }
[lang="ar"] .ct-item__name { font-size: clamp(17px, 1.4vw, 21px); }
[lang="ar"] .ct-sheet__t { font-size: 19px; }
[lang="ar"] .ct-fail__t { font-size: clamp(20px, 2vw, 27px); }
[lang="ar"] .ct-lg, [lang="ar"] .ct-form .field > label, [lang="ar"] .ct-sheet__k, [lang="ar"] .ct-card__dl dt, [lang="ar"] .ct-card__k { font-family: var(--f-d); font-size: 13px; font-weight: 600; }
[lang="ar"] .ct-sheet__date { font-family: var(--f-d); font-size: 12.5px; }   /* Arapça tarih: harf aralığı YOK, mono yerine Kufi */
[lang="ar"] .ct-chip__f, [lang="ar"] .ct-seg__f, [lang="ar"] .ct-item__nb, [lang="ar"] .ct-clear__btn, [lang="ar"] .ct-clear__yes, [lang="ar"] .ct-clear__no, [lang="ar"] .ct-preview summary { font-family: var(--f-d); font-size: 13.5px; font-weight: 700; }
[lang="ar"] .ct-map__lab text { font-family: var(--f-d); font-weight: 600; }
[lang="ar"] .ct-step__no, [lang="ar"] .ct-band__n, [lang="ar"] .ct-card__big, [lang="ar"] .ct-done__dl dd { font-family: "Hubot Sans", "Hubot Fallback", Arial, sans-serif; }
[lang="ar"] .ct-card__big { font-stretch: 75%; }
[lang="ar"] .ct-band__n bdi, [lang="ar"] .ct-card__big bdi, [lang="ar"] .ct-len__v bdi, [lang="ar"] .ct-sheet__k bdi, [lang="ar"] .ct-hudbar bdi { font-family: inherit; }

/* ---------- erişilebilirlik ---------- */
@media (prefers-reduced-motion: reduce) {
  .ct-spine__fill, .ct-gauge__bar, .ct-band__ok, .ct-tick__box .ico { transition: none; }
  .ct-submit[data-busy] .ct-submit__bar { animation: none; opacity: .55; transform: none; inline-size: 100%; }
}
@media (forced-colors: active) {
  .ct-chip input:checked + .ct-chip__f, .ct-seg__o input:checked + .ct-seg__f, .ct-band input:checked + .ct-band__f { outline: 2px solid Highlight; }
  .ct-step__no { color: CanvasText; -webkit-text-stroke: 0; }
  .ct-direct__shade { display: none; }
}

/* ---------- YAZDIRMA: yalnız A4 tek sayfa talep özeti (JS varken) ---------- */
.ct-print { display: none; }
@media print {
  @page { size: A4; margin: 12mm 13mm; }
  :root { color-scheme: light !important; }   /* koyu color-scheme baskıda sayfa kenarını #121212 boyamasın */
  html.js body.tpl-contact { overflow: visible !important; }
  html.js body.tpl-contact > :not(main) { display: none !important; }
  html.js body.tpl-contact main > :not(.ct-print) { display: none !important; }
  html.js body.tpl-contact main { padding: 0 !important; margin: 0 !important; }
  html.js body.tpl-contact .ct-print {
    display: flex !important; flex-direction: column; min-height: 268mm; color: #000; background: #fff;
    font-family: var(--f); font-size: 9.4pt; line-height: 1.42; font-variant-numeric: tabular-nums lining-nums;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
  }
  .ct-print p { margin: 0; }
  .ct-p__head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 0 12pt; padding-bottom: 10pt; border-bottom: 1.6pt solid #000; }
  .ct-p__tile { display: grid; place-items: center; inline-size: 40pt; block-size: 40pt; background: #0B0C0F !important; color: #F5C842 !important;
    clip-path: polygon(0 0, calc(100% - 7pt) 0, 100% 7pt, 100% 100%, 0 100%); }
  [dir="rtl"] .ct-p__tile { clip-path: polygon(7pt 0, 100% 0, 100% 100%, 0 100%, 0 7pt); }
  .ct-p__tile .kg-mark { inline-size: 62%; height: auto; }
  .ct-p__name { font-family: var(--f-d); font-stretch: 110%; font-weight: 800; font-size: 13pt; letter-spacing: .14em; text-transform: uppercase; line-height: 1.1; }
  .ct-p__group { margin-top: 3pt !important; font-size: 8.4pt; color: #444; }
  .ct-p__doc { text-align: end; padding-inline-end: 1.5pt; font-size: 8.4pt; color: #333; }
  .ct-p__doc span:first-child { color: #666; }
  .ct-p__title { margin-bottom: 4pt !important; font-family: var(--f-d); font-stretch: 75%; font-weight: 820; font-size: 20pt; line-height: .95; text-transform: uppercase; color: #000; }
  .ct-p__h { margin-top: 14pt !important; padding-bottom: 3.5pt; border-bottom: .8pt solid #000; font-family: var(--f-m); font-weight: 600; font-size: 7.4pt; letter-spacing: .16em; text-transform: uppercase; color: #222; break-after: avoid; }
  .ct-p__table { inline-size: 100%; border-collapse: collapse; font-size: 9pt; }
  .ct-p__table th { padding: 4pt 8pt 4pt 0; border-bottom: .6pt solid #888; text-align: start; font-weight: 600; font-size: 7.2pt; color: #444; }
  .ct-p__table td { padding: 4.4pt 8pt 4.4pt 0; border-bottom: .5pt solid #ccc; vertical-align: top; }
  .ct-p__table th:nth-child(1), .ct-p__table td:nth-child(1) { inline-size: 7%; color: #555; }
  .ct-p__table th:nth-child(3), .ct-p__table td:nth-child(3) { inline-size: 16%; }
  .ct-p__table th:nth-child(4), .ct-p__table td:nth-child(4) { inline-size: 9%; text-align: end; padding-inline-end: 14pt; }
  .ct-p__table tr { break-inside: avoid; }
  .ct-p__none td, .ct-p__more td { color: #666; }
  .ct-print.is-dense .ct-p__table { font-size: 8pt; }
  .ct-print.is-dense .ct-p__table td { padding-block: 2.6pt; }
  .ct-p__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 22pt; }
  .ct-p__dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 3pt 12pt; margin-top: 7pt; }
  .ct-p__dl dt { color: #555; }
  .ct-p__dl dd { margin: 0; overflow-wrap: anywhere; }
  .ct-p__msgwrap[hidden] { display: none !important; }
  .ct-p__msg { margin-top: 7pt !important; white-space: pre-wrap; overflow-wrap: anywhere; }
  .ct-p__disc { margin-top: 16pt !important; padding: 7pt 10pt; border: 1pt solid #000; font-weight: 700; font-size: 9.4pt; break-inside: avoid; }
  .ct-p__foot { margin-top: auto !important; padding-top: 7pt; border-top: .6pt solid #000; font-size: 7.4pt; color: #333; break-inside: avoid; }
  [lang="ar"] .ct-p__name, [lang="ar"] .ct-p__h, [lang="ar"] .ct-p__title { letter-spacing: 0; text-transform: none; font-stretch: 100%; }
  [lang="ar"] .ct-p__title { font-weight: 700; line-height: 1.3; font-size: 17pt; }
  [lang="ar"] .ct-p__h { font-family: var(--f-d); font-size: 8.4pt; }
}
