/* ==========================================================================
   Lead-generation mode overrides
   Loaded only when LEAD_GEN_ONLY is on (see layouts/header.php).
   - Removes the left sidebar and its reserved column
   - Lets content pages flow as a normal document
   - Styles the site footer + sticky lead CTA professionally
   ========================================================================== */

/* 1. Sidebar gone (partials already render nothing; collapse the column) */
.app-sidebar { display: none !important; }

/* 2. Natural document flow for content pages (social feed is disabled).
      The app locks html/body to overflow:hidden and scrolls via an inner
      container (.s-page-scroll). In lead-gen mode we want the WHOLE document
      to scroll instead, so unlock html here. (body overflow is left alone so
      the mobile menu's `body.menu-open{overflow:hidden}` lock still works.) */
html {
    height: auto !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}
body {
    height: auto !important;
    min-height: 100% !important;
}
.app-layout {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}
.s-page-scroll,
.app-main,
.app-main-inner {
    height: auto !important;
    overflow: visible !important;
}

/* ==========================================================================
   Site footer
   ========================================================================== */
.tsa-site-footer {
    background: var(--bg-card, #fff);
    border-top: 1px solid var(--border-light, #ececec);
    padding: 3rem 1.5rem 6.5rem;          /* bottom room for the sticky CTA */
    margin-top: 3rem;
    font-family: inherit;
}
.tsa-foot-inner {
    max-width: 1120px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 2.5rem 2.5rem;
}
.tsa-foot-col { flex: 1 1 150px; min-width: 140px; }

/* Brand column */
.tsa-foot-brandcol { flex: 1 1 260px; min-width: 240px; max-width: 320px; }
.tsa-foot-brandcol .tsa-foot-logo {
    font-family: "Arial Black", Inter, sans-serif;
    font-weight: 900;
    font-size: 1.4rem;
    letter-spacing: -.5px;
    color: var(--text-primary, #14110f);
    line-height: 1;
    display: inline-block;
    margin-bottom: .75rem;
    text-decoration: none;
}
.tsa-foot-brandcol .tsa-foot-logo span { color: var(--primary, #E85D20); }
.tsa-foot-brandcol p {
    margin: 0 0 1rem;
    font-size: .875rem;
    line-height: 1.5;
    color: var(--text-secondary, #5b5650);
}
.tsa-foot-cta {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    background: var(--primary, #E85D20);
    color: #fff !important;
    font-weight: 700;
    font-size: .85rem;
    padding: .6rem 1.1rem;
    border-radius: 8px;
    text-decoration: none;
    transition: background .15s, transform .15s;
}
.tsa-foot-cta:hover { background: #cf4d17; transform: translateY(-1px); }

/* Link columns */
.tsa-foot-col h4 {
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--text-muted, #8a847d);
    margin: 0 0 1rem;
}
.tsa-foot-col a,
.tsa-foot-col a:visited {
    display: block;
    color: var(--text-secondary, #5b5650);
    text-decoration: none;
    font-size: .9rem;
    line-height: 1.35;
    padding: .34rem 0;
    transition: color .12s, padding-left .12s;
}
.tsa-foot-col a:hover {
    color: var(--primary, #E85D20);
    padding-left: 3px;
}
.tsa-foot-col a.tsa-foot-all {
    font-weight: 700;
    color: var(--primary, #E85D20);
    margin-top: .2rem;
}

/* Bottom bar */
.tsa-foot-bottom {
    max-width: 1120px;
    margin: 2.5rem auto 0;
    padding-top: 1.5rem;
    border-top: 1px solid var(--border-light, #ececec);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    font-size: .82rem;
    color: var(--text-muted, #8a847d);
}
.tsa-foot-bottom nav { display: flex; gap: 1.25rem; }
.tsa-foot-bottom nav a,
.tsa-foot-bottom nav a:visited {
    color: var(--text-muted, #8a847d);
    text-decoration: none;
    transition: color .12s;
    margin-left: 1.25rem;   /* fallback spacing where flex-gap is unsupported */
}
.tsa-foot-bottom nav a:first-child { margin-left: 0; }
.tsa-foot-bottom nav a:hover { color: var(--primary, #E85D20); }

@media (max-width: 900px) {
    .tsa-foot-inner { gap: 2rem; }
    .tsa-foot-brandcol { flex-basis: 100%; max-width: none; }
}
@media (max-width: 520px) {
    .tsa-foot-col { flex-basis: 45%; }
    .tsa-foot-bottom { flex-direction: column; align-items: flex-start; }
}
