/* Footer.
   Target: ~1in total height on desktop. Sizing lives directly on the three named
   elements below (name / license paragraph / tagline line) at each breakpoint —
   there is no generic `.footer p` rule anymore. There used to be one, with
   `!important` on its media-query sizes; since the only <p> tags inside .footer
   are footer-brokerage-meta and footer-tagline-line, that generic rule was quietly
   overriding the sizes set on those two classes below every time the viewport
   crossed a breakpoint. Sizing is fully explicit here now, no cascade fight. */

.footer {
    background: #272b34;
    color: white;
    padding: 0.4rem 0;
    text-align: center;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}

.footer-inner {
    position: relative;
    z-index: 1;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 1.5rem;
    text-align: center;
}

/* Brokerage advertising identification — prominent, >= any agent/team name */
.footer-brokerage {
    padding-bottom: 0.25rem;
    margin-bottom: 0.25rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.footer-brokerage-name {
    display: block;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #ffffff;
    opacity: 1;
    line-height: 1.15;
}

/* One flowing paragraph (AZ + D.C. + EHO) — wraps naturally, usually to two
   lines. This is the floor: smaller reads as fine print, which required
   disclosures must not. */
.footer-brokerage-meta {
    position: relative;
    z-index: 1;
    margin-top: 0.1rem;
    font-size: 0.62rem;
    opacity: 0.85;
    line-height: 1.3;
}

.footer-eho-icon {
    vertical-align: -2px;
    margin-left: 0.15em;
    margin-right: 0.1em;
}

.footer-tagline-line {
    position: relative;
    z-index: 1;
    margin-top: 0.15rem;
    font-size: 0.6rem;
    opacity: 0.75;
    line-height: 1.25;
}

/* Scale down at 1285px and below (matches the site's other breakpoint tiers) */
@media (max-width: 1285px) {
    .footer { padding: 0.35rem 0; }
    .footer-brokerage-name { font-size: 0.85rem; }
    .footer-brokerage-meta { font-size: 0.6rem; }
    .footer-tagline-line { font-size: 0.58rem; }
}

/* Scale down at 1035px and below */
@media (max-width: 1035px) {
    .footer { padding: 0.3rem 0; }
    .footer-brokerage-name { font-size: 0.8rem; }
    .footer-brokerage-meta { font-size: 0.58rem; }
    .footer-tagline-line { font-size: 0.56rem; }
}

.footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="footer" width="30" height="30" patternUnits="userSpaceOnUse"><circle cx="15" cy="15" r="1" fill="rgba(255,255,255,0.05)"/></pattern></defs><rect width="100" height="100" fill="url(%23footer)"/></svg>');
    opacity: 0.3;
}
