/*
Theme Name: Yalin
Description: Hafif, JavaScript'siz, SEO odakli Turkce icerik temasi. Marka listesi (brand_cards) yerel JSON dosyasindan okunur.
Version: 1.4.2
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: yalin
*/

/* ---------- Roboto (tema icinden sunulur, dis istek yok) ---------- */
@font-face {
  font-family: "Roboto";
  font-style: normal; font-weight: 100 900; font-display: swap;
  src: url(fonts/roboto-latin-ext-wght-normal.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;
}
@font-face {
  font-family: "Roboto";
  font-style: normal; font-weight: 100 900; font-display: swap;
  src: url(fonts/roboto-latin-wght-normal.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;
}

/* ---------- Tokenlar ---------- */
:root {
  --zemin: #F6F8FA;
  --yuzey: #FFFFFF;
  --murekkep: #13212C;
  --soluk: #566673;
  --cizgi: #DCE4EA;
  --cerceve: #AEBCC8;
  --uzerinde: #EEF3F7;
  --saha: #0B7A55;
  --saha-koyu: #075E41;
  --saha-acik: #E6F4EE;
  --puan: #D99400;
  --genislik: 1080px;
  --okuma: 44rem;
  --r: 10px;
  --font: "Roboto", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* ---------- Temel ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--zemin);
  color: var(--murekkep);
  font-family: var(--font);
  font-size: 1.0625rem;
  line-height: 1.65;
}
img, svg, video { max-width: 100%; height: auto; }
a { color: var(--saha-koyu); text-underline-offset: 3px; }
a:hover { color: var(--murekkep); }
:focus-visible { outline: 3px solid var(--saha); outline-offset: 2px; border-radius: 4px; }
h1, h2, h3, h4 { line-height: 1.2; letter-spacing: -0.015em; margin: 0 0 .6em; }
h1 { font-size: clamp(1.75rem, 1.2rem + 2.4vw, 2.6rem); font-weight: 800; letter-spacing: -0.03em; }
h2 { font-size: clamp(1.3rem, 1.1rem + 1vw, 1.7rem); font-weight: 700; }
h3 { font-size: 1.2rem; font-weight: 700; }
p { margin: 0 0 1.1em; }
.kap { width: min(100% - 2rem, var(--genislik)); margin-inline: auto; }
.gizli-metin {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap;
}
.atla {
  position: absolute; left: .5rem; top: -4rem; z-index: 10;
  background: var(--murekkep); color: #fff; padding: .6rem 1rem; border-radius: 6px;
}
.atla:focus { top: .5rem; color: #fff; }

/* ---------- Ust bilgi ---------- */
.ust { background: var(--yuzey); border-bottom: 1px solid var(--cizgi); }
.ust-ic {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem 2rem; flex-wrap: wrap; padding-block: .9rem;
}
.marka { font-size: 1.3rem; font-weight: 800; letter-spacing: -0.03em; margin: 0; }
.marka a { color: var(--murekkep); text-decoration: none; }
.marka img { display: block; max-height: 44px; width: auto; }
.menu { min-width: 0; max-width: 100%; }
.menu ul {
  display: flex; gap: .25rem; list-style: none; margin: 0; padding: 0;
  overflow-x: auto; scrollbar-width: thin;
}
.menu a {
  display: block; white-space: nowrap; padding: .45rem .75rem; border-radius: 999px;
  color: var(--murekkep); text-decoration: none; font-size: .95rem; font-weight: 600;
}
.menu a:hover, .menu .current-menu-item > a { background: var(--saha-acik); color: var(--saha-koyu); }
.menu .sub-menu { display: none; }

/* ---------- Ana sayfa tanitim ---------- */
.tanitim { padding-block: clamp(2rem, 5vw, 3.5rem) 1.5rem; }
.tanitim h1 { max-width: 22ch; }
.tanitim-metin { max-width: 62ch; color: var(--soluk); font-size: 1.125rem; }
.guncelleme { margin: -.6rem 0 .7rem; font-size: .75rem; line-height: 1.3; color: var(--soluk); }
.guncelleme time { font-weight: 600; color: var(--murekkep); }

/* ---------- Marka listesi ---------- */
.markalar {
  list-style: none; margin: 0 0 2.5rem; padding: 0; counter-reset: sira;
  background: var(--yuzey); border: 1.5px solid var(--cerceve); border-radius: var(--r); overflow: hidden;
}
.markalar > li {
  counter-increment: sira;
  display: grid;
  grid-template-columns: 2.2rem 150px minmax(0, 1fr) auto;
  align-items: center; gap: 1rem 1.25rem;
  padding: 1rem 1.25rem;
  border-top: 1px solid var(--cerceve);
  transition: background-color .12s ease;
}
.markalar > li:first-child { border-top: 0; }
.markalar > li:hover, .markalar > li:focus-within { background: var(--uzerinde); }
.markalar > li::before {
  content: counter(sira); font-weight: 800; font-size: 1.35rem;
  color: var(--soluk); font-variant-numeric: tabular-nums; text-align: center;
  transition: color .12s ease;
}
.markalar > li:hover::before, .markalar > li:focus-within::before { color: var(--murekkep); }
.marka-logo {
  display: flex; align-items: center; justify-content: center;
  height: 56px; padding: .4rem .6rem; border-radius: min(var(--r), 8px); background: var(--murekkep);
}
.marka-logo img { max-height: 100%; width: auto; object-fit: contain; display: block; color: #fff; font-size: .8rem; font-weight: 700; }
.marka-logo span { color: #fff; font-weight: 800; letter-spacing: -0.02em; font-size: .9rem; line-height: 1.15; text-align: center; overflow: hidden; }
.marka-bilgi { min-width: 0; }
/* Ad logoda yaziyor: gorunmez, arama motoru ve ekran okuyucu icin yerinde kalir. */
.markalar .marka-ad { position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.marka-aciklama { margin: 0; color: var(--soluk); font-size: .95rem; line-height: 1.45; }
.marka-puan { display: inline-flex; align-items: center; gap: .45rem; flex: none; font-size: .8rem; color: var(--soluk); }
.marka-puan b { color: var(--murekkep); font-variant-numeric: tabular-nums; font-size: .9rem; }
.puan-deger { white-space: nowrap; }
.olcer { width: 64px; height: 5px; border-radius: 3px; background: var(--cizgi); overflow: hidden; }
.olcer i { display: block; height: 100%; background: var(--puan); border-radius: 3px; }

/* Bonus basligi: kartin ilk okunan bilgisi */
.bonus-satir { display: flex; align-items: center; justify-content: space-between; gap: .4rem .9rem; flex-wrap: wrap; margin: .1rem 0 .35rem; }
.bonus-baslik { margin: 0; font-size: 1.08rem; font-weight: 800; line-height: 1.25; letter-spacing: -0.01em; color: var(--saha-koyu); }
.bonus-baslik::before {
  content: ""; display: inline-block; width: .95em; height: .95em; margin-right: .35em; vertical-align: -.12em;
  background: currentColor; -webkit-mask: var(--hediye) center / contain no-repeat; mask: var(--hediye) center / contain no-repeat;
}
:root { --hediye: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 7h-2.2A3 3 0 0 0 12 3.8 3 3 0 0 0 6.2 7H4a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-8h1a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1Zm-5-1.5A1.5 1.5 0 1 1 15 7h-2a1.5 1.5 0 0 1 2-1.5ZM9 5.5A1.5 1.5 0 0 1 11 7H9a1.5 1.5 0 0 1 0-1.5ZM11 19H7v-7h4Zm0-9H5V9h6Zm6 9h-4v-7h4Zm2-9h-6V9h6Z'/%3E%3C/svg%3E"); }

/* 1 numara: krem altin cerceve ve rozet */
.markalar > li { position: relative; }
.markalar > li.lider { box-shadow: inset 0 0 0 2px #C9A227; background: #FFFDF6; }
.kart-rozet {
  position: absolute; top: .5rem; right: .6rem; z-index: 2; padding: .18rem .6rem; border-radius: 999px;
  font-size: .7rem; font-weight: 800; letter-spacing: .02em; line-height: 1.4; white-space: nowrap;
  color: #4A3A0C; background: #F6E3A6; border: 1.5px solid #C9A227;
}
/* CTA: ok isareti, uzerine gelince ilerler */
.git::after { content: "→"; display: inline-block; margin-left: .45em; transition: transform .15s ease; }
.git:hover::after, .git:focus-visible::after { transform: translateX(3px); }
.git {
  display: inline-block; text-align: center; white-space: nowrap; text-decoration: none;
  background: var(--saha); color: #fff; font-weight: 700;
  padding: .7rem 1.3rem; border-radius: min(var(--r), 8px);
}
.git:hover { background: var(--saha-koyu); color: #fff; }
.bonus-kod {
  display: inline-flex; align-items: center; gap: .55rem; margin: .4rem 0 .35rem; padding: .35rem .45rem .35rem .7rem;
  font: inherit; font-size: .85rem; line-height: 1.2; color: var(--saha-koyu); cursor: pointer;
  background: var(--saha-acik); border: 1.5px dashed var(--saha); border-radius: min(var(--r), 8px);
  -webkit-tap-highlight-color: transparent;
}
.bonus-kod b { font-size: 1.05rem; font-weight: 800; letter-spacing: .08em; color: var(--murekkep); user-select: all; }
.bonus-kod-kopyala::after {
  content: "Kopyala"; display: inline-block; padding: .2rem .5rem; border-radius: 999px;
  font-size: .72rem; font-weight: 700; color: #fff; background: var(--saha);
}
.bonus-kod.kopyalandi .bonus-kod-kopyala::after { content: "Kopyalandı ✓"; background: var(--saha-koyu); }
.bonus-kod:hover { border-style: solid; }
.markalar .bonus-kod { display: flex; width: 100%; max-width: 22rem; padding: .4rem .45rem .4rem .65rem; }
.markalar .bonus-kod b { margin-right: auto; }
.liste-kart .markalar .bonus-kod-etiket { font-size: .75rem; }
.markalar-bos { padding: 1rem 1.25rem; background: var(--yuzey); border: 1px dashed var(--cizgi); border-radius: var(--r); color: var(--soluk); }

@media (max-width: 720px) {
  .markalar > li { grid-template-columns: 1.6rem 110px minmax(0, 1fr); padding: .9rem 1rem; }
  .markalar .marka-logo { height: 46px; }
  .markalar .git { grid-column: 1 / -1; }
}
@media (max-width: 420px) {
  .markalar > li { grid-template-columns: 1.4rem minmax(0, 1fr); }
  .markalar .marka-logo { grid-column: 2; justify-self: start; width: 140px; }
  .markalar .marka-bilgi { grid-column: 1 / -1; }
}

/* ---------- Yazi listesi ---------- */
.bolum-baslik { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin: 0 0 1rem; }
.bolum-baslik h2 { margin: 0; }
.yazilar { list-style: none; margin: 0 0 2rem; padding: 0; display: grid; gap: 0 2.5rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 26rem), 1fr)); }
.yazilar > li { padding-block: 1.1rem; border-top: 1px solid var(--cizgi); }
.yazi-baslik { font-size: 1.125rem; font-weight: 700; margin: 0 0 .3rem; letter-spacing: -0.01em; }
.yazi-baslik a { color: var(--murekkep); text-decoration: none; }
.yazi-baslik a:hover { color: var(--saha-koyu); text-decoration: underline; }
.yazi-ozet { margin: 0 0 .35rem; color: var(--soluk); font-size: .95rem; line-height: 1.5; }
.yazi-tarih { font-size: .825rem; color: var(--soluk); }
.arsiv-ust { padding-block: clamp(1.5rem, 4vw, 2.5rem) .5rem; }
.arsiv-ust p { color: var(--soluk); max-width: 62ch; }

/* ---------- Sayfalama ---------- */
.pagination { margin: 0 0 3rem; }
.nav-links { display: flex; flex-wrap: wrap; gap: .35rem; }
.page-numbers {
  min-width: 2.5rem; text-align: center; padding: .45rem .8rem; border-radius: 8px;
  background: var(--yuzey); border: 1px solid var(--cizgi); color: var(--murekkep);
  text-decoration: none; font-weight: 600; font-size: .95rem;
}
.page-numbers.current { background: var(--murekkep); border-color: var(--murekkep); color: #fff; }
a.page-numbers:hover { border-color: var(--saha); color: var(--saha-koyu); }

/* ---------- Tekil yazi / sayfa ---------- */
.iz { font-size: .875rem; color: var(--soluk); padding-block: 1.25rem 0; }
.iz a { color: var(--soluk); }
.iz span[aria-hidden] { margin-inline: .4rem; }
.icerik-kap { padding-block: 1.25rem 3rem; }
.yazi { background: var(--yuzey); border: 1.5px solid var(--cerceve); border-radius: var(--r); padding: clamp(1.25rem, 4vw, 3rem); }
.yazi-ust, .yazi-govde > * { max-width: var(--okuma); margin-inline: auto; }
.yazi-ust { margin-bottom: 1.75rem; }
.yazi-ust h1 { margin-bottom: .5rem; }
.yazi-kunye { color: var(--soluk); font-size: .9rem; margin: 0; }
.yazi-gorsel { max-width: var(--okuma); margin: 0 auto 1.75rem; }
.yazi-gorsel img { display: block; width: 100%; border-radius: 8px; }
.yazi-govde > .alignwide, .yazi-govde > .markalar, .yazi-govde > .tablo-sar, .yazi-govde > .wp-block-table { max-width: 56rem; }
.yazi-govde > .alignfull { max-width: none; }
.yazi-govde h2 { margin-top: 2rem; }
.yazi-govde h3 { margin-top: 1.6rem; }
.yazi-govde ul, .yazi-govde ol { padding-left: 1.3rem; margin-block: 0 1.1em; }
.yazi-govde li { margin-bottom: .35em; }
.yazi-govde blockquote { margin: 1.5rem auto; padding: .2rem 0 .2rem 1.1rem; border-left: 3px solid var(--cerceve); color: var(--soluk); }
.yazi-govde figure { margin-block: 1.5rem; }
.yazi-govde figcaption { font-size: .85rem; color: var(--soluk); text-align: center; margin-top: .4rem; }
.yazi-govde .markalar { margin-block: 1.75rem; padding-left: 0; }
.yazi-govde .markalar > li { margin-bottom: 0; }
.yazi-govde .markalar .marka-ad { margin-top: 0; }
.ilgili { margin-top: 2.5rem; }
.yanli > .ilgili { margin-top: 0; }

/* ---------- Yan sutun ---------- */
.ana-sutun { min-width: 0; }
.yanli { display: grid; gap: 2rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1000px) {
  .yanli { grid-template-columns: minmax(0, 1fr) 300px; align-items: start; }
  .yanli > .ana-sutun { grid-column: 1; }
  .yanli > .yan { grid-column: 2; grid-row: 1 / span 3; position: sticky; top: 1rem; }
  .yanli .yazilar { grid-template-columns: 1fr; }
  .yanli .ilgili .yazilar { grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr)); }
}
.yan { display: grid; gap: 1.25rem; align-content: start; }
@media (min-width: 640px) and (max-width: 999px) { .yan { grid-template-columns: 1fr 1fr; } }
.yan-blok { background: var(--yuzey); border: 1.5px solid var(--cerceve); border-radius: var(--r); padding: 1rem 0 .3rem; overflow: hidden; }
.yan-baslik { font-size: 1.05rem; font-weight: 700; margin: 0 1.1rem .6rem; letter-spacing: -0.01em; }
.yan-liste { list-style: none; margin: 0; padding: 0; }
.yan-liste li {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "logo git" "bilgi bilgi";
  align-items: center; gap: 0 .75rem; padding: .85rem 1.1rem; border-top: 1px solid var(--cerceve); transition: background-color .12s ease;
}
.yan-liste li:hover, .yan-liste li:focus-within { background: var(--uzerinde); }
.yan-liste .marka-logo { grid-area: logo; height: 48px; padding: .35rem .5rem; border-radius: min(var(--r), 8px); }
.yan-liste .marka-logo img { max-height: 34px; }
.yan-liste .marka-logo span { font-size: .8rem; }
.yan-liste .git-kucuk { grid-area: git; align-self: stretch; display: flex; align-items: center; justify-content: center; min-width: 6.5rem; white-space: nowrap; }
.yan-bilgi { grid-area: bilgi; min-width: 0; display: grid; }
.yan-puan { margin-top: .5rem; font-size: .8rem; color: var(--soluk); }
.yan-puan b { color: var(--murekkep); }
.yan-bilgi .bonus-satir { margin: .55rem 0 0; }
.yan-bilgi .bonus-baslik { font-size: .95rem; }
.yan-serit .yan-bilgi .bonus-baslik { font-size: .85rem; }
.yan-aciklama { margin: .55rem 0 0; font-size: .85rem; line-height: 1.45; color: var(--soluk); }
.yan-liste .bonus-kod { display: flex; width: 100%; margin: .55rem 0 0; padding: .35rem .4rem .35rem .65rem; font-size: .78rem; }
.yan-liste .bonus-kod b { margin-right: auto; font-size: 1rem; }
.git-kucuk { padding: .45rem .9rem; font-size: .9rem; border-radius: min(var(--r), 6px); }

/* ---------- Secenek: ust bilgi stili ---------- */
.ust-koyu .ust, .ust-vurgu .ust { border-bottom-color: transparent; }
.ust-koyu .ust { background: var(--murekkep); }
.ust-vurgu .ust { background: var(--saha); }
.ust-koyu .marka a, .ust-vurgu .marka a, .ust-koyu .ust .menu a, .ust-vurgu .ust .menu a { color: #fff; }
.ust-koyu .ust .menu a:hover, .ust-koyu .ust .menu .current-menu-item > a,
.ust-vurgu .ust .menu a:hover, .ust-vurgu .ust .menu .current-menu-item > a { background: rgba(255,255,255,.16); color: #fff; }

/* ---------- Secenek: yan bloklarin yeri ---------- */
@media (min-width: 1000px) {
  .yan-sol .yanli { grid-template-columns: 300px minmax(0, 1fr); }
  .yan-sol .yanli > .ana-sutun { grid-column: 2; }
  .yan-sol .yanli > .yan { grid-column: 1; }
  .yan-alt .yanli { grid-template-columns: minmax(0, 1fr); }
  .yan-alt .yanli > .yan { grid-column: 1; grid-row: auto; position: static; grid-template-columns: 1fr 1fr; }
  .yan-alt .yanli .yazilar { grid-template-columns: repeat(auto-fill, minmax(min(100%, 26rem), 1fr)); }
}
.yan-alt .yanli > .yan { margin-bottom: 2rem; }
.yan-serit { display: block; background: var(--yuzey); border-bottom: 1.5px solid var(--cerceve); }
.yan-serit-ic { display: grid; gap: 0 2rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); padding-block: .9rem; }
.yan-serit .yan-blok { border: 0; border-radius: 0; padding: 0; background: none; overflow: visible; }
.yan-serit .yan-baslik { margin: 0 0 .5rem; font-size: .95rem; color: var(--soluk); }
.yan-serit .yan-liste { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
.yan-serit .yan-liste li {
  grid-template-columns: minmax(0, 1fr); grid-template-areas: "logo" "bilgi" "git"; grid-template-rows: auto 1fr auto;
  align-items: start; gap: 0; padding: .6rem;
  border: 2px solid var(--cerceve); border-radius: min(var(--r), 10px);
}
.yan-serit .yan-liste .marka-logo { height: 44px; }
.yan-serit .yan-aciklama { font-size: .78rem; margin-top: .45rem; }
.yan-serit .yan-liste .bonus-kod-etiket { display: none; }
.yan-serit .git-kucuk { margin-top: .55rem; padding: .45rem .7rem; font-size: .85rem; min-height: 40px; }
@media (max-width: 720px) {
  /* Dar ekranda kaydirma yok: her marka tek satirlik sade kart (logo | bonus | buton). */
  .yan-serit-ic { gap: .9rem; padding-block: .75rem; }
  .yan-serit .yan-liste { grid-template-columns: minmax(0, 1fr); gap: .45rem; }
  .yan-serit .yan-liste li {
    grid-template-columns: 82px minmax(0, 1fr) auto; grid-template-areas: "logo bilgi git"; grid-template-rows: auto;
    align-items: center; gap: .6rem; padding: .45rem;
  }
  .yan-serit .yan-liste .marka-logo { height: 40px; padding: .25rem .35rem; }
  .yan-serit .yan-liste .marka-logo img { max-height: 28px; }
  .yan-serit .yan-bilgi .bonus-satir { margin: 0; flex-direction: column; align-items: flex-start; gap: .1rem; }
  .yan-serit .yan-bilgi .bonus-baslik { font-size: .8rem; line-height: 1.25; }
  .yan-serit .yan-bilgi .bonus-baslik::before { display: none; }
  .yan-serit .yan-aciklama, .yan-serit .yan-liste .bonus-kod { display: none; }
  .yan-serit .git-kucuk { margin-top: 0; min-height: 40px; padding: .4rem .7rem; font-size: .82rem; }
}

/* ---------- Secenek: kart gorunumlu marka listesi ---------- */
.liste-kart .markalar {
  display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr));
  background: none; border: 0; border-radius: 0; overflow: visible;
}
.liste-kart .markalar > li {
  grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr auto; align-items: start; gap: .75rem; position: relative;
  background: var(--yuzey); border: 1.5px solid var(--cerceve); border-radius: var(--r); padding: 1.1rem;
}
.liste-kart .markalar > li:first-child { border-top: 1.5px solid var(--cerceve); }
.liste-kart .markalar > li::before {
  position: absolute; top: .55rem; left: .55rem; z-index: 1; min-width: 1.7rem; padding: .1rem .35rem;
  font-size: .95rem; background: var(--yuzey); border: 1.5px solid var(--cerceve); border-radius: 999px;
}
.liste-kart .markalar .marka-logo { height: 72px; width: auto; grid-column: auto; justify-self: stretch; }
.liste-kart .markalar .marka-bilgi { grid-column: auto; }
.liste-kart .markalar .git { grid-column: auto; align-self: end; }

/* ---------- Secenek: tek sutun yazi listesi ---------- */
.yazilar-tek .yazilar { grid-template-columns: 1fr; }

/* ---------- Rozet ---------- */
.rozet {
  display: inline-block; vertical-align: middle; margin-left: .35rem; padding: .12rem .55rem;
  font-size: .72rem; font-weight: 700; letter-spacing: 0; line-height: 1.5;
  color: var(--saha-koyu); background: var(--saha-acik); border: 1px solid currentColor; border-radius: 999px;
}

/* ---------- Icindekiler ---------- */
.icindekiler {
  background: var(--zemin); border: 1.5px solid var(--cerceve); border-radius: var(--r);
  padding: .9rem 1.2rem; margin-block: 1.75rem;
}
.icindekiler summary { font-weight: 700; cursor: pointer; }
.icindekiler ol { list-style: none; margin: .7rem 0 .2rem; padding: 0; columns: 2 16rem; column-gap: 2rem; }
.icindekiler li { margin: 0 0 .4rem; break-inside: avoid; font-size: .95rem; line-height: 1.4; }
.icindekiler .seviye-3 { padding-left: 1rem; }
.icindekiler .seviye-4 { padding-left: 2rem; font-size: .9rem; }
.icindekiler a { text-decoration: none; }
.icindekiler a:hover { text-decoration: underline; }
.yazi-govde :is(h2, h3, h4)[id] { scroll-margin-top: 1rem; }
.yazi-govde h4 { font-size: 1.05rem; font-weight: 700; margin-top: 1.4rem; }

/* ---------- Ana sayfa uzun icerik ve SSS ---------- */
.ana-icerik { margin-bottom: 2.5rem; }
.sss { margin-bottom: 2.5rem; }
.sss-liste { background: var(--yuzey); border: 1.5px solid var(--cerceve); border-radius: var(--r); overflow: hidden; }
.sss-liste details { border-top: 1px solid var(--cerceve); }
.sss-liste details:first-child { border-top: 0; }
.sss-liste summary {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 1rem 1.25rem; cursor: pointer; list-style: none; transition: background-color .12s ease;
}
.sss-liste summary::-webkit-details-marker { display: none; }
.sss-liste summary:hover { background: var(--uzerinde); }
.sss-liste summary h3 { margin: 0; font-size: 1.05rem; font-weight: 700; }
.sss-liste summary::after { content: "+"; font-size: 1.4rem; font-weight: 500; line-height: 1; color: var(--soluk); flex: none; }
.sss-liste details[open] > summary::after { content: "–"; }
.sss-cevap { padding: 0 1.25rem 1.1rem; color: var(--soluk); max-width: 75ch; }
.sss-cevap p:last-child { margin-bottom: 0; }

/* ---------- Tablolar ---------- */
.yazi-govde { overflow-wrap: break-word; }
.yazi-govde .wp-block-table { overflow: visible; margin-inline: auto; }
.tablo-sar {
  max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch;
  border: 1.5px solid var(--cerceve); border-radius: min(var(--r), 8px); margin-block: 1.5rem;
}
.wp-block-table .tablo-sar { margin-block: 0; }
.tablo-sar table { width: 100%; min-width: 30rem; border-collapse: collapse; font-size: .95rem; margin: 0; table-layout: auto; }
.tablo-sar th, .tablo-sar td { padding: .65rem .8rem; border: 0; border-bottom: 1px solid var(--cizgi); text-align: left; vertical-align: top; }
.tablo-sar tr:last-child > td { border-bottom: 0; }
.tablo-sar thead th, .tablo-sar tr:first-child > th { background: var(--zemin); font-weight: 700; border-bottom: 1.5px solid var(--cerceve); }
.tablo-sar tbody tr:hover { background: var(--uzerinde); }
.tablo-sar td img { max-width: 140px; height: auto; }
.yazi-govde iframe, .yazi-govde embed, .yazi-govde object, .yazi-govde video { max-width: 100%; }
.yazi-govde pre { max-width: 100%; overflow-x: auto; }

/* ---------- Alt bilgi ---------- */
.alt { background: var(--murekkep); color: #C9D4DC; margin-top: 2rem; font-size: .925rem; }
.alt-ic { padding-block: 2.25rem; display: grid; gap: 1.25rem; }
.alt a { color: #fff; }
.alt .menu ul { flex-wrap: wrap; overflow: visible; }
.alt .menu a { color: #fff; padding-left: 0; padding-right: 1.1rem; border-radius: 0; font-weight: 500; }
.alt .menu a:hover { background: none; text-decoration: underline; }
.alt-uyari { border-top: 1px solid rgba(255,255,255,.14); padding-top: 1.25rem; max-width: 80ch; line-height: 1.55; }
.alt-uyari strong { color: #fff; }

/* ---------- Yukari cik dugmesi (JavaScript'siz) ---------- */
.yukari {
  position: fixed; right: max(1rem, env(safe-area-inset-right)); bottom: max(1rem, env(safe-area-inset-bottom)); z-index: 60;
  display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; border-radius: 50%;
  color: #fff; background: var(--saha); box-shadow: 0 4px 14px rgba(0, 0, 0, .22), 0 0 0 3px var(--yuzey);
  text-decoration: none; -webkit-tap-highlight-color: transparent; transition: background-color .15s ease, transform .1s ease;
}
.yukari:hover { background: var(--saha-koyu); color: #fff; }
.yukari:active { transform: scale(.92); }
/* Destekleyen tarayicilarda sayfa basinda gizli, asagi inildikce belirir. */
@supports (animation-timeline: scroll()) {
  .yukari { animation: yukari-goster linear both; animation-timeline: scroll(root); animation-range: 0 500px; }
}
@keyframes yukari-goster {
  0%, 60% { opacity: 0; visibility: hidden; transform: translateY(12px); }
  100% { opacity: 1; visibility: visible; transform: none; }
}
@media print { .yukari { display: none; } }

/* ---------- WordPress cekirdek siniflari ---------- */
.alignleft { float: left; margin: .3rem 1.5rem 1rem 0; }
.alignright { float: right; margin: .3rem 0 1rem 1.5rem; }
.aligncenter { display: block; margin-inline: auto; }
.wp-caption { max-width: 100%; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sticky, .bypostauthor, .gallery-caption { /* cekirdek gereksinimi */ }

/* ---------- Mobil: hamburger menu (JavaScript'siz) ---------- */
.menu-ac, .menu-dugme { display: none; }
@media (max-width: 860px) {
  .ust { position: sticky; top: 0; z-index: 50; }
  .ust-ic { flex-wrap: wrap; gap: 0 1rem; padding-block: .55rem; min-height: 60px; }
  .marka { flex: 1; min-width: 0; font-size: 1.2rem; }
  .marka img { max-height: 40px; }
  .menu-ac {
    display: block; position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none;
  }
  .menu-dugme {
    display: inline-flex; align-items: center; justify-content: center; flex: none;
    width: 46px; height: 46px; border-radius: 14px; cursor: pointer;
    color: var(--saha); background: var(--saha-acik); box-shadow: inset 0 0 0 1.5px var(--saha);
    -webkit-tap-highlight-color: transparent; transition: background-color .2s ease, transform .1s ease;
  }
  .menu-dugme:active { transform: scale(.94); }
  .ust-koyu .menu-dugme { color: #fff; background: var(--saha); box-shadow: none; }
  .ust-vurgu .menu-dugme { color: var(--saha); background: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, .18); }
  .menu-dugme span, .menu-dugme span::before, .menu-dugme span::after {
    display: block; height: 3.5px; border-radius: 3px; background: currentColor;
    transition: transform .22s ease, width .22s ease, background-color .2s ease;
  }
  .menu-dugme span { position: relative; width: 22px; }
  .menu-dugme span::before, .menu-dugme span::after { content: ""; position: absolute; left: 0; }
  .menu-dugme span::before { top: -7.5px; width: 22px; }
  .menu-dugme span::after { top: 7.5px; width: 14px; }
  .menu-ac:checked + .menu-dugme span { background: transparent; }
  .menu-ac:checked + .menu-dugme span::before { transform: translateY(7.5px) rotate(45deg); }
  .menu-ac:checked + .menu-dugme span::after { width: 22px; transform: translateY(-7.5px) rotate(-45deg); }
  .menu-ac:focus-visible + .menu-dugme { outline: 3px solid var(--saha); outline-offset: 2px; }
  .ust-vurgu .menu-ac:focus-visible + .menu-dugme { outline-color: #fff; }

  .ust nav.menu { display: none; flex-basis: 100%; max-height: calc(100vh - 70px); overflow-y: auto; }
  .menu-ac:checked ~ nav.menu { display: block; animation: menu-acil .18s ease-out; }
  .ust .menu ul {
    flex-direction: column; gap: .15rem; overflow: visible;
    margin-top: .55rem; padding: .5rem 0 .4rem; border-top: 1px solid var(--cizgi);
  }
  .ust-koyu .ust .menu ul, .ust-vurgu .ust .menu ul { border-top-color: rgba(255,255,255,.18); }
  .ust .menu a { padding: .8rem .9rem; border-radius: min(var(--r), 10px); font-size: 1.02rem; white-space: normal; }
}
@keyframes menu-acil { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* ---------- Mobil: marka listesi -> kart listesi ---------- */
@media (max-width: 720px) {
  :is(.liste-satir, .liste-kart) .markalar {
    display: grid; gap: .9rem; grid-template-columns: minmax(0, 1fr);
    background: none; border: 0; border-radius: 0; overflow: visible;
    --kart-cizgi: #8A9AA8;
    --kart-cizgi: color-mix(in srgb, var(--murekkep) 40%, var(--cerceve));
  }
  :is(.liste-satir, .liste-kart) .markalar > li {
    position: relative; display: grid; align-items: center;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas: "logo git" "bonus bonus" "kod kod" "aciklama aciklama";
    gap: 0 .75rem; padding: .8rem;
    background: var(--yuzey); border: 2px solid var(--kart-cizgi); border-radius: var(--r);
    box-shadow: 0 2px 6px rgba(16, 24, 40, .08);
  }
  :is(.liste-satir, .liste-kart) .markalar > li:first-child { border-top: 2px solid var(--kart-cizgi); }
  :is(.liste-satir, .liste-kart) .markalar > li::before {
    position: absolute; top: .45rem; left: .45rem; z-index: 1;
    min-width: 1.45rem; height: 1.45rem; padding: 0 .35rem;
    font-size: .78rem; line-height: 1.25rem; text-align: center; color: #fff;
    background: var(--saha); border: 2px solid var(--yuzey); border-radius: 999px;
  }
  :is(.liste-satir, .liste-kart) .markalar > li:hover::before,
  :is(.liste-satir, .liste-kart) .markalar > li:focus-within::before { color: #fff; }
  :is(.liste-satir, .liste-kart) .markalar .marka-logo {
    grid-area: logo; align-self: stretch; width: auto; height: auto; min-height: 54px;
    justify-self: stretch; padding: .4rem .55rem;
  }
  :is(.liste-satir, .liste-kart) .markalar .marka-logo img { max-height: 40px; }
  :is(.liste-satir, .liste-kart) .markalar .marka-bilgi { display: contents; }
  /* Ad logoda zaten yaziyor: mobilde gorunmez, arama motoru ve ekran okuyucu icin yerinde kalir. */
  :is(.liste-satir, .liste-kart) .markalar .marka-ad {
    position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
  }
  :is(.liste-satir, .liste-kart) .markalar .bonus-satir { grid-area: bonus; margin-top: .7rem; }
  :is(.liste-satir, .liste-kart) .markalar .bonus-kod {
    grid-area: kod; display: flex; justify-content: space-between; width: 100%; max-width: none; margin: .55rem 0 0; padding: .45rem .5rem .45rem .8rem;
  }
  :is(.liste-satir, .liste-kart) .markalar .bonus-kod b { margin-right: auto; font-size: 1.1rem; }
  :is(.liste-satir, .liste-kart) .markalar .marka-aciklama {
    grid-area: aciklama; margin-top: .5rem; font-size: .82rem; line-height: 1.45;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  }
  :is(.liste-satir, .liste-kart) .markalar .git {
    grid-area: git; align-self: stretch; display: flex; align-items: center; justify-content: center;
    width: 100%; min-height: 54px; margin: 0; padding: .5rem .75rem;
    font-size: .98rem; white-space: normal; line-height: 1.2; text-align: center;
  }
  .yazi-govde .markalar { margin-block: 1.5rem; }

  /* Puan mobilde tek satirlik kucuk yildiz: kalabalik yapmaz */
  .markalar .olcer, .yan-liste .olcer { display: none; }
  .markalar .puan-deger, .yan-liste .puan-deger { font-size: .78rem; }
  .markalar .puan-deger::before, .yan-liste .puan-deger::before { content: "★"; margin-right: .2em; color: var(--puan); }
  :is(.liste-satir, .liste-kart) .markalar .bonus-baslik { font-size: 1.02rem; }

  /* 1 numara */
  :is(.liste-satir, .liste-kart) .markalar > li.lider {
    border-color: #C9A227; background: #FFFDF6; box-shadow: 0 0 0 3px rgba(201, 162, 39, .22), 0 4px 12px rgba(16, 24, 40, .1);
  }
  :is(.liste-satir, .liste-kart) .markalar > li.lider .git { min-height: 58px; font-size: 1.05rem; }
  :is(.liste-satir, .liste-kart) .markalar .kart-rozet { top: -.75rem; right: .7rem; }
  :is(.liste-satir, .liste-kart) .markalar > li:has(.kart-rozet) { margin-top: .35rem; }
}

/* ---------- Mobil: alttaki sabit teklif seridi ---------- */
.yapiskan { display: none; }
@media (max-width: 720px) {
  @supports (timeline-scope: --a) and (animation-timeline: view()) {
    body { timeline-scope: --ana-liste; }
    .markalar-ilk { view-timeline: --ana-liste block; }
    .yapiskan {
      position: fixed; left: 0; right: 0; bottom: 0; z-index: 55;
      display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; align-items: center; gap: .6rem;
      padding: .55rem max(.75rem, env(safe-area-inset-right)) calc(.55rem + env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));
      background: var(--yuzey); border-top: 2px solid #C9A227; box-shadow: 0 -6px 18px rgba(16, 24, 40, .14);
      animation: yapiskan-goster linear both; animation-timeline: --ana-liste; animation-range: exit 35% exit 65%;
    }
    .yapiskan .marka-logo { height: 42px; padding: .3rem .4rem; border-radius: min(var(--r), 8px); }
    .yapiskan .marka-logo img { max-height: 30px; }
    .yapiskan-bilgi { display: grid; min-width: 0; line-height: 1.25; }
    .yapiskan-bilgi b { font-size: .9rem; color: var(--saha-koyu); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .yapiskan-bilgi span { font-size: .75rem; color: var(--soluk); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .yapiskan-bilgi strong { color: var(--murekkep); letter-spacing: .05em; }
    .yapiskan .git { padding: .65rem .9rem; font-size: .92rem; white-space: nowrap; }
    body:has(.yapiskan) .yukari { bottom: calc(76px + env(safe-area-inset-bottom)); }
    body:has(.yapiskan) .alt { padding-bottom: 70px; }
  }
}
@keyframes yapiskan-goster {
  from { transform: translateY(110%); visibility: hidden; }
  to { transform: none; visibility: visible; }
}
@media print { .yapiskan { display: none !important; } }

/* ---------- Mobil: icerik tablolari -> etiketli kartlar ---------- */
@media (max-width: 640px) {
  .tablo-sar:has(> .tablo-yigin), .wp-block-table .tablo-sar:has(> .tablo-yigin) {
    overflow: visible; border: 0; border-radius: 0;
  }
  .tablo-sar .tablo-yigin { min-width: 0; display: block; border: 0; }
  .tablo-yigin thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .tablo-yigin tbody { display: grid; gap: .65rem; }
  .tablo-yigin tbody tr:first-child:not(:has([data-label])) { display: none; }
  .tablo-yigin tr {
    display: block; padding: .35rem .95rem;
    background: var(--yuzey); border: 1.5px solid var(--cerceve); border-radius: min(var(--r), 12px);
  }
  .tablo-sar .tablo-yigin tbody tr:hover { background: var(--yuzey); }
  .tablo-sar .tablo-yigin td, .tablo-sar .tablo-yigin th {
    display: flex; justify-content: space-between; align-items: baseline; gap: 1rem;
    padding: .5rem 0; border: 0; border-bottom: 1px solid var(--cizgi); text-align: right;
  }
  .tablo-sar .tablo-yigin tr > :last-child { border-bottom: 0; }
  .tablo-yigin [data-label]::before {
    content: attr(data-label); flex: none; max-width: 48%; text-align: left;
    font-weight: 600; font-size: .85rem; color: var(--soluk);
  }
  .tablo-sar .tablo-yigin tr > :first-child {
    display: block; text-align: left; font-weight: 700; font-size: 1.02rem; color: var(--murekkep);
    padding-block: .55rem .55rem; border-bottom: 1.5px solid var(--cerceve);
  }
  .tablo-yigin tr > :first-child::before { display: none; }
  .tablo-yigin td img { max-width: 110px; }
}

/* ---------- Mobil: genel dokunus ---------- */
@media (max-width: 720px) {
  .kap { width: min(100% - 1.75rem, var(--genislik)); }
  .tanitim { padding-block: 1.1rem .4rem; }
  .tanitim h1 { font-size: 1.55rem; margin-bottom: .35rem; }
  .tanitim-metin { font-size: .95rem; line-height: 1.5; }
  .tanitim-metin p { margin-bottom: .6rem; }
  .bolum-baslik h2 { font-size: 1.2rem; }
  .yazi { padding: 1.15rem 1rem; }
  .icindekiler ol { columns: 1; }
  .sss-liste summary { padding: .95rem 1rem; }
  .sss-cevap { padding: 0 1rem 1rem; }
  .page-numbers { min-width: 2.75rem; min-height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; }
  .yan-liste li { padding: .8rem .9rem; }
  .git-kucuk { min-height: 44px; }
  .alt-ic { padding-block: 1.75rem; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .markalar > li, .markalar > li::before, .yan-liste li, .menu-dugme span, .menu-dugme span::before, .menu-dugme span::after { transition: none; } .menu-ac:checked ~ nav.menu { animation: none; } }
@media print { .ust, .alt, .git, .pagination, .yan { display: none; } body { background: #fff; } }
