/* Elementor "new products2026" → WoodMart product loop card */

/* ---------- Equal card heights (grid + carousel) ---------- */
.wd-products.wd-loop-builder-on,
.wd-products.wd-grid-g.wd-loop-builder-on,
.wd-carousel.wd-grid {
  align-items: stretch !important;
}

.wd-product:has(.ele-pcard),
.wd-product.wd-col:has(.ele-pcard),
.wd-carousel-item .wd-product:has(.ele-pcard),
.wd-carousel-item:has(.ele-pcard) {
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  height: 100% !important;
}

.wd-product:has(.ele-pcard) .wd-product-wrapper,
.wd-product:has(.ele-pcard) .wd-entry-content,
.wd-carousel-item .wd-product:has(.ele-pcard) .wd-product-wrapper {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: 100% !important;
  min-height: 100% !important;
}

/* Remove WoodMart outer wrapper background/padding so only the card shows */
.wd-product:has(.ele-pcard),
.wd-product.wd-col:has(.ele-pcard),
.wd-product:has(.ele-pcard) .wd-product-wrapper,
.wd-product:has(.ele-pcard) .wd-entry-content,
.wd-loop-item-wrap:has(.ele-pcard) .wd-product-wrapper {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ele-pcard,
.wd-product .ele-pcard,
.product-grid-item .ele-pcard {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  flex: 1 1 auto !important;
  width: 100%;
  max-width: 100%;
  height: 100% !important;
  min-height: 100% !important;
  box-sizing: border-box;
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 20px;
  box-shadow: 3px 3px 15px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  padding: 0 !important;
  margin: 0 !important;
}

.ele-pcard:hover,
.wd-product:hover .ele-pcard,
.product-grid-item:hover .ele-pcard {
  border-color: #7438f0;
  box-shadow: 3px 3px 15px rgba(159, 116, 248, 0.08);
}

/* Fallback for browsers without :has() */
.wd-product-wrapper.wd-entry-content {
  background: transparent;
}

.wd-product .wd-product-wrapper:has(.ele-pcard),
.wd-product .wd-entry-content:has(.ele-pcard) {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

.ele-pcard *,
.ele-pcard *::before,
.ele-pcard *::after {
  box-sizing: border-box;
}

/* ---------- GPL badge: icon + text on ONE line ---------- */
.ele-pcard__badge,
.ele-pcard__badge.wd-dir-col,
.ele-pcard .ele-pcard__badge {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 5;
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: auto !important;
  max-width: calc(100% - 12px) !important;
  height: auto !important;
  min-height: 0 !important;
  background: #181e2f !important;
  color: #ffffff !important;
  padding: 6px 10px 5px !important;
  border-radius: 20px 5px 5px 5px !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

.ele-pcard__badge::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  background: url("https://wpnulled.pro/wp-content/uploads/2026/08/svgexport-8.svg") center / contain no-repeat;
}

.ele-pcard__badge > p,
.ele-pcard__badge .wp-block-paragraph,
.ele-pcard__badge p {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 100 !important;
  line-height: 1.2 !important;
  white-space: nowrap;
}

/* Thumbnail */
.ele-pcard .wd-product-img,
.ele-pcard .product-image-link,
.ele-pcard .wd-loop-prod-thumb,
.ele-pcard .wd-product-thumb,
.ele-pcard figure {
  margin: 0 0 10px !important;
  width: 100%;
}

.ele-pcard .wd-product-img img,
.ele-pcard .product-image-link img,
.ele-pcard .wd-product-thumb img,
.ele-pcard img {
  border-radius: 20px 20px 0 0 !important;
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}

/* Categories 70% + developer_brand 30% */
.ele-pcard__cats,
.ele-pcard__cats.wd-dir-row,
.ele-pcard > .ele-pcard__cats {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  align-self: stretch !important;
  flex-wrap: nowrap !important;
  gap: 8px;
  margin-top: 2px !important;
  margin-bottom: 0 !important;
  padding: 0 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  font-family: Syne, sans-serif !important;
  font-size: 13px !important;
  color: #979797 !important;
}

.ele-pcard__cats-left,
.ele-pcard__cats-left.wd-dir-col {
  flex: 0 0 70% !important;
  width: 70% !important;
  max-width: 70% !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.ele-pcard__cats-right,
.ele-pcard__cats-right.wd-dir-col {
  flex: 0 0 30% !important;
  width: 30% !important;
  max-width: 30% !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  text-align: right !important;
}

.ele-pcard__cats a {
  color: #7438f0 !important;
  font-family: Syne, sans-serif !important;
  font-size: 13px !important;
  word-break: break-word;
}

.ele-pcard__brand,
.ele-pcard__cats-right .ele-pcard__brand {
  display: block !important;
  width: 100%;
  margin: 0 !important;
  color: #181e2f !important;
  font-family: Syne, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  text-align: right !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: 1.2em;
}

/* Title — single line + ellipsis (full text stays in HTML for SEO) */
.ele-pcard .wd-entities-title,
.ele-pcard .wd-product-title,
.ele-pcard h3,
.ele-pcard .wd-li-product-title,
.ele-pcard [class*="product-title"] {
  flex: 1 1 auto !important;
  font-family: Lato, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.5em !important;
  margin: 0 !important;
  padding: 0 10px !important;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

.ele-pcard .wd-entities-title a,
.ele-pcard .wd-product-title a,
.ele-pcard h3 a,
.ele-pcard .wd-li-product-title a,
.ele-pcard [class*="product-title"] a {
  display: block !important;
  max-width: 100%;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  color: inherit;
}

/* Version / Updated — full card width, compact/refined */
.ele-pcard__info,
.ele-pcard__info.wd-dir-row,
.ele-pcard > .ele-pcard__info {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: stretch !important;
  align-self: stretch !important;
  flex: 0 0 auto !important;
  width: calc(100% - 30px) !important;
  max-width: calc(100% - 30px) !important;
  min-width: calc(100% - 30px) !important;
  box-sizing: border-box !important;
  background: #fafbfe !important;
  border: 1px solid #e1e4ed !important;
  border-radius: 8px !important;
  margin-top: auto !important;
  margin-right: 15px !important;
  margin-bottom: 0 !important;
  margin-left: 15px !important;
  padding: 0 !important;
  overflow: hidden;
  min-height: 0 !important;
  height: auto !important;
}

.ele-pcard__info-col,
.ele-pcard__info-col.wd-dir-col {
  flex: 1 1 50% !important;
  width: 50% !important;
  min-width: 0 !important;
  padding: 5px 10px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 0 !important;
  row-gap: 0 !important;
}

.ele-pcard__info-col + .ele-pcard__info-col {
  border-left: 1px solid #e1e4ed !important;
}

.ele-pcard__info-label {
  margin: 0 !important;
  padding: 0 !important;
  color: #9099aa !important;
  font-size: 9px !important;
  font-weight: 300 !important;
  line-height: 1.15 !important;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.ele-pcard__acf,
.ele-pcard__acf-value,
.ele-pcard__info-col .wp-block-shortcode,
.ele-pcard__info-col > p:not(.ele-pcard__info-label),
.ele-pcard__info-col .ele-pcard__acf {
  display: block;
  margin: 1px 0 0 !important;
  padding: 0 !important;
  color: #111629 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  word-break: break-word;
}

/* Clean: icon + texts on ONE line — full card width with side padding */
.ele-pcard__clean,
.ele-pcard__clean.wd-dir-row,
.ele-pcard > .ele-pcard__clean {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  align-self: stretch !important;
  flex: 0 0 auto !important;
  gap: 6px !important;
  width: calc(100% - 30px) !important;
  max-width: calc(100% - 30px) !important;
  min-width: calc(100% - 30px) !important;
  box-sizing: border-box !important;
  background: #f5fbf4 !important;
  border: 1px solid #e1e4ed !important;
  border-radius: 10px !important;
  margin: 10px 15px 0 !important;
  padding: 8px 12px !important;
  color: #356653 !important;
}

.ele-pcard__clean::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  background: url("https://wpnulled.pro/wp-content/uploads/2026/08/svgexport-1.svg") center / contain no-repeat;
}

.ele-pcard__clean-title,
.ele-pcard__clean-desc,
.ele-pcard__clean p {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #356653 !important;
  white-space: nowrap;
}

.ele-pcard__clean-title {
  font-size: 11px !important;
  font-weight: 600 !important;
}

.ele-pcard__clean-desc {
  font-size: 12px !important;
  font-weight: 300 !important;
}

/* CTA */
.ele-pcard__cta,
a.ele-pcard__cta {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: calc(100% - 20px) !important;
  max-width: calc(100% - 20px) !important;
  margin: 10px !important;
  padding: 8px 4px !important;
  background: transparent !important;
  border: 0 !important;
  color: #7438f0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  gap: 8px;
}

.ele-pcard__cta::after,
a.ele-pcard__cta::after {
  content: "→";
  flex: 0 0 auto;
  font-size: 14px;
  line-height: 1;
}

.ele-pcard__cta:hover,
a.ele-pcard__cta:hover {
  color: #5a24d6 !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  .ele-pcard__info {
    margin-top: auto !important;
    margin-right: 12px !important;
    margin-bottom: 0 !important;
    margin-left: 12px !important;
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    min-width: calc(100% - 24px) !important;
  }

  .ele-pcard__clean {
    margin: 10px 12px 0 !important;
  }

  .ele-pcard .wd-entities-title,
  .ele-pcard .wd-product-title,
  .ele-pcard h3 {
    font-size: 14px !important;
  }
}

@media (max-width: 768px) {
  .ele-pcard {
    border-radius: 16px;
  }

  .ele-pcard__badge {
    padding: 5px 8px !important;
    gap: 6px !important;
  }

  .ele-pcard__badge::before {
    width: 16px;
    height: 16px;
    flex-basis: 16px;
  }

  .ele-pcard__badge > p,
  .ele-pcard__badge p {
    font-size: 12px !important;
  }

  .ele-pcard__cats,
  .ele-pcard__cats a,
  .ele-pcard__brand {
    font-size: 12px !important;
  }

  .ele-pcard__info {
    margin-top: auto !important;
    margin-right: 10px !important;
    margin-bottom: 0 !important;
    margin-left: 10px !important;
    width: calc(100% - 20px) !important;
    max-width: calc(100% - 20px) !important;
    min-width: calc(100% - 20px) !important;
  }

  .ele-pcard__info-col {
    padding: 4px 8px !important;
  }

  .ele-pcard__info-label {
    font-size: 8px !important;
  }

  .ele-pcard__acf,
  .ele-pcard__acf-value {
    font-size: 11px !important;
    margin-top: 1px !important;
  }

  .ele-pcard__clean {
    margin: 8px 10px 0 !important;
    padding: 7px 10px !important;
    gap: 5px !important;
  }

  .ele-pcard__clean-title {
    font-size: 10px !important;
  }

  .ele-pcard__clean-desc {
    font-size: 11px !important;
  }

  .ele-pcard__cta,
  a.ele-pcard__cta {
    font-size: 12px !important;
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    margin: 8px !important;
  }
}

@media (max-width: 480px) {
  .ele-pcard__info,
  .ele-pcard__info.wd-dir-row {
    flex-direction: column !important;
    flex-wrap: wrap !important;
  }

  .ele-pcard__info-col,
  .ele-pcard__info-col.wd-dir-col {
    width: 100% !important;
    flex: 1 1 100% !important;
  }

  .ele-pcard__info-col + .ele-pcard__info-col {
    border-left: 0 !important;
    border-top: 1px solid #e1e4ed !important;
  }

  .ele-pcard__clean {
    flex-wrap: wrap !important;
  }

  .ele-pcard__clean-title,
  .ele-pcard__clean-desc {
    white-space: normal;
  }
}
