/* Silere · Carrito lateral (plugin Side Cart WooCommerce, xoo-wsc).
   El plugin imprime su CSS en línea con colores propios (verde #002109, tarjetas blancas,
   botones cuadrados). Aquí se lleva al lenguaje del sitio: tokens --cc-*, títulos en
   caligrafía, filas separadas por líneas finas y un solo botón principal.
   Ancla "html body .xoo-wsc-modal" para ganarle a los selectores en línea del plugin. */

/* ---- Panel ---------------------------------------------------------------------- */
html body .xoo-wsc-modal .xoo-wsc-container {
	background-color: var(--cc-fondo);
	box-shadow: -24px 0 48px -24px rgba(24, 48, 40, 0.35);
	color: var(--cc-texto);
}

html body .xoo-wsc-modal .xoo-wsc-opac {
	background-color: rgba(24, 48, 40, 0.45);
}

/* ---- Cabecera: "Mi selección" en caligrafía y cierre discreto --------------------- */
html body .xoo-wsc-modal .xoo-wsc-header {
	padding: 1.5rem 1.5rem 1.25rem;
	border-bottom: 1px solid var(--cc-borde);
	background-color: var(--cc-fondo);
	color: var(--cc-texto);
}

html body .xoo-wsc-modal .xoo-wsch-sec-left {
	flex: 1;
	min-width: 0;
}

html body .xoo-wsc-modal .xoo-wsch-text {
	white-space: nowrap;
	font-family: "Petit Formal Script", cursive;
	font-size: 1.6rem;
	line-height: 1.2;
}

html body .xoo-wsc-modal .xoo-wsch-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-right: -0.6rem;
	border-radius: 50%;
	font-size: 18px;
	color: var(--cc-texto-suave);
	cursor: pointer;
	transition: background-color var(--cc-duracion) var(--cc-curva), color var(--cc-duracion) var(--cc-curva);
}

html body .xoo-wsc-modal .xoo-wsch-close:hover {
	background-color: var(--cc-superficie-alt);
	color: var(--cc-texto);
}

/* ---- Productos: filas sobre el fondo, sin tarjetas blancas ------------------------- */
html body .xoo-wsc-modal .xoo-wsc-body {
	padding: 0 1.5rem;
	background-color: var(--cc-fondo);
}

html body .xoo-wsc-modal .xoo-wsc-products .xoo-wsc-product {
	gap: 1rem;
	margin: 0;
	padding: 1.25rem 0;
	border-bottom: 1px solid var(--cc-borde);
	border-radius: 0;
	background-color: transparent;
	box-shadow: none;
}

html body .xoo-wsc-modal .xoo-wsc-products .xoo-wsc-img-col {
	flex: none;
	width: 76px;
}

html body .xoo-wsc-modal .xoo-wsc-img-col img {
	display: block;
	width: 76px;
	height: auto;
	aspect-ratio: 3 / 4;
	border-radius: 4px;
	object-fit: cover;
}

html body .xoo-wsc-modal .xoo-wsc-products .xoo-wsc-sum-col {
	flex: 1;
	width: auto;
	justify-content: flex-start;
}

html body .xoo-wsc-modal .xoo-wsc-sm-info {
	align-items: flex-start;
	gap: 0.75rem;
}

html body .xoo-wsc-modal .xoo-wsc-products .xoo-wsc-pname a {
	font-family: "Petit Formal Script", cursive;
	font-size: 1.05rem;
	line-height: 1.35;
	color: var(--cc-texto);
	text-decoration: none;
}

html body .xoo-wsc-modal .xoo-wsc-products .xoo-wsc-pname a:hover {
	color: var(--cc-acento-texto);
}

/* Tamaño y cantidad: una línea pequeña y suave. */
html body .xoo-wsc-modal .xoo-wsc-product dl.variation,
html body .xoo-wsc-modal .xoo-wsc-products .xoo-wsc-sml-qty {
	display: block;
	margin: 0.35rem 0 0;
	font-size: 0.8rem;
	line-height: 1.5;
	color: var(--cc-texto-suave);
}

html body .xoo-wsc-modal .xoo-wsc-product dl.variation {
	display: flex;
	flex-wrap: wrap;
	gap: 0 0.3em;
}

html body .xoo-wsc-modal .xoo-wsc-product dl.variation :is(dt, dd, p) {
	display: inline;
	float: none;
	margin: 0;
	padding: 0;
	font-size: inherit;
	font-style: normal;
	font-weight: 400;
	color: inherit;
}

/* El precio unitario repite el total de la fila, y el ahorro ya se suma abajo
   ("Guardar" era la traducción literal de "Save"). Queda solo el total. */
html body .xoo-wsc-modal .xoo-wsc-priceBox,
html body .xoo-wsc-modal .xoo-wsc-psavings {
	display: none;
}

html body .xoo-wsc-modal .xoo-wsc-sm-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: space-between;
	align-self: stretch;
	gap: 0.75rem;
}

html body .xoo-wsc-modal .xoo-wsc-products .xoo-wsc-smr-ptotal,
html body .xoo-wsc-modal .xoo-wsc-products .xoo-wsc-smr-ptotal .amount {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--cc-texto);
	white-space: nowrap;
}

html body .xoo-wsc-modal .xoo-wsc-smr-del {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin: -0.4rem -0.5rem 0 0;
	border-radius: 50%;
	font-size: 14px;
	color: var(--cc-texto-suave);
	opacity: 0.7;
	cursor: pointer;
	transition: opacity var(--cc-duracion) var(--cc-curva), color var(--cc-duracion) var(--cc-curva), background-color var(--cc-duracion) var(--cc-curva);
}

html body .xoo-wsc-modal .xoo-wsc-smr-del:hover {
	background-color: var(--cc-superficie-alt);
	color: var(--cc-oferta);
	opacity: 1;
}

/* ---- Carrito vacío: llama, frase en cursiva y botón principal ---------------------- */
html body .xoo-wsc-modal .xoo-wsc-empty-cart {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
	padding: clamp(3rem, 2rem + 6vh, 5rem) 1rem 2rem;
	text-align: center;
}

html body .xoo-wsc-modal .xoo-wsc-empty-cart::before {
	content: "";
	width: 32px;
	height: 32px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c5a367' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z'/%3E%3C/svg%3E") center / contain no-repeat;
}

html body .xoo-wsc-modal .xoo-wsc-emp-txt {
	max-width: 16rem;
	font-family: "Cormorant Garamond", serif;
	font-size: 1.35rem;
	font-style: italic;
	line-height: 1.4;
	color: var(--cc-texto-suave);
}

html body .xoo-wsc-modal .xoo-wsc-empty-cart a.xoo-wsc-btn {
	min-height: 44px;
	padding: 0.7rem 1.5rem;
	border: 1px solid var(--cc-texto);
	border-radius: 4px;
	background-color: var(--cc-texto);
	box-shadow: 0 10px 20px -5px rgba(24, 48, 40, 0.3);
	color: var(--cc-texto-sobre-oscuro);
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 1px;
	text-decoration: none;
	transition: background-color var(--cc-duracion) var(--cc-curva);
}

html body .xoo-wsc-modal .xoo-wsc-empty-cart a.xoo-wsc-btn:hover {
	border-color: var(--cc-tierra);
	background-color: var(--cc-tierra);
	color: var(--cc-texto-sobre-oscuro);
}

/* ---- Pie: totales, nota y acciones ------------------------------------------------- */
html body .xoo-wsc-modal .xoo-wsc-footer {
	padding: 1.25rem 1.5rem 1.5rem;
	border-top: 1px solid var(--cc-borde);
	background-color: var(--cc-superficie);
	box-shadow: none;
	color: var(--cc-texto);
}

html body .xoo-wsc-modal .xoo-wsc-footer,
html body .xoo-wsc-modal .xoo-wsc-footer a,
html body .xoo-wsc-modal .xoo-wsc-footer .amount {
	font-size: 0.95rem;
}

html body .xoo-wsc-modal .xoo-wsc-ft-amt {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 0.2rem 0;
}

/* Ahorro de los precios de lanzamiento: verde eucalipto del sitio, no verde de sistema. */
html body .xoo-wsc-modal .xoo-wsc-ft-amt-savings,
html body .xoo-wsc-modal .xoo-wsc-ft-amt-savings :is(.amount, bdi, .xoo-wsc-ft-amt-value) {
	font-size: 0.85rem;
	color: var(--cc-eucalipto-texto);
}

html body .xoo-wsc-modal .xoo-wsc-ft-amt-subtotal .xoo-wsc-ft-amt-label {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

html body .xoo-wsc-modal .xoo-wsc-ft-amt-subtotal .amount {
	font-size: 1.25rem;
	font-weight: 600;
}

html body .xoo-wsc-modal .xoo-wsc-footer-txt {
	display: block;
	margin: 0.5rem 0 1.25rem;
	font-family: "Cormorant Garamond", serif;
	font-size: 1rem;
	font-style: italic;
	text-align: left;
	color: var(--cc-texto-suave);
}

/* Un botón principal ("Ir al pago") y dos enlaces secundarios lado a lado. */
html body .xoo-wsc-modal .xoo-wsc-ft-buttons-cont {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.25rem 1rem;
}

html body .xoo-wsc-modal .xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 44px;
	margin: 0;
	padding: 0.5rem 0.25rem;
	border: 0;
	border-radius: 4px;
	background: none;
	color: var(--cc-texto);
	font-size: 0.85rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-decoration: underline;
	text-decoration-color: var(--cc-borde);
	text-underline-offset: 0.3em;
	transition: color var(--cc-duracion) var(--cc-curva), text-decoration-color var(--cc-duracion) var(--cc-curva), background-color var(--cc-duracion) var(--cc-curva), box-shadow var(--cc-duracion) var(--cc-curva);
}

html body .xoo-wsc-modal .xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn:hover {
	background: none;
	color: var(--cc-acento-texto);
	text-decoration-color: currentColor;
}

html body .xoo-wsc-modal .xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn-checkout {
	grid-column: 1 / -1;
	order: -1;
	justify-content: space-between;
	min-height: 52px;
	margin-bottom: 0.5rem;
	padding: 0.75rem 1.25rem;
	border: 1px solid var(--cc-texto);
	background-color: var(--cc-texto);
	box-shadow: 0 10px 20px -5px rgba(24, 48, 40, 0.3);
	color: var(--cc-texto-sobre-oscuro);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 1px;
	text-decoration: none;
}

html body .xoo-wsc-modal .xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn-checkout:hover {
	background-color: var(--cc-tierra);
	color: var(--cc-texto-sobre-oscuro);
	box-shadow: 0 12px 24px -6px rgba(24, 48, 40, 0.4);
}

/* El plugin separa el total con un guion: se cambia por el total alineado a la derecha. */
html body .xoo-wsc-modal a.xoo-wsc-ft-btn-checkout .amount,
html body .xoo-wsc-modal a.xoo-wsc-ft-btn-checkout:hover .amount {
	font-size: 1rem;
	font-style: normal;
	color: var(--cc-texto-sobre-oscuro);
}

html body .xoo-wsc-modal a.xoo-wsc-ft-btn-checkout .amount::before {
	content: none;
}

/* ---- Botón flotante de la canasta ------------------------------------------------- */
html body .xoo-wsc-modal .xoo-wsc-basket {
	background-color: var(--cc-texto);
	color: var(--cc-texto-sobre-oscuro);
	box-shadow: 0 10px 24px -6px rgba(24, 48, 40, 0.45);
	transition: transform var(--cc-duracion) var(--cc-curva);
}

html body .xoo-wsc-modal .xoo-wsc-basket:hover {
	transform: translateY(-2px);
}

html body .xoo-wsc-modal .xoo-wsc-items-count {
	background-color: var(--cc-acento);
	color: var(--cc-texto);
	font-weight: 600;
}

@media (prefers-reduced-motion: reduce) {
	html body .xoo-wsc-modal .xoo-wsc-basket:hover {
		transform: none;
	}
}
