﻿/* =========================================================
   TMV2 FOOTER
   Kurumsal, modern, dark/light uyumlu footer
========================================================= */

.tmv2-footer {
    position: relative;
    overflow: hidden;
    /* use centralized footer gradient and muted overlay */
    background: radial-gradient(circle at top left, rgba(var(--tmv2-footer-muted-rgb), .06), transparent 34%), var(--tmv2-footer-bg-gradient);
    color: var(--tmv2-on-surface);
}

    .tmv2-footer::before {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: linear-gradient(90deg, rgba(var(--tmv2-footer-muted-rgb), .04), transparent 35%), radial-gradient(circle at bottom right, rgba(var(--tmv2-color-primary-rgb), .12), transparent 32%);
    }

    .tmv2-footer > * {
        position: relative;
        z-index: 1;
    }

.tmv2-footer__top {
    padding-block: var(--tmv2-space-16);
}

.tmv2-footer__grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1.3fr .9fr;
    gap: var(--tmv2-space-8);
}

.tmv2-footer__col {
    min-width: 0;
}

.tmv2-footer__title {
    margin: 0 0 var(--tmv2-space-5);
    color: var(--tmv2-text-dark);
    font-family: var(--tmv2-font-heading-pro);
    font-size: .82rem;
    font-weight: var(--tmv2-weight-black);
    text-transform: uppercase;
    letter-spacing: .12em;
}

.tmv2-footer__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: .55rem;
}

    .tmv2-footer__list li {
        margin: 0;
    }

.tmv2-footer__link {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    max-width: 100%;
    color: rgba(var(--tmv2-text-soft-rgb), .74) !important;
    font-size: var(--tmv2-font-sm);
    font-weight: var(--tmv2-weight-semibold);
    line-height: 1.45;
    text-decoration: none;
    transition: color var(--tmv2-transition-fast), transform var(--tmv2-transition-fast);
}

    .tmv2-footer__link i {
        color: var(--tmv2-color-primary);
        font-size: .78rem;
        transition: transform var(--tmv2-transition-fast);
    }

    .tmv2-footer__link span {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .tmv2-footer__link:hover {
        color: var(--tmv2-text-dark) !important;
        transform: translateX(4px);
    }

        .tmv2-footer__link:hover i {
            transform: translateX(2px);
        }

    .tmv2-footer__empty {
    margin: 0;
    color: rgba(var(--tmv2-footer-muted-rgb), .48);
    font-size: var(--tmv2-font-sm);
}

.tmv2-footer__social {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .75rem;
}

.tmv2-social-link {
    width: 42px;
    height: 42px;
    display: inline-grid;
    place-items: center;
    border-radius: var(--tmv2-radius-pill);
    background: rgba(var(--tmv2-footer-muted-rgb), .08);
    color: var(--tmv2-text-main) !important;
    border: 1px solid rgba(var(--tmv2-footer-muted-rgb), .12);
    box-shadow: var(--tmv2-shadow-md);
    text-decoration: none;
    transition: transform var(--tmv2-transition-fast), background var(--tmv2-transition-fast), border-color var(--tmv2-transition-fast), box-shadow var(--tmv2-transition-fast);
}

    .tmv2-social-link i {
        font-size: 1.05rem;
        line-height: 1;
    }

    .tmv2-social-link:hover {
        transform: translateY(-4px);
        background: var(--tmv2-color-primary);
        border-color: var(--tmv2-color-primary);
        box-shadow: var(--tmv2-shadow-primary);
    }

.tmv2-footer__bottom {
    border-top: 1px solid rgba(var(--tmv2-footer-muted-rgb), .10);
    background: linear-gradient(180deg, rgba(var(--tmv2-footer-muted-rgb), .03), transparent 60%);
}

.tmv2-footer__bottom-inner {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--tmv2-space-4);
    flex-wrap: wrap;
}

.tmv2-footer__copyright {
    margin: 0;
    color: var(--tmv2-text-dark);
    font-size: var(--tmv2-font-sm);
    font-weight: var(--tmv2-weight-medium);
}

    .tmv2-footer__copyright a {
        color: var(--tmv2-text-dark) !important;
        font-weight: var(--tmv2-weight-bold);
        text-decoration: none;
    }

        .tmv2-footer__copyright a:hover {
            color: var(--tmv2-color-primary) !important;
        }

.tmv2-footer__legal {
    display: flex;
    align-items: center;
    gap: var(--tmv2-space-4);
    flex-wrap: wrap;
}

    .tmv2-footer__legal a {
        color: rgba(var(--tmv2-footer-muted-rgb), .64) !important;
        font-size: var(--tmv2-font-sm);
        font-weight: var(--tmv2-weight-semibold);
        text-decoration: none;
    }

        .tmv2-footer__legal a:hover {
            color: var(--tmv2-text-dark) !important;
        }

/* Light tema varyasyonu */
[data-tmv2-footer="light"] .tmv2-footer,
.tmv2-footer.tmv2-footer--light {
    background: radial-gradient(circle at top left, rgba(var(--tmv2-color-primary-rgb), .18), transparent 34%), var(--tmv2-bg-surface);
    color: var(--tmv2-text-main);
    border-top: 1px solid var(--tmv2-border);
}

/* Dark footer variant (explicit) */
[data-tmv2-footer="dark"] .tmv2-footer,
.tmv2-footer.tmv2-footer--dark {
    /* use centralized dark footer gradient and muted overlay */
    background: radial-gradient(circle at top left, rgba(var(--tmv2-footer-muted-rgb-dark), .06), transparent 34%), var(--tmv2-footer-bg-gradient-dark);
    color: var(--tmv2-text-inverse);
    /* ensure muted mapping for internals */
    --tmv2-footer-muted-rgb: var(--tmv2-footer-muted-rgb-dark);
}

    [data-tmv2-footer="dark"] .tmv2-footer__title,
    .tmv2-footer.tmv2-footer--dark .tmv2-footer__title {
        color: var(--tmv2-text-inverse);
    }

    [data-tmv2-footer="dark"] .tmv2-footer__link,
    .tmv2-footer.tmv2-footer--dark .tmv2-footer__link {
        color: rgba(var(--tmv2-text-inverse-rgb), .84) !important;
    }

        [data-tmv2-footer="dark"] .tmv2-footer__link:hover,
        .tmv2-footer.tmv2-footer--dark .tmv2-footer__link:hover {
            color: var(--tmv2-color-primary) !important;
        }

    [data-tmv2-footer="dark"] .tmv2-footer__bottom,
    .tmv2-footer.tmv2-footer--dark .tmv2-footer__bottom {
        background: linear-gradient(180deg, rgba(var(--tmv2-footer-muted-rgb), .06), transparent 60%);
        border-top: 1px solid rgba(var(--tmv2-footer-muted-rgb), .12);
    }

    [data-tmv2-footer="dark"] .tmv2-footer__copyright,
    .tmv2-footer.tmv2-footer--dark .tmv2-footer__copyright {
        color: rgba(var(--tmv2-text-inverse-rgb), .9) !important;
    }

    [data-tmv2-footer="light"] .tmv2-footer__title,
    .tmv2-footer.tmv2-footer--light .tmv2-footer__title {
        color: var(--tmv2-text-dark);
    }

    [data-tmv2-footer="light"] .tmv2-footer__link,
    .tmv2-footer.tmv2-footer--light .tmv2-footer__link {
        color: var(--tmv2-text-soft) !important;
    }

        [data-tmv2-footer="light"] .tmv2-footer__link:hover,
        .tmv2-footer.tmv2-footer--light .tmv2-footer__link:hover {
            color: var(--tmv2-color-primary) !important;
        }

    [data-tmv2-footer="light"] .tmv2-footer__bottom,
    .tmv2-footer.tmv2-footer--light .tmv2-footer__bottom {
        background: var(--tmv2-bg-surface-2);
        border-top: 1px solid var(--tmv2-border);
    }

    [data-tmv2-footer="light"] .tmv2-footer__copyright,
    .tmv2-footer.tmv2-footer--light .tmv2-footer__copyright,
    [data-tmv2-footer="light"] .tmv2-footer__legal a,
    .tmv2-footer.tmv2-footer--light .tmv2-footer__legal a {
        color: var(--tmv2-text-soft) !important;
    }

        [data-tmv2-footer="light"] .tmv2-footer__copyright a,
        .tmv2-footer.tmv2-footer--light .tmv2-footer__copyright a {
            color: var(--tmv2-text-dark) !important;
        }

/* Responsive */
@media (max-width: 1200px) {
    .tmv2-footer__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .tmv2-footer__top {
        padding-block: var(--tmv2-space-10);
    }

    .tmv2-footer__grid {
        grid-template-columns: 1fr;
        gap: var(--tmv2-space-7);
    }

    .tmv2-footer__bottom-inner {
        justify-content: center;
        text-align: center;
        padding-block: var(--tmv2-space-5);
    }

    .tmv2-footer__legal {
        justify-content: center;
    }

    .tmv2-footer__social {
        justify-content: flex-start;
    }
}
