/* TFS Business Portal — brand match for teslafiresystems.com */
:root{--tfs-brand-red:#d32b43;--tfs-logo-red:#cd303e;--tfs-ink:#111;--tfs-black:#000;--tfs-blue:#045cb4;--tfs-gray:#69727d;--tfs-light:#f0f5fa}
body.tfs-brand{font-family:Lato,sans-serif;color:#111;font-size:16px}
body.tfs-brand h1,body.tfs-brand h2,body.tfs-brand h3,body.tfs-brand h4{font-family:Raleway,sans-serif;font-weight:700;color:#111;letter-spacing:.01em}
body.tfs-brand h1{text-transform:uppercase}
body.tfs-brand a{color:var(--tfs-blue)}
body.tfs-brand .button,body.tfs-brand button.button,body.tfs-brand input[type=submit],body.tfs-brand .woocommerce #respond input#submit,body.tfs-brand .woocommerce a.button,body.tfs-brand .woocommerce button.button,body.tfs-brand .woocommerce input.button,body.tfs-brand .woocommerce button.button.alt,body.tfs-brand .wc-block-components-button{background:var(--tfs-brand-red);color:#fff;border-radius:4px;font-family:Roboto,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border:0}
body.tfs-brand .woocommerce button.button.alt:hover,body.tfs-brand .button:hover{background:#b31f36;color:#fff}
body.tfs-brand .ast-container{max-width:1240px}
.tfs-wrap{max-width:1240px;margin:0 auto;padding:0 20px;box-sizing:border-box}

/* Top bar */
.tfs-hdr-top{background:#fff}
.tfs-hdr-top .tfs-wrap{display:flex;align-items:center;gap:28px;min-height:96px;flex-wrap:wrap}
.tfs-logo{display:flex;flex-direction:column;text-decoration:none;line-height:1.05;margin-right:auto}
.tfs-logo-name{font:600 28px/1 Helvetica,Arial,sans-serif;color:var(--tfs-logo-red);letter-spacing:-.01em}
.tfs-logo-since{font:700 13px/1.4 Lato,sans-serif;color:#111;letter-spacing:.06em}
.tfs-logo-tag{font:700 11px/1.4 Roboto,sans-serif;color:#fff;background:#000;padding:2px 8px;border-radius:3px;margin-top:6px;width:max-content;letter-spacing:.08em;text-transform:uppercase}
.tfs-hdr-item{display:flex;align-items:center;gap:10px;text-decoration:none;color:#111;font:400 15px/1.3 Lato,sans-serif}
.tfs-hdr-item small{display:block;color:#111;font-size:15px}
.tfs-hdr-item b{display:block;font-weight:700;color:#000}
.tfs-ico{width:34px;height:34px;fill:var(--tfs-brand-red);flex:0 0 auto}
.tfs-hdr-biz .tfs-ico{fill:var(--tfs-brand-red)}
.tfs-hdr-cart{position:relative;gap:0}
.tfs-hdr-cart .tfs-ico{width:36px;height:36px}
.tfs-cart-count{position:absolute;top:-6px;right:-10px;background:var(--tfs-brand-red);color:#fff;font:700 11px/18px Roboto,sans-serif;min-width:18px;height:18px;border-radius:9px;text-align:center;padding:0 4px}
.tfs-nav-toggle{display:none;background:none;border:0;padding:6px;cursor:pointer}
.tfs-nav-toggle span{display:block;width:26px;height:3px;background:#fff;margin:5px 0;border-radius:2px}

/* Nav */
.tfs-hdr-nav{background:#000}
.tfs-menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 6px}
.tfs-menu>li{position:relative}
.tfs-menu a{display:block;padding:18px 16px;color:#fff !important;font:700 15px/1.2 Roboto,sans-serif;text-transform:uppercase;text-decoration:none;letter-spacing:.02em}
.tfs-menu a:hover{color:var(--tfs-brand-red) !important}
.tfs-menu a i{font-style:normal;font-size:11px;margin-left:2px}
.tfs-sub{display:none;position:absolute;left:0;top:100%;background:#111;min-width:260px;list-style:none;margin:0;padding:8px 0;z-index:50;box-shadow:0 8px 20px rgba(0,0,0,.25)}
.tfs-sub a{padding:10px 18px;text-transform:none;font-weight:500;font-size:14px;border-bottom:1px solid #222;color:#fff !important}
.tfs-sub a:hover{color:var(--tfs-brand-red) !important}
.tfs-menu>li.has-sub:hover>.tfs-sub,.tfs-menu>li.has-sub.is-open>.tfs-sub{display:block}
.tfs-hdr-strip{height:14px;background:var(--tfs-brand-red)}

/* Footer */
.tfs-ftr{background:#000;color:#ddd;margin-top:60px;font-family:Lato,sans-serif}
.tfs-ftr-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;padding:44px 20px}
.tfs-ftr .tfs-logo-name{display:block}
.tfs-ftr .tfs-logo-since{color:#bbb}
.tfs-ftr h4{color:#fff;font:700 15px/1 Roboto,sans-serif;text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px}
.tfs-ftr p{margin:8px 0 0;line-height:1.7;color:#ccc}
.tfs-ftr a{color:#fff;text-decoration:none}
.tfs-ftr a:hover{color:var(--tfs-brand-red)}
.tfs-ftr-bar{background:var(--tfs-brand-red);color:#fff;font:700 13px/1 Roboto,sans-serif;text-transform:uppercase;letter-spacing:.06em;padding:14px 0}

/* Portal palette aligned to brand */
body.tfs-brand{--tfs-red:#d32b43;--tfs-char:#000;--tfs-blue:#045cb4;--tfs-green:#2e9e44}
body.tfs-brand .tfs-b2b-tabnav button.is-active{background:#d32b43}
body.tfs-brand .tfs-b2b-age h3,body.tfs-brand .tfs-b2b-balance,body.tfs-brand .tfs-b2b-paypanel,body.tfs-brand .tfs-b2b-bar-title,body.tfs-brand .tfs-b2b-tabnav span,body.tfs-brand .tfs-b2b-card.is-total{background:#000}
body.tfs-brand .tfs-b2b-steps span.is-active{background:#d32b43}
body.tfs-brand .woocommerce-MyAccount-navigation ul li.is-active a{color:#d32b43;font-weight:700}
body.tfs-brand .woocommerce-MyAccount-navigation a{font:700 14px/1.2 Roboto,sans-serif;text-transform:uppercase;color:#111}
body.tfs-brand .woocommerce-form-login{border:1px solid #e5e5e5;border-radius:8px}
body.tfs-brand .tfs-biz-login{background:#000;color:#fff;border:0}
body.tfs-brand .tfs-biz-login h3{color:#fff;font-family:Raleway,sans-serif}
body.tfs-brand .tfs-biz-login a{color:#ffb3bd}
body.tfs-brand .tfs-b2b-price{color:#d32b43}
body.tfs-brand .woocommerce ul.products li.product .price,body.tfs-brand .woocommerce div.product p.price{color:#d32b43;font-weight:700}
body.tfs-brand .woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:Raleway,sans-serif;font-weight:700;font-size:15px}
body.tfs-brand .site-header{display:none}

@media(max-width:1023px){
 .tfs-hdr-top .tfs-wrap{gap:14px;min-height:72px}
 .tfs-hdr-store,.tfs-hdr-phone small,.tfs-hdr-biz small{display:none}
 .tfs-nav-toggle{display:block;margin-left:auto}
 .tfs-hdr-nav{display:none}
 .tfs-hdr.is-open .tfs-hdr-nav{display:block}
 .tfs-menu{flex-direction:column}
 .tfs-menu a{padding:14px 18px;border-bottom:1px solid #222}
 .tfs-sub{position:static;box-shadow:none;background:#1a1a1a}
 .tfs-ftr-grid{grid-template-columns:1fr;gap:20px;padding:30px 20px}
}
