/*!
 * MedyaZirve — Demo Mağaza Motoru: taban stiller
 * Tema-nötr. Renk/tipografi kararlarını her tema kendi theme.css'inde verir.
 */

/* ---------- Sıfırlama ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img, svg, video { max-width: 100%; height: auto; display: block; }
button, input, select, textarea { font: inherit; color: inherit; }
button { background: none; border: 0; cursor: pointer; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4, h5, p, figure, ul, ol { margin: 0; }
ul, ol { padding: 0; list-style: none; }
table { border-collapse: collapse; width: 100%; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; border-radius: 4px; }
[hidden] { display: none !important; }

/* Mobil yatay taşma koruması — grid/flex çocuklarının min-content'e kilitlenmesini engeller */
.mz-grid > *, .mz-row > *, .mz-col > * { min-width: 0; }
.mz-clip { overflow-x: clip; }

/* ---------- Ekran okuyucu ---------- */
.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;
}
.skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 9999;
  padding: .7rem 1.1rem; background: #111; color: #fff; border-radius: 0 0 8px 0;
}
.skip-link:focus { left: 0; }

/* ---------- MedyaZirve demo barı ---------- */
.mzbar {
  position: relative; z-index: 900;
  display: flex; align-items: center; gap: .75rem;
  padding: .5rem clamp(.75rem, 3vw, 1.5rem);
  background: #0d0f14; color: #e8eaf0;
  font: 500 13px/1.3 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.mzbar__brand { display: flex; align-items: center; gap: .45rem; font-weight: 700; letter-spacing: -.01em; white-space: nowrap; }
.mzbar__brand svg { width: 16px; height: 16px; flex: none; }
.mzbar__tag {
  padding: .16rem .5rem; border-radius: 999px; font-size: 11px; font-weight: 600;
  background: rgba(255, 255, 255, .1); color: #c8ccd8; white-space: nowrap;
}
.mzbar__spacer { flex: 1 1 auto; }
.mzbar__actions { display: flex; align-items: center; gap: .5rem; }
.mzbar__btn {
  display: inline-flex; align-items: center; gap: .35rem; white-space: nowrap;
  padding: .38rem .75rem; border-radius: 8px; font-size: 12.5px; font-weight: 600;
  border: 1px solid rgba(255, 255, 255, .18); color: #e8eaf0;
  transition: background .15s ease, border-color .15s ease;
}
.mzbar__btn:hover { background: rgba(255, 255, 255, .1); }
.mzbar__btn--cta { background: #fff; color: #0d0f14; border-color: #fff; }
.mzbar__btn--cta:hover { background: #d8dbe4; }
@media (max-width: 720px) {
  .mzbar { font-size: 12px; gap: .5rem; }
  .mzbar__tag, .mzbar__btn--back { display: none; }
}

/* ---------- Bildirimler ---------- */
.mz-toasts {
  position: fixed; z-index: 2000; left: 50%; bottom: 1.25rem; transform: translateX(-50%);
  display: flex; flex-direction: column; gap: .5rem; align-items: center;
  pointer-events: none; width: min(92vw, 420px);
}
.mz-toast {
  padding: .7rem 1.05rem; border-radius: 10px; width: fit-content; max-width: 100%;
  background: #14171d; color: #fff; font: 500 14px/1.35 inherit;
  box-shadow: 0 8px 28px rgba(0, 0, 0, .28);
  opacity: 0; transform: translateY(10px); transition: opacity .22s ease, transform .22s ease;
}
.mz-toast.in { opacity: 1; transform: translateY(0); }
.mz-toast.is-ok { background: #10603f; }
.mz-toast.is-err { background: #8d2f33; }

/* ---------- Yükleniyor iskeleti ---------- */
.mz-skel {
  background: linear-gradient(100deg, rgba(128, 128, 128, .1) 30%, rgba(128, 128, 128, .2) 45%, rgba(128, 128, 128, .1) 60%);
  background-size: 300% 100%; animation: mz-shimmer 1.2s linear infinite; border-radius: 8px;
}
@keyframes mz-shimmer { to { background-position: -150% 0; } }

/* ---------- Miktar seçici ---------- */
.mz-qty { display: inline-flex; align-items: center; }
.mz-qty button { width: 32px; height: 32px; display: grid; place-items: center; font-size: 16px; line-height: 1; }
.mz-qty input {
  width: 40px; height: 32px; text-align: center; border: 0; background: none;
  -moz-appearance: textfield; appearance: textfield;
}
.mz-qty input::-webkit-outer-spin-button, .mz-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* ---------- Yıldız ---------- */
.mz-stars { letter-spacing: .04em; }

/* ---------- Hareket azaltma ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .001ms !important; animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}

/* ---------- Yazdırma ---------- */
@media print {
  .mzbar, .mz-toasts { display: none !important; }
}
