/* ww-mobile-readability-v2 */
@media (max-width: 767px) {
        /* WooCommerce cards: explicit contrast and dependable image rendering. */
        body.woocommerce ul.products li.product,
        body.woocommerce-page ul.products li.product,
        body.single-product .related li.product {
            background: #fff !important;
            color: #252525 !important;
            opacity: 1 !important;
            visibility: visible !important;
        }
        body.woocommerce ul.products li.product .entry-header,
        body.woocommerce-page ul.products li.product .entry-header,
        body.single-product .related li.product .entry-header,
        body.woocommerce ul.products li.product .entry-content,
        body.woocommerce-page ul.products li.product .entry-content,
        body.single-product .related li.product .entry-content {
            background: #fff !important;
            color: #252525 !important;
            opacity: 1 !important;
            visibility: visible !important;
        }
        body.woocommerce ul.products li.product img,
        body.woocommerce-page ul.products li.product img,
        body.single-product .related li.product img,
        body.single-product .woocommerce-product-gallery img {
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
            height: auto !important;
            min-height: 0 !important;
            aspect-ratio: 4 / 3;
            object-fit: contain !important;
            object-position: center !important;
            background: #fff !important;
            opacity: 1 !important;
            visibility: visible !important;
            filter: none !important;
            transform: none !important;
        }
        body.woocommerce ul.products li.product h2,
        body.woocommerce ul.products li.product h3,
        body.woocommerce-page ul.products li.product h2,
        body.woocommerce-page ul.products li.product h3,
        body.single-product .related li.product h2,
        body.single-product .related li.product h3,
        body.woocommerce ul.products li.product .entry-content p,
        body.woocommerce-page ul.products li.product .entry-content p,
        body.single-product .related li.product .entry-content p {
            color: #111 !important;
            opacity: 1 !important;
            visibility: visible !important;
        }
        body.woocommerce ul.products li.product h2,
        body.woocommerce ul.products li.product h3,
        body.woocommerce-page ul.products li.product h2,
        body.woocommerce-page ul.products li.product h3,
        body.single-product .related li.product h2,
        body.single-product .related li.product h3 {
            font-size: 17px !important;
            line-height: 1.35 !important;
        }
        body.woocommerce ul.products li.product .entry-content p,
        body.woocommerce-page ul.products li.product .entry-content p,
        body.single-product .related li.product .entry-content p {
            font-size: 16px !important;
            line-height: 1.5 !important;
        }
        body.woocommerce ul.products li.product .price,
        body.woocommerce-page ul.products li.product .price,
        body.single-product .related li.product .price {
            color: #a64205 !important;
            opacity: 1 !important;
            visibility: visible !important;
        }
        body.single-product .woocommerce-product-gallery,
        body.single-product .woocommerce-product-gallery__wrapper,
        body.single-product .summary,
        body.single-product .woocommerce-product-details__short-description,
        body.single-product .woocommerce-tabs,
        body.single-product .related {
            display: block;
            color: #202a33 !important;
            opacity: 1 !important;
            visibility: visible !important;
        }
        body.single-product .summary,
        body.single-product .woocommerce-product-details__short-description,
        body.single-product .woocommerce-tabs,
        body.single-product .related {
            font-size: 16px;
            line-height: 1.55;
        }
        body.single-product .single_add_to_cart_button,
        body.woocommerce ul.products li.product .button,
        body.woocommerce-page ul.products li.product .button {
            min-height: 44px;
            padding: 12px 16px !important;
            color: #111 !important;
            font-size: 16px !important;
            line-height: 1.25 !important;
            font-weight: 800;
        }
        body.single-product .product_meta,
        body.single-product .product_meta a {
            font-size: 15px;
            line-height: 1.5;
        }
        body.single-product .product_meta a {
            color: #984008 !important;
            text-decoration-thickness: 1px;
            text-underline-offset: 2px;
        }

        /* Video library labels. */
        .wwv-kicker,
        .wwv-tag {
            font-size: 13px !important;
            line-height: 1.35 !important;
            letter-spacing: .04em !important;
        }
        .wwv-hero p,
        .wwv-intro p {
            font-size: 16px !important;
            line-height: 1.55 !important;
        }

        /* Simulator result cards. */
        #ww-system-simulator .ww-result {
            background: #172127 !important;
            color: #f7fafb !important;
        }
        #ww-system-simulator .ww-result h3,
        #ww-system-simulator .ww-result > p,
        #ww-system-simulator .ww-result .ww-pump-used {
            color: #f7fafb !important;
        }
        #ww-system-simulator .ww-result .ww-metric {
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) !important;
            gap: 4px !important;
            padding: 11px 12px !important;
            min-height: 64px;
            align-content: center;
            text-align: center;
            background: #f8fbfc !important;
            border: 1px solid #b9cbd3 !important;
            border-radius: 12px;
        }
        #ww-system-simulator .ww-result .ww-metric span {
            color: #344b56 !important;
            font-size: 15px !important;
            line-height: 1.3 !important;
        }
        #ww-system-simulator .ww-result .ww-metric strong {
            display: block;
            color: #0b536f !important;
            font-size: 18px !important;
            line-height: 1.25 !important;
            font-weight: 800 !important;
        }
        #ww-system-simulator .ww-result.warn > p:last-child {
            color: #fff !important;
            font-size: 16px !important;
            line-height: 1.45 !important;
        }
        .ww-live-eyebrow {
            font-size: 13px !important;
        }
    }

/* ww-sitewide-layout-polish */
/* Shared, layout-only polish: no scripts and no content changes. */
:where(
  [class*="card"],
  [class*="box"],
  [class*="panel"],
  [class*="cta"],
  .woocommerce form,
  .woocommerce .products li.product,
  fieldset
) {
  box-sizing: border-box;
  min-width: 0;
}

:where(
  [class*="card"],
  [class*="box"],
  [class*="panel"],
  [class*="cta"]
) > :is(h1, h2, h3, h4, .section-title, .wp-block-heading) {
  max-width: 32ch;
  margin-inline: auto;
  text-align: center;
  text-wrap: balance;
}

:where(
  [class*="card"],
  [class*="box"],
  [class*="panel"],
  [class*="cta"]
) :is(p, li) {
  overflow-wrap: break-word;
}

:where(
  .ww-actions,
  [class$="-actions"],
  [class*=" action-row"],
  .wp-block-buttons,
  .woocommerce .form-row.place-order,
  .woocommerce-cart .wc-proceed-to-checkout,
  .woocommerce .cart-collaterals .wc-proceed-to-checkout
) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

:where(
  a.button,
  button.button,
  input.button,
  .wp-element-button,
  .wp-block-button__link,
  [class*="ww-button"],
  [class*="ww-btn"],
  a[class*="primary"],
  a[class*="secondary"]
) {
  box-sizing: border-box;
  min-height: 44px;
  max-width: 100%;
  padding: 11px 20px;
  line-height: 1.2;
  text-align: center;
  white-space: normal;
}

:where(
  a.button,
  button.button,
  .wp-element-button,
  .wp-block-button__link,
  [class*="ww-button"],
  [class*="ww-btn"],
  a[class*="primary"],
  a[class*="secondary"]
) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

:where(
  .ww-home-cta,
  .ww-ap-cta,
  .ww-contact-cta,
  .ww-cart-hero,
  .ww-checkout-hero,
  .ww-sim-cta,
  .ww-product-cta,
  .ww-category-cta,
  [class*="help-box"],
  [class*="need-help"]
) {
  text-align: center;
}

:where(
  .ww-home-cta,
  .ww-ap-cta,
  .ww-contact-cta,
  .ww-cart-hero,
  .ww-checkout-hero,
  .ww-sim-cta,
  .ww-product-cta,
  .ww-category-cta
) > * {
  margin-inline: auto;
}

.woocommerce ul.products {
  align-items: stretch;
}

.woocommerce ul.products li.product {
  height: 100%;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.woocommerce ul.products li.product :is(
  .woocommerce-loop-product__title,
  .price,
  .star-rating
) {
  margin-inline: auto;
  text-align: center;
}

.woocommerce ul.products li.product img {
  align-self: center;
  object-position: center;
}

.woocommerce ul.products li.product .button {
  margin: auto auto 0;
}

.woocommerce :is(
  .cart_totals,
  .woocommerce-checkout-review-order,
  .woocommerce-billing-fields,
  .woocommerce-shipping-fields,
  .woocommerce-MyAccount-content,
  .woocommerce-form-login,
  .woocommerce-form-register
) {
  box-sizing: border-box;
  min-width: 0;
}

.woocommerce :is(
  .cart_totals,
  .woocommerce-checkout-review-order,
  .woocommerce-billing-fields,
  .woocommerce-shipping-fields,
  .woocommerce-MyAccount-content
) > :is(h2, h3) {
  text-align: center;
  text-wrap: balance;
}

.woocommerce form .form-row label,
.woocommerce form .form-row .woocommerce-input-wrapper,
.woocommerce form .form-row input,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  text-align: left;
}

.woocommerce form :is(input, select, textarea, button) {
  box-sizing: border-box;
  max-width: 100%;
}

:where(.pump-card, .ww-pump-card) :is(h3, h4),
:where(.faq-card, .ww-faq-card) :is(h3, h4),
:where(.video-card, .ww-video-card) :is(h3, h4) {
  text-align: center;
  text-wrap: balance;
}

@media (max-width: 680px) {
  :where(
    .ww-actions,
    [class$="-actions"],
    [class*=" action-row"],
    .wp-block-buttons,
    .woocommerce .form-row.place-order,
    .woocommerce-cart .wc-proceed-to-checkout
  ) {
    width: 100%;
  }

  :where(
    .ww-actions,
    [class$="-actions"],
    [class*=" action-row"],
    .wp-block-buttons,
    .woocommerce .form-row.place-order
  ) > :where(a, button, input[type="submit"]) {
    width: 100%;
  }

  :where(
    [class*="card"],
    [class*="box"],
    [class*="panel"],
    [class*="cta"],
    .woocommerce form,
    fieldset
  ) {
    max-width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  :where(a.button, button.button, .wp-element-button, [class*="ww-button"], [class*="ww-btn"]) {
    transition-duration: 0.01ms !important;
  }
}

/* ww-mobile-simulator-metrics-v2 */
@media (max-width: 600px) {
        body.page-id-6353 #ww-system-simulator .ww-result .ww-metric {
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) !important;
            gap: 4px !important;
            padding: 11px 12px !important;
            min-height: 64px;
            align-content: center;
            text-align: center;
            background: #f8fbfc !important;
            border: 1px solid #b9cbd3 !important;
            border-radius: 12px;
        }
        body.page-id-6353 #ww-system-simulator .ww-result .ww-metric span {
            color: #344b56 !important;
            font-size: 15px !important;
            line-height: 1.3 !important;
        }
        body.page-id-6353 #ww-system-simulator .ww-result .ww-metric strong {
            display: block;
            color: #0b536f !important;
            font-size: 18px !important;
            line-height: 1.25 !important;
            font-weight: 800 !important;
        }
    }

/* ww-mobile-content-card-readability */
@media (max-width: 640px) {
        /* Some shop category items omit WooCommerce's product-category class. */
        html body.woocommerce-shop .ww-shop-categories ul.products.products > li.masonry-brick .ww-category-image {
            display: flex !important;
            width: 100% !important;
            height: 155px !important;
            align-items: center !important;
            justify-content: center !important;
            overflow: hidden !important;
            background-color: #f4f5f5 !important;
            background-position: center !important;
            background-repeat: no-repeat !important;
            background-size: contain !important;
        }

        html body.woocommerce-shop .ww-shop-categories ul.products.products > li.masonry-brick .ww-category-image img {
            display: block !important;
            visibility: visible !important;
            opacity: 1 !important;
            width: 100% !important;
            height: 100% !important;
            margin: 0 !important;
            padding: 7px !important;
            box-sizing: border-box !important;
            object-fit: contain !important;
            object-position: center !important;
            background: transparent !important;
            filter: none !important;
            transform: none !important;
        }

        html body.woocommerce-shop .ww-shop-categories ul.products.products > li.masonry-brick .woocommerce-loop-category__title {
            position: relative !important;
            z-index: 1 !important;
            background: #141a20 !important;
            color: #fff !important;
        }

        /* The homeowner guide used desktop two- and three-column grids on phones. */
        html body .ww-guide .quick,
        html body .ww-guide .grid {
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) !important;
            gap: 14px !important;
            width: 100% !important;
        }

        html body .ww-guide .quick > *,
        html body .ww-guide .grid > .card {
            width: 100% !important;
            min-width: 0 !important;
            height: auto !important;
            min-height: 0 !important;
            padding: 18px !important;
            box-sizing: border-box !important;
        }

        /* High-contrast mobile cards inspired by the simulator introduction. */
        html body :is(
            .ww-guide .quick > *,
            .ww-guide .grid > .card,
            .ww-ap .ww-ap-grid > article,
            .ww-ap .ww-ap-grid > div,
            .ww-ap .ww-ap-card-grid > *,
            .ww-ap .ww-ap-step-grid > *,
            .ww-ap .ww-ap-split > article,
            .ww-ap .ww-ap-split > div,
            .ww-two-pack__card,
            .ww-two-pack__fact
        ) {
            border: 1px solid rgba(242, 105, 25, .82) !important;
            border-radius: 18px !important;
            background: linear-gradient(135deg, #102a35 0%, #12465a 58%, #0b698a 100%) !important;
            color: #fff !important;
            box-shadow: 0 10px 24px rgba(7, 25, 33, .18) !important;
        }

        html body :is(
            .ww-guide .quick > *,
            .ww-guide .grid > .card,
            .ww-ap .ww-ap-grid > article,
            .ww-ap .ww-ap-grid > div,
            .ww-ap .ww-ap-card-grid > *,
            .ww-ap .ww-ap-step-grid > *,
            .ww-ap .ww-ap-split > article,
            .ww-ap .ww-ap-split > div,
            .ww-two-pack__card,
            .ww-two-pack__fact
        ) :is(h2, h3, h4, p, li, strong, span) {
            color: #fff !important;
        }

        html body :is(
            .ww-guide .quick > *,
            .ww-guide .grid > .card,
            .ww-ap .ww-ap-grid > article,
            .ww-ap .ww-ap-grid > div,
            .ww-ap .ww-ap-card-grid > *,
            .ww-ap .ww-ap-step-grid > *,
            .ww-ap .ww-ap-split > article,
            .ww-ap .ww-ap-split > div,
            .ww-two-pack__card,
            .ww-two-pack__fact
        ) a:not(.button):not(.btn) {
            color: #ffd0ad !important;
            text-decoration-color: rgba(255, 208, 173, .75) !important;
        }

        /* Reclaim width lost to several layers of section padding. */
        html body .ww-ap {
            padding-right: 10px !important;
            padding-left: 10px !important;
        }

        html body .ww-ap .ww-ap-section,
        html body .ww-ap section[class*="ww-ap-"] {
            padding-right: 18px !important;
            padding-left: 18px !important;
        }

        html body .ww-ap :is(.ww-ap-split, .ww-ap-grid, .ww-ap-actions, .ww-ap-tags) {
            width: 100% !important;
            min-width: 0 !important;
            box-sizing: border-box !important;
        }

        html body .ww-matched-section {
            padding-right: 14px !important;
            padding-left: 14px !important;
        }

        html body .ww-two-pack__section {
            padding-right: 16px !important;
            padding-left: 16px !important;
        }

        html body .ww-two-pack :is(.ww-two-pack__grid, .ww-two-pack__facts, .ww-two-pack__buttons, .ww-two-pack__card, .ww-two-pack__fact) {
            width: 100% !important;
            min-width: 0 !important;
            box-sizing: border-box !important;
        }

        html body .ww-live-hero {
            padding-right: 12px !important;
            padding-left: 12px !important;
        }

        html body .ww-live-hero-copy {
            padding-right: 18px !important;
            padding-left: 18px !important;
        }

        /* Natural wrapping and comfortable reading rhythm across these cards. */
        html body :is(.ww-guide, .ww-ap, .ww-two-pack, .ww-live-hero)
        :is(h1, h2, h3, h4, p, li, a, span, strong) {
            max-width: 100% !important;
            overflow-wrap: break-word !important;
            word-break: normal !important;
            hyphens: none !important;
        }

        html body :is(.ww-guide, .ww-ap, .ww-two-pack, .ww-live-hero) p,
        html body :is(.ww-guide, .ww-ap, .ww-two-pack, .ww-live-hero) li {
            font-size: max(16px, 1rem) !important;
            line-height: 1.55 !important;
        }

        /* Small all-caps labels remain secondary without becoming fine print. */
        html body .ww-live-hero .ww-live-eyebrow,
        html body .ww-home-section .ww-section-kicker,
        html body .ww-shop-hero .ww-shop-eyebrow {
            font-size: 13px !important;
            line-height: 1.4 !important;
            letter-spacing: .075em !important;
        }

        html body .ww-message-privacy {
            font-size: 12px !important;
            line-height: 1.45 !important;
        }

        html body :is(.ww-guide, .ww-ap, .ww-two-pack, .ww-live-hero)
        :is(.button, .btn, [class*="button"], [class*="actions"] a) {
            min-height: 46px;
            white-space: normal !important;
            line-height: 1.25 !important;
        }
    }

/* ww-right-sidebar-transparency */
/* One balanced, readable visual system for both fixed sidebars. */
        #ww-side-nav,
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) {
            background: rgba(255, 255, 255, .36) !important;
            color: #080808 !important;
            font-family: inherit !important;
            font-weight: 700;
            -webkit-backdrop-filter: saturate(1.08) blur(4px);
            backdrop-filter: saturate(1.08) blur(4px);
        }

        #ww-side-nav {
            overflow-x: hidden !important;
            overflow-y: auto !important;
        }
        #ww-side-nav ul,
        #ww-side-nav li,
        #ww-side-nav a {
            max-width: 100% !important;
            box-sizing: border-box !important;
        }

        #ww-side-nav .ww-side-title,
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-view-title,
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-card > strong,
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-risk strong {
            color: #8f2f00 !important;
            font-weight: 900 !important;
        }

        #ww-side-nav .ww-side-title,
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-view-title {
            font-size: 13px !important;
            line-height: 1.3 !important;
        }

        #ww-canada-conditions:not(.ww-local-panel-fullscreen) {
            font-size: 13.5px !important;
            line-height: 1.42 !important;
        }
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-risk,
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-card,
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-map-wrap {
            background: rgba(255, 255, 255, .34) !important;
        }
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-risk,
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-card,
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-days,
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-footer,
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-alerts,
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-day {
            color: #080808 !important;
            font-size: 13.5px !important;
            font-weight: 700 !important;
            line-height: 1.42 !important;
        }
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-card > strong,
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-risk strong {
            font-size: 14px !important;
            line-height: 1.3 !important;
        }
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-risk-scale,
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-risk-scale span {
            color: #171717 !important;
            font-size: 9.5px !important;
            font-weight: 900 !important;
        }
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-precise,
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) #wwc-full {
            min-height: 34px !important;
            font-size: 12.5px !important;
            line-height: 1.15 !important;
        }
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-alerts a {
            background: rgba(255, 242, 232, .42) !important;
            font-size: 13px !important;
            font-weight: 800 !important;
            line-height: 1.35 !important;
        }
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-alerts a span {
            font-size: 11.5px !important;
            font-weight: 850 !important;
            line-height: 1.25 !important;
        }
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) #wwc-fire-region,
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) #wwc-weather-region {
            background: rgba(255, 255, 255, .80) !important;
            color: #080808 !important;
            font-weight: 900 !important;
        }

        @media (prefers-contrast: more) {
            #ww-side-nav,
            #ww-canada-conditions:not(.ww-local-panel-fullscreen) {
                background: rgba(255, 255, 255, .58) !important;
            }
            #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-risk,
            #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-card,
            #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-map-wrap {
                background: rgba(255, 255, 255, .78) !important;
            }
            #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-alerts a {
                background: rgba(255, 242, 232, .88) !important;
            }
        }

        @media (min-width: 1200px) {
            html::after {
                top: var(--ww-side-top) !important;
                background: transparent !important;
            }
            #ww-side-nav,
            #ww-canada-conditions:not(.ww-local-panel-fullscreen) {
                top: var(--ww-side-top) !important;
            }
        }

/* wp-custom-css */
/* WaterWinger.ca — repaired and consolidated Additional CSS
   Experon Pro + WooCommerce
   Replace the complete contents of Appearance > Customize > Additional CSS. */

/* =========================================================
   1. SITE WIDTH AND CENTRED HEADER
   ========================================================= */

#body-core,
#header-image {
    box-sizing: border-box !important;
    width: 95% !important;
    min-width: 0 !important;
    max-width: 1500px !important;
    margin: 0 auto !important;
    overflow: visible !important;
}

#content-core,
#footer-core,
#sub-footer-core {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin-inline: auto !important;
}

/* The complete header fills the centred 95% body container. */
#site-header {
    position: relative !important;
    box-sizing: border-box !important;
    left: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
}

#header {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
}

#header-core {
    box-sizing: border-box !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin-inline: auto !important;
    text-align: center !important;
}

/* Top fire/banner image */
#header-image {
    margin-top: 25px !important;
}

#header-image a,
#header-image img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin-inline: auto !important;
}

/* Site title and description */
#logo {
    display: block !important;
    float: none !important;
    width: 100% !important;
    margin: 15px auto 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

#logo a,
#logo h1,
#logo h2 {
    display: block !important;
    float: none !important;
    width: 100% !important;
    margin-inline: auto !important;
    text-align: center !important;
}

#logo h1 {
    margin-top: 15px;
    color: #080000;
    font-size: 40px;
}

#logo h2 {
    color: #ea7a25;
    font-size: 35px;
    font-weight: 500;
    line-height: 1;
}

/* Desktop navigation */
@media (min-width: 769px) {
    #header-core {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    #logo,
    #header-links,
    #header-links-inner {
        float: none !important;
        width: 100% !important;
        margin-inline: auto !important;
        text-align: center !important;
    }

    #header-links ul.menu {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
        margin: 20px !important;
        padding: 0 !important;
    }

    #header-links ul.menu > li {
        float: none !important;
        margin: 0 !important;
    }

    #header-nav {
        display: none !important;
    }
}

#header #header-core .header-links > ul.menu > li > a {
    display: inline-block !important;
    position: relative !important;
    padding: 20px 9px !important;
    color: #181818 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    transform-origin: center bottom !important;
    transition: color .18s ease, transform .18s ease, text-shadow .18s ease !important;
}

/* Ember underline */
#header #header-core .header-links > ul.menu > li > a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 6px;
    width: 0;
    height: 2px;
    border-radius: 2px;
    transform: translateX(-50%);
    background: linear-gradient(90deg, #d92b00, #ff6a00, #ffd000, #ff6a00, #d92b00);
    box-shadow: 0 0 3px rgba(255, 106, 0, .9), 0 0 7px rgba(255, 106, 0, .55);
    transition: width .2s ease;
}

#header #header-core .header-links > ul.menu > li > a:is(:hover, :focus-visible)::after {
    width: calc(100% - 18px);
}

/* Mobile header */
@media (max-width: 768px) {
    #header-core {
        position: relative !important;
        display: block !important;
        padding: 15px 0 !important;
    }

    #logo {
        margin: 0 auto !important;
        padding: 0 55px !important;
        box-sizing: border-box !important;
    }

    #logo h1 {
        font-size: clamp(25px, 7vw, 34px);
    }

    #logo h2 {
        font-size: clamp(21px, 6vw, 29px);
    }

    #header-links {
        display: none !important;
    }

    #header-nav {
        position: absolute !important;
        display: block !important;
        float: none !important;
        right: 10px !important;
        top: 50% !important;
        z-index: 10 !important;
        transform: translateY(-50%) !important;
    }
}

/* =========================================================
   2. GENERAL TYPOGRAPHY AND PAGE CONTENT
   ========================================================= */

body,
button,
input,
select,
textarea {
    color: #3d3d3d;
    font-family: Raleway, Helvetica, Arial, sans-serif;
    font-size: 20px;
    line-height: 1.5;
}

textarea {
    font-size: 15px;
    line-height: 1.8;
    overflow-wrap: break-word;
}

h1,
#content h1,
#introaction-core h1,
#outroaction-core h1 {
    font-size: 35px;
}

#content {
    font-weight: 300;
    text-align: center;
}

#intro #intro-core {
    display: table;
    width: 100%;
    overflow-wrap: break-word;
}

#intro .page-title {
    display: table-cell;
    color: #115172;
    font-size: 20px;
    font-weight: 600;
}

/* Hidden throughout the shop; no extra top gap */
#intro-woo {
    display: none !important;
}

.action-teaser {
    width: auto;
    padding: 0;
    color: #ea7a25;
    font-size: 32px;
    font-weight: 300;
    line-height: 40px;
}

.wpcf7-form p {
    margin-bottom: 10px;
    font-size: 15px;
    line-height: 35px;
    text-align: left;
}

.services-builder.style1 .iconurl a {
    color: #ea7a25;
}

.services-builder.style1 .iconurl a:hover {
    color: #7f7f7f;
}

.more-link.style2 .more-text,
.more-link.style2 .more-icon {
    display: inline-block;
    padding: 5px;
}

/* =========================================================
   3. WOOCOMMERCE
   ========================================================= */

.products .entry-content {
    margin-bottom: 0;
}

.products .column-1 .entry-content,
.single-product .variations {
    text-align: center;
}

.products .column-1,
.products .column-2,
.products .column-3,
.products .column-4 {
    overflow: visible;
    padding: 20px 20px 0;
}

.products .column-1 .one_half.last {
    margin-top: 20px;
}

.products .column-1 .one_half:first-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 4px solid rgba(246, 129, 75, .5);
}

.single-product .entry-summary h1 {
    margin-right: 5px;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.5;
    text-align: center;
}

.single-product .entry-summary h1,
.single-product .entry-summary .offers {
    display: block;
}

.single-product .variations .label {
    width: 20%;
    font-weight: 700;
    vertical-align: top !important;
}

.woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 10px 0;
    color: #ea7a25;
}

.woocommerce .onsale {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    color: #fff !important;
    background: #ea7a25 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-shadow: none !important;
}

.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart div.quantity {
    float: none;
}

.woocommerce div.product form.cart .button {
    vertical-align: middle;
}

.woocommerce div.product form.cart div.quantity {
    margin: 0 4px 0 0;
}

.woocommerce .quantity {
    position: relative;
    display: block;
    width: auto;
    margin: 0 auto 25px 0;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: #000;
}

.woocommerce .woocommerce-product-rating,
.products .star-rating,
.woocommerce .star-rating {
    color: #d99a00;
}

.woocommerce .woocommerce-product-rating,
.products .star-rating {
    display: inline-block !important;
}

.products .star-rating {
    font-size: 1em !important;
}

.cart-collaterals h2 {
    font-size: 25px !important;
    text-transform: uppercase;
}

.woocommerce .shop_table .actions > .button,
.woocommerce .shop_table .actions .coupon .button {
    top: 0;
}

.post-type-archive-product .woocommerce-products-header {
    display: block !important;
    margin: 0 auto 25px !important;
    text-align: center !important;
}

#ship-to-different-address-checkbox {
    position: static;
}

/* All WooCommerce buttons — one authoritative rule */
.woocommerce :is(.button, a.button, button.button, input.button, input[type="submit"], button[type="submit"]),
.woocommerce .wc-proceed-to-checkout .checkout-button,
.woocommerce #respond input#submit {
    margin: 4px !important;
    padding: 5px !important;
    border: 2px solid #fff !important;
    border-radius: 0 !important;
    color: #fff !important;
    background: #ff6900 !important;
    box-shadow: 0 0 0 4px rgba(17, 81, 114, .2) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
}

/* Checkout, account and dealer-code submit buttons */
.woocommerce-checkout form.login :is(input[type="submit"], button[type="submit"]),
.woocommerce-account .lost_reset_password :is(input[type="submit"], button[type="submit"]),
.woocommerce #payment #place_order,
.woocommerce input[type="submit"],
.woocommerce button[type="submit"] {
    height: 40px !important;
    padding: 0 24px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 40px !important;
    text-transform: uppercase !important;
}

/* =========================================================
   4. FOOTER
   ========================================================= */

#sub-footer {
    color: #848484;
}

#footer-menu {
    margin-bottom: 10px;
    text-align: center;
}

#footer-core,
#footer-core .widget,
#footer-core .widget p,
#footer-core .widget li,
#footer-core .widget li a,
#footer-core .widget a,
#footer-core .widget span,
#footer-core .widget address {
    font-size: 16px !important;
    line-height: 1.7 !important;
}

#footer-core h3,
#footer-core h3.widget-title {
    font-size: 20px !important;
    line-height: 1.3 !important;
}

/* =========================================================
   5. FIRE HOVER EFFECT — HEADER AND FOOTER LINKS
   ========================================================= */

#footer-core .widget a,
#sub-footer-core a,
#footer-menu a {
    display: inline-block !important;
    position: relative !important;
    transform-origin: center bottom !important;
    transition: color .18s ease, transform .18s ease, text-shadow .18s ease !important;
}

#header #header-core .header-links > ul.menu > li > a:is(:hover, :focus-visible),
#footer-core .widget a:is(:hover, :focus-visible),
#sub-footer-core a:is(:hover, :focus-visible),
#footer-menu a:is(:hover, :focus-visible) {
    position: relative !important;
    z-index: 10 !important;
    color: #ff8a00 !important;
    background-image: linear-gradient(to top, #d92b00 0%, #ff6a00 35%, #ffc400 70%, #fff2a6 100%) !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    text-shadow: 0 -1px 1px rgba(255, 196, 0, .6), 0 -3px 2px rgba(255, 90, 0, .45) !important;
    transform: scale(1.08) !important;
}

/* Mobile navigation colours */
#header-responsive {
    line-height: 2.5;
    text-transform: uppercase;
}

#header-responsive li a {
    color: #f7f2ee !important;
}

/* Accessibility: honour visitors who disable motion effects. */
@media (prefers-reduced-motion: reduce) {
    #header #header-core .header-links > ul.menu > li > a,
    #header #header-core .header-links > ul.menu > li > a::after,
    #footer-core .widget a,
    #sub-footer-core a,
    #footer-menu a {
        transition: none !important;
    }
}
/* Force the complete header menu back to the centre */
@media (min-width: 769px) {
    #header-links,
    #header-links-inner {
        display: block !important;
        float: none !important;
        width: 100% !important;
        margin-right: auto !important;
        margin-left: auto !important;
        text-align: center !important;
    }

    #header-links ul.menu {
        display: flex !important;
        float: none !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
        margin: 15px auto 0 !important;
        padding: 0 !important;
    }

    #header-links ul.menu > li {
        display: block !important;
        float: none !important;
        margin: 0 !important;
    }
}
