/**
 * Crochetts — Pagina del carrito (WC Cart Block) + checkout
 *  Unifica el aspecto con la imagen corporativa: verde de marca para
 *  botones primarios, fondo crema para el resumen, tipografia Poppins
 *  y bordes suaves. Sustituye el estilo por defecto de WC Blocks (que
 *  pinta los botones en negro plano) por los colores de Crochetts.
 *
 *  Se carga como `cpg-cart` en /carrito/ y /finalizar-compra/.
 */

/* ----------------------------------------------------------------------
 * Variables
 * -------------------------------------------------------------------- */
:root {
	--cpg-cart-accent: #416843;       /* verde de marca */
	--cpg-cart-accent-dark: #355837;  /* hover del verde */
	--cpg-cart-bg: #faf7f1;           /* crema fondo resumen */
	--cpg-cart-border: #e9e0cf;
	--cpg-cart-text: #3a2f20;
	--cpg-cart-text-soft: #5a4a32;
}

/* ----------------------------------------------------------------------
 * Cabecera "Carrito" (h1 de la pagina)
 * -------------------------------------------------------------------- */
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
h1.woocommerce-cart__title,
h1.woocommerce-checkout__title {
	font-family: 'Poppins', sans-serif;
	color: var(--cpg-cart-text);
	letter-spacing: .01em;
}

/* ----------------------------------------------------------------------
 * Tipografia y color base en el bloque
 * -------------------------------------------------------------------- */
.wc-block-cart,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	font-family: 'Poppins', sans-serif;
	color: var(--cpg-cart-text);
}

/* ----------------------------------------------------------------------
 * Titulos de bloque (PRODUCTO, TOTAL, TOTALES DEL CARRITO...)
 * -------------------------------------------------------------------- */
.wc-block-cart__totals-title,
.wc-block-checkout__totals-title,
.wc-block-cart__header-cell,
.wc-block-cart table.wc-block-cart-items thead th,
.wc-block-checkout .wc-block-checkout__summary-title {
	font-family: 'Poppins', sans-serif !important;
	color: var(--cpg-cart-text) !important;
	letter-spacing: .08em;
	text-transform: uppercase;
	font-size: .82rem !important;
	font-weight: 700 !important;
	border-bottom: 2px solid var(--cpg-cart-border) !important;
	padding: 12px 8px !important;
}

/* ----------------------------------------------------------------------
 * Lineas del carrito (productos)
 * -------------------------------------------------------------------- */
.wc-block-cart-items .wc-block-cart-items__row,
.wc-block-cart table.wc-block-cart-items tbody tr {
	border-bottom: 1px solid var(--cpg-cart-border) !important;
}

.wc-block-cart-items .wc-block-cart-item__wrap {
	padding: 18px 4px !important;
}

/* Nombre del producto en el carrito */
.wc-block-cart-item__product a,
.wc-block-cart .product-name a {
	color: var(--cpg-cart-text) !important;
	font-weight: 700 !important;
	font-family: 'Poppins', sans-serif !important;
	text-decoration: none !important;
}

.wc-block-cart-item__product a:hover {
	color: var(--cpg-cart-accent) !important;
}

/* Precio en el carrito */
.wc-block-cart-item__total,
.wc-block-components-product-price,
.wc-block-cart .product-price {
	color: var(--cpg-cart-accent) !important;
	font-weight: 700 !important;
	font-family: 'Poppins', sans-serif !important;
}

/* Subtotal (precio unitario en cada linea) */
.wc-block-cart-item__product-price,
.wc-block-format-currency {
	color: var(--cpg-cart-text-soft) !important;
}

/* ----------------------------------------------------------------------
 * Bloque resumen del carrito (Totales del carrito)
 * -------------------------------------------------------------------- */
.wp-block-woocommerce-cart-order-summary-block,
.wc-block-cart__totals,
.wc-block-cart__sidebar {
	background: var(--cpg-cart-bg) !important;
	border: 1px solid var(--cpg-cart-border) !important;
	border-radius: 16px !important;
	padding: 22px 24px !important;
	box-shadow: 0 4px 18px rgba( 58, 44, 24, .06 );
}

.wc-block-cart__totals-title {
	margin: 0 0 14px !important;
	border-bottom: none !important;
	padding: 0 0 10px !important;
}

/* Filas del resumen (subtotal, envio, impuestos) */
.wc-block-cart__totals-item,
.wc-block-components-totals-item,
.wc-block-cart .cart-subtotal,
.wc-block-cart .order-total {
	display: flex !important;
	justify-content: space-between !important;
	align-items: baseline !important;
	padding: 8px 0 !important;
	font-family: 'Poppins', sans-serif !important;
	color: var(--cpg-cart-text-soft) !important;
	border: none !important;
}

.wc-block-cart__totals-item .wc-block-formatted-money-amount,
.wc-block-components-totals-item .wc-block-formatted-money-amount,
.wc-block-cart .cart-subtotal .amount,
.wc-block-cart .order-total .amount {
	color: var(--cpg-cart-text) !important;
	font-weight: 700 !important;
}

/* Total estimado (gran) */
.wc-block-cart .wc-block-totals__item--total,
.wc-block-cart .order-total,
.wc-block-checkout .wc-block-totals__item--total {
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	color: var(--cpg-cart-text) !important;
	padding-top: 14px !important;
	border-top: 1px solid var(--cpg-cart-border) !important;
	margin-top: 8px !important;
}

.wc-block-cart .wc-block-totals__item--total .wc-block-formatted-money-amount,
.wc-block-cart .order-total .amount {
	color: var(--cpg-cart-accent) !important;
	font-size: 1.25rem !important;
}

/* ----------------------------------------------------------------------
 * Boton principal "Finalizar compra" y resto de CTAs WC Blocks
 *  Sustituye el outline negro plano por defecto por un boton verde
 *  lleno coherente con la marca. Cubre el boton del Cart Block y el
 *  de Place Order en el checkout. Se aplica a <a> (no solo button)
 *  porque el cart block suele renderizar el checkout como anchor.
 * -------------------------------------------------------------------- */
.wc-block-cart__submit,
.wc-block-checkout__submit,
.wc-block-cart .wc-block-cart__submit-button,
.wc-block-checkout .wc-block-checkout__submit-button,
.wc-block-cart__submit-container button,
.wc-block-cart__submit-container a,
.wc-block-components-button,
.wc-block-components-button--primary,
button.wc-block-components-button,
a.wc-block-components-button {
	background: var(--cpg-cart-accent) !important;
	background-color: var(--cpg-cart-accent) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 14px 28px !important;
	font-family: 'Poppins', sans-serif !important;
	font-weight: 700 !important;
	letter-spacing: .04em !important;
	font-size: 1rem !important;
	text-transform: none !important;
	box-shadow: 0 6px 16px rgba( 65, 104, 67, .25 ) !important;
	transition: background .15s ease, transform .12s ease, box-shadow .15s ease !important;
	cursor: pointer !important;
	display: inline-block !important;
	text-decoration: none !important;
	text-align: center !important;
	line-height: 1.2 !important;
}

.wc-block-cart__submit:hover,
.wc-block-checkout__submit:hover,
.wc-block-cart .wc-block-cart__submit-button:hover,
.wc-block-checkout .wc-block-checkout__submit-button:hover,
.wc-block-cart__submit-container button:hover,
.wc-block-cart__submit-container a:hover,
.wc-block-components-button:hover,
.wc-block-components-button--primary:hover,
button.wc-block-components-button:hover,
a.wc-block-components-button:hover {
	background: var(--cpg-cart-accent-dark) !important;
	background-color: var(--cpg-cart-accent-dark) !important;
	color: #fff !important;
	transform: translateY( -1px ) !important;
	box-shadow: 0 8px 20px rgba( 65, 104, 67, .32 ) !important;
}

.wc-block-cart__submit:disabled,
.wc-block-checkout__submit:disabled {
	background: #b6b6b6 !important;
	cursor: not-allowed !important;
	transform: none !important;
	box-shadow: none !important;
}

/* ----------------------------------------------------------------------
 * Botones secundarios (vaciar carrito, volver, etc)
 * -------------------------------------------------------------------- */
.wc-block-cart__empty-cart__button a,
.wc-block-components-button--outlined,
.wc-block-components-button--secondary,
button.wc-block-components-button.wc-block-components-button--secondary,
a.wc-block-components-button.wc-block-components-button--outlined {
	background: #fff !important;
	color: var(--cpg-cart-text) !important;
	border: 1px solid var(--cpg-cart-border) !important;
	border-radius: 999px !important;
	padding: 10px 20px !important;
	font-family: 'Poppins', sans-serif !important;
	font-weight: 600 !important;
	transition: background .15s ease, color .15s ease, border-color .15s ease !important;
}

.wc-block-cart__empty-cart__button a:hover,
.wc-block-components-button--outlined:hover,
.wc-block-components-button--secondary:hover {
	background: #f3ebdd !important;
	color: var(--cpg-cart-accent) !important;
	border-color: var(--cpg-cart-accent) !important;
}

/* ----------------------------------------------------------------------
 * Input cupones
 * -------------------------------------------------------------------- */
.wc-block-components-form .wc-block-components-text-input input,
.wc-block-components-text-input input,
.wc-block-cart input[type="text"] {
	border: 1px solid var(--cpg-cart-border) !important;
	border-radius: 10px !important;
	padding: 10px 12px !important;
	font-family: 'Poppins', sans-serif !important;
	background: #fff !important;
	color: var(--cpg-cart-text) !important;
}

.wc-block-components-text-input input:focus {
	outline: none !important;
	border-color: var(--cpg-cart-accent) !important;
	box-shadow: 0 0 0 3px rgba( 65, 104, 67, .15 ) !important;
}

/* Boton aplicar cupon */
.wc-block-components-form .wc-block-components-button,
.wc-block-coupon button {
	background: var(--cpg-cart-accent) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 10px !important;
	padding: 10px 16px !important;
	font-weight: 700 !important;
}

/* ----------------------------------------------------------------------
 * Mensajes de aviso (info, error) coherentes con la marca
 * -------------------------------------------------------------------- */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error,
.wc-block-components-notice-banner {
	background: rgba( 65, 104, 67, .08 ) !important;
	color: var(--cpg-cart-accent) !important;
	border: 1px solid rgba( 65, 104, 67, .25 ) !important;
	border-radius: 12px !important;
	padding: 12px 16px !important;
	font-family: 'Poppins', sans-serif !important;
}

.woocommerce-error {
	background: rgba( 200, 60, 50, .08 ) !important;
	color: #a23830 !important;
	border-color: rgba( 200, 60, 50, .25 ) !important;
}

/* ----------------------------------------------------------------------
 * Boton papelera (eliminar del carrito)
 * -------------------------------------------------------------------- */
.wc-block-cart-item__remove a,
.wc-block-cart .remove {
	color: var(--cpg-cart-text-soft) !important;
	opacity: .65;
	transition: color .15s ease, opacity .15s ease;
}

.wc-block-cart-item__remove a:hover,
.wc-block-cart .remove:hover {
	color: #a23830 !important;
	opacity: 1;
}

/* ----------------------------------------------------------------------
 * Titulo "Carrito vacio" cuando no hay productos
 * -------------------------------------------------------------------- */
.wc-block-cart__empty-cart__title,
.wc-block-cart .cart-empty {
	font-family: 'Poppins', sans-serif !important;
	color: var(--cpg-cart-text) !important;
}

/* ----------------------------------------------------------------------
 * Checkout: cabecera de pasos
 * -------------------------------------------------------------------- */
.wc-block-checkout__login-header,
.wc-block-checkout__billing-header,
.wc-block-checkout__shipping-header,
.wc-block-checkout__payment-header,
.wc-block-checkout .wc-block-checkout__form-section h2,
.wc-block-checkout .wc-block-components-checkout-step__heading,
.wc-block-checkout h1.woocommerce-checkout__title,
.wc-block-checkout h2.wc-block-components-checkout-step__title,
.wc-block-checkout .wc-block-components-checkout-step__title {
	font-family: 'Poppins', sans-serif !important;
	color: var(--cpg-cart-text) !important;
	letter-spacing: .02em;
	font-weight: 700 !important;
}

/* Cabeceras de cada paso del checkout (Contacto, Facturacion, Envio, Pago) */
.wc-block-checkout .wc-block-components-checkout-step__title,
.wc-block-checkout .wc-block-checkout__form-section .wc-block-components-checkout-step__title,
.wc-block-components-checkout-step__title {
	color: var(--cpg-cart-text) !important;
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	font-family: 'Poppins', sans-serif !important;
	letter-spacing: .01em;
}

/* Icono numerado (circulo) a la izquierda de cada paso */
.wc-block-checkout .wc-block-components-checkout-step__heading-content,
.wc-block-checkout .wc-block-components-checkout-step__title-content {
	font-family: 'Poppins', sans-serif !important;
}

/* Inputs del checkout */
.wc-block-checkout input[type="text"],
.wc-block-checkout input[type="email"],
.wc-block-checkout input[type="tel"],
.wc-block-checkout select,
.wc-block-checkout textarea {
	border: 1px solid var(--cpg-cart-border) !important;
	border-radius: 10px !important;
	padding: 12px 14px !important;
	font-family: 'Poppins', sans-serif !important;
	background: #fff !important;
	color: var(--cpg-cart-text) !important;
	box-sizing: border-box;
}

.wc-block-checkout input:focus,
.wc-block-checkout select:focus,
.wc-block-checkout textarea:focus {
	outline: none !important;
	border-color: var(--cpg-cart-accent) !important;
	box-shadow: 0 0 0 3px rgba( 65, 104, 67, .15 ) !important;
}

/* Labels sobre los inputs (Nombre, Apellidos, etc) */
.wc-block-checkout .wc-block-components-checkout-step__content label,
.wc-block-checkout .wc-block-components-form .wc-block-components-label,
.wc-block-checkout .wc-block-components-label {
	font-family: 'Poppins', sans-serif !important;
	color: var(--cpg-cart-text) !important;
	font-weight: 600 !important;
}

/* Opciones de pago (radio buttons + labels) */
.wc-block-checkout .wc-block-components-radio-control,
.wc-block-checkout .wc-block-checkout__payment-method {
	border: 1px solid var(--cpg-cart-border) !important;
	border-radius: 12px !important;
	padding: 14px 16px !important;
	background: #fff !important;
	transition: border-color .15s ease, background .15s ease !important;
}

.wc-block-checkout .wc-block-components-radio-control:hover,
.wc-block-checkout .wc-block-checkout__payment-method:hover {
	border-color: var(--cpg-cart-accent) !important;
}

.wc-block-checkout .wc-block-components-radio-control__label,
.wc-block-checkout .wc-block-components-radio-control__secondary-label,
.wc-block-checkout .wc-block-checkout__payment-method-label {
	font-family: 'Poppins', sans-serif !important;
	color: var(--cpg-cart-text) !important;
	font-weight: 600 !important;
}

/* Checkbox de terminos y politica de privacidad */
.wc-block-checkout .wc-block-checkout__terms input[type="checkbox"],
.wc-block-checkout .wc-block-components-checkbox input[type="checkbox"] {
	accent-color: var(--cpg-cart-accent) !important;
	width: 16px !important;
	height: 16px !important;
	cursor: pointer;
}

.wc-block-checkout .wc-block-checkout__terms,
.wc-block-checkout .wc-block-components-checkbox__label {
	font-family: 'Poppins', sans-serif !important;
	color: var(--cpg-cart-text-soft) !important;
}

/* Bloque resumen del pedido (sidebar) del checkout */
.wc-block-checkout .wc-block-checkout__sidebar,
.wc-block-checkout .wc-block-components-order-summary,
.wc-block-checkout .wc-block-checkout__summary {
	background: var(--cpg-cart-bg) !important;
	border: 1px solid var(--cpg-cart-border) !important;
	border-radius: 16px !important;
	padding: 22px 24px !important;
	box-shadow: 0 4px 18px rgba( 58, 44, 24, .06 );
}

/* "Realizar el pedido" (Place Order) — refuerzo del pill verde */
.wc-block-checkout .wc-block-checkout__submit-button,
.wc-block-checkout button.wc-block-checkout__submit-button,
button.wc-block-components-button.wc-block-checkout__submit-button {
	background: var(--cpg-cart-accent) !important;
	background-color: var(--cpg-cart-accent) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 16px 32px !important;
	font-family: 'Poppins', sans-serif !important;
	font-weight: 700 !important;
	font-size: 1.05rem !important;
	letter-spacing: .04em !important;
	text-transform: none !important;
	box-shadow: 0 6px 16px rgba( 65, 104, 67, .25 ) !important;
	cursor: pointer !important;
	width: 100% !important;
	transition: background .15s ease, transform .12s ease, box-shadow .15s ease !important;
}

.wc-block-checkout .wc-block-checkout__submit-button:hover,
button.wc-block-components-button.wc-block-checkout__submit-button:hover {
	background: var(--cpg-cart-accent-dark) !important;
	background-color: var(--cpg-cart-accent-dark) !important;
	transform: translateY( -1px ) !important;
	box-shadow: 0 8px 20px rgba( 65, 104, 67, .32 ) !important;
}

.wc-block-checkout .wc-block-checkout__submit-button:disabled {
	background: #b6b6b6 !important;
	cursor: not-allowed !important;
	transform: none !important;
	box-shadow: none !important;
}

/* Avisos dentro del checkout (errores de validacion, etc) */
.wc-block-checkout .wc-block-components-notice-banner,
.wc-block-checkout .wc-block-components-validation-error {
	border-radius: 12px !important;
	font-family: 'Poppins', sans-serif !important;
}

/* ----------------------------------------------------------------------
 * Responsive carrito
 * -------------------------------------------------------------------- */
@media ( max-width: 768px ) {
	.wc-block-cart__submit,
	.wc-block-checkout__submit,
	.wc-block-cart .wc-block-cart__submit-button,
	.wc-block-checkout .wc-block-checkout__submit-button,
	.wc-block-cart__submit-container a,
	.wc-block-cart__submit-container button {
		width: 100% !important;
		font-size: .95rem !important;
		padding: 13px 20px !important;
	}
	.wp-block-woocommerce-cart-order-summary-block {
		padding: 18px !important;
	}
}