/* Felemenkçe Akademi: tasarım sistemi "mektup"
   Zarf mavisi tam yüzey zemin, üstünde beyaz A4 mektup yaprağı. Hairline cetveller, kat izleri, numaralı maddeler,
   perforeli cevap şeridi, kaşe rozeti, zarf arkası footer. Tek tema (açık). Renkler yalnız :root'tan okunur.
   Köşe: her yerde 2px. Turuncu yalnız kaşe, birincil buton ve etkin cevap kutusunda.
   Font: Source Serif 4 (mektup gövdesi) + Archivo (başlık/etiket). Manrope yalnız logo SVG metni için yüklenir. */

/* ---------- Yazı tipleri (self-host, assets/fonts, OFL) ---------- */
@font-face { font-family: "Archivo"; font-style: normal; font-weight: 400 700; font-display: swap; src: url(/assets/fonts/archivo-normal-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Archivo"; font-style: normal; font-weight: 400 700; font-display: swap; src: url(/assets/fonts/archivo-normal-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 700 800; font-display: swap; src: url(/assets/fonts/manrope-normal-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 700 800; font-display: swap; src: url(/assets/fonts/manrope-normal-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Source Serif 4"; font-style: italic; font-weight: 400 600; font-display: swap; src: url(/assets/fonts/source-serif-4-italic-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Source Serif 4"; font-style: italic; font-weight: 400 600; font-display: swap; src: url(/assets/fonts/source-serif-4-italic-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Source Serif 4"; font-style: normal; font-weight: 400 600; font-display: swap; src: url(/assets/fonts/source-serif-4-normal-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Source Serif 4"; font-style: normal; font-weight: 400 600; font-display: swap; src: url(/assets/fonts/source-serif-4-normal-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --envelope: #17305e;
  --envelope-2: #0f2347;
  --envelope-3: #24427c;
  --on-env: #ffffff;
  --on-env-2: #b9c7e4;
  --paper: #ffffff;
  --paper-2: #f3f5f9;
  --paper-edge: #dfe4ee;
  --ink: #1b1f2a;
  --ink-2: #4b5670;
  --rule: #d9dee8;
  --rule-2: #a9b3c7;
  --accent: #a85a16;
  --accent-hover: #8f4b11;
  --accent-2: #d9922f;
  --navy: var(--envelope);
  --err: #b42318;
  --font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --font-sans: "Archivo", "Segoe UI", Arial, sans-serif;
  --sheet: 960px;
  --wrap: 1180px;
  --gutter: 16px;
  --radius: 2px;
  --header-h: 64px;
  --measure: 66ch;
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 24px;
  --s-6: 32px;
  --s-7: 48px;
  --s-8: 64px;
  --shadow-sheet: 0 16px 32px -18px rgba(0, 0, 0, 0.4);
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
}

/* ---------- Taban ---------- */
*, *::before, *::after { box-sizing: border-box; }
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  font-variant-numeric: tabular-nums;
  scrollbar-color: var(--envelope-3) var(--envelope-2);
  background: var(--envelope);
}
body {
  margin: 0;
  font: 400 1.0625rem/1.6 var(--font-serif);
  color: var(--ink);
  background: var(--envelope);
  overflow-x: clip;
  caret-color: var(--accent);
  accent-color: var(--envelope);
}
::selection { background: var(--envelope); color: var(--on-env); }
.on-envelope ::selection, .site-footer ::selection { background: var(--paper); color: var(--envelope); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
img, svg { max-width: 100%; display: block; }
a { color: var(--envelope); text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: var(--rule-2); }
a:hover { text-decoration-color: currentColor; }
h1, h2, h3 { font-family: var(--font-sans); color: var(--ink); line-height: 1.2; letter-spacing: -0.015em; margin: 0 0 0.5em; text-wrap: balance; }
h1 { font-size: clamp(1.5rem, 1.15rem + 1.3vw, 2.125rem); font-weight: 700; }
h2 { font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem); font-weight: 700; }
h3 { font-size: 1.0625rem; font-weight: 600; }
.h-spec { font: 600 0.875rem/1.3 var(--font-sans); color: var(--ink-2); margin: 0 0 var(--s-3); letter-spacing: 0; }
p { margin: 0 0 1em; }
ul, ol { margin: 0 0 1em; padding-left: 1.2em; }
b, strong { font-weight: 600; }
small { font-size: 0.875rem; }
.lead { font-size: 1.125rem; }
.prose p, .prose li, .lead, .faq-a p, .note, .table-foot, .sec-intro, .legal p, .legal li { max-width: var(--measure); }
.sec-intro { color: var(--ink-2); }
.arrow { display: inline-block; vertical-align: -2px; margin-left: 2px; flex: none; }
.skip { position: absolute; left: -999px; top: 8px; background: var(--paper); color: var(--envelope); padding: 8px 12px; border-radius: var(--radius); z-index: 100; font-family: var(--font-sans); }
.skip:focus { left: 8px; }
.desktop-only { display: none !important; }
[hidden] { display: none !important; }

/* ---------- Hareket: yalnız kâğıt ve kaşe ---------- */
@keyframes rise { from { transform: translateY(24px); } to { transform: none; } }
@keyframes stamp { from { transform: rotate(-6deg) scale(1.08); } to { transform: rotate(-6deg) scale(1); } }
.letter-rise { animation: rise 0.3s var(--ease) both; }
.stamp.is-on { animation: stamp 0.22s var(--ease) both; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* ---------- Yerleşim: zarf ve yaprak ---------- */
.wrap { max-width: var(--wrap); margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter); min-width: 0; }
.envelope { padding: 28px var(--gutter) 36px; }
.envelope + .envelope { padding-top: 0; }
.sheet {
  position: relative;
  max-width: var(--sheet);
  margin: 0 auto;
  background: var(--paper);
  border: 1px solid var(--paper-edge);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sheet);
  padding: clamp(24px, 2vw + 14px, 56px);
  min-width: 0;
}
.sheet + .sheet { margin-top: 28px; }
/* Kat izi yok: tam genişlik yatay çizgiler başlıkları kesiyor, kullanıcı kararıyla kaldırıldı (05-10-2026). */
.enc-head { display: flex; justify-content: space-between; gap: 6px 16px; flex-wrap: wrap; font: 500 0.85rem/1.5 var(--font-sans); color: var(--ink-2); padding-bottom: 14px; border-bottom: 1px solid var(--rule); margin-bottom: 24px; }
.enc-head span:last-child { margin-left: auto; }
.enc-head + .blk { border-top: 0; padding-top: 0; margin-top: 0; }
.blk + .blk { border-top: 1px solid var(--rule); padding-top: 28px; margin-top: 28px; }
.blk { padding-top: 28px; margin-top: 28px; border-top: 1px solid var(--rule); }
.blk > h2:first-child { margin-top: 0; }
.blk-related { padding-top: 20px; margin-top: 32px; }

/* ---------- Butonlar ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.4em;
  min-height: 46px; padding: 0 20px; border-radius: var(--radius);
  font: 600 0.95rem/1.2 var(--font-sans); text-decoration: none; cursor: pointer; white-space: nowrap;
  border: 1px solid transparent;
  transition: background-color 0.15s var(--ease), border-color 0.15s var(--ease), transform 0.15s var(--ease);
}
.btn:active { transform: translateY(1px); }
.btn-primary { background: var(--accent); color: #fff; border-color: var(--accent); }
.btn-primary:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.btn-ghost { background: transparent; color: var(--envelope); border-color: var(--envelope); }
.btn-ghost:hover { background: var(--paper-2); }
.btn-ghost.on-dark { color: #fff; border-color: rgba(255, 255, 255, 0.7); }
.btn-ghost.on-dark:hover { background: rgba(255, 255, 255, 0.1); }
.btn[disabled] { opacity: 0.6; cursor: wait; }
.text-link { font: 600 0.95rem var(--font-sans); text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }
.text-link:hover { text-decoration: underline; }

/* ---------- Header: dar beyaz şerit ---------- */
.site-header { position: sticky; top: 0; z-index: 50; background: var(--paper); border-bottom: 1px solid var(--rule); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: var(--header-h); }
.brand .logo { height: 30px; width: auto; }
@media (min-width: 420px) { .brand .logo { height: 34px; } }
.header-tools { display: flex; align-items: center; gap: 6px; flex: none; }
@media (min-width: 1100px) { .header-tools { gap: 10px; } }
.header-cta { display: inline-flex; min-height: 38px; padding: 0 12px; font-size: 0.875rem; }
.header-cta .cta-long { display: none; }
@media (min-width: 1100px) { .header-cta .cta-long { display: inline; } .header-cta .cta-short { display: none; } .header-cta { padding: 0 14px; } }
.header-tools .lang-switch { display: none; }
@media (min-width: 1100px) { .header-tools .lang-switch { display: inline-flex; } }
.menu-toggle { display: inline-flex; align-items: center; gap: 8px; background: none; border: 1px solid var(--rule-2); border-radius: var(--radius); min-height: 38px; padding: 0 10px; font: 600 0.875rem var(--font-sans); color: var(--ink); cursor: pointer; }
.menu-toggle .menu-label { display: none; }
@media (min-width: 420px) { .menu-toggle .menu-label { display: inline; } .menu-toggle { padding: 0 12px; } }
.menu-bars { width: 18px; height: 1.5px; background: var(--ink); position: relative; display: inline-block; }
.menu-bars::before, .menu-bars::after { content: ""; position: absolute; left: 0; width: 18px; height: 1.5px; background: var(--ink); }
.menu-bars::before { top: -6px; }
.menu-bars::after { top: 6px; }
.main-nav { display: none; }
.main-nav.open { display: flex; flex-direction: column; position: absolute; left: 0; right: 0; top: 100%; background: var(--paper); padding: 8px var(--gutter) 20px; box-shadow: var(--shadow-sheet); }
.main-nav a { color: var(--ink); text-decoration: none; font: 500 1rem var(--font-sans); padding: 12px 0; border-bottom: 1px solid var(--rule); }
.main-nav a[aria-current="page"] { font-weight: 700; }
.nav-mobile-tools { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 14px; flex-wrap: wrap; }
.main-nav .nav-cta { border-bottom: 0; color: #fff; padding: 0 18px; font-size: 0.95rem; }
.market-toggle { display: inline-flex; border: 1px solid var(--rule-2); border-radius: var(--radius); overflow: hidden; }
.market-toggle button { background: none; border: 0; padding: 7px 11px; font: 600 0.8125rem var(--font-sans); color: var(--ink-2); cursor: pointer; }
.market-toggle button[aria-pressed="true"] { background: var(--envelope); color: #fff; }
.lang-switch { display: inline-flex; gap: 2px; }
.lang-switch a { font: 600 0.8125rem var(--font-sans); color: var(--ink-2); text-decoration: none; padding: 7px 6px; }
@media (min-width: 420px) { .lang-switch a { padding: 7px 8px; } }
.lang-switch a.active { color: var(--ink); box-shadow: inset 0 -2px 0 var(--envelope); }
@media (min-width: 1100px) {
  .menu-toggle { display: none; }
  .desktop-only { display: inline-flex !important; }
  .header-cta { display: inline-flex; }
  .main-nav { display: flex; gap: 2px; align-items: center; flex: none; }
  .main-nav a { padding: 8px 10px; border-bottom: 0; font-size: 0.9rem; white-space: nowrap; border-radius: var(--radius); }
  .main-nav a:not(.btn):hover { background: var(--paper-2); }
  .nav-mobile-tools { display: none; }
}

/* ---------- Fiyat / pazar görünürlüğü ---------- */
.price { white-space: nowrap; }
.p-tl, .imp-tr, .tl-note { display: none; }
html[data-market="tr"] .p-tl, html[data-market="tr"] .imp-tr { display: inline; }
html[data-market="tr"] .p-eur, html[data-market="tr"] .imp-nl { display: none; }
html[data-market="tr"] .tl-note { display: block; }
.tl-note { font-size: 0.875rem; color: var(--ink-2); margin: 0; }

/* ---------- Mektup başı, konu satırı, hitap ---------- */
.letterhead { display: flex; justify-content: space-between; align-items: flex-start; gap: 6px 16px; flex-wrap: wrap; padding-bottom: 18px; border-bottom: 1px solid var(--rule); margin-bottom: 24px; }
.letter-logo .logo { height: 34px; width: auto; }
.letter-date { margin: 0 0 0 auto; font: 500 0.9rem/1.5 var(--font-sans); color: var(--ink-2); text-align: right; }
.crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 8px; font: 500 0.85rem/1.5 var(--font-sans); color: var(--ink-2); }
.crumbs li + li::before { content: "/"; margin-right: 8px; color: var(--rule-2); }
.crumbs a { color: var(--ink-2); text-decoration: none; }
.crumbs a:hover { text-decoration: underline; }
.subject { max-width: 30ch; }
.subject .subject-k { color: var(--ink-2); font-weight: 600; margin-right: 0.3em; }
.salutation { margin: 24px 0 8px; }
.closing { margin: 32px 0 0; }
.closing b { font-family: var(--font-sans); }
.letter-actions { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: center; margin: 20px 0 0; }

/* ---------- Numaralı maddeler ---------- */
.numbered { list-style: none; counter-reset: n; margin: 0; padding: 0; }
.numbered li { counter-increment: n; position: relative; padding: 10px 0 10px 2.4em; border-top: 1px solid var(--rule); min-width: 0; }
.numbered li:first-child { border-top: 0; }
.numbered li::before { content: counter(n) "."; position: absolute; left: 0; top: 10px; font: 600 0.95rem/1.6 var(--font-sans); color: var(--ink-2); }
.numbered h3 { margin: 0 0 0.25em; }
.numbered p { margin: 0; }
.steps li { padding-top: 16px; padding-bottom: 16px; }
.steps li::before { top: 16px; }
.letter-steps { margin: 16px 0 0; max-width: 46ch; }
.letter-steps li { padding-top: 8px; padding-bottom: 8px; font-family: var(--font-sans); font-weight: 500; }
.letter-steps li::before { top: 8px; }

/* ---------- İki sütun (dahil / dahil değil) ---------- */
.two { display: grid; gap: 24px; }
.two-col { min-width: 0; }
.two-col h2 { font-size: 1.125rem; }
@media (min-width: 760px) {
  .two { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; }
  .two-col + .two-col { border-left: 1px solid var(--rule); padding-left: 40px; }
}

/* ---------- Dizin listesi (yollar, sınav yolları) ---------- */
.index { list-style: none; counter-reset: n; margin: 0; padding: 0; }
.index li { counter-increment: n; position: relative; padding: 16px 0 16px 2.4em; border-top: 1px solid var(--rule); display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px 24px; }
.index li:first-child { border-top: 0; }
.index li::before { content: counter(n) "."; position: absolute; left: 0; top: 16px; font: 600 0.95rem/1.6 var(--font-sans); color: var(--ink-2); }
.index h3 { margin: 0 0 0.3em; }
.index h3 a { text-decoration: none; color: var(--ink); }
.index h3 a:hover { text-decoration: underline; }
.index p { margin: 0; max-width: 56ch; }
.index-meta { margin: 0; font-family: var(--font-sans); white-space: nowrap; display: grid; gap: 2px; }
.index-meta b { font-weight: 600; font-size: 1.0625rem; color: var(--ink); }
.index-meta span { font-size: 0.85rem; color: var(--ink-2); font-weight: 500; }
@media (min-width: 700px) {
  .index li { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
  .index-meta { text-align: right; }
}

/* ---------- Specificatie tabloları ---------- */
.table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; min-width: 0; }
.spec, .legal-table { width: 100%; border-collapse: collapse; font-size: 0.95rem; min-width: 520px; }
.spec th, .spec td, .legal-table th, .legal-table td { padding: 10px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--rule); }
.spec th:first-child, .spec td:first-child, .legal-table th:first-child, .legal-table td:first-child { padding-left: 0; }
.spec th:last-child, .spec td:last-child, .legal-table th:last-child, .legal-table td:last-child { padding-right: 0; }
.spec thead th, .legal-table thead th { font: 600 0.8125rem/1.4 var(--font-sans); color: var(--ink-2); border-bottom: 1px solid var(--rule-2); }
.spec tbody th { font: 600 0.95rem/1.5 var(--font-sans); }
.spec td.num { text-align: right; font: 600 1rem/1.5 var(--font-sans); white-space: nowrap; }
.spec thead th.num { text-align: right; }
.spec-facts, .spec-how { min-width: 0; }
.spec-facts th { width: 38%; color: var(--ink-2); font-weight: 500; }
.spec-facts .spec-total td { font: 700 1.25rem/1.3 var(--font-sans); color: var(--envelope); }
.spec-how th { width: 42%; }
.spec-how .fig { font-size: 1.25rem; font-weight: 700; color: var(--envelope); margin-right: 0.25em; }
.spec-how td { color: var(--ink-2); }
.table-foot { font-size: 0.875rem; color: var(--ink-2); margin: 10px 0 0; }
.price-more { list-style: none; margin: 8px 0 0; padding: 0; }
.price-more li { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--rule); align-items: baseline; }
.price-more a { text-decoration: none; font: 500 0.95rem var(--font-sans); }
.price-more a:hover { text-decoration: underline; }
.price-more span { font: 600 1rem var(--font-sans); white-space: nowrap; }
.sec-link { font: 600 0.95rem var(--font-sans); margin: 16px 0 0; }
.sec-link a { text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }
.sec-link a:hover { text-decoration: underline; }
.price-notes { margin-top: 16px; }
.price-notes p { margin: 0; font-size: 0.875rem; color: var(--ink-2); }

/* ---------- Düz metin, not ---------- */
.prose h2 { margin-top: 1.4em; }
.prose h2:first-child { margin-top: 0; }
.note { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px 20px; padding: 16px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.note-k { font: 600 0.875rem/1.6 var(--font-sans); color: var(--ink-2); }
.note-b > p:last-child { margin: 0; }
@media (min-width: 640px) { .note { grid-template-columns: 6.5em minmax(0, 1fr); } }
.verify { padding: 12px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }

/* ---------- Sık sorulan sorular: numaralı ---------- */
.faq { list-style: none; counter-reset: n; margin: 0; padding: 0; }
.faq li { counter-increment: n; border-top: 1px solid var(--rule); padding-top: 4px; }
.faq li:first-child { border-top: 0; }
.faq summary { list-style: none; cursor: pointer; position: relative; padding: 10px 36px 14px 2.4em; font: 600 1rem/1.45 var(--font-sans); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::before { content: counter(n) "."; position: absolute; left: 0; top: 10px; color: var(--ink-2); }
.faq summary::after { content: ""; position: absolute; right: 8px; top: 15px; width: 9px; height: 9px; border-right: 1.5px solid var(--ink-2); border-bottom: 1.5px solid var(--ink-2); transform: rotate(45deg); transition: transform 0.2s var(--ease), top 0.2s var(--ease); }
.faq details[open] summary::after { transform: rotate(-135deg); top: 20px; }
.faq-a { padding: 0 0 18px 2.4em; }
.faq-a p:last-child { margin: 0; }

/* ---------- İlgili sayfalar ---------- */
.related { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 24px; font: 500 0.95rem var(--font-sans); }
.related a { text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }
.related a:hover { text-decoration: underline; }

/* ---------- Cevap şeridi çağrısı (sayfa sonu) ---------- */
.reply-cta { margin-top: 32px; padding-top: 28px; border-top: 1px dashed var(--rule-2); display: grid; gap: 16px; }
.reply-cta h2 { font-size: 1.25rem; }
.reply-cta p { margin: 0; max-width: 56ch; }
.cta-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
@media (min-width: 900px) { .reply-cta { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 32px; } }

/* ---------- Ana sayfa mektubu: sol gövde, sağ cevap şeridi ---------- */
.letter-grid { display: grid; gap: 0; }
.letter-body { min-width: 0; }
.letter-grid > .proposal { margin-top: 24px; }
.letter-grid > .closing { margin-top: 28px; }
.reply-strip { border-top: 1px dashed var(--rule-2); margin-top: 28px; padding-top: 24px; min-width: 0; display: grid; align-content: space-between; gap: 20px; }
.strip-title { font-size: 1.125rem; margin-bottom: 14px; }
.strip-q { list-style: none; counter-reset: n; margin: 0; padding: 0; display: grid; gap: 14px; }
.strip-q li { counter-increment: n; position: relative; padding-left: 2.2em; min-width: 0; }
.strip-q li::before { content: counter(n) "."; position: absolute; left: 0; top: 0; font: 600 0.9rem/1.5 var(--font-sans); color: var(--ink-2); }
.strip-q label { display: block; font: 600 0.9rem/1.5 var(--font-sans); margin-bottom: 6px; }
.strip-q li.is-locked label { color: var(--ink-2); }
.strip-q li.is-active select { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.strip-note { font-size: 0.875rem; color: var(--ink-2); margin: 14px 0 0; }
.strip-actions { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: center; margin-top: 18px; }
@media (min-width: 960px) {
  .letter-grid { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); grid-template-rows: auto auto 1fr; }
  .letter-grid > .letter-body { grid-column: 1; grid-row: 1; }
  .letter-grid > .proposal { grid-column: 1; grid-row: 2; }
  .letter-grid > .closing { grid-column: 1; grid-row: 3; align-self: end; }
  .reply-strip { grid-column: 2; grid-row: 1 / span 3; border-top: 0; border-left: 1px dashed var(--rule-2); padding: 0 0 0 36px; margin: 0 0 0 36px; }
}
.letter-steps li a { text-decoration-color: var(--rule-2); }

/* ---------- Form kontrolleri ---------- */
select, .field input, .field textarea {
  width: 100%; min-height: 46px; padding: 10px 12px;
  border: 1px solid var(--rule-2); border-radius: var(--radius);
  font: 400 1rem var(--font-sans); color: var(--ink); background: var(--paper);
}
select:disabled { background: var(--paper-2); color: var(--ink-2); border-color: var(--rule); cursor: not-allowed; }
.field textarea { min-height: 110px; resize: vertical; }
.field textarea::placeholder, .field input::placeholder { color: var(--ink-2); }

/* ---------- Önerilen program bloğu + kaşe ---------- */
.proposal { position: relative; margin-top: 28px; padding: 18px 0 14px; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); min-width: 0; }
.proposal-title { font: 600 0.875rem/1.3 var(--font-sans); color: var(--ink-2); margin: 0 0 10px; letter-spacing: 0; }
.proposal-empty { margin: 0; color: var(--ink-2); font-size: 0.95rem; max-width: 40ch; }
.proposal-rows { margin: 0; }
.proposal-rows div { display: grid; grid-template-columns: minmax(6.5em, 1fr) minmax(0, 2fr); gap: 12px; padding: 8px 0; border-top: 1px solid var(--rule); }
.proposal-rows div:first-child { border-top: 0; padding-top: 0; }
.proposal-rows dd { text-align: right; }
.proposal-rows dt { font: 500 0.875rem/1.6 var(--font-sans); color: var(--ink-2); margin: 0; }
.proposal-rows dd { margin: 0; font: 600 0.95rem/1.6 var(--font-sans); overflow-wrap: anywhere; }
.proposal-rows dd a { color: var(--ink); text-decoration: none; }
.proposal-rows dd a:hover { text-decoration: underline; }
.proposal-rows .total dd { font-size: 1.25rem; font-weight: 700; color: var(--envelope); }
.proposal-then { margin: 12px 0 0; font-size: 0.9rem; color: var(--ink-2); }
.stamp {
  position: absolute; right: 8px; top: -18px;
  transform: rotate(-6deg);
  color: var(--accent);
  background: url(/assets/stamp.svg) no-repeat center / 100% 100%;
  padding: 13px 20px; font: 700 0.8rem/1 var(--font-sans); letter-spacing: 0.05em; white-space: nowrap;
}
.stamp-inline { position: static; display: inline-block; margin: 4px 0 20px 8px; }

/* ---------- Zarf üstü bölüm (Dutch Expat yolları) ---------- */
.on-envelope { color: var(--on-env); padding: 24px var(--gutter) 52px; }
.on-envelope .inner { max-width: var(--sheet); margin: 0 auto; padding: 0 clamp(0px, 2vw, 40px); }
.on-envelope h2, .on-envelope h3 { color: #fff; }
.on-envelope p { color: var(--on-env-2); }
.on-envelope a { color: #fff; text-decoration-color: rgba(255, 255, 255, 0.4); }
.partner-grid { display: grid; gap: 28px; align-items: start; }
.partner-grid > * { min-width: 0; }
.route li { border-top-color: rgba(255, 255, 255, 0.18); color: #fff; }
.route li::before { color: var(--on-env-2); }
@media (min-width: 900px) { .partner-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; } }

/* ---------- Seviye görüşmesi formu ---------- */
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.product-chip { display: flex; justify-content: space-between; gap: 6px 20px; flex-wrap: wrap; padding: 10px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); font: 500 0.9rem/1.5 var(--font-sans); color: var(--ink-2); margin: 0 0 18px; }
.product-chip b { color: var(--ink); font-weight: 600; text-align: right; }
.form-grid { display: grid; gap: 16px; }
.field { min-width: 0; }
.field label { display: block; font: 600 0.9rem/1.5 var(--font-sans); margin-bottom: 6px; }
.field .opt { color: var(--ink-2); font-weight: 400; }
.field .err { display: block; color: var(--err); margin-top: 4px; font: 500 0.85rem var(--font-sans); }
.field.invalid input, .field.invalid select { border-color: var(--err); }
.check { display: flex; gap: 10px; align-items: flex-start; font: 400 0.95rem/1.5 var(--font-serif) !important; }
.check input { width: 20px; height: 20px; margin-top: 2px; flex: none; min-height: 0; padding: 0; }
.form-actions { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.form-error { color: var(--err); font: 500 0.9rem var(--font-sans); margin: 0; }
@media (min-width: 640px) { .form-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .field-full { grid-column: 1 / -1; } }
.form-sheet .form-head { padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid var(--rule); }
.form-sheet .form-head h2 { margin-bottom: 0.3em; }
.form-sheet .form-head p { margin: 0; color: var(--ink-2); }
.strip-sheet::before { content: ""; position: absolute; left: 0; right: 0; top: 11px; border-top: 1px dashed var(--rule-2); pointer-events: none; }
@media (min-width: 760px) { .strip-sheet::before { left: 11px; right: auto; top: 0; bottom: 0; border-top: 0; border-left: 1px dashed var(--rule-2); } }
.contact-grid { display: grid; gap: 28px; margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--rule); align-items: start; }
.contact-grid > * { min-width: 0; }
.contact-side h2 { font-size: 1.125rem; }
.contact-dl { margin: 20px 0 16px; display: grid; gap: 10px; }
.contact-dl dt { font: 500 0.85rem var(--font-sans); color: var(--ink-2); }
.contact-dl dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.imprint { font-size: 0.875rem; color: var(--ink-2); }
@media (min-width: 900px) { .contact-grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 48px; } }

/* ---------- Yasal sayfalar: sade mektup ---------- */
.legal h2 { font-size: 1.2rem; margin-top: 1.6em; }
.legal-lead { font-size: 1.125rem; }
.legal-facts { list-style: none; padding: 0; }
.legal-facts li { padding: 6px 0; border-top: 1px solid var(--rule); }
.legal-facts li:first-child { border-top: 0; }
.legal-updated { color: var(--ink-2); font-size: 0.9rem; margin-top: 2rem; }
.seller-grid { display: grid; gap: 20px; margin: 1rem 0; }
.seller-card { min-width: 0; }
.seller-card h3 { font-size: 1rem; }
.seller-card ul { margin: 0; }
.seller-card li { overflow-wrap: anywhere; }
@media (min-width: 760px) { .seller-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; } .seller-card + .seller-card { border-left: 1px solid var(--rule); padding-left: 40px; } }
.legal .table-scroll { margin: 0.6rem 0 1rem; }
.legal-table { min-width: 420px; }

/* ---------- Footer: zarfın arkası ---------- */
.site-footer { position: relative; background: var(--envelope-2); color: var(--on-env-2); padding: 0 0 24px; }
.flap { display: block; width: 100%; height: 56px; }
.site-footer a { color: #fff; text-decoration-color: rgba(255, 255, 255, 0.35); }
.footer-grid { display: grid; gap: 28px; padding-top: 20px; }
.footer-grid > * { min-width: 0; }
.f-label { font: 600 0.8125rem/1.4 var(--font-sans); color: var(--on-env-2); margin: 0 0 10px; }
.f-sender .logo { height: 32px; width: auto; --navy: #ffffff; --accent: var(--accent-2); }
.f-sender p { font-size: 0.9rem; }
.f-sender .tagline { color: #fff; margin: 14px 0 8px; }
.footer-grid h3 { color: #fff; font-size: 0.95rem; margin-bottom: 0.6rem; }
.footer-grid ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; font-size: 0.95rem; }
.footer-grid ul a { text-decoration: none; }
.footer-grid ul a:hover { text-decoration: underline; }
.footer-bottom { margin-top: 32px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, 0.14); display: flex; flex-wrap: wrap; gap: 10px 20px; justify-content: space-between; align-items: center; font-size: 0.875rem; }
.footer-bottom p { margin: 0; }
.footer-bottom nav { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.footer-bottom nav a { text-decoration: none; }
.footer-bottom nav a:hover { text-decoration: underline; }
.footer-bottom .lang-switch a { color: var(--on-env-2); }
.footer-bottom .lang-switch a.active { color: #fff; box-shadow: inset 0 -2px 0 #fff; }
@media (min-width: 900px) { .footer-grid { grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; } }

/* ---------- WhatsApp sekmesi ve çerez şeridi ---------- */
.wa-float { position: fixed; right: 16px; bottom: 16px; z-index: 40; display: inline-flex; align-items: center; gap: 8px; background: var(--paper); color: var(--envelope); border-radius: var(--radius); padding: 10px 12px; text-decoration: none; font: 600 0.875rem var(--font-sans); box-shadow: var(--shadow-sheet); }
.wa-float span { display: none; }
@media (min-width: 760px) { .wa-float span { display: inline; } .wa-float { padding: 10px 16px 10px 12px; } }
.consent-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; background: var(--paper); border-top: 1px solid var(--rule); box-shadow: 0 -12px 32px -20px rgba(0, 0, 0, 0.5); padding: 14px 0; }
.consent-inner { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; justify-content: space-between; }
.consent-inner p { margin: 0; font-size: 0.95rem; max-width: 70ch; }
.consent-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.consent-actions .btn { min-height: 40px; padding: 0 14px; font-size: 0.875rem; }
body.consent-open .wa-float { bottom: 124px; }
@media (min-width: 760px) { body.consent-open .wa-float { bottom: 92px; } }

/* ---------- Taşma güvenliği ---------- */
.wrap > *, .letter-grid > *, .two > *, .sheet > * { min-width: 0; }
h1, h2, h3, p, li, dd, dt, th, td { overflow-wrap: break-word; }

/* Eğitmen onayı bekleyen taahhüt ibaresi (build.mjs REVIEW_FLAGS; onay gelince false) */
.review-flag { display: inline-block; margin-left: 4px; padding: 0 7px; border: 1px dashed var(--accent); border-radius: var(--radius); background: transparent; color: var(--accent); font: 600 0.75rem/1.6 var(--font-sans); vertical-align: 1px; white-space: normal; max-width: 100%; }

/* ---------- Kantlijn: bölüm başlığı sol kenarda (resmî mektup düzeni) ---------- */
:root { --kant: 13.5rem; --kant-gap: 40px; }
.kant + .kant { border-top: 1px solid var(--rule); padding-top: 28px; margin-top: 28px; }
.kant-body > :last-child { margin-bottom: 0; }
.kant-solo + .kant, .kant + .kant-solo { margin-top: 20px; }
.defs { margin: 0 0 1em; }
.defs > div { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px 24px; padding: 12px 0; border-top: 1px solid var(--rule); }
.defs > div:last-child { border-bottom: 1px solid var(--rule); }
.defs dt { font: 600 0.95rem/1.45 var(--font-sans); color: var(--ink); }
.defs dd { margin: 0; color: var(--ink); }
@media (min-width: 640px) { .defs > div { grid-template-columns: 15em minmax(0, 1fr); } }
@media (min-width: 900px) {
  .kant { display: grid; grid-template-columns: var(--kant) minmax(0, 1fr); gap: 0 var(--kant-gap); align-items: start; }
  .kant > h2 { margin: 0; padding-top: 3px; font-size: 1.15rem; line-height: 1.3; }
  .kant-body .prose p, .kant-body p, .kant-body li { max-width: none; }
  .kant-solo { margin-left: calc(var(--kant) + var(--kant-gap)); }
  .kant-solo p { max-width: none; }
  .note { grid-template-columns: var(--kant) minmax(0, 1fr); gap: 4px var(--kant-gap); }
  .note p, .note-b p { max-width: none; }
  .defs > div { grid-template-columns: 12.5em minmax(0, 1fr); }
}

/* Kantlijn genişletmesi: tüm akan metin aynı gövde sütununda, başlıklar kenarda (>= 900px) */
@media (min-width: 900px) {
  .sheet:not(.letter-main) > .lead, .sheet > .letter-actions { margin-left: calc(var(--kant) + var(--kant-gap)); max-width: none; }
  .note { max-width: none; }
  .faq-a { padding-left: calc(var(--kant) + var(--kant-gap)); }
  .faq-a p { max-width: none; }
  .table-foot { margin-left: calc(var(--kant) + var(--kant-gap)); max-width: none; }
  .legal p, .legal li { max-width: none; }
  .spec-blk .spec-facts th { width: 42%; }
}
