/* ============================================================
 * RD-CMS Default Theme — Base (CSS Custom Properties + Typography)
 * Brand: Doç. Dr. Volkan Erdoğu — Göğüs Cerrahisi / Akciğer Kanseri
 * Palet: LACİVERT (navy) + BEYAZ · vurgu: CANLI MAVİ (eski site uyumlu)
 * ============================================================ */

:root {
    /* ── Marka çekirdeği: Lacivert (navy) — eski sitenin saf/canlı mavi tonu ── */
    --navy-950: #010C1F;
    --navy-900: #01173A;
    --navy-800: #012148;   /* ana kurumsal lacivert (eski site #012148) */
    --navy-700: #012C63;
    --navy-600: #01388A;
    --navy-500: #0B4FB0;
    --navy-400: #2F6DC4;
    --navy-300: #6C93D0;
    --navy-200: #AEC5E8;
    --navy-100: #D8E3F6;
    --navy-50:  #EBF2FC;

    /* ── Vurgu: CANLI MAVİ (eski site #2986e2 — saf, canlı mavi) ───────────── */
    --color-accent: #2986E2;
    --color-accent-dark: #1467C4;
    --color-accent-light: #5CA6F0;
    --color-accent-soft: #E6F1FC;

    /* Brand renkler (panelden de override edilebilir) */
    --color-primary: #012148;
    --color-primary-dark: #01173A;
    --color-primary-light: #01388A;
    --color-secondary: #01152F;

    --color-text: #12233B;
    --color-text-muted: #55677E;
    --color-text-light: #8A9BB0;
    --color-text-inverse: #ffffff;

    --color-bg: #ffffff;
    --color-bg-alt: #F4F8FC;
    --color-bg-muted: #EAF1F8;
    --color-bg-dark: #012148;

    --color-border: #DEE7F1;
    --color-border-strong: #C3D2E2;

    --color-success: #10b981;
    --color-warning: #f59e0b;
    --color-error: #ef4444;
    --color-info: var(--color-accent);

    /* Gradyanlar (koyu bölümler / hero / CTA) */
    --gradient-navy: linear-gradient(135deg, #012148 0%, #012C63 55%, #01173A 100%);
    --gradient-navy-soft: linear-gradient(135deg, #012C63 0%, #012148 100%);
    --gradient-accent: linear-gradient(135deg, #2986E2 0%, #1467C4 100%);
    --gradient-hero-overlay: linear-gradient(90deg, rgba(1,23,58,.92) 0%, rgba(1,33,72,.78) 45%, rgba(1,33,72,.35) 100%);

    /* Typography */
    --font-heading: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
    --font-serif: Georgia, 'Times New Roman', serif;
    --font-mono: 'SF Mono', Monaco, Inconsolata, 'Roboto Mono', monospace;

    --text-xs:   0.75rem;
    --text-sm:   0.875rem;
    --text-base: 1rem;
    --text-lg:   1.125rem;
    --text-xl:   1.25rem;
    --text-2xl:  1.5rem;
    --text-3xl:  1.875rem;
    --text-4xl:  2.25rem;
    --text-5xl:  3rem;
    --text-6xl:  3.75rem;

    /* Spacing */
    --space-1:  0.25rem;
    --space-2:  0.5rem;
    --space-3:  0.75rem;
    --space-4:  1rem;
    --space-5:  1.25rem;
    --space-6:  1.5rem;
    --space-8:  2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-14: 3.5rem;
    --space-16: 4rem;
    --space-20: 5rem;
    --space-24: 6rem;

    /* Layout */
    --radius-sm: 0.375rem;
    --radius:    0.625rem;
    --radius-lg: 1rem;
    --radius-xl: 1.5rem;
    --radius-2xl: 2rem;
    --radius-full: 9999px;

    --shadow-sm: 0 1px 2px rgba(1,33,72,.06);
    --shadow:    0 1px 3px rgba(1,33,72,.10), 0 1px 2px rgba(1,33,72,.06);
    --shadow-md: 0 6px 16px -6px rgba(1,33,72,.14), 0 2px 6px -2px rgba(1,33,72,.08);
    --shadow-lg: 0 16px 40px -12px rgba(1,33,72,.20), 0 6px 14px -6px rgba(1,33,72,.10);
    --shadow-xl: 0 30px 60px -18px rgba(1,33,72,.28), 0 12px 24px -12px rgba(1,33,72,.14);
    --shadow-navy: 0 24px 48px -18px rgba(1,33,72,.45);
    --ring-accent: 0 0 0 4px rgba(41,134,226,.22);

    --transition: 0.22s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 0.45s cubic-bezier(0.16, 1, 0.3, 1);

    --container-sm:  640px;
    --container-md:  768px;
    --container-lg:  1024px;
    --container-xl:  1280px;
    --container-2xl: 1536px;
}

/* ===== Body & Typography ===== */

body {
    font-family: var(--font-sans);
    font-size: var(--text-base);
    line-height: 1.65;
    color: var(--color-text);
    background: var(--color-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: -0.015em;
    margin-top: var(--space-6);
    margin-bottom: var(--space-3);
    color: var(--color-secondary);
}

h1 { font-size: clamp(2rem, 4.5vw, var(--text-5xl)); font-weight: 800; letter-spacing: -0.025em; }
h2 { font-size: clamp(1.6rem, 3.2vw, var(--text-4xl)); font-weight: 800; letter-spacing: -0.02em; }
h3 { font-size: clamp(1.3rem, 2.5vw, var(--text-2xl)); }
h4 { font-size: var(--text-xl); }
h5 { font-size: var(--text-lg); }
h6 { font-size: var(--text-base); }

p { margin-bottom: var(--space-4); }

a {
    color: var(--color-primary);
    text-decoration: none;
    transition: color var(--transition);
}
a:hover { color: var(--color-accent-dark); text-decoration: underline; }
a:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
    border-radius: 2px;
}

img { max-width: 100%; height: auto; }
figure { margin: 0 0 var(--space-6); }
figcaption { font-size: var(--text-sm); color: var(--color-text-muted); margin-top: var(--space-2); }

ul, ol { padding-left: var(--space-6); margin-bottom: var(--space-4); }

blockquote {
    border-left: 4px solid var(--color-accent);
    padding: var(--space-2) var(--space-4);
    margin: var(--space-6) 0;
    font-style: italic;
    color: var(--color-text-muted);
}

code, kbd, samp, pre {
    font-family: var(--font-mono);
    font-size: 0.9em;
    background: var(--color-bg-muted);
    padding: 0.1em 0.3em;
    border-radius: var(--radius-sm);
}

pre {
    padding: var(--space-4);
    overflow-x: auto;
    border-radius: var(--radius);
}

hr {
    border: 0;
    height: 1px;
    background: var(--color-border);
    margin: var(--space-8) 0;
}

table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: var(--space-6);
}
th, td { padding: var(--space-3); border: 1px solid var(--color-border); text-align: left; }
th { background: var(--color-bg-alt); font-weight: 600; }

/* RTL */
[dir="rtl"] ul, [dir="rtl"] ol { padding-left: 0; padding-right: var(--space-6); }
[dir="rtl"] blockquote { border-left: 0; border-right: 4px solid var(--color-accent); }

/* ===== Skip link (a11y) ===== */
.skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 1000;
    padding: var(--space-3) var(--space-4);
    background: var(--color-primary);
    color: var(--color-text-inverse);
    text-decoration: none;
}
.skip-link:focus { left: 0; }

/* ===== Image lazy load ===== */
img[loading="lazy"] {
    opacity: 0;
    transition: opacity 0.4s ease-in;
}
img[loading="lazy"].loaded,
img[loading="lazy"].is-loaded { opacity: 1; }
