main.site-main {
    width: 100% !important;
    max-width: 100% !important;
}

.hw-page .elementor-heading-title {
    font-family: "Poppins", Sans-serif;
    color: var(--e-global-color-f099896);
}

.hw-page .elementor-widget-wrap.elementor-element-populated {
    padding: 0 10px;
}

.hw-page
    .hw-hero
    > .elementor-container
    > .elementor-column
    > .elementor-widget-wrap {
    align-content: center;
    align-items: center;
}

.hw-page .hw-hero:not(.elementor-motion-effects-element-type-background),
.hw-page
    .hw-hero
    > .elementor-motion-effects-container
    > .elementor-motion-effects-layer {
    background-color: #ffffff;
}

.hw-page .hw-hero > .elementor-background-overlay {
    background-image: url("/wp-content/uploads/2018/11/pexels-photo-1358900.jpeg");
    background-position: top center;
    background-repeat: repeat-x;
    opacity: 0.2;
    transition:
        background 0.3s,
        border-radius 0.3s,
        opacity 0.3s;
}

.hw-page .hw-hero > .elementor-container {
    max-width: 1200px;
}

.hw-page .hw-hero {
    transition:
        background 0.3s,
        border 0.3s,
        border-radius 0.3s,
        box-shadow 0.3s;
    margin-top: 0;
    margin-bottom: 0;
    padding: 160px 12px;
}

.hw-page .hw-hero-content > .elementor-element-populated {
    padding: 0% 5% 0% 0%;
}

.hw-page .hw-hero .elementor-element-2df48dfd {
    text-align: left;
}

.hw-page .hw-hero h1.elementor-heading-title,
.hw-page .hw-hero .elementor-element-2df48dfd .elementor-heading-title {
    font-size: 48px;
    font-weight: 800;
    line-height: 1.2em;
    color: var(--e-global-color-f099896);
}

.hw-page .hw-hero .elementor-element-3f6af119 > .elementor-widget-container {
    margin: -10px 0 0;
    padding: 0;
}

.hw-page .hw-hero .elementor-element-3f6af119 .elementor-heading-title {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.7em;
    color: var(--e-global-color-f099896);
}

.hw-page .hw-hero .elementor-element-6f02e741 {
    margin-top: 40px;
}

.hw-page .hw-hero .elementor-widget-icon-list .elementor-icon-list-item,
.hw-page .hw-hero .elementor-element-6f02e741 .elementor-icon-list-item {
    margin-bottom: 12px;
}

.hw-page .hw-hero .elementor-widget-icon-list .elementor-icon-list-text,
.hw-page .hw-hero .elementor-element-6f02e741 .elementor-icon-list-text {
    color: #121212;
}

.hw-page .hw-hero .elementor-widget-icon-list .elementor-icon-list-icon i,
.hw-page .hw-hero .elementor-element-6f02e741 .elementor-icon-list-icon i {
    color: #5e1c4b;
}

.hw-page .hw-hero .elementor-element-69f0d957 {
    margin-top: 44px;
}

.hw-page .hw-hero .elementor-align-left .elementor-button-wrapper {
    text-align: left;
}

.hw-page .elementor-element.elementor-global-28575 .elementor-button,
.hw-page .elementor-element.elementor-global-28572 .elementor-button {
    background-color: var(--e-global-color-a58c92d);
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    fill: #ffffff;
    color: #ffffff;
    border-style: solid;
    border-color: var(--e-global-color-a58c92d);
    border-radius: 0;
    padding: 15px 45px;
    line-height: 19px;
}

.hw-page .elementor-element.elementor-global-28575 .elementor-button:hover,
.hw-page .elementor-element.elementor-global-28575 .elementor-button:focus,
.hw-page .elementor-element.elementor-global-28572 .elementor-button:hover,
.hw-page .elementor-element.elementor-global-28572 .elementor-button:focus {
    background-color: #ffffff;
    color: var(--e-global-color-a58c92d);
}

.hw-page
    .elementor-element.elementor-global-28575
    > .elementor-widget-container,
.hw-page
    .elementor-element.elementor-global-28572
    > .elementor-widget-container {
    padding: 15px 0 0;
}

.hw-page .elementor-element.elementor-element-4d09f8e7 .elementor-button,
.hw-page .elementor-element.elementor-element-35032d60 .elementor-button {
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    fill: var(--e-global-color-a24ac85);
    color: var(--e-global-color-a24ac85);
    background-color: #ffffff;
    border-style: solid;
    border-color: var(--e-global-color-a24ac85);
    border-radius: 0;
    padding: 15px 45px;
    line-height: 19px;
}

.hw-page .hw-intro {
    padding: 120px 12px 90px;
}

.hw-page
    .hw-intro
    .elementor-column-gap-no
    > .elementor-column
    > .elementor-element-populated {
    padding: 0;
}

.hw-page .hw-intro .elementor-widget-text-editor {
    margin-top: 34px;
}

.hw-page .hw-intro .elementor-widget-button {
    margin-top: 44px;
}

.hw-page .elementor-element.elementor-element-12bd8772 .elementor-heading-title,
.hw-page .elementor-element.elementor-element-1eac3c4f .elementor-heading-title,
.hw-page .elementor-element.elementor-element-25146747 .elementor-heading-title,
.hw-page .elementor-element.elementor-element-5f4f827 .elementor-heading-title,
.hw-page .elementor-element.elementor-element-7901d34 .elementor-heading-title,
.hw-page .elementor-element.elementor-element-4fe5562 .elementor-heading-title {
    font-size: 34px;
    font-weight: 600;
    line-height: 1.3em;
    color: var(--e-global-color-f099896);
}

.hw-page .hw-feature {
    padding: 60px 12px;
}

.hw-page .hw-guidance,
.hw-page .hw-feature--b-range,
.hw-page .hw-feature--infinity,
.hw-page .hw-feature--gas,
.hw-page .hw-feature--heat-pump,
.hw-page .hw-feature--solar,
.hw-page .hw-feature--installation,
.hw-page .hw-feature--emergency-repairs,
.hw-page .hw-feature--servicing {
    padding: 60px;
}

.hw-page .hw-feature--electric {
    padding: 60px 60px 120px;
}

.hw-page
    .hw-guidance
    .elementor-element-39cabff7
    > .elementor-element-populated {
    padding-right: 5%;
}

.hw-page
    .hw-guidance
    .elementor-element-14fddf6b
    > .elementor-element-populated {
    padding-left: 5%;
}

.hw-page .elementor-element.elementor-element-c3918e9 img {
    max-width: 39%;
}

.hw-page .elementor-element.elementor-element-16e850ca img {
    max-width: 100%;
}

.hw-page .elementor-element.elementor-element-3232f796 img,
.hw-page .elementor-element.elementor-element-fea8424 img {
    max-width: 43%;
}

.hw-page .elementor-element.elementor-element-f00923b img {
    max-width: 47%;
}

.hw-page .elementor-element.elementor-element-2453e5eb img {
    max-width: 50%;
}

.hw-page .hw-feature .elementor-widget-heading {
    margin-bottom: 24px;
}

.hw-page .hw-feature .elementor-widget-text-editor {
    margin-top: 18px;
}

.hw-page .hw-feature--b-range .elementor-widget-button,
.hw-page .hw-feature--electric .elementor-widget-button {
    margin-top: 34px;
}

.hw-page .hw-proof {
    padding: 120px 60px;
}

.hw-page .hw-proof .elementor-element-4337e962,
.hw-page .hw-proof .elementor-element-4faf6c38,
.hw-page .hw-proof .elementor-element-298b1023 {
    padding: 0;
}

.hw-page .hw-proof .elementor-element-4d09f8e7 {
    margin-top: 34px;
}

.hw-page.elementor-26300 .hw-proof-heading {
    text-align: center;
}

@media (min-width: 768px) {
    .hw-page.elementor-26300 .hw-proof-heading {
        margin-bottom: 40px;
    }
}

.hw-page .hw-breadcrumb {
    background-color: #f1f2f2;
}

.hw-page .hw-breadcrumb .elementor-container {
    max-width: 1200px;
}

.hw-page .hw-breadcrumb .elementor-widget-wrap {
    padding-left: 12px !important;
    padding-right: 12px !important;
}

@media (min-width: 1200px) {
    .hw-page .hw-breadcrumb .elementor-widget-wrap {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

.hw-page .hw-breadcrumb a,
.hw-page .hw-breadcrumb span {
    color: #621143 !important;
}

.hw-page .hw-breadcrumb span {
    font-weight: 700;
}

.hw-page .hw-faq {
    padding: 60px 12px;
}

.hw-page .hw-contact-cta {
    padding: 60px;
}

.hw-page .hw-contact-cta--purple {
    background-color: #5e1c4b;
}

.hw-page section.hw-contact-cta--purple {
    margin-top: 18px;
    background-color: #5e1c4b !important;
}

.hw-page .hw-contact-cta--purple .elementor-heading-title {
    color: var(--e-global-color-fbb9314);
}

.hw-page .hw-contact-cta--purple .elementor-widget-heading,
.hw-page .hw-contact-cta--purple .elementor-widget-button {
    text-align: center;
}

.hw-page .hw-contact-cta--purple .elementor-heading-title {
    font-size: 38px;
    font-weight: 600;
    line-height: 50px;
}

.hw-page .hw-contact-cta--purple .elementor-button {
    background-color: #ffffff;
    color: var(--e-global-color-a24ac85);
    border: 1px solid var(--e-global-color-a24ac85);
    fill: var(--e-global-color-a24ac85);
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 15px 45px;
}

.hw-page .hw-contact-cta--purple .elementor-button:hover,
.hw-page .hw-contact-cta--purple .elementor-button:focus {
    background-color: #ffffff;
    color: var(--e-global-color-a24ac85);
}

.hw-page .elementor-widget-accordion .elementor-tab-content {
    display: none;
}

.hw-page .elementor-widget-accordion .elementor-tab-content.elementor-active {
    display: block;
}

/* Electrician Social Proof */
.hw-page .hw-social-proof {
    background: #f9f4fb;
    padding-top: 60px;
    padding-bottom: 60px;
}

.hw-page .hw-social-proof-title {
    text-align: center;
    font-size: 28px;
    font-weight: 700;
    color: #5e1c4b;
    margin-bottom: 16px;
}

.hw-page .hw-social-proof-lead {
    text-align: center;
    font-size: 16px;
    color: #444;
    max-width: 640px;
    margin: 0 auto 32px;
    line-height: 1.7em;
}

.hw-page .hw-social-proof-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.hw-page .hw-social-proof-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #fff;
    border: 1px solid #e0d4e8;
    border-radius: 10px;
    padding: 20px 28px;
    text-decoration: none;
    min-width: 180px;
}

.hw-page .hw-social-proof-rating {
    font-size: 22px;
    font-weight: 800;
    color: #5e1c4b;
}

.hw-page .hw-social-proof-source {
    font-size: 13px;
    color: #555;
    margin-top: 4px;
}

/* How It Works */
.hw-page .hw-how-it-works {
    padding: 60px 12px;
    background-color: #fafafa;
}

.hw-page .hw-step-card:hover {
    border-color: #d0b0d0;
    box-shadow: 0 4px 12px rgba(94, 28, 75, 0.08);
    transition:
        border-color 0.2s,
        box-shadow 0.2s;
}

/* What's Included */
.hw-page .hw-whats-included {
    padding: 60px 12px;
    background-color: #f4edf3;
}

.hw-page .hw-included-item:hover {
    border-color: #c8a5c8;
    box-shadow: 0 2px 8px rgba(94, 28, 75, 0.06);
    transition:
        border-color 0.2s,
        box-shadow 0.2s;
}

/* VEU Rebate Callout */
.hw-page .hw-veu-callout {
    background-color: #ffffff;
    border-top: 4px solid #da1f28;
    padding-top: 60px;
    padding-bottom: 60px;
}

@media (max-width: 767px) {
    .hw-page .hw-hero {
        padding: 16px 12px;
    }

    .hw-page.elementor-26300 .hw-hero h1.elementor-heading-title {
        font-size: 28px;
        line-height: 1.2em;
    }

    .hw-page.elementor-26300 .hw-feature h2.elementor-heading-title,
    .hw-page.elementor-26300 .hw-proof h2.elementor-heading-title,
    .hw-page.elementor-26300 .hw-faq h2.elementor-heading-title,
    .hw-page.elementor-26300 .hw-intro h2.elementor-heading-title {
        font-size: 22px;
        line-height: 1.3em;
        margin-top: 30px;
        margin-bottom: 0;
    }

    .hw-page.elementor-26300 .hw-feature .elementor-widget-heading {
        margin-bottom: 12px;
    }

    .hw-page .elementor-element.elementor-global-28575 .elementor-button,
    .hw-page .elementor-element.elementor-global-28572 .elementor-button {
        font-size: 13px;
    }

    .hw-page .elementor-accordion .elementor-tab-title {
        line-height: 1.5rem;
        font-weight: 500;
    }

    .hw-page .hw-social-proof-grid {
        flex-wrap: nowrap;
        gap: 8px;
    }

    .hw-page .hw-social-proof-card {
        flex: 1 1 0;
        min-width: 0;
        padding: 14px 8px;
    }

    .hw-page .hw-social-proof-rating {
        font-size: 18px;
    }

    .hw-page .hw-social-proof-source {
        font-size: 11px;
    }

    .hw-page .hw-proof {
        padding: 40px 16px;
    }

    .hw-page .hw-veu-callout .elementor-col-40 {
        margin-top: 32px;
    }

    .hw-page .hw-contact-cta--purple .elementor-heading-title {
        font-size: 26px;
        line-height: 1.3em;
    }

    .hw-page .hw-contact-cta {
        padding: 40px 24px;
    }
}

/* Brand Carousel */
.hw-brand-carousel-wrap {
    position: relative;
    max-width: 1060px;
    margin: 0 auto 40px;
    padding: 0 52px;
}

.hw-brand-carousel {
    display: flex;
    overflow-x: hidden;
    gap: 24px;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
}

.hw-brand-card {
    flex: 0 0 calc((100% - 48px) / 3);
    scroll-snap-align: start;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 10px;
    padding: 28px 24px;
}

.hw-carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: #fff;
    border: 2px solid #5e1c4b;
    color: #5e1c4b;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 22px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    padding: 0;
}

.hw-carousel-btn--prev {
    left: 0;
}
.hw-carousel-btn--next {
    right: 0;
}

@media (max-width: 900px) {
    .hw-brand-card {
        flex: 0 0 calc((100% - 24px) / 2);
    }
}

@media (max-width: 600px) {
    .hw-brand-carousel-wrap {
        padding: 0 44px;
    }
    .hw-brand-card {
        flex: 0 0 100%;
    }
}

/* Feature block — single column until 1150px */
@media (max-width: 1150px) {
    .hw-page .hw-feature .elementor-container {
        flex-wrap: wrap !important;
    }
    .hw-page .hw-feature .elementor-column {
        width: 100% !important;
    }
}

/* Feature block button groups — full-width stack on narrow viewports */
.hw-btn-group {
    width: 100%;
}

@media (max-width: 1150px) {
    .hw-btn-group {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    .hw-btn-group .elementor-widget-button .elementor-button {
        width: 100%;
        text-align: center;
    }
}

/* VEU Hero Banner */
.hw-page .hw-veu-hero-banner {
    background-color: #5e1c4b;
    padding-top: 22px;
    padding-bottom: 22px;
}
