

:root {

	--ctsys-azul: var(--ct-cyan);
	--ctsys-azul-osc: var(--ct-cyan-osc);
	--ctsys-azul-tinte: var(--ct-cyan-tinte);
	--ctsys-tinta: var(--ct-tinta);
	--ctsys-suave: var(--ct-tinta-suave);
	--ctsys-borde: var(--ct-borde);
	--ctsys-superficie: var(--ct-superficie-suave);
	--ctsys-ease: var(--ct-ease);
}



.ctsys-boton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 26px;
	border-radius: var(--ct-radio-pill);
	border: 2px solid transparent;
	font-size: 0.95rem;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: transform 160ms var(--ctsys-ease), background-color 160ms var(--ctsys-ease);
}

.ctsys-boton:active {
	transform: scale(0.98);
}

.ctsys-boton--principal {
	background: var(--ct-boton-principal-fondo);
	border-color: var(--ct-boton-principal-fondo);
	color: var(--ct-boton-principal-texto);
}

.ctsys-boton--principal:hover,
.ctsys-boton--principal:focus {
	background: var(--ct-boton-principal-hover);
	border-color: var(--ct-boton-principal-hover);
	color: var(--ct-boton-principal-texto);
}

.ctsys-boton--fantasma {
	background: #fff;
	border-color: var(--ctsys-borde);
	color: var(--ctsys-tinta);
}

.ctsys-boton--fantasma:hover,
.ctsys-boton--fantasma:focus {
	border-color: var(--ctsys-azul);
	color: var(--ctsys-azul);
}

.ctsys-boton--texto {
	min-height: 0;
	padding: 10px 0 0;
	background: none;
	border: 0;
	color: var(--ctsys-azul);
	font-weight: 700;
	width: 100%;
}

.ctsys-boton--texto:hover,
.ctsys-boton--texto:focus {
	color: var(--ctsys-azul);
	text-decoration: underline;
}




.ctsys-confianza-banda {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin: 0 0 22px;
	background: var(--ctsys-borde);
	border: 1px solid var(--ctsys-borde);
	border-radius: 10px;
	overflow: hidden;
}

.ctsys-confianza-banda__item {
	padding: 10px 12px;
	background: #fff;
}


.ctsys-confianza-banda__cabecera {
	display: flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 4px;
}

.ctsys-confianza-banda__icono {
	flex: 0 0 auto;
	width: 17px;
	height: 17px;
	color: var(--ctsys-azul);
}

.ctsys-confianza-banda__item h3 {
	margin: 0;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--ctsys-tinta);
}

.ctsys-confianza-banda__item p {
	margin: 0;
	font-size: 0.82rem;
	line-height: 1.45;
	color: var(--ctsys-suave);
}


.ctsys-confianza-banda__franja {
	display: block;
	color: var(--ctsys-tinta);
	font-weight: 700;
}

.ctsys-confianza-banda__reloj {
	display: block;
	margin-top: 3px;
	font-variant-numeric: tabular-nums;
}

.ctsys-confianza-banda__estado {
	display: inline-block;
	margin-right: 5px;
	padding: 0;
	font: inherit;
	font-weight: 600;
	letter-spacing: normal;
	text-transform: uppercase;
}


.ctsys-confianza-banda__estado.is-abierto {
	background: transparent;
	color: var(--ct-verde-texto);
}

.ctsys-confianza-banda__estado.is-abierto::before,
.ctsys-confianza-banda__estado.is-cerrado::before {
	content: '';
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 6px;
	border-radius: 50%;
	vertical-align: 1px;
}

.ctsys-confianza-banda__estado.is-abierto::before {
	background: var(--ct-verde);
}

.ctsys-confianza-banda__estado.is-cerrado {
	background: transparent;
	color: var(--ct-azul-interactivo);
}

.ctsys-confianza-banda__estado.is-cerrado::before {
	background: var(--ct-azul-interactivo);
}

@media (max-width: 430px) {
	.ctsys-confianza-banda__item {
		flex-direction: column;
		gap: 6px;
		padding: 12px 13px;
	}

	.ctsys-confianza-banda__item p {
		font-size: 0.78rem;
	}
}


@media (min-width: 992px) {
	.woocommerce-cart .ctsys-confianza-banda {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		margin-bottom: 24px;
	}
}




.woocommerce-cart .storex-content > .st-py-default,
.woocommerce-checkout .storex-content > .st-py-default {
	padding-top: 26px;
}


.woocommerce-checkout .storex-content > .st-py-default {
	padding-top: 18px !important;
}

.ctsys-carrito__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--ct-separacion-detalle);
	align-items: start;
}



.ctsys-carrito-lista-pagina {
	display: block;
	max-height: min(62dvh, 540px);
	list-style: none;
	margin: 0;
	padding: 0;
	border: 1px solid var(--ctsys-borde);
	border-radius: 12px;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-color: var(--ct-borde-fuerte, #d4d4d4) transparent;
	scrollbar-width: thin;
}

.ctsys-boton:focus-visible {
	outline: 2px solid var(--ctsys-azul);
	outline-offset: 2px;
}



.ctsys-resumen-caja {
	padding: 18px;
	background: var(--ctsys-superficie);
	border: 1px solid var(--ctsys-borde);
	border-radius: 12px;
}

.ctsys-resumen-caja h2 {
	margin: 0 0 2px;
	font-size: 1.1rem;
	font-weight: 800;
}

.ctsys-resumen-caja__conteo {
	margin: 0 0 12px;
	color: var(--ctsys-suave);
	font-size: 0.83rem;
}

.ctsys-resumen-caja__filas {
	display: grid;
	gap: 8px;
	margin-bottom: 12px;
}

.ctsys-resumen-fila {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	font-size: 0.92rem;
	font-variant-numeric: tabular-nums;
}

.ctsys-resumen-fila--descuento {
	color: var(--ct-tinta-suave);
}

.ctsys-resumen-fila--total {
	padding-top: 12px;
	border-top: 1px solid var(--ctsys-borde);
	font-size: 1.15rem;
	font-weight: 800;
}

.ctsys-resumen-caja__nota {
	margin: 0 0 12px;
	color: var(--ctsys-suave);
	font-size: 0.8rem;
	line-height: 1.5;
}


body.woocommerce-cart .ctsys-resumen-caja .checkout-button,
body.woocommerce-cart .ctsys-resumen-caja .wc-proceed-to-checkout .button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 12px 26px;
	border: 0;
	border-radius: var(--ct-radio-pill);
	background: var(--ct-boton-principal-fondo) !important;
	color: var(--ct-boton-principal-texto) !important;
	font-size: .96rem;
	font-weight: 800;
	letter-spacing: .025em;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	transition: transform 160ms var(--ctsys-ease), background-color 160ms var(--ctsys-ease);
}

body.woocommerce-cart .ctsys-resumen-caja .checkout-button:hover,
body.woocommerce-cart .ctsys-resumen-caja .checkout-button:focus-visible {
	background: var(--ct-boton-principal-hover) !important;
	color: var(--ct-boton-principal-texto) !important;
	transform: translateY(-1px);
}

.ctsys-resumen-caja .checkout-button:active {
	transform: scale(0.98);
}


.ctsys-resumen-caja .ct-plazo {
	display: block;
	margin: 0 0 12px;
	color: var(--ctsys-azul);
	font-size: 0.85rem;
	font-weight: 700;
}



.ctsys-carrito--vacio {
	max-width: 520px;
	margin-inline: auto;
	padding-block: 40px;
	text-align: center;
}

.ctsys-carrito--vacio h1 {
	margin: 0 0 10px;
	font-size: 1.6rem;
	font-weight: 800;
}

.ctsys-carrito--vacio p {
	margin: 0 0 22px;
	color: var(--ctsys-suave);
}

.ctsys-carrito--vacio__pedidos {
	margin-top: 18px;
	font-size: 0.88rem;
}

.ctsys-carrito--vacio__pedidos a {
	color: var(--ctsys-azul);
	font-weight: 700;
}



.ctsys-recomendaciones {
	margin-top: 38px;
	padding-top: 26px;
	border-top: 1px solid var(--ctsys-borde);
}

.ctsys-recomendaciones__cabecera {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 14px;
}

.ctsys-recomendaciones__cabecera h2 {
	margin: 0;
	color: var(--ctsys-tinta);
	font-size: 1.25rem;
	font-weight: 800;
}

.ctsys-recomendaciones__controles {
	display: flex;
	gap: 8px;
}

.ctsys-recomendaciones__control {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	padding: 0;
	border: 1px solid var(--ct-borde, #e5e5e5);
	border-radius: 8px;
	background: #fff;
	color: var(--ctsys-azul);
	cursor: pointer;
}

.ctsys-recomendaciones__control svg {
	width: 20px;
	height: 20px;
}

.ctsys-recomendaciones__control:hover,
.ctsys-recomendaciones__control:focus-visible {
	border-color: var(--ctsys-azul);
	background: var(--ctsys-azul-tinte);
	outline: 0;
}

.ctsys-recomendaciones__control:disabled {
	cursor: default;
	opacity: .42;
}

.ctsys-recomendaciones__carril {
	touch-action: pan-y;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	scroll-behavior: smooth;
	scroll-snap-type: inline mandatory;
	cursor: grab;
	user-select: none;
	scrollbar-width: thin;
	scrollbar-color: var(--ct-borde-fuerte, #d4d4d4) transparent;
}

.ctsys-recomendaciones__carril.is-arrastrando {
	cursor: grabbing;
	scroll-snap-type: none;
}

.ctsys-recomendaciones__carril:focus-visible {
	border-radius: 10px;
	outline: 2px solid var(--ctsys-azul);
	outline-offset: 3px;
}

.ctsys-recomendaciones__lista {
	display: flex;
	gap: 14px;
	margin: 0;
	padding: 2px 0 12px;
	list-style: none;
}

.ctsys-recomendacion,
.ctsys-recomendaciones__lista .ctsys-home-producto-simple {
	display: flex;
	flex: 0 0 clamp(188px, 26vw, 228px);
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--ctsys-borde);
	border-radius: 12px;
	background: #fff;
	scroll-snap-align: start;
}

.ctsys-recomendaciones__lista .ctsys-home-producto-simple {
	border: 0;
	overflow: visible;
}

.ctsys-recomendaciones__lista .ctsys-home-producto-simple__imagen-enlace {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / .93;
}

.ctsys-recomendaciones__lista .ctsys-home-producto-simple__imagen-enlace img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	pointer-events: none;
	-webkit-user-drag: none;
}

.ctsys-recomendaciones__lista .ctsys-home-producto-simple__contenido {
	display: grid;
	align-content: start;
	gap: 6px;
	flex: 1;
	padding-top: 12px;
}

.ctsys-recomendaciones__lista .ctsys-home-producto-simple__contenido > a:first-child {
	font-size: .875rem;
	font-weight: 650;
	line-height: 1.35;
}

.ctsys-recomendaciones__lista .ctsys-home-producto-simple__precio {
	font-size: .9375rem;
	font-weight: 700;
	line-height: 1.4;
	white-space: normal;
}

.ctsys-recomendacion__imagen {
	display: grid;
	aspect-ratio: 1.25 / 1;
	place-items: center;
	padding: 12px;
	background: var(--ctsys-superficie);
}

.ctsys-recomendacion__imagen img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	pointer-events: none;
	user-select: none;
	-webkit-user-drag: none;
}

.ctsys-recomendacion__contenido {
	display: grid;
	align-content: start;
	gap: 7px;
	padding: 12px;
}

.ctsys-recomendacion h3 {
	display: -webkit-box;
	overflow: hidden;
	margin: 0;
	color: var(--ctsys-tinta);
	font-size: .88rem;
	font-weight: 800;
	line-height: 1.3;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ctsys-recomendacion h3 a {
	color: inherit;
	text-decoration: none;
}

.ctsys-recomendacion h3 a:hover,
.ctsys-recomendacion h3 a:focus-visible {
	color: var(--ctsys-azul);
}

.ctsys-recomendacion__precio {
	margin: 0;
	color: var(--ctsys-azul);
	font-size: .92rem;
	font-weight: 800;
}

.ctsys-recomendacion__enlace {
	color: var(--ctsys-azul);
	font-size: .8rem;
	font-weight: 800;
	text-decoration: none;
}

.ctsys-recomendacion__enlace:hover,
.ctsys-recomendacion__enlace:focus-visible {
	color: var(--ctsys-azul-osc);
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 619px) {
	.ctsys-recomendaciones {
		margin-top: 30px;
		padding-top: 22px;
	}

	.ctsys-recomendaciones__cabecera h2 {
		font-size: 1.12rem;
	}

	.ctsys-recomendaciones__control {
		width: 44px;
		height: 44px;
	}

	.ctsys-recomendacion,
	.ctsys-recomendaciones__lista .ctsys-home-producto-simple {
		flex-basis: min(48%, 200px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.ctsys-boton,
	.ctsys-resumen-caja .checkout-button {
		transition: none;
	}

	.ctsys-boton:active,
	.ctsys-resumen-caja .checkout-button:hover,
	.ctsys-resumen-caja .checkout-button:active {
		transform: none;
	}
}




@media (min-width: 768px) {
	.woocommerce-cart .storex-content > .st-py-default {
		padding-inline: 0 !important;
	}

	.woocommerce-cart .storex-content > .st-py-default > .container {
		width: var(--ct-contenedor-ancho);
		max-width: var(--ct-contenedor-max);
		margin-inline: auto;
		padding-inline: 0;
		box-sizing: border-box;
	}

	.woocommerce-cart .storex-content > .st-py-default > .container > .row {
		width: 100%;
		margin-inline: 0;
	}

	.woocommerce-cart .storex-content > .st-py-default > .container > .row > [class*='col-'] {
		width: 100%;
		max-width: 100%;
		flex: 0 0 100%;
		padding-inline: 0;
	}
}




@media (max-width: 767px) {
	.ctsys-carrito__acciones {
		gap: 12px;
	}

	.ctsys-resumen-caja {
		padding: 18px;
	}
}




@media (min-width: 768px) and (max-width: 1100px) {
	.woocommerce-cart .storex-content > .st-py-default,
	.woocommerce-checkout .storex-content > .st-py-default {
		padding-top: 22px;
	}

	.ctsys-confianza-banda {
		margin-bottom: 20px;
	}

	.ctsys-confianza-banda__item {
		min-width: 0;
		padding: 10px 12px;
	}

	.ctsys-confianza-banda__item h3 {
		font-size: .76rem;
		letter-spacing: .035em;
	}

	.ctsys-confianza-banda__item p {
		font-size: .8rem;
		line-height: 1.4;
		overflow-wrap: anywhere;
	}

	.ctsys-carrito__grid,
	.ctsys-carrito__lineas,
	.ctsys-carrito__resumen,
	.ctsys-carrito__lineas > form {
		min-width: 0;
		width: 100%;
	}

	.ctsys-carrito__grid {
		gap: 20px;
	}

	.ctsys-carrito__acciones {
		align-items: flex-end;
		gap: 12px;
	}

	.ctsys-carrito__acciones > .ctsys-boton[name='update_cart'] {
		min-width: 170px;
		flex: 0 0 auto;
		padding-right: 16px;
		padding-left: 16px;
	}

	.ctsys-resumen-caja {
		padding: 20px;
	}
}

.ctsys-carrito.is-actualizando .ctsys-carrito__lineas,
.ctsys-carrito.is-actualizando .ctsys-carrito__resumen {
	opacity: .72;
	transition: opacity 160ms ease;
}

.ctsys-carrito__estado {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 0;
	margin: 0 auto 14px;
	padding: 0;
	color: var(--ctsys-suave);
	font-size: .9rem;
	font-weight: 700;
	text-align: center;
}

.ctsys-carrito__estado:empty,
.ctsys-carrito__estado:not([data-estado]) {
	display: none;
}

.ctsys-carrito__estado[data-estado="error"] {
	justify-content: space-between;
	max-width: 720px;
	padding: 10px 14px;
	border: 1px solid color-mix(in srgb, var(--ct-error) 28%, transparent);
	border-radius: 10px;
	background: color-mix(in srgb, var(--ct-error) 8%, #fff);
	color: var(--ct-error);
}

.ctsys-carrito__estado[data-estado="info"]::before {
	width: 15px;
	height: 15px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	content: "";
	animation: ctsys-carrito-cargando 700ms linear infinite;
}

.ctsys-carrito__estado button {
	flex: 0 0 auto;
	padding: 6px 10px;
	border: 0;
	border-radius: 7px;
	background: var(--ctsys-azul);
	color: #fff;
	font: inherit;
	cursor: pointer;
}

.ctsys-carrito__estado button:focus-visible {
	outline: 2px solid var(--ctsys-azul);
	outline-offset: 3px;
}

@keyframes ctsys-carrito-cargando {
	to { transform: rotate(360deg); }
}

.ctsys-carrito.is-actualizando .ctsys-carrito-linea__cantidad {
	cursor: wait;
}

.ctsys-carrito.is-error .ctsys-carrito__lineas,
.ctsys-carrito.is-error .ctsys-carrito__resumen {
	animation: ctsys-carrito-error 260ms ease-in-out;
}

@keyframes ctsys-carrito-error {
	0%, 100% { transform: translateX(0); }
	35% { transform: translateX(-4px); }
	70% { transform: translateX(4px); }
}

@media (prefers-reduced-motion: reduce) {
	.ctsys-carrito__estado[data-estado="info"]::before {
		animation: none;
	}
	.ctsys-carrito.is-actualizando .ctsys-carrito__lineas,
	.ctsys-carrito.is-actualizando .ctsys-carrito__resumen {
		transition: none;
	}

	.ctsys-carrito.is-error .ctsys-carrito__lineas,
	.ctsys-carrito.is-error .ctsys-carrito__resumen {
		animation: none;
	}
}


/* Layout del contenedor; la composición de cada línea vive en tarjeta-carrito.css. */
.woocommerce-cart .ctsys-carrito,
.woocommerce-cart .ctsys-carrito__grid,
.woocommerce-cart .ctsys-carrito__lineas,
.woocommerce-cart .ctsys-carrito__resumen,
.woocommerce-cart .ctsys-carrito__lineas > form {
	box-sizing: border-box;
	min-width: 0;
	width: 100%;
}

.woocommerce-cart .ctsys-carrito__grid {
	grid-template-columns: minmax(0, 1fr);
	gap: var(--ct-separacion-detalle);
}

.woocommerce-cart .ctsys-carrito__resumen {
	position: static;
	align-self: start;
}

.woocommerce-cart .ctsys-carrito-lista-pagina {
	max-height: none;
	overflow: visible;
}

.woocommerce-cart .ctsys-carrito__estado[data-estado="info"] {
	min-height: 0;
}

@media (max-width: 1023px) {
	.woocommerce-cart .ctsys-carrito__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (min-width: 1024px) {
	.woocommerce-cart .ctsys-carrito__grid {
		grid-template-columns: minmax(0, 1fr) minmax(300px, 350px);
		gap: var(--ct-separacion-detalle);
	}

}

@media (min-width: 768px) and (max-width: 1023px) {
}

@media (max-width: 767px) {
	.woocommerce-cart .ctsys-carrito__grid {
		gap: var(--ct-separacion-detalle);
	}

	.woocommerce-cart .ctsys-resumen-caja {
		padding: 18px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce-cart .ctsys-carrito__estado[data-estado="info"]::before {
		animation: none;
	}
}
/* Acción textual del carrito: visible, alineada y con área táctil suficiente. */
html body.woocommerce-cart .ctsys-carrito-linea--tarjeta:not(#ctsys-carrito-panel) {
	grid-template-columns: minmax(56px, 64px) minmax(0, 1fr) 64px;
}
html body.woocommerce-cart .ctsys-carrito-linea--tarjeta:not(#ctsys-carrito-panel) .ctsys-carrito-linea__quitar {
	width: 64px;
	min-width: 64px;
	min-height: 44px;
	align-self: start;
	color: var(--ct-azul-interactivo);
	font-size: .75rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}
html body.woocommerce-cart .ctsys-carrito-linea--tarjeta:not(#ctsys-carrito-panel) .ctsys-carrito-linea__quitar:is(:hover, :focus-visible) {
	color: var(--ct-azul-interactivo);
	text-decoration: underline;
	text-underline-offset: 3px;
}
html body.woocommerce-cart .ctsys-carrito-linea--tarjeta:not(#ctsys-carrito-panel) .ctsys-carrito-linea__quitar:focus-visible {
	outline: 2px solid var(--ct-azul-interactivo);
	outline-offset: -2px;
}
@media (min-width: 768px) {
	html body.woocommerce-cart .ctsys-carrito-linea--tarjeta:not(#ctsys-carrito-panel) { grid-template-columns: minmax(96px, 112px) minmax(0, 1fr) 64px; }
}
@media (min-width: 1024px) {
	html body.woocommerce-cart .ctsys-carrito-linea--tarjeta:not(#ctsys-carrito-panel) { grid-template-columns: minmax(112px, 128px) minmax(0, 1fr) minmax(218px, max-content) 64px; }
}
