/* ============================================================
   AURORA TEMA — "Luxe Editorial"
   Klasik kurumsal mavi/lacivertin tam tersi: sıcak mürekkep
   karası + şampanya altını accent, editorial yüksek-kontrast
   serif tipografi (Playfair Display) ve cömert beyaz alan.
   Yüksek-uçlu marka / butik ajans / lüks hissi.

   ÖNEMLİ: Bu bir "child theme" — yalnızca CSS getirir, kendi
   şablonu YOK. Tüm sayfalar default tema şablonlarından fallback
   eder, çünkü aynı --t-* token + .t-* class sözleşmesini birebir
   korur. Yalnızca değerler + ince dekoratif eklemeler değişir.
   Bootstrap 5.3 üstüne; açık/koyu mod [data-bs-theme] ile.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,500&family=Jost:wght@300;400;500;600;700&display=swap');

/* ---------- Tasarım Token'ları: AÇIK MOD ----------
   "Kağıt" zemin: sıcak fildişi. Metin: neredeyse-siyah mürekkep.
   Accent: şampanya altını (WCAG 3:1+ için ayarlı). */
:root,
[data-bs-theme="light"] {
    --t-primary: #1c1917;          /* stone-900 — sıcak mürekkep, başlık/metin */
    --t-on-primary: #faf8f4;
    --t-secondary: #57534e;        /* stone-600 */
    --t-accent: #9a6f17;           /* şampanya altını — body metin için bile AA (4.7:1) */
    --t-accent-hover: #7c5910;     /* daha koyu altın */
    --t-accent-soft: rgba(154, 111, 23, .10);
    --t-accent-2: #c9a227;         /* aydınlık altın — gradient ikinci tonu */
    --t-bg: #f7f4ee;               /* sıcak fildişi "kağıt" */
    --t-surface: #fdfbf7;          /* kart/panel — kağıttan bir ton açık */
    --t-surface-2: #efe9df;        /* alternatif bölüm zemini — sıcak kum */
    --t-surface-glass: rgba(253, 251, 247, .72);
    --t-fg: #211d1a;               /* ana metin — sıcak koyu */
    --t-muted: #6b6259;            /* stone — ikincil metin (AA 5.3:1) */
    --t-border: #e3dccf;           /* sıcak hairline */
    --t-border-strong: #cdc3b0;    /* daha belirgin hairline */
    --t-danger: #b3261e;
    --t-success: #4d7c0f;          /* zeytin yeşili — palete uyumlu */
    --t-warning: #b45309;

    --t-font-heading: 'Playfair Display', Georgia, 'Times New Roman', serif;
    --t-font-body: 'Jost', system-ui, -apple-system, sans-serif;

    /* 8px ritim — editorial cömertlik için biraz daha geniş hissedilir */
    --t-space-1: 0.5rem;
    --t-space-2: 1rem;
    --t-space-3: 1.5rem;
    --t-space-4: 2rem;
    --t-space-6: 3rem;
    --t-space-8: 4rem;
    --t-space-10: 6rem;

    /* Lüks = daha keskin köşeler. Yumuşak yuvarlaklık yerine ince radius. */
    --t-radius: 0.375rem;          /* 6px — editorial keskinlik */
    --t-radius-sm: 0.25rem;        /* 4px */
    --t-radius-lg: 0.625rem;       /* 10px */
    --t-radius-pill: 999px;

    /* Sıcak tonlu, çok yumuşak gölge skalası — derinlikten çok zarafet */
    --t-shadow-xs: 0 1px 2px rgba(28, 25, 23, .05);
    --t-shadow-sm: 0 1px 3px rgba(28, 25, 23, .07), 0 1px 2px rgba(28, 25, 23, .04);
    --t-shadow: 0 6px 16px -8px rgba(28, 25, 23, .12);
    --t-shadow-md: 0 14px 32px -14px rgba(28, 25, 23, .18), 0 4px 10px -6px rgba(28, 25, 23, .08);
    --t-shadow-lg: 0 30px 60px -22px rgba(28, 25, 23, .26), 0 10px 22px -12px rgba(28, 25, 23, .10);
    --t-shadow-accent: 0 16px 36px -12px rgba(154, 111, 23, .40);

    --t-gradient-accent: linear-gradient(135deg, var(--t-accent) 0%, var(--t-accent-2) 100%);
    --t-gradient-hero: linear-gradient(110deg, rgba(20,16,13,.90) 0%, rgba(20,16,13,.55) 48%, rgba(20,16,13,.12) 100%);

    /* Daha yavaş, daha "lüks" eğriler */
    --t-transition: 260ms cubic-bezier(.22, 1, .36, 1);
    --t-transition-slow: 520ms cubic-bezier(.22, 1, .36, 1);

    /* Bootstrap köprüsü */
    --bs-primary: var(--t-accent);
    --bs-body-bg: var(--t-bg);
    --bs-body-color: var(--t-fg);
    --bs-border-color: var(--t-border);
    --bs-link-color: var(--t-accent);
    --bs-link-hover-color: var(--t-accent-hover);
    --bs-emphasis-color: var(--t-primary);
}

/* ---------- Tasarım Token'ları: KOYU MOD ----------
   Espresso/obsidyen zemin + sıcak altın. Ters çevirme değil,
   sıcak-koyu tonlar. */
[data-bs-theme="dark"] {
    --t-primary: #f5f0e8;          /* sıcak kemik beyazı */
    --t-on-primary: #17120e;
    --t-secondary: #d6cdc0;
    --t-accent: #d4a84b;           /* parlak altın — koyu zeminde okunur (AAA) */
    --t-accent-hover: #e6bd63;
    --t-accent-soft: rgba(212, 168, 75, .16);
    --t-accent-2: #e9c87d;
    --t-bg: #14100c;               /* espresso/obsidyen */
    --t-surface: #1f1812;          /* sıcak koyu kahve yüzey */
    --t-surface-2: #2a2118;        /* bir ton açık */
    --t-surface-glass: rgba(31, 24, 18, .72);
    --t-fg: #ece5da;               /* sıcak açık metin */
    --t-muted: #a89d8c;            /* sıcak gri — koyu zeminde AA (5.4:1) */
    --t-border: #34291e;           /* sıcak koyu hairline */
    --t-border-strong: #4a3b2b;
    --t-danger: #f2766e;
    --t-success: #a3c266;
    --t-warning: #e0a64b;

    --t-shadow-xs: 0 1px 2px rgba(0, 0, 0, .5);
    --t-shadow-sm: 0 1px 3px rgba(0, 0, 0, .6);
    --t-shadow: 0 6px 16px -8px rgba(0, 0, 0, .6);
    --t-shadow-md: 0 14px 32px -14px rgba(0, 0, 0, .7);
    --t-shadow-lg: 0 30px 60px -22px rgba(0, 0, 0, .8);
    --t-shadow-accent: 0 16px 36px -12px rgba(212, 168, 75, .35);

    --t-gradient-hero: linear-gradient(110deg, rgba(10,7,5,.94) 0%, rgba(10,7,5,.66) 48%, rgba(10,7,5,.22) 100%);

    --bs-body-bg: var(--t-bg);
    --bs-body-color: var(--t-fg);
    --bs-border-color: var(--t-border);
    --bs-emphasis-color: var(--t-primary);
}

/* ---------- Temel ---------- */
* { scroll-behavior: smooth; }

body {
    font-family: var(--t-font-body);
    background-color: var(--t-bg);
    color: var(--t-fg);
    line-height: 1.7;
    font-weight: 400;
    letter-spacing: .01em;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
}

/* İnce dekoratif kağıt dokusu (çok hafif sıcak grain hissi) */
body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(60rem 40rem at 110% -10%, var(--t-accent-soft) 0%, transparent 55%),
        radial-gradient(50rem 36rem at -10% 110%, var(--t-accent-soft) 0%, transparent 55%);
    opacity: .8;
}

h1, h2, h3, h4, h5, h6,
.t-heading {
    font-family: var(--t-font-heading);
    font-weight: 700;
    color: var(--t-primary);
    line-height: 1.12;
    letter-spacing: -0.01em;
}

a { color: var(--t-accent); text-decoration: none; transition: color var(--t-transition); }
a:hover { color: var(--t-accent-hover); }

.t-muted { color: var(--t-muted) !important; }
.t-bg-surface { background-color: var(--t-surface); }
.t-bg-alt { background-color: var(--t-surface-2); }
.text-accent { color: var(--t-accent) !important; }

/* Vurgu: lüks temada gradient yerine zarif italik serif + altın renk.
   Gradient metni de destekliyoruz (şablon kullanıyorsa kırılmasın). */
.t-grad-text {
    font-style: italic;
    font-weight: 500;
    color: var(--t-accent);
    -webkit-text-fill-color: currentColor; /* default'taki clip'i sıfırla */
    background: none;
}

/* Bölüm ritmi — editorial cömertlik */
.t-section { padding-block: clamp(4rem, 9vw, var(--t-space-10)); position: relative; }
.t-section-title { margin-bottom: var(--t-space-6); }
.t-section-title h2 {
    font-size: clamp(2rem, 4.5vw, 3rem);
    font-weight: 600;
    letter-spacing: -0.015em;
}
.t-section-title p { color: var(--t-muted); max-width: 58ch; font-size: 1.05rem; line-height: 1.75; }

/* Bölüm üstü etiket — geniş harf aralıklı, ince altın çizgili (editorial) */
.t-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    font-family: var(--t-font-body);
    font-weight: 500;
    font-size: .72rem;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: var(--t-accent);
    margin-bottom: 1rem;
}
.t-eyebrow::before {
    content: "";
    width: 2.25rem; height: 1px;
    background: var(--t-accent);
    border-radius: 0;
}
.t-section-title.text-center .t-eyebrow { justify-content: center; }

/* Erişilebilir focus halkası */
a:focus-visible,
button:focus-visible,
.btn:focus-visible,
.form-control:focus-visible,
.t-card:focus-visible {
    outline: 2px solid var(--t-accent);
    outline-offset: 3px;
    border-radius: var(--t-radius-sm);
}

/* ---------- Scroll Reveal (progressive enhancement) ----------
   Gizleme yalnızca JS aktifken (html.js). Lüks his için biraz
   daha uzun, yumuşak yükseliş. */
.js [data-reveal] {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity var(--t-transition-slow), transform var(--t-transition-slow);
    will-change: opacity, transform;
}
.js [data-reveal].is-visible {
    opacity: 1;
    transform: none;
}

/* ---------- Navbar (incelikli cam + altın çizgi) ---------- */
.t-navbar {
    background-color: var(--t-surface-glass);
    -webkit-backdrop-filter: saturate(140%) blur(16px);
    backdrop-filter: saturate(140%) blur(16px);
    border-bottom: 1px solid transparent;
    transition: border-color var(--t-transition), box-shadow var(--t-transition), background-color var(--t-transition);
    padding-block: .85rem;
}
.t-navbar.is-scrolled {
    border-bottom-color: var(--t-border);
    box-shadow: var(--t-shadow-sm);
}
.t-navbar .navbar-brand {
    font-family: var(--t-font-heading);
    font-weight: 700;
    color: var(--t-primary);
    font-size: 1.45rem;
    letter-spacing: 0;
}
.t-navbar .nav-link {
    color: var(--t-secondary);
    font-weight: 500;
    font-size: .92rem;
    letter-spacing: .02em;
    padding-inline: var(--t-space-2) !important;
    position: relative;
    transition: color var(--t-transition);
}
/* Editorial: alt çizgi yerine ince altın çizgi, ortadan açılır */
.t-navbar .nav-link::after {
    content: "";
    position: absolute;
    left: var(--t-space-2); right: var(--t-space-2);
    bottom: .4rem;
    height: 1px;
    background: var(--t-accent);
    border-radius: 0;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform var(--t-transition);
}
.t-navbar .nav-link:hover { color: var(--t-accent); }
.t-navbar .nav-link:hover::after,
.t-navbar .nav-link.active::after { transform: scaleX(1); }
.t-navbar .nav-link.active { color: var(--t-accent); font-weight: 600; }

/* Min dokunma alanı ikon butonları */
.t-iconbtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    border: 1px solid var(--t-border);
    border-radius: var(--t-radius-sm);
    background: var(--t-surface);
    color: var(--t-secondary);
    transition: background var(--t-transition), color var(--t-transition), border-color var(--t-transition), transform var(--t-transition);
    cursor: pointer;
}
.t-iconbtn:hover { background: var(--t-accent-soft); color: var(--t-accent); border-color: var(--t-accent); }
.t-iconbtn:active { transform: scale(.94); }

/* ---------- Butonlar ----------
   Lüks = düz dolgu, keskin köşe, geniş harf aralığı; gösterişten kaçın. */
.btn {
    border-radius: var(--t-radius-sm);
    font-family: var(--t-font-body);
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-size: .82rem;
    transition: background var(--t-transition), color var(--t-transition), transform var(--t-transition), box-shadow var(--t-transition), border-color var(--t-transition);
}
.btn-accent {
    background: var(--t-accent);
    color: var(--t-on-primary);
    border: 1px solid var(--t-accent);
    padding: 0.8rem 1.8rem;
    border-radius: var(--t-radius-sm);
    box-shadow: none;
}
.btn-accent:hover {
    background: var(--t-accent-hover);
    border-color: var(--t-accent-hover);
    color: var(--t-on-primary);
    transform: translateY(-2px);
    box-shadow: var(--t-shadow-accent);
}
.btn-accent:active { transform: translateY(0); }
.btn-accent.btn-lg { padding: 1rem 2.2rem; font-size: .9rem; }

.btn-outline-accent {
    background: transparent;
    color: var(--t-accent);
    border: 1px solid var(--t-accent);
    padding: 0.8rem 1.8rem;
    border-radius: var(--t-radius-sm);
}
.btn-outline-accent:hover {
    background: var(--t-accent);
    color: var(--t-on-primary);
    border-color: var(--t-accent);
    transform: translateY(-2px);
    box-shadow: var(--t-shadow-accent);
}
.btn-outline-accent.btn-lg { padding: 1rem 2.2rem; font-size: .9rem; }

/* Filtre çipleri (kategori) */
.btn-sm.btn-outline-accent,
.btn-sm.btn-accent { padding: .45rem 1.1rem; font-size: .72rem; }

/* ---------- Hero / Slider ----------
   Hero her zaman açık metin taşır. Zemin mod-aware --t-primary'ye
   DEĞİL sabit sıcak koyu mürekkebe bağlanır (default ile aynı kural):
   koyu modda beyaza dönüp "beyaz üzerine beyaz" olmasın. */
.t-hero {
    position: relative;
    min-height: clamp(520px, 74vh, 780px);
    display: flex;
    align-items: center;
    color: #faf8f4;
    background: #14100c; /* sabit sıcak mürekkep */
    overflow: hidden;
}
.t-hero__media { position: absolute; inset: 0; }
.t-hero__media img {
    width: 100%; height: 100%; object-fit: cover;
    transform: scale(1.08);
    animation: t-hero-zoom 16s ease-out forwards;
    filter: saturate(.92) contrast(1.02);
}
@keyframes t-hero-zoom { to { transform: scale(1); } }
.t-hero__scrim {
    position: absolute; inset: 0;
    background: var(--t-gradient-hero);
}
/* Hero köşesinde sıcak altın ışık */
.t-hero::after {
    content: "";
    position: absolute;
    top: -25%; right: -8%;
    width: 48rem; height: 48rem;
    background: radial-gradient(circle, rgba(201,162,39,.28) 0%, transparent 62%);
    pointer-events: none;
    z-index: 1;
}
.t-hero__content { position: relative; z-index: 2; max-width: 48rem; }
.t-hero__content h1 {
    color: #faf8f4;
    font-family: var(--t-font-heading);
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.06;
}
.t-hero__content p {
    font-size: clamp(1.05rem, 2vw, 1.3rem);
    color: rgba(250,248,244,.86);
    max-width: 42ch;
    line-height: 1.7;
    font-weight: 300;
}
.t-hero__content .btn-outline-accent {
    color: #faf8f4;
    border-color: rgba(250,248,244,.45);
}
.t-hero__content .btn-outline-accent:hover {
    background: #faf8f4;
    color: #1c1917;
    border-color: #faf8f4;
}

/* Hero carousel kontrolleri */
.t-hero-carousel .carousel-control-prev,
.t-hero-carousel .carousel-control-next { width: 8%; z-index: 3; }
.t-hero-carousel .carousel-indicators { z-index: 3; margin-bottom: 1.75rem; }
.t-hero-carousel .carousel-indicators [data-bs-target] {
    width: 36px; height: 2px; border-radius: 0;
    background: rgba(250,248,244,.45); border: none;
    transition: background var(--t-transition);
}
.t-hero-carousel .carousel-indicators .active { background: var(--t-accent-2); }

/* ---------- Kartlar ----------
   Editorial: ince hairline, keskin köşe, hover'da altın çerçeve + yükseliş. */
.t-card {
    background: var(--t-surface);
    border: 1px solid var(--t-border);
    border-radius: var(--t-radius);
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: transform var(--t-transition), box-shadow var(--t-transition), border-color var(--t-transition);
}
.t-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--t-shadow-lg);
    border-color: var(--t-accent);
}
.t-card__media {
    aspect-ratio: 4 / 3;
    background: var(--t-surface-2);
    overflow: hidden;
    position: relative;
}
.t-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--t-transition-slow); filter: saturate(.96); }
.t-card:hover .t-card__media img { transform: scale(1.05); }
.t-card__body { padding: var(--t-space-3); display: flex; flex-direction: column; gap: .65rem; flex: 1; }
.t-card__title {
    font-family: var(--t-font-heading);
    font-size: 1.35rem; font-weight: 600; color: var(--t-primary);
    letter-spacing: -0.01em;
    line-height: 1.25;
    transition: color var(--t-transition);
}
.t-card:hover .t-card__title { color: var(--t-accent); }
.t-card__text { color: var(--t-muted); font-size: 0.95rem; flex: 1; line-height: 1.7; }

/* Kart "Detay" link satırı — editorial: geniş aralıklı küçük başlık */
.t-card__more {
    display: inline-flex; align-items: center; gap: .5rem;
    color: var(--t-accent); font-weight: 500; font-size: .74rem;
    letter-spacing: .12em; text-transform: uppercase;
    margin-top: .35rem;
}
.t-card__more i { transition: transform var(--t-transition); }
.t-card:hover .t-card__more i { transform: translateX(5px); }

/* Görseli olmayan kartlar için yer tutucu (CLS önleme) */
.t-card__media--empty {
    display: flex; align-items: center; justify-content: center;
    color: var(--t-border-strong);
    background: linear-gradient(135deg, var(--t-surface-2), var(--t-surface));
}

.t-card.p-4, .t-card.p-md-5 { transition: transform var(--t-transition), box-shadow var(--t-transition), border-color var(--t-transition); }

/* ---------- Rozet / etiket ---------- */
.t-badge {
    display: inline-block;
    font-family: var(--t-font-body);
    font-size: 0.68rem;
    font-weight: 500;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: 0.32rem 0.8rem;
    border-radius: var(--t-radius-sm);
    background: var(--t-surface-2);
    color: var(--t-secondary);
    border: 1px solid var(--t-border);
}
.t-badge--accent { background: var(--t-accent-soft); color: var(--t-accent); border-color: transparent; }

/* ---------- İkon balonu (özellik/değer bölümleri) ----------
   Lüks: dolgu yerine ince altın çerçeveli kare, keskin köşe. */
.t-icon-circle {
    display: inline-flex; align-items: center; justify-content: center;
    width: 3.5rem; height: 3.5rem;
    border-radius: var(--t-radius-sm);
    background: transparent;
    border: 1px solid var(--t-accent);
    color: var(--t-accent);
    font-size: 1.4rem;
    transition: transform var(--t-transition), background var(--t-transition), color var(--t-transition);
}
.t-card:hover .t-icon-circle,
.t-icon-circle:hover { transform: translateY(-3px); background: var(--t-accent); color: var(--t-on-primary); }

/* ---------- Referans logoları ---------- */
.t-logo-strip { display: flex; flex-wrap: wrap; gap: var(--t-space-6); align-items: center; justify-content: center; }
.t-logo-strip img {
    height: 40px; width: auto; object-fit: contain;
    filter: grayscale(1); opacity: .5;
    transition: filter var(--t-transition), opacity var(--t-transition), transform var(--t-transition);
}
.t-logo-strip a:hover img { filter: grayscale(0); opacity: 1; transform: scale(1.04); }

/* ---------- İstatistik / sayaç ----------
   Editorial: büyük serif rakamlar, altın renk, ince ayraç. */
.t-stat { text-align: center; position: relative; }
.t-stat__num {
    font-family: var(--t-font-heading);
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    font-weight: 600; color: var(--t-accent);
    font-variant-numeric: tabular-nums;
    line-height: 1;
    letter-spacing: -0.02em;
}
.t-stat__label {
    color: var(--t-muted); font-weight: 500; margin-top: .65rem;
    font-size: .8rem; letter-spacing: .12em; text-transform: uppercase;
}

/* ---------- Testimonial ----------
   Lüks: büyük editorial italik tırnak + ince altın üst kenar. */
.t-quote {
    background: var(--t-surface);
    border: 1px solid var(--t-border);
    border-top: 2px solid var(--t-accent);
    border-radius: var(--t-radius);
    padding: var(--t-space-4);
    height: 100%;
    position: relative;
    transition: transform var(--t-transition), box-shadow var(--t-transition), border-color var(--t-transition);
}
.t-quote:hover { transform: translateY(-4px); box-shadow: var(--t-shadow-md); }
.t-quote::before {
    content: "\201C";
    position: absolute; top: .1rem; right: 1.5rem;
    font-family: var(--t-font-heading);
    font-size: 5.5rem; line-height: 1;
    color: var(--t-accent-soft);
}
.t-quote__text {
    color: var(--t-fg); font-size: 1.12rem; line-height: 1.8; position: relative;
    font-family: var(--t-font-heading);
    font-style: italic; font-weight: 400;
}
.t-quote__author { display: flex; align-items: center; gap: var(--t-space-1); margin-top: var(--t-space-3); }
.t-quote__author img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.t-quote__name { font-weight: 600; color: var(--t-primary); font-family: var(--t-font-heading); }
.t-quote__role { color: var(--t-muted); font-size: 0.8rem; letter-spacing: .04em; text-transform: uppercase; }
.t-stars { color: var(--t-accent); letter-spacing: 3px; }

/* ---------- Footer ----------
   Footer her iki modda da sıcak KOYU mürekkep zemin + açık metin.
   Mod-aware --t-primary'ye DEĞİL, footer'a özel sabit token'lara
   bağlanır (default ile aynı kural — koyu modda zemin beyaza dönmesin). */
.t-footer {
    --t-footer-bg: #17120e;                       /* sabit sıcak mürekkep */
    --t-footer-fg: #faf8f4;                        /* başlık/marka — sıcak beyaz */
    --t-footer-muted: rgba(250, 248, 244, .68);    /* gövde/link */
    --t-footer-hover: var(--t-accent-2);           /* hover'da altın */
    --t-footer-border: rgba(250, 248, 244, .12);
    --t-footer-chip: rgba(250, 248, 244, .06);

    position: relative;
    background: var(--t-footer-bg);
    color: var(--t-footer-fg);
    padding-block: var(--t-space-10) var(--t-space-4);
    margin-top: var(--t-space-10);
    overflow: hidden;
}
.t-footer::before {
    content: "";
    position: absolute; top: 0; left: 0; right: 0; height: 1px;
    background: var(--t-gradient-accent);
}
.t-footer::after {
    content: "";
    position: absolute; bottom: -45%; right: -8%;
    width: 42rem; height: 42rem;
    background: radial-gradient(circle, rgba(201,162,39,.14) 0%, transparent 62%);
    pointer-events: none;
}
.t-footer > .container { position: relative; z-index: 1; }
.t-footer h5 {
    color: var(--t-footer-fg);
    font-family: var(--t-font-body);
    font-size: .72rem; text-transform: uppercase; letter-spacing: .18em;
    margin-bottom: var(--t-space-3); opacity: .65; font-weight: 600;
}
.t-footer a { color: var(--t-footer-muted); transition: color var(--t-transition), padding-left var(--t-transition); }
.t-footer ul a:hover { color: var(--t-footer-hover); padding-left: .35rem; }
.t-footer__brand {
    font-family: var(--t-font-heading); font-weight: 700; font-size: 1.6rem;
    color: var(--t-footer-fg); letter-spacing: 0;
}
.t-footer__social a {
    display: inline-flex; align-items: center; justify-content: center;
    width: 42px; height: 42px; border-radius: var(--t-radius-sm);
    background: var(--t-footer-chip);
    border: 1px solid var(--t-footer-border);
    color: var(--t-footer-muted);
    transition: background var(--t-transition), color var(--t-transition), transform var(--t-transition), border-color var(--t-transition);
}
.t-footer__social a:hover { background: var(--t-accent); color: var(--t-on-primary); transform: translateY(-3px); padding-left: 0; border-color: var(--t-accent); }
.t-footer__bottom {
    border-top: 1px solid var(--t-footer-border);
    margin-top: var(--t-space-6); padding-top: var(--t-space-3);
    font-size: 0.82rem; letter-spacing: .02em;
}

/* ---------- Formlar ---------- */
.t-form .form-label {
    font-weight: 600; color: var(--t-secondary); margin-bottom: .45rem;
    font-size: .82rem; letter-spacing: .06em; text-transform: uppercase;
}
.t-form .form-control,
.t-form .form-select {
    border-radius: var(--t-radius-sm);
    border: 1px solid var(--t-border-strong);
    background: var(--t-surface);
    color: var(--t-fg);
    min-height: 48px;
    padding: .7rem .95rem;
    font-family: var(--t-font-body);
    transition: border-color var(--t-transition), box-shadow var(--t-transition);
}
.t-form .form-control:focus,
.t-form .form-select:focus {
    border-color: var(--t-accent);
    box-shadow: 0 0 0 3px var(--t-accent-soft);
}
.t-form textarea.form-control { min-height: 9rem; }
.t-required { color: var(--t-danger); }

/* ---------- İçerik (rich text) ---------- */
.t-prose { color: var(--t-fg); line-height: 1.85; max-width: 70ch; font-size: 1.05rem; }
.t-prose img { max-width: 100%; height: auto; border-radius: var(--t-radius-sm); margin-block: 1.25rem; }
.t-prose h2, .t-prose h3 { margin-top: var(--t-space-4); margin-bottom: .85rem; }
.t-prose p { margin-bottom: 1.2rem; }
.t-prose ul, .t-prose ol { padding-left: 1.25rem; margin-bottom: 1.2rem; }
.t-prose li { margin-bottom: .45rem; }
.t-prose a { font-weight: 500; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.t-prose blockquote {
    border-left: 2px solid var(--t-accent);
    padding-left: 1.5rem; margin: 1.75rem 0;
    color: var(--t-fg); font-style: italic;
    font-family: var(--t-font-heading);
    font-size: 1.25rem; line-height: 1.6;
}

/* ---------- İç sayfa başlık şeridi ----------
   Editorial: geniş whitespace, ince altın çizgi, sıcak kum zemin. */
.t-page-header {
    position: relative;
    background:
        radial-gradient(55rem 28rem at 100% -25%, var(--t-accent-soft) 0%, transparent 58%),
        var(--t-surface-2);
    border-bottom: 1px solid var(--t-border);
    padding-block: clamp(3rem, 7vw, 5.5rem);
}
.t-page-header h1 { font-size: clamp(2.1rem, 5vw, 3.25rem); font-weight: 600; }
.t-page-header p { color: var(--t-muted); font-size: 1.1rem; max-width: 62ch; line-height: 1.75; }

/* ---------- Breadcrumb ---------- */
.t-breadcrumb { font-size: 0.8rem; color: var(--t-muted); letter-spacing: .04em; }
.t-breadcrumb a { color: var(--t-muted); }
.t-breadcrumb a:hover { color: var(--t-accent); }

/* ---------- Boş durum ---------- */
.t-empty {
    text-align: center; padding: var(--t-space-10) var(--t-space-2); color: var(--t-muted);
    border: 1px dashed var(--t-border-strong); border-radius: var(--t-radius);
    background: var(--t-surface);
}
.t-empty i { color: var(--t-border-strong); }

/* ---------- CTA bandı ----------
   Beyaz metin taşır → zemin sabit sıcak mürekkep (mod-aware DEĞİL). */
.t-cta {
    position: relative;
    background: #17120e; /* sabit sıcak mürekkep */
    border: 1px solid rgba(201,162,39,.28);
    border-radius: var(--t-radius-lg);
    padding: clamp(3rem, 7vw, 5rem);
    color: #faf8f4;
    overflow: hidden;
    text-align: center;
}
.t-cta::before {
    content: "";
    position: absolute; inset: 0;
    background:
        radial-gradient(42rem 22rem at 0% 0%, rgba(201,162,39,.30) 0%, transparent 56%),
        radial-gradient(42rem 22rem at 100% 100%, rgba(154,111,23,.26) 0%, transparent 56%);
    pointer-events: none;
}
.t-cta > * { position: relative; z-index: 1; }
.t-cta h2 { color: #faf8f4; font-size: clamp(2rem, 4.5vw, 3rem); font-weight: 600; }
.t-cta p { color: rgba(250,248,244,.82); }
.t-cta .btn-outline-accent { color: #faf8f4; border-color: rgba(250,248,244,.5); }
.t-cta .btn-outline-accent:hover { background: #faf8f4; color: #1c1917; border-color: #faf8f4; }
.t-cta .btn-accent { background: var(--t-accent-2); border-color: var(--t-accent-2); color: #1c1917; }
.t-cta .btn-accent:hover { background: #fff; border-color: #fff; color: #1c1917; }

/* ---------- Sayfalama ---------- */
.pagination { gap: .4rem; }
.pagination .page-link {
    border-radius: var(--t-radius-sm);
    border-color: var(--t-border-strong);
    color: var(--t-secondary);
    min-width: 44px; min-height: 44px;
    display: flex; align-items: center; justify-content: center;
    background: var(--t-surface);
    font-family: var(--t-font-body);
}
.pagination .page-link:hover { background: var(--t-accent-soft); color: var(--t-accent); border-color: var(--t-accent); }
.pagination .page-item.active .page-link {
    background: var(--t-accent); border-color: var(--t-accent); color: var(--t-on-primary);
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }
    .js [data-reveal] { opacity: 1 !important; transform: none !important; }
    .t-card:hover { transform: none; }
    .t-card:hover .t-card__media img { transform: none; }
    .t-hero__media img { animation: none; transform: none; }
}

/* Responsive Logo Sizing */
.navbar-logo-img,
.navbar-brand img {
    max-height: 90px;
    height: auto;
    width: auto;
    display: block;
    object-fit: contain;
}

@media (max-width: 991.98px) {
    .navbar-logo-img,
    .navbar-brand img {
        max-height: 48px !important;
        height: auto !important;
    }
}

