/* SPORTIAL CLUB — Panelden oluşturulan sayfalar (/slug) */
.sp-main { min-height: 70vh; padding-top: calc(var(--header-h) + 12px); outline: none; }
.sp.tpl-full .sp-main, .sp.no-header .sp-main { padding-top: 0; }
.sp.tpl-landing .sp-main { padding-top: 0; }
.sp-sk-hero { height: min(52vh, 460px); border-radius: 0; }
.sp-sk-body { width: min(820px, 100% - 32px); margin: 40px auto 80px; }
.sp-content { animation: sp-in .8s var(--ease) both; }
@keyframes sp-in { from { opacity: 0; transform: translateY(14px); } }
.sp-empty { width: min(720px, 100% - 32px); margin: 60px auto 100px; text-align: center; color: var(--text-2); }

/* 404 */
.sp-404 { position: relative; min-height: calc(100svh - var(--header-h)); display: grid; place-items: center; text-align: center; padding: 60px 16px 100px; overflow: hidden; isolation: isolate; }
.sp-404::before { content: ''; position: absolute; inset: 0; z-index: -2; background: url('/media/opt/dscf3486.webp') center / cover; opacity: .16; filter: grayscale(1); }
.sp-404::after { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 50% at 50% 40%, rgba(225, 6, 0, .28), transparent 70%), linear-gradient(180deg, rgba(7,7,7,.5), #070707 90%); }
.sp-404__num { font-family: var(--font-display); font-size: clamp(120px, 28vw, 340px); line-height: .8; color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.75); letter-spacing: .02em; margin: 0; animation: sp-num 1.2s var(--ease) both; }
.sp-404__num span { color: var(--red); -webkit-text-stroke: 0; display: inline-block; animation: sp-punch 2.6s 1s var(--ease) infinite; }
@keyframes sp-num { from { opacity: 0; transform: translateY(40px) scale(.96); letter-spacing: .2em; } }
@keyframes sp-punch { 0%, 70%, 100% { transform: none; } 75% { transform: translateX(-10px) rotate(-6deg) scale(1.05); } 82% { transform: translateX(6px) rotate(3deg); } }
.sp-404 h1 { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: clamp(32px, 5vw, 60px); line-height: 1; margin: 18px 0 12px; }
.sp-404 p { color: var(--text-2); max-width: 46ch; margin: 0 auto 28px; font-size: 17px; }
.sp-404__ctas { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.sp-404 .eyebrow { justify-content: center; }
@media (prefers-reduced-motion: reduce) { .sp-404__num, .sp-404__num span, .sp-content { animation: none; } }
.sp.is-post .sp-main { padding-top: 0; }

/* ---- Tipografi düzeltmesi (blog): uzun Türkçe başlıklar daha ince font, rahat satır aralığı ---- */
.bp-card--big .bp-card__title, .ps-title, .ps-cta h3, .ps-related__head h2, .bp-card__title {
  font-family: var(--font-condensed); letter-spacing: .015em; line-height: 1.08; }
.bp-card--big .bp-card__title { font-size: clamp(34px, 3.4vw, 54px); }
.ps-title { font-size: clamp(40px, 5.2vw, 78px); line-height: 1.04; }
[class*="hero"] h1, [class*="hero"] .display { line-height: 1.04; }
.display, .ps-title, h1.display, h2.display { line-height: 1.14 !important; }

/* ==========================================================================
   İçerik düzeni — duyuru / blog ile aynı tasarım dili
   ========================================================================== */
/* Genişlikler: okuma blokları ~820px, görsel bloklar 1120px (blok kendi maxW'sini verirse o geçerli) */
.sp-content .sb-root { --maxw: 1120px; }
.sp-content .sb-root :is(.sbt-text, .sbt-list, .sbt-heading, .sbt-faq, .sbt-alert, .sbt-quote, .sbt-button) { --maxw: 820px; }
.sp-content .sb-root .sb-text { font-size: 17px; line-height: 1.8; }

/* Dikey ritim */
.sp-content .sb-root > .sbt-hero + .sb { padding-top: var(--pt, clamp(44px, 5vw, 72px)); }
.sp-content .sb-root > :is(.sbt-gallery, .sbt-schedule, .sbt-alert, .sbt-faq, .sbt-video, .sbt-map) { padding-top: var(--pt, clamp(28px, 3.4vw, 44px)); padding-bottom: var(--pb, clamp(28px, 3.4vw, 44px)); }
.sp-content .sb-root > .sbt-button { padding-top: var(--pt, 28px); }
.sp-content .sb-root > .sb:last-child:not(.sb-hasbg):not(.sbt-hero) { padding-bottom: var(--pb, clamp(64px, 8vw, 112px)); }
.sp-content .sb-root .sb-text h2, .sp-content .sb-root .sb-text h3 { line-height: 1.14; margin-top: 1.4em; }

/* Hero bloğuyla başlayan sayfa: içerik sabit header'ın altında kalmasın; Türkçe aksanlar için satır aralığı */
.sp-content > .sb-root > .sbt-hero:first-child .sb-hero-c { padding-top: calc(var(--header-h, 84px) + clamp(28px, 4vw, 56px)); }
.sp-content .sb-root .sb-hero-t { line-height: 1.08; padding-top: .04em; text-wrap: balance; }
.sp.no-header .sp-content > .sb-root > .sbt-hero:first-child .sb-hero-c { padding-top: clamp(40px, 7cqi, 90px); }

/* Varsayılan şablon (KVKK vb. metin sayfaları): başlık bloğu belge başlığı gibi */
.sp.tpl-default:not(.is-post):has(.sp-content) .sp-main { padding-top: calc(var(--header-h, 84px) + clamp(28px, 4vw, 56px)); }
.sp.tpl-default .sp-content > .sb-root > .sbt-heading:first-child { padding-bottom: clamp(20px, 2.4vw, 28px); margin-bottom: clamp(12px, 2vw, 20px); }
.sp.tpl-default .sp-content > .sb-root > .sbt-heading:first-child > .sb-in { width: min(820px, 100% - 2 * var(--sb-gutter, 16px)); padding-inline: 0; border-bottom: 1px solid var(--line); padding-bottom: clamp(20px, 2.4vw, 28px); }
.sp.tpl-default .sp-content > .sb-root > .sbt-heading:first-child .sb-h { line-height: 1.12; }
.sp.tpl-default .sp-content > .sb-root > .sbt-heading:first-child::before { content: ''; display: block; width: min(820px, 100% - 2 * var(--sb-gutter, 16px)); margin: 0 auto 14px; height: 3px; background: linear-gradient(90deg, var(--red) 0 48px, transparent 48px); }

/* Açık tema: hero fotoğrafı üstündeyken header beyaz yazılı kalsın (theme-light.css .sb-hero'yu bu listede tutmuyor) */
html[data-theme="light"] body:has(.sp-content > .sb-root > .sbt-hero:first-child) .site-header:not(.is-scrolled):not(.is-solid) .site-nav a { color: rgba(255, 255, 255, .86); }
html[data-theme="light"] body:has(.sp-content > .sb-root > .sbt-hero:first-child) .site-header:not(.is-scrolled):not(.is-solid) .site-nav a:hover,
html[data-theme="light"] body:has(.sp-content > .sb-root > .sbt-hero:first-child) .site-header:not(.is-scrolled):not(.is-solid) .site-nav a.is-active { color: #fff; }
html[data-theme="light"] body:has(.sp-content > .sb-root > .sbt-hero:first-child) .site-header:not(.is-scrolled):not(.is-solid) .btn-ghost { background: rgba(0, 0, 0, .2); color: #fff; border-color: rgba(255, 255, 255, .3); }
html[data-theme="light"] body:has(.sp-content > .sb-root > .sbt-hero:first-child) .site-header:not(.is-scrolled):not(.is-solid) .burger { background: rgba(0, 0, 0, .3); border-color: rgba(255, 255, 255, .25); }
html[data-theme="light"] body:has(.sp-content > .sb-root > .sbt-hero:first-child) .site-header:not(.is-scrolled):not(.is-solid) .burger span { background: #fff; }
html[data-theme="light"] body:has(.sp-content > .sb-root > .sbt-hero:first-child) .site-header:not(.is-scrolled):not(.is-solid) .theme-toggle { background: rgba(0, 0, 0, .25); border-color: rgba(255, 255, 255, .25); color: #fff; }
html[data-theme="light"] .sp.tpl-default .sp-content > .sb-root > .sbt-heading:first-child > .sb-in { border-color: rgba(0, 0, 0, .08); }

/* İçerikte düz paragraf olarak girilmiş BÜYÜK HARF ara başlıklar (sayfa.js .sp-subh ekler) */
.sp-content .sb-root .sb-text p.sp-subh { margin: 1.6em 0 .5em; font-family: var(--font-condensed); font-size: clamp(24px, 2.4vw, 30px); letter-spacing: .02em; line-height: 1.14; color: var(--text); }
.sp-content .sb-root .sb-text > p.sp-subh:first-child { margin-top: 0; }

/* 404: ".sp-404 p" kuralı dev numarayı 17px'e düşürüyordu → özgüllük düzeltmesi */
.sp-404 p.sp-404__num { font-size: clamp(120px, 28vw, 340px); line-height: .8; max-width: none; margin: 0 auto 6px; color: transparent; }
.sp-404 h1 { line-height: 1.12; }
.sp-404 > div { position: relative; padding-top: calc(var(--header-h, 84px) * .4); }

/* Kart başlıkları: net, okunaklı gövde fontu (dar/condensed yerine) */
.bp-card__title, .bp-card--big .bp-card__title {
  font-family: var(--font-body, Manrope), system-ui, sans-serif !important; font-weight: 800; text-transform: none;
  letter-spacing: -.01em; line-height: 1.3 !important; font-size: 20px; }
.bp-card--big .bp-card__title { font-size: clamp(24px, 2.2vw, 34px) !important; line-height: 1.22 !important; }
