/* Shared footer: services, professional resources, and contact information.
   2026-09-28: condensed spacing; two link columns on phones. */
.ttb-footer.ttb-footer-directory{padding:30px 0 14px;background:#f2f5ef;border-top:1px solid #d7dfd2;color:#4c6253;font-family:Archivo,Arial,sans-serif}
.footer-directory-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1.1fr;gap:28px}
.ttb-footer-directory .ttb-footer-brand{width:190px!important;margin:0 0 10px!important}
.ttb-footer-directory .footer-description{font-size:12.5px;line-height:1.5;max-width:250px;margin:0 0 12px}
.ttb-footer-directory .footer-cta{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 13px;background:#264d38;color:#fff;border:1px solid #264d38;border-radius:5px;text-decoration:none;font-weight:600;font-size:12.5px;box-shadow:0 3px 0 #163423}
.ttb-footer-directory .footer-cta:hover{background:#193d29;color:#fff}
.ttb-footer-directory .footer-directory-column{min-width:0}
.ttb-footer-directory .footer-directory-column h2{font-family:Archivo,Arial,sans-serif;font-size:12px;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:#284d39;margin:0 0 8px}
.footer-directory-column ul{list-style:none;padding:0;margin:0;display:grid;gap:0}
.footer-directory-column li{padding:0;margin:0}
.ttb-footer-directory .footer-directory-column a{display:inline-block;font-size:13px;line-height:1.45;padding:3px 0;color:#4c6253;text-decoration:none}
.ttb-footer-directory .footer-directory-column a:hover{color:#1f3a2c;font-weight:600}
.ttb-footer-directory .footer-email{overflow-wrap:anywhere;font-size:12px!important}
.ttb-footer-directory .footer-file-type{font-size:9.5px;font-weight:600;padding:1px 4px;border:1px solid #cbd5c6;border-radius:3px;margin-left:3px}
.ttb-footer-directory .footer-dashboard-login{display:inline-flex!important;gap:7px;align-items:center;font-weight:600;color:#284d39!important}
.dashboard-login-icon{display:block;flex:none;width:18px;height:18px}
.ttb-footer-directory .footer-phone{margin:4px 0 0}
.ttb-footer-directory .phone-reveal{font-size:12px;min-height:32px}
.footer-directory-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #d7dfd2;margin-top:18px;padding-top:12px}
.ttb-footer-directory .footer-directory-bottom small{font-size:11px;line-height:1.6}
.footer-directory-bottom nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.ttb-footer-directory .footer-directory-bottom a{font-size:12px;color:#4c6253;padding:3px 0;text-decoration:none}
.ttb-footer-directory .footer-directory-bottom a:hover{color:#1f3a2c;font-weight:600}
.ttb-footer-directory a:focus-visible{outline:3px solid #9d7e3b;outline-offset:3px}
/* Tablet: brand as a short row across the top, three link columns below. */
@media(max-width:1050px){
 .footer-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 28px}
 .footer-directory-brand{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px}
 .ttb-footer-directory .ttb-footer-brand{margin:0!important;width:170px!important}
 .ttb-footer-directory .footer-description{margin:0;max-width:300px}
 .ttb-footer-directory .footer-cta{margin-left:auto}
}
/* Phone: two link columns side by side; contact spans the width. */
@media(max-width:600px){
 .ttb-footer.ttb-footer-directory{padding:24px 0 12px}
 .footer-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
 .footer-directory-brand{gap:10px 16px}
 .ttb-footer-directory .ttb-footer-brand{width:160px!important}
 .ttb-footer-directory .footer-description{flex:1 1 180px;font-size:12px}
 .ttb-footer-directory .footer-cta{margin-left:0}
 .footer-directory-grid>.footer-directory-column:last-child{grid-column:1/-1}
 .footer-directory-grid>.footer-directory-column:last-child ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}
 .ttb-footer-directory .footer-directory-column a{padding:6px 0;font-size:13.5px}
 .footer-directory-grid>.footer-directory-column:last-child li:has(.footer-email){grid-column:1/-1}
 .footer-directory-bottom{flex-direction:column;align-items:flex-start;gap:6px;margin-top:16px}
 .footer-directory-bottom nav{gap:4px 16px}
}
@media print{.ttb-footer-directory{display:none!important}}
