/* ===========================
   DESIGN SYSTEM — TASARIM SİSTEMİ DEĞİŞKENLERİ VE YARDIMCI SINIFLAR
   =========================== */

:root {
  /* --- RENK PALETİ --- */
  --clr-black:       #232f36;             /* Ana arka plan koyu gri/yeşil rengi */
  --clr-black-light: #28363e;             /* Bölümler ve alternatif arka planlar için hafif açık ton */
  --clr-black-card:  #2c3d46;             /* Bento kartları ve içerik kutularının arka planı */
  --clr-black-mid:   #31444e;             /* Form girdileri, hover durumları vb. için orta koyu ton */
  --clr-black-border:#394f5b;             /* Kartlar ve elemanlar arasındaki sınırlar için kenarlık rengi */
  --clr-black-border-light: #445e6c;      /* Daha görünür olmasını istediğimiz hafif açık kenarlık tonu */

  /* Marka Logosu Renk Geçişleri — "Orjinal Tek.svg" logosundan alınmıştır */
  --clr-gold:        #ffcc41;             /* Açık altın sarısı */
  --clr-amber:       #f8a329;             /* Markanın ana amber rengi */
  --clr-orange:      #f69320;             /* Canlı turuncu */
  --clr-orange-dark: #e07a10;             /* Koyu turuncu gölgelendirmeler için */
  --clr-grad-start:  #ffcc41;             /* Gradyan başlangıç rengi (altın) */
  --clr-grad-end:    #f69320;             /* Gradyan bitiş rengi (turuncu) */

  /* Işıma (Glow) Efekti Varyasyonları */
  --clr-glow:        rgba(248, 163, 41, 0.14);  /* Hafif amber ışıması */
  --clr-glow-strong: rgba(248, 163, 41, 0.28);  /* Güçlü amber ışıması */

  /* Beyaz ve Nötr Tonlar */
  --clr-white:       #FFFFFF;             /* Saf beyaz */
  --clr-white-dim:   rgba(255,255,255,0.85); /* Hafif soluk beyaz */
  --clr-white-muted: rgba(255,255,255,0.5);  /* Yarı şeffaf beyaz (açıklama metinleri için) */
  --clr-white-faint: rgba(255,255,255,0.12); /* Çok hafif şeffaf beyaz çizgiler için */
  --clr-gray-300:    #888888;             /* Nötr orta gri */
  --clr-gray-500:    #444444;             /* Koyu gri */

  /* Baby Studio Özelleştirmeleri (Farklı marka kimliği alanı için) */
  --baby-orange:     #FF8C2A;             /* Bebek stüdyosu turuncusu */
  --baby-bej:        #FAF3E8;             /* Arka plan bej rengi */
  --baby-bej-dark:   #EFE3CC;             /* Koyu bej kenarlık ve detaylar */
  --baby-text:       #3a2a1a;             /* Okunabilir kahve tonlu metin rengi */

  /* Wedding Studio Özelleştirmeleri (Krem / Premium Şampanya Teması) */
  --wedding-gold:      #C5A880;             /* Düğün stüdyosu şampanya/bronz altın rengi */
  --wedding-krem:      #FAF6F0;             /* Arka plan krem rengi */
  --wedding-krem-dark: #EADEC9;             /* Koyu krem/şampanya detay ve kenarlıklar */
  --wedding-text:      #3D352E;             /* Okunabilir koyu espresso metin rengi */

  /* --- TİPOGRAFİ (YAZI BOYUTLARI) --- */
  --font-main:  'Inter', sans-serif;      /* Sitenin ana yazı tipi ailesi */
  --fs-xs:   0.75rem;                     /* Ekstra küçük yazı boyutu */
  --fs-sm:   0.875rem;                    /* Küçük yazı boyutu */
  --fs-base: 1rem;                        /* Standart gövde metni boyutu */
  --fs-md:   1.125rem;                    /* Orta boy yazı */
  --fs-lg:   1.375rem;                    /* Büyük boy yazı */
  --fs-xl:   1.75rem;                     /* Ekstra büyük başlık */
  --fs-2xl:  2.25rem;                     /* 2x büyük başlık */
  --fs-3xl:  3rem;                        /* 3x büyük başlık */
  --fs-4xl:  4rem;                        /* 4x büyük başlık */
  --fs-5xl:  5.5rem;                      /* En büyük kahraman başlık boyutu */
  --fs-display: clamp(3.2rem, 8vw, 7rem); /* Ekran genişliğine göre esneyen başlık boyutu */

  /* Yazı Kalınlıkları */
  --fw-regular: 400;
  --fw-medium:  500;
  --fw-semibold:600;
  --fw-bold:    700;
  --fw-extrabold:800;
  --fw-black:   900;

  /* --- BOŞLUKLAR (SPACING) --- */
  --sp-xs:  0.5rem;
  --sp-sm:  0.75rem;
  --sp-md:  1rem;
  --sp-lg:  1.5rem;
  --sp-xl:  2rem;
  --sp-2xl: 3rem;
  --sp-3xl: 4.5rem;
  --sp-4xl: 6rem;
  --sp-5xl: 8rem;

  /* --- DÜZEN (LAYOUT) --- */
  --container-max: 1320px;                     /* Maksimum site genişliği */
  --container-pad: clamp(1.25rem, 5vw, 4rem);  /* Ekran boyutuna göre değişen kenar boşlukları */

  /* --- KÖŞE YUVARLAKLIKLARI (BORDER RADIUS) --- */
  --radius-xs:  4px;
  --radius-sm:  8px;
  --radius-md:  14px;
  --radius-lg:  20px;
  --radius-xl:  28px;
  --radius-full:9999px;                        /* Butonlar veya tam yuvarlaklar için pill şekli */

  /* --- GÖLGELENDİRMELER (SHADOWS) --- */
  --shadow-sm:     0 2px 10px rgba(0,0,0,0.35);  /* Hafif eleman gölgesi */
  --shadow-md:     0 8px 30px rgba(0,0,0,0.45);  /* Kart gölgesi */
  --shadow-lg:     0 24px 60px rgba(0,0,0,0.55); /* Büyük derinlik gölgesi */
  --shadow-glow:   0 0 50px rgba(248,163,41,0.22);  /* Genel amber ışıma gölgesi */
  --shadow-glow-sm:0 0 20px rgba(248,163,41,0.18);  /* Küçük buton/ikon ışıma gölgesi */

  /* --- GEÇİŞ EFEKTLERİ (TRANSITIONS) --- */
  --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);    /* Doğal akıcı animasyon eğrisi */
  --ease-out:    cubic-bezier(0, 0, 0.2, 1);       /* Yavaşlayarak duran animasyon eğrisi */
  --ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);/* Hafif sıçrama (bounce) efekti eğrisi */
  --tr-fast:   0.18s var(--ease-smooth);           /* Hızlı geçişler için */
  --tr-base:   0.32s var(--ease-smooth);           /* Standart geçişler için */
  --tr-slow:   0.55s var(--ease-smooth);           /* Arka plan vb. yavaş geçişler için */

  /* --- KATMAN SEVİYELERİ (Z-INDEX) --- */
  --z-base:    1;
  --z-overlay: 10;
  --z-sticky:  100;
  --z-modal:   1000;
}

/* ===========================
   GENEL YARDIMCI SINIFLAR (UTILITIES)
   =========================== */

/* 
   Ana Kapsayıcı (Container)
   Kullanım: Sayfa genişliğini sınırlamak ve içeriği ortalamak için kullanılır.
*/
.container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);
}

/* 
   Standart Bölüm (Section) Dış Boşluk Sınıfı
   Kullanım: Sayfa içi büyük bölümlere (Hizmetler, Hakkımızda vb.) dikey boşluk vermek için.
*/
.section {
  padding-block: clamp(4rem, 9vw, 7rem);
}

/* 
   Gradyan Metin Efekti (Gradient Text)
   Kullanım: Vurgulanmak istenen kelimelere veya başlıklara marka renklerinde gradyan uygular.
*/
.grad-text {
  background: linear-gradient(110deg, var(--clr-gold) 0%, var(--clr-orange) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* 
   Ekran Okuyucu Sınıfı (Screen Reader Only)
   Kullanım: Sadece görme engelliler ve arama motorları için erişilebilirlik bilgileri sunar, görsel olarak gizler.
*/
.sr-only {
  position: absolute; width:1px; height:1px;
  padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* ===========================
   BÖLÜM BAŞLIKLARI (SECTION HEADER)
   =========================== */

/* 
   Bölüm Üst Başlığı (Eyebrow)
   Kullanım: Büyük bölüm başlıklarının hemen üstündeki küçük, harf aralığı geniş tanıtım metinleri.
*/
.section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: var(--fs-xs);
  font-weight: var(--fw-bold);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--clr-amber);
  margin-bottom: var(--sp-lg);
}

/* 
   Bölüm Üst Başlığının Solundaki Altın Çizgi
   Kullanım: .section-eyebrow etiketinin soluna küçük yatay çizgi eklemek için kullanılır.
*/
.section-eyebrow::before {
  content: '';
  display: inline-block;
  width: 28px;
  height: 1.5px;
  background: linear-gradient(to right, var(--clr-gold), var(--clr-orange));
  border-radius: 2px;
}

/* 
   Bölüm Ana Başlığı (Title)
   Kullanım: Bölümlerin ana ve en büyük başlığı (H2 gibi).
*/
.section-title {
  font-size: clamp(var(--fs-xl), 4vw, var(--fs-3xl));
  font-weight: var(--fw-extrabold);
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--clr-white);
}

/* 
   Bölüm Alt Başlığı (Subtitle)
   Kullanım: Ana başlığın altında yer alan kısa açıklama metinleri.
*/
.section-subtitle {
  font-size: clamp(var(--fs-sm), 1.8vw, var(--fs-base));
  color: var(--clr-white-muted);
  line-height: 1.75;
  margin-top: var(--sp-md);
  max-width: 580px;
}

/* ===========================
   BUTON STILLERİ (BUTTONS)
   =========================== */

/* 
   Temel Buton Yapısı
   Kullanım: Sitedeki tüm butonların ortak hizalama, padding ve geçiş efektleri.
*/
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0.9rem 2rem;
  border-radius: var(--radius-full);
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  letter-spacing: 0.02em;
  transition: all var(--tr-base);
  white-space: nowrap;
  position: relative;
  overflow: hidden;
}

/* 
   Birincil Buton (Primary Button)
   Kullanım: Aksiyona çağrı (CTA) butonları (Randevu Al, Teklif Al vb.). Marka renklerinde dolu arka planı ve ışıması vardır.
*/
.btn-primary {
  background: linear-gradient(110deg, var(--clr-gold) 0%, var(--clr-orange) 100%);
  color: var(--clr-black);
  font-weight: var(--fw-bold);
  box-shadow: var(--shadow-glow-sm);
}
.btn-primary:hover {
  box-shadow: var(--shadow-glow);
  transform: translateY(-2px) scale(1.02);
  filter: brightness(1.08);
}
.btn-primary:active { transform: scale(0.98); }

/* 
   İkincil / Çerçeveli Buton (Outline Button)
   Kullanım: Daha az öneme sahip butonlar (Hizmetlerimizi İnceleyin vb.). Şeffaf arka planlı, ince beyaz kenarlıklıdır.
*/
.btn-outline {
  background: transparent;
  color: var(--clr-white-dim);
  border: 1px solid rgba(255,255,255,0.2);
}
.btn-outline:hover {
  border-color: var(--clr-amber);
  color: var(--clr-amber);
  background: rgba(248,163,41,0.07);
}

/* 
   Buton İkon Kapsayıcısı
   Kullanım: Buton içindeki ok vb. ikonları sarmalayan küçük kutu.
   İşlev: Hover durumunda ikonun sağa doğru kayma animasyonunu yönetir.
*/
.btn-icon-wrap {
  width: 18px; height: 18px;
  transition: transform var(--tr-base);
  flex-shrink: 0;
}
.btn:hover .btn-icon-wrap { transform: translateX(4px); }

/* ===========================
   KAYARAK BELİRME ANİMASYONLARI (REVEAL ANIMATION)
   =========================== */

/* 
   Görünür Olma Hazırlık Sınıfı (Reveal)
   Kullanım: Sayfa aşağı kaydırıldığında yukarı doğru süzülerek belirmesini istediğimiz her eleman.
   İşlev: Elemanı gizler ve aşağıda konumlandırır. JS 'visible' sınıfı eklediğinde animasyonla görünür olur.
*/
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.65s var(--ease-out), transform 0.65s var(--ease-out);
}

/* 
   Görünür Olma Tetiklenmiş Durumu
   Kullanım: JS tarafından .reveal olan elemana eklenir.
   İşlev: Elemanı orijinal konumuna getirip opaklığını 1 yapar.
*/
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Farklı gecikme süreleri (Delay) sınıfları - Elemanların arka arkaya sırayla belirmesini sağlar */
.reveal-delay-1 { transition-delay: 0.08s; }
.reveal-delay-2 { transition-delay: 0.16s; }
.reveal-delay-3 { transition-delay: 0.24s; }
.reveal-delay-4 { transition-delay: 0.32s; }
.reveal-delay-5 { transition-delay: 0.40s; }
.reveal-delay-6 { transition-delay: 0.48s; }
