/* Shared responsive foundation for the storefront and WooCommerce surfaces. */
:where(.site,.site-content,main,.entry-content,.woocommerce,.woocommerce-page,.rch-shell,.rch-grid,.rch-card,.product,.summary,.rcft,.jcm-sale,.jcm-smart-bundle,.jcm-downloads,.jcm-compatible-parts) *{box-sizing:border-box}
:where(.site-content,main,.entry-content,.woocommerce,.woocommerce-page,.rch-shell,.rch-grid,.rch-card,.product,.summary,.rcft-main,.rcft-column,.jcm-sale,.jcm-sale-card,.jcm-smart-bundle,.jcm-smart-bundle-list,.jcm-downloads,.jcm-compatible-parts)>*{min-width:0;max-width:100%}
:where(.entry-content,.woocommerce,.woocommerce-page,.product,.summary,.rch-card,.jcm-sale-card) img{max-width:100%;height:auto}
.woocommerce-product-gallery img,.rch-card-media img,.jcm-sale-image img,.jcm-bundle-image img,.jcm-suggestion-list img,.jcm-similar-list img{object-fit:contain;object-position:center}
.woocommerce form :where(input,select,textarea,button),.wc-block-components-form :where(input,select,textarea,button){max-width:100%}
.woocommerce :where(.button,button,input[type=button],input[type=submit]),.rch-actions a{min-height:44px;white-space:normal}
.rch-grid,.woocommerce ul.products{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}
.rcft-trust>span,.rcft-main,.rcft-column,.jcm-suggestion-list article,.jcm-smart-bundle-list article{min-width:0}
.rcft-column a,.jcm-suggestion-list h4,.jcm-smart-bundle-list a{overflow-wrap:anywhere}
.jcm-smart-bundle>header{grid-template-columns:minmax(0,1fr);margin-bottom:18px}
.jcm-compare-product{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(100%,420px);margin:14px 0}
.jcm-compare-product button,.jcm-compare-product a{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;min-width:0;min-height:44px;margin:0;padding:10px 14px;border-radius:11px;font-size:11px;line-height:1.25;text-align:center;white-space:normal;transition:border-color .18s ease,background-color .18s ease,color .18s ease}
.jcm-compare-product .jcm-compare-primary{border:1px solid #064089;background:#064089;color:#fff!important}
.jcm-compare-product .jcm-compare-secondary{border:1px solid #cbd9e4;background:#fff;color:#064089}
.jcm-compare-product button:hover,.jcm-compare-product a:hover{transform:none;box-shadow:none}
.jcm-compare-product span{flex:0 0 auto;font-size:15px;line-height:1}
.rch-product-path{clear:both;width:min(var(--jcm-product-content-width,90%),1400px);margin:0 auto 18px;padding:clamp(12px,2vw,18px) clamp(14px,2.4vw,24px) 0;color:#728291;font-size:11px;line-height:1.45}
.rch-product-path .woocommerce-breadcrumb{margin:0;padding:0;color:inherit;font-size:inherit}.rch-product-path a{color:#075fa8;text-decoration:none}.rch-product-path span{display:inline-block;margin-inline:8px;color:#a7b2bb}
body.single-product .woocommerce-breadcrumb,body.single-product .rch-product-path{display:none!important}
.rch-kit-modal[hidden]{display:none}.rch-kit-modal{position:fixed;z-index:100020;inset:0;display:grid;place-items:center;padding:18px}.rch-kit-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(8,23,36,.48);backdrop-filter:blur(5px)}.rch-kit-modal>section{position:relative;display:grid;grid-template-columns:minmax(180px,.72fr) minmax(0,1.28fr);width:min(100%,720px);max-height:calc(100vh - 36px);overflow:auto;border:1px solid rgba(255,255,255,.8);border-radius:20px;background:#fff;box-shadow:0 28px 80px rgba(4,31,54,.25);animation:rchKitIn .25s ease both}.rch-kit-close{position:absolute;z-index:2;top:12px;right:12px;display:grid;width:36px;height:36px;place-items:center;padding:0;border:1px solid #dce6ed;border-radius:50%;color:#41586a;background:#fff;font:400 22px/1 Arial;cursor:pointer}.rch-kit-image{display:grid;min-height:290px;place-items:center;padding:28px;background:#f3f8fc}.rch-kit-image img{display:block;width:100%;height:100%;max-height:260px;object-fit:contain}.rch-kit-copy{min-width:0;padding:42px 34px 30px}.rch-kit-copy>small{color:#0870be;font-size:8px;font-weight:850;letter-spacing:.14em}.rch-kit-copy h2{margin:7px 0 8px;color:#16344d;font-size:clamp(23px,3vw,32px);line-height:1.08}.rch-kit-copy>p{margin:0 0 17px;color:#6d8191;font-size:12px;line-height:1.6}.rch-kit-copy h3{margin:0 0 5px;color:#243b4c;font-size:14px;line-height:1.4}.rch-kit-price{color:#07559c;font-size:17px;font-weight:800}.rch-kit-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}.rch-kit-actions button,.rch-kit-actions a{display:flex;min-height:46px;align-items:center;justify-content:center;padding:9px 13px;border:1px solid #064089;border-radius:11px;color:#fff;background:#064089;font-size:11px;font-weight:800;text-align:center;text-decoration:none;cursor:pointer}.rch-kit-actions .is-secondary{border-color:#d4e0e8;color:#496071;background:#fff}.rch-kit-actions button:disabled{opacity:.65;cursor:wait}.rch-kit-open{overflow:hidden}@keyframes rchKitIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
.jcm-sale-terms-notice{clear:both;margin:14px 0;padding:13px 15px;border:1px solid #cfe0ec;border-radius:12px;color:#40596c;background:#f5f9fc;font-size:12px;line-height:1.55}
.jcm-sale-terms-notice strong{color:#17374f}.jcm-sale-terms-notice a{color:#075fa8;font-weight:750}
.jcm-sale-policy{margin:8px 26px 34px;padding:25px;border:1px solid #d3e3ee;border-radius:18px;background:#fff}
.jcm-sale-policy header small{color:#0870be;font-size:9px;font-weight:800;letter-spacing:.12em}.jcm-sale-policy h2{margin:6px 0;font-size:24px}.jcm-sale-policy header p{margin:0;color:#687f91;font-size:12px}
.jcm-sale-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.jcm-sale-policy-grid article{padding:15px;border-radius:12px;background:#f5f9fc}.jcm-sale-policy-grid b{color:#183950;font-size:12px}.jcm-sale-policy-grid p{margin:5px 0 0;color:#657b8c;font-size:10px;line-height:1.55}.jcm-sale-policy-link{display:inline-flex;margin-top:16px;color:#075fa8;font-size:11px;font-weight:800;text-decoration:none}

@media(max-width:1024px){
  body.single-product div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(18px,3vw,34px)}
  .rch-grid,.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:768px){
  :root{--rch-mobile-gutter:clamp(12px,4vw,20px)}
  body.single-product div.product{display:block;width:100%;padding-inline:var(--rch-mobile-gutter)}
  body.single-product .woocommerce-product-gallery,body.single-product .summary{width:100%;max-width:100%;margin-inline:0}
  body.single-product .summary :where(h1,.product_title){font-size:clamp(1.75rem,8vw,2.55rem);line-height:1.08;overflow-wrap:anywhere}
  body.single-product .summary .price{font-size:clamp(1.55rem,7vw,2.25rem);line-height:1.1}
  body.single-product form.cart,body.single-product .woocommerce-variation-add-to-cart{width:100%;min-width:0}
  body.single-product .product-type-simple form.cart{grid-template-columns:56px minmax(0,1fr) minmax(0,1fr)}
  body.single-product form.cart :where(.single_add_to_cart_button,.rch-buy-now){width:100%;min-width:0;padding-inline:10px}
  body.single-product form.cart .rch-whatsapp a{width:min(100%,360px);min-height:52px}
  .rch-grid,.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rch-card,.woocommerce ul.products li.product{width:auto;min-width:0;margin:0}
  .rch-card h3,.woocommerce-loop-product__title{overflow-wrap:anywhere}
  .jcm-smart-bundle,.jcm-downloads,.jcm-compatible-parts,.jcm-similar-products,.rcft{width:calc(100% - (2 * var(--rch-mobile-gutter)));margin-inline:auto}
  .jcm-smart-bundle-list article,.jcm-suggestion-list article{grid-template-columns:minmax(54px,70px) minmax(0,1fr) auto}
  .jcm-compare-actions,.rch-compare-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .jcm-compare-actions button,.rch-compare-actions button{width:100%;min-width:0;white-space:normal}
  .wc-block-checkout,.wc-block-cart,.woocommerce-checkout form.checkout{width:100%;max-width:100%;padding-inline:var(--rch-mobile-gutter)}
  .wc-block-components-checkbox label,.woocommerce-form__label-for-checkbox{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;width:100%;min-width:0}
  .wc-block-components-checkbox__label,.woocommerce-form__label-for-checkbox span{min-width:0;overflow-wrap:normal;word-break:normal}
  .rcft-trust>span{grid-template-columns:36px minmax(0,1fr)}
  .rcft-main{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jcm-sale-policy{margin:8px 10px 24px;padding:18px}.jcm-sale-policy-grid{grid-template-columns:1fr}
  .rch-product-path{width:100%;margin-bottom:12px;padding:12px var(--rch-mobile-gutter) 0;font-size:10px}
  .rch-kit-modal{padding:12px}.rch-kit-modal>section{grid-template-columns:1fr;width:min(100%,460px);border-radius:17px}.rch-kit-image{min-height:170px;padding:20px}.rch-kit-image img{max-height:150px}.rch-kit-copy{padding:24px 20px 20px}.rch-kit-copy h2{padding-right:28px;font-size:23px}.rch-kit-actions{grid-template-columns:1fr}
}
@media(max-width:480px){
  body.single-product .product-type-simple form.cart{grid-template-columns:52px minmax(0,1fr);gap:9px}
  body.single-product .product-type-simple form.cart>.rch-whatsapp{grid-column:1/-1;grid-row:1}
  body.single-product .product-type-simple form.cart>.quantity{grid-column:1;grid-row:2}
  body.single-product .product-type-simple form.cart>.single_add_to_cart_button{grid-column:2;grid-row:2}
  body.single-product .product-type-simple form.cart>.rch-buy-now{grid-column:1/-1;grid-row:3}
  .rch-grid,.woocommerce ul.products{gap:10px}
  .rch-card,.woocommerce ul.products li.product{padding:10px}
  .rch-card-media,.woocommerce ul.products li.product a img{aspect-ratio:1/1;object-fit:contain}
  .jcm-smart-bundle-list article,.jcm-suggestion-list article{grid-template-columns:56px minmax(0,1fr) 40px;gap:9px}
  .jcm-smart-bundle-list article h3,.jcm-suggestion-list article h4{font-size:12px;line-height:1.35}
  .jcm-sale-grid{grid-template-columns:1fr}
  .jcm-sale-image{height:auto;aspect-ratio:4/3}
  .rcft-main{grid-template-columns:1fr}
  .rcft-brand,.rcft-main .rcft-column:last-child{grid-column:auto}
  .rcft-main .rcft-column:last-child{display:flex}
}
@media(max-width:360px){
  :root{--rch-mobile-gutter:12px}
  .rch-grid,.woocommerce ul.products{grid-template-columns:1fr}
  .jcm-compare-actions,.rch-compare-actions{grid-template-columns:1fr}
  body.single-product .summary :where(h1,.product_title){font-size:1.7rem}
  .jcm-compare-product{grid-template-columns:1fr}
}

/* Lock the repair-kit recommendation to the current mobile viewport. */
html.rch-kit-open,body.rch-kit-open{overflow:hidden!important;overscroll-behavior:none}
.rch-kit-modal{height:100vh;height:100dvh;overscroll-behavior:contain}
.rch-kit-modal>section{max-height:calc(100vh - 36px);max-height:calc(100dvh - 36px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
@media(max-width:768px){.rch-kit-modal{align-items:center!important;padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom))!important}.rch-kit-modal>section{max-height:calc(100dvh - 20px)!important}}

/* v5.2.1: glossy, self-contained checkout recommendation shown after Scratch & Save. */
.rch-kit-modal{position:fixed!important;inset:0!important;isolation:isolate;z-index:100020!important;box-sizing:border-box!important;width:100vw!important;max-width:none!important;height:100vh!important;height:100dvh!important;margin:0!important;padding:max(16px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))!important;align-items:center!important;justify-items:center!important;transform:none!important}
.rch-kit-backdrop{background:radial-gradient(circle at 24% 18%,rgba(45,153,218,.2),transparent 38%),rgba(3,24,42,.64)!important;-webkit-backdrop-filter:blur(12px) saturate(125%);backdrop-filter:blur(12px) saturate(125%)}
.rch-kit-modal>section{isolation:isolate;border:1px solid rgba(255,255,255,.9)!important;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(240,249,255,.96))!important;box-shadow:0 32px 90px rgba(2,31,55,.32),inset 0 1px 0 #fff!important}
.rch-kit-close{border-color:rgba(6,64,137,.12)!important;background:rgba(255,255,255,.86)!important;box-shadow:0 7px 20px rgba(6,64,137,.1)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.rch-kit-image{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 42%,#fff 0%,#eef8fe 58%,#e4f3fb 100%)!important}.rch-kit-image:after{position:absolute;right:-70px;bottom:-95px;width:210px;height:210px;border:1px solid rgba(8,120,209,.1);border-radius:50%;content:"";box-shadow:0 0 0 24px rgba(8,120,209,.035),0 0 0 50px rgba(8,120,209,.02);pointer-events:none}.rch-kit-image img{position:relative;z-index:1;filter:drop-shadow(0 18px 18px rgba(23,58,82,.12))}
.rch-kit-copy{background:linear-gradient(150deg,rgba(255,255,255,.76),rgba(245,251,255,.88))}.rch-kit-copy h2{letter-spacing:-.025em}.rch-kit-actions button,.rch-kit-actions a{box-shadow:0 10px 24px rgba(6,64,137,.16)!important}.rch-kit-actions .is-secondary{box-shadow:none!important}
@media(max-width:768px){.rch-kit-modal{align-items:center!important;justify-items:center!important;padding:max(10px,env(safe-area-inset-top)) 8px max(10px,env(safe-area-inset-bottom))!important}.rch-kit-modal>section{grid-template-columns:118px minmax(0,1fr)!important;width:100%!important;max-height:calc(100dvh - 20px)!important;border-radius:20px!important}.rch-kit-image{min-height:0!important;padding:18px 10px!important}.rch-kit-image img{height:auto!important;max-height:130px!important}.rch-kit-copy{padding:28px 18px 20px!important}.rch-kit-copy h2{padding-right:25px!important;font-size:20px!important}.rch-kit-copy>p{margin-bottom:12px!important;font-size:11px!important}.rch-kit-actions{grid-template-columns:1fr!important;margin-top:14px!important}.rch-kit-actions button,.rch-kit-actions a{min-height:46px!important}}
@media(max-width:480px){.rch-kit-modal>section{grid-template-columns:1fr!important}.rch-kit-image{min-height:112px!important;padding:12px 42px 5px!important}.rch-kit-image img{max-height:106px!important}.rch-kit-copy{padding:18px 15px 16px!important}.rch-kit-copy h2{margin-top:5px!important;font-size:19px!important}.rch-kit-actions{grid-template-columns:1fr 1fr!important;gap:8px!important}.rch-kit-actions button,.rch-kit-actions a{min-width:0!important;padding:8px!important;font-size:10px!important}}
@media(max-width:350px){.rch-kit-actions{grid-template-columns:1fr!important}.rch-kit-image{min-height:96px!important}.rch-kit-image img{max-height:90px!important}}
