/* =====================================================================
   OG Shorts site geneli kapıları (ShortsBandViewComponent, 2026-10-24). Önek: ogsb-.
   1) Alt bant (.ogsb): Alt bilginin hemen üstünde son dik videolar (_Footer), yalnız ana sayfada.
   2) İçindekiler altı kart (.ogsb-toc): Haber ve inceleme sayfasında, masaüstü sol sütunda tek dik video.
   _Layout'ta site geneli yüklenir; og-kit.css ve og-shorts.css'e bağlı değildir, renkler burada sabit verilir
   (OG Shorts teması: Mürekkep-mor manşet + pembe #ff3d8b). Bant iki temada da koyu, alttaki alt bilgiyle uyumlu.

   Tuzaklar (site.css):
   - Gece modunda [data-theme="dark"] a:not(...) link yazısını mercana çevirir: Link renkleri !important.
   - Sınıf adlarında reklam, ad, ads, banner, sponsor geçmez (reklam engelleyiciler gizliyor).
   ===================================================================== */

.ogsb, .ogsb-toc {
    --sb-pink: #ff3d8b;
    --sb-pink-soft: #ff7ab0;
    --sb-red: #e30a17;
    --sb-ink: #0f0f1a;
    font-family: 'Outfit', -apple-system, 'Segoe UI', sans-serif;
}
.ogsb *, .ogsb *::before, .ogsb *::after, .ogsb-toc *, .ogsb-toc *::before, .ogsb-toc *::after { box-sizing: border-box; }

/* ---------- Ortak: OG|SHORTS yazı logosu ---------- */
a.ogsb-mark {
    display: inline-flex; flex: none; font-family: 'Oswald', sans-serif; font-weight: 700; font-size: .95rem;
    letter-spacing: .04em; line-height: 1; text-decoration: none !important;
}
.ogsb-mark span { padding: .36rem .55rem; }
.ogsb-mark span:first-child { background: var(--sb-red); color: #fff; }
.ogsb-mark span:last-child { background: var(--sb-pink); color: var(--sb-ink); }

/* ---------- Ortak: 9:16 kart (görsel + alttan karartma + başlık + oynat) ---------- */
a.ogsb-card {
    position: relative; display: block; aspect-ratio: 9 / 16; border-radius: 1.1rem; overflow: hidden; isolation: isolate;
    background: #14101c; color: #fff !important; text-decoration: none !important;
    transition: transform .18s ease, box-shadow .18s ease;
}
.ogsb-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .35s ease; }
.ogsb-card::after {
    content: ""; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(180deg, rgba(15, 15, 26, 0) 45%, rgba(15, 15, 26, .92) 100%);
}
a.ogsb-card:hover { transform: translateY(-4px); box-shadow: 0 .8rem 0 -.4rem var(--sb-pink); }
a.ogsb-card:hover > img { transform: scale(1.05); }
a.ogsb-card:focus-visible { outline: 3px solid var(--sb-pink); outline-offset: 3px; }
.ogsb-card__play {
    position: absolute; top: .55rem; right: .55rem; width: 1.9rem; height: 1.9rem; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; font-size: .7rem;
    background: var(--sb-pink); color: var(--sb-ink);
}
.ogsb-card__play i { padding-left: .12em; }
.ogsb-card__title {
    position: absolute; left: .7rem; right: .7rem; bottom: .7rem;
    font-weight: 800; font-size: .86rem; line-height: 1.3; color: #fff;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}

/* ---------- 1) Alt bant ---------- */
.ogsb {
    position: relative; overflow: hidden; overflow: clip; isolation: isolate;
    background: linear-gradient(135deg, #14101c 0%, #22142c 55%, #3a1840 100%); color: #fff;
    border-radius: 2rem; padding: clamp(1.2rem, 3vw, 1.9rem) clamp(1rem, 3vw, 2rem) clamp(.9rem, 2vw, 1.3rem);
    margin: 0 0 1.5rem;
}
[data-theme="dark"] .ogsb { border: 1px solid rgba(255, 255, 255, .07); }
/* Süs: Sağ üstte pembe halka (OG Shorts manşetindeki gibi) */
.ogsb::before {
    content: ""; position: absolute; z-index: -1; width: 15rem; height: 15rem; border-radius: 50%;
    right: -5rem; top: -8rem; border: 2rem solid rgba(255, 61, 139, .16);
}

.ogsb-head { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem .9rem; margin-bottom: 1rem; }
.ogsb .ogsb-title {
    font-family: 'Oswald', sans-serif; font-weight: 700; font-size: clamp(1.25rem, 2.4vw, 1.6rem); line-height: 1.1;
    color: #fff !important; margin: 0;
}
.ogsb a.ogsb-more {
    margin-left: auto; display: inline-flex; align-items: center; gap: .4rem;
    font-weight: 700; font-size: .88rem; color: var(--sb-pink-soft) !important; text-decoration: none !important;
}
.ogsb a.ogsb-more:hover { color: #fff !important; }

.ogsb-row {
    display: grid; grid-auto-flow: column; grid-auto-columns: minmax(8.5rem, 10rem); gap: .8rem;
    overflow-x: auto; scroll-snap-type: x proximity; padding: .3rem .2rem .9rem; margin: 0 -.2rem;
    scrollbar-width: thin; scrollbar-color: rgba(255, 61, 139, .45) transparent;
}
.ogsb-row > .ogsb-card { scroll-snap-align: start; }
.ogsb-row::-webkit-scrollbar { height: 6px; }
.ogsb-row::-webkit-scrollbar-thumb { background: rgba(255, 61, 139, .45); border-radius: 999px; }

/* ---------- 2) İçindekiler altı kart (haber ve inceleme, masaüstü sol sütun) ---------- */
.ogsb-toc { display: flex; flex-direction: column; align-items: flex-start; gap: .55rem; margin: 0 0 1.5rem; }
.ogsb-toc a.ogsb-mark { font-size: .8rem; }
.ogsb-toc a.ogsb-card { align-self: stretch; }
.ogsb-toc a.ogsb-more {
    display: inline-flex; align-items: center; gap: .35rem;
    font-weight: 700; font-size: .8rem; line-height: 1.3; color: #c2185b !important; text-decoration: none !important;
}
.ogsb-toc a.ogsb-more:hover { text-decoration: underline !important; }
[data-theme="dark"] .ogsb-toc a.ogsb-more { color: var(--sb-pink-soft) !important; }

/* Sol sütunun yapışkan sarmalayıcısı (İçindekiler + kart). Uzun İçindekiler'de kart ekranın altında kalmasın:
   Sarmalayıcı ekrandan uzunsa kendi içinde kayar. Kenar boşluğu kart gölgesi kırpılmasın diye. */
@media (min-width: 992px) {
    .og-toc-stack {
        max-height: calc(100vh - 4rem); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin;
        padding: 0 .35rem; margin-left: -.35rem; margin-right: -.35rem;
    }
}

/* ---------- Telefon ---------- */
@media (max-width: 575.98px) {
    .ogsb { border-radius: 1.4rem; }
    /* Başlık satırı tek satırda kalsın ("Tümünü izle" alta düşmesin) */
    .ogsb-head { gap: .4rem .6rem; margin-bottom: .8rem; }
    .ogsb a.ogsb-mark { font-size: .82rem; }
    .ogsb .ogsb-title { font-size: 1.15rem; }
    .ogsb a.ogsb-more { font-size: .8rem; }
    .ogsb-row { grid-auto-columns: minmax(7.4rem, 8.2rem); gap: .65rem; }
    .ogsb-card__title { font-size: .8rem; }
}

@media (prefers-reduced-motion: reduce) {
    a.ogsb-card, .ogsb-card > img { transition: none; }
    a.ogsb-card:hover, a.ogsb-card:hover > img { transform: none; }
}
