/* ============================================================
   DigiVet — Checkout & Carrito (bloques de WooCommerce)
   Capa 100% visual. Reutiliza los tokens de marca de premium.css
   (--dv-primary, --dv-ink, --dv-line, radios, sombras…).
   Se encola solo en is_checkout() / is_cart().
   ============================================================ */

.woocommerce-checkout .wp-block-woocommerce-checkout,
.woocommerce-cart .wp-block-woocommerce-cart {
	--dv-field-radius: 12px;
	color: var(--dv-ink);
}

/* Un poco más de aire en el lienzo */
.woocommerce-checkout .wc-block-checkout,
.woocommerce-cart .wc-block-cart {
	margin-top: 1rem;
}

/* ---------- Títulos de sección ---------- */
.wc-block-components-checkout-step__title,
.wp-block-woocommerce-checkout .wc-block-components-title,
.wc-block-cart__totals-title {
	font-weight: 800 !important;
	color: var(--dv-ink) !important;
	letter-spacing: -.015em;
}
.wc-block-components-checkout-step {
	margin-bottom: 2rem;
}
.wc-block-components-checkout-step__description,
.wc-block-components-address-card + button,
.wc-block-checkout__guest-checkout-notice {
	color: var(--dv-ink-2);
}

/* ---------- Campos de formulario ---------- */
.wc-block-components-text-input input,
.wc-block-components-text-input .input-text,
.wc-block-components-address-form input,
.wc-block-components-combobox .components-form-token-field,
.wc-block-components-combobox-control input,
.wc-block-components-select .wc-block-components-select__container {
	border: 1.5px solid var(--dv-line) !important;
	border-radius: var(--dv-field-radius) !important;
	background: var(--dv-bg) !important;
	color: var(--dv-ink) !important;
	box-shadow: none !important;
	transition: border-color var(--dv-dur) var(--dv-ease), box-shadow var(--dv-dur) var(--dv-ease) !important;
}

/* Alto y respiro cómodos */
.wc-block-components-text-input input,
.wc-block-components-address-form input {
	min-height: 56px;
	padding: 1.35rem 1rem .55rem !important;
}

/* Foco de marca (anillo suave) */
.wc-block-components-text-input.is-active input,
.wc-block-components-text-input input:focus,
.wc-block-components-address-form input:focus,
.wc-block-components-combobox.is-active .components-form-token-field,
.wc-block-components-select:focus-within .wc-block-components-select__container,
.wc-block-components-combobox-control input:focus {
	border-color: var(--dv-primary) !important;
	box-shadow: 0 0 0 3px var(--dv-primary-050) !important;
	outline: none !important;
}

/* Etiquetas flotantes */
.wc-block-components-text-input label,
.wc-block-components-combobox label,
.wc-block-components-select label {
	color: var(--dv-ink-3) !important;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-combobox.is-active label {
	color: var(--dv-primary) !important;
}

/* Enlace "+ Agregar colonia…" y ayudas */
.wc-block-components-address-form__address_2-toggle,
.wc-block-checkout__add-note .wc-block-components-checkbox__label {
	color: var(--dv-ink-2);
}

/* Checkboxes de marca */
.wc-block-components-checkbox input:checked + .wc-block-components-checkbox__mark,
.wc-block-components-checkbox__input:checked {
	accent-color: var(--dv-primary);
}
.wc-block-components-checkbox svg { color: var(--dv-primary); }

/* ---------- Opciones de envío ---------- */
.wc-block-components-radio-control__option {
	border: 1.5px solid var(--dv-line);
	border-radius: var(--dv-field-radius);
	padding: 1.1rem 1.1rem 1.1rem 3rem;
	margin: 0 0 .6rem;
	transition: border-color var(--dv-dur) var(--dv-ease), background var(--dv-dur) var(--dv-ease);
}
.wc-block-components-radio-control__option:hover { border-color: var(--dv-ink-3); }
.wc-block-components-radio-control__option-checked {
	border-color: var(--dv-primary);
	background: var(--dv-primary-050);
}
.wc-block-components-radio-control__input { accent-color: var(--dv-primary); }
.wc-block-components-radio-control__label { font-weight: 600; }
.wc-block-components-radio-control__secondary-label { color: var(--dv-green); font-weight: 800; }

/* ---------- Resumen del pedido (barra lateral) ---------- */
.wc-block-components-sidebar.wc-block-checkout__sidebar,
.wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-sidebar {
	background: var(--dv-bg);
	border: 1px solid var(--dv-line);
	border-radius: var(--dv-radius-md);
	box-shadow: var(--dv-shadow-2);
	padding: 1.6rem 1.4rem;
}
.wc-block-components-sidebar .wc-block-components-order-summary__title,
.wc-block-components-order-summary .wc-block-components-title {
	font-size: 1.35rem;
	font-weight: 800;
}

/* Miniaturas de producto */
.wc-block-components-order-summary-item__image img,
.wc-block-cart-item__image img {
	border-radius: 10px;
	border: 1px solid var(--dv-line);
	background: var(--dv-bg-2);
}
.wc-block-components-order-summary-item__quantity {
	background: var(--dv-ink) !important;
	color: #fff !important;
	border: none !important;
	font-weight: 700;
}
.wc-block-components-order-summary-item__description .wc-block-components-product-name {
	font-weight: 600;
	color: var(--dv-ink);
}

/* Totales */
.wc-block-components-totals-item {
	color: var(--dv-ink-2);
}
.wc-block-components-totals-item__value {
	font-variant-numeric: tabular-nums;
	color: var(--dv-ink);
}
.wc-block-components-totals-footer-item {
	border-top: 1px solid var(--dv-line);
	margin-top: .4rem;
	padding-top: .9rem;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-weight: 800; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--dv-ink);
	font-weight: 800;
	font-size: 1.55rem;
}
/* Moneda explícita en el monto final. El bloque de totales solo pinta el
   símbolo «$», ambiguo entre MXN y USD; el catálogo se vende en pesos. */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value::after {
	content: " MXN";
	font-size: .58em;
	font-weight: 700;
	letter-spacing: .03em;
	margin-left: .28em;
	color: var(--dv-ink-3);
}
.wc-block-components-totals-footer-item-tax-value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__description {
	color: var(--dv-ink-3);
	font-weight: 500;
}
/* "GRATIS" en verde */
.wc-block-components-totals-shipping .wc-block-components-totals-item__value { color: var(--dv-green); font-weight: 700; }

/* Panel de cupones */
.wc-block-components-panel {
	border-radius: var(--dv-field-radius);
	border: 1px solid var(--dv-line);
}
.wc-block-components-panel__button { color: var(--dv-ink) !important; font-weight: 600 !important; }

/* ---------- Botón principal ---------- */
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout-actions-block button.wc-block-components-button,
.wc-block-cart__submit-button a,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button {
	background: var(--dv-primary) !important;
	color: var(--dv-ink) !important;
	border: none !important;
	border-radius: var(--dv-field-radius) !important;
	font-weight: 800 !important;
	min-height: 58px !important;
	box-shadow: 0 10px 22px rgba(245, 163, 0, .28) !important;
	transition: background var(--dv-dur) var(--dv-ease), transform var(--dv-dur) var(--dv-ease), box-shadow var(--dv-dur) var(--dv-ease);
}
.wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-checkout-actions-block button.wc-block-components-button:hover,
.wc-block-cart__submit-button a:hover {
	background: var(--dv-primary-600) !important;
	transform: translateY(-1px);
	box-shadow: 0 14px 28px rgba(245, 163, 0, .34) !important;
}
.wc-block-components-checkout-place-order-button:active { transform: translateY(0); }

/* Candado en los botones de pago: refuerza la señal de compra segura.
   La clase wc-block-cart__submit-button va en el propio <a>, por eso el
   selector es de descendiente directo del botón, no «botón a». */
.wc-block-cart__submit-button .wc-block-components-button__text::before,
.wc-block-components-checkout-place-order-button .wc-block-components-button__text::before {
	content: "\e308"; /* lock-simple */
	font-family: "Phosphor-Light" !important;
	font-weight: normal;
	font-size: 1.55em;
	line-height: 1;
	margin-right: 0.6rem;
	vertical-align: -0.22em;
}

/* ---------- Avisos ---------- */
.wc-block-components-notice-banner {
	border-radius: var(--dv-field-radius);
}
.wc-block-checkout__terms,
.wc-block-checkout__terms a { color: var(--dv-ink-2); }
.wc-block-checkout__terms a { color: var(--dv-primary); font-weight: 600; }

/* ---------- Responsivo ---------- */
@media (max-width: 780px) {
	.wc-block-components-sidebar.wc-block-checkout__sidebar { padding: 1.3rem 1.1rem; }
	.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 1.35rem; }
	.wc-block-components-checkout-place-order-button,
	.wp-block-woocommerce-checkout-actions-block button.wc-block-components-button { min-height: 54px !important; }
}

/* El total del pie salía en gris de apoyo en algunos renders del bloque:
   el número más importante de la página siempre en tinta. */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-formatted-money-amount { color: var(--dv-ink) !important; }
