/*
 * La Galga Gris · product-card.css
 * Card editorial: 4:5 con hover swap, nombre serif, chip 'Made to order', quick-add.
 */

.lgg-pcard-grid {
	gap: clamp(1.5rem, 3vw, 2.5rem) clamp(1rem, 2vw, 1.5rem);
}

/* Override del default Woo ul.products wrapper */
.lgg-pcard-grid > .lgg-pcard-wrap { display: contents; }

.lgg-pcard {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--sp-3);
	transition: transform var(--dur-base) var(--ease-emphasized);
}
.lgg-pcard:hover { transform: translateY(-4px); }
@media (prefers-reduced-motion: reduce) {
	.lgg-pcard:hover { transform: none; }
}

.lgg-pcard__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

/* ── Media ──────────────────────────────────────────────────────── */
.lgg-pcard__media {
	background: var(--color-bg-subtle);
	overflow: hidden;
	border-radius: var(--radius-md);
	position: relative;
}

.lgg-pcard__img {
	position: absolute;
	inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	transition: opacity var(--dur-base) var(--ease-standard),
				transform var(--dur-slow) var(--ease-emphasized);
}
.lgg-pcard__img--hover {
	opacity: 0;
}
.lgg-pcard:hover .lgg-pcard__img--main { transform: scale(1.04); }
.lgg-pcard:hover .lgg-pcard__img--hover { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
	.lgg-pcard__img { transition: opacity var(--dur-fast); }
	.lgg-pcard:hover .lgg-pcard__img--main { transform: none; }
}

.lgg-pcard__badges {
	position: absolute;
	top: var(--sp-3);
	left: var(--sp-3);
	right: var(--sp-3);
	display: flex;
	justify-content: space-between;
	pointer-events: none;
	gap: var(--sp-2);
}
.lgg-pcard__chip { background: rgba(255,255,255,0.92); color: var(--color-ink-primary); backdrop-filter: blur(4px); pointer-events: auto; }
.lgg-pcard__chip-sale { pointer-events: auto; }

/* ── Body ───────────────────────────────────────────────────────── */
.lgg-pcard__body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 0 var(--sp-1);
}
.lgg-pcard__cat {
	font-size: var(--fz-micro);
	letter-spacing: var(--ls-eyebrow);
	text-transform: uppercase;
	color: var(--color-ink-muted);
}
.lgg-pcard__name {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(1.05rem, 1.6vw, 1.25rem);
	font-weight: var(--fw-medium);
	line-height: 1.2;
	color: var(--color-ink-primary);
}
.lgg-pcard__name a {
	color: inherit;
	text-decoration: none;
	transition: color var(--dur-fast) var(--ease-standard);
}
.lgg-pcard:hover .lgg-pcard__name a { color: var(--color-accent); }

.lgg-pcard__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-2);
	margin-top: var(--sp-1);
}
.lgg-pcard__price {
	font-family: var(--font-body);
	font-weight: var(--fw-semibold);
	color: var(--color-ink-primary);
	font-size: 0.95rem;
}
.lgg-pcard__price del { color: var(--color-ink-muted); margin-right: 0.4em; font-weight: var(--fw-regular); }
.lgg-pcard__price ins { background: none; text-decoration: none; color: var(--color-accent); }
.lgg-pcard__price .woocommerce-Price-currencySymbol { margin-left: 1px; }

.lgg-pcard__quick-add {
	width: 36px; height: 36px;
	border-radius: 50%;
	background: var(--color-ink-primary);
	color: var(--color-ink-inverse);
	border: 0;
	display: inline-flex; align-items: center; justify-content: center;
	cursor: pointer;
	text-decoration: none;
	transition: background var(--dur-fast) var(--ease-standard),
				transform var(--dur-fast) var(--ease-emphasized);
}
.lgg-pcard__quick-add:hover {
	background: var(--color-accent);
	transform: rotate(90deg);
	color: var(--color-ink-inverse);
}
.lgg-pcard__quick-add--link:hover { transform: translateX(2px); }
.lgg-pcard__quick-add.is-loading {
	background: var(--color-ink-secondary);
	cursor: progress;
}
.lgg-pcard__quick-add.is-done {
	background: var(--color-success);
}

/* ── Variantes por contexto ─────────────────────────────────────── */
.lgg-pcard--carousel { min-width: 240px; }
.lgg-pcard--minicart-upsell {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: var(--sp-3);
	align-items: center;
}
.lgg-pcard--minicart-upsell .lgg-pcard__media { aspect-ratio: 1 / 1; }
.lgg-pcard--minicart-upsell .lgg-pcard__name { font-size: 0.95rem; }
.lgg-pcard--minicart-upsell .lgg-pcard__cat { display: none; }

/* ── Skeleton (mientras carga) ──────────────────────────────────── */
.lgg-pcard--skeleton .lgg-pcard__media {
	background: linear-gradient(90deg, var(--color-bg-subtle), color-mix(in srgb, var(--color-bg-subtle) 60%, var(--color-bg-card)), var(--color-bg-subtle));
	background-size: 200% 100%;
	animation: lgg-pcard-skel 1.4s linear infinite;
}
.lgg-pcard--skeleton .lgg-pcard__body .lgg-pcard__name,
.lgg-pcard--skeleton .lgg-pcard__body .lgg-pcard__cat,
.lgg-pcard--skeleton .lgg-pcard__body .lgg-pcard__price {
	background: var(--color-bg-subtle);
	color: transparent;
	border-radius: 3px;
	min-height: 12px;
}
@keyframes lgg-pcard-skel {
	from { background-position: 0 0; }
	to   { background-position: -200% 0; }
}
@media (prefers-reduced-motion: reduce) {
	.lgg-pcard--skeleton .lgg-pcard__media { animation: none; }
}
