/* fat-footer — a rich multi-column footer LAYOUT that arranges the engine's
   existing footer components (footer-chrome / footer-heading / trust-row /
   input-group / footer-legal) into a brand column + link columns + an offers
   card, a newsletter row, a trust-badge row, and a legal/credits bar. Layout +
   token-driven color only; it composes existing components and reinvents nothing.

   Brand-agnostic: the footer surface comes from --footer-bg (set on
   .hzo-site-footer, footer-chrome.css); the offers panel reads
   --fat-footer-offers-bg (falls back to --bg-dark-section); legal bar + fav read
   --brand-deep / --brand; white-on-dark text is the dark-footer convention.
   A client dials the exact footer tones via those tokens in its own :root. */

/* ── Final CTA band (arranges .hzo-section--dark + eyebrow + visual-h2 + btn) ── */
.hzo-fat-footer__cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-lg);
    flex-wrap: wrap;
}
.hzo-fat-footer__cta .hzo-eyebrow { color: var(--accent); }
.hzo-fat-footer__cta .hzo-visual-h2 { margin: 6px 0 0; }
.hzo-fat-footer__cta-phone { color: rgba(255, 255, 255, 0.85); font-weight: 700; }
.hzo-fat-footer__cta-phone a { color: #fff; }

/* ── Fat-footer grid (arranges existing footer components) ── */
.hzo-fat-footer {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-xl);
    padding-bottom: var(--space-xl);
}
@media (min-width: 640px) { .hzo-fat-footer { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) {
    .hzo-fat-footer { grid-template-columns: 1.15fr 1fr 1fr 1fr auto; gap: var(--space-lg-2); align-items: start; }
}
.hzo-fat-footer__list { list-style: none; margin: 0; padding: 0; }
.hzo-fat-footer__list li { margin: 0 0 10px; }
.hzo-fat-footer__h2 { margin-top: var(--space-lg); }
.hzo-fat-footer__loc { margin: var(--space-md) 0; color: rgba(255, 255, 255, 0.72); font-size: 14px; }
.hzo-fat-footer__loc p { margin: 0 0 4px; }

/* Free Tools card = existing .hzo-card--bordered, re-toned for the dark footer */
.hzo-fat-footer__offers { align-self: start; background: var(--fat-footer-offers-bg, var(--bg-dark-section)); border-color: rgba(255, 255, 255, 0.10); }
@media (min-width: 1024px) { .hzo-fat-footer__offers { width: 260px; } }
.hzo-fat-footer__offers .hzo-footer-heading { color: var(--accent); }

/* ── Newsletter row (wraps the existing .hzo-input-group) ── */
.hzo-fat-footer__news {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-lg);
    flex-wrap: wrap;
    padding: var(--space-lg) 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.hzo-fat-footer__news-h { text-transform: none; color: #fff; font-size: 17px; margin: 0 0 4px; opacity: 1; }
.hzo-fat-footer__news-p { color: rgba(255, 255, 255, 0.55); font-size: 13px; margin: 0; }

/* ── Trust badges (wraps the existing .hzo-trust-row) ── */
.hzo-fat-footer__badges { padding: var(--space-lg) 0 var(--space-xl-2); }
.hzo-fat-footer__badges-lead { color: rgba(255, 255, 255, 0.5); margin-bottom: var(--space-md); }

/* ── Legal / credits bar (engine footer-legal classes) ── */
.hzo-fat-footer__legalwrap { background: var(--brand-deep); }
.hzo-fat-footer__legalwrap .hzo-site-footer__legal { padding: 18px 0; }
.hzo-fat-footer__credit { display: inline-flex; align-items: center; gap: 12px; }
.hzo-fat-footer__fav {
    width: 30px; height: 30px; flex: none;
    background: var(--brand); color: #fff;
    border-radius: var(--radius-input);
    display: inline-flex; align-items: center; justify-content: center;
    font-family: var(--font-heading); font-weight: 900; font-size: 17px;
}
.hzo-fat-footer__legal-links { display: flex; gap: 16px; flex-wrap: wrap; }
