/* One spacing system for the shared templates. */
/* Desktop homepage: the header, hero and following sections share one left edge. */
@media(min-width:1101px){
 html body.home.pp-consistent .pp-header .pp-header__inner,
 html body.home.pp-consistent #skip_content.pp-spring-home .ppm2 .ppm2-wrap{
  width:min(var(--pp-layout-width),calc(100% - var(--pp-layout-gutter) - var(--pp-layout-gutter)))!important;
  max-width:var(--pp-layout-width)!important;
  margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important;
 }
 html body.home.pp-consistent #skip_content.pp-spring-home,
 html body.home.pp-consistent #skip_content.pp-spring-home > .ppm2{
  width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;
 }
 html body.home.pp-consistent #skip_content.pp-spring-home .ppm2-hero-inner{
  justify-content:flex-start!important;min-width:0!important;transform:none!important;
 }
 html body.home.pp-consistent #skip_content.pp-spring-home .ppm2-hero-copy{
  margin-left:0!important;margin-right:0!important;min-width:0!important;transform:none!important;
 }
}
/* Use the same reading order on every product, including the former bespoke heroes. */
html body.pp-consistent.single-product #primary div.product[id] .summary > *{order:10}
html body.pp-consistent.single-product #primary div.product[id] .summary > :is(.pp-product-brand-wordmark,.pp-evolux-brand){order:0}
html body.pp-consistent.single-product #primary div.product[id] .summary > .product_title{order:1}
html body.pp-consistent.single-product #primary div.product[id] .summary > .pp-product-subline{order:2;font-size:16px!important;margin:0 0 18px!important}
html body.pp-consistent.single-product #primary div.product[id] .summary > .price{order:3}
html body.pp-consistent.single-product #primary div.product[id] .summary > :is(.pp-stock-message,.stock){order:4}
html body.pp-consistent.single-product #primary div.product[id] .summary > :is(.pp-member-product-gate,.pp-member-unlocked-badge){order:5}
html body.pp-consistent.single-product #primary div.product[id] .summary > .pp-member-perks{order:6}
html body.pp-consistent.single-product #primary div.product[id] .summary > .woocommerce-product-details__short-description{order:7;display:block!important}
html body.pp-consistent.single-product #primary div.product[id] .summary > .pp-delivery-estimator{order:8;display:block!important}
html body.pp-consistent.single-product #primary div.product[id] .summary > :is(form.cart,.pp-cta-buttons){order:9}
html body.pp-consistent.single-product #primary div.product[id] .summary > .pp-summer-context--product{order:11}
html body.pp-consistent.single-product #primary div.product[id] .summary > .product_meta{order:12}
html body.pp-consistent.single-product #primary div.product[id] .pp-member-product-gate{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
html body.pp-consistent.single-product #primary div.product[id] .pp-member-product-gate__member-price strong{font-size:clamp(30px,2.5vw,38px)!important}
html body.pp-consistent.single-product #primary div.product[id] .pp-member-unlocked-badge strong{font-size:18px!important;line-height:1.4!important}
html body.pp-consistent.single-product #primary div.product[id] :is(.pp-product-feature-strip,.pp-evolux-feature-strip){border:1px solid var(--pp-layout-border)!important;border-radius:var(--pp-layout-radius)!important;box-shadow:none!important;overflow-x:auto!important}
html body.pp-consistent.single-product #primary div.product[id] .pp-product-feature-strip{grid-template-columns:repeat(4,minmax(120px,1fr))!important}
html body.pp-consistent.single-product #primary div.product[id] .pp-product-feature{display:flex!important;flex-direction:column!important;gap:8px!important;text-align:center!important;padding:12px!important}
@media(max-width:767px){
 html body.pp-consistent.single-product #primary div.product[id] .pp-member-product-gate{grid-template-columns:minmax(0,1fr)!important}
 html body.pp-consistent.single-product #primary div.product[id] .pp-member-perks{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

:root{--pp-layout-width:1440px;--pp-layout-gutter:32px;--pp-layout-gap:40px;--pp-layout-radius:14px;--pp-layout-border:#dce7ef}
html body.pp-consistent .pp-header .pp-header__inner,
html body.pp-consistent .ppm2 .ppm2-wrap,
html body.pp-consistent .pp-maytronics .pp-may-shell,
html body.pp-consistent .pp-site-footer .container{
 width:min(var(--pp-layout-width),calc(100% - 2 * var(--pp-layout-gutter)))!important;max-width:var(--pp-layout-width)!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important;box-sizing:border-box
}
html body.pp-consistent.page:not(.home) main.content_box > .container.background-img-skin,
html body.pp-consistent.woocommerce.archive > .container.main-wrapper{
 width:min(var(--pp-layout-width),calc(100% - 2 * var(--pp-layout-gutter)))!important;max-width:var(--pp-layout-width)!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important
}
/* Designed landing pages provide their own section shells, not a second outer gutter. */
html body.pp-consistent.page main.content_box > .container:has(.pp-service-page,.pp-rh,.pp-warranty-page,.pp-sora-page){
 width:100%!important;max-width:none!important;padding:0!important
}
html body.pp-consistent :is(.pp-service-page,.pp-rh,.pp-warranty-page,.pp-sora-page){
 width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important
}
html body.pp-consistent .pp-service-page .pp-container,
html body.pp-consistent .pp-rh .pp-wrap,
html body.pp-consistent .pp-warranty-page .pp-container,
html body.pp-consistent .pp-sora-page .pp-sora-wrap{
 width:min(var(--pp-layout-width),calc(100% - 2 * var(--pp-layout-gutter)))!important;max-width:var(--pp-layout-width)!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important
}
html body.pp-consistent .new-text:has(.pp-service-page,.pp-rh,.pp-warranty-page,.pp-sora-page) > .pp-summer-context--page{
 width:min(var(--pp-layout-width),calc(100% - 2 * var(--pp-layout-gutter)))!important;margin:24px auto!important;box-sizing:border-box
}
html body.pp-consistent.single-product .container.main-wrapper,
html body.pp-consistent.single-product .background-img-skin,
html body.pp-consistent.single-product #primary,
html body.pp-consistent.single-product #primary > .site-main{
 width:100%!important;max-width:none!important;margin:0!important;padding:0!important;float:none!important
}
html body.pp-consistent.single-product #primary .woocommerce-breadcrumb,
html body.pp-consistent.single-product #primary .woocommerce-notices-wrapper{
 width:min(var(--pp-layout-width),calc(100% - 2 * var(--pp-layout-gutter)))!important;max-width:var(--pp-layout-width)!important;margin:24px auto 20px!important;padding:0!important;box-sizing:border-box
}
html body.pp-consistent.single-product #primary .woocommerce-notices-wrapper:empty{display:none!important}
html body.pp-consistent.single-product #primary .site-main > div.product[id]{
 display:grid!important;grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr)!important;gap:20px var(--pp-layout-gap)!important;align-items:start!important;position:relative!important;
 width:min(var(--pp-layout-width),calc(100% - 2 * var(--pp-layout-gutter)))!important;max-width:var(--pp-layout-width)!important;margin:0 auto 64px!important;padding:0!important;float:none!important;box-sizing:border-box
}
html body.pp-consistent.single-product #primary div.product[id]::before,
html body.pp-consistent.single-product #primary div.product[id]::after{display:none!important}
html body.pp-consistent.single-product #primary div.product[id] > .woocommerce-product-gallery{grid-column:1!important;grid-row:1!important;width:100%!important;min-width:0!important;float:none!important;margin:0!important;padding:0!important}
html body.pp-consistent.single-product #primary div.product[id] > .summary{grid-column:2!important;grid-row:1 / span 2!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;max-width:none!important;min-width:0!important;float:none!important;margin:0!important;padding:0!important}
html body.pp-consistent.single-product #primary div.product[id] > :is(.pp-product-feature-strip,.pp-evolux-feature-strip){grid-column:1!important;grid-row:2!important;width:100%!important;min-width:0!important;margin:0!important}
html body.pp-consistent.single-product #primary div.product[id] > :is(.woocommerce-tabs,.related,.up-sells){grid-column:1 / -1!important;grid-row:auto!important;width:100%!important;min-width:0!important;margin-top:24px!important}
html body.pp-consistent.single-product #primary div.product[id]{--pp-gallery-height:clamp(380px,36vw,520px)}
html body.pp-consistent.single-product #primary div.product[id] .woocommerce-product-gallery :is(.flex-viewport,.woocommerce-product-gallery__wrapper,.woocommerce-product-gallery__image,.woocommerce-product-gallery__image a){
 height:var(--pp-gallery-height)!important;min-height:var(--pp-gallery-height)!important;max-height:var(--pp-gallery-height)!important;background:#fff!important;box-shadow:none!important;box-sizing:border-box
}
html body.pp-consistent.single-product #primary div.product[id] .woocommerce-product-gallery .flex-viewport,
html body.pp-consistent.single-product #primary div.product[id] .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper{border:1px solid var(--pp-layout-border)!important;border-radius:var(--pp-layout-radius)!important;overflow:hidden!important}
html body.pp-consistent.single-product #primary div.product[id] .flex-viewport .woocommerce-product-gallery__wrapper{border:0!important;border-radius:0!important}
html body.pp-consistent.single-product #primary div.product[id] .woocommerce-product-gallery__image a{display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important}
html body.pp-consistent.single-product #primary div.product[id] .woocommerce-product-gallery__image a::after{display:none!important}
html body.pp-consistent.single-product #primary div.product[id] .woocommerce-product-gallery__image img{
 width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;transform:none!important;margin:0!important;filter:none!important;mix-blend-mode:normal!important
}
html body.pp-consistent.single-product #primary div.product[id] .flex-direction-nav{top:calc(var(--pp-gallery-height) / 2)!important}
html body.pp-consistent.single-product #primary div.product[id] .flex-control-thumbs{display:flex!important;gap:12px!important;margin:12px 0 0!important;padding:0!important;overflow-x:auto!important}
html body.pp-consistent.single-product #primary div.product[id] .flex-control-thumbs li{flex:0 0 calc((100% - 48px) / 5)!important;min-width:70px!important;width:auto!important;margin:0!important}
html body.pp-consistent.single-product #primary div.product[id] .flex-control-thumbs img{width:100%!important;height:76px!important;object-fit:contain!important;padding:6px!important;background:#fff!important;border:1px solid var(--pp-layout-border)!important;border-radius:9px!important;box-sizing:border-box}
html body.pp-consistent.single-product #primary div.product[id] .flex-control-thumbs img.flex-active{border:2px solid #087fcd!important;opacity:1!important}
html body.pp-consistent.single-product #primary div.product[id] .summary .product_title{max-width:none!important;font-size:clamp(30px,2.65vw,44px)!important;line-height:1.12!important;letter-spacing:-.035em!important;color:#073b70!important;margin:0 0 18px!important}
html body.pp-consistent.single-product #primary div.product[id] .summary > .price{font-size:26px!important;line-height:1.35!important;margin:0 0 16px!important;color:#073b70!important}
html body.pp-consistent.single-product #primary div.product[id] .summary > .price del{font-size:.8em!important;font-weight:500!important;color:#65788a!important;margin-right:8px!important}
html body.pp-consistent.single-product #primary div.product[id] .summary > .price ins{text-decoration:none!important;font-weight:800!important}
html body.pp-consistent.single-product #primary div.product[id] .pp-stock-message{margin:0 0 16px!important;font-size:14px!important}
html body.pp-consistent.single-product #primary div.product[id] :is(.pp-member-product-gate,.pp-member-unlocked-badge,.pp-delivery-estimator,.pp-summer-context--product){border-radius:12px!important;padding:18px!important;box-shadow:none!important;margin:0 0 20px!important;box-sizing:border-box}
html body.pp-consistent.single-product #primary div.product[id] .pp-member-unlocked-badge{background:#eaf8f0!important;border:1px solid #b4dec9!important}
html body.pp-consistent.single-product #primary div.product[id] .woocommerce-product-details__short-description{font-size:16px!important;line-height:1.65!important;margin:0 0 20px!important}
html body.pp-consistent.single-product #primary div.product[id] .woocommerce-product-details__short-description p:last-child{margin-bottom:0!important}
html body.pp-consistent.single-product #primary div.product[id] .pp-product-brand-wordmark{position:static!important;align-self:flex-start!important;width:160px!important;height:56px!important;margin:0 0 14px!important}
html body.pp-consistent.single-product #primary div.product[id] .pp-product-brand-wordmark img{width:160px!important;height:56px!important;object-fit:contain!important}
html body.pp-consistent.single-product #primary div.product[id] .pp-product-brand-pill{display:none!important}
html body.pp-consistent.single-product #primary div.product[id] .pp-evolux-brand{margin:0 0 14px!important;min-height:56px!important}
html body.pp-consistent.single-product #primary div.product[id] .onsale{width:64px!important;height:64px!important;min-width:64px!important;min-height:64px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;padding:8px!important;background:#ffce27!important;color:#073b70!important;font-size:14px!important;font-weight:800!important;line-height:1.1!important;top:18px!important;left:18px!important;box-shadow:0 5px 16px #073b7018!important}
html body.pp-consistent.single-product #primary div.product[id] :is(.pp-cta-buttons .button,form.cart .single_add_to_cart_button,.pp-member-robot-call){min-height:50px!important;border-radius:9px!important;font-size:15px!important;line-height:1.3!important;padding:12px 18px!important;box-sizing:border-box}
html body.pp-consistent .woocommerce-breadcrumb{font-size:14px!important;line-height:1.5!important;overflow-wrap:anywhere}
html body.pp-consistent .content_box > h1{white-space:normal!important;overflow-wrap:break-word}
@media(max-width:1180px){
 :root{--pp-layout-gutter:24px;--pp-layout-gap:28px}
 html body.pp-consistent.single-product #primary .site-main > div.product[id]{grid-template-columns:minmax(0,1fr)!important}
 html body.pp-consistent.single-product #primary div.product[id] > .summary{grid-column:1!important;grid-row:2!important}
 html body.pp-consistent.single-product #primary div.product[id] > :is(.pp-product-feature-strip,.pp-evolux-feature-strip){grid-row:3!important}
}
@media(max-width:767px){
 :root{--pp-layout-gutter:16px;--pp-layout-gap:24px}
 html body.pp-consistent.single-product #primary div.product[id]{--pp-gallery-height:clamp(280px,85vw,420px)}
 html body.pp-consistent.single-product #primary .site-main > div.product[id]{margin-bottom:40px!important}
 html body.pp-consistent.single-product #primary .woocommerce-breadcrumb{margin-top:18px!important;margin-bottom:16px!important;font-size:12px!important}
 html body.pp-consistent.single-product #primary div.product[id] .summary .product_title{font-size:30px!important}
 html body.pp-consistent.single-product #primary div.product[id] .woocommerce-product-gallery__image a{padding:16px!important}
 html body.pp-consistent.single-product #primary div.product[id] .flex-control-thumbs img{height:62px!important}
 html body.pp-consistent.single-product #primary div.product[id] .onsale{width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;top:12px!important;left:12px!important;font-size:12px!important}
 html body.pp-consistent.single-product #primary div.product[id] .pp-member-product-gate{grid-template-columns:1fr!important}
 html body.pp-consistent.single-product #primary div.product[id] .pp-member-product-gate__price{padding:0!important}
 html body.pp-consistent.single-product #primary div.product[id] .pp-member-product-gate__content{border-left:0!important;padding:16px 0 0!important}
 html body.pp-consistent.single-product #primary div.product[id] .pp-delivery-estimator__form{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
 html body.pp-consistent.single-product #primary div.product[id] .pp-delivery-estimator__form :is(input,button){width:100%!important;max-width:100%!important;box-sizing:border-box}
 html body.pp-consistent.single-product #primary div.product[id] .pp-cta-buttons{grid-template-columns:minmax(0,1fr)!important}
}

/* Shared product cards: white surfaces and consistent space around content. */
html body.pp-consistent.woocommerce-page ul.products > li.product:not(.product-category){
 --pp-card-inset:20px;
 padding:var(--pp-card-inset)!important;
 background:#fff!important;
 box-sizing:border-box;
}
html body.pp-consistent.woocommerce-page ul.products > li.product:not(.product-category) > .woocommerce-loop-product__link{
 background:#fff!important;
}
html body.pp-consistent.woocommerce-page ul.products > li.product:not(.product-category) .woocommerce-loop-product__link img{
 background:#fff!important;
 margin-bottom:18px!important;
}
html body.pp-consistent.woocommerce-page ul.products > li.product:not(.product-category) .woocommerce-loop-product__title{
 padding:0!important;
 margin:0 0 12px!important;
 line-height:1.45!important;
}
html body.pp-consistent.woocommerce-page ul.products > li.product:not(.product-category) .price{
 margin:0 0 20px!important;
}
html body.pp-consistent.woocommerce-page ul.products > li.product:not(.product-category) > a.button{
 margin: auto 0 0!important;
}
@media(max-width:767px){
 html body.pp-consistent.woocommerce-page ul.products > li.product:not(.product-category){--pp-card-inset:16px}
}

