/**
 * WooCommerce – Estilos del tema DJ Mascot
 * Tipografía: Inter. Colores: primary #00f2ff, fondos y slate.
 * Debe verse coherente con la landing y el header/footer.
 */

/* ═══════════════════════════════════════════════════════════════
   REPRODUCTOR DE VIDEO — Landing Demo
   ═══════════════════════════════════════════════════════════════ */

.djm-player {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #000;
	border-radius: 1.25rem;
	overflow: hidden;
	border: 1px solid rgba(51, 65, 85, 0.7);
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.7),
	            0 0 0 1px rgba(0, 242, 255, 0.06),
	            0 0 60px rgba(0, 242, 255, 0.04);
	cursor: pointer;
	outline: none;
	user-select: none;
}

.djm-player__video {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

/* ── Overlay inicial (portada + botón play grande) ── */
.djm-player__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.35);
	transition: opacity 0.3s ease;
}

.djm-player__big-play {
	width: 5rem;
	height: 5rem;
	border-radius: 50%;
	background: rgba(0, 242, 255, 0.9);
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #020617;
	box-shadow: 0 0 0 0 rgba(0, 242, 255, 0.4);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	animation: djm-pulse 2.5s infinite;
}

.djm-player__big-play:hover {
	transform: scale(1.12);
	box-shadow: 0 0 40px rgba(0, 242, 255, 0.5);
	animation: none;
}

.djm-player__big-play .material-symbols-outlined {
	font-size: 2.5rem !important;
	font-variation-settings: 'FILL' 1 !important;
}

@keyframes djm-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(0, 242, 255, 0.4); }
	50%       { box-shadow: 0 0 0 16px rgba(0, 242, 255, 0); }
}

/* ── Controles inferiores ── */
.djm-player__controls {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 2.5rem 1rem 0.85rem;
	background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, transparent 100%);
	opacity: 0;
	transform: translateY(6px);
	transition: opacity 0.25s ease, transform 0.25s ease;
	pointer-events: none;
}

/* Mostrar controles al hover o cuando está activo */
.djm-player--active .djm-player__controls,
.djm-player:hover  .djm-player__controls {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

/* ── Barra de progreso ── */
.djm-player__progress {
	position: relative;
	height: 4px;
	background: rgba(255, 255, 255, 0.15);
	border-radius: 4px;
	margin-bottom: 0.65rem;
	cursor: pointer;
	transition: height 0.15s ease;
}

.djm-player__progress:hover {
	height: 6px;
}

.djm-player__progress-buffered {
	position: absolute;
	top: 0; left: 0; bottom: 0;
	background: rgba(255, 255, 255, 0.2);
	border-radius: 4px;
	width: 0;
	pointer-events: none;
}

.djm-player__progress-fill {
	position: absolute;
	top: 0; left: 0; bottom: 0;
	background: var(--djm-primary);
	border-radius: 4px;
	width: 0;
	pointer-events: none;
	transition: width 0.1s linear;
}

.djm-player__progress-thumb {
	position: absolute;
	top: 50%;
	left: 0;
	width: 14px;
	height: 14px;
	background: #fff;
	border-radius: 50%;
	transform: translate(-50%, -50%) scale(0);
	pointer-events: none;
	box-shadow: 0 0 6px rgba(0, 242, 255, 0.6);
	transition: transform 0.15s ease;
}

.djm-player__progress:hover .djm-player__progress-thumb {
	transform: translate(-50%, -50%) scale(1);
}

/* ── Barra de botones ── */
.djm-player__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
}

.djm-player__bar-left,
.djm-player__bar-right {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.djm-player__btn {
	background: none;
	border: none;
	cursor: pointer;
	color: rgba(255, 255, 255, 0.85);
	padding: 0.35rem;
	border-radius: 0.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color 0.15s ease, background 0.15s ease;
	line-height: 1;
}

.djm-player__btn:hover {
	color: var(--djm-primary);
	background: rgba(0, 242, 255, 0.1);
}

.djm-player__btn .material-symbols-outlined {
	font-size: 1.35rem !important;
	font-variation-settings: 'FILL' 1 !important;
}

/* ── Control de volumen ── */
.djm-player__volume-wrap {
	width: 0;
	overflow: hidden;
	transition: width 0.2s ease;
}

.djm-player__bar-left:hover .djm-player__volume-wrap {
	width: 70px;
}

.djm-player__volume {
	-webkit-appearance: none;
	appearance: none;
	width: 64px;
	height: 4px;
	background: rgba(255,255,255,0.2);
	border-radius: 4px;
	outline: none;
	cursor: pointer;
}

.djm-player__volume::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--djm-primary);
	cursor: pointer;
	box-shadow: 0 0 4px rgba(0,242,255,0.5);
}

.djm-player__volume::-moz-range-thumb {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--djm-primary);
	border: none;
	cursor: pointer;
}

/* ── Tiempo ── */
.djm-player__time {
	font-size: 0.72rem;
	font-family: 'SF Mono', 'Fira Code', monospace;
	color: rgba(255, 255, 255, 0.7);
	white-space: nowrap;
	padding: 0 0.25rem;
	letter-spacing: 0.02em;
}

/* ── Pantalla completa ── */
.djm-player:fullscreen,
.djm-player:-webkit-full-screen {
	border-radius: 0;
	width: 100vw;
	height: 100vh;
	aspect-ratio: auto;
}

.djm-player:fullscreen .djm-player__video,
.djm-player:-webkit-full-screen .djm-player__video {
	height: 100vh;
}

/* ── Formato vertical 9:16 (TikTok / Reels) ── */
.djm-player--vertical {
	aspect-ratio: 9 / 16;
	max-width: 380px;
	margin-left: auto;
	margin-right: auto;
	/* Sombra lateral para dar profundidad en una pantalla de teléfono */
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.8),
	            -20px 0 60px rgba(0, 242, 255, 0.04),
	             20px 0 60px rgba(0, 242, 255, 0.04),
	            0 0 0 1px rgba(0, 242, 255, 0.08);
	border-radius: 2rem; /* Simula bordes redondeados de móvil */
}

/* Marco decorativo tipo teléfono */
.djm-player--vertical::before {
	content: '';
	position: absolute;
	top: 12px;
	left: 50%;
	transform: translateX(-50%);
	width: 40px;
	height: 4px;
	background: rgba(255, 255, 255, 0.15);
	border-radius: 2px;
	z-index: 10;
	pointer-events: none;
}

/* En vertical el video cubre el alto sin deformarse */
.djm-player--vertical .djm-player__video {
	object-fit: cover;
	height: 100%;
}

/* Controles más compactos en vertical */
.djm-player--vertical .djm-player__controls {
	padding-bottom: 1.5rem; /* espacio para barra de home simulada */
}

/* ── Mobile ── */
@media (max-width: 600px) {
	.djm-player__big-play { width: 4rem; height: 4rem; }
	.djm-player__big-play .material-symbols-outlined { font-size: 2rem !important; }
	.djm-player__controls { opacity: 1; transform: none; }
	.djm-player__volume-wrap { display: none; }

	/* Vertical en móvil — ocupa más ancho */
	.djm-player--vertical {
		max-width: 280px;
	}
}

/* Variables del tema (mismo criterio que Tailwind en functions.php) */
:root {
	--djm-primary: #00f2ff;
	--djm-primary-rgb: 0, 242, 255;
	--djm-bg-light: #f5f8f8;
	--djm-bg-dark: #0f2223;
	--djm-font-display: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--djm-radius: 0.5rem;
	--djm-radius-lg: 0.75rem;
	--djm-radius-xl: 1rem;
	--djm-text: #f5f5dc;
	--djm-text-muted: #64748b;
	--djm-border: #e2e8f0;
	--djm-border-strong: #cbd5e1;
}

/* ═══════════════════════════════════════════════════════════════
   HEADER
   ═══════════════════════════════════════════════════════════════ */

.djm-header {
	border-bottom: 1px solid transparent;
	background-image: linear-gradient(
		rgba(2, 6, 23, 0.8),
		rgba(2, 6, 23, 0.8)
	),
	linear-gradient(
		90deg,
		transparent 0%,
		rgba(0, 242, 255, 0.18) 40%,
		rgba(0, 242, 255, 0.18) 60%,
		transparent 100%
	);
	background-origin: border-box;
	background-clip: padding-box, border-box;
	border-image: linear-gradient(
		90deg,
		transparent 0%,
		rgba(0, 242, 255, 0.2) 30%,
		rgba(0, 242, 255, 0.2) 70%,
		transparent 100%
	) 1;
}

/* Mismo espaciado en home y tienda: contenedor del header más compacto */
.djm-header > div {
	max-width: 71rem;
}

/* Logo animado en el header: movimiento tipo ecualizador suave */
.djm-header-logo-icon {
	display: inline-block;
	animation: djmHeaderLogoPulse 2.4s ease-in-out infinite;
	transform-origin: center bottom;
}

@keyframes djmHeaderLogoPulse {
	0%   { transform: translateY(0) scaleY(1);        text-shadow: 0 0 0 rgba(0,242,255,0.0); }
	20%  { transform: translateY(-1px) scaleY(1.12);  text-shadow: 0 0 10px rgba(0,242,255,0.35); }
	40%  { transform: translateY(0) scaleY(0.96);     text-shadow: 0 0 4px rgba(0,242,255,0.25); }
	60%  { transform: translateY(-0.5px) scaleY(1.05);text-shadow: 0 0 8px rgba(0,242,255,0.3); }
	80%  { transform: translateY(0) scaleY(0.98);     text-shadow: 0 0 3px rgba(0,242,255,0.2); }
	100% { transform: translateY(0) scaleY(1);        text-shadow: 0 0 0 rgba(0,242,255,0.0); }
}

/* ═══════════════════════════════════════════════════════════════
   CART ICON — Header
   ═══════════════════════════════════════════════════════════════ */

/* ══ Language Switcher ══════════════════════════════════════ */
.djm-lang {
	position: relative;
}
.djm-lang__trigger {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 6px 10px;
	border-radius: 8px;
	border: 1px solid rgba(255,255,255,0.1);
	background: rgba(255,255,255,0.04);
	color: #94a3b8;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	cursor: pointer;
	transition: all 0.2s ease;
	font-family: inherit;
}
.djm-lang__trigger:hover {
	border-color: rgba(0,242,255,0.3);
	color: #e2e8f0;
	background: rgba(0,242,255,0.05);
}
.djm-lang__chevron {
	transition: transform 0.2s ease;
}
.djm-lang--open .djm-lang__chevron {
	transform: rotate(180deg);
}
.djm-lang--open .djm-lang__trigger {
	border-color: rgba(0,242,255,0.35);
	color: #00f2ff;
	background: rgba(0,242,255,0.07);
}
.djm-lang__dropdown {
	display: none;
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	min-width: 150px;
	background: #0d1b2e;
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: 12px;
	box-shadow: 0 16px 40px rgba(0,0,0,0.5);
	padding: 0.4rem;
	list-style: none;
	margin: 0;
	z-index: 200;
	animation: djmLangIn 0.15s ease-out both;
}
@keyframes djmLangIn {
	from { opacity: 0; transform: translateY(-6px) scale(0.97); }
	to   { opacity: 1; transform: translateY(0)   scale(1); }
}
.djm-lang--open .djm-lang__dropdown {
	display: block;
}
.djm-lang__option {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0.5rem 0.75rem;
	border-radius: 8px;
	text-decoration: none;
	font-size: 0.8rem;
	color: #94a3b8;
	transition: background 0.15s, color 0.15s;
}
.djm-lang__option:hover {
	background: rgba(255,255,255,0.06);
	color: #e2e8f0;
}
.djm-lang__option--active {
	color: #00f2ff;
	font-weight: 600;
}
.djm-lang__flag {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	opacity: 0.7;
}
.djm-lang__name {
	flex: 1;
}

/* ══ Cart icon ══════════════════════════════════════════════ */
.djm-header-cart {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 9999px;
	border: 1px solid rgba(var(--djm-primary-rgb), 0.25);
	background: rgba(var(--djm-primary-rgb), 0.05);
	color: rgba(0, 242, 255, 0.75);
	text-decoration: none !important;
	transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
	flex-shrink: 0;
}

.djm-header-cart:hover,
.djm-header-cart--active {
	background: rgba(var(--djm-primary-rgb), 0.12);
	border-color: rgba(var(--djm-primary-rgb), 0.55);
	box-shadow: 0 0 18px rgba(var(--djm-primary-rgb), 0.28);
	color: #00f2ff;
}

.djm-header-cart__icon {
	font-size: 1.25rem !important;
	line-height: 1 !important;
}

/* Badge contador */
.djm-cart-badge {
	position: absolute;
	top: -0.3rem;
	right: -0.3rem;
	min-width: 1.2rem;
	height: 1.2rem;
	border-radius: 9999px;
	background: var(--djm-primary);
	color: #020617;
	font-size: 0.6rem;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 0.22rem;
	line-height: 1;
	border: 1.5px solid #020617;
	pointer-events: none;
	opacity: 0;
	transform: scale(0.4);
	transition: opacity 0.22s cubic-bezier(0.34, 1.56, 0.64, 1),
	            transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.djm-cart-badge--visible {
	opacity: 1;
	transform: scale(1);
}

/* Pulso cuando se acaba de añadir algo */
@keyframes djm-badge-pop {
	0%   { transform: scale(1); }
	40%  { transform: scale(1.35); }
	100% { transform: scale(1); }
}

.djm-cart-badge--pop {
	animation: djm-badge-pop 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ─────────────────────────────────────────────────────────────── */

body.dark .woocommerce,
body.dark .woocommerce-page,
body.woocommerce-page.djmascot-landing .woocommerce,
body.djmascot-woocommerce .woocommerce,
body.djmascot-woocommerce .woocommerce-page {
	--djm-text: #f1f5f9;
	--djm-text-muted: #94a3b8;
	--djm-border: #334155;
	--djm-border-strong: #475569;
}

/* ════════════════════════════════════════════════════════════════════════
   DJM SHOP HERO — Mobile-first responsive
   ════════════════════════════════════════════════════════════════════════ */

/* ── Grid: 1 columna en móvil, 2 columnas en desktop ─────────────────── */
.djm-shop-hero__grid {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

@media (min-width: 900px) {
	.djm-shop-hero__grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 380px);
		align-items: center;
		gap: 2.5rem;
	}
}

/* ── Texto izquierda ──────────────────────────────────────────────────── */
.djm-shop-hero__content {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.djm-shop-hero__tag {
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--djm-primary);
	font-family: var(--djm-font-display);
	margin: 0;
}

.djm-shop-hero__title {
	font-size: clamp(2rem, 8vw, 3.5rem);
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.04em;
	color: #fff;
	font-family: var(--djm-font-display);
	margin: 0;
}

.djm-shop-hero__desc {
	font-size: 0.9rem;
	line-height: 1.65;
	color: #94a3b8;
	margin: 0;
	font-family: var(--djm-font-display);
}

/* ── Chips / badges ───────────────────────────────────────────────────── */
.djm-shop-hero__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	padding-top: 0.25rem;
}

.djm-shop-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.35rem 0.75rem;
	border-radius: 9999px;
	border: 1px solid rgba(255,255,255,0.1);
	background: rgba(255,255,255,0.04);
	font-size: 0.7rem;
	font-weight: 600;
	color: #cbd5e1;
	font-family: var(--djm-font-display);
	white-space: nowrap;
}

.djm-shop-badge .material-symbols-outlined {
	font-size: 0.9rem;
	line-height: 1;
}

.djm-shop-badge--primary {
	border-color: rgba(0, 242, 255, 0.3);
	background: rgba(0, 242, 255, 0.08);
	color: var(--djm-primary);
}

/* ── Tarjeta destacado ────────────────────────────────────────────────── */
.djm-shop-hero__featured {
	border-radius: 1rem;
	border: 1px solid rgb(0 242 255);
	background: rgba(255,255,255,0.03);
	padding: 1.1rem;
	backdrop-filter: blur(12px);
}

.djm-shop-hero__featured-label {
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(0, 242, 255, 0.6);
	font-family: var(--djm-font-display);
	margin: 0 0 0.75rem;
}

.djm-shop-hero__featured-inner {
	display: flex;
	align-items: center;
	gap: 0.85rem;
}

.djm-shop-hero__featured-img {
	flex-shrink: 0;
	width: 4.5rem;
	height: 4.5rem;
	border-radius: 0.75rem;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,0.1);
	background: #060d14;
	display: block;
}

.djm-shop-hero__featured-img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.djm-shop-hero__featured-info {
	min-width: 0;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.djm-shop-hero__featured-name {
	font-size: 0.875rem;
	font-weight: 700;
	color: #f1f5f9;
	text-decoration: none;
	font-family: var(--djm-font-display);
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: color 0.2s ease;
}

.djm-shop-hero__featured-name:hover {
	color: var(--djm-primary);
}

.djm-shop-hero__featured-excerpt {
	font-size: 0.72rem;
	color: #475569;
	margin: 0;
	font-family: var(--djm-font-display);
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.djm-shop-hero__featured-cta {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
	margin-top: 0.25rem;
}

.djm-shop-hero__featured-price .woocommerce-Price-amount {
	font-size: 1.05rem;
	font-weight: 900;
	color: var(--djm-primary);
	font-family: var(--djm-font-display);
	letter-spacing: -0.02em;
}

.djm-shop-hero__featured-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.4rem 0.9rem;
	border-radius: 9999px;
	background: var(--djm-primary);
	color: #040a16;
	font-size: 0.72rem;
	font-weight: 800;
	text-decoration: none;
	font-family: var(--djm-font-display);
	white-space: nowrap;
	box-shadow: 0 0 14px rgba(0, 242, 255, 0.35);
	transition: filter 0.2s, transform 0.2s;
}

.djm-shop-hero__featured-btn .material-symbols-outlined {
	font-size: 0.85rem;
	line-height: 1;
}

.djm-shop-hero__featured-btn:hover {
	filter: brightness(1.1);
	transform: translateY(-1px);
	color: #040a16;
}

/* Contenedor global WooCommerce: tipografía y espaciado */
.woocommerce,
.woocommerce-page {
	font-family: var(--djm-font-display);
	color: var(--djm-text);
	line-height: 1.6;
}

.woocommerce .page-title,
.woocommerce h1.page-title,
.woocommerce h2,
.woocommerce h3 {
	font-family: var(--djm-font-display);
	font-weight: 700;
	letter-spacing: -0.02em;
}

.woocommerce .page-title,
.woocommerce h1.page-title {
	font-size: 2rem;
	font-weight: 800;
	margin-bottom: 1.5rem;
}

/* ── Botones principales (Añadir al carrito, Finalizar, etc.) ───────────────── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	background: var(--djm-primary) !important;
	color: var(--djm-bg-dark) !important;
	border: none !important;
	border-radius: var(--djm-radius-lg) !important;
	font-family: var(--djm-font-display) !important;
	font-weight: 700 !important;
	font-size: 0.9375rem !important;
	padding: 0.75rem 1.5rem !important;
	transition: transform 0.15s ease, box-shadow 0.15s ease !important;
	box-shadow: 0 0 20px rgba(var(--djm-primary-rgb), 0.2) !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background: var(--djm-primary) !important;
	opacity: 1 !important;
	transform: scale(1.02) !important;
	box-shadow: 0 0 24px rgba(var(--djm-primary-rgb), 0.35) !important;
}

/* Botón secundario / outline (ej. Ver carrito) */
.woocommerce a.button.alt,
.woocommerce .cart .button {
	background: transparent !important;
	color: var(--djm-primary) !important;
	border: 2px solid var(--djm-primary) !important;
}

.woocommerce a.button.alt:hover,
.woocommerce .cart .button:hover {
	background: rgba(var(--djm-primary-rgb), 0.1) !important;
	color: var(--djm-primary) !important;
}

/* ── Toolbar de la tienda: contador + ordenación ──────────────────────────── */
.woocommerce-result-count {
	font-size: 0.8rem;
	color: var(--djm-text-muted);
	margin: 0;
}

.woocommerce .woocommerce-ordering {
	margin: 0;
}

/* ════════════════════════════════════════════════════════════════════════
   DJM PRODUCT CARD v2 — Catálogo Pro
   ════════════════════════════════════════════════════════════════════════ */

/* ── Grid del loop ─────────────────────────────────────────────────────── */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Reset del <li> — el diseño vive en .djm-card */
.woocommerce ul.products li.product {
	padding: 0 !important;
	margin: 0 !important;
	width: auto !important;
	float: none !important;
	background: none !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	overflow: visible !important;
	transition: none !important;
}

/* Ocultar elementos de WooCommerce que ya no usamos */
.djm-card .woocommerce-loop-product__title,
.djm-card .price,
.djm-card .star-rating {
	display: none !important;
}

/* ── Tarjeta base ──────────────────────────────────────────────────────── */

/* La tarjeta (li.product) debe ocupar toda la altura del flex row */
.woocommerce ul.products li.product {
	display: flex;
	flex-direction: column;
}

.djm-card__inner {
	display: flex;
	flex-direction: column;
	height: 100%;          /* ocupa toda la altura del li */
	border-radius: 1.25rem;
	border: 1px solid rgba(255, 255, 255, 0.07);
	background: #0b1929;
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.djm-card:hover .djm-card__inner {
	transform: translateY(-4px);
	border-color: rgba(0, 242, 255, 0.35);
	box-shadow:
		0 20px 50px rgba(0, 0, 0, 0.6),
		0 0 0 1px rgba(0, 242, 255, 0.12),
		0 0 60px rgba(0, 242, 255, 0.06);
}

/* ── Zona de imagen ────────────────────────────────────────────────────── */
.djm-card__img-wrap {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: radial-gradient(ellipse at 50% 60%, #0d2035 0%, #070e18 100%);
	text-decoration: none;
}

/* Glow radial que se intensifica en hover */
.djm-card__img-glow {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 50% 50%, rgba(0, 242, 255, 0.14), transparent 65%);
	opacity: 0;
	transition: opacity 0.5s ease;
	pointer-events: none;
	z-index: 1;
}

.djm-card:hover .djm-card__img-glow {
	opacity: 1;
}

/* Imagen del producto */
.djm-card__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 1.5rem;
	transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.4s ease;
	z-index: 2;
	display: block;
}

.djm-card:hover .djm-card__img {
	transform: scale(1.06) translateY(-4px);
	filter: drop-shadow(0 12px 24px rgba(0, 242, 255, 0.2));
}

/* Placeholder sin imagen */
.djm-card__img-placeholder {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 3.5rem;
	color: rgba(0, 242, 255, 0.15);
	z-index: 2;
}

/* Overlay oscuro con botón central al hacer hover */
.djm-card__overlay {
	position: absolute;
	inset: 0;
	background: rgba(4, 10, 22, 0.65);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: 10;
	backdrop-filter: blur(2px);
}

.djm-card:hover .djm-card__overlay {
	opacity: 1;
}

.djm-card__overlay-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.55rem 1.25rem;
	border-radius: 9999px;
	border: 1px solid rgba(0, 242, 255, 0.6);
	color: #fff;
	font-family: var(--djm-font-display);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	background: rgba(0, 242, 255, 0.12);
	transform: translateY(6px);
	transition: transform 0.3s ease;
}

.djm-card:hover .djm-card__overlay-cta {
	transform: translateY(0);
}

/* ── Contenedor de badges (esquina superior izquierda) ───────────────── */
.djm-card__badges {
	position: absolute;
	top: 0.65rem;
	left: 0.65rem;
	z-index: 20;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.35rem;
}

/* Badge base */
.djm-card__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-family: var(--djm-font-display);
	font-size: 0.58rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 0.22rem 0.6rem 0.22rem 0.45rem;
	border-radius: 9999px;
	line-height: 1;
}

.djm-card__badge .material-symbols-outlined {
	font-size: 0.75rem;
	line-height: 1;
}

/* 🆕 Nuevo — verde lima vibrante */
.djm-card__badge--new {
	background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
	color: #fff;
	box-shadow: 0 0 14px rgba(34, 197, 94, 0.55);
	animation: djm-badge-new-pulse 2.5s ease-in-out infinite;
}

@keyframes djm-badge-new-pulse {
	0%, 100% { box-shadow: 0 0 10px rgba(34, 197, 94, 0.5); }
	50%       { box-shadow: 0 0 22px rgba(34, 197, 94, 0.85); }
}

/* ⭐ Destacado — dorado */
.djm-card__badge--featured {
	background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
	color: #1c1003;
	box-shadow: 0 0 14px rgba(245, 158, 11, 0.5);
}

/* 🏷 Oferta — cyan del tema */
.djm-card__badge--sale {
	background: var(--djm-primary);
	color: #040a16;
	box-shadow: 0 0 16px rgba(0, 242, 255, 0.5);
}

/* ❌ Agotado — gris discreto, esquina derecha */
.djm-card__badge--stock {
	position: absolute;
	top: 0.65rem;
	right: 0.65rem;
	left: auto;
	background: rgba(15, 23, 42, 0.92);
	color: #64748b;
	border: 1px solid #334155;
}

/* ── Cuerpo ────────────────────────────────────────────────────────────── */
.djm-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;               /* se expande para llenar el espacio restante */
	gap: 0.45rem;
	padding: 1rem 1.1rem 1.1rem;
	border-top: 1px solid rgba(255, 255, 255, 0.05);
}

/* Categoría */
.djm-card__cat {
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: rgba(0, 242, 255, 0.55);
	font-family: var(--djm-font-display);
}

/* Nombre */
.djm-card__name {
	font-size: 0.9375rem;
	font-weight: 700;
	color: #e2e8f0;
	text-decoration: none;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: color 0.2s ease;
	font-family: var(--djm-font-display);
}

.djm-card__name:hover {
	color: var(--djm-primary);
}

/* Rating */
.djm-card__rating {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	margin-top: 0.1rem;
}

.djm-card__star {
	font-size: 0.75rem;
	color: #334155;
}

.djm-card__star--on {
	color: var(--djm-primary);
}

.djm-card__rating-count {
	font-size: 0.7rem;
	color: #475569;
	margin-left: 0.15rem;
	font-family: var(--djm-font-display);
}

/* Footer: precio + botón — siempre al fondo */
.djm-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: auto;      /* empuja el footer al fondo sin importar el contenido */
	padding-top: 0.7rem;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}

/* Precio */
.djm-card__price {
	display: flex;
	flex-direction: column;
	line-height: 1.1;
}

.djm-card__price .woocommerce-Price-amount {
	font-size: 1.2rem;
	font-weight: 900;
	color: var(--djm-primary);
	font-family: var(--djm-font-display);
	letter-spacing: -0.02em;
}

.djm-card__price del {
	font-size: 0.72rem;
	color: #475569;
	font-weight: 500;
}

.djm-card__price del .woocommerce-Price-amount {
	font-size: 0.72rem;
	font-weight: 500;
	color: #475569;
}

.djm-card__price ins {
	text-decoration: none;
}

/* Botón agregar */
.djm-card__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.55rem 1rem;
	border-radius: 9999px;
	background: var(--djm-primary);
	color: #040a16;
	font-family: var(--djm-font-display);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	text-decoration: none;
	border: none;
	cursor: pointer;
	white-space: nowrap;
	box-shadow: 0 0 18px rgba(0, 242, 255, 0.3);
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.djm-card__btn:hover {
	filter: brightness(1.12);
	transform: translateY(-1px);
	box-shadow: 0 0 28px rgba(0, 242, 255, 0.5);
	color: #040a16;
}

.djm-card__btn-icon {
	font-size: 0.95rem;
	line-height: 1;
}

/* Estado loading */
.djm-card__btn.loading .djm-card__btn-icon {
	display: none;
}

.djm-card__btn.loading::before {
	content: '';
	display: inline-block;
	width: 0.85rem;
	height: 0.85rem;
	border: 2px solid rgba(4, 10, 22, 0.35);
	border-top-color: #040a16;
	border-radius: 9999px;
	animation: djm-spin 0.6s linear infinite;
}

/* Estado añadido */
.djm-card__btn.added {
	background: transparent;
	color: var(--djm-primary);
	border: 1px solid rgba(0, 242, 255, 0.35);
	box-shadow: none;
}

.djm-card__btn.added .djm-card__btn-label::before {
	content: '✓ ';
}

/* Botón sin stock */
.djm-card__btn--disabled {
	background: transparent;
	color: #475569;
	border: 1px solid #1e293b;
	box-shadow: none;
	cursor: not-allowed;
}

.djm-card__btn--disabled:hover {
	filter: none;
	transform: none;
	box-shadow: none;
	color: #475569;
}

@keyframes djm-spin {
	to { transform: rotate(360deg); }
}

/* ── Enlace "Ver carrito" que inyecta WooCommerce tras añadir al carrito ─── */
.djm-card__footer a.added_to_cart {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.25rem !important;
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	font-family: var(--djm-font-display) !important;
	letter-spacing: 0.04em !important;
	color: rgba(0, 242, 255, 0.6) !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	padding: 0 !important;
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	transition: color 0.2s ease !important;
}

.djm-card__footer a.added_to_cart::before {
	content: '→' !important;
	font-size: 0.75rem !important;
}

.djm-card__footer a.added_to_cart:hover {
	color: var(--djm-primary) !important;
	transform: none !important;
	filter: none !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 1.125rem;
	font-weight: 700;
	margin: 0.75rem 1rem 0.25rem;
	color: var(--djm-text);
}

.woocommerce ul.products li.product .price {
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--djm-primary);
	margin: 0 1rem 1rem;
}

.woocommerce ul.products li.product .price del {
	color: var(--djm-text-muted);
	font-weight: 500;
}

.woocommerce ul.products li.product .button {
	margin: 0 1rem 1rem !important;
	width: calc(100% - 2rem) !important;
	text-align: center;
}

.woocommerce ul.products li.product .onsale {
	background: var(--djm-primary);
	color: var(--djm-bg-dark);
	font-family: var(--djm-font-display);
	font-weight: 700;
	font-size: 0.75rem;
	letter-spacing: 0.05em;
	padding: 0.35rem 0.65rem;
	border-radius: var(--djm-radius);
	top: 0.75rem;
	right: 0.75rem;
}

/* Imagen del producto en loop */
.woocommerce ul.products li.product a img {
	border-radius: 0;
	width: 100%;
	height: auto;
	display: block;
}

/* ════════════════════════════════════════════════════════════════════════
   SINGLE PRODUCT — "Holographic" Redesign v2
   ════════════════════════════════════════════════════════════════════════ */

/* ── Animaciones ── */
@keyframes djm-shimmer {
	0%   { background-position: -250% center; }
	100% { background-position: 250% center; }
}
@keyframes djm-holo-border {
	0%   { background-position: 0% 50%; }
	50%  { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}
@keyframes djm-float {
	0%, 100% { transform: translateY(0px); }
	50%       { transform: translateY(-8px); }
}
@keyframes djm-glow-border {
	0%, 100% { opacity: 0.5; }
	50%       { opacity: 1; }
}

/* ── Contenedor: gradient mesh + holo border ── */
.woocommerce div.product {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 0 3rem;
	align-items: stretch;
	margin-bottom: 4rem;
	padding: 2.25rem;
	background:
		radial-gradient(ellipse at 15% 50%, rgba(0, 242, 255, 0.08) 0%, transparent 55%),
		radial-gradient(ellipse at 85% 20%, rgba(0, 200, 212, 0.07) 0%, transparent 50%),
		radial-gradient(ellipse at 60% 85%, rgba(0, 242, 255, 0.05) 0%, transparent 45%),
		#050915;
	border-radius: 1.5rem;
	border: 1px solid transparent;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

/* Borde animado en variaciones de cyan */
.woocommerce div.product::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 1.5rem;
	padding: 1px;
	background: linear-gradient(
		135deg,
		rgba(0, 242, 255, 0.7),
		rgba(0, 200, 212, 0.3),
		rgba(0, 242, 255, 0.9),
		rgba(127, 255, 255, 0.4),
		rgba(0, 242, 255, 0.6)
	);
	background-size: 300% 300%;
	animation: djm-holo-border 5s ease infinite;
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
	z-index: 0;
}

/* Sombra exterior */
.woocommerce div.product {
	box-shadow:
		0 30px 80px rgba(0, 0, 0, 0.6),
		0 0 60px rgba(0, 242, 255, 0.08),
		0 0 40px rgba(0, 242, 255, 0.05);
}

/* ── Galería: columna izquierda ── */
.woocommerce div.product .images,
.woocommerce div.product .woocommerce-product-gallery {
	grid-column: 1 !important;
	grid-row: 1 !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	clear: none !important;
	display: flex !important;
	flex-direction: column;
	align-self: stretch;
	position: relative;
	z-index: 1;
}

/* ── Info: glassmorphism card en columna derecha ── */
.woocommerce div.product .summary.entry-summary {
	grid-column: 2 !important;
	grid-row: 1 !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	clear: none !important;
	align-self: stretch;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.07);
	border-radius: 1.25rem;
	padding: 2rem;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.06),
		0 20px 60px rgba(0, 0, 0, 0.4);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	position: relative;
	z-index: 1;
}

/* ── Tabs, upsells, relacionados ── */
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .up-sells.upsells,
.woocommerce div.product .related.products {
	grid-column: 1 / -1 !important;
	clear: both;
	position: relative;
	z-index: 1;
}

/* ── Sección "Productos relacionados" — estilo pro ──────────────────── */
.woocommerce div.product .related.products {
	margin-top: 4rem;
	padding-top: 3rem;
	border-top: 1px solid rgba(255, 255, 255, 0.07);
	text-align: center;
}

/* Título centrado con línea decorativa */
.woocommerce div.product .related.products > h2 {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	font-family: var(--djm-font-display);
	font-size: 1.45rem;
	font-weight: 900;
	letter-spacing: -0.03em;
	color: #f1f5f9;
	margin: 0 auto 2.5rem;
	text-transform: none;
}

/* Línea brillante debajo del título */
.woocommerce div.product .related.products > h2::after {
	content: '';
	display: block;
	width: 2.5rem;
	height: 2px;
	border-radius: 9999px;
	background: linear-gradient(90deg, transparent, var(--djm-primary), transparent);
}

/* Supertexto sobre el título */
.woocommerce div.product .related.products > h2::before {
	content: '✦ También te puede interesar';
	display: block;
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--djm-primary);
	font-family: var(--djm-font-display);
	opacity: 0.85;
}

/* Centrar la grilla de productos relacionados y reducir tamaño de cards */
.woocommerce div.product .related.products ul.products {
	justify-content: center !important;
	grid-template-columns: repeat(auto-fill, minmax(180px, 220px)) !important;
	gap: 1rem !important;
}

/* Reducir tipografía y espacios internos en cards de relacionados */
.woocommerce div.product .related.products .djm-card__inner {
	padding: 0.75rem !important;
}
.woocommerce div.product .related.products .djm-card__img-wrap {
	height: 150px !important;
	aspect-ratio: unset !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}
.woocommerce div.product .related.products .djm-card__img {
	position: relative !important;
	inset: unset !important;
	width: auto !important;
	height: 110px !important;
	max-width: 100% !important;
	object-fit: contain !important;
	padding: 0.5rem !important;
}
.woocommerce div.product .related.products .woocommerce-loop-product__title {
	font-size: 0.85rem !important;
}
.woocommerce div.product .related.products .price {
	font-size: 0.95rem !important;
}
.woocommerce div.product .related.products .button {
	font-size: 0.75rem !important;
	padding: 0.45rem 0.75rem !important;
}

@media (max-width: 767px) {
	.woocommerce div.product .related.products {
		margin-top: 2.5rem;
		padding-top: 2rem;
	}

	.woocommerce div.product .related.products > h2 {
		font-size: 1.2rem;
	}
}

/* ── Responsive ── */
@media (max-width: 767px) {
	.woocommerce div.product {
		grid-template-columns: 1fr !important;
		padding: 1.25rem;
	}

	.woocommerce div.product .images,
	.woocommerce div.product .woocommerce-product-gallery,
	.woocommerce div.product .summary.entry-summary {
		grid-column: 1 !important;
		grid-row: auto !important;
		align-self: auto;
	}

	/* Centrar cantidad + botón en móvil */
	.woocommerce div.product form.cart {
		justify-content: center;
	}
	.woocommerce div.product form.cart .button {
		flex: unset;
		width: 100%;
	}
}

/* ── Chip de categoría sobre el título ── */
.woocommerce div.product .product_title::before {
	content: '✦ DJ MASCOT';
	display: block;
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	background: linear-gradient(90deg, #00f2ff, #00f2ff);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	margin-bottom: 0.5rem;
	font-family: var(--djm-font-display);
}

.woocommerce div.product .summary {
	font-family: var(--djm-font-display);
}

.woocommerce div.product .product_title {
	font-size: 2rem;
	font-weight: 900;
	margin-bottom: 0.5rem;
	color: #f8fafc;
	letter-spacing: -0.03em;
	line-height: 1.1;
}

/* ── Precio con brillo eléctrico ── */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-size: 2.75rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.03em;
	background: linear-gradient(135deg, #00f2ff 0%, #7ffffe 40%, #00f2ff 60%, #00c8d4 100%);
	background-size: 250% auto;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	animation: djm-shimmer 3.5s linear infinite;
	margin-bottom: 0;
	filter: drop-shadow(0 0 12px rgba(0, 242, 255, 0.4));
}

/* Separador antes del formulario */
.woocommerce div.product form.cart::before {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background: linear-gradient(to right, rgba(0, 242, 255, 0.25), rgba(0, 242, 255, 0.25), transparent);
	margin-bottom: 1.25rem;
}

/* ── Descripción ── */
.woocommerce div.product .woocommerce-product-details__short-description {
	color: rgba(148, 163, 184, 0.8);
	margin-bottom: 0;
	margin-top: 0.9rem;
	line-height: 1.7;
	font-size: 0.9rem;
}

/* ── Separador entre precio y descripción ── */
.woocommerce div.product p.price + .woocommerce-product-details__short-description,
.woocommerce div.product span.price + .woocommerce-product-details__short-description {
	padding-top: 0.9rem;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}

/* ── Formulario carrito ── */
.woocommerce div.product form.cart {
	margin: 1.5rem 0 1.25rem;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem;
}

/* Botón sólido púrpura con glow */
.woocommerce div.product form.cart .button {
	flex: 1;
	text-align: center;
	min-width: 9rem;
	background: linear-gradient(135deg, #00c8d4, #00f2ff) !important;
	color: #fff !important;
	font-weight: 800 !important;
	font-size: 0.9rem !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	padding: 1rem 1.5rem !important;
	border-radius: 0.75rem !important;
	border: none !important;
	box-shadow:
		0 0 0 1px rgba(0, 242, 255, 0.4),
		0 0 25px rgba(0, 242, 255, 0.35),
		0 8px 24px rgba(0, 0, 0, 0.3) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.woocommerce div.product form.cart .button:hover {
	background: linear-gradient(135deg, #00b8c4, #00d4e0) !important;
	transform: translateY(-2px) scale(1.02) !important;
	opacity: 1 !important;
	box-shadow:
		0 0 0 1px rgba(0, 242, 255, 0.6),
		0 0 40px rgba(0, 242, 255, 0.55),
		0 14px 32px rgba(0, 0, 0, 0.35) !important;
}

/* ── Meta ── */
.woocommerce div.product .product_meta {
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0.65rem;
	align-items: center;
}

.woocommerce div.product .product_meta > span {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.75rem;
	color: rgba(100, 116, 139, 0.8);
	font-family: var(--djm-font-display);
}

.woocommerce div.product .product_meta > span .label {
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.65rem;
	font-weight: 700;
	color: rgba(100, 116, 139, 0.6);
}

.woocommerce div.product .product_meta a {
	color: #00f2ff;
	font-weight: 700;
	font-size: 0.72rem;
	text-decoration: none;
	background: rgba(0, 242, 255, 0.1);
	padding: 0.2rem 0.65rem;
	border-radius: 9999px;
	border: 1px solid rgba(0, 242, 255, 0.25);
	letter-spacing: 0.04em;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.woocommerce div.product .product_meta a:hover {
	background: rgba(0, 242, 255, 0.18);
	border-color: rgba(0, 242, 255, 0.5);
}

/* ── Rating ── */
.woocommerce div.product .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
}

.woocommerce div.product .star-rating {
	color: #00f2ff;
	font-size: 0.875rem;
}

.woocommerce div.product .woocommerce-review-link {
	font-size: 0.8rem;
	color: rgba(100, 116, 139, 0.7);
}

/* ── Badge onsale ── */
.woocommerce div.product span.onsale {
	background: linear-gradient(135deg, #00c8d4, #00f2ff);
	color: #fff;
	font-family: var(--djm-font-display);
	font-weight: 800;
	font-size: 0.65rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 0.3rem 0.75rem;
	border-radius: 9999px;
	box-shadow: 0 0 16px rgba(0, 242, 255, 0.5);
}

/* ════════════════════════════════════════════════════════════════════════
   GALERÍA — "Holographic" horizontal thumbs + floating image
   ════════════════════════════════════════════════════════════════════════ */

/* Ocultar clearfix de WooCommerce */
.woocommerce div.product::after,
.woocommerce div.product .images::after {
	display: none !important;
	content: none !important;
	clear: none !important;
}

/* Neutralizar floats de WooCommerce */
.djm-gallery img {
	float: none !important;
}

/* ── Wrapper: columna (imagen arriba | thumbs abajo) ── */
.djm-gallery {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.75rem;
	float: none !important;
	width: 100% !important;
	height: 100%;
	margin: 0 !important;
	opacity: 1 !important;
	position: relative;
}

/* ── Imagen principal: ocupa todo el espacio sobrante ── */
.djm-gallery__main {
	width: 100%;
	flex: 1;
	min-height: 0;
}

/* Figura: púrpura/cyan radial, efecto flotante */
.djm-gallery__figure {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 220px;
	overflow: visible; /* permite que la imagen "flote" fuera */
	border-radius: 1.5rem;
	background:
		radial-gradient(ellipse at 30% 70%, rgba(0, 242, 255, 0.2) 0%, transparent 55%),
		radial-gradient(ellipse at 70% 30%, rgba(0, 242, 255, 0.15) 0%, transparent 50%),
		#050915;
	border: 1px solid rgba(0, 242, 255, 0.2);
	box-shadow:
		0 0 0 1px rgba(0, 242, 255, 0.08),
		0 30px 60px rgba(0, 0, 0, 0.5),
		0 0 80px rgba(0, 242, 255, 0.12);
	margin: 0;
}

/* Clip para la figura (sin overflow:hidden para el float effect) */
.djm-gallery__figure::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 1.5rem;
	background: inherit;
	z-index: 0;
}

/* Reflejo de suelo con gradiente púrpura-cyan */
.djm-gallery__figure::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 1.5rem;
	background: radial-gradient(ellipse at 50% 100%, rgba(0, 242, 255, 0.12) 0%, transparent 60%);
	pointer-events: none;
	z-index: 1;
}

/* Botón zoom: esquina superior derecha */
.djm-gallery__zoom-btn {
	position: absolute !important;
	top: 0.85rem;
	right: 0.85rem;
	bottom: auto !important;
	z-index: 20;
}

/* ── Enlace e imagen: con overflow visible y float ── */
.djm-gallery__main-link {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	inset: 0;
	padding: 1.25rem;
	padding-bottom: 0.5rem;
	text-decoration: none;
	z-index: 2;
	overflow: hidden;
	border-radius: 1.5rem;
}

.djm-gallery__main-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	transition:
		opacity 0.2s ease,
		transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
	animation: djm-float 5s ease-in-out infinite;
	filter: drop-shadow(0 20px 40px rgba(0, 242, 255, 0.25)) drop-shadow(0 0 20px rgba(0, 242, 255, 0.15));
}

.djm-gallery__main-img.is-changing {
	opacity: 0;
	transform: scale(0.92) translateY(10px);
	animation: none;
}

.djm-gallery__figure:hover .djm-gallery__main-img:not(.is-changing) {
	filter: drop-shadow(0 25px 50px rgba(0, 242, 255, 0.4)) drop-shadow(0 0 30px rgba(0, 242, 255, 0.2));
}

/* Placeholder */
.djm-gallery__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	opacity: 0.35;
}

/* ── Miniaturas: fila horizontal de píldoras ── */
.djm-gallery__thumbs {
	display: flex;
	flex-direction: row;
	gap: 0.45rem;
	flex-wrap: wrap;
	justify-content: center;
	padding: 0.25rem 0;
}

.djm-gallery__thumb {
	position: relative;
	width: 56px;
	height: 56px;
	flex-shrink: 0;
	overflow: hidden;
	border-radius: 0.75rem;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.07);
	cursor: pointer;
	outline: none;
	transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.djm-gallery__thumb:hover {
	border-color: rgba(0, 242, 255, 0.5);
	transform: translateY(-3px);
}

/* Activa: borde + glow púrpura */
.djm-gallery__thumb--active {
	border-color: #00f2ff;
	box-shadow:
		0 0 0 1px rgba(0, 242, 255, 0.3),
		0 0 14px rgba(0, 242, 255, 0.35);
	background: rgba(0, 242, 255, 0.08);
}

.djm-gallery__thumb img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 0.3rem;
	display: block;
	opacity: 0.5;
	transition: opacity 0.2s ease;
}

.djm-gallery__thumb:hover img,
.djm-gallery__thumb--active img {
	opacity: 1;
}

/* Responsive */
@media (max-width: 600px) {
	.djm-gallery__figure {
		min-height: 220px;
	}
	.djm-gallery__thumb {
		width: 48px;
		height: 48px;
	}
}

/* Botón de lupa (zoom de galería) */
.woocommerce div.product .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 1rem;
	right: 1rem;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 9999px;
	background-color: rgba(15, 23, 42, 0.92);
	border: 1px solid rgba(var(--djm-primary-rgb), 0.5);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--djm-primary);
	font-size: 1.25rem;
	box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.9), 0 0 20px rgba(var(--djm-primary-rgb), 0.35);
	transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
	text-decoration: none;
}

.woocommerce div.product .woocommerce-product-gallery__trigger:hover {
	transform: scale(1.05);
	background-color: rgba(15, 23, 42, 1);
	border-color: rgba(var(--djm-primary-rgb), 0.9);
	color: #fff;
	box-shadow: 0 0 0 1px rgba(var(--djm-primary-rgb), 0.8), 0 0 26px rgba(var(--djm-primary-rgb), 0.6);
}

.woocommerce div.product form.cart {
	margin: 0 0 1.25rem;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.woocommerce div.product form.cart .button {
	flex: 1;
	text-align: center;
	padding: 0.9rem 1.5rem !important;
	font-size: 1rem !important;
	letter-spacing: 0.02em;
	min-width: 10rem;
}

/* ── Control de cantidad — aplica a producto individual Y carrito ── */
.woocommerce div.product form.cart .quantity.djm-qty-enhanced,
.djm-cc__qty .quantity.djm-qty-enhanced {
	display: inline-flex;
	align-items: stretch;
	height: 100%;
}

.woocommerce div.product form.cart .djm-qty-wrapper,
.djm-cc__qty .djm-qty-wrapper {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	background-color: #020617;
	border-radius: 9999px;
	padding: 0.45rem 0.5rem;
	border: 1px solid rgba(var(--djm-primary-rgb), 0.5);
	box-shadow: 0 0 20px rgba(var(--djm-primary-rgb), 0.2);
}

.woocommerce div.product form.cart .djm-qty-wrapper .qty,
.djm-cc__qty .djm-qty-wrapper .qty {
	background-color: transparent;
	color: #e5e7eb;
	border: none;
	width: 2.75rem;
	text-align: center;
	font-family: var(--djm-font-display);
	font-size: 0.9375rem;
	font-weight: 700;
	padding: 0;
	line-height: 1;
	-moz-appearance: textfield;
}

.woocommerce div.product form.cart .djm-qty-wrapper .qty::-webkit-inner-spin-button,
.woocommerce div.product form.cart .djm-qty-wrapper .qty::-webkit-outer-spin-button,
.djm-cc__qty .djm-qty-wrapper .qty::-webkit-inner-spin-button,
.djm-cc__qty .djm-qty-wrapper .qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.woocommerce div.product form.cart .djm-qty-btn,
.djm-cc__qty .djm-qty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 9999px;
	border: 1px solid rgba(148, 163, 184, 0.5);
	background-color: transparent;
	color: var(--djm-primary);
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.woocommerce div.product form.cart .djm-qty-btn:hover,
.djm-cc__qty .djm-qty-btn:hover {
	background-color: rgba(var(--djm-primary-rgb), 0.1);
	border-color: rgba(var(--djm-primary-rgb), 0.6);
	box-shadow: 0 0 0 1px rgba(var(--djm-primary-rgb), 0.5);
}
/* ── Tablas (carrito, pedidos) ────────────────────────────────────────────── */
.woocommerce table.shop_table {
	border: 1px solid var(--djm-border);
	border-radius: var(--djm-radius-lg);
	overflow: hidden;
	font-family: var(--djm-font-display);
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: 1rem 1.25rem;
	border-color: var(--djm-border);
	font-size: 0.9375rem;
}

.woocommerce table.shop_table th {
	background: rgba(var(--djm-primary-rgb), 0.08);
	font-weight: 700;
	color: var(--djm-text);
}

body.dark .woocommerce table.shop_table th {
	background: rgba(var(--djm-primary-rgb), 0.12);
}

body.djmascot-woocommerce .woocommerce table.shop_table th {
	background: rgba(var(--djm-primary-rgb), 0.12);
}

.woocommerce table.shop_table .product-name a {
	color: var(--djm-text);
	font-weight: 600;
}

.woocommerce table.shop_table .product-name a:hover {
	color: var(--djm-primary);
}

.woocommerce table.shop_table .amount {
	font-weight: 700;
	color: var(--djm-primary);
}

/* ── Formularios (checkout, cupón, login) ──────────────────────────────────── */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
	background-color: #020617;
	color: #e5e7eb;
	border: 1px solid rgba(var(--djm-primary-rgb), 0.5);
	border-radius: var(--djm-radius);
	padding: 0.625rem 0.875rem;
	font-family: var(--djm-font-display);
	font-size: 0.9375rem;
	width: 100%;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
	border-color: var(--djm-primary);
	outline: none;
	box-shadow: 0 0 0 3px rgba(var(--djm-primary-rgb), 0.15);
}

.woocommerce form .form-row label {
	font-weight: 600;
	color: var(--djm-text);
	font-family: var(--djm-font-display);
}

.woocommerce .woocommerce-form-row {
	margin-bottom: 1rem;
}

/* ── Checkout bloques: inputs, selects y labels con fondo oscuro ───────────── */

/* Contenedor del input (floating label style) */
.wc-block-checkout .wc-block-components-text-input,
.wc-block-checkout .wc-block-components-text-input.is-active,
.wc-block-checkout .wc-block-components-text-input.has-error {
	border-radius: var(--djm-radius) !important;
}

/* El input en sí */
.wc-block-checkout .wc-block-components-text-input__input,
.wc-block-checkout input[type="text"],
.wc-block-checkout input[type="email"],
.wc-block-checkout input[type="tel"],
.wc-block-checkout input[type="number"],
.wc-block-checkout input[type="password"] {
	background-color: #020617 !important;
	color: #e5e7eb !important;
	border-radius: var(--djm-radius) !important;
	border: 1px solid rgba(var(--djm-primary-rgb), 0.5) !important;
	padding: 1.45rem 0.875rem 0.5rem !important;
	font-family: var(--djm-font-display) !important;
	font-size: 0.95rem !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.wc-block-checkout .wc-block-components-text-input__input::placeholder,
.wc-block-checkout input::placeholder {
	color: rgba(148, 163, 184, 0.6) !important;
}

/* Autocompletado del navegador: fuerza fondo oscuro con inset shadow */
.wc-block-checkout input:-webkit-autofill,
.wc-block-checkout input:-webkit-autofill:hover,
.wc-block-checkout input:-webkit-autofill:focus,
.wc-block-checkout input:-webkit-autofill:active,
.wc-block-checkout select:-webkit-autofill,
.wc-block-checkout select:-webkit-autofill:hover,
.wc-block-checkout select:-webkit-autofill:focus,
.wc-block-checkout .wc-block-components-text-input__input:-webkit-autofill,
.wc-block-checkout .wc-block-components-text-input__input:-webkit-autofill:hover,
.wc-block-checkout .wc-block-components-text-input__input:-webkit-autofill:focus,
.wc-block-checkout .wc-block-components-combobox input:-webkit-autofill,
.wc-block-checkout .wc-block-components-combobox input:-webkit-autofill:focus,
.wc-block-checkout .wc-block-components-select__control input:-webkit-autofill,
.wc-block-checkout .wc-block-components-select__control input:-webkit-autofill:focus {
	-webkit-box-shadow: 0 0 0 1000px #020617 inset !important;
	box-shadow: 0 0 0 1000px #020617 inset !important;
	-webkit-text-fill-color: #e5e7eb !important;
	caret-color: #e5e7eb !important;
	border: 1px solid rgba(var(--djm-primary-rgb), 0.5) !important;
	border-radius: var(--djm-radius) !important;
	transition: background-color 9999s ease-in-out 0s !important;
}

/* Wrapper del select/combobox cuando ya tiene valor (autofill o selección) */
.wc-block-checkout .wc-block-components-select.has-value,
.wc-block-checkout .wc-block-components-select__control.has-value,
.wc-block-checkout .wc-block-components-combobox.has-value,
.wc-block-checkout .wc-block-components-select.is-active,
.wc-block-checkout .wc-block-components-select__control.is-active,
.wc-block-checkout .wc-block-components-combobox.is-active {
	background-color: #020617 !important;
	border-color: rgba(var(--djm-primary-rgb), 0.5) !important;
}

.wc-block-checkout .wc-block-components-text-input__input:focus,
.wc-block-checkout input:focus {
	outline: none !important;
	border-color: var(--djm-primary) !important;
	box-shadow: 0 0 0 3px rgba(var(--djm-primary-rgb), 0.18) !important;
}

/* Estado de error: borde rojo pero fondo oscuro */
.wc-block-checkout .wc-block-components-text-input.has-error .wc-block-components-text-input__input,
.wc-block-checkout .wc-block-components-validation-error ~ input,
.wc-block-checkout input.has-error {
	background-color: #020617 !important;
	border-color: #ef4444 !important;
	box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important;
}

/* Label flotante */
.wc-block-checkout .wc-block-components-text-input label,
.wc-block-checkout .wc-block-components-text-input__label {
	color: rgba(148, 163, 184, 0.85) !important;
	font-family: var(--djm-font-display) !important;
	font-size: 0.8rem !important;
}

.wc-block-checkout .wc-block-components-text-input.is-active label,
.wc-block-checkout .wc-block-components-text-input.has-value label {
	color: rgba(var(--djm-primary-rgb), 0.85) !important;
}

/* Select nativos (País/Región, Provincia) */
.wc-block-checkout .wc-block-components-select__control,
.wc-block-checkout .wc-block-components-select__control-input,
.wc-block-checkout .wc-block-components-combobox,
.wc-block-checkout .wc-block-components-combobox .wc-block-components-combobox-control,
.wc-block-checkout .wc-block-components-select {
	background-color: #020617 !important;
	color: #e5e7eb !important;
	border-radius: var(--djm-radius) !important;
	border: 1px solid rgba(var(--djm-primary-rgb), 0.5) !important;
	font-family: var(--djm-font-display) !important;
	font-size: 0.95rem !important;
}

/* El <select> nativo: appearance:none para que acepte background personalizado */
.wc-block-checkout select,
.wc-block-checkout .wc-block-components-select__control select,
.wc-block-checkout .wc-block-components-select select {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	background-color: #020617 !important;
	color: #e5e7eb !important;
	font-family: var(--djm-font-display) !important;
	font-size: 0.95rem !important;
	border: none !important;
	outline: none !important;
	width: 100% !important;
}

/* Opciones del desplegable */
.wc-block-checkout select option,
.wc-block-checkout .wc-block-components-select__control select option,
.wc-block-checkout .wc-block-components-select select option {
	background-color: #0f172a !important;
	color: #e5e7eb !important;
}

.wc-block-checkout select option:checked,
.wc-block-checkout select option:hover {
	background-color: rgba(var(--djm-primary-rgb), 0.15) !important;
	color: var(--djm-primary) !important;
}

/* Wrapper del select (contiene el <select> y la flecha) */
.wc-block-checkout .wc-block-components-select,
.wc-block-checkout .wc-block-components-select__control,
.wc-block-checkout .wc-block-components-select__container {
	background-color: #020617 !important;
	color: #e5e7eb !important;
	border-radius: var(--djm-radius) !important;
	border: 1px solid rgba(var(--djm-primary-rgb), 0.5) !important;
	font-family: var(--djm-font-display) !important;
	font-size: 0.95rem !important;
}

/* Combobox (Provincia/Departamento) */
.wc-block-checkout .wc-block-components-combobox,
.wc-block-checkout .wc-block-components-combobox .wc-block-components-combobox-control {
	background-color: #020617 !important;
	color: #e5e7eb !important;
	border-radius: var(--djm-radius) !important;
	border: 1px solid rgba(var(--djm-primary-rgb), 0.5) !important;
}

.wc-block-checkout .wc-block-components-combobox input,
.wc-block-checkout .wc-block-components-select__control input {
	background-color: #020617 !important;
	color: #e5e7eb !important;
	font-family: var(--djm-font-display) !important;
	border: none !important;
	outline: none !important;
}

/* Label flotante de selects y combobox */
.wc-block-checkout .wc-block-components-select__control label,
.wc-block-checkout .wc-block-components-select label,
.wc-block-checkout .wc-block-components-combobox label {
	color: rgba(148, 163, 184, 0.85) !important;
	font-family: var(--djm-font-display) !important;
	font-size: 0.8rem !important;
}

/* Flecha del select: color claro para que se vea */
.wc-block-checkout .wc-block-components-select__control::after,
.wc-block-checkout .wc-block-components-select::after {
	border-color: #94a3b8 !important;
}
/* color del label departamento */
.wc-blocks-components-select .wc-blocks-components-select__label{
	color: rgba(var(--djm-primary-rgb), 0.85) !important;;
}
.wc-block-checkout .wc-block-components-select__control:focus-within,
.wc-block-checkout .wc-block-components-combobox:focus-within,
.wc-block-checkout .wc-block-components-select:focus-within {
	outline: none !important;
	border-color: var(--djm-primary) !important;
	box-shadow: 0 0 0 3px rgba(var(--djm-primary-rgb), 0.18) !important;
}

/* Mensajes de validación: sin fondo, solo texto e icono */
.wc-block-checkout .wc-block-components-validation-error,
.wc-block-checkout .wc-block-components-validation-error p {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	border: none !important;
	padding: 0.2rem 0 0 !important;
	margin: 0.2rem 0 0 !important;
	color: #f87171 !important;
	font-size: 0.8rem !important;
	font-family: var(--djm-font-display) !important;
}

/* ── Radio option del método de pago (label contenedor) ───────────────────── */

/* Quitar fondo y padding del label radio de métodos de pago */
label.wc-block-components-radio-control__option,
label.wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control label,
.wc-block-components-radio-control__option,
.wc-block-components-radio-control__option-checked {
	background: transparent !important;
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	min-height: 0 !important;
}

/* Layout interno y label-group: sin padding ni altura mínima */
.wc-block-components-radio-control__option-layout {
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	min-height: 0 !important;
	gap: 0 !important;
}

.wc-block-components-radio-control__label-group {
	padding: 0 !important;
	margin: 0 !important;
	min-height: 0 !important;
	line-height: 0 !important;
}

/* Si el label-group está vacío, desaparece por completo */
.wc-block-components-radio-control__label-group:empty {
	display: none !important;
	height: 0 !important;
	width: 0 !important;
}

/* Ocultar también el input radio visual si no hay título (solo hay descripción) */
.wc-block-components-radio-control__option .wc-block-components-radio-control__input {
	position: absolute !important;
	width: 0 !important;
	height: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* Checkout bloques: contenido del método de pago (Wompi, etc.) */
.wc-block-components-radio-control-accordion-content {
	padding: 0.6rem 0.9rem 0.75rem !important;
}

.wc-block-payment-method__content {
	display: flex !important;
	align-items: center;
	gap: 0.9rem;
	flex-wrap: wrap;
}

.wc-block-payment-method__description {
	font-family: var(--djm-font-display) !important;
	font-weight: 700 !important;
	font-size: 0.9rem !important;
	color: #e5e7eb !important;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	white-space: nowrap;
	margin: 0 !important;
}

/* Pastilla blanca para que el logo no se pierda en fondo oscuro */
.wc-block-payment-method__image-container {
	background: #ffffff !important;
	border-radius: 0.6rem !important;
	padding: 0.3rem 0.65rem !important;
	height: auto !important;
	width: auto !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.15),
		0 4px 12px rgba(0, 0, 0, 0.4);
}

.wc-block-payment-method__image {
	height: 1.75rem !important;
	width: auto !important;
	object-fit: contain !important;
	display: block;
}

/* Mensajes (éxito, error, info) */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	display: flex !important;
	align-items: center !important;
	gap: 0.75rem !important;
	flex-wrap: wrap !important;
	border-left: 4px solid var(--djm-primary) !important;
	border-radius: var(--djm-radius) !important;
	padding: 0.9rem 1.25rem !important;
	font-family: var(--djm-font-display) !important;
	font-size: 0.95rem !important;
	margin-bottom: 1rem !important;
	list-style: none !important;
}

/* Ícono ::before de WooCommerce — evitar que se monte encima */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	position: static !important;
	display: inline-flex !important;
	flex-shrink: 0 !important;
	margin: 0 !important;
	top: auto !important;
	float: none !important;
}

.woocommerce-message {
	background: rgba(var(--djm-primary-rgb), 0.07) !important;
	color: #e5e7eb !important;
}

.woocommerce-message::before {
	color: var(--djm-primary) !important;
}

.woocommerce-error {
	border-left-color: #ef4444 !important;
	background: rgba(239, 68, 68, 0.08) !important;
	color: #e5e7eb !important;
}

.woocommerce-error::before {
	color: #ef4444 !important;
}

.woocommerce-info {
	border-left-color: #3b82f6 !important;
	background: rgba(59, 130, 246, 0.08) !important;
	color: #e5e7eb !important;
}

.woocommerce-info::before {
	color: #3b82f6 !important;
}

/* Botón "Ver carrito" dentro del mensaje */
.woocommerce-message .button,
.woocommerce-info .button {
	margin-left: auto !important;
	flex-shrink: 0 !important;
	padding: 0.4rem 1rem !important;
	font-size: 0.8rem !important;
	border-radius: 9999px !important;
	background: transparent !important;
	border: 1px solid rgba(var(--djm-primary-rgb), 0.5) !important;
	color: var(--djm-primary) !important;
	font-weight: 700 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	transition: background 0.2s ease, border-color 0.2s ease !important;
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover {
	background: rgba(var(--djm-primary-rgb), 0.12) !important;
	border-color: var(--djm-primary) !important;
}

/* ── Breadcrumb ────────────────────────────────────────────────────────────── */
.woocommerce-breadcrumb {
	font-size: 0.875rem;
	color: var(--djm-text-muted);
	margin-bottom: 1rem;
}

.woocommerce-breadcrumb a {
	color: var(--djm-text-muted);
}

.woocommerce-breadcrumb a:hover {
	color: var(--djm-primary);
}

/* ── Paginación ────────────────────────────────────────────────────────────── */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	border: 1px solid var(--djm-border);
	border-radius: var(--djm-radius);
	padding: 0.5rem 0.875rem;
	font-weight: 600;
	font-family: var(--djm-font-display);
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--djm-primary);
	color: var(--djm-bg-dark);
	border-color: var(--djm-primary);
}

/* ── Filtros / orden de tienda (select) ───────────────────────────────────── */
.woocommerce .woocommerce-ordering select.orderby {
	background-color: #020617;
	color: #e5e7eb;
	border: 1px solid rgba(var(--djm-primary-rgb), 0.5);
	border-radius: var(--djm-radius);
	padding: 0.4rem 2.5rem 0.4rem 0.75rem;
	font-family: var(--djm-font-display);
	font-size: 0.875rem;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: linear-gradient(45deg, #e5e7eb 50%, transparent 50%), linear-gradient(135deg, transparent 50%, #e5e7eb 50%);
	background-position: calc(100% - 16px) 50%, calc(100% - 11px) 50%;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
}

.woocommerce .woocommerce-ordering select.orderby:focus {
	outline: none;
	border-color: var(--djm-primary);
	box-shadow: 0 0 0 2px rgba(var(--djm-primary-rgb), 0.4);
}

/* ── Claves de licencia (plugin DJ Mascot Licenses) ────────────────────────── */
.djm-license-keys {
	font-family: var(--djm-font-display);
}

.djm-license-keys .djm-license-list code {
	background: rgba(var(--djm-primary-rgb), 0.12);
	color: var(--djm-primary);
	padding: 0.25rem 0.5rem;
	border-radius: var(--djm-radius);
}

/* ── Contenedor de contenido WC (alineado con el tema) ─────────────────────── */
.woocommerce .max-w-7xl,
.woocommerce-page .max-w-7xl {
	max-width: 80rem;
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

/* ════════════════════════════════════════════════════════════════════════
   DJM CARRITO — Clases propias (template override)
   ════════════════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════
   DJM CARRITO — Layout principal
   ════════════════════════════════════════════════════════════ */

/* Grid 2 columnas: items (2fr) + totales (1fr) */
.woocommerce-cart .woocommerce {
	display: grid !important;
	grid-template-columns: 1fr !important;
	grid-template-rows: auto auto auto !important;
	gap: 1.5rem 2rem !important;
	align-items: start !important;
}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper {
	grid-column: 1 / -1 !important;
	grid-row: 1 !important;
}
.woocommerce-cart .woocommerce-cart-form  { grid-column: 1 !important; grid-row: 2 !important; }
.woocommerce-cart .cart-collaterals       { grid-column: 1 !important; grid-row: 3 !important; }

@media (min-width: 900px) {
	.woocommerce-cart .woocommerce {
		grid-template-columns: minmax(0, 1fr) minmax(0, 380px) !important;
		grid-template-rows: auto auto !important;
	}
	/* Notices siempre en la primera fila, ocupando todo el ancho */
	.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper {
		grid-column: 1 / -1 !important;
		grid-row: 1 !important;
	}
	/* Formulario de carrito y totales en la segunda fila */
	.woocommerce-cart .woocommerce-cart-form { grid-column: 1 !important; grid-row: 2 !important; }
	.woocommerce-cart .cart-collaterals      { grid-column: 2 !important; grid-row: 2 !important; }
}

/* ════════════════════════════════════════════════════════════
   DJM CARRITO — Tarjetas de producto (djm-cc)
   ════════════════════════════════════════════════════════════ */

/* Form contenedor */
.woocommerce-cart .djm-cf__items {
	display: flex !important;
	flex-direction: column !important;
	gap: 1rem !important;
}

/* ── Tarjeta individual ── */
.djm-cc {
	display: flex !important;
	align-items: center !important;
	gap: 1.5rem !important;
	background: rgba(255,255,255,0.03) !important;
	border: 1px solid rgba(0,242,255,0.1) !important;
	border-radius: 1rem !important;
	padding: 1.25rem 1.5rem !important;
	transition: border-color 0.2s, background 0.2s !important;
}
.djm-cc:hover {
	background: rgba(0,242,255,0.04) !important;
	border-color: rgba(0,242,255,0.25) !important;
}

/* Imagen del producto */
.djm-cc__img {
	flex-shrink: 0 !important;
	width: 7.5rem !important;
	height: 7.5rem !important;
	border-radius: 0.75rem !important;
	overflow: hidden !important;
	border: 1px solid rgba(0,242,255,0.12) !important;
	background: rgba(0,0,0,0.3) !important;
}
.djm-cc__img img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	filter: grayscale(20%) !important;
	transition: filter 0.4s !important;
}
.djm-cc:hover .djm-cc__img img { filter: grayscale(0%) !important; }

/* Contenido derecho */
.djm-cc__body {
	flex: 1 !important;
	min-width: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.4rem !important;
}

/* Header: nombre + botón eliminar */
.djm-cc__header {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 1rem !important;
}

.djm-cc__name {
	font-size: 1.05rem !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	margin: 0 !important;
}
.djm-cc__name a,
.djm-cc__name span {
	color: #f1f5f9 !important;
	text-decoration: none !important;
	transition: color 0.18s !important;
}
.djm-cc__name a:hover { color: #00f2ff !important; }

/* Botón eliminar */
.djm-cc__remove {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	color: #475569 !important;
	text-decoration: none !important;
	transition: color 0.18s !important;
	padding: 0.25rem !important;
}
.djm-cc__remove:hover { color: #f87171 !important; }
.djm-cc__remove .material-symbols-outlined { font-size: 1.15rem !important; }

/* Descripción corta */
.djm-cc__desc {
	font-size: 0.8rem !important;
	color: rgba(0,242,255,0.65) !important;
	font-weight: 500 !important;
	margin: 0 !important;
	line-height: 1.4 !important;
}

/* Meta / variaciones */
.djm-cc__meta { font-size: 0.75rem !important; color: #475569 !important; }
.djm-cc__meta dl { display: flex !important; flex-wrap: wrap !important; gap: 0.25rem 0.75rem !important; margin: 0 !important; }
.djm-cc__meta dt { color: #64748b !important; }
.djm-cc__meta dt::after { content: ':' !important; }

/* Footer: cantidad + precio */
.djm-cc__footer {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
	gap: 0.75rem !important;
	margin-top: 0.5rem !important;
}

/* Control de cantidad â€” estilos del bloque unificado djm-qty-wrapper */

/* Precio unitario */
.djm-cc__price {
	text-align: right !important;
}
.djm-cc__price-label {
	display: block !important;
	font-size: 0.55rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.18em !important;
	color: #475569 !important;
	text-transform: uppercase !important;
	margin-bottom: 0.2rem !important;
}
.djm-cc__price-value {
	display: block !important;
	font-size: 1.35rem !important;
	font-weight: 900 !important;
	color: #f1f5f9 !important;
	line-height: 1 !important;
}
.djm-cc__price-value .woocommerce-Price-amount { color: inherit !important; }

/* ── Acciones (cupón + actualizar) ── */
.djm-cf__actions {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
	gap: 0.75rem !important;
	padding: 1rem 0 0 !important;
	border-top: 1px solid rgba(0,242,255,0.07) !important;
	margin-top: 0.5rem !important;
}

.djm-cf__coupon {
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	flex-wrap: wrap !important;
}
.djm-cf__coupon-input {
	background: rgba(0,0,0,0.4) !important;
	color: #cbd5e1 !important;
	border: 1px solid rgba(0,242,255,0.2) !important;
	border-radius: 9999px !important;
	padding: 0.5rem 1.1rem !important;
	font-family: var(--djm-font-display) !important;
	font-size: 0.8rem !important;
	width: 13rem !important;
	transition: border-color 0.2s, box-shadow 0.2s !important;
}
.djm-cf__coupon-input::placeholder { color: rgba(148,163,184,0.3) !important; }
.djm-cf__coupon-input:focus {
	outline: none !important;
	border-color: #00f2ff !important;
	box-shadow: 0 0 0 3px rgba(0,242,255,0.07) !important;
}
.djm-cf__coupon-btn {
	border-radius: 9999px !important;
	padding: 0.5rem 1.25rem !important;
	font-size: 0.7rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	background: transparent !important;
	border: 1px solid rgba(0,242,255,0.35) !important;
	color: #00f2ff !important;
	cursor: pointer !important;
	font-family: var(--djm-font-display) !important;
	transition: background 0.2s !important;
}
.djm-cf__coupon-btn:hover { background: rgba(0,242,255,0.08) !important; }

.djm-cf__update-btn {
	border-radius: 9999px !important;
	padding: 0.5rem 1.25rem !important;
	font-size: 0.7rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	background: transparent !important;
	border: 1px solid rgba(148,163,184,0.18) !important;
	color: rgba(148,163,184,0.5) !important;
	cursor: pointer !important;
	font-family: var(--djm-font-display) !important;
	transition: all 0.2s !important;
}
.djm-cf__update-btn:not(:disabled):hover {
	border-color: rgba(0,242,255,0.35) !important;
	color: #00f2ff !important;
}
.djm-cf__update-btn:disabled { opacity: 0.25 !important; cursor: not-allowed !important; }

/* Ocultar visualmente el botón "Actualizar" — el JS lo dispara automáticamente */
.djm-cf__update-btn {
	display: none !important;
}

/* ── Continuar comprando ── */
.djm-cf__continue { padding-top: 0.5rem !important; }
.djm-cf__continue-link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.4rem !important;
	color: #00f2ff !important;
	font-size: 0.8rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.1em !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	transition: opacity 0.18s !important;
}
.djm-cf__continue-link:hover { opacity: 0.75 !important; }
.djm-cf__continue-link .material-symbols-outlined { font-size: 1rem !important; }

/* ── Panel de totales (djm-ct) ── */
.djm-ct {
	background: rgba(255,255,255,0.03) !important;
	border: 1px solid rgba(0,242,255,0.12) !important;
	border-radius: 1rem !important;
	padding: 1.75rem !important;
	position: relative !important;
	overflow: hidden !important;
}
.djm-ct::before {
	content: '' !important;
	position: absolute !important;
	top: -4rem !important;
	right: -4rem !important;
	width: 12rem !important;
	height: 12rem !important;
	background: radial-gradient(circle, rgba(0,242,255,0.06) 0%, transparent 70%) !important;
	pointer-events: none !important;
}

/* Título */
.djm-ct__title {
	font-size: 1.3rem !important;
	font-weight: 900 !important;
	color: #f1f5f9 !important;
	margin: 0 0 1.5rem !important;
	letter-spacing: -0.01em !important;
	border-bottom: none !important;
	padding-bottom: 0 !important;
}

/* Filas de totales */
.djm-ct__rows {
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
	margin-bottom: 1.5rem !important;
}

.djm-ct__row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 0.7rem 0 !important;
	border-bottom: 1px solid rgba(255,255,255,0.05) !important;
}
.djm-ct__row:last-child { border-bottom: none !important; }

.djm-ct__label {
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	color: #94a3b8 !important;
}
.djm-ct__value {
	font-size: 0.9rem !important;
	font-weight: 700 !important;
	color: #f1f5f9 !important;
}
.djm-ct__value .woocommerce-Price-amount { color: inherit !important; }

/* Envío gratuito */
.djm-ct__value--free {
	font-size: 0.65rem !important;
	font-weight: 900 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	font-style: italic !important;
	color: #00f2ff !important;
}

/* Descuento cupón */
.djm-ct__value--discount { color: #4ade80 !important; }

/* Fila total */
.djm-ct__row--total {
	padding-top: 1.1rem !important;
	padding-bottom: 0 !important;
	border-bottom: none !important;
	border-top: 1px solid rgba(0,242,255,0.1) !important;
	margin-top: 0.5rem !important;
}
.djm-ct__label--total {
	font-size: 1rem !important;
	font-weight: 900 !important;
	color: #f1f5f9 !important;
}
.djm-ct__value--total .woocommerce-Price-amount,
.djm-ct__value--total .amount {
	font-size: 1.75rem !important;
	font-weight: 900 !important;
	color: #00f2ff !important;
}

/* Fila de envío con tabla WooCommerce adentro */
.djm-ct__row--shipping { flex-wrap: wrap !important; gap: 0.5rem !important; align-items: flex-start !important; }
.djm-ct__row--shipping table { display: none !important; }
.djm-ct__row--shipping .woocommerce-shipping-totals th,
.djm-ct__row--shipping .woocommerce-shipping-totals td { display: block !important; padding: 0 !important; border: none !important; background: transparent !important; }

/* ── Formulario de cupón en el panel de totales ── */
.djm-ct__coupon-form { padding: 1rem 0 0 !important; }

/* Ocultar cualquier segundo cupón duplicado */
.djm-ct__coupon-form ~ .djm-ct__coupon-form,
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .checkout_coupon,
.woocommerce-checkout .woocommerce-form-coupon { display: none !important; }

.djm-ct__coupon {
	display: flex !important;
	gap: 0.5rem !important;
}
.djm-ct__coupon-input {
	flex: 1 !important;
	min-width: 0 !important;
	background: rgba(0,0,0,0.4) !important;
	color: #cbd5e1 !important;
	border: 1px solid rgba(0,242,255,0.2) !important;
	border-radius: 0.625rem !important;
	padding: 0.6rem 1rem !important;
	font-family: var(--djm-font-display) !important;
	font-size: 0.8rem !important;
	transition: border-color 0.2s, box-shadow 0.2s !important;
}
.djm-ct__coupon-input::placeholder { color: rgba(148,163,184,0.3) !important; }
.djm-ct__coupon-input:focus {
	outline: none !important;
	border-color: #00f2ff !important;
	box-shadow: 0 0 0 3px rgba(0,242,255,0.07) !important;
}
.djm-ct__coupon-btn {
	flex-shrink: 0 !important;
	border-radius: 0.625rem !important;
	padding: 0.6rem 1.1rem !important;
	font-size: 0.72rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	background: transparent !important;
	border: 1px solid rgba(0,242,255,0.3) !important;
	color: #00f2ff !important;
	cursor: pointer !important;
	font-family: var(--djm-font-display) !important;
	transition: background 0.18s !important;
	white-space: nowrap !important;
}
.djm-ct__coupon-btn:hover { background: rgba(0,242,255,0.08) !important; }

/* Botón checkout */
.djm-ct__checkout { padding-top: 1rem !important; }
.djm-ct__checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.5rem !important;
	width: 100% !important;
	padding: 1rem 1.5rem !important;
	font-size: 0.95rem !important;
	font-weight: 900 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	border-radius: 0.625rem !important;
	background: #00f2ff !important;
	color: #020b18 !important;
	border: none !important;
	box-shadow: 0 0 22px rgba(0,242,255,0.28), 0 4px 16px rgba(0,0,0,0.35) !important;
	transition: filter 0.18s, transform 0.15s !important;
}
.djm-ct__checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	filter: brightness(1.1) !important;
	transform: translateY(-1px) !important;
}

/* Badges de seguridad */
.djm-ct__trust {
	padding-top: 1.25rem !important;
	text-align: center !important;
}
.djm-ct__trust-label {
	font-size: 0.55rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	color: #475569 !important;
	margin: 0 0 0.75rem !important;
}
.djm-ct__trust-badges {
	display: flex !important;
	justify-content: center !important;
	gap: 1.5rem !important;
	opacity: 0.6 !important;
}
.djm-ct__badge {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 0.2rem !important;
}
.djm-ct__badge .material-symbols-outlined {
	font-size: 1.4rem !important;
	color: #00f2ff !important;
}
.djm-ct__badge span:last-child {
	font-size: 0.55rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.1em !important;
	color: #64748b !important;
	text-transform: uppercase !important;
}

/* Caja activación instantánea */
.djm-ct__activation {
	display: flex !important;
	align-items: flex-start !important;
	gap: 0.875rem !important;
	margin-top: 1rem !important;
	padding: 1.1rem 1.25rem !important;
	border-radius: 0.75rem !important;
	background: rgba(0,242,255,0.04) !important;
	border: 1px solid rgba(0,242,255,0.1) !important;
}
.djm-ct__activation-icon {
	font-size: 1.3rem !important;
	color: #00f2ff !important;
	flex-shrink: 0 !important;
	margin-top: 0.1rem !important;
}
.djm-ct__activation-title {
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	color: #f1f5f9 !important;
	margin: 0 0 0.3rem !important;
}
.djm-ct__activation-desc {
	font-size: 0.75rem !important;
	color: #475569 !important;
	line-height: 1.55 !important;
	margin: 0 !important;
}

/* ── Responsive móvil ── */
@media (max-width: 700px) {
	.djm-cc {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 1rem !important;
	}
	.djm-cc__img {
		width: 100% !important;
		height: 10rem !important;
	}
	.djm-cf__coupon-input { width: auto !important; flex: 1 !important; }
	.djm-cf__actions { flex-direction: column !important; align-items: stretch !important; }
}

/* ════════════════════════════════════════════════════════════
   Clases djm-cart-* (obsoletas — template div eliminado)
   Se conservan para no romper nada
   ════════════════════════════════════════════════════════════ */
.djm-cart-box {
	border-radius: 1rem;
	border: 1px solid rgba(0, 242, 255, 0.1);
	overflow: hidden;
	background: #07111e;
	box-shadow: 0 16px 48px rgba(0,0,0,0.4);
	font-family: var(--djm-font-display);
}

/* ── Cabecera de columnas ── */
.djm-cart-head {
	display: grid;
	grid-template-columns: var(--djm-cart-grid);
	align-items: center;
	background: rgba(0,0,0,0.3);
	border-bottom: 1px solid rgba(0,242,255,0.08);
	padding: 0;
}

.djm-ch {
	padding: 0.7rem 1rem;
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(0, 242, 255, 0.45);
	white-space: nowrap;
}

.djm-ch--price    { text-align: right; }
.djm-ch--subtotal { text-align: right; padding-right: 1.25rem; }
.djm-ch--qty      { text-align: center; }

/* ── Fila de producto ── */
.djm-cart-row {
	display: grid;
	grid-template-columns: var(--djm-cart-grid);
	align-items: center;
	border-bottom: 1px solid rgba(255,255,255,0.04);
	transition: background 0.2s;
}

.djm-cart-row:last-child { border-bottom: none; }
.djm-cart-row:hover { background: rgba(0,242,255,0.025); }

/* Celda base */
.djm-ci {
	padding: 1.1rem 1rem;
	color: #e2e8f0;
}

/* ── Columna: eliminar ── */
.djm-ci--remove {
	padding-left: 1rem;
	padding-right: 0.25rem;
	display: flex;
	align-items: center;
}

.djm-btn-remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.8rem;
	height: 1.8rem;
	border-radius: 50%;
	background: rgba(239,68,68,0.08);
	border: 1px solid rgba(239,68,68,0.18);
	color: rgba(239,68,68,0.55);
	text-decoration: none;
	transition: background 0.2s, color 0.2s, transform 0.2s;
	flex-shrink: 0;
}
.djm-btn-remove .material-symbols-outlined { font-size: 0.85rem; line-height: 1; }
.djm-btn-remove:hover {
	background: rgba(239,68,68,0.18);
	border-color: #ef4444;
	color: #ef4444;
	transform: rotate(12deg) scale(1.1);
}

/* ── Columna: imagen ── */
.djm-ci--img { padding-right: 0.5rem; }

.djm-cart-img-link {
	display: block;
	width: 3.75rem;
	height: 3.75rem;
	border-radius: 0.65rem;
	overflow: hidden;
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(0,242,255,0.1);
}
.djm-cart-img-link img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	padding: 0.3rem;
}

/* ── Columna: nombre ── */
.djm-cart-pname {
	display: block;
	font-size: 0.9rem;
	font-weight: 700;
	color: #f1f5f9;
	text-decoration: none;
	line-height: 1.35;
	transition: color 0.2s;
}
a.djm-cart-pname:hover { color: #00f2ff; }

.djm-cart-meta { margin-top: 0.25rem; font-size: 0.72rem; color: #475569; line-height: 1.4; }
.djm-cart-meta dl, .djm-cart-meta dt, .djm-cart-meta dd { display: inline; margin: 0; padding: 0; }
.djm-cart-meta dt::after { content: ': '; }
.djm-cart-meta dd::after { content: ' · '; }
.djm-cart-meta dd:last-of-type::after { content: ''; }

/* ── Columna: precio unitario ── */
.djm-ci--price {
	text-align: right;
	font-size: 0.85rem;
	color: #64748b;
	white-space: nowrap;
}

/* ── Columna: cantidad ── */
.djm-ci--qty { text-align: center; }

/* ── Columna: subtotal ── */
.djm-ci--subtotal {
	text-align: right;
	padding-right: 1.25rem;
	white-space: nowrap;
}

.djm-ci--subtotal .woocommerce-Price-amount {
	font-weight: 800;
	font-size: 1rem;
	color: #00f2ff;
}

/* ── Barra de acciones (cupón + actualizar) ── */
.djm-cart-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.75rem;
	padding: 0.9rem 1.25rem;
	background: rgba(0,0,0,0.22);
	border-top: 1px solid rgba(0,242,255,0.07);
}

/* ── Cabecera ── */
.djm-cart-table__head        { background: rgba(0,0,0,0.3); border-bottom: 1px solid rgba(0,242,255,0.08); }

.djm-cart-table__head th {
	padding: 0.7rem 1rem;
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(0, 242, 255, 0.45);
	white-space: nowrap;
	border: none;
	vertical-align: middle;
}

.djm-cart-table__head .djm-cart-col--price,
.djm-cart-table__head .djm-cart-col--subtotal { text-align: right; }
.djm-cart-table__head .djm-cart-col--qty      { text-align: center; }

/* ── Celdas generales ── */
.djm-cart-table td {
	padding: 1.1rem 1rem !important;
	vertical-align: middle !important;
	border: none !important;
	border-bottom: 1px solid rgba(255,255,255,0.04) !important;
	color: #e2e8f0 !important;
	background: transparent !important;
}

.djm-cart-item:last-child td { border-bottom: none !important; }

.djm-cart-item {
	transition: background 0.2s;
}
.djm-cart-item:hover { background: rgba(0,242,255,0.02) !important; }

/* ── Columna: eliminar ── */
.djm-cart-col--remove {
	width: 3.25rem !important;
	padding-left: 1rem !important;
	padding-right: 0.25rem !important;
}

.djm-cart-remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.8rem;
	height: 1.8rem;
	border-radius: 50%;
	background: rgba(239,68,68,0.08);
	border: 1px solid rgba(239,68,68,0.18);
	color: rgba(239,68,68,0.55);
	text-decoration: none;
	transition: background 0.2s, color 0.2s, transform 0.2s;
	flex-shrink: 0;
}
.djm-cart-remove .material-symbols-outlined { font-size: 0.85rem; line-height: 1; }
.djm-cart-remove:hover {
	background: rgba(239,68,68,0.18);
	border-color: #ef4444;
	color: #ef4444;
	transform: rotate(12deg) scale(1.1);
}

/* ── Columna: imagen ── */
.djm-cart-col--img {
	width: 5.5rem !important;
	padding-right: 0.5rem !important;
}

.djm-cart-img-link {
	display: block;
	width: 3.75rem;
	height: 3.75rem;
	border-radius: 0.65rem;
	overflow: hidden;
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(0,242,255,0.1);
	flex-shrink: 0;
}
.djm-cart-img-link img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	padding: 0.3rem;
}

/* ── Columna: nombre ── */
.djm-cart-col--name { width: auto !important; }

.djm-cart-product-name {
	display: block;
	font-size: 0.9rem;
	font-weight: 700;
	color: #f1f5f9;
	text-decoration: none;
	line-height: 1.35;
	transition: color 0.2s;
}
a.djm-cart-product-name:hover { color: #00f2ff; }

.djm-cart-meta {
	margin-top: 0.25rem;
	font-size: 0.72rem;
	color: #475569;
	line-height: 1.4;
}
.djm-cart-meta dl, .djm-cart-meta dt, .djm-cart-meta dd { display: inline !important; margin: 0; padding: 0; }
.djm-cart-meta dt::after { content: ': '; }
.djm-cart-meta dd::after { content: ' · '; color: #1e293b; }
.djm-cart-meta dd:last-of-type::after { content: ''; }

/* ── Columna: precio unitario ── */
.djm-cart-col--price {
	width: 8rem !important;
	white-space: nowrap !important;
	text-align: right !important;
	color: #64748b !important;
	font-size: 0.85rem !important;
}

/* ── Columna: cantidad ── */
.djm-cart-col--qty {
	width: 9rem !important;
	text-align: center !important;
}

/* ── Columna: subtotal ── */
.djm-cart-col--subtotal {
	width: 8.5rem !important;
	white-space: nowrap !important;
	text-align: right !important;
	padding-right: 1.25rem !important;
}

.djm-cart-col--subtotal .woocommerce-Price-amount {
	font-weight: 800 !important;
	font-size: 1rem !important;
	color: #00f2ff !important;
}

/* ── Fila de acciones ── */
.djm-cart-actions { background: rgba(0,0,0,0.25) !important; }

.djm-cart-actions__td {
	padding: 0.85rem 1rem !important;
	border-top: 1px solid rgba(0,242,255,0.07) !important;
	border-bottom: none !important;
}

.djm-cart-actions__inner {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.75rem;
}

/* Cupón */
.djm-cart-coupon { display: flex; align-items: center; gap: 0.5rem; }

.djm-cart-coupon__icon {
	font-size: 1rem;
	color: rgba(0,242,255,0.4);
	flex-shrink: 0;
}

.djm-cart-coupon__input {
	background: rgba(0,0,0,0.35);
	color: #cbd5e1;
	border: 1px solid rgba(0,242,255,0.2);
	border-radius: 9999px;
	padding: 0.45rem 1rem;
	font-family: var(--djm-font-display);
	font-size: 0.8rem;
	width: 12rem;
	transition: border-color 0.2s, box-shadow 0.2s;
}
.djm-cart-coupon__input::placeholder { color: rgba(148,163,184,0.35); }
.djm-cart-coupon__input:focus {
	outline: none;
	border-color: #00f2ff;
	box-shadow: 0 0 0 3px rgba(0,242,255,0.08);
}

.djm-cart-coupon__btn,
.djm-cart-update-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	border-radius: 9999px;
	padding: 0.45rem 1.1rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	cursor: pointer;
	font-family: var(--djm-font-display);
	transition: all 0.2s;
	white-space: nowrap;
}

.djm-cart-coupon__btn {
	background: transparent;
	border: 1px solid rgba(0,242,255,0.3);
	color: #00f2ff;
}
.djm-cart-coupon__btn:hover { background: rgba(0,242,255,0.08); border-color: #00f2ff; }

.djm-cart-update-btn {
	background: transparent;
	border: 1px solid rgba(148,163,184,0.2);
	color: rgba(148,163,184,0.55);
}
.djm-cart-update-btn .material-symbols-outlined { font-size: 0.85rem; line-height: 1; }
.djm-cart-update-btn:hover   { border-color: rgba(0,242,255,0.35); color: #00f2ff; }
.djm-cart-update-btn:disabled { opacity: 0.3; cursor: not-allowed; pointer-events: none; }

/* ── Responsive móvil ────────────────────────────────────────────────── */
@media (max-width: 640px) {
	.djm-cart-head { display: none; }

	.djm-cart-row {
		grid-template-columns: 2.75rem 4rem 1fr !important;
		grid-template-rows: auto auto auto;
		align-items: start;
		padding: 0.9rem 0.75rem;
		column-gap: 0.6rem;
	}

	.djm-ci { padding: 0; }

	.djm-ci--remove   { grid-column: 1; grid-row: 1; align-self: center; padding-left: 0; }
	.djm-ci--img      { grid-column: 2; grid-row: 1 / 4; }
	.djm-ci--name     { grid-column: 3; grid-row: 1; }
	.djm-ci--price    { grid-column: 3; grid-row: 2; margin-top: 0.3rem; font-size: 0.8rem; text-align: left; }
	.djm-ci--qty      { grid-column: 3; grid-row: 3; margin-top: 0.5rem; text-align: left; }
	.djm-ci--subtotal { display: none; }

	.djm-cart-actions { flex-direction: column; align-items: stretch; }
	.djm-cart-coupon  { flex-wrap: wrap; }
	.djm-cart-coupon__input { flex: 1; min-width: 0; width: auto; }
}

/* ── Panel de totales ────────────────────────────────────────────────── */
.woocommerce-cart .cart-collaterals {
	width: 100% !important;
	float: none !important;
}

.woocommerce-cart .cart_totals {
	position: relative !important;
	border-radius: 1.25rem !important;
	border: 1px solid rgba(0, 242, 255, 0.12) !important;
	padding: 1.75rem !important;
	background: linear-gradient(160deg, #081525 0%, #050d18 100%) !important;
	overflow: hidden !important;
}

/* Glow decorativo en esquina superior */
.woocommerce-cart .cart_totals::before {
	content: '' !important;
	position: absolute !important;
	top: -4rem !important;
	right: -4rem !important;
	width: 12rem !important;
	height: 12rem !important;
	background: radial-gradient(circle, rgba(0, 242, 255, 0.07) 0%, transparent 70%) !important;
	pointer-events: none !important;
}

.woocommerce-cart .cart_totals h2 {
	font-size: 0.65rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	color: rgba(0, 242, 255, 0.5) !important;
	margin-bottom: 1.25rem !important;
	padding-bottom: 0 !important;
	border-bottom: none !important;
}

/* Tabla de totales */
.woocommerce-cart .cart_totals table.shop_table {
	border: none !important;
	background: transparent !important;
	width: 100% !important;
	margin-bottom: 0 !important;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
	padding: 0.65rem 0 !important;
	border: none !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
	background: transparent !important;
	font-size: 0.9rem !important;
}

.woocommerce-cart .cart_totals table.shop_table th {
	color: rgba(148, 163, 184, 0.8) !important;
	font-weight: 600 !important;
	font-size: 0.85rem !important;
	background: transparent !important;
}

.woocommerce-cart .cart_totals table.shop_table .order-total th,
.woocommerce-cart .cart_totals table.shop_table .order-total td {
	border-bottom: none !important;
	padding-top: 1rem !important;
}

.woocommerce-cart .cart_totals table.shop_table .order-total th {
	font-size: 0.95rem !important;
	font-weight: 800 !important;
	color: #e5e7eb !important;
}

.woocommerce-cart .cart_totals table.shop_table .order-total .woocommerce-Price-amount {
	font-size: 1.6rem !important;
	font-weight: 900 !important;
	background: linear-gradient(135deg, #00f2ff, #7ffffe, #00f2ff) !important;
	background-size: 200% auto !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	background-clip: text !important;
	animation: djm-shimmer 3.5s linear infinite !important;
}

/* ── 4. Botón "Finalizar compra" ────────────────────────────── */
.woocommerce-cart .wc-proceed-to-checkout {
	padding-top: 1.25rem !important;
	margin-top: 0.5rem !important;
	border-top: 1px solid rgba(0, 242, 255, 0.1) !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.5rem !important;
	width: 100% !important;
	padding: 0.9rem 1.5rem !important;
	font-size: 0.95rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	border-radius: 9999px !important;
	background: linear-gradient(135deg, #00f2ff 0%, #00c8d4 100%) !important;
	color: #020b18 !important;
	border: none !important;
	box-shadow:
		0 0 20px rgba(0, 242, 255, 0.3),
		0 4px 16px rgba(0, 0, 0, 0.4) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease !important;
	position: relative !important;
	overflow: hidden !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::before {
	content: '' !important;
	position: absolute !important;
	inset: 0 !important;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.18), transparent) !important;
	transform: translateX(-100%) !important;
	transition: transform 0.45s ease !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	transform: translateY(-2px) !important;
	box-shadow:
		0 0 30px rgba(0, 242, 255, 0.45),
		0 8px 24px rgba(0, 0, 0, 0.5) !important;
	color: #020b18 !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover::before {
	transform: translateX(100%) !important;
}

/* ── 5. Carrito vacío ───────────────────────────────────────── */
.woocommerce-cart .cart-empty {
	text-align: center !important;
	font-size: 1.05rem !important;
	color: rgba(148, 163, 184, 0.7) !important;
	margin-bottom: 0.75rem !important;
	font-weight: 500 !important;
}

.woocommerce-cart .return-to-shop {
	text-align: center !important;
}

.woocommerce-cart .return-to-shop .button {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.4rem !important;
	border-radius: 9999px !important;
	padding: 0.65rem 1.5rem !important;
	font-size: 0.875rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	background: transparent !important;
	border: 1px solid rgba(0, 242, 255, 0.4) !important;
	color: #00f2ff !important;
	text-decoration: none !important;
	transition: background 0.2s ease, box-shadow 0.2s ease !important;
}

.woocommerce-cart .return-to-shop .button:hover {
	background: rgba(0, 242, 255, 0.08) !important;
	box-shadow: 0 0 14px rgba(0, 242, 255, 0.2) !important;
}

/* ── Responsive mobile ──────────────────────────────────────── */
@media (max-width: 640px) {
	.woocommerce-cart table.cart thead {
		display: none !important;
	}

	.woocommerce-cart table.cart tbody td {
		display: block !important;
		border: none !important;
		padding: 0.4rem 1rem !important;
	}

	.woocommerce-cart table.cart tbody td::before {
		content: attr(data-title) ': ' !important;
		font-weight: 700 !important;
		font-size: 0.78rem !important;
		letter-spacing: 0.06em !important;
		text-transform: uppercase !important;
		color: rgba(0, 242, 255, 0.5) !important;
		display: inline !important;
		margin-right: 0.4rem !important;
	}

	.woocommerce-cart table.cart tbody .cart_item {
		display: block !important;
		border: 1px solid rgba(0, 242, 255, 0.08) !important;
		border-radius: 0.75rem !important;
		margin-bottom: 1rem !important;
		padding: 0.75rem 0 !important;
	}

	.woocommerce-cart table.cart .product-remove,
	.woocommerce-cart table.cart .product-thumbnail {
		display: inline-block !important;
		width: auto !important;
	}

	.woocommerce-cart table.cart .product-remove::before,
	.woocommerce-cart table.cart .product-thumbnail::before {
		display: none !important;
	}
}

/* ═══════════════════════════════════════════════════════════════
   CHECKOUT — Finalizar Compra (rediseño completo)
   ═══════════════════════════════════════════════════════════════ */

.woocommerce-checkout .woocommerce { display: block !important; }

/* ── Indicador de pasos ── */

.djm-co-steps {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	margin-bottom: 2rem;
	padding: 1.1rem 1.5rem;
}

.djm-co-step {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	text-decoration: none !important;
	color: #475569 !important;
}

.djm-co-step__num {
	width: 1.8rem;
	height: 1.8rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.75rem;
	font-weight: 800;
	background: rgba(51, 65, 85, 0.4);
	border: 1px solid rgba(51, 65, 85, 0.6);
	flex-shrink: 0;
	transition: all 0.2s ease;
	color: #475569;
}

.djm-co-step__num .material-symbols-outlined {
	font-size: 0.9rem !important;
	font-variation-settings: 'FILL' 1 !important;
}

.djm-co-step__label {
	font-size: 0.8rem;
	font-weight: 600;
	white-space: nowrap;
}

.djm-co-step__line {
	flex: 1;
	min-width: 2.5rem;
	height: 2px;
	margin: 0 0.65rem;
	background-image: repeating-linear-gradient(
		90deg,
		rgba(51, 65, 85, 0.55) 0px,
		rgba(51, 65, 85, 0.55) 5px,
		transparent 5px,
		transparent 12px
	);
	background-size: 12px 2px;
	border: none;
}

.djm-co-step__line--done {
	background-image: repeating-linear-gradient(
		90deg,
		rgba(0, 242, 255, 0.5) 0px,
		rgba(0, 242, 255, 0.5) 5px,
		transparent 5px,
		transparent 12px
	);
}

/* Paso completado */
.djm-co-step--done {
	color: rgba(0, 242, 255, 0.7) !important;
}

.djm-co-step--done .djm-co-step__num {
	background: rgba(0, 242, 255, 0.12);
	border-color: rgba(0, 242, 255, 0.4);
	color: rgba(0, 242, 255, 0.85);
}

/* Paso activo */
.djm-co-step--active {
	color: #f1f5f9 !important;
}

.djm-co-step--active .djm-co-step__num {
	background: var(--djm-primary);
	border-color: var(--djm-primary);
	color: #020617;
	box-shadow: 0 0 16px rgba(0, 242, 255, 0.45);
}

@media (max-width: 480px) {
	.djm-co-steps { padding: 0.9rem 1rem; }
	.djm-co-step__label { display: none; }
	.djm-co-step__line { min-width: 1.25rem; }
}

/* ── Wrapper de página checkout ── */
.djm-page-checkout {
	padding-left: 0;
	padding-right: 0;
}

@media (min-width: 601px) {
	.djm-page-checkout {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
}

/* ── Layout principal 2 columnas ── */
.djm-co {
	display: flex;
	gap: 2rem;
		align-items: flex-start;
	}

.djm-co__main {
	flex: 1 1 0;
	min-width: 0;
	width: 100%;
}

.djm-co__aside {
	flex: 0 0 360px;
	width: 360px;
	position: sticky;
	top: 5.5rem;
}

.djm-co__panel {
	background: rgba(2, 6, 23, 0.88);
	border: 1px solid rgba(51, 65, 85, 0.7);
	border-radius: var(--djm-radius-xl);
	padding: 1.5rem;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45),
	            inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

@media (max-width: 900px) {
	.djm-co { flex-direction: column; }

	.djm-co__aside {
		flex: 1 1 auto;
		width: 100%;
		position: static;
	}
}

/* Columnas internas del col2-set apiladas */
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
	width: 100% !important;
	float: none !important;
}

/* ── Sección de facturación / envío — glass morphism + header gradiente ── */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
	background: rgba(255, 255, 255, 0.025) !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	border: 1px solid rgba(255, 255, 255, 0.07) !important;
	border-radius: var(--djm-radius-xl) !important;
	padding: 0 !important;
	overflow: hidden !important;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35),
	            0 0 0 1px rgba(0, 242, 255, 0.04) !important;
	margin-bottom: 1.25rem !important;
}

/* Header de cada sección con gradiente cyan */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
	display: flex !important;
	align-items: center !important;
	gap: 0.6rem !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	text-transform: none !important;
	color: #f1f5f9 !important;
	margin: 0 !important;
	padding: 0.9rem 1.4rem !important;
	background: linear-gradient(90deg, rgba(0, 242, 255, 0.12) 0%, rgba(0, 242, 255, 0.03) 60%, transparent 100%) !important;
	border-bottom: 1px solid rgba(0, 242, 255, 0.1) !important;
	border-top: none !important;
}

/* Icono Material antes del título */
.woocommerce-checkout .woocommerce-billing-fields h3::before {
	content: '\e7fd';
	font-family: 'Material Symbols Outlined' !important;
	font-size: 1rem !important;
	font-weight: 300 !important;
	font-variation-settings: 'FILL' 0, 'wght' 300 !important;
	color: rgba(0, 242, 255, 0.65) !important;
	line-height: 1 !important;
	flex-shrink: 0 !important;
	letter-spacing: 0 !important;
}

.woocommerce-checkout .woocommerce-shipping-fields h3::before {
	content: '\e558';
	font-family: 'Material Symbols Outlined' !important;
	font-size: 1rem !important;
	font-weight: 300 !important;
	font-variation-settings: 'FILL' 0, 'wght' 300 !important;
	color: rgba(0, 242, 255, 0.65) !important;
	line-height: 1 !important;
	flex-shrink: 0 !important;
	letter-spacing: 0 !important;
}

.woocommerce-checkout .woocommerce-additional-fields h3::before {
	content: '\e26c';
	font-family: 'Material Symbols Outlined' !important;
	font-size: 1rem !important;
	font-weight: 300 !important;
	font-variation-settings: 'FILL' 0, 'wght' 300 !important;
	color: rgba(0, 242, 255, 0.65) !important;
	line-height: 1 !important;
	flex-shrink: 0 !important;
	letter-spacing: 0 !important;
}

/* Contenido de los campos con padding */
/* Grid 2 columnas para billing y shipping */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 0 0.85rem !important;
	padding: 1.25rem 1.4rem 0.5rem !important;
}

/* Notas: bloque simple */
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
	display: block !important;
	padding: 1.25rem 1.4rem 0.5rem !important;
}

.woocommerce-checkout .woocommerce-additional-fields .form-row,
.woocommerce-checkout .woocommerce-additional-fields .woocommerce-input-wrapper {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* Todos los campos ocupan 1 columna por defecto */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row {
	width: 100% !important;
	float: none !important;
	clear: none !important;
	margin: 0 0 0.9rem !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

/* Campos que deben ocupar las 2 columnas (dirección completa, ciudad, etc.) */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-wide {
	grid-column: span 2 !important;
}

/* En pantallas pequeñas: 1 columna */
@media (max-width: 600px) {
	/* Grid a 1 columna */
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: 1fr !important;
	}

	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-wide {
		grid-column: span 1 !important;
	}

	/* Tarjetas edge-to-edge — sin bordes ni radius laterales */
	.woocommerce-checkout .woocommerce-billing-fields,
	.woocommerce-checkout .woocommerce-shipping-fields,
	.woocommerce-checkout .woocommerce-additional-fields {
		border-radius: 0 !important;
		border-left: none !important;
		border-right: none !important;
	}

	/* Panel aside también edge-to-edge */
	.djm-co__panel {
		border-radius: 0 !important;
		border-left: none !important;
		border-right: none !important;
	}

	/* Steps también sin padding lateral extra */
	.djm-co-steps {
		border-radius: 0 !important;
	}
}

/* "Ship to different address" — también dentro del card */
.woocommerce-checkout #ship-to-different-address {
	margin: 0 1.4rem 1rem !important;
}

/* Labels */
.woocommerce-checkout .form-row label {
	display: block !important;
	font-size: 0.7rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.01em !important;
	text-transform: none !important;
	color: #64748b !important;
	margin-bottom: 0.35rem !important;
}

.woocommerce-checkout .form-row label .required {
	color: rgba(0, 242, 255, 0.5) !important;
	text-decoration: none !important;
	margin-left: 1px !important;
}

/* ── Inputs ── */
.woocommerce-checkout .woocommerce-input-wrapper {
	display: block !important;
	width: 100% !important;
}

.woocommerce-checkout .woocommerce-input-wrapper input[type="text"],
.woocommerce-checkout .woocommerce-input-wrapper input[type="email"],
.woocommerce-checkout .woocommerce-input-wrapper input[type="tel"],
.woocommerce-checkout .woocommerce-input-wrapper input[type="number"],
.woocommerce-checkout .woocommerce-input-wrapper input[type="password"],
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce-checkout .woocommerce-input-wrapper textarea {
	width: 100% !important;
	background: rgba(5, 12, 30, 0.6) !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 0.5rem !important;
	color: #e2e8f0 !important;
	padding: 0.7rem 0.9rem !important;
	font-size: 0.875rem !important;
	font-family: var(--djm-font-display) !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
	line-height: 1.5 !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	box-sizing: border-box !important;
}

.woocommerce-checkout .woocommerce-input-wrapper input:focus,
.woocommerce-checkout .woocommerce-input-wrapper select:focus,
.woocommerce-checkout .woocommerce-input-wrapper textarea:focus {
	outline: none !important;
	border-color: rgba(var(--djm-primary-rgb), 0.55) !important;
	box-shadow: 0 0 0 3px rgba(var(--djm-primary-rgb), 0.1) !important;
	color: #f1f5f9 !important;
}

.woocommerce-checkout .woocommerce-input-wrapper input::placeholder,
.woocommerce-checkout .woocommerce-input-wrapper textarea::placeholder {
	color: rgba(100, 116, 139, 0.4) !important;
}

.woocommerce-checkout .woocommerce-input-wrapper textarea {
	min-height: 8rem !important;
	resize: vertical !important;
}

/* Validación */
.woocommerce-checkout .form-row.woocommerce-invalid .woocommerce-input-wrapper input,
.woocommerce-checkout .form-row.woocommerce-invalid .woocommerce-input-wrapper select {
	border-color: rgba(239, 68, 68, 0.65) !important;
	box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
}

.woocommerce-checkout .form-row.woocommerce-validated .woocommerce-input-wrapper input,
.woocommerce-checkout .form-row.woocommerce-validated .woocommerce-input-wrapper select {
	border-color: rgba(0, 242, 255, 0.4) !important;
}

/* ── Select2 ── */
.woocommerce-checkout .select2-container { width: 100% !important; }

.woocommerce-checkout .select2-container--default .select2-selection--single {
	background: rgba(10, 18, 38, 0.9) !important;
	border: 1px solid rgba(51, 65, 85, 0.7) !important;
	border-radius: 0.5rem !important;
	height: auto !important;
	padding: 0.65rem 2.2rem 0.65rem 0.9rem !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #e2e8f0 !important;
	line-height: 1.5 !important;
	padding: 0 !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 50% !important;
	transform: translateY(-50%) !important;
	right: 0.7rem !important;
	height: auto !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-color: #64748b transparent transparent !important;
}

.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single,
.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single {
	border-color: rgba(var(--djm-primary-rgb), 0.55) !important;
	box-shadow: 0 0 0 3px rgba(var(--djm-primary-rgb), 0.1) !important;
}

/* Dropdown select2 */
.select2-dropdown {
	background: #0b1525 !important;
	border: 1px solid rgba(51, 65, 85, 0.8) !important;
	border-radius: 0.5rem !important;
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.55) !important;
}

.select2-results__option {
	color: #cbd5e1 !important;
	font-size: 0.875rem !important;
	padding: 0.5rem 0.9rem !important;
}

.select2-results__option--highlighted[aria-selected] {
	background: rgba(var(--djm-primary-rgb), 0.15) !important;
	color: var(--djm-primary) !important;
}

.select2-results__option[aria-selected="true"] {
	background: rgba(var(--djm-primary-rgb), 0.08) !important;
	color: rgba(0, 242, 255, 0.8) !important;
}

.select2-search--dropdown .select2-search__field {
	background: rgba(10, 18, 38, 0.95) !important;
	border: 1px solid rgba(51, 65, 85, 0.7) !important;
	color: #e2e8f0 !important;
	border-radius: 0.375rem !important;
	padding: 0.4rem 0.7rem !important;
}

.select2-search--dropdown .select2-search__field:focus {
	outline: none !important;
	border-color: rgba(var(--djm-primary-rgb), 0.45) !important;
}

/* ── "Enviar a dirección diferente" ── */
.woocommerce-checkout #ship-to-different-address {
	display: flex !important;
	align-items: center !important;
	gap: 0.6rem !important;
	font-weight: 600 !important;
	color: #94a3b8 !important;
	font-size: 0.875rem !important;
	margin-bottom: 0 !important;
	padding: 0.7rem 1rem !important;
	background: rgba(var(--djm-primary-rgb), 0.04) !important;
	border: 1px solid rgba(var(--djm-primary-rgb), 0.15) !important;
	border-radius: var(--djm-radius) !important;
	cursor: pointer !important;
}

.woocommerce-checkout #ship-to-different-address label {
	cursor: pointer !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	font-size: 0.875rem !important;
	color: #94a3b8 !important;
}

.woocommerce-checkout #ship-to-different-address input[type="checkbox"] {
	accent-color: var(--djm-primary) !important;
	width: 1rem !important;
	height: 1rem !important;
	flex-shrink: 0 !important;
}

/* ── Panel aside: heading ── */
.djm-co__panel #order_review_heading {
	font-size: 0.65rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	color: rgba(0, 242, 255, 0.55) !important;
	margin: 0 0 1rem !important;
	padding-bottom: 0.85rem !important;
	border-bottom: 1px solid rgba(51, 65, 85, 0.5) !important;
	border-top: none !important;
}

/* ── Tabla de productos en el resumen ── */
.woocommerce-checkout .woocommerce-checkout-review-order-table {
	width: 100% !important;
	border-collapse: collapse !important;
	margin-bottom: 0 !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table thead { display: none !important; }

.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr {
	border-bottom: 1px solid rgba(51, 65, 85, 0.4) !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr td {
	padding: 0.8rem 0 !important;
	vertical-align: middle !important;
	border: none !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name {
	color: #e2e8f0 !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name .product-quantity {
	color: #64748b !important;
	font-weight: 400 !important;
	font-size: 0.78rem !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total {
	text-align: right !important;
	color: #94a3b8 !important;
	font-size: 0.875rem !important;
	white-space: nowrap !important;
}

/* tfoot */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr td {
	padding: 0.45rem 0 !important;
	border: none !important;
	font-size: 0.85rem !important;
	color: #64748b !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr th { font-weight: 600 !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr td { text-align: right !important; }

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .cart-subtotal {
	border-top: 1px solid rgba(51, 65, 85, 0.45) !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .cart-subtotal th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .cart-subtotal td {
	padding-top: 0.85rem !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td {
	padding-top: 0.85rem !important;
	border-top: 1px solid rgba(0, 242, 255, 0.2) !important;
	font-size: 1.05rem !important;
	font-weight: 800 !important;
	color: var(--djm-primary) !important;
}

/* ── Métodos de pago ── */
.woocommerce-checkout #payment {
	margin-top: 1.25rem !important;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
}

.woocommerce-checkout #payment .payment_methods {
	list-style: none !important;
	margin: 0 0 0.75rem !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
}

.woocommerce-checkout #payment .payment_methods li {
	border: 1px solid rgba(var(--djm-primary-rgb), 0.18) !important;
	border-radius: var(--djm-radius-lg) !important;
	padding: 0.8rem 1rem !important;
	margin-bottom: 0.5rem !important;
	background: rgba(var(--djm-primary-rgb), 0.03) !important;
	transition: border-color 0.2s ease, background 0.2s ease !important;
	cursor: pointer !important;
}

.woocommerce-checkout #payment .payment_methods li:hover {
	border-color: rgba(var(--djm-primary-rgb), 0.38) !important;
	background: rgba(var(--djm-primary-rgb), 0.05) !important;
}

.woocommerce-checkout #payment .payment_methods li:has(input:checked) {
	border-color: rgba(var(--djm-primary-rgb), 0.55) !important;
	background: rgba(var(--djm-primary-rgb), 0.07) !important;
	box-shadow: 0 0 0 1px rgba(var(--djm-primary-rgb), 0.18),
	            0 0 12px rgba(var(--djm-primary-rgb), 0.1) !important;
}

.woocommerce-checkout #payment .payment_methods li label {
	font-weight: 600 !important;
	color: #e2e8f0 !important;
	font-size: 0.875rem !important;
	display: flex !important;
	align-items: center !important;
	gap: 0.6rem !important;
	flex-wrap: wrap !important;
	cursor: pointer !important;
}

.woocommerce-checkout #payment .payment_methods li input[type="radio"] {
	accent-color: var(--djm-primary) !important;
	width: 1rem !important;
	height: 1rem !important;
	flex-shrink: 0 !important;
}

.woocommerce-checkout #payment .payment_methods li label img {
	background: #fff !important;
	border-radius: 0.35rem !important;
	padding: 0.2rem 0.45rem !important;
	max-height: 1.6rem !important;
	width: auto !important;
	object-fit: contain !important;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35) !important;
}

.woocommerce-checkout #payment .payment_box {
	background: transparent !important;
	border: none !important;
	margin: 0.35rem 0 0 1.6rem !important;
	padding: 0 !important;
}

.woocommerce-checkout #payment .payment_box p,
.woocommerce-checkout #payment .payment_box small {
	color: #475569 !important;
	font-size: 0.78rem !important;
	margin: 0 !important;
}

/* ── Botón "Finalizar Compra" ── */
.woocommerce-checkout #place_order {
	width: 100% !important;
	display: block !important;
	padding: 1rem 1.5rem !important;
	font-size: 0.95rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	color: #020617 !important;
	background: linear-gradient(135deg, #00f2ff 0%, #00b4c0 100%) !important;
	border: none !important;
	border-radius: var(--djm-radius-lg) !important;
	cursor: pointer !important;
	margin-top: 1rem !important;
	transition: filter 0.2s ease, box-shadow 0.25s ease, transform 0.15s ease !important;
	box-shadow: 0 0 28px rgba(0, 242, 255, 0.36),
	            0 4px 18px rgba(0, 0, 0, 0.3) !important;
}

.woocommerce-checkout #place_order:hover {
	filter: brightness(1.08) !important;
	box-shadow: 0 0 42px rgba(0, 242, 255, 0.52),
	            0 6px 22px rgba(0, 0, 0, 0.3) !important;
	transform: translateY(-1px) !important;
}

.woocommerce-checkout #place_order:active {
	transform: translateY(0) !important;
	filter: brightness(0.96) !important;
}

/* Aviso de privacidad */
.woocommerce-checkout .woocommerce-privacy-policy-text {
	font-size: 0.72rem !important;
	color: #475569 !important;
	text-align: center !important;
	margin-top: 0.75rem !important;
	line-height: 1.5 !important;
}

.woocommerce-checkout .woocommerce-privacy-policy-text a {
	color: rgba(0, 242, 255, 0.5) !important;
	text-decoration: underline !important;
	text-underline-offset: 2px !important;
}

/* Mi cuenta */
.woocommerce-account .woocommerce { display: block; }
.woocommerce-account .woocommerce-MyAccount-navigation {
	float: none; width: 100%; margin-bottom: 2rem;
	border-bottom: 1px solid var(--djm-border);
	padding-bottom: 1rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: inline-block; padding: 0.5rem 1rem; border-radius: var(--djm-radius);
	font-weight: 600; font-size: 0.9375rem; color: var(--djm-text-muted);
	background: rgba(var(--djm-primary-rgb), 0.06);
	border: 1px solid transparent;
	transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	color: var(--djm-primary);
	background: rgba(var(--djm-primary-rgb), 0.12);
	border-color: rgba(var(--djm-primary-rgb), 0.3);
}
.woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }
/* ── Login / Registro: paneles con transición (.djm-auth-view) ───────────────── */
.woocommerce-account .djm-myaccount:has(.djm-auth-view) .djm-myaccount__aside {
	display: none;
}
.woocommerce-account .djm-myaccount:has(.djm-auth-view) {
	grid-template-columns: 1fr;
}

.woocommerce-account .djm-myaccount__content > h2:first-of-type {
	display: none;
}

.djm-auth-view {
	max-width: 22rem;
	margin: 0 auto;
	padding: 0 1rem 3rem;
	position: relative;
}

.djm-auth-stage {
	position: relative;
	min-height: 320px;
}

/* Un solo panel visible; transición premium */
.djm-auth-panel {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(14px) scale(0.98);
	transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            visibility 0.4s step-end,
	            transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.djm-auth-panel[aria-hidden="false"],
.djm-auth-view[data-view="login"] .djm-auth-panel--login,
.djm-auth-view[data-view="register"] .djm-auth-panel--register {
	position: relative;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0) scale(1);
	transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            visibility 0s step-start,
	            transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.djm-auth-panel--register {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}

.djm-auth-view[data-view="register"] .djm-auth-panel--register {
	position: relative;
}

/* ── Diseño desde cero: card vertical, limpio ── */
.djm-auth-card {
	position: relative;
	background: rgba(15, 23, 42, 0.6);
	border: 1px solid rgba(71, 85, 105, 0.25);
	border-radius: 16px;
	padding: 1.75rem 1.5rem 1.5rem;
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.2);
}

.djm-auth-card__title {
	font-size: 1.2rem;
	font-weight: 700;
	color: #e2e8f0;
	margin: 0 0 0.25rem;
	letter-spacing: -0.02em;
}

.djm-auth-card__desc {
	font-size: 0.8125rem;
	color: #94a3b8;
	line-height: 1.45;
	margin: 0 0 1.25rem;
}

/* Texto de política de privacidad en registro: más pequeño y tono suave */
.djm-auth-view .woocommerce-privacy-policy-text {
	font-size: 0.75rem;
	line-height: 1.5;
	color: #94a3b8;
	margin: 0.75rem 0 0;
}

.djm-auth-view .woocommerce-privacy-policy-text a {
	color: var(--djm-primary);
	text-decoration: none;
}

.djm-auth-view .woocommerce-privacy-policy-text a:hover {
	text-decoration: underline;
}

/* Formulario vertical: todos los campos en columna */
.djm-auth-form--vertical .djm-auth-form__row {
	margin-bottom: 1rem;
}

.djm-auth-form--vertical .djm-auth-form__row:last-of-type {
	margin-bottom: 0;
}

.djm-auth-form--vertical .djm-auth-btn.woocommerce-form-login__submit,
.djm-auth-form--vertical .djm-auth-btn.woocommerce-form-register__submit {
	width: 100%;
}

.djm-auth-form__row label {
	display: block;
	font-size: 0.8rem;
	font-weight: 500;
	color: #94a3b8;
	margin-bottom: 0.4rem;
	letter-spacing: 0.02em;
}

/* Inputs: bordes suaves, focus sutil */
.djm-auth-input,
.djm-auth-form .woocommerce-Input.input-text {
	display: block;
	width: 100%;
	min-height: 2.75rem;
	padding: 0.6rem 1rem;
	background: rgba(2, 6, 23, 0.35);
	border: 1px solid rgba(100, 116, 139, 0.2);
	border-radius: 12px;
	color: #e2e8f0;
	font-size: 0.9375rem;
	font-family: var(--djm-font-display);
	box-sizing: border-box;
	transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.2s ease;
}

.djm-auth-form input.input-text {
	min-height: 2.75rem;
	padding: 0.6rem 1rem;
}

.djm-auth-input:hover,
.djm-auth-form .input-text:hover {
	border-color: rgba(100, 116, 139, 0.35);
}

.djm-auth-input:focus,
.djm-auth-form .input-text:focus {
	outline: none;
	border-color: rgba(0, 242, 255, 0.35);
	box-shadow: 0 0 0 3px rgba(0, 242, 255, 0.08);
	background: rgba(2, 6, 23, 0.5);
}

.djm-auth-input::placeholder {
	color: #64748b;
}

.djm-auth-form__row--actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.25rem;
	margin-top: 1.25rem;
	margin-bottom: 0.75rem;
}

.djm-auth-form__remember {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	font-size: 0.875rem;
	color: #94a3b8;
	cursor: pointer;
}

.djm-auth-form__remember input[type="checkbox"] {
	width: 1rem;
	height: 1rem;
	accent-color: var(--djm-primary);
	cursor: pointer;
}

/* Botón principal: pill, con ligera elevación al hover */
.djm-auth-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: 0.6rem 1.75rem;
	font-size: 0.9375rem;
	font-weight: 600;
	font-family: var(--djm-font-display);
	border-radius: 9999px;
	border: none;
	cursor: pointer;
	transition: background 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease;
}

.djm-auth-btn:active {
	transform: scale(0.98);
}

.djm-auth-btn.woocommerce-form-login__submit {
	background: linear-gradient(135deg, var(--djm-primary) 0%, #00c4d4 100%);
	color: #020617;
	box-shadow: 0 4px 14px rgba(0, 242, 255, 0.25);
}

.djm-auth-btn.woocommerce-form-login__submit:hover {
	background: linear-gradient(135deg, #00d4e0 0%, var(--djm-primary) 100%);
	color: #020617;
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(0, 242, 255, 0.3);
}

.djm-auth-btn--secondary,
.djm-auth-btn.woocommerce-form-register__submit {
	background: rgba(248, 250, 252, 0.07);
	color: #e2e8f0;
	border: 1px solid rgba(148, 163, 184, 0.2);
	border-radius: 9999px;
}

.djm-auth-btn--secondary:hover,
.djm-auth-btn.woocommerce-form-register__submit:hover {
	background: rgba(248, 250, 252, 0.12);
	border-color: rgba(148, 163, 184, 0.35);
	color: #e2e8f0;
	transform: translateY(-1px);
}

.djm-auth-form__lost {
	margin: 0;
	font-size: 0.8125rem;
}

.djm-auth-form__lost a {
	color: #64748b;
	text-decoration: none;
	transition: color 0.2s ease;
}

.djm-auth-form__lost a:hover {
	color: var(--djm-primary);
}

.djm-auth-form__hint {
	font-size: 0.8125rem;
	color: #64748b;
	line-height: 1.5;
	margin: 0.5rem 0 0;
}

.djm-auth-form__row--submit {
	margin-top: 1rem;
	margin-bottom: 0;
}

/* Cambio de panel */
.djm-auth-switch {
	margin: 1.25rem 0 0;
	font-size: 0.875rem;
	color: #94a3b8;
	text-align: center;
}

.djm-auth-switch__link {
	background: none;
	border: none;
	padding: 0;
	margin-left: 0.35rem;
	color: var(--djm-primary);
	font-size: 0.9375rem;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
	transition: color 0.2s ease, opacity 0.2s ease;
}

.djm-auth-switch__link:hover {
	color: #00d4e0;
	opacity: 0.9;
}

/* ── Carrito: sección Añadir cupones ──────────────────────────────────────── */
.woocommerce-cart .cart-coupon-toggle,
.woocommerce-cart .cart-discount {
	font-family: var(--djm-font-display);
}

.woocommerce-cart .woocommerce-form-coupon {
	margin-top: 0.75rem;
	padding: 0.9rem 1rem 1.1rem;
	border-radius: var(--djm-radius-lg);
	border: 1px solid rgba(51, 65, 85, 0.7);
	background: rgba(15, 23, 42, 0.9);
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35);
}

.woocommerce-cart .woocommerce-form-coupon p {
	color: var(--djm-text-muted);
	font-size: 0.9rem;
	margin-bottom: 0.6rem;
}

.woocommerce-cart .woocommerce-form-coupon .form-row-first,
.woocommerce-cart .woocommerce-form-coupon .form-row-last {
	width: auto;
	float: none;
	margin: 0;
}

.woocommerce-cart .woocommerce-form-coupon .form-row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0.4rem 0 0;
}

@media (max-width: 640px) {
	.woocommerce-cart .woocommerce-form-coupon .form-row {
		flex-direction: column;
		align-items: stretch;
	}
}

.woocommerce-cart .woocommerce-form-coupon input.input-text {
	background-color: #020617;
	color: #e5e7eb;
	border-radius: var(--djm-radius-lg);
	border: 1px solid rgba(var(--djm-primary-rgb), 0.5);
	padding: 0.6rem 0.9rem;
	font-family: var(--djm-font-display);
	font-size: 0.95rem;
	min-width: 0;
	flex: 1;
}

.woocommerce-cart .woocommerce-form-coupon input.input-text::placeholder {
	color: rgba(156, 163, 175, 0.9);
}

.woocommerce-cart .woocommerce-form-coupon input.input-text:focus {
	outline: none;
	border-color: var(--djm-primary);
	box-shadow: 0 0 0 1px rgba(15, 23, 42, 1),
	            0 0 0 2px rgba(var(--djm-primary-rgb), 0.5);
}

.woocommerce-cart .woocommerce-form-coupon button.button {
	white-space: nowrap;
	padding-inline: 1.25rem !important;
	font-size: 0.95rem !important;
}

/* Carrito NUEVO (bloques): campo cupón */
.wc-block-cart .wc-block-components-totals-coupon__form {
	margin-top: 0.75rem;
}

.wc-block-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input {
	margin: 0;
}

.wc-block-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input input[type="text"].wc-block-components-text-input__input,
.wc-block-components-totals-coupon .wc-block-components-text-input input,
.wc-block-components-totals-coupon input[type="text"] {
	background-color: #020b18 !important;
	background: #020b18 !important;
	color: #e5e7eb !important;
	border-radius: var(--djm-radius-lg) !important;
	border: 1px solid rgba(0, 242, 255, 0.25) !important;
	padding: 1.4rem 0.9rem 0.45rem !important;
	font-family: var(--djm-font-display) !important;
	font-size: 0.95rem !important;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
}

/* Label flotante — asegurar que sube correctamente al escribir */
.wc-block-components-totals-coupon .wc-block-components-text-input label,
.wc-block-components-totals-coupon .wc-block-components-text-input__label {
	top: 0.45rem !important;
	font-size: 0.7rem !important;
	color: rgba(0, 242, 255, 0.55) !important;
	pointer-events: none !important;
}

.wc-block-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input input[type="text"].wc-block-components-text-input__input::placeholder,
.wc-block-components-totals-coupon input[type="text"]::placeholder {
	color: rgba(148, 163, 184, 0.5) !important;
}

.wc-block-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input input[type="text"].wc-block-components-text-input__input:focus,
.wc-block-components-totals-coupon input[type="text"]:focus {
	outline: none !important;
	border-color: #00f2ff !important;
	box-shadow: 0 0 0 3px rgba(0, 242, 255, 0.12) !important;
	background-color: #020b18 !important;
	background: #020b18 !important;
}

/* Autofill también oscuro */
.wc-block-components-totals-coupon input:-webkit-autofill,
.wc-block-components-totals-coupon input:-webkit-autofill:hover,
.wc-block-components-totals-coupon input:-webkit-autofill:focus {
	-webkit-box-shadow: 0 0 0 1000px #020b18 inset !important;
	-webkit-text-fill-color: #e5e7eb !important;
}



/* ── Hover “pro” para botones del carrito (clásico y bloques) ─────────────── */
.woocommerce-cart .button,
.woocommerce-cart button.button,
.woocommerce-cart a.button,
.wc-block-cart .wc-block-components-button {
	transition: transform 0.16s ease, box-shadow 0.18s ease, background-color 0.16s ease, border-color 0.16s ease;
}

.woocommerce-cart .button:hover,
.woocommerce-cart button.button:hover,
.woocommerce-cart a.button:hover,
.wc-block-cart .wc-block-components-button:hover {
	transform: translateY(-1px) scale(1.03);
	border-color: rgba(var(--djm-primary-rgb), 0.5);
	box-shadow:
		0 0 0 1px rgba(var(--djm-primary-rgb), 0.35);
}

/* Igualar altura del botón \"Aplicar\" con el input de cupón (carrito bloques) */
.wc-block-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button .wc-block-components-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.6rem 1.1rem !important;
	min-height: 0 !important;
	height: 2.6rem;
	border-radius: var(--djm-radius-lg) !important;
	font-size: 0.95rem;
	line-height: 1.2;
	box-sizing: border-box;
}

/* ════════════════════════════════════════════════════════════════════════
   TABS — Descripción / Valoraciones
   ════════════════════════════════════════════════════════════════════════ */

.woocommerce div.product .woocommerce-tabs {
	margin-top: 2.5rem;
	border-top: 1px solid rgba(0, 242, 255, 0.12);
	padding-top: 2rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	margin: 0 0 1.5rem;
	padding: 0;
	list-style: none;
	display: inline-flex;
	gap: 0.4rem;
	border: none;
	background: rgba(255, 255, 255, 0.03);
	border-radius: 9999px;
	padding: 0.3rem;
	border: 1px solid rgba(255, 255, 255, 0.07);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	border: none;
	background: transparent;
	border-radius: 9999px;
	margin: 0;
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 0.5rem 1.2rem;
	font-family: var(--djm-font-display);
	font-size: 0.78rem;
	font-weight: 700;
	color: #64748b;
	text-decoration: none;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border-radius: 9999px;
	transition: all 0.2s ease;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a {
	color: #94a3b8;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: linear-gradient(135deg, rgba(0, 242, 255, 0.9), rgba(0, 242, 255, 0.9));
	box-shadow: 0 0 16px rgba(0, 242, 255, 0.4);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: #fff;
}

.woocommerce div.product .woocommerce-tabs .panel {
	padding-top: 1.5rem;
	font-family: var(--djm-font-display);
	color: var(--djm-text);
}

.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce div.product .woocommerce-tabs .panel h3 {
	font-size: 1rem;
	font-weight: 800;
	margin-bottom: 0.75rem;
	color: #e2e8f0;
	letter-spacing: -0.01em;
}

.woocommerce div.product .woocommerce-tabs .panel p {
	font-size: 0.9375rem;
	line-height: 1.75;
	color: #64748b;
}

/* ── Formulario de valoraciones ───────────────────────────────────────────── */
.woocommerce #reviews {
	margin-top: 1rem;
}

.woocommerce #reviews #comments h2,
.woocommerce #reviews .comment-reply-title {
	font-size: 1.1rem;
	font-weight: 800;
	margin-bottom: 0.75rem;
	color: var(--djm-text);
}

.woocommerce #reviews .comment-respond {
	margin-top: 1rem;
	padding: 1.5rem;
	border-radius: var(--djm-radius-lg);
	border: 1px solid rgba(51, 65, 85, 0.7);
	background: rgba(15, 23, 42, 0.85);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}

.woocommerce #reviews .comment-respond p {
	color: var(--djm-text-muted);
	font-size: 0.95rem;
}

.woocommerce #reviews .comment-form-rating label,
.woocommerce #reviews .comment-respond label {
	display: block;
	font-weight: 600;
	color: var(--djm-text);
	margin-bottom: 0.35rem;
}

.woocommerce #reviews .comment-form-rating .stars a,
.woocommerce #reviews .comment-form-rating .stars span {
	color: var(--djm-primary);
}

.woocommerce #reviews #comment {
	width: 100%;
	min-height: 7rem;
	background-color: #020617;
	color: #e5e7eb;
	border-radius: var(--djm-radius);
	border: 1px solid rgba(var(--djm-primary-rgb), 0.5);
	padding: 0.75rem 0.9rem;
	font-family: var(--djm-font-display);
	font-size: 0.95rem;
	resize: vertical;
	box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.9);
}

.woocommerce #reviews #comment:focus {
	outline: none;
	border-color: var(--djm-primary);
	box-shadow: 0 0 0 1px rgba(15, 23, 42, 1),
	            0 0 0 2px rgba(var(--djm-primary-rgb), 0.5);
}

/* ── Address card (resumen de dirección en checkout bloques) ──────────────── */
.wc-block-components-address-card__address-section,
.wc-block-components-address-card__address-section--secondary,
.wc-block-components-address-card address,
.wc-block-components-address-card p,
.wc-block-components-address-card span {
	color: #e5e7eb !important;
	font-family: var(--djm-font-display) !important;
	font-size: 0.9rem !important;
}

/* ── Nota al pedido (checkout bloques) ────────────────────────────────────── */

/* Contenedor general de la sección */
.wc-block-checkout__add-note,
.wc-block-components-order-note {
	margin-top: 1rem;
}

/* Checkbox + label "Añade una nota a tu pedido" */
.wc-block-checkout__add-note .wc-block-components-checkbox,
.wc-block-checkout__add-note label,
.wc-block-checkout__add-note .wc-block-components-checkbox__label {
	color: #e5e7eb !important;
	font-family: var(--djm-font-display) !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
}

/* Checkbox: borde del color primario */
.wc-block-checkout__add-note .wc-block-components-checkbox__input[type="checkbox"],
.wc-block-checkout__add-note input[type="checkbox"] {
	accent-color: var(--djm-primary) !important;
	border: 1px solid rgba(var(--djm-primary-rgb), 0.5) !important;
}

/* Textarea de la nota */
.wc-block-checkout__add-note textarea,
.wc-block-components-order-note textarea,
.wc-block-checkout__add-note .wc-block-components-order-note__textarea {
	background-color: #020617 !important;
	color: #e5e7eb !important;
	border: 1px solid rgba(var(--djm-primary-rgb), 0.5) !important;
	border-radius: var(--djm-radius) !important;
	font-family: var(--djm-font-display) !important;
	font-size: 0.9375rem !important;
	padding: 0.75rem 0.9rem !important;
	resize: vertical !important;
	width: 100% !important;
	min-height: 5rem !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.wc-block-checkout__add-note textarea::placeholder,
.wc-block-components-order-note textarea::placeholder {
	color: rgba(148, 163, 184, 0.6) !important;
}

.wc-block-checkout__add-note textarea:focus,
.wc-block-components-order-note textarea:focus {
	outline: none !important;
	border-color: var(--djm-primary) !important;
	box-shadow: 0 0 0 3px rgba(var(--djm-primary-rgb), 0.18) !important;
}

/* Autofill en textarea (por si acaso) */
.wc-block-checkout__add-note textarea:-webkit-autofill,
.wc-block-components-order-note textarea:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 1000px #020617 inset !important;
	-webkit-text-fill-color: #e5e7eb !important;
}

/* ============================================================
   DJM LIGHTBOX – Visor de imágenes custom
   ============================================================ */
@keyframes djm-lb-in {
	from { opacity: 0; }
	to   { opacity: 1; }
}

@keyframes djm-lb-img-in {
	from { opacity: 0; transform: scale(0.92); }
	to   { opacity: 1; transform: scale(1); }
}

@keyframes djm-lb-img-fade {
	0%   { opacity: 1; }
	50%  { opacity: 0; }
	100% { opacity: 1; }
}

/* Overlay */
.djm-lightbox {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 99999;
	background: rgba(0, 0, 0, 0.92);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	animation: djm-lb-in 0.25s ease;
	align-items: center;
	justify-content: center;
}

.djm-lightbox.is-open {
	display: flex;
}

/* Área interior */
.djm-lightbox__inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 5rem 4rem;
	box-sizing: border-box;
}

/* Imagen */
.djm-lightbox__img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	border-radius: 0.75rem;
	box-shadow:
		0 0 60px rgba(0, 242, 255, 0.12),
		0 30px 80px rgba(0, 0, 0, 0.7);
	animation: djm-lb-img-in 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	transition: opacity 0.2s ease;
	display: block;
}

.djm-lightbox__img.is-changing {
	opacity: 0;
}

/* Botón base (cierre + flechas) */
.djm-lightbox__btn {
	position: fixed;
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
	font-family: inherit;
	line-height: 1;
	z-index: 100001;
}

.djm-lightbox__btn:focus-visible {
	outline: 2px solid #00f2ff;
	outline-offset: 3px;
}

/* Botón cerrar */
.djm-lightbox__close {
	top: 1.25rem;
	right: 1.25rem;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(0, 242, 255, 0.25);
	color: #e5e7eb;
	font-size: 1.4rem;
	backdrop-filter: blur(8px);
}

.djm-lightbox__close:hover {
	background: rgba(0, 242, 255, 0.15);
	border-color: rgba(0, 242, 255, 0.6);
	color: #00f2ff;
	transform: rotate(90deg) scale(1.1);
	box-shadow: 0 0 18px rgba(0, 242, 255, 0.35);
}

/* Flechas de navegación */
.djm-lightbox__prev,
.djm-lightbox__next {
	top: 50%;
	transform: translateY(-50%);
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(0, 242, 255, 0.2);
	color: #e5e7eb;
	font-size: 1.2rem;
	backdrop-filter: blur(8px);
}

.djm-lightbox__prev { left: 1.25rem; }
.djm-lightbox__next { right: 1.25rem; }

.djm-lightbox__prev:hover,
.djm-lightbox__next:hover {
	background: rgba(0, 242, 255, 0.14);
	border-color: rgba(0, 242, 255, 0.55);
	color: #00f2ff;
	box-shadow: 0 0 18px rgba(0, 242, 255, 0.3);
}

.djm-lightbox__prev:hover { transform: translateY(-50%) scale(1.08) translateX(-2px); }
.djm-lightbox__next:hover { transform: translateY(-50%) scale(1.08) translateX(2px); }

/* Contador  "2 / 5" */
.djm-lightbox__counter {
	position: fixed;
	bottom: 1.5rem;
	left: 50%;
	transform: translateX(-50%);
	font-family: var(--djm-font-display, sans-serif);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.45);
	background: rgba(0, 0, 0, 0.4);
	backdrop-filter: blur(6px);
	border: 1px solid rgba(0, 242, 255, 0.12);
	padding: 0.35rem 1rem;
	border-radius: 9999px;
	z-index: 100001;
	pointer-events: none;
}

/* Tiras de miniaturas en la parte inferior */
.djm-lightbox__thumbstrip {
	position: fixed;
	bottom: 3.5rem;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 0.5rem;
	z-index: 100001;
	padding: 0.4rem;
	background: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(8px);
	border-radius: 0.75rem;
	border: 1px solid rgba(0, 242, 255, 0.1);
	max-width: 90vw;
	overflow-x: auto;
	scrollbar-width: none;
}

.djm-lightbox__thumbstrip::-webkit-scrollbar { display: none; }

.djm-lightbox__ts-btn {
	flex-shrink: 0;
	width: 3rem;
	height: 3rem;
	border-radius: 0.4rem;
	overflow: hidden;
	border: 2px solid transparent;
	background: rgba(255, 255, 255, 0.04);
	cursor: pointer;
	padding: 0;
	transition: border-color 0.2s ease, transform 0.2s ease;
	outline: none;
}

.djm-lightbox__ts-btn img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.djm-lightbox__ts-btn:hover {
	border-color: rgba(0, 242, 255, 0.5);
	transform: scale(1.08);
}

.djm-lightbox__ts-btn.is-active {
	border-color: #00f2ff;
	box-shadow: 0 0 10px rgba(0, 242, 255, 0.4);
}

/* Ocultar flechas y thumbstrip si solo hay 1 imagen */
.djm-lightbox.is-single .djm-lightbox__prev,
.djm-lightbox.is-single .djm-lightbox__next,
.djm-lightbox.is-single .djm-lightbox__counter,
.djm-lightbox.is-single .djm-lightbox__thumbstrip {
	display: none;
}

/* Responsive */
@media (max-width: 640px) {
	.djm-lightbox__inner {
		padding: 4.5rem 3.5rem;
	}

	.djm-lightbox__prev { left: 0.5rem; }
	.djm-lightbox__next { right: 0.5rem; }

	.djm-lightbox__ts-btn {
		width: 2.4rem;
		height: 2.4rem;
	}
}


/* ============================================================
   DJM CARRITO — Diseño "INVOICE CLEAN"
   Estructura nueva desde 0. Sin reutilizar nada anterior.
   
   DOM de WooCommerce Blocks que tenemos:
   table.wc-block-cart-items
     thead.wc-block-cart-items__header
     tbody
       tr.wc-block-cart-item
         td.__image  →  enlace + imagen
         td.__product →  a(nombre) · .prices · .metadata · .quantity(selector + remove-link)
         td.__total  →  precio subtotal
   ============================================================ */

/* ─────────────────────────────────────────────────────────────
   1. PÁGINA: título y layout de dos columnas
───────────────────────────────────────────────────────────── */
body.woocommerce-cart .entry-title,
body.woocommerce-cart .wp-block-post-title,
body.woocommerce-cart h1.entry-title,
body.woocommerce-cart h1 {
	font-size: clamp(2rem, 4vw, 3rem) !important;
	font-weight: 900 !important;
	letter-spacing: -0.03em !important;
	margin-bottom: 2.5rem !important;
	display: flex !important;
	align-items: center !important;
	gap: 1rem !important;
	flex-wrap: wrap !important;
}
body.woocommerce-cart h1::after {
	content: '' !important;
	display: inline-block !important;
	height: 0.2rem !important;
	width: 5rem !important;
	background: #00f2ff !important;
	border-radius: 9999px !important;
	flex-shrink: 0 !important;
}

/* ─────────────────────────────────────────────────────────────
   2. TABLA → BLOQUE: romper el layout de tabla por completo
   Estrategia: table=block, tbody=block, tr=CSS Grid 3 columnas
───────────────────────────────────────────────────────────── */

/* Ocultar cabecera */
.wc-block-cart-items__header {
	display: none !important;
}

/* La tabla deja de ser tabla */
table.wc-block-cart-items {
	display: block !important;
	width: 100% !important;
	border: none !important;
	background: transparent !important;
}

/* El tbody tampoco es tabla */
table.wc-block-cart-items > tbody {
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
}

/* ─────────────────────────────────────────────────────────────
   3. CADA ÍTEM: CSS Grid de 3 columnas fijas
   [imagen 5rem] [info 1fr] [precio 7.5rem]
───────────────────────────────────────────────────────────── */
tr.wc-block-cart-item {
	display: grid !important;
	grid-template-columns: 5rem 1fr 7.5rem !important;
	grid-template-rows: 1fr !important;
	align-items: start !important;
	padding: 1.4rem 0 !important;
	border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
	position: relative !important;
	background: transparent !important;
	transition: background 0.15s ease !important;
}

tr.wc-block-cart-item:last-child {
	border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

tr.wc-block-cart-item:hover {
	background: rgba(0, 242, 255, 0.022) !important;
}

/* Todas las celdas: bloque dentro del grid */
tr.wc-block-cart-item > td {
	display: block !important;
	border: none !important;
	background: transparent !important;
	padding: 0 !important;
}

/* ─────────────────────────────────────────────────────────────
   4. CELDA IMAGEN (columna 1)
───────────────────────────────────────────────────────────── */
td.wc-block-cart-item__image {
	grid-column: 1 !important;
	padding-right: 1rem !important;
}

td.wc-block-cart-item__image a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 4rem !important;
	height: 4rem !important;
	border-radius: 0.6rem !important;
	background: rgba(15, 34, 35, 0.9) !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	overflow: hidden !important;
	transition: border-color 0.2s !important;
}

tr.wc-block-cart-item:hover td.wc-block-cart-item__image a {
	border-color: rgba(0, 242, 255, 0.3) !important;
}

td.wc-block-cart-item__image img {
	width: 3.2rem !important;
	height: 3.2rem !important;
	object-fit: contain !important;
	display: block !important;
}

/* ─────────────────────────────────────────────────────────────
   5. CELDA PRODUCTO (columna 2)
   Contiene: nombre · precio unitario · variación · [qty + eliminar]
───────────────────────────────────────────────────────────── */
td.wc-block-cart-item__product {
	grid-column: 2 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.2rem !important;
	padding-right: 1.5rem !important;
}

/* Nombre del producto */
td.wc-block-cart-item__product > a,
td.wc-block-cart-item__product .wc-block-components-product-name {
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	color: #f1f5f9 !important;
	text-decoration: none !important;
	line-height: 1.3 !important;
	display: block !important;
	margin-bottom: 0.1rem !important;
}

td.wc-block-cart-item__product > a:hover,
td.wc-block-cart-item__product .wc-block-components-product-name:hover {
	color: #00f2ff !important;
}

/* Precio unitario (oculto — el subtotal va en __total) */
td.wc-block-cart-item__product .wc-block-cart-item__prices {
	display: none !important;
}

/* Variación */
.wc-block-components-product-metadata {
	margin: 0 !important;
}

.wc-block-components-product-metadata__description p {
	font-size: 0.76rem !important;
	color: rgba(148, 163, 184, 0.75) !important;
	font-style: italic !important;
	margin: 0 !important;
}

/* Fila: selector de cantidad + eliminar */
.wc-block-cart-item__quantity {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 0.75rem !important;
	margin-top: 0.5rem !important;
}

/* Enlace eliminar */
.wc-block-cart-item__remove-link {
	font-size: 0.68rem !important;
	color: rgba(100, 116, 139, 0.55) !important;
	-webkit-text-fill-color: rgba(100, 116, 139, 0.55) !important;
	text-decoration: none !important;
	transition: color 0.15s !important;
}

.wc-block-cart-item__remove-link:hover {
	color: #f87171 !important;
	-webkit-text-fill-color: #f87171 !important;
	text-decoration: underline !important;
}

/* ─────────────────────────────────────────────────────────────
   6. CELDA SUBTOTAL (columna 3)
───────────────────────────────────────────────────────────── */
td.wc-block-cart-item__total {
	grid-column: 3 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	justify-content: flex-start !important;
	padding: 0 !important;
}

td.wc-block-cart-item__total .woocommerce-Price-amount {
	font-size: 1.15rem !important;
	font-weight: 800 !important;
	color: #f1f5f9 !important;
	-webkit-text-fill-color: #f1f5f9 !important;
	letter-spacing: -0.02em !important;
}

td.wc-block-cart-item__total .woocommerce-Price-currencySymbol {
	font-size: 0.7rem !important;
	font-weight: 600 !important;
	color: rgba(148, 163, 184, 0.6) !important;
	-webkit-text-fill-color: rgba(148, 163, 184, 0.6) !important;
	vertical-align: super !important;
	margin-right: 0.1rem !important;
}

/* ─────────────────────────────────────────────────────────────
   7. SELECTOR DE CANTIDAD
───────────────────────────────────────────────────────────── */
.wc-block-components-quantity-selector {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0 !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 0.4rem !important;
	overflow: hidden !important;
	background: rgba(15, 34, 35, 0.6) !important;
}

.wc-block-components-quantity-selector:focus-within {
	border-color: rgba(0, 242, 255, 0.4) !important;
}

.wc-block-components-quantity-selector__button {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	color: rgba(0, 242, 255, 0.7) !important;
	width: 1.8rem !important;
	height: 1.8rem !important;
	font-size: 0.95rem !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	padding: 0 !important;
	transition: background 0.12s, color 0.12s !important;
}

.wc-block-components-quantity-selector__button:hover {
	background: rgba(0, 242, 255, 0.1) !important;
	color: #00f2ff !important;
}

.wc-block-components-quantity-selector input[type="number"],
.wc-block-components-quantity-selector__input {
	background: transparent !important;
	border: none !important;
	color: #f1f5f9 !important;
	text-align: center !important;
	width: 2rem !important;
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	padding: 0 !important;
	-moz-appearance: textfield !important;
}

.wc-block-components-quantity-selector input[type="number"]::-webkit-inner-spin-button,
.wc-block-components-quantity-selector input[type="number"]::-webkit-outer-spin-button {
	-webkit-appearance: none !important;
}

/* ─────────────────────────────────────────────────────────────
   8. LINK "SEGUIR COMPRANDO"
───────────────────────────────────────────────────────────── */
.wc-block-cart__continue-shopping,
a.wc-block-cart__continue-shopping {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.45rem !important;
	margin-top: 2rem !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: rgba(148, 163, 184, 0.6) !important;
	-webkit-text-fill-color: rgba(148, 163, 184, 0.6) !important;
	text-decoration: none !important;
	transition: color 0.2s, gap 0.2s !important;
}

.wc-block-cart__continue-shopping::before { content: '←' !important; }

.wc-block-cart__continue-shopping:hover {
	color: #f1f5f9 !important;
	-webkit-text-fill-color: #f1f5f9 !important;
	gap: 0.7rem !important;
}

/* ─────────────────────────────────────────────────────────────
   9. PANEL DE RESUMEN — diseño invoice limpio
───────────────────────────────────────────────────────────── */
.wp-block-woocommerce-cart-order-summary-block {
	background: rgba(255, 255, 255, 0.025) !important;
	border: 1px solid rgba(255, 255, 255, 0.07) !important;
	border-radius: 0.75rem !important;
	padding: 1.75rem !important;
}

.wp-block-woocommerce-cart-order-summary-heading-block h2 {
	font-size: 0.6rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	color: rgba(148, 163, 184, 0.5) !important;
	-webkit-text-fill-color: rgba(148, 163, 184, 0.5) !important;
	margin: 0 0 1.5rem !important;
}

/* Líneas de totales */
.wc-block-components-totals-item {
	display: flex !important;
	justify-content: space-between !important;
	align-items: baseline !important;
	padding: 0.5rem 0 !important;
	border: none !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
}

.wc-block-components-totals-item__label {
	font-size: 0.82rem !important;
	color: rgba(148, 163, 184, 0.65) !important;
	font-weight: 400 !important;
}

.wc-block-components-totals-item__value .woocommerce-Price-amount,
.wc-block-components-totals-item__value {
	font-size: 0.9rem !important;
	color: #e2e8f0 !important;
	font-weight: 600 !important;
}

/* TOTAL FINAL */
.wc-block-components-totals-footer-item {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	padding: 1.25rem 0 0 !important;
	margin-top: 0.75rem !important;
	border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-bottom: none !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: #f1f5f9 !important;
	-webkit-text-fill-color: #f1f5f9 !important;
}

.wc-block-components-totals-footer-item .woocommerce-Price-amount {
	font-size: 1.85rem !important;
	font-weight: 900 !important;
	letter-spacing: -0.04em !important;
	color: #00f2ff !important;
	-webkit-text-fill-color: #00f2ff !important;
	line-height: 1 !important;
}

/* ─────────────────────────────────────────────────────────────
   10. CUPÓN
───────────────────────────────────────────────────────────── */
.wc-block-components-panel__button {
	font-size: 0.72rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: rgba(148, 163, 184, 0.5) !important;
	background: none !important;
	border: none !important;
	padding: 0.65rem 0 !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	gap: 0.4rem !important;
	width: 100% !important;
	transition: color 0.2s !important;
}

.wc-block-components-panel__button:hover {
	color: rgba(0, 242, 255, 0.7) !important;
}

.wc-block-components-totals-coupon__form .wc-block-components-text-input input[type="text"],
.wc-block-components-totals-coupon__form input[type="text"] {
	background: rgba(0, 0, 0, 0.3) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 0.5rem !important;
	color: #e2e8f0 !important;
	padding: 1.35rem 0.85rem 0.4rem !important;
}

.wc-block-components-totals-coupon__form .wc-block-components-text-input input[type="text"]:focus {
	border-color: rgba(0, 242, 255, 0.4) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(0, 242, 255, 0.07) !important;
}

.wc-block-components-totals-coupon__form .wc-block-components-text-input label {
	color: rgba(100, 116, 139, 0.6) !important;
	top: 0.42rem !important;
}

/* ─────────────────────────────────────────────────────────────
   11. BOTÓN FINALIZAR COMPRA
───────────────────────────────────────────────────────────── */
.wp-block-woocommerce-proceed-to-checkout-block {
	margin-top: 1.5rem !important;
	padding: 0 !important;
}

.wc-block-cart__submit-button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.6rem !important;
	width: 100% !important;
	padding: 0.95rem 1.5rem !important;
	font-size: 0.78rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	border-radius: 0.6rem !important;
	background: #00f2ff !important;
	color: #020b18 !important;
	border: none !important;
	text-decoration: none !important;
	cursor: pointer !important;
	transition: filter 0.2s, transform 0.15s !important;
}

.wc-block-cart__submit-button:hover {
	filter: brightness(1.1) !important;
	transform: translateY(-1px) !important;
	color: #020b18 !important;
}

/* ─────────────────────────────────────────────────────────────
   12. TRUST BADGES (inyectados por JS)
───────────────────────────────────────────────────────────── */
.djm-trust-badges {
	padding: 1.25rem 0 0.5rem !important;
	border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
	margin-top: 1rem !important;
}

.djm-trust-badges__label {
	font-size: 0.58rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: rgba(100, 116, 139, 0.4) !important;
	text-align: center !important;
	margin: 0 0 0.75rem !important;
}

.djm-trust-badges__icons {
	display: flex !important;
	justify-content: center !important;
	gap: 1.5rem !important;
}

.djm-trust-badge {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 0.2rem !important;
	font-size: 0.58rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	color: rgba(100, 116, 139, 0.45) !important;
}

.djm-trust-badge .material-symbols-outlined {
	font-size: 1.15rem !important;
	color: rgba(0, 242, 255, 0.35) !important;
}

/* ─────────────────────────────────────────────────────────────
   13. TARJETA BENEFICIO (inyectada por JS)
───────────────────────────────────────────────────────────── */
.djm-benefit-card {
	display: flex !important;
	align-items: flex-start !important;
	gap: 0.8rem !important;
	margin: 1rem 0 0 !important;
	padding: 0.85rem 1rem !important;
	border-radius: 0.6rem !important;
	border: 1px solid rgba(0, 242, 255, 0.1) !important;
	background: rgba(0, 242, 255, 0.025) !important;
}

.djm-benefit-card__icon {
	font-size: 1.1rem !important;
	color: rgba(0, 242, 255, 0.7) !important;
	flex-shrink: 0 !important;
	margin-top: 0.05rem !important;
}

.djm-benefit-card__title {
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	color: #f1f5f9 !important;
	margin: 0 0 0.15rem !important;
}

.djm-benefit-card__body {
	font-size: 0.7rem !important;
	color: rgba(148, 163, 184, 0.65) !important;
	line-height: 1.4 !important;
	margin: 0 !important;
}

/* ─────────────────────────────────────────────────────────────
   14. RESPONSIVE
───────────────────────────────────────────────────────────── */
@media (max-width: 520px) {
	tr.wc-block-cart-item {
		grid-template-columns: 4rem 1fr 5.5rem !important;
		padding: 1.1rem 0 !important;
	}

	td.wc-block-cart-item__image a {
		width: 3rem !important;
		height: 3rem !important;
	}

	td.wc-block-cart-item__image img {
		width: 2.4rem !important;
		height: 2.4rem !important;
	}

	td.wc-block-cart-item__total .woocommerce-Price-amount {
		font-size: 0.95rem !important;
	}

	.wc-block-components-totals-footer-item .woocommerce-Price-amount {
		font-size: 1.5rem !important;
	}

	.wp-block-woocommerce-cart-order-summary-block {
		padding: 1.25rem !important;
	}
}

/* ════════════════════════════════════════════════════════════════════════
   Ajuste final: catálogo alineado a la izquierda
   ════════════════════════════════════════════════════════════════════════ */

.woocommerce ul.products {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 1.5rem !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	justify-content: flex-start !important;
}

.woocommerce ul.products li.product {
	width: 280px !important;
}

/* Layout móvil: cards a una sola columna 100% ancho */
@media (max-width: 768px) {
	.woocommerce ul.products {
		justify-content: flex-start !important;
	}

	.woocommerce ul.products li.product {
		width: 100% !important;
		max-width: 100% !important;
	}
}

/* ════════════════════════════════════════════════════════════════════════
   MI CUENTA (My Account) – DJ Mascot – Rediseño
   ════════════════════════════════════════════════════════════════════════ */

/* En Mi cuenta el contenido usa todo el ancho (evitar límites de .prose u otros) */
.woocommerce-account article {
	max-width: none !important;
}

/* ── Fondo decorado en Mi cuenta: textura + orbes suaves ── */
.woocommerce-account main {
	position: relative;
	background-color: #050c1e;
	background-image:
		radial-gradient(ellipse 70% 50% at 10% 30%, rgba(0, 242, 255, 0.06) 0%, transparent 55%),
		radial-gradient(ellipse 60% 45% at 90% 70%, rgba(0, 242, 255, 0.04) 0%, transparent 55%),
		radial-gradient(ellipse 50% 30% at 50% 10%, rgba(0, 242, 255, 0.03) 0%, transparent 50%),
		radial-gradient(circle at 50% 50%, rgba(15, 23, 42, 0.35) 0%, transparent 65%),
		repeating-linear-gradient(90deg, transparent 0, transparent 28px, rgba(148, 163, 184, 0.025) 28px),
		repeating-linear-gradient(0deg, transparent 0, transparent 28px, rgba(148, 163, 184, 0.025) 28px);
	background-size: 100% 100%, 100% 100%, 100% 100%, 100% 100%, 28px 28px, 28px 28px;
	background-position: 0 0, 0 0, 0 0, 0 0, 0 0, 0 0;
	min-height: calc(100vh - 72px);
}

.woocommerce-account .djm-myaccount {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 3rem;
	align-items: start;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0 0 4rem;
	font-family: var(--djm-font-display);
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}

.woocommerce-account .djm-myaccount__aside {
	position: sticky;
	top: 2rem;
}

.woocommerce-account .djm-myaccount__main {
	min-width: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.woocommerce-account .djm-myaccount__content {
	padding: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

/* ── Navegación ── */
.woocommerce-account .djm-myaccount-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-account .djm-myaccount-nav__item {
	margin: 0;
}

.woocommerce-account .djm-myaccount-nav__link {
	display: block;
	padding: 0.65rem 0;
	color: #94a3b8;
	text-decoration: none;
	font-size: 0.9rem;
	font-weight: 500;
	transition: color 0.2s, border-color 0.2s;
	border-left: 3px solid transparent;
	padding-left: 0.75rem;
	margin-left: 0;
}

.woocommerce-account .djm-myaccount-nav__link:hover {
	color: #e2e8f0;
}

.woocommerce-account .djm-myaccount-nav__item.is-active .djm-myaccount-nav__link {
	color: var(--djm-primary);
	border-left-color: var(--djm-primary);
}

/* Avisos dentro del contenido */
.woocommerce-account .djm-myaccount__content .woocommerce-info,
.woocommerce-account .djm-myaccount__content .woocommerce-message,
.woocommerce-account .djm-myaccount__content .woocommerce-error {
	margin-bottom: 1.5rem;
	border-radius: var(--djm-radius);
	padding: 1rem 1.25rem;
}

/* Títulos de sección centrados */
.woocommerce-account .djm-myaccount-section-title {
	text-align: center;
	margin: 0 0 1.5rem;
	font-size: 1.5rem;
	font-weight: 800;
	color: #f1f5f9;
	letter-spacing: -0.02em;
}

.woocommerce-account .djm-myaccount-form__title {
	text-align: center;
	margin: 0 0 1.5rem;
}

/* ── Dashboard ── */
.woocommerce-account .djm-dashboard__header {
	margin-bottom: 1.5rem;
	text-align: center;
}

.woocommerce-account .djm-dashboard__title {
	font-size: 1.5rem;
	font-weight: 800;
	color: #f1f5f9;
	margin: 0 0 0.5rem;
	letter-spacing: -0.02em;
}

.woocommerce-account .djm-dashboard__greeting {
	font-size: 1rem;
	color: #94a3b8;
	margin: 0;
	text-align: center;
}

.woocommerce-account .djm-dashboard__greeting a {
	color: var(--djm-primary);
	text-decoration: none;
}

.woocommerce-account .djm-dashboard__greeting a:hover {
	text-decoration: underline;
}

.woocommerce-account .djm-dashboard__desc {
	color: #94a3b8;
	line-height: 1.6;
	margin-bottom: 2rem;
	font-size: 0.95rem;
	text-align: center;
}

.woocommerce-account .djm-dashboard__desc a {
	color: var(--djm-primary);
	text-decoration: none;
}

.woocommerce-account .djm-dashboard__desc a:hover {
	text-decoration: underline;
}

.woocommerce-account .djm-dashboard__links {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
}

.woocommerce-account .djm-dashboard__card {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 1.25rem;
	background: rgba(15, 23, 42, 0.6);
	border: 1px solid rgba(51, 65, 85, 0.4);
	border-radius: var(--djm-radius-lg);
	text-decoration: none;
	color: inherit;
	transition: border-color 0.2s, background 0.2s, transform 0.15s;
}

.woocommerce-account .djm-dashboard__card:hover {
	border-color: rgba(0, 242, 255, 0.35);
	background: rgba(0, 242, 255, 0.04);
	transform: translateY(-2px);
}

.woocommerce-account .djm-dashboard__card-label {
	font-weight: 700;
	font-size: 1rem;
	color: #f1f5f9;
}

.woocommerce-account .djm-dashboard__card-desc {
	font-size: 0.85rem;
	color: #94a3b8;
}

/* ── Pedidos (tarjetas) ── */
.woocommerce-account .djm-orders-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.woocommerce-account .djm-order-card {
	background: rgba(15, 23, 42, 0.5);
	border: 1px solid rgba(51, 65, 85, 0.45);
	border-radius: var(--djm-radius-lg);
	padding: 1.25rem 1.5rem;
	transition: border-color 0.2s, background 0.2s;
	min-width: 0;
}

.woocommerce-account .djm-order-card:hover {
	border-color: rgba(51, 65, 85, 0.6);
	background: rgba(15, 23, 42, 0.7);
}

.woocommerce-account .djm-order-card__row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem;
}

.woocommerce-account .djm-order-card__row--info {
	margin-bottom: 1rem;
}

.woocommerce-account .djm-order-card__row--actions {
	padding-top: 1rem;
	border-top: 1px solid rgba(51, 65, 85, 0.35);
}

.woocommerce-account .djm-order-card__col {
	font-size: 0.875rem;
}

.woocommerce-account .djm-order-card__number a {
	color: var(--djm-primary);
	font-weight: 700;
	text-decoration: none;
}

.woocommerce-account .djm-order-card__number a:hover {
	text-decoration: underline;
}

.woocommerce-account .djm-order-card__date {
	color: #94a3b8;
}

.woocommerce-account .djm-order-card__status {
	flex-shrink: 0;
}

.woocommerce-account .djm-order-card__badge {
	display: inline-block;
	padding: 0.25rem 0.65rem;
	border-radius: 9999px;
	font-size: 0.75rem;
	font-weight: 600;
	background: rgba(51, 65, 85, 0.6);
	color: #cbd5e1;
}

.woocommerce-account .djm-order-card--completed .djm-order-card__badge {
	background: rgba(34, 197, 94, 0.2);
	color: #4ade80;
}

.woocommerce-account .djm-order-card--cancelled .djm-order-card__badge {
	background: rgba(239, 68, 68, 0.2);
	color: #f87171;
}

.woocommerce-account .djm-order-card--pending .djm-order-card__badge {
	background: rgba(234, 179, 8, 0.2);
	color: #facc15;
}

.woocommerce-account .djm-order-card__total {
	margin-left: auto;
	text-align: right;
}

.woocommerce-account .djm-order-card__amount {
	font-weight: 700;
	color: var(--djm-primary);
	font-size: 1rem;
	display: block;
}

.woocommerce-account .djm-order-card__items {
	font-size: 0.8rem;
	color: #94a3b8;
}

.woocommerce-account .djm-order-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}

.woocommerce-account .djm-order-card__actions .djm-myaccount-btn {
	width: 5.5rem;
	justify-content: center;
	box-sizing: border-box;
}

/* Paginación */
.woocommerce-account .djm-myaccount-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.25rem;
	margin-top: 2rem;
	flex-wrap: wrap;
}

.woocommerce-account .djm-myaccount-pagination__info {
	font-size: 0.875rem;
	color: #94a3b8;
}

/* Estado vacío */
.woocommerce-account .djm-myaccount-empty {
	text-align: center;
	padding: 3rem 2rem;
	background: rgba(15, 23, 42, 0.4);
	border: 1px dashed rgba(51, 65, 85, 0.5);
	border-radius: var(--djm-radius-lg);
}

.woocommerce-account .djm-myaccount-empty__text {
	color: #94a3b8;
	margin: 0 0 1.25rem;
	font-size: 1rem;
}

/* ── Botones ── */
.woocommerce-account .djm-myaccount-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem 1.25rem;
	font-size: 0.875rem;
	font-weight: 600;
	font-family: var(--djm-font-display);
	border-radius: var(--djm-radius);
	border: 1px solid var(--djm-primary);
	background: var(--djm-primary);
	color: #020617;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
}

.woocommerce-account .djm-myaccount-btn:hover {
	background: #00d4e0;
	border-color: #00d4e0;
	color: #020617;
	box-shadow: 0 0 16px rgba(0, 242, 255, 0.3);
}

.woocommerce-account .djm-myaccount-btn--ghost {
	background: transparent;
	color: var(--djm-primary);
}

.woocommerce-account .djm-myaccount-btn--ghost:hover {
	background: rgba(0, 242, 255, 0.1);
	color: var(--djm-primary);
}

.woocommerce-account .djm-myaccount-btn--sm {
	padding: 0.4rem 0.75rem;
	font-size: 0.8rem;
}

/* ── Formularios ── */
.woocommerce-account .djm-myaccount-form-wrap {
	width: 100%;
}

.woocommerce-account .djm-myaccount-form__title {
	font-size: 1.5rem;
	font-weight: 800;
	color: #f1f5f9;
	margin: 0 0 1.5rem;
	text-align: center;
	letter-spacing: -0.02em;
}

.woocommerce-account .djm-myaccount-form .woocommerce-form-row label {
	display: block;
	color: #94a3b8;
	font-size: 0.875rem;
	font-weight: 600;
	margin-bottom: 0.4rem;
}

.woocommerce-account .djm-myaccount-form .woocommerce-Input,
.woocommerce-account .djm-myaccount-form input.input-text,
.woocommerce-account .djm-myaccount-form select {
	width: 100%;
	padding: 0.7rem 1rem;
	background: rgba(2, 6, 23, 0.5);
	border: 1px solid rgba(51, 65, 85, 0.5);
	border-radius: var(--djm-radius);
	color: #e2e8f0;
	font-size: 0.9rem;
	font-family: var(--djm-font-display);
	transition: border-color 0.2s, box-shadow 0.2s;
}

.woocommerce-account .djm-myaccount-form .woocommerce-Input:focus,
.woocommerce-account .djm-myaccount-form input.input-text:focus,
.woocommerce-account .djm-myaccount-form select:focus {
	outline: none;
	border-color: var(--djm-primary);
	box-shadow: 0 0 0 3px rgba(0, 242, 255, 0.12);
}

.woocommerce-account .djm-myaccount-form .woocommerce-form-row {
	margin-bottom: 1.25rem;
}

.woocommerce-account .djm-myaccount-form__fieldset {
	border: 1px solid rgba(51, 65, 85, 0.45);
	border-radius: var(--djm-radius);
	padding: 1.25rem;
	margin: 1.5rem 0;
}

.woocommerce-account .djm-myaccount-form__fieldset legend {
	color: #e2e8f0;
	font-weight: 700;
	font-size: 0.95rem;
	padding: 0 0.5rem;
}

.woocommerce-account .djm-myaccount-form__hint {
	display: block;
	color: #64748b;
	font-size: 0.8rem;
	margin-top: 0.35rem;
}

.woocommerce-account .djm-myaccount-form__submit {
	margin-top: 1.5rem;
	margin-bottom: 0;
}

/* ── Direcciones: usar todo el ancho del contenido ── */
.woocommerce-account .djm-myaccount-addresses {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.woocommerce-account .djm-myaccount-addresses__desc {
	text-align: center;
	color: #94a3b8;
	margin-bottom: 2rem;
	line-height: 1.5;
	font-size: 0.9rem;
	max-width: 32rem;
	margin-left: auto;
	margin-right: auto;
}

/* 2 columnas fijas: las 2 cards (facturación y envío) en una fila */
.woocommerce-account .djm-addresses-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 1.5rem;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	float: none !important;
}

/* Anular estilos WooCommerce col2-set si se cargan en Mi cuenta */
.woocommerce-account .djm-myaccount-addresses .col2-set,
.woocommerce-account .djm-addresses-grid .djm-address-card {
	float: none !important;
	width: auto !important;
}

.woocommerce-account .djm-address-card {
	background: rgba(15, 23, 42, 0.7);
	min-width: 0;
	border: 1px solid rgba(51, 65, 85, 0.5);
	border-radius: var(--djm-radius-xl);
	overflow: hidden;
	transition: border-color 0.2s, box-shadow 0.2s;
	position: relative;
}

.woocommerce-account .djm-address-card::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background: linear-gradient(180deg, var(--djm-primary), transparent);
	opacity: 0.6;
	border-radius: 3px 0 0 3px;
}

.woocommerce-account .djm-address-card:hover {
	border-color: rgba(0, 242, 255, 0.25);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

.woocommerce-account .djm-address-card--empty::before {
	opacity: 0.25;
}

.woocommerce-account .djm-address-card__inner {
	padding: 1.5rem 1.5rem 1.5rem 1.75rem;
}

.woocommerce-account .djm-address-card__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.25rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid rgba(51, 65, 85, 0.4);
}

.woocommerce-account .djm-address-card__title {
	font-size: 1.1rem;
	font-weight: 700;
	color: #f1f5f9;
	margin: 0;
	letter-spacing: -0.01em;
}

.woocommerce-account .djm-address-card__edit {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--djm-primary);
	text-decoration: none;
	padding: 0.4rem 0.75rem;
	border-radius: var(--djm-radius);
	transition: background 0.2s, color 0.2s;
	flex-shrink: 0;
}

.woocommerce-account .djm-address-card__edit:hover {
	background: rgba(0, 242, 255, 0.12);
	color: var(--djm-primary);
}

.woocommerce-account .djm-address-card__body {
	min-height: 4rem;
}

.woocommerce-account .djm-address-card__address {
	font-style: normal;
	font-size: 0.9rem;
	line-height: 1.7;
	color: #cbd5e1;
	margin: 0;
}


.woocommerce-account .djm-address-card__empty {
	margin: 0;
	font-size: 0.9rem;
	color: #64748b;
	font-style: italic;
}

/* ── Descargas ── */
.woocommerce-account .djm-myaccount-downloads .woocommerce-Downloads {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.woocommerce-account .djm-myaccount-downloads .woocommerce-Downloads li {
	padding: 1rem 1.25rem;
	background: rgba(15, 23, 42, 0.5);
	border: 1px solid rgba(51, 65, 85, 0.45);
	border-radius: var(--djm-radius);
}

.woocommerce-account .djm-myaccount-downloads .woocommerce-Downloads a {
	color: var(--djm-primary);
	text-decoration: none;
	font-weight: 500;
}

.woocommerce-account .djm-myaccount-downloads .woocommerce-Downloads a:hover {
	text-decoration: underline;
}

.woocommerce-account .djm-myaccount-downloads table.shop_table {
	border: 1px solid rgba(51, 65, 85, 0.45);
	border-radius: var(--djm-radius);
	background: rgba(15, 23, 42, 0.4);
}

.woocommerce-account .djm-myaccount-downloads table.shop_table th,
.woocommerce-account .djm-myaccount-downloads table.shop_table td {
	padding: 0.85rem 1.25rem;
	color: #cbd5e1;
	border-color: rgba(51, 65, 85, 0.35);
}

.woocommerce-account .djm-myaccount-downloads table.shop_table th {
	background: rgba(0, 242, 255, 0.08);
	color: #e2e8f0;
	font-weight: 700;
	font-size: 0.8rem;
}

/* ── Responsive ── */
@media (max-width: 900px) {
	.woocommerce-account .djm-dashboard__links {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.woocommerce-account .djm-myaccount {
		grid-template-columns: 1fr;
		gap: 2rem;
		padding: 1.25rem 1rem 3rem;
	}

	.woocommerce-account .djm-myaccount__aside {
		position: static;
	}

	.woocommerce-account .djm-myaccount-nav__list {
		display: flex;
		flex-wrap: wrap;
		gap: 0.25rem;
	}

	.woocommerce-account .djm-myaccount-nav__item {
		flex: 1 1 auto;
		min-width: 0;
	}

	.woocommerce-account .djm-myaccount-nav__link {
		padding: 0.6rem 0.75rem;
		border-left: none;
		border-bottom: 3px solid transparent;
		padding-left: 0.75rem;
		text-align: center;
		font-size: 0.85rem;
	}

	.woocommerce-account .djm-myaccount-nav__item.is-active .djm-myaccount-nav__link {
		border-left: none;
		border-bottom-color: var(--djm-primary);
	}

	.woocommerce-account .djm-orders-list {
		grid-template-columns: 1fr;
	}

	.woocommerce-account .djm-order-card__row--info {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5rem;
	}

	.woocommerce-account .djm-order-card__total {
		margin-left: 0;
		text-align: left;
	}
}

/* ── Vista de pedido (Ver pedido) ── */
.woocommerce-account .djm-view-order {
	margin: 0;
	padding: 0;
}

.woocommerce-account .djm-view-order__status {
	margin: 0 0 1.5rem;
	font-size: 0.95rem;
	color: #94a3b8;
	line-height: 1.5;
}

.woocommerce-account .djm-view-order__status mark {
	background: transparent;
	color: var(--djm-primary);
	font-weight: 700;
	padding: 0;
}

.woocommerce-account .djm-view-order__status mark.order-number {
	color: var(--djm-primary);
}

.woocommerce-account .djm-view-order__status mark.order-date,
.woocommerce-account .djm-view-order__status mark.order-status {
	color: #e2e8f0;
	font-weight: 600;
}

.woocommerce-account .djm-view-order__updates-title {
	font-size: 1.1rem;
	font-weight: 700;
	color: #f1f5f9;
	margin: 0 0 0.75rem;
}

.woocommerce-account .djm-view-order__notes {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
}

/* Secciones Descargas y Detalles del pedido: menos espacio */
.woocommerce-account .djm-view-order .woocommerce-order-downloads,
.woocommerce-account .djm-view-order .woocommerce-order-details {
	margin-top: 1.25rem;
	margin-bottom: 0;
}

.woocommerce-account .djm-view-order .woocommerce-order-downloads__title,
.woocommerce-account .djm-view-order .woocommerce-order-details__title {
	font-size: 1.1rem;
	font-weight: 700;
	color: #f1f5f9;
	margin: 0 0 0.75rem;
}

/* Tablas en vista de pedido */
.woocommerce-account .djm-view-order .shop_table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid rgba(51, 65, 85, 0.5);
	border-radius: var(--djm-radius);
	background: rgba(15, 23, 42, 0.5);
	margin-bottom: 0;
}

.woocommerce-account .djm-view-order .shop_table thead th {
	background: rgba(0, 242, 255, 0.1);
	color: #e2e8f0;
	font-weight: 700;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 0.75rem 1rem;
	text-align: left;
	border-bottom: 1px solid rgba(51, 65, 85, 0.5);
}

.woocommerce-account .djm-view-order .shop_table tbody td,
.woocommerce-account .djm-view-order .shop_table tfoot th,
.woocommerce-account .djm-view-order .shop_table tfoot td {
	padding: 0.75rem 1rem;
	color: #cbd5e1;
	font-size: 0.9rem;
	border-top: 1px solid rgba(51, 65, 85, 0.35);
}

.woocommerce-account .djm-view-order .shop_table tfoot th {
	color: #94a3b8;
	font-weight: 600;
}

.woocommerce-account .djm-view-order .shop_table .amount,
.woocommerce-account .djm-view-order .shop_table .woocommerce-Price-amount {
	color: var(--djm-primary);
	font-weight: 700;
}

.woocommerce-account .djm-view-order .shop_table a:not(.button) {
	color: var(--djm-primary);
	text-decoration: none;
}

.woocommerce-account .djm-view-order .shop_table a:not(.button):hover {
	text-decoration: underline;
}

/* Botón de descarga en vista de pedido */
.woocommerce-account .djm-view-order .woocommerce-MyAccount-downloads-file.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.4rem 0.9rem;
	font-size: 0.8rem;
	font-weight: 600;
	font-family: var(--djm-font-display);
	border-radius: var(--djm-radius);
	border: 1px solid var(--djm-primary);
	background: transparent;
	color: var(--djm-primary);
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
}

.woocommerce-account .djm-view-order .woocommerce-MyAccount-downloads-file.button:hover {
	background: rgba(0, 242, 255, 0.12);
	color: var(--djm-primary);
}

/* Botones de acciones en vista de pedido */
.woocommerce-account .djm-view-order .order-actions-button {
	display: inline-flex;
	align-items: center;
	padding: 0.4rem 0.9rem;
	font-size: 0.8rem;
	font-weight: 600;
	font-family: var(--djm-font-display);
	border-radius: var(--djm-radius);
	border: 1px solid var(--djm-primary);
	background: var(--djm-primary);
	color: #020617;
	text-decoration: none;
	margin-right: 0.5rem;
	margin-bottom: 0.25rem;
}

.woocommerce-account .djm-view-order .order-actions-button:hover {
	background: #00d4e0;
	border-color: #00d4e0;
	color: #020617;
}

/* ── Vista de pedido: datos del cliente (dirección facturación/envío) ── */
.woocommerce-account .djm-view-order .woocommerce-customer-details {
	margin-top: 1.5rem;
	padding: 0;
}

/* Solo facturación: la sección actúa como card */
.woocommerce-account .djm-view-order .woocommerce-customer-details.djm-order-customer-details:not(:has(.djm-order-addresses)) {
	background: rgba(15, 23, 42, 0.6);
	border: 1px solid rgba(51, 65, 85, 0.5);
	border-radius: var(--djm-radius-lg);
	padding: 1.25rem 1.5rem;
	position: relative;
	overflow: hidden;
}

.woocommerce-account .djm-view-order .woocommerce-customer-details.djm-order-customer-details:not(:has(.djm-order-addresses))::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background: linear-gradient(180deg, var(--djm-primary), transparent);
	opacity: 0.5;
	border-radius: 3px 0 0 3px;
}

.woocommerce-account .djm-view-order .djm-order-addresses {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 1.25rem;
	float: none !important;
}

.woocommerce-account .djm-view-order .djm-order-address-card {
	background: rgba(15, 23, 42, 0.6);
	border: 1px solid rgba(51, 65, 85, 0.5);
	border-radius: var(--djm-radius-lg);
	padding: 1.25rem 1.5rem;
	position: relative;
	overflow: hidden;
	float: none !important;
	width: auto !important;
}

.woocommerce-account .djm-view-order .djm-order-address-card::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background: linear-gradient(180deg, var(--djm-primary), transparent);
	opacity: 0.5;
	border-radius: 3px 0 0 3px;
}

.woocommerce-account .djm-view-order .djm-order-address-card__title {
	font-size: 1.05rem;
	font-weight: 700;
	color: #f1f5f9;
	margin: 0 0 0.75rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid rgba(51, 65, 85, 0.4);
}

.woocommerce-account .djm-view-order .djm-order-address-card__body {
	font-style: normal;
	font-size: 0.9rem;
	line-height: 1.65;
	color: #cbd5e1;
	margin: 0;
}

.woocommerce-account .djm-view-order .djm-order-address-card__body p {
	margin: 0.25rem 0 0;
	color: #94a3b8;
}

.woocommerce-account .djm-view-order .djm-order-address-card__body a {
	color: var(--djm-primary);
	text-decoration: none;
}

.woocommerce-account .djm-view-order .djm-order-address-card__body a:hover {
	text-decoration: underline;
}

/* Solo facturación (sin envío): una sola card a ancho completo */
.woocommerce-account .djm-view-order .djm-order-addresses:has(.djm-order-address-card:only-child) {
	grid-template-columns: 1fr !important;
}

/* ── Vista de pedido: secciones inferiores (claves de licencia, etc.) ── */
.woocommerce-account .djm-view-order .woocommerce-customer-details + section,
.woocommerce-account .djm-view-order section.woocommerce-customer-details ~ * {
	margin-top: 1.5rem;
}

/* Quitar fondo blanco de la sección de claves de licencia (plugin/contenedor) */
.woocommerce-account .djm-view-order .woocommerce-customer-details + section,
.woocommerce-account .djm-view-order .woocommerce-customer-details ~ section,
.woocommerce-account .djm-view-order .license-keys,
.woocommerce-account .djm-view-order [class*="license"] {
	background: transparent !important;
}

.woocommerce-account .djm-view-order .woocommerce-customer-details + section > *,
.woocommerce-account .djm-view-order .woocommerce-customer-details ~ section > * {
	background: transparent !important;
}

/* Cada ítem de clave de licencia (li con estilos inline del plugin) */
.woocommerce-account .djm-view-order li[style*="background"] {
	background: rgba(15, 23, 42, 0.6) !important;
	border-left: 4px solid var(--djm-primary) !important;
	border-radius: var(--djm-radius);
	color: #cbd5e1;
	margin: 0.5em 0 !important;
	padding: 0.6em 1em !important;
	list-style: none;
}

.woocommerce-account .djm-view-order li[style*="background"] strong {
	color: #f1f5f9;
}

.woocommerce-account .djm-view-order li[style*="background"] code {
	background: rgba(2, 6, 23, 0.5) !important;
	color: var(--djm-primary);
	font-size: 1.05em;
	letter-spacing: 0.05em;
	padding: 0.25em 0.5em;
	border-radius: 4px;
	border: 1px solid rgba(51, 65, 85, 0.5);
}

.woocommerce-account .djm-view-order section h2 {
	font-size: 1.1rem;
	font-weight: 700;
	color: #f1f5f9;
	margin: 0 0 0.5rem;
}

.woocommerce-account .djm-view-order section p {
	font-size: 0.9rem;
	color: #94a3b8;
	line-height: 1.5;
	margin: 0 0 0.75rem;
}

.woocommerce-account .djm-view-order section input[type="text"],
.woocommerce-account .djm-view-order section input[readonly],
.woocommerce-account .djm-view-order section .license-key,
.woocommerce-account .djm-view-order section code {
	display: block;
	width: 100%;
	max-width: 28rem;
	padding: 0.65rem 1rem;
	background: rgba(2, 6, 23, 0.6);
	border: 1px solid rgba(51, 65, 85, 0.5);
	border-radius: var(--djm-radius);
	color: var(--djm-primary);
	font-size: 0.9rem;
	font-family: var(--djm-font-display);
	margin-bottom: 0.75rem;
	box-sizing: border-box;
}

.woocommerce-account .djm-view-order section code {
	font-family: 'SF Mono', 'Fira Code', monospace;
	letter-spacing: 0.05em;
}

.woocommerce-account .djm-view-order section .button,
.woocommerce-account .djm-view-order section a.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem 1.25rem;
	font-size: 0.875rem;
	font-weight: 600;
	font-family: var(--djm-font-display);
	border-radius: var(--djm-radius);
	border: 1px solid var(--djm-primary);
	background: var(--djm-primary);
	color: #020617;
	text-decoration: none;
	transition: background 0.2s, border-color 0.2s;
	margin-top: 0.25rem;
}

.woocommerce-account .djm-view-order section .button:hover,
.woocommerce-account .djm-view-order section a.button:hover {
	background: #00d4e0;
	border-color: #00d4e0;
	color: #020617;
}

/* Responsive: direcciones en 1 columna en móvil */
@media (max-width: 640px) {
	.woocommerce-account .djm-view-order .djm-order-addresses {
		grid-template-columns: 1fr !important;
	}
}

/* Direcciones: 1 card por fila en móviles y tablets */
@media (max-width: 768px) {
	.woocommerce-account .djm-addresses-grid {
		grid-template-columns: 1fr !important;
	}
}
