/* ============================================================
   OZ-BASE — reset, typography, scrollbar, selection
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 96px;
}

body {
  margin: 0;
  font-family: 'Segoe UI', system-ui, -apple-system, 'Helvetica Neue', Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--oz-text);
  background: var(--oz-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: background-color .25s ease, color .25s ease;
}

img, svg, video { max-width: 100%; height: auto; display: block; }

a {
  color: var(--oz-primary);
  text-decoration: none;
  transition: color .2s ease;
}
a:hover { color: var(--oz-secondary); }

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 .6em;
  color: var(--oz-heading);
  letter-spacing: -.01em;
}

h1 { font-size: clamp(2rem, 4vw, 3rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.25rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); }

p { margin: 0 0 1rem; }

ul, ol { padding-left: 1.25rem; }

button { font-family: inherit; cursor: pointer; }

hr { border: 0; border-top: 1px solid var(--oz-border); margin: 2rem 0; }

::selection {
  background: var(--oz-primary);
  color: #fff;
  text-shadow: none;
}
::-moz-selection {
  background: var(--oz-primary);
  color: #fff;
}

/* Custom scrollbar (Webkit) */
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: var(--oz-scroll-track); }
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--oz-gradient-from), var(--oz-gradient-to));
  border-radius: 8px;
  border: 2px solid var(--oz-scroll-track);
}
::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, var(--oz-gradient-to), var(--oz-gradient-from));
}

/* Firefox */
html {
  scrollbar-width: thin;
  scrollbar-color: var(--oz-primary) var(--oz-scroll-track);
}

/* Container */
.oz-container {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.25rem;
}
/* Wide variant — 3 kolonlu ürün detay sayfası gibi geniş gridler için. */
.oz-container--wide { max-width: 1440px; }

.oz-section {
  padding: 4rem 0;
}

.oz-section--tight-bottom { padding-bottom: 1rem; }
.oz-section--tight-top    { padding-top: 1rem; }

.oz-section--alt {
  background: var(--oz-bg-alt);
}

.oz-section__title {
  text-align: center;
  margin-bottom: 2.5rem;
  display: inline-block;
}

.oz-section__head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 3rem;
}

.oz-text-muted { color: var(--oz-text-muted); }

/* Visually hidden */
.oz-sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}

/* Skip link */
.oz-skip-link {
  position: absolute;
  left: -9999px;
  top: 8px;
  background: var(--oz-primary);
  color: #fff;
  padding: .5rem 1rem;
  z-index: 9999;
  border-radius: 4px;
}
.oz-skip-link:focus { left: 8px; }
