.products.row {
margin-left: -8px;
margin-right: -8px;
}
.pp-product-card-wrapper,
.pp-product-card-wrapper.col {
padding: 8px;
margin-bottom: 0 !important;
text-align: left !important;
} .pp-product-card {
background: #ffffff;
border-radius: var(--radius-luxury);
border: 1px solid var(--color-border);
overflow: visible; height: 100%;
display: flex;
flex-direction: column;
position: relative;
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1),
border-color 0.3s ease;
box-shadow: var(--shadow-soft);
}
.pp-product-card:hover {
transform: translateY(-4px);
box-shadow: var(--shadow-luxury);
border-color: var(--color-border-dark);
} .pp-card-image-wrapper {
position: relative;
aspect-ratio: 1 / 1;
overflow: visible; background: var(--color-bg-alt);
border-radius: var(--radius-luxury) var(--radius-luxury) 0 0;
flex-shrink: 0;
} .pp-card-image-wrapper .pp-loop-gallery-wrapper,
.pp-card-image-wrapper>a,
.pp-card-image-wrapper>img {
overflow: hidden;
border-radius: var(--radius-luxury) var(--radius-luxury) 0 0;
width: 100%;
height: 100%;
display: block;
}
.pp-card-image-wrapper img,
.pp-card-image-wrapper .pp-loop-gallery-wrapper,
.pp-card-image-wrapper .pp-loop-gallery {
width: 100%;
height: 100%;
}
.pp-card-image-wrapper img {
object-fit: cover;
transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
display: block;
}
.pp-product-card:hover .pp-card-image-wrapper .main-img {
transform: scale(1.05);
} .pp-product-card .box-image {
padding: 0 !important;
margin: 0 !important;
border-radius: 0 !important;
box-shadow: none !important;
width: 100%;
height: 100%;
}
.pp-product-card .box-text {
padding: 0 !important;
margin: 0 !important;
} .pp-product-card .add-to-links,
.pp-product-card .wishlist-icon,
.pp-product-card .image-tools,
.pp-product-card .show-on-hover,
.pp-product-card .quick-view {
display: none !important;
pointer-events: none !important;
} .pp-badge-bestseller {
position: absolute;
top: 14px;
left: 14px;
background: #0f172a;
color: #fff;
font-family: 'Manrope', sans-serif;
font-size: 9px;
font-weight: 800;
letter-spacing: 0.08em;
text-transform: uppercase;
padding: 5px 12px;
border-radius: 8px;
z-index: 10;
pointer-events: none;
} .pp-card-icons {
position: absolute;
top: 14px;
right: 14px;
display: flex;
flex-direction: column;
gap: 8px;
z-index: 200; pointer-events: auto;
}
.pp-card-icon,
.pp-card-icon.tooltipped {
position: relative;
width: 32px !important;
height: 32px !important;
background: rgba(255, 255, 255, 0.9) !important;
backdrop-filter: blur(8px);
border: 1px solid rgba(0, 0, 0, 0.08) !important;
border-radius: 50% !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
color: #1e293b !important;
cursor: help;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.pp-card-icon:hover,
.pp-card-icon.tooltipped:hover {
background: #0f172a !important;
color: #ffffff !important;
border-color: #0f172a !important;
transform: scale(1.1);
box-shadow: 0 8px 24px rgba(15, 23, 42, 0.25);
}
.pp-card-icon .pp-icon-inner,
.pp-card-icon .pp-icon-svg-wrapper {
width: 20px !important;
height: 20px !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
flex-shrink: 0;
}
.pp-card-icon svg {
width: 100% !important;
height: 100% !important;
stroke-width: 1.5px !important;
} .pp-card-icon[data-tooltip]::after,
.pp-card-icon.tooltipped[data-tooltip]::after {
content: attr(data-tooltip) !important;
position: absolute !important;
right: calc(100% + 12px) !important;
left: auto !important;
top: 50% !important;
bottom: auto !important;
transform: translateY(-50%) !important;
background: #0f172a !important;
color: #ffffff !important;
padding: 7px 14px !important;
border-radius: 8px !important;
font-family: 'Inter', sans-serif !important;
font-size: 11px !important;
font-weight: 700 !important;
white-space: nowrap !important;
opacity: 0 !important;
visibility: hidden !important;
pointer-events: none !important;
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
z-index: 1000 !important;
box-shadow: 0 10px 30px rgba(15, 23, 42, 0.4) !important;
}
.pp-card-icon[data-tooltip]:hover::after,
.pp-card-icon.tooltipped[data-tooltip]:hover::after {
opacity: 1 !important;
visibility: visible !important;
transform: translateY(-50%) translateX(-6px) !important;
} .pp-card-icon[data-tooltip]::before,
.pp-card-icon.tooltipped[data-tooltip]::before {
content: '' !important;
position: absolute !important;
right: calc(100% + 4px) !important;
left: auto !important;
top: 50% !important;
bottom: auto !important;
transform: translateY(-50%) !important;
border: 6px solid transparent !important;
border-left-color: #0f172a !important;
opacity: 0 !important;
visibility: hidden !important;
pointer-events: none !important;
transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
z-index: 1000 !important;
}
.pp-card-icon[data-tooltip]:hover::before,
.pp-card-icon.tooltipped[data-tooltip]:hover::before {
opacity: 1 !important;
visibility: visible !important;
transform: translateY(-50%) translateX(-4px) !important;
} .pp-gallery-zoom,
.pp-zoom-trigger {
position: absolute !important;
bottom: 12px !important;
right: 12px !important;
top: auto !important;
z-index: 50 !important;
width: 36px !important;
height: 36px !important;
background: #0f172a !important;
border: none !important;
border-radius: 50% !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
color: #ffffff !important;
cursor: pointer !important;
box-shadow: 0 4px 12px rgba(15, 23, 42, 0.4) !important;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
opacity: 0 !important;
transform: scale(0.8) translateY(10px) !important;
padding: 0 !important;
}
.pp-product-card:hover .pp-gallery-zoom,
.pp-product-card:hover .pp-zoom-trigger {
opacity: 1 !important;
transform: scale(1) translateY(0) !important;
}
.pp-gallery-zoom:hover,
.pp-zoom-trigger:hover {
background: #10b981 !important;
color: #fff !important;
transform: scale(1.1) translateY(0) !important;
box-shadow: 0 6px 16px rgba(16, 185, 129, 0.4) !important;
}
.pp-gallery-zoom svg,
.pp-zoom-trigger svg {
width: 18px !important;
height: 18px !important;
display: block !important;
stroke-width: 2.5 !important;
} @media (max-width: 767px) {
.pp-gallery-zoom,
.pp-zoom-trigger {
bottom: 8px !important;
right: auto !important;
left: 8px !important;
width: 30px !important;
height: 30px !important;
background: rgba(15, 23, 42, 0.75) !important;
backdrop-filter: blur(8px) !important;
border: 1px solid rgba(255, 255, 255, 0.15) !important;
opacity: 1 !important;
transform: scale(1) !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}
.pp-gallery-zoom svg,
.pp-zoom-trigger svg {
width: 15px !important;
height: 15px !important;
opacity: 0.95;
}
} .pp-loop-gallery.simple-swap {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
}
.hover-slide {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
opacity: 0;
z-index: 5;
transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
transform: scale(1.08); }
.pp-loop-gallery-wrapper:hover .hover-slide {
opacity: 1;
transform: scale(1.05); } .pp-loop-gallery-wrapper:hover .main-img {
opacity: 0.7; } .pp-card-content {
display: flex;
flex-direction: column;
flex: 1;
padding: 20px 22px 22px;
text-align: left !important;
} .pp-card-meta {
display: flex;
justify-content: space-between;
align-items: center;
gap: 8px;
margin-bottom: 10px;
flex-wrap: nowrap;
} .pp-card-rating-badge {
display: inline-flex;
align-items: center;
gap: 5px;
background: #fffbeb;
border: 1px solid #fde68a;
color: #d97706;
font-family: 'Manrope', sans-serif;
font-size: 12px;
font-weight: 800;
padding: 4px 10px;
border-radius: 100px;
flex-shrink: 0;
}
.pp-card-rating-badge svg {
width: 11px;
height: 11px;
fill: #f59e0b;
flex-shrink: 0;
} .pp-badge-tech-info {
display: inline-flex;
align-items: center;
background: #f8fafc;
border: 1px solid #e2e8f0;
color: #475569;
font-family: 'Inter', sans-serif;
font-size: 9px;
font-weight: 800;
letter-spacing: 0.06em;
text-transform: uppercase;
padding: 5px 10px;
border-radius: 100px;
flex-shrink: 0;
white-space: nowrap;
} .pp-card-title {
font-family: var(--font-heading);
font-size: 17px !important;
font-weight: 800 !important;
color: var(--color-dark);
line-height: 1.3;
margin: 0 0 6px 0 !important;
letter-spacing: var(--ls-tight);
display: -webkit-box;
-webkit-line-clamp: 2;
line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
text-align: left !important;
}
.pp-card-title a {
color: inherit;
text-decoration: none;
} .pp-card-subtitle {
font-family: 'Inter', sans-serif;
font-size: 12.5px !important;
color: #64748b;
font-weight: 500;
margin-bottom: 16px;
text-align: left !important;
line-height: 1.4;
} .pp-listing-dims {
display: flex !important;
align-items: center;
gap: 4px;
flex-wrap: wrap;
justify-content: flex-start !important; text-align: left !important;
color: #64748b;
font-size: 12px;
font-weight: 500;
}
.pp-listing-dims .pp-dim-icon {
opacity: 0.5;
display: flex;
align-items: center;
flex-shrink: 0;
}
.pp-listing-dims .pp-dim-val {
font-weight: 700;
color: #334155;
}
.pp-listing-dims .pp-dim-sep {
color: #cbd5e1;
font-weight: 400;
} .pp-card-divider {
width: 100%;
height: 1px;
background: #f1f5f9;
margin-top: auto;
margin-bottom: 16px;
flex-shrink: 0;
} .pp-card-footer {
display: flex;
justify-content: space-between;
align-items: flex-end;
gap: 8px;
}
.pp-card-price-box {
display: flex;
flex-direction: column;
align-items: flex-start;
min-width: 0;
}
.pp-price-label {
font-family: 'Inter', sans-serif;
font-size: 9px;
font-weight: 800;
color: #94a3b8;
text-transform: uppercase;
letter-spacing: 0.07em;
margin-bottom: 2px;
}
.pp-card-old-price {
font-size: 12px;
font-weight: 500;
color: #94a3b8;
text-decoration: line-through;
line-height: 1;
margin-bottom: 2px;
}
.pp-card-old-price .woocommerce-Price-amount,
.pp-card-old-price bdi {
font-size: inherit !important;
color: inherit !important;
font-weight: inherit !important;
}
.pp-price-row {
display: flex;
align-items: baseline;
gap: 2px;
flex-wrap: nowrap;
}
.pp-price-main {
font-family: 'Manrope', sans-serif;
font-size: 26px;
font-weight: 900;
color: #0f172a;
line-height: 1;
letter-spacing: -0.04em;
}
.pp-price-currency {
font-family: 'Manrope', sans-serif;
font-size: 14px;
font-weight: 700;
color: #334155;
letter-spacing: 0;
} .pp-card-action-btn {
flex-shrink: 0;
width: 52px;
height: 52px;
background: #f1f5f9;
border-radius: 14px;
display: flex;
align-items: center;
justify-content: center;
color: #475569;
border: none;
cursor: pointer;
text-decoration: none;
transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
}
.pp-product-card:hover .pp-card-action-btn {
background: #10b981;
color: #ffffff;
transform: scale(1.06);
box-shadow: 0 8px 20px rgba(16, 185, 129, 0.35);
}
.pp-card-action-btn svg {
width: 20px;
height: 20px;
transition: transform 0.25s ease;
}
.pp-product-card:hover .pp-card-action-btn svg {
transform: translate(2px, -2px);
}  .pp-card-image-wrapper .absolute {
pointer-events: none;
} .pp-card-image-wrapper [class*="absolute"] {
z-index: 10;
} .pp-card-icons {
z-index: 60 !important;
} .pp-loop-gallery-wrapper {
position: relative;
width: 100%;
height: 100%;
}
.pp-loop-gallery,
.pp-loop-slide {
width: 100%;
height: 100%;
}
.pp-loop-slide img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.pp-loop-link {
display: block;
width: 100%;
height: 100%;
} .flickity-page-dots,
.flickity-prev-next-button {
display: none !important;
} .pp-card-title a,
.pp-card-title a:hover,
.pp-card-title a:visited {
color: #0f172a !important;
text-decoration: none !important;
} .pp-card-title {
line-clamp: 2;
} @media (max-width: 767px) { .pp-card-content {
padding: 12px 14px 14px;
} .pp-card-meta {
margin-bottom: 6px;
}
.pp-badge-tech-info {
font-size: 8px;
padding: 3px 7px;
} .pp-card-title {
font-size: 13px !important;
margin-bottom: 4px !important;
} .pp-card-subtitle {
font-size: 11px !important;
margin-bottom: 10px;
}
.pp-listing-dims {
font-size: 10.5px;
flex-wrap: nowrap; overflow: hidden;
}
.pp-listing-dims .pp-dim-val {
font-size: 10.5px;
} .pp-card-divider {
margin-bottom: 10px;
} .pp-price-label {
font-size: 8px;
} .pp-price-main {
font-size: 20px;
letter-spacing: -0.03em;
}
.pp-price-currency {
font-size: 12px;
} .pp-card-action-btn {
width: 38px;
height: 38px;
border-radius: 10px;
flex-shrink: 0;
}
.pp-card-action-btn svg {
width: 16px;
height: 16px;
} .pp-card-icons {
top: 8px;
right: 8px;
gap: 4px;
}
.pp-card-icon,
.pp-card-icon.tooltipped {
width: 26px;
height: 26px;
}
.pp-card-icon svg,
.pp-card-icon.tooltipped svg {
width: 13px;
height: 13px;
} .pp-card-icon[data-tooltip]::after,
.pp-card-icon.tooltipped[data-tooltip]::after {
right: -4px !important;
left: auto !important;
transform: translateY(10px) !important;
bottom: calc(100% + 10px) !important;
top: auto !important;
font-size: 11px !important;
padding: 6px 12px !important;
white-space: nowrap !important;
max-width: 200px !important;
opacity: 0 !important;
visibility: hidden !important;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
border-radius: 6px !important;
text-align: right !important;
} .pp-card-icon.tooltipped.is-active[data-tooltip]::after {
opacity: 1 !important;
visibility: visible !important;
transform: translateY(0) !important;
} .pp-card-icon[data-tooltip]::before,
.pp-card-icon.tooltipped[data-tooltip]::before {
right: 8px !important;
left: auto !important;
transform: translateY(5px) !important;
bottom: calc(100% + 4px) !important;
top: auto !important;
border: 4px solid transparent !important;
border-top-color: #0f172a !important;
opacity: 0 !important;
visibility: hidden !important;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.pp-card-icon.tooltipped.is-active[data-tooltip]::before {
opacity: 1 !important;
visibility: visible !important;
transform: translateY(0) !important;
}
}