/* ==========================================================================
   TÜRKİYE TAEKWONDO FEDERASYONU — Uluslararası İlişkiler ve Dış Kaynaklı Projeler
   TEMA KATMANI · Kırmızı (logo) + Bordo + Altın
   --------------------------------------------------------------------------
   Bu dosya en son yüklenir ve sitenin özgün kimliğini belirler:
   01 Renkler · 02 Header & dil seçimi · 03 Menü · 04 Başlıklar
   05 Alt sayfa başlığı · 06 Ana sayfa hero · 07 Bileşenler · 08 Footer · 09 Duyarlı
   ========================================================================== */

/* ---------- 01 · Renkler ---------- */
:root {
  --tf-red: #E30713;          /* logo kırmızısı */
  --tf-red-2: #B8050F;
  --tf-red-soft: #FDEBEC;
  --tf-navy: #4A0B16;         /* (değişken adı korunur) bordo */
  --tf-navy-2: #6B1322;
  --tf-navy-3: #2B060D;
  --tf-ink: #2E1519;
  --tf-text: #4F3E41;
  --tf-muted: #7A6669;
  --tf-line: #EFE3DC;
  --tf-soft: #FBF5EF;         /* sıcak krem */
  --tf-gold: #E9A21B;
  --tf-gold-soft: #FDF3DD;
  --tf-radius: 18px;

  --brand: #E30713; --brand-mid: #B8050F; --brand-dark: #8E0710; --brand-soft: #FDEBEC;
  --green: #E30713; --green-dark: #B8050F; --green-soft: #FDEBEC;
  --gold: #E9A21B;
  --bg-soft: #FBF5EF;
  --dk-green: #E30713; --dk-blue: #E30713; --dk-gold: #E9A21B; --dk-sky: #FFB8BC; --dk-soft: #FBF5EF;
}
::selection { background: var(--tf-red); color: #fff; }
body { background: #fff; }

/* ---------- 02 · Header & dil seçimi ---------- */
.tf-header { border-bottom: 1px solid var(--tf-line); }
.tf-header::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; z-index: 2;
  background: linear-gradient(90deg, var(--tf-red) 0 72%, var(--tf-gold) 72% 100%);
}
/* Üst kat: logo + federasyon adı | Erasmus+ · dil */
.tf-header__inner { justify-content: space-between; gap: 24px; min-height: 96px; }
.tf-header.is-stuck .tf-header__inner { min-height: 72px; }
.tf-brand { align-items: center; gap: 16px; text-decoration: none; }
.tf-brand__logo { width: 76px; height: 76px; }
.tf-header.is-stuck .tf-brand__logo { width: 56px; height: 56px; }
.tf-brand__name {
  position: relative; max-width: 270px; padding-left: 16px; border-left: 1px solid var(--tf-line);
  color: var(--tf-ink); font-family: "Times New Roman", Times, Georgia, serif; font-size: 21px; font-weight: 700;
  letter-spacing: .02em; line-height: 1.12; text-transform: uppercase;
}
.tf-brand__name::after {
  content: ""; display: block; width: 44px; height: 3px; margin-top: 8px; border-radius: 3px;
  background: linear-gradient(90deg, var(--tf-red) 0 65%, var(--tf-gold) 65%);
}
.tf-header__side { display: flex; align-items: center; gap: 18px; }
.tf-header__eras { display: flex; padding-right: 18px; border-right: 1px solid var(--tf-line); }
.tf-header__eras img { width: auto; height: 34px; }

/* Alt kat: menü çubuğu */
.tf-header__bar { border-top: 1px solid var(--tf-line); background: #fff; }
@media (min-width: 1281px) {
  .tf-nav { margin: 0; }
  .tf-nav__list { justify-content: flex-start; min-height: 62px; }
  .tf-nav__item--contact { margin-left: auto; }
  .tf-nav__item--contact .tf-nav__link { padding: 11px 24px; background: var(--tf-red); color: #fff; box-shadow: 0 10px 20px -12px rgba(227, 7, 19, .8); }
  .tf-nav__item--contact .tf-nav__link:hover, .tf-nav__item--contact.is-current .tf-nav__link { background: var(--tf-red-2); color: #fff; }
  .tf-nav__item--contact .tf-nav__link::after { display: none; }
}

.tf-lang {
  flex: none; display: flex; gap: 2px; padding: 4px;
  border: 1px solid var(--tf-line); border-radius: 999px; background: var(--tf-soft);
}
.tf-lang__item {
  display: grid; place-items: center; min-width: 38px; height: 32px; padding: 0 10px; border-radius: 999px;
  color: var(--tf-ink) !important; font-size: 12.5px; font-weight: 800; letter-spacing: .06em; text-decoration: none;
  transition: background .2s, color .2s;
}
.tf-lang__item:hover { background: #fff; color: var(--tf-red) !important; }
.tf-lang__item.is-active { background: var(--tf-red); color: #fff !important; box-shadow: 0 6px 14px -6px rgba(227, 7, 19, .7); }

/* ---------- 03 · Menü ---------- */
.tf-nav__list { gap: 4px; }
.tf-nav__link { padding: 13px 18px; border-radius: 999px; color: var(--tf-ink); transition: color .2s, background .2s; }
.tf-nav__link::after {
  left: 50%; right: auto; bottom: 2px; width: 6px; height: 6px; border-radius: 50%;
  background: var(--tf-gold); transform: translateX(-50%) scale(0); transition: transform .3s var(--tf-ease);
}
.tf-nav__link:hover, .tf-nav__item.is-open > .tf-nav__link { background: var(--tf-soft); color: var(--tf-red); }
.tf-nav__item.is-current > .tf-nav__link { color: var(--tf-red); }
.tf-nav__link:hover::after, .tf-nav__item.is-open > .tf-nav__link::after,
.tf-nav__item.is-current > .tf-nav__link::after { transform: translateX(-50%) scale(1); }

@media (min-width: 1281px) {
  .tf-mega { background: #fff; }
  .tf-mega::after { height: 3px; background: linear-gradient(90deg, var(--tf-red) 0 60%, var(--tf-gold) 60% 100%); }
  .tf-mega__intro {
    padding: 28px 30px; border: 0; border-radius: 20px; background: var(--tf-soft);
    position: relative; overflow: hidden;
  }
  .tf-mega__intro::after {
    content: ""; position: absolute; right: -40px; bottom: -40px; width: 140px; height: 140px; border-radius: 50%;
    border: 18px solid rgba(227, 7, 19, .07);
  }
  .tf-mega__kicker { color: var(--tf-red); }
  .tf-mega__intro strong, .tf-mega__card strong { color: var(--tf-ink); }
  .tf-mega__all { border-bottom-color: var(--tf-gold); color: var(--tf-ink); }
  .tf-mega__col { border-right-color: var(--tf-line); }
  .tf-cascade { margin-left: 30px; }
  .tf-cas__head b { color: var(--tf-gold); }
}
.tf-cas__a { color: var(--tf-ink); border-radius: 12px; }
.tf-cas__a:hover, .tf-cas__li.is-open > .tf-cas__a { background: var(--tf-soft); }
.tf-cas__no { border-radius: 50%; background: var(--tf-gold-soft); color: #9A6608; }
.tf-cas__li.is-open > .tf-cas__a .tf-cas__no, .tf-cas__a:hover .tf-cas__no { background: var(--tf-red); color: #fff; }
.tf-cas__ico { background: var(--tf-gold-soft); color: #B77A07; }

/* ---------- 04 · Bölüm başlıkları (etiket + başlık) ---------- */
.tf-kicker, .dkp-head__kicker, .dkp-section .dkp-head__kicker, .label {
  display: inline-flex; align-items: center; gap: 10px;
  color: var(--tf-red); font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase;
}
.dkp-head__kicker { margin-bottom: 14px; }
.tf-kicker::before, .dkp-head__kicker::before, .label::before {
  content: ""; flex: none; width: 9px; height: 9px; border-radius: 2px;
  background: var(--tf-gold); transform: rotate(45deg) !important; transition: none !important;
}
.tf-head--center .tf-kicker, .dkp-head:not(.dkp-head--left) .dkp-head__kicker, .sec-head--center .label { justify-content: center; }
.dkp-head:not(.dkp-head--left) .dkp-head__kicker { display: flex; }
.tf-head--center .tf-kicker::after, .dkp-head:not(.dkp-head--left) .dkp-head__kicker::after, .sec-head--center .label::after {
  content: ""; flex: none; width: 9px; height: 9px; border-radius: 2px; background: var(--tf-gold); transform: rotate(45deg);
}

.tf-h2, .dkp-head__title, .h2 { color: var(--tf-ink); }
.tf-h2 span, .dkp-head__title span, .is-site .dkp-head__title span, .h2 span, .tf-soonbox h2 span {
  color: inherit;
  background: linear-gradient(180deg, transparent 62%, rgba(233, 162, 27, .38) 62%, rgba(233, 162, 27, .38) 90%, transparent 90%);
  padding: 0 .08em;
}
.tf-sec--navy .tf-h2 span { background: linear-gradient(180deg, transparent 62%, rgba(233, 162, 27, .5) 62%, rgba(233, 162, 27, .5) 90%, transparent 90%); }

/* ---------- 05 · Alt sayfa başlığı (açık zemin + kırmızı blok + logo madalyonu) ---------- */
.dkp-hero {
  padding: 58px 0 56px; background: var(--tf-soft); color: var(--tf-muted);
  border-bottom: 1px solid var(--tf-line);
}
.dkp-hero::before {
  content: ""; position: absolute; top: 0; bottom: 0; right: 0; left: auto; z-index: 0;
  width: 30%; opacity: 1; mix-blend-mode: normal; -webkit-mask-image: none; mask-image: none;
  background:
    repeating-linear-gradient(135deg, rgba(255, 255, 255, .06) 0 2px, transparent 2px 16px),
    linear-gradient(135deg, var(--tf-red) 0%, var(--tf-red-2) 100%);
  clip-path: polygon(26% 0, 100% 0, 100% 100%, 0 100%);
}
.dkp-hero::after {
  content: ""; position: absolute; left: auto; right: calc(30% - 18px); top: 0; bottom: 0; z-index: 0;
  width: 10px; height: auto; background: var(--tf-gold);
  clip-path: polygon(calc(100% - 3px) 0, 100% 0, 3px 100%, 0 100%);
  transform: skewX(0);
}
.dkp-hero .container { position: relative; z-index: 1; }
.dkp-hero .container > * { max-width: min(760px, 64%); }
.dkp-hero .container::after {
  content: ""; position: absolute; right: 7%; top: 50%; width: 132px; height: 132px; transform: translateY(-50%);
  border-radius: 50%; background: #fff url('../img/turkiye-tekvando-federasyonu-logo.png') center / 78% no-repeat;
  box-shadow: 0 20px 40px -16px rgba(43, 6, 13, .55), 0 0 0 8px rgba(255, 255, 255, .18);
}
.is-project .dkp-hero .container::after { background-image: url('../img/dual-kick-logo.png'); background-size: 84%; }
.dkp-crumb { gap: 6px; margin: 0 0 18px; font-size: 12.5px; }
.dkp-crumb a {
  padding: 5px 12px; border: 1px solid var(--tf-line); border-radius: 999px; background: #fff;
  color: var(--tf-muted); font-weight: 600; text-decoration: none; transition: color .2s, border-color .2s;
}
.dkp-crumb a:hover { color: var(--tf-red); border-color: rgba(227, 7, 19, .35); }
.dkp-crumb .sep { font-size: 0; }
.dkp-crumb .sep::before { content: "›"; color: var(--tf-gold); font-size: 16px; font-weight: 800; }
.dkp-crumb .cur { padding: 5px 12px; border-radius: 999px; background: var(--tf-red-soft); color: var(--tf-red); font-weight: 700; }
.dkp-hero__title { color: var(--tf-ink); font-size: clamp(28px, 3.3vw, 44px); letter-spacing: -.02em; }
.dkp-hero__title::before {
  content: ""; display: block; width: 46px; height: 4px; margin-bottom: 16px; border-radius: 4px;
  background: linear-gradient(90deg, var(--tf-red) 0 65%, var(--tf-gold) 65%);
}
.dkp-hero__title span { color: var(--tf-red); }
.dkp-hero__desc { color: var(--tf-muted); font-size: 16.5px; }

/* ---------- 06 · Ana sayfa hero (sol krem · sağ eğimli fotoğraf) ---------- */
.tf-hero { background: var(--tf-soft); color: var(--tf-text); }
.tf-hero::before { display: none; }
.tf-hero__bg { left: auto; width: 50%; clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%); }
.tf-hero__bg::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(43, 6, 13, .55) 0%, rgba(43, 6, 13, .15) 60%, rgba(43, 6, 13, .05) 100%);
}
.tf-hero::after {
  content: ""; position: absolute; top: 0; bottom: 0; right: 50%; z-index: -1; width: 70px; margin-right: -12px;
  background: linear-gradient(180deg, var(--tf-red) 0 70%, var(--tf-gold) 70%);
  clip-path: polygon(calc(100% - 6px) 0, 100% 0, 6px 100%, 0 100%);
  transform: translateX(-2px);
}
.tf-hero__kicker { color: var(--tf-red); }
.tf-hero__kicker::before { width: 10px; height: 10px; border-radius: 2px; background: var(--tf-gold); transform: rotate(45deg); }
.tf-hero h1 { color: var(--tf-ink); font-size: clamp(34px, 3.7vw, 54px); }
.tf-hero h1 span { color: var(--tf-red); }
.tf-hero__text { color: var(--tf-muted); }
@media (min-width: 1101px) { .tf-hero__inner > div:first-child { max-width: calc(50vw - 110px); } }
.tf-hero .tf-btn--ghost { border-color: var(--tf-ink); color: var(--tf-ink) !important; }
.tf-hero .tf-btn--ghost:hover { background: var(--tf-ink); border-color: var(--tf-ink); color: #fff !important; }
.tf-hero__panel { background: rgba(43, 6, 13, .62); border-color: rgba(255, 255, 255, .18); }
.tf-hero__no { border-radius: 50%; background: rgba(233, 162, 27, .2); color: #FFD27A; }

.tf-stat__ico { border-radius: 50%; background: var(--tf-gold-soft); color: #B77A07; }
.tf-stat b { color: var(--tf-red); }
.tf-stats__box { border-top: 4px solid var(--tf-red); }

/* ---------- 07 · Bileşenler ---------- */
.tf-btn, .dkp-btn, .dkx-btn, .btn { border-radius: 999px; }
.tf-btn--navy { background: var(--tf-ink); border-color: var(--tf-ink); }
.tf-link { border-bottom-color: var(--tf-gold); color: var(--tf-ink); }

.tf-card { border-radius: var(--tf-radius); overflow: hidden; }
.tf-card::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px;
  background: linear-gradient(90deg, var(--tf-red) 0 70%, var(--tf-gold) 70%);
  transform: scaleX(0); transform-origin: left; transition: transform .4s var(--tf-ease);
}
a.tf-card:hover::after { transform: scaleX(1); }
.tf-card h3 { color: var(--tf-ink); }
.tf-card__ico { border-radius: 50%; }
.tf-card__no { color: var(--tf-gold-soft); -webkit-text-stroke: 1px rgba(233, 162, 27, .55); }
.tf-prog__letter { border-radius: 50%; background: var(--tf-ink); }
.tf-badge--live { background: var(--tf-gold-soft); color: #8A5A05; }
.tf-badge--live i { background: var(--tf-gold); box-shadow: 0 0 0 3px rgba(233, 162, 27, .25); }

.tf-about__media::before { background: linear-gradient(135deg, var(--tf-red), var(--tf-red-2)); border-radius: 50% 22px 22px 22px; }
.tf-about__facts li { border-left-color: var(--tf-gold); }
.tf-about__facts b { color: var(--tf-ink); }

.tf-sec--navy { background: var(--tf-navy); }
.tf-eras::before { background: radial-gradient(circle, rgba(233, 162, 27, .22), transparent 65%); }
.tf-eras__item > span { border-radius: 50%; }
.tf-eras__dk small { color: #FFD27A; }

.tf-cta::after { background: linear-gradient(180deg, var(--tf-red) 0 60%, var(--tf-gold) 60%); }
.tf-cta::before { background: radial-gradient(circle, rgba(233, 162, 27, .35), transparent 65%); }

.tf-step::before { color: var(--tf-gold); }
.tf-step { border-top: 3px solid var(--tf-red); }
.tf-soonbox { border-style: solid; border-color: var(--tf-line); background: linear-gradient(135deg, #fff 60%, var(--tf-soft)); }
.tf-soonbox__ico { border-radius: 50%; background: var(--tf-gold-soft); color: #B77A07; }

.dkx-card__ico, .dkx-btn { background: linear-gradient(145deg, var(--tf-red), var(--tf-red-2)); }
.dkx-card__k { color: #A36C06; }
.dkx-card::before { background: linear-gradient(90deg, transparent, var(--tf-gold), transparent); }

.tf-pnav__item > a::after { background: var(--tf-gold); }
.tf-pnav__item:hover > a, .tf-pnav__item.is-active > a { color: var(--tf-red); }

/* ---------- Ana sayfa · kayan logo şeridi + duyurular ---------- */
.tf-logobar { padding-block: 34px 44px; border-bottom: 1px solid var(--tf-line); background: #fff; }
.tf-logobar .logobar__name { background: var(--tf-ink); }
.tf-stats, .tf-stats[class] { margin-top: 0; padding-top: 56px; }

.tf-news { grid-template-columns: 1.2fr 1fr; gap: 26px; }
.tf-news__main { border-radius: var(--tf-radius); background: var(--tf-navy-3); min-height: 460px; }
.tf-news__main::after { background: linear-gradient(0deg, rgba(43, 6, 13, .96) 0%, rgba(43, 6, 13, .55) 50%, rgba(43, 6, 13, .05) 100%); }
.tf-news__body { padding: 34px; }
.tf-news__date { border-radius: 999px; padding: 6px 13px; }
.tf-news__place { display: inline-flex; align-items: center; gap: 6px; margin-left: 12px; color: rgba(255, 255, 255, .8); font-size: 13px; font-weight: 600; }
.tf-news__place svg { width: 15px; height: 15px; color: var(--tf-gold); }
.tf-news__go { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; padding-bottom: 4px; border-bottom: 2px solid var(--tf-gold); color: #fff; font-size: 14.5px; font-weight: 700; }
.tf-news__go svg { width: 16px; height: 16px; transition: transform .2s; }
.tf-news__main:hover .tf-news__go svg { transform: translateX(4px); }
.tf-news__side { gap: 20px; }
.tf-news__item { justify-content: flex-start; }
.tf-news__tag {
  display: inline-flex; align-items: center; gap: 7px; align-self: flex-start; margin-bottom: 16px; padding: 6px 12px;
  border-radius: 999px; background: var(--tf-gold-soft); color: #8A5A05; font-size: 12px; font-weight: 800; letter-spacing: .04em;
}
.tf-news__tag svg { width: 14px; height: 14px; }
@media (max-width: 1100px) { .tf-news { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
  .tf-logobar { padding-block: 24px 30px; }
  .tf-stats, .tf-stats[class] { padding-top: 40px; }
  .tf-news__main { min-height: 420px; }
  .tf-news__body { padding: 24px; }
  .tf-news__place { margin: 10px 0 0; display: flex; }
}

/* ---------- Ana sayfa · öne çıkan proje (Dual Kick) ---------- */
.tf-feature h3 { margin-top: 6px; color: var(--tf-ink); }
.tf-feature h3 span { color: var(--tf-red); }
.tf-feature__photo { border-radius: var(--tf-radius) !important; }
.tf-feature__media::before {
  content: ""; position: absolute; right: -18px; top: -18px; z-index: -1; width: 55%; height: 60%;
  border-radius: 22px 50% 22px 22px; background: linear-gradient(135deg, var(--tf-gold), #D4880C);
}
.tf-feature__media { isolation: isolate; }
.tf-feature__tag { border-radius: 999px; padding: 8px 16px 8px 10px; }
.tf-feature__facts li { border-left: 3px solid var(--tf-gold); }
.tf-feature__facts b { color: var(--tf-ink); }
.tf-feature__links a { border-radius: 14px; padding: 13px 18px; color: var(--tf-ink); }
.tf-feature__links a:hover { background: var(--tf-red); color: #fff; }
.tf-feature__links a:hover svg { color: #fff; }
.tf-feature__btn { margin-top: 26px; }
@media (max-width: 760px) { .tf-feature__media::before { right: -8px; top: -8px; } }

/* ---------- 08 · Footer ---------- */
.tf-footer { position: relative; background: var(--tf-navy-3); }
.tf-footer::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px;
  background: linear-gradient(90deg, var(--tf-red) 0 72%, var(--tf-gold) 72% 100%);
}
.tf-footer h3::after { background: var(--tf-gold); }
.tf-footer__contact svg { color: var(--tf-gold); }
.tf-footer__bottom { background: #1F0409; }

/* ---------- 09 · Duyarlı ---------- */
@media (min-width: 1281px) and (max-width: 1520px) {
  .tf-nav__list { gap: 0; }
  .tf-nav__link { padding: 12px 12px; font-size: 14.5px; gap: 6px; }
  .tf-header__inner { gap: 18px; }
  .tf-lang__item { min-width: 32px; padding: 0 7px; }
  html[lang^="it"] .tf-nav__link { padding: 12px 9px; font-size: 14px; }
}
@media (min-width: 1521px) {
  html[lang^="it"] .tf-nav__link { padding: 13px 11px; font-size: 14.5px; }
  html[lang^="it"] .tf-nav__list { gap: 0; }
}
@media (max-width: 1280px) {
  .tf-header__bar { border: 0; }
  .tf-header__side { gap: 12px; }
  .tf-nav__link { border-radius: 0; }
  .tf-nav__link:hover, .tf-nav__item.is-open > .tf-nav__link { background: none; }
  .tf-nav__head { border-bottom: 0; box-shadow: inset 0 -3px 0 var(--tf-red); }
  .tf-nav__foot { justify-content: center; }
  .tf-lang--mob { display: flex; }
}
@media (min-width: 601px) and (max-width: 1280px) { .tf-lang--mob { display: none; } }
@media (max-width: 900px) {
  .tf-header__eras { display: none; }
}
@media (max-width: 1100px) {
  .tf-hero__bg { width: 100%; clip-path: none; opacity: .14; }
  .tf-hero__bg::after, .tf-hero::after { display: none; }
  .tf-hero__panel { background: var(--tf-navy); }
  .dkp-hero::before { width: 22%; }
  .dkp-hero::after { right: calc(22% - 18px); }
  .dkp-hero .container::after { width: 96px; height: 96px; right: 3%; }
  .dkp-hero .container > * { max-width: 72%; }
}
@media (max-width: 760px) {
  .tf-header__inner { min-height: 80px; gap: 10px; }
  .tf-brand { gap: 10px; }
  .tf-brand__logo { width: 58px; height: 58px; }
  .tf-header.is-stuck .tf-brand__logo { width: 50px; height: 50px; }
  .tf-brand__name { max-width: 215px; padding-left: 10px; font-size: 15px; }
  .tf-brand__name::after { width: 32px; margin-top: 6px; }
  .tf-lang__item { min-width: 32px; height: 30px; padding: 0 7px; font-size: 11.5px; }
  .dkp-hero { padding: 36px 0 34px; }
  .dkp-hero::before { width: 16%; clip-path: polygon(40% 0, 100% 0, 100% 100%, 0 100%); }
  .dkp-hero::after, .dkp-hero .container::after { display: none; }
  .dkp-hero .container > * { max-width: 82%; }
}
@media (max-width: 600px) {
  .tf-header__side > .tf-lang { display: none; }
}
@media (max-width: 380px) {
  .tf-brand__name { font-size: 13.5px; max-width: 150px; }
  .tf-burger { width: 44px; height: 44px; }
}

/* Rakam şeridi ikonları: ".tf-stat span" kuralı ikon kutusunu bozmasın */
.tf-stat .tf-stat__ico { display: grid; place-items: center; margin-top: 0; }
