.mp-elementor-product{min-width:0;color:var(--mp-ink,#191c1d)}
/* The WooCommerce product wrapper must not apply the fallback template's grid to nested widgets. */
.single-product div.product.mp-elementor-single-product,.single-product .mp-elementor-product div.product{display:block!important;grid-template-columns:none!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.mp-el-product-layout,.mp-el-product-lower{padding-inline:clamp(20px,4vw,64px)!important}
.mp-el-product-layout>.e-con-inner{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);align-items:start;gap:clamp(20px,3vw,48px);padding-block:32px 48px}
.mp-el-product-layout>.e-con-inner>.e-con{width:auto;min-width:0}
.mp-el-product-summary-column{position:sticky;top:112px;align-self:start;padding:clamp(20px,2.4vw,30px)!important;border:1px solid #eaebed;border-radius:20px;background:#fff;box-shadow:0 14px 36px rgba(25,28,29,.035)}
.admin-bar .mp-el-product-summary-column{top:144px}
.mp-el-product-gallery-column{align-self:start}
.mp-el-product-lower>.e-con-inner{padding-block:14px 38px}
.mp-elementor-product .woocommerce-product-gallery,.mp-elementor-product .summary{float:none!important;width:100%!important;margin:0!important}
.mp-elementor-product-gallery .woocommerce-product-gallery{position:relative}
.mp-elementor-product-gallery .woocommerce-product-gallery__image img{display:block;width:100%;height:auto;object-fit:contain;border-radius:20px}
.mp-elementor-product-summary .product_title{margin:0 0 12px;font-size:clamp(30px,3vw,48px);line-height:1.08;letter-spacing:-.04em}
.mp-elementor-product-summary .price{font-size:clamp(20px,2vw,28px);font-weight:700}
.mp-elementor-product-summary .variations{width:100%;margin:20px 0}
.mp-elementor-product-summary .variations select{max-width:100%;min-height:46px}
.mp-elementor-product-summary .single_add_to_cart_button{min-height:50px;padding:0 26px;border:0;border-radius:999px;background:var(--mp-primary,#e0002a);color:#fff;font-weight:700}
.mp-elementor-product-summary .quantity input{min-height:50px}
.mp-elementor-product-details .woocommerce-tabs{clear:both}
.mp-elementor-product-related ul.products{display:grid!important;grid-template-columns:repeat(var(--mp-related-columns,4),minmax(0,1fr));gap:16px;padding:0}
.mp-elementor-product-related ul.products li.product{float:none!important;width:auto!important;margin:0!important}
.mp-elementor-product-placeholder{padding:18px;border:1px dashed #c6cbd1;border-radius:12px;background:#f8f9fa;color:#59616a}
@media(max-width:767px){.mp-el-product-layout,.mp-el-product-lower{padding-inline:20px!important}.mp-el-product-layout>.e-con-inner{grid-template-columns:minmax(0,1fr);gap:18px;padding-block:20px 30px}.mp-el-product-summary-column,.admin-bar .mp-el-product-summary-column{position:static;top:auto;padding:20px!important}.mp-elementor-product-summary .product_title{font-size:30px}.mp-elementor-product-related ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

/* Extra product components can be independently placed in Elementor. */
.mp-el-product-toolbar{display:none}
.mp-el-product-status{display:flex;align-items:center;gap:8px;min-height:34px;padding:8px 20px;background:#f2f3f4;color:#555d64;font-size:12px}
.mp-el-product-status .mp-product-status-dot{display:inline-block;width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#a5abb1}
.mp-el-product-status .mp-product-status-dot.is-available{background:#21966a}
.mp-el-product-breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;padding:12px 0;color:#70777d;font-size:12px;line-height:1.5}
.mp-el-product-breadcrumb a{color:inherit;text-decoration:none}.mp-el-product-breadcrumb a:hover{color:var(--mp-primary,#e0002a)}
.mp-el-product-breadcrumb [aria-current=page]{color:#292e33;font-weight:600}
.mp-el-product-gallery-caption{display:flex;justify-content:space-between;gap:10px;padding:10px 2px;color:#70777d;font-size:11px;line-height:1.4}
.mp-el-product-gallery-caption b{font-weight:600}
.mp-el-product-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:20px;border:1px solid #e5e7eb;border-radius:18px;background:#f5f6f7}
.mp-el-product-benefit{display:flex;align-items:center;gap:12px;min-width:0}.mp-el-product-benefit>span{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:1px solid #f1cfd5;border-radius:50%;background:#fff;color:var(--mp-primary,#e0002a)}
.mp-el-product-benefit>div{display:grid;gap:3px}.mp-el-product-benefit strong{color:#292e33;font-size:12px}.mp-el-product-benefit small{color:#687078;font-size:11px;line-height:1.5}
.elementor-editor-active .mp-el-product-buybar{position:relative!important;bottom:auto!important}
@media(max-width:767px){
 body.single-product .mp-product-mobile-toolbar.mp-el-product-toolbar{position:relative;top:auto;right:auto;left:auto;display:flex!important;min-height:54px;padding:7px 20px;background:#fff;border-bottom:1px solid #eceef0;backdrop-filter:none}
 .mp-el-product-benefits{grid-template-columns:1fr;gap:14px;padding:16px}
 .mp-el-product-gallery-caption{font-size:10px}
 .mp-el-product-breadcrumb{padding-inline:20px}
}
/* Show mobile-only components as normal, non-sticky blocks while editing. */
.elementor-editor-active .mp-el-product-toolbar,.elementor-editor-active .mp-el-product-buybar{display:flex!important;position:relative!important;inset:auto!important}
.mp-el-product-toolbar{align-items:center;justify-content:space-between;gap:12px;color:#292e33}
.mp-el-product-toolbar svg,.mp-el-product-buybar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.mp-el-product-toolbar .mp-product-toolbar-actions{display:flex;align-items:center;gap:14px}
.mp-el-product-toolbar button{padding:0;border:0;background:transparent;color:inherit;cursor:pointer}
.mp-el-product-buybar{align-items:center;justify-content:space-between;gap:12px;background:#fff}

/* Keep WooCommerce defaults from tinting product prices and reduce the lead-in gap. */
body.single-product .mp-elementor-product-summary .summary > .price,
body.single-product .mp-elementor-product-summary .summary .woocommerce-variation-price .price{color:var(--mp-ink,#191c1d)}
.mp-el-product-lower:has(.elementor-widget-macpoints-single-breadcrumb)>.e-con-inner{padding-bottom:8px}
.mp-el-product-layout>.e-con-inner{padding-top:12px}
@media(max-width:767px){
 .mp-el-product-lower:has(.elementor-widget-macpoints-single-breadcrumb)>.e-con-inner{padding-bottom:6px}
 .mp-el-product-layout>.e-con-inner{padding-top:10px}
}

/* The frontend product-order script changes the DOM order at the breakpoint.
   Without JavaScript the saved order remains visible and matches reading order. */
/* Keep long price ranges within a narrow mobile summary and style live sticky prices. */
body.single-product .mp-el-product-buybar .mp-mobile-buybar-price .price{color:inherit}
@media(max-width:767px){
 body.single-product .mp-elementor-product-summary .summary>.price{flex-wrap:wrap;overflow-wrap:anywhere;font-size:clamp(14px,4vw,17px);line-height:1.35}
}

/* In the split summary, Elementor already supplies the space between adjacent
   widgets. Avoid stacking the legacy model/form margins on top of that gap. */
body.single-product .elementor-widget-macpoints-single-price:has(.mp-model-selector:last-child):has(+ .elementor-widget-macpoints-single-purchase) .mp-model-selector:last-child{margin-bottom:0}
body.single-product .elementor-widget-macpoints-single-price:has(.mp-model-selector:last-child) + .elementor-widget-macpoints-single-purchase form.cart{margin-top:0!important}
