/*
 * wc.css — todo lo que WooCommerce 11.1.0 (checkout/carrito CLASICOS, por shortcode:
 * inc/importar/pasos.php fuerza [woocommerce_cart] / [woocommerce_checkout]) imprime
 * y que la maqueta estatica nunca tuvo: /cart/, /checkout/, /my-account/, «pedido
 * recibido» y el aviso de «anadido al carrito». Solo se encola en paginas de
 * WooCommerce (cz_pagina_wc() en inc/assets.php: is_woocommerce()||is_cart()||
 * is_checkout()||is_account_page()), despues de corazonia.css y de parts/*.css.
 *
 * Markup verificado por SSH contra los .php reales del plugin en el VPS de pruebas
 * (wp-content/plugins/woocommerce/templates/{cart,checkout,myaccount,order,notices}),
 * no adivinado: cart.php, cart-totals.php, proceed-to-checkout-button.php,
 * global/quantity-input.php, checkout/form-checkout.php, form-billing.php,
 * form-shipping.php, review-order.php, payment.php, payment-method.php, terms.php,
 * thankyou.php, order-received.php, order/order-details.php,
 * order/order-details-customer.php, myaccount/{navigation,my-account,dashboard,
 * orders,form-login}.php, includes/wc-template-functions.php (woocommerce_form_field).
 *
 * Estas paginas las sirve page.php (agente 0): <section class="int-cab">…migas+H1…
 * </section><section class="sec"><div class="wrap prosa-legal">{the_content()}</div>
 * </section>, y el shortcode de WooCommerce expande dentro de esa .prosa-legal. Por
 * eso el ancho ya lo da .wrap (min(100% - 2.5rem,1180px)); aqui solo se resuelve lo
 * de dentro.
 *
 * Correccion 34 (select2 en carrito/checkout/cuenta): WC_Frontend_Scripts encola
 * select2.css el solo (is_cart()||is_checkout()||is_account_page()), AL MARGEN del
 * filtro woocommerce_enqueue_styles que sí hemos vaciado. No lo desactivamos (el
 * pais/provincia con buscador es mejor UX que un <select> nativo de 250 opciones):
 * se deja cargar y se REPINTA con los tokens del tema (ver «Select2»), en vez de
 * quitarlo.
 */

/* Tokens que faltan: el diseno no tiene un color de error (el naranja #c2410c ya
   significa «oferta»); estos dos son nuevos y solo se usan aqui. */
:root {
	--wc-error: #b3261e;
	--wc-error-bg: #fdecea;
	--wc-error-borde: #f3b9b4;
}

/* La prosa-legal limita p/li a 78ch para textos legales; en WC hay tablas y grids
   que necesitan todo el ancho de .wrap. */
.woocommerce .prosa-legal,
.woocommerce-page .prosa-legal {
	max-width: none;
}
.prosa-legal p.form-row,
.prosa-legal p.woocommerce-form-row,
.prosa-legal li.woocommerce-orders-table__cell,
.prosa-legal address {
	max-width: none;
	font-size: 1rem;
}
.prosa-legal .woocommerce-billing-fields h3,
.prosa-legal .woocommerce-shipping-fields h3,
.prosa-legal .woocommerce-additional-fields h3,
.prosa-legal #order_review_heading,
.prosa-legal .woocommerce-order-details__title,
.prosa-legal .woocommerce-column__title {
	font-size: 1.3rem;
	margin: 0 0 1rem;
}

/* ------------------------------------------------------------------ avisos */
/* .woocommerce-message (exito), .woocommerce-error (ul, validacion), .woocommerce-info.
   woocommerce_output_all_notices() los envuelve en .woocommerce-notices-wrapper; sin
   scope de .prosa-legal a proposito, porque tambien salen en ficha (agente B) y en
   tienda/categoria (agente C) cuando se anade al carrito desde ahi (resultado de
   add-to-cart), no solo en carrito/checkout/mi cuenta. */

.woocommerce-notices-wrapper:empty {
	display: none;
}
.woocommerce-notices-wrapper {
	margin-bottom: 1rem;
}
.woocommerce-message,
.woocommerce-error,
.woocommerce-info,
.woocommerce-noreviews,
p.woocommerce-notice {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 1rem 1.2rem;
	border-radius: var(--radio-s);
	font-size: 1rem;
	line-height: 1.5;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem 1rem;
}
.woocommerce-message {
	background: #eaf7ef;
	border: 1px solid #bfe6cc;
	border-left: 4px solid var(--ok);
	color: var(--tinta);
}
.woocommerce-info {
	background: var(--hielo);
	border: 1px solid var(--linea);
	border-left: 4px solid var(--azul);
	color: var(--tinta);
}
.woocommerce-error {
	background: var(--wc-error-bg);
	border: 1px solid var(--wc-error-borde);
	border-left: 4px solid var(--wc-error);
	color: var(--tinta);
	flex-direction: column;
	align-items: flex-start;
	gap: .4rem;
}
.woocommerce-error li {
	list-style: none;
}
.woocommerce-message a.button,
.woocommerce-info a.button,
.woocommerce-error a.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	min-height: 42px;
	padding: .5rem .95rem;
	border-radius: 8px;
	font-weight: 600;
	font-size: .95rem;
	border: 1.5px solid transparent;
	text-decoration: none !important;
	background: var(--azul);
	color: #fff;
	margin-left: auto;
	white-space: nowrap;
}
.woocommerce-message a.button:hover,
.woocommerce-info a.button:hover,
.woocommerce-error a.button:hover {
	background: var(--azul-osc);
}
.woocommerce-message a.button.wc-forward.restore-item,
.woocommerce-error a.button.wc-backward {
	background: #fff;
	color: var(--azul);
	border-color: var(--azul);
}

/* ------------------------------------------------------------------ campos y botones comunes */

.prosa-legal input.input-text,
.prosa-legal input[type="text"],
.prosa-legal input[type="email"],
.prosa-legal input[type="tel"],
.prosa-legal input[type="password"],
.prosa-legal input[type="search"],
.prosa-legal input[type="number"],
.prosa-legal textarea,
.prosa-legal select {
	width: 100%;
	font: inherit;
	font-size: 1rem;
	color: var(--tinta);
	background: #fff;
	border: 1.5px solid var(--linea2);
	border-radius: var(--radio-s);
	padding: .7rem .85rem;
	min-height: 48px;
	transition: border-color .15s, box-shadow .15s;
}
.prosa-legal textarea {
	min-height: 100px;
}
.prosa-legal input.input-text:focus,
.prosa-legal textarea:focus,
.prosa-legal select:focus {
	outline: none;
	border-color: var(--azul);
	box-shadow: 0 0 0 3px var(--azul-claro);
}
.prosa-legal input.input-radio,
.prosa-legal input.input-checkbox,
.prosa-legal input[type="radio"],
.prosa-legal input[type="checkbox"] {
	width: 18px;
	height: 18px;
	accent-color: var(--azul);
	flex: none;
}

.prosa-legal button.button,
.prosa-legal a.button,
.prosa-legal #place_order,
.prosa-legal .checkout-button,
.prosa-legal input[name="apply_coupon"],
.prosa-legal button[name="update_cart"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	min-height: 50px;
	padding: .75rem 1.3rem;
	border-radius: 8px;
	font-weight: 600;
	font-size: 1.02rem;
	border: 1.5px solid var(--azul);
	cursor: pointer;
	text-decoration: none !important;
	background: #fff;
	color: var(--azul);
	transition: background .15s, color .15s, border-color .15s, transform .15s;
}
.prosa-legal button.button:hover,
.prosa-legal a.button:hover,
.prosa-legal input[name="apply_coupon"]:hover,
.prosa-legal button[name="update_cart"]:hover {
	background: var(--azul-claro);
}

/* El boton principal (Finalizar compra / Realizar el pedido) como .b.b-azul.b-lg.
   Selectores CON etiqueta (a.checkout-button, button#place_order) a proposito:
   igualan o superan la especificidad de «.prosa-legal a.button» de arriba, que si
   no GANABA por tener un elemento mas (a) aunque este bloque vaya despues.
   El single_add_to_cart_button de la ficha lo estiliza el agente B en parts/b.css:
   no se toca aqui (solo carrito/checkout son territorio de este fichero). */
.prosa-legal a.checkout-button,
.prosa-legal button#place_order {
	background: var(--azul);
	color: #fff;
	border-color: var(--azul);
	min-height: 58px;
	padding: .9rem 1.7rem;
	font-size: 1.1rem;
	width: 100%;
}
.prosa-legal a.checkout-button:hover,
.prosa-legal button#place_order:hover {
	background: var(--azul-osc);
	color: #fff;
}
.prosa-legal button#place_order:disabled,
.prosa-legal a.checkout-button[disabled] {
	opacity: .6;
	cursor: not-allowed;
}

/* ------------------------------------------------------------------ tablas .shop_table */

.prosa-legal table.shop_table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1.5rem;
	font-size: 1rem;
}
.prosa-legal table.shop_table th,
.prosa-legal table.shop_table td {
	padding: .9rem .7rem;
	text-align: left;
	border-bottom: 1px solid var(--linea);
	vertical-align: middle;
}
.prosa-legal table.shop_table thead th {
	font-size: .85rem;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: var(--gris);
	border-bottom: 2px solid var(--tinta);
}
.prosa-legal table.shop_table tfoot th {
	text-align: left;
	color: var(--tinta2);
	font-weight: 600;
}
.prosa-legal table.shop_table tr.order-total th,
.prosa-legal table.shop_table tr.order-total td {
	font-size: 1.2rem;
	font-weight: 800;
	color: var(--tinta);
	border-top: 2px solid var(--tinta);
	border-bottom: none;
}
.prosa-legal table.shop_table td.product-thumbnail img {
	width: 64px;
	height: 64px;
	object-fit: contain;
	border-radius: var(--radio-s);
	border: 1px solid var(--linea);
	background: #fff;
}
.prosa-legal table.shop_table td.product-name a {
	color: var(--tinta);
	font-weight: 600;
}
.prosa-legal table.shop_table td.product-name a:hover {
	color: var(--azul);
}
.prosa-legal table.shop_table .product-quantity strong {
	font-weight: 600;
	color: var(--gris);
}

/* ------------------------------------------------------------------ carrito /cart/ */

.prosa-legal .woocommerce-cart-form table.cart td.product-remove {
	text-align: center;
}
.prosa-legal .woocommerce-cart-form a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--wc-error-bg);
	color: var(--wc-error) !important;
	font-size: 1.3rem;
	line-height: 1;
	text-decoration: none !important;
	transition: background .15s;
}
.prosa-legal .woocommerce-cart-form a.remove:hover {
	background: var(--wc-error);
	color: #fff !important;
}

.prosa-legal .quantity {
	display: inline-flex;
}
.prosa-legal .quantity input.qty {
	width: 4.2rem;
	min-height: 44px;
	text-align: center;
	padding: .5rem;
}

.prosa-legal table.cart tr.actions td.actions {
	border-bottom: none;
	padding-top: 1.2rem;
}
.prosa-legal table.cart .coupon {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	align-items: center;
	margin-bottom: 1rem;
}
.prosa-legal table.cart .coupon input#coupon_code {
	width: auto;
	min-width: 220px;
	flex: 1 1 220px;
}
.prosa-legal table.cart button[name="update_cart"] {
	margin-left: auto;
}
@media (max-width: 700px) {
	.prosa-legal table.cart button[name="update_cart"] {
		margin-left: 0;
	}
}

.prosa-legal .cart-collaterals {
	display: flex;
	justify-content: flex-end;
	margin-top: 1rem;
}
.prosa-legal .cart_totals {
	width: min(100%, 420px);
	background: var(--hielo);
	border: 1px solid var(--linea);
	border-radius: var(--radio);
	padding: 1.4rem;
}
.prosa-legal .cart_totals h2 {
	font-size: 1.3rem;
	margin: 0 0 1rem;
}
.prosa-legal .cart_totals table.shop_table th,
.prosa-legal .cart_totals table.shop_table td {
	padding: .7rem 0;
	border-bottom: 1px solid var(--linea2);
	background: transparent;
}
.prosa-legal .cart_totals .wc-proceed-to-checkout {
	margin-top: 1.2rem;
}
.prosa-legal .cart_totals .wc-proceed-to-checkout a.checkout-button {
	display: flex;
}

.prosa-legal .cross-sells {
	margin-top: 2.5rem;
	clear: both;
}
.prosa-legal .cross-sells h2 {
	font-size: 1.4rem;
	margin-bottom: 1rem;
}
.prosa-legal .cross-sells ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 1.2rem;
	list-style: none;
}
.prosa-legal .cross-sells ul.products li.product {
	border: 1px solid var(--linea);
	border-radius: var(--radio);
	padding: 1rem;
	background: #fff;
}
.prosa-legal .cross-sells ul.products li.product img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: contain;
	margin-bottom: .6rem;
}
.prosa-legal .cross-sells ul.products li.product .woocommerce-loop-product__title {
	font-size: .98rem;
	font-weight: 600;
	color: var(--tinta);
}
.prosa-legal .cross-sells ul.products li.product .price {
	display: block;
	color: var(--tinta2);
	margin-top: .3rem;
}

@media (max-width: 760px) {
	.prosa-legal table.shop_table.shop_table_responsive thead {
		display: none;
	}
	.prosa-legal table.shop_table.shop_table_responsive,
	.prosa-legal table.shop_table.shop_table_responsive tbody,
	.prosa-legal table.shop_table.shop_table_responsive tr,
	.prosa-legal table.shop_table.shop_table_responsive td {
		display: block;
		width: 100%;
	}
	.prosa-legal table.shop_table.shop_table_responsive tr {
		padding: .8rem 0;
		border-bottom: 1px solid var(--linea);
	}
	.prosa-legal table.shop_table.shop_table_responsive td {
		border-bottom: none;
		padding: .3rem 0;
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 1rem;
		text-align: right;
	}
	.prosa-legal table.shop_table.shop_table_responsive td::before {
		content: attr(data-title) ":";
		font-weight: 600;
		color: var(--gris);
		text-align: left;
	}
	.prosa-legal table.shop_table.shop_table_responsive td.product-thumbnail::before,
	.prosa-legal table.shop_table.shop_table_responsive td.product-remove::before {
		content: none;
		display: none;
	}
	.prosa-legal table.shop_table.shop_table_responsive td.product-remove {
		justify-content: flex-end;
	}
	.prosa-legal .cart_totals {
		width: 100%;
	}
}

/* ------------------------------------------------------------------ checkout /checkout/ */

.prosa-legal form.checkout.woocommerce-checkout {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	grid-template-rows: auto 1fr;
	column-gap: 2.5rem;
	row-gap: 1rem;
	grid-template-areas:
		"billing heading"
		"billing summary";
	align-items: start;
}
.prosa-legal .col2-set#customer_details {
	grid-area: billing;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 1.5rem;
}
.prosa-legal .col2-set#customer_details .col-1,
.prosa-legal .col2-set#customer_details .col-2 {
	min-width: 0;
}
.prosa-legal #order_review_heading {
	grid-area: heading;
}
.prosa-legal #order_review.woocommerce-checkout-review-order {
	grid-area: summary;
	background: var(--hielo);
	border: 1px solid var(--linea);
	border-radius: var(--radio);
	padding: 1.4rem;
	align-self: start;
	position: sticky;
	top: 1rem;
}
.prosa-legal #order_review table.shop_table th,
.prosa-legal #order_review table.shop_table td {
	background: transparent;
	padding: .6rem 0;
}
@media (max-width: 900px) {
	.prosa-legal form.checkout.woocommerce-checkout {
		grid-template-columns: 1fr;
		grid-template-areas: "billing" "heading" "summary";
	}
	.prosa-legal .col2-set#customer_details {
		grid-template-columns: 1fr;
	}
	.prosa-legal #order_review.woocommerce-checkout-review-order {
		position: static;
	}
}

.prosa-legal p.form-row {
	margin: 0 0 1rem;
}
.prosa-legal p.form-row label {
	display: block;
	margin-bottom: .35rem;
	font-weight: 600;
	font-size: .95rem;
	color: var(--tinta);
}
.prosa-legal p.form-row .required {
	color: var(--wc-error);
	text-decoration: none;
}
.prosa-legal p.form-row .optional {
	color: var(--gris);
	font-weight: 400;
}
.prosa-legal .woocommerce-input-wrapper {
	display: block;
}
.prosa-legal p.form-row-first,
.prosa-legal p.form-row-last {
	width: calc(50% - .5rem);
	display: inline-block;
}
.prosa-legal p.form-row-first {
	margin-right: 1rem;
}
@media (max-width: 500px) {
	.prosa-legal p.form-row-first,
	.prosa-legal p.form-row-last {
		width: 100%;
		margin-right: 0;
	}
}
.prosa-legal .woocommerce-validated input.input-text {
	border-color: var(--ok);
}
.prosa-legal .woocommerce-invalid input.input-text,
.prosa-legal .woocommerce-invalid-required-field input.input-text {
	border-color: var(--wc-error);
}

.prosa-legal .woocommerce-billing-fields h3,
.prosa-legal .woocommerce-shipping-fields h3 {
	display: flex;
	align-items: center;
	gap: .6rem;
}
.prosa-legal .woocommerce-shipping-fields h3 label {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-size: 1rem;
	font-weight: 500;
	margin: 0;
	cursor: pointer;
}
.prosa-legal .shipping_address {
	display: none;
	margin-top: 1rem;
}
.prosa-legal .woocommerce-additional-fields {
	margin-top: .5rem;
}
.prosa-legal .woocommerce-account-fields {
	margin-top: 1.2rem;
	padding-top: 1.2rem;
	border-top: 1px solid var(--linea);
}
.prosa-legal .create-account label.checkbox,
.prosa-legal .woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-weight: 500;
	cursor: pointer;
}

.prosa-legal ul.wc_payment_methods {
	list-style: none;
	margin: 1.2rem 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: .6rem;
}
.prosa-legal ul.wc_payment_methods li.wc_payment_method {
	border: 1.5px solid var(--linea2);
	border-radius: var(--radio-s);
	padding: .9rem 1rem;
	background: #fff;
}
.prosa-legal ul.wc_payment_methods li.wc_payment_method label {
	display: flex;
	align-items: center;
	gap: .6rem;
	font-weight: 600;
	cursor: pointer;
	margin: 0;
}
.prosa-legal ul.wc_payment_methods li.wc_payment_method label img {
	height: 22px;
	width: auto;
	display: inline;
	margin-left: .3rem;
}
.prosa-legal ul.wc_payment_methods li.wc_payment_method .payment_box {
	margin: .9rem 0 0 1.7rem;
	padding: 1rem;
	background: var(--hielo);
	border-radius: var(--radio-s);
	font-size: .95rem;
	color: var(--tinta2);
}
.prosa-legal ul.wc_payment_methods li.wc_payment_method .payment_box p:first-child {
	margin-top: 0;
}
.prosa-legal ul.wc_payment_methods li.wc_payment_method .payment_box ul {
	padding-left: 1.1rem;
}

.prosa-legal .woocommerce-terms-and-conditions-wrapper {
	margin: 1rem 0;
	font-size: .95rem;
	color: var(--tinta2);
}
.prosa-legal .woocommerce-terms-and-conditions-wrapper p.form-row label {
	display: flex;
	align-items: flex-start;
	gap: .5rem;
	font-weight: 400;
}

.prosa-legal #payment .form-row.place-order {
	margin-top: 1.2rem;
}
.prosa-legal #payment .form-row.place-order .button.alt {
	width: 100%;
}

/* ------------------------------------------------------------------ pedido recibido */

.prosa-legal .woocommerce-order {
	max-width: 760px;
}
.prosa-legal .woocommerce-order p.woocommerce-notice--success,
.prosa-legal .woocommerce-thankyou-order-received {
	background: #eaf7ef;
	border: 1px solid #bfe6cc;
	border-left: 4px solid var(--ok);
	border-radius: var(--radio-s);
	padding: 1rem 1.2rem;
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--tinta);
	margin: 0 0 1.5rem;
}
.prosa-legal .woocommerce-order p.woocommerce-notice--error {
	background: var(--wc-error-bg);
	border: 1px solid var(--wc-error-borde);
	border-left: 4px solid var(--wc-error);
	border-radius: var(--radio-s);
	padding: 1rem 1.2rem;
	margin: 0 0 1rem;
}
.prosa-legal ul.woocommerce-order-overview {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem 2.5rem;
	background: var(--hielo);
	border: 1px solid var(--linea);
	border-radius: var(--radio);
	padding: 1.2rem 1.4rem;
	margin: 0 0 2rem;
}
.prosa-legal ul.woocommerce-order-overview li {
	font-size: .85rem;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: var(--gris);
}
.prosa-legal ul.woocommerce-order-overview li strong {
	display: block;
	margin-top: .2rem;
	font-size: 1.05rem;
	text-transform: none;
	letter-spacing: normal;
	color: var(--tinta);
}
.prosa-legal .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	margin-top: 2rem;
}
.prosa-legal .woocommerce-columns--addresses address {
	font-style: normal;
	color: var(--tinta2);
	line-height: 1.6;
}
@media (max-width: 700px) {
	.prosa-legal .woocommerce-columns--addresses {
		grid-template-columns: 1fr;
	}
}

/* ------------------------------------------------------------------ mi cuenta /my-account/ */

.prosa-legal .u-columns.col2-set#customer_login {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2.5rem;
}
@media (max-width: 760px) {
	.prosa-legal .u-columns.col2-set#customer_login {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
}
.prosa-legal .woocommerce-form-login__rememberme {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-weight: 400;
	margin-bottom: 1rem;
	cursor: pointer;
}
.prosa-legal .woocommerce-LostPassword {
	margin-top: .8rem;
	font-size: .95rem;
}

.prosa-legal nav.woocommerce-MyAccount-navigation {
	margin-bottom: 2rem;
}
.prosa-legal nav.woocommerce-MyAccount-navigation ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	border-bottom: 1px solid var(--linea);
	padding-bottom: .8rem;
}
.prosa-legal nav.woocommerce-MyAccount-navigation li {
	margin: 0;
}
.prosa-legal nav.woocommerce-MyAccount-navigation li a {
	display: inline-block;
	padding: .5rem .95rem;
	border-radius: 999px;
	font-weight: 600;
	font-size: .95rem;
	color: var(--tinta2);
	text-decoration: none !important;
}
.prosa-legal nav.woocommerce-MyAccount-navigation li a:hover {
	background: var(--hielo);
	color: var(--azul);
}
.prosa-legal nav.woocommerce-MyAccount-navigation li.is-active a,
.prosa-legal nav.woocommerce-MyAccount-navigation li a[aria-current="page"] {
	background: var(--azul);
	color: #fff;
}

.prosa-legal .woocommerce-MyAccount-content > p:first-child {
	font-size: 1.05rem;
}

.prosa-legal table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	justify-content: flex-end;
}
.prosa-legal table.woocommerce-orders-table a.button {
	min-height: 38px;
	padding: .4rem .8rem;
	font-size: .88rem;
}
.prosa-legal .woocommerce-pagination {
	display: flex;
	justify-content: space-between;
	margin-top: 1rem;
}

.prosa-legal .woocommerce-MyAccount-navigation-link--customer-logout a {
	color: var(--wc-error);
}

@media (max-width: 760px) {
	.prosa-legal table.woocommerce-orders-table.shop_table_responsive .woocommerce-orders-table__cell-order-actions {
		justify-content: flex-start;
	}
}

/* ------------------------------------------------------------------ Select2 (correccion 34) */
/* Se mantiene (mejor UX para pais/provincia) y se repinta con los tokens del tema. */

.prosa-legal .select2-container {
	width: 100% !important;
	font-family: var(--sans);
}
.prosa-legal .select2-container .select2-selection--single {
	height: 48px;
	border: 1.5px solid var(--linea2);
	border-radius: var(--radio-s);
	background: #fff;
	display: flex;
	align-items: center;
}
.prosa-legal .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding-left: .85rem;
	color: var(--tinta);
	line-height: 1.3;
}
.prosa-legal .select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: var(--gris);
}
.prosa-legal .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 46px;
	right: .5rem;
}
.prosa-legal .select2-container--open .select2-selection--single,
.prosa-legal .select2-container--focus .select2-selection--single {
	border-color: var(--azul);
	box-shadow: 0 0 0 3px var(--azul-claro);
}
/* El desplegable abierto (.select2-dropdown) Select2 lo añade junto al propio
   .select2-container (no siempre queda dentro de .prosa-legal si el navegador lo
   reposiciona): estas reglas van SIN el ancestro .prosa-legal a proposito. */
.select2-dropdown {
	border-color: var(--linea2);
	border-radius: var(--radio-s);
	box-shadow: var(--sombra);
	font-family: var(--sans);
}
.select2-search--dropdown .select2-search__field {
	border: 1.5px solid var(--linea2);
	border-radius: var(--radio-s);
	padding: .4rem .6rem;
	font-family: var(--sans);
}
.select2-results__option--highlighted[aria-selected] {
	background: var(--azul) !important;
	color: #fff !important;
}
.select2-results__option[aria-selected="true"] {
	background: var(--hielo);
}

/* ------------------------------------------------------------------ WooCommerce si no hay carrito posible */

.prosa-legal .cart-empty,
.prosa-legal .return-to-shop {
	font-size: 1.05rem;
}

/* Sin WooCommerce activo (correccion 9): esta hoja no se encola siquiera
   (cz_pagina_wc() depende de is_woocommerce()/is_cart()/is_checkout()/is_account_page(),
   que ya devuelven false si WooCommerce esta apagado), asi que no hace falta guarda
   aqui dentro: el fichero simplemente no se carga. */

/* ===== Carrito básico (10-sep): productos a la izquierda, totales y «Finalizar compra» a la derecha, siempre a la vista ===== */
.woocommerce-cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 360px; grid-template-areas: "avisos avisos" "items totales"; gap: 1.6rem 2.2rem; align-items: start; }
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { grid-area: avisos; }
.woocommerce-cart .woocommerce > form.woocommerce-cart-form { grid-area: items; }
.woocommerce-cart .woocommerce > .cart-collaterals { grid-area: totales; position: sticky; top: 96px; }
.woocommerce-cart .cross-sells { display: none !important; }
.woocommerce-cart .cart_totals { background: var(--hielo, #f3f7fc); border: 1px solid var(--linea, #dbe4f0); border-radius: 14px; padding: 1.2rem 1.3rem 1.3rem; }
.woocommerce-cart .cart_totals h2 { font-size: 1.15rem; margin: 0 0 .7rem; }
.woocommerce-cart .cart_totals table { width: 100%; border-collapse: collapse; }
.woocommerce-cart .cart_totals th { text-align: left; padding: .55rem 1rem .55rem 0; font-weight: 600; white-space: nowrap; vertical-align: top; }
.woocommerce-cart .cart_totals td { text-align: right; padding: .55rem 0; vertical-align: top; }
.woocommerce-cart .cart_totals tr.order-total th, .woocommerce-cart .cart_totals tr.order-total td { font-size: 1.25rem; border-top: 1px solid var(--linea, #dbe4f0); padding-top: .8rem; }
.woocommerce-cart .cart_totals .includes_tax { display: block; font-size: .82rem; font-weight: 400; color: var(--gris, #5b6b80); }
.woocommerce-cart .cart_totals .woocommerce-shipping-destination, .woocommerce-cart .cart_totals .shipping-calculator-button, .woocommerce-cart .cart_totals .woocommerce-shipping-calculator { display: none !important; }
.woocommerce-cart .cart_totals ul#shipping_method { list-style: none; margin: 0; padding: 0; }
.woocommerce-cart .cart_totals ul#shipping_method li { margin: 0; }
.woocommerce-cart .wc-proceed-to-checkout { padding: 0; margin: .9rem 0 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: flex !important; justify-content: center; width: 100%; min-height: 58px; font-size: 1.12rem; font-weight: 700; margin: 0 0 .7rem; }
.woocommerce-cart .wc-proceed-to-checkout .wcpay-express-checkout-wrapper, .woocommerce-cart .wc-proceed-to-checkout #wcpay-express-checkout-element { margin-top: .4rem; }
.woocommerce-cart button[name="update_cart"] { min-height: 44px; }
@media (max-width: 900px) {
  .woocommerce-cart .woocommerce { grid-template-columns: 1fr; grid-template-areas: "avisos" "items" "totales"; gap: 1rem; }
  .woocommerce-cart .woocommerce > .cart-collaterals { position: static; }
}
@media (max-width: 900px) {
  .woocommerce-cart .cart_totals th { display: none !important; }
  .woocommerce-cart .cart_totals td { display: flex !important; justify-content: space-between; gap: 1rem; text-align: right; }
  .woocommerce-cart .cart_totals td::before { content: attr(data-title); font-weight: 600; text-align: left; }
  .woocommerce-cart .cart_totals tr.order-total td::before { font-size: 1.1rem; }
}
@media (max-width: 900px) { .woocommerce-cart table.shop_table td.actions::before { display: none !important; content: none !important; } }
