/* ==========================================================
   styles-fit.css — Final layout pass to make every slide
   fit at 1600×1000 viewport without overflow.
   Loaded LAST so all overrides win.
   ========================================================== */

/* 1. Hide the awkward "§ SECTION | FP · BXX" bank chip badge
      ----------------------------------------------------- */
.bank-chip { display: none !important; }

/* 2. Tighten slide-inner padding so 1000px viewport actually
      has room for content + 64px topbar.
      ----------------------------------------------------- */
.slide:not(.slide-cover):not(.dashboard) .slide-inner {
  padding: 32px 72px 56px !important;
  gap: 18px !important;
  max-width: 1360px !important;
}

/* 3. Compact slide titles — long-form serif headings were
      eating 5 lines. Cap font + tighten line-height.
      ----------------------------------------------------- */
.slide:not(.slide-cover):not(.dashboard) .slide-title {
  font-size: 26px !important;
  line-height: 1.22 !important;
  letter-spacing: -0.012em !important;
  max-width: 1180px;
}

/* 4. Tighten slide-eyebrow + reduce top margin */
.slide:not(.slide-cover):not(.dashboard) .slide-eyebrow {
  margin-bottom: 8px !important;
  padding-bottom: 8px !important;
}

/* 5. Slide header gap */
.slide-header { gap: 8px !important; max-width: 1180px !important; }

/* 6. Photo cards — reduce min-height and inner padding */
.photo-card { min-height: 180px !important; }
.photo-card .pc-body { padding: 14px 16px !important; }
.photo-card .pc-meta { padding: 10px 16px !important; gap: 6px !important; }
.photo-grid { gap: 14px !important; }
.photo-grid.three-col { grid-template-rows: auto auto !important; }

/* 7. Callouts — pad less */
.callout { padding: 14px 18px !important; }
.callout p { margin: 4px 0 !important; }

/* 8. Bullet cards */
.bullet-card { padding: 14px 16px !important; }
.bullet-card + .bullet-card { margin-top: 0 !important; }

/* 9. Phase grid + phase blocks */
.phase-grid { gap: 14px !important; }
.phase-block { padding: 14px 16px !important; }

/* 10. Tables tighter */
.gen-table th, .gen-table td,
.fin-table th, .fin-table td { padding: 8px 12px !important; font-size: 12.5px !important; }
.gen-table, .fin-table { font-size: 12.5px !important; }

/* 11. Q&A list tighter */
.qa-list { gap: 10px !important; }
.qa-item { padding: 10px 14px !important; }
.qa-q { font-size: 14px !important; }
.qa-a { font-size: 12.5px !important; line-height: 1.5 !important; }

/* 12. Redacted-explain text */
.redacted-explain { font-size: 12px !important; line-height: 1.5 !important; margin: 6px 0 !important; }

/* 13. Generic body text inside slides — keep readable but compact */
.slide-inner p { font-size: 13.5px; line-height: 1.55; margin: 0 0 6px; }
.slide-inner li { font-size: 13.5px; line-height: 1.55; }
.slide-inner ul, .slide-inner ol { margin: 4px 0 6px; padding-left: 20px; }

/* 14. Footer stays anchored bottom */
.slide-footer-full { padding: 8px 24px !important; font-size: 11px !important; }

/* 15. Section divider lines */
.divider, hr { margin: 8px 0 !important; }

/* ==========================================================
   SLIDE-SPECIFIC COMPACTION (heavy-content slides)
   ========================================================== */

/* Cap-item rows (slide 15 — capital allocation list, 12 items) */
.cap-item { padding: 6px 10px !important; margin-bottom: 4px !important; }
.cap-item-head { font-size: 12px !important; }
.cap-bar { height: 4px !important; margin-top: 3px !important; }
.cap-item-pct { font-size: 11px !important; }
.stat-block { padding: 10px 14px !important; }
.stat-value { font-size: 22px !important; line-height: 1.1 !important; }
.stat-label { font-size: 10.5px !important; letter-spacing: 0.08em; }

/* Team member premium cards (slide 19) */
.team-grid-premium { gap: 16px !important; }
.team-member-premium { padding: 10px !important; }
.team-photo-wrap { width: 80px !important; height: 80px !important; }
.team-name-premium { font-size: 14px !important; line-height: 1.2 !important; }
.team-role-premium { font-size: 10.5px !important; }
.team-desc-premium { font-size: 12px !important; line-height: 1.5 !important; margin: 4px 0 !important; }
.team-meta-premium { font-size: 11px !important; }

/* Step items (slide 21) */
.step-item { padding: 8px 12px !important; gap: 10px !important; }
.step-num { font-size: 14px !important; min-width: 24px !important; }
.step-title { font-size: 13px !important; }
.step-status { font-size: 11px !important; }

/* Big tables — appendix index (slide 22), risk control (slide 30) */
.gen-table th, .gen-table td { padding: 5px 9px !important; font-size: 11.5px !important; line-height: 1.35 !important; }
.gen-table { font-size: 11.5px !important; }

/* Timeline items (slide 32 — 13 entries) */
.timeline { gap: 6px !important; }
.timeline-item { padding: 6px 0 6px 24px !important; gap: 6px !important; }
.timeline-marker { width: 12px !important; height: 12px !important; }
.timeline-title { font-size: 12.5px !important; line-height: 1.25 !important; }
.timeline-desc { font-size: 11.5px !important; line-height: 1.4 !important; margin: 2px 0 !important; }

/* Slide 45 — Legal / Policy readiness (21 li + 7 bullet-cards) */
.bullet-list li { font-size: 12px !important; line-height: 1.45 !important; padding: 1px 0 !important; }
.bullet-list { padding-left: 18px !important; margin: 4px 0 !important; }
.bullet-card { padding: 10px 12px !important; }
.bullet-card-title { font-size: 12.5px !important; margin-bottom: 4px !important; }

/* Two-column layouts auto-balance for dense slides */
.two-col-grid { gap: 14px !important; }

/* Cap-deploy — flatten 12 vertical bars into 2-column grid */
.cap-deploy { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px 18px !important; }
.cap-deploy > div { padding: 4px 0 !important; }
.cap-bar-fill { height: 4px !important; margin-top: 3px !important; }
.cap-item-head { font-size: 11.5px !important; gap: 8px; }
.cap-item-pct { font-size: 12px !important; }

/* Stat rows tighter */
.stat-row { gap: 14px !important; }
.stat-row.four-col { grid-template-columns: repeat(4, 1fr) !important; }

/* Bullet card on slide 15 — inner spacing */
.bullet-card .bullet-card-title { font-size: 13.5px !important; }
.bullet-card p { font-size: 12px !important; line-height: 1.5 !important; margin: 4px 0 8px !important; }

/* Force callout dark to bottom but compact */
.callout.dark { padding: 10px 14px !important; }
.callout-text { font-size: 12px !important; line-height: 1.5 !important; }

/* Slide 19 team grid — compact 2x2 */
.team-grid-premium { grid-template-columns: 1fr 1fr !important; }

/* Slide 21 step list — stack 7 items ÷ row gaps */
.step-grid, .steps-list { gap: 6px !important; }

/* Slide 22 wider gen-table cells — already done; force smaller table caption */
.gen-table caption { font-size: 11px !important; padding: 4px !important; }

/* Slide 32 timeline already compacted */

/* Universal: bullet-grid two-column on all dense slides */
.bullet-grid.one-col, .bullet-grid {
  display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px 14px !important;
  align-items: start;
}
.bullet-grid .bullet-card { padding: 8px 12px !important; }
.bullet-grid .bullet-card-title { font-size: 12px !important; margin-bottom: 3px !important; line-height: 1.25 !important; }
.bullet-grid .bullet-list li { font-size: 11px !important; line-height: 1.4 !important; padding: 0 !important; }
.bullet-grid .bullet-list { padding-left: 16px !important; margin: 2px 0 !important; }
.bullet-grid p { font-size: 11.5px !important; line-height: 1.4 !important; margin: 2px 0 !important; }

/* Universal team grid 2x2 */
.team-grid-premium { gap: 10px !important; }
.team-photo-wrap { width: 56px !important; height: 56px !important; }
.team-member-premium { padding: 6px 10px !important; gap: 8px !important; }
.team-desc-premium { font-size: 11px !important; line-height: 1.4 !important; margin: 2px 0 !important; }
.team-name-premium { font-size: 12.5px !important; line-height: 1.2 !important; }
.team-role-premium { font-size: 10px !important; }
.team-meta-premium { font-size: 10px !important; }

/* Appendix ribbon compact */
.appendix-ribbon { padding: 6px 12px !important; font-size: 11px !important; }
.slide-subtitle { font-size: 12.5px !important; line-height: 1.5 !important; margin: 4px 0 8px !important; }

/* Slide 45 — 7 bullet cards × 21 li — three-column grid */
.slide[data-slide="45"] .bullet-grid.one-col,
.slide[data-slide="45"] .bullet-grid {
  display: grid !important; grid-template-columns: 1fr 1fr 1fr !important; gap: 6px 10px !important;
}
.slide[data-slide="45"] .bullet-card { padding: 6px 10px !important; min-height: 0 !important; }
.slide[data-slide="45"] .bullet-card-title { font-size: 10.5px !important; margin-bottom: 4px !important; line-height: 1.25 !important; display: flex !important; flex-wrap: wrap !important; align-items: baseline !important; gap: 6px !important; }
.slide[data-slide="45"] .bullet-card-title > span { white-space: nowrap; }
.slide[data-slide="45"] .bullet-list { padding-left: 14px !important; margin: 1px 0 !important; }
.slide[data-slide="45"] .bullet-list li { font-size: 10px !important; line-height: 1.35 !important; }
.slide[data-slide="45"] .appendix-ribbon { padding: 4px 10px !important; font-size: 10.5px !important; }
.slide[data-slide="45"] .slide-subtitle { font-size: 11.5px !important; line-height: 1.45 !important; margin: 2px 0 6px !important; }
.slide[data-slide="45"] .redacted-explain { font-size: 10px !important; margin: 4px 0 0 !important; line-height: 1.4 !important; }
.slide[data-slide="45"] .callout.dark { padding: 6px 12px !important; }
.slide[data-slide="45"] .callout-text { font-size: 11px !important; line-height: 1.4 !important; }

/* Universal: hide redundant '§' decorative section line on inner ::before — doesn't affect content but kills the floating gold dash that overlaps title area */
.slide:not(.slide-cover):not(.dashboard) .slide-inner::before { display: none !important; }

/* ==========================================================
   PDF UYUMLULUK — Chromium PDF motoru backdrop-filter ve
   bazı filter kurallarını render etmiyor. Bu kurallar olmadan
   slaytlar üzerinde sis perdesi / soluk kart görünümü oluşuyor.
   ========================================================== */

/* Tüm backdrop-filter'ları devre dışı bırak — sis perdesinin
   ana sebebi bu. Frosted-glass effect yerine opak arka plan. */
*, *::before, *::after {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Photo-card'lar — OPAK koyu navy zemin, üzerindeki saydam
   gradient overlay'leri kapatarak PDF render'da sis perdesi yapma.
   Beyaz override yapma; tasarımın koyu kart-açık metin kontrastını koru. */
.photo-card {
  background: #0A1F3D !important;
  background-image: none !important;
  border: 1px solid rgba(184, 146, 78, 0.4) !important;
  color: #FAFAF7 !important;
  box-shadow: none !important;
}
.photo-card::before,
.photo-card::after {
  display: none !important;
  background: none !important;
  content: none !important;
}
.photo-card .pc-body,
.photo-card .pc-meta {
  background: transparent !important;
}
.photo-card .pc-num { color: #D4B97C !important; }
.photo-card .pc-title { color: #FAFAF7 !important; }
.photo-card .pc-text,
.photo-card .pc-text strong,
.photo-card .pc-body p,
.photo-card p { color: rgba(245, 242, 234, 0.92) !important; }

/* Bullet-card'lar — açık krem */
.bullet-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(184, 146, 78, 0.25) !important;
}

/* Callout'lar */
.callout {
  background: rgba(245, 242, 234, 0.85) !important;
  border: 1px solid rgba(184, 146, 78, 0.35) !important;
}
.callout.dark {
  background: #0A1F3D !important;
  color: #FAFAF7 !important;
}
.callout.dark .callout-text,
.callout.dark p { color: #FAFAF7 !important; }

/* Cover footer — koyu kapakta açık metin */
.slide-cover .slide-footer-full {
  background: rgba(6, 20, 41, 0.92) !important;
  color: rgba(250, 250, 247, 0.75) !important;
}

/* Stat-block, phase-block, qa-item — açık */
.stat-block {
  background: #FFFFFF !important;
  border: 1px solid rgba(184, 146, 78, 0.2) !important;
}
.phase-block {
  background: #FFFFFF !important;
  border: 1px solid rgba(184, 146, 78, 0.2) !important;
}
.qa-item {
  background: rgba(245, 242, 234, 0.6) !important;
  border: 1px solid rgba(184, 146, 78, 0.18) !important;
}
.team-member-premium {
  background: #FFFFFF !important;
  border: 1px solid rgba(184, 146, 78, 0.2) !important;
}
.cap-item {
  background: rgba(245, 242, 234, 0.5) !important;
}
.timeline-item { background: transparent !important; }

/* Saturate / contrast filtrelerini de PDF'de kapat — bunlar
   bazı motorlarda kart üzeri katman olarak yorumlanıp soluklaştırma
   yaratabiliyor. Görsel kalite zaten yeterli. */
.slide, .slide-inner, .slide-bg, .slide-cover,
.photo-card, .photo-card *, .pc-image, .pc-image img {
  filter: none !important;
  -webkit-filter: none !important;
}

/* Body / html — paper rengi (slaytlar transparan, body zemini
   slayt zemini olarak görünüyor; tasarımın koyu navy metinleri
   bu krem zemin üzerinde okunmalı) */
html, body { background: #FAFAF7 !important; }
body::before, body::after { display: none !important; }

/* Cover slide (slayt 1) kendi koyu gradient zeminini korumalı,
   metinleri açık kalsin */
.slide-cover .slide-title,
.slide-cover .slide-subtitle,
.slide-cover .slide-eyebrow,
.slide-cover h1, .slide-cover h2,
.slide-cover .stat-value,
.slide-cover .stat-label,
.slide-cover p {
  color: #FAFAF7 !important;
}
.slide-cover .slide-eyebrow,
.slide-cover .stat-label { color: rgba(212, 185, 124, 0.95) !important; }
.slide-cover .stat-value { color: #D4B97C !important; }
