/*
 * Grading en el carrito y el pago de bloques (CartService::enqueue): cada
 * línea como el paso «Revisar» de la página — las cartas una a una, las
 * etiquetas (seguro, extras) en pastillas y cómo llegan y vuelven debajo.
 * Las líneas de grading se reconocen por su atributo «Compañía», que sólo
 * tiene el producto de grading; sus datos llevan la clase .ltw-grc.
 */

/* Compañía y servicio ya van en el nombre («Grading CGC · Premium») */
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-product-details.wc-block-components-product-details > span:is(.wc-block-components-product-details__compa-a, .wc-block-components-product-details__servicio) { display: none !important; }

/* La cantidad son las cartas, que ya salen listadas: sin la caja */
.wc-block-cart-items__row:has(.wc-block-components-product-details__compa-a) .wc-block-components-quantity-selector { display: none !important; }

.wc-block-components-product-details:has(.ltw-grc) {
	display: grid;
	gap: 0;
	margin: 10px 0 0 !important;
}

.wc-block-components-product-details:has(.ltw-grc) > span > span[aria-hidden="true"] { display: none; }

.ltw-grc { display: block; }

/* Cada carta: nombre y, debajo, sus datos */
.ltw-grc--card {
	padding: 10px 0;
	border-top: 1px solid #ece4f5;
}

.ltw-grc--card:first-child { padding-top: 0; border-top: 0; }

.ltw-grc__name {
	display: block;
	color: #232323;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
}

.ltw-grc__meta {
	display: block;
	margin-top: 2px;
	color: #6d6578;
	font-size: 13px;
	line-height: 1.4;
}

.ltw-grc--card.is-pending .ltw-grc__name { color: #8a4b00; }

/* Cabecera de la carta: nombre y su precio */
.ltw-grc__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.ltw-grc__price { flex: 0 0 auto; color: #232323; font-size: 14px; font-weight: 600; }

/* Sus etiquetas, como las de «Revisar» */
.ltw-grc__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }

.ltw-grc__tag {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 10px;
	border-radius: 999px;
	background: #f1eef5;
	color: #3c3448;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.4;
}

.ltw-grc__tag.is-insured { background: #e8f5e9; color: #1f6b2a; }

.ltw-grc__tag.is-insured::before {
	content: "";
	width: 12px;
	height: 12px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ltw-grc__tag.is-uninsured { background: #fff4e5; color: #8a4b00; }
.ltw-grc__tag.is-reward { background: #fcf3cf; color: #6b4e00; }

/* Cómo llegan y vuelven: una caja para todo el envío, encima del carrito
 * y del pago (CartService::renderDelivery) */
.ltw-grc-delivery {
	margin: 0 0 24px;
	padding: 18px 22px;
	border: 1px solid #ece4f5;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 12px 12px rgba(13, 4, 22, .07);
}

.ltw-grc-delivery header {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 14px;
	margin-bottom: 10px;
}

.ltw-grc-delivery h2 {
	margin: 0 !important;
	font-family: "Bebas Neue", sans-serif;
	font-size: 24px !important;
	font-weight: 400;
	letter-spacing: .02em;
	line-height: 1 !important;
}

.ltw-grc-delivery header span { color: #6d6578; font-size: 13px; }
.ltw-grc-delivery header a { margin-left: auto; color: #510395; font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

.ltw-grc-delivery dl { display: grid; gap: 6px; margin: 0; }

.ltw-grc-delivery__row {
	display: grid;
	grid-template-columns: 10em 1fr;
	gap: 12px;
	font-size: 14px;
	line-height: 1.5;
}

.ltw-grc-delivery dt { color: #6d6578; font-weight: 600; }
.ltw-grc-delivery dd { margin: 0; color: #232323; }
.ltw-grc-delivery dd span { color: #6d6578; }
.ltw-grc-delivery__account { margin: 10px 0 0; padding-top: 10px; border-top: 1px solid #ece6f3; color: #6d6578; font-size: 13px; }

@media (max-width: 600px) {
	.ltw-grc-delivery { padding: 16px; }
	.ltw-grc-delivery__row { grid-template-columns: 1fr; gap: 0; }
	.ltw-grc-delivery header a { margin-left: 0; }
}

/* Resumen del pago (columna estrecha) */
.wc-block-components-order-summary-item .ltw-grc__tag { padding: 2px 8px; font-size: 12px; }

/* «Quitar» y el resto de la línea los pinta el tema, igual que en cualquier
 * producto (themes/ltw-aqua/assets/css/cart-checkout.css) */

/* Sin huecos: el bloque de atributos (todos ocultos) y el de la cantidad */
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-product-details:has(> .wc-block-components-product-details__compa-a) { display: none !important; }
.wc-block-cart-items__row:has(.wc-block-components-product-details__compa-a) .wc-block-cart-item__quantity { margin: 0 !important; }

/* El precio unitario no dice nada (cada carta lleva el suyo, al lado) */
.wc-block-cart-items__row:has(.ltw-grc) .wc-block-cart-item__prices,
.wc-block-components-order-summary-item:has(.ltw-grc) .wc-block-components-order-summary-item__individual-prices { display: none !important; }

/* Las cartas a todo el ancho de la columna (si no, cada línea mide distinto) */
.wc-block-cart-items__row:has(.ltw-grc) .wc-block-cart-item__wrap,
:is(.wc-block-cart-items__row, .wc-block-components-order-summary-item):has(.ltw-grc) .wc-block-components-product-metadata,
.wc-block-components-product-details:has(.ltw-grc) { width: 100%; max-width: 520px; }
