/* dd-modal — bildirim / onay / girdi penceresi ve köşe bildirimi.
 *
 * HEM ÖN YÜZDE HEM PANELDE kullanılıyor, bu yüzden ayrı dosya: panel kendi
 * tasarım sistemini kullanıyor ve tema değişkenlerini (--dd-*) tanımlamıyor.
 * Aşağıdaki her `var()` çağrısının bu yüzden YEDEK DEĞERİ var; değişken yoksa
 * pencere yine de doğru renklerle çıkar.
 *
 * SweetAlert2'nin yerini alır (ön yüzde ~48 KB dosya, panelde CDN çağrısı).
 */
/* ── dd-modal — sitenin kendi bildirim / onay penceresi ─────────────────────
   SweetAlert2'nin yerini alır: aynı işi tema değişkenleriyle, ek kütüphane
   yüklemeden yapar. Renk ve tipografi sitenin geri kalanıyla aynı. */
.dd-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(7, 36, 43, 0.55);
  backdrop-filter: blur(3px);
  opacity: 0;
  transition: opacity .18s cubic-bezier(.4,0,.2,1);
}
.dd-modal.is-acik { opacity: 1; }
.dd-modal__kutu {
  width: min(420px, 100%);
  padding: 28px 26px 22px;
  border-radius: var(--dd-r-2xl, 28px);
  background: var(--dd-paper, #fff);
  box-shadow: 0 24px 60px rgba(7, 36, 43, .24);
  text-align: center;
  transform: translateY(10px) scale(.97);
  transition: transform .18s cubic-bezier(.4,0,.2,1);
}
.dd-modal.is-acik .dd-modal__kutu { transform: none; }
.dd-modal__ikon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin: 0 auto 14px;
  border-radius: 50%;
  font-size: 30px;
}
.dd-modal__kutu--success .dd-modal__ikon { background: var(--dd-lime-100, #eaf7d9); color: var(--dd-lime-600, #5a8a1e); }
.dd-modal__kutu--error   .dd-modal__ikon { background: var(--dd-coral-100, #ffe9e4); color: var(--dd-coral-600, #d1503a); }
.dd-modal__kutu--warning .dd-modal__ikon { background: var(--dd-coral-100, #ffe9e4); color: var(--dd-coral-600, #d1503a); }
.dd-modal__kutu--info    .dd-modal__ikon,
.dd-modal__kutu--question .dd-modal__ikon { background: color-mix(in srgb, var(--dd-aqua-600, #1c7f92) 12%, transparent); color: var(--dd-aqua-600, #1c7f92); }
.dd-modal__baslik {
  margin: 0 0 8px;
  font-family: var(--dd-ff-display, inherit);
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--dd-ink, #07242b);
}
.dd-modal__metin {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--dd-ink-700, #4b5b60);
  word-break: break-word;
}
.dd-modal__alt {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 22px;
}
.dd-modal__alt .dd-btn { min-width: 120px; justify-content: center; }
.dd-btn--tehlike {
  background: var(--dd-coral-600, #d1503a);
  border-color: var(--dd-coral-600, #d1503a);
  color: #fff;
}
.dd-btn--tehlike:hover { filter: brightness(.94); }

/* dd-modal: girdi alanı (ddSor) */
.dd-modal__girdi {
  width: 100%;
  margin-top: 14px;
  padding: 11px 14px;
  border: 2px solid var(--dd-line, #e2e8ea);
  border-radius: var(--dd-r-md, 14px);
  font: inherit;
  color: var(--dd-ink, #07242b);
  background: var(--dd-paper, #fff);
}
.dd-modal__girdi:focus { outline: none; border-color: var(--dd-aqua-600, #1c7f92); }

/* dd-toast: köşede beliren kısa bildirim (ddToast) */
.dd-toast-alan {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 10000;
  display: grid;
  gap: 10px;
  max-width: min(360px, calc(100vw - 36px));
}
.dd-toast {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: var(--dd-r-lg, 18px);
  background: var(--dd-paper, #fff);
  box-shadow: 0 14px 34px rgba(7, 36, 43, .18);
  font-size: 0.875rem;
  color: var(--dd-ink, #07242b);
  opacity: 0;
  transform: translateX(12px);
  transition: opacity .2s cubic-bezier(.4,0,.2,1), transform .2s cubic-bezier(.4,0,.2,1);
}
.dd-toast.is-acik { opacity: 1; transform: none; }
.dd-toast i { font-size: 20px; flex: none; }
.dd-toast--success i { color: var(--dd-lime-600, #5a8a1e); }
.dd-toast--error i, .dd-toast--warning i { color: var(--dd-coral-600, #d1503a); }
.dd-toast--info i { color: var(--dd-aqua-600, #1c7f92); }
