/* Shared header, announcement bar and footer for Texas Fire Suppliers.
   Scoped so it never fights with page-level styles. */
:root{--red:#AE1208;--red2:#7A0C05;--red3:#1A0302;--yel:#F5B800;--yp:#FFFBEA;--off:#F7F7F7;--lg:#E8E8E8}
.skip-link{position:absolute;left:-9999px;top:auto}
.skip-link:focus{left:12px;top:12px;z-index:9999;background:#fff;color:#111;padding:10px 14px;border:2px solid #AE1208;border-radius:6px}
.announce{background:var(--yel);color:#111;text-align:center;padding:9px 16px;font-size:.83rem;font-weight:600;font-family:Inter,system-ui,sans-serif;line-height:1.4}
.announce a{color:var(--red);text-decoration:underline}
header .container,.site-footer .container{width:100%;max-width:1180px;margin:0 auto;padding:0 20px;box-sizing:border-box}
.nav{background:#fff;border-bottom:1px solid var(--lg);position:sticky;top:0;z-index:200;box-shadow:0 1px 6px rgba(0,0,0,.06);font-family:Inter,system-ui,sans-serif}
.nav *,.nav *::before,.nav *::after{box-sizing:border-box}
.nav a{text-decoration:none;color:inherit}
.nav ul{list-style:none;margin:0;padding:0}
.nav img{max-width:100%;height:auto;display:block}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}
.brand-name{font-size:1.05rem;font-weight:800;color:#111;letter-spacing:-.02em;line-height:1.1}
.brand-name span{color:var(--red)}
.brand-sub{font-size:.68rem;color:#888;font-weight:500}
.nav-links{display:flex;align-items:center;gap:2px}
.nav-links a{display:block;padding:6px 11px;border-radius:6px;font-size:.82rem;font-weight:500;color:#555;transition:color .15s,background .15s;white-space:nowrap}
.nav-links a:hover{color:var(--red);background:#FEF2F2}
.nav .nav-cta{background:var(--red)!important;color:#fff!important;font-weight:700!important;padding:8px 14px!important;border-radius:6px!important}
.nav .nav-cta:hover{background:var(--red2)!important}
.hbg{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}
.hbg span{display:block;width:22px;height:2px;background:#111;border-radius:2px}
.mob-nav{display:none;flex-direction:column;background:#fff;border-top:1px solid var(--lg);padding:14px 20px 18px;gap:2px}
.mob-nav.open{display:flex}
.mob-nav a{padding:9px 12px;border-radius:6px;font-size:.9rem;font-weight:500;color:#333}
.mob-nav a:hover{background:var(--off);color:var(--red)}
@media(max-width:1120px){.nav-links a{padding:6px 8px}.nav .nav-cta{padding:8px 10px!important}}
@media(max-width:900px){.nav-links{display:none}.hbg{display:flex}}
.site-footer{background:#180504;color:#fff;padding:42px 0 26px;margin-top:40px;font-family:Inter,system-ui,sans-serif}
.site-footer strong{font-weight:800;font-size:1.05rem;display:block;margin-bottom:8px}
.site-footer p{color:rgba(255,255,255,.65);max-width:700px;line-height:1.6;font-size:.82rem;margin:0}
.site-footer nav{display:flex;flex-wrap:wrap;gap:8px 18px;margin:20px 0}
.site-footer nav a{color:rgba(255,255,255,.78);font-size:.8rem;text-decoration:none}
.site-footer nav a:hover{text-decoration:underline}
.site-footer small{color:rgba(255,255,255,.45);font-size:.7rem;line-height:1.5;display:block}
@media(max-width:700px){.site-footer nav{display:grid;grid-template-columns:1fr 1fr}}
