.mpb-widget { --mpb-border:#deded8; --mpb-columns:2; min-width:0; color:inherit; }
.mpb-widget *, .mpb-widget *::before, .mpb-widget *::after { box-sizing:border-box; }
.mpb-widget .mpb-title { margin:0; font-size:clamp(24px,2.5vw,38px); line-height:1.2; }
.mpb-widget .price { margin:0; font-size:20px; line-height:1.5; }
.mpb-widget .woocommerce-product-details__short-description > :first-child { margin-top:0; }
.mpb-widget .mpb-media { min-width:0; background:#f5f5f2; }
.mpb-widget .mpb-media a { display:block; }
.mpb-widget .mpb-media img { display:block; width:100%; height:auto; object-fit:contain; }
.mpb-widget .mpb-gallery { display:grid; grid-template-columns:repeat(var(--mpb-columns,2), minmax(0,1fr)); gap:16px; }
.mpb-gallery--editorial > :first-child { grid-column:1/-1; }
.mpb-widget .mpb-gallery--stack { grid-template-columns:minmax(0,1fr); }
.mpb-widget .mpb-gallery--slider, .mpb-widget .mpb-gallery--thumbnails { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; gap:0; }
.mpb-gallery--slider > *, .mpb-gallery--thumbnails > * { flex:0 0 100%; scroll-snap-align:start; }
.mpb-slider-nav { display:flex; justify-content:space-between; gap:12px; margin-block:12px; }
.mpb-slider-nav button, .mpb-thumbnails button { cursor:pointer; color:#111; background:white; border:1px solid var(--mpb-border); padding:8px 18px; }
.mpb-thumbnails { display:flex; gap:10px; overflow-x:auto; padding-block:12px; }
.mpb-thumbnails button { flex:0 0 72px; padding:0; border:2px solid transparent; }
.mpb-thumbnails button[aria-pressed=true] { border-color:#111; }
.mpb-thumbnails img { width:100%; height:72px; object-fit:cover; display:block; }
.mpb-video { position:relative; aspect-ratio:16/9; width:100%; margin-block:18px; background:#f4f4f0; }
.mpb-video iframe { width:100%; height:100%; border:0; position:absolute; inset:0; }
.mpb-widget .mpb-cart form.cart { display:block; margin:0; float:none; width:100%; }
.mpb-widget .mpb-cart .single_add_to_cart_button { background:#111; color:white; border:0; border-radius:0; padding:18px 24px; width:100%; float:none; margin-block:14px 0; }
.mpb-widget .mpb-cart .quantity { float:none; margin:10px 0; }
.mpb-widget .mpb-cart table.variations { width:100%; border:0; margin:0 0 18px; }
.mpb-widget .mpb-cart table.variations tr { display:block; padding-block:8px; }
.mpb-widget .mpb-cart table.variations td, .mpb-widget .mpb-cart table.variations th { display:block; border:0; padding:4px 0; text-align:start; }
.mpb-widget .mpb-cart .variations select { width:100%; max-width:100%; }
.mpb-swatches { display:flex; gap:8px; flex-wrap:wrap; margin-block:8px; }
.mpb-swatch { display:inline-flex; align-items:center; justify-content:center; padding:9px 14px; border:1px solid var(--mpb-border); color:#111; background:#fff; cursor:pointer; min-height:42px; }
.mpb-swatch[aria-pressed=true] { border:2px solid #111; padding:8px 13px; }
.mpb-swatch:disabled { opacity:.3; cursor:not-allowed; }
.mpb-swatch img { width:64px; height:36px; object-fit:cover; }
.mpb-swatch:has(img) { padding:3px; }
.mpb-swatch:has(img)[aria-pressed=true] { padding:2px; }
.mpb-accordion { border-bottom:1px solid var(--mpb-border); padding:0; margin:0; }
.mpb-accordion summary { cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 0; font-weight:600; }
.mpb-accordion summary::-webkit-details-marker { display:none; }
.mpb-accordion summary::after { content:'+'; font-size:24px; font-weight:400; }
.mpb-accordion[open] summary::after { content:'−'; }
.mpb-accordion-content { padding-bottom:20px; }
.mpb-accordion-content > :first-child { margin-top:0; }
.mpb-badge { display:inline-block; padding:8px 16px; background:#bcc39b; color:#111; font-size:14px; }
.mpb-benefits { padding-inline-start:20px; margin:0; }
.mpb-benefits li { margin-block:6px; }
.mpb-cards { display:grid; grid-template-columns:repeat(var(--mpb-columns,4),minmax(0,1fr)); gap:16px; }
.mpb-card { min-width:0; }
.mpb-card a { color:inherit; text-decoration:none; }
.mpb-card-image { background:#f5f5f2; overflow:hidden; }
.mpb-card-image img { display:block; width:100%; height:auto; object-fit:contain; }
.mpb-card h3 { font-size:16px; line-height:1.4; margin:12px 0 6px; }
.mpb-cards-heading { font-size:24px; line-height:1.3; margin:0 0 24px; }
.mpb-widget .product_meta > span { display:block; }
.mpb-widget .woocommerce-tabs { clear:none; }
.mpb-product > .elementor { width:100%; }
.mpb-widget button:focus-visible, .mpb-widget a:focus-visible, .mpb-widget summary:focus-visible { outline:3px solid #697b55; outline-offset:3px; }
@media (max-width:767px) { .mpb-widget { --mpb-columns:1; } .mpb-widget .mpb-title { font-size:28px; } }

/* Avoid an empty field reserving a column gap; keep controls selectable in the editor. */
body:not(.elementor-editor-active) .elementor-widget:has(> .elementor-widget-container > .mpb-widget:empty),
body:not(.elementor-editor-active) .elementor-widget:has(> .mpb-widget:empty) { display:none; }
.mpb-widget .woocommerce-breadcrumb { margin:0; padding:0; }

/* Template documents: only the Elementor canvas, without theme blog decoration. */
body.mpb-template-canvas {
  background:#fff !important;
  background-image:none !important;
  margin:0;
}
body.mpb-template-canvas #mpb-template-content {
  width:100%; max-width:none; margin:0; padding:0; background:transparent;
}
/* Intrix's outer product sidebar is outside the Elementor product body. */
body.maher-pb-active #main > .wgl-container > .row > .sidebar-container {
  display:none !important;
}
body.maher-pb-active #main > .wgl-container > .row > #main-content {
  width:100% !important; max-width:100% !important; flex:0 0 100%;
}
body.maher-pb-active #main > .wgl-container > .row {
  flex-direction:row; padding-inline:0;
}
/* Remove the theme canvas background while keeping Elementor section backgrounds. */
body.maher-pb-active #main { background:#fff; }
