/* DomainAnalizi.com arayüz stilleri: tasarım tokenları assets/ds.css'te (Bootstrap 5.3 + ds.css üzerine) */
:root {
  --da-accent: var(--ds-brand);
  --da-good: var(--ds-good);
  --da-warn: var(--ds-warn);
  --da-bad: var(--ds-bad);
  --da-card-radius: 1rem;
  --da-heat-0: #e8ebf0;
  --da-heat-1: #a4bcfd;
  --da-heat-2: #2563eb;
}
[data-bs-theme="dark"] {
  --da-heat-0: #1f2430;
  --da-heat-1: #2b4aa8;
  --da-heat-2: #5b8cff;
}

/* Rapor kartları */
.da-card { border: 1px solid var(--ds-border); border-radius: var(--da-card-radius); background: var(--ds-surface); box-shadow: var(--ds-shadow-sm); overflow: hidden; }
.da-card > .card-header {
  background: transparent; border-bottom: 1px solid var(--ds-border); font-weight: 650; font-size: .95rem; letter-spacing: -.01em;
  display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; padding: .8rem 1.1rem;
}
.da-card > .card-header > .bi:first-child {
  width: 28px; height: 28px; border-radius: 8px; display: inline-grid; place-items: center; font-size: .9rem;
  color: var(--ds-brand-on-soft); background: var(--ds-brand-soft); flex: 0 0 auto;
}
.da-card > .card-header .da-meta { margin-left: auto; font-weight: 450; font-size: .74rem; color: var(--ds-text-3); }
.da-card > .card-body { padding: 1.05rem 1.1rem; }
.da-locked .card-body { background: repeating-linear-gradient(135deg, transparent 0 12px, var(--ds-surface-2) 12px 24px); }

/* Rapor başlığı */
.da-report-head h1 { font-size: clamp(1.7rem, 3.6vw, 2.5rem); font-weight: 760; letter-spacing: -.035em; }
.da-report-head .da-eyebrow { font-size: .78rem; font-weight: 600; color: var(--ds-text-3); text-transform: uppercase; letter-spacing: .06em; }
#da-badges .badge { font-size: .78rem; }
.da-kv { display: grid; grid-template-columns: minmax(120px, 34%) 1fr; gap: .45rem .9rem; margin: 0; }
.da-kv dt { font-weight: 500; color: var(--ds-text-3); font-size: .88rem; }
.da-kv dd { margin: 0; word-break: break-word; }
.da-skeleton { height: .9rem; border-radius: .4rem; background: linear-gradient(90deg, var(--ds-surface-2) 25%, var(--ds-surface-3) 50%, var(--ds-surface-2) 75%); background-size: 400% 100%; animation: da-shimmer 1.4s infinite; margin: .45rem 0; }
@keyframes da-shimmer { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }
@media (prefers-reduced-motion: reduce) { .da-skeleton { animation: none; } }

.da-score-ring {
  --p: 0; --c: var(--da-accent);
  width: 120px; height: 120px; border-radius: 50%;
  background: conic-gradient(var(--c) calc(var(--p) * 1%), var(--bs-secondary-bg) 0);
  display: grid; place-items: center; flex: 0 0 auto;
}
.da-score-ring > span {
  width: 92px; height: 92px; border-radius: 50%; background: var(--bs-body-bg);
  display: grid; place-items: center; font-size: 1.8rem; font-weight: 700;
}
.da-proscons li { margin-bottom: .2rem; }
.da-checklist li { margin-bottom: .15rem; }
.da-score-ring.da-ring-sm { width: 72px; height: 72px; }
.da-score-ring.da-ring-sm > span { width: 54px; height: 54px; font-size: 1.15rem; }
.da-spark { vertical-align: middle; color: var(--da-accent); margin-left: .25rem; }
.da-badge-status { font-weight: 500; }

.da-heat { overflow-x: auto; }
.da-heat table { border-collapse: separate; border-spacing: 3px; font-size: .72rem; }
.da-heat td, .da-heat th { padding: 0; text-align: center; }
.da-heat th { font-weight: 500; color: var(--bs-secondary-color); padding: 0 .3rem; }
.da-heat a, .da-heat span.cell {
  display: block; width: 18px; height: 18px; border-radius: 3px; background: var(--da-heat-0);
}
.da-heat a { background: var(--da-heat-2); }
.da-heat a:hover, .da-heat a:focus { outline: 2px solid var(--bs-emphasis-color); }

.da-shot { background: var(--bs-tertiary-bg); aspect-ratio: 2 / 3; }
.da-shot img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.da-shot-empty { display: grid; place-items: center; height: 100%; padding: 1rem; text-align: center; }
.da-shot-today img { max-height: 520px; width: auto; }
.da-raw { max-height: 420px; overflow: auto; font-size: .75rem; background: var(--bs-tertiary-bg); padding: .75rem; border-radius: .5rem; white-space: pre-wrap; word-break: break-word; }
.da-links a { text-decoration: none; }
.da-links a:hover { text-decoration: underline; }
.da-links img { width: 16px; height: 16px; margin-right: .35rem; vertical-align: -3px; }
.da-variant-table td, .da-variant-table th { white-space: nowrap; }
.da-pill { display: inline-block; padding: .12rem .55rem; margin: 0 .25rem .25rem 0; border-radius: 999px; background: var(--ds-surface-2); border: 1px solid var(--ds-border); color: var(--ds-text-2); font-size: .79rem; }
.da-bar { height: .5rem; border-radius: 999px; background: var(--bs-secondary-bg); overflow: hidden; }
.da-bar > span { display: block; height: 100%; background: var(--da-accent); }
.da-sticky { position: sticky; top: 5rem; }
@media (max-width: 991.98px) { .da-sticky { position: static; } }
@media (max-width: 575.98px) {
  .da-kv { grid-template-columns: 1fr; }
  .da-kv dt { margin-top: .4rem; }
  
}
/* ===================== PDF / YAZDIRMA =====================
 * PDF, rapor sayfasının yazdırma görünümüdür. Sayfaya eklenen her yeni bölüm (section.da-card)
 * otomatik olarak PDF'e girer. Ekranda kalması gereken etkileşimli öğelere .da-noprint verin.
 * @page (A4, kenar boşlukları, alt bilgi) assets/app.js → preparePrint() içinde temaya göre üretilir. */
.da-print-only { display: none; }
@media print {
  :root { --da-print-accent: #2563eb; }
  html, body {
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    background: var(--bs-body-bg) !important;
  }
  body { font-size: 9.5pt; line-height: 1.4; display: block !important; min-height: 0 !important; }
  .ds-skip, .ds-footer { display: none !important; }
  .da-card { overflow: visible; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }

  /* Ekrana özel öğeler */
  .da-pending, .da-nav, footer, .da-noprint, .btn, .modal, .modal-backdrop, .spinner-border, details,
  .da-screen-only, .da-gallery > .small, #da-pagespeed > .small.text-danger { display: none !important; }
  .da-print-only { display: block !important; }
  /* Yüklenmemiş isteğe bağlı bölümler PDF'e girmez */
  section[data-lazy]:not([data-loaded]) { display: none !important; }

  /* Marka başlığı */
  .da-print-head { margin: 0 0 5mm; padding: 0 0 3mm; border-bottom: 2px solid var(--da-print-accent); }
  .da-print-bar { display: flex; align-items: flex-start; }
  .da-print-brand { font-size: 17pt; font-weight: 800; letter-spacing: -.02em; color: var(--bs-emphasis-color); }
  .da-print-brand i, .da-print-brand span { color: var(--da-print-accent); }
  .da-print-meta { margin-left: auto; text-align: right; font-size: 8pt; color: var(--bs-secondary-color); }
  .da-print-domain { font-size: 22pt; font-weight: 700; margin-top: 2mm; word-break: break-all; color: var(--bs-emphasis-color); }
  .da-print-sub { font-size: 8pt; color: var(--bs-secondary-color); word-break: break-all; }
  .da-report-head { padding: 0 !important; margin-bottom: 3mm; }

  /* Kapanış ve imza */
  .da-print-foot { margin-top: 6mm; padding-top: 3mm; border-top: 1px solid var(--bs-border-color); font-size: 8pt; color: var(--bs-secondary-color); break-inside: avoid; }
  .da-print-foot p { margin: 0 0 1.5mm; }
  .da-print-powered { font-weight: 600; color: var(--bs-emphasis-color); }
  .da-print-powered a { color: var(--da-print-accent); text-decoration: none; }

  /* Yerleşim: tek sütun, özet (yatırım sinyali) en üstte */
  .container { max-width: none !important; width: 100% !important; padding: 0 !important; }
  main > .row { display: flex !important; flex-direction: column; margin: 0 !important; --bs-gutter-x: 0; --bs-gutter-y: 0; }
  main > .row > [class*="col-"] { width: 100% !important; max-width: 100% !important; flex: 0 0 auto; padding: 0 !important; }
  main > .row > .col-lg-4 { order: -1; }
  .da-sticky { position: static !important; }

  /* Kartlar */
  .da-card { box-shadow: none !important; border: 1px solid var(--bs-border-color) !important; border-radius: 2.5mm; margin: 0 0 4mm !important; break-inside: avoid; }
  .da-card > .card-header { padding: 2mm 3.5mm; font-size: 10.5pt; break-after: avoid; background: var(--bs-tertiary-bg) !important; }
  .da-card > .card-header .da-meta { display: none; }
  .da-card > .card-header > .bi:first-child { width: 5mm; height: 5mm; font-size: 7.5pt; border-radius: 1.4mm; }
  .da-card > .card-header { gap: 2mm; }
  .badge { padding: .2em .5em; }
  .da-print-foot { break-before: avoid; }
  .da-card > .card-body { padding: 3mm 3.5mm; }
  /* Uzun bölümler sayfa arasında bölünebilir (aksi halde büyük boşluk kalır) */
  #sec-kayit, #sec-uzantilar, #sec-dns, #sec-linkler, #sec-altdomain, #sec-wayback,
  #sec-alicilar, #sec-kelime, #sec-seo, #sec-skor { break-inside: auto; }
  .da-score-ring.da-ring-sm { width: 16mm; height: 16mm; }
  .da-score-ring.da-ring-sm > span { width: 12mm; height: 12mm; font-size: 10pt; }
  tr, .da-kv dt, .da-kv dd, li, .da-shot, figure { break-inside: avoid; }
  .da-kv { grid-template-columns: 34% 1fr !important; gap: 1mm 3mm; }
  .da-kv dt { margin-top: 0 !important; }
  .alert { padding: 2mm 3mm !important; margin-bottom: 2.5mm !important; }
  .table { font-size: 8.5pt; }
  .table > :not(caption) > * > * { padding: .6mm 1.5mm; }

  /* Özet kartı belirgin */
  #sec-skor { border: 1.5px solid var(--da-print-accent) !important; }
  .da-score-ring { width: 26mm; height: 26mm; }
  .da-score-ring > span { width: 20mm; height: 20mm; font-size: 15pt; }

  /* Arşiv takvimi ve galeri */
  .da-heat a, .da-heat span.cell { width: 3.6mm; height: 3.6mm; }
  .da-heat table { font-size: 6.5pt; }
  .da-gallery .col-6 { width: 33.333% !important; flex: 0 0 33.333%; }
  .da-shot { aspect-ratio: 2 / 3; }
  .da-shot-today img { max-height: 110mm; }

  /* Linkler: kompakt, üç sütun */
  #sec-linkler .row { display: flex; flex-wrap: wrap; --bs-gutter-y: 2mm; }
  #sec-linkler .row > div { width: 33.333% !important; flex: 0 0 33.333%; }
  #sec-linkler h3 { font-size: 9pt; margin-bottom: 1mm; }
  #sec-linkler li { margin-bottom: .3mm !important; }
  a { color: var(--da-print-accent); text-decoration: none; }
  .badge { border: 1px solid rgba(0,0,0,.08); }
  .da-pill { border: 1px solid var(--bs-border-color); }

  /* Misafir (üye değil): PDF kilitli; Ctrl+P yalnızca üyelik notunu basar */
  body.da-guest > *:not(.da-print-locked) { display: none !important; }
  body.da-guest .da-print-locked { display: block !important; padding: 20mm 0; font-size: 12pt; text-align: center; }
}
/* Misafire kilitli kartlar */
#da-mylists:empty { display: none; }
