:root {
	--qlq-product-red: #ed1c24;
	--qlq-product-text: #2d2d2d;
	--qlq-product-line: #e4e4e4;
}

.single-product div.product .summary.entry-summary .qlq-product-benefits {
	width: 100%;
	margin: 15px 0 18px;
	padding: 0;
	box-sizing: border-box;
	color: var(--qlq-product-text);
}

.single-product div.product .summary.entry-summary .qlq-product-benefits *,
.single-product div.product .summary.entry-summary .qlq-product-benefits *::before,
.single-product div.product .summary.entry-summary .qlq-product-benefits *::after {
	box-sizing: border-box;
}

.single-product div.product .summary.entry-summary .qlq-product-benefits__installment {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	width: fit-content;
	max-width: 100%;
	min-height: 41px;
	padding: 6px 10px;
	color: var(--qlq-product-red);
	background: #fff;
	border: 1px solid var(--qlq-product-red);
	font-size: clamp(16px, 1.32vw, 19px);
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: .01em;
	text-align: left;
	text-transform: uppercase;
	white-space: nowrap;
}

.single-product div.product .summary.entry-summary .qlq-product-benefits__installment[hidden] {
	display: none !important;
}

.single-product div.product .summary.entry-summary .qlq-product-benefits__installment-copy strong {
	font-weight: 900;
}

.single-product div.product .summary.entry-summary .qlq-product-benefits__payment-methods {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 8px;
	min-height: 52px;
	padding: 10px 0;
}

.single-product div.product .summary.entry-summary .qlq-product-benefits__logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	height: 34px;
	padding: 3px 7px;
	background: #fff;
	border: 1px solid #d9d9d9;
	border-radius: 3px;
}

.single-product div.product .summary.entry-summary .qlq-product-benefits__logo img {
	display: block;
	width: auto;
	max-width: 112px;
	height: 25px;
	margin: 0;
	padding: 0;
	object-fit: contain;
}

.single-product div.product .summary.entry-summary .qlq-product-benefits__shipping {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	min-height: 68px;
	padding: 13px 0;
	border-top: 1px solid var(--qlq-product-line);
	border-bottom: 1px solid var(--qlq-product-line);
}

.single-product div.product .summary.entry-summary .qlq-product-benefits__truck {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 45px;
	width: 45px;
	height: 36px;
	color: var(--qlq-product-red);
}

.single-product div.product .summary.entry-summary .qlq-product-benefits__truck svg {
	display: block;
	width: 45px;
	height: 36px;
	fill: none;
	stroke: currentColor;
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.single-product div.product .summary.entry-summary .qlq-product-benefits__shipping p {
	margin: 0 !important;
	color: #4a4a4a;
	font-size: clamp(15px, 1.35vw, 19px);
	font-weight: 400;
	line-height: 1.35;
}

.single-product div.product .summary.entry-summary .qlq-product-benefits__shipping strong:first-child {
	color: var(--qlq-product-red);
	font-weight: 900;
}

.single-product div.product .summary.entry-summary .qlq-product-benefits__shipping strong:last-child {
	color: #303030;
	font-weight: 800;
}

.single-product div.product .summary.entry-summary .qlq-product-benefits__shipping--remaining p strong {
	color: var(--qlq-product-red);
	font-weight: 900;
}

.single-product div.product .summary.entry-summary .qlq-product-benefits__shipping--reached {
	background: #fff8f8;
}

.single-product div.product .summary.entry-summary .qlq-product-benefits__shipping--reached p strong {
	color: var(--qlq-product-red);
	font-size: 1.08em;
	font-weight: 900;
}

/* La cuota original queda sólo como fuente del importe y nunca se muestra. */
.single-product div.product .summary.entry-summary > .promos-contenedor-unilineal,
.single-product div.product .summary.entry-summary > .price .promos-contenedor-unilineal,
.single-product div.product .summary.entry-summary .summary-content > .promos-contenedor-unilineal,
.single-product div.product .summary.entry-summary .summary-content > .price .promos-contenedor-unilineal,
.single-product div.product .summary.entry-summary .woocommerce-variation-price .promos-contenedor-unilineal,
.single-product .owp-floating-bar .promos-contenedor-unilineal {
	display: none !important;
}

/* Oculta SKU, categorías y etiquetas únicamente en la ficha individual. */
.single-product div.product .summary.entry-summary .product_meta {
	display: none !important;
}

/* Variantes directamente debajo del bloque comercial. */
.single-product div.product .summary.entry-summary form.variations_form,
.single-product div.product .summary.entry-summary form.cart {
	margin-top: 0;
}

.single-product div.product .summary.entry-summary table.variations {
	margin-top: 0 !important;
}

@media (max-width: 767px) {
	.single-product div.product .summary.entry-summary .qlq-product-benefits {
		margin-top: 12px;
		margin-bottom: 15px;
	}

	.single-product div.product .summary.entry-summary .qlq-product-benefits__installment {
		min-height: 36px;
		padding: 5px 8px;
		font-size: 14px;
		line-height: 1.15;
	}

	.single-product div.product .summary.entry-summary .qlq-product-benefits__payment-methods {
		flex-wrap: nowrap;
		gap: 5px;
		min-height: 49px;
		padding: 8px 0;
		overflow: hidden;
	}

	.single-product div.product .summary.entry-summary .qlq-product-benefits__logo {
		height: 31px;
		padding: 3px 5px;
	}

	.single-product div.product .summary.entry-summary .qlq-product-benefits__logo img {
		height: 22px;
	}

	.single-product div.product .summary.entry-summary .qlq-product-benefits__shipping {
		width: 100%;
		max-width: 100%;
		flex-wrap: nowrap;
		gap: 5px;
		min-height: 48px;
		padding: 8px 0;
		overflow: hidden;
	}

	.single-product div.product .summary.entry-summary .qlq-product-benefits__truck {
		flex-basis: 31px;
		width: 31px;
		height: 27px;
	}

	.single-product div.product .summary.entry-summary .qlq-product-benefits__truck svg {
		width: 31px;
		height: 27px;
	}

	.single-product div.product .summary.entry-summary .qlq-product-benefits__shipping p {
		flex: 1 1 auto;
		min-width: 0;
		max-width: calc(100% - 36px);
		font-size: clamp(9px, 2.8vw, 12px);
		line-height: 1.1;
		letter-spacing: -.2px;
		white-space: nowrap;
	}

	.single-product div.product .summary.entry-summary .qlq-product-benefits__logo img {
		max-width: 82px;
	}

	/* Variaciones móviles: título arriba y botones ordenados debajo. */
	.single-product div.product .summary.entry-summary form.variations_form table.variations,
	.single-product div.product .summary.entry-summary form.variations_form table.variations tbody {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
	}

	.single-product div.product .summary.entry-summary form.variations_form table.variations tr {
		display: block !important;
		width: 100% !important;
		margin: 0 0 15px !important;
		padding: 0 !important;
		border: 0 !important;
	}

	.single-product div.product .summary.entry-summary form.variations_form table.variations th.label,
	.single-product div.product .summary.entry-summary form.variations_form table.variations td.value {
		display: block !important;
		float: none !important;
		position: static !important;
		clear: both !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		margin: 0 !important;
		box-sizing: border-box !important;
		text-align: left !important;
	}

	.single-product div.product .summary.entry-summary form.variations_form table.variations th.label {
		padding: 0 0 9px !important;
	}

	.single-product div.product .summary.entry-summary form.variations_form table.variations th.label label {
		display: block !important;
		position: static !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		color: #222 !important;
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		font-size: 14px !important;
		font-weight: 900 !important;
		line-height: 1.25 !important;
		letter-spacing: .03em;
		text-align: left !important;
	}

	.single-product div.product .summary.entry-summary form.variations_form table.variations td.value {
		padding: 0 !important;
	}

	.single-product div.product .summary.entry-summary form.variations_form table.variations td.value > select {
		width: 100% !important;
		max-width: 100% !important;
	}

	.single-product div.product .summary.entry-summary form.variations_form .button-variable-items-wrapper {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.single-product div.product .summary.entry-summary form.variations_form .button-variable-items-wrapper .button-variable-item {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 43px !important;
		margin: 0 !important;
		padding: 6px 8px !important;
		box-sizing: border-box !important;
	}

	.single-product div.product .summary.entry-summary form.variations_form .button-variable-items-wrapper .variable-item-contents,
	.single-product div.product .summary.entry-summary form.variations_form .button-variable-items-wrapper .variable-item-span-button {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		font-size: 14px !important;
		line-height: 1.2 !important;
		text-align: center !important;
		white-space: normal !important;
		overflow-wrap: anywhere;
	}

	.single-product div.product .summary.entry-summary form.variations_form .reset_variations {
		display: inline-block !important;
		float: none !important;
		margin: 9px 0 0 !important;
	}

	.single-product div.product .summary.entry-summary form.variations_form .single_variation_wrap {
		clear: both !important;
		width: 100% !important;
		margin-top: 5px !important;
	}
}

@media (max-width: 374px) {
	.single-product div.product .summary.entry-summary .qlq-product-benefits__installment {
		font-size: 13px;
	}

	.single-product div.product .summary.entry-summary .qlq-product-benefits__payment-methods {
		gap: 3px;
	}

	.single-product div.product .summary.entry-summary .qlq-product-benefits__logo {
		padding-right: 3px;
		padding-left: 3px;
	}

	.single-product div.product .summary.entry-summary .qlq-product-benefits__logo img {
		height: 20px;
	}

	.single-product div.product .summary.entry-summary .qlq-product-benefits__shipping p {
		font-size: 9px;
	}
}
