/* =====================================================================
 * Hadrasoft tasarım sistemi (DomainAnalizi.com + DomainListesi.com), 2026
 * Bootstrap 5.3 üzerine token katmanı: renkler, tipografi, yüzeyler, odak.
 * İki sitede aynı dosya (assets/ds.css); marka rengi <html data-site="da|dl"> ile seçilir.
 * Değiştirirken iki kopyayı birlikte güncelleyin ve sürüm numarasını artırın.
 * ===================================================================== */

@font-face {
  font-family: 'Inter Variable'; font-style: normal; font-display: swap; font-weight: 100 900;
  src: url(fonts/inter-latin-ext-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Inter Variable'; font-style: normal; font-display: swap; font-weight: 100 900;
  src: url(fonts/inter-latin-wght-normal.woff2) format('woff2-variations');
  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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ---------- Tokenlar: açık tema ---------- */
:root, [data-bs-theme="light"] {
  --ds-brand: #2563eb; --ds-brand-rgb: 37, 99, 235;
  --ds-brand-2: #7c3aed;               /* gradyan eşi */
  --ds-brand-strong: #1d4ed8;
  --ds-brand-soft: rgba(37, 99, 235, .09);
  --ds-brand-on-soft: #1d4ed8;

  --ds-page: #f6f7f9;
  --ds-surface: #ffffff;
  --ds-surface-2: #f2f4f7;
  --ds-surface-3: #e9ecf1;
  --ds-border: #e3e6ec;
  --ds-border-strong: #cfd4dc;
  --ds-text: #0e1726;
  --ds-text-2: #475467;
  --ds-text-3: #667085;

  --ds-good: #067647; --ds-good-soft: #ecfdf3; --ds-good-line: #abefc6;
  --ds-warn: #b54708; --ds-warn-soft: #fffaeb; --ds-warn-line: #fedf89;
  --ds-bad:  #b42318; --ds-bad-soft:  #fef3f2; --ds-bad-line:  #fecdca;
  --ds-info: #175cd3; --ds-info-soft: #eff8ff; --ds-info-line: #b2ddff;

  --ds-shadow-xs: 0 1px 2px rgba(16, 24, 40, .05);
  --ds-shadow-sm: 0 1px 3px rgba(16, 24, 40, .07), 0 1px 2px rgba(16, 24, 40, .04);
  --ds-shadow-md: 0 8px 24px -6px rgba(16, 24, 40, .10), 0 2px 6px -2px rgba(16, 24, 40, .05);
  --ds-shadow-lg: 0 24px 48px -12px rgba(16, 24, 40, .18);
  --ds-ring: 0 0 0 4px rgba(var(--ds-brand-rgb), .18);
  --ds-nav-bg: rgba(255, 255, 255, .78);
  --ds-grid-line: rgba(14, 23, 38, .055);
  color-scheme: light;
}
[data-site="dl"], [data-site="dl"][data-bs-theme="light"] {
  --ds-brand: #4f46e5; --ds-brand-rgb: 79, 70, 229;
  --ds-brand-2: #0ea5e9;
  --ds-brand-strong: #4338ca;
  --ds-brand-soft: rgba(79, 70, 229, .09);
  --ds-brand-on-soft: #4338ca;
}

/* ---------- Tokenlar: koyu tema ---------- */
[data-bs-theme="dark"] {
  --ds-brand: #5b8cff; --ds-brand-rgb: 91, 140, 255;
  --ds-brand-2: #a78bfa;
  --ds-brand-strong: #82a8ff;
  --ds-brand-soft: rgba(91, 140, 255, .14);
  --ds-brand-on-soft: #a9c2ff;

  --ds-page: #0a0c10;
  --ds-surface: #11141a;
  --ds-surface-2: #171b23;
  --ds-surface-3: #1f2430;
  --ds-border: #232835;
  --ds-border-strong: #333a4a;
  --ds-text: #e7eaf0;
  --ds-text-2: #aab2c0;
  --ds-text-3: #8892a3;

  --ds-good: #47cd89; --ds-good-soft: rgba(71, 205, 137, .12); --ds-good-line: rgba(71, 205, 137, .3);
  --ds-warn: #fdb022; --ds-warn-soft: rgba(253, 176, 34, .12); --ds-warn-line: rgba(253, 176, 34, .3);
  --ds-bad:  #f97066; --ds-bad-soft:  rgba(249, 112, 102, .12); --ds-bad-line:  rgba(249, 112, 102, .3);
  --ds-info: #53b1fd; --ds-info-soft: rgba(83, 177, 253, .12); --ds-info-line: rgba(83, 177, 253, .3);

  --ds-shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);
  --ds-shadow-sm: 0 1px 3px rgba(0, 0, 0, .45);
  --ds-shadow-md: 0 10px 28px -8px rgba(0, 0, 0, .6);
  --ds-shadow-lg: 0 24px 48px -12px rgba(0, 0, 0, .7);
  --ds-nav-bg: rgba(10, 12, 16, .72);
  --ds-grid-line: rgba(231, 234, 240, .045);
  color-scheme: dark;
}
[data-site="dl"][data-bs-theme="dark"] {
  --ds-brand: #8b8cff; --ds-brand-rgb: 139, 140, 255;
  --ds-brand-2: #38bdf8;
  --ds-brand-strong: #a5a6ff;
  --ds-brand-soft: rgba(139, 140, 255, .14);
  --ds-brand-on-soft: #c3c4ff;
}

/* ---------- Bootstrap değişkenlerini tokenlara bağla ---------- */
:root, [data-bs-theme] {
  --bs-font-sans-serif: 'Inter Variable', Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --bs-font-monospace: ui-monospace, 'SF Mono', 'JetBrains Mono', Menlo, Consolas, monospace;
  --bs-body-font-size: .9375rem;
  --bs-body-line-height: 1.55;
  --bs-body-bg: var(--ds-surface);
  --bs-body-color: var(--ds-text);
  --bs-emphasis-color: var(--ds-text);
  --bs-secondary-color: var(--ds-text-3);
  --bs-secondary-bg: var(--ds-surface-3);
  --bs-tertiary-bg: var(--ds-surface-2);
  --bs-tertiary-color: var(--ds-text-3);
  --bs-border-color: var(--ds-border);
  --bs-border-color-translucent: var(--ds-border);
  --bs-primary: var(--ds-brand);
  --bs-primary-rgb: var(--ds-brand-rgb);
  --bs-primary-text-emphasis: var(--ds-brand-on-soft);
  --bs-primary-bg-subtle: var(--ds-brand-soft);
  --bs-primary-border-subtle: rgba(var(--ds-brand-rgb), .3);
  --bs-link-color: var(--ds-brand);
  --bs-link-color-rgb: var(--ds-brand-rgb);
  --bs-link-hover-color: var(--ds-brand-strong);
  --bs-link-hover-color-rgb: var(--ds-brand-rgb);
  --bs-border-radius: .625rem;
  --bs-border-radius-sm: .5rem;
  --bs-border-radius-lg: .875rem;
  --bs-border-radius-xl: 1.125rem;
  --bs-focus-ring-color: rgba(var(--ds-brand-rgb), .25);
  --bs-heading-color: var(--ds-text);
}

/* ---------- Temel ---------- */
html { -webkit-text-size-adjust: 100%; text-rendering: optimizeLegibility; }
body {
  background: var(--ds-page); color: var(--ds-text);
  font-feature-settings: 'cv11', 'ss01', 'ss03'; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  min-height: 100vh; display: flex; flex-direction: column;
}
body > main { flex: 1 0 auto; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .display-5, .display-6 { letter-spacing: -.022em; font-weight: 650; }
.display-4, .display-5, .display-6 { font-weight: 750; letter-spacing: -.035em; }
.h6, h6 { letter-spacing: -.01em; }
a { text-underline-offset: .18em; text-decoration-thickness: from-font; }
::selection { background: rgba(var(--ds-brand-rgb), .2); }
code { color: var(--ds-brand-on-soft); background: var(--ds-brand-soft); padding: .08rem .35rem; border-radius: .35rem; font-size: .85em; }
hr { border-color: var(--ds-border); opacity: 1; }
.text-body-secondary { color: var(--ds-text-3) !important; }
.text-primary { color: var(--ds-brand) !important; }
.small, small { font-size: .84rem; }
.lead { font-size: 1.125rem; color: var(--ds-text-2); font-weight: 400; }
.ds-mono { font-family: var(--bs-font-monospace); }
.ds-eyebrow { display: inline-flex; align-items: center; gap: .4rem; font-size: .78rem; font-weight: 600; letter-spacing: .02em; color: var(--ds-brand-on-soft); background: var(--ds-brand-soft); padding: .3rem .7rem; border-radius: 999px; }
.ds-gradient-text { background: linear-gradient(100deg, var(--ds-brand) 10%, var(--ds-brand-2) 90%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ds-muted { color: var(--ds-text-2); }

/* Erişilebilirlik: klavye odağı ve "içeriğe geç" bağlantısı */
:focus-visible { outline: 2px solid var(--ds-brand); outline-offset: 2px; border-radius: .35rem; }
.ds-skip { position: absolute; left: 1rem; top: -3rem; z-index: 2000; background: var(--ds-text); color: var(--ds-surface); padding: .5rem .9rem; border-radius: .5rem; font-weight: 600; text-decoration: none; transition: top .15s; }
.ds-skip:focus { top: .75rem; color: var(--ds-surface); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }

/* ---------- Üst menü ---------- */
.ds-nav {
  position: sticky; top: 0; z-index: 1030;
  background: var(--ds-nav-bg); -webkit-backdrop-filter: saturate(1.6) blur(14px); backdrop-filter: saturate(1.6) blur(14px);
  border-bottom: 1px solid var(--ds-border); padding-top: .55rem; padding-bottom: .55rem;
}
.ds-nav .navbar-brand { display: inline-flex; align-items: center; gap: .55rem; font-weight: 700; letter-spacing: -.025em; font-size: 1.06rem; color: var(--ds-text); }
.ds-nav .navbar-brand > span:last-child { color: var(--ds-text); }
.ds-brand-tld { color: var(--ds-brand); }
.ds-logo { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; color: #fff; font-size: .95rem;
  background: linear-gradient(135deg, var(--ds-brand) 0%, var(--ds-brand-2) 100%); box-shadow: 0 4px 12px -4px rgba(var(--ds-brand-rgb), .6), inset 0 1px 0 rgba(255,255,255,.25); }
.ds-nav .nav-link { white-space: nowrap; color: var(--ds-text-2); font-weight: 500; font-size: .9rem; border-radius: .55rem; padding: .42rem .7rem !important; transition: color .15s, background-color .15s; }
.ds-nav .nav-link:hover { color: var(--ds-text); background: var(--ds-surface-2); }
.ds-nav .nav-link.active { color: var(--ds-text); background: var(--ds-surface-3); }
.ds-nav .nav-link i { opacity: .8; margin-right: .2rem; }
.ds-nav .navbar-toggler { border: 1px solid var(--ds-border); padding: .35rem .55rem; border-radius: .6rem; }
.ds-nav .navbar-toggler:focus { box-shadow: var(--ds-ring); }
.ds-icon-btn { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: .6rem; border: 1px solid var(--ds-border); background: var(--ds-surface); color: var(--ds-text-2); transition: all .15s; }
.ds-icon-btn:hover { color: var(--ds-text); background: var(--ds-surface-2); border-color: var(--ds-border-strong); }
/* Tema düğmesi: temaya göre güneş / ay */
.ds-theme-icon-dark { display: none; }
[data-bs-theme="dark"] .ds-theme-icon-dark { display: inline; }
[data-bs-theme="dark"] .ds-theme-icon-light { display: none; }
.ds-nav-search { position: relative; }
.ds-nav-search .bi-search { position: absolute; left: .7rem; top: 50%; transform: translateY(-50%); color: var(--ds-text-3); pointer-events: none; font-size: .85rem; }
.ds-nav-search input { padding-left: 2rem; min-width: 230px; height: 36px; background: var(--ds-surface-2); border-color: transparent; }
.ds-nav-search input:focus { background: var(--ds-surface); }
.ds-avatar { width: 26px; height: 26px; border-radius: 50%; display: inline-grid; place-items: center; font-size: .75rem; font-weight: 700; color: #fff; background: linear-gradient(135deg, var(--ds-brand), var(--ds-brand-2)); }
@media (max-width: 767.98px) {
  .ds-nav .navbar-collapse { padding: .75rem 0 .25rem; }
  .ds-nav-search input { min-width: 0; width: 100%; }
}

/* ---------- Düğmeler ---------- */
.btn { --bs-btn-font-weight: 600; --bs-btn-padding-y: .5rem; --bs-btn-padding-x: .95rem; --bs-btn-border-radius: .625rem; letter-spacing: -.005em;
  transition: background-color .15s, border-color .15s, color .15s, box-shadow .15s, transform .08s; }
.btn:active { transform: translateY(.5px); }
.btn-sm { --bs-btn-padding-y: .34rem; --bs-btn-padding-x: .7rem; --bs-btn-font-size: .82rem; --bs-btn-border-radius: .55rem; }
.btn-lg { --bs-btn-padding-y: .72rem; --bs-btn-padding-x: 1.3rem; --bs-btn-font-size: 1rem; --bs-btn-border-radius: .8rem; }
.btn:focus-visible { box-shadow: var(--ds-ring) !important; outline: 0; }
.btn-primary {
  --bs-btn-bg: var(--ds-brand); --bs-btn-border-color: var(--ds-brand); --bs-btn-color: #fff;
  --bs-btn-hover-bg: var(--ds-brand-strong); --bs-btn-hover-border-color: var(--ds-brand-strong); --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: var(--ds-brand-strong); --bs-btn-active-border-color: var(--ds-brand-strong);
  --bs-btn-disabled-bg: var(--ds-brand); --bs-btn-disabled-border-color: var(--ds-brand);
  box-shadow: 0 1px 2px rgba(16,24,40,.08), inset 0 1px 0 rgba(255,255,255,.14);
}
[data-bs-theme="dark"] .btn-primary { --bs-btn-color: #0a0c10; --bs-btn-hover-color: #0a0c10; --bs-btn-active-color: #0a0c10; --bs-btn-disabled-color: #0a0c10; }
.btn-outline-primary {
  --bs-btn-color: var(--ds-brand-on-soft); --bs-btn-border-color: rgba(var(--ds-brand-rgb), .35); --bs-btn-bg: transparent;
  --bs-btn-hover-color: var(--ds-brand-on-soft); --bs-btn-hover-bg: var(--ds-brand-soft); --bs-btn-hover-border-color: rgba(var(--ds-brand-rgb), .5);
  --bs-btn-active-color: var(--ds-brand-on-soft); --bs-btn-active-bg: var(--ds-brand-soft); --bs-btn-active-border-color: var(--ds-brand);
}
.btn-outline-secondary, .btn-light {
  --bs-btn-color: var(--ds-text); --bs-btn-bg: var(--ds-surface); --bs-btn-border-color: var(--ds-border-strong);
  --bs-btn-hover-color: var(--ds-text); --bs-btn-hover-bg: var(--ds-surface-2); --bs-btn-hover-border-color: var(--ds-border-strong);
  --bs-btn-active-color: var(--ds-text); --bs-btn-active-bg: var(--ds-surface-3); --bs-btn-active-border-color: var(--ds-border-strong);
  box-shadow: var(--ds-shadow-xs);
}
.btn-outline-danger { --bs-btn-color: var(--ds-bad); --bs-btn-border-color: var(--ds-bad-line); --bs-btn-hover-bg: var(--ds-bad-soft); --bs-btn-hover-color: var(--ds-bad); --bs-btn-hover-border-color: var(--ds-bad); --bs-btn-active-bg: var(--ds-bad-soft); --bs-btn-active-color: var(--ds-bad); }
.btn-outline-success { --bs-btn-color: var(--ds-good); --bs-btn-border-color: var(--ds-good-line); --bs-btn-hover-bg: var(--ds-good-soft); --bs-btn-hover-color: var(--ds-good); --bs-btn-hover-border-color: var(--ds-good); }
.btn-link { --bs-btn-font-weight: 500; text-decoration: none; }
.btn-link:hover { text-decoration: underline; }
.btn-check:checked + .btn-outline-primary { background: var(--ds-brand-soft); color: var(--ds-brand-on-soft); border-color: var(--ds-brand); }

/* ---------- Formlar ---------- */
.form-control, .form-select {
  border-color: var(--ds-border-strong); border-radius: .625rem; background-color: var(--ds-surface); color: var(--ds-text);
  padding: .55rem .8rem; box-shadow: var(--ds-shadow-xs); transition: border-color .15s, box-shadow .15s;
}
.form-control-sm, .form-select-sm { padding: .34rem .65rem; border-radius: .5rem; font-size: .84rem; }
.form-control-lg { padding: .75rem 1rem; border-radius: .8rem; font-size: 1.05rem; }
.form-control::placeholder { color: var(--ds-text-3); opacity: .8; }
.form-control:focus, .form-select:focus { border-color: rgba(var(--ds-brand-rgb), .65); box-shadow: var(--ds-ring); background-color: var(--ds-surface); color: var(--ds-text); }
.form-control:disabled, .form-select:disabled { background-color: var(--ds-surface-2); }
.form-label { font-weight: 550; color: var(--ds-text); margin-bottom: .35rem; }
.form-text { color: var(--ds-text-3); }
.form-check-input { border-color: var(--ds-border-strong); }
.form-check-input:checked { background-color: var(--ds-brand); border-color: var(--ds-brand); }
.form-check-input:focus { box-shadow: var(--ds-ring); border-color: var(--ds-brand); }
.input-group > .btn { box-shadow: none; }

/* ---------- Kartlar ve yüzeyler ---------- */
.ds-card, .card { background: var(--ds-surface); border: 1px solid var(--ds-border); border-radius: 1rem; box-shadow: var(--ds-shadow-sm); }
.card > .card-header { background: transparent; border-bottom: 1px solid var(--ds-border); padding: .85rem 1.15rem; }
.card > .card-body { padding: 1.1rem 1.15rem; }
a.ds-card, a.ds-hover { transition: border-color .15s, box-shadow .2s, transform .2s; }
a.ds-card:hover, .ds-hover:hover { border-color: rgba(var(--ds-brand-rgb), .45); box-shadow: var(--ds-shadow-md); transform: translateY(-1px); }
.ds-icon-tile { width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center; font-size: 1.15rem; color: var(--ds-brand-on-soft); background: var(--ds-brand-soft); border: 1px solid rgba(var(--ds-brand-rgb), .15); flex: 0 0 auto; }
.ds-section-title { font-size: .76rem; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; color: var(--ds-text-3); }

/* ---------- Rozetler: yumuşak tonlar ---------- */
.badge { font-weight: 600; letter-spacing: 0; border-radius: 999px; padding: .32em .62em; font-size: .74em; }
.text-bg-success { background: var(--ds-good-soft) !important; color: var(--ds-good) !important; box-shadow: inset 0 0 0 1px var(--ds-good-line); }
.text-bg-danger  { background: var(--ds-bad-soft) !important;  color: var(--ds-bad) !important;  box-shadow: inset 0 0 0 1px var(--ds-bad-line); }
.text-bg-warning { background: var(--ds-warn-soft) !important; color: var(--ds-warn) !important; box-shadow: inset 0 0 0 1px var(--ds-warn-line); }
.text-bg-info    { background: var(--ds-info-soft) !important; color: var(--ds-info) !important; box-shadow: inset 0 0 0 1px var(--ds-info-line); }
.text-bg-primary { background: var(--ds-brand-soft) !important; color: var(--ds-brand-on-soft) !important; box-shadow: inset 0 0 0 1px rgba(var(--ds-brand-rgb), .25); }
.text-bg-secondary { background: var(--ds-surface-3) !important; color: var(--ds-text-2) !important; box-shadow: inset 0 0 0 1px var(--ds-border-strong); }
.text-bg-light { background: var(--ds-surface-2) !important; color: var(--ds-text-2) !important; }
.text-bg-light.border { border-color: var(--ds-border) !important; }

/* ---------- Uyarılar ---------- */
.alert { border-radius: .8rem; border: 1px solid; padding: .8rem 1rem; }
.alert-success { background: var(--ds-good-soft); border-color: var(--ds-good-line); color: var(--ds-text); }
.alert-danger  { background: var(--ds-bad-soft);  border-color: var(--ds-bad-line);  color: var(--ds-text); }
.alert-warning { background: var(--ds-warn-soft); border-color: var(--ds-warn-line); color: var(--ds-text); }
.alert-info    { background: var(--ds-info-soft); border-color: var(--ds-info-line); color: var(--ds-text); }
.ds-flash { display: flex; gap: .6rem; align-items: flex-start; box-shadow: var(--ds-shadow-sm); }
.ds-flash > .bi { font-size: 1.05rem; line-height: 1.4; }
.alert-success > .bi { color: var(--ds-good); } .alert-danger > .bi { color: var(--ds-bad); } .alert-warning > .bi { color: var(--ds-warn); } .alert-info > .bi { color: var(--ds-info); }
.alert ul { display: inline-block; vertical-align: top; }

/* ---------- Tablolar ---------- */
.table { --bs-table-bg: transparent; --bs-table-color: var(--ds-text); --bs-table-border-color: var(--ds-border); --bs-table-hover-bg: var(--ds-surface-2); --bs-table-striped-bg: var(--ds-surface-2); }
.table > thead th { font-size: .74rem; font-weight: 650; text-transform: uppercase; letter-spacing: .05em; color: var(--ds-text-3); background: var(--ds-surface-2); border-bottom-width: 1px; white-space: nowrap; }
.table > tbody > tr { transition: background-color .12s; }
.table > tbody > tr:hover > * { background: var(--ds-surface-2); }
.table-bordered > :not(caption) > * > * { border-color: var(--ds-border); }

/* ---------- Açılır menü, modal, sayfalama ---------- */
.dropdown-menu { --bs-dropdown-bg: var(--ds-surface); --bs-dropdown-border-color: var(--ds-border); --bs-dropdown-link-color: var(--ds-text); --bs-dropdown-link-hover-bg: var(--ds-surface-2); --bs-dropdown-link-active-bg: var(--ds-brand-soft); --bs-dropdown-link-active-color: var(--ds-brand-on-soft);
  border-radius: .85rem; box-shadow: var(--ds-shadow-lg); padding: .4rem; font-size: .9rem; min-width: 14rem; }
.dropdown-item { border-radius: .5rem; padding: .45rem .65rem; display: flex; align-items: center; gap: .5rem; }
.dropdown-item i { color: var(--ds-text-3); }
.dropdown-divider { border-color: var(--ds-border); margin: .35rem 0; }
.modal-content { background: var(--ds-surface); border: 1px solid var(--ds-border); border-radius: 1.1rem; box-shadow: var(--ds-shadow-lg); }
.modal-header, .modal-footer { border-color: var(--ds-border); }
.modal-backdrop { --bs-backdrop-opacity: .45; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.pagination { --bs-pagination-color: var(--ds-text-2); --bs-pagination-bg: var(--ds-surface); --bs-pagination-border-color: var(--ds-border); --bs-pagination-hover-bg: var(--ds-surface-2); --bs-pagination-hover-color: var(--ds-text); --bs-pagination-active-bg: var(--ds-brand); --bs-pagination-active-border-color: var(--ds-brand); --bs-pagination-focus-box-shadow: var(--ds-ring); gap: .25rem; }
.pagination .page-link { border-radius: .5rem !important; min-width: 2.1rem; text-align: center; }

/* ---------- Kahraman alanı (hero) ---------- */
.ds-hero { position: relative; overflow: hidden; isolation: isolate; border-bottom: 1px solid var(--ds-border); background: var(--ds-surface); }
.ds-hero::before { /* ince ızgara */
  content: ''; position: absolute; inset: 0; z-index: -2;
  background-image: linear-gradient(var(--ds-grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--ds-grid-line) 1px, transparent 1px);
  background-size: 44px 44px; -webkit-mask-image: radial-gradient(ellipse 75% 65% at 50% 0%, #000 40%, transparent 100%); mask-image: radial-gradient(ellipse 75% 65% at 50% 0%, #000 40%, transparent 100%);
}
.ds-hero::after { /* marka ışıması */
  content: ''; position: absolute; z-index: -1; width: 900px; height: 520px; left: 50%; top: -260px; transform: translateX(-50%);
  background: radial-gradient(closest-side, rgba(var(--ds-brand-rgb), .22), transparent), radial-gradient(closest-side at 70% 60%, color-mix(in srgb, var(--ds-brand-2) 22%, transparent), transparent);
  filter: blur(10px);
}
.ds-hero h1 { font-size: clamp(2rem, 4.6vw, 3.4rem); line-height: 1.06; letter-spacing: -.04em; font-weight: 760; }

/* Büyük arama kutusu (komut çubuğu) */
.ds-searchbar { display: flex; align-items: center; gap: .5rem; padding: .45rem; background: var(--ds-surface); border: 1px solid var(--ds-border-strong); border-radius: 1rem; box-shadow: var(--ds-shadow-md); transition: border-color .15s, box-shadow .15s; }
.ds-searchbar:focus-within { border-color: rgba(var(--ds-brand-rgb), .6); box-shadow: var(--ds-shadow-md), var(--ds-ring); }
.ds-searchbar > .bi { font-size: 1.15rem; color: var(--ds-text-3); margin-left: .6rem; }
.ds-searchbar input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--ds-text); font-size: 1.08rem; padding: .55rem .25rem; box-shadow: none; }
.ds-searchbar input:focus { box-shadow: none; }
.ds-searchbar .btn { white-space: nowrap; }
.ds-kbd { font: 600 .72rem/1 var(--bs-font-sans-serif); color: var(--ds-text-3); border: 1px solid var(--ds-border-strong); border-bottom-width: 2px; border-radius: .35rem; padding: .2rem .4rem; background: var(--ds-surface-2); }
.ds-chip { display: inline-flex; align-items: center; gap: .3rem; padding: .3rem .7rem; border-radius: 999px; border: 1px solid var(--ds-border); background: var(--ds-surface); color: var(--ds-text-2); font-size: .84rem; text-decoration: none; transition: all .15s; }
.ds-chip:hover { color: var(--ds-text); border-color: var(--ds-border-strong); background: var(--ds-surface-2); }
@media (max-width: 575.98px) {
  .ds-searchbar { flex-wrap: wrap; }
  .ds-searchbar .btn { width: 100%; }
}

/* ---------- Özellik ızgarası, adımlar, istatistik ---------- */
.ds-feature { padding: 1.25rem; height: 100%; }
.ds-feature h3 { font-size: 1rem; margin: .85rem 0 .35rem; }
.ds-feature p { color: var(--ds-text-2); font-size: .9rem; margin: 0; }
.ds-step { position: relative; padding-left: 3rem; }
.ds-step-num { position: absolute; left: 0; top: 0; width: 2.1rem; height: 2.1rem; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: .9rem; color: var(--ds-brand-on-soft); background: var(--ds-brand-soft); border: 1px solid rgba(var(--ds-brand-rgb), .25); }
.ds-stat-num { font-size: 1.6rem; font-weight: 750; letter-spacing: -.03em; line-height: 1.1; }
.ds-stat-label { font-size: .8rem; color: var(--ds-text-3); }
.ds-cta { position: relative; overflow: hidden; border-radius: 1.25rem; padding: 2.25rem; color: #fff;
  background: radial-gradient(120% 140% at 0% 0%, var(--ds-brand) 0%, color-mix(in srgb, var(--ds-brand) 60%, var(--ds-brand-2)) 55%, var(--ds-brand-2) 100%); box-shadow: var(--ds-shadow-lg); }
.ds-cta .lead, .ds-cta p { color: rgba(255,255,255,.86); }
.ds-cta .btn-light { --bs-btn-bg: #fff; --bs-btn-color: #0e1726; --bs-btn-border-color: #fff; --bs-btn-hover-bg: #f2f4f7; --bs-btn-hover-color: #0e1726; }
.ds-cta .btn-ghost { --bs-btn-color: #fff; --bs-btn-border-color: rgba(255,255,255,.45); --bs-btn-hover-bg: rgba(255,255,255,.12); --bs-btn-hover-color: #fff; --bs-btn-hover-border-color: #fff; }

/* ---------- Altbilgi ---------- */
.ds-footer { border-top: 1px solid var(--ds-border); background: var(--ds-surface); color: var(--ds-text-2); font-size: .875rem; margin-top: 4rem; }
.ds-footer h2 { font-size: .76rem; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; color: var(--ds-text-3); margin-bottom: .75rem; }
.ds-footer ul { list-style: none; padding: 0; margin: 0; }
.ds-footer li { margin-bottom: .45rem; }
.ds-footer a { color: var(--ds-text-2); text-decoration: none; }
.ds-footer a:hover { color: var(--ds-text); text-decoration: underline; }
.ds-footer-bottom { border-top: 1px solid var(--ds-border); color: var(--ds-text-3); font-size: .8rem; }

/* ---------- İskelet yükleme ---------- */
.ds-skeleton { border-radius: .4rem; background: linear-gradient(90deg, var(--ds-surface-2) 25%, var(--ds-surface-3) 50%, var(--ds-surface-2) 75%); background-size: 400% 100%; animation: ds-shimmer 1.4s infinite; }
@keyframes ds-shimmer { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }
