/* ==========================================================================
   footer.css — Athena Land Buyers
   Footer + sticky mobile CTA bar only.
   ========================================================================== */

.footer { background-color: var(--color-forest); color: var(--color-cream); padding: 80px 0 40px; overflow: hidden; }
.footer-grid { display: grid; gap: 48px; margin-bottom: 80px; text-align: center; }
@media (min-width: 768px) { .footer-grid { grid-template-columns: repeat(2, 1fr); text-align: left; gap: 80px; } }
@media (min-width: 1024px) { .footer-grid { grid-template-columns: 1.5fr 1fr 1fr; } }
.footer-slogan { color: rgba(245,240,232,0.7); font-family: var(--font-sans); font-weight: 300; font-style: italic; margin-bottom: 32px; max-width: 320px; font-size: 1.25rem; margin-left: auto; margin-right: auto; margin-top: 0; }
@media (min-width: 640px) { .footer-slogan { margin-left: 0; margin-right: 0; } }
.footer-brand-wrap { display: flex; flex-direction: column; align-items: center; gap: 24px; }
@media (min-width: 640px) { .footer-brand-wrap { align-items: flex-start; } }
@media (min-width: 1280px) { .footer-brand-wrap { flex-direction: row; } }
.footer-copyright { font-size: 0.72rem; color: rgba(245,240,232,0.5); letter-spacing: 0.025em; font-weight: 300; flex-shrink: 0; margin: 0; }
.footer-eho { display: flex; align-items: center; gap: 12px; background-color: transparent; border: 1px solid rgba(255,255,255,0.1); color: var(--color-cream); padding: 10px; border-radius: 2px; max-width: 260px; transition: background-color 0.2s; text-align: left; margin: 0 auto; }
@media (min-width: 640px) { .footer-eho { margin: 0; } }
.footer-eho:hover { background-color: rgba(255,255,255,0.05); }
.footer-eho-img-wrap { position: relative; width: 45px; height: 45px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.footer-eho-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; filter: invert(1); mix-blend-mode: screen; opacity: 0.9; }
.footer-eho-text { font-size: 0.55rem; font-weight: 500; line-height: 1.2; }
.footer-eho-text strong { display: block; margin-bottom: 2px; color: var(--color-cream); }
.footer-col-title { color: var(--color-cream); font-weight: 700; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.2em; margin-bottom: 32px; padding-left: 16px; border-left: 2px solid var(--color-gold); height: 16px; display: flex; align-items: center; justify-content: center; margin-top: 0; }
@media (min-width: 640px) { .footer-col-title { justify-content: flex-start; } }
.footer-links { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 16px; font-size: 0.82rem; font-weight: 500; letter-spacing: 0.025em; color: rgba(245,240,232,0.7); }
.footer-links li a:hover { color: var(--color-gold); transition: color 0.2s; }
.footer-contact-list { display: flex; flex-direction: column; gap: 24px; color: rgba(245,240,232,0.8); font-size: 0.9rem; font-weight: 500; margin: 0; padding: 0; list-style: none; }
.footer-contact-item { display: flex; align-items: center; gap: 12px; justify-content: center; transition: color 0.2s; }
.footer-contact-item:hover { color: var(--color-gold); }
.footer-contact-static { opacity: 0.6; pointer-events: none; }
@media (min-width: 640px) { .footer-contact-item { justify-content: flex-start; } }
.footer-legal { padding-top: 32px; border-top: 1px solid rgba(201,162,39,0.3); }
.footer-legal p { font-size: 0.62rem; color: rgba(245,240,232,0.45); font-weight: 300; line-height: 1.625; max-width: 1024px; margin: 0 auto; text-wrap: balance; }

/* Sticky Mobile CTA */
.sticky-cta { display: flex; position: fixed; bottom: 0; left: 0; width: 100%; height: 72px; z-index: 100; box-shadow: 0 -10px 40px rgba(0,0,0,0.2); }
@media (min-width: 768px) { .sticky-cta { display: none; } }
.sticky-btn-phone { flex: 2; background-color: var(--color-forest); border-right: 1px solid rgba(255,255,255,0.1); color: var(--color-cream); display: flex; align-items: center; justify-content: center; gap: 8px; font-weight: 700; font-size: 1.125rem; }
.sticky-btn-offer { flex: 1; background-color: var(--color-forest); color: var(--color-gold); display: flex; align-items: center; justify-content: center; text-align: center; font-weight: 700; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; line-height: 1.2; padding: 0 8px; }
