/* ==========================================================================
   09 · CARRITO Y CHECKOUT EN BLOQUES (WooCommerce Blocks)
   Campos oscuros, etiquetas legibles y selector de entrega con contraste.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Títulos de cada paso
   -------------------------------------------------------------------------- */
.mp-tema .wc-block-components-checkout-step__title,
.mp-tema .wc-block-components-title {
	font-family: var(--mp-f-titulo);
	color: var(--mp-blanco);
	text-transform: uppercase;
}
.mp-tema .wc-block-components-checkout-step__description,
.mp-tema .wc-block-components-checkout-step__heading-content {
	color: var(--mp-texto-suave);
}

/* --------------------------------------------------------------------------
   Campos de texto (correo, nombre, dirección, teléfono…)
   -------------------------------------------------------------------------- */
.mp-tema .wc-block-components-text-input input[type="text"],
.mp-tema .wc-block-components-text-input input[type="email"],
.mp-tema .wc-block-components-text-input input[type="tel"],
.mp-tema .wc-block-components-text-input input[type="number"],
.mp-tema .wc-block-components-text-input input[type="password"],
.mp-tema .wc-block-components-text-input input[type="url"],
.mp-tema .wc-block-components-textarea,
.mp-tema .wc-block-components-form .wc-block-components-text-input input,
.mp-tema .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.mp-tema .wc-blocks-components-select .wc-blocks-components-select__select {
	background-color: var(--mp-superficie-2) !important;
	border: 1px solid var(--mp-borde-fuerte) !important;
	border-radius: var(--mp-radio) !important;
	color: var(--mp-blanco) !important;
	box-shadow: none !important;
	font-family: var(--mp-f-texto) !important;
}
.mp-tema .wc-block-components-text-input input:focus,
.mp-tema .wc-block-components-textarea:focus,
.mp-tema .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input:focus,
.mp-tema .wc-blocks-components-select .wc-blocks-components-select__select:focus {
	border-color: var(--mp-verde) !important;
	box-shadow: 0 0 0 3px var(--mp-verde-suave) !important;
	outline: none !important;
}

/* Etiqueta flotante ("Dirección de correo electrónico", "Nombre"…) */
.mp-tema .wc-block-components-text-input label,
.mp-tema .wc-block-components-combobox .wc-block-components-combobox-control label,
.mp-tema .wc-blocks-components-select .wc-blocks-components-select__label {
	color: var(--mp-texto-suave) !important;
	font-family: var(--mp-f-texto) !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	opacity: 1 !important;
}
.mp-tema .wc-block-components-text-input.is-active label,
.mp-tema .wc-block-components-combobox.is-active .wc-block-components-combobox-control label {
	color: var(--mp-verde) !important;
}

/* Selects (Región, País) */
.mp-tema .wc-blocks-components-select .wc-blocks-components-select__container {
	background: var(--mp-superficie-2) !important;
	border-radius: var(--mp-radio);
}
.mp-tema .wc-blocks-components-select .wc-blocks-components-select__expand {
	fill: var(--mp-blanco) !important;
}
.mp-tema .wc-blocks-components-select__select option {
	background: var(--mp-superficie-2);
	color: var(--mp-blanco);
}

/* Lista desplegable del combobox */
.mp-tema .wc-block-components-combobox .components-form-token-field__suggestions-list,
.mp-tema .components-combobox-control__suggestions-container {
	background: var(--mp-superficie-2) !important;
	border-color: var(--mp-borde-fuerte) !important;
	color: var(--mp-blanco) !important;
}
.mp-tema .components-form-token-field__suggestion.is-selected {
	background: var(--mp-verde) !important;
	color: var(--mp-negro) !important;
}

/* Campos con error */
.mp-tema .wc-block-components-text-input.has-error input,
.mp-tema .wc-block-components-combobox.has-error input {
	border-color: var(--mp-rojo) !important;
}
.mp-tema .wc-block-components-validation-error p { color: var(--mp-rojo) !important; }

/* Íconos internos de los campos (autocompletar) */
.mp-tema .wc-block-components-text-input .wc-block-components-text-input__suffix,
.mp-tema .wc-block-components-text-input button { color: var(--mp-texto-suave); }

/* "+ Añadir apartamento…" y enlaces secundarios */
.mp-tema .wc-block-components-address-form__address_2-toggle,
.mp-tema .wc-block-components-checkout-step a {
	color: var(--mp-verde) !important;
}

/* --------------------------------------------------------------------------
   Selector de entrega: Enviar / Retiro
   -------------------------------------------------------------------------- */
.mp-tema .wc-block-checkout__shipping-method-container {
	gap: 8px;
}
.mp-tema .wc-block-checkout__shipping-method-option {
	background: var(--mp-superficie) !important;
	border: 1px solid var(--mp-borde-fuerte) !important;
	border-radius: var(--mp-radio) !important;
	box-shadow: none !important;
	color: var(--mp-texto) !important;
	transition: border-color var(--mp-trans), background var(--mp-trans);
}
.mp-tema .wc-block-checkout__shipping-method-option:hover {
	border-color: var(--mp-verde) !important;
	color: var(--mp-blanco) !important;
}
.mp-tema .wc-block-checkout__shipping-method-option--selected {
	background: var(--mp-verde-suave) !important;
	border: 2px solid var(--mp-verde) !important;
	color: var(--mp-blanco) !important;
}
.mp-tema .wc-block-checkout__shipping-method-option-title,
.mp-tema .wc-block-checkout__shipping-method-option-price {
	color: inherit !important;
	font-family: var(--mp-f-ui) !important;
	font-weight: 700 !important;
	letter-spacing: .04em;
}
.mp-tema .wc-block-checkout__shipping-method-option svg,
.mp-tema .wc-block-checkout__shipping-method-option-icon {
	fill: currentColor !important;
	color: inherit !important;
}
.mp-tema .wc-block-checkout__shipping-method-option--selected svg {
	fill: var(--mp-verde) !important;
	color: var(--mp-verde) !important;
}

/* --------------------------------------------------------------------------
   Opciones de radio (métodos de envío, puntos de retiro, medios de pago)
   -------------------------------------------------------------------------- */
.mp-tema .wc-block-components-radio-control__option,
.mp-tema .wc-block-components-radio-control-accordion-option {
	background: var(--mp-superficie) !important;
	border-color: var(--mp-borde-fuerte) !important;
	box-shadow: none !important;
	color: var(--mp-texto) !important;
}
.mp-tema .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted,
.mp-tema .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	box-shadow: inset 0 0 0 2px var(--mp-verde) !important;
	background: var(--mp-verde-suave) !important;
}
.mp-tema .wc-block-components-radio-control__label,
.mp-tema .wc-block-components-radio-control__label-group,
.mp-tema .wc-block-components-payment-method-label {
	color: var(--mp-blanco) !important;
	font-family: var(--mp-f-ui) !important;
	font-weight: 700;
}
.mp-tema .wc-block-components-radio-control__description,
.mp-tema .wc-block-components-radio-control__secondary-label,
.mp-tema .wc-block-components-radio-control__secondary-description {
	color: var(--mp-texto-suave) !important;
}
.mp-tema .wc-block-components-radio-control__input {
	background: var(--mp-superficie-2) !important;
	border-color: var(--mp-borde-fuerte) !important;
}
.mp-tema .wc-block-components-radio-control__input:checked {
	border-color: var(--mp-verde) !important;
}
.mp-tema .wc-block-components-radio-control__input:checked::before {
	background: var(--mp-verde) !important;
}
.mp-tema .wc-block-components-radio-control-accordion-content {
	color: var(--mp-texto);
}

/* Tarjeta de dirección guardada */
.mp-tema .wc-block-components-address-card {
	background: var(--mp-superficie) !important;
	border-color: var(--mp-borde-fuerte) !important;
	color: var(--mp-texto) !important;
}
.mp-tema .wc-block-components-address-card address,
.mp-tema .wc-block-components-address-card__address-section--primary { color: var(--mp-blanco) !important; }
.mp-tema .wc-block-components-address-card__edit { color: var(--mp-verde) !important; }

/* Checkbox */
.mp-tema .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	background: var(--mp-superficie-2) !important;
	border-color: var(--mp-borde-fuerte) !important;
}
.mp-tema .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
	background: var(--mp-verde) !important;
	border-color: var(--mp-verde) !important;
}
.mp-tema .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--mp-negro) !important; }
.mp-tema .wc-block-components-checkbox label { color: var(--mp-texto) !important; }

/* --------------------------------------------------------------------------
   Avisos
   -------------------------------------------------------------------------- */
.mp-tema .wc-block-components-notice-banner {
	background: var(--mp-superficie) !important;
	border: 1px solid var(--mp-borde-fuerte) !important;
	border-left: 4px solid var(--mp-verde) !important;
	color: var(--mp-texto) !important;
}
.mp-tema .wc-block-components-notice-banner.is-warning { border-left-color: #f5b400 !important; }
.mp-tema .wc-block-components-notice-banner.is-error { border-left-color: var(--mp-rojo) !important; }
.mp-tema .wc-block-components-notice-banner > svg { background: transparent !important; fill: currentColor; }
.mp-tema .wc-block-components-notice-banner.is-warning > svg { fill: #f5b400 !important; }
.mp-tema .wc-block-components-notice-banner.is-error > svg { fill: var(--mp-rojo) !important; }

/* --------------------------------------------------------------------------
   Resumen del pedido (columna derecha) y totales
   -------------------------------------------------------------------------- */
.mp-tema .wc-block-components-sidebar .wc-block-components-panel,
.mp-tema .wp-block-woocommerce-checkout-order-summary-block,
.mp-tema .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
	background: var(--mp-superficie);
	border: 1px solid var(--mp-borde) !important;
	border-top: 4px solid var(--mp-verde) !important;
	border-radius: 0;
}
.mp-tema .wc-block-components-totals-wrapper,
.mp-tema .wc-block-components-order-summary-item,
.mp-tema .wc-block-cart-items__row,
.mp-tema .wc-block-cart-items { border-color: var(--mp-borde) !important; }
.mp-tema .wc-block-components-totals-item__label,
.mp-tema .wc-block-components-product-name { color: var(--mp-blanco) !important; }
.mp-tema .wc-block-components-product-name {
	font-family: var(--mp-f-ui) !important;
	font-weight: 600;
	text-decoration: none !important;
}
.mp-tema .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.mp-tema .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount {
	color: var(--mp-verde) !important;
	font-family: var(--mp-f-ui);
	font-size: 1.4rem;
	font-weight: 700;
}
.mp-tema .wc-block-components-order-summary-item__quantity {
	background: var(--mp-verde) !important;
	border-color: var(--mp-negro) !important;
	color: var(--mp-negro) !important;
	box-shadow: none !important;
}
.mp-tema .wc-block-components-order-summary-item__image img,
.mp-tema .wc-block-cart-item__image img { background: #fff; border-radius: var(--mp-radio); }
.mp-tema .wc-block-components-product-metadata,
.mp-tema .wc-block-components-product-metadata__description { color: var(--mp-texto-suave) !important; }

/* Cantidad en el carrito de bloques */
.mp-tema .wc-block-components-quantity-selector {
	background: var(--mp-superficie-2) !important;
	border-color: var(--mp-borde-fuerte) !important;
}
.mp-tema .wc-block-components-quantity-selector input,
.mp-tema .wc-block-components-quantity-selector button {
	background: transparent !important;
	color: var(--mp-blanco) !important;
}
.mp-tema .wc-block-cart-item__remove-link { color: var(--mp-texto-suave) !important; }
.mp-tema .wc-block-cart-item__remove-link:hover { color: var(--mp-rojo) !important; }

/* Productos sugeridos (cross-sells) del carrito de bloques */
.mp-tema .wp-block-woocommerce-cart-cross-sells-block h2,
.mp-tema .wc-block-cart__cross-sells h2 { font-size: 1.4rem; }
.mp-tema .cross-sells-product .wc-block-components-product-name,
.mp-tema .wc-block-grid__product-title { font-size: 1rem !important; color: var(--mp-blanco) !important; }

/* --------------------------------------------------------------------------
   Botones de bloques (Finalizar compra, Realizar pedido)
   -------------------------------------------------------------------------- */
.mp-tema .wc-block-components-button:not(.is-link),
.mp-tema .wc-block-cart__submit-button,
.mp-tema .wc-block-components-checkout-place-order-button {
	min-height: 54px;
	background: var(--mp-verde) !important;
	color: var(--mp-negro) !important;
	border: 0 !important;
	border-radius: 0 !important;
	font-family: var(--mp-f-ui) !important;
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	letter-spacing: .08em;
	text-transform: uppercase;
	clip-path: polygon(0 0, calc(100% - var(--mp-corte)) 0, 100% var(--mp-corte), 100% 100%, var(--mp-corte) 100%, 0 calc(100% - var(--mp-corte)));
}
.mp-tema .wc-block-components-button:not(.is-link):hover { background: var(--mp-verde-hover) !important; }
.mp-tema .wc-block-components-button.is-link,
.mp-tema .wc-block-components-checkout-return-to-cart-button { color: var(--mp-texto) !important; }

/* Panel de cupón */
.mp-tema .wc-block-components-panel__button { color: var(--mp-texto) !important; }
.mp-tema .wc-block-components-totals-coupon__button { min-height: 46px; }

/* Términos y política */
.mp-tema .wc-block-checkout__terms,
.mp-tema .wc-block-components-checkout-policies { color: var(--mp-texto-suave) !important; }
