/*
 * TRManga - Kesif (Discover) V2
 * /son-eklenenler seri bazli akis + /takiplerim + ana sayfa Yeni Seriler
 *
 * TEMA NOTU: site temasi demo1/demo2 stylesheet takasiyla degisiyor ve bu
 * sayfalarda karanlik mod secicisi (data-tktheme) YOK. Bu yuzden sabit renk
 * kullanilmaz; zeminler yari saydam tint, metinler var(--bs-body-color) veya
 * inherit uzerinden gelir. Boylece iki temada da dogru gorunur.
 *
 * MOBIL NOTU: sayfa ortasinda YATAY KAYDIRMA ALANI YOK. Ilk surumdeki yatay
 * raylar mobilde dikey kaydirmayi yakalayip takilma hissi yaratiyordu
 * (scroll-trap); hepsi kaydirmasiz gride cevrildi.
 */

/* ---------- Baslik + sekmeler ---------- */
.dsc-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.dsc-head h1 {
    font-size: 1.35rem;
    font-weight: 700;
    margin: 0;
    margin-right: auto;
}

.dsc-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.dsc-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: .85rem;
    font-weight: 600;
    text-decoration: none;
    color: inherit;
    border: 1px solid rgba(128, 128, 128, .3);
    background: rgba(128, 128, 128, .06);
    transition: background .15s ease, border-color .15s ease;
}

.dsc-tab:hover {
    background: rgba(54, 153, 255, .12);
    border-color: rgba(54, 153, 255, .4);
    color: inherit;
}

.dsc-tab.is-active {
    background: rgba(54, 153, 255, .16);
    border-color: rgba(54, 153, 255, .55);
    color: #3699ff;
}

.dsc-note {
    font-size: .85rem;
    opacity: .75;
    margin-bottom: 18px;
    line-height: 1.5;
}

/* ---------- Seri gridi (/son-eklenen-webtoonlar) ----------
   Kapak agirlikli kesif gridi; yatay kaydirma YOK.

   KURAL: sutun sayisi DAIMA sayfadaki kart sayisinin TAM BOLENI olmali.
   auto-fill kullanilirsa sutun sayisi ekran genisligine gore rastgele cikar
   (or. 10) ve kart sayisina bolunmedigi icin SON SATIRDA bosluk kalir.
   Asagidaki kirilimlar 3/4/6/8/12; bunlar hem 24'un (son-eklenen-webtoonlar,
   $nwPerPage) hem 48'in (/en-cok-okunanlar, MR_TOP) boleni, dolayisiyla son
   satir her genislikte TAM doludur.
   Yeni bir sayfa bu gridi kullanacaksa kart sayisi bu bes sayinin de kati
   olmali (24, 48, 96 ...); degilse kirilimlar guncellenmeli. */
.dsc-series-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)); /* 24 / 3 = 8 satir */
    gap: 12px;
}

@media (min-width: 576px) {
    .dsc-series-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)); /* 6 satir */
    }
}

@media (min-width: 768px) {
    .dsc-series-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr)); /* 4 satir */
        gap: 14px;
    }
}

@media (min-width: 1400px) {
    .dsc-series-grid {
        grid-template-columns: repeat(8, minmax(0, 1fr)); /* 3 satir */
    }
}

/* Ultra genis ekranda kapaklar sismesin; 12 de 24'un boleni (2 tam satir). */
@media (min-width: 1800px) {
    .dsc-series-grid {
        grid-template-columns: repeat(12, minmax(0, 1fr)); /* 2 satir */
    }
}

.dsc-series-item {
    min-width: 0;
}

.dsc-series-cover {
    position: relative;
    display: block;
    aspect-ratio: 3 / 4;
    border-radius: 10px;
    overflow: hidden;
    background: rgba(128, 128, 128, .12);
}

.dsc-series-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.dsc-series-title {
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.3;
    margin-top: 7px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    /* Iki satira sabit: kisa isimde alt satirdaki kartlar kaymasin. */
    min-height: calc(2 * 1.3em);
}

.dsc-series-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
    font-size: .7rem;
    opacity: .75;
}

/* Bolum sayisi pili: kapagin sol altinda (ana sayfa populer kartlariyla ayni). */
.dsc-cover-pill {
    position: absolute;
    left: 5px;
    bottom: 5px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: .62rem;
    font-weight: 700;
    line-height: 1.4;
    padding: .15em .5em;
    border-radius: 5px;
    background: rgba(0, 0, 0, .72);
    color: #fff;
}

/* "Yakinda": seri eklenmis ama okunabilir bolumu henuz yok. */
.dsc-badge-soon {
    background: rgba(73, 80, 87, .92);
}

/* Son 7 gunde eklenen seri. */
.dsc-badge-new {
    background: rgba(246, 78, 96, .95);
    letter-spacing: .04em;
}

/* ---------- Sira rozeti (/en-cok-okunanlar) ----------
   Kapagin sol ustunde madalya renkli daire. Ana sayfa widget'indaki
   .mr-rank.is-1/2/3 ile ayni renk dili; sinif adi leaderboard_rank_class()
   tarafindan uretilir, boylece altin/gumus/bronz kurali tek yerde durur. */
.dsc-rank {
    position: absolute;
    top: 5px;
    left: 5px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .68rem;
    font-weight: 800;
    color: #fff;
    background: rgba(0, 0, 0, .68);
}

.dsc-rank.is-1 {
    background: linear-gradient(135deg, #ffd54a, #f5a623);
}

.dsc-rank.is-2 {
    background: linear-gradient(135deg, #dfe3e8, #aab2bd);
}

.dsc-rank.is-3 {
    background: linear-gradient(135deg, #e7a667, #cd7f32);
}

/* Donem farki ("+1.234 okuma"): kartin tek olcum satiri, vurgulu. */
.dsc-metric {
    font-weight: 700;
    color: #f5a623;
    opacity: 1;
}

/* Baslik da <a>; grid ogesi artik <div> oldugu icin blok davranisi burada. */
a.dsc-series-title {
    display: -webkit-box;
    text-decoration: none;
    color: inherit;
}

a.dsc-series-title:hover {
    color: #3699ff;
}

/* ---------- Gun basligi ---------- */
.dsc-day {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 22px 0 12px;
}

.dsc-day h2 {
    font-size: .95rem;
    font-weight: 700;
    margin: 0;
    white-space: nowrap;
}

.dsc-day .dsc-day-line {
    flex: 1 1 auto;
    height: 1px;
    background: rgba(128, 128, 128, .25);
}

.dsc-day .dsc-day-count {
    font-size: .75rem;
    opacity: .7;
    white-space: nowrap;
}

/* ---------- Seri kartlari ---------- */
.dsc-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

@media (min-width: 768px) {
    .dsc-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1400px) {
    .dsc-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.dsc-card {
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 12px;
    padding: 12px;
    border-radius: 12px;
    border: 1px solid rgba(128, 128, 128, .2);
    background: rgba(128, 128, 128, .045);
    /* Ekran disindaki kartlar cizilmez: uzun listede mobil kaydirma
       maliyetini buyuk oranda dusurur. Yer tutucu boyut ortalama kart
       yuksekligi; kayma (CLS) olmasin diye sabitlendi. */
    content-visibility: auto;
    contain-intrinsic-size: auto 168px;
}

.dsc-card-cover {
    position: relative;
    width: 84px;
    height: 120px;
    border-radius: 8px;
    overflow: hidden;
    background: rgba(128, 128, 128, .12);
    display: block;
}

.dsc-card-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.dsc-card-body {
    min-width: 0;
}

.dsc-card-title {
    font-size: .95rem;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
    color: inherit;
    margin-bottom: 5px;
    /* Iki satira sabitle: kisa isimde icerik yukari kaymasin, uzun isim de
       3. satira tasip karti uzatmasin. Yan yana kartlarda rozet ve bolum
       satirlari ayni hizada baslar. */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: calc(2 * 1.3em);
}

.dsc-card-title:hover {
    color: #3699ff;
}

/* ---------- Kapak uzeri durum rozetleri ----------
   /son-guncellenen-webtoonlar (.rc-badge) ile ayni dil: dolgu renkli, kapagin
   sol ustunde. Basligin altinda satir kaplamadigi icin kart sikilasti. */
.dsc-badge {
    position: absolute;
    top: 5px;
    left: 5px;
    font-size: .6rem;
    font-weight: 700;
    line-height: 1.4;
    padding: .15em .45em;
    border-radius: 5px;
    color: #fff;
    max-width: calc(100% - 10px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dsc-badge-ongoing {
    background: rgba(25, 135, 84, .92);
}

.dsc-badge-uptodate {
    background: rgba(13, 110, 253, .92);
}

.dsc-badge-done {
    background: rgba(220, 53, 69, .92);
}

/* Kapak yalnizca 84px genis: "+16" saga UST konamaz (durum rozetiyle carpisir),
   caprazda sag alta alinir. */
.dsc-badge-adult {
    top: auto;
    left: auto;
    right: 5px;
    bottom: 5px;
    background: rgba(236, 72, 153, .92);
}

/* Geri Dondu: nadir bir vurgu, kart govdesinde kalir. */
.dsc-flags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 6px;
}

.dsc-flag {
    font-size: .64rem;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 4px;
    line-height: 1.5;
    white-space: nowrap;
}

.dsc-flag-back {
    background: rgba(255, 168, 0, .18);
    color: #d98c00;
}

/* Bolum satirlari - ATIF burada yasar (fansub + yukleyici) */
.dsc-chapters {
    display: flex;
    flex-direction: column;
}

/* Satir SARMAZ: sarma, bazi satirlarda etiketleri alt satira dusurup
   kart icinde kayma/hizasizlik yaratiyordu. Uzayan kisim bolum ADI'dir;
   o ellipsis ile kirpilir, etiketler daima sagda ayni hizada durur. */
.dsc-ch {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    font-size: .8rem;
    /* Mobil dokunma hedefi: satir yuksekligi buyutuldu. */
    padding: 6px 0;
    border-top: 1px solid rgba(128, 128, 128, .16);
}

.dsc-ch:first-child {
    border-top: 0;
    padding-top: 2px;
}

.dsc-ch-no {
    font-weight: 700;
    text-decoration: none;
    color: inherit;
    white-space: nowrap;
    padding: 2px 0;
    flex: 0 0 auto;
}

.dsc-ch-no:hover {
    color: #3699ff;
}

.dsc-ch-name {
    opacity: .6;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dsc-ch-meta {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 5px;
    margin-left: auto;
    flex: 0 0 auto;
    min-width: 0;
}

/* Dar ekranda etiketler satiri sikistirmasin; duzenli sekilde alt satira
   gecsin (yalnizca burada iki satirli duzen kullanilir). */
@media (max-width: 420px) {
    .dsc-ch {
        flex-wrap: wrap;
        gap: 4px 8px;
    }

    .dsc-ch-meta {
        margin-left: 0;
        width: 100%;
    }
}

.dsc-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: .7rem;
    font-weight: 600;
    padding: 2px 9px;
    border-radius: 999px;
    text-decoration: none;
    white-space: nowrap;
    /* Cok uzun fansub/kullanici adi sarmasiz satiri tasirmasin. */
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dsc-tag-fansub {
    background: rgba(27, 197, 189, .14);
    color: #12958f;
}

/* Sitenin kendi ekibi (TRwebtoon): tek DOLGU renkli etiket. Digerleri acik
   tint oldugu icin listede aninda ayrisir; renk site butonlarindaki
   indigo/mor gradyanla ayni aileden. */
.dsc-tag-main {
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    color: #fff;
}

.dsc-tag-main:hover {
    color: #fff;
}

.dsc-tag-user {
    background: rgba(54, 153, 255, .13);
    color: #2b7fd4;
}

.dsc-tag:hover {
    text-decoration: underline;
}

.dsc-card-foot {
    margin-top: 7px;
}

.dsc-card-foot a {
    font-size: .74rem;
    font-weight: 600;
    text-decoration: none;
}

.dsc-empty {
    padding: 34px 16px;
    text-align: center;
    opacity: .7;
}
