/* ============================================================
   Footer — TS Fling
   ============================================================ */
.footer {
    position: relative;
    background: #080204;
    color: var(--tsf-muted);
    padding: 72px 5% 0;
    font-size: 0.875rem;
    line-height: 1.45;
    border-top: 1px solid var(--tsf-line);
    text-align: left;
}
.footer::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,36,88,0.6), rgba(155,27,74,0.6), transparent);
}

.footer-content {
    max-width: 1200px; margin: 0 auto;
    display: grid; grid-template-columns: 2fr 1fr 1.2fr 1fr;
    gap: 40px 48px; padding-bottom: 56px; align-items: start;
}

.footer-logo-link { display: inline-block; margin-bottom: 16px; transition: opacity .22s; }
.footer-logo-link:hover { opacity: .75; }
.footer-logo, .footer-logo-link img { display: block; height: 52px; width: auto; max-width: 260px; object-fit: contain; filter: none !important; opacity: 1 !important; }

.footer-brand p { font-size: 0.875rem; line-height: 1.72; color: var(--tsf-muted); }
.footer-age { margin-top: 18px; font-size: 0.75rem !important; color: var(--tsf-dim) !important; padding: 10px 14px; border: 1px dashed rgba(255,255,255,0.12); border-radius: 10px; display: inline-block; }

.footer-column h3 {
    font-family: var(--tsf-font-b); color: #fff; margin-bottom: 14px;
    font-size: 0.7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .14em;
}

.footer-links { list-style: none; }
.footer-links li { margin-bottom: 9px; }
.footer-links a { color: var(--tsf-muted); font-size: 0.85rem; transition: color .2s, padding-left .2s; }
.footer-links a:hover { color: var(--tsf-pink-2); padding-left: 3px; }

.social-links { display: flex; gap: 10px; margin-top: 22px; }
.social-link {
    width: 36px; height: 36px; border: 1px solid rgba(255,255,255,0.14); border-radius: 50%;
    display: flex; align-items: center; justify-content: center; color: #fff; font-size: 0.85rem; font-weight: 700;
    transition: background .2s, border-color .2s, transform .2s, box-shadow .2s;
}
.social-link:hover { background: var(--tsf-grad); border-color: transparent; transform: translateY(-2px); box-shadow: var(--tsf-glow); }

.footer-bottom {
    max-width: 1200px; margin: 0 auto; text-align: center; padding: 24px 0;
    border-top: 1px solid var(--tsf-line); font-size: 0.78rem; color: var(--tsf-dim);
}

@media (max-width: 1080px) {
    .footer-content { grid-template-columns: 1fr 1fr; }
    .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
    .footer { padding-top: 56px; }
    .footer-content { grid-template-columns: 1fr; gap: 32px; }
    .footer-bottom { text-align: left; }
}
