/* KAMU · carrito, checkout y Mi cuenta (formularios clásicos de WooCommerce) sobre fondo claro.
   Se carga solo en esas páginas. */

.k-pagina-compra { color: var(--k-pizarra); }
.k-pagina-compra :is(h1, h2, h3) { color: var(--k-azul); }
/* Título con línea delgada debajo (como en la tienda) y al ancho del contenido: venía limitado a 1000 px y quedaba corrido 100 px a la derecha de las tarjetas */
.k-pagina-compra.k-pagina-compra .k-titulo-compra { font-size: clamp(2.2rem, 4.4vw, 3.4rem); max-width: 1200px; margin: 0 auto clamp(28px, 4vw, 44px); padding-bottom: clamp(18px, 2.5vw, 26px); border-bottom: 1px solid color-mix(in srgb, var(--k-azul) 15%, transparent); }
.k-pagina-compra.k-pagina-compra .woocommerce { max-width: none; } /* Woo lo limita a 1000 px (woocommerce-blocktheme.css, ".woocommerce-cart main .woocommerce"; por eso la clase doble); aquí se usan los 1200 de la página */
.k-pagina-compra a { color: var(--k-cafe-oscuro); }
.k-pagina-compra .woocommerce { font-size: 1rem; }

/* Campos y botones */
.k-pagina-compra :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], textarea, select),
.k-pagina-compra .select2-container .select2-selection--single {
	box-sizing: border-box; width: 100%; max-width: 100%; min-height: 48px; padding: 10px 14px; border-radius: 12px; border: 1px solid rgb(27 38 50 / .2); background: var(--k-blanco); color: var(--k-azul); font: inherit; font-weight: 400; box-shadow: none;
}
.k-pagina-compra .select2-container .select2-selection--single { display: flex; align-items: center; }
.k-pagina-compra .select2-container .select2-selection__arrow { height: 46px; }
.k-pagina-compra :is(input, textarea, select):focus { outline: 2px solid var(--k-cafe-oscuro); outline-offset: 1px; border-color: transparent; }
/* Texto de los campos a 16 px: woocommerce-blocktheme.css los dejaba en 13 px (".woocommerce-page form .form-row input.input-text"),
   chico para leer y, en iPhone, bajo 16 px el navegador hace zoom al tocar el campo */
body .k-pagina-compra.k-pagina-compra form .form-row :is(input.input-text, select, textarea),
body .k-pagina-compra.k-pagina-compra .select2-container .select2-selection__rendered { font-size: 1rem; }
.select2-container--open .select2-results__option, .select2-container--open .select2-search__field { font-size: 1rem; } /* lista de regiones: se dibuja fuera del formulario */
.k-pagina-compra .form-row label { font-size: 1rem; font-weight: 400; color: var(--k-pizarra); margin-bottom: 6px; }
/* "body … form" para ganarle a ".woocommerce form .form-row .required" (rojo de Woo) */
body .k-pagina-compra form .form-row .required { color: var(--k-cafe-oscuro); text-decoration: none; }
body .k-pagina-compra #order_review .form-row .required { color: var(--k-cafe-claro); }
.k-pagina-compra :is(.button, button.button, a.button, input.button, #place_order, .checkout-button) {
	display: inline-flex; box-sizing: border-box; /* sin esto, "Finalizar compra" (width 100% + relleno) se salía de la tarjeta en celular */ align-items: center; justify-content: center; min-height: 48px; padding: 0 26px; border-radius: 999px; border: 0;
	background: var(--k-cafe-oscuro); color: var(--k-blanco); font: 500 1rem/1 var(--k-texto); text-decoration: none; cursor: pointer; transition: background-color .25s;
}
.k-pagina-compra :is(.button, #place_order, .checkout-button):hover { background: #7A5A40; color: var(--k-blanco); }
.k-pagina-compra button[name="update_cart"], .k-pagina-compra button[name="apply_coupon"] { background: var(--k-azul); }
.k-pagina-compra button:disabled[name="update_cart"] { opacity: .45; }

/* Avisos */
.k-pagina-compra :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner) {
	border: 0; border-radius: 14px; background: var(--k-blanco); color: var(--k-azul); padding: 14px 18px; box-shadow: inset 4px 0 0 var(--k-cafe-oscuro);
}
.k-pagina-compra .woocommerce-error { box-shadow: inset 4px 0 0 #b3261e; }
.k-pagina-compra :is(.woocommerce-message, .woocommerce-info)::before { color: var(--k-cafe-oscuro); }

/* Aviso de Arma tu pack (plugin KAMU Tienda) */
.k-aviso-pack { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin: 0 0 24px; padding: 16px 20px; border-radius: 16px; background: var(--k-azul); color: var(--k-crema); }
.k-aviso-pack p { margin: 0; }
.k-aviso-pack strong { color: var(--k-blanco); font-weight: 500; }
.k-aviso-pack form { margin: 0; }
.k-aviso-suave { background: var(--k-blanco); color: var(--k-azul); }
.k-btn-borde-claro { border: 1px solid var(--k-azul); color: var(--k-azul) !important; background: transparent; }
.k-btn-borde-claro:hover { background: var(--k-azul); color: var(--k-crema-claro) !important; }

/* Carrito */
.k-pagina-compra .woocommerce-cart-form { background: var(--k-blanco); border-radius: 20px; padding: 8px 20px 20px; }
.k-pagina-compra table.shop_table { border: 0; border-collapse: collapse; margin: 0; }
.k-pagina-compra table.shop_table :is(th, td) { border: 0; border-bottom: 1px solid rgb(27 38 50 / .08); padding: 14px 8px; background: transparent; }
.k-pagina-compra table.shop_table thead th { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--k-pizarra); font-weight: 500; }
.k-pagina-compra .product-thumbnail img { width: 72px !important; height: 72px; object-fit: cover; border-radius: 12px; background: var(--k-crema-claro); }
.k-pagina-compra .product-name a { font-family: var(--k-titulo); font-weight: 700; font-size: 1.1rem; color: var(--k-azul); text-decoration: none; }
.k-pagina-compra .product-name .variation { font-size: .85rem; margin-top: 6px; color: var(--k-pizarra); }
.k-pagina-compra .product-name .variation dt { font-weight: 400; }
/* El valor viene dentro de un <p> (wpautop) que tomaba el tamaño de los párrafos de página: "Arma tu pack:" chico y el texto grande */
.k-pagina-compra .variation :is(dd, dd p) { font-size: inherit; margin: 0; }
.k-pagina-compra :is(.product-price, .product-subtotal) { font-variant-numeric: tabular-nums; color: var(--k-azul); }
.k-pagina-compra :is(.product-price, .product-subtotal) del { color: var(--k-pizarra); opacity: .7; }
.k-pagina-compra :is(.product-price, .product-subtotal) ins { text-decoration: none; font-weight: 500; }
.k-pagina-compra .quantity .qty { width: 72px; min-height: 44px; text-align: center; }
.k-pagina-compra a.remove { color: var(--k-pizarra) !important; font-size: 1.4rem; width: 32px; height: 32px; line-height: 30px; border-radius: 50%; }
.k-pagina-compra a.remove:hover { background: #b3261e; color: var(--k-blanco) !important; }
.k-pagina-compra td.actions { padding-top: 18px; }
.k-pagina-compra .coupon { display: flex; gap: 8px; flex-wrap: wrap; }
.k-pagina-compra .coupon #coupon_code { width: auto; min-width: 180px; }
.k-pagina-compra .cart-collaterals { margin-top: 28px; display: flex; justify-content: flex-end; }
/* Pantallas anchas (desde 1100 px): productos a la izquierda y totales fijos a la derecha (antes iban debajo).
   Más angosto, la tabla quedaba apretada y el cupón se montaba sobre "Actualizar carrito", así que siguen debajo.
   (el límite de 1000 px de Woo se quita arriba, para todo carrito, checkout y Mi cuenta) */
@media (min-width: 1100px) {
	.k-pagina-compra .woocommerce:has(> .woocommerce-cart-form) { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 0 clamp(24px, 3vw, 36px); grid-auto-flow: row dense; align-items: start; }
	.k-pagina-compra .woocommerce:has(> .woocommerce-cart-form) > * { grid-column: 1 / -1; } /* avisos y "Convertir en pack" a todo el ancho */
	.k-pagina-compra .woocommerce:has(> .woocommerce-cart-form) > .woocommerce-cart-form { grid-column: 1; }
	.k-pagina-compra .woocommerce:has(> .woocommerce-cart-form) > .k-completa-caja { grid-column: 1; } /* "Completa tu pack" bajo los productos; los totales abarcan las dos filas */
	.k-pagina-compra .woocommerce:has(> .woocommerce-cart-form) > .cart-collaterals { grid-column: 2; grid-row: span 2; margin-top: 0; display: block; position: sticky; top: calc(96px + env(safe-area-inset-top, 0px)); }
	.k-pagina-compra .woocommerce:has(> .woocommerce-cart-form) .cart_totals { width: 100%; box-sizing: border-box; }
}
.k-pagina-compra .cross-sells { display: none; }

/* "Completa tu pack" (KAMU Tienda, inc/carrito.php): filas como las del armador, bajo los productos */
/* Separada de la compra con aire y la misma línea delgada del título: se lee como sugerencia aparte, no como parte del carrito */
.k-completa { margin-top: clamp(40px, 5vw, 56px); padding-top: clamp(32px, 4vw, 44px); border-top: 1px solid color-mix(in srgb, var(--k-azul) 15%, transparent); }
.k-completa-cab { display: grid; gap: 8px; margin-bottom: 22px; }
.k-completa-cab :is(.k-eyebrow, h2, p) { margin: 0; }
.k-completa-cab h2 { font-size: clamp(1.35rem, 2.2vw, 1.7rem); }
.k-completa-cab p:not(.k-eyebrow) { font-size: .95rem; }
.k-sugerencias { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.k-sug { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 10px 16px 10px 10px; background: var(--k-blanco); border-radius: 14px; }
.k-sug-foto { display: block; width: 72px; height: 72px; border-radius: 10px; overflow: hidden; background: var(--color); }
.k-sug-foto img { width: 100%; height: 100%; object-fit: contain; object-position: center bottom; transition: transform .25s; }
.k-sug-foto:hover img { transform: scale(1.06); }
.k-sug-info { display: grid; gap: 2px; min-width: 0; }
.k-pagina-compra .k-sug-nombre { font-family: var(--k-titulo); font-weight: 700; font-size: 1.05rem; color: var(--k-azul); text-decoration: none; }
.k-pagina-compra .k-sug-nombre:hover { text-decoration: underline; }
.k-sug-det { font-size: .85rem; color: var(--k-pizarra); }
.k-sug-precio { font-size: .95rem; color: var(--k-azul); font-weight: 500; }
.k-sug-acciones { display: flex; align-items: center; gap: 10px; margin: 0; }
.k-sug-acciones .k-formato-chico label { padding: 5px 12px; font-size: .82rem; }
.k-sug-acciones .k-btn { white-space: nowrap; padding-inline: 18px; }
@media (max-width: 640px) {
	.k-sug { grid-template-columns: 60px minmax(0, 1fr); row-gap: 10px; padding: 10px; }
	.k-sug-foto { width: 60px; height: 60px; }
	.k-sug-acciones { grid-column: 1 / -1; flex-wrap: wrap; }
	.k-sug-acciones .k-formato-chico { flex: 1 1 150px; }
	.k-sug-acciones .k-btn { flex: 1 1 140px; }
}
.k-pagina-compra .cart_totals, .k-pagina-compra #order_review { background: var(--k-azul); color: var(--k-crema); border-radius: 20px; padding: 24px; }
.k-pagina-compra .cart_totals { width: min(100%, 420px); float: none; }
.k-pagina-compra :is(.cart_totals, #order_review) h2 { color: var(--k-blanco); font-size: 1.4rem; margin-top: 0; }
/* Párrafos en las tarjetas azules: la regla de páginas claras (.k-claro … p) los dejaba en pizarra sobre azul (1,78:1) */
.k-pagina-compra :is(.cart_totals, #order_review, .k-aviso-pack) p { color: inherit; font-size: inherit; }
/* Cantidad, precios y Total (va en <strong>) del resumen salian en azul sobre azul (1:1, invisibles) por las reglas .k-claro … strong */
.k-pagina-compra :is(.cart_totals, #order_review, .k-aviso-pack) strong,
.k-pagina-compra :is(.cart_totals, #order_review) :is(.product-quantity, .woocommerce-Price-amount, .woocommerce-Price-amount bdi) { color: inherit; }
.k-pagina-compra :is(.cart_totals, #order_review) table.shop_table :is(th, td) { border-bottom-color: color-mix(in srgb, var(--k-crema) 14%, transparent); color: var(--k-crema); }
.k-pagina-compra :is(.cart_totals, #order_review) .order-total :is(th, td) { font-family: var(--k-titulo); font-size: 1.3rem; color: var(--k-blanco); border-bottom: 0; }
.k-pagina-compra :is(.cart_totals, #order_review) a:not(.button) { color: var(--k-cafe-claro); } /* sin :not, "Finalizar compra" quedaba café claro sobre café oscuro (1,79:1) */
/* Métodos de envío ("Blue Express: $3.100") en crema: salían oscuros sobre la tarjeta azul. En el clon nunca se vieron
   porque BlueX solo cotiza en línea. */
.k-pagina-compra :is(.cart_totals, #order_review) #shipping_method :is(li, label, .amount, bdi) { color: var(--k-crema); }
.k-pagina-compra :is(.cart_totals, #order_review) #shipping_method small { color: var(--k-gris-claro); } /* plazo de BlueX ("Hasta 3 días hábiles"): venía gris #767676, 3,4:1 */
.k-pagina-compra .wc-proceed-to-checkout { padding-bottom: 0; }
.k-pagina-compra .wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 54px; font-size: 1.05rem; margin-bottom: 0; }
.k-pagina-compra .cart-empty.woocommerce-info { font-size: 1.1rem; }
.k-pagina-compra .return-to-shop .button { margin-top: 12px; }

/* Checkout: datos a la izquierda, resumen fijo a la derecha */
/* El formulario abarca las dos filas; la 2.ª es flexible (1fr), así su alto va a la fila del resumen y no a la del título "Tu pedido" */
.k-pagina-compra form.checkout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); grid-template-rows: auto 1fr; gap: 0 clamp(24px, 4vw, 48px); align-items: start; }
.k-pagina-compra form.checkout > * { grid-column: 1; }
.k-pagina-compra form.checkout > #customer_details { grid-row: 1 / span 2; }
.k-pagina-compra form.checkout > #order_review_heading { grid-column: 2; grid-row: 1; margin: 0 0 12px; }
.k-pagina-compra form.checkout > #order_review { grid-column: 2; grid-row: 2; position: sticky; top: calc(96px + env(safe-area-inset-top, 0px)); }
.k-pagina-compra #customer_details { box-sizing: border-box; background: var(--k-blanco); border-radius: 20px; padding: 24px; }
.k-pagina-compra #customer_details .col-1, .k-pagina-compra #customer_details .col-2 { width: 100%; float: none; }
.k-pagina-compra #customer_details h3 { font-size: 1.35rem; margin-top: 0; }
.k-pagina-compra #customer_details .col-2 { margin-top: 12px; }
.k-pagina-compra #order_review table.shop_table .product-name { color: var(--k-crema); }
.k-pagina-compra #order_review .variation { color: var(--k-gris-claro); font-size: .85rem; }
.k-pagina-compra #payment { background: transparent; border-radius: 0; margin-top: 16px; }
.k-pagina-compra #payment ul.payment_methods { border-bottom: 0; padding: 0; display: grid; gap: 8px; }
.k-pagina-compra #payment ul.payment_methods li { background: var(--k-azul-tarjeta); border: 1px solid var(--k-carbon); border-radius: 14px; padding: 12px 14px; list-style: none; display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 10px; }
.k-pagina-compra #payment ul.payment_methods li:has(> input:checked) { border-color: var(--k-cafe-claro); }
.k-pagina-compra #payment ul.payment_methods li.wc_payment_method:not(.woocommerce-notice)::before, .k-pagina-compra #payment ul.payment_methods li.wc_payment_method:not(.woocommerce-notice)::after { display: none; } /* clearfix de Woo: en la grilla ocupaba la primera celda y corría el botón a la derecha */
.k-pagina-compra #payment ul.payment_methods li > input { margin: 0; }
.k-pagina-compra #payment ul.payment_methods li label { color: var(--k-blanco); font-weight: 500; cursor: pointer; }
.k-pagina-compra #payment ul.payment_methods li > :not(input, label) { grid-column: 1 / -1; }
.k-pagina-compra #payment .k-pago-detalle { display: block; margin-top: 4px; color: var(--k-gris-claro); font-size: .88rem; font-weight: 300; line-height: 1.4; }
.k-pagina-compra #payment ul.payment_methods li img { max-height: 26px; width: auto; vertical-align: middle; margin-left: 6px; background: var(--k-blanco); border-radius: 4px; padding: 2px 4px; }
.k-pagina-compra #payment div.payment_box { background: var(--k-azul); color: var(--k-gris-claro); border-radius: 10px; margin: 10px 0 0; font-size: .9rem; }
.k-pagina-compra #payment div.payment_box::before { display: none; }
.k-pagina-compra #payment div.form-row { padding: 16px 0 0; }
.k-pagina-compra #payment .woocommerce-privacy-policy-text, .k-pagina-compra #payment .woocommerce-terms-and-conditions-wrapper { color: var(--k-gris-claro); font-size: .95rem; }
.k-pagina-compra #payment .woocommerce-form__label-for-checkbox { color: var(--k-crema); }
.k-pagina-compra #place_order { width: 100%; min-height: 56px; font-size: 1.1rem; float: none; }
.k-pagina-compra .woocommerce-form-coupon-toggle .woocommerce-info, .k-pagina-compra .woocommerce-form-login-toggle .woocommerce-info { box-shadow: none; }
.k-pagina-compra form.checkout_coupon, .k-pagina-compra form.woocommerce-form-login { border: 0; border-radius: 16px; background: var(--k-blanco); padding: 18px; }

/* Pedido recibido (plantilla order-confirmation): detalle en tarjeta blanca, resumen y envío en tarjeta azul a la derecha */
.k-pedido-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.k-pedido-grid > * { margin: 0 !important; }
.k-pedido-detalle, .k-pedido-lateral { border-radius: var(--k-radio); padding: clamp(18px, 3vw, 28px); }
.k-pedido-detalle { background: var(--k-blanco); }
.k-pedido :is(.k-pedido-detalle, .k-pedido-lateral) h2 { font-size: 1.4rem; margin: 0 0 14px; }
.k-pedido-detalle table { border: 0; margin: 0; }
.k-pedido-detalle :is(th, td) { border-color: color-mix(in srgb, var(--k-azul) 12%, transparent); padding-inline: 0; }
.k-pedido-detalle tfoot tr:last-child :is(th, td) { font-size: 1.15rem; color: var(--k-azul); }
/* Miniatura del producto (filtro woocommerce_order_item_name del tema): en Pedido recibido y en Mi cuenta → Ver pedido */
/* La foto va fija a la izquierda y el texto (nombre, cantidad, variación) en su propia columna */
.k-pagina-compra :is(.wc-block-order-confirmation-totals__product, .woocommerce-table--order-details .product-name):has(.k-item-foto) { position: relative; padding-left: 70px !important; height: 72px; vertical-align: middle; }
.k-pagina-compra .k-item-foto { position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 56px; height: 56px; overflow: hidden; border-radius: 10px; margin: 0; background: var(--color, var(--k-crema-claro)); }
.k-pagina-compra .k-item-foto img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
/* "Arma tu pack: 10% de descuento" en una sola línea (el valor viene en un <p> que lo bajaba de línea) */
.k-pagina-compra .wc-item-meta { margin: 4px 0 0; padding: 0; list-style: none; font-size: .85rem; }
.k-pagina-compra .wc-item-meta li { margin: 0; }
.k-pagina-compra .wc-item-meta :is(strong, p) { display: inline; margin: 0; font-size: inherit; font-weight: 400; }
.k-pedido-lateral { background: var(--k-azul); color: var(--k-crema); position: sticky; top: 24px; }
.k-pedido-lateral :is(h2, h3) { color: var(--k-crema) !important; }
.k-pedido-lateral h3 { font-size: 1.1rem; margin: 22px 0 8px; }
.k-pedido-lateral :is(p, li, address, strong, span) { color: var(--k-crema) !important; }
.k-pedido-lateral a { color: var(--k-cafe-claro); }
.k-pedido-lateral .wc-block-order-confirmation-summary-list { margin: 0; padding: 0; display: grid; gap: 8px; width: 100%; max-width: none; }
.k-pedido-lateral .wc-block-order-confirmation-summary-list-item { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid color-mix(in srgb, var(--k-crema) 18%, transparent); padding-bottom: 8px; }
.k-pedido-lateral .wc-block-order-confirmation-summary-list-item__key { font-weight: 500; }
.k-pedido-lateral address, .k-pedido-lateral .wc-block-order-confirmation-shipping-address { font-style: normal; line-height: 1.6; border: 0 !important; padding: 0 !important; }
/* Si el pago falló, está pendiente o el pedido se canceló, "Mientras llega tu café" no aplica */
.k-pedido:has(.k-gracias-sin-pasos) ~ .k-llamado { display: none; }
/* Bloque de estado de Woo: su "Gracias" lo reemplaza kamu/gracias; solo se muestra el aviso + formulario
   para confirmar el correo (Woo oculta el detalle de pedidos de invitados pasados unos minutos) */
.k-pedido .wc-block-order-confirmation-status { display: none; }
.k-pedido .wc-block-order-confirmation-status-description { background: var(--k-blanco); border-radius: var(--k-radio); padding: clamp(18px, 3vw, 28px); margin: 0 0 24px; }
.k-pedido .wc-block-order-confirmation-status-description p { margin: 0 0 14px; line-height: 1.6; }
.k-pedido .woocommerce-verify-email { margin: 0; display: grid; gap: 12px; }
.k-pedido .woocommerce-verify-email .form-row { margin: 0; padding: 0; width: 100%; }
.k-pedido .woocommerce-verify-email button { width: 100%; white-space: normal; }
/* "Inicia sesión" viene con class="button": como enlace dentro del texto, no como botón */
.k-pedido .wc-block-order-confirmation-status-description p a.button { all: unset !important; cursor: pointer !important; color: var(--k-cafe-oscuro) !important; font-weight: 500 !important; text-decoration: underline !important; text-underline-offset: 3px !important; } /* !important: la regla de botones de arriba lleva #place_order en su :is() y pesa como un id */
.k-pedido .wc-block-order-confirmation-status-description p a.button:focus-visible { outline: 2px solid var(--k-cafe-oscuro); outline-offset: 3px; border-radius: 4px; }
.k-pedido-lateral:not(:has(.wc-block-order-confirmation-summary-list)) { display: none; }
.k-pedido-grid:not(:has(.wc-block-order-confirmation-totals, .wc-block-order-confirmation-summary-list)) { display: none; }
.k-pedido .wc-block-order-confirmation-additional-information:not(:empty) { margin-top: 20px; }
@media (max-width: 900px) {
	.k-pedido-grid { grid-template-columns: minmax(0, 1fr); }
	.k-pedido-lateral { position: static; }
}

/* Pedido recibido (clásico) y Mi cuenta */
.k-pagina-compra .woocommerce-order-overview { display: flex; flex-wrap: wrap; gap: 12px; padding: 0; }
.k-pagina-compra .woocommerce-order-overview li { list-style: none; border: 0; background: var(--k-blanco); border-radius: 12px; padding: 12px 16px; margin: 0; }
.k-pagina-compra .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; display: grid; gap: 4px; }
.k-pagina-compra .woocommerce-MyAccount-navigation a { display: block; padding: 10px 14px; border-radius: 10px; text-decoration: none; }
.k-pagina-compra .woocommerce-MyAccount-navigation .is-active a { background: var(--k-azul); color: var(--k-crema-claro); }

@media (max-width: 900px) {
	.k-pagina-compra form.checkout { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
	.k-pagina-compra form.checkout > :is(#customer_details, #order_review_heading, #order_review) { grid-column: 1; grid-row: auto; position: static; }
	.k-pagina-compra form.checkout > #order_review_heading { margin-top: 28px; }
	.k-pagina-compra .woocommerce-cart-form { padding: 8px 12px 16px; }
	.k-pagina-compra #customer_details { padding: 18px 14px; }
	.k-pagina-compra form .form-row:is(.form-row-first, .form-row-last) { width: 100%; float: none; } /* uno bajo otro: la regla de Woo (.woocommerce form .form-row-first, 47 %) le ganaba a la anterior */
	.k-pagina-compra .cart_totals { width: 100%; }
	.k-pagina-compra table.shop_table_responsive tr td::before { color: var(--k-pizarra); font-weight: 500; }
	/* Totales en la tarjeta azul: las etiquetas (td::before) quedaban pizarra sobre azul, casi invisibles */
	.k-pagina-compra .cart_totals table.shop_table_responsive tr td::before { color: var(--k-crema); }
	.k-pagina-compra .cart_totals .order-total td::before { color: var(--k-blanco); font-family: var(--k-titulo); }
	/* Cupón y Actualizar carrito a todo el ancho (el campo quedaba angosto y "Aplicar cupón" en dos líneas) */
	.k-pagina-compra .woocommerce-cart-form .coupon { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; width: 100%; float: none; padding: 0; }
	.k-pagina-compra .coupon #coupon_code { width: 100%; min-width: 0; }
	.k-pagina-compra .woocommerce-cart-form :is(.coupon button, button[name="update_cart"]) { width: 100% !important; float: none !important; white-space: nowrap; margin: 0; } /* !important: woocommerce-smallscreen.css los deja al 48% y flotando */
	.k-pagina-compra .woocommerce-cart-form td.actions { background: transparent; padding-inline: 0; }
	/* Foto del producto también en celular (Woo la esconde) */
	.k-pagina-compra table.cart tr.cart_item { position: relative; }
	.k-pagina-compra table.cart td.product-thumbnail { display: block !important; text-align: left !important; border-bottom: 0; padding: 14px 0 0; }
	.k-pagina-compra table.cart td.product-thumbnail::before { display: none; }
	.k-pagina-compra table.cart td.product-remove { position: absolute; top: 10px; right: 0; border: 0; padding: 0; }
}

/* Sin las dos columnas (bajo 1100 px), "Completa tu pack" va después de los totales: así "Finalizar compra"
   no queda ~700 px más abajo en el celular */
@media (max-width: 1099px) {
	.k-pagina-compra .woocommerce:has(> .woocommerce-cart-form) { display: flex; flex-direction: column; }
	.k-pagina-compra .woocommerce:has(> .woocommerce-cart-form) > .k-completa-caja { order: 1; }
}

/* Checkout: foto de cada producto en "Tu pedido" (filtro woocommerce_cart_item_name del tema) */
.k-pagina-compra #order_review td.product-name:has(.k-resumen-foto) { position: relative; padding-left: 74px; height: 76px; vertical-align: middle; }
.k-resumen-foto { position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 60px; height: 60px; border-radius: 10px; overflow: hidden; background: var(--color, var(--k-crema-claro)); }
.k-resumen-foto img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }

/* "Editar carrito" bajo los productos de "Tu pedido" (KAMU Tienda, inc/ajustes.php) */
.k-pagina-compra #order_review tr.k-editar-carrito td { padding-top: 4px; text-align: right; font-size: .92rem; }
.k-pagina-compra #order_review tr.k-editar-carrito a { color: var(--k-cafe-claro); text-decoration: underline; text-underline-offset: 3px; }
.k-pagina-compra #order_review tr.k-editar-carrito a:hover { color: var(--k-crema); }
/* Nombres de producto en el detalle del pedido: mismo estilo con o sin enlace (Woo solo enlaza los que se pueden
   comprar en ese momento; un café agotado salía sin subrayado y el otro subrayado en café) */
.k-pagina-compra :is(.wc-block-order-confirmation-totals__product, .woocommerce-table--order-details .product-name) a { color: inherit; text-decoration: none; }
.k-pagina-compra :is(.wc-block-order-confirmation-totals__product, .woocommerce-table--order-details .product-name) a:hover { text-decoration: underline; text-underline-offset: 3px; }
