Best Selling House Plans – Proven Designs Loved by Homeowners

Browse Our Most Popular Floor Plans Built for Style, Functionality, and Lasting Value

Find Your Dream house

Bedrooms
  • 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6+
Bathrooms
  • 2
  • 2.5
  • 3
  • 3.5
  • 4
  • 4.5
  • 5+
Floors
  • 1
  • 2
  • 3
  • 4+
Htd. Sq. Ft.
Width (Ft.)
Depth (Ft.)
Loading...

Plan Price
Architectural Style
# of Garage Bays
Bed and Bath
Ceiling Features
Structure Type
Garage Features
Indoor
Kitchen Features
Outdoor
Exterior Material
Size/Unique
Loading...
Best Selling House Plans

Found 3,002 House Plans!

    /* ========================================================= 1. KILL THE GHOST OVERLAY (The Fix) ========================================================= */ .short-description-hover, .et_overlay, .et_pb_module .product .et_overlay, .woocommerce-loop-product__description { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; height: 0 !important; width: 0 !important; overflow: hidden !important; } /* ========================================================= 2. CUSTOM SHORT DESCRIPTION (Keep the Good One) ========================================================= */ /* 0) Card baseline */ ul.products li.product, .products li.product { position: relative; overflow: visible; } /* 1) Force custom class to ALWAYS show & sit relatively */ .woocommerce ul.products li.product .mhfp-short-overlay, .woocommerce-page ul.products li.product .mhfp-short-overlay, ul.products li.product .mhfp-short-overlay { /* Layout */ position: relative !important; display: flex !important; visibility: visible !important; opacity: 1 !important; /* Reset position */ top: auto !important; bottom: auto !important; left: auto !important; right: auto !important; transform: none !important; /* Style */ background: transparent !important; width: 100%; margin: 0; padding: 8px 4px; box-sizing: border-box; z-index: 10; /* Text Alignment */ justify-content: space-evenly; align-items: center; text-align: center; font-size: 11px !important; line-height: 1.35 !important; color: #ffc90d; } /* Styling for inner text */ .mhfp-short-overlay p { margin: 0; flex: 1 1 auto; text-align: center; } .mhfp-short-overlay strong { display: block; color: #fff; font-weight: 800; } /* --- FIX: FORCE UNHTD SF COLUMN TO THE TOP --- */ .mhfp-short-overlay p:nth-child(4) { align-self: flex-start !important; } /* ------------------------------------------ */ /* Ensure it STAYS visible on hover */ ul.products li.product:hover .mhfp-short-overlay { display: flex !important; opacity: 1 !important; background: transparent !important; } /* ========================================================= 3. ICONS & BADGES ========================================================= */ /* Search Icon default position (overridden below for style) */ .product-search-icon { position: absolute; right: 0.75rem; top: 0.75rem; z-index: 60; pointer-events: auto; } /* Sale Badge */ .mhfp-sale-badge { display: inline-flex; align-items: center; line-height: 1; white-space: nowrap; position: absolute; left: 6px; top: 6px; z-index: 50; padding: 10px; } .mhfp-sale-badge .mhfp-sale-label { margin-right: 0.35rem; color: #fff !important; font-weight: 800; } .mhfp-sale-badge .mhfp-sale-amount { color: #ffc90d; font-weight: 800; } /* Sale Badge Hover Logic */ @media (min-width: 981px) { .mhfp-sale-badge { opacity: 0; transform: translateY(-4px); transition: opacity .18s ease, transform .18s ease; } ul.products li.product:hover .mhfp-sale-badge { opacity: 1; transform: none; } } @media (max-width: 980px) { .mhfp-sale-badge { opacity: 1; transform: none; } } /* ========================================================= 4. RESPONSIVE & LAYOUT ========================================================= */ @media (max-width: 600px) { .mhfp-short-overlay { font-size: 20px !important; } .mhfp-sale-badge { font-size: 20px; padding: 14px; } .product-search-icon { width: 34px; height: 34px; } .product-search-icon svg { width: 16px; height: 16px; } } /* --- Short Overlay Layout Fixes --- */ /* === 1. Full-height columns with full-height separators (Revised) === */ .mhfp-short-overlay p { display: flex; flex-direction: column; justify-content: center; border-left: 2px solid rgba(255,255,255,0.25); padding: 0 8px; margin: 0 !important; } /* Remove default margin from the strong tag (the yellow numbers) */ .mhfp-short-overlay strong { margin: 0 !important; } /* no separator on the first column */ .mhfp-short-overlay p:first-child { border-left: none; } /* remove old override that shortened the last separator */ .mhfp-short-overlay p:nth-child(4) { align-self: auto !important; } /* === 2. Outer bar container (Revised) === */ .mhfp-short-overlay { padding-top: 8px !important; padding-bottom: 8px !important; padding-left: 0 !important; padding-right: 0 !important; display: flex; align-items: stretch !important; border: 2px solid rgba(255,255,255,0.25); /* Add an outer border */ border-radius: 4px; /* Add border radius */ } /* === 3. Position bar against the image top & add space below === */ ul.products li.product .mhfp-short-overlay { margin-top: -10px !important; margin-bottom: 15px !important; } /* Remove just the top border so it doesn't touch the image */ .mhfp-short-overlay { border-top: none !important; } /* Remove WooCommerce title spacing (this is what creates the gap) */ .woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0 !important; padding: 0 !important; line-height: 1 !important; } /* =========================================== SEARCH ICON → MATCH SALE BADGE STYLE =========================================== */ .product-search-icon { position: absolute; right: 6px; top: 6px; z-index: 60; /* Badge Style */ background: #25293b !important; border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,0,0,0.25); /* Hover Animation */ transition: transform .18s ease, box-shadow .18s ease; cursor: pointer; pointer-events: auto; } .product-search-icon:hover { transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,0.35); } /* Icon inside the badge */ .product-search-icon svg { width: 22px; height: 22px; stroke: #ffc90d; stroke-width: 2.2; } /* Make it visible on mobile (same as sale badge logic) */ @media (max-width: 980px) { .product-search-icon { opacity: 1 !important; transform: none !important; } } /* ================================================== FIXED: POINTER-EVENTS RESET (The most robust fix) ================================================== */ /* 1. Kill ALL default click-stealing behavior on the list item and wrapper links */ ul.products li.product, .products li.product { pointer-events: none !important; /* Disables all clicks on the main card */ } /* 2. Re-enable clicks ONLY on the desired elements */ ul.products li.product .woocommerce-loop-product__link, /* Product Image/Title */ ul.products li.product .product-search-icon, /* Search Icon (for lightbox) */ ul.products li.product .mhfp-short-overlay, /* Short Desc/Stats */ ul.products li.product .mhfp-sale-badge, /* Sale Badge (if links) */ /* Re-enable clicks only on specific elements to fix Divi's double link wrapping */ .et_pb_shop > a:first-child[href*="product"], .et_pb_wc_products > a:first-child[href*="product"] { pointer-events: auto !important; cursor: pointer !important; /* Forces the hand cursor to show */ } /* Final Divi Fix (must be separated) */ ul.products li.product a.et_shop_image, ul.products li.product > a:first-child[href*="product"], .et_pb_shop a[href*="product"]:not(.woocommerce-loop-product__link) { pointer-events: none !important; cursor: default !important; } .product-search-icon, .mhfp-short-overlay { pointer-events: auto !important; }/* ========================================================= 1. KILL THE GHOST OVERLAY (The Fix) ========================================================= */ .short-description-hover, .et_overlay, .et_pb_module .product .et_overlay, .woocommerce-loop-product__description { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; height: 0 !important; width: 0 !important; overflow: hidden !important; } /* ========================================================= 2. CUSTOM SHORT DESCRIPTION (Keep the Good One) ========================================================= */ /* 0) Card baseline */ ul.products li.product, .products li.product { position: relative; overflow: visible; } /* 1) Force custom class to ALWAYS show & sit relatively */ .woocommerce ul.products li.product .mhfp-short-overlay, .woocommerce-page ul.products li.product .mhfp-short-overlay, ul.products li.product .mhfp-short-overlay { /* Layout */ position: relative !important; display: flex !important; visibility: visible !important; opacity: 1 !important; /* Reset position */ top: auto !important; bottom: auto !important; left: auto !important; right: auto !important; transform: none !important; /* Style */ background: transparent !important; width: 100%; margin: 0; padding: 8px 4px; box-sizing: border-box; z-index: 10; /* Text Alignment */ justify-content: space-evenly; align-items: center; text-align: center; font-size: 11px !important; line-height: 1.35 !important; color: #ffc90d; } /* Styling for inner text */ .mhfp-short-overlay p { margin: 0; flex: 1 1 auto; text-align: center; } .mhfp-short-overlay strong { display: block; color: #fff; font-weight: 800; } /* --- FIX: FORCE UNHTD SF COLUMN TO THE TOP --- */ .mhfp-short-overlay p:nth-child(4) { align-self: flex-start !important; } /* ------------------------------------------ */ /* Ensure it STAYS visible on hover */ ul.products li.product:hover .mhfp-short-overlay { display: flex !important; opacity: 1 !important; background: transparent !important; } /* ========================================================= 3. ICONS & BADGES ========================================================= */ /* Search Icon default position (overridden below for style) */ .product-search-icon { position: absolute; right: 0.75rem; top: 0.75rem; z-index: 60; pointer-events: auto; } /* Sale Badge */ .mhfp-sale-badge { display: inline-flex; align-items: center; line-height: 1; white-space: nowrap; position: absolute; left: 6px; top: 6px; z-index: 50; padding: 10px; } .mhfp-sale-badge .mhfp-sale-label { margin-right: 0.35rem; color: #fff !important; font-weight: 800; } .mhfp-sale-badge .mhfp-sale-amount { color: #ffc90d; font-weight: 800; } /* Sale Badge Hover Logic */ @media (min-width: 981px) { .mhfp-sale-badge { opacity: 0; transform: translateY(-4px); transition: opacity .18s ease, transform .18s ease; } ul.products li.product:hover .mhfp-sale-badge { opacity: 1; transform: none; } } @media (max-width: 980px) { .mhfp-sale-badge { opacity: 1; transform: none; } } /* ========================================================= 4. RESPONSIVE & LAYOUT ========================================================= */ @media (max-width: 600px) { .mhfp-short-overlay { font-size: 20px !important; } .mhfp-sale-badge { font-size: 20px; padding: 14px; } .product-search-icon { width: 34px; height: 34px; } .product-search-icon svg { width: 16px; height: 16px; } } /* --- Short Overlay Layout Fixes --- */ /* === 1. Full-height columns with full-height separators (Revised) === */ .mhfp-short-overlay p { display: flex; flex-direction: column; justify-content: center; border-left: 2px solid rgba(255,255,255,0.25); padding: 0 8px; margin: 0 !important; } /* Remove default margin from the strong tag (the yellow numbers) */ .mhfp-short-overlay strong { margin: 0 !important; } /* no separator on the first column */ .mhfp-short-overlay p:first-child { border-left: none; } /* remove old override that shortened the last separator */ .mhfp-short-overlay p:nth-child(4) { align-self: auto !important; } /* === 2. Outer bar container (Revised) === */ .mhfp-short-overlay { padding-top: 8px !important; padding-bottom: 8px !important; padding-left: 0 !important; padding-right: 0 !important; display: flex; align-items: stretch !important; border: 2px solid rgba(255,255,255,0.25); /* Add an outer border */ border-radius: 4px; /* Add border radius */ } /* === 3. Position bar against the image top & add space below === */ ul.products li.product .mhfp-short-overlay { margin-top: -10px !important; margin-bottom: 15px !important; } /* Remove just the top border so it doesn't touch the image */ .mhfp-short-overlay { border-top: none !important; } /* Remove WooCommerce title spacing (this is what creates the gap) */ .woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0 !important; padding: 0 !important; line-height: 1 !important; } /* =========================================== SEARCH ICON → MATCH SALE BADGE STYLE =========================================== */ .product-search-icon { position: absolute; right: 6px; top: 6px; z-index: 60; /* Badge Style */ background: #25293b !important; border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,0,0,0.25); /* Hover Animation */ transition: transform .18s ease, box-shadow .18s ease; cursor: pointer; pointer-events: auto; } .product-search-icon:hover { transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,0.35); } /* Icon inside the badge */ .product-search-icon svg { width: 22px; height: 22px; stroke: #ffc90d; stroke-width: 2.2; } /* Make it visible on mobile (same as sale badge logic) */ @media (max-width: 980px) { .product-search-icon { opacity: 1 !important; transform: none !important; } } /* ================================================== FIXED: POINTER-EVENTS RESET (The most robust fix) ================================================== */ /* 1. Kill ALL default click-stealing behavior on the list item and wrapper links */ ul.products li.product, .products li.product { pointer-events: none !important; /* Disables all clicks on the main card */ } /* 2. Re-enable clicks ONLY on the desired elements */ ul.products li.product .woocommerce-loop-product__link, /* Product Image/Title */ ul.products li.product .product-search-icon, /* Search Icon (for lightbox) */ ul.products li.product .mhfp-short-overlay, /* Short Desc/Stats */ ul.products li.product .mhfp-sale-badge, /* Sale Badge (if links) */ /* Re-enable clicks only on specific elements to fix Divi's double link wrapping */ .et_pb_shop > a:first-child[href*="product"], .et_pb_wc_products > a:first-child[href*="product"] { pointer-events: auto !important; cursor: pointer !important; /* Forces the hand cursor to show */ } /* Final Divi Fix (must be separated) */ ul.products li.product a.et_shop_image, ul.products li.product > a:first-child[href*="product"], .et_pb_shop a[href*="product"]:not(.woocommerce-loop-product__link) { pointer-events: none !important; cursor: default !important; } .product-search-icon, .mhfp-short-overlay { pointer-events: auto !important; }/* ========================================================= 1. KILL THE GHOST OVERLAY (The Fix) ========================================================= */ .short-description-hover, .et_overlay, .et_pb_module .product .et_overlay, .woocommerce-loop-product__description { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; height: 0 !important; width: 0 !important; overflow: hidden !important; } /* ========================================================= 2. CUSTOM SHORT DESCRIPTION (Keep the Good One) ========================================================= */ /* 0) Card baseline */ ul.products li.product, .products li.product { position: relative; overflow: visible; } /* 1) Force custom class to ALWAYS show & sit relatively */ .woocommerce ul.products li.product .mhfp-short-overlay, .woocommerce-page ul.products li.product .mhfp-short-overlay, ul.products li.product .mhfp-short-overlay { /* Layout */ position: relative !important; display: flex !important; visibility: visible !important; opacity: 1 !important; /* Reset position */ top: auto !important; bottom: auto !important; left: auto !important; right: auto !important; transform: none !important; /* Style */ background: transparent !important; width: 100%; margin: 0; padding: 8px 4px; box-sizing: border-box; z-index: 10; /* Text Alignment */ justify-content: space-evenly; align-items: center; text-align: center; font-size: 11px !important; line-height: 1.35 !important; color: #ffc90d; } /* Styling for inner text */ .mhfp-short-overlay p { margin: 0; flex: 1 1 auto; text-align: center; } .mhfp-short-overlay strong { display: block; color: #fff; font-weight: 800; } /* --- FIX: FORCE UNHTD SF COLUMN TO THE TOP --- */ .mhfp-short-overlay p:nth-child(4) { align-self: flex-start !important; } /* ------------------------------------------ */ /* Ensure it STAYS visible on hover */ ul.products li.product:hover .mhfp-short-overlay { display: flex !important; opacity: 1 !important; background: transparent !important; } /* ========================================================= 3. ICONS & BADGES ========================================================= */ /* Search Icon default position (overridden below for style) */ .product-search-icon { position: absolute; right: 0.75rem; top: 0.75rem; z-index: 60; pointer-events: auto; } /* Sale Badge */ .mhfp-sale-badge { display: inline-flex; align-items: center; line-height: 1; white-space: nowrap; position: absolute; left: 6px; top: 6px; z-index: 50; padding: 10px; } .mhfp-sale-badge .mhfp-sale-label { margin-right: 0.35rem; color: #fff !important; font-weight: 800; } .mhfp-sale-badge .mhfp-sale-amount { color: #ffc90d; font-weight: 800; } /* Sale Badge Hover Logic */ @media (min-width: 981px) { .mhfp-sale-badge { opacity: 0; transform: translateY(-4px); transition: opacity .18s ease, transform .18s ease; } ul.products li.product:hover .mhfp-sale-badge { opacity: 1; transform: none; } } @media (max-width: 980px) { .mhfp-sale-badge { opacity: 1; transform: none; } } /* ========================================================= 4. RESPONSIVE & LAYOUT ========================================================= */ @media (max-width: 600px) { .mhfp-short-overlay { font-size: 20px !important; } .mhfp-sale-badge { font-size: 20px; padding: 14px; } .product-search-icon { width: 34px; height: 34px; } .product-search-icon svg { width: 16px; height: 16px; } } /* --- Short Overlay Layout Fixes --- */ /* === 1. Full-height columns with full-height separators (Revised) === */ .mhfp-short-overlay p { display: flex; flex-direction: column; justify-content: center; border-left: 2px solid rgba(255,255,255,0.25); padding: 0 8px; margin: 0 !important; } /* Remove default margin from the strong tag (the yellow numbers) */ .mhfp-short-overlay strong { margin: 0 !important; } /* no separator on the first column */ .mhfp-short-overlay p:first-child { border-left: none; } /* remove old override that shortened the last separator */ .mhfp-short-overlay p:nth-child(4) { align-self: auto !important; } /* === 2. Outer bar container (Revised) === */ .mhfp-short-overlay { padding-top: 8px !important; padding-bottom: 8px !important; padding-left: 0 !important; padding-right: 0 !important; display: flex; align-items: stretch !important; border: 2px solid rgba(255,255,255,0.25); /* Add an outer border */ border-radius: 4px; /* Add border radius */ } /* === 3. Position bar against the image top & add space below === */ ul.products li.product .mhfp-short-overlay { margin-top: -10px !important; margin-bottom: 15px !important; } /* Remove just the top border so it doesn't touch the image */ .mhfp-short-overlay { border-top: none !important; } /* Remove WooCommerce title spacing (this is what creates the gap) */ .woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0 !important; padding: 0 !important; line-height: 1 !important; } /* =========================================== SEARCH ICON → MATCH SALE BADGE STYLE =========================================== */ .product-search-icon { position: absolute; right: 6px; top: 6px; z-index: 60; /* Badge Style */ background: #25293b !important; border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,0,0,0.25); /* Hover Animation */ transition: transform .18s ease, box-shadow .18s ease; cursor: pointer; pointer-events: auto; } .product-search-icon:hover { transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,0.35); } /* Icon inside the badge */ .product-search-icon svg { width: 22px; height: 22px; stroke: #ffc90d; stroke-width: 2.2; } /* Make it visible on mobile (same as sale badge logic) */ @media (max-width: 980px) { .product-search-icon { opacity: 1 !important; transform: none !important; } } /* ================================================== FIXED: POINTER-EVENTS RESET (The most robust fix) ================================================== */ /* 1. Kill ALL default click-stealing behavior on the list item and wrapper links */ ul.products li.product, .products li.product { pointer-events: none !important; /* Disables all clicks on the main card */ } /* 2. Re-enable clicks ONLY on the desired elements */ ul.products li.product .woocommerce-loop-product__link, /* Product Image/Title */ ul.products li.product .product-search-icon, /* Search Icon (for lightbox) */ ul.products li.product .mhfp-short-overlay, /* Short Desc/Stats */ ul.products li.product .mhfp-sale-badge, /* Sale Badge (if links) */ /* Re-enable clicks only on specific elements to fix Divi's double link wrapping */ .et_pb_shop > a:first-child[href*="product"], .et_pb_wc_products > a:first-child[href*="product"] { pointer-events: auto !important; cursor: pointer !important; /* Forces the hand cursor to show */ } /* Final Divi Fix (must be separated) */ ul.products li.product a.et_shop_image, ul.products li.product > a:first-child[href*="product"], .et_pb_shop a[href*="product"]:not(.woocommerce-loop-product__link) { pointer-events: none !important; cursor: default !important; } .product-search-icon, .mhfp-short-overlay { pointer-events: auto !important; }/* ========================================================= 1. KILL THE GHOST OVERLAY (The Fix) ========================================================= */ .short-description-hover, .et_overlay, .et_pb_module .product .et_overlay, .woocommerce-loop-product__description { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; height: 0 !important; width: 0 !important; overflow: hidden !important; } /* ========================================================= 2. CUSTOM SHORT DESCRIPTION (Keep the Good One) ========================================================= */ /* 0) Card baseline */ ul.products li.product, .products li.product { position: relative; overflow: visible; } /* 1) Force custom class to ALWAYS show & sit relatively */ .woocommerce ul.products li.product .mhfp-short-overlay, .woocommerce-page ul.products li.product .mhfp-short-overlay, ul.products li.product .mhfp-short-overlay { /* Layout */ position: relative !important; display: flex !important; visibility: visible !important; opacity: 1 !important; /* Reset position */ top: auto !important; bottom: auto !important; left: auto !important; right: auto !important; transform: none !important; /* Style */ background: transparent !important; width: 100%; margin: 0; padding: 8px 4px; box-sizing: border-box; z-index: 10; /* Text Alignment */ justify-content: space-evenly; align-items: center; text-align: center; font-size: 11px !important; line-height: 1.35 !important; color: #ffc90d; } /* Styling for inner text */ .mhfp-short-overlay p { margin: 0; flex: 1 1 auto; text-align: center; } .mhfp-short-overlay strong { display: block; color: #fff; font-weight: 800; } /* --- FIX: FORCE UNHTD SF COLUMN TO THE TOP --- */ .mhfp-short-overlay p:nth-child(4) { align-self: flex-start !important; } /* ------------------------------------------ */ /* Ensure it STAYS visible on hover */ ul.products li.product:hover .mhfp-short-overlay { display: flex !important; opacity: 1 !important; background: transparent !important; } /* ========================================================= 3. ICONS & BADGES ========================================================= */ /* Search Icon default position (overridden below for style) */ .product-search-icon { position: absolute; right: 0.75rem; top: 0.75rem; z-index: 60; pointer-events: auto; } /* Sale Badge */ .mhfp-sale-badge { display: inline-flex; align-items: center; line-height: 1; white-space: nowrap; position: absolute; left: 6px; top: 6px; z-index: 50; padding: 10px; } .mhfp-sale-badge .mhfp-sale-label { margin-right: 0.35rem; color: #fff !important; font-weight: 800; } .mhfp-sale-badge .mhfp-sale-amount { color: #ffc90d; font-weight: 800; } /* Sale Badge Hover Logic */ @media (min-width: 981px) { .mhfp-sale-badge { opacity: 0; transform: translateY(-4px); transition: opacity .18s ease, transform .18s ease; } ul.products li.product:hover .mhfp-sale-badge { opacity: 1; transform: none; } } @media (max-width: 980px) { .mhfp-sale-badge { opacity: 1; transform: none; } } /* ========================================================= 4. RESPONSIVE & LAYOUT ========================================================= */ @media (max-width: 600px) { .mhfp-short-overlay { font-size: 20px !important; } .mhfp-sale-badge { font-size: 20px; padding: 14px; } .product-search-icon { width: 34px; height: 34px; } .product-search-icon svg { width: 16px; height: 16px; } } /* --- Short Overlay Layout Fixes --- */ /* === 1. Full-height columns with full-height separators (Revised) === */ .mhfp-short-overlay p { display: flex; flex-direction: column; justify-content: center; border-left: 2px solid rgba(255,255,255,0.25); padding: 0 8px; margin: 0 !important; } /* Remove default margin from the strong tag (the yellow numbers) */ .mhfp-short-overlay strong { margin: 0 !important; } /* no separator on the first column */ .mhfp-short-overlay p:first-child { border-left: none; } /* remove old override that shortened the last separator */ .mhfp-short-overlay p:nth-child(4) { align-self: auto !important; } /* === 2. Outer bar container (Revised) === */ .mhfp-short-overlay { padding-top: 8px !important; padding-bottom: 8px !important; padding-left: 0 !important; padding-right: 0 !important; display: flex; align-items: stretch !important; border: 2px solid rgba(255,255,255,0.25); /* Add an outer border */ border-radius: 4px; /* Add border radius */ } /* === 3. Position bar against the image top & add space below === */ ul.products li.product .mhfp-short-overlay { margin-top: -10px !important; margin-bottom: 15px !important; } /* Remove just the top border so it doesn't touch the image */ .mhfp-short-overlay { border-top: none !important; } /* Remove WooCommerce title spacing (this is what creates the gap) */ .woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0 !important; padding: 0 !important; line-height: 1 !important; } /* =========================================== SEARCH ICON → MATCH SALE BADGE STYLE =========================================== */ .product-search-icon { position: absolute; right: 6px; top: 6px; z-index: 60; /* Badge Style */ background: #25293b !important; border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,0,0,0.25); /* Hover Animation */ transition: transform .18s ease, box-shadow .18s ease; cursor: pointer; pointer-events: auto; } .product-search-icon:hover { transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,0.35); } /* Icon inside the badge */ .product-search-icon svg { width: 22px; height: 22px; stroke: #ffc90d; stroke-width: 2.2; } /* Make it visible on mobile (same as sale badge logic) */ @media (max-width: 980px) { .product-search-icon { opacity: 1 !important; transform: none !important; } } /* ================================================== FIXED: POINTER-EVENTS RESET (The most robust fix) ================================================== */ /* 1. Kill ALL default click-stealing behavior on the list item and wrapper links */ ul.products li.product, .products li.product { pointer-events: none !important; /* Disables all clicks on the main card */ } /* 2. Re-enable clicks ONLY on the desired elements */ ul.products li.product .woocommerce-loop-product__link, /* Product Image/Title */ ul.products li.product .product-search-icon, /* Search Icon (for lightbox) */ ul.products li.product .mhfp-short-overlay, /* Short Desc/Stats */ ul.products li.product .mhfp-sale-badge, /* Sale Badge (if links) */ /* Re-enable clicks only on specific elements to fix Divi's double link wrapping */ .et_pb_shop > a:first-child[href*="product"], .et_pb_wc_products > a:first-child[href*="product"] { pointer-events: auto !important; cursor: pointer !important; /* Forces the hand cursor to show */ } /* Final Divi Fix (must be separated) */ ul.products li.product a.et_shop_image, ul.products li.product > a:first-child[href*="product"], .et_pb_shop a[href*="product"]:not(.woocommerce-loop-product__link) { pointer-events: none !important; cursor: default !important; } .product-search-icon, .mhfp-short-overlay { pointer-events: auto !important; }/* ========================================================= 1. KILL THE GHOST OVERLAY (The Fix) ========================================================= */ .short-description-hover, .et_overlay, .et_pb_module .product .et_overlay, .woocommerce-loop-product__description { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; height: 0 !important; width: 0 !important; overflow: hidden !important; } /* ========================================================= 2. CUSTOM SHORT DESCRIPTION (Keep the Good One) ========================================================= */ /* 0) Card baseline */ ul.products li.product, .products li.product { position: relative; overflow: visible; } /* 1) Force custom class to ALWAYS show & sit relatively */ .woocommerce ul.products li.product .mhfp-short-overlay, .woocommerce-page ul.products li.product .mhfp-short-overlay, ul.products li.product .mhfp-short-overlay { /* Layout */ position: relative !important; display: flex !important; visibility: visible !important; opacity: 1 !important; /* Reset position */ top: auto !important; bottom: auto !important; left: auto !important; right: auto !important; transform: none !important; /* Style */ background: transparent !important; width: 100%; margin: 0; padding: 8px 4px; box-sizing: border-box; z-index: 10; /* Text Alignment */ justify-content: space-evenly; align-items: center; text-align: center; font-size: 11px !important; line-height: 1.35 !important; color: #ffc90d; } /* Styling for inner text */ .mhfp-short-overlay p { margin: 0; flex: 1 1 auto; text-align: center; } .mhfp-short-overlay strong { display: block; color: #fff; font-weight: 800; } /* --- FIX: FORCE UNHTD SF COLUMN TO THE TOP --- */ .mhfp-short-overlay p:nth-child(4) { align-self: flex-start !important; } /* ------------------------------------------ */ /* Ensure it STAYS visible on hover */ ul.products li.product:hover .mhfp-short-overlay { display: flex !important; opacity: 1 !important; background: transparent !important; } /* ========================================================= 3. ICONS & BADGES ========================================================= */ /* Search Icon default position (overridden below for style) */ .product-search-icon { position: absolute; right: 0.75rem; top: 0.75rem; z-index: 60; pointer-events: auto; } /* Sale Badge */ .mhfp-sale-badge { display: inline-flex; align-items: center; line-height: 1; white-space: nowrap; position: absolute; left: 6px; top: 6px; z-index: 50; padding: 10px; } .mhfp-sale-badge .mhfp-sale-label { margin-right: 0.35rem; color: #fff !important; font-weight: 800; } .mhfp-sale-badge .mhfp-sale-amount { color: #ffc90d; font-weight: 800; } /* Sale Badge Hover Logic */ @media (min-width: 981px) { .mhfp-sale-badge { opacity: 0; transform: translateY(-4px); transition: opacity .18s ease, transform .18s ease; } ul.products li.product:hover .mhfp-sale-badge { opacity: 1; transform: none; } } @media (max-width: 980px) { .mhfp-sale-badge { opacity: 1; transform: none; } } /* ========================================================= 4. RESPONSIVE & LAYOUT ========================================================= */ @media (max-width: 600px) { .mhfp-short-overlay { font-size: 20px !important; } .mhfp-sale-badge { font-size: 20px; padding: 14px; } .product-search-icon { width: 34px; height: 34px; } .product-search-icon svg { width: 16px; height: 16px; } } /* --- Short Overlay Layout Fixes --- */ /* === 1. Full-height columns with full-height separators (Revised) === */ .mhfp-short-overlay p { display: flex; flex-direction: column; justify-content: center; border-left: 2px solid rgba(255,255,255,0.25); padding: 0 8px; margin: 0 !important; } /* Remove default margin from the strong tag (the yellow numbers) */ .mhfp-short-overlay strong { margin: 0 !important; } /* no separator on the first column */ .mhfp-short-overlay p:first-child { border-left: none; } /* remove old override that shortened the last separator */ .mhfp-short-overlay p:nth-child(4) { align-self: auto !important; } /* === 2. Outer bar container (Revised) === */ .mhfp-short-overlay { padding-top: 8px !important; padding-bottom: 8px !important; padding-left: 0 !important; padding-right: 0 !important; display: flex; align-items: stretch !important; border: 2px solid rgba(255,255,255,0.25); /* Add an outer border */ border-radius: 4px; /* Add border radius */ } /* === 3. Position bar against the image top & add space below === */ ul.products li.product .mhfp-short-overlay { margin-top: -10px !important; margin-bottom: 15px !important; } /* Remove just the top border so it doesn't touch the image */ .mhfp-short-overlay { border-top: none !important; } /* Remove WooCommerce title spacing (this is what creates the gap) */ .woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0 !important; padding: 0 !important; line-height: 1 !important; } /* =========================================== SEARCH ICON → MATCH SALE BADGE STYLE =========================================== */ .product-search-icon { position: absolute; right: 6px; top: 6px; z-index: 60; /* Badge Style */ background: #25293b !important; border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,0,0,0.25); /* Hover Animation */ transition: transform .18s ease, box-shadow .18s ease; cursor: pointer; pointer-events: auto; } .product-search-icon:hover { transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,0.35); } /* Icon inside the badge */ .product-search-icon svg { width: 22px; height: 22px; stroke: #ffc90d; stroke-width: 2.2; } /* Make it visible on mobile (same as sale badge logic) */ @media (max-width: 980px) { .product-search-icon { opacity: 1 !important; transform: none !important; } } /* ================================================== FIXED: POINTER-EVENTS RESET (The most robust fix) ================================================== */ /* 1. Kill ALL default click-stealing behavior on the list item and wrapper links */ ul.products li.product, .products li.product { pointer-events: none !important; /* Disables all clicks on the main card */ } /* 2. Re-enable clicks ONLY on the desired elements */ ul.products li.product .woocommerce-loop-product__link, /* Product Image/Title */ ul.products li.product .product-search-icon, /* Search Icon (for lightbox) */ ul.products li.product .mhfp-short-overlay, /* Short Desc/Stats */ ul.products li.product .mhfp-sale-badge, /* Sale Badge (if links) */ /* Re-enable clicks only on specific elements to fix Divi's double link wrapping */ .et_pb_shop > a:first-child[href*="product"], .et_pb_wc_products > a:first-child[href*="product"] { pointer-events: auto !important; cursor: pointer !important; /* Forces the hand cursor to show */ } /* Final Divi Fix (must be separated) */ ul.products li.product a.et_shop_image, ul.products li.product > a:first-child[href*="product"], .et_pb_shop a[href*="product"]:not(.woocommerce-loop-product__link) { pointer-events: none !important; cursor: default !important; } .product-search-icon, .mhfp-short-overlay { pointer-events: auto !important; }/* ========================================================= 1. KILL THE GHOST OVERLAY (The Fix) ========================================================= */ .short-description-hover, .et_overlay, .et_pb_module .product .et_overlay, .woocommerce-loop-product__description { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; height: 0 !important; width: 0 !important; overflow: hidden !important; } /* ========================================================= 2. CUSTOM SHORT DESCRIPTION (Keep the Good One) ========================================================= */ /* 0) Card baseline */ ul.products li.product, .products li.product { position: relative; overflow: visible; } /* 1) Force custom class to ALWAYS show & sit relatively */ .woocommerce ul.products li.product .mhfp-short-overlay, .woocommerce-page ul.products li.product .mhfp-short-overlay, ul.products li.product .mhfp-short-overlay { /* Layout */ position: relative !important; display: flex !important; visibility: visible !important; opacity: 1 !important; /* Reset position */ top: auto !important; bottom: auto !important; left: auto !important; right: auto !important; transform: none !important; /* Style */ background: transparent !important; width: 100%; margin: 0; padding: 8px 4px; box-sizing: border-box; z-index: 10; /* Text Alignment */ justify-content: space-evenly; align-items: center; text-align: center; font-size: 11px !important; line-height: 1.35 !important; color: #ffc90d; } /* Styling for inner text */ .mhfp-short-overlay p { margin: 0; flex: 1 1 auto; text-align: center; } .mhfp-short-overlay strong { display: block; color: #fff; font-weight: 800; } /* --- FIX: FORCE UNHTD SF COLUMN TO THE TOP --- */ .mhfp-short-overlay p:nth-child(4) { align-self: flex-start !important; } /* ------------------------------------------ */ /* Ensure it STAYS visible on hover */ ul.products li.product:hover .mhfp-short-overlay { display: flex !important; opacity: 1 !important; background: transparent !important; } /* ========================================================= 3. ICONS & BADGES ========================================================= */ /* Search Icon default position (overridden below for style) */ .product-search-icon { position: absolute; right: 0.75rem; top: 0.75rem; z-index: 60; pointer-events: auto; } /* Sale Badge */ .mhfp-sale-badge { display: inline-flex; align-items: center; line-height: 1; white-space: nowrap; position: absolute; left: 6px; top: 6px; z-index: 50; padding: 10px; } .mhfp-sale-badge .mhfp-sale-label { margin-right: 0.35rem; color: #fff !important; font-weight: 800; } .mhfp-sale-badge .mhfp-sale-amount { color: #ffc90d; font-weight: 800; } /* Sale Badge Hover Logic */ @media (min-width: 981px) { .mhfp-sale-badge { opacity: 0; transform: translateY(-4px); transition: opacity .18s ease, transform .18s ease; } ul.products li.product:hover .mhfp-sale-badge { opacity: 1; transform: none; } } @media (max-width: 980px) { .mhfp-sale-badge { opacity: 1; transform: none; } } /* ========================================================= 4. RESPONSIVE & LAYOUT ========================================================= */ @media (max-width: 600px) { .mhfp-short-overlay { font-size: 20px !important; } .mhfp-sale-badge { font-size: 20px; padding: 14px; } .product-search-icon { width: 34px; height: 34px; } .product-search-icon svg { width: 16px; height: 16px; } } /* --- Short Overlay Layout Fixes --- */ /* === 1. Full-height columns with full-height separators (Revised) === */ .mhfp-short-overlay p { display: flex; flex-direction: column; justify-content: center; border-left: 2px solid rgba(255,255,255,0.25); padding: 0 8px; margin: 0 !important; } /* Remove default margin from the strong tag (the yellow numbers) */ .mhfp-short-overlay strong { margin: 0 !important; } /* no separator on the first column */ .mhfp-short-overlay p:first-child { border-left: none; } /* remove old override that shortened the last separator */ .mhfp-short-overlay p:nth-child(4) { align-self: auto !important; } /* === 2. Outer bar container (Revised) === */ .mhfp-short-overlay { padding-top: 8px !important; padding-bottom: 8px !important; padding-left: 0 !important; padding-right: 0 !important; display: flex; align-items: stretch !important; border: 2px solid rgba(255,255,255,0.25); /* Add an outer border */ border-radius: 4px; /* Add border radius */ } /* === 3. Position bar against the image top & add space below === */ ul.products li.product .mhfp-short-overlay { margin-top: -10px !important; margin-bottom: 15px !important; } /* Remove just the top border so it doesn't touch the image */ .mhfp-short-overlay { border-top: none !important; } /* Remove WooCommerce title spacing (this is what creates the gap) */ .woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0 !important; padding: 0 !important; line-height: 1 !important; } /* =========================================== SEARCH ICON → MATCH SALE BADGE STYLE =========================================== */ .product-search-icon { position: absolute; right: 6px; top: 6px; z-index: 60; /* Badge Style */ background: #25293b !important; border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,0,0,0.25); /* Hover Animation */ transition: transform .18s ease, box-shadow .18s ease; cursor: pointer; pointer-events: auto; } .product-search-icon:hover { transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,0.35); } /* Icon inside the badge */ .product-search-icon svg { width: 22px; height: 22px; stroke: #ffc90d; stroke-width: 2.2; } /* Make it visible on mobile (same as sale badge logic) */ @media (max-width: 980px) { .product-search-icon { opacity: 1 !important; transform: none !important; } } /* ================================================== FIXED: POINTER-EVENTS RESET (The most robust fix) ================================================== */ /* 1. Kill ALL default click-stealing behavior on the list item and wrapper links */ ul.products li.product, .products li.product { pointer-events: none !important; /* Disables all clicks on the main card */ } /* 2. Re-enable clicks ONLY on the desired elements */ ul.products li.product .woocommerce-loop-product__link, /* Product Image/Title */ ul.products li.product .product-search-icon, /* Search Icon (for lightbox) */ ul.products li.product .mhfp-short-overlay, /* Short Desc/Stats */ ul.products li.product .mhfp-sale-badge, /* Sale Badge (if links) */ /* Re-enable clicks only on specific elements to fix Divi's double link wrapping */ .et_pb_shop > a:first-child[href*="product"], .et_pb_wc_products > a:first-child[href*="product"] { pointer-events: auto !important; cursor: pointer !important; /* Forces the hand cursor to show */ } /* Final Divi Fix (must be separated) */ ul.products li.product a.et_shop_image, ul.products li.product > a:first-child[href*="product"], .et_pb_shop a[href*="product"]:not(.woocommerce-loop-product__link) { pointer-events: none !important; cursor: default !important; } .product-search-icon, .mhfp-short-overlay { pointer-events: auto !important; }/* ========================================================= 1. KILL THE GHOST OVERLAY (The Fix) ========================================================= */ .short-description-hover, .et_overlay, .et_pb_module .product .et_overlay, .woocommerce-loop-product__description { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; height: 0 !important; width: 0 !important; overflow: hidden !important; } /* ========================================================= 2. CUSTOM SHORT DESCRIPTION (Keep the Good One) ========================================================= */ /* 0) Card baseline */ ul.products li.product, .products li.product { position: relative; overflow: visible; } /* 1) Force custom class to ALWAYS show & sit relatively */ .woocommerce ul.products li.product .mhfp-short-overlay, .woocommerce-page ul.products li.product .mhfp-short-overlay, ul.products li.product .mhfp-short-overlay { /* Layout */ position: relative !important; display: flex !important; visibility: visible !important; opacity: 1 !important; /* Reset position */ top: auto !important; bottom: auto !important; left: auto !important; right: auto !important; transform: none !important; /* Style */ background: transparent !important; width: 100%; margin: 0; padding: 8px 4px; box-sizing: border-box; z-index: 10; /* Text Alignment */ justify-content: space-evenly; align-items: center; text-align: center; font-size: 11px !important; line-height: 1.35 !important; color: #ffc90d; } /* Styling for inner text */ .mhfp-short-overlay p { margin: 0; flex: 1 1 auto; text-align: center; } .mhfp-short-overlay strong { display: block; color: #fff; font-weight: 800; } /* --- FIX: FORCE UNHTD SF COLUMN TO THE TOP --- */ .mhfp-short-overlay p:nth-child(4) { align-self: flex-start !important; } /* ------------------------------------------ */ /* Ensure it STAYS visible on hover */ ul.products li.product:hover .mhfp-short-overlay { display: flex !important; opacity: 1 !important; background: transparent !important; } /* ========================================================= 3. ICONS & BADGES ========================================================= */ /* Search Icon default position (overridden below for style) */ .product-search-icon { position: absolute; right: 0.75rem; top: 0.75rem; z-index: 60; pointer-events: auto; } /* Sale Badge */ .mhfp-sale-badge { display: inline-flex; align-items: center; line-height: 1; white-space: nowrap; position: absolute; left: 6px; top: 6px; z-index: 50; padding: 10px; } .mhfp-sale-badge .mhfp-sale-label { margin-right: 0.35rem; color: #fff !important; font-weight: 800; } .mhfp-sale-badge .mhfp-sale-amount { color: #ffc90d; font-weight: 800; } /* Sale Badge Hover Logic */ @media (min-width: 981px) { .mhfp-sale-badge { opacity: 0; transform: translateY(-4px); transition: opacity .18s ease, transform .18s ease; } ul.products li.product:hover .mhfp-sale-badge { opacity: 1; transform: none; } } @media (max-width: 980px) { .mhfp-sale-badge { opacity: 1; transform: none; } } /* ========================================================= 4. RESPONSIVE & LAYOUT ========================================================= */ @media (max-width: 600px) { .mhfp-short-overlay { font-size: 20px !important; } .mhfp-sale-badge { font-size: 20px; padding: 14px; } .product-search-icon { width: 34px; height: 34px; } .product-search-icon svg { width: 16px; height: 16px; } } /* --- Short Overlay Layout Fixes --- */ /* === 1. Full-height columns with full-height separators (Revised) === */ .mhfp-short-overlay p { display: flex; flex-direction: column; justify-content: center; border-left: 2px solid rgba(255,255,255,0.25); padding: 0 8px; margin: 0 !important; } /* Remove default margin from the strong tag (the yellow numbers) */ .mhfp-short-overlay strong { margin: 0 !important; } /* no separator on the first column */ .mhfp-short-overlay p:first-child { border-left: none; } /* remove old override that shortened the last separator */ .mhfp-short-overlay p:nth-child(4) { align-self: auto !important; } /* === 2. Outer bar container (Revised) === */ .mhfp-short-overlay { padding-top: 8px !important; padding-bottom: 8px !important; padding-left: 0 !important; padding-right: 0 !important; display: flex; align-items: stretch !important; border: 2px solid rgba(255,255,255,0.25); /* Add an outer border */ border-radius: 4px; /* Add border radius */ } /* === 3. Position bar against the image top & add space below === */ ul.products li.product .mhfp-short-overlay { margin-top: -10px !important; margin-bottom: 15px !important; } /* Remove just the top border so it doesn't touch the image */ .mhfp-short-overlay { border-top: none !important; } /* Remove WooCommerce title spacing (this is what creates the gap) */ .woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0 !important; padding: 0 !important; line-height: 1 !important; } /* =========================================== SEARCH ICON → MATCH SALE BADGE STYLE =========================================== */ .product-search-icon { position: absolute; right: 6px; top: 6px; z-index: 60; /* Badge Style */ background: #25293b !important; border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,0,0,0.25); /* Hover Animation */ transition: transform .18s ease, box-shadow .18s ease; cursor: pointer; pointer-events: auto; } .product-search-icon:hover { transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,0.35); } /* Icon inside the badge */ .product-search-icon svg { width: 22px; height: 22px; stroke: #ffc90d; stroke-width: 2.2; } /* Make it visible on mobile (same as sale badge logic) */ @media (max-width: 980px) { .product-search-icon { opacity: 1 !important; transform: none !important; } } /* ================================================== FIXED: POINTER-EVENTS RESET (The most robust fix) ================================================== */ /* 1. Kill ALL default click-stealing behavior on the list item and wrapper links */ ul.products li.product, .products li.product { pointer-events: none !important; /* Disables all clicks on the main card */ } /* 2. Re-enable clicks ONLY on the desired elements */ ul.products li.product .woocommerce-loop-product__link, /* Product Image/Title */ ul.products li.product .product-search-icon, /* Search Icon (for lightbox) */ ul.products li.product .mhfp-short-overlay, /* Short Desc/Stats */ ul.products li.product .mhfp-sale-badge, /* Sale Badge (if links) */ /* Re-enable clicks only on specific elements to fix Divi's double link wrapping */ .et_pb_shop > a:first-child[href*="product"], .et_pb_wc_products > a:first-child[href*="product"] { pointer-events: auto !important; cursor: pointer !important; /* Forces the hand cursor to show */ } /* Final Divi Fix (must be separated) */ ul.products li.product a.et_shop_image, ul.products li.product > a:first-child[href*="product"], .et_pb_shop a[href*="product"]:not(.woocommerce-loop-product__link) { pointer-events: none !important; cursor: default !important; } .product-search-icon, .mhfp-short-overlay { pointer-events: auto !important; }/* ========================================================= 1. KILL THE GHOST OVERLAY (The Fix) ========================================================= */ .short-description-hover, .et_overlay, .et_pb_module .product .et_overlay, .woocommerce-loop-product__description { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; height: 0 !important; width: 0 !important; overflow: hidden !important; } /* ========================================================= 2. CUSTOM SHORT DESCRIPTION (Keep the Good One) ========================================================= */ /* 0) Card baseline */ ul.products li.product, .products li.product { position: relative; overflow: visible; } /* 1) Force custom class to ALWAYS show & sit relatively */ .woocommerce ul.products li.product .mhfp-short-overlay, .woocommerce-page ul.products li.product .mhfp-short-overlay, ul.products li.product .mhfp-short-overlay { /* Layout */ position: relative !important; display: flex !important; visibility: visible !important; opacity: 1 !important; /* Reset position */ top: auto !important; bottom: auto !important; left: auto !important; right: auto !important; transform: none !important; /* Style */ background: transparent !important; width: 100%; margin: 0; padding: 8px 4px; box-sizing: border-box; z-index: 10; /* Text Alignment */ justify-content: space-evenly; align-items: center; text-align: center; font-size: 11px !important; line-height: 1.35 !important; color: #ffc90d; } /* Styling for inner text */ .mhfp-short-overlay p { margin: 0; flex: 1 1 auto; text-align: center; } .mhfp-short-overlay strong { display: block; color: #fff; font-weight: 800; } /* --- FIX: FORCE UNHTD SF COLUMN TO THE TOP --- */ .mhfp-short-overlay p:nth-child(4) { align-self: flex-start !important; } /* ------------------------------------------ */ /* Ensure it STAYS visible on hover */ ul.products li.product:hover .mhfp-short-overlay { display: flex !important; opacity: 1 !important; background: transparent !important; } /* ========================================================= 3. ICONS & BADGES ========================================================= */ /* Search Icon default position (overridden below for style) */ .product-search-icon { position: absolute; right: 0.75rem; top: 0.75rem; z-index: 60; pointer-events: auto; } /* Sale Badge */ .mhfp-sale-badge { display: inline-flex; align-items: center; line-height: 1; white-space: nowrap; position: absolute; left: 6px; top: 6px; z-index: 50; padding: 10px; } .mhfp-sale-badge .mhfp-sale-label { margin-right: 0.35rem; color: #fff !important; font-weight: 800; } .mhfp-sale-badge .mhfp-sale-amount { color: #ffc90d; font-weight: 800; } /* Sale Badge Hover Logic */ @media (min-width: 981px) { .mhfp-sale-badge { opacity: 0; transform: translateY(-4px); transition: opacity .18s ease, transform .18s ease; } ul.products li.product:hover .mhfp-sale-badge { opacity: 1; transform: none; } } @media (max-width: 980px) { .mhfp-sale-badge { opacity: 1; transform: none; } } /* ========================================================= 4. RESPONSIVE & LAYOUT ========================================================= */ @media (max-width: 600px) { .mhfp-short-overlay { font-size: 20px !important; } .mhfp-sale-badge { font-size: 20px; padding: 14px; } .product-search-icon { width: 34px; height: 34px; } .product-search-icon svg { width: 16px; height: 16px; } } /* --- Short Overlay Layout Fixes --- */ /* === 1. Full-height columns with full-height separators (Revised) === */ .mhfp-short-overlay p { display: flex; flex-direction: column; justify-content: center; border-left: 2px solid rgba(255,255,255,0.25); padding: 0 8px; margin: 0 !important; } /* Remove default margin from the strong tag (the yellow numbers) */ .mhfp-short-overlay strong { margin: 0 !important; } /* no separator on the first column */ .mhfp-short-overlay p:first-child { border-left: none; } /* remove old override that shortened the last separator */ .mhfp-short-overlay p:nth-child(4) { align-self: auto !important; } /* === 2. Outer bar container (Revised) === */ .mhfp-short-overlay { padding-top: 8px !important; padding-bottom: 8px !important; padding-left: 0 !important; padding-right: 0 !important; display: flex; align-items: stretch !important; border: 2px solid rgba(255,255,255,0.25); /* Add an outer border */ border-radius: 4px; /* Add border radius */ } /* === 3. Position bar against the image top & add space below === */ ul.products li.product .mhfp-short-overlay { margin-top: -10px !important; margin-bottom: 15px !important; } /* Remove just the top border so it doesn't touch the image */ .mhfp-short-overlay { border-top: none !important; } /* Remove WooCommerce title spacing (this is what creates the gap) */ .woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0 !important; padding: 0 !important; line-height: 1 !important; } /* =========================================== SEARCH ICON → MATCH SALE BADGE STYLE =========================================== */ .product-search-icon { position: absolute; right: 6px; top: 6px; z-index: 60; /* Badge Style */ background: #25293b !important; border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,0,0,0.25); /* Hover Animation */ transition: transform .18s ease, box-shadow .18s ease; cursor: pointer; pointer-events: auto; } .product-search-icon:hover { transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,0.35); } /* Icon inside the badge */ .product-search-icon svg { width: 22px; height: 22px; stroke: #ffc90d; stroke-width: 2.2; } /* Make it visible on mobile (same as sale badge logic) */ @media (max-width: 980px) { .product-search-icon { opacity: 1 !important; transform: none !important; } } /* ================================================== FIXED: POINTER-EVENTS RESET (The most robust fix) ================================================== */ /* 1. Kill ALL default click-stealing behavior on the list item and wrapper links */ ul.products li.product, .products li.product { pointer-events: none !important; /* Disables all clicks on the main card */ } /* 2. Re-enable clicks ONLY on the desired elements */ ul.products li.product .woocommerce-loop-product__link, /* Product Image/Title */ ul.products li.product .product-search-icon, /* Search Icon (for lightbox) */ ul.products li.product .mhfp-short-overlay, /* Short Desc/Stats */ ul.products li.product .mhfp-sale-badge, /* Sale Badge (if links) */ /* Re-enable clicks only on specific elements to fix Divi's double link wrapping */ .et_pb_shop > a:first-child[href*="product"], .et_pb_wc_products > a:first-child[href*="product"] { pointer-events: auto !important; cursor: pointer !important; /* Forces the hand cursor to show */ } /* Final Divi Fix (must be separated) */ ul.products li.product a.et_shop_image, ul.products li.product > a:first-child[href*="product"], .et_pb_shop a[href*="product"]:not(.woocommerce-loop-product__link) { pointer-events: none !important; cursor: default !important; } .product-search-icon, .mhfp-short-overlay { pointer-events: auto !important; }/* ========================================================= 1. KILL THE GHOST OVERLAY (The Fix) ========================================================= */ .short-description-hover, .et_overlay, .et_pb_module .product .et_overlay, .woocommerce-loop-product__description { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; height: 0 !important; width: 0 !important; overflow: hidden !important; } /* ========================================================= 2. CUSTOM SHORT DESCRIPTION (Keep the Good One) ========================================================= */ /* 0) Card baseline */ ul.products li.product, .products li.product { position: relative; overflow: visible; } /* 1) Force custom class to ALWAYS show & sit relatively */ .woocommerce ul.products li.product .mhfp-short-overlay, .woocommerce-page ul.products li.product .mhfp-short-overlay, ul.products li.product .mhfp-short-overlay { /* Layout */ position: relative !important; display: flex !important; visibility: visible !important; opacity: 1 !important; /* Reset position */ top: auto !important; bottom: auto !important; left: auto !important; right: auto !important; transform: none !important; /* Style */ background: transparent !important; width: 100%; margin: 0; padding: 8px 4px; box-sizing: border-box; z-index: 10; /* Text Alignment */ justify-content: space-evenly; align-items: center; text-align: center; font-size: 11px !important; line-height: 1.35 !important; color: #ffc90d; } /* Styling for inner text */ .mhfp-short-overlay p { margin: 0; flex: 1 1 auto; text-align: center; } .mhfp-short-overlay strong { display: block; color: #fff; font-weight: 800; } /* --- FIX: FORCE UNHTD SF COLUMN TO THE TOP --- */ .mhfp-short-overlay p:nth-child(4) { align-self: flex-start !important; } /* ------------------------------------------ */ /* Ensure it STAYS visible on hover */ ul.products li.product:hover .mhfp-short-overlay { display: flex !important; opacity: 1 !important; background: transparent !important; } /* ========================================================= 3. ICONS & BADGES ========================================================= */ /* Search Icon default position (overridden below for style) */ .product-search-icon { position: absolute; right: 0.75rem; top: 0.75rem; z-index: 60; pointer-events: auto; } /* Sale Badge */ .mhfp-sale-badge { display: inline-flex; align-items: center; line-height: 1; white-space: nowrap; position: absolute; left: 6px; top: 6px; z-index: 50; padding: 10px; } .mhfp-sale-badge .mhfp-sale-label { margin-right: 0.35rem; color: #fff !important; font-weight: 800; } .mhfp-sale-badge .mhfp-sale-amount { color: #ffc90d; font-weight: 800; } /* Sale Badge Hover Logic */ @media (min-width: 981px) { .mhfp-sale-badge { opacity: 0; transform: translateY(-4px); transition: opacity .18s ease, transform .18s ease; } ul.products li.product:hover .mhfp-sale-badge { opacity: 1; transform: none; } } @media (max-width: 980px) { .mhfp-sale-badge { opacity: 1; transform: none; } } /* ========================================================= 4. RESPONSIVE & LAYOUT ========================================================= */ @media (max-width: 600px) { .mhfp-short-overlay { font-size: 20px !important; } .mhfp-sale-badge { font-size: 20px; padding: 14px; } .product-search-icon { width: 34px; height: 34px; } .product-search-icon svg { width: 16px; height: 16px; } } /* --- Short Overlay Layout Fixes --- */ /* === 1. Full-height columns with full-height separators (Revised) === */ .mhfp-short-overlay p { display: flex; flex-direction: column; justify-content: center; border-left: 2px solid rgba(255,255,255,0.25); padding: 0 8px; margin: 0 !important; } /* Remove default margin from the strong tag (the yellow numbers) */ .mhfp-short-overlay strong { margin: 0 !important; } /* no separator on the first column */ .mhfp-short-overlay p:first-child { border-left: none; } /* remove old override that shortened the last separator */ .mhfp-short-overlay p:nth-child(4) { align-self: auto !important; } /* === 2. Outer bar container (Revised) === */ .mhfp-short-overlay { padding-top: 8px !important; padding-bottom: 8px !important; padding-left: 0 !important; padding-right: 0 !important; display: flex; align-items: stretch !important; border: 2px solid rgba(255,255,255,0.25); /* Add an outer border */ border-radius: 4px; /* Add border radius */ } /* === 3. Position bar against the image top & add space below === */ ul.products li.product .mhfp-short-overlay { margin-top: -10px !important; margin-bottom: 15px !important; } /* Remove just the top border so it doesn't touch the image */ .mhfp-short-overlay { border-top: none !important; } /* Remove WooCommerce title spacing (this is what creates the gap) */ .woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0 !important; padding: 0 !important; line-height: 1 !important; } /* =========================================== SEARCH ICON → MATCH SALE BADGE STYLE =========================================== */ .product-search-icon { position: absolute; right: 6px; top: 6px; z-index: 60; /* Badge Style */ background: #25293b !important; border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,0,0,0.25); /* Hover Animation */ transition: transform .18s ease, box-shadow .18s ease; cursor: pointer; pointer-events: auto; } .product-search-icon:hover { transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,0.35); } /* Icon inside the badge */ .product-search-icon svg { width: 22px; height: 22px; stroke: #ffc90d; stroke-width: 2.2; } /* Make it visible on mobile (same as sale badge logic) */ @media (max-width: 980px) { .product-search-icon { opacity: 1 !important; transform: none !important; } } /* ================================================== FIXED: POINTER-EVENTS RESET (The most robust fix) ================================================== */ /* 1. Kill ALL default click-stealing behavior on the list item and wrapper links */ ul.products li.product, .products li.product { pointer-events: none !important; /* Disables all clicks on the main card */ } /* 2. Re-enable clicks ONLY on the desired elements */ ul.products li.product .woocommerce-loop-product__link, /* Product Image/Title */ ul.products li.product .product-search-icon, /* Search Icon (for lightbox) */ ul.products li.product .mhfp-short-overlay, /* Short Desc/Stats */ ul.products li.product .mhfp-sale-badge, /* Sale Badge (if links) */ /* Re-enable clicks only on specific elements to fix Divi's double link wrapping */ .et_pb_shop > a:first-child[href*="product"], .et_pb_wc_products > a:first-child[href*="product"] { pointer-events: auto !important; cursor: pointer !important; /* Forces the hand cursor to show */ } /* Final Divi Fix (must be separated) */ ul.products li.product a.et_shop_image, ul.products li.product > a:first-child[href*="product"], .et_pb_shop a[href*="product"]:not(.woocommerce-loop-product__link) { pointer-events: none !important; cursor: default !important; } .product-search-icon, .mhfp-short-overlay { pointer-events: auto !important; }/* ========================================================= 1. KILL THE GHOST OVERLAY (The Fix) ========================================================= */ .short-description-hover, .et_overlay, .et_pb_module .product .et_overlay, .woocommerce-loop-product__description { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; height: 0 !important; width: 0 !important; overflow: hidden !important; } /* ========================================================= 2. CUSTOM SHORT DESCRIPTION (Keep the Good One) ========================================================= */ /* 0) Card baseline */ ul.products li.product, .products li.product { position: relative; overflow: visible; } /* 1) Force custom class to ALWAYS show & sit relatively */ .woocommerce ul.products li.product .mhfp-short-overlay, .woocommerce-page ul.products li.product .mhfp-short-overlay, ul.products li.product .mhfp-short-overlay { /* Layout */ position: relative !important; display: flex !important; visibility: visible !important; opacity: 1 !important; /* Reset position */ top: auto !important; bottom: auto !important; left: auto !important; right: auto !important; transform: none !important; /* Style */ background: transparent !important; width: 100%; margin: 0; padding: 8px 4px; box-sizing: border-box; z-index: 10; /* Text Alignment */ justify-content: space-evenly; align-items: center; text-align: center; font-size: 11px !important; line-height: 1.35 !important; color: #ffc90d; } /* Styling for inner text */ .mhfp-short-overlay p { margin: 0; flex: 1 1 auto; text-align: center; } .mhfp-short-overlay strong { display: block; color: #fff; font-weight: 800; } /* --- FIX: FORCE UNHTD SF COLUMN TO THE TOP --- */ .mhfp-short-overlay p:nth-child(4) { align-self: flex-start !important; } /* ------------------------------------------ */ /* Ensure it STAYS visible on hover */ ul.products li.product:hover .mhfp-short-overlay { display: flex !important; opacity: 1 !important; background: transparent !important; } /* ========================================================= 3. ICONS & BADGES ========================================================= */ /* Search Icon default position (overridden below for style) */ .product-search-icon { position: absolute; right: 0.75rem; top: 0.75rem; z-index: 60; pointer-events: auto; } /* Sale Badge */ .mhfp-sale-badge { display: inline-flex; align-items: center; line-height: 1; white-space: nowrap; position: absolute; left: 6px; top: 6px; z-index: 50; padding: 10px; } .mhfp-sale-badge .mhfp-sale-label { margin-right: 0.35rem; color: #fff !important; font-weight: 800; } .mhfp-sale-badge .mhfp-sale-amount { color: #ffc90d; font-weight: 800; } /* Sale Badge Hover Logic */ @media (min-width: 981px) { .mhfp-sale-badge { opacity: 0; transform: translateY(-4px); transition: opacity .18s ease, transform .18s ease; } ul.products li.product:hover .mhfp-sale-badge { opacity: 1; transform: none; } } @media (max-width: 980px) { .mhfp-sale-badge { opacity: 1; transform: none; } } /* ========================================================= 4. RESPONSIVE & LAYOUT ========================================================= */ @media (max-width: 600px) { .mhfp-short-overlay { font-size: 20px !important; } .mhfp-sale-badge { font-size: 20px; padding: 14px; } .product-search-icon { width: 34px; height: 34px; } .product-search-icon svg { width: 16px; height: 16px; } } /* --- Short Overlay Layout Fixes --- */ /* === 1. Full-height columns with full-height separators (Revised) === */ .mhfp-short-overlay p { display: flex; flex-direction: column; justify-content: center; border-left: 2px solid rgba(255,255,255,0.25); padding: 0 8px; margin: 0 !important; } /* Remove default margin from the strong tag (the yellow numbers) */ .mhfp-short-overlay strong { margin: 0 !important; } /* no separator on the first column */ .mhfp-short-overlay p:first-child { border-left: none; } /* remove old override that shortened the last separator */ .mhfp-short-overlay p:nth-child(4) { align-self: auto !important; } /* === 2. Outer bar container (Revised) === */ .mhfp-short-overlay { padding-top: 8px !important; padding-bottom: 8px !important; padding-left: 0 !important; padding-right: 0 !important; display: flex; align-items: stretch !important; border: 2px solid rgba(255,255,255,0.25); /* Add an outer border */ border-radius: 4px; /* Add border radius */ } /* === 3. Position bar against the image top & add space below === */ ul.products li.product .mhfp-short-overlay { margin-top: -10px !important; margin-bottom: 15px !important; } /* Remove just the top border so it doesn't touch the image */ .mhfp-short-overlay { border-top: none !important; } /* Remove WooCommerce title spacing (this is what creates the gap) */ .woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0 !important; padding: 0 !important; line-height: 1 !important; } /* =========================================== SEARCH ICON → MATCH SALE BADGE STYLE =========================================== */ .product-search-icon { position: absolute; right: 6px; top: 6px; z-index: 60; /* Badge Style */ background: #25293b !important; border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,0,0,0.25); /* Hover Animation */ transition: transform .18s ease, box-shadow .18s ease; cursor: pointer; pointer-events: auto; } .product-search-icon:hover { transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,0.35); } /* Icon inside the badge */ .product-search-icon svg { width: 22px; height: 22px; stroke: #ffc90d; stroke-width: 2.2; } /* Make it visible on mobile (same as sale badge logic) */ @media (max-width: 980px) { .product-search-icon { opacity: 1 !important; transform: none !important; } } /* ================================================== FIXED: POINTER-EVENTS RESET (The most robust fix) ================================================== */ /* 1. Kill ALL default click-stealing behavior on the list item and wrapper links */ ul.products li.product, .products li.product { pointer-events: none !important; /* Disables all clicks on the main card */ } /* 2. Re-enable clicks ONLY on the desired elements */ ul.products li.product .woocommerce-loop-product__link, /* Product Image/Title */ ul.products li.product .product-search-icon, /* Search Icon (for lightbox) */ ul.products li.product .mhfp-short-overlay, /* Short Desc/Stats */ ul.products li.product .mhfp-sale-badge, /* Sale Badge (if links) */ /* Re-enable clicks only on specific elements to fix Divi's double link wrapping */ .et_pb_shop > a:first-child[href*="product"], .et_pb_wc_products > a:first-child[href*="product"] { pointer-events: auto !important; cursor: pointer !important; /* Forces the hand cursor to show */ } /* Final Divi Fix (must be separated) */ ul.products li.product a.et_shop_image, ul.products li.product > a:first-child[href*="product"], .et_pb_shop a[href*="product"]:not(.woocommerce-loop-product__link) { pointer-events: none !important; cursor: default !important; } .product-search-icon, .mhfp-short-overlay { pointer-events: auto !important; }/* ========================================================= 1. KILL THE GHOST OVERLAY (The Fix) ========================================================= */ .short-description-hover, .et_overlay, .et_pb_module .product .et_overlay, .woocommerce-loop-product__description { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; height: 0 !important; width: 0 !important; overflow: hidden !important; } /* ========================================================= 2. CUSTOM SHORT DESCRIPTION (Keep the Good One) ========================================================= */ /* 0) Card baseline */ ul.products li.product, .products li.product { position: relative; overflow: visible; } /* 1) Force custom class to ALWAYS show & sit relatively */ .woocommerce ul.products li.product .mhfp-short-overlay, .woocommerce-page ul.products li.product .mhfp-short-overlay, ul.products li.product .mhfp-short-overlay { /* Layout */ position: relative !important; display: flex !important; visibility: visible !important; opacity: 1 !important; /* Reset position */ top: auto !important; bottom: auto !important; left: auto !important; right: auto !important; transform: none !important; /* Style */ background: transparent !important; width: 100%; margin: 0; padding: 8px 4px; box-sizing: border-box; z-index: 10; /* Text Alignment */ justify-content: space-evenly; align-items: center; text-align: center; font-size: 11px !important; line-height: 1.35 !important; color: #ffc90d; } /* Styling for inner text */ .mhfp-short-overlay p { margin: 0; flex: 1 1 auto; text-align: center; } .mhfp-short-overlay strong { display: block; color: #fff; font-weight: 800; } /* --- FIX: FORCE UNHTD SF COLUMN TO THE TOP --- */ .mhfp-short-overlay p:nth-child(4) { align-self: flex-start !important; } /* ------------------------------------------ */ /* Ensure it STAYS visible on hover */ ul.products li.product:hover .mhfp-short-overlay { display: flex !important; opacity: 1 !important; background: transparent !important; } /* ========================================================= 3. ICONS & BADGES ========================================================= */ /* Search Icon default position (overridden below for style) */ .product-search-icon { position: absolute; right: 0.75rem; top: 0.75rem; z-index: 60; pointer-events: auto; } /* Sale Badge */ .mhfp-sale-badge { display: inline-flex; align-items: center; line-height: 1; white-space: nowrap; position: absolute; left: 6px; top: 6px; z-index: 50; padding: 10px; } .mhfp-sale-badge .mhfp-sale-label { margin-right: 0.35rem; color: #fff !important; font-weight: 800; } .mhfp-sale-badge .mhfp-sale-amount { color: #ffc90d; font-weight: 800; } /* Sale Badge Hover Logic */ @media (min-width: 981px) { .mhfp-sale-badge { opacity: 0; transform: translateY(-4px); transition: opacity .18s ease, transform .18s ease; } ul.products li.product:hover .mhfp-sale-badge { opacity: 1; transform: none; } } @media (max-width: 980px) { .mhfp-sale-badge { opacity: 1; transform: none; } } /* ========================================================= 4. RESPONSIVE & LAYOUT ========================================================= */ @media (max-width: 600px) { .mhfp-short-overlay { font-size: 20px !important; } .mhfp-sale-badge { font-size: 20px; padding: 14px; } .product-search-icon { width: 34px; height: 34px; } .product-search-icon svg { width: 16px; height: 16px; } } /* --- Short Overlay Layout Fixes --- */ /* === 1. Full-height columns with full-height separators (Revised) === */ .mhfp-short-overlay p { display: flex; flex-direction: column; justify-content: center; border-left: 2px solid rgba(255,255,255,0.25); padding: 0 8px; margin: 0 !important; } /* Remove default margin from the strong tag (the yellow numbers) */ .mhfp-short-overlay strong { margin: 0 !important; } /* no separator on the first column */ .mhfp-short-overlay p:first-child { border-left: none; } /* remove old override that shortened the last separator */ .mhfp-short-overlay p:nth-child(4) { align-self: auto !important; } /* === 2. Outer bar container (Revised) === */ .mhfp-short-overlay { padding-top: 8px !important; padding-bottom: 8px !important; padding-left: 0 !important; padding-right: 0 !important; display: flex; align-items: stretch !important; border: 2px solid rgba(255,255,255,0.25); /* Add an outer border */ border-radius: 4px; /* Add border radius */ } /* === 3. Position bar against the image top & add space below === */ ul.products li.product .mhfp-short-overlay { margin-top: -10px !important; margin-bottom: 15px !important; } /* Remove just the top border so it doesn't touch the image */ .mhfp-short-overlay { border-top: none !important; } /* Remove WooCommerce title spacing (this is what creates the gap) */ .woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0 !important; padding: 0 !important; line-height: 1 !important; } /* =========================================== SEARCH ICON → MATCH SALE BADGE STYLE =========================================== */ .product-search-icon { position: absolute; right: 6px; top: 6px; z-index: 60; /* Badge Style */ background: #25293b !important; border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,0,0,0.25); /* Hover Animation */ transition: transform .18s ease, box-shadow .18s ease; cursor: pointer; pointer-events: auto; } .product-search-icon:hover { transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,0.35); } /* Icon inside the badge */ .product-search-icon svg { width: 22px; height: 22px; stroke: #ffc90d; stroke-width: 2.2; } /* Make it visible on mobile (same as sale badge logic) */ @media (max-width: 980px) { .product-search-icon { opacity: 1 !important; transform: none !important; } } /* ================================================== FIXED: POINTER-EVENTS RESET (The most robust fix) ================================================== */ /* 1. Kill ALL default click-stealing behavior on the list item and wrapper links */ ul.products li.product, .products li.product { pointer-events: none !important; /* Disables all clicks on the main card */ } /* 2. Re-enable clicks ONLY on the desired elements */ ul.products li.product .woocommerce-loop-product__link, /* Product Image/Title */ ul.products li.product .product-search-icon, /* Search Icon (for lightbox) */ ul.products li.product .mhfp-short-overlay, /* Short Desc/Stats */ ul.products li.product .mhfp-sale-badge, /* Sale Badge (if links) */ /* Re-enable clicks only on specific elements to fix Divi's double link wrapping */ .et_pb_shop > a:first-child[href*="product"], .et_pb_wc_products > a:first-child[href*="product"] { pointer-events: auto !important; cursor: pointer !important; /* Forces the hand cursor to show */ } /* Final Divi Fix (must be separated) */ ul.products li.product a.et_shop_image, ul.products li.product > a:first-child[href*="product"], .et_pb_shop a[href*="product"]:not(.woocommerce-loop-product__link) { pointer-events: none !important; cursor: default !important; } .product-search-icon, .mhfp-short-overlay { pointer-events: auto !important; }/* ========================================================= 1. KILL THE GHOST OVERLAY (The Fix) ========================================================= */ .short-description-hover, .et_overlay, .et_pb_module .product .et_overlay, .woocommerce-loop-product__description { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; height: 0 !important; width: 0 !important; overflow: hidden !important; } /* ========================================================= 2. CUSTOM SHORT DESCRIPTION (Keep the Good One) ========================================================= */ /* 0) Card baseline */ ul.products li.product, .products li.product { position: relative; overflow: visible; } /* 1) Force custom class to ALWAYS show & sit relatively */ .woocommerce ul.products li.product .mhfp-short-overlay, .woocommerce-page ul.products li.product .mhfp-short-overlay, ul.products li.product .mhfp-short-overlay { /* Layout */ position: relative !important; display: flex !important; visibility: visible !important; opacity: 1 !important; /* Reset position */ top: auto !important; bottom: auto !important; left: auto !important; right: auto !important; transform: none !important; /* Style */ background: transparent !important; width: 100%; margin: 0; padding: 8px 4px; box-sizing: border-box; z-index: 10; /* Text Alignment */ justify-content: space-evenly; align-items: center; text-align: center; font-size: 11px !important; line-height: 1.35 !important; color: #ffc90d; } /* Styling for inner text */ .mhfp-short-overlay p { margin: 0; flex: 1 1 auto; text-align: center; } .mhfp-short-overlay strong { display: block; color: #fff; font-weight: 800; } /* --- FIX: FORCE UNHTD SF COLUMN TO THE TOP --- */ .mhfp-short-overlay p:nth-child(4) { align-self: flex-start !important; } /* ------------------------------------------ */ /* Ensure it STAYS visible on hover */ ul.products li.product:hover .mhfp-short-overlay { display: flex !important; opacity: 1 !important; background: transparent !important; } /* ========================================================= 3. ICONS & BADGES ========================================================= */ /* Search Icon default position (overridden below for style) */ .product-search-icon { position: absolute; right: 0.75rem; top: 0.75rem; z-index: 60; pointer-events: auto; } /* Sale Badge */ .mhfp-sale-badge { display: inline-flex; align-items: center; line-height: 1; white-space: nowrap; position: absolute; left: 6px; top: 6px; z-index: 50; padding: 10px; } .mhfp-sale-badge .mhfp-sale-label { margin-right: 0.35rem; color: #fff !important; font-weight: 800; } .mhfp-sale-badge .mhfp-sale-amount { color: #ffc90d; font-weight: 800; } /* Sale Badge Hover Logic */ @media (min-width: 981px) { .mhfp-sale-badge { opacity: 0; transform: translateY(-4px); transition: opacity .18s ease, transform .18s ease; } ul.products li.product:hover .mhfp-sale-badge { opacity: 1; transform: none; } } @media (max-width: 980px) { .mhfp-sale-badge { opacity: 1; transform: none; } } /* ========================================================= 4. RESPONSIVE & LAYOUT ========================================================= */ @media (max-width: 600px) { .mhfp-short-overlay { font-size: 20px !important; } .mhfp-sale-badge { font-size: 20px; padding: 14px; } .product-search-icon { width: 34px; height: 34px; } .product-search-icon svg { width: 16px; height: 16px; } } /* --- Short Overlay Layout Fixes --- */ /* === 1. Full-height columns with full-height separators (Revised) === */ .mhfp-short-overlay p { display: flex; flex-direction: column; justify-content: center; border-left: 2px solid rgba(255,255,255,0.25); padding: 0 8px; margin: 0 !important; } /* Remove default margin from the strong tag (the yellow numbers) */ .mhfp-short-overlay strong { margin: 0 !important; } /* no separator on the first column */ .mhfp-short-overlay p:first-child { border-left: none; } /* remove old override that shortened the last separator */ .mhfp-short-overlay p:nth-child(4) { align-self: auto !important; } /* === 2. Outer bar container (Revised) === */ .mhfp-short-overlay { padding-top: 8px !important; padding-bottom: 8px !important; padding-left: 0 !important; padding-right: 0 !important; display: flex; align-items: stretch !important; border: 2px solid rgba(255,255,255,0.25); /* Add an outer border */ border-radius: 4px; /* Add border radius */ } /* === 3. Position bar against the image top & add space below === */ ul.products li.product .mhfp-short-overlay { margin-top: -10px !important; margin-bottom: 15px !important; } /* Remove just the top border so it doesn't touch the image */ .mhfp-short-overlay { border-top: none !important; } /* Remove WooCommerce title spacing (this is what creates the gap) */ .woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0 !important; padding: 0 !important; line-height: 1 !important; } /* =========================================== SEARCH ICON → MATCH SALE BADGE STYLE =========================================== */ .product-search-icon { position: absolute; right: 6px; top: 6px; z-index: 60; /* Badge Style */ background: #25293b !important; border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,0,0,0.25); /* Hover Animation */ transition: transform .18s ease, box-shadow .18s ease; cursor: pointer; pointer-events: auto; } .product-search-icon:hover { transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,0.35); } /* Icon inside the badge */ .product-search-icon svg { width: 22px; height: 22px; stroke: #ffc90d; stroke-width: 2.2; } /* Make it visible on mobile (same as sale badge logic) */ @media (max-width: 980px) { .product-search-icon { opacity: 1 !important; transform: none !important; } } /* ================================================== FIXED: POINTER-EVENTS RESET (The most robust fix) ================================================== */ /* 1. Kill ALL default click-stealing behavior on the list item and wrapper links */ ul.products li.product, .products li.product { pointer-events: none !important; /* Disables all clicks on the main card */ } /* 2. Re-enable clicks ONLY on the desired elements */ ul.products li.product .woocommerce-loop-product__link, /* Product Image/Title */ ul.products li.product .product-search-icon, /* Search Icon (for lightbox) */ ul.products li.product .mhfp-short-overlay, /* Short Desc/Stats */ ul.products li.product .mhfp-sale-badge, /* Sale Badge (if links) */ /* Re-enable clicks only on specific elements to fix Divi's double link wrapping */ .et_pb_shop > a:first-child[href*="product"], .et_pb_wc_products > a:first-child[href*="product"] { pointer-events: auto !important; cursor: pointer !important; /* Forces the hand cursor to show */ } /* Final Divi Fix (must be separated) */ ul.products li.product a.et_shop_image, ul.products li.product > a:first-child[href*="product"], .et_pb_shop a[href*="product"]:not(.woocommerce-loop-product__link) { pointer-events: none !important; cursor: default !important; } .product-search-icon, .mhfp-short-overlay { pointer-events: auto !important; }/* ========================================================= 1. KILL THE GHOST OVERLAY (The Fix) ========================================================= */ .short-description-hover, .et_overlay, .et_pb_module .product .et_overlay, .woocommerce-loop-product__description { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; height: 0 !important; width: 0 !important; overflow: hidden !important; } /* ========================================================= 2. CUSTOM SHORT DESCRIPTION (Keep the Good One) ========================================================= */ /* 0) Card baseline */ ul.products li.product, .products li.product { position: relative; overflow: visible; } /* 1) Force custom class to ALWAYS show & sit relatively */ .woocommerce ul.products li.product .mhfp-short-overlay, .woocommerce-page ul.products li.product .mhfp-short-overlay, ul.products li.product .mhfp-short-overlay { /* Layout */ position: relative !important; display: flex !important; visibility: visible !important; opacity: 1 !important; /* Reset position */ top: auto !important; bottom: auto !important; left: auto !important; right: auto !important; transform: none !important; /* Style */ background: transparent !important; width: 100%; margin: 0; padding: 8px 4px; box-sizing: border-box; z-index: 10; /* Text Alignment */ justify-content: space-evenly; align-items: center; text-align: center; font-size: 11px !important; line-height: 1.35 !important; color: #ffc90d; } /* Styling for inner text */ .mhfp-short-overlay p { margin: 0; flex: 1 1 auto; text-align: center; } .mhfp-short-overlay strong { display: block; color: #fff; font-weight: 800; } /* --- FIX: FORCE UNHTD SF COLUMN TO THE TOP --- */ .mhfp-short-overlay p:nth-child(4) { align-self: flex-start !important; } /* ------------------------------------------ */ /* Ensure it STAYS visible on hover */ ul.products li.product:hover .mhfp-short-overlay { display: flex !important; opacity: 1 !important; background: transparent !important; } /* ========================================================= 3. ICONS & BADGES ========================================================= */ /* Search Icon default position (overridden below for style) */ .product-search-icon { position: absolute; right: 0.75rem; top: 0.75rem; z-index: 60; pointer-events: auto; } /* Sale Badge */ .mhfp-sale-badge { display: inline-flex; align-items: center; line-height: 1; white-space: nowrap; position: absolute; left: 6px; top: 6px; z-index: 50; padding: 10px; } .mhfp-sale-badge .mhfp-sale-label { margin-right: 0.35rem; color: #fff !important; font-weight: 800; } .mhfp-sale-badge .mhfp-sale-amount { color: #ffc90d; font-weight: 800; } /* Sale Badge Hover Logic */ @media (min-width: 981px) { .mhfp-sale-badge { opacity: 0; transform: translateY(-4px); transition: opacity .18s ease, transform .18s ease; } ul.products li.product:hover .mhfp-sale-badge { opacity: 1; transform: none; } } @media (max-width: 980px) { .mhfp-sale-badge { opacity: 1; transform: none; } } /* ========================================================= 4. RESPONSIVE & LAYOUT ========================================================= */ @media (max-width: 600px) { .mhfp-short-overlay { font-size: 20px !important; } .mhfp-sale-badge { font-size: 20px; padding: 14px; } .product-search-icon { width: 34px; height: 34px; } .product-search-icon svg { width: 16px; height: 16px; } } /* --- Short Overlay Layout Fixes --- */ /* === 1. Full-height columns with full-height separators (Revised) === */ .mhfp-short-overlay p { display: flex; flex-direction: column; justify-content: center; border-left: 2px solid rgba(255,255,255,0.25); padding: 0 8px; margin: 0 !important; } /* Remove default margin from the strong tag (the yellow numbers) */ .mhfp-short-overlay strong { margin: 0 !important; } /* no separator on the first column */ .mhfp-short-overlay p:first-child { border-left: none; } /* remove old override that shortened the last separator */ .mhfp-short-overlay p:nth-child(4) { align-self: auto !important; } /* === 2. Outer bar container (Revised) === */ .mhfp-short-overlay { padding-top: 8px !important; padding-bottom: 8px !important; padding-left: 0 !important; padding-right: 0 !important; display: flex; align-items: stretch !important; border: 2px solid rgba(255,255,255,0.25); /* Add an outer border */ border-radius: 4px; /* Add border radius */ } /* === 3. Position bar against the image top & add space below === */ ul.products li.product .mhfp-short-overlay { margin-top: -10px !important; margin-bottom: 15px !important; } /* Remove just the top border so it doesn't touch the image */ .mhfp-short-overlay { border-top: none !important; } /* Remove WooCommerce title spacing (this is what creates the gap) */ .woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0 !important; padding: 0 !important; line-height: 1 !important; } /* =========================================== SEARCH ICON → MATCH SALE BADGE STYLE =========================================== */ .product-search-icon { position: absolute; right: 6px; top: 6px; z-index: 60; /* Badge Style */ background: #25293b !important; border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,0,0,0.25); /* Hover Animation */ transition: transform .18s ease, box-shadow .18s ease; cursor: pointer; pointer-events: auto; } .product-search-icon:hover { transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,0.35); } /* Icon inside the badge */ .product-search-icon svg { width: 22px; height: 22px; stroke: #ffc90d; stroke-width: 2.2; } /* Make it visible on mobile (same as sale badge logic) */ @media (max-width: 980px) { .product-search-icon { opacity: 1 !important; transform: none !important; } } /* ================================================== FIXED: POINTER-EVENTS RESET (The most robust fix) ================================================== */ /* 1. Kill ALL default click-stealing behavior on the list item and wrapper links */ ul.products li.product, .products li.product { pointer-events: none !important; /* Disables all clicks on the main card */ } /* 2. Re-enable clicks ONLY on the desired elements */ ul.products li.product .woocommerce-loop-product__link, /* Product Image/Title */ ul.products li.product .product-search-icon, /* Search Icon (for lightbox) */ ul.products li.product .mhfp-short-overlay, /* Short Desc/Stats */ ul.products li.product .mhfp-sale-badge, /* Sale Badge (if links) */ /* Re-enable clicks only on specific elements to fix Divi's double link wrapping */ .et_pb_shop > a:first-child[href*="product"], .et_pb_wc_products > a:first-child[href*="product"] { pointer-events: auto !important; cursor: pointer !important; /* Forces the hand cursor to show */ } /* Final Divi Fix (must be separated) */ ul.products li.product a.et_shop_image, ul.products li.product > a:first-child[href*="product"], .et_pb_shop a[href*="product"]:not(.woocommerce-loop-product__link) { pointer-events: none !important; cursor: default !important; } .product-search-icon, .mhfp-short-overlay { pointer-events: auto !important; }/* ========================================================= 1. KILL THE GHOST OVERLAY (The Fix) ========================================================= */ .short-description-hover, .et_overlay, .et_pb_module .product .et_overlay, .woocommerce-loop-product__description { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; height: 0 !important; width: 0 !important; overflow: hidden !important; } /* ========================================================= 2. CUSTOM SHORT DESCRIPTION (Keep the Good One) ========================================================= */ /* 0) Card baseline */ ul.products li.product, .products li.product { position: relative; overflow: visible; } /* 1) Force custom class to ALWAYS show & sit relatively */ .woocommerce ul.products li.product .mhfp-short-overlay, .woocommerce-page ul.products li.product .mhfp-short-overlay, ul.products li.product .mhfp-short-overlay { /* Layout */ position: relative !important; display: flex !important; visibility: visible !important; opacity: 1 !important; /* Reset position */ top: auto !important; bottom: auto !important; left: auto !important; right: auto !important; transform: none !important; /* Style */ background: transparent !important; width: 100%; margin: 0; padding: 8px 4px; box-sizing: border-box; z-index: 10; /* Text Alignment */ justify-content: space-evenly; align-items: center; text-align: center; font-size: 11px !important; line-height: 1.35 !important; color: #ffc90d; } /* Styling for inner text */ .mhfp-short-overlay p { margin: 0; flex: 1 1 auto; text-align: center; } .mhfp-short-overlay strong { display: block; color: #fff; font-weight: 800; } /* --- FIX: FORCE UNHTD SF COLUMN TO THE TOP --- */ .mhfp-short-overlay p:nth-child(4) { align-self: flex-start !important; } /* ------------------------------------------ */ /* Ensure it STAYS visible on hover */ ul.products li.product:hover .mhfp-short-overlay { display: flex !important; opacity: 1 !important; background: transparent !important; } /* ========================================================= 3. ICONS & BADGES ========================================================= */ /* Search Icon default position (overridden below for style) */ .product-search-icon { position: absolute; right: 0.75rem; top: 0.75rem; z-index: 60; pointer-events: auto; } /* Sale Badge */ .mhfp-sale-badge { display: inline-flex; align-items: center; line-height: 1; white-space: nowrap; position: absolute; left: 6px; top: 6px; z-index: 50; padding: 10px; } .mhfp-sale-badge .mhfp-sale-label { margin-right: 0.35rem; color: #fff !important; font-weight: 800; } .mhfp-sale-badge .mhfp-sale-amount { color: #ffc90d; font-weight: 800; } /* Sale Badge Hover Logic */ @media (min-width: 981px) { .mhfp-sale-badge { opacity: 0; transform: translateY(-4px); transition: opacity .18s ease, transform .18s ease; } ul.products li.product:hover .mhfp-sale-badge { opacity: 1; transform: none; } } @media (max-width: 980px) { .mhfp-sale-badge { opacity: 1; transform: none; } } /* ========================================================= 4. RESPONSIVE & LAYOUT ========================================================= */ @media (max-width: 600px) { .mhfp-short-overlay { font-size: 20px !important; } .mhfp-sale-badge { font-size: 20px; padding: 14px; } .product-search-icon { width: 34px; height: 34px; } .product-search-icon svg { width: 16px; height: 16px; } } /* --- Short Overlay Layout Fixes --- */ /* === 1. Full-height columns with full-height separators (Revised) === */ .mhfp-short-overlay p { display: flex; flex-direction: column; justify-content: center; border-left: 2px solid rgba(255,255,255,0.25); padding: 0 8px; margin: 0 !important; } /* Remove default margin from the strong tag (the yellow numbers) */ .mhfp-short-overlay strong { margin: 0 !important; } /* no separator on the first column */ .mhfp-short-overlay p:first-child { border-left: none; } /* remove old override that shortened the last separator */ .mhfp-short-overlay p:nth-child(4) { align-self: auto !important; } /* === 2. Outer bar container (Revised) === */ .mhfp-short-overlay { padding-top: 8px !important; padding-bottom: 8px !important; padding-left: 0 !important; padding-right: 0 !important; display: flex; align-items: stretch !important; border: 2px solid rgba(255,255,255,0.25); /* Add an outer border */ border-radius: 4px; /* Add border radius */ } /* === 3. Position bar against the image top & add space below === */ ul.products li.product .mhfp-short-overlay { margin-top: -10px !important; margin-bottom: 15px !important; } /* Remove just the top border so it doesn't touch the image */ .mhfp-short-overlay { border-top: none !important; } /* Remove WooCommerce title spacing (this is what creates the gap) */ .woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0 !important; padding: 0 !important; line-height: 1 !important; } /* =========================================== SEARCH ICON → MATCH SALE BADGE STYLE =========================================== */ .product-search-icon { position: absolute; right: 6px; top: 6px; z-index: 60; /* Badge Style */ background: #25293b !important; border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,0,0,0.25); /* Hover Animation */ transition: transform .18s ease, box-shadow .18s ease; cursor: pointer; pointer-events: auto; } .product-search-icon:hover { transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,0.35); } /* Icon inside the badge */ .product-search-icon svg { width: 22px; height: 22px; stroke: #ffc90d; stroke-width: 2.2; } /* Make it visible on mobile (same as sale badge logic) */ @media (max-width: 980px) { .product-search-icon { opacity: 1 !important; transform: none !important; } } /* ================================================== FIXED: POINTER-EVENTS RESET (The most robust fix) ================================================== */ /* 1. Kill ALL default click-stealing behavior on the list item and wrapper links */ ul.products li.product, .products li.product { pointer-events: none !important; /* Disables all clicks on the main card */ } /* 2. Re-enable clicks ONLY on the desired elements */ ul.products li.product .woocommerce-loop-product__link, /* Product Image/Title */ ul.products li.product .product-search-icon, /* Search Icon (for lightbox) */ ul.products li.product .mhfp-short-overlay, /* Short Desc/Stats */ ul.products li.product .mhfp-sale-badge, /* Sale Badge (if links) */ /* Re-enable clicks only on specific elements to fix Divi's double link wrapping */ .et_pb_shop > a:first-child[href*="product"], .et_pb_wc_products > a:first-child[href*="product"] { pointer-events: auto !important; cursor: pointer !important; /* Forces the hand cursor to show */ } /* Final Divi Fix (must be separated) */ ul.products li.product a.et_shop_image, ul.products li.product > a:first-child[href*="product"], .et_pb_shop a[href*="product"]:not(.woocommerce-loop-product__link) { pointer-events: none !important; cursor: default !important; } .product-search-icon, .mhfp-short-overlay { pointer-events: auto !important; }/* ========================================================= 1. KILL THE GHOST OVERLAY (The Fix) ========================================================= */ .short-description-hover, .et_overlay, .et_pb_module .product .et_overlay, .woocommerce-loop-product__description { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; height: 0 !important; width: 0 !important; overflow: hidden !important; } /* ========================================================= 2. CUSTOM SHORT DESCRIPTION (Keep the Good One) ========================================================= */ /* 0) Card baseline */ ul.products li.product, .products li.product { position: relative; overflow: visible; } /* 1) Force custom class to ALWAYS show & sit relatively */ .woocommerce ul.products li.product .mhfp-short-overlay, .woocommerce-page ul.products li.product .mhfp-short-overlay, ul.products li.product .mhfp-short-overlay { /* Layout */ position: relative !important; display: flex !important; visibility: visible !important; opacity: 1 !important; /* Reset position */ top: auto !important; bottom: auto !important; left: auto !important; right: auto !important; transform: none !important; /* Style */ background: transparent !important; width: 100%; margin: 0; padding: 8px 4px; box-sizing: border-box; z-index: 10; /* Text Alignment */ justify-content: space-evenly; align-items: center; text-align: center; font-size: 11px !important; line-height: 1.35 !important; color: #ffc90d; } /* Styling for inner text */ .mhfp-short-overlay p { margin: 0; flex: 1 1 auto; text-align: center; } .mhfp-short-overlay strong { display: block; color: #fff; font-weight: 800; } /* --- FIX: FORCE UNHTD SF COLUMN TO THE TOP --- */ .mhfp-short-overlay p:nth-child(4) { align-self: flex-start !important; } /* ------------------------------------------ */ /* Ensure it STAYS visible on hover */ ul.products li.product:hover .mhfp-short-overlay { display: flex !important; opacity: 1 !important; background: transparent !important; } /* ========================================================= 3. ICONS & BADGES ========================================================= */ /* Search Icon default position (overridden below for style) */ .product-search-icon { position: absolute; right: 0.75rem; top: 0.75rem; z-index: 60; pointer-events: auto; } /* Sale Badge */ .mhfp-sale-badge { display: inline-flex; align-items: center; line-height: 1; white-space: nowrap; position: absolute; left: 6px; top: 6px; z-index: 50; padding: 10px; } .mhfp-sale-badge .mhfp-sale-label { margin-right: 0.35rem; color: #fff !important; font-weight: 800; } .mhfp-sale-badge .mhfp-sale-amount { color: #ffc90d; font-weight: 800; } /* Sale Badge Hover Logic */ @media (min-width: 981px) { .mhfp-sale-badge { opacity: 0; transform: translateY(-4px); transition: opacity .18s ease, transform .18s ease; } ul.products li.product:hover .mhfp-sale-badge { opacity: 1; transform: none; } } @media (max-width: 980px) { .mhfp-sale-badge { opacity: 1; transform: none; } } /* ========================================================= 4. RESPONSIVE & LAYOUT ========================================================= */ @media (max-width: 600px) { .mhfp-short-overlay { font-size: 20px !important; } .mhfp-sale-badge { font-size: 20px; padding: 14px; } .product-search-icon { width: 34px; height: 34px; } .product-search-icon svg { width: 16px; height: 16px; } } /* --- Short Overlay Layout Fixes --- */ /* === 1. Full-height columns with full-height separators (Revised) === */ .mhfp-short-overlay p { display: flex; flex-direction: column; justify-content: center; border-left: 2px solid rgba(255,255,255,0.25); padding: 0 8px; margin: 0 !important; } /* Remove default margin from the strong tag (the yellow numbers) */ .mhfp-short-overlay strong { margin: 0 !important; } /* no separator on the first column */ .mhfp-short-overlay p:first-child { border-left: none; } /* remove old override that shortened the last separator */ .mhfp-short-overlay p:nth-child(4) { align-self: auto !important; } /* === 2. Outer bar container (Revised) === */ .mhfp-short-overlay { padding-top: 8px !important; padding-bottom: 8px !important; padding-left: 0 !important; padding-right: 0 !important; display: flex; align-items: stretch !important; border: 2px solid rgba(255,255,255,0.25); /* Add an outer border */ border-radius: 4px; /* Add border radius */ } /* === 3. Position bar against the image top & add space below === */ ul.products li.product .mhfp-short-overlay { margin-top: -10px !important; margin-bottom: 15px !important; } /* Remove just the top border so it doesn't touch the image */ .mhfp-short-overlay { border-top: none !important; } /* Remove WooCommerce title spacing (this is what creates the gap) */ .woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0 !important; padding: 0 !important; line-height: 1 !important; } /* =========================================== SEARCH ICON → MATCH SALE BADGE STYLE =========================================== */ .product-search-icon { position: absolute; right: 6px; top: 6px; z-index: 60; /* Badge Style */ background: #25293b !important; border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,0,0,0.25); /* Hover Animation */ transition: transform .18s ease, box-shadow .18s ease; cursor: pointer; pointer-events: auto; } .product-search-icon:hover { transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,0.35); } /* Icon inside the badge */ .product-search-icon svg { width: 22px; height: 22px; stroke: #ffc90d; stroke-width: 2.2; } /* Make it visible on mobile (same as sale badge logic) */ @media (max-width: 980px) { .product-search-icon { opacity: 1 !important; transform: none !important; } } /* ================================================== FIXED: POINTER-EVENTS RESET (The most robust fix) ================================================== */ /* 1. Kill ALL default click-stealing behavior on the list item and wrapper links */ ul.products li.product, .products li.product { pointer-events: none !important; /* Disables all clicks on the main card */ } /* 2. Re-enable clicks ONLY on the desired elements */ ul.products li.product .woocommerce-loop-product__link, /* Product Image/Title */ ul.products li.product .product-search-icon, /* Search Icon (for lightbox) */ ul.products li.product .mhfp-short-overlay, /* Short Desc/Stats */ ul.products li.product .mhfp-sale-badge, /* Sale Badge (if links) */ /* Re-enable clicks only on specific elements to fix Divi's double link wrapping */ .et_pb_shop > a:first-child[href*="product"], .et_pb_wc_products > a:first-child[href*="product"] { pointer-events: auto !important; cursor: pointer !important; /* Forces the hand cursor to show */ } /* Final Divi Fix (must be separated) */ ul.products li.product a.et_shop_image, ul.products li.product > a:first-child[href*="product"], .et_pb_shop a[href*="product"]:not(.woocommerce-loop-product__link) { pointer-events: none !important; cursor: default !important; } .product-search-icon, .mhfp-short-overlay { pointer-events: auto !important; }

What Makes a House Plan a Best Seller?

While every buyer has unique needs, the most popular house plans typically share a few standout qualities:

  • Open Floor Plans – Seamless living, dining, and kitchen flow
  • Split Bedrooms – Privacy between the master suite and other rooms
  • Covered Outdoor Spaces – Porches, patios, and lanais for indoor-outdoor living
  • Flexible Bonus Rooms – Ideal for offices, guest suites, or game rooms
  • Energy-Efficient Layouts – Smart placement of windows and walls to reduce waste

If you’re curious about why these elements matter, this Houzz guide to popular home features offers great insight into what today’s buyers are looking for.

Browse the Most Popular Categories

Our best selling house plans come in all shapes, sizes, and architectural styles. Some of the most in-demand options include:

Why Choose My Home Floor Plans?

At My Home Floor Plans, we go beyond just pretty pictures. Our best sellers come with real-world advantages that save you time, money, and stress:

  • Full CAD and PDF sets included
  • Unlimited-build license – no hidden fees
  • Free foundation changes to suit your lot
  • Structural engineering included in every plan
  • Total transparency – see every sheet before purchase

With thousands of top-rated, build-ready plans available, finding your perfect layout has never been easier—or more affordable.

Get Started Today

Ready to find your dream house design? Browse our Best Selling House Plans now or contact us at support@myhomefloorplans.com for help choosing the right design.


Frequently Asked Questions – Best Selling House Plans

What are the most popular house plan features?
Open layouts, spacious master suites, covered outdoor areas, and flexible bonus rooms are among the most requested features in our best selling plans.

Are best selling plans customizable?
Yes, all of our top-selling house plans can be modified to meet your needs. We offer affordable changes like moving walls, adjusting square footage, or adding garages.

Do these plans include everything I need to build?
Absolutely. Every plan includes full CAD and PDF sets, an unlimited-build license, structural engineering, and options for free foundation changes.

Why do these plans sell better than others?
They’ve been tested by real builders, loved by homeowners, and refined over time to be practical, efficient, and stylish—all while keeping costs reasonable.

Where can I view all best selling house plans?
You can view the full collection at MyHomeFloorPlans.com.