.ddsp-widget{width:100%;--ddsp-title-size:22px;--ddsp-price-size:17px;--ddsp-old-price-size:17px;--ddsp-icon-size:21px}
.ddsp-grid{
  --ddsp-columns:4;
  display:grid;
  grid-template-columns:repeat(var(--ddsp-columns), minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.ddsp-card{
  --ddsp-hover-lift:-2px;
  position:relative;
  display:flex;
  flex-direction:column;
  height:100%;
  background:#fff;
  padding:20px;
  border:1px solid rgba(17,17,17,.06);
  box-shadow:0 2px 12px rgba(17,17,17,.03);
  overflow:hidden;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.ddsp-card:hover,.ddsp-card:focus-within{transform:translateY(var(--ddsp-hover-lift));box-shadow:0 16px 36px rgba(17,17,17,.08);border-color:rgba(17,17,17,.1)}
.ddsp-badge{position:absolute;top:20px;left:20px;z-index:4;background:#111;color:#fff;font-size:13px;line-height:1;padding:12px 15px;letter-spacing:.02em}
.ddsp-image-wrap{position:relative;min-height:340px;display:flex;align-items:center;justify-content:center;margin-bottom:22px}
.ddsp-thumb,.ddsp-thumb img{display:block}
.ddsp-thumb{width:100%;text-align:center}
.ddsp-thumb img{max-width:78%;height:auto;margin:0 auto;transition:transform .35s ease}
.ddsp-card:hover .ddsp-thumb img,.ddsp-card:focus-within .ddsp-thumb img{transform:scale(1.018)}
.ddsp-actions{position:absolute;top:22px;right:4px;display:flex;flex-direction:column;gap:10px;z-index:5}
.ddsp-action,.ddsp-arrow,.ddsp-wishlist a{ text-decoration:none }
.ddsp-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:#111}.ddsp-icon svg{display:block;width:100%;height:100%;fill:currentColor}.ddsp-action span,.ddsp-wishlist a span{font-size:var(--ddsp-icon-size);line-height:1;color:#111}
.ddsp-action,.ddsp-wishlist a{
  width:44px;height:44px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#fff;color:#111;border:1px solid rgba(17,17,17,.08);box-shadow:0 4px 18px rgba(17,17,17,.06);opacity:0;visibility:hidden;transform:translateX(10px);transition:opacity .22s ease, transform .22s ease, visibility .22s ease, background-color .22s ease, border-color .22s ease; font-size:var(--ddsp-icon-size); cursor:pointer;
}
.ddsp-action.loading{pointer-events:none;opacity:1;visibility:visible}
.ddsp-card:hover .ddsp-action,.ddsp-card:hover .ddsp-wishlist a,.ddsp-card:focus-within .ddsp-action,.ddsp-card:focus-within .ddsp-wishlist a{opacity:1;visibility:visible;transform:translateX(0)}
.ddsp-actions > *:nth-child(1) .ddsp-action,.ddsp-actions > *:nth-child(1){transition-delay:.02s}
.ddsp-actions > *:nth-child(2) .ddsp-action,.ddsp-actions > *:nth-child(2){transition-delay:.06s}
.ddsp-actions > *:nth-child(3) .ddsp-action,.ddsp-actions > *:nth-child(3){transition-delay:.1s}
.ddsp-action:hover,.ddsp-action:focus-visible,.ddsp-wishlist a:hover,.ddsp-wishlist a:focus-visible{background:#fff;color:#111;border-color:rgba(17,17,17,.14)}
.ddsp-arrow{position:absolute;top:50%;right:-2px;transform:translateY(-50%) translateX(10px);color:#111;font-size:34px;line-height:1;opacity:0;visibility:hidden;transition:opacity .24s ease, transform .24s ease, visibility .24s ease;z-index:5}
.ddsp-card:hover .ddsp-arrow,.ddsp-card:focus-within .ddsp-arrow{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}
.ddsp-content{display:flex;flex-direction:column;gap:10px;flex:1}
.ddsp-category{font-size:14px;color:#6c6c6c;line-height:1.4}
.ddsp-title{margin:0;font-size:var(--ddsp-title-size);line-height:1.3;font-weight:400}
.ddsp-title a{color:#111;text-decoration:none}
.ddsp-price,.ddsp-price .price{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:var(--ddsp-price-size);color:#111}
.ddsp-price del,.ddsp-price-old,.ddsp-price .price del{color:#7c7c7c;opacity:1;font-size:var(--ddsp-old-price-size)}
.ddsp-price ins,.ddsp-price .price ins,.ddsp-price-current{text-decoration:none;font-size:var(--ddsp-price-size)}
.ddsp-cart{margin-top:auto;padding-top:4px}
.ddsp-cart .button,.ddsp-cart .add_to_cart_button,.ddsp-cart .single_add_to_cart_button,.ddsp-cart .added_to_cart,.ddsp-cart a.button,.ddsp-cart button.button{background:transparent !important;color:#111 !important;border:0 !important;padding:0 !important;text-decoration:underline;text-underline-offset:3px;text-transform:uppercase;font-weight:400;font-size:15px;letter-spacing:.02em;box-shadow:none !important}
.ddsp-cart .added_to_cart{margin-left:10px}
.ddsp-empty{padding:20px;border:1px dashed rgba(17,17,17,.15)}
.ddsp-modal[hidden]{display:none!important}
.ddsp-modal{position:fixed;inset:0;z-index:99999}
.ddsp-modal__backdrop{position:absolute;inset:0;background:rgba(17,17,17,.52)}
.ddsp-modal__dialog{position:relative;max-width:980px;margin:6vh auto;background:#fff;max-height:88vh;overflow:auto;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.18)}
.ddsp-modal__close{position:absolute;top:14px;right:16px;background:transparent;border:0;font-size:32px;line-height:1;cursor:pointer}
.ddsp-qv{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:28px;align-items:start}
.ddsp-qv__media img{width:100%;height:auto;display:block}
.ddsp-qv__category{font-size:14px;color:#6c6c6c;margin-bottom:6px}
.ddsp-qv__title{margin:0 0 10px;font-size:28px;line-height:1.2;font-weight:400}
.ddsp-qv__title a{color:#111;text-decoration:none}
.ddsp-qv__price{margin-bottom:16px;font-size:20px}
.ddsp-qv__excerpt{color:#333;line-height:1.6;margin-bottom:18px}
.ddsp-qv__actions .quantity,.ddsp-qv__actions .single_add_to_cart_button{margin-right:10px}
.ddsp-qv__link{display:inline-block;margin-top:16px;color:#111;text-decoration:underline;text-underline-offset:3px}
@media (max-width:1024px){.ddsp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ddsp-image-wrap{min-height:280px}.ddsp-title{font-size:20px}.ddsp-qv{grid-template-columns:1fr}.ddsp-modal__dialog{margin:4vh 20px;padding:22px}}
@media (max-width:767px){.ddsp-grid{grid-template-columns:minmax(0,1fr);gap:18px}.ddsp-card{padding:16px;transform:none!important}.ddsp-badge{top:16px;left:16px;padding:10px 12px;font-size:12px}.ddsp-image-wrap{min-height:220px;margin-bottom:18px}.ddsp-thumb img{max-width:74%}.ddsp-title{font-size:18px}.ddsp-action,.ddsp-wishlist a{opacity:1;visibility:visible;transform:none;width:40px;height:40px;font-size:18px}.ddsp-icon{width:22px;height:22px}.ddsp-arrow{display:none}.ddsp-modal__dialog{margin:0;background:#fff;max-width:none;min-height:100vh;max-height:none;padding:18px}}


/* v3.1 Fix: ensure eye icon matches size of other hover icons */
.ddsp-actions svg,
.ddsp-actions i{
    width:20px;
    height:20px;
    font-size:20px;
}


/* v3.2 Tooltip + icon hover refinement */
.ddsp-action,
.ddsp-wishlist a{
  position:relative;
}

.ddsp-action:hover .ddsp-icon,
.ddsp-action:focus-visible .ddsp-icon,
.ddsp-wishlist a:hover .ddsp-icon,
.ddsp-wishlist a:focus-visible .ddsp-icon,
.ddsp-action:hover .ddsp-icon svg,
.ddsp-action:focus-visible .ddsp-icon svg,
.ddsp-wishlist a:hover .ddsp-icon svg,
.ddsp-wishlist a:focus-visible .ddsp-icon svg{
  color:#6f6f6f;
  fill:currentColor;
}

.ddsp-action[data-tooltip]::after,
.ddsp-wishlist a[data-tooltip]::after{
  content:attr(data-tooltip);
  position:absolute;
  right:calc(100% + 10px);
  top:50%;
  transform:translateY(-50%) translateX(4px);
  background:#111;
  color:#fff;
  font-size:12px;
  line-height:1.2;
  white-space:nowrap;
  padding:8px 10px;
  border-radius:4px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
  box-shadow:0 8px 24px rgba(17,17,17,.16);
  z-index:8;
}

.ddsp-action[data-tooltip]::before,
.ddsp-wishlist a[data-tooltip]::before{
  content:"";
  position:absolute;
  right:calc(100% + 4px);
  top:50%;
  transform:translateY(-50%) translateX(4px);
  border-width:6px 0 6px 6px;
  border-style:solid;
  border-color:transparent transparent transparent #111;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index:8;
}

.ddsp-action[data-tooltip]:hover::after,
.ddsp-action[data-tooltip]:hover::before,
.ddsp-action[data-tooltip]:focus-visible::after,
.ddsp-action[data-tooltip]:focus-visible::before,
.ddsp-wishlist a[data-tooltip]:hover::after,
.ddsp-wishlist a[data-tooltip]:hover::before,
.ddsp-wishlist a[data-tooltip]:focus-visible::after,
.ddsp-wishlist a[data-tooltip]:focus-visible::before{
  opacity:1;
  visibility:visible;
  transform:translateY(-50%) translateX(0);
}

@media (max-width: 767px){
  .ddsp-action[data-tooltip]::after,
  .ddsp-action[data-tooltip]::before,
  .ddsp-wishlist a[data-tooltip]::after,
  .ddsp-wishlist a[data-tooltip]::before{
    display:none;
  }
}


/* v3.4.1 Fix: prestashop style add-to-cart link */
.ddsp-cart-link{
  color:#111;
  text-decoration:underline;
  text-underline-offset:3px;
  font-size:15px;
  letter-spacing:.02em;
  display:inline-block;
  opacity:0;
  visibility:hidden;
  transform:translateY(4px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.ddsp-card:hover .ddsp-cart-link,
.ddsp-card:focus-within .ddsp-cart-link{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.ddsp-cart-link:hover{
  color:#6f6f6f;
}



/* v3.4.2 Fix: force Prestashop-style add-to-cart link styling */
.ddsp-cart .ddsp-cart-link,
.ddsp-cart a.ddsp-cart-link,
.ddsp-card .ddsp-cart .ddsp-cart-link,
.ddsp-card .ddsp-cart a.ddsp-cart-link{
  color:#111 !important;
  text-decoration:underline !important;
  text-underline-offset:3px !important;
  -webkit-text-decoration-color:currentColor;
  text-decoration-color:currentColor;
  font-size:15px;
  letter-spacing:.02em;
  font-weight:400;
  display:inline-block;
  opacity:0 !important;
  visibility:hidden !important;
  transform:translateY(4px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.ddsp-card:hover .ddsp-cart .ddsp-cart-link,
.ddsp-card:hover .ddsp-cart a.ddsp-cart-link,
.ddsp-card:focus-within .ddsp-cart .ddsp-cart-link,
.ddsp-card:focus-within .ddsp-cart a.ddsp-cart-link{
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0);
}

.ddsp-cart .ddsp-cart-link:hover,
.ddsp-cart a.ddsp-cart-link:hover,
.ddsp-card:hover .ddsp-cart .ddsp-cart-link:hover,
.ddsp-card:hover .ddsp-cart a.ddsp-cart-link:hover{
  color:#6f6f6f !important;
  text-decoration:underline !important;
}


/* v3.4.5 Fix: bottom add-to-cart link adds to cart and stays visible on mobile */
@media (max-width: 767px){
  .ddsp-card .ddsp-cart .ddsp-cart-link,
  .ddsp-card .ddsp-cart a.ddsp-cart-link{
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }
}


/* v3.4.7 Fix: use button elements for custom add-to-cart without changing appearance */
.ddsp-action[type="button"],
.ddsp-cart-link[type="button"]{
  -webkit-appearance:none;
  appearance:none;
  font-family:inherit;
}


/* v3.4.8 Fix: reset button style to Prestashop-like text link */
.ddsp-cart-link[type="button"],
.ddsp-action-cart[type="button"]{
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
  color:#111 !important;
  text-decoration:underline !important;
  text-underline-offset:3px;
  font-size:15px;
  letter-spacing:.02em;
  font-weight:400;
  box-shadow:none !important;
  cursor:pointer;
}

.ddsp-cart-link[type="button"]:hover,
.ddsp-action-cart[type="button"]:hover{
  color:#6f6f6f !important;
}


/* v3.5.0 Progressive loading */
.ddsp-load-more-wrap{
  display:flex;
  justify-content:center;
  margin-top:28px;
}
.ddsp-load-more-button{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid rgba(17,17,17,.14);
  background:#fff;
  color:#111;
  padding:12px 22px;
  line-height:1;
  cursor:pointer;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease, opacity .2s ease;
}
.ddsp-load-more-button:hover{
  background:#111;
  color:#fff;
  border-color:#111;
}
.ddsp-load-more-button[disabled]{
  opacity:.6;
  cursor:wait;
}
.ddsp-pagination-sentinel{
  width:100%;
  height:2px;
  margin-top:8px;
}
.ddsp-widget.is-loading .ddsp-load-more-button::after{
  content:'';
}
