/* ww-control-polish-20260810 */
/* Cart: show one clear, accessible remove symbol instead of the legacy double icon. */
    body.woocommerce-cart .ww-cart-page .woocommerce a.remove,
    body.woocommerce-cart .ww-cart-page .woocommerce button.remove {
        box-sizing: border-box !important;
        display: inline-flex !important;
        position: relative !important;
        align-items: center !important;
        justify-content: center !important;
        width: 36px !important;
        height: 36px !important;
        margin: 0 auto !important;
        padding: 0 0 2px !important;
        overflow: hidden !important;
        border: 1.5px solid #b83b24 !important;
        border-radius: 999px !important;
        background: #fff8f3 !important;
        box-shadow: 0 3px 9px rgba(85, 33, 18, .12) !important;
        color: #a92f1a !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 24px !important;
        font-weight: 500 !important;
        line-height: 1 !important;
        text-align: center !important;
        text-decoration: none !important;
        text-indent: 0 !important;
        transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease !important;
    }
    body.woocommerce-cart .ww-cart-page .woocommerce a.remove::before,
    body.woocommerce-cart .ww-cart-page .woocommerce button.remove::before {
        display: none !important;
        content: none !important;
    }
    body.woocommerce-cart .ww-cart-page .woocommerce a.remove:hover,
    body.woocommerce-cart .ww-cart-page .woocommerce button.remove:hover {
        border-color: #8f2817 !important;
        background: #a92f1a !important;
        box-shadow: 0 4px 12px rgba(117, 35, 18, .22) !important;
        color: #fff !important;
    }
    body.woocommerce-cart .ww-cart-page .woocommerce a.remove:focus-visible,
    body.woocommerce-cart .ww-cart-page .woocommerce button.remove:focus-visible {
        outline: 3px solid rgba(18, 119, 184, .35) !important;
        outline-offset: 3px !important;
    }

    /* Sidebar: matched compact controls with clear icons and stable dimensions. */
    html body #ww-side-nav #ww-side-back,
    html body #ww-side-nav #ww-side-instructions {
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 7px !important;
        width: 112px !important;
        min-height: 32px !important;
        margin: 0 auto 6px !important;
        padding: 5px 10px !important;
        border: 1px solid rgba(181, 66, 14, .55) !important;
        border-radius: 9px !important;
        background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(255, 237, 222, .98)) !important;
        box-shadow: 0 4px 12px rgba(67, 31, 10, .14) !important;
        color: #171717 !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 13px !important;
        font-weight: 850 !important;
        line-height: 1.15 !important;
        letter-spacing: .01em !important;
        text-align: left !important;
        text-decoration: none !important;
        transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease !important;
    }
    html body #ww-side-nav #ww-side-back__icon,
    html body #ww-side-nav #ww-side-instructions::before {
        box-sizing: border-box !important;
        display: inline-grid !important;
        flex: 0 0 18px !important;
        place-items: center !important;
        width: 18px !important;
        height: 18px !important;
        border-radius: 50% !important;
        background: #f36b21 !important;
        color: #111 !important;
        font-size: 13px !important;
        font-style: normal !important;
        font-weight: 900 !important;
        line-height: 1 !important;
    }
    html body #ww-side-nav #ww-side-instructions::before {
        content: "i" !important;
        font-family: Arial, Helvetica, sans-serif !important;
    }
    html body #ww-side-nav #ww-side-back:hover,
    html body #ww-side-nav #ww-side-instructions:hover {
        transform: translateY(-1px) !important;
        border-color: #f36b21 !important;
        background: #1c252b !important;
        box-shadow: 0 6px 14px rgba(26, 19, 14, .22) !important;
        color: #fff !important;
    }
    html body #ww-side-nav #ww-side-back:focus-visible,
    html body #ww-side-nav #ww-side-instructions:focus-visible {
        outline: 3px solid rgba(18, 119, 184, .34) !important;
        outline-offset: 2px !important;
    }

    /* Designer hero: centred, compact and visually connected to the site CTA system. */
    .ww-simulator-page > .hero > .actions {
        box-sizing: border-box !important;
        display: flex !important;
        width: 100% !important;
        margin: 26px auto 0 !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
    }
    .ww-simulator-page > .hero > .actions > .btn.alt[href*="rooftop-wildfire-sprinklers"] {
        box-sizing: border-box !important;
        display: inline-flex !important;
        width: auto !important;
        max-width: 100% !important;
        min-height: 52px !important;
        margin: 0 auto !important;
        padding: 12px 22px !important;
        align-items: center !important;
        justify-content: center !important;
        border: 2px solid rgba(255, 255, 255, .92) !important;
        border-radius: 999px !important;
        background: linear-gradient(180deg, #ff7d32 0%, #ed641e 100%) !important;
        box-shadow: 0 5px 0 #a53a0c, 0 11px 22px rgba(0, 0, 0, .2) !important;
        color: #111 !important;
        font-size: 16px !important;
        font-weight: 900 !important;
        line-height: 1.25 !important;
        text-align: center !important;
        text-decoration: none !important;
        white-space: normal !important;
        transition: background-color .15s ease, box-shadow .15s ease, color .15s ease, transform .15s ease !important;
    }
    .ww-simulator-page > .hero > .actions > .btn.alt[href*="rooftop-wildfire-sprinklers"]:hover {
        transform: translateY(-1px) !important;
        border-color: #fff !important;
        background: #1678b8 !important;
        box-shadow: 0 5px 0 #0d4f7b, 0 12px 24px rgba(0, 0, 0, .22) !important;
        color: #fff !important;
    }
    .ww-simulator-page > .hero > .actions > .btn.alt[href*="rooftop-wildfire-sprinklers"]:focus-visible {
        outline: 3px solid rgba(255, 255, 255, .9) !important;
        outline-offset: 4px !important;
    }

    @media (max-width: 600px) {
        body.woocommerce-cart .ww-cart-page .woocommerce a.remove,
        body.woocommerce-cart .ww-cart-page .woocommerce button.remove {
            width: 40px !important;
            height: 40px !important;
            font-size: 25px !important;
        }
        .ww-simulator-page > .hero > .actions {
            margin-top: 22px !important;
        }
        .ww-simulator-page > .hero > .actions > .btn.alt[href*="rooftop-wildfire-sprinklers"] {
            width: 100% !important;
            min-height: 50px !important;
            padding: 11px 16px !important;
            font-size: 15px !important;
        }
    }
    @media (prefers-reduced-motion: reduce) {
        html body #ww-side-nav #ww-side-back,
        html body #ww-side-nav #ww-side-instructions,
        body.woocommerce-cart .ww-cart-page .woocommerce a.remove,
        body.woocommerce-cart .ww-cart-page .woocommerce button.remove,
        .ww-simulator-page > .hero > .actions > .btn.alt[href*="rooftop-wildfire-sprinklers"] {
            transition: none !important;
        }
    }

/* ww-staging-sidebar-balance */
@media (min-width: 1100px) {
        html {
            --ww-left-rail: 190px;
            --ww-left-reserve: 202px;
        }

        #ww-side-nav {
            width: var(--ww-left-rail) !important;
        }

        html body #header-image#header-image,
        html body #body-core#body-core {
            width: calc(100% - 214px) !important;
            max-width: none !important;
            margin-left: var(--ww-left-reserve) !important;
            margin-right: 12px !important;
            box-sizing: border-box !important;
        }

        html body #ww-side-nav#ww-side-nav a {
            padding: 6.5px 8px !important;
            font-size: 16px !important;
            line-height: 1.3 !important;
        }

        html body #ww-side-nav#ww-side-nav .ww-side-title {
            padding: 8px 7px 6px !important;
            font-size: 14.5px !important;
            line-height: 1.25 !important;
        }
    }

    @media (min-width: 1200px) {
        html {
            --ww-right-rail: 190px;
            --ww-right-reserve: 202px;
        }

        #ww-canada-conditions:not(.ww-local-panel-fullscreen),
        html::after {
            width: var(--ww-right-rail) !important;
        }

        html body #header-image#header-image,
        html body #body-core#body-core {
            width: calc(100% - 404px) !important;
            margin-left: var(--ww-left-reserve) !important;
            margin-right: var(--ww-right-reserve) !important;
        }

        #ww-canada-conditions:not(.ww-local-panel-fullscreen) {
            font-size: 13.75px !important;
            line-height: 1.44 !important;
        }

        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-view-title {
            font-size: 15px !important;
            line-height: 1.28 !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 {
            font-size: 13.75px !important;
            line-height: 1.44 !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: 15px !important;
            line-height: 1.28 !important;
        }

        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-alerts a {
            font-size: 13.75px !important;
            line-height: 1.35 !important;
        }

        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-alerts a span {
            font-size: 12.25px !important;
            line-height: 1.25 !important;
        }

        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-precise,
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) #wwc-full {
            font-size: 13.25px !important;
        }

        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-risk-scale,
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-risk-scale span {
            font-size: 10px !important;
        }

        /* Keep every word readable in the compact wildfire-map preview. */
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-map-wrap:not(.wwc-map-expanded) {
            aspect-ratio: 1 / 1 !important;
            min-height: 170px !important;
        }

        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-map-wrap:not(.wwc-map-expanded) .wwc-map-load-prompt {
            align-content: center !important;
            gap: 5px !important;
            padding: 10px 8px !important;
        }

        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-map-wrap:not(.wwc-map-expanded) .wwc-map-load-prompt b,
        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-map-wrap:not(.wwc-map-expanded) .wwc-map-load-prompt small {
            display: block !important;
            max-width: 100% !important;
            white-space: normal !important;
            overflow-wrap: anywhere !important;
        }

        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-map-wrap:not(.wwc-map-expanded) .wwc-map-load-prompt b {
            font-size: 15.5px !important;
            line-height: 1.18 !important;
        }

        #ww-canada-conditions:not(.ww-local-panel-fullscreen) .wwc-map-wrap:not(.wwc-map-expanded) .wwc-map-load-prompt small {
            font-size: 11.5px !important;
            line-height: 1.38 !important;
        }
    }

/* ww-sitewide-mobile-layout-fix */
html, body { max-width: 100% !important; overflow-x: hidden !important; }

/* Keep the animated header artwork centred without widening the page. */
#logo .site-description-shop-link.ww-signature-shop .ww-shop-water-dome {
  left: 50% !important;
  max-width: calc(100vw - 20px) !important;
  transform: translateX(-50%) scaleY(.28);
}

#logo .site-description-shop-link.ww-signature-shop .ww-shop-roof {
  max-width: calc(100vw - 12px) !important;
}

@media (max-width: 767px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  *, *::before, *::after { box-sizing: border-box; }

  html body #body-core,
  html body #site-header,
  html body #header,
  html body #header-core,
  html body #content,
  html body #content-core,
  html body #main,
  html body #main-core,
  html body main,
  html body article,
  html body .site-main,
  html body .entry-content,
  html body .woocommerce,
  html body .woocommerce-page {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  html body #body-core,
  html body #content-core,
  html body #main,
  html body #main-core,
  html body article,
  html body .entry-content,
  html body .woocommerce {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  html body #content {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  img, video, iframe, table, form { max-width: 100% !important; }
  img, video { height: auto; }

  html body .woocommerce div.product div.images,
  html body .woocommerce div.product div.summary,
  html body .woocommerce-page div.product div.images,
  html body .woocommerce-page div.product div.summary {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #logo .site-description-shop-link.ww-signature-shop .ww-shop-water-dome {
    width: 108% !important;
    max-width: calc(100vw - 18px) !important;
  }
}

/* Global Back button position: bottom-left on every page and viewport */
html body button.ww-global-back.ww-global-back {
  position: fixed !important;
  inset: auto auto max(18px, calc(env(safe-area-inset-bottom) + 12px)) max(16px, env(safe-area-inset-left)) !important;
  top: auto !important;
  right: auto !important;
  bottom: max(18px, calc(env(safe-area-inset-bottom) + 12px)) !important;
  left: max(16px, env(safe-area-inset-left)) !important;
  transform: none !important;
}
html body button.ww-global-back.ww-global-back:hover,
html body button.ww-global-back.ww-global-back:focus-visible {
  transform: translateY(-2px) !important;
}
@media (max-width: 900px) {
  html body button.ww-global-back.ww-global-back {
    inset: auto auto max(20px, calc(env(safe-area-inset-bottom) + 12px)) max(20px, env(safe-area-inset-left)) !important;
    top: auto !important;
    right: auto !important;
    bottom: max(20px, calc(env(safe-area-inset-bottom) + 12px)) !important;
    left: max(20px, env(safe-area-inset-left)) !important;
    transform: none !important;
  }
}

/* ww-home-readiness-contrast-fix */
html body .ww-home-cta {
  background: #202a33 !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
}

html body .ww-home-cta h2 {
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .28) !important;
}

html body .ww-home-cta p:not(.ww-section-kicker) {
  color: #f7f8f9 !important;
}

html body .ww-home-cta .ww-section-kicker {
  color: #ffb15c !important;
  font-weight: 800 !important;
}

html body .ww-home-cta a {
  color: #171717 !important;
  background: #f28a2a !important;
  border-color: #ffad5b !important;
  font-weight: 800 !important;
}

/* ww-global-footer-layout */
/* Balanced, readable three-column footer across the entire site. */
html body #footer {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 58px 24px 44px !important;
  background: #111111 !important;
}
html body #footer-core {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: 44px !important;
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
html body #footer-col1 { grid-column: 1 !important; }
html body #footer-col2 { grid-column: 2 !important; }
html body #footer-col3 { grid-column: 3 !important; }
html body #footer-core > .widget-area {
  float: none !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 18px !important;
  text-align: left !important;
  color: #ffffff !important;
}
html body #footer-core .widget,
html body #footer-core .widget * {
  box-sizing: border-box;
}
html body #footer-core h3.wp-block-heading {
  position: relative;
  margin: 0 0 24px !important;
  padding: 0 0 14px !important;
  color: #ffffff !important;
  font-size: clamp(1.3rem, 1.8vw, 1.65rem) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: .02em;
  text-align: left !important;
}
html body #footer-core h3.wp-block-heading::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 54px;
  height: 3px;
  border-radius: 3px;
  background: #ef7f1a;
  transform: none;
}
html body #footer-core ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  text-align: left !important;
}
html body #footer-core li {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.45 !important;
  text-align: left !important;
}
html body #footer-core a {
  display: inline-block;
  margin: 0 !important;
  padding: 5px 4px !important;
  color: #f7f7f7 !important;
  font-size: 1rem !important;
  line-height: 1.45 !important;
  text-align: left !important;
  text-decoration: none !important;
  text-underline-offset: 3px;
}
html body #footer-core a:hover,
html body #footer-core a:focus-visible {
  color: #ff9a3c !important;
  text-decoration: underline !important;
}
html body #footer-core p,
html body #footer-core address {
  margin: 0 0 10px !important;
  color: #f7f7f7 !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
  text-align: left !important;
}
@media (max-width: 900px) {
  html body #footer-col1,
  html body #footer-col2,
  html body #footer-col3 { grid-column: 1 !important; }
  html body #footer { padding: 46px 18px 36px !important; }
  html body #footer-core {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    max-width: 620px !important;
  }
  html body #footer-core > .widget-area {
    padding: 30px 10px !important;
    border-bottom: 1px solid rgba(255,255,255,.18);
  }
  html body #footer-core > .widget-area:first-child { padding-top: 0 !important; }
  html body #footer-core > .widget-area:last-child {
    padding-bottom: 0 !important;
    border-bottom: 0;
  }
}

/* ww-inner-page-brand-header */
/* Keep the Water Winger banner presentation exclusively on the homepage. */
html body:not(.home) #header-image,
html body:not(.home) #header-image a.header-image {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Compact, professional Wildfire Equipment wordmark on all inner pages. */
body:not(.home) #header {
  height: auto !important;
  min-height: 0 !important;
  border-top: 0 !important;
  background: #ffffff !important;
}
body:not(.home) #header-core {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
}
body:not(.home) #logo {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 118px !important;
  margin: 0 !important;
  padding: 22px 24px 20px !important;
  border: 0 !important;
  border-bottom: 1px solid #eadfd5 !important;
  background:
    radial-gradient(circle at 50% -30%, rgba(239,127,26,.11), transparent 54%),
    linear-gradient(180deg,#fffaf6 0%,#ffffff 92%) !important;
  text-align: center !important;
}
body:not(.home) #logo > a[rel="home"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  max-width: min(100%, 980px) !important;
  margin: 0 auto !important;
  color: #111820 !important;
  text-decoration: none !important;
}
body:not(.home) #logo .site-title {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #111820 !important;
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif !important;
  font-size: clamp(30px,3.5vw,46px) !important;
  font-weight: 850 !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
  text-align: center !important;
  text-transform: none !important;
}
body:not(.home) #logo .site-title::before {
  content: "" !important;
  flex: 0 0 auto !important;
  width: 54px !important;
  height: 58px !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-25 -30 50 45'%3E%3Cpath fill='%23d71920' d='M-3.239 2.778-16.917 5.063l1.845-4.101-7.982-5.727 3.745-1.707-3.229-6.928 6.691 1.519 1.311-5.08 5.255 5.658-2.131-10.448 4.891 2.691L0-29.5 6.521-19.06l4.891-2.691-2.131 10.448 5.255-5.658 1.311 5.08 6.691-1.519-3.229 6.928 3.745 1.707-7.982 5.727 1.845 4.101L3.239 2.778 0 12.699Z'/%3E%3C/svg%3E") center/contain no-repeat !important;
}
body:not(.home) #logo > a.site-description-shop-link {
  display: none !important;
}
body:not(.home) #logo > a[rel="home"]:hover .site-title,
body:not(.home) #logo > a[rel="home"]:focus-visible .site-title {
  color: #9d2c18 !important;
}
body:not(.home) #logo > a[rel="home"]:focus-visible {
  outline: 3px solid #ef7f1a !important;
  outline-offset: 8px !important;
  border-radius: 5px;
}
body:not(.home) #header-nav {
  width: 100% !important;
  margin: 0 !important;
}
@media (max-width: 767px) {
  body:not(.home) #logo {
    min-height: 92px !important;
    padding: 17px 14px 15px !important;
  }
  body:not(.home) #logo .site-title {
    gap: 10px !important;
    font-size: clamp(23px,7vw,32px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.025em !important;
  }
  body:not(.home) #logo .site-title::before {
    width: 38px !important;
    height: 42px !important;
  }
}
@media (max-width: 390px) {
  body:not(.home) #logo .site-title {
    font-size: 22px !important;
  }
  body:not(.home) #logo .site-title::before {
    width: 34px !important;
    height: 38px !important;
  }
}

/* Keep variable-product choices readable on narrow phone screens. */
@media (max-width: 767px) {
  body.single-product form.variations_form table.variations,
  body.single-product form.variations_form table.variations tbody,
  body.single-product form.variations_form table.variations tr,
  body.single-product form.variations_form table.variations th.label,
  body.single-product form.variations_form table.variations td.value {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  body.single-product form.variations_form table.variations th.label {
    padding: 0 0 8px !important;
    text-align: left !important;
  }
  body.single-product form.variations_form table.variations th.label label {
    display: block !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
  }
  body.single-product form.variations_form table.variations td.value select {
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    font-size: 16px !important;
  }
}
