/* ─────────────────────────────────────────
   site.css — PanamaRE custom overrides
   Never import bootstrap/style.css here.
   ───────────────────────────────────────── */

/* ── Footer ── */
.footer {
    background: #3d3d3d;
    padding: 64px 0 0;
}
.footer a { color: inherit; text-decoration: none; }
.footer a:hover { color: #e2231a; }

.ft-top-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1.2fr;
    gap: 40px;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 40px;
}
.ft-col { display: flex; flex-direction: column; gap: 11px; }

.ft-col-heading {
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.3px;
    margin: 0 0 3px;
    text-transform: uppercase;
}
.ft-link,
.footer .ft-col a.ft-link { color: #a6a6a6; font-size: 13.5px; line-height: 1.5; }
.footer .ft-col a.ft-link:hover { color: #e2231a; }

.ft-logo { max-height: 36px; }

.ft-brand-desc {
    color: #a6a6a6;
    font-size: 14px;
    line-height: 1.6;
    margin: 18px 0 0;
    max-width: 340px;
}

.ft-contact-list { display: flex; flex-direction: column; gap: 12px; margin-top: 22px; }
.ft-contact-row { display: flex; gap: 10px; align-items: center; }
.ft-contact-row.address { align-items: flex-start; }
.ft-contact-text { color: #c7c7c7; font-size: 13.5px; line-height: 1.55; }
.ft-contact-text a,
a.ft-contact-text,
.footer a.ft-contact-text,
.footer .ft-contact-text a { color: #c7c7c7; }

.ft-agent-desc { color: #a6a6a6; font-size: 13.5px; line-height: 1.6; margin: 0 0 16px; }
.ft-agent-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #e2231a;
    color: #fff !important;
    font-size: 13.5px;
    font-weight: 600;
    padding: 10px 16px;
    border-radius: 6px;
    width: fit-content;
}
.ft-agent-btn:hover { background: #c91d15; color: #fff !important; }

.ft-divider {
    height: 1px;
    background: #525252;
    max-width: 1280px;
    margin: 48px auto 0;
    padding: 0 40px;
    box-sizing: content-box;
}

.ft-bottom-wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding: 22px 40px 28px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ft-seo-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.ft-seo-link,
.footer a.ft-seo-link { color: #7d7d7d; font-size: 12px; line-height: 1.4; }
.footer a.ft-seo-link:hover { color: #e2231a; }
.ft-seo-dot { color: #4a4a4a; font-size: 10px; }
.ft-copyright-text { color: #6b6b6b; font-size: 12px; display: block; }

@media (max-width: 999px) {
    .ft-top-grid { grid-template-columns: repeat(2, 1fr); gap: 32px; }
    .ft-divider { margin-top: 36px; }
}
@media (max-width: 639px) {
    .ft-top-grid { grid-template-columns: 1fr; gap: 32px; padding: 0 24px; }
    .ft-bottom-wrap { padding: 20px 24px 24px; }
    .ft-seo-dot { display: none; }
    .footer { padding: 40px 0 0; }
}
