/* VoltSmart Footer — standalone Elementor Pro Theme Builder presentation */
body.vsft-has-custom-footer > .vs-footer,
body.vsft-has-custom-footer footer.vs-footer { display:none!important; }
.vsft-output { isolation:isolate; width:100%; clear:both; background:#07121b; color:#f7fbff; font-family:'Ubuntu Sans',Ubuntu,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.vsft-output *, .vsft-output *::before,.vsft-output *::after{ box-sizing:border-box; }
.vsft-output a{color:inherit;text-decoration:none}
.vsft-output .elementor-widget:not(:last-child){margin-block-end:0}
.vsft-output .elementor-widget-text-editor p{margin:0}
.vsft-output .vsft-root{width:100%;display:flex;flex-direction:column;background:linear-gradient(155deg,#061018,#091722 66%,#070e16);padding:0!important;gap:0!important;max-width:none!important}
.vsft-output .vsft-top-shell{padding:24px max(22px,calc((100vw - 1790px)/2)) 22px;background:linear-gradient(145deg,#0a1823,#0a1824 66%,#223342);}
.vsft-output .vsft-top{max-width:1740px;width:100%;margin:auto;border:1.8px solid #ff8300;border-radius:17px;background:linear-gradient(112deg,#080f16 6%,#111e27 67%,#0d141c);box-shadow:0 10px 32px rgba(0,0,0,.25),0 0 16px rgba(255,106,0,.12);display:grid!important;grid-template-columns:minmax(360px,1.9fr) minmax(180px,.64fr) minmax(195px,.75fr) minmax(195px,.76fr);gap:0!important;align-items:center;padding:23px 26px!important;min-height:145px}
.vsft-output .vsft-top-left{display:flex;align-items:center;gap:23px!important;padding-right:20px}
.vsft-output .vsft-intro-bolt{flex:0 0 88px;width:88px!important;height:88px;border:3px solid #ff850f;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 20px rgba(255,111,0,.13)}
.vsft-output .vsft-intro-bolt .elementor-icon {font-size:54px;color:#ff7b00}
.vsft-output .vsft-top-intro{flex:1;min-width:0;gap:6px!important}
.vsft-output .vsft-eyebrow h5{color:#ff8109!important;font-weight:800;font-size:13px;letter-spacing:2.6px;text-transform:uppercase;line-height:1.3;margin:0}
.vsft-output .vsft-top-title h2{font-size:clamp(25px,2vw,37px);line-height:1.14!important;letter-spacing:-1.1px;font-weight:850;color:#fff!important;margin:0}
.vsft-output .vsft-top-desc{font-size:14px;color:#e0e5ea;line-height:1.65}
.vsft-output .vsft-top>.vsft-contact-item{border-left:1px solid rgba(255,255,255,.12);padding-left:19px;min-height:78px;align-items:center}
.vsft-output .vsft-contact-item{display:flex;gap:12px!important;align-items:start}
.vsft-output .vsft-contact-icon{width:44px!important;min-width:44px;min-height:44px;border:1px solid #fd7900;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 16px rgba(255,111,0,.18);color:#ff7900}
.vsft-output .vsft-contact-icon .elementor-icon{font-size:20px;color:#ff8000}
.vsft-output .vsft-contact-copy{gap:4px!important;min-width:0}
.vsft-output .vsft-contact-label h4{color:#f6f8fb!important;margin:0!important;font-weight:800;font-size:17px;line-height:1.2!important}
.vsft-output .vsft-contact-value{color:#ff8200;font-size:17px;line-height:1.45;font-weight:800;overflow-wrap:anywhere}
.vsft-output .vsft-contact-value a{color:#ff8b13}
.vsft-output .vsft-top-btn{align-self:center;margin-left:15px;min-width:0}
.vsft-output .vsft-top-btn .elementor-button{border-radius:10px;background:linear-gradient(180deg,#ff9112,#ff6b00);border:1px solid #ffa62b;color:#fff;display:flex;align-items:center;justify-content:center;padding:20px 10px;font-weight:800;font-size:15px;white-space:nowrap;box-shadow:0 7px 20px rgba(255,103,0,.3);transition:transform .2s ease,box-shadow .2s ease}
.vsft-output .vsft-top-btn .elementor-button:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(255,103,0,.42)}
.vsft-output .vsft-main{position:relative;overflow:hidden;background:linear-gradient(90deg,#08131e,#0a1520);width:100%;padding:48px max(23px,calc((100vw - 1680px)/2)) 43px!important;min-height:360px}
.vsft-output .vsft-scene{position:absolute;right:0;top:0;width:min(35%,660px)!important;height:100%;pointer-events:none;z-index:0}
.vsft-output .vsft-scene .elementor-widget-container,.vsft-output .vsft-scene img{height:100%;width:100%;display:block;object-fit:cover;object-position:center}
.vsft-output .vsft-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#08131e 0%,rgba(8,19,30,.86) 16%,rgba(8,19,30,.17) 61%,rgba(8,19,30,.04) 100%)}
.vsft-output .vsft-grid{max-width:1680px;width:100%;margin:auto;display:grid!important;grid-template-columns:28% 16% 24% 23%;gap:3%!important;position:relative;z-index:1}
.vsft-output .vsft-grid>.e-con{min-width:0;max-width:100%;gap:0!important}
.vsft-output .vsft-brand{padding-right:26px}
.vsft-output .vsft-brand-logo{max-width:238px;margin-bottom:24px}
.vsft-output .vsft-brand-logo img{max-width:100%;height:auto;max-height:105px;object-fit:contain;object-position:left}
.vsft-output .vsft-brand-description{max-width:330px;color:#d9e1e6;font-size:16px;line-height:1.8;margin:0 0 26px}
.vsft-output .vsft-socials{display:flex;gap:12px!important;flex-wrap:wrap}
.vsft-output .vsft-social-icon{border:1.6px solid #ff810b;border-radius:50%;width:39px!important;height:39px;display:grid;place-items:center;color:#ff8a11}
.vsft-output .vsft-social-icon .elementor-icon{font-size:17px;color:#ff8a11}
.vsft-output .vsft-col-title{margin:0 0 23px}
.vsft-output .vsft-col-title h3{font-size:21px;line-height:1.2;font-weight:800;color:#fff;margin:0!important;padding-bottom:17px;position:relative}
.vsft-output .vsft-col-title h3:after{content:"";width:41px;height:3px;background:#ff7900;position:absolute;left:0;bottom:0;border-radius:2px}
.vsft-output .vsft-nav-link{margin-bottom:14px;max-width:100%}
.vsft-output .vsft-nav-link a{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:15px;line-height:1.35;color:#e7edf3;transition:color .18s ease}
.vsft-output .vsft-nav-link a:hover{color:#ff8b10}
.vsft-output .vsft-nav-link a span{font-size:23px;line-height:.6;color:#b6c2cd}
.vsft-output .vsft-contacts .vsft-contact-item{margin:0 0 15px;align-items:center;gap:14px!important}
.vsft-output .vsft-contacts .vsft-contact-icon{width:24px!important;min-width:24px;height:24px;min-height:24px;border:0;box-shadow:none}
.vsft-output .vsft-contacts .vsft-contact-icon .elementor-icon{font-size:20px}
.vsft-output .vsft-contacts .vsft-contact-label h4{font-size:15px;line-height:1.2;color:#fff!important}
.vsft-output .vsft-contacts .vsft-contact-value{font-size:14px;color:#d7e1ea;line-height:1.5;font-weight:500}
.vsft-output .vsft-contacts .vsft-contact-value a{color:#dfe8f1}
.vsft-output .vsft-trust{display:grid!important;grid-template-columns:repeat(4,1fr);padding:22px max(22px,calc((100vw - 1680px)/2))!important;gap:0!important;background:#0a1721;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.vsft-output .vsft-trust-item{display:flex;flex-direction:row;align-items:center;gap:18px!important;padding:6px 28px;border-right:1px solid rgba(255,255,255,.17)}
.vsft-output .vsft-trust-item:first-child{padding-left:0}
.vsft-output .vsft-trust-item:last-child{border:0;padding-right:0}
.vsft-output .vsft-trust-icon{min-width:42px;width:42px!important;height:42px;color:#fff}
.vsft-output .vsft-trust-icon .elementor-icon{font-size:33px;color:#e8eef3}
.vsft-output .vsft-trust-copy{gap:3px!important}
.vsft-output .vsft-trust-title h4{color:#fff!important;font-size:15px;font-weight:800;margin:0!important;line-height:1.3}
.vsft-output .vsft-trust-desc{color:#b8c4cd;font-size:13px;line-height:1.5}
.vsft-output .vsft-legal{display:flex;align-items:center;justify-content:space-between;gap:15px!important;padding:18px max(22px,calc((100vw - 1680px)/2))!important;background:#071018}
.vsft-output .vsft-copyright{font-size:13px;color:#b6c3cd}
.vsft-output .vsft-legal-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0!important}
.vsft-output .vsft-legal-links .elementor-widget-text-editor:not(:last-child){padding-right:15px;margin-right:15px;border-right:1px solid #60707c}
.vsft-output .vsft-legal-links a{font-size:13px;color:#bccbd4}
.vsft-output .vsft-legal-links a:hover{color:#ff8b16}
@media(max-width:1370px){
.vsft-output .vsft-top{grid-template-columns:1.6fr 0.75fr 0.82fr;row-gap:18px!important}
.vsft-output .vsft-top-btn{grid-column:1/-1;justify-self:end;margin:0;width:240px}
.vsft-output .vsft-grid{grid-template-columns:25% 18% 24% 24%;gap:3%!important}
.vsft-output .vsft-main{padding-inline:38px!important}
.vsft-output .vsft-trust,.vsft-output .vsft-legal{padding-inline:38px!important}
}
@media(max-width:960px){
.vsft-output .vsft-top{grid-template-columns:1fr 1fr;gap:20px!important}
.vsft-output .vsft-top-left{grid-column:1/-1}
.vsft-output .vsft-top>.vsft-contact-item{border:0;padding-left:0}
.vsft-output .vsft-top-btn{grid-column:2;margin:0;width:100%}
.vsft-output .vsft-grid{grid-template-columns:1.1fr 1fr 1.2fr;gap:30px!important}
.vsft-output .vsft-contacts{grid-column:1/4;max-width:100%;display:grid!important;grid-template-columns:repeat(2,1fr);gap:8px 25px!important;margin-top:10px}
.vsft-output .vsft-contacts>.vsft-col-title{grid-column:1/-1;margin-bottom:0}
.vsft-output .vsft-scene{width:45%!important;opacity:.38}
.vsft-output .vsft-trust{grid-template-columns:repeat(2,1fr);gap:16px!important}
.vsft-output .vsft-trust-item{border:0;padding:5px 0!important}
}
@media(max-width:620px){
.vsft-output .vsft-top-shell{padding:16px}
.vsft-output .vsft-top{padding:20px!important;grid-template-columns:1fr;gap:15px!important}
.vsft-output .vsft-top-left{grid-column:auto;gap:15px!important;padding:0}
.vsft-output .vsft-intro-bolt{flex-basis:58px;width:58px!important;height:58px}
.vsft-output .vsft-intro-bolt .elementor-icon{font-size:34px}
.vsft-output .vsft-top-title h2{font-size:24px}
.vsft-output .vsft-eyebrow h5{font-size:10px;letter-spacing:1.2px}
.vsft-output .vsft-top>.vsft-contact-item{min-height:0}
.vsft-output .vsft-top-btn{grid-column:auto}
.vsft-output .vsft-main{padding:36px 22px!important}
.vsft-output .vsft-grid{grid-template-columns:1fr 1fr;gap:28px 18px!important}
.vsft-output .vsft-brand{grid-column:1/-1}
.vsft-output .vsft-brand-logo{max-width:195px;margin-bottom:13px}
.vsft-output .vsft-brand-description{margin-bottom:15px;max-width:100%}
.vsft-output .vsft-contacts{grid-column:1/-1;grid-template-columns:1fr;gap:7px!important}
.vsft-output .vsft-col-title h3{font-size:18px}
.vsft-output .vsft-nav-link a{font-size:13px}
.vsft-output .vsft-scene{display:none}
.vsft-output .vsft-trust{padding:22px!important;grid-template-columns:1fr 1fr;gap:20px 10px!important}
.vsft-output .vsft-trust-item{gap:9px!important}
.vsft-output .vsft-trust-icon{min-width:25px;width:25px!important}
.vsft-output .vsft-trust-icon .elementor-icon{font-size:24px}
.vsft-output .vsft-trust-title h4{font-size:12px}
.vsft-output .vsft-trust-desc{font-size:11px}
.vsft-output .vsft-legal{padding:17px 22px!important;flex-direction:column;align-items:flex-start}
.vsft-output .vsft-legal-links{justify-content:flex-start;gap:7px!important}
.vsft-output .vsft-legal-links .elementor-widget-text-editor:not(:last-child){padding-right:9px;margin-right:0}
.vsft-output .vsft-legal-links a{font-size:11px}
}


/* ============================================================================
 * VoltSmart Footer 1.1 — COMPACT PREMIUM
 * Applies also to an existing Elementor Theme Builder footer. No re-import.
 * ============================================================================ */

/* Compact 24/7 bar: same visual hierarchy without excessive vertical padding */
.vsft-output .vsft-top-shell {
  padding-top: 15px;
  padding-bottom: 15px;
}
.vsft-output .vsft-top {
  min-height: 115px;
  padding: 15px 23px!important;
}
.vsft-output .vsft-top-left { gap: 18px!important; }
.vsft-output .vsft-intro-bolt { flex-basis:70px; width:70px!important; height:70px; }
.vsft-output .vsft-intro-bolt .elementor-icon { font-size:42px; }
.vsft-output .vsft-top-intro { gap:3px!important; }
.vsft-output .vsft-top-title h2 { font-size:clamp(23px,1.85vw,31px); line-height:1.12!important; }
.vsft-output .vsft-top-desc {font-size:13px;line-height:1.45;}
.vsft-output .vsft-top-btn .elementor-button {padding:15px 12px;}

/* Content height follows actual links and contacts, not a large fixed rectangle. */
.vsft-output .vsft-main {
  min-height:0!important;
  height:auto!important;
  padding:26px max(24px,calc((100vw - 1640px)/2)) 25px!important;
}
.vsft-output .vsft-grid {
  max-width:1640px;
  grid-template-columns:minmax(0,23%) minmax(0,13%) minmax(0,21%) minmax(0,19%);
  column-gap:2.2%!important;
  row-gap:0!important;
  align-items:start!important;
  justify-content:start!important;
}
.vsft-output .vsft-grid > .e-con {min-height:0!important;align-self:start!important;}
.vsft-output .vsft-brand{padding-right:12px;}
.vsft-output .vsft-brand-logo{max-width:208px;margin-bottom:12px;}
.vsft-output .vsft-brand-logo img{max-height:70px;}
.vsft-output .vsft-brand-description {font-size:14px;line-height:1.55;margin:0 0 14px;max-width:335px;}
.vsft-output .vsft-socials {gap:9px!important;}
.vsft-output .vsft-social-icon{width:33px!important;height:33px;}
.vsft-output .vsft-social-icon .elementor-icon{font-size:15px;}

.vsft-output .vsft-col-title {margin:0 0 13px!important;}
.vsft-output .vsft-col-title h3 {font-size:19px;line-height:1.2;padding-bottom:11px;}
.vsft-output .vsft-col-title h3::after {width:35px;height:2px;}
.vsft-output .vsft-nav-link {margin:0 0 8px!important;}
.vsft-output .vsft-nav-link a {font-size:14px;line-height: 1.03;}
.vsft-output .vsft-nav-link a span{font-size:18px;}

.vsft-output .vsft-contacts {gap:0!important;}
.vsft-output .vsft-contacts .vsft-contact-item {
  margin:0 0 10px!important;
  min-height:0!important;
  gap:9px!important;
  align-items:start!important;
}
.vsft-output .vsft-contacts .vsft-contact-icon {width:22px!important;min-width:22px;height:22px;min-height:22px;}
.vsft-output .vsft-contacts .vsft-contact-icon .elementor-icon{font-size:17px;}
.vsft-output .vsft-contacts .vsft-contact-copy {gap:0!important;}
.vsft-output .vsft-contacts .vsft-contact-label h4 {font-size:14px;line-height:1.2!important;}
.vsft-output .vsft-contacts .vsft-contact-value {font-size:13px;line-height:1.3;}

/* Keep the electrician photo present but behind the dedicated right-hand space. */
.vsft-output .vsft-scene {width:min(33%,610px)!important;}
.vsft-output .vsft-scene::after {
 background:linear-gradient(90deg,#08131e 0%,rgba(8,19,30,.97) 13%,rgba(8,19,30,.82) 34%,rgba(8,19,30,.23) 78%,rgba(8,19,30,.08) 100%);
}

/* Thin benefits strip and copyright, aligned with original approved mockup. */
.vsft-output .vsft-trust {padding-top:13px!important;padding-bottom:13px!important;}
.vsft-output .vsft-trust-item {padding-top:2px;padding-bottom:2px;gap:12px!important;}
.vsft-output .vsft-trust-icon {min-width:35px;width:35px!important;height:35px;}
.vsft-output .vsft-trust-icon .elementor-icon {font-size:28px;}
.vsft-output .vsft-legal {padding-top:13px!important;padding-bottom:13px!important;}

@media (max-width:1370px) and (min-width:961px) {
  .vsft-output .vsft-top {grid-template-columns:1.4fr .78fr .9fr .85fr; gap:10px!important;}
  .vsft-output .vsft-top-btn {grid-column:auto; width:auto; margin-left:0;justify-self:stretch;}
  .vsft-output .vsft-top>.vsft-contact-item {padding-left:12px;}
  .vsft-output .vsft-main {padding-inline:34px!important;}
  .vsft-output .vsft-grid {grid-template-columns:minmax(0,23%) minmax(0,13%) minmax(0,23%) minmax(0,20%);gap:2%!important;}
  .vsft-output .vsft-top-title h2 {font-size:23px;}
  .vsft-output .vsft-top-desc {font-size:12px;}
  .vsft-output .vsft-contact-label h4 {font-size:14px;}
  .vsft-output .vsft-top .vsft-contact-icon {width:35px!important;min-width:35px;min-height:35px;}
  .vsft-output .vsft-top .vsft-contact-icon .elementor-icon {font-size:17px;}
  .vsft-output .vsft-top .vsft-contact-value {font-size:14px;}
  .vsft-output .vsft-top-btn .elementor-button {font-size:13px;padding:14px 8px;}
  .vsft-output .vsft-scene {width:31%!important;}
}
@media (max-width:960px) {
  .vsft-output .vsft-main{padding:28px 26px!important;}
  .vsft-output .vsft-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.1fr);gap:22px!important;}
  .vsft-output .vsft-contacts {grid-column:1/-1;display:grid!important;grid-template-columns:1fr 1fr;gap:10px 20px!important;}
  .vsft-output .vsft-contacts>.vsft-col-title {grid-column:1/-1;}
  .vsft-output .vsft-contacts .vsft-contact-item {margin:0!important;}
  .vsft-output .vsft-scene {width:42%!important;opacity:.25;}
  .vsft-output .vsft-top{grid-template-columns:1fr 1fr; gap:12px!important;}
  .vsft-output .vsft-top-left{grid-column:1/-1;}
  .vsft-output .vsft-top-btn {grid-column:2;width:100%;}
  .vsft-output .vsft-trust{padding:17px 26px!important;}
  .vsft-output .vsft-legal{padding-inline:26px!important;}
}
@media (max-width:620px){
  .vsft-output .vsft-top-shell{padding:12px!important;}
  .vsft-output .vsft-top{padding:17px!important;grid-template-columns:1fr;}
  .vsft-output .vsft-top-left{grid-column:auto;}
  .vsft-output .vsft-top-btn{grid-column:auto;}
  .vsft-output .vsft-intro-bolt{flex-basis:55px;width:55px!important;height:55px;}
  .vsft-output .vsft-intro-bolt .elementor-icon{font-size:33px;}
  .vsft-output .vsft-top-title h2{font-size:23px;}
  .vsft-output .vsft-main{padding:26px 19px!important;}
  .vsft-output .vsft-grid{grid-template-columns:1fr 1fr;gap:23px 17px!important;}
  .vsft-output .vsft-brand{grid-column:1/-1;}
  .vsft-output .vsft-contacts{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:12px!important;}
  .vsft-output .vsft-contacts>.vsft-col-title{grid-column:1/-1;}
  .vsft-output .vsft-nav-link a{font-size:13px;}
  .vsft-output .vsft-scene{display:none;}
  .vsft-output .vsft-trust{padding:16px 19px!important;gap:13px!important;}
  .vsft-output .vsft-legal{padding:14px 19px!important;}
}
@media(max-width:410px){
  .vsft-output .vsft-contacts{grid-template-columns:1fr;}
  .vsft-output .vsft-top>.vsft-contact-item{min-width:0;}
  .vsft-output .vsft-brand-description{font-size:13px;}
}
