/* =========================================================================
   PolePositionChile — Carrito, Finalizar compra y Mi cuenta
   Lleva los bloques de WooCommerce (Cart / Checkout) y las plantillas
   clásicas (Mi cuenta, pedido recibido) al estilo oscuro del sitio.
   Se carga solo en esas páginas (body.ppc-woo-page). Usa las variables
   de ppc-widgets.css.
   ========================================================================= */

/* ---------- Contenedor y título ---------- */
html:root body.ppc-woo-page { background-color: var(--ppc-carbon); color: var(--ppc-text); }
html:root body.ppc-woo-page main.site-main {
  width: 100%; max-width: 1320px; margin-inline: auto;
  padding: 44px max(var(--ppc-gutter), env(safe-area-inset-right, 0px)) 104px max(var(--ppc-gutter), env(safe-area-inset-left, 0px));
  box-sizing: border-box;
}
html:root body.ppc-woo-page main.site-main *,
html:root body.ppc-woo-page main.site-main *::before,
html:root body.ppc-woo-page main.site-main *::after { box-sizing: border-box; }
html:root body.ppc-woo-page .page-header { margin: 0 0 36px; padding: 0; }
html:root body.ppc-woo-page .page-header .entry-title {
  display: grid; gap: 14px; margin: 0;
  font: 800 var(--ppc-t-xl)/1.05 var(--ppc-f-display); letter-spacing: .01em; text-transform: uppercase; color: var(--ppc-blanco);
}
html:root body.ppc-woo-page .page-header .entry-title::after {
  content: ""; width: 56px; height: 3px;
  background: linear-gradient(90deg, var(--ppc-azul) 0 50%, var(--ppc-rojo) 50% 100%);
}
html:root body.ppc-woo-page .page-content,
html:root body.ppc-woo-page .page-content .woocommerce,
html:root body.ppc-woo-page .wc-block-components-form,
html:root body.ppc-woo-page .wp-block-woocommerce-cart,
html:root body.ppc-woo-page .wp-block-woocommerce-checkout {
  font-family: var(--ppc-f-body); color: var(--ppc-text); line-height: 1.6; -webkit-font-smoothing: antialiased;
}
html:root body.ppc-woo-page .wp-block-woocommerce-cart.alignwide,
html:root body.ppc-woo-page .wp-block-woocommerce-checkout.alignwide { width: 100%; max-width: none; margin-inline: 0; }
html:root body.ppc-woo-page .page-content a { color: var(--ppc-plata-hi); text-decoration: underline; text-decoration-color: var(--ppc-line-strong); text-underline-offset: 3px; }
html:root body.ppc-woo-page .page-content a:hover { color: var(--ppc-rojo-hi); text-decoration-color: currentColor; }
html:root body.ppc-woo-page .page-content :is(h1, h2, h3, h4) { font-family: var(--ppc-f-display); color: var(--ppc-blanco); }

/* ---------- Títulos de los bloques ---------- */
html:root body.ppc-woo-page :is(
  .wc-block-cart__totals-title,
  .wc-block-components-title.wc-block-components-title,
  .wc-block-components-checkout-step__title,
  .wc-block-components-checkout-order-summary__title-text,
  .wc-block-cart-items__header
) {
  font-family: var(--ppc-f-display) !important; font-size: var(--ppc-t-sm) !important; font-weight: 700 !important;
  letter-spacing: .16em; text-transform: uppercase; color: var(--ppc-text) !important;
}
html:root body.ppc-woo-page .wc-block-cart-items__header { color: var(--ppc-muted) !important; font-size: var(--ppc-t-xs) !important; }
html:root body.ppc-woo-page .wc-block-components-checkout-step__description,
html:root body.ppc-woo-page .wc-block-checkout__guest-checkout-notice,
html:root body.ppc-woo-page .wc-block-components-checkout-step__heading-content { color: var(--ppc-muted); font-size: var(--ppc-t-xs); }
html:root body.ppc-woo-page .wc-block-components-checkout-step { margin-bottom: 36px; }

/* ---------- Productos (carrito y resumen) ---------- */
html:root body.ppc-woo-page :is(.wc-block-cart-items, .wc-block-cart-items td, .wc-block-cart-items th, .wc-block-cart-items__row) { border-color: var(--ppc-line) !important; background: none; }
html:root body.ppc-woo-page .wc-block-cart-items { border-bottom: 1px solid var(--ppc-line) !important; }
html:root body.ppc-woo-page .wc-block-cart-items td { padding-block: 22px; }
html:root body.ppc-woo-page :is(.wc-block-cart-item__image, .wc-block-components-order-summary-item__image) img {
  display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border: 0; border-radius: 0;
  background: linear-gradient(160deg, var(--ppc-tile-a), var(--ppc-tile-b));
}
html:root body.ppc-woo-page .page-content a.wc-block-components-product-name,
html:root body.ppc-woo-page .wc-block-components-product-name {
  font: 600 var(--ppc-t-md)/1.35 var(--ppc-f-body); color: var(--ppc-text); text-decoration: none;
}
html:root body.ppc-woo-page .page-content a.wc-block-components-product-name:hover { color: var(--ppc-rojo-hi); }
html:root body.ppc-woo-page .wc-block-components-product-metadata,
html:root body.ppc-woo-page .wc-block-components-product-details { color: var(--ppc-muted); font-size: var(--ppc-t-xs); }
html:root body.ppc-woo-page .wc-block-components-product-details__name { font-weight: 600; color: var(--ppc-plata); }
html:root body.ppc-woo-page .wc-block-components-product-price,
html:root body.ppc-woo-page .wc-block-cart-item__total,
html:root body.ppc-woo-page .wc-block-components-order-summary-item__total-price { color: var(--ppc-text); font-weight: 600; font-variant-numeric: tabular-nums; }
html:root body.ppc-woo-page .wc-block-components-product-price__regular,
html:root body.ppc-woo-page .wc-block-components-order-summary-item__regular-individual-price { color: var(--ppc-muted); font-weight: 400; }
html:root body.ppc-woo-page .wc-block-components-sale-badge.wc-block-components-product-badge {
  padding: 4px 7px; border: 0; border-radius: 0; background: var(--ppc-rojo); color: var(--ppc-blanco);
  font: 700 .64rem/1.2 var(--ppc-f-display); letter-spacing: .04em; text-transform: uppercase; white-space: nowrap;
}
html:root body.ppc-woo-page .wc-block-cart:is(.is-mobile, .is-small) .wc-block-cart-item__total .wc-block-components-sale-badge { display: none; }
html:root body.ppc-woo-page .wc-block-cart-items { table-layout: fixed; width: 100%; }
html:root body.ppc-woo-page .wc-block-components-order-summary-item__quantity {
  border: 2px solid var(--ppc-carbon-2); background: var(--ppc-plata); color: var(--ppc-carbon); box-shadow: none;
  display: flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 4px; border-radius: 11px;
  font: 800 .72rem/1 var(--ppc-f-display);
}
html:root body.ppc-woo-page .wc-block-components-order-summary-item { padding-block: 14px; border-bottom: 1px solid var(--ppc-line); }
html:root body.ppc-woo-page .wc-block-components-order-summary-item__image { flex: 0 0 56px; width: 56px; }
html:root body.ppc-woo-page .wc-block-components-order-summary-item__image img { width: 56px; max-width: 56px; }
html:root body.ppc-woo-page .wc-block-components-order-summary-item .wc-block-components-product-name { font-size: var(--ppc-t-sm); }
html:root body.ppc-woo-page .wc-block-components-order-summary-item__total-price { flex: none; text-align: right; }
html:root body.ppc-woo-page .wc-block-components-order-summary-item .wc-block-components-sale-badge { display: none; }
html:root body.ppc-woo-page .wc-block-components-order-summary-item:last-child { border-bottom: 0; }

/* Cantidad y quitar */
html:root body.ppc-woo-page .wc-block-components-quantity-selector {
  width: 112px; border: 1px solid var(--ppc-line-strong); border-radius: 0; background: var(--ppc-carbon-2);
}
html:root body.ppc-woo-page .wc-block-components-quantity-selector::after { display: none; }
html:root body.ppc-woo-page .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
  min-width: 0; border: 0; background: transparent; color: var(--ppc-text); font: 600 var(--ppc-t-sm)/1 var(--ppc-f-body); box-shadow: none;
}
html:root body.ppc-woo-page .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
  min-width: 34px; border: 0; background: none; color: var(--ppc-plata); opacity: 1; box-shadow: none;
}
html:root body.ppc-woo-page .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover:not(:disabled) { color: var(--ppc-blanco); background: rgba(201, 205, 210, .08); }
html:root body.ppc-woo-page .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled { opacity: .35; }
html:root body.ppc-woo-page .wc-block-cart-item__remove-link { color: var(--ppc-muted) !important; fill: currentColor; text-decoration: none; }
html:root body.ppc-woo-page .wc-block-cart-item__remove-link:hover { color: var(--ppc-rojo-hi) !important; }
html:root body.ppc-woo-page .wc-block-cart-item__remove-link svg { fill: currentColor; }

/* ---------- Resumen / totales (tarjeta lateral) ---------- */
html:root body.ppc-woo-page .wp-block-woocommerce-cart-totals-block,
html:root body.ppc-woo-page .wp-block-woocommerce-checkout-order-summary-block {
  height: auto; align-self: flex-start; padding: 24px; border: 1px solid var(--ppc-line); background: var(--ppc-carbon-2);
}
html:root body.ppc-woo-page .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title { padding-block: 4px; }
html:root body.ppc-woo-page .wc-block-components-totals-wrapper,
html:root body.ppc-woo-page .wc-block-components-panel,
html:root body.ppc-woo-page .wc-block-components-checkout-order-summary__title,
html:root body.ppc-woo-page .wc-block-checkout__terms.wc-block-checkout__terms--with-separator { border-color: var(--ppc-line) !important; }
html:root body.ppc-woo-page .wc-block-components-totals-item { color: var(--ppc-plata); font-size: var(--ppc-t-sm); }
html:root body.ppc-woo-page .wc-block-components-totals-item__value { color: var(--ppc-text); font-weight: 600; font-variant-numeric: tabular-nums; }
html:root body.ppc-woo-page .wc-block-components-totals-item__description { color: var(--ppc-muted); font-size: var(--ppc-t-xs); }
html:root body.ppc-woo-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
html:root body.ppc-woo-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font: 800 var(--ppc-t-lg)/1.2 var(--ppc-f-display); color: var(--ppc-blanco); text-transform: uppercase; letter-spacing: .02em;
}
html:root body.ppc-woo-page .wc-block-components-totals-footer-item .wc-block-formatted-money-amount { color: var(--ppc-blanco); }
html:root body.ppc-woo-page .wc-block-components-checkout-order-summary__title-price { color: var(--ppc-text); font-weight: 700; }
html:root body.ppc-woo-page :is(.wc-block-components-panel__button, .wc-block-components-checkout-order-summary__title) {
  color: var(--ppc-text) !important; background: none !important; box-shadow: none !important; font-size: var(--ppc-t-sm);
}
html:root body.ppc-woo-page :is(.wc-block-components-panel__button-icon, .wc-block-components-checkout-order-summary__title-icon) { fill: var(--ppc-plata); }

/* ---------- Botones ---------- */
html:root body.ppc-woo-page :is(
  .wc-block-components-button:not(.is-link):not(.wc-block-components-totals-coupon__button),
  .woocommerce .button,
  .woocommerce button.button,
  .woocommerce a.button,
  .woocommerce input.button,
  .wc-block-grid__product-add-to-cart .wp-block-button__link
) {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 54px; padding: 0 32px;
  border: 0 !important; border-radius: 0 !important; box-shadow: none !important; outline-offset: 3px;
  background: var(--ppc-rojo) !important; color: var(--ppc-blanco) !important;
  font: 700 var(--ppc-t-sm)/1.2 var(--ppc-f-display) !important; letter-spacing: .14em; text-transform: uppercase; text-decoration: none !important;
  clip-path: polygon(var(--ppc-slant) 0, 100% 0, calc(100% - var(--ppc-slant)) 100%, 0 100%);
  transition: background .2s, transform .2s; cursor: pointer;
}
html:root body.ppc-woo-page :is(
  .wc-block-components-button:not(.is-link):not(.wc-block-components-totals-coupon__button),
  .woocommerce .button,
  .wc-block-grid__product-add-to-cart .wp-block-button__link
):hover:not(:disabled) { background: var(--ppc-rojo-hi) !important; transform: translateX(2px); }
html:root body.ppc-woo-page .wc-block-components-button:disabled,
html:root body.ppc-woo-page .wc-block-components-button[aria-disabled="true"] { opacity: .55; cursor: not-allowed; }
html:root body.ppc-woo-page .wc-block-components-button__text { text-decoration: none !important; }
html:root body.ppc-woo-page :is(.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button) { width: 100%; }
html:root body.ppc-woo-page .wc-block-components-totals-coupon__button {
  min-height: 50px; padding: 0 18px; border: 0 !important; border-radius: 0 !important;
  background: var(--ppc-plata) !important; color: var(--ppc-carbon) !important;
  font: 700 var(--ppc-t-xs)/1 var(--ppc-f-display) !important; letter-spacing: .14em; text-transform: uppercase;
}
html:root body.ppc-woo-page .wc-block-components-totals-coupon__button:hover:not(:disabled) { background: var(--ppc-blanco) !important; }
html:root body.ppc-woo-page :is(.wc-block-components-button.is-link, .wc-block-components-address-card__edit, .wc-block-components-checkout-return-to-cart-button, .wc-block-components-address-form__address_2-toggle) {
  color: var(--ppc-plata-hi) !important; fill: currentColor; text-decoration: underline; text-underline-offset: 3px; background: none !important; box-shadow: none !important;
}
html:root body.ppc-woo-page :is(.wc-block-components-button.is-link, .wc-block-components-address-card__edit, .wc-block-components-checkout-return-to-cart-button, .wc-block-components-address-form__address_2-toggle):hover { color: var(--ppc-rojo-hi) !important; }
html:root body.ppc-woo-page .wc-block-components-checkout-return-to-cart-button svg { fill: currentColor; }

/* ---------- Campos ---------- */
html:root body.ppc-woo-page :is(
  .wc-block-components-text-input input,
  .wc-block-components-textarea,
  .wc-block-components-form .wc-block-components-text-input input,
  .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
  .wc-block-checkout__order-notes textarea,
  .woocommerce form .input-text,
  .woocommerce form select,
  .woocommerce form textarea
) {
  border: 1px solid var(--ppc-line-strong) !important; border-radius: 0 !important; box-shadow: none !important;
  background-color: var(--ppc-carbon-2) !important; color: var(--ppc-text) !important;
  font-family: var(--ppc-f-body) !important; font-size: var(--ppc-t-md) !important;
  transition: border-color .15s, box-shadow .15s;
}
html:root body.ppc-woo-page :is(
  .wc-block-components-text-input input,
  .wc-block-components-textarea,
  .wc-block-components-combobox input.components-combobox-control__input,
  .woocommerce form .input-text,
  .woocommerce form select,
  .woocommerce form textarea
):focus {
  border-color: var(--ppc-plata) !important; box-shadow: 0 0 0 1px var(--ppc-plata) !important; outline: 0;
}
html:root body.ppc-woo-page :is(.wc-block-components-text-input, .wc-block-components-combobox .wc-block-components-combobox-control, .wc-blocks-components-select) label {
  color: var(--ppc-muted) !important; font-family: var(--ppc-f-body);
}
html:root body.ppc-woo-page :is(.wc-block-components-text-input input, .woocommerce form .input-text)::placeholder { color: var(--ppc-muted); opacity: 1; }
html:root body.ppc-woo-page :is(.wc-block-components-text-input input, .woocommerce form .input-text):-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px var(--ppc-carbon-2) inset !important; -webkit-text-fill-color: var(--ppc-text);
}
html:root body.ppc-woo-page .wc-blocks-components-select .wc-blocks-components-select__container {
  border: 1px solid var(--ppc-line-strong); border-radius: 0; background: var(--ppc-carbon-2); box-shadow: none;
}
html:root body.ppc-woo-page .wc-blocks-components-select .wc-blocks-components-select__container:focus-within { border-color: var(--ppc-plata); box-shadow: 0 0 0 1px var(--ppc-plata); }
html:root body.ppc-woo-page .wc-blocks-components-select .wc-blocks-components-select__select {
  border: 0 !important; background: transparent !important; color: var(--ppc-text) !important; box-shadow: none !important; font-family: var(--ppc-f-body);
}
html:root body.ppc-woo-page .wc-blocks-components-select__expand { fill: var(--ppc-plata); }
html:root body.ppc-woo-page :is(select, .wc-blocks-components-select__select) option { background: var(--ppc-carbon-2); color: var(--ppc-text); }
html:root body.ppc-woo-page :is(.has-error, .wc-block-components-validation-error) :is(input, select, textarea) { border-color: var(--ppc-rojo-hi) !important; }
html:root body.ppc-woo-page .wc-block-components-validation-error,
html:root body.ppc-woo-page .wc-block-components-validation-error > p { color: var(--ppc-rojo-hi); }
html:root body.ppc-woo-page .wc-block-components-validation-error svg { fill: currentColor; }

/* Casillas y opciones */
html:root body.ppc-woo-page .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
  border: 1px solid var(--ppc-line-strong); border-radius: 0; background: var(--ppc-carbon-2); box-shadow: none;
}
html:root body.ppc-woo-page .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { border-color: var(--ppc-rojo); background: var(--ppc-rojo); }
html:root body.ppc-woo-page .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:focus { outline: 2px solid var(--ppc-plata); outline-offset: 2px; }
html:root body.ppc-woo-page .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--ppc-blanco); }
html:root body.ppc-woo-page .wc-block-components-checkbox__label { color: var(--ppc-plata); font-size: var(--ppc-t-sm); }
html:root body.ppc-woo-page :is(.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option, .wc-block-components-shipping-rates-control__package) {
  color: var(--ppc-text); box-shadow: none !important; border-color: var(--ppc-line-strong) !important;
}
html:root body.ppc-woo-page .wc-block-components-radio-control--highlight-checked { border: 1px solid var(--ppc-line-strong); border-radius: 0; }
html:root body.ppc-woo-page .wc-block-components-radio-control--highlight-checked :is(.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option) { border-bottom: 1px solid var(--ppc-line) !important; border-radius: 0; }
html:root body.ppc-woo-page .wc-block-components-radio-control--highlight-checked :is(.wc-block-components-radio-control__option-checked, .wc-block-components-radio-control-accordion-option--checked-option-highlighted) {
  background: rgba(201, 205, 210, .05); box-shadow: inset 0 0 0 1px var(--ppc-plata) !important;
}
html:root body.ppc-woo-page .wc-block-components-radio-control__input {
  border: 1px solid var(--ppc-line-strong) !important; background: var(--ppc-carbon-2) !important; box-shadow: none !important;
}
html:root body.ppc-woo-page .wc-block-components-radio-control__input:checked { border-color: var(--ppc-rojo) !important; }
html:root body.ppc-woo-page .wc-block-components-radio-control__input:checked::before { background: var(--ppc-rojo) !important; }
html:root body.ppc-woo-page :is(.wc-block-components-radio-control__description, .wc-block-components-radio-control__secondary-description, .wc-block-components-radio-control__secondary-label) { color: var(--ppc-muted); }
html:root body.ppc-woo-page .wc-block-components-radio-control__label { color: var(--ppc-text); font-weight: 600; }
html:root body.ppc-woo-page .wc-block-components-radio-control-accordion-content { color: var(--ppc-plata); }

/* Dirección guardada y pago exprés */
html:root body.ppc-woo-page .wc-block-components-address-card { border: 1px solid var(--ppc-line-strong); border-radius: 0; background: var(--ppc-carbon-2); color: var(--ppc-plata); }
html:root body.ppc-woo-page .wc-block-components-address-card address { color: var(--ppc-plata); }
html:root body.ppc-woo-page .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::before,
html:root body.ppc-woo-page .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::after,
html:root body.ppc-woo-page .wc-block-components-express-payment--checkout .wc-block-components-express-payment__content { border-color: var(--ppc-line-strong); }
html:root body.ppc-woo-page .wc-block-components-express-payment-continue-rule { color: var(--ppc-muted); text-transform: uppercase; letter-spacing: .14em; font-size: var(--ppc-t-xs); }
html:root body.ppc-woo-page .wc-block-components-express-payment-continue-rule::before,
html:root body.ppc-woo-page .wc-block-components-express-payment-continue-rule::after { border-color: var(--ppc-line-strong); }
html:root body.ppc-woo-page .wc-block-checkout__terms { color: var(--ppc-muted); font-size: var(--ppc-t-xs); }

/* ---------- Avisos ---------- */
html:root body.ppc-woo-page .wc-block-components-notice-banner,
html:root body.ppc-woo-page :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice) {
  margin-bottom: 20px; padding: 14px 16px; border: 0; border-left: 3px solid var(--ppc-azul-hi); border-radius: 0;
  background: var(--ppc-carbon-3); color: var(--ppc-text); font-size: var(--ppc-t-sm); list-style: none;
}
html:root body.ppc-woo-page .wc-block-components-notice-banner > svg { fill: currentColor; background: none; color: var(--ppc-azul-hi); }
html:root body.ppc-woo-page :is(.wc-block-components-notice-banner.is-error, .woocommerce-error) { border-left-color: var(--ppc-rojo-hi); }
html:root body.ppc-woo-page .wc-block-components-notice-banner.is-error > svg { color: var(--ppc-rojo-hi); }
html:root body.ppc-woo-page :is(.wc-block-components-notice-banner.is-success, .woocommerce-message) { border-left-color: var(--ppc-ok); }
html:root body.ppc-woo-page .wc-block-components-notice-banner.is-success > svg { color: var(--ppc-ok); }
html:root body.ppc-woo-page .wc-block-components-notice-banner.is-warning { border-left-color: var(--ppc-encargo); }
html:root body.ppc-woo-page .wc-block-components-notice-banner.is-warning > svg { color: var(--ppc-encargo); }
html:root body.ppc-woo-page :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before { display: none; }

/* ---------- Carrito vacío ---------- */
html:root body.ppc-woo-page .wp-block-woocommerce-empty-cart-block { text-align: center; }
html:root body.ppc-woo-page .wc-block-cart__empty-cart__title {
  font: 800 var(--ppc-t-lg)/1.2 var(--ppc-f-display); text-transform: uppercase; letter-spacing: .04em; color: var(--ppc-blanco);
}
html:root body.ppc-woo-page .wc-block-cart__empty-cart__title.with-empty-cart-icon::before { background-color: var(--ppc-muted); opacity: .5; width: 4.5em; height: 4.5em; }
html:root body.ppc-woo-page .wp-block-woocommerce-empty-cart-block > p a {
  display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 30px; margin-top: 6px;
  background: var(--ppc-rojo); color: var(--ppc-blanco); text-decoration: none;
  font: 700 var(--ppc-t-sm)/1.2 var(--ppc-f-display); letter-spacing: .14em; text-transform: uppercase;
  clip-path: polygon(var(--ppc-slant) 0, 100% 0, calc(100% - var(--ppc-slant)) 100%, 0 100%);
}
html:root body.ppc-woo-page .wp-block-woocommerce-empty-cart-block > p a:hover { background: var(--ppc-rojo-hi); color: var(--ppc-blanco); }
html:root body.ppc-woo-page .wp-block-woocommerce-empty-cart-block .wp-block-separator.is-style-dots { margin: 56px auto 28px; border: 0; color: var(--ppc-line-strong); background: none; }
html:root body.ppc-woo-page .wp-block-woocommerce-empty-cart-block .wp-block-separator.is-style-dots::before { color: var(--ppc-muted); }
html:root body.ppc-woo-page .wp-block-woocommerce-empty-cart-block > h2:not(.wc-block-cart__empty-cart__title) {
  margin-bottom: 24px; font: 800 var(--ppc-t-lg)/1.2 var(--ppc-f-display); text-transform: uppercase; color: var(--ppc-blanco);
}
html:root body.ppc-woo-page .wc-block-grid__products { gap: 18px 0; }
html:root body.ppc-woo-page .wc-block-grid__product { text-align: left; border: 0; }
html:root body.ppc-woo-page .page-content a.wc-block-grid__product-link { color: var(--ppc-text); text-decoration: none; }
html:root body.ppc-woo-page .wc-block-grid__product-image { margin-bottom: 14px; background: linear-gradient(160deg, var(--ppc-tile-a), var(--ppc-tile-b)); }
html:root body.ppc-woo-page .wc-block-grid__product-image img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
html:root body.ppc-woo-page .wc-block-grid__product-title { font: 600 var(--ppc-t-sm)/1.35 var(--ppc-f-body); color: var(--ppc-text); }
html:root body.ppc-woo-page .page-content a.wc-block-grid__product-link:hover .wc-block-grid__product-title { color: var(--ppc-rojo-hi); }
html:root body.ppc-woo-page .wc-block-grid__product-price { margin: 6px 0 12px; color: var(--ppc-text); font-weight: 700; }
html:root body.ppc-woo-page .wc-block-grid__product-price del { color: var(--ppc-muted); font-weight: 400; }
html:root body.ppc-woo-page .wc-block-grid__product-price ins { text-decoration: none; }
html:root body.ppc-woo-page .wc-block-grid__product-add-to-cart .wp-block-button__link { min-height: 44px !important; padding: 0 22px !important; font-size: var(--ppc-t-xs) !important; }
html:root body.ppc-woo-page .wc-block-grid__product-onsale {
  border: 0; border-radius: 0; background: var(--ppc-rojo); color: var(--ppc-blanco);
  font: 700 .66rem/1 var(--ppc-f-display); letter-spacing: .1em; text-transform: uppercase;
}

/* ---------- Mi cuenta y pedido recibido (plantillas clásicas) ---------- */
html:root body.ppc-woo-page .woocommerce :is(h2, h3) { font: 800 var(--ppc-t-lg)/1.2 var(--ppc-f-display); text-transform: uppercase; letter-spacing: .03em; color: var(--ppc-blanco); }
html:root body.ppc-woo-page .woocommerce :is(form.woocommerce-form-login, form.woocommerce-form-register, form.login, form.register, form.lost_reset_password, form.woocommerce-EditAccountForm, form.edit-account) {
  margin: 0 0 24px; padding: clamp(20px, 3vw, 32px); border: 1px solid var(--ppc-line); border-radius: 0; background: var(--ppc-carbon-2);
}
html:root body.ppc-woo-page .woocommerce form .form-row { margin-bottom: 16px; padding: 0; }
html:root body.ppc-woo-page .woocommerce form .form-row label { margin-bottom: 6px; color: var(--ppc-plata); font-size: var(--ppc-t-sm); font-weight: 500; }
html:root body.ppc-woo-page .woocommerce form .form-row .required { color: var(--ppc-rojo-hi); text-decoration: none; }
html:root body.ppc-woo-page .woocommerce form .input-text { min-height: 50px; padding: 12px 14px; }
html:root body.ppc-woo-page .woocommerce form .woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: 8px; color: var(--ppc-plata); }
html:root body.ppc-woo-page .woocommerce form input[type="checkbox"] { accent-color: var(--ppc-rojo); width: 16px; height: 16px; }
html:root body.ppc-woo-page .woocommerce .lost_password a { font-size: var(--ppc-t-sm); }
html:root body.ppc-woo-page .woocommerce .password-input { display: flex; position: relative; }
html:root body.ppc-woo-page .woocommerce .show-password-input { color: var(--ppc-muted); background: none; border: 0; }

html:root body.ppc-woo-page .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; border: 1px solid var(--ppc-line); background: var(--ppc-carbon-2); }
html:root body.ppc-woo-page .woocommerce-MyAccount-navigation li { margin: 0; border-bottom: 1px solid var(--ppc-line); }
html:root body.ppc-woo-page .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
html:root body.ppc-woo-page .page-content .woocommerce-MyAccount-navigation a {
  display: block; padding: 14px 18px; color: var(--ppc-plata); text-decoration: none;
  font: 700 var(--ppc-t-xs)/1.2 var(--ppc-f-display); letter-spacing: .14em; text-transform: uppercase;
}
html:root body.ppc-woo-page .page-content .woocommerce-MyAccount-navigation .is-active a,
html:root body.ppc-woo-page .page-content .woocommerce-MyAccount-navigation a:hover { color: var(--ppc-blanco); background: rgba(215, 25, 63, .12); box-shadow: inset 3px 0 0 var(--ppc-rojo); }
html:root body.ppc-woo-page .woocommerce-MyAccount-content { color: var(--ppc-plata); }

html:root body.ppc-woo-page .woocommerce table.shop_table,
html:root body.ppc-woo-page .woocommerce table.woocommerce-table,
html:root body.ppc-woo-page .woocommerce-orders-table {
  width: 100%; border: 1px solid var(--ppc-line); border-collapse: collapse; border-radius: 0; background: var(--ppc-carbon-2); color: var(--ppc-plata);
}
html:root body.ppc-woo-page .woocommerce table :is(th, td) { padding: 12px 16px; border: 0; border-top: 1px solid var(--ppc-line); background: none; text-align: left; }
html:root body.ppc-woo-page .woocommerce table thead th { border-top: 0; background: var(--ppc-carbon-3); color: var(--ppc-text); font: 700 .7rem/1.2 var(--ppc-f-display); letter-spacing: .12em; text-transform: uppercase; }
html:root body.ppc-woo-page .woocommerce table tfoot :is(th, td) { color: var(--ppc-text); }
html:root body.ppc-woo-page .woocommerce ul.order_details,
html:root body.ppc-woo-page .woocommerce .woocommerce-order-overview {
  display: flex; flex-wrap: wrap; gap: 0; margin: 0 0 32px; padding: 0; list-style: none; border: 1px solid var(--ppc-line); background: var(--ppc-carbon-2);
}
html:root body.ppc-woo-page .woocommerce ul.order_details li {
  flex: 1 1 180px; margin: 0; padding: 16px 18px; border: 0; border-right: 1px solid var(--ppc-line);
  color: var(--ppc-muted); font-size: var(--ppc-t-xs); text-transform: uppercase; letter-spacing: .1em;
}
html:root body.ppc-woo-page .woocommerce ul.order_details li:last-child { border-right: 0; }
html:root body.ppc-woo-page .woocommerce ul.order_details li strong { display: block; margin-top: 6px; color: var(--ppc-text); font-size: var(--ppc-t-md); text-transform: none; letter-spacing: 0; }
html:root body.ppc-woo-page .woocommerce .woocommerce-thankyou-order-received {
  padding: 18px 20px; border-left: 3px solid var(--ppc-ok); background: var(--ppc-carbon-3); color: var(--ppc-text);
  font: 700 var(--ppc-t-md)/1.4 var(--ppc-f-display);
}
html:root body.ppc-woo-page .woocommerce address { padding: 18px 20px; border: 1px solid var(--ppc-line); border-radius: 0; background: var(--ppc-carbon-2); color: var(--ppc-plata); font-style: normal; }

/* ---------- Finalizar compra clásico ([woocommerce_checkout]) ----------
   Se usa cuando la pasarela (por ejemplo Flow) no es compatible con el
   bloque de pago. Dos columnas: datos a la izquierda, pedido y pago a la derecha. */
html:root body.ppc-woo-page form.checkout.woocommerce-checkout {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 440px); grid-template-rows: auto auto 1fr;
  column-gap: clamp(28px, 4vw, 56px); align-items: start;
}
/* Fila 1: avisos; filas 2-3: datos (izq.) y "Tu pedido" + pago (der.). */
html:root body.ppc-woo-page form.checkout.woocommerce-checkout > * { grid-column: 1 / -1; min-width: 0; }
html:root body.ppc-woo-page form.checkout.woocommerce-checkout > .woocommerce-NoticeGroup { grid-row: 1; }
html:root body.ppc-woo-page form.checkout.woocommerce-checkout > #customer_details { grid-column: 1; grid-row: 2 / span 2; }
html:root body.ppc-woo-page form.checkout.woocommerce-checkout > #order_review_heading { grid-column: 2; grid-row: 2; }
html:root body.ppc-woo-page form.checkout.woocommerce-checkout > #order_review { grid-column: 2; grid-row: 3; }
html:root body.ppc-woo-page .woocommerce form.checkout::before,
html:root body.ppc-woo-page .woocommerce form.checkout::after { display: none; }
html:root body.ppc-woo-page #customer_details.col2-set { width: 100%; margin: 0; }
html:root body.ppc-woo-page #customer_details.col2-set :is(.col-1, .col-2) { float: none; width: 100%; max-width: none; margin: 0 0 12px; padding: 0; }
html:root body.ppc-woo-page form.checkout :is(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields) > h3,
html:root body.ppc-woo-page form.checkout #order_review_heading {
  margin: 0 0 18px; font: 700 var(--ppc-t-sm)/1.3 var(--ppc-f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--ppc-text);
}
html:root body.ppc-woo-page form.checkout #ship-to-different-address { margin-top: 12px; }
html:root body.ppc-woo-page form.checkout #ship-to-different-address label { font: 600 var(--ppc-t-sm)/1.4 var(--ppc-f-body); letter-spacing: 0; text-transform: none; color: var(--ppc-plata); cursor: pointer; }
html:root body.ppc-woo-page .woocommerce form .form-row :is(.input-text, select) { width: 100%; }
html:root body.ppc-woo-page .woocommerce form .form-row textarea { min-height: 110px; padding: 12px 14px; }
html:root body.ppc-woo-page .woocommerce form .form-row label { line-height: 1.4; }
html:root body.ppc-woo-page .woocommerce form .form-row .optional { color: var(--ppc-muted); }
html:root body.ppc-woo-page .woocommerce form .form-row abbr.required { color: var(--ppc-rojo-hi); border: 0; text-decoration: none; }
html:root body.ppc-woo-page .woocommerce form .form-row.woocommerce-invalid label { color: var(--ppc-rojo-hi); }
html:root body.ppc-woo-page .woocommerce form .form-row.woocommerce-invalid :is(.input-text, select, .select2-selection) { border-color: var(--ppc-rojo-hi) !important; }
html:root body.ppc-woo-page .woocommerce form .form-row.woocommerce-validated :is(.input-text, select, .select2-selection) { border-color: var(--ppc-line-strong); }

/* Tarjeta "Tu pedido" + pago */
html:root body.ppc-woo-page form.checkout #order_review_heading {
  margin: 0; padding: 24px 24px 6px; border: 1px solid var(--ppc-line); border-bottom: 0; background: var(--ppc-carbon-2);
}
html:root body.ppc-woo-page form.checkout #order_review {
  padding: 0 24px 24px; border: 1px solid var(--ppc-line); border-top: 0; background: var(--ppc-carbon-2);
}
html:root body.ppc-woo-page #order_review table.shop_table { margin: 0 0 8px; border: 0; background: none; table-layout: auto; }
html:root body.ppc-woo-page #order_review table.shop_table :is(th, td) { padding: 12px 0; border-top: 1px solid var(--ppc-line); vertical-align: top; }
html:root body.ppc-woo-page #order_review table.shop_table thead th { padding-top: 6px; border-top: 0; background: none; color: var(--ppc-muted); }
html:root body.ppc-woo-page #order_review table.shop_table :is(.product-total, tfoot td) { text-align: right; color: var(--ppc-text); font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
html:root body.ppc-woo-page #order_review table.shop_table td.product-name { padding-right: 12px; color: var(--ppc-text); font-weight: 600; line-height: 1.4; }
html:root body.ppc-woo-page #order_review .product-quantity { color: var(--ppc-muted); font-weight: 600; }
html:root body.ppc-woo-page #order_review dl.variation { margin: 4px 0 0; color: var(--ppc-muted); font-size: var(--ppc-t-xs); font-weight: 400; }
html:root body.ppc-woo-page #order_review dl.variation :is(dt, dd) { display: inline; float: none; margin: 0; padding: 0; }
html:root body.ppc-woo-page #order_review dl.variation dd p { display: inline; margin: 0; }
html:root body.ppc-woo-page #order_review dl.variation dt { margin-right: 4px; }
html:root body.ppc-woo-page #order_review dl.variation dd::after { content: ""; display: block; }
html:root body.ppc-woo-page #order_review table.shop_table tfoot th { color: var(--ppc-plata); font-weight: 500; }
html:root body.ppc-woo-page #order_review table.shop_table tfoot tr.order-total :is(th, td) {
  padding-top: 16px; font: 800 var(--ppc-t-lg)/1.2 var(--ppc-f-display); text-transform: uppercase; color: var(--ppc-blanco);
}
html:root body.ppc-woo-page #order_review table.shop_table tfoot tr.order-total td strong { font-weight: 800; }
html:root body.ppc-woo-page #order_review .includes_tax { display: block; color: var(--ppc-muted); font: 400 var(--ppc-t-xs)/1.4 var(--ppc-f-body); text-transform: none; }
html:root body.ppc-woo-page #order_review ul#shipping_method { margin: 0; padding: 0; list-style: none; text-align: left; }
html:root body.ppc-woo-page #order_review ul#shipping_method li { display: flex; gap: 8px; align-items: center; margin: 0 0 6px; padding: 0; text-indent: 0; color: var(--ppc-plata); font-weight: 500; }
html:root body.ppc-woo-page #order_review ul#shipping_method input { accent-color: var(--ppc-rojo); margin: 0; }

html:root body.ppc-woo-page #payment.woocommerce-checkout-payment { margin-top: 8px; border-radius: 0; background: none; }
html:root body.ppc-woo-page #payment ul.payment_methods { margin: 0; padding: 0 0 4px; border-bottom: 1px solid var(--ppc-line); list-style: none; text-align: left; }
html:root body.ppc-woo-page #payment ul.payment_methods::before,
html:root body.ppc-woo-page #payment ul.payment_methods::after { display: none; }
html:root body.ppc-woo-page #payment ul.payment_methods li {
  margin: 0 0 10px; padding: 14px 16px; border: 1px solid var(--ppc-line-strong); background: var(--ppc-carbon); line-height: 1.4; list-style: none;
}
html:root body.ppc-woo-page #payment ul.payment_methods li:has(input:checked) { border-color: var(--ppc-plata); box-shadow: inset 3px 0 0 var(--ppc-rojo); }
html:root body.ppc-woo-page #payment ul.payment_methods li input.input-radio { margin: 0 10px 0 0; vertical-align: middle; accent-color: var(--ppc-rojo); }
html:root body.ppc-woo-page #payment ul.payment_methods li > label { display: inline; color: var(--ppc-text); font: 600 var(--ppc-t-md)/1.4 var(--ppc-f-body); cursor: pointer; }
html:root body.ppc-woo-page #payment ul.payment_methods li img { display: inline-block; max-height: 26px; width: auto; margin: -2px 0 0 10px; vertical-align: middle; padding: 3px 6px; background: var(--ppc-blanco); }
html:root body.ppc-woo-page #payment div.payment_box {
  position: relative; margin: 12px 0 0; padding: 12px 14px; border-radius: 0; background: var(--ppc-carbon-3); color: var(--ppc-plata); font-size: var(--ppc-t-sm); line-height: 1.55;
}
html:root body.ppc-woo-page #payment div.payment_box::before { border-color: transparent transparent var(--ppc-carbon-3) transparent; }
html:root body.ppc-woo-page #payment div.payment_box p:last-child { margin-bottom: 0; }
html:root body.ppc-woo-page #payment .woocommerce-notice,
html:root body.ppc-woo-page #payment .woocommerce-info { margin: 0 0 10px; }
html:root body.ppc-woo-page #payment div.form-row.place-order { margin: 0; padding: 16px 0 0; }
html:root body.ppc-woo-page :is(.woocommerce-terms-and-conditions-wrapper, .woocommerce-privacy-policy-text) { color: var(--ppc-muted); font-size: var(--ppc-t-xs); line-height: 1.55; }
html:root body.ppc-woo-page .woocommerce-terms-and-conditions-wrapper p { margin: 0 0 14px; }
html:root body.ppc-woo-page .woocommerce #payment #place_order { float: none; width: 100%; min-height: 56px; margin: 0; }

/* Cupón e inicio de sesión desplegables */
html:root body.ppc-woo-page :is(.woocommerce-form-coupon-toggle, .woocommerce-form-login-toggle) .woocommerce-info { margin-bottom: 16px; }
html:root body.ppc-woo-page .woocommerce form.checkout_coupon {
  display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; margin: 0 0 24px; padding: 20px; border: 1px solid var(--ppc-line); border-radius: 0; background: var(--ppc-carbon-2);
}
html:root body.ppc-woo-page .woocommerce form.checkout_coupon > p:first-child { flex: 1 0 100%; margin: 0; color: var(--ppc-plata); font-size: var(--ppc-t-sm); }
html:root body.ppc-woo-page .woocommerce form.checkout_coupon .form-row { float: none; width: auto; margin: 0; }
html:root body.ppc-woo-page .woocommerce form.checkout_coupon .form-row-first { flex: 1 1 220px; }
html:root body.ppc-woo-page .woocommerce form.checkout_coupon .clear { display: none; }
html:root body.ppc-woo-page .woocommerce form.checkout_coupon .button { min-height: 50px; }

/* Selector de país/región (select2 / selectWoo) */
html:root body.ppc-woo-page .woocommerce select.select2-hidden-accessible {
  position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important;
}
html:root body.ppc-woo-page .select2-container--default .select2-selection--single {
  height: 50px; border: 1px solid var(--ppc-line-strong); border-radius: 0; background: var(--ppc-carbon-2);
}
html:root body.ppc-woo-page .select2-container--default.select2-container--focus .select2-selection--single,
html:root body.ppc-woo-page .select2-container--default.select2-container--open .select2-selection--single { border-color: var(--ppc-plata); box-shadow: 0 0 0 1px var(--ppc-plata); }
html:root body.ppc-woo-page .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0 40px 0 14px; line-height: 48px; color: var(--ppc-text); }
html:root body.ppc-woo-page .select2-container--default .select2-selection--single .select2-selection__placeholder { color: var(--ppc-muted); }
html:root body.ppc-woo-page .select2-container--default .select2-selection--single .select2-selection__arrow { top: 0; right: 8px; height: 48px; }
html:root body.ppc-woo-page .select2-container--default .select2-selection--single .select2-selection__arrow b { border-top-color: var(--ppc-plata); }
html:root body.ppc-woo-page .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { border-bottom-color: var(--ppc-plata); border-top-color: transparent; }
html:root body.ppc-woo-page .select2-dropdown { border: 1px solid var(--ppc-plata); border-radius: 0; background: var(--ppc-carbon-2); color: var(--ppc-text); }
html:root body.ppc-woo-page .select2-search--dropdown .select2-search__field { min-height: 40px; padding: 6px 10px; border: 1px solid var(--ppc-line-strong); border-radius: 0; background: var(--ppc-carbon); color: var(--ppc-text); }
html:root body.ppc-woo-page .select2-results__option { padding: 8px 12px; color: var(--ppc-plata); }
html:root body.ppc-woo-page .select2-container--default .select2-results__option:is([aria-selected="true"], [data-selected="true"]) { background: var(--ppc-carbon-3); color: var(--ppc-text); }
html:root body.ppc-woo-page .select2-container--default .select2-results__option--highlighted:is([aria-selected], [data-selected]) { background: var(--ppc-rojo); color: var(--ppc-blanco); }

/* Capa de "cargando" del checkout clásico */
html:root body.ppc-woo-page .blockUI.blockOverlay { background: var(--ppc-carbon) !important; opacity: .6 !important; }

@media (max-width: 1024px) {
  html:root body.ppc-woo-page form.checkout.woocommerce-checkout { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
  html:root body.ppc-woo-page form.checkout.woocommerce-checkout > :is(#customer_details, #order_review_heading, #order_review) { grid-column: 1; grid-row: auto; }
  html:root body.ppc-woo-page form.checkout.woocommerce-checkout > #order_review_heading { margin-top: 12px; }
}

/* ---------- Móvil ---------- */
@media (max-width: 767px) {
  html:root body.ppc-woo-page form.checkout #order_review_heading { padding: 18px 16px 4px; }
  html:root body.ppc-woo-page form.checkout #order_review { padding: 0 16px 18px; }
  html:root body.ppc-woo-page .woocommerce form .form-row:is(.form-row-first, .form-row-last) { float: none; width: 100%; }
  html:root body.ppc-woo-page main.site-main { padding-top: 28px; padding-bottom: 72px; }
  html:root body.ppc-woo-page .page-header { margin-bottom: 24px; }
  html:root body.ppc-woo-page .wp-block-woocommerce-cart-totals-block,
  html:root body.ppc-woo-page .wp-block-woocommerce-checkout-order-summary-block { padding: 18px 16px; }
  html:root body.ppc-woo-page .woocommerce ul.order_details li { border-right: 0; border-bottom: 1px solid var(--ppc-line); }
}
