/* Scalerics Checkout — diseño D. Todo cuelga de body.sc-checkout y de las variables --sc-* (ver DESIGN.md). */

body.sc-checkout .woocommerce,
body.sc-checkout .sc-co { font-family: var(--sc-font); color: var(--sc-text); font-size: 15px; line-height: 1.45; }
body.sc-checkout .woocommerce *,
body.sc-checkout .woocommerce *::before,
body.sc-checkout .woocommerce *::after { box-sizing: border-box; }

/* Texto solo para lectores de pantalla: no todos los temas traen la clase de WordPress. */
body.sc-checkout .screen-reader-text:not(:focus) { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; }

/* Resets de layout: los temas (Astra, Storefront) flotan y dan ancho a estos nodos; no pueden depender de la especificidad. */
body.sc-checkout form.sc-co #order_review, body.sc-checkout form.sc-co #order_review_heading { float: none !important; width: auto !important; padding: 0 !important; border: 0 !important; margin: 0 0 16px !important; background: none !important; }
body.sc-checkout form.sc-co #customer_details { float: none !important; width: 100% !important; margin: 0 !important; }
body.sc-checkout form.sc-co .form-row { width: auto !important; float: none !important; padding: 0 !important; margin: 0 !important; }

/* Layout: columna principal + resumen. Se adapta al ancho del contenedor (la página del tema), no al de la ventana. */
.sc-co { container-type: inline-size; }
.sc-co__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; }
@container (min-width: 820px) {
	.sc-co__grid { grid-template-columns: minmax(0, 1fr) minmax(300px, 380px); gap: 40px; }
}
.sc-co__main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.sc-co__resumen { position: sticky; top: 24px; background: var(--sc-surface-2); border: 1px solid var(--sc-border); border-radius: calc(var(--sc-radius) + 2px); padding: 28px; }
.sc-resumen__toggle { display: none; }
.sc-resumen__titulo { margin: 0 0 16px; font-size: 17px; font-weight: 800; }

/* Pasos */
.sc-paso { border: 1px solid var(--sc-border); border-radius: calc(var(--sc-radius) + 2px); background: var(--sc-surface); }
.sc-paso.is-abierto { border-color: var(--sc-border-strong); }
.sc-paso__cab { display: flex; align-items: center; gap: 14px; padding: 18px 22px; }
.sc-paso__num { width: 28px; height: 28px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--sc-text); color: var(--sc-surface); font-size: 13px; font-weight: 800; }
.sc-paso__ok { display: none; }
.sc-paso.is-hecho .sc-paso__num { background: var(--sc-success-soft); color: var(--sc-accent); }
.sc-paso.is-hecho .sc-paso__n { display: none; }
.sc-paso.is-hecho .sc-paso__ok { display: inline-flex; }
.sc-paso.is-pendiente .sc-paso__num { background: var(--sc-border); color: var(--sc-text-2); }
.sc-paso.is-pendiente .sc-paso__titulo { color: var(--sc-text-2); }
.sc-paso__titulo { margin: 0; font-size: 20px; font-weight: 800; line-height: 1.2; }
.sc-paso__resumen { flex: 1; min-width: 0; font-size: 15px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sc-paso:not(.is-hecho) .sc-paso__resumen { display: none; }
.sc-paso.is-hecho .sc-paso__titulo { font-size: 14px; font-weight: 600; color: var(--sc-text-2); }
.sc-paso__cambiar { margin-left: auto; background: none; border: 0; padding: 10px 4px; min-height: 44px; font: inherit; font-size: 14px; font-weight: 600; color: var(--sc-accent); cursor: pointer; }
.sc-paso__cambiar:hover { text-decoration: underline; }
.sc-paso__cuerpo { padding: 0 22px 22px; display: flex; flex-direction: column; gap: 16px; }
.sc-paso:not(.is-abierto):not([data-paso=pago]) .sc-paso__cuerpo { display: none; }
.sc-paso[data-paso=pago]:not(.is-abierto) .sc-paso__cuerpo { display: block; visibility: hidden; height: 0; overflow: hidden; padding: 0; }
.sc-paso__seguir[hidden] { display: none !important; }
.sc-subtitulo { margin: 8px 0 0; font-size: 17px; font-weight: 800; }

/* Campos (WooCommerce imprime p.form-row) */
.sc-co .form-row { margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; width: auto; float: none; }
.sc-co .form-row label { font-size: 13px; color: var(--sc-text-2); font-weight: 400; margin: 0; line-height: 1.3; }
.sc-co .form-row .required { color: var(--sc-text-2); text-decoration: none; border: 0; }
.sc-co .woocommerce-billing-fields__field-wrapper,
.sc-co .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.sc-co .form-row-wide, .sc-co #billing_address_1_field, .sc-co #shipping_address_1_field, .sc-co #billing_country_field, .sc-co #shipping_country_field { grid-column: 1 / -1; }
.sc-campos--2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.sc-co input.input-text, .sc-co select, .sc-co textarea, .sc-co .select2-container .select2-selection--single {
	width: 100%; min-height: 48px; border: 1px solid var(--sc-border-strong); border-radius: calc(var(--sc-radius) - 2px);
	padding: 0 14px; font: inherit; font-size: 16px; color: var(--sc-text); background: var(--sc-surface); box-shadow: none;
}
.sc-co textarea { padding: 12px 14px; min-height: 88px; }
.sc-co .select2-container .select2-selection--single { display: flex; align-items: center; }
.sc-co .select2-container .select2-selection__arrow { height: 46px; }
.sc-co input.input-text:hover, .sc-co select:hover { border-color: var(--sc-text-2); }
.sc-co input.input-text:focus-visible, .sc-co select:focus-visible, .sc-co textarea:focus-visible,
.sc-co .select2-container--focus .select2-selection--single { outline: 2px solid transparent; outline-offset: 1px; border-color: var(--sc-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--sc-accent) 25%, transparent); }
.sc-co .woocommerce-invalid input.input-text, .sc-co .woocommerce-invalid select { border: 2px solid var(--sc-danger); }
.sc-error-campo, .sc-co .checkout-inline-error-message { margin: 0; font-size: 13px; color: var(--sc-danger); }
.sc-co .form-row:has(.sc-error-campo) .checkout-inline-error-message { display: none; }
.sc-co #customer_details { display: block; width: 100%; }
.sc-co #customer_details .col-1, .sc-co #customer_details .col-2 { width: 100%; float: none; max-width: none; padding: 0; }
.sc-co #customer_details .col-2:empty { display: none; }
.sc-co #ship-to-different-address { margin: 8px 0 0; font-size: 15px; font-weight: 600; }
.sc-co .woocommerce-billing-fields > h3, .sc-co .woocommerce-additional-fields > h3 { display: none; }

/* Tarjetas de envío */
.sc-tarifas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.sc-tarifas--lista { grid-template-columns: 1fr; }
.sc-tarifa { border: 1px solid var(--sc-border-strong); border-radius: calc(var(--sc-radius) + 2px); background: var(--sc-surface); }
.sc-tarifa:hover { border-color: var(--sc-text-2); }
.sc-tarifa.is-elegida, .sc-tarifa:has(input:checked) { border: 2px solid var(--sc-accent); background: var(--sc-accent-soft); }
.sc-tarifa__label { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 16px; cursor: pointer; min-height: 44px; margin: 0; }
.sc-tarifa__label input[type=radio] { position: absolute; top: 16px; left: 16px; opacity: 0; width: 1px; height: 1px; margin: 0; }
.sc-tarifa:has(input:focus-visible) { box-shadow: 0 0 0 3px color-mix(in srgb, var(--sc-accent) 30%, transparent); }
.sc-tarifa__marca { align-self: flex-start; font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--sc-text-2); border: 1px solid var(--sc-border-strong); border-radius: 4px; padding: 2px 6px; line-height: 16px; }
.sc-tarifa__logo { height: 24px; width: auto; max-width: 96px; object-fit: contain; object-position: left; margin-bottom: 2px; }
.sc-tarifa__titulo { font-size: 15px; font-weight: 800; }
.sc-tarifa__detalle { font-size: 13px; color: var(--sc-text-2); }
.sc-tarifa__nota { font-size: 13px; color: var(--sc-text); }
.sc-tarifa__precio { margin-top: 4px; font-size: 20px; font-weight: 800; font-variant-numeric: tabular-nums; }
/* Sin column-gap: la separación va como margen de la marca o del logo, así una tarjeta sin ninguno de los dos no deja una sangría vacía. */
.sc-tarifas--lista .sc-tarifa__label { display: grid; grid-template-columns: auto 1fr auto; column-gap: 0; align-items: center; }
.sc-tarifas--lista .sc-tarifa__titulo, .sc-tarifas--lista .sc-tarifa__detalle, .sc-tarifas--lista .sc-tarifa__nota { grid-column: 2; }
.sc-tarifas--lista .sc-tarifa__logo, .sc-tarifas--lista .sc-tarifa__marca { grid-column: 1; grid-row: 1 / span 3; justify-self: start; align-self: center; margin: 0 14px 0 0; }
.sc-tarifas--lista .sc-tarifa__precio { grid-column: 3; grid-row: 1 / span 3; text-align: right; max-width: 7.5em; margin: 0 0 0 14px; font-size: 17px; }
.sc-tarifa__extra:empty { display: none; }
.sc-tarifa__extra { padding: 0 16px 16px; }
.sc-tarifa:not(.is-elegida) .sc-tarifa__extra { display: none; }
.sc-vacio { margin: 0; padding: 16px; border: 1px dashed var(--sc-border-strong); border-radius: var(--sc-radius); color: var(--sc-text-2); font-size: 14px; }
.sc-envio-opciones.is-cargando .sc-tarifa { opacity: .55; pointer-events: none; }

/* Pago (#payment de WooCommerce) */
.sc-co #payment { background: none; border-radius: 0; padding: 0; }
.sc-co #payment ul.payment_methods { margin: 0; padding: 0; list-style: none; border: 1px solid var(--sc-border-strong); border-radius: calc(var(--sc-radius) + 2px); overflow: hidden; }
.sc-co #payment ul.payment_methods li { margin: 0; padding: 16px 18px; border-bottom: 1px solid var(--sc-border); line-height: 1.4; }
.sc-co #payment ul.payment_methods li:last-child { border-bottom: 0; }
.sc-co #payment ul.payment_methods li:has(> input:checked) { background: var(--sc-accent-soft); box-shadow: inset 3px 0 0 var(--sc-accent); }
.sc-co #payment ul.payment_methods li > label { font-size: 15px; font-weight: 800; cursor: pointer; display: inline-flex; align-items: center; gap: 10px; min-height: 28px; }
.sc-co #payment ul.payment_methods li > label img { max-height: 24px; width: auto; margin: 0; }
.sc-co #payment ul.payment_methods li > input[type=radio] { width: 18px; height: 18px; margin: 0 10px 0 0; vertical-align: middle; accent-color: var(--sc-accent); }
.sc-co #payment div.payment_box { margin: 12px 0 0 28px; padding: 0; background: none; color: var(--sc-text-2); font-size: 14px; }
.sc-co #payment div.payment_box::before { display: none; }
.sc-co #payment .place-order { margin: 16px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.sc-co #payment .woocommerce-terms-and-conditions-wrapper { font-size: 13px; color: var(--sc-text-2); }

/* Botones */
.sc-boton, .sc-co #place_order, body.sc-checkout .sc-carrito .checkout-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 56px; padding: 0 24px;
	border: 0; border-radius: var(--sc-radius); background: var(--sc-accent); color: var(--sc-accent-ink);
	font: inherit; font-size: 17px; font-weight: 800; line-height: 1.2; text-decoration: none; cursor: pointer; float: none;
}
.sc-boton:hover, .sc-co #place_order:hover, body.sc-checkout .sc-carrito .checkout-button:hover { background: color-mix(in srgb, var(--sc-accent) 88%, #000); color: var(--sc-accent-ink); }
.sc-boton:focus-visible, .sc-co #place_order:focus-visible, .sc-paso__cambiar:focus-visible, .sc-boton--sec:focus-visible { outline: 3px solid color-mix(in srgb, var(--sc-accent) 45%, transparent); outline-offset: 2px; }
.sc-paso__seguir { align-self: flex-start; width: auto; min-width: 220px; }
.sc-boton--sec { min-height: 44px; padding: 0 16px; border: 1px solid var(--sc-border-strong); border-radius: calc(var(--sc-radius) - 2px); background: var(--sc-surface); color: var(--sc-text); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.sc-boton--sec:hover { border-color: var(--sc-text-2); }
body.sc-checkout .sc-boton--sec:hover, body.sc-checkout .sc-boton--sec:focus, body.sc-checkout .sc-boton--sec:active { background: var(--sc-surface); color: var(--sc-text); border-color: var(--sc-text-2); box-shadow: none; }
.sc-co #place_order[disabled], form.checkout.processing #place_order { background: var(--sc-border); color: var(--sc-text-2); border: 1px solid var(--sc-border-strong); cursor: progress; }
.sc-spinner, form.checkout.processing #place_order::before { width: 18px; height: 18px; border: 2.5px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: sc-girar .8s linear infinite; }
/* Mientras procesa: el texto del botón se cambia por el spinner y "Procesando el pago…". */
form.checkout.processing #place_order { font-size: 0; }
form.checkout.processing #place_order::before { content: ""; display: block; flex: none; box-sizing: border-box; }
form.checkout.processing #place_order::after { content: "Procesando el pago\2026"; font-size: 17px; }
@keyframes sc-girar { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .sc-spinner, form.checkout.processing #place_order::before { animation: none; } }

/* Resumen */
.sc-items { display: flex; flex-direction: column; gap: 14px; }
.sc-item { display: flex; align-items: center; gap: 14px; }
.sc-item__img { position: relative; flex: none; width: 64px; height: 64px; border-radius: var(--sc-radius); background: var(--sc-border); }
.sc-item__img img { width: 64px; height: 64px; object-fit: cover; border-radius: var(--sc-radius); display: block; }
.sc-item__cant { position: absolute; top: -8px; right: -8px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: var(--sc-text-2); color: #fff; font-size: 13px; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.sc-item__info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.sc-item__nombre { font-size: 15px; }
.sc-item__info dl.variation { margin: 0; font-size: 13px; color: var(--sc-text-2); }
.sc-item__info dl.variation dt, .sc-item__info dl.variation dd { display: inline; margin: 0; }
.sc-item__precio { font-size: 15px; white-space: nowrap; }
/* Precios con cifras de ancho fijo: los totales alinean entre líneas. */
.sc-linea, .sc-total, .sc-item__precio, .sc-cart-item__precio, .sc-cart-item__unitario { font-variant-numeric: tabular-nums; }
.sc-lineas { display: flex; flex-direction: column; gap: 10px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--sc-border); }
.sc-linea { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; }
.sc-linea > span:first-child { color: var(--sc-text-2); }
.sc-linea--descuento > span:last-child { color: var(--sc-accent); }
.sc-total { display: flex; justify-content: space-between; align-items: baseline; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--sc-border); font-size: 17px; font-weight: 800; }
.sc-total strong { font-size: 28px; font-weight: 800; }
.sc-total small, .sc-total .includes_tax { display: block; font-size: 13px; font-weight: 400; color: var(--sc-text-2); }
.sc-confianza { display: flex; gap: 8px; align-items: center; margin: 16px 0 0; font-size: 13px; color: var(--sc-text-2); }

/* Avisos de WooCommerce */
body.sc-checkout .woocommerce-NoticeGroup, body.sc-checkout .woocommerce-notices-wrapper { margin: 0 0 16px; }
body.sc-checkout .woocommerce-error, body.sc-checkout .woocommerce-info, body.sc-checkout .woocommerce-message {
	margin: 0 0 16px; padding: 14px 16px; list-style: none; border: 1px solid var(--sc-border-strong); border-radius: var(--sc-radius);
	background: var(--sc-surface-2); color: var(--sc-text); font-size: 14px;
}
body.sc-checkout .woocommerce-error { background: var(--sc-danger-soft); border-color: color-mix(in srgb, var(--sc-danger) 35%, #fff); color: var(--sc-danger); }
body.sc-checkout .woocommerce-error::before, body.sc-checkout .woocommerce-info::before, body.sc-checkout .woocommerce-message::before { display: none; }
body.sc-checkout .woocommerce-error li { margin: 0; }
body.sc-checkout .wc-block-components-notice-banner { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 16px; padding: 14px 16px; border: 1px solid var(--sc-border-strong); border-radius: var(--sc-radius); background: var(--sc-surface-2); color: var(--sc-text); font-size: 14px; }
body.sc-checkout .wc-block-components-notice-banner > svg { flex: none; width: 20px; height: 20px; fill: currentColor; background: none; border-radius: 0; padding: 0; }
body.sc-checkout .wc-block-components-notice-banner__content { flex: 1; min-width: 0; }
body.sc-checkout .wc-block-components-notice-banner__content ul { margin: 6px 0 0; padding: 0 0 0 18px; }
body.sc-checkout .wc-block-components-notice-banner.is-error { background: var(--sc-danger-soft); border-color: color-mix(in srgb, var(--sc-danger) 35%, #fff); color: var(--sc-danger); }
body.sc-checkout .wc-block-components-notice-banner.is-success { background: var(--sc-accent-soft); border-color: color-mix(in srgb, var(--sc-accent) 35%, #fff); color: var(--sc-text); }
body.sc-checkout .woocommerce-form-coupon-toggle .woocommerce-info { background: none; border-style: dashed; }
body.sc-checkout .checkout_coupon { display: flex; gap: 8px; border: 0; padding: 0; margin: 0 0 16px; }
body.sc-checkout .checkout_coupon p { margin: 0; }
body.sc-checkout .blockUI.blockOverlay { background: transparent !important; }

/* Celular */
@container (max-width: 819.98px) {
	.sc-co__resumen { position: static; order: -1; padding: 0; border-radius: var(--sc-radius); }
	.sc-resumen__toggle { display: flex; width: 100%; min-height: 56px; align-items: center; justify-content: space-between; padding: 0 18px; background: none; border: 0; font: inherit; font-size: 15px; color: var(--sc-accent); cursor: pointer; }
	.sc-resumen__toggle strong { color: var(--sc-text); font-size: 17px; }
	.sc-resumen__cuerpo { padding: 0 18px 18px; }
	.sc-co__resumen:not(.is-abierto) .sc-resumen__cuerpo { display: none; }
	.sc-tarifas { grid-template-columns: 1fr; }
	.sc-tarifa__label { display: grid; grid-template-columns: auto 1fr auto; column-gap: 0; align-items: center; }
	.sc-tarifa__titulo, .sc-tarifa__detalle, .sc-tarifa__nota { grid-column: 2; }
	.sc-tarifa__logo, .sc-tarifa__marca { grid-column: 1; grid-row: 1 / span 3; justify-self: start; align-self: center; margin: 0 12px 0 0; }
	.sc-tarifa__precio { grid-column: 3; grid-row: 1 / span 3; text-align: right; max-width: 7.5em; margin: 0 0 0 12px; font-size: 17px; }
	.sc-campos--2, .sc-co .woocommerce-billing-fields__field-wrapper, .sc-co .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
	.sc-paso__cab, .sc-paso__cuerpo { padding-left: 16px; padding-right: 16px; }
	.sc-paso__seguir { width: 100%; }
	.sc-paso[data-paso=pago].is-abierto .place-order { position: sticky; bottom: 0; background: var(--sc-surface); padding: 12px 0 max(16px, env(safe-area-inset-bottom)); box-shadow: 0 -1px 0 var(--sc-border); z-index: 5; }
}

/* Celular angosto: la marca va arriba del título; como columna propia dejaba el texto en un hilo ("PedidosYa" ocupa 86px). */
@container (max-width: 479.98px) {
	.sc-tarifas .sc-tarifa__label { display: grid; grid-template-columns: 1fr auto; row-gap: 2px; }
	.sc-tarifas .sc-tarifa__titulo, .sc-tarifas .sc-tarifa__detalle, .sc-tarifas .sc-tarifa__nota { grid-column: 1; }
	.sc-tarifas .sc-tarifa__logo, .sc-tarifas .sc-tarifa__marca { grid-column: 1; grid-row: auto; justify-self: start; align-self: start; margin: 0 0 4px; }
	.sc-tarifas .sc-tarifa__precio { grid-column: 2; grid-row: 1 / span 4; align-self: center; margin: 0 0 0 12px; }
}

/* Carrito */
.sc-carrito__titulo { margin: 0; font-size: 28px; font-weight: 800; letter-spacing: -0.01em; }
.sc-carrito__titulo span { font-size: 20px; font-weight: 400; color: var(--sc-text-2); }
.sc-gratis { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: var(--sc-radius); background: var(--sc-accent-soft); color: var(--sc-accent); font-size: 14px; }
.sc-gratis__texto { flex: 1; color: var(--sc-text); }
.sc-gratis__barra { width: 160px; height: 6px; border-radius: 3px; background: color-mix(in srgb, var(--sc-accent) 18%, #fff); overflow: hidden; }
.sc-gratis__barra span { display: block; height: 6px; background: var(--sc-accent); }
.sc-carrito__items { display: flex; flex-direction: column; border: 0; margin: 0; }
.sc-cart-item { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto 120px; align-items: center; gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--sc-border); }
.sc-cart-item__img img { width: 96px; height: 96px; object-fit: cover; border-radius: var(--sc-radius); display: block; background: var(--sc-border); }
.sc-cart-item__info { display: flex; flex-direction: column; gap: 4px; }
.sc-cart-item__nombre { font-size: 17px; font-weight: 600; }
.sc-cart-item__nombre a { color: inherit; text-decoration: none; }
.sc-cart-item__nombre a:hover { text-decoration: underline; }
.sc-cart-item__unitario { font-size: 13px; color: var(--sc-text-2); }
body.sc-checkout .sc-cart-item__quitar.remove { width: auto; height: auto; display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; font-weight: 400; line-height: 1.4; color: var(--sc-text-2) !important; background: none !important; border-radius: 0; text-indent: 0; }
body.sc-checkout .sc-cart-item__quitar.remove:hover { color: var(--sc-danger) !important; text-decoration: underline; }
.sc-cart-item__precio { text-align: right; font-size: 17px; font-weight: 800; }
.sc-cantidad { display: inline-flex; align-items: center; height: 44px; border: 1px solid var(--sc-border-strong); border-radius: calc(var(--sc-radius) - 2px); }
.sc-cantidad__btn { width: 44px; height: 42px; border: 0; background: none; font-size: 18px; color: var(--sc-text); cursor: pointer; }
.sc-cantidad__btn:hover { background: var(--sc-surface-2); }
.sc-cantidad .quantity { margin: 0; }
.sc-cantidad .quantity .qty { width: 40px; min-height: 0; height: 42px; border: 0; padding: 0; text-align: center; font-size: 16px; font-variant-numeric: tabular-nums; -moz-appearance: textfield; background: none; }
.sc-cantidad .quantity .qty::-webkit-inner-spin-button, .sc-cantidad .quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.sc-carrito__acciones { display: flex; gap: 12px; justify-content: space-between; flex-wrap: wrap; padding: 20px 0 0; }
.sc-cupon { display: flex; gap: 8px; }
.sc-cupon .input-text { min-height: 44px; border: 1px solid var(--sc-border-strong); border-radius: calc(var(--sc-radius) - 2px); padding: 0 12px; font: inherit; font-size: 14px; }
.sc-estimacion { display: flex; flex-direction: column; gap: 6px; margin-top: 16px; padding: 14px; border-radius: var(--sc-radius); background: var(--sc-surface); border: 1px solid var(--sc-border); }
.sc-estimacion__titulo { font-size: 14px; font-weight: 600; }
.sc-estimacion__texto { font-size: 13px; color: var(--sc-text-2); }
.sc-lineas--sin-borde { margin-top: 0; padding-top: 0; border-top: 0; }
.sc-co__resumen .wc-proceed-to-checkout { padding: 16px 0 0; }
.sc-co__resumen .cross-sells { display: none; }
.sc-vacio-carrito { max-width: 480px; margin: 48px auto; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 12px; color: var(--sc-text-2); }
.sc-vacio-carrito h1 { margin: 0; font-size: 28px; font-weight: 800; color: var(--sc-text); }
.sc-vacio-carrito p { margin: 0 0 8px; font-size: 15px; }
.sc-vacio-carrito .sc-boton { width: auto; }
/* Resets del carrito: los temas (Astra, Storefront) flotan y estilan estos nodos de WooCommerce. */
body.sc-checkout .sc-carrito .cart-collaterals, body.sc-checkout .sc-carrito .cart_totals, body.sc-checkout .sc-carrito .woocommerce-cart-form { float: none !important; width: auto !important; max-width: none !important; margin: 0 !important; }
body.sc-checkout .sc-carrito .cart_totals { padding: 0 !important; border: 0 !important; background: none !important; }
body.sc-checkout .sc-carrito .shop_table, body.sc-checkout .sc-carrito .actions { width: auto !important; margin: 0 !important; border: 0 !important; background: none !important; }
body.sc-checkout .sc-carrito .sc-carrito__acciones { padding: 20px 0 0 !important; }
@container (max-width: 819.98px) {
	.sc-cart-item { grid-template-columns: 72px minmax(0, 1fr) auto; grid-template-areas: "img info precio" "img cant cant"; gap: 8px 14px; }
	.sc-cart-item__img { grid-area: img; } .sc-cart-item__img img { width: 72px; height: 72px; }
	.sc-cart-item__info { grid-area: info; } .sc-cart-item__precio { grid-area: precio; } .sc-cart-item__cant { grid-area: cant; }
	/* Separación entre "Quitar" (fin de la info) y el selector de cantidad: un toque impreciso no borra el producto. */
	.sc-cart-item__cant { margin-top: 12px; }
	.sc-gratis__barra { width: 80px; }
	.sc-carrito .sc-co__resumen { order: 0; padding: 20px; }
}
/* Carrito: ajustes tras revisión */
.sc-carrito .woocommerce-cart-form { display: flex; flex-direction: column; gap: 16px; }
body.sc-checkout .sc-carrito .product-remove { display: block !important; width: auto !important; padding: 0 !important; border: 0 !important; background: none !important; }
/* "Quitar": área táctil de 44 px; el margen negativo deja el texto alineado con el nombre aunque tenga padding. */
body.sc-checkout .sc-carrito .product-remove a.remove { width: auto !important; height: auto !important; min-height: 44px !important; border: 0 !important; border-radius: 0 !important; line-height: 1.4 !important; display: inline-flex !important; align-items: center !important; text-align: left !important; background: none !important; padding: 0 8px !important; margin: 0 0 0 -8px !important; font-size: 13px !important; font-weight: 400 !important; color: var(--sc-text-2) !important; text-indent: 0 !important; }
body.sc-checkout .sc-carrito .product-remove a.remove:hover { color: var(--sc-danger) !important; text-decoration: underline; background: none !important; }
body.sc-checkout .sc-carrito .cart_totals h2 { background: none !important; border: 0 !important; padding: 0 !important; margin: 0 0 12px !important; }
body.sc-checkout .sc-carrito .product-remove a.remove::before, body.sc-checkout .sc-carrito .product-remove a.remove::after { content: none !important; display: none !important; }

/* Gracias por tu compra */
.sc-gracias__cab { display: flex; gap: 18px; align-items: center; }
.sc-gracias__ok { width: 56px; height: 56px; flex: none; border-radius: 50%; background: var(--sc-accent); color: var(--sc-accent-ink); display: flex; align-items: center; justify-content: center; }
.sc-gracias__num { font-size: 14px; color: var(--sc-text-2); }
.sc-gracias h1 { margin: 2px 0 0; font-size: 28px; font-weight: 800; letter-spacing: -0.01em; line-height: 1.15; }
.sc-transferencia { display: flex; flex-direction: column; gap: 14px; padding: 24px; border: 2px solid var(--sc-accent); border-radius: calc(var(--sc-radius) + 2px); background: var(--sc-accent-soft); }
.sc-transferencia h2, .sc-que-sigue h2 { margin: 0; font-size: 20px; font-weight: 800; }
.sc-transferencia p { margin: 0; font-size: 15px; }
.sc-transferencia__datos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.sc-dato { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 14px; border-radius: calc(var(--sc-radius) - 2px); background: var(--sc-surface); border: 1px solid color-mix(in srgb, var(--sc-accent) 20%, #fff); font-size: 14px; }
.sc-dato > span { display: flex; flex-direction: column; min-width: 0; }
.sc-dato strong { font-size: 15px; word-break: break-all; }
.sc-dato__et { color: var(--sc-text-2); font-size: 13px; }
.sc-dato__error { margin-top: 4px; color: var(--sc-danger); font-size: 13px; }
.sc-boton--wa { width: auto; align-self: flex-start; background: #25d366; color: #0b2e17; }
.sc-boton--wa:hover { background: #1fb457; color: #0b2e17; }
.sc-que-sigue { display: flex; flex-direction: column; gap: 14px; }
.sc-que-sigue ol { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.sc-que-sigue li { display: flex; flex-direction: column; gap: 6px; padding: 16px; border: 1px solid var(--sc-border); border-radius: calc(var(--sc-radius) + 2px); font-size: 15px; }
.sc-que-sigue li span { font-size: 13px; font-weight: 800; color: var(--sc-text-2); }
.sc-que-sigue li.is-actual span { color: var(--sc-accent); }
.sc-que-sigue__mail { margin: 0; font-size: 14px; color: var(--sc-text-2); }
.sc-aviso { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; padding: 20px; border: 1px solid var(--sc-border-strong); border-radius: calc(var(--sc-radius) + 2px); background: var(--sc-surface-2); }
.sc-aviso--error { background: var(--sc-danger-soft); border-color: color-mix(in srgb, var(--sc-danger) 35%, #fff); color: var(--sc-danger); }
.sc-aviso h1 { margin: 0; font-size: 20px; font-weight: 800; }
.sc-aviso p { margin: 0; }
.sc-aviso .sc-boton { width: auto; }
/* Resets de la gracias: Astra estila el markup de order-received (títulos con fondo y bordes, sidebar). */
body.sc-checkout .sc-gracias h1, body.sc-checkout .sc-gracias h2 { float: none !important; width: auto !important; padding: 0 !important; border: 0 !important; background: none !important; }
body.sc-checkout .sc-gracias h1 { margin: 2px 0 0 !important; }
body.sc-checkout .sc-gracias .sc-aviso h1 { margin: 0 !important; }
body.sc-checkout .sc-gracias .sc-transferencia h2, body.sc-checkout .sc-gracias .sc-que-sigue h2 { margin: 0 !important; }
body.sc-checkout .sc-gracias .sc-co__resumen { float: none !important; width: auto !important; max-width: none !important; margin: 0 !important; padding: 28px !important; border: 1px solid var(--sc-border) !important; background: var(--sc-surface-2) !important; }
body.sc-checkout .sc-gracias .sc-co__resumen h2 { margin: 0 0 12px !important; }
body.sc-checkout .sc-gracias ol, body.sc-checkout .sc-gracias .sc-que-sigue li { margin: 0 !important; }
body.sc-checkout .sc-gracias .sc-que-sigue ol { padding: 0 !important; border: 0 !important; }
@container (max-width: 819.98px) {
	.sc-transferencia__datos, .sc-que-sigue ol { grid-template-columns: 1fr; }
	.sc-gracias .sc-co__resumen { order: 0; }
	body.sc-checkout .sc-gracias .sc-co__resumen { padding: 20px !important; }
	.sc-boton--wa { width: 100%; }
}

/* Checkout sin distracciones */
body.sc-sin-distracciones { margin: 0; background: var(--sc-surface); }
.sc-cabecera { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 72px; padding: 0 max(16px, calc((100vw - 1200px) / 2)); border-bottom: 1px solid var(--sc-border); font-family: var(--sc-font); }
.sc-cabecera__logo { max-height: 40px; width: auto; display: block; }
.sc-cabecera__nombre { font-size: 20px; font-weight: 800; color: var(--sc-text); }
.sc-cabecera__inicio { text-decoration: none; }
.sc-cabecera__seguro { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--sc-text-2); }
.sc-pagina { max-width: 1200px; margin: 0 auto; padding: 32px 16px 64px; }

/* ---------- Parte 2: dirección con Google y pin ---------- */
.sc-co .sc-dir-fila .woocommerce-input-wrapper { position: relative; display: block; }
.sc-co .sc-dir-fila input[role=combobox] { padding-left: 40px; }
.sc-co .sc-dir-lupa { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--sc-text-2); pointer-events: none; }
.sc-co .sc-dir-caja { position: absolute; z-index: 20; top: calc(100% + 6px); left: 0; right: 0; background: var(--sc-surface); border: 1px solid var(--sc-border-strong); border-radius: var(--sc-radius); box-shadow: 0 8px 24px rgba(27, 29, 31, .12); overflow: hidden; }
.sc-co .sc-dir-caja[hidden] { display: none; }
.sc-co .sc-dir-lista { list-style: none; margin: 0; padding: 0; }
.sc-co .sc-dir-opcion { display: flex; flex-wrap: wrap; gap: 0 8px; align-items: baseline; min-height: 44px; box-sizing: border-box; padding: 11px 14px; font-size: 15px; cursor: pointer; }
.sc-co .sc-dir-opcion strong { font-weight: 600; color: var(--sc-text); }
.sc-co .sc-dir-opcion span { font-size: 14px; color: var(--sc-text-2); }
.sc-co .sc-dir-opcion:hover, .sc-co .sc-dir-opcion.is-activa { background: var(--sc-accent-soft); }
.sc-co .sc-dir-opcion.is-activa { outline: 3px solid var(--sc-accent); outline-offset: -3px; }
.sc-co .sc-dir-vacio { margin: 0; padding: 12px 14px; font-size: 14px; color: var(--sc-text-2); }
.sc-co .sc-dir-vacio[hidden] { display: none; }
.sc-co .sc-dir-pie { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 0 14px; border-top: 1px solid var(--sc-border); }
.sc-co .sc-dir-google { font-size: 13px; color: var(--sc-text-2); }
body.sc-checkout .sc-co .sc-dir-ubicacion, body.sc-checkout .sc-co .sc-dir-marcar { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0; border: 0; background: none !important; color: var(--sc-accent) !important; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; box-shadow: none; }
body.sc-checkout .sc-co .sc-dir-ubicacion:hover, body.sc-checkout .sc-co .sc-dir-marcar:hover { text-decoration: underline; }
.sc-co .sc-dir-ubicacion:focus-visible, .sc-co .sc-dir-marcar:focus-visible, .sc-co .sc-dir-corregir:focus-visible { outline: 3px solid var(--sc-accent); outline-offset: 2px; }
.sc-co .sc-dir-extra { display: flex; flex-direction: column; align-items: flex-start; }
.sc-co .sc-dir-acciones { display: flex; flex-wrap: wrap; gap: 0 20px; }
.sc-co .sc-dir-nota { margin: 6px 0 0; font-size: 13px; color: var(--sc-text-2); }
.sc-co .sc-dir-nota[hidden] { display: none; }
.sc-co .sc-dir-error { margin: 0; font-size: 13px; color: var(--sc-danger); }
.sc-co .sc-dir-error:empty { display: none; }
.sc-co .sc-dir-panel { position: relative; clear: both; grid-column: 1 / -1; margin: 4px 0 16px; }
.sc-co .sc-dir-panel[hidden] { display: none; }
.sc-co .sc-dir-lienzo { position: relative; }
.sc-co .sc-dir-mover { display: flex; gap: 8px; margin-top: 8px; }
body.sc-checkout .sc-co .sc-dir-mover__btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--sc-border-strong); border-radius: calc(var(--sc-radius) - 2px); background: var(--sc-surface) !important; color: var(--sc-text) !important; cursor: pointer; box-shadow: none; }
body.sc-checkout .sc-co .sc-dir-mover__btn:hover { border-color: var(--sc-text-2); }
.sc-co .sc-dir-mover__btn:focus-visible { outline: 3px solid var(--sc-accent); outline-offset: 2px; }
.sc-co .sc-dir-mapa { height: 220px; border-radius: var(--sc-radius); border: 1px solid var(--sc-border); overflow: hidden; background: var(--sc-surface-2); }
.sc-co .sc-dir-aviso { position: absolute; left: 12px; bottom: 12px; margin: 0; padding: 7px 12px; border-radius: 999px; background: var(--sc-surface); box-shadow: 0 2px 8px rgba(27, 29, 31, .15); font-size: 13px; color: var(--sc-text); pointer-events: none; }
.sc-co .sc-dir-resumen { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 4px 12px; clear: both; grid-column: 1 / -1; margin: 0 0 16px; padding: 10px 14px; border-radius: var(--sc-radius); background: var(--sc-surface-2); font-size: 15px; font-weight: 600; }
.sc-co .sc-dir-resumen[hidden] { display: none; }
body.sc-checkout .sc-co .sc-dir-corregir { min-height: 44px; padding: 0; border: 0; background: none !important; color: var(--sc-accent) !important; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; box-shadow: none; }
.sc-co .sc-dir-oculto { display: none !important; }
@media (max-width: 600px) {
	.sc-co .sc-dir-mapa { height: 200px; }
	.sc-co .sc-dir-fila input[role=combobox] { font-size: 16px; }
}
