/* ═══════════════════════════════════════════════════
   TDN MAGAZINE — FOOTER
═══════════════════════════════════════════════════ */

.tdn-footer { font-family: var(--font-ui); }

/* ─── Accent bar ─────────────────────────────────── */
.tdn-footer-accent {
    background: var(--tdn-red);
    padding: 12px 0;
}
.tdn-footer-accent-inner {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 var(--gutter);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.tdn-footer-accent-brand {
    font-family: var(--font-display);
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--tdn-white);
}
.tdn-footer-accent-tagline {
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .5px;
    color: rgba(255,255,255,.7);
    text-transform: uppercase;
}

/* ─── Main body ──────────────────────────────────── */
.tdn-footer-body {
    background: #0e0e0e;
    padding: 48px 0 36px;
}
.tdn-footer-container {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 var(--gutter);
    display: grid;
    grid-template-columns: 1.2fr 1.4fr 1fr;
    gap: 48px;
}

/* Column titles */
.tdn-footer-col-title {
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(255,255,255,.4);
    margin-bottom: 18px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

/* ─── Brand col ──────────────────────────────────── */
.tdn-footer-logo-text {
    display: inline-block;
    font-family: var(--font-display);
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--tdn-white);
    text-decoration: none;
    margin-bottom: 14px;
    transition: color .15s;
}
.tdn-footer-logo-text:hover { color: var(--tdn-red); }
.tdn-footer-about {
    font-size: .875rem;
    color: rgba(255,255,255,.5);
    line-height: 1.7;
    margin-bottom: 20px;
}
.tdn-footer-social {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.tdn-footer-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px; height: 36px;
    border-radius: 50%;
    color: rgba(255,255,255,.6);
    background: rgba(255,255,255,.07);
    transition: all .2s;
    text-decoration: none;
}
.tdn-footer-social-link:hover {
    background: var(--tdn-red);
    color: var(--tdn-white);
    transform: translateY(-2px);
}
.tdn-footer-social-link svg { width: 16px; height: 16px; fill: currentColor; }

/* ─── Latest posts col ───────────────────────────── */
.tdn-footer-posts { display: flex; flex-direction: column; gap: 0; }
.tdn-footer-post {
    display: flex;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.tdn-footer-post:last-child { border-bottom: none; }
.tdn-footer-post-thumb {
    display: block;
    width: 62px; min-width: 62px;
    height: 46px;
    border-radius: var(--radius);
    overflow: hidden;
    background: rgba(255,255,255,.05);
    flex-shrink: 0;
}
.tdn-footer-post-img {
    width: 100%; height: 100%;
    object-fit: cover;
    opacity: .8;
    transition: opacity .2s, transform .35s;
}
.tdn-footer-post-thumb:hover .tdn-footer-post-img { opacity: 1; transform: scale(1.07); }
.tdn-footer-post-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.tdn-footer-post-badge {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--tdn-red);
}
.tdn-footer-post-title {
    font-size: .825rem;
    font-weight: 600;
    color: rgba(255,255,255,.75);
    text-decoration: none;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color .15s;
}
.tdn-footer-post-title:hover { color: var(--tdn-white); }
.tdn-footer-post-date {
    font-size: .75rem;
    color: rgba(255,255,255,.3);
}

/* ─── Nav col ────────────────────────────────────── */
.tdn-footer-nav { display: flex; flex-direction: column; gap: 0; margin-bottom: 28px; }
.tdn-footer-nav-link {
    display: block;
    padding: 8px 0;
    font-size: .875rem;
    font-weight: 500;
    color: rgba(255,255,255,.6);
    text-decoration: none;
    border-bottom: 1px solid rgba(255,255,255,.06);
    transition: color .15s, padding-left .15s;
}
.tdn-footer-nav-link:last-child { border-bottom: none; }
.tdn-footer-nav-link:hover { color: var(--tdn-white); padding-left: 4px; }

/* CTA box */
.tdn-footer-cta {
    background: rgba(229,26,62,.12);
    border: 1px solid rgba(229,26,62,.25);
    border-radius: var(--radius);
    padding: 16px;
}
.tdn-footer-cta-text {
    font-size: .875rem;
    color: rgba(255,255,255,.65);
    margin-bottom: 12px;
    line-height: 1.5;
}
.tdn-footer-cta-btn {
    display: inline-block;
    background: var(--tdn-red);
    color: var(--tdn-white);
    padding: 8px 18px;
    border-radius: var(--radius);
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .4px;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .15s;
}
.tdn-footer-cta-btn:hover { background: var(--tdn-red-dark); color: var(--tdn-white); }

/* ─── Bottom bar ─────────────────────────────────── */
.tdn-footer-bottom {
    background: #070707;
    padding: 16px 0;
}
.tdn-footer-bottom-inner {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 var(--gutter);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.tdn-footer-copy {
    font-size: .8rem;
    color: rgba(255,255,255,.3);
}
.tdn-footer-bottom-links {
    display: flex;
    align-items: center;
    gap: 20px;
}
.tdn-footer-bottom-links a {
    font-size: .8rem;
    color: rgba(255,255,255,.35);
    text-decoration: none;
    transition: color .15s;
}
.tdn-footer-bottom-links a:hover { color: rgba(255,255,255,.7); }

/* ─── Offline banner ─────────────────────────────── */
#tdn-offline-banner {
    display: none;
    position: fixed;
    top: 0; left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 600px;
    background: #c00;
    color: var(--tdn-white);
    text-align: center;
    padding: 14px 20px;
    font-size: .95rem;
    font-family: var(--font-ui);
    font-weight: 600;
    z-index: 999999;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,.25);
    transition: opacity .4s;
}
#tdn-offline-banner.show { display: block; }
#tdn-offline-icon {
    display: inline-block;
    margin-right: 8px;
    vertical-align: middle;
    animation: tdnPulse 1.5s infinite;
}

/* ─── Responsive ─────────────────────────────────── */
@media (max-width: 900px) {
    .tdn-footer-container { grid-template-columns: 1fr 1fr; }
    .tdn-footer-col:last-child { grid-column: 1 / -1; }
}
@media (max-width: 540px) {
    .tdn-footer-container { grid-template-columns: 1fr; }
    .tdn-footer-col:last-child { grid-column: unset; }
    .tdn-footer-bottom-inner { flex-direction: column; text-align: center; }
    .tdn-footer-accent-inner { flex-direction: column; text-align: center; gap: 4px; }
}
