/* Adlemia — Custom CSS */

/* ─── Global ────────────────────────────────────────────────────────────── */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ─── SVG keskinliği ─────────────────────────────────────────────────────── */
svg {
  shape-rendering: geometricPrecision;
}

/* ─── Görsel kalitesi ────────────────────────────────────────────────────── */
img {
  image-rendering: -webkit-optimize-contrast;
}

/* ─── Animasyonlar (3D transform — GPU hızlandırmalı, keskin) ────────────── */
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes slideUp {
  from { opacity: 0; transform: translate3d(0, 24px, 0); }
  to   { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes slideDown {
  from { opacity: 0; transform: translate3d(0, -12px, 0); }
  to   { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes scaleIn {
  from { opacity: 0; transform: scale3d(.95, .95, 1); }
  to   { opacity: 1; transform: scale3d(1, 1, 1); }
}

.fade-in    { animation: fadeIn   .5s  ease forwards; }
.slide-up   { animation: slideUp  .6s  ease forwards; }
.slide-down { animation: slideDown .4s ease forwards; }
.scale-in   { animation: scaleIn  .35s ease forwards; }

/* ─── Floating label ─────────────────────────────────────────────────────── */
.peer:not(:placeholder-shown) ~ label,
.peer:focus ~ label {
  top: 4px;
  font-size: 0.65rem;
}

/* ─── Prose overrides ────────────────────────────────────────────────────── */
.prose p  { margin-bottom: 1.25rem; }
.prose h2 { font-family: 'Playfair Display', serif; margin-top: 2rem; }
.prose h3 { font-family: 'Playfair Display', serif; margin-top: 1.5rem; }

/* ─── Custom scrollbar ───────────────────────────────────────────────────── */
::-webkit-scrollbar       { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: rgb(var(--rgb-50, 205 205 205)); }
::-webkit-scrollbar-thumb { background: rgb(var(--rgb-400, 109 110 114)); border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: rgb(var(--rgb-600, 42 48 60)); }

/* ─── Chat mesaj animasyonu ──────────────────────────────────────────────── */
@keyframes chatAppear {
  from { opacity: 0; transform: translate3d(0, 8px, 0); }
  to   { opacity: 1; transform: translate3d(0, 0, 0); }
}
#chat-messages > div { animation: chatAppear .3s ease forwards; }

/* ─── Bağış alert parlama ────────────────────────────────────────────────── */
@keyframes donationPulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(15,21,37,.35); }
  50%     { box-shadow: 0 0 0 12px rgba(15,21,37,0); }
}
#donation-alert:not(.hidden) { animation: donationPulse 1s ease 3; }

/* ══════════════════════════════════════════════════════════════
   ADLEMİA BUTON SİSTEMİ — Önerilen Kart Stili Referans
   ══════════════════════════════════════════════════════════════ */

/* Base: Tüm adl-btn varyantları için ortak */
.adl-btn,
.adl-btn-primary,
.adl-btn-danger,
.adl-btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  font-weight: 700;
  font-size: 0.875rem;
  border-radius: 9999px; /* Tam yuvarlak (pill shape) - Referans görsele göre güncellendi */
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.25s ease;
  padding: 0.625rem 1.6rem; /* Oval vurgusunu artırmak için yatay dolgu genişletildi */
  line-height: 1;
  text-decoration: none;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
}

.adl-btn:active,
.adl-btn-primary:active,
.adl-btn-danger:active {
  opacity: 0.9;
}

/* ── Outline (secondary) ────── */
.adl-btn {
  border: 2px solid rgb(var(--rgb-200));
  color: rgb(var(--rgb-800));
  background-color: rgb(var(--rgb-bg));
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}
.adl-btn:hover {
  background-color: rgb(var(--rgb-100));
  border-color: rgb(var(--rgb-300));
}

/* ── Filled (primary) reverting to outline due to global rule ───────── */
.adl-btn-primary {
  border: 2px solid rgb(var(--rgb-200));
  color: rgb(var(--rgb-800));
  background-color: rgb(var(--rgb-bg));
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}
.adl-btn-primary:hover {
  background-color: rgb(var(--rgb-100));
  border-color: rgb(var(--rgb-300));
}

/* ── Dedicated Solid Button (For Dialogues) ───── */
.adl-btn-solid {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  font-weight: 700;
  font-size: 0.875rem;
  border-radius: 9999px;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.25s ease;
  padding: 0.625rem 1.6rem;
  line-height: 1;
  text-decoration: none;
  box-sizing: border-box;
  border: 2px solid transparent;
  color: rgb(var(--rgb-bg));
  background-color: rgb(var(--rgb-800));
  box-shadow: 0 2px 8px rgba(0,0,0,0.14);
}
.adl-btn-solid:hover {
  background-color: rgb(var(--rgb-700));
}

/* ── Danger (destructive) ───── */
.adl-btn-danger {
  border: 2px solid rgb(239, 68, 68);
  color: rgb(239, 68, 68);
  background-color: transparent;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}
.adl-btn-danger:hover {
  background-color: rgba(239, 68, 68, 0.1);
  border-color: rgb(220, 38, 38);
}

/* ── Ghost (no border) ──────── */
.adl-btn-ghost {
  border: 2px solid transparent;
  color: rgb(var(--rgb-600));
  background: transparent;
  padding: 0.5rem 1.4rem;
  font-size: 0.8125rem;
  font-weight: 600;
  box-shadow: none;
}
.adl-btn-ghost:hover {
  background-color: rgb(var(--rgb-100));
  color: rgb(var(--rgb-800));
}

/* ── Size modifiers ─────────── */
.adl-btn-sm, .adl-btn-primary.adl-btn-sm, .adl-btn-danger.adl-btn-sm {
  padding: 0.4rem 1.25rem;
  font-size: 0.78125rem;
  border-radius: 9999px;
}
.adl-btn-lg, .adl-btn-primary.adl-btn-lg {
  padding: 0.875rem 2.2rem;
  font-size: 1rem;
  border-radius: 9999px;
}
.adl-btn-full { width: 100%; }

/* ── Loading state ──────────── */
.adl-btn[disabled],
.adl-btn-primary[disabled],
.adl-btn-danger[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none !important;
  pointer-events: none;
}


