/* ============================================================
   Prime Theme — CSS Custom Properties
   Admin: config_theme = 'prime'
   Site geneli (başlıklar dahil): Inter · Mega menü: Oswald
   ============================================================ */

/* Inter — self-hosted variable font (Google Fonts harici zincir yok).
   Tek woff2 tüm ağırlıkları (100-900) taşır. latin + latin-ext. */
@font-face {
  font-family: 'Inter';
  font-style: normal; font-weight: 100 900; font-display: swap;
  src: url('/css/fonts/inter/inter-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal; font-weight: 100 900; font-display: swap;
  src: url('/css/fonts/inter/inter-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Oswald — self-hosted variable font (h1/h2 + mega menü). weight 200-700. */
@font-face {
  font-family: 'Oswald';
  font-style: normal; font-weight: 200 700; font-display: swap;
  src: url('/css/fonts/oswald/oswald-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Oswald';
  font-style: normal; font-weight: 200 700; font-display: swap;
  src: url('/css/fonts/oswald/oswald-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  /* Primary color palette — PRIME KURUMSAL LIME (#C8FF35) çevresinde.
     RGB triplet formatı Tailwind uyumu için (rgb(var(--primary-500) / <alpha>)).
     500 = markanın tam tonu; üstü koyulaşır, altı açılır. */
  --primary-50:  247 255 227;
  --primary-100: 240 255 202;
  --primary-200: 227 255 155;
  --primary-300: 214 255 104;
  --primary-400: 205 255  70;
  --primary-500: 200 255  53;   /* #C8FF35 — kurumsal lime */
  /* 600+ KOYU uç: tema genelinde `bg-primary-600 text-white` deseni yaygın
     (buton/badge, ~60 yer). Lime üzerine beyaz okunmaz → koyu uç kurumsal
     #151A16'ya doğru iner, beyaz metin kontrastı korunur. */
  --primary-600:  61  84  20;
  --primary-700:  48  64  18;
  --primary-800:  36  47  17;
  --primary-900:  27  35  18;
  --primary-950:  21  26  22;   /* #151A16 — kurumsal koyu */

  /* Tema vurgu rengi — checkout step header, CTA buton, progress bar.
     Prime: kurumsal koyu (#151A16). */
  --theme-accent:       21 26 22;
  --theme-accent-hover: 34 42 35;

  /* ── PRIME MARKA RENKLERİ — TEK KAYNAK ─────────────────────────────────────
     Renk değişince YALNIZ burayı düzenle; header/menü/badge/ikon hepsi bu
     değişkenlerden okur. Hem hex hem RGB-triplet (opaklık için:
     rgb(var(--prime-lime-rgb) / 0.5)). Utility class'lar aşağıda. */
  /* Header yüksekliği — Header.vue mount'ta gerçek değeri yazar; bu SSR/ilk render
     varsayılanı (üst şerit + koyu menü satırı ≈). Arama paneli top'u bunu kullanır. */
  --prime-header-h:  116px;
  --prime-dark:      #151a16;    /* koyu header/menü/arama zemini */
  --prime-dark-rgb:  21 26 22;
  --prime-lime:      #c8ff35;    /* vurgu: sepet + favori ikon/yazı/badge */
  --prime-lime-rgb:  200 255 53;
  --prime-why:       #262c31;    /* ana sayfa "Neden Prime Nutrition?" bandı zemini */
  --prime-sale:      #d92c2c;    /* indirim/kampanya kırmızısı (kurumsal dışı vurgu) */
  --prime-sale-rgb:  217 44 44;

  /* Typography */
  --font-sans: 'Inter', system-ui, sans-serif;
  --font-display: 'Inter', system-ui, sans-serif;
  /* Başlık (h1/h2) + mega menü fontu — Oswald */
  --font-heading: 'Oswald', 'Inter', system-ui, sans-serif;

  /* Border radius tokens */
  --radius-card: 1.5rem;
  --radius-btn:  0.75rem;
  --radius-input: 0.75rem;

  /* Shadow tokens */
  --shadow-card: 0 1px 3px 0 rgb(0 0 0 / 0.04), 0 1px 2px -1px rgb(0 0 0 / 0.04);
  --shadow-hover: 0 20px 40px -8px rgb(0 0 0 / 0.10);

  /* Spacing scale overrides (optional) */
  --header-height: 4rem;
}

/* ── PRIME marka renk utility'leri — genel kullanım (tek kaynak :root) ──────
   İstediğin yerde class olarak kullan: prime-bg-dark, prime-text-lime vb.
   Opaklık gerekiyorsa doğrudan token: bg-[rgb(var(--prime-lime-rgb)/0.15)] */
.prime-bg-dark     { background-color: var(--prime-dark); }
.prime-text-dark   { color: var(--prime-dark); }
.prime-border-dark { border-color: var(--prime-dark); }
.prime-bg-lime     { background-color: var(--prime-lime); }
.prime-text-lime   { color: var(--prime-lime); }
.prime-border-lime { border-color: var(--prime-lime); }
.prime-fill-lime   { fill: var(--prime-lime); }
/* Lime badge (sepet/favori sayaç) — koyu metin, lime zemin */
.prime-badge {
  background-color: var(--prime-lime);
  color: var(--prime-dark);
}
/* Paylaşılan (tema dışı) bileşenlerdeki ana eylem butonları — ör. çerez onayı
   "Hepsini Kabul Et". Bileşen ortak olduğu için orada tema rengi yazılamaz
   (--prime-lime yalnız bu dosyada tanımlı; diğer temalarda buton zeminsiz kalırdı).
   Bileşen yalnız `osy-btn-accent` kancasını taşır; rengi her tema kendi CSS'inde verir.
   !important: aynı öğedeki Tailwind bg/text utility'leri ile yükleme sırasından bağımsız kazansın. */
.osy-btn-accent {
  background-color: var(--prime-lime) !important;
  color: #111827 !important;
  box-shadow: none !important;
}
.osy-btn-accent:hover {
  background-color: var(--prime-lime) !important;
  filter: brightness(0.95);
}
/* İndirim badge — kırmızı zemin, beyaz metin. Kurumsal palet dışında bilinçli
   istisna: indirim/kampanya vurgusu evrensel olarak kırmızı okunur. */
.prime-badge-sale {
  background-color: var(--prime-sale);
  color: #fff;
}

/* Başlıklar dahil site geneli Inter. Oswald YALNIZCA mega menüde kullanılır
   (aşağıdaki .prime-menu-font nav kuralı). */
body.theme-prime h1,
body.theme-prime h2 {
  font-family: var(--font-sans);
}
/* Mega menü (masaüstü üst seviye menü çubuğu) Oswald — dar harf aralığı + BÜYÜK HARF.
   Kapsam `nav` ile sınırlı: aynı kök div içindeki mobil menü paneli etkilenmez. */
.prime-menu-font nav {
  font-family: var(--font-heading);
  text-transform: uppercase;
}
/* Menü AĞIRLIĞI + BOYUTU tek kaynak: buradan ayarla (CSS = anında hot-reload, .vue
   recompile beklemeden görünür). Descendant seçici, item'daki Tailwind font-* ve
   text-* utility'lerini yener. Oswald variable font: weight 200-700 arası geçerli. */
.prime-menu-font nav a,
.prime-menu-font nav button {
  font-weight: 700;
  letter-spacing: -0.02em;
}
/* Üst seviye menü linkleri en geniş ekranda 14px. Dar ekranlarda .vue'daki
   responsive text-[11px]/[12px] utility'leri geçerli kalır. */
@media (min-width: 1280px) {
  .prime-menu-font nav a,
  .prime-menu-font nav button {
    font-size: 14px;
  }
}

/* ── Component overrides specific to this theme ── */

body {
  font-family: var(--font-sans);
}
/* ── Editör v-html çıktısı: ürün açıklama + blog detay ─────────────────────
   Admin'deki Tiptap editör Bullet/Ordered List üretiyor; Tailwind preflight
   ul/ol { list-style: none } ile bullet/number'ları sıfırladığı için
   frontend'de marker görünmüyordu. Aşağıdaki kurallar list-style'ı
   geri açıyor ve nested seviyelerde de doğru marker gösteriyor. */

.urun-aciklama ul,
.blog-detail-content ul {
  list-style: disc outside;
  padding-left: 1.5rem;
  margin: 0.75rem 0;
}
.urun-aciklama ol,
.blog-detail-content ol {
  list-style: decimal outside;
  padding-left: 1.5rem;
  margin: 0.75rem 0;
}
.urun-aciklama ul ul,
.blog-detail-content ul ul { list-style: circle outside; }
.urun-aciklama ul ul ul,
.blog-detail-content ul ul ul { list-style: square outside; }
.urun-aciklama ol ol,
.blog-detail-content ol ol { list-style: lower-alpha outside; }
.urun-aciklama ol ol ol,
.blog-detail-content ol ol ol { list-style: lower-roman outside; }
.urun-aciklama li,
.blog-detail-content li {
  margin: 0.25rem 0;
  padding-bottom: 0;
}
.urun-aciklama li > p,
.blog-detail-content li > p { margin: 0; }

/* Blog detay başlıkları — Tailwind preflight font-weight'i sıfırladığı için
   explicit olarak bold + hiyerarşik boyut veriyoruz. */
.blog-detail-content h1 { font-size: 2rem;    font-weight: 700; line-height: 1.2;  margin: 1.25rem 0 0.75rem; }
.blog-detail-content h2 { font-size: 1.625rem; font-weight: 700; line-height: 1.25; margin: 1rem 0 0.6rem; }
.blog-detail-content h3 { font-size: 1.25rem;  font-weight: 600; line-height: 1.3;  margin: 0.875rem 0 0.5rem; }

.urun-aciklama p{
padding-bottom:25px
}
.urun-aciklama h3{
font-size:18px;
font-weight:600;
padding-bottom:15px
}
.urun-aciklama h2{
font-size:18px;
font-weight:600;
padding-bottom:15px
}

/* ── InformationDetail lightbox (Teleport ile body'ye render edilir) ───── */
.info-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 2.5rem 1.25rem 1.25rem;
  background: rgba(15, 15, 15, 0.88);
  backdrop-filter: blur(4px);
  animation: lightboxFadeIn 0.18s ease;
  cursor: zoom-out;
}
.info-lightbox-image {
  max-width: min(96vw, 1100px);
  max-height: 85vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 0.5rem;
  box-shadow: 0 24px 64px -16px rgba(0, 0, 0, 0.6);
  cursor: default;
  animation: lightboxImageIn 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}
.info-lightbox-caption {
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 600;
  text-align: center;
  max-width: 90vw;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  margin: 0;
  cursor: default;
}
.info-lightbox-close {
  position: absolute;
  top: 0.875rem;
  right: 1rem;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 9999px;
  color: #fff;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.15s ease, transform 0.15s ease;
}
.info-lightbox-close:hover {
  background: rgba(var(--primary-500), 0.9);
  border-color: rgb(var(--primary-500));
  transform: scale(1.08);
}
@keyframes lightboxFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes lightboxImageIn {
  from { opacity: 0; transform: scale(0.95); }
  to   { opacity: 1; transform: scale(1); }
}

/* ─────────────────────────────────────────────────────────────────────────────
   MEGA MENÜ — panelden girilen öğe sınıfları (`css_class`)
   Admin → Mega Menü modülü → öğe → "CSS Sınıfı" alanına yazılan ad, menü
   öğesinin sarmalayıcısına basılır (MegaMenu.vue `:class="item.css_class"`).
   Kanca sınıfı `prime-mm-item` satırın tamamını kapsar.

   `lansmanstyle`: öğeyi "Sepete Ekle" butonuyla AYNI renklerle (lime zemin +
   koyu yazı) diğer menülerden ayırır. Renkler tema değişkeninden okunur —
   marka rengi değişirse menü de birlikte değişir.
   ───────────────────────────────────────────────────────────────────────── */
/* Masaüstü: öğenin sarmalayıcısına sınıf basılır, boyanan içindeki bağlantıdır.
   :hover da kapsanır — Tailwind'in hover:bg-gray-50 / hover:text-primary-600
   sınıfları aksi halde üzerine gelince rengi siler. */
.lansmanstyle > a,
.lansmanstyle > a:hover {
  background-color: var(--prime-lime);
  color: var(--prime-dark);
  border-bottom-color: transparent;
}
.lansmanstyle > a:hover {
  filter: brightness(0.95);
}
/* Mobil: satırın TAMAMI (link + ok butonu) boyanır. */
.lansmanstyle .prime-mm-item {
  background-color: var(--prime-lime);
}
.lansmanstyle .prime-mm-item a {
  color: var(--prime-dark);
}

/* `paketurunler`: paket ürünler menüsü — mor zemin (#7871eb, paket rozetleriyle aynı)
   + beyaz yazı. Yazı rengi !important: öğe içindeki ok ikonu/başlık rengini
   group-hover:text-* sınıfları verir (özgüllüğü yüksek) — yalnız bu sınıfta ezilir. */
.paketurunler > a,
.paketurunler > a:hover {
  background-color: #7871eb;
  border-bottom-color: transparent;
}
.paketurunler > a:hover {
  filter: brightness(0.95);
}
.paketurunler > a,
.paketurunler > a * {
  color: #fff !important;
}
/* Mobil: satırın TAMAMI (link/accordion butonu + ok) boyanır; hover:bg-gray-50'yi de ezer. */
.paketurunler .prime-mm-item,
.paketurunler .prime-mm-item:hover {
  background-color: #7871eb;
}
.paketurunler .prime-mm-item :is(a, button, svg, span) {
  color: #fff !important;
}
