/**
 * İkramedya Web Tasarım Hizmetleri — Frontend ana stil dosyası
 * Widget ve modül CSS dosyaları bu dosyaya bağımlı z-index değişkenlerini kullanır.
 * Buton bileşeni (components/buttons.css) layout/main.php içinde sayfa CSS'lerinden sonra yüklenir.
 */

:root {
    --site-font-family: var(--theme-font-body, var(--theme-font, 'Inter', system-ui, sans-serif));
    --site-heading-font: var(--theme-font-heading, var(--theme-heading-font, var(--site-font-family)));
    --site-text: var(--theme-text, #0f172a);
    --site-text-muted: var(--theme-text-muted, #64748b);
    --site-bg: var(--theme-surface, #ffffff);
    --site-border: var(--theme-border, #dbe5e8);

    /* Sabit bileşen z-index katmanları */
    --z-mobile-bar: 900;
    --z-header: 300;
    --z-mega: 310;
    --z-overlay: 980;
    --z-modal: 990;
    --z-float-widgets: 9700;
    --z-float-cookie: 9750;
    --z-float-back-top: 9800;
    --z-float-ikrabot: 9850;
    --z-float-widget-modal: 9950;
    --z-mobile-nav-overlay: 9960;
    --z-mobile-nav-panel: 9970;

    /* Sabit bileşen konum ofsetleri */
    --float-edge: 1.25rem;
    --float-ikrabot-h: 3.75rem;
    --float-widget-gap: 0.625rem;
    --float-cookie-offset: 5rem;
    --float-cookie-reserve: 0px;
    --float-widget-edge-stack: 0px;
    --page-header-top-gap: clamp(0.5rem, 1.4vw, 1.1rem);
    --page-header-hero-pad: clamp(1.6rem, 3.2vw, 2.6rem);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-x: clip;
    font-size: var(--theme-base-font-size, 16px);
    font-synthesis: none;
}

body,
input,
select,
textarea,
button {
    margin: 0;
    font-family: var(--site-font-family);
    line-height: var(--theme-line-height, 1.6);
    letter-spacing: var(--theme-letter-spacing, 0);
}

body {
    overflow-x: clip;
    color: var(--site-text);
    background-color: var(--theme-bg, #f5f8f8);
    background-image: none;
    font-synthesis: none;
}

body.mobile-nav-open {
    overflow: hidden;
    touch-action: none;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--site-heading-font, var(--site-font-family));
    font-weight: var(--theme-heading-weight, 300);
    letter-spacing: var(--theme-letter-spacing, inherit);
    font-synthesis: none;
}

.site-icerik {
    min-height: 50vh;
}

a {
    color: inherit;
}

img {
    max-width: 100%;
    height: auto;
}

/* FAZ 6 — Global accessibility: keyboard focus + reduced motion */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
summary:focus-visible,
.ikra-menu__link:focus-visible,
.content-filter__link:focus-visible,
.content-card__link:focus-visible {
    outline: 2px solid var(--theme-input-focus, var(--theme-primary, #2563eb));
    outline-offset: 2px;
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: none;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto !important;
    }

    .prolog-line {
        animation: none;
        stroke-dashoffset: 0;
    }

    .ik-btn,
    .ik-btn::before,
    .ik-btn::after,
    .ik-btn__inner,
    .home-blog__slider,
    .content-card {
        animation: none !important;
        transition: none !important;
    }
}

/* ── Prolog / hero çizgi dekoru (GLOBAL.HERO.LINES.REBUILD.1) ── */
.prolog-bg-lines {
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(100%, 910px);
    max-width: 910px;
    height: 215px;
    transform: translateX(-50%) translateY(-55%);
    pointer-events: none;
    z-index: 0;
    overflow: visible;
    color: color-mix(in srgb, var(--theme-primary, #2563eb) 55%, var(--theme-text-muted, #64748b));
}

.prolog-bg-lines svg {
    width: 100%;
    height: auto;
    overflow: visible;
}

.prolog-line {
    fill: none;
    stroke-linecap: round;
    stroke-width: 1.2;
    opacity: 0.34;
    stroke-dasharray: 900;
    stroke-dashoffset: 900;
    animation: prologLineFlow 10s ease-in-out infinite;
}

.prolog-line--one {
    animation-delay: 0s;
    opacity: 0.28;
}

.prolog-line--two {
    animation-delay: 1.5s;
    opacity: 0.46;
}

@keyframes prologLineFlow {
    0% {
        stroke-dashoffset: 900;
    }

    45% {
        stroke-dashoffset: 0;
    }

    70% {
        stroke-dashoffset: 0;
    }

    100% {
        stroke-dashoffset: -900;
    }
}

.blog-hero,
.refs-hero,
.page-hero,
.corp-showcase__hero,
.corp-prolog {
    position: relative;
    overflow: hidden;
}

.blog-hero,
.refs-hero,
.page-shell--standard .page-hero,
.corp-showcase__hero,
.services-hero,
.offer-page__hero,
.ref-case__hero {
    margin-top: var(--page-header-top-gap);
}

.section-hero-content,
.blog-hero__inner,
.blog-detail-hero__inner,
.refs-hero__inner,
.page-hero__inner,
.corp-showcase__hero-inner,
.corp-prolog__inner {
    position: relative;
    z-index: 2;
}

.corp-prolog__quote {
    position: relative;
    z-index: 1;
}

@media (max-width: 768px) {
    :root {
        --float-edge: 1rem;
    }

    body.has-cookie-banner-visible {
        --float-cookie-offset: var(--float-cookie-reserve, 7.5rem);
    }

    body.has-cookie-banner-visible .ik-top-btn,
    body.has-cookie-banner-visible .ik-top-btn.is-visible {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }

    body.has-cookie-banner-visible .ikramedya-cookie-shortcut.is-fab {
        bottom: calc(var(--float-edge) + var(--float-cookie-reserve, 7.5rem) + env(safe-area-inset-bottom, 0));
    }

    .prolog-bg-lines {
        width: 120%;
        transform: translateX(-50%) translateY(-48%);
    }

    .blog-hero,
    .refs-hero,
    .page-shell--standard .page-hero,
    .corp-showcase__hero,
    .services-hero,
    .offer-page__hero,
    .ref-case__hero {
        margin-top: clamp(0.35rem, 1vw, 0.7rem);
    }
}
