/* ==========================================================================
   KeyDesignArt — Hizmetler sayfası
   Dört kart: rozetli ikon, hizmet adı, veritabanından gelen özet ve kapsam
   listesi. Kartın tamamı tıklanabilir; bağlantı başlıkta durur.
   Kapanış çağrısı ortak bölüm dosyasından gelir.
   ========================================================================== */

@layer sections {

    /* Başlık bloğu — ana sayfadaki bölümlerle aynı ritim
       ---------------------------------------------------------------------- */
    .kda-services__head {
        display: grid;
        gap: var(--kda-space-4);
        margin-bottom: var(--kda-space-7);
    }

    .kda-services__head h2 {
        max-width: none;
        margin: 0;
        text-wrap: pretty;
    }

    .kda-services__intro {
        max-width: none;
        margin: 0;
        color: var(--kda-ink-soft);
        font-size: var(--kda-text-lg);
        font-weight: var(--kda-weight-light);
    }

    .kda-services__grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: var(--kda-space-4);
        margin: 0;
        padding: 0;
        list-style: none;
    }

    /* Kart
       ---------------------------------------------------------------------- */
    .kda-services__card {
        position: relative;
        max-width: none;
        display: flex;
        flex-direction: column;
        gap: var(--kda-space-3);
        overflow: hidden;
        padding: var(--kda-space-6) var(--kda-space-5) var(--kda-space-5);
        border: 1px solid var(--kda-line);
        border-radius: var(--kda-radius-button);
        background: var(--kda-surface);
        transition: border-color var(--kda-dur-base) var(--kda-ease),
                    background-color var(--kda-dur-base) var(--kda-ease),
                    transform var(--kda-dur-base) var(--kda-ease);
    }

    .kda-services__card::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 2.25rem;
        height: 2px;
        background: var(--kda-accent);
        box-shadow: 0 0 14px var(--kda-accent-glow);
        pointer-events: none;
        transition: width var(--kda-dur-slow) var(--kda-ease);
    }

    .kda-services__card:hover,
    .kda-services__card:has(a:focus-visible) {
        border-color: var(--kda-line-strong);
        background: var(--kda-surface-2);
        transform: translateY(-3px);
    }

    .kda-services__card:hover::before,
    .kda-services__card:has(a:focus-visible)::before {
        width: 100%;
    }

    /* İkon rozeti — çalışma ilkeleriyle aynı jest
       ---------------------------------------------------------------------- */
    .kda-services__badge {
        display: grid;
        place-items: center;
        width: 2.75rem;
        height: 2.75rem;
        margin-bottom: var(--kda-space-1);
        border: 1px solid var(--kda-line);
        border-radius: var(--kda-radius-button);
        background: var(--kda-bg);
        transition: border-color var(--kda-dur-base) var(--kda-ease),
                    background-color var(--kda-dur-base) var(--kda-ease);
    }

    .kda-services__card:hover .kda-services__badge,
    .kda-services__card:has(a:focus-visible) .kda-services__badge {
        border-color: color-mix(in srgb, var(--kda-accent) 45%, transparent);
        background: var(--kda-accent-ghost);
    }

    .kda-services__icon {
        width: 1.5rem;
        height: 1.5rem;
        background: var(--kda-ink-muted);
        transition: background-color var(--kda-dur-base) var(--kda-ease);
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.4'/%3E%3C/svg%3E") center / contain no-repeat;
    }

    .kda-services__card:hover .kda-services__icon,
    .kda-services__card:has(a:focus-visible) .kda-services__icon {
        background: var(--kda-accent);
    }

    .kda-services__icon--code {
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.9' y='4.2' width='18.2' height='15.6' rx='2.2'/%3E%3Cpath d='M2.9 8.9h18.2M6.2 6.5h.01M8.9 6.5h.01'/%3E%3Cpath d='m10.6 12.6-1.9 1.9 1.9 1.9M14 12.6l1.9 1.9-1.9 1.9'/%3E%3C/svg%3E");
    }

    .kda-services__icon--api {
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='5.4' cy='5.8' r='2.6'/%3E%3Ccircle cx='5.4' cy='18.2' r='2.6'/%3E%3Ccircle cx='18.6' cy='12' r='2.6'/%3E%3Cpath d='M7.7 7.1 16.3 10.7M7.7 16.9l8.6-3.6'/%3E%3C/svg%3E");
    }

    .kda-services__icon--cloud {
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 19.2h10.3a4.1 4.1 0 0 0 .5-8.2 6.1 6.1 0 0 0-11.7-1.4A4.4 4.4 0 0 0 7 19.2Z'/%3E%3Cpath d='M12 16.4v-5.2m0 0-2 2m2-2 2 2'/%3E%3C/svg%3E");
    }

    .kda-services__icon--palette {
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.8c-5 0-9.2 4-9.2 9.2s4.2 9.2 9.2 9.2a2.2 2.2 0 0 0 1.7-3.6 2.2 2.2 0 0 1 1.7-3.6h2a4.4 4.4 0 0 0 4.4-4.4c0-3.8-4.4-6.8-9.8-6.8Z' fill='none' stroke='%23000' stroke-width='1.8' stroke-linejoin='round'/%3E%3Ccircle cx='7.4' cy='12.9' r='1.25' fill='%23000'/%3E%3Ccircle cx='8.6' cy='8.5' r='1.25' fill='%23000'/%3E%3Ccircle cx='12.6' cy='6.6' r='1.25' fill='%23000'/%3E%3Ccircle cx='16.5' cy='8.9' r='1.25' fill='%23000'/%3E%3C/svg%3E");
    }

    /* Metin
       ---------------------------------------------------------------------- */
    .kda-services__name {
        margin: 0;
        padding-right: 3rem;
        color: var(--kda-ink);
        font-family: var(--kda-font-display);
        font-size: var(--kda-text-xl);
        font-weight: var(--kda-weight-medium);
        line-height: 1.1;
        letter-spacing: 0.01em;
        text-transform: uppercase;
    }

    .kda-services__name a {
        color: inherit;
        text-decoration: none;
    }

    /* Kartın tamamı tıklanabilir; kartın kendisi tek konumlandırılmış ata. */
    .kda-services__name a::after {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: inherit;
    }

    .kda-services__name a:focus-visible {
        outline: none;
    }

    .kda-services__text {
        max-width: none;
        margin: 0;
        color: var(--kda-ink-muted);
        font-size: var(--kda-text-md);
        line-height: 1.75;
    }

    /* Kapsam listesi
       ---------------------------------------------------------------------- */
    .kda-services__tags {
        display: grid;
        gap: 0;
        margin: var(--kda-space-2) 0 0;
        padding: var(--kda-space-3) 0 0;
        border-top: 1px solid var(--kda-line);
        list-style: none;
    }

    .kda-services__tags li {
        display: flex;
        align-items: baseline;
        gap: var(--kda-space-2);
        max-width: none;
        padding-block: 0.3rem;
        color: var(--kda-ink-soft);
        font-size: var(--kda-text-2xs);
        font-weight: var(--kda-weight-semibold);
        letter-spacing: var(--kda-tracking-wide);
        text-transform: uppercase;
    }

    .kda-services__tags li::before {
        content: "";
        flex: 0 0 auto;
        width: 0.5rem;
        height: 1px;
        background: var(--kda-accent);
    }

    /* Alt satır — bağlantı değil, kartın tamamı zaten bağlantı
       ---------------------------------------------------------------------- */
    .kda-services__more {
        display: inline-flex;
        align-items: center;
        gap: var(--kda-space-2);
        margin-top: auto;
        padding-top: var(--kda-space-4);
        color: var(--kda-accent);
        font-size: var(--kda-text-md);
        font-weight: var(--kda-weight-semibold);
    }

    .kda-services__more::after {
        content: "";
        width: 0.85em;
        height: 0.85em;
        background: currentColor;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 17 17 7M9 7h8v8' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
        transition: transform var(--kda-dur-base) var(--kda-ease);
    }

    .kda-services__card:hover .kda-services__more::after {
        transform: translate(2px, -2px);
    }

    /* Köşe rozeti — portföy kartındaki jestin aynısı
       ---------------------------------------------------------------------- */
    .kda-services__arrow {
        position: absolute;
        top: var(--kda-space-5);
        right: var(--kda-space-5);
        display: grid;
        place-items: center;
        width: 2.25rem;
        height: 2.25rem;
        pointer-events: none;
        border-radius: var(--kda-radius-button);
        background: var(--kda-accent);
        opacity: 0;
        transform: translateY(-6px);
        transition: opacity var(--kda-dur-base) var(--kda-ease),
                    transform var(--kda-dur-base) var(--kda-ease);
    }

    .kda-services__arrow::after {
        content: "";
        width: 0.9rem;
        height: 0.9rem;
        background: var(--kda-on-accent);
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 17 17 7M9 7h8v8' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
    }

    .kda-services__card:hover .kda-services__arrow,
    .kda-services__card:has(a:focus-visible) .kda-services__arrow {
        opacity: 1;
        transform: none;
    }

    .kda-services__card:has(a:focus-visible) {
        outline: 2px solid var(--kda-accent-bright);
        outline-offset: 3px;
    }

    /* Duyarlı yerleşim
       ---------------------------------------------------------------------- */
    @media (min-width: 48rem) {
        .kda-services__grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    @media (min-width: 64rem) {
        .kda-services__card {
            padding: var(--kda-space-7) var(--kda-space-6) var(--kda-space-6);
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .kda-services__card:hover,
        .kda-services__card:has(a:focus-visible) {
            transform: none;
        }
    }

}
