/* ============================================================
   EDİRNE KUTLU SPOR KULÜBÜ — İÇ SAYFALAR
   Hakkımızda · Antrenörlerimiz · Başarılarımız
   home.css'teki ortak yapı taşlarını (.h-section, .h-title …) kullanır
   ============================================================ */

/* ============================================================
   1) SAYFA BAŞLIĞI (PAGE HERO)
   ============================================================ */
.phero {
    position: relative;
    background: var(--k-black);
    color: #fff;
    padding: clamp(3.5rem, 7vw, 6rem) 0 clamp(3rem, 6vw, 5rem);
    overflow: hidden;
}

/* Logo filigranı */
.phero__mark {
    position: absolute;
    right: -60px;
    top: 50%;
    transform: translateY(-50%);
    width: 420px;
    height: 420px;
    opacity: .05;
    pointer-events: none;
    user-select: none;
}

.phero__mark img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: grayscale(1) brightness(3);
}

.phero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 60% 90% at 82% 20%, rgba(227, 6, 19, .3) 0%, transparent 65%);
    pointer-events: none;
}

.phero__inner {
    position: relative;
    z-index: 2;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

/* Kırıntı yolu */
.crumbs {
    display: flex;
    align-items: center;
    gap: .55rem;
    flex-wrap: wrap;
    font-size: .8rem;
    color: rgba(255, 255, 255, .5);
    margin-bottom: 1.25rem;
}

.crumbs a {
    color: rgba(255, 255, 255, .68);
    text-decoration: none;
    transition: color .25s var(--k-ease);
}

.crumbs a:hover { color: var(--k-red-light); }

.crumbs i {
    font-size: .55rem;
    opacity: .5;
}

.crumbs span[aria-current] { color: #fff; }

.phero__title {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(2.1rem, 5.4vw, 3.9rem);
    font-weight: 700;
    line-height: 1.14;
    letter-spacing: -.005em;
    text-transform: uppercase;
    color: #fff;
    margin: 0 0 1rem;
}

.phero__title em {
    font-style: normal;
    color: var(--k-red-light);
}

.phero__lead {
    font-size: 1.0625rem;
    line-height: 1.75;
    color: rgba(255, 255, 255, .7);
    max-width: 60ch;
    margin: 0;
}

/* Başlık altındaki küçük rozetler */
.phero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin-top: 1.75rem;
}

.phero__chip {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .5rem 1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .16);
    font-size: .8rem;
    color: rgba(255, 255, 255, .82);
}

.phero__chip i { color: var(--k-red-light); }

/* ============================================================
   2) BOŞ DURUM
   ============================================================ */
.empty {
    text-align: center;
    padding: clamp(3rem, 6vw, 5rem) 1.5rem;
    border: 1.5px dashed var(--k-line);
    border-radius: 22px;
    background: linear-gradient(180deg, #FAFAFA 0%, #F4F5F7 100%);
}

.empty__icon {
    width: 74px;
    height: 74px;
    margin: 0 auto 1.25rem;
    border-radius: 22px;
    display: grid;
    place-items: center;
    background: rgba(227, 6, 19, .08);
    color: var(--k-red);
    font-size: 1.6rem;
}

.empty h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--k-ink);
    margin: 0 0 .6rem;
}

.empty p {
    font-size: .98rem;
    line-height: 1.7;
    color: var(--k-gray);
    margin: 0 auto;
    max-width: 46ch;
}

/* ============================================================
   3) HAKKIMIZDA — HİKÂYE BLOĞU
   ============================================================ */
.story {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: clamp(2.5rem, 5vw, 4.5rem);
    align-items: start;
}

.story__text {
    font-size: 1.0625rem;
    line-height: 1.9;
    color: var(--k-gray);
    white-space: pre-line;
}

.story__text::first-letter {
    float: left;
    font-family: 'Oswald', sans-serif;
    font-size: 3.6rem;
    line-height: .88;
    font-weight: 700;
    color: var(--k-red);
    margin: .12em .18em 0 0;
}

.story__aside {
    position: sticky;
    top: calc(var(--k-nav-h-sm) + 1.5rem);
    display: grid;
    gap: 1rem;
}

.factcard {
    display: flex;
    align-items: center;
    gap: 1.1rem;
    padding: 1.35rem 1.5rem;
    border-radius: 18px;
    background: #fff;
    border: 1px solid var(--k-line);
    transition: transform .3s var(--k-ease), box-shadow .3s var(--k-ease), border-color .3s var(--k-ease);
}

.factcard:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(13, 13, 13, .1);
    border-color: rgba(227, 6, 19, .25);
}

.factcard__icon {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    border-radius: 15px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--k-red) 0%, var(--k-red-dark) 100%);
    color: #fff;
    font-size: 1.05rem;
}

.factcard strong {
    display: block;
    font-family: 'Oswald', sans-serif;
    font-size: 1.5rem;
    line-height: 1;
    color: var(--k-ink);
}

/* İkon da bir <span> — etiket stilleri ona uygulanmamalı, yoksa
   ikon küçülüp kutunun sol üstüne kayıyor. */
.factcard span:not(.factcard__icon) {
    display: block;
    margin-top: .35rem;
    font-size: .78rem;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: var(--k-gray);
}

/* Misyon / vizyon ikili */
.duo {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
}

.duo-card {
    position: relative;
    padding: 2.25rem;
    border-radius: 22px;
    background: #fff;
    border: 1px solid var(--k-line);
    overflow: hidden;
    transition: transform .35s var(--k-ease), box-shadow .35s var(--k-ease);
}

.duo-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--k-red-dark), var(--k-red-light));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .45s var(--k-ease);
}

.duo-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 52px rgba(13, 13, 13, .12);
}

.duo-card:hover::before { transform: scaleX(1); }

.duo-card__icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: rgba(227, 6, 19, .08);
    color: var(--k-red);
    font-size: 1.25rem;
    margin-bottom: 1.35rem;
}

.duo-card h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--k-ink);
    margin: 0 0 .8rem;
}

.duo-card p {
    font-size: 1rem;
    line-height: 1.8;
    color: var(--k-gray);
    margin: 0;
}

/* Dojo kuralları / değerler */
.values {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}

.value {
    display: flex;
    gap: 1.1rem;
    padding: 1.6rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .1);
    transition: all .32s var(--k-ease);
}

.value:hover {
    background: rgba(255, 255, 255, .07);
    border-color: rgba(227, 6, 19, .35);
    transform: translateY(-5px);
}

.value__num {
    font-family: 'Oswald', sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    color: var(--k-red-light);
    flex-shrink: 0;
    width: 42px;
}

.value h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #fff;
    margin: 0 0 .5rem;
}

.value p {
    font-size: .93rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, .62);
    margin: 0;
}

/* ============================================================
   4) ANTRENÖRLER
   ============================================================ */
.coaches {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.75rem;
}

.coach {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--k-line);
    transition: transform .4s var(--k-ease), box-shadow .4s var(--k-ease);
}

.coach:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 62px rgba(13, 13, 13, .16);
}

.coach__media {
    position: relative;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    background: linear-gradient(135deg, #1a1c20 0%, #0d0d0d 100%);
}

.coach__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .8s var(--k-ease);
}

.coach:hover .coach__media img { transform: scale(1.06); }

.coach__media--empty {
    display: grid;
    place-items: center;
    color: rgba(255, 255, 255, .14);
    font-size: 4rem;
}

/* Fotoğrafın altına inen karartma */
.coach__fade {
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(8, 8, 10, .85) 0%, transparent 48%);
}

/* Kuşak rozeti */
.coach__belt {
    position: absolute;
    top: 1rem;
    left: 1rem;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .42rem .9rem;
    border-radius: 999px;
    background: rgba(8, 8, 10, .62);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, .18);
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-size: .68rem;
    font-weight: 500;
    letter-spacing: .11em;
    text-transform: uppercase;
    z-index: 2;
}

.coach__belt i { color: var(--k-red-light); font-size: .62rem; }

.coach__social {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: rgba(8, 8, 10, .6);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, .18);
    color: #fff;
    text-decoration: none;
    z-index: 3;
    transition: all .28s var(--k-ease);
}

.coach__social:hover {
    background: var(--k-red);
    border-color: var(--k-red);
    color: #fff;
    transform: translateY(-3px);
}

.coach__name {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 1.4rem;
    z-index: 2;
}

.coach__name h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 1.3rem;
    font-weight: 600;
    letter-spacing: .02em;
    color: #fff;
    margin: 0;
    text-transform: uppercase;
}

.coach__name span {
    display: inline-block;
    margin-top: .35rem;
    font-size: .8rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--k-red-light);
}

.coach__bio {
    padding: 1.5rem;
    font-size: .95rem;
    line-height: 1.75;
    color: var(--k-gray);
    white-space: pre-line;
}

/* Öne çıkan (ilk) antrenör — geniş yerleşim */
.coach--lead {
    grid-column: span 3;
    display: grid;
    grid-template-columns: minmax(280px, 380px) 1fr;
}

.coach--lead .coach__media { aspect-ratio: auto; height: 100%; min-height: 420px; }

.coach--lead .coach__body {
    padding: clamp(2rem, 3.5vw, 3rem);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.coach--lead .coach__fade,
.coach--lead .coach__name { display: none; }

.coach--lead .coach__headline {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(1.5rem, 2.8vw, 2.1rem);
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--k-ink);
    margin: 0 0 .5rem;
}

.coach--lead .coach__role {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-family: 'Oswald', sans-serif;
    font-size: .82rem;
    font-weight: 500;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--k-red);
    margin-bottom: 1.5rem;
}

.coach--lead .coach__bio {
    padding: 0;
    font-size: 1.02rem;
    line-height: 1.85;
}

.coach--lead .coach__tags {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: 1.75rem;
}

.coach__tag {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .48rem 1rem;
    border-radius: 999px;
    background: rgba(227, 6, 19, .07);
    border: 1px solid rgba(227, 6, 19, .18);
    color: var(--k-red);
    font-size: .8rem;
    font-weight: 500;
}

/* ============================================================
   5) BAŞARILAR
   ============================================================ */
.medals {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.medal {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 2rem;
    border-radius: 22px;
    background: #fff;
    border: 1px solid var(--k-line);
    overflow: hidden;
    transition: transform .38s var(--k-ease), box-shadow .38s var(--k-ease), border-color .38s var(--k-ease);
}

/* Sol kenarda kuşak şeridi */
.medal::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, var(--k-red) 0%, var(--k-red-dark) 100%);
    transform: scaleY(0);
    transform-origin: top;
    transition: transform .45s var(--k-ease);
}

.medal:hover {
    transform: translateY(-7px);
    box-shadow: 0 24px 56px rgba(13, 13, 13, .13);
    border-color: rgba(227, 6, 19, .22);
}

.medal:hover::before { transform: scaleY(1); }

.medal__top {
    display: flex;
    align-items: center;
    gap: 1.1rem;
    margin-bottom: 1.25rem;
}

.medal__logo {
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    border-radius: 16px;
    object-fit: contain;
    background: #FAFAFA;
    border: 1px solid var(--k-line);
    padding: .5rem;
}

.medal__icon {
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, rgba(227, 6, 19, .12) 0%, rgba(227, 6, 19, .04) 100%);
    color: var(--k-red);
    font-size: 1.5rem;
}

.medal h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: .02em;
    color: var(--k-ink);
    margin: 0;
}

.medal p {
    font-size: .96rem;
    line-height: 1.75;
    color: var(--k-gray);
    margin: 0;
}

/* Sayfa altı çağrı bandı */
.cta-band {
    position: relative;
    border-radius: 26px;
    padding: clamp(2.5rem, 5vw, 4rem);
    background: linear-gradient(135deg, var(--k-red) 0%, var(--k-red-dark) 100%);
    color: #fff;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    flex-wrap: wrap;
}

.cta-band::before {
    content: '';
    position: absolute;
    top: -40%;
    right: -8%;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    pointer-events: none;
}

.cta-band__text { position: relative; z-index: 2; }

.cta-band h2 {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(1.6rem, 3.2vw, 2.4rem);
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
    margin: 0 0 .6rem;
}

.cta-band p {
    font-size: 1.02rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, .88);
    margin: 0;
    max-width: 52ch;
}

.cta-band__actions {
    position: relative;
    z-index: 2;
    display: flex;
    gap: .8rem;
    flex-wrap: wrap;
}

.cta-band .h-btn--light {
    background: #fff;
    color: var(--k-red) !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, .18);
}

.cta-band .h-btn--light:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 36px rgba(0, 0, 0, .26);
}

/* ============================================================
   6) RESPONSIVE
   ============================================================ */
@media (max-width: 991.98px) {
    .story,
    .duo,
    .values,
    .coaches,
    .medals {
        grid-template-columns: repeat(2, 1fr);
    }

    .story { grid-template-columns: 1fr; }

    .story__aside {
        position: static;
        grid-template-columns: repeat(2, 1fr);
    }

    .coach--lead {
        grid-column: span 2;
        grid-template-columns: 1fr;
    }

    .coach--lead .coach__media { min-height: 340px; }

    .phero__mark { width: 300px; height: 300px; right: -90px; }
}

@media (max-width: 767.98px) {
    .duo,
    .values,
    .coaches,
    .medals {
        grid-template-columns: 1fr;
    }

    .story__aside { grid-template-columns: 1fr; }

    .coach--lead { grid-column: span 1; }

    .story__text::first-letter { font-size: 2.8rem; }

    .cta-band {
        flex-direction: column;
        align-items: flex-start;
    }

    .phero__mark { display: none; }
}

/* ============================================================
   7) LİSTE SAYFALARI (Eğitimlerimiz · Haberler)
   ============================================================ */
.grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.75rem;
}

/* Haber kartı — dikey */
.post {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid var(--k-line);
    text-decoration: none;
    transition: transform .4s var(--k-ease), box-shadow .4s var(--k-ease);
}

.post:hover {
    transform: translateY(-8px);
    box-shadow: 0 26px 60px rgba(13, 13, 13, .14);
}

.post__media {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: linear-gradient(135deg, #1a1c20 0%, #0d0d0d 100%);
}

.post__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .7s var(--k-ease);
}

.post:hover .post__media img { transform: scale(1.07); }

.post__media--empty {
    display: grid;
    place-items: center;
    color: rgba(255, 255, 255, .16);
    font-size: 2.8rem;
}

.post__date {
    position: absolute;
    top: 1rem;
    left: 1rem;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 14px;
    background: rgba(8, 8, 10, .68);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, .16);
    color: #fff;
    z-index: 2;
    line-height: 1;
}

.post__date strong {
    font-family: 'Oswald', sans-serif;
    font-size: 1.35rem;
    font-weight: 600;
}

.post__date span {
    margin-top: .18rem;
    font-size: .58rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--k-red-light);
}

.post__badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
    padding: .38rem .85rem;
    border-radius: 999px;
    background: var(--k-red);
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-size: .66rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    z-index: 2;
}

.post__body {
    padding: 1.6rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.post__title {
    font-family: 'Oswald', sans-serif;
    font-size: 1.18rem;
    font-weight: 600;
    line-height: 1.34;
    color: var(--k-ink);
    margin: 0 0 .7rem;
    transition: color .3s var(--k-ease);
}

.post:hover .post__title { color: var(--k-red); }

.post__excerpt {
    font-size: .95rem;
    line-height: 1.7;
    color: var(--k-gray);
    margin: 0 0 1.25rem;
    flex: 1;
}

.post__more {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-family: 'Oswald', sans-serif;
    font-size: .76rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--k-red);
}

.post__more i { transition: transform .3s var(--k-ease); }
.post:hover .post__more i { transform: translateX(5px); }

/* ============================================================
   8) DETAY SAYFASI (makale)
   ============================================================ */
.article {
    max-width: 820px;
    margin: 0 auto;
}

.article__cover {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 22px;
    display: block;
    margin-bottom: 2.5rem;
    box-shadow: 0 26px 60px rgba(13, 13, 13, .16);
}

.article__cover--square {
    max-width: 520px;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    object-position: center;
    margin-inline: auto;
    background: #f5f5f5;
}

.article__video {
    width: 100%;
    border-radius: 22px;
    display: block;
    margin-bottom: 2.5rem;
    background: #000;
    box-shadow: 0 26px 60px rgba(13, 13, 13, .16);
}

.article__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.25rem;
    padding-bottom: 1.5rem;
    margin-bottom: 2rem;
    border-bottom: 1px solid var(--k-line);
    font-size: .875rem;
    color: var(--k-gray);
}

.article__meta span {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

.article__meta i { color: var(--k-red); }

.article__body {
    font-size: 1.0625rem;
    line-height: 1.9;
    color: #33383F;
    white-space: pre-line;
}

.article__body p { margin: 0 0 1.4rem; }

/* Paylaş + geri */
.article__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid var(--k-line);
}

.share {
    display: flex;
    align-items: center;
    gap: .55rem;
}

.share__label {
    font-family: 'Oswald', sans-serif;
    font-size: .74rem;
    font-weight: 500;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--k-gray);
    margin-right: .35rem;
}

.share a,
.share button {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    border: 1px solid var(--k-line);
    background: #fff;
    color: var(--k-ink);
    display: grid;
    place-items: center;
    cursor: pointer;
    text-decoration: none;
    font-size: .9rem;
    transition: all .26s var(--k-ease);
}

.share a:hover,
.share button:hover {
    background: var(--k-red);
    border-color: var(--k-red);
    color: #fff;
    transform: translateY(-3px);
}

/* ============================================================
   9) GALERİ SAYFASI
   ============================================================ */
.gal-filters {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: .6rem;
    margin-bottom: 2.75rem;
}

.gal-filter {
    padding: .6rem 1.35rem;
    border-radius: 999px;
    border: 1px solid var(--k-line);
    background: #fff;
    color: var(--k-ink);
    font-family: 'Oswald', sans-serif;
    font-size: .8rem;
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
    cursor: pointer;
    transition: all .28s var(--k-ease);
}

.gal-filter:hover {
    border-color: rgba(227, 6, 19, .4);
    color: var(--k-red);
}

.gal-filter.is-active {
    background: linear-gradient(135deg, var(--k-red) 0%, var(--k-red-dark) 100%);
    border-color: transparent;
    color: #fff;
    box-shadow: 0 8px 22px rgba(227, 6, 19, .3);
}

.gal-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.gal-item {
    position: relative;
    aspect-ratio: 1;
    border-radius: 16px;
    overflow: hidden;
    background: var(--k-ink);
    border: none;
    padding: 0;
    cursor: pointer;
    display: block;
}

.gal-item.is-hidden { display: none; }

.gal-item img,
.gal-item video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .7s var(--k-ease);
}

.gal-item:hover img,
.gal-item:hover video { transform: scale(1.08); }

.gal-item__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(227, 6, 19, .85) 0%, rgba(8, 8, 10, .2) 100%);
    opacity: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1.1rem;
    color: #fff;
    text-align: left;
    transition: opacity .35s var(--k-ease);
}

.gal-item:hover .gal-item__overlay { opacity: 1; }

.gal-item__overlay span {
    font-size: .85rem;
    line-height: 1.5;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    max-height: 100%;
    overflow-y: auto;
}

.gal-item__zoom {
    position: absolute;
    top: .85rem;
    right: .85rem;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: rgba(8, 8, 10, .6);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    color: #fff;
    display: grid;
    place-items: center;
    font-size: .78rem;
    z-index: 2;
}

@media (max-width: 991.98px) {
    .grid-3 { grid-template-columns: repeat(2, 1fr); }
    .gal-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 767.98px) {
    .grid-3 { grid-template-columns: 1fr; }
    .gal-grid { grid-template-columns: repeat(2, 1fr); gap: .7rem; }

    .article__foot {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ============================================================
   BAŞARILAR — ZAMAN ÇİZELGESİ
   Yıllara göre gruplanmış turnuva geçmişi + sporcu dereceleri
   ============================================================ */

/* --- Madalya sayacı --- */
.medaltally {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    max-width: 620px;
    margin: 0 auto 3.25rem;
}

.tally {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .3rem;
    padding: 1.25rem .75rem;
    border-radius: 18px;
    background: #fff;
    border: 1px solid var(--k-line);
    box-shadow: var(--k-shadow-sm);
    position: relative;
    overflow: hidden;
}

.tally::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
}

.tally--gold::before   { background: linear-gradient(90deg, #E8B923, #F7D774); }
.tally--silver::before { background: linear-gradient(90deg, #9AA3AC, #C9D1D8); }
.tally--bronze::before { background: linear-gradient(90deg, #A9713B, #CD9A6B); }

.tally__num {
    font-size: clamp(1.8rem, 4vw, 2.5rem);
    font-weight: 800;
    line-height: 1;
    color: var(--k-ink);
}

.tally__lbl {
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: .02em;
    color: var(--k-gray);
}

/* --- Çizelge gövdesi --- */
.tline {
    position: relative;
    max-width: 880px;
    margin: 0 auto;
    padding-left: 3.25rem;
}

/* Sol dikey ray */
.tline::before {
    content: '';
    position: absolute;
    top: .5rem;
    bottom: .5rem;
    left: 1.05rem;
    width: 2px;
    background: linear-gradient(180deg,
        rgba(227, 6, 19, .35) 0%,
        var(--k-line) 60%,
        transparent 100%);
}

/* --- Yıl rozeti --- */
.tline__year {
    position: relative;
    margin: 2.75rem 0 1.5rem;
}

.tline__year:first-child { margin-top: 0; }

.tline__yearbadge {
    display: inline-flex;
    align-items: center;
    padding: .42rem 1.05rem;
    border-radius: 999px;
    background: var(--k-ink);
    color: #fff;
    font-size: .95rem;
    font-weight: 700;
    letter-spacing: .04em;
}

/* --- Turnuva kartı --- */
.tevent {
    position: relative;
    margin-bottom: 1.15rem;
    padding: 1.4rem 1.5rem;
    border-radius: 18px;
    background: #fff;
    border: 1px solid var(--k-line);
    transition: transform .32s var(--k-ease),
                box-shadow .32s var(--k-ease),
                border-color .32s var(--k-ease);
}

.tevent:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 42px rgba(13, 13, 13, .11);
    border-color: rgba(227, 6, 19, .2);
}

/* Ray üzerindeki madalya noktası */
.tevent__dot {
    position: absolute;
    left: -3.25rem;
    top: 1.4rem;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #fff;
    border: 2px solid rgba(227, 6, 19, .3);
    color: var(--k-red);
    font-size: .82rem;
    overflow: hidden;
    box-shadow: 0 0 0 4px #fff;
}

.tevent__dot img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tevent__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .55rem .9rem;
    margin-bottom: .4rem;
}

.tevent__date {
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .03em;
    color: var(--k-red);
}

.tevent__city {
    font-size: .82rem;
    color: var(--k-gray);
}

.tevent__city i { margin-right: .25rem; }

.tevent__title {
    margin: 0;
    font-size: 1.06rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--k-ink);
}

.tevent__desc {
    margin: .55rem 0 0;
    font-size: .93rem;
    line-height: 1.6;
    color: var(--k-gray);
}

/* --- Sporcu listesi --- */
.athletes {
    list-style: none;
    margin: 1rem 0 0;
    padding: .95rem 0 0;
    border-top: 1px dashed var(--k-line);
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.ath {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .4rem .8rem .4rem .5rem;
    border-radius: 999px;
    background: rgba(13, 13, 13, .035);
    border: 1px solid var(--k-line);
    font-size: .86rem;
}

.ath__rank {
    display: inline-grid;
    place-items: center;
    min-width: 1.5rem;
    height: 1.5rem;
    padding: 0 .35rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 800;
    color: #fff;
    background: var(--k-gray);
}

.ath__name {
    font-weight: 600;
    color: var(--k-ink);
}

.ath__cat {
    color: var(--k-gray);
    font-size: .8rem;
}

.ath--gold   .ath__rank { background: linear-gradient(135deg, #D9A400, #F0C64B); color: #3A2B00; }
.ath--silver .ath__rank { background: linear-gradient(135deg, #8B949C, #BFC7CE); color: #23282C; }
.ath--bronze .ath__rank { background: linear-gradient(135deg, #9C6532, #C08A5B); color: #2E1B0A; }

.ath--gold   { background: rgba(217, 164, 0, .09);  border-color: rgba(217, 164, 0, .26); }
.ath--silver { background: rgba(139, 148, 156, .1); border-color: rgba(139, 148, 156, .28); }
.ath--bronze { background: rgba(156, 101, 50, .09); border-color: rgba(156, 101, 50, .26); }

.ath--none .ath__rank {
    background: transparent;
    color: var(--k-gray);
    border: 1px solid var(--k-line);
    font-size: .68rem;
}

/* --- Mobil --- */
@media (max-width: 640px) {
    .tline { padding-left: 2.5rem; }
    .tline::before { left: .8rem; }

    .tevent {
        padding: 1.15rem 1.15rem;
    }

    .tevent__dot {
        left: -2.5rem;
        top: 1.15rem;
        width: 1.65rem;
        height: 1.65rem;
        font-size: .68rem;
        box-shadow: 0 0 0 3px #fff;
    }

    .medaltally { gap: .6rem; }
    .tally { padding: 1rem .5rem; border-radius: 14px; }
}

/* ============================================================
   KÖŞE YAZILARI
   ============================================================ */

/* --- Ortak: tarih / okuma süresi satırı --- */
.kose-meta {
    display: flex;
    align-items: center;
    gap: .55rem;
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .03em;
    color: var(--k-gray);
    text-transform: uppercase;
}

.kose-meta__dot {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: currentColor;
    opacity: .6;
}

/* --- Ortak: yazar künyesi --- */
.kose-author {
    display: flex;
    align-items: center;
    gap: .7rem;
}

.kose-author img,
.kose-author__ph {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    object-fit: cover;
    flex: none;
    display: grid;
    place-items: center;
    background: rgba(13, 13, 13, .06);
    color: var(--k-gray);
}

.kose-author strong {
    display: block;
    font-size: .93rem;
    color: var(--k-ink);
    line-height: 1.3;
}

.kose-author span {
    display: block;
    font-size: .8rem;
    color: var(--k-gray);
}

/* --- Öne çıkan yazı --- */
.kose-lead {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 0;
    border-radius: 26px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--k-line);
    text-decoration: none;
    color: inherit;
    transition: transform .4s var(--k-ease), box-shadow .4s var(--k-ease);
}

.kose-lead:hover {
    transform: translateY(-5px);
    box-shadow: 0 28px 64px rgba(13, 13, 13, .14);
}

.kose-lead__media {
    position: relative;
    height: 360px;
    min-width: 0;
    align-self: center;
    overflow: hidden;
    background: #f3f4f6;
}

.kose-lead__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    transition: transform .8s var(--k-ease);
}

.kose-lead:hover .kose-lead__media img { transform: none; }

.kose-lead__media--empty {
    display: grid;
    place-items: center;
    color: rgba(255, 255, 255, .16);
    font-size: 3.5rem;
}

.kose-lead__badge {
    position: absolute;
    top: 1.1rem;
    left: 1.1rem;
    padding: .35rem .85rem;
    border-radius: 999px;
    background: var(--k-red);
    color: #fff;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.kose-lead__body {
    padding: 2.6rem 2.4rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: center;
}

.kose-lead__title {
    margin: 0;
    font-size: clamp(1.5rem, 2.6vw, 2.1rem);
    line-height: 1.22;
    color: var(--k-ink);
}

.kose-lead__excerpt {
    margin: 0;
    font-size: 1.1rem;
    line-height: 1.7;
    color: var(--k-gray);
}

.kose-lead__more {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-top: .3rem;
    font-weight: 800;
    font-size: .88rem;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--k-red);
    transition: gap .3s var(--k-ease);
}

.kose-lead:hover .kose-lead__more { gap: .85rem; }

/* --- Yazı kartları --- */
.kose-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
    gap: 1.75rem;
}

.kose-card {
    display: flex;
    flex-direction: column;
    border-radius: 20px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--k-line);
    text-decoration: none;
    color: inherit;
    transition: transform .34s var(--k-ease), box-shadow .34s var(--k-ease), border-color .34s var(--k-ease);
}

.kose-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 48px rgba(13, 13, 13, .12);
    border-color: rgba(227, 6, 19, .2);
}

.kose-card__media {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: linear-gradient(135deg, #1a1c20 0%, #0d0d0d 100%);
}

.kose-card__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    transition: transform .7s var(--k-ease);
}

.kose-card:hover .kose-card__media img { transform: none; }

.kose-card__media--empty {
    display: grid;
    place-items: center;
    color: rgba(255, 255, 255, .16);
    font-size: 2.4rem;
}

.kose-card__body {
    padding: 1.5rem 1.5rem 1.75rem;
    display: flex;
    flex-direction: column;
    gap: .65rem;
    flex: 1;
}

.kose-card__title {
    margin: 0;
    font-size: 1.08rem;
    line-height: 1.4;
    color: var(--k-ink);
}

.kose-card__excerpt {
    margin: 0;
    font-size: .92rem;
    line-height: 1.65;
    color: var(--k-gray);
}

.kose-card__author {
    margin-top: auto;
    padding-top: .8rem;
    border-top: 1px dashed var(--k-line);
    font-size: .84rem;
    font-weight: 600;
    color: var(--k-ink);
}

.kose-card__author i {
    color: var(--k-red);
    margin-right: .35rem;
}

/* ============================================================
   YAZI OKUMA SAYFASI
   ============================================================ */
.kose-hero {
    padding: 4.5rem 1.5rem 2.5rem;
    background: #fff;
}

.kose-hero__inner {
    max-width: 760px;
    margin: 0 auto;
}

.kose-hero__title {
    margin: 1.2rem 0 0;
    font-size: clamp(1.9rem, 4.4vw, 3rem);
    line-height: 1.16;
    color: var(--k-ink);
}

.kose-hero__lead {
    margin: 1.1rem 0 0;
    font-size: 1.3rem;
    line-height: 1.65;
    color: var(--k-gray);
}

.kose-hero__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--k-line);
}

.kose-author--hero img,
.kose-author--hero .kose-author__ph {
    width: 48px;
    height: 48px;
}

/* Kapak görseli */
.kose-cover {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

.kose-cover img {
    width: 100%;
    height: auto;
    max-height: 520px;
    object-fit: contain;
    border-radius: 22px;
    display: block;
}

/* Gövde metni — okunabilirlik önceliği */
.kose-body {
    max-width: 720px;
    margin: 0 auto;
    padding: 3rem 1.5rem 1rem;
}

.kose-body p {
    margin: 0 0 1.5rem;
    font-size: 1.25rem;
    line-height: 1.8;
    color: #2b2f36;
}

/* İlk paragraf biraz öne çıksın */
.kose-body p:first-child {
    font-size: 1.4rem;
    line-height: 1.7;
    color: var(--k-ink);
}

/* Paylaşım */
.kose-share {
    max-width: 720px;
    margin: 1rem auto 5rem;
    padding: 1.6rem 1.5rem 0;
    border-top: 1px solid var(--k-line);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.kose-share__label {
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--k-gray);
}

.kose-share__links { display: flex; gap: .6rem; }

.kose-share__btn {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    border: 1px solid var(--k-line);
    color: var(--k-ink);
    text-decoration: none;
    transition: background .26s var(--k-ease), color .26s var(--k-ease), border-color .26s var(--k-ease), transform .26s var(--k-ease);
}

.kose-share__btn:hover {
    background: var(--k-red);
    border-color: var(--k-red);
    color: #fff;
    transform: translateY(-2px);
}

/* --- Mobil --- */
@media (max-width: 860px) {
    .kose-lead { grid-template-columns: 1fr; }
    .kose-lead__media { height: clamp(220px, 55vw, 340px); }
    .kose-lead__body { padding: 1.9rem 1.5rem 2.1rem; }
}

@media (max-width: 640px) {
    .kose-hero { padding: 3rem 1.25rem 2rem; }
    .kose-body { padding: 2.2rem 1.25rem 1rem; }
    .kose-body p { font-size: 1.16rem; line-height: 1.78; }
    .kose-body p:first-child { font-size: 1.28rem; }
    .kose-cover { padding: 0 1.25rem; }
    .kose-cover img { border-radius: 16px; }
    .kose-hero__meta { flex-direction: column; align-items: flex-start; }
}
