/* =========================================================================
 * Tope de Flama — Mi cuenta (rediseño)
 * Encolado solo en Mi cuenta, pedido recibido y pagar pedido (inc/tdf-cuenta.php).
 * Prefijo tdfc-. Esquinas rectas, bordes de 1 px, sin sombras.
 * ========================================================================= */

/* ---------- Fondo de página ---------- */

body.tdfc-cuenta,
body.tdfc-cuenta .site-content,
.ast-separate-container.tdfc-cuenta .ast-article-single,
.ast-separate-container.tdfc-cuenta .ast-article-post {
	background: #f5f5f3;
}

/* ---------- Columnas: menú a la izquierda, contenido a la derecha ---------- */

.tdfc-cuenta .woocommerce:has(> .tdfc-aside) {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 32px;
}

.tdfc-cuenta .woocommerce:has(> .tdfc-aside)::before,
.tdfc-cuenta .woocommerce:has(> .tdfc-aside)::after {
	content: none;
}

.tdfc-aside {
	flex: 0 0 260px;
	width: 260px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	font-family: 'Open Sans', Helvetica, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	color: #1a1a1a;
}

.tdfc-cuenta .woocommerce:has(> .tdfc-aside) > .woocommerce-MyAccount-content {
	flex: 1 1 0;
	min-width: 0;
	width: auto;
	float: none;
	margin: 0;
}

/* Sin :has(): el menú queda flotando a la izquierda como antes. */
@supports not selector(:has(*)) {
	.tdfc-aside {
		float: left;
		margin-right: 32px;
	}
	.tdfc-cuenta .woocommerce-MyAccount-content {
		float: none;
		width: auto;
		overflow: hidden;
	}
}

/* ---------- Tarjeta de usuario ---------- */

.tdfc-usuario {
	background: #ffffff;
	border: 1px solid #e5e5e5;
	padding: 20px;
	display: flex;
	align-items: center;
	gap: 14px;
}

.tdfc-usuario__inicial {
	width: 48px;
	height: 48px;
	flex: none;
	background: #111111;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Unbounded', sans-serif;
	font-weight: 800;
	font-size: 18px;
}

.tdfc-usuario__datos {
	min-width: 0;
}

.tdfc-usuario__nombre {
	font-family: 'Unbounded', sans-serif;
	font-weight: 700;
	font-size: 14px;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}

.tdfc-usuario__club {
	font-size: 12.5px;
	color: #616161;
}

.tdfc-usuario__club .woocommerce-Price-amount {
	font-weight: 700;
	color: #1a1a1a;
}

/* ---------- Menú (escritorio) ---------- */

.woocommerce-account .tdfc-nav {
	float: none;
	width: auto;
	margin: 0;
	background: #ffffff;
	border: 1px solid #e5e5e5;
	padding: 10px 0;
}

.tdfc-nav__titulo {
	margin: 0;
	padding: 16px 20px 6px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #616161;
}

.tdfc-nav__grupo:first-child .tdfc-nav__titulo {
	padding-top: 10px;
}

.woocommerce-account .tdfc-nav .tdfc-nav__lista {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 0;
}

.woocommerce-account .tdfc-nav .tdfc-nav__lista li {
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}

.woocommerce-account .tdfc-nav .tdfc-nav__link {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	padding: 0 20px;
	color: #1a1a1a;
	background: transparent;
	border: 0;
	text-decoration: none;
	font-weight: 400;
	line-height: 1.3;
}

/* Astra (y el bloque viejo de íconos) dibujan íconos con pseudo-elementos. */
.woocommerce-account .tdfc-nav .tdfc-nav__link::before,
.woocommerce-account .tdfc-nav .tdfc-nav__link::after {
	content: none !important;
}

.woocommerce-account .tdfc-nav .tdfc-nav__link:hover {
	background: #f5f5f3;
	color: #1a1a1a;
}

.woocommerce-account .tdfc-nav .tdfc-nav__link[aria-current="page"] {
	background: #CC1939;
	color: #ffffff;
	font-weight: 600;
}

.woocommerce-account .tdfc-nav .tdfc-nav__link--salir {
	color: #616161;
}

.woocommerce-account .tdfc-nav .tdfc-nav__link:focus-visible {
	outline: 2px solid #CC1939;
	outline-offset: -2px;
}

.woocommerce-account .tdfc-nav .tdfc-nav__link[aria-current="page"]:focus-visible {
	outline-color: #111111;
}

.tdfc-ico {
	flex: none;
}

.tdfc-nav__texto {
	flex: 1 1 auto;
	min-width: 0;
}

.tdfc-nav__texto--corto {
	display: none;
}

.tdfc-nav__insignia {
	flex: none;
	font-size: 12px;
	font-weight: 700;
}

.tdfc-nav__insignia--curso {
	font-size: 11px;
	padding: 2px 8px;
	background: #fdf0f2;
	color: #a3122c;
}

/* ---------- Celular: fila de pastillas deslizable ---------- */

@media (max-width: 899px) {

	.tdfc-cuenta .woocommerce:has(> .tdfc-aside) {
		display: block;
	}

	.tdfc-aside {
		float: none;
		width: auto;
		margin: 0 0 16px;
	}

	.tdfc-usuario,
	.tdfc-nav__titulo,
	.tdfc-ico,
	.tdfc-nav__insignia,
	.tdfc-nav__texto--largo {
		display: none;
	}

	.tdfc-nav__texto--corto {
		display: inline;
	}

	.woocommerce-account .tdfc-nav {
		position: relative;
		display: flex;
		gap: 8px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		background: transparent;
		border: 0;
		padding: 0 0 4px;
	}

	.woocommerce-account .tdfc-nav::-webkit-scrollbar {
		display: none;
	}

	.tdfc-nav__grupo {
		display: flex;
		flex: none;
	}

	.woocommerce-account .tdfc-nav .tdfc-nav__lista {
		display: flex;
		gap: 8px;
	}

	.woocommerce-account .tdfc-nav .tdfc-nav__lista li {
		flex: none;
	}

	.woocommerce-account .tdfc-nav .tdfc-nav__link {
		min-height: 44px;
		padding: 0 14px;
		gap: 0;
		background: #ffffff;
		border: 1px solid #d6d6d6;
		font-weight: 700;
		font-size: 13.5px;
		white-space: nowrap;
	}

	.woocommerce-account .tdfc-nav .tdfc-nav__link:hover {
		background: #ffffff;
		border-color: #1a1a1a;
	}

	.woocommerce-account .tdfc-nav .tdfc-nav__link[aria-current="page"] {
		background: #CC1939;
		border-color: #CC1939;
		color: #ffffff;
		font-weight: 700;
	}

	.woocommerce-account .tdfc-nav .tdfc-nav__link--salir {
		color: #616161;
	}
}

/* =========================================================================
 * Fases 3 a 5: Escritorio, Pedidos y Ver pedido
 * ========================================================================= */

/* ---------- Base del contenido ---------- */

.tdfc-cuenta .woocommerce-MyAccount-content {
	font-family: 'Open Sans', Helvetica, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	color: #1a1a1a;
}

/* Estas pantallas traen su propio título. */
.tdfc-escritorio .entry-header,
.tdfc-pedidos .entry-header,
.tdfc-ver-pedido .entry-header,
.tdfc-seccion .entry-header,
.tdfc-escritorio .ast-single-entry-banner,
.tdfc-pedidos .ast-single-entry-banner,
.tdfc-ver-pedido .ast-single-entry-banner,
.tdfc-seccion .ast-single-entry-banner {
	display: none;
}

.tdfc-cuenta .woocommerce-MyAccount-content a:focus-visible {
	outline: 2px solid #CC1939;
	outline-offset: 2px;
}

.tdfc-pila {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.tdfc-pila--20 {
	gap: 20px;
}

.tdfc-card {
	background: #ffffff;
	border: 1px solid #e5e5e5;
}

.tdfc-h1 {
	margin: 0 0 6px;
	font-family: 'Unbounded', sans-serif;
	font-weight: 800;
	font-size: 30px;
	line-height: 1.15;
	letter-spacing: normal;
	text-transform: uppercase;
	color: #1a1a1a;
}

.tdfc-h2 {
	margin: 0;
	font-family: 'Unbounded', sans-serif;
	font-weight: 700;
	font-size: 15px;
	line-height: 1.3;
	letter-spacing: normal;
	text-transform: uppercase;
	color: #1a1a1a;
}

.tdfc-bajada {
	margin: 0;
	color: #616161;
}

.tdfc-eyebrow {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #616161;
}

.tdfc-suave {
	color: #616161;
}

.tdfc-solo-movil {
	display: none;
}

/* ---------- Etiquetas de estado ---------- */

.tdfc-chip {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	padding: 3px 9px;
	border-radius: 0;
	white-space: normal;
}

.tdfc-chip--verde   { color: #0d6b45; background: #e7f5ee; }
.tdfc-chip--ambar   { color: #7a4b00; background: #fff3d6; }
.tdfc-chip--azul    { color: #1f4f8a; background: #e8f0fa; }
.tdfc-chip--gris    { color: #4a4a4a; background: #efefed; }
.tdfc-chip--apagado { color: #616161; background: #f6f6f4; }

/* ---------- Enlaces y botones ---------- */

.tdfc-link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-weight: 700;
	font-size: 14px;
	color: #CC1939;
	text-decoration: none;
}

.tdfc-link:hover {
	color: #a3122c;
}

.tdfc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 22px;
	background: #CC1939;
	border: 1px solid #CC1939;
	color: #ffffff;
	font-family: 'Unbounded', sans-serif;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	text-align: center;
}

.tdfc-btn:hover {
	background: #a3122c;
	border-color: #a3122c;
	color: #ffffff;
}

.tdfc-btn--chico {
	min-height: 44px;
	padding: 0 18px;
	font-size: 11.5px;
}

.tdfc-btn-borde {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 16px;
	background: #ffffff;
	border: 1px solid #1a1a1a;
	color: #1a1a1a;
	font-weight: 700;
	font-size: 13.5px;
	text-decoration: none;
	text-align: center;
}

.tdfc-btn-borde:hover {
	background: #1a1a1a;
	color: #ffffff;
}

.tdfc-svg {
	flex: none;
}

.tdfc-svg--rojo {
	color: #CC1939;
}

/* ---------- Miniaturas ---------- */

.tdfc-foto {
	display: block;
	flex: none;
	width: 56px;
	height: 56px;
	background: #efefed;
	overflow: hidden;
}

.tdfc-foto img,
.tdfc-sug__foto img,
.tdfc-benef__foto img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

/* ---------- Barra de pasos ---------- */

.tdfc-pasos {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
}

.tdfc-pasos li {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.tdfc-pasos__barra {
	display: block;
	height: 4px;
	background: #e5e5e5;
}

.tdfc-paso--hecho .tdfc-pasos__barra  { background: #0d6b45; }
.tdfc-paso--actual .tdfc-pasos__barra { background: #111111; }

.tdfc-pasos__nombre {
	font-weight: 700;
	font-size: 13.5px;
	line-height: 1.3;
}

.tdfc-paso--pendiente .tdfc-pasos__nombre {
	font-weight: 600;
	color: #616161;
}

.tdfc-pasos__sub {
	font-size: 12.5px;
	line-height: 1.4;
	color: #616161;
	overflow-wrap: anywhere;
}

.tdfc-pasos__sub a {
	color: #CC1939;
	font-weight: 700;
}

.tdfc-pasos__resumen {
	display: none;
	margin: 10px 0 0;
	font-size: 13px;
	color: #616161;
}

/* ---------- Escritorio: pedido en curso ---------- */

.tdfc-curso__cab {
	padding: 24px 24px 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
}

.tdfc-curso__id {
	flex: 1 1 260px;
	min-width: 0;
}

.tdfc-curso__num-fila {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 4px;
}

.tdfc-h2-num {
	margin: 0;
	font-family: 'Unbounded', sans-serif;
	font-weight: 700;
	font-size: 22px;
	line-height: 1.2;
	letter-spacing: normal;
	color: #1a1a1a;
}

.tdfc-curso__pasos {
	padding: 24px;
}

.tdfc-curso__prods {
	list-style: none;
	margin: 0;
	padding: 0 24px 24px;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.tdfc-prod {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 12px;
	flex: 1 1 240px;
	min-width: 0;
	font-size: 14px;
}

.tdfc-prod__txt {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.tdfc-prod__nombre {
	font-weight: 600;
	overflow-wrap: anywhere;
}

/* ---------- Compra en un click (versión clara) en Escritorio ---------- */

.tdfc-oc {
	border-top: 1px solid #e5e5e5;
	background: #f5f5f3;
	padding: 24px;
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	align-items: stretch;
}

[data-tdfc-oc][hidden] {
	display: none !important;
}

.tdfc-oc__txt {
	flex: 1 1 280px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}

.tdfc-oc__eyebrow {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #CC1939;
}

.tdfc-oc__titulo {
	margin: 0;
	font-family: 'Unbounded', sans-serif;
	font-weight: 800;
	font-size: 22px;
	line-height: 1.2;
	letter-spacing: normal;
	text-transform: uppercase;
	color: #1a1a1a;
}

.tdfc-oc__bajada {
	margin: 0;
	font-size: 14px;
	color: #616161;
}

.tdfc-oc__accion {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 4px;
}

.tdfc-reloj-caja {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 48px;
	padding: 0 14px;
	background: #ffffff;
	border: 1px solid #d6d6d6;
	font-size: 13px;
	color: #616161;
}

.tdfc-reloj {
	font-family: 'Unbounded', sans-serif;
	font-weight: 700;
	color: #1a1a1a;
	font-variant-numeric: tabular-nums;
}

.tdfc-oc__sug {
	list-style: none;
	margin: 0;
	padding: 0;
	flex: 1 1 360px;
	min-width: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.tdfc-sug {
	margin: 0;
	background: #ffffff;
	border: 1px solid #e5e5e5;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.tdfc-sug__foto {
	display: block;
	aspect-ratio: 1 / 1;
	background: #efefed;
	overflow: hidden;
}

.tdfc-sug__nombre {
	flex: 1;
	padding: 10px 10px 0;
	font-size: 12.5px;
	line-height: 1.35;
	font-weight: 600;
	overflow-wrap: anywhere;
}

.tdfc-sug__pie {
	padding: 4px 10px 10px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
}

.tdfc-sug__precio {
	min-width: 0;
	font-weight: 700;
	font-size: 13.5px;
	line-height: 1.3;
}

.tdfc-sug__precio del {
	display: block;
	font-weight: 400;
	font-size: 12px;
	color: #616161;
}

.tdfc-sug__precio ins {
	text-decoration: none;
}

.tdfc-sug__mas {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	background: #111111;
	color: #ffffff;
	font-weight: 700;
	font-size: 18px;
	text-decoration: none;
}

.tdfc-sug__mas:hover {
	background: #CC1939;
	color: #ffffff;
}

/* ---------- Escritorio: Club Flama, puntos, favoritos ---------- */

.tdfc-beneficios {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
}

.tdfc-benef {
	background: #ffffff;
	border: 1px solid #e5e5e5;
	padding: 22px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	color: #1a1a1a;
	text-decoration: none;
}

.tdfc-benef:hover {
	border-color: #1a1a1a;
	color: #1a1a1a;
}

.tdfc-benef__cab {
	display: flex;
	align-items: center;
	gap: 10px;
}

.tdfc-benef__titulo {
	font-family: 'Unbounded', sans-serif;
	font-weight: 700;
	font-size: 13px;
	text-transform: uppercase;
}

.tdfc-benef__cifra {
	font-family: 'Unbounded', sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.2;
}

.tdfc-benef__cifra small {
	font-family: 'Open Sans', Helvetica, sans-serif;
	font-weight: 400;
	font-size: 13px;
	color: #616161;
}

.tdfc-benef__cifra--grande {
	font-weight: 800;
	font-size: 32px;
	line-height: 1;
}

.tdfc-barra {
	display: block;
	height: 8px;
	background: #efefed;
}

.tdfc-barra span {
	display: block;
	height: 8px;
	background: #CC1939;
}

.tdfc-benef__txt {
	font-size: 13px;
	color: #616161;
}

.tdfc-benef__link {
	margin-top: auto;
	font-size: 13px;
	font-weight: 700;
	color: #CC1939;
}

.tdfc-benef__fotos {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.tdfc-benef__foto {
	display: block;
	aspect-ratio: 1 / 1;
	background: #efefed;
	overflow: hidden;
}

/* ---------- Escritorio: últimos pedidos y datos ---------- */

.tdfc-lista__cab {
	padding: 12px 24px;
	min-height: 64px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	border-bottom: 1px solid #e5e5e5;
}

.tdfc-fila {
	padding: 16px 24px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	border-bottom: 1px solid #efefed;
}

.tdfc-fila:last-child {
	border-bottom: 0;
}

.tdfc-fila__info {
	flex: 1 1 200px;
	min-width: 0;
}

.tdfc-fila__num {
	font-weight: 700;
}

.tdfc-fila__num span {
	font-weight: 400;
	color: #616161;
}

.tdfc-fila .tdfc-chip {
	margin-top: 4px;
}

.tdfc-fila__total {
	font-weight: 700;
}

.tdfc-vacio {
	margin: 0;
	padding: 32px 24px;
	text-align: center;
	color: #616161;
}

.tdfc-datos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
}

.tdfc-dato {
	padding: 22px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.tdfc-dato__titulo {
	margin: 0;
	font-family: 'Unbounded', sans-serif;
	font-weight: 700;
	font-size: 13px;
	line-height: 1.3;
	letter-spacing: normal;
	text-transform: uppercase;
	color: #1a1a1a;
}

.tdfc-dato__txt {
	margin: 0;
	font-size: 14px;
	color: #3d3d3d;
	overflow-wrap: anywhere;
}

/* ---------- Pedidos ---------- */

.tdfc-filtros {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.tdfc-filtro {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 16px;
	background: #ffffff;
	border: 1px solid #d6d6d6;
	color: #1a1a1a;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.tdfc-filtro:hover {
	border-color: #111111;
	color: #1a1a1a;
}

.tdfc-filtro[aria-current="page"] {
	background: #111111;
	border-color: #111111;
	color: #ffffff;
}

.tdfc-pedidos-lista {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.tdfc-pedido {
	background: #ffffff;
	border: 1px solid #e5e5e5;
}

.tdfc-pedido--oc {
	border: 2px solid #CC1939;
}

.tdfc-pedido__fila {
	padding: 18px 20px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 20px;
}

.tdfc-pedido__fotos {
	flex: none;
	display: flex;
	gap: 6px;
}

.tdfc-pedido__fotos .tdfc-foto {
	width: 52px;
	height: 52px;
}

.tdfc-pedido__info {
	flex: 1 1 220px;
	min-width: 0;
}

.tdfc-pedido__titulo {
	font-weight: 700;
}

.tdfc-pedido__titulo span {
	font-weight: 400;
	color: #616161;
}

.tdfc-pedido__info .tdfc-chip {
	margin-top: 6px;
}

.tdfc-pedido__total {
	min-width: 90px;
	font-weight: 700;
	font-size: 16px;
}

.tdfc-pedido--apagado .tdfc-pedido__titulo,
.tdfc-pedido--apagado .tdfc-pedido__total {
	color: #616161;
}

.tdfc-pedido__acciones {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.tdfc-ver {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 8px;
	color: #1a1a1a;
	font-weight: 600;
	font-size: 13.5px;
	text-decoration: underline;
}

.tdfc-ver:hover {
	color: #CC1939;
}

.tdfc-ver--sec {
	color: #616161;
}

.tdfc-hijo {
	margin: 0 20px;
	padding: 10px 0;
	border-top: 1px solid #efefed;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	font-size: 13.5px;
}

.tdfc-hijo__txt {
	flex: 1 1 260px;
	min-width: 0;
	margin: 0;
	overflow-wrap: anywhere;
}

.tdfc-oc-franja {
	background: #f6f6f4;
	border-top: 1px solid #e5e5e5;
	padding: 12px 20px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
}

.tdfc-oc-franja__txt {
	flex: 1 1 260px;
	min-width: 0;
	margin: 0;
	font-size: 14px;
}

.tdfc-paginas {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

/* ---------- Ver pedido ---------- */

.tdfc-ruta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font-size: 13.5px;
	color: #616161;
}

.tdfc-ruta a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: #616161;
}

.tdfc-ruta a:hover {
	color: #CC1939;
}

.tdfc-ruta [aria-current="page"] {
	color: #1a1a1a;
	font-weight: 600;
}

.tdfc-cab-pedido {
	padding: 24px;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
}

/* El id se achica y parte su línea de datos; el total queda a la derecha. */
.tdfc-cab-pedido__id {
	flex: 1 1 320px;
	min-width: 0;
}

.tdfc-cab-pedido .tdfc-h1 {
	margin-bottom: 8px;
	font-size: 26px;
}

.tdfc-cab-pedido__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	color: #616161;
}

.tdfc-cab-pedido__total {
	flex: 0 0 auto;
	margin-left: auto;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
	text-align: right;
}

.tdfc-cab-pedido__total-label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #616161;
}

.tdfc-cab-pedido__total-valor {
	font-family: 'Unbounded', sans-serif;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.2;
}

.tdfc-cab-pedido__total .tdfc-btn,
.tdfc-cab-pedido__total .tdfc-btn-borde {
	margin-top: 8px;
}

.tdfc-cab-pedido__pasos {
	flex: 1 1 100%;
	margin-top: 8px;
}

.tdfc-columnas {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 20px;
}

/* 3:2 del espacio libre: Resumen nunca baja de 340 px al lado de Productos. */
.tdfc-col-prods {
	flex: 3 1 480px;
	min-width: 0;
}

.tdfc-col-resumen {
	flex: 2 1 340px;
	min-width: 0;
}

.tdfc-card__titulo {
	margin: 0;
	padding: 18px 24px;
	border-bottom: 1px solid #e5e5e5;
	font-family: 'Unbounded', sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.3;
	letter-spacing: normal;
	text-transform: uppercase;
	color: #1a1a1a;
}

.tdfc-item {
	padding: 18px 24px;
	display: flex;
	align-items: center;
	gap: 16px;
	border-bottom: 1px solid #efefed;
}

.tdfc-items > .tdfc-item:last-child {
	border-bottom: 0;
}

.tdfc-item .tdfc-foto {
	width: 72px;
	height: 72px;
}

.tdfc-item__info {
	flex: 1;
	min-width: 0;
}

.tdfc-item__nombre {
	font-weight: 600;
	overflow-wrap: anywhere;
}

.tdfc-item__nombre a {
	color: #1a1a1a;
	text-decoration: none;
}

.tdfc-item__nombre a:hover {
	color: #CC1939;
}

.tdfc-item__info .wc-item-meta {
	list-style: none;
	margin: 2px 0 0;
	padding: 0;
	font-size: 13.5px;
	color: #616161;
}

.tdfc-item__info .wc-item-meta li {
	margin: 0;
}

.tdfc-item__info .wc-item-meta p {
	display: inline;
	margin: 0;
}

.tdfc-item__info .wc-item-meta-label {
	font-weight: 600;
}

.tdfc-item__cant {
	font-size: 13.5px;
	color: #616161;
}

.tdfc-item__total {
	font-weight: 700;
	white-space: nowrap;
}

.tdfc-puntos {
	margin: 0 24px 22px;
	padding: 12px 14px;
	background: #f6f6f4;
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13.5px;
}

.tdfc-resumen {
	margin: 0;
	padding: 16px 24px;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 10px 16px;
	font-size: 14px;
}

.tdfc-resumen dt {
	margin: 0;
	font-weight: 400;
	color: #3d3d3d;
}

.tdfc-resumen dd {
	margin: 0;
	text-align: right;
	white-space: nowrap;
}

/* "vía Andreani (sucursal)": debajo del monto, en una línea chica. */
.tdfc-resumen .shipped_via {
	display: block;
	margin-top: 2px;
	font-size: 12px;
	color: #616161;
}

.tdfc-resumen .is-descuento {
	color: #0d6b45;
}

.tdfc-resumen .is-total {
	padding-top: 10px;
	border-top: 1px solid #e5e5e5;
	font-weight: 700;
	color: #1a1a1a;
}

.tdfc-resumen__pie {
	margin: 0;
	padding: 0 24px 20px;
	font-size: 13.5px;
	color: #616161;
	overflow-wrap: anywhere;
}

.tdfc-extra {
	padding: 20px 24px;
	overflow-x: auto;
}

/* Lo que imprimen los plugins en .tdfc-extra: solo CSS sobre sus clases. */

/* Puntos de YITH: una línea sobria. */
.tdfc-extra .ywpar-order-point-summary {
	margin: 0 0 16px;
	padding: 0 0 12px;
	background: none;
	border: 0;
	border-bottom: 1px solid #efefed;
	border-radius: 0;
	box-shadow: none;
	font-size: 14px;
	line-height: 1.5;
	color: #3d3d3d;
}

.tdfc-extra .ywpar-order-point-summary:last-child {
	margin-bottom: 0;
}

.tdfc-extra .ywpar-order-point-summary * {
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
}

/* Envío Andreani */
.tdfc-extra .andreani-shipping-details {
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
}

.tdfc-extra .andreani-shipping-details h2.woocommerce-column__title {
	margin: 0 0 12px;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	font-family: 'Unbounded', sans-serif;
	font-weight: 700;
	font-size: 13px;
	line-height: 1.3;
	letter-spacing: normal;
	text-transform: uppercase;
	color: #1a1a1a;
}

.tdfc-extra dl.andreani-details-list {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 14px;
}

.tdfc-extra .andreani-details-row {
	margin: 0;
	padding: 10px 0;
	display: grid;
	grid-template-columns: minmax(120px, 1fr) minmax(0, 2fr);
	gap: 4px 16px;
	align-items: baseline;
	background: none;
	border: 0;
	border-bottom: 1px solid #efefed;
}

.tdfc-extra .andreani-details-row:last-child {
	border-bottom: 0;
}

.tdfc-extra .andreani-details-row dt {
	margin: 0;
	padding: 0;
	font-weight: 400;
	color: #616161;
}

.tdfc-extra .andreani-details-row dd {
	margin: 0;
	padding: 0;
	min-width: 0;
	text-align: right;
	color: #1a1a1a;
	overflow-wrap: anywhere;
}

.tdfc-extra .andreani-address {
	display: block;
	margin-top: 2px;
	font-size: 13px;
	font-style: normal;
	color: #616161;
}

.tdfc-extra .andreani-shipping-details code {
	display: inline-block;
	padding: 2px 8px;
	background: #efefed;
	border: 0;
	border-radius: 0;
	font-family: 'Open Sans', Helvetica, sans-serif;
	font-size: 13px;
	font-weight: 700;
	color: #4a4a4a;
}

/* Número de seguimiento: con el número, en grande y con su botón. */
.tdfc-extra .andreani-live-tracking {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 8px 12px;
	font-family: 'Unbounded', sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.25;
	color: #1a1a1a;
}

.tdfc-extra .andreani-live-tracking code {
	padding: 0;
	background: none;
	font-family: inherit;
	font-size: inherit;
	color: inherit;
}

.tdfc-extra .andreani-live-tracking a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 16px;
	background: #ffffff;
	border: 1px solid #1a1a1a;
	border-radius: 0;
	color: #1a1a1a;
	font-family: 'Open Sans', Helvetica, sans-serif;
	font-weight: 700;
	font-size: 13.5px;
	text-decoration: none;
}

.tdfc-extra .andreani-live-tracking a:hover {
	background: #1a1a1a;
	color: #ffffff;
}

/* "Generando tu número…": etiqueta ámbar. */
.tdfc-extra .andreani-live-tracking.is-pending {
	display: inline-block;
	padding: 3px 9px;
	background: #fff3d6;
	font-family: 'Open Sans', Helvetica, sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	color: #7a4b00;
}

.tdfc-novedades {
	list-style: none;
	margin: 0;
	padding: 8px 24px 16px;
}

.tdfc-novedades li {
	margin: 0;
	padding: 10px 0;
	border-bottom: 1px solid #efefed;
	font-size: 14px;
}

.tdfc-novedades li:last-child {
	border-bottom: 0;
}

.tdfc-novedades p {
	margin: 4px 0 0;
}

.tdfc-abajo {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 20px;
}

.tdfc-abajo .tdfc-dato {
	gap: 10px;
}

.tdfc-wa {
	align-self: flex-start;
}

/* ---------- Compra en un click en Ver pedido (bloque de tdf-recos) ----------
   Versión clara: tarjeta blanca como el resto, etiqueta roja, título negro
   y el reloj en un recuadro de borde gris. Se anula el ancho y el centrado
   que el bloque usa en la página de gracias. */

.tdfc-cuenta .tdf-recos--cuenta {
	width: 100%;
	margin: 0;
	padding: 28px 24px;
	box-sizing: border-box;
	background: #ffffff;
	border: 1px solid #e5e5e5;
	scroll-margin-top: 140px;
}

.tdfc-cuenta .tdf-recos--cuenta .tdf-recos__inner {
	max-width: none;
	padding: 0;
}

.tdfc-cuenta .tdf-recos--cuenta .tdf-recos__head {
	margin: 0;
}

.tdf-oc-cab {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 24px;
}

.tdf-oc-cab__txt {
	flex: 1 1 420px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.tdfc-cuenta .tdf-recos--cuenta .tdf-recos__eyebrow {
	margin: 0;
	font-size: 11px;
	letter-spacing: 0.1em;
	color: #CC1939;
}

.tdfc-cuenta .tdf-recos--cuenta .tdf-recos__titulo {
	font-family: 'Unbounded', sans-serif;
	font-weight: 800;
	font-size: 24px;
	line-height: 1.2;
	text-transform: uppercase;
	color: #1a1a1a;
}

.tdfc-cuenta .tdf-recos--cuenta .tdf-recos__oc-txt {
	margin: 0;
	font-size: 14.5px;
	color: #616161;
}

.tdf-oc-cab__reloj {
	min-width: 180px;
	padding: 12px 18px;
	border: 1px solid #d6d6d6;
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-family: 'Open Sans', Helvetica, sans-serif;
}

.tdf-oc-cab__reloj span {
	font-size: 12px;
	color: #616161;
}

.tdf-oc-cab__reloj strong {
	font-family: 'Unbounded', sans-serif;
	font-weight: 700;
	font-size: 26px;
	line-height: 1.2;
	color: #1a1a1a;
	font-variant-numeric: tabular-nums;
}

/* Últimos 5 minutos (el script de tdf-recos agrega .is-urgente). */
.tdf-oc-cab__reloj.is-urgente {
	border-color: #CC1939;
}

.tdf-oc-cab__reloj.is-urgente strong {
	color: #CC1939;
}

/* =========================================================================
 * Fase 6: Seguimiento, Club Flama, Direcciones, Datos de la cuenta,
 * Favoritos y Mis puntos
 * ========================================================================= */

/* ---------- Título de sección (tdfc_titulo_seccion) ---------- */

.tdfc-seccion-cab {
	margin: 0 0 24px;
}

/* ---------- Seguimiento: número destacado ---------- */

.tdfc-envio {
	margin: 0 24px 24px;
	padding: 16px 18px;
	border: 1px solid #e5e5e5;
	background: #f6f6f4;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
}

.tdfc-envio__ico {
	color: #1f4f8a;
}

.tdfc-envio__txt {
	flex: 1 1 200px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.tdfc-envio__num {
	font-family: 'Unbounded', sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.25;
	letter-spacing: 0.02em;
	overflow-wrap: anywhere;
	user-select: all;
}

.tdfc-envio--vacio {
	flex-wrap: nowrap;
	background: transparent;
	font-size: 14px;
	color: #616161;
}

.tdfc-envio--vacio .tdfc-envio__ico {
	color: #616161;
}

/* ---------- Club Flama ---------- */

.tdfc-club {
	padding: 24px;
	display: flex;
	align-items: flex-start;
	gap: 18px;
}

.tdfc-club--socio {
	border-color: #CC1939;
	background: #fdf0f2;
}

.tdfc-club__ico {
	flex: none;
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #111111;
	color: #ffffff;
}

.tdfc-club--socio .tdfc-club__ico {
	background: #CC1939;
}

.tdfc-club__txt {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}

.tdfc-club__titulo {
	margin: 0;
	font-family: 'Unbounded', sans-serif;
	font-weight: 800;
	font-size: 20px;
	line-height: 1.2;
	letter-spacing: normal;
	text-transform: uppercase;
	color: #1a1a1a;
}

.tdfc-club--socio .tdfc-club__titulo {
	color: #a3122c;
}

.tdfc-club__txt p {
	margin: 0;
	font-size: 14.5px;
	color: #3d3d3d;
}

.tdfc-club__progreso {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.tdfc-club__progreso-txt {
	font-size: 13px;
	color: #616161;
}

.tdfc-club__grid {
	list-style: none;
	margin: 0;
	padding: 20px 24px 24px;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 12px;
}

.tdfc-club__grid li {
	margin: 0;
}

.tdfc-club__prod {
	height: 100%;
	box-sizing: border-box;
	padding: 14px 16px;
	border: 1px solid #e5e5e5;
	display: flex;
	flex-direction: column;
	gap: 6px;
	color: #1a1a1a;
	text-decoration: none;
}

.tdfc-club__prod:hover {
	border-color: #CC1939;
	color: #1a1a1a;
}

.tdfc-club__prod-nombre {
	font-size: 14px;
	font-weight: 600;
	overflow-wrap: anywhere;
}

.tdfc-club__precios {
	margin-top: auto;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 8px;
	font-size: 14px;
}

.tdfc-club__precios del {
	color: #616161;
	font-size: 13px;
}

.tdfc-club__precios strong {
	color: #CC1939;
}

.tdfc-club__pasos {
	margin: 0;
	padding: 20px 24px 4px;
	list-style: none;
	counter-reset: tdfc-paso;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.tdfc-club__pasos li {
	margin: 0;
	counter-increment: tdfc-paso;
	display: flex;
	align-items: flex-start;
	gap: 14px;
	font-size: 14.5px;
}

.tdfc-club__pasos li::before {
	content: counter(tdfc-paso);
	flex: none;
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #111111;
	color: #ffffff;
	font-family: 'Unbounded', sans-serif;
	font-weight: 700;
	font-size: 12px;
}

.tdfc-club__mas {
	margin: 0;
	padding: 4px 24px 12px;
}

/* ---------- Direcciones (lista) ---------- */

.tdfc-dir__nota {
	margin: 0 0 16px;
	font-size: 14px;
}

.tdfc-cuenta .woocommerce-Addresses address {
	font-style: normal;
}

.tdfc-cuenta .woocommerce-Addresses .tdfc-link {
	margin-top: auto;
}

/* ---------- Formularios: editar dirección y Datos de la cuenta ----------
   Plantillas de WooCommerce (con los ganchos de sus campos y lo que agrega
   Nextend): solo se cambia el aspecto. */

.tdfc-cuenta .woocommerce-MyAccount-content form.woocommerce-EditAccountForm,
.tdfc-cuenta .woocommerce-MyAccount-content .woocommerce-address-fields {
	background: #ffffff;
	border: 1px solid #e5e5e5;
	padding: 24px;
}

/* El título del formulario de dirección ("Dirección de envío"). */
.tdfc-seccion--edit-address .woocommerce-MyAccount-content form > h2,
.tdfc-seccion--edit-address .woocommerce-MyAccount-content form > h3 {
	margin: 0;
	padding: 18px 24px;
	background: #ffffff;
	border: 1px solid #e5e5e5;
	border-bottom: 0;
	font-family: 'Unbounded', sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.3;
	letter-spacing: normal;
	text-transform: uppercase;
	color: #1a1a1a;
}

.tdfc-cuenta .woocommerce-MyAccount-content form .form-row {
	margin: 0 0 18px;
	padding: 0;
}

.tdfc-cuenta .woocommerce-MyAccount-content form .form-row label {
	display: block;
	margin: 0 0 6px;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.4;
	color: #1a1a1a;
}

.tdfc-cuenta .woocommerce-MyAccount-content form .form-row .required {
	color: #CC1939;
	text-decoration: none;
	border: 0;
}

.tdfc-cuenta .woocommerce-MyAccount-content form .form-row input.input-text,
.tdfc-cuenta .woocommerce-MyAccount-content form .form-row textarea,
.tdfc-cuenta .woocommerce-MyAccount-content form .form-row select,
.tdfc-cuenta .woocommerce-MyAccount-content form .select2-container .select2-selection--single {
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 10px 14px;
	background: #ffffff;
	border: 1px solid #c9c9c9;
	border-radius: 0;
	box-shadow: none;
	font-family: 'Open Sans', Helvetica, sans-serif;
	font-size: 15px;
	line-height: 1.4;
	color: #1a1a1a;
}

.tdfc-cuenta .woocommerce-MyAccount-content form .select2-container .select2-selection--single {
	display: flex;
	align-items: center;
	padding: 0 14px;
}

.tdfc-cuenta .woocommerce-MyAccount-content form .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0 24px 0 0;
	line-height: 1.4;
	color: #1a1a1a;
}

.tdfc-cuenta .woocommerce-MyAccount-content form .select2-container .select2-selection--single .select2-selection__arrow {
	height: 46px;
	right: 8px;
}

/* Provincia y país (select2): la etiqueta flotante quedaba encima del valor.
   Como los demás campos: etiqueta chica arriba, valor abajo, 48 px. El
   !important le gana a la etiqueta flotante de Astra (position/transform). */
.tdfc-cuenta .woocommerce-MyAccount-content form :is(#shipping_state_field, #billing_state_field, #shipping_country_field, #billing_country_field) {
	position: relative;
}

.tdfc-cuenta .woocommerce-MyAccount-content form :is(#shipping_state_field, #billing_state_field, #shipping_country_field, #billing_country_field) > label {
	position: absolute !important;
	top: 7px !important;
	left: 15px !important;
	right: 40px;
	z-index: 2;
	margin: 0 !important;
	padding: 0;
	transform: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: none;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	background: none;
	font-size: 11.5px !important;
	font-weight: 600;
	line-height: 1.2 !important;
	color: #616161;
}

.tdfc-cuenta .woocommerce-MyAccount-content form :is(#shipping_state_field, #billing_state_field, #shipping_country_field, #billing_country_field) .select2-container .select2-selection--single {
	height: 48px;
	padding: 21px 14px 5px;
	align-items: flex-end;
}

.tdfc-cuenta .woocommerce-MyAccount-content form :is(#shipping_state_field, #billing_state_field, #shipping_country_field, #billing_country_field) .select2-selection__rendered {
	padding: 0 24px 0 0;
	line-height: 1.35;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.tdfc-cuenta .woocommerce-MyAccount-content form :is(#shipping_state_field, #billing_state_field, #shipping_country_field, #billing_country_field) .select2-selection__placeholder {
	color: #8a8a8a;
}

/* Si la provincia es un campo de texto o un select común (según el país). */
.tdfc-cuenta .woocommerce-MyAccount-content form :is(#shipping_state_field, #billing_state_field, #shipping_country_field, #billing_country_field) :is(input.input-text, select) {
	height: 48px;
	padding: 21px 14px 5px;
}

/* Desplegable de select2: se dibuja al final del body, fuera del formulario. */
.tdfc-cuenta .select2-container--open .select2-dropdown {
	z-index: 100000;
	background: #ffffff;
	border: 1px solid #c9c9c9;
	border-radius: 0;
	box-shadow: none;
}

.tdfc-cuenta .select2-container--open .select2-dropdown--below {
	margin-top: -1px;
}

.tdfc-cuenta .select2-dropdown .select2-search--dropdown {
	padding: 8px;
}

.tdfc-cuenta .select2-dropdown .select2-search__field {
	box-sizing: border-box;
	width: 100%;
	min-height: 44px;
	padding: 8px 12px;
	border: 1px solid #c9c9c9;
	border-radius: 0;
	font-size: 15px;
}

.tdfc-cuenta .select2-dropdown .select2-search__field:focus {
	border-color: #CC1939;
	outline: 2px solid #CC1939;
	outline-offset: -1px;
}

.tdfc-cuenta .select2-dropdown .select2-results__options {
	max-height: 280px;
}

.tdfc-cuenta .select2-dropdown .select2-results__option {
	display: flex;
	align-items: center;
	min-height: 44px;
	margin: 0;
	padding: 8px 14px;
	font-size: 15px;
	line-height: 1.3;
	color: #1a1a1a;
}

.tdfc-cuenta .select2-dropdown .select2-results__option[aria-selected="true"],
.tdfc-cuenta .select2-dropdown .select2-results__option--selected {
	background: #f5f5f3;
	color: #1a1a1a;
	font-weight: 600;
}

.tdfc-cuenta .select2-dropdown .select2-results__option--highlighted,
.tdfc-cuenta .select2-dropdown .select2-results__option--highlighted[aria-selected] {
	background: #111111;
	color: #ffffff;
}

.tdfc-cuenta .woocommerce-MyAccount-content form .form-row input.input-text:focus,
.tdfc-cuenta .woocommerce-MyAccount-content form .form-row textarea:focus,
.tdfc-cuenta .woocommerce-MyAccount-content form .form-row select:focus,
.tdfc-cuenta .woocommerce-MyAccount-content form .select2-container--focus .select2-selection--single,
.tdfc-cuenta .woocommerce-MyAccount-content form .select2-container--open .select2-selection--single {
	border-color: #CC1939;
	outline: 2px solid #CC1939;
	outline-offset: -1px;
}

.tdfc-cuenta .woocommerce-MyAccount-content form .form-row.woocommerce-invalid input.input-text,
.tdfc-cuenta .woocommerce-MyAccount-content form .form-row.woocommerce-invalid select {
	border-color: #CC1939;
}

/* Ayuda debajo del campo ("Así se va a mostrar tu nombre..."). */
.tdfc-cuenta .woocommerce-MyAccount-content form .form-row em,
.tdfc-cuenta .woocommerce-MyAccount-content form .form-row .description {
	display: block;
	margin-top: 6px;
	font-size: 12.5px;
	font-style: normal;
	color: #616161;
}

/* Mostrar u ocultar la contraseña: botón de 44 px dentro del campo. */
.tdfc-cuenta .woocommerce-MyAccount-content form .password-input {
	display: block;
	position: relative;
}

.tdfc-cuenta .woocommerce-MyAccount-content form .password-input input.input-text {
	padding-right: 52px;
}

.tdfc-cuenta .woocommerce-MyAccount-content form .show-password-input {
	position: absolute;
	top: 2px;
	right: 2px;
	width: 44px;
	height: 44px;
	padding: 0;
	background: transparent;
	border: 0;
	color: #616161;
}

.tdfc-cuenta .woocommerce-MyAccount-content form .show-password-input:focus-visible {
	outline: 2px solid #CC1939;
	outline-offset: -2px;
}

.tdfc-cuenta .woocommerce-MyAccount-content form fieldset {
	margin: 8px 0 18px;
	padding: 20px 0 0;
	border: 0;
	border-top: 1px solid #e5e5e5;
}

.tdfc-cuenta .woocommerce-MyAccount-content form legend {
	margin: 0 0 16px;
	padding: 0;
	font-family: 'Unbounded', sans-serif;
	font-weight: 700;
	font-size: 13px;
	text-transform: uppercase;
	color: #1a1a1a;
}

/* Botón principal (Guardar cambios / Guardar dirección), como .tdfc-btn. */
.tdfc-cuenta .woocommerce-MyAccount-content form button.button,
.tdfc-cuenta .woocommerce-MyAccount-content form input.button,
.tdfc-cuenta .woocommerce-MyAccount-content form .woocommerce-Button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin: 4px 0 0;
	padding: 0 26px;
	background: #CC1939;
	border: 1px solid #CC1939;
	border-radius: 0;
	box-shadow: none;
	color: #ffffff;
	font-family: 'Unbounded', sans-serif;
	font-weight: 700;
	font-size: 12px;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.tdfc-cuenta .woocommerce-MyAccount-content form button.button:hover,
.tdfc-cuenta .woocommerce-MyAccount-content form input.button:hover,
.tdfc-cuenta .woocommerce-MyAccount-content form .woocommerce-Button:hover {
	background: #a3122c;
	border-color: #a3122c;
	color: #ffffff;
}

.tdfc-cuenta .woocommerce-MyAccount-content form button.button:focus-visible,
.tdfc-cuenta .woocommerce-MyAccount-content form input.button:focus-visible {
	outline: 2px solid #111111;
	outline-offset: 2px;
}

.tdfc-cuenta .woocommerce-MyAccount-content form .clear {
	clear: both;
}

/* ---------- Favoritos (tarjetas de tdf_ml_render_card, sin tocar) ---------- */

.tdfc-seccion--favoritos .tdf-fav-grid {
	margin-top: 0;
}

@media (min-width: 1025px) {
	.tdfc-seccion--favoritos .tdf-fav-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.tdfc-cuenta .tdf-fav-vacio {
	padding: 40px 24px;
	background: #ffffff;
	border: 1px solid #e5e5e5;
}

.tdfc-cuenta .tdf-fav-vacio .dashicons {
	color: #CC1939;
}

.tdfc-cuenta .tdf-fav-vacio__texto {
	font-size: 14px;
	color: #616161;
}

.tdfc-cuenta .tdf-fav-vacio__cta {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 0 22px;
	font-family: 'Unbounded', sans-serif;
	font-size: 12px;
	letter-spacing: 0.04em;
}

.tdfc-cuenta .tdf-fav-vacio__cta:hover {
	background: #a3122c;
}

/* ---------- Mis puntos (plantillas de YITH, solo CSS) ---------- */

/* El título lo pone tdfc_titulo_seccion(). */
.tdfc-seccion--puntos .ywpar-wrapper > h2 {
	display: none;
}

.tdfc-seccion--puntos .ywpar-wrapper {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.tdfc-seccion--puntos .ywpar_myaccount_entry_info {
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
	background: transparent;
	border: 0;
}

.tdfc-seccion--puntos .ywpar_summary_badge,
.tdfc-seccion--puntos .ywpar_rank_badges {
	width: auto;
	min-height: 0;
	margin: 0;
	padding: 22px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 4px;
	background: #ffffff;
	border: 1px solid #e5e5e5;
	border-radius: 0;
	box-shadow: none;
	color: #1a1a1a;
	text-align: left;
}

.tdfc-seccion--puntos .ywpar_entry_info_title {
	margin: 0;
	font-family: 'Unbounded', sans-serif;
	font-weight: 700;
	font-size: 13px;
	text-transform: uppercase;
	color: #1a1a1a;
}

.tdfc-seccion--puntos .ywpar_to_redeem_title {
	font-size: 13px;
	color: #616161;
}

.tdfc-seccion--puntos .points_collected,
.tdfc-seccion--puntos .ywpar_rank_badges .rank {
	margin: 6px 0 2px;
	font-family: 'Unbounded', sans-serif;
	font-weight: 800;
	font-size: 32px;
	line-height: 1;
	color: #1a1a1a;
}

.tdfc-seccion--puntos .points_worth {
	font-size: 14px;
	color: #0d6b45;
	font-weight: 700;
}

.tdfc-seccion--puntos .points_worth .woocommerce-Price-amount {
	color: inherit;
}

.tdfc-seccion--puntos .ywpar_total_collected_title {
	margin-top: 6px;
	font-size: 13px;
	color: #616161;
}

.tdfc-seccion--puntos .ywpar_total_collected_title span {
	margin-left: 4px;
	font-weight: 700;
	color: #1a1a1a;
}

/* Pestañas: como los filtros de Pedidos. */
.tdfc-seccion--puntos #ywpar_tabs {
	margin: 0;
	background: transparent;
	border: 0;
}

.tdfc-seccion--puntos .ywpar_tabs_header {
	margin: 0 0 16px;
	padding: 0;
	background: transparent;
	border: 0;
}

.tdfc-seccion--puntos .ywpar_tabs_header ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	border: 0;
}

.tdfc-seccion--puntos .ywpar_tabs_header li.ywpar_tabs_links {
	margin: 0;
	min-height: 44px;
	padding: 0 16px;
	display: inline-flex;
	align-items: center;
	background: #ffffff;
	border: 1px solid #d6d6d6;
	border-radius: 0;
	color: #1a1a1a;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}

.tdfc-seccion--puntos .ywpar_tabs_header li.ywpar_tabs_links::before,
.tdfc-seccion--puntos .ywpar_tabs_header li.ywpar_tabs_links::after {
	content: none;
}

.tdfc-seccion--puntos .ywpar_tabs_header li.ywpar_tabs_links:hover {
	border-color: #111111;
}

.tdfc-seccion--puntos .ywpar_tabs_header li.ywpar_tabs_links.active {
	background: #111111;
	border-color: #111111;
	color: #ffffff;
}

.tdfc-seccion--puntos .ywpar_tabs_header li.ywpar_tabs_links:focus-visible {
	outline: 2px solid #CC1939;
	outline-offset: 2px;
}

.tdfc-seccion--puntos .ywpar_tabs_content_container,
.tdfc-seccion--puntos .ywpar_tabcontent {
	padding: 0;
	background: transparent;
	border: 0;
}

/* Historial */
.tdfc-seccion--puntos table.ywpar_points_rewards {
	width: 100%;
	margin: 0;
	background: #ffffff;
	border: 1px solid #e5e5e5;
	border-collapse: collapse;
	border-radius: 0;
	font-size: 14px;
}

.tdfc-seccion--puntos table.ywpar_points_rewards th {
	padding: 12px 16px;
	background: #f6f6f4;
	border: 0;
	border-bottom: 1px solid #e5e5e5;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-align: left;
	color: #616161;
}

.tdfc-seccion--puntos table.ywpar_points_rewards td {
	padding: 12px 16px;
	border: 0;
	border-bottom: 1px solid #efefed;
	background: transparent;
	vertical-align: middle;
	color: #1a1a1a;
}

.tdfc-seccion--puntos table.ywpar_points_rewards tr:last-child td {
	border-bottom: 0;
}

.tdfc-seccion--puntos table.ywpar_points_rewards .ywpar_points_rewards-date {
	white-space: nowrap;
	color: #616161;
}

.tdfc-seccion--puntos table.ywpar_points_rewards .ywpar_points_rewards-order a {
	color: #CC1939;
	font-weight: 700;
}

.tdfc-seccion--puntos table.ywpar_points_rewards th.ywpar_points_rewards-points,
.tdfc-seccion--puntos table.ywpar_points_rewards td.ywpar_points_rewards-points {
	white-space: nowrap;
	text-align: right;
}

.tdfc-seccion--puntos td.ywpar_points_rewards-points {
	color: #616161;
	font-size: 13px;
}

/* Movimiento (+25 / -10) como etiqueta; el saldo queda al lado, en gris. */
.tdfc-seccion--puntos .ywpar_plus,
.tdfc-seccion--puntos .ywpar_minus {
	display: inline-block;
	margin-right: 8px;
	padding: 2px 8px;
	font-size: 12.5px;
	font-weight: 700;
	line-height: 1.4;
}

.tdfc-seccion--puntos .ywpar_plus {
	color: #0d6b45;
	background: #e7f5ee;
}

.tdfc-seccion--puntos .ywpar_minus {
	color: #616161;
	background: #efefed;
}

/* Gestionar puntos (convertir en cupón) */
.tdfc-seccion--puntos #share_points {
	padding: 24px;
	background: #ffffff;
	border: 1px solid #e5e5e5;
}

.tdfc-seccion--puntos #share_points h3 {
	margin: 0 0 8px;
	font-family: 'Unbounded', sans-serif;
	font-weight: 700;
	font-size: 15px;
	line-height: 1.3;
	text-transform: uppercase;
	color: #1a1a1a;
}

.tdfc-seccion--puntos #share_points > p {
	margin: 0 0 18px;
	font-size: 14px;
	color: #616161;
}

.tdfc-seccion--puntos #ywpar-share-points {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 12px;
	font-size: 14.5px;
}

.tdfc-seccion--puntos #ywpar-share-points input[type="number"] {
	box-sizing: border-box;
	width: 140px;
	min-height: 48px;
	margin: 0;
	padding: 10px 14px;
	background: #ffffff;
	border: 1px solid #c9c9c9;
	border-radius: 0;
	box-shadow: none;
	font-family: 'Unbounded', sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: #1a1a1a;
}

.tdfc-seccion--puntos #ywpar-share-points input[type="number"]:focus {
	border-color: #CC1939;
	outline: 2px solid #CC1939;
	outline-offset: -1px;
}

.tdfc-seccion--puntos #ywpar-share-points .worth-price {
	font-weight: 700;
	color: #0d6b45;
}

.tdfc-seccion--puntos #ywpar-share-points input[type="submit"] {
	min-height: 48px;
	margin: 0;
	padding: 0 26px;
	background: #CC1939;
	border: 1px solid #CC1939;
	border-radius: 0;
	box-shadow: none;
	color: #ffffff;
	font-family: 'Unbounded', sans-serif;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
}

.tdfc-seccion--puntos #ywpar-share-points input[type="submit"]:hover {
	background: #a3122c;
	border-color: #a3122c;
}

.tdfc-seccion--puntos #ywpar-share-points input[type="submit"]:focus-visible {
	outline: 2px solid #111111;
	outline-offset: 2px;
}

.tdfc-seccion--puntos .ywpar-share-points-error {
	margin: 12px 0 0;
	font-size: 13.5px;
	color: #a3122c;
}

/* ---------- Celular ---------- */

@media (max-width: 599px) {

	.tdfc-pila {
		gap: 14px;
	}

	.tdfc-h1 {
		font-size: 22px;
	}

	.tdfc-solo-movil {
		display: block;
	}

	/* Escritorio: tramos sin texto y una línea de resumen. */
	.tdfc-pasos-wrap--escritorio .tdfc-pasos {
		gap: 4px;
	}

	.tdfc-pasos-wrap--escritorio .tdfc-pasos li {
		gap: 0;
	}

	.tdfc-pasos-wrap--escritorio .tdfc-pasos__nombre,
	.tdfc-pasos-wrap--escritorio .tdfc-pasos__sub {
		display: none;
	}

	.tdfc-pasos-wrap--escritorio .tdfc-pasos__resumen {
		display: block;
	}

	/* Ver pedido: tramos en 2 × 2, con texto (ahí va el seguimiento). */
	.tdfc-pasos-wrap--pedido .tdfc-pasos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px 8px;
	}

	.tdfc-curso__cab {
		padding: 18px 16px 0;
	}

	.tdfc-h2-num {
		font-size: 19px;
	}

	.tdfc-curso__pasos {
		padding: 14px 16px;
	}

	.tdfc-curso__prods {
		padding: 0 16px 16px;
		gap: 10px;
	}

	.tdfc-oc {
		padding: 20px 16px;
		gap: 16px;
	}

	.tdfc-oc__titulo {
		font-size: 18px;
		line-height: 1.25;
	}

	.tdfc-oc__accion .tdfc-btn {
		flex: 1 1 100%;
	}

	.tdfc-oc__sug {
		display: flex;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		margin-right: -16px;
		padding-right: 16px;
	}

	.tdfc-oc__sug::-webkit-scrollbar {
		display: none;
	}

	.tdfc-sug {
		flex: none;
		width: 136px;
	}

	.tdfc-beneficios {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.tdfc-benef--club {
		grid-column: 1 / -1;
	}

	.tdfc-benef {
		padding: 16px;
		gap: 6px;
	}

	.tdfc-benef__titulo {
		font-size: 11.5px;
	}

	.tdfc-benef__cifra--grande {
		font-size: 26px;
		line-height: 1.1;
	}

	.tdfc-benef__fotos,
	.tdfc-benef__link {
		display: none;
	}

	.tdfc-benef--club .tdfc-benef__link {
		display: block;
	}

	.tdfc-lista__cab {
		padding: 6px 16px;
		min-height: 56px;
	}

	.tdfc-h2 {
		font-size: 13px;
	}

	.tdfc-fila {
		padding: 14px 16px;
		gap: 4px 16px;
	}

	.tdfc-fila__info {
		flex-basis: 100%;
	}

	.tdfc-dato {
		padding: 18px 16px;
	}

	/* Pedidos */
	.tdfc-pedido__fila {
		padding: 16px;
		gap: 12px 16px;
	}

	.tdfc-pedido__total {
		min-width: 0;
	}

	.tdfc-pedido__acciones {
		flex-basis: 100%;
	}

	.tdfc-hijo {
		margin: 0 16px;
	}

	.tdfc-oc-franja {
		padding: 12px 16px;
	}

	.tdfc-oc-franja .tdfc-btn {
		flex: 1 1 100%;
	}

	.tdfc-paginas {
		justify-content: center;
	}

	/* Ver pedido */
	.tdfc-cab-pedido {
		padding: 20px 16px;
	}

	.tdfc-cab-pedido .tdfc-h1 {
		font-size: 22px;
	}

	.tdfc-cab-pedido__total {
		flex-basis: 100%;
		margin-left: 0;
		align-items: flex-start;
		text-align: left;
	}

	.tdfc-cab-pedido__total .tdfc-btn,
	.tdfc-cab-pedido__total .tdfc-btn-borde {
		align-self: stretch;
	}

	.tdfc-card__titulo {
		padding: 16px;
	}

	.tdfc-item {
		padding: 16px;
		align-items: flex-start;
		gap: 12px;
	}

	.tdfc-item .tdfc-foto {
		width: 56px;
		height: 56px;
	}

	.tdfc-resumen {
		padding: 16px;
	}

	.tdfc-resumen__pie {
		padding: 0 16px 16px;
	}

	.tdfc-puntos {
		margin: 0 16px 16px;
	}

	.tdfc-extra {
		padding: 16px;
	}

	.tdfc-extra .andreani-details-row {
		grid-template-columns: minmax(0, 1fr);
	}

	.tdfc-extra .andreani-details-row dd {
		text-align: left;
	}

	.tdfc-extra .andreani-live-tracking {
		justify-content: flex-start;
	}

	.tdfc-extra .andreani-live-tracking a {
		flex: 1 1 100%;
	}

	.tdfc-novedades {
		padding: 4px 16px 12px;
	}

	.tdfc-cuenta .tdf-recos--cuenta {
		padding: 20px 16px;
	}

	.tdfc-cuenta .tdf-recos--cuenta .tdf-recos__titulo {
		font-size: 18px;
	}

	.tdf-oc-cab__reloj {
		flex: 1 1 100%;
		min-width: 0;
		flex-direction: row;
		align-items: baseline;
		justify-content: space-between;
	}

	.tdf-oc-cab__reloj strong {
		font-size: 20px;
	}

	/* Fase 6 */
	.tdfc-seccion-cab {
		margin-bottom: 16px;
	}

	.tdfc-envio {
		margin: 0 16px 16px;
		padding: 14px;
	}

	.tdfc-envio .tdfc-btn {
		flex: 1 1 100%;
	}

	.tdfc-envio__num {
		font-size: 17px;
	}

	.tdfc-club {
		padding: 20px 16px;
		gap: 14px;
	}

	.tdfc-club__ico {
		width: 44px;
		height: 44px;
	}

	.tdfc-club__titulo {
		font-size: 17px;
	}

	.tdfc-club__txt .tdfc-btn {
		align-self: stretch;
	}

	.tdfc-club__grid {
		padding: 16px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.tdfc-club__prod {
		padding: 12px;
	}

	.tdfc-club__pasos {
		padding: 16px 16px 4px;
	}

	.tdfc-club__mas {
		padding: 4px 16px 8px;
	}

	.tdfc-cuenta .woocommerce-MyAccount-content form.woocommerce-EditAccountForm,
	.tdfc-cuenta .woocommerce-MyAccount-content .woocommerce-address-fields {
		padding: 18px 16px;
	}

	.tdfc-seccion--edit-address .woocommerce-MyAccount-content form > h2,
	.tdfc-seccion--edit-address .woocommerce-MyAccount-content form > h3 {
		padding: 16px;
	}

	.tdfc-cuenta .woocommerce-MyAccount-content form button.button,
	.tdfc-cuenta .woocommerce-MyAccount-content form .woocommerce-Button {
		width: 100%;
	}

	.tdfc-seccion--puntos .ywpar_myaccount_entry_info {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.tdfc-seccion--puntos .ywpar_summary_badge,
	.tdfc-seccion--puntos .ywpar_rank_badges {
		padding: 16px;
	}

	.tdfc-seccion--puntos .points_collected,
	.tdfc-seccion--puntos .ywpar_rank_badges .rank {
		font-size: 26px;
	}

	/* Historial: WooCommerce ya pasa la tabla a filas apiladas
	   (shop_table_responsive); cada movimiento queda como una tarjetita. */
	.tdfc-seccion--puntos table.ywpar_points_rewards tr {
		display: block;
		padding: 8px 0;
		border-bottom: 1px solid #e5e5e5;
	}

	.tdfc-seccion--puntos table.ywpar_points_rewards tr:last-child {
		border-bottom: 0;
	}

	.tdfc-seccion--puntos table.ywpar_points_rewards td {
		padding: 4px 16px;
		border-bottom: 0;
	}

	.tdfc-seccion--puntos table.ywpar_points_rewards td::before {
		font-weight: 600;
		color: #616161;
	}

	.tdfc-seccion--puntos #share_points {
		padding: 18px 16px;
	}

	.tdfc-seccion--puntos #ywpar-share-points input[type="number"],
	.tdfc-seccion--puntos #ywpar-share-points input[type="submit"] {
		flex: 1 1 100%;
		width: 100%;
	}
}

/* =========================================================================
 * Fase 5b: Pagar pedido y verificación de email
 * ========================================================================= */

/* ---------- Pagar pedido (woocommerce/checkout/form-pay.php) ----------
   Solo aspecto: la lista de medios, lo que cada uno dibuja en su recuadro
   (Mercado Pago, GoCuotas, Getnet) y el botón #place_order (color de
   tdf-checkout-ui.css) no se ocultan ni se mueven. */

body.tdfc-pagar,
body.tdfc-pagar .site-content,
.ast-separate-container.tdfc-pagar .ast-article-single,
.ast-separate-container.tdfc-pagar .ast-article-post {
	background: #f5f5f3;
}

/* El encabezado del pedido ya es el título ("Pedido #N"). Si la pantalla
   muestra otra cosa (verificar email, un aviso), queda el de Astra. */
.tdfc-pagar:has(form#order_review) .entry-header,
.tdfc-pagar:has(form#order_review) .ast-single-entry-banner {
	display: none;
}

.tdfc-pagar form#order_review {
	font-family: 'Open Sans', Helvetica, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	color: #1a1a1a;
}

.tdfc-pagar form#order_review a:focus-visible {
	outline: 2px solid #CC1939;
	outline-offset: 2px;
}

.tdfc-pagar .tdfc-item__cant .product-quantity {
	font-weight: 400;
}

.tdfc-pagar #order_review #payment {
	margin: 0;
	padding: 20px 24px 24px;
	background: transparent;
	border: 0;
	border-radius: 0;
}

.tdfc-pagar #payment ul.wc_payment_methods {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	border: 0;
}

.tdfc-pagar #payment ul.wc_payment_methods > li {
	position: relative;
	margin: 0;
	padding: 0;
	background: #ffffff;
	border: 1px solid #e5e5e5;
	border-radius: 0;
	line-height: 1.4;
}

.tdfc-pagar #payment ul.wc_payment_methods > li:has(> input.input-radio:checked) {
	border-color: #CC1939;
}

.tdfc-pagar #payment ul.wc_payment_methods > li > input.input-radio {
	position: absolute;
	top: 16px;
	left: 16px;
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: #CC1939;
}

.tdfc-pagar #payment ul.wc_payment_methods > li > input.input-radio:focus-visible {
	outline: 2px solid #CC1939;
	outline-offset: 2px;
}

.tdfc-pagar #payment ul.wc_payment_methods > li > label {
	display: block;
	min-height: 50px;
	margin: 0;
	padding: 14px 16px 14px 48px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	color: #1a1a1a;
	cursor: pointer;
}

/* Un solo medio (compra en un click: solo Mercado Pago): WooCommerce
   oculta el radio; la etiqueta no deja el lugar vacío. */
.tdfc-pagar #payment ul.wc_payment_methods > li:only-child > label {
	padding-left: 16px;
	cursor: default;
}

.tdfc-pagar #payment ul.wc_payment_methods > li:only-child > input.input-radio {
	display: none;
}

.tdfc-pagar #payment ul.wc_payment_methods > li > label img {
	display: inline-block;
	max-height: 24px;
	width: auto;
	margin: 0 0 0 8px;
	vertical-align: middle;
	float: none;
}

.tdfc-pagar #payment .payment_box {
	margin: 0;
	padding: 14px 16px 16px;
	background: #f6f6f4;
	border-top: 1px solid #efefed;
	border-radius: 0;
	box-shadow: none;
	font-size: 14px;
	color: #3d3d3d;
}

.tdfc-pagar #payment .payment_box::before {
	display: none;
}

.tdfc-pagar #payment .payment_box p:last-child {
	margin-bottom: 0;
}

.tdfc-pagar #payment > .form-row {
	margin: 20px 0 0;
	padding: 0;
	float: none;
	width: auto;
}

.tdfc-pagar #payment .woocommerce-terms-and-conditions-wrapper {
	margin-bottom: 16px;
	font-size: 13.5px;
	color: #616161;
}

.tdfc-pagar #payment #place_order {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 12px 20px;
	border-radius: 0;
	box-shadow: none;
	font-size: 15px;
	line-height: 1.3;
	float: none;
}

.tdfc-pagar #payment #place_order:focus-visible {
	outline: 2px solid #111111;
	outline-offset: 2px;
}

/* ---------- Verificación de email del invitado ----------
   Plantilla de WooCommerce sin override (checkout/form-verify-email.php):
   el nonce y el campo "email" quedan como están. Sale en pedido recibido
   y en pagar pedido. */

form.woocommerce-verify-email {
	max-width: 520px;
	margin: 8px auto 40px;
	padding: 24px;
	background: #ffffff;
	border: 1px solid #e5e5e5;
	border-radius: 0;
	font-family: 'Open Sans', Helvetica, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	color: #1a1a1a;
}

form.woocommerce-verify-email > p {
	margin: 0 0 18px;
}

form.woocommerce-verify-email a {
	color: #CC1939;
	font-weight: 600;
}

form.woocommerce-verify-email a:hover {
	color: #a3122c;
}

form.woocommerce-verify-email a:focus-visible {
	outline: 2px solid #CC1939;
	outline-offset: 2px;
}

form.woocommerce-verify-email .form-row {
	margin: 0 0 18px;
	padding: 0;
	float: none;
	width: auto;
}

form.woocommerce-verify-email .form-row:last-child {
	margin-bottom: 0;
}

/* !important: Astra puede convertirla en etiqueta flotante. */
form.woocommerce-verify-email .form-row label {
	position: static !important;
	display: block;
	margin: 0 0 6px;
	transform: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.4;
	color: #1a1a1a;
}

form.woocommerce-verify-email .form-row .required {
	color: #CC1939;
	text-decoration: none;
	border: 0;
}

form.woocommerce-verify-email input.input-text {
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 10px 14px;
	background: #ffffff;
	border: 1px solid #c9c9c9;
	border-radius: 0;
	box-shadow: none;
	font-family: 'Open Sans', Helvetica, sans-serif;
	font-size: 15px;
	line-height: 1.4;
	color: #1a1a1a;
}

form.woocommerce-verify-email input.input-text:focus {
	border-color: #CC1939;
	outline: 2px solid #CC1939;
	outline-offset: -1px;
}

form.woocommerce-verify-email button.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin: 4px 0 0;
	padding: 0 26px;
	background: #CC1939;
	border: 1px solid #CC1939;
	border-radius: 0;
	box-shadow: none;
	color: #ffffff;
	font-family: 'Unbounded', sans-serif;
	font-weight: 700;
	font-size: 12px;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

form.woocommerce-verify-email button.button:hover {
	background: #a3122c;
	border-color: #a3122c;
	color: #ffffff;
}

form.woocommerce-verify-email button.button:focus-visible {
	outline: 2px solid #111111;
	outline-offset: 2px;
}

@media (max-width: 599px) {
	.tdfc-pagar #order_review #payment {
		padding: 16px;
	}

	form.woocommerce-verify-email {
		padding: 18px 16px;
	}

	form.woocommerce-verify-email button.button {
		width: 100%;
	}
}

/* =========================================================================
 * Fase 6b: pantallas sin sesión (body.tdfc-acceso)
 * Ingresar / Crear cuenta y las tres de contraseña. Plantillas propias en
 * woocommerce/myaccount/ con los campos y ganchos de WooCommerce intactos.
 * ========================================================================= */

body.tdfc-acceso,
body.tdfc-acceso .site-content,
.ast-separate-container.tdfc-acceso .ast-article-single,
.ast-separate-container.tdfc-acceso .ast-article-post {
	background: #f5f5f3;
}

/* Cada pantalla trae su título. */
.tdfc-acceso .entry-header,
.tdfc-acceso .ast-single-entry-banner {
	display: none;
}

.tdfc-acceso-wrap {
	max-width: 960px;
	margin: 0 auto 48px;
	font-family: 'Open Sans', Helvetica, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	color: #1a1a1a;
}

.tdfc-acceso-wrap--solo,
.tdfc-acceso-wrap--angosto {
	max-width: 520px;
}

.tdfc-acceso-wrap a:focus-visible {
	outline: 2px solid #CC1939;
	outline-offset: 2px;
}

.tdfc-acceso__cab {
	margin: 0 0 24px;
}

/* ---------- Google arriba y separador "o" ---------- */

.tdfc-acceso__google {
	padding: 20px 24px;
	background: #ffffff;
	border: 1px solid #e5e5e5;
	display: flex;
	justify-content: center;
}

/* Nextend trae su alineado y márgenes propios (como en el modal de favoritos). */
.tdfc-acceso__google .nsl-container,
.tdfc-acceso__google .nsl-container-buttons {
	display: flex !important;
	justify-content: center !important;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

.tdfc-acceso__google .nsl-container-buttons > a {
	flex: 0 1 360px;
	margin: 0 !important;
	float: none !important;
}

.tdfc-acceso__google .nsl-button {
	min-height: 48px;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.tdfc-acceso__o {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 20px 0;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	color: #616161;
}

.tdfc-acceso__o::before,
.tdfc-acceso__o::after {
	content: "";
	flex: 1 1 auto;
	height: 1px;
	background: #d6d6d6;
}

/* Un solo botón de Google: el que Nextend inserta dentro de los formularios
   (con sus separadores "O") se oculta. Nextend lo muestra por JS con un
   style en línea, de ahí el !important. */
.tdfc-acceso-wrap--google form [id^="nsl-custom-login-form-"],
.tdfc-acceso-wrap--google form .nsl-container,
.tdfc-acceso-wrap--google form .nsl-separator {
	display: none !important;
}

/* ---------- Columnas ---------- */

.tdfc-acceso .tdfc-acceso__cols {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	align-items: start;
	margin: 0;
}

.tdfc-acceso .tdfc-acceso__cols::before,
.tdfc-acceso .tdfc-acceso__cols::after {
	content: none;
}

.tdfc-acceso .tdfc-acceso__cols > .tdfc-acceso__col {
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
}

.tdfc-acceso__col {
	padding: 24px;
	background: #ffffff;
	border: 1px solid #e5e5e5;
}

.tdfc-acceso__col > .tdfc-h2 {
	margin: 0 0 18px;
}

.tdfc-acceso__col > .tdfc-acceso__sub {
	margin: -12px 0 18px;
	font-size: 14px;
}

/* WooCommerce le pone borde, padding y redondeo a form.login y form.register. */
.tdfc-acceso .tdfc-acceso__col form.login,
.tdfc-acceso .tdfc-acceso__col form.register,
.tdfc-acceso form.lost_reset_password {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
}

.tdfc-acceso form.lost_reset_password.tdfc-acceso__col {
	padding: 24px;
	border: 1px solid #e5e5e5;
}

.tdfc-acceso form.lost_reset_password .tdfc-h1,
.tdfc-acceso__enviado .tdfc-h1 {
	font-size: 24px;
}

.tdfc-acceso form.lost_reset_password > .tdfc-bajada,
.tdfc-acceso__enviado .tdfc-bajada {
	margin: 0 0 20px;
}

/* ---------- Campos ---------- */

.tdfc-acceso form .form-row {
	float: none;
	width: auto;
	margin: 0 0 18px;
	padding: 0;
}

.tdfc-acceso form .form-row label {
	display: block;
	margin: 0 0 6px;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.4;
	color: #1a1a1a;
}

.tdfc-acceso form .form-row .required {
	color: #CC1939;
	text-decoration: none;
	border: 0;
}

.tdfc-acceso form .form-row input.input-text {
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 10px 14px;
	background: #ffffff;
	border: 1px solid #c9c9c9;
	border-radius: 0;
	box-shadow: none;
	font-family: 'Open Sans', Helvetica, sans-serif;
	font-size: 15px;
	line-height: 1.4;
	color: #1a1a1a;
}

.tdfc-acceso form .form-row input.input-text:focus {
	border-color: #CC1939;
	outline: 2px solid #CC1939;
	outline-offset: -1px;
}

.tdfc-acceso form .form-row.woocommerce-invalid input.input-text {
	border-color: #CC1939;
}

/* Mostrar u ocultar la contraseña (lo agrega el JS de WooCommerce). */
.tdfc-acceso form .password-input {
	display: block;
	position: relative;
}

.tdfc-acceso form .password-input input.input-text {
	padding-right: 52px;
}

.tdfc-acceso form .show-password-input {
	position: absolute;
	top: 2px;
	right: 2px;
	width: 44px;
	height: 44px;
	padding: 0;
	background: transparent;
	border: 0;
	color: #616161;
}

.tdfc-acceso form .show-password-input:focus-visible {
	outline: 2px solid #CC1939;
	outline-offset: -2px;
}

/* Recordarme: el renglón entero se toca. */
.tdfc-acceso form .woocommerce-form-login__rememberme {
	display: flex !important;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	margin: -6px 0 10px !important;
	font-size: 14.5px !important;
	font-weight: 400 !important;
	cursor: pointer;
}

.tdfc-acceso form .woocommerce-form-login__rememberme input {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: #CC1939;
}

.tdfc-acceso form .clear {
	clear: both;
}

/* Medidor de seguridad de la contraseña (WooCommerce). */
.tdfc-acceso .woocommerce-password-strength {
	margin-top: 8px;
	padding: 6px 10px;
	border: 0;
	border-radius: 0;
	font-size: 13px;
	font-weight: 700;
	text-align: left;
}

.tdfc-acceso .woocommerce-password-strength.short,
.tdfc-acceso .woocommerce-password-strength.bad {
	color: #a3122c;
	background: #fdf0f2;
}

.tdfc-acceso .woocommerce-password-strength.good {
	color: #7a4b00;
	background: #fff3d6;
}

.tdfc-acceso .woocommerce-password-strength.strong {
	color: #0d6b45;
	background: #e7f5ee;
}

.tdfc-acceso .woocommerce-password-hint {
	display: block;
	margin-top: 6px;
	font-size: 12.5px;
	color: #616161;
}

/* Texto de privacidad que agrega WooCommerce al registro. */
.tdfc-acceso .woocommerce-privacy-policy-text {
	margin: 0 0 18px;
	font-size: 12.5px;
	color: #616161;
}

.tdfc-acceso .woocommerce-privacy-policy-text p {
	margin: 0;
}

.tdfc-acceso .woocommerce-privacy-policy-text a {
	color: #1a1a1a;
	text-decoration: underline;
}

.tdfc-acceso__nota {
	margin: 0 0 18px;
	font-size: 13.5px;
	color: #616161;
}

form.lost_reset_password > .tdfc-acceso__nota {
	margin: 4px 0 0;
	padding-top: 16px;
	border-top: 1px solid #efefed;
}

/* ---------- Botones ---------- */

.tdfc-acceso form button.button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 0 26px;
	background: #CC1939;
	border: 1px solid #CC1939;
	border-radius: 0;
	box-shadow: none;
	color: #ffffff;
	font-family: 'Unbounded', sans-serif;
	font-weight: 700;
	font-size: 12px;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	float: none;
}

.tdfc-acceso form button.button:hover {
	background: #a3122c;
	border-color: #a3122c;
	color: #ffffff;
}

/* Crear cuenta: con borde negro, para no competir con Ingresar. */
.tdfc-acceso form.register button.button {
	background: #ffffff;
	border-color: #1a1a1a;
	color: #1a1a1a;
}

.tdfc-acceso form.register button.button:hover {
	background: #1a1a1a;
	border-color: #1a1a1a;
	color: #ffffff;
}

.tdfc-acceso form button.button:focus-visible {
	outline: 2px solid #111111;
	outline-offset: 2px;
}

/* El medidor de WooCommerce deshabilita el botón hasta que la clave sirve. */
.tdfc-acceso form button.button:disabled,
.tdfc-acceso form button.button.disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.tdfc-acceso .woocommerce-LostPassword {
	margin: 8px 0 0;
}

/* ---------- Beneficios de crear cuenta ---------- */

.tdfc-acceso__beneficios {
	list-style: none;
	margin: 20px 0 0;
	padding: 16px 0 0;
	border-top: 1px solid #efefed;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.tdfc-acceso__beneficios li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: 14px;
}

.tdfc-acceso__beneficios .tdfc-svg {
	color: #0d6b45;
}

/* ---------- Contraseña: volver, mail enviado ---------- */

.tdfc-acceso__volver {
	gap: 6px;
	margin: 0 0 8px;
}

.tdfc-acceso__ico {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin: 0 0 16px;
	background: #111111;
	color: #ffffff;
}

.tdfc-acceso__acciones {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 20px;
}

/* ---------- Celular ---------- */

@media (max-width: 767px) {
	.tdfc-acceso .tdfc-acceso__cols {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}
}

@media (max-width: 599px) {
	.tdfc-acceso-wrap {
		margin-bottom: 32px;
	}

	.tdfc-acceso__cab {
		margin-bottom: 18px;
	}

	.tdfc-acceso__google,
	.tdfc-acceso__col,
	.tdfc-acceso form.lost_reset_password.tdfc-acceso__col {
		padding: 18px 16px;
	}

	.tdfc-acceso__o {
		margin: 16px 0;
	}

	.tdfc-acceso form.lost_reset_password .tdfc-h1,
	.tdfc-acceso__enviado .tdfc-h1 {
		font-size: 21px;
	}

	.tdfc-acceso__acciones .tdfc-btn {
		flex: 1 1 100%;
	}
}
