.site-footer,
.site-footer *,
.site-footer *::before,
.site-footer *::after {
    box-sizing: border-box;
}

/* sr-only csak a footerben */
.site-footer .sr-only {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.site-footer {
    --f-line: rgba(255, 255, 255, .08);
    --f-stroke: rgba(255, 255, 255, .12);
    --f-card: rgba(255, 255, 255, .028);
    --f-card2: rgba(255, 255, 255, .048);

    --f-text: rgba(255, 255, 255, .82);
    --f-text2: rgba(255, 255, 255, .66);

    --f-link: rgba(255, 255, 255, .78);
    --f-link-hover: rgba(255, 255, 255, .94);

    --f-radius-lg: 20px;
    --f-radius-md: 14px;

    --f-field-bg: rgba(0, 0, 0, .14);
    --f-field-bd: rgba(255, 255, 255, .12);
    --f-field-bd-focus: rgba(255, 255, 255, .22);

    /* Footer tipó — kisebb és egységes */
    --f-fs: 12px;
    --f-lh: 1.7;

    font-size: var(--f-fs);
    line-height: var(--f-lh);

    background:
        radial-gradient(1400px 520px at 50% 0%,
            rgba(255, 255, 255, .04),
            rgba(255, 255, 255, 0) 64%),
        var(--bg);
    border-top: 1px solid var(--f-line);

    /* SOKKAL SZELLŐSEBB: nagyobb padding */
    padding: clamp(34px, 5vw, 72px) var(--page-px);
}

.site-footer .footer-inner {
    width: 100%;
    max-width: min(1320px, 94vw);
    margin: 0 auto;
}

/* TOP */
.site-footer .footer-top {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;

    /* szellősebb */
    gap: 14px;

    padding: 6px 0 22px;
    border-bottom: 1px solid var(--f-line);
}

.site-footer .footer-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.site-footer .footer-logo__img {
    height: 30px;
    width: auto;
    display: block;
    opacity: .98;
}

.site-footer .footer-top__copy {
    max-width: 72ch;
}

.site-footer .footer-top__title {
    margin: 0;
    font-weight: 850;
    letter-spacing: .10px;

    /* kisebb */
    font-size: clamp(16px, 1.7vw, 20px);
    line-height: 1.18;

    color: var(--text);
}

.site-footer .footer-top__text {
    margin: 8px 0 0;

    /* kisebb + levegősebb */
    font-size: 12px;
    line-height: 1.7;

    color: var(--f-text);
}

.site-footer .footer-top__actions {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    /* szellősebb */
    gap: 12px;

    flex-wrap: wrap;
    margin-top: 10px;
}

/* FONTOS: NINCS .site-footer .btn override — a saját gombod marad */

/* MINI FORM */
.site-footer .footer-mini {
    margin-top: 22px;
    width: 100%;
    max-width: 1080px;
    margin-inline: auto;

    /* szellősebb */
    padding: 18px;

    border-radius: var(--f-radius-lg);
    border: 1px solid var(--f-stroke);
    background: linear-gradient(180deg, var(--f-card2), var(--f-card));
    box-shadow: 0 16px 44px rgba(0, 0, 0, .26);
}

@supports ((-webkit-backdrop-filter: blur(10px)) or (backdrop-filter: blur(10px))) {
    .site-footer .footer-mini {
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
    }
}

.site-footer .footer-mini__row {
    display: grid;
    grid-template-columns: 1.2fr 1fr;

    /* szellősebb */
    gap: 14px;

    margin-bottom: 14px;
}

.site-footer .footer-mini__field {
    width: 100%;
    border-radius: var(--f-radius-md);
    border: 1px solid var(--f-field-bd);
    background: var(--f-field-bg);
    color: var(--text);

    /* nagyobb belső tér, kisebb betű */
    padding: 12px 14px;
    font-size: 12px;
    line-height: 1.35;

    outline: none;
    appearance: none;
}

.site-footer input.footer-mini__field {
    height: 44px;
}

.site-footer .footer-mini__field::placeholder {
    color: rgba(255, 255, 255, .46);
}

.site-footer .footer-mini__field:focus {
    border-color: var(--f-field-bd-focus);
    box-shadow: 0 0 0 4px rgba(255, 255, 255, .07);
}

.site-footer .footer-mini__msg {
    resize: vertical;
    min-height: 104px;
    line-height: 1.6;

    margin-bottom: 14px;
}

.site-footer .footer-mini__send {
    display: flex;
    align-items: center;
    justify-content: space-between;

    /* szellősebb */
    gap: 16px;

    flex-wrap: wrap;
}

.site-footer .footer-mini__hint {
    font-size: 11.5px;
    color: var(--f-text2);
}

.site-footer .footer-inline-link {
    color: rgba(255, 255, 255, .90);
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, .18);
}

.site-footer .footer-inline-link:hover {
    border-bottom-color: rgba(255, 255, 255, .36);
}

/* GRID: 3 oszlop */
.site-footer .footer-grid {
    max-width: 1180px;
    margin-inline: auto;

    /* szellősebb */
    margin-top: 26px;
    padding-top: 26px;

    border-top: 1px solid var(--f-line);

    display: grid;

    /* szellősebb */
    gap: 28px;

    align-items: start;
}

.site-footer .footer-grid.footer-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.site-footer .footer-col__title {
    margin: 0 0 12px;
    font-weight: 850;

    /* kisebb */
    font-size: 11px;

    letter-spacing: .42px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .82);
}

.site-footer .footer-list {
    display: grid;

    /* szellősebb */
    gap: 8px;
}

.site-footer .footer-list a {
    color: var(--f-link);
    text-decoration: none;

    /* szellősebb */
    padding: 6px 8px;

    border-radius: 12px;
    border: 1px solid transparent;

    transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.site-footer .footer-list a:hover {
    color: var(--f-link-hover);
    border-color: rgba(255, 255, 255, .12);
    background: rgba(255, 255, 255, .028);
}

/* Kapcsolat kv */
.site-footer .footer-kv {
    display: grid;

    /* szellősebb */
    gap: 12px;
}

.site-footer .footer-kv__row {
    display: flex;
    align-items: baseline;

    /* szellősebb */
    gap: 12px;

    flex-wrap: wrap;
}

.site-footer .footer-kv__row .muted {
    min-width: 78px;
    color: rgba(255, 255, 255, .60);

    /* kisebb */
    font-size: 11.5px;
}

.site-footer .footer-kv__row a {
    color: rgba(255, 255, 255, .92);
    text-decoration: none;
}

.site-footer .footer-kv__row a:hover {
    text-decoration: underline;
}

/* PARTNEREK */
.site-footer .footer-partners {
    max-width: 1180px;
    margin-inline: auto;

    margin-top: 26px;
    padding-top: 26px;
    border-top: 1px solid var(--f-line);

    text-align: center;
}

.site-footer .footer-partners__title {
    margin: 0 0 16px;
    font-size: 11px;
    letter-spacing: .22px;
    color: rgba(255, 255, 255, .62);
}

.site-footer .footer-partners__row {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;

    gap: 14px 18px;
}

/* partner “chip” – világosabb alap, hogy a sötét logók se tűnjenek el */
.site-footer .footer-partner {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 52px;
    /* nagyobb */
    padding: 12px 16px;
    /* kicsit több belső tér */
    border-radius: 16px;

    border: 1px solid rgba(255, 255, 255, .14);
    background: linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .03));
    box-shadow:
        0 10px 26px rgba(0, 0, 0, .18),
        inset 0 0 0 1px rgba(255, 255, 255, .05);

    transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.site-footer .footer-partner:hover {
    border-color: rgba(255, 255, 255, .18);
    background: linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .035));
    transform: translateY(-1px);
}

/* FONTOS: logó ALAPBÓL eredeti szín, és nagyobb */
.site-footer .footer-partner img {
    height: 102px;
    /* KÉRT: nagyobb, jobban látszik */
    width: auto;
    max-width: 300px;
    display: block;
    object-fit: contain;

    filter: none;
    /* NINCS grayscale */
    opacity: 1;
    /* NINCS fakítás */

    /* finom vizuális kiemelés a háttértől (nem színezi át a logót) */
    transform: translateY(0);
    transition: transform 160ms ease;
}

.site-footer .footer-partner:hover img {
    transform: translateY(-1px);
}

/* Mobil: picit kisebb, de még mindig jól olvasható */
@media (max-width: 640px) {
    .site-footer .footer-partner {
        min-height: 48px;
        padding: 10px 14px;
    }

    .site-footer .footer-partner img {
        height: 24px;
        max-width: 130px;
    }
}


/* BOTTOM */
.site-footer .footer-bottom {
    margin-top: 26px;
    padding-top: 22px;
    border-top: 1px solid var(--f-line);

    display: flex;
    flex-wrap: wrap;

    /* szellősebb */
    gap: 12px 18px;

    align-items: center;
    justify-content: space-between;
}

.site-footer .footer-links {
    display: inline-flex;
    gap: 10px;
    flex-wrap: wrap;
}

.site-footer .footer-links a {
    color: rgba(255, 255, 255, .82);
    text-decoration: none;

    padding: 7px 10px;
    border-radius: 12px;
    border: 1px solid transparent;

    transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.site-footer .footer-links a:hover {
    border-color: rgba(255, 255, 255, .10);
    background: rgba(255, 255, 255, .03);
    color: rgba(255, 255, 255, .94);
}

.site-footer .footer-copy {
    font-size: 11.5px;
    color: rgba(255, 255, 255, .68);
}

/* RESPONSIVE */
@media (max-width: 980px) {
    .site-footer .footer-grid.footer-grid--3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .site-footer .footer-bottom {
        justify-content: center;
        text-align: center;
    }
}

@media (max-width: 640px) {
    .site-footer {
        padding: 32px var(--page-px);
    }

    .site-footer .footer-mini {
        padding: 14px;
        border-radius: 16px;
    }

    .site-footer .footer-mini__row {
        grid-template-columns: 1fr;
    }

    .site-footer .footer-mini__send {
        justify-content: center;
        text-align: center;
    }

    .site-footer .footer-grid.footer-grid--3 {
        grid-template-columns: 1fr;
    }

    .site-footer .footer-kv__row {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    .site-footer .footer-kv__row .muted {
        min-width: 0;
    }
}