/*
 * CBA Theme — vitrin kabuğu
 * Public header, drawer, footer, sayfa geçiş perdesi, özel imleç ve ortak vitrin yardımcıları.
 * Client shell (client-topbar/sidebar) bu dosyadan etkilenmez: tüm kurallar .cba-* veya
 * [data-cba-public] kapsamındadır.
 */

/* ── ortak ───────────────────────────────────────────────────────────── */
[data-cba-public] { --cba-header-h: 4.75rem; }
[data-cba-public] body { font-family: var(--cba-font-body); }

.cba-skip {
    position: fixed; inset-inline-start: 1rem; inset-block-start: -6rem; z-index: 2000;
    padding: .75rem 1.25rem; border-radius: var(--cba-radius-pill);
    background: var(--cba-brand); color: var(--cba-on-brand); font-weight: 700; text-decoration: none;
    transition: inset-block-start var(--cba-dur-2) var(--cba-ease-out);
}
.cba-skip:focus { inset-block-start: 1rem; }
main:focus { outline: none; }

.cba-wrap { inline-size: 100%; max-inline-size: calc(var(--cba-max) + 2 * var(--cba-gutter)); margin-inline: auto; padding-inline: var(--cba-gutter); }

.cba-pill.btn {
    --bs-btn-padding-x: 1.35rem; --bs-btn-padding-y: .7rem;
    display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
    border-radius: var(--cba-radius-pill); font-family: var(--cba-font-display); font-weight: 600; letter-spacing: -.01em;
    min-block-size: 2.75rem;
}
.cba-pill.btn .bi { transition: transform var(--cba-dur-2) var(--cba-ease-expo); }
.cba-pill.btn:hover .bi-arrow-up-right, .cba-pill.btn:focus-visible .bi-arrow-up-right { transform: translate(.15rem, -.15rem); }
.cba-pill.btn:hover .bi-arrow-right, .cba-pill.btn:focus-visible .bi-arrow-right { transform: translateX(.25rem); }

.cba-btn-ghost.btn {
    --bs-btn-color: var(--cba-paper); --bs-btn-border-color: color-mix(in srgb, var(--cba-paper) 30%, transparent);
    --bs-btn-hover-color: var(--cba-on-brand); --bs-btn-hover-bg: var(--cba-paper); --bs-btn-hover-border-color: var(--cba-paper);
    --bs-btn-active-color: var(--cba-on-brand); --bs-btn-active-bg: var(--cba-paper); --bs-btn-active-border-color: var(--cba-paper);
}

.cba-eyebrow {
    display: inline-flex; align-items: center; gap: .6rem; margin-block-end: 1.25rem;
    font-family: var(--cba-font-display); font-size: var(--cba-step--1); font-weight: 500;
    letter-spacing: .14em; text-transform: uppercase; color: var(--cba-brand);
}
.cba-eyebrow::before { content: ""; inline-size: 1.75rem; block-size: 1px; background: currentColor; }
.cba-index { font-family: var(--cba-font-display); font-variant-numeric: tabular-nums; color: var(--cba-paper-dim); }

/* ── header ──────────────────────────────────────────────────────────── */
.cba-header.site-header { position: sticky; inset-block-start: 0; z-index: 1030; }
.cba-header-inner {
    block-size: var(--cba-header-h); gap: 1.5rem;
    inline-size: 100%; max-inline-size: calc(var(--cba-max) + 2 * var(--cba-gutter)); margin-inline: auto; padding-inline: var(--cba-gutter);
}
.cba-header .site-brand { flex-shrink: 0; margin-inline-end: 0 !important; }
.cba-header .site-logo { block-size: 2rem; inline-size: auto; }
.cba-header .site-nav { gap: .25rem; margin-inline: auto; }
.cba-header .site-nav > .nav-item > .nav-link {
    position: relative; padding: .5rem .85rem; border-radius: var(--cba-radius-pill);
    font-family: var(--cba-font-display); font-size: .95rem; font-weight: 500; letter-spacing: -.01em;
    color: color-mix(in srgb, var(--cba-paper) 78%, transparent);
    transition: color var(--cba-dur-1) ease, background-color var(--cba-dur-1) ease;
}
.cba-header .site-nav > .nav-item > .nav-link:hover,
.cba-header .site-nav > .nav-item > .nav-link:focus-visible,
.cba-header .site-nav > .nav-item.show > .nav-link { color: var(--cba-paper); background: color-mix(in srgb, var(--cba-paper) 8%, transparent); }
.cba-header .nav-dropdown {
    --bs-dropdown-bg: var(--cba-night-2); --bs-dropdown-border-color: var(--cba-line);
    --bs-dropdown-link-color: var(--cba-paper); --bs-dropdown-link-hover-bg: color-mix(in srgb, var(--cba-paper) 7%, transparent);
    --bs-dropdown-link-hover-color: var(--cba-paper);
    border-radius: var(--cba-radius-lg); padding: .6rem; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .6);
}
.cba-header .nav-dropdown .item-desc { color: var(--cba-paper-dim); }
.cba-header .icon-disc { background: color-mix(in srgb, var(--cba-brand) 16%, transparent); color: var(--cba-brand); }
.cba-header .header-icon-btn { border-radius: 50%; inline-size: 2.75rem; block-size: 2.75rem; }
.cba-header-actions { flex-shrink: 0; }
.cba-header .drawer-toggle { order: 10; }
.cba-header-cta { white-space: nowrap; }

/* Koyu sahne sayfalarında header içerik üstüne biner (şeffaf → kaydırınca dolu). */
body.chrome-overlay .cba-header.site-header { position: fixed; inset-inline: 0; }

/* ── drawer ──────────────────────────────────────────────────────────── */
.cba-drawer.offcanvas {
    --bs-offcanvas-width: min(100vw, 30rem);
    --bs-offcanvas-bg: var(--cba-night); --bs-offcanvas-color: var(--cba-paper);
    border-inline-start: 1px solid var(--cba-line);
}
.cba-drawer .btn-close { filter: invert(1) grayscale(1) brightness(2); }
.cba-drawer .drawer-link {
    display: flex; align-items: center; gap: .75rem; inline-size: 100%;
    padding: .9rem 0; border: 0; border-block-end: 1px solid var(--cba-line); background: none;
    font-family: var(--cba-font-display); font-size: var(--cba-step-2); font-weight: 500; letter-spacing: -.02em;
    color: var(--cba-paper); text-align: start; text-decoration: none;
}
.cba-drawer .drawer-link:hover, .cba-drawer .drawer-link:focus-visible { color: var(--cba-brand); }
.cba-drawer .drawer-sublink { display: block; padding: .5rem 0 .5rem 1rem; color: var(--cba-paper-dim); text-decoration: none; }
.cba-drawer .drawer-sublink:hover { color: var(--cba-paper); }
.cba-drawer-meta { display: grid; gap: .5rem; }
.cba-drawer-meta-link { display: inline-flex; align-items: center; gap: .6rem; color: var(--cba-paper-dim); text-decoration: none; min-block-size: 2.75rem; }
.cba-drawer-meta-link:hover { color: var(--cba-paper); }

/* ── footer ──────────────────────────────────────────────────────────── */
.cba-footer.site-footer { background: var(--cba-night); color: var(--cba-paper-dim); border-block-start: 1px solid var(--cba-line); overflow: hidden; }
.cba-footer-inner { inline-size: 100%; max-inline-size: calc(var(--cba-max) + 2 * var(--cba-gutter)); margin-inline: auto; padding: clamp(4rem, 3rem + 5vw, 8rem) var(--cba-gutter) 2rem; }
.cba-footer-lead { padding-block-end: clamp(3rem, 2rem + 4vw, 6rem); border-block-end: 1px solid var(--cba-line); }
.cba-footer-kicker { margin: 0 0 1rem; font-family: var(--cba-font-display); color: var(--cba-paper-dim); font-size: var(--cba-step-0); }
.cba-footer-statement {
    display: inline-flex; align-items: flex-end; gap: clamp(.75rem, 2vw, 2rem);
    font-family: var(--cba-font-display); font-size: var(--cba-step-6); font-weight: 800; line-height: var(--cba-leading-tight);
    letter-spacing: var(--cba-tracking-tight); color: var(--cba-paper); text-decoration: none; text-wrap: balance;
}
.cba-footer-statement .bi { font-size: .7em; color: var(--cba-brand); transition: transform var(--cba-dur-3) var(--cba-ease-expo); }
.cba-footer-statement:hover .bi, .cba-footer-statement:focus-visible .bi { transform: translate(.12em, -.12em) rotate(45deg); }
.cba-footer-statement span { background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat; transition: background-size var(--cba-dur-3) var(--cba-ease-expo); }
.cba-footer-statement:hover span { background-size: 100% 2px; }
.cba-footer-contact { display: flex; flex-wrap: wrap; gap: .5rem 2rem; margin-block-start: 2rem; }
.cba-footer-contact-link { display: inline-flex; align-items: center; gap: .5rem; min-block-size: 2.75rem; color: var(--cba-paper); font-size: var(--cba-step-1); text-decoration: none; }
.cba-footer-contact-link:hover { color: var(--cba-brand); }
.cba-footer-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 3rem; padding-block: 3.5rem; }
@media (max-width: 767.98px) { .cba-footer-grid { grid-template-columns: 1fr; } }
.cba-footer .footer-brand-desc { font-family: var(--cba-font-display); color: var(--cba-paper); font-size: var(--cba-step-1); line-height: 1.3; max-inline-size: 22ch; }
.cba-footer .footer-nav { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 2rem; }
.cba-footer .footer-heading { font-family: var(--cba-font-display); font-size: var(--cba-step--1); letter-spacing: .12em; text-transform: uppercase; color: var(--cba-paper-dim); margin-block-end: 1rem; font-weight: 500; }
.cba-footer .footer-link { display: block; padding-block: .35rem; color: var(--cba-paper); text-decoration: none; }
.cba-footer .footer-link:hover { color: var(--cba-brand); }
.cba-footer-social { display: flex; gap: .5rem; }
.cba-footer-social-link { display: inline-grid; place-items: center; inline-size: 2.75rem; block-size: 2.75rem; border: 1px solid var(--cba-line); border-radius: 50%; color: var(--cba-paper); text-decoration: none; transition: background-color var(--cba-dur-1) ease, color var(--cba-dur-1) ease; }
.cba-footer-social-link:hover { background: var(--cba-paper); color: var(--cba-night); }
.cba-footer-wordmark {
    font-family: var(--cba-font-display); font-weight: 700; line-height: .8; letter-spacing: -.06em;
    font-size: clamp(4rem, 19vw, 18rem); white-space: nowrap; text-align: center;
    color: transparent; -webkit-text-stroke: 1px color-mix(in srgb, var(--cba-paper) 22%, transparent);
    margin-block: 1rem -0.12em; user-select: none;
}
.cba-footer .footer-base { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.5rem; padding-block-start: 1.5rem; border-block-start: 1px solid var(--cba-line); font-size: var(--cba-step--1); }
.cba-footer .footer-base-end { margin-inline-start: auto; display: flex; gap: 1.5rem; align-items: center; }

/* ── WhatsApp kısayolu ──────────────────────────────────────────────── */
.cba-whatsapp {
    position: fixed; inset-inline-start: 1.25rem; inset-block-end: 1.25rem; z-index: 1040;
    display: grid; place-items: center; inline-size: 3.25rem; block-size: 3.25rem; border-radius: 50%;
    background: #25d366; color: #0b2e17; font-size: 1.5rem; text-decoration: none; box-shadow: 0 12px 30px -10px rgba(0, 0, 0, .5);
    transition: transform var(--cba-dur-2) var(--cba-ease-expo);
}
.cba-whatsapp:hover { transform: scale(1.06); color: #0b2e17; }

/* ── özel imleç (yalnızca ince işaretçi + hover destekleyen cihazlar) ─── */
.cba-cursor { display: none; }
@media (hover: hover) and (pointer: fine) {
    [data-cba-public] .cba-cursor {
        position: fixed; inset-block-start: 0; inset-inline-start: 0; z-index: 2500; display: grid; place-items: center;
        inline-size: .75rem; block-size: .75rem; margin: -.375rem 0 0 -.375rem; border-radius: 50%;
        background: var(--cba-brand); pointer-events: none; opacity: 0; transform: translate3d(-200px, -200px, 0);
        transition: inline-size var(--cba-dur-2) var(--cba-ease-expo), block-size var(--cba-dur-2) var(--cba-ease-expo),
                    margin var(--cba-dur-2) var(--cba-ease-expo), opacity var(--cba-dur-2) ease;
        will-change: transform;
    }
    [data-cba-public] .cba-cursor.is-visible { opacity: 1; }
    [data-cba-public] .cba-cursor.is-active { inline-size: 5.5rem; block-size: 5.5rem; margin: -2.75rem 0 0 -2.75rem; }
    .cba-cursor-label { font-family: var(--cba-font-display); font-size: .8rem; font-weight: 600; color: var(--cba-on-brand); opacity: 0; transition: opacity var(--cba-dur-1) ease; white-space: nowrap; }
    .cba-cursor.is-active .cba-cursor-label { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) { .cba-cursor { display: none !important; } }
html[data-motion=off] .cba-cursor { display: none !important; }

/* ── koyu sahne yardımcıları (ana sayfa + hizmet sayfaları) ─────────── */
.cba-stage { background: var(--cba-night); color: var(--cba-paper); }
.cba-stage :is(h1, h2, h3, h4) { color: var(--cba-paper); }
.cba-display { font-family: var(--cba-font-display); font-weight: 800; line-height: var(--cba-leading-tight); letter-spacing: var(--cba-tracking-tight); text-wrap: balance; }
.cba-lead { font-size: var(--cba-step-1); line-height: 1.45; color: color-mix(in srgb, var(--cba-paper) 78%, var(--cba-night)); max-inline-size: 38ch; }
.cba-section { padding-block: var(--cba-section); position: relative; }
.cba-rule { border: 0; border-block-start: 1px solid var(--cba-line); opacity: 1; margin: 0; }
