/* ===========================================
   KANAPENZ – MODERN FOOTER (tbsz-stílus)
   ======================================== */

.tbsz-footer {
    margin-top: 3rem;
    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, 0.35), transparent 55%),
        radial-gradient(circle at bottom right, rgba(15, 23, 42, 0.9), #020617);
    color: #e5e7eb;
    font-size: 0.85rem;
    line-height: 1.7;
}

/* Külső shell – illeszkedik a .tbsz-shell / .tbsz-newsletter szélességéhez */

.tbsz-footer-shell {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2.8rem 1.5rem 1.8rem;
}

/* Felső rész – 3 hasáb: navigáció (bal), hírlevél (közép), fontos (jobb) */

.tbsz-footer-top {
    padding-bottom: 2rem;
    border-bottom: 1px solid rgba(31, 41, 55, 0.7);
    margin-bottom: 1.6rem;
}

.tbsz-footer-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.4fr) minmax(0, 1.8fr);
    gap: 2.5rem;
    align-items: flex-start;
}

/* Oszlopok címei */

.tbsz-footer-heading {
    margin: 0 0 0.75rem;
    font-size: 0.75rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    font-weight: 600;
    color: #9ca3af;
}

/* Menü oszlop */

.tbsz-footer-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.tbsz-footer-menu li + li {
    margin-top: 0.35rem;
}

.tbsz-footer-menu a {
    text-decoration: none;
    color: #e5e7eb;
    font-size: 0.86rem;
}

.tbsz-footer-menu a:hover {
    color: #bfdbfe;
    text-decoration: underline;
}

/* Hírlevél oszlop – egyszerűsített */

.tbsz-footer-newsletter {
    font-size: 0.86rem;
}

.tbsz-footer-newsletter-text {
    margin: 0 0 0.8rem;
    font-size: 0.86rem;
    color: #e5e7eb;
    opacity: 0.9;
}

.tbsz-footer-newsletter-form {
    max-width: 100%;
}

/* Jogi + kontakt oszlop */

.tbsz-footer-disclaimer {
    margin: 0 0 0.75rem;
    color: #e5e7eb;
    opacity: 0.9;
    font-size: 0.86rem;
}

.tbsz-footer-legal {
    list-style: none;
    margin: 0 0 0.85rem;
    padding: 0;
}

.tbsz-footer-legal li + li {
    margin-top: 0.3rem;
}

.tbsz-footer-legal a {
    text-decoration: none;
    color: #e5e7eb;
    font-size: 0.83rem;
}

.tbsz-footer-legal a:hover {
    color: #bfdbfe;
    text-decoration: underline;
}

.tbsz-footer-contact {
    margin-top: 0.4rem;
}

.tbsz-footer-contact-label {
    display: block;
    font-size: 0.75rem;
    color: #9ca3af;
    margin-bottom: 0.15rem;
}

.tbsz-footer-contact-link {
    font-size: 0.86rem;
    text-decoration: none;
    color: #e5e7eb;
    border-bottom: 1px dashed rgba(148, 163, 184, 0.7);
    padding-bottom: 1px;
}

.tbsz-footer-contact-link:hover {
    color: #bbf7d0;
    border-bottom-style: solid;
}

/* Linkek – alap viselkedés a footerben */

.tbsz-footer a {
    color: inherit;
}

.tbsz-footer a:focus-visible {
    outline: 2px solid #facc15;
    outline-offset: 2px;
}

/* Alsó sáv – copyright középen */

.tbsz-footer-bottom {
    padding-top: 0.6rem;
}

.tbsz-footer-bottom-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    color: #9ca3af;
    text-align: center;
}

.tbsz-footer-meta {
    margin: 0;
}

/* Reszponzív töréspontok – igazodik a meglévőkhöz */

@media (max-width: 900px) {
    .tbsz-footer-shell {
        padding-inline: 1.25rem;
    }

    .tbsz-footer-grid {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 2rem;
    }
}

@media (max-width: 640px) {
    .tbsz-footer-shell {
        padding-inline: 1rem;
        padding-bottom: 1.6rem;
    }

    .tbsz-footer-bottom-inner {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tbsz-footer-newsletter-form button,
    .tbsz-footer-newsletter-form input[type="submit"] {
        transition: none !important;
    }
}
