/* ===== #2276 F6b -- Binderim Veri API portali: ortak iskelet =====
   Yalniz tema tokenlari (../shared/binderim-tokens.css); light/dark otomatik (html.theme-dark). Hex renk YOK.
   Sinif oneki: dvp-. Dokunma hedefleri >= 44px. Breakpointler: 375 / 768 / 1024. */

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

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

.dvp-body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--bg-app);
  color: var(--fg-2);
  font-family: var(--font-sans);
  font-size: var(--fs-base);
  line-height: var(--lh-relaxed);
}

.dvp-skip {
  position: absolute; left: var(--space-3); top: -100px; z-index: 100;
  padding: var(--space-2) var(--space-4);
  background: var(--color-brand); color: var(--fg-on-brand);
  border-radius: var(--radius-md); font-weight: 700; text-decoration: none;
}
.dvp-skip:focus { top: var(--space-3); }

a { color: var(--color-brand-fg); }
a:hover { color: var(--color-brand-hover); }
:focus-visible { outline: 3px solid var(--color-brand); outline-offset: 2px; }

.dvp-container { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 var(--space-4); }

/* ---------- Ust cubuk ---------- */
.dvp-header {
  position: sticky; top: 0; z-index: 20;
  background: var(--bg-glass);
  -webkit-backdrop-filter: saturate(1.4) blur(10px);
  backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid var(--border-1);
}
.dvp-header__inner { display: flex; align-items: center; gap: var(--space-3); min-height: 64px; }

.dvp-brand { display: inline-flex; align-items: center; gap: var(--space-3); min-height: 44px; text-decoration: none; color: var(--fg-1); }
.dvp-brand__logo { display: block; height: 31px; width: auto; }
.dvp-brand__logo--dark { display: none; }
.theme-dark .dvp-brand__logo--light { display: none; }
.theme-dark .dvp-brand__logo--dark { display: block; }
.dvp-brand__tag {
  padding: 2px var(--space-2); border-radius: var(--radius-pill);
  background: var(--color-brand-soft); color: var(--color-brand-fg);
  font-size: var(--fs-xs); font-weight: 700; letter-spacing: var(--tracking-wide); white-space: nowrap;
}

.dvp-nav { display: flex; align-items: center; gap: var(--space-1); margin-left: var(--space-4); }
.dvp-nav__link {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 var(--space-3);
  border-radius: var(--radius-md); color: var(--fg-2); font-weight: 600; font-size: var(--fs-sm); text-decoration: none;
}
.dvp-nav__link:hover { background: var(--bg-sunken); color: var(--fg-1); }
.dvp-nav__link[aria-current="page"] { color: var(--color-brand-fg); background: var(--color-brand-soft); }

.dvp-header__tools { display: flex; align-items: center; gap: var(--space-2); margin-left: auto; }

.dvp-lang { display: inline-flex; border: 1px solid var(--border-1); border-radius: var(--radius-md); overflow: hidden; }
.dvp-lang__item {
  display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 var(--space-2);
  color: var(--fg-3); font-size: var(--fs-sm); font-weight: 700; text-decoration: none; background: transparent;
}
.dvp-lang__item:hover { background: var(--bg-sunken); color: var(--fg-1); }
.dvp-lang__item[aria-current="true"] { background: var(--color-brand-soft); color: var(--color-brand-fg); }

.dvp-icon-btn {
  display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; cursor: pointer;
  border: 1px solid var(--border-1); border-radius: var(--radius-md); background: var(--bg-canvas); color: var(--fg-1);
}
.dvp-icon-btn:hover { background: var(--bg-sunken); }
.dvp-icon-btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.dvp-theme-sun { display: none; }
.theme-dark .dvp-theme-sun { display: block; }
.theme-dark .dvp-theme-moon { display: none; }
.dvp-menu-btn { display: none; }

/* ---------- Dugmeler ---------- */
.dvp-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  min-height: 44px; min-width: 44px; padding: 0 var(--space-5);
  border: 1px solid var(--border-2); border-radius: var(--radius-md);
  background: var(--bg-canvas); color: var(--fg-1);
  font-family: inherit; font-size: var(--fs-sm); font-weight: 700; text-decoration: none; cursor: pointer; white-space: nowrap;
}
.dvp-btn:hover { background: var(--bg-sunken); color: var(--fg-1); }
.dvp-btn--primary { background: var(--color-brand); border-color: var(--color-brand); color: var(--fg-on-brand); }
.dvp-btn--primary:hover { background: var(--color-brand-hover); border-color: var(--color-brand-hover); color: var(--fg-on-brand); }
.dvp-btn--ghost { background: transparent; }
.dvp-btn[disabled], .dvp-btn--disabled { opacity: 0.5; cursor: not-allowed; pointer-events: none; }

/* ---------- Icerik ---------- */
.dvp-main { flex: 1 0 auto; padding: var(--space-8) 0 var(--space-12); }
.dvp-h1 { margin: 0 0 var(--space-3); color: var(--fg-1); font-size: var(--fs-2xl); font-weight: 800; line-height: var(--lh-tight); letter-spacing: var(--tracking-tight); }
.dvp-h2 { margin: var(--space-10) 0 var(--space-3); color: var(--fg-1); font-size: var(--fs-xl); font-weight: 800; line-height: var(--lh-snug); }
.dvp-h3 { margin: var(--space-6) 0 var(--space-2); color: var(--fg-1); font-size: var(--fs-lg); font-weight: 700; line-height: var(--lh-snug); }
.dvp-lead { margin: 0 0 var(--space-5); color: var(--fg-3); font-size: var(--fs-md); }
.dvp-muted { color: var(--fg-3); }
.dvp-code, .dvp-main code {
  font-family: var(--font-mono); font-size: 0.92em;
  padding: 1px var(--space-1); border-radius: var(--radius-xs); background: var(--bg-sunken); color: var(--fg-1);
}

.dvp-card {
  background: var(--bg-elevated); border: 1px solid var(--border-1); border-radius: var(--radius-lg);
  padding: var(--space-5); box-shadow: var(--shadow-sm);
}
.dvp-card__title { margin: 0 0 var(--space-2); color: var(--fg-1); font-size: var(--fs-lg); font-weight: 800; }

.dvp-notice {
  padding: var(--space-4); border-radius: var(--radius-md); border: 1px solid var(--border-1);
  background: var(--color-warning-soft); color: var(--fg-1);
}

/* ---------- Alt bilgi ---------- */
.dvp-footer { border-top: 1px solid var(--border-1); background: var(--bg-canvas); padding: var(--space-6) 0; color: var(--fg-3); font-size: var(--fs-sm); }
.dvp-footer__inner { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-6); align-items: center; justify-content: space-between; }
.dvp-footer__links { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-4); margin: 0; padding: 0; list-style: none; }
.dvp-footer__links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--fg-2); text-decoration: none; }
.dvp-footer__links a:hover { color: var(--color-brand-fg); text-decoration: underline; }

/* ---------- Mobil ---------- */
@media (max-width: 767.98px) {
  .dvp-menu-btn { display: inline-flex; }
  .dvp-brand__tag { display: none; }
  .dvp-nav {
    display: none; position: absolute; left: 0; right: 0; top: 100%; margin: 0;
    flex-direction: column; align-items: stretch; gap: 0; padding: var(--space-2) var(--space-4) var(--space-4);
    background: var(--bg-elevated); border-bottom: 1px solid var(--border-1); box-shadow: var(--shadow-lg);
  }
  .dvp-nav--open { display: flex; }
  .dvp-nav__link { min-height: 48px; }
  .dvp-header__tools { gap: var(--space-1); }
  .dvp-h1 { font-size: var(--fs-xl); }
  .dvp-main { padding: var(--space-6) 0 var(--space-10); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* Giris / panel dugmesi: masaustunde arac cubugunda, mobilde menunun icinde (375px'te sigmasi icin). */
.dvp-nav__auth { display: none; }
@media (max-width: 767.98px) {
  .dvp-auth-desktop { display: none; }
  .dvp-nav__auth { display: inline-flex; color: var(--color-brand-fg); }
}
