/* Modern Dental V405: Restorative & Aesthetic homepage cards.
   Same upright card structure as the existing featured-products gallery.
   No special layout for one item: 1, 2, ... or 8 products render identically.
   Scoped to .md402-restorative; DOES NOT affect any other shop card. */

/* Outer frame matches V403 (the user-approved panel). */
.md94-home .md402-restorative {
  box-sizing:border-box;
  min-width:0;
  margin-top:16px;
  padding:14px 16px 12px;
  border:1px solid #dbeee8;
  border-radius:20px;
  background:linear-gradient(120deg,#f3fef9 0%,#fff 42%,#f8feff 100%);
  box-shadow:0 8px 24px rgba(21,115,103,.06);
}
.md94-home .md402-restorative .md402-intro {
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;margin-bottom:10px;
}
.md94-home .md402-restorative .md402-copy {min-width:0;}
.md94-home .md402-restorative .md402-eyebrow {
  display:block;direction:ltr;text-align:right;letter-spacing:1.1px;
  color:#169a82;font-size:9px;font-weight:800;margin-bottom:2px;
}
.md94-home .md402-restorative .md402-copy h2 {
  margin:0;color:#124c4c;font-size:20px;line-height:1.45;font-weight:900;
}
.md94-home .md402-restorative .md402-copy p {
  margin:3px 0 0;color:#6a8284;font-size:11px;line-height:1.5;
}
.md94-home .md402-restorative .md402-all {
  display:inline-flex;align-items:center;gap:6px;flex-shrink:0;
  border:1px solid #c4e4dd;border-radius:22px;padding:8px 13px;
  background:#fff;color:#057a71;text-decoration:none;font-size:11px;font-weight:800;
}
.md94-home .md402-restorative .md402-all:hover {background:#ebfaf4;}
.md94-home .md402-restorative .md402-shell {
  box-sizing:border-box;min-width:0;max-width:100%;width:100%;overflow:hidden;
}

/* Uniform RTL horizontal product strip, anchored on the right.
   Five cards at desktop widths, additional cards scroll horizontally.
   Crucially, no .md402-single override: one card is NOT stretched. */
.md94-home .md402-restorative .md402-shell > .products {
  box-sizing:border-box;
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  direction:rtl!important;
  gap:12px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  padding:2px 2px 10px!important;
  margin:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x proximity;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
  scrollbar-color:#b5dcd4 transparent;
  -webkit-overflow-scrolling:touch;
}
.md94-home .md402-restorative .md402-shell > .products > .product-card {
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  position:relative;
  flex:0 0 calc((100% - 48px) / 5)!important;
  width:calc((100% - 48px) / 5)!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:352px!important;
  padding:8px 9px 9px!important;
  margin:0!important;
  border:1px solid #0c818b;
  border-radius:14px;
  background:#fff;
  overflow:hidden;
  scroll-snap-align:start;
  text-align:right;
}
.md94-home .md402-restorative .md402-shell > .products > .product-card:hover {
  transform:none!important;
}
.md94-home .md402-restorative .product-card > a:has(> img.pimage) {
  box-sizing:border-box!important;
  display:block!important;
  flex:0 0 auto!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  aspect-ratio:1 / 1!important;
  padding:0!important;
  margin:0 0 7px!important;
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}
.md94-home .md402-restorative .product-card img.pimage {
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  padding:0!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center!important;
  mix-blend-mode:normal!important;
  transform:none!important;
  transition:none!important;
}
.md94-home .md402-restorative .product-card .pmeta {
  box-sizing:border-box!important;
  display:block;
  flex:0 0 16px;
  width:100%;
  height:16px!important;
  min-height:0!important;
  margin:0 0 3px!important;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:9px!important;
  line-height:16px!important;
  color:#91b5bd;
}
.md94-home .md402-restorative .product-card .ptitle {
  box-sizing:border-box!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  flex:0 0 36px;
  width:100%;
  height:36px!important;
  min-height:0!important;
  max-height:36px!important;
  margin:0 0 4px!important;
  overflow:hidden;
  font-size:11px!important;
  font-weight:800;
  line-height:18px!important;
  color:#06495e;
}
.md94-home .md402-restorative .product-card .price {
  box-sizing:border-box!important;
  display:flex;
  flex:0 0 25px;
  align-items:center;
  width:100%;
  min-width:0;
  min-height:25px!important;
  height:25px!important;
  margin:0 0 7px!important;
  font-size:12px!important;
  font-weight:900;
  line-height:1.45!important;
  color:#008b95;
  white-space:nowrap;
}
.md94-home .md402-restorative .product-card .pactions {
  display:flex!important;
  flex:0 0 auto;
  flex-direction:row!important;
  align-items:stretch!important;
  min-width:0;
  width:100%;
  gap:6px!important;
  padding:0!important;
  margin:auto 0 0!important;
}
.md94-home .md402-restorative .product-card .pactions .btn {
  flex:1 1 0!important;
  min-width:0!important;
  width:auto!important;
  height:36px!important;
  min-height:36px!important;
  padding:6px 5px!important;
  border-radius:9px;
  font-size:10px!important;
  line-height:1.4!important;
  white-space:nowrap;
}
.md94-home .md402-restorative .product-card .pactions .icon-btn {
  flex:0 0 32px!important;
  min-width:32px!important;
  width:32px!important;
  height:36px!important;
  border-radius:11px;
  font-size:14px!important;
}
/* Badge and favorite icon match the photographed featured product cards. */
.md94-home .md402-restorative .product-card .pbadges {
  z-index:4!important;
  right:14px!important;
  top:12px!important;
}
.md94-home .md402-restorative .product-card .pbadges .tag {
  font-size:9px!important;
  padding:4px 7px!important;
}
.md94-home .md402-restorative .product-card .heart.md139-wish {
  position:absolute!important;
  z-index:5!important;
  left:14px!important;
  right:auto!important;
  top:12px!important;
  display:grid!important;
  place-items:center;
  box-sizing:border-box;
  width:31px!important;
  height:31px!important;
  padding:5px!important;
  border:1px solid #dce9ed;
  border-radius:50%;
  background:rgba(255,255,255,.95);
  color:#627e8b;
  cursor:pointer;
  box-shadow:0 2px 10px #00000012;
}
.md94-home .md402-restorative .product-card .heart.md139-wish svg {
  width:18px;height:18px;display:block;
  fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;
}
.md94-home .md402-restorative .product-card .heart.md139-wish.is-selected {
  color:#e53955;background:#fff3f5;border-color:#ffced7;
}
.md94-home .md402-restorative .product-card .heart.md139-wish.is-selected svg {
  fill:#e53955;stroke:#e53955;
}
.md94-home .md402-restorative .md402-empty {
  padding:18px 12px;text-align:center;color:#627e83;font-size:12px;
  border-radius:12px;background:#fff;
}
.md94-home .md402-restorative .md402-empty a {color:#087e71;text-decoration:underline;}

@media (max-width:1150px) {
  .md94-home .md402-restorative .md402-shell > .products > .product-card {
    flex-basis:calc((100% - 36px) / 4)!important;
    width:calc((100% - 36px) / 4)!important;
  }
}
@media (max-width:900px) {
  .md94-home .md402-restorative .md402-shell > .products > .product-card {
    flex-basis:calc((100% - 24px) / 3)!important;
    width:calc((100% - 24px) / 3)!important;
    min-height:335px!important;
  }
}
@media (max-width:600px) {
  .md94-home .md402-restorative {
    margin-top:12px;padding:11px 10px 10px;border-radius:16px;
  }
  .md94-home .md402-restorative .md402-intro {
    margin-bottom:9px;gap:8px;align-items:center;
  }
  .md94-home .md402-restorative .md402-copy h2 {
    font-size:16px;line-height:1.4;
  }
  .md94-home .md402-restorative .md402-eyebrow {font-size:8px;}
  .md94-home .md402-restorative .md402-copy p {font-size:10px;}
  .md94-home .md402-restorative .md402-all {
    font-size:10px;padding:6px 9px;white-space:nowrap;
  }
  .md94-home .md402-restorative .md402-shell > .products {
    gap:9px!important;scroll-snap-type:x mandatory;
  }
  .md94-home .md402-restorative .md402-shell > .products > .product-card {
    flex:0 0 58%!important;
    width:58%!important;
    min-width:0!important;
    min-height:315px!important;
    padding:7px!important;
  }
  .md94-home .md402-restorative .product-card .ptitle {
    font-size:10px!important;
  }
  .md94-home .md402-restorative .product-card .price {
    font-size:11px!important;
  }
  .md94-home .md402-restorative .product-card .pactions .btn {
    font-size:9px!important;
  }
  .md94-home .md402-restorative .product-card .heart.md139-wish {
    left:10px!important;top:10px!important;
  }
  .md94-home .md402-restorative .product-card .pbadges {
    right:10px!important;top:10px!important;
  }
}
@media (max-width:390px) {
  .md94-home .md402-restorative .md402-shell > .products > .product-card {
    flex-basis:68%!important;width:68%!important;
  }
}
@media(prefers-reduced-motion:reduce) {
  .md94-home .md402-restorative * {transition:none!important;scroll-behavior:auto!important;}
}
