/* Moshik Pets UX Upgrade */
:root{
	--mpux-primary:#2fbf71; --mpux-primary-dark:#24a05d; --mpux-accent:#f26b2b;
	--mpux-text:#1f2a2e; --mpux-muted:#6b7478; --mpux-border:#ececec;
	--mpux-radius:14px; --mpux-btn-radius:10px; --mpux-shadow:0 4px 18px rgba(0,0,0,.06);
}

/* ===== 7/11. Uniform white background + consistent cards & buttons ===== */
html, body{ overflow-x:clip; }
html:not(#mpux), html:not(#mpux) body:not(#mpux){ background:#fff !important; background-image:none !important; }
#page, .site, .site-content, .shoptimizer-archive, .archive-header{ background-color:#fff !important; }

/* accessibility icon was covering the logo (desktop) and the menu button (mobile) -> move to bottom-right */
#wp_access_helper_container .aicon_link{ top:auto !important; bottom:72px !important; right:16px !important; left:auto !important; position:fixed !important; width:48px !important; height:48px !important; border-radius:50% !important; overflow:hidden; box-shadow:0 4px 14px rgba(0,0,0,.18); z-index:9989 !important; }
#wp_access_helper_container .aicon_link img{ width:100% !important; height:100% !important; }
body.mpux-has-sticky #wp_access_helper_container .aicon_link{ bottom:140px !important; }
/* Shoptimizer English progress bar on checkout replaced by our Hebrew steps */
body.woocommerce-checkout .checkout-wrap{ display:none !important; }
ul.products li.product{ background:#fff; border:1px solid var(--mpux-border); border-radius:var(--mpux-radius); box-shadow:none; transition:box-shadow .2s, transform .2s; }
ul.products li.product:hover{ box-shadow:var(--mpux-shadow); transform:translateY(-2px); }
ul.products li.product img, .mpux-card-img img{ aspect-ratio:1/1; object-fit:contain; background:#fff; width:100%; }
.woocommerce .button, .woocommerce button.button, .woocommerce a.button, .single_add_to_cart_button, .checkout-button, #place_order{
	border-radius:var(--mpux-btn-radius) !important; font-weight:600; min-height:46px; }
.woocommerce .price del, .mpux-card-price del{ color:#9aa1a4; font-weight:400; }
.woocommerce .price ins, .mpux-card-price ins{ text-decoration:none; color:var(--mpux-accent); font-weight:700; }
.onsale{ border-radius:999px !important; font-weight:600; }

/* ===== shared section / carousel ===== */
.mpux-section{ max-width:1240px; margin:48px auto; padding:0 16px; direction:rtl; }
.mpux-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }
.mpux-head h2{ margin:0; font-size:clamp(22px,3vw,30px); font-weight:800; color:var(--mpux-text); }
.mpux-arrows{ display:flex; gap:8px; }
.mpux-arrows button{ width:40px; height:40px; border-radius:50%; border:1px solid var(--mpux-border); background:#fff; color:var(--mpux-text); font-size:22px; line-height:1; cursor:pointer; padding:0; }
.mpux-arrows button:hover{ background:var(--mpux-primary); color:#fff; border-color:var(--mpux-primary); }
body .mpux-rel ul.products.mpux-track, body ul.products.columns-4.mpux-track, .mpux-track{ display:flex !important; flex-wrap:nowrap !important; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding:4px 2px 14px; margin:0 !important; scrollbar-width:thin; -webkit-overflow-scrolling:touch; }
body .mpux-rel ul.products.mpux-track > li.product, .mpux-track > *{ scroll-snap-align:start; flex:0 0 calc((100% - 48px)/4) !important; max-width:none !important; width:auto !important; margin:0 !important; float:none !important; }
@media (max-width:1024px){ body .mpux-rel ul.products.mpux-track > li.product, .mpux-track > *{ flex-basis:calc((100% - 32px)/3) !important; } }
@media (max-width:767px){ body .mpux-rel ul.products.mpux-track > li.product, .mpux-track > *{ flex-basis:68% !important; } .mpux-arrows{ display:none; } .mpux-section{ margin:32px auto; } }

/* sale cards */
.mpux-card{ background:#fff; border:1px solid var(--mpux-border); border-radius:var(--mpux-radius); padding:14px; display:flex; flex-direction:column; gap:8px; text-align:center; }
.mpux-card-img{ position:relative; display:block; border-radius:10px; overflow:hidden; }
.mpux-badge{ position:absolute; top:8px; right:8px; z-index:2; background:var(--mpux-accent); color:#fff; font-size:13px; font-weight:700; padding:4px 10px; border-radius:999px; }
.mpux-card-title{ color:var(--mpux-text); font-weight:600; font-size:15px; line-height:1.35; min-height:2.7em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; text-decoration:none; }
.mpux-card-price{ font-size:16px; }
.mpux-card-btn{ margin-top:auto; background:var(--mpux-primary) !important; color:#fff !important; width:100%; text-align:center; }
.mpux-card-btn:hover{ background:var(--mpux-primary-dark) !important; }
.mpux-card-btn--alt{ background:#fff !important; color:var(--mpux-primary) !important; border:1.5px solid var(--mpux-primary) !important; }
.mpux-card .added_to_cart{ font-size:13px; }

/* reviews */
.mpux-review{ background:#fafaf8; border:1px solid var(--mpux-border); border-radius:var(--mpux-radius); padding:20px; display:flex; flex-direction:column; gap:10px; }
.mpux-stars{ color:#f5b301; font-size:18px; letter-spacing:2px; }
.mpux-review p{ margin:0; color:var(--mpux-text); line-height:1.6; }
.mpux-review-by{ margin-top:auto; font-size:14px; color:var(--mpux-muted); display:flex; flex-direction:column; }
.mpux-review-by a{ color:var(--mpux-muted); font-size:13px; }
.mpux-first-review{ display:inline-block; margin:2px 0 10px; color:var(--mpux-muted); font-size:14px; text-decoration:none; }
.mpux-first-review:hover{ color:var(--mpux-primary); }

/* ===== 4. Related products: single row ===== */
.mpux-rel ul.products.mpux-track{ grid-template-columns:none !important; }
.mpux-rel ul.products.mpux-track li.product{ clear:none !important; }
.mpux-rel .mpux-head h2{ font-size:24px; }

/* ===== 4. Sticky add to cart ===== */
.mpux-sticky-atc{ position:fixed; z-index:99999; left:0; right:0; bottom:0; background:#fff; box-shadow:0 -6px 24px rgba(0,0,0,.10); transform:translateY(110%); transition:transform .25s ease; direction:rtl; padding-bottom:env(safe-area-inset-bottom); }
.mpux-sticky-atc.is-visible{ transform:none; }
.mpux-sticky-inner{ max-width:1240px; margin:0 auto; display:flex; align-items:center; gap:14px; padding:10px 16px; }
.mpux-sticky-img img{ width:52px; height:52px; object-fit:contain; border-radius:8px; border:1px solid var(--mpux-border); }
.mpux-sticky-info{ flex:1; min-width:0; display:flex; flex-direction:column; }
.mpux-sticky-title{ font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--mpux-text); }
.mpux-sticky-price{ font-size:15px; }
.mpux-sticky-btn{ background:var(--mpux-primary); color:#fff; border:0; border-radius:var(--mpux-btn-radius); font-weight:700; padding:0 26px; min-height:48px; cursor:pointer; white-space:nowrap; }
.mpux-sticky-btn:hover{ background:var(--mpux-primary-dark); }
@media (max-width:767px){ .mpux-sticky-img{ display:none; } .mpux-sticky-btn{ padding:0 18px; } .mpux-sticky-title{ font-size:14px; } }
body.mpux-has-sticky .shoptimizer-sticky-add-to-cart{ display:none !important; }
form.cart.mpux-pulse{ animation:mpuxPulse 1.4s ease; border-radius:12px; }
@keyframes mpuxPulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(47,191,113,0);} 30%{ box-shadow:0 0 0 6px rgba(47,191,113,.35);} }
/* keep floating WhatsApp button above the bar */
body.mpux-has-sticky [class*="whatsapp"][style*="fixed"], body.mpux-has-sticky .joinchat{ bottom:84px !important; }

/* ===== 6. Mobile footer accordion ===== */
@media (max-width:767px){
	footer.elementor-location-footer .mpux-acc{ border-bottom:1px solid rgba(255,255,255,.12); padding:2px 0 !important; gap:0 !important; }
	footer.elementor-location-footer .mpux-acc-head{ cursor:pointer; position:relative; margin:0 !important; padding:12px 0; }
	footer.elementor-location-footer .mpux-acc-head .elementor-heading-title::after{ content:"+"; display:inline-block; margin-right:10px; font-size:20px; line-height:1; color:#f26b2b; }
	footer.elementor-location-footer .mpux-acc.is-open .mpux-acc-head .elementor-heading-title::after{ content:"−"; }
	footer.elementor-location-footer .mpux-acc > .elementor-element:not(.mpux-acc-head){ display:none !important; }
	footer.elementor-location-footer .mpux-acc.is-open > .elementor-element:not(.mpux-acc-head){ display:block !important; }
	footer.elementor-location-footer .elementor-widget-google_maps{ display:none !important; }
	footer.elementor-location-footer .elementor-widget-image img{ max-width:110px; }
}

/* ===== 7. Price filter ===== */
.mpux-price .price_slider{ height:6px !important; background:#e6e6e6 !important; border:0 !important; border-radius:6px; margin:18px 8px 16px !important; }
.mpux-price .ui-slider-range{ background:var(--mpux-primary) !important; }
.mpux-price .ui-slider-handle{ width:22px !important; height:22px !important; top:-8px !important; border-radius:50% !important; background:#fff !important; border:3px solid var(--mpux-primary) !important; cursor:grab; box-shadow:0 2px 6px rgba(0,0,0,.15); }
.mpux-price-inputs{ display:flex; gap:10px; margin-bottom:12px; }
.mpux-price-inputs label{ flex:1; display:flex; flex-direction:column; gap:4px; font-size:13px; color:var(--mpux-muted); }
.mpux-price-inputs input{ width:100%; border:1px solid var(--mpux-border); border-radius:8px; padding:8px 10px; font-size:15px; text-align:center; }
.mpux-price .price_slider_amount{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.mpux-price .price_slider_amount button{ background:var(--mpux-primary) !important; color:#fff !important; border-radius:var(--mpux-btn-radius) !important; padding:8px 22px !important; min-height:40px; }
.mpux-price .price_label{ font-size:13px; color:var(--mpux-muted); }

/* ===== 5. Checkout steps ===== */
form.mpux-steps .mpux-stepnav{ list-style:none; display:flex; gap:8px; margin:0 0 20px; padding:0; counter-reset:none; grid-column:1/-1; }
form.mpux-steps .mpux-stepnav li{ flex:1; display:flex; align-items:center; gap:8px; padding:12px; border-radius:12px; background:#f4f5f5; color:var(--mpux-muted); font-weight:600; cursor:pointer; font-size:15px; margin:0; }
form.mpux-steps .mpux-stepnav li span{ width:28px; height:28px; flex:0 0 28px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; border:2px solid currentColor; font-size:14px; }
form.mpux-steps .mpux-stepnav li.is-active{ background:var(--mpux-primary); color:#fff; }
form.mpux-steps .mpux-stepnav li.is-active span{ background:#fff; color:var(--mpux-primary); border-color:#fff; }
form.mpux-steps .mpux-stepnav li.is-done{ background:#e8f6ef; color:var(--mpux-primary); }
@media (max-width:767px){ form.mpux-steps .mpux-stepnav li{ flex-direction:column; text-align:center; font-size:12px; padding:8px 4px; gap:4px; } }

form.mpux-steps .mpux-mini-summary{ margin:0 0 18px; grid-column:1/-1; }
form.mpux-steps .mpux-mini-toggle{ width:100%; display:flex; justify-content:space-between; align-items:center; background:#fff; border:1px solid var(--mpux-border); border-radius:12px; padding:12px 16px; font-size:15px; color:var(--mpux-text); cursor:pointer; }
form.mpux-steps .mpux-mini-total{ color:var(--mpux-primary); font-size:17px; }

form.mpux-steps.mpux-at-1 .mpux-s2,
form.mpux-steps.mpux-at-2 .mpux-s1,
form.mpux-steps.mpux-at-3 #customer_details,
form.mpux-steps:not(.mpux-at-3) #order_review .woocommerce-checkout-payment,
form.mpux-steps:not(.mpux-at-3) .mpux-back-3,
form.mpux-steps.mpux-at-3 .mpux-step-actions,
form.mpux-steps.mpux-at-1 .mpux-back{ display:none !important; }
/* order table: hidden on steps 1-2 on mobile unless toggled; always visible on desktop */
@media (max-width:991px){
	form.mpux-steps:not(.mpux-at-3):not(.mpux-summary-open) #order_review,
	form.mpux-steps:not(.mpux-at-3) #order_review_heading{ display:none !important; }
}
@media (min-width:992px){
	form.mpux-steps .mpux-mini-summary{ display:none; }
	form.mpux-steps #order_review_heading{ display:block !important; }
}
form.mpux-steps .mpux-step-actions{ display:flex; gap:12px; justify-content:space-between; margin:10px 0 24px; }
form.mpux-steps .mpux-step-actions .mpux-continue{ flex:1; background:var(--mpux-primary) !important; color:#fff !important; font-size:17px; min-height:52px; }
form.mpux-steps .mpux-back{ background:#fff !important; color:var(--mpux-text) !important; border:1px solid var(--mpux-border) !important; }
form.mpux-steps .mpux-back-3{ margin-bottom:14px; }
form.mpux-steps.mpux-at-2 .mpux-s2 .woocommerce-billing-fields > h3{ display:block; }
form.mpux-steps #place_order{ width:100%; font-size:18px; min-height:56px; background:var(--mpux-primary) !important; }
form.mpux-steps .form-row input.input-text, form.mpux-steps .form-row select, form.mpux-steps .form-row textarea{ border-radius:10px; min-height:46px; }


form.mpux-steps.mpux-at-3 .mpux-mini-summary{ display:none !important; }
