.card-product-v4{--cpv4-card-bg:#fff;--cpv4-card-border:#ebebeb;--cpv4-card-border-hover:rgba(201,169,110,.35);--cpv4-image-bg:#f5f3ef;--cpv4-text:#1a1a1a;--cpv4-text-muted:#999;--cpv4-accent:#c9a96e;--cpv4-accent-dark:#b89860;--cpv4-price-sale:#c9a96e;--cpv4-price-compare:#999;--cpv4-badge-sale:#d64545;--cpv4-badge-soldout:#888;--cpv4-cta-bg:#1a1a1a;--cpv4-cta-hover:#c9a96e;--cpv4-shadow:0 2px 8px rgba(0,0,0,.04);--cpv4-shadow-hover:0 16px 36px rgba(0,0,0,.10);position:relative;background:var(--cpv4-card-bg);border:1px solid var(--cpv4-card-border);border-radius:14px;box-shadow:var(--cpv4-shadow);overflow:hidden;display:flex;flex-direction:column;text-decoration:none!important;color:inherit;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;height:100%}
.card-product-v4:hover{transform:translateY(-4px);box-shadow:var(--cpv4-shadow-hover);border-color:var(--cpv4-card-border-hover)}
.cpv4__media{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--cpv4-image-bg);display:block}
.cpv4__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .3s ease,transform .4s ease}
.cpv4__img--secondary{opacity:0}
.card-product-v4:hover .cpv4__img--primary{opacity:0}
.card-product-v4:hover .cpv4__img--secondary{opacity:1}
.card-product-v4--single:hover .cpv4__img--primary{opacity:1;transform:scale(1.05)}
.card-product-v4--locked .cpv4__img--primary,.card-product-v4--locked:hover .cpv4__img--primary{opacity:1!important}
.card-product-v4--locked .cpv4__img--secondary,.card-product-v4--locked:hover .cpv4__img--secondary{opacity:0!important}
.card-product-v4--locked:hover .cpv4__img--primary{transform:scale(1.04)}
.cpv4__badges{position:absolute;top:14px;left:14px;display:flex;flex-direction:column;gap:6px;z-index:2}
.cpv4__badge{display:inline-block;padding:5px 12px;border-radius:20px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.4;color:#fff}
.cpv4__badge--sale{background:var(--cpv4-badge-sale)}
.cpv4__badge--soldout{background:var(--cpv4-badge-soldout)}
.cpv4__badge--new{background:var(--cpv4-accent)}
.cpv4__cta{background:var(--cpv4-cta-bg);color:#fff;border:none;padding:12px 16px;border-radius:8px;font-size:13px;font-weight:600;letter-spacing:.03em;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;cursor:pointer;font-family:inherit;box-sizing:border-box}
.cpv4__cta svg{width:14px;height:14px;transition:transform .2s ease}
.cpv4__cta--overlay{position:absolute;left:12px;right:12px;bottom:12px;z-index:3;opacity:0;transform:translateY(12px);transition:opacity .3s ease,transform .3s ease,background .2s ease,gap .2s ease}
.card-product-v4:hover .cpv4__cta--overlay{opacity:1;transform:translateY(0)}
.card-product-v4:hover .cpv4__cta--overlay svg{transform:translateX(2px)}
.cpv4__cta--overlay:hover{background:var(--cpv4-cta-hover);gap:12px}
.cpv4__cta--inline{display:none;margin-top:10px;width:100%;padding:11px 16px;font-size:13px}
.cpv4__body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.cpv4__vendor{font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--cpv4-text-muted);font-weight:600;margin:0 0 2px}
.cpv4__title{font-size:14.5px;font-weight:400;color:var(--cpv4-text);line-height:1.45;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word;min-height:2.9em;max-height:2.9em}
.cpv4__rating{margin:2px 0;display:flex;align-items:center;gap:6px;min-height:14px}
.cpv4__stars{display:inline-block;position:relative;font-size:13px;letter-spacing:2px;color:#e0d8cc;line-height:1;user-select:none}
.cpv4__stars::before{content:'\2605\2605\2605\2605\2605';position:absolute;inset:0;color:var(--cpv4-accent);width:var(--cpv4-rating-pct,0%);overflow:hidden;white-space:nowrap}
.cpv4__rating-count{font-size:11.5px;color:var(--cpv4-text-muted)}
.cpv4__rating .jdgm-prev-badge{display:inline-flex!important;align-items:center;gap:6px;margin:0!important;text-decoration:none!important}
.cpv4__rating .jdgm-prev-badge__stars,.cpv4__rating .jdgm-star{color:var(--cpv4-accent)!important;font-size:13px!important;letter-spacing:2px!important}
.cpv4__rating .jdgm-prev-badge__text,.cpv4__rating .jdgm-prev-badge[data-average-rating] .jdgm-prev-badge__text{color:var(--cpv4-accent)!important;font-size:11.5px!important;font-weight:600!important;text-decoration:none!important}
.cpv4__rating a,.cpv4__rating .jdgm-prev-badge a{color:var(--cpv4-accent)!important;text-decoration:none!important}
.cpv4__variants{display:flex;align-items:center;gap:8px;margin-top:4px;min-height:22px;flex-wrap:wrap}
.cpv4__swatch{width:18px;height:18px;border-radius:50%;border:1.5px solid rgba(0,0,0,.12);background:var(--cpv4-swatch-color,#e0e0e0);position:relative;cursor:pointer;padding:0;flex-shrink:0;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.cpv4__swatch:hover{transform:scale(1.18);border-color:var(--cpv4-text);box-shadow:0 2px 6px rgba(0,0,0,.12);z-index:1}
.cpv4__swatch--active{border-color:var(--cpv4-text);box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--cpv4-text)}
.cpv4__swatch--active:hover{transform:scale(1.05)}
.cpv4__swatch::after{content:attr(data-name);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);background:var(--cpv4-text);color:#fff;font-size:11px;font-weight:600;padding:4px 8px;border-radius:4px;white-space:nowrap;letter-spacing:.02em;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:10}
.cpv4__swatch:hover::after{opacity:1;transform:translateX(-50%) translateY(0)}
.cpv4__swatch--more{background:#f5f3ef;color:#6b6b6b;border:1.5px solid var(--cpv4-card-border);display:inline-flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:700;width:auto;min-width:28px;height:18px;border-radius:12px;padding:0 6px;cursor:default}
.cpv4__swatch--more:hover{transform:none;box-shadow:none}
.cpv4__swatch--more::after{display:none}
.cpv4__swatch[data-color="or"],.cpv4__swatch[data-color="dore"],.cpv4__swatch[data-color="doree"],.cpv4__swatch[data-color="gold"]{--cpv4-swatch-color:linear-gradient(135deg,#d4af6a,#b8892e)}
.cpv4__swatch[data-color="argent"],.cpv4__swatch[data-color="argente"],.cpv4__swatch[data-color="argentee"],.cpv4__swatch[data-color="silver"]{--cpv4-swatch-color:linear-gradient(135deg,#e8e8e8,#b0b0b0)}
.cpv4__swatch[data-color="noir"],.cpv4__swatch[data-color="noire"],.cpv4__swatch[data-color="black"]{--cpv4-swatch-color:linear-gradient(135deg,#555,#111)}
.cpv4__swatch[data-color="blanc"],.cpv4__swatch[data-color="blanche"],.cpv4__swatch[data-color="white"]{--cpv4-swatch-color:#fff;border-color:#ccc}
.cpv4__swatch[data-color="bronze"]{--cpv4-swatch-color:linear-gradient(135deg,#cd7f32,#a05c20)}
.cpv4__swatch[data-color="bois"],.cpv4__swatch[data-color="chene"],.cpv4__swatch[data-color="chene-clair"]{--cpv4-swatch-color:linear-gradient(135deg,#c4a17a,#8b6f47)}
.cpv4__swatch[data-color="noyer"]{--cpv4-swatch-color:linear-gradient(135deg,#6b4423,#3d2814)}
.cpv4__swatch[data-color="rouge"],.cpv4__swatch[data-color="red"]{--cpv4-swatch-color:#c0392b}
.cpv4__swatch[data-color="bleu"],.cpv4__swatch[data-color="bleue"],.cpv4__swatch[data-color="blue"]{--cpv4-swatch-color:#2e86c1}
.cpv4__swatch[data-color="vert"],.cpv4__swatch[data-color="verte"],.cpv4__swatch[data-color="green"]{--cpv4-swatch-color:#239b56}
.cpv4__price-wrap{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:4px}
.cpv4__price{font-size:16px;font-weight:700;color:var(--cpv4-text);margin:0}
.cpv4__price--sale{color:var(--cpv4-price-sale)}
.cpv4__price-compare{font-size:13px;color:var(--cpv4-price-compare);text-decoration:line-through;font-weight:500}
.card-product-v4--sold-out .cpv4__media::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.5);z-index:1;pointer-events:none}
@media(max-width:640px){
  .cpv4__body{padding:12px 14px 16px}
  .cpv4__title{font-size:13px}
  .cpv4__vendor{font-size:10px;letter-spacing:.22em}
  .cpv4__price{font-size:14.5px}
  .cpv4__swatch{width:16px;height:16px}
  .cpv4__cta--overlay{display:none!important}
  .cpv4__cta--inline{display:inline-flex}
}
