/*
 * Yazdırma — kâğıda giden şey ekrandakinin fotoğrafı değil, belgenin kendisidir.
 *
 * Bu ürünün kullanıcısı süre kartını avukata götürür, kronolojiyi dosyaya kor, yasal metni saklar.
 * Kâğıtta işe yaramayan her şey (menü, düğmeler, yükleme kutusu, sekmeler) çıkarılır; kalan içerik
 * tam genişlikte, siyah beyaz ve okunur basılır.
 *
 * Kurallar:
 *  - Kâğıtta tıklanamayan hiçbir şey basılmaz.
 *  - Katlanmış bölümler (details) açık basılır: "Hesap nasıl yapıldı" adımları kâğıtta görünmezse
 *    hesap gerekçesiz kalır ve bu ürünün verdiği sözün tam tersi olur (G7).
 *  - Bağlantının adresi metnin yanına yazılır; kâğıtta bağlantı tıklanamaz.
 *  - Bir kart sayfa arasında ikiye bölünmez.
 */

@media print {
  /* 1. Renk ve zemin: mürekkep tasarrufu değil, okunabilirlik. */
  /* Gövde metni `--fg`, ikincil metin `--fg-muted` üzerinden geliyor (tokens.css); kâğıtta ikisi de
     siyaha yakın olmalı — ekrandaki marka rengi mürekkepte soluk basar. */
  :root,
  :root[data-theme="dark"] {
    --bg: #fff;
    --surface: #fff;
    --surface-2: #fff;
    --fg: #000;
    --fg-muted: #333;
    --text: #000;
    --muted: #333;
    --line: #999;
    --border: #999;
    --accent: #000;
  }

  html,
  body {
    background: #fff !important;
    color: #000 !important;
    font-size: 11pt;
  }

  /* 2. Kâğıtta işi olmayanlar. */
  .skip-link,
  .side,
  .bottom-nav,
  .topbar,
  .app-topbar,
  .site-header,
  .site-footer,
  .cs-upload,
  .ui-tabs,
  .cs-tabs,
  .acc-tabs,
  .cq,
  .ui-toast,
  [data-side],
  [data-uploader],
  form button,
  button,
  .btn,
  .icon-btn,
  nav {
    display: none !important;
  }

  /* 3. İçerik tam genişlikte. */
  .shell,
  .content,
  .container,
  main,
  .acc,
  .acc-page {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-template-columns: none !important;
  }

  /* 4. Katlanmış bölümler açık basılır. */
  details {
    display: block !important;
  }

  details > summary {
    font-weight: 600;
    list-style: none;
  }

  /* Kapalı bir <details> içeriğini tarayıcı `display` ile değil `content-visibility` ile gizler;
     yalnız `display: block` demek yetmiyordu (kâğıt provasında görüldü: SSS yanıtları basılmıyordu). */
  details > *:not(summary) {
    display: block !important;
    content-visibility: visible !important;
  }

  /* Asıl çözüm bu: kapalı <details> içeriği tarayıcının iç yuvasında durur ve ancak bu sözde
     öge ile açılabilir. Desteklemeyen tarayıcılarda site.js yazdırma anında açar. */
  details::details-content {
    content-visibility: visible !important;
    display: block !important;
    block-size: auto !important;
  }

  /* Koyu zeminli bölümler kâğıtta beyaz basılır: siyah blok hem mürekkep yakar hem okunmaz. */
  .theme-dark,
  .theme-dark * {
    background: #fff !important;
    color: #000 !important;
  }

  .theme-dark {
    --bg: #fff;
    --bg-elev: #fff;
    --fg: #000;
    --fg-muted: #333;
    --line: #999;
    border-top: 1px solid #999;
  }

  /* 5. Kartlar ve satırlar sayfa arasında bölünmez. */
  .acc-card,
  .cs-card,
  .dl-item,
  .tl-ev,
  .ui-state,
  table,
  figure {
    break-inside: avoid;
    page-break-inside: avoid;
    border: 1px solid var(--line);
    box-shadow: none !important;
  }

  h1,
  h2,
  h3 {
    break-after: avoid;
    page-break-after: avoid;
  }

  /* 6. Bağlantının adresi kâğıtta yazılır — ama iç bağlantılarda tam adres gerekir. */
  main a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 9pt;
    color: #333;
    word-break: break-all;
  }

  main a[href^="/"]::after {
    content: " (hukukdosyam.com" attr(href) ")";
    font-size: 9pt;
    color: #333;
    word-break: break-all;
  }

  /* Kendi adresini zaten yazan bağlantılar iki kez yazılmaz. */
  main a[href^="mailto:"]::after,
  main a[href^="tel:"]::after {
    content: "";
  }

  /* 7. Görseller kâğıda sığsın; süsleyici olanlar basılmasın. */
  img {
    max-width: 100% !important;
    height: auto !important;
  }

  .hero__media,
  .auth-side,
  [aria-hidden="true"] {
    display: none !important;
  }

  @page {
    margin: 18mm 16mm;
  }
}
