/* =====================================================
   TPLC Footer Plugin — tplc-footer.css
   ===================================================== */

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

.tplc-footer {
    background: #111;
    color: #e8e8e8;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ── Main columns ── */
.tplc-footer-main { padding: 64px 24px 48px; border-top: 1px solid rgba(255,255,255,.06); }

.tplc-footer-inner {
    max-width: 1160px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: 48px;
    align-items: start;
}

/* Brand */
.tplc-footer-logo-link { display: inline-block; margin-bottom: 18px; }

.tplc-footer-logo {
    width: 140px; height: auto;
    object-fit: contain;
    filter: brightness(0) invert(1);
    opacity: .9;
}

.tplc-footer-tagline {
    font-size: 14px; line-height: 1.7; color: #888;
    margin: 0 0 24px; max-width: 280px;
}

.tplc-footer-socials { display: flex; gap: 10px; flex-wrap: wrap; }

.tplc-footer-social {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 8px 14px; border-radius: 6px;
    font-size: 13px; font-weight: 500; text-decoration: none;
    border: 1px solid rgba(255,255,255,.1);
    transition: background .18s, transform .18s;
}

.tplc-social-wa  { background: rgba(37,211,102,.12); color: #25d366; border-color: rgba(37,211,102,.2); }
.tplc-social-wa:hover  { background: rgba(37,211,102,.22); transform: translateY(-2px); }
.tplc-social-fb  { background: rgba(66,103,178,.12); color: #7b9fd4; border-color: rgba(66,103,178,.2); }
.tplc-social-fb:hover  { background: rgba(66,103,178,.22); transform: translateY(-2px); }

/* Nav cols */
.tplc-footer-col-heading {
    font-size: 11px; font-weight: 700; letter-spacing: 2px;
    text-transform: uppercase; color: #fff; margin: 0 0 20px;
}

.tplc-footer-links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }

.tplc-footer-link { font-size: 14px; color: #888; text-decoration: none; transition: color .18s; }
.tplc-footer-link:hover { color: #fff; }

/* Contact */
.tplc-footer-contact { font-style: normal; display: flex; flex-direction: column; gap: 12px; margin: 0 0 20px; }

.tplc-footer-contact-row { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: #888; line-height: 1.5; }
.tplc-footer-contact-row svg { flex-shrink: 0; margin-top: 2px; color: #666; }

.tplc-footer-contact-btn {
    display: inline-flex; align-items: center;
    padding: 10px 20px; background: #fff; color: #1a1a1a;
    font-size: 13.5px; font-weight: 600; text-decoration: none; border-radius: 6px;
    transition: background .18s, transform .18s;
}
.tplc-footer-contact-btn:hover { background: #f0f0f0; transform: translateY(-1px); }

/* Bottom bar */
.tplc-footer-bottom { border-top: 1px solid rgba(255,255,255,.06); padding: 20px 24px; }

.tplc-footer-bottom-inner {
    max-width: 1160px; margin: 0 auto;
    display: flex; align-items: center; justify-content: space-between;
    gap: 16px; flex-wrap: wrap;
}

.tplc-footer-copy { font-size: 12.5px; color: #666; margin: 0; line-height: 1.6; }
.tplc-footer-reg  { display: block; font-size: 11.5px; color: #555; margin-top: 2px; }

.tplc-footer-legal-links { display: flex; gap: 20px; flex-wrap: wrap; }
.tplc-footer-legal-links a { font-size: 12.5px; color: #666; text-decoration: none; transition: color .18s; }
.tplc-footer-legal-links a:hover { color: #fff; }

/* Responsive */
@media (max-width: 1024px) { .tplc-footer-inner { grid-template-columns: 1fr 1fr; } }

@media (max-width: 640px) {
    .tplc-footer-inner { grid-template-columns: 1fr; gap: 36px; }
    .tplc-footer-bottom-inner { flex-direction: column; text-align: center; }
    .tplc-footer-legal-links { justify-content: center; }
}
