/* HC Galeri · Footer gerçek viewport sabitleme v4 */

:root {
    --hc-global-footer-height: 54px;
    --hc-fixed-footer-height: 54px;
}

/*
 * app.css içindeki sayfa geçiş sistemi body üzerinde kalıcı olarak
 * will-change: transform, filter bırakıyor. Bu özellik, fixed konumlu
 * alt öğelerin viewport yerine body'ye bağlanmasına neden olur.
 *
 * Geçiş aktif değilken yalnızca opacity için hazırlık bırakılır.
 * Sayfa giriş/çıkış sınıflarında mevcut scale/up/blur geçişleri korunur.
 */
html.hc-footer-viewport-v4:not(.hc-page-transition-preload):not(.hc-page-transition-leaving) body,
html.hc-footer-fixed-recovery-v4:not(.hc-page-transition-preload):not(.hc-page-transition-leaving) body {
    transform: none !important;
    filter: none !important;
    perspective: none !important;
    contain: none !important;
    will-change: opacity !important;
}

html.hc-footer-viewport-v4,
html.hc-footer-fixed-recovery-v4 {
    scroll-padding-bottom: var(--hc-global-footer-height);
}

html.hc-footer-viewport-v4 body,
html.hc-footer-fixed-recovery-v4 body {
    padding-bottom: var(--hc-global-footer-height) !important;
}

html.hc-footer-viewport-v4 .site-footer,
html.hc-footer-fixed-recovery-v4 .site-footer,
.site-footer.hc-footer-viewport-fixed-v4 {
    position: fixed !important;
    z-index: 205 !important;
    inset: auto 0 0 0 !important;
    width: 100% !important;
    margin: 0 !important;
    flex: none !important;
    transform: none !important;
    translate: none !important;
    border-top: 1px solid
        color-mix(in srgb, var(--border) 86%, transparent) !important;
    background:
        color-mix(in srgb, var(--surface) 92%, transparent) !important;
    box-shadow:
        0 -8px 28px color-mix(in srgb, #000 8%, transparent) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    overflow: visible !important;
}

html.hc-footer-viewport-v4 .site-footer .footer-inner,
html.hc-footer-fixed-recovery-v4 .site-footer .footer-inner,
.site-footer.hc-footer-viewport-fixed-v4 .footer-inner {
    min-height: 43px !important;
}

html.is-lightbox-open .site-footer,
body.is-lightbox-open .site-footer,
html[data-hc-hide-fixed-footer="1"] .site-footer,
body[data-hc-hide-fixed-footer="1"] .site-footer {
    display: none !important;
}

.footer-history-panel {
    max-height: min(
        500px,
        calc(
            100dvh
            - var(--header-height)
            - var(--hc-global-footer-height)
            - 28px
        )
    ) !important;
}

@media print {
    html.hc-footer-viewport-v4 body,
    html.hc-footer-fixed-recovery-v4 body {
        padding-bottom: 0 !important;
        transform: none !important;
        filter: none !important;
        will-change: auto !important;
    }

    html.hc-footer-viewport-v4 .site-footer,
    html.hc-footer-fixed-recovery-v4 .site-footer,
    .site-footer.hc-footer-viewport-fixed-v4 {
        position: static !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
}
