/* ==========================================================================
   TAXPRO — E-Katalog (A4 sayfalar + çevrilebilir kitap görünümü)
   Sayfa içi ölçüler cqw ile verilir: sayfa hangi boyutta gösterilirse
   gösterilsin (ekran, mobil, PDF) oranlar korunur. 1cqw = sayfa genişliğinin %1'i.
   Tasarım & Yazılım: ASD — www.asd.web.tr
   ========================================================================== */

.kpage {
  --k-ink: #0e1a2b; --k-ink2: #15253b; --k-blue: #0a4fbf; --k-sky: #0c8cd9; --k-muted: #5a6675;
  --k-line: #dfe5ec; --k-mist: #f1f5f9;
  container-type: inline-size;
  position: relative; overflow: hidden;
  width: 100%; aspect-ratio: 210 / 297;
  background: #fff; color: #1a2330;
  font-family: "Public Sans", "Segoe UI", Arial, sans-serif;
  font-size: 1.95cqw; line-height: 1.55;
  -webkit-print-color-adjust: exact; print-color-adjust: exact;
}
.kpage * { box-sizing: border-box; }
/* cq birimleri yalnızca kabın İÇİNDEKİ öğelerde sayfaya göre çözülür: taban boyut çocuklara verilir */
.kpage > * { font-size: 1.95cqw; }
.kpage h1, .kpage h2, .kpage h3, .kpage h4 { font-family: "Spectral", Georgia, serif; font-weight: 600; color: var(--k-ink); margin: 0; line-height: 1.12; letter-spacing: -0.01em; }
.kpage p { margin: 0 0 1.2cqw; }
.kpage ul, .kpage ol { margin: 0; padding: 0; list-style: none; }
.kpage img { display: block; max-width: none; }

.k-in { position: absolute; inset: 0; padding: 7.5cqw 8cqw 10cqw; display: flex; flex-direction: column; }
.k-rule { display: block; width: 12cqw; height: .45cqw; background: linear-gradient(90deg, #034fc6, #0c8cd9); margin: 2.4cqw 0 2.6cqw; }
.k-tag { font-family: "Spectral", Georgia, serif; font-style: italic; font-weight: 500; color: var(--k-blue); font-size: 3cqw; display: block; margin-bottom: .6cqw; }
.k-lead { font-size: 2.45cqw; line-height: 1.5; color: #24303f; }
.k-muted { color: var(--k-muted); }
.k-h2 { font-size: 6.2cqw; }
.k-h3 { font-size: 3.1cqw; margin: 3cqw 0 1.4cqw !important; }

/* sayfa altlığı */
.k-folio { position: absolute; left: 8cqw; right: 8cqw; bottom: 4.5cqw; display: flex; justify-content: space-between; align-items: center; font-size: 1.55cqw; color: #8a95a3; border-top: .15cqw solid var(--k-line); padding-top: 1.6cqw; }
.k-folio b { color: var(--k-ink); font-weight: 600; }
.k-folio .n { font-family: "Spectral", Georgia, serif; font-size: 2.2cqw; color: var(--k-blue); }

/* listeler */
.k-ticks { display: grid; grid-template-columns: 1fr 1fr; column-gap: 4cqw; border-top: .15cqw solid var(--k-line); }
.k-ticks.one { grid-template-columns: 1fr; }
.k-ticks li { position: relative; padding: 1.05cqw 0 1.05cqw 3cqw; border-bottom: .15cqw solid var(--k-line); font-size: 1.78cqw; line-height: 1.42; }
.k-ticks li::before { content: ""; position: absolute; left: .2cqw; top: 1.95cqw; width: 1cqw; height: 1cqw; border: .25cqw solid var(--k-blue); transform: rotate(45deg); }
.k-ticks.small li { font-size: 1.62cqw; padding-top: .8cqw; padding-bottom: .8cqw; }
.k-ticks.small li::before { top: 1.6cqw; }

/* görselli başlık bandı */
.k-band { position: relative; height: 34cqw; margin: -7.5cqw -8cqw 4.5cqw; overflow: hidden; background: var(--k-ink); }
.k-band img { width: 100%; height: 100%; object-fit: cover; }
.k-band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,26,43,.05) 0%, rgba(14,26,43,.35) 50%, rgba(10,20,36,.92) 100%), radial-gradient(60% 80% at 90% 0%, rgba(12,140,217,.35), transparent 70%); }
.k-band .k-band-t { position: absolute; left: 8cqw; right: 8cqw; bottom: 4.5cqw; z-index: 1; color: #fff; }
.k-band .k-band-t .k-tag { color: #9fd2f7; }
.k-band .k-band-t h2 { color: #fff; font-size: 6.4cqw; font-weight: 500; }

/* ---------------- 1: Kapak ---------------- */
.k-cover { background: #0b1626; color: #fff; }
.k-cover .k-bg { position: absolute; inset: 0; }
.k-cover .k-bg img { width: 100%; height: 100%; object-fit: cover; object-position: 35% 50%; transform: scaleX(-1); filter: brightness(1.2); }
.k-cover::after { content: ""; position: absolute; inset: 0; background: radial-gradient(70% 50% at 80% 30%, rgba(12,140,217,.32), transparent 70%), linear-gradient(180deg, rgba(9,18,33,.88) 0%, rgba(9,18,33,.35) 40%, rgba(9,18,33,.55) 65%, rgba(9,18,33,.97) 100%); }
.k-cover .k-in { z-index: 1; padding: 9cqw 9cqw 9cqw; }
.k-cover .k-logo { width: 34cqw; }
.k-cover .k-kicker { margin-top: auto; display: inline-flex; align-self: flex-start; gap: 1.4cqw; align-items: center; font-size: 1.9cqw; color: #b9dcf7; border: .2cqw solid rgba(140,200,245,.35); border-radius: 10cqw; padding: .9cqw 2.2cqw; background: rgba(12,140,217,.1); }
.k-cover h1 { color: #fff; font-weight: 500; font-size: 8.6cqw; line-height: 1.06; margin-top: 3.4cqw; max-width: 15ch; }
.k-cover .k-rule { width: 16cqw; }
.k-cover .k-sub { font-size: 2.3cqw; color: #c9d6e4; max-width: 46ch; }
.k-cover .k-meta { display: flex; justify-content: space-between; align-items: flex-end; margin-top: 6cqw; font-size: 1.8cqw; color: #a8b6c7; }
.k-cover .k-meta strong { display: block; color: #fff; font-family: "Spectral", Georgia, serif; font-size: 3.2cqw; font-weight: 500; font-style: italic; }
.k-cover .k-year { font-family: "Spectral", Georgia, serif; font-size: 5cqw; color: #fff; line-height: 1; }

/* mühür */
.k-seal { position: absolute; width: 24cqw; height: 24cqw; display: grid; place-items: center; z-index: 2; }
.k-seal svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.k-seal span { position: relative; z-index: 1; width: 12.5cqw; height: 12.5cqw; border-radius: 50%; background: linear-gradient(120deg, #083c93, #0a4fbf 55%, #0c8cd9); display: grid; place-items: center; }
.k-seal span img { width: 6.4cqw; height: 6.4cqw; border-radius: 2cqw .5cqw 2cqw .5cqw; }
.k-cover .k-seal { right: 8cqw; top: 8cqw; }

/* ---------------- 2: Hakkımızda + içindekiler ---------------- */
.k-toc { margin-top: auto; border-top: .3cqw solid var(--k-ink); }
.k-toc li { display: grid; grid-template-columns: 6cqw 1fr auto; align-items: baseline; padding: 1.3cqw 0; border-bottom: .15cqw solid var(--k-line); font-size: 2cqw; }
.k-toc li span:first-child { font-family: "Spectral", Georgia, serif; color: var(--k-blue); font-size: 2.4cqw; }
.k-toc li em { font-family: "Spectral", Georgia, serif; font-style: italic; color: var(--k-muted); font-size: 1.8cqw; }

/* ---------------- 3: misyon vizyon ---------------- */
.k-mv { display: grid; grid-template-columns: 1fr 1fr; gap: 5cqw; }
.k-mv h3 { font-size: 3.6cqw; }
.k-mv p { font-size: 1.85cqw; color: #3a4655; }
.k-values { margin-top: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 2.2cqw; }
.k-values li { background: var(--k-mist); border-radius: 1.6cqw; padding: 2.4cqw 2.6cqw; font-size: 1.8cqw; line-height: 1.45; border-left: .6cqw solid var(--k-blue); }

/* ---------------- 4: YMM tasdiki ---------------- */
.k-law-no { font-family: "Spectral", Georgia, serif; font-size: 17cqw; line-height: .9; color: var(--k-ink); letter-spacing: -0.03em; }
.k-law-no small { display: block; font-family: "Public Sans", Arial, sans-serif; font-size: 1.9cqw; letter-spacing: .05em; color: var(--k-blue); font-weight: 600; margin-top: 1cqw; }
.k-split { display: grid; grid-template-columns: 1fr 1.25fr; gap: 5cqw; align-items: start; }
.k-note { background: linear-gradient(120deg, #0b1626, #0f2747); color: #dce6f1; border-radius: 1.6cqw; padding: 3cqw 3.4cqw; font-size: 1.95cqw; margin-top: auto; position: relative; overflow: hidden; }
.k-note strong { color: #fff; }
.k-note::after { content: ""; position: absolute; right: -6cqw; top: -6cqw; width: 22cqw; height: 22cqw; border-radius: 50%; background: radial-gradient(circle, rgba(12,140,217,.45), transparent 70%); }
.k-photo { border-radius: 1.6cqw; overflow: hidden; background: var(--k-ink); }
.k-photo img { width: 100%; height: 100%; object-fit: cover; }

/* süreç */
.k-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.6cqw; counter-reset: s; margin-top: auto; }
.k-steps li { counter-increment: s; background: var(--k-mist); border-radius: 1.4cqw; padding: 2.2cqw 2cqw; font-size: 1.55cqw; line-height: 1.4; color: #3a4655; }
.k-steps li::before { content: counter(s); display: block; font-family: "Spectral", Georgia, serif; font-size: 4cqw; color: var(--k-blue); line-height: 1; margin-bottom: 1cqw; }
.k-steps li b { display: block; font-family: "Spectral", Georgia, serif; font-size: 2.2cqw; color: var(--k-ink); margin-bottom: .6cqw; }

/* iki yarım */
.k-halves { display: grid; grid-template-rows: auto auto; gap: 3cqw; }
.k-half h3 { font-size: 3.4cqw; margin-bottom: 1.2cqw; }
.k-half p { font-size: 1.8cqw; color: #3a4655; }

/* ---------------- ekip + mevzuat ---------------- */
.k-team { display: grid; grid-template-columns: 1fr 1fr; gap: 2.4cqw; }
.k-member { display: grid; grid-template-columns: 9cqw 1fr; gap: 2.2cqw; align-items: center; padding: 2.2cqw; border-radius: 1.6cqw; background: #fff; box-shadow: 0 0 0 .15cqw var(--k-line), 0 2cqw 4cqw -2.5cqw rgba(8,24,48,.35); }
.k-member .av { width: 9cqw; height: 9cqw; border-radius: 3cqw .8cqw 3cqw .8cqw; background: linear-gradient(160deg, #0b1626, #0f2747); color: #fff; display: grid; place-items: center; font-family: "Spectral", Georgia, serif; font-size: 3.2cqw; }
.k-member b { display: block; font-family: "Spectral", Georgia, serif; font-size: 2.5cqw; color: var(--k-ink); font-weight: 600; }
.k-member span { font-size: 1.65cqw; color: var(--k-blue); font-weight: 600; }
.k-member small { display: block; font-size: 1.5cqw; color: var(--k-muted); }
.k-digital { margin-top: auto; display: grid; grid-template-columns: 1fr 20cqw; gap: 4cqw; align-items: center; background: linear-gradient(140deg, #0b1626 0%, #0f2747 60%, #0a4fbf 130%); color: #cfdbe8; border-radius: 2cqw; padding: 4cqw; position: relative; overflow: hidden; }
.k-digital h3 { color: #fff; font-size: 3.6cqw; font-weight: 500; margin-bottom: 1.4cqw; }
.k-digital ul li { position: relative; padding-left: 3cqw; margin-bottom: 1cqw; font-size: 1.8cqw; }
.k-digital ul li::before { content: ""; position: absolute; left: 0; top: .9cqw; width: 1.2cqw; height: 1.2cqw; border-radius: 50%; background: #0c8cd9; box-shadow: 0 0 0 .5cqw rgba(12,140,217,.25); }
.k-qr { background: #fff; border-radius: 1.4cqw; padding: 1.6cqw; text-align: center; color: var(--k-ink); font-size: 1.4cqw; font-weight: 600; }
.k-qr svg { width: 100%; height: auto; display: block; margin-bottom: .8cqw; }

/* ---------------- ofisler ---------------- */
.k-cities { display: grid; gap: 2.6cqw; }
.k-city { display: grid; grid-template-columns: 30cqw 1fr; gap: 3.4cqw; align-items: center; }
.k-city .k-photo { height: 19cqw; position: relative; }
.k-city .k-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(11,22,38,.8)); }
.k-city .k-photo b { position: absolute; left: 2cqw; bottom: 1.4cqw; z-index: 1; color: #fff; font-family: "Spectral", Georgia, serif; font-weight: 500; font-size: 3.4cqw; }
.k-city h3 { font-size: 3cqw; margin-bottom: .8cqw; }
.k-city address { font-style: normal; font-size: 1.8cqw; color: #3a4655; line-height: 1.5; }
.k-city .tel { display: inline-block; margin-top: 1cqw; font-weight: 700; color: var(--k-ink); font-size: 2.1cqw; }
.k-contact { margin-top: auto; display: flex; justify-content: space-between; gap: 3cqw; padding-top: 2.6cqw; border-top: .3cqw solid var(--k-ink); font-size: 1.9cqw; }
.k-contact b { display: block; font-family: "Spectral", Georgia, serif; font-size: 2.6cqw; color: var(--k-ink); }

/* ---------------- arka kapak ---------------- */
.k-back { background: linear-gradient(160deg, #0b1626 0%, #0e1a2b 50%, #0f2747 100%); color: #cfdbe8; }
.k-back .k-bg { position: absolute; inset: 0; opacity: .28; }
.k-back .k-bg img { width: 100%; height: 100%; object-fit: cover; }
.k-back::after { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 50% at 20% 85%, rgba(12,140,217,.3), transparent 70%), linear-gradient(180deg, rgba(11,22,38,.4), rgba(11,22,38,.95) 70%); }
.k-back .k-in { z-index: 1; padding: 10cqw 9cqw 13cqw; }
.k-back .k-nib { width: 14cqw; }
.k-back blockquote { margin: 5cqw 0 0; font-family: "Spectral", Georgia, serif; font-style: italic; font-weight: 500; color: #fff; font-size: 6.4cqw; line-height: 1.15; max-width: 14ch; }
.k-back .k-rows { margin-top: auto; display: grid; grid-template-columns: 1fr 19cqw; gap: 4cqw; align-items: end; }
.k-back .k-rows ul li { font-size: 1.85cqw; padding: 1cqw 0; border-bottom: .15cqw solid rgba(140,200,245,.18); display: flex; justify-content: space-between; gap: 2cqw; }
.k-back .k-rows ul li b { color: #fff; font-weight: 600; }
.k-back .k-logo { width: 30cqw; margin-top: 5cqw; }
.k-back .k-asd { position: absolute; right: 9cqw; bottom: 4.5cqw; z-index: 1; width: 6.5cqw; opacity: .65; }

/* ==========================================================================
   Görüntüleyici (kitap)
   ========================================================================== */
.kat-stage { position: relative; background: radial-gradient(70% 90% at 50% 0%, #1a3150 0%, #0e1a2b 55%, #0a1422 100%); padding: clamp(1.5rem, 1rem + 2vw, 3rem) var(--gutter, 1rem) clamp(1.25rem, 1rem + 1vw, 2rem); overflow: hidden; }
.kat-stage::before { content: ""; position: absolute; inset: 0; background: radial-gradient(40% 50% at 85% 10%, rgba(12,140,217,.22), transparent 70%); pointer-events: none; }
.kat-book { position: relative; margin: 0 auto; width: min(1180px, 100%, calc((100vh - 300px) * 2 * 210 / 297)); aspect-ratio: 420 / 297; perspective: 2600px; }
.kat-book.single { width: min(560px, 100%); aspect-ratio: 210 / 297; }
.kat-slot { position: absolute; top: 0; bottom: 0; width: 50%; }
.kat-slot.l { left: 0; } .kat-slot.r { right: 0; }
.kat-book.single .kat-slot { width: 100%; }
.kat-slot .kpage, .kat-leaf .kpage { height: 100%; box-shadow: 0 30px 60px -30px rgba(0,0,0,.65); }
.kat-slot.l .kpage::before, .kat-slot.r .kpage::before { content: ""; position: absolute; top: 0; bottom: 0; width: 7%; z-index: 5; pointer-events: none; }
.kat-slot.l .kpage::before { right: 0; background: linear-gradient(90deg, transparent, rgba(0,0,0,.18)); }
.kat-slot.r .kpage::before { left: 0; background: linear-gradient(270deg, transparent, rgba(0,0,0,.2)); }
.kat-book.single .kat-slot .kpage::before { display: none; }
.kat-leaf { position: absolute; top: 0; bottom: 0; width: 50%; z-index: 10; transform-style: preserve-3d; transition: transform .85s cubic-bezier(.45,.05,.25,1); }
.kat-leaf.next { left: 50%; transform-origin: 0 50%; }
.kat-leaf.prev { left: 0; transform-origin: 100% 50%; }
.kat-leaf .face { position: absolute; inset: 0; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.kat-leaf .face.back { transform: rotateY(180deg); }
.kat-leaf .face::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(0,0,0,.25), transparent 30%, transparent 70%, rgba(0,0,0,.15)); opacity: 0; transition: opacity .85s ease; }
.kat-leaf.turning .face::after { opacity: 1; }
.kat-leaf.next.turning { transform: rotateY(-180deg); }
.kat-leaf.prev.turning { transform: rotateY(180deg); }
.kat-book.single .kat-slot .kpage { transition: opacity .35s ease, transform .35s ease; }
.kat-book.single.fade .kat-slot .kpage { opacity: 0; transform: translateX(12px); }
.kat-click { position: absolute; top: 0; bottom: 0; width: 18%; z-index: 20; background: none; border: 0; cursor: pointer; }
.kat-click.l { left: 0; } .kat-click.r { right: 0; }
.kat-click:focus-visible { outline: 2px solid #8cc8f5; outline-offset: -4px; }

.kat-bar { position: relative; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .75rem 1.25rem; margin-top: 1.5rem; color: #cfdbe8; }
.kat-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-width: 46px; height: 46px; padding: 0 1rem; border-radius: 3px; border: 1px solid rgba(140,200,245,.3); background: rgba(255,255,255,.04); color: #fff; font: 600 .9375rem "Public Sans", sans-serif; cursor: pointer; text-decoration: none; transition: background .2s ease, border-color .2s ease; }
.kat-btn:hover { background: rgba(255,255,255,.1); border-color: rgba(140,200,245,.6); color: #fff; }
.kat-btn[disabled] { opacity: .35; cursor: default; }
.kat-btn svg { width: 18px; height: 18px; }
.kat-btn.primary { background: linear-gradient(120deg, #083c93, #0a4fbf 55%, #0c8cd9); border-color: transparent; }
.kat-count { min-width: 9ch; text-align: center; font-variant-numeric: tabular-nums; font-size: .9375rem; }
.kat-thumbs { display: flex; gap: .6rem; overflow-x: auto; padding: 1.25rem .25rem .25rem; margin: 0 auto; max-width: 1180px; scrollbar-width: thin; }
.kat-thumb { flex: none; width: 74px; border: 2px solid transparent; border-radius: 3px; padding: 0; background: none; cursor: pointer; opacity: .6; transition: opacity .2s ease, border-color .2s ease; }
.kat-thumb:hover, .kat-thumb[aria-current="true"] { opacity: 1; border-color: #0c8cd9; }
.kat-thumb .kpage { pointer-events: none; }
.kat-pages-fallback .kpage { max-width: 640px; margin: 0 auto 2rem; box-shadow: 0 20px 40px -24px rgba(8,24,48,.4); }
.kat-ready .kat-pages-fallback { display: none; }
.kat-stage:fullscreen { display: flex; flex-direction: column; justify-content: center; }
.kat-stage:fullscreen .kat-book { width: min(100%, calc((100vh - 170px) * 2 * 210 / 297)); }
.kat-stage:fullscreen .kat-book.single { width: min(100%, calc((100vh - 170px) * 210 / 297)); }

/* Baskı / PDF */
@page { size: A4; margin: 0; }
@media print {
  .kpage { width: 210mm; height: 297mm; aspect-ratio: auto; page-break-after: always; break-after: page; }
}
@media (prefers-reduced-motion: reduce) {
  .kat-leaf { transition-duration: .01s; }
}
.kpage .k-steps, .kpage .k-toc, .kpage .k-values { margin-top: auto; }
