/* Ülke sürümleri: tema ve tabela bileşenleri
   US: Interstate yeşili yönlendirme tabelası, eyalet kalkanları, yeşil sokak tabelası
   DE: Bundesstraße sarısı yön levhası, Ortsschild şehir levhaları, Straßenschild + emaye kapı numarası */

/* ------------------------------------------------------------------ ABD */
body.c-us {
  --plaka: #0b6e3f;
  --plaka-deep: #075230;
  --plaka-soft: #e3f1e8;
  --link: #0a6236;
  --link-hover: #064424;
  --serit: #f5b700;
  --bg: #eef1ee;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) body.c-us { --plaka: #1c8a52; --plaka-deep: #146c3f; --plaka-soft: #12271b; --link: #7fd3a4; --link-hover: #a9e5c2; --bg: #0b110d; }
}
.c-us .logo-plate { background: var(--plaka); box-shadow: inset 0 0 0 2px var(--plaka), inset 0 0 0 3.5px #fff; }
.c-us .btn-white { color: #0b6e3f; }
.c-us .tabela { background: #0b6e3f; }
/* Çıkış levhası sekmesi */
.c-us .tabela::before {
  content: "EXIT"; position: absolute; top: -26px; right: 22px; background: #0b6e3f; color: #fff;
  font: 700 .95rem/1 var(--f-sign); letter-spacing: .14em; padding: 7px 12px 6px; border-radius: 8px 8px 0 0;
  box-shadow: inset 0 0 0 2px #0b6e3f, inset 0 0 0 4px #fff;
}
.c-us .tabela-wrap { padding-top: 26px; }

/* Eyalet kalkanları */
.shields { display: grid; grid-template-columns: repeat(auto-fill, minmax(178px, 1fr)); gap: 8px; }
.shield-chip {
  display: flex; align-items: center; gap: 10px; padding: 8px 10px; background: var(--surface); border: 1px solid var(--line);
  border-radius: 10px; text-decoration: none; color: var(--ink); min-width: 0;
}
.shield-chip:hover { border-color: var(--plaka); color: var(--ink); }
.shield { width: 38px; height: 42px; flex: none; filter: drop-shadow(0 1px 1px rgb(0 0 0 / 25%)); }
.shield text { font: 700 13px var(--f-sign); fill: #fff; letter-spacing: .02em; }
.shield-chip .nm { display: flex; flex-direction: column; min-width: 0; }
.shield-chip .nm b { font-weight: 700; font-size: .95rem; line-height: 1.15; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.shield-chip .nm small { font: 500 .78rem var(--f-mono); color: var(--muted); }

/* Şehir: yeşil sokak tabelası çipleri */
.blades { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; }
.blade-chip {
  display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 9px 12px; border-radius: 6px;
  background: #0b6e3f; color: #fff; text-decoration: none; box-shadow: inset 0 0 0 2px #0b6e3f, inset 0 0 0 3.5px #fff;
}
.blade-chip:hover { background: #075230; color: #fff; }
.blade-chip b { font: 700 1.05rem/1.1 var(--f-sign); letter-spacing: .03em; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.blade-chip small { font: 500 .78rem var(--f-mono); opacity: .9; flex: none; }

/* Adres: sokak tabelası */
.blade { background: #0b6e3f; color: #fff; border-radius: 10px; padding: 6px; box-shadow: var(--shadow); }
.blade-in { border: 2.5px solid #fff; border-radius: 6px; display: flex; align-items: center; gap: 14px; padding: 14px 16px; min-height: 92px; }
.blade-no { font: 700 1rem/1 var(--f-sign); letter-spacing: .04em; border: 2px solid #fff; border-radius: 4px; padding: 6px 8px; flex: none; }
.blade-st { font: 700 clamp(1.6rem, 4vw, 2.3rem)/1 var(--f-sign); letter-spacing: .03em; }
.blade-sub { padding: 8px 8px 2px; font: 600 .9rem var(--f-body); opacity: .92; }

/* ------------------------------------------------------------------ Almanya */
body.c-de {
  --plaka: #1c1c1b;
  --plaka-deep: #000;
  --plaka-soft: #fbf3cf;
  --link: #0b4f8a;
  --link-hover: #083a66;
  --serit: #ffcc00;
  --bg: #f1f0ec;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) body.c-de { --plaka: #f2c200; --plaka-deep: #ffd633; --plaka-soft: #2a2410; --link: #8cc3ff; --link-hover: #b8daff; --bg: #10100e; }
  :root:not([data-theme="light"]) body.c-de .btn-primary { color: #111; }
  :root:not([data-theme="light"]) body.c-de .cat .ic { color: #111; }
}
.c-de .logo-plate { background: #ffcc00; color: #111; box-shadow: inset 0 0 0 2px #ffcc00, inset 0 0 0 3.5px #111; }
.c-de .tabela { background: #ffcc00; color: #111; }
.c-de .tabela-in { border-color: #111; }
.c-de .tabela li { border-top-color: rgb(0 0 0 / 22%); }
.c-de .tabela-row, .c-de a.tabela-row:hover { color: #111; }
.c-de a.tabela-row:hover { background: rgb(0 0 0 / 7%); }
.c-de .btn-white { background: #111; color: #ffcc00; border-color: #111; }
.c-de .btn-white:hover { background: #000; color: #ffd633; border-color: #000; }
.c-de .tabela-foot p { opacity: .8; }
.c-de .yol::after { background: repeating-linear-gradient(90deg, #fff 0 36px, transparent 36px 70px); }

/* Bundesländer: kod rozetli çipler */
.laender { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 8px; }
.land-chip {
  display: flex; align-items: stretch; background: var(--surface); border: 2px solid #111; border-radius: 7px; overflow: hidden;
  text-decoration: none; color: var(--ink); min-height: 46px;
}
.land-chip:hover { border-color: var(--link); color: var(--ink); }
.land-code { background: #ffcc00; color: #111; font: 700 1.05rem/1 var(--f-sign); letter-spacing: .06em; display: grid; place-items: center; min-width: 46px; border-right: 2px solid #111; }
.land-chip .nm { padding: 6px 10px; display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.land-chip .nm b { font-weight: 700; font-size: .93rem; line-height: 1.15; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.land-chip .nm small { font: 500 .75rem var(--f-mono); color: var(--muted); }

/* Ortsschild: sarı şehir levhaları */
.ortsschilder { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
.ortsschild {
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 2px;
  background: #ffcc00; color: #111; text-decoration: none; border-radius: 8px; padding: 12px 10px 10px;
  box-shadow: inset 0 0 0 3px #ffcc00, inset 0 0 0 5.5px #111; min-height: 74px;
}
.ortsschild:hover { background: #ffd633; color: #000; }
.ortsschild b { font: 700 1.25rem/1.05 var(--f-sign); letter-spacing: .01em; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ortsschild small { font: 600 .74rem/1.2 var(--f-body); opacity: .8; }

/* Adres: Straßenschild + emaye kapı numarası */
.strasse { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; }
.strasse-schild {
  background: #fff; color: #111; border-radius: 6px; padding: 6px; box-shadow: var(--shadow);
}
.strasse-schild span {
  display: block; border: 3px solid #111; border-radius: 3px; padding: 14px 18px; text-align: center;
  font: 700 clamp(1.5rem, 4vw, 2.2rem)/1.05 var(--f-sign); letter-spacing: .01em;
}
.hausnummer {
  background: #1d4f9c; color: #fff; border-radius: 10px; min-width: 84px; padding: 14px 16px; text-align: center;
  font: 700 2.2rem/1 var(--f-sign); box-shadow: inset 0 0 0 3px #1d4f9c, inset 0 0 0 5px #fff, var(--shadow);
}
.strasse-ort { grid-column: 1 / -1; font: 600 .95rem var(--f-body); color: var(--muted); padding-left: 4px; }

/* ------------------------------------------------------------------ Ortak */
.sitemap-h3 { font: 700 1.05rem/1.2 var(--f-sign); letter-spacing: .03em; text-transform: uppercase; margin: 18px 0 8px; }
.sitemap-h3 a { color: var(--ink); text-decoration: none; }
.sitemap-h3 a:hover { color: var(--link); }
.ftr-countries { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 10px; }
.ftr-countries a[aria-current="page"] { font-weight: 700; text-decoration: underline; }
