.pcard { --pc-gap:.75rem; --pc-border:var(--site-color-border,rgba(0,0,0,.05)); --pc-glow:#b88a33; position:relative; display:flex; flex-direction:column; background:linear-gradient(135deg,#ffffff,#fcfcfc); border-radius:18px; overflow:hidden; box-shadow:0 3px 10px -4px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.06); transition:box-shadow .45s cubic-bezier(.4,.2,.2,1),transform .45s cubic-bezier(.4,.2,.2,1),border-color .4s; isolation:isolate; border:1px solid var(--pc-border); backdrop-filter:saturate(140%) contrast(102%); }
.pcard:before { content:""; position:absolute; inset:0; background:radial-gradient(ellipse at 30% 20%,rgba(184,138,51,.08),transparent 60%); opacity:.9; pointer-events:none; transition:opacity .5s; }
.pcard:after { content:""; position:absolute; inset:0; border:2px solid transparent; border-radius:inherit; background:linear-gradient(140deg,rgba(184,138,51,.25),rgba(255,255,255,0)) border-box; pointer-events:none; mask:linear-gradient(#000,#000) padding-box,linear-gradient(#000,#000); mask-composite:exclude; opacity:0; transition:opacity .5s; }
.pcard:focus-within,.pcard:hover { box-shadow:0 10px 28px -8px rgba(0,0,0,.28),0 6px 14px -6px rgba(0,0,0,.18); transform:translateY(-5px); }
.pcard:hover:after,.pcard:focus-within:after { opacity:1; }
.pcard:focus-visible { outline:2px solid var(--pc-glow); outline-offset:2px; }
.pcard__media { position:relative; aspect-ratio:1/1; overflow:hidden; background:linear-gradient(135deg,#f5f5f5,#eeeeee); }
.pcard__media:after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,.05)); opacity:0; transition:opacity .5s; }
.pcard:hover .pcard__media:after { opacity:1; }
.pcard__link { display:block; height:100%; width:100%; position:relative; }
.pcard__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:opacity .45s ease,transform .9s ease; backface-visibility:hidden; will-change:transform; }
.pcard:hover .pcard__img--primary { transform:scale(1.04); }
.pcard:hover .pcard__img--hover { transform:scale(1.04); }
.pcard__img--primary { opacity:1; }
.pcard__img--hover { opacity:0; }
.pcard:hover .pcard__img--hover { opacity:1; }
.pcard:hover .pcard__img--primary { opacity:0; }
.pcard__flags { position:absolute; top:8px; left:8px; display:flex; flex-direction:column; gap:6px; z-index:2; }
.pcard__flag { font-size:.65rem; padding:4px 7px 3px; font-weight:600; text-transform:uppercase; letter-spacing:.5px; border-radius:6px; color:#fff; line-height:1; backdrop-filter:blur(4px); }
.pcard__flag--new { background:var(--site-color-success,#22a746); }
.pcard__flag--hot { background:linear-gradient(135deg,#ff9800,#ff5722); }
.pcard__flag--muted { background:#6c757d; }
.pcard__flag--deal { background:var(--site-color-deal,#d62542); }
.pcard__hoverbar { position:absolute; inset:auto 0 0 0; display:flex; flex-wrap:nowrap; gap:6px; padding:10px 10px 12px; background:linear-gradient(to top,rgba(0,0,0,.60),rgba(0,0,0,.08)); backdrop-filter:blur(6px) saturate(160%); opacity:0; transform:translateY(28%); transition:opacity .45s,transform .5s; z-index:3; }
.pcard:hover .pcard__hoverbar,.pcard:focus-within .pcard__hoverbar { opacity:1; transform:translateY(0); }
.pcard__action,.pcard__add { appearance:none; border:0; background:rgba(255,255,255,.12); color:#fff; font-size:.7rem; padding:6px 10px 6px; border-radius:9px; display:inline-flex; align-items:center; gap:6px; line-height:1.1; cursor:pointer; backdrop-filter:saturate(160%) blur(6px); transition:background .3s,color .3s,transform .4s; text-decoration:none; font-weight:600; white-space:nowrap; position:relative; }
.pcard__action:before,.pcard__add:before { content:""; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(145deg,rgba(255,255,255,.35),rgba(255,255,255,0)); opacity:.0; transition:opacity .4s; }
.pcard__action:hover:before,.pcard__add:hover:before { opacity:.5; }
.pcard__action:hover,.pcard__add:hover { background:rgba(255,255,255,.28); color:#fff; }
.pcard__add { margin-left:auto; background:#b88a33; box-shadow:0 0 0 0 rgba(184,138,51,.4); }
.pcard__add:hover { background:#9d7325; box-shadow:0 4px 14px -4px rgba(184,138,51,.55); }
.pcard__add:active { transform:scale(.94); }
.pcard__body { display:flex; flex-direction:column; padding:var(--pc-gap) var(--pc-gap) calc(var(--pc-gap) + 4px); gap:.45rem; position:relative; }
.pcard__body:before { content:""; position:absolute; inset:0; pointer-events:none; opacity:0; background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.5)); transition:opacity .6s; }
.pcard:hover .pcard__body:before { opacity:1; }
.pcard__title { font-size:.95rem; font-weight:700; line-height:1.25; margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pcard__title a { color:#111; text-decoration:none; }
.pcard__title a:hover { text-decoration:underline; text-underline-offset:2px; }
.pcard__excerpt { font-size:.7rem; color:#555; margin:.15rem 0 0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-height:1.1em; }
.pcard__priceRow { display:flex; justify-content:space-between; align-items:center; gap:.75rem; margin-top:.4rem; }
.pcard__priceGroup { display:inline-flex; align-items:baseline; gap:.55rem; }
.pcard__price { font-weight:700; font-size:1.08rem; color:#111; letter-spacing:.2px; }
.pcard__priceOld { font-size:.8rem; text-decoration:line-through; color:#888; }
.pcard__rating { display:inline-flex; align-items:center; gap:4px; font-size:.7rem; margin-top:4px; min-height:1rem; }
.pcard__star { font-size:.78rem; color:#cfcfcf; transition:color .35s; filter:drop-shadow(0 0 0 rgba(0,0,0,0)); }
.pcard__star.is-filled { color:#f5a623; filter:drop-shadow(0 1px 2px rgba(0,0,0,.18)); }
.pcard__reviews { font-size:.65rem; color:#555; margin-left:2px; }
.pcard__discount { background:var(--site-color-deal,#d62542); color:#fff; font-size:.58rem; font-weight:700; padding:4px 7px 3px; border-radius:18px; line-height:1; letter-spacing:.6px; display:inline-flex; align-items:center; gap:4px; box-shadow:0 2px 6px -2px color-mix(in srgb,var(--site-color-deal,#d62542) 60%, transparent); position:relative; overflow:hidden; }
.pcard__discount:before { content:""; position:absolute; inset:0; background:linear-gradient(120deg,rgba(255,255,255,.35),rgba(255,255,255,0)); mix-blend-mode:overlay; }
.pcard__action-label { display:none; }
@media (min-width:640px){ .pcard__action-label { display:inline; } }
@media (prefers-reduced-motion:reduce){ .pcard,.pcard__hoverbar,.pcard__img { transition:none !important; } }

/* === V2 Card Structure Support (.card, .image-container, etc.) === */
.pcard.card { padding:0; border-color:var(--site-color-border, var(--pc-border)); }
.pcard.card .badge { position:absolute; top:10px; right:10px; background:linear-gradient(135deg,var(--site-color-badge-hot-start,#ff416c),var(--site-color-badge-hot-end,#ff4b2b)); color:#fff; font-size:.62rem; font-weight:600; padding:5px 10px 4px; border-radius:30px; letter-spacing:.5px; text-transform:uppercase; z-index:4; box-shadow:0 2px 8px -2px rgba(0,0,0,.35); }
.pcard.card .badge.badge--new { background:var(--site-color-success,#22a746) !important; box-shadow:0 2px 8px -2px rgba(34,167,70,.4) !important; }
.pcard.card .image-container { position:relative; width:100%; aspect-ratio:1/1; overflow:hidden; border-top-left-radius:inherit; border-top-right-radius:inherit; background:linear-gradient(135deg,#f2f2f2,#e3e3e3); }
.pcard.card .image-container { background:#ffffff; }
.pcard.card .image-container .image-dual { position:relative; display:block; height:100%; width:100%; }
.pcard.card .image-container img { width:100%; height:100%; object-fit:cover; display:block; position:absolute; inset:0; transition:opacity .55s ease,transform .9s cubic-bezier(.3,.7,.2,1); }
.pcard.card .image-container img.img-primary { opacity:1; z-index:1; }
.pcard.card .image-container img.img-secondary { opacity:0; z-index:2; }
.pcard.card:hover .image-container img.img-primary { opacity:0; transform:scale(1.04); }
.pcard.card:hover .image-container img.img-secondary { opacity:1; transform:scale(1.07); }
.pcard.card .hover-actions { opacity:0; transform:translateY(6px); transition:opacity .45s ease,transform .5s ease; }
.pcard.card:hover .hover-actions, .pcard.card:focus-within .hover-actions { opacity:1; transform:translateY(0); }
.pcard.card .hover-actions { position:absolute; top:12px; left:12px; display:flex; flex-direction:column; gap:.55rem; z-index:5; }
.pcard.card .action-btn { width:40px; height:40px; display:grid; place-items:center; border-radius:12px; background:var(--site-color-extra,rgba(255,255,255,.65)); backdrop-filter:blur(6px) saturate(160%); border:1px solid rgba(255,255,255,.6); box-shadow:0 4px 10px -4px rgba(0,0,0,.25); color:#222; transition:background .35s,transform .4s,color .35s; text-decoration:none; }
.pcard.card .action-btn:hover { background:var(--site-color-accent,#fff); transform:translateY(-3px); }
.pcard.card .action-btn:active { transform:scale(.9); }
.pcard.card .action-btn.wishlist[aria-label*='Remove'] svg { filter:drop-shadow(0 2px 4px rgba(255,65,108,.45)); }
.pcard.card .card-content { display:flex; flex-direction:column; padding:0.9rem .9rem 1.05rem; gap:.55rem; background:#fff; }
.pcard.card .title { font-size:1rem; line-height:1.18; margin:0; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block; color:var(--site-color-text-primary,#111); }
.pcard.card .title a { color:inherit; text-decoration:none; }
.pcard.card .title a:hover { text-decoration:underline; text-underline-offset:2px; }
.pcard.card .description { font-size:.72rem; line-height:1.15; margin:0; color:var(--site-color-text-secondary,#555); max-height:2.4em; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical; }
.pcard.card .price-container { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem .65rem; margin-top:.2rem; font-feature-settings:"tnum" on; }
.pcard.card .old-price { font-size:.72rem; text-decoration:line-through; color:#8a8a8a; }
.pcard.card .current-price { font-size:1.05rem; font-weight:700; color:#111; letter-spacing:.3px; }
.pcard.card .discount { background:var(--site-color-deal,#d62542); color:#fff; font-size:.6rem; font-weight:700; padding:4px 8px 3px; border-radius:22px; letter-spacing:.5px; box-shadow:0 2px 8px -2px color-mix(in srgb,var(--site-color-deal,#d62542) 60%, transparent); position:relative; overflow:hidden; }
.pcard.card .discount:before { content:""; position:absolute; inset:0; background:linear-gradient(120deg,rgba(255,255,255,.4),rgba(255,255,255,0)); }
.pcard.card .rating-container { display:flex; align-items:center; gap:6px; font-size:.65rem; margin-top:.1rem; }
.pcard.card .rating-container .review-count { order:2; }
.pcard.card .rating-container .stock-status.inline-badge { margin-left:auto; order:3; }
.pcard.card .rating-container .stars { display:inline-flex; gap:2px; }
.pcard.card .rating-container .stock-status.inline-badge { background:rgba(17,17,17,.06); color:#222; padding:3px 8px 2px; border-radius:14px; font-weight:600; letter-spacing:.4px; font-size:.58rem; line-height:1; }
.pcard.card .rating-container .stock-status.inline-badge[data-stock='out'] { background:color-mix(in srgb,var(--site-color-deal,#d62542) 15%, transparent); color:var(--site-color-deal,#d62542); }
.pcard.card .rating-container .review-count { color:#555; font-size:.65rem; }
.pcard.card .rating-container .stock-status { margin-left:auto; font-size:.6rem; padding:3px 8px 2px; border-radius:16px; font-weight:600; letter-spacing:.4px; background:rgba(17,17,17,.06); color:#222; }
.pcard.card .rating-container .stock-status[data-stock='out'] { background:color-mix(in srgb,var(--site-color-deal,#d62542) 12%, transparent); color:var(--site-color-deal,#d62542); }
.pcard.card .rating-container .stock-status.badge { display:inline-flex; align-items:center; gap:4px; }
.pcard.card .add-to-cart-btn { margin-top:.4rem; display:flex; align-items:center; justify-content:center; gap:.55rem; width:100%; background:linear-gradient(135deg,#b88a33,#d19e3d); color:#fff; font-weight:700; font-size:.78rem; letter-spacing:.7px; padding:.75rem .9rem .72rem; border-radius:14px; text-decoration:none; box-shadow:0 6px 18px -6px rgba(184,138,51,.55); position:relative; overflow:hidden; transition:background .5s,transform .45s,box-shadow .5s; }
.pcard.card .add-to-cart-btn:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 25% 20%,rgba(255,255,255,.55),rgba(255,255,255,0)); opacity:.35; pointer-events:none; mix-blend-mode:overlay; }
.pcard.card .add-to-cart-btn:hover { background:linear-gradient(135deg,#c79538,#e3aa41); transform:translateY(-3px); box-shadow:0 10px 26px -10px rgba(184,138,51,.65),0 3px 10px -2px rgba(184,138,51,.45); }
.pcard.card .add-to-cart-btn:active { transform:translateY(0) scale(.97); }
.pcard.card .add-to-cart-btn svg { flex-shrink:0; }

/* Dark mode adjustments for V2 */
@media (prefers-color-scheme: dark) {
	.pcard.card .description { color:#aaa; }
	/* Use secondary text variable in dark mode as well, fallback to existing #aaa */
	.pcard.card .description { color:var(--site-color-text-secondary,#aaa); }
	.pcard.card .current-price { color:var(--site-color-text-primary); }
	.pcard.card .old-price { color:#b5b5b5; }
	.pcard.card .action-btn { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.18); color:#f3f3f3; }
	.pcard.card .action-btn:hover { background:rgba(255,255,255,.2); }
	.pcard.card .rating-container .stock-status { background:rgba(255,255,255,.08); color:#e5e5e5; }
	.pcard.card .rating-container .stock-status[data-stock='out'] { background:rgba(214,37,66,.12); }
	.pcard.card .add-to-cart-btn { box-shadow:0 6px 20px -8px rgba(184,138,51,.55); }
}

/* Dark mode support (inherits legacy palette but softens surfaces) */
@media (prefers-color-scheme: dark) {
	.pcard { background:linear-gradient(145deg,#1c1c1c,#242424); border-color:rgba(255,255,255,.08); box-shadow:0 4px 18px -6px rgba(0,0,0,.6),0 2px 4px -1px rgba(0,0,0,.4); }
	.pcard__body:before { background:linear-gradient(180deg,rgba(36,36,36,.1),rgba(36,36,36,.65)); }
	.pcard__price { color:#fafafa; }
	.pcard__priceOld { color:#bbb; }
	.pcard__title a { color:#f5f5f5; }
	.pcard__excerpt { color:#aaa; }
	.pcard__media { background:#2a2a2a; }
	.pcard__hoverbar { background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.2)); }
	.pcard__action,.pcard__add { background:rgba(255,255,255,.08); }
	.pcard__action:hover,.pcard__add:hover { background:rgba(255,255,255,.22); }
}

/* === Overrides (Clean surface, larger radius, accent icons) === */
.pcard { background:#ffffff !important; border-radius:22px !important; box-shadow:0 4px 14px -6px rgba(0,0,0,.10),0 2px 4px -2px rgba(0,0,0,.04) !important; backdrop-filter:none !important; }
.pcard:before,.pcard:after { display:none !important; }
.pcard.card { border-radius:22px !important; }
.pcard.card .image-container { background:#fff !important; }
.pcard.card .action-btn { background:var(--site-color-extra,#f7f7f7) !important; border:1px solid var(--site-color-border,rgba(0,0,0,.06)) !important; color:var(--site-color-accent,#b88a33) !important; box-shadow:0 2px 6px -2px rgba(0,0,0,.15) !important; backdrop-filter:none !important; }
.pcard.card .action-btn:hover { background:var(--site-color-accent,#b88a33) !important; color:#fff !important; }
@media (prefers-color-scheme: dark) { .pcard { background:#1e1e1e !important; } .pcard.card .action-btn { background:rgba(255,255,255,.10) !important; color:var(--site-color-accent,#d1a24d) !important; border-color:rgba(255,255,255,.18) !important; } .pcard.card .action-btn:hover { background:var(--site-color-accent,#b88a33) !important; color:#111 !important; } }
/* Slightly wider card */
.pcard.card { width:100%; max-width:280px; }
/* Responsive tweaks for mobile */
@media (max-width:540px) {
	.pcard.card { max-width:100% !important; border-radius:18px !important; }
	.pcard.card .card-content { padding:0.75rem .75rem .85rem; gap:.45rem; }
	.pcard.card .title { font-size:.95rem; }
	.pcard.card .current-price { font-size:.98rem; }
	.pcard.card .rating-container { gap:4px; }
	.pcard.card .rating-container .stock-status.inline-badge { white-space:nowrap; padding:3px 7px 2px; font-size:.56rem; }
	.pcard.card .rating-container .review-count { font-size:.6rem; }
	.pcard.card .discount { font-size:.56rem; padding:3px 7px 2px; }
	.pcard.card .action-btn { width:36px; height:36px; border-radius:10px; }
	/* Stop vertical lift on hover/focus for mobile to prevent layout shift */
	.pcard.card:hover, .pcard.card:focus-within { transform:none !important; box-shadow:0 4px 14px -6px rgba(0,0,0,.10),0 2px 4px -2px rgba(0,0,0,.04) !important; }
	/* Allow rating line to wrap so stock badge isn't cropped */
	.pcard.card .rating-container { flex-wrap:wrap; align-items:flex-start; row-gap:2px; }
	.pcard.card .rating-container .stock-status.inline-badge { margin-left:0; order:4; }
	.pcard.card .rating-container .review-count { order:3; }
	.pcard.card .rating-container .stars { order:1; }
}

/* Prevent wrapping on stock badge & price area */
.pcard.card .rating-container .stock-status.inline-badge { white-space:nowrap; }
.pcard.card .price-container { white-space:nowrap; }
