/* =========================================================
   Página de pago y carrito – estilo Ava (redondeado)
   Se carga solo en Finalizar compra y Carrito.
   ========================================================= */
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart { font-family: var(--ava-fuente); color: var(--ava-color-texto); }

/* Títulos de cada paso */
.wc-block-components-checkout-step__title,
.wc-block-cart .wc-block-cart__totals-title { font-size: 19px !important; font-weight: 700 !important; color: var(--ava-color-texto); }
.wc-block-components-checkout-step { margin-bottom: 30px !important; }
.wc-block-components-checkout-step__description { color: var(--ava-color-texto-suave); }

/* Casillas: esquinas redondeadas, borde suave, brillo verde al escribir */
.wc-block-components-text-input input[type],
.wc-block-components-text-input textarea,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-textarea,
.wc-block-components-text-input select.ava-ciudad {
  border-radius: 12px !important;
  border: 1px solid #d9d4c9 !important;
  background-color: #fff !important;
  min-height: 54px;
  font-size: 15px !important;
  box-shadow: none !important;
  transition: border-color .2s, box-shadow .2s;
}
.wc-block-components-text-input input[type]:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus,
.wc-block-components-text-input select.ava-ciudad:focus {
  border-color: var(--ava-color-verde) !important;
  box-shadow: 0 0 0 3px rgba(14, 143, 92, .15) !important;
  outline: none !important;
}
.wc-blocks-components-select .wc-blocks-components-select__container { border-radius: 12px; }
.wc-block-components-text-input label,
.wc-blocks-components-select__label { color: #77736b !important; }

/* Errores en rojo */
.wc-block-components-text-input.has-error input,
.wc-blocks-components-select.has-error .wc-blocks-components-select__select { border-color: #d64545 !important; box-shadow: 0 0 0 3px rgba(214, 69, 69, .12) !important; }
.wc-block-components-validation-error p { color: #d64545 !important; font-size: 13px; }

/* Ciudad como lista desplegable (encima del campo de texto original) */
[data-ava-ciudad] { position: relative; }
[data-ava-ciudad] > input { opacity: 0 !important; pointer-events: none; }
[data-ava-ciudad] > select.ava-ciudad {
  position: absolute; inset: 0; width: 100%; height: 100%;
  padding: 22px 40px 6px 11px; font-family: inherit; appearance: none; -webkit-appearance: none; cursor: pointer; color: var(--ava-color-texto);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23555' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important; background-position: right 16px center !important;
}
[data-ava-ciudad] > label { z-index: 1; pointer-events: none; transform: translateY(-10px) scale(.8) !important; }
[data-ava-ciudad].ava-ciudad--vacia > select.ava-ciudad { color: #77736b; }

/* Casillas de verificación en verde */
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] { border-radius: 6px !important; border-color: #c9c4b9 !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { background: var(--ava-color-verde) !important; border-color: var(--ava-color-verde) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: #fff !important; }

/* Opciones de envío y de pago como tarjetas redondeadas */
.wc-block-components-radio-control--highlight-checked,
.wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control__option { border-radius: 14px !important; }
.wc-block-components-radio-control--highlight-checked { border: 1px solid #e3ded3 !important; box-shadow: none !important; overflow: hidden; }
.wc-block-components-radio-control--highlight-checked::after { display: none !important; }
.wc-block-components-radio-control-accordion-option { border-bottom: 1px solid #ece8df !important; }
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option-checked {
  box-shadow: inset 0 0 0 2px var(--ava-color-verde) !important; background: #f3faf6;
}
.wc-block-components-radio-control__input:checked { border-color: var(--ava-color-verde) !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--ava-color-verde) !important; }
.wc-block-components-radio-control__label { font-weight: 600; }

/* Botón principal: verde, grande y en forma de pastilla */
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wc-block-components-totals-coupon__button {
  background: var(--ava-color-verde) !important; color: #fff !important; border: 0 !important;
  border-radius: 999px !important; font-weight: 700 !important; letter-spacing: .2px;
  transition: background .2s, transform .1s;
}
.wc-block-components-checkout-place-order-button, .wc-block-cart__submit-button { min-height: 56px; font-size: 17px !important; }
.wc-block-components-checkout-place-order-button:hover, .wc-block-cart__submit-button:hover,
.wc-block-components-totals-coupon__button:hover { background: var(--ava-color-verde-oscuro) !important; }
.wc-block-components-checkout-place-order-button:active, .wc-block-cart__submit-button:active { transform: scale(.99); }
.wc-block-components-checkout-return-to-cart-button { color: var(--ava-color-verde) !important; }

/* Resumen del pedido: panel crema redondeado */
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
  background: var(--ava-color-tarjeta); border: 0 !important; border-radius: 20px; padding: 8px 6px !important;
}
.wc-block-components-order-summary-item__image img { border-radius: 12px; border: 1px solid #ebe6db; background: #fff; }
.wc-block-components-order-summary-item__quantity {
  background: var(--ava-color-verde) !important; color: #fff !important; border: 2px solid #fff !important;
  min-width: 24px; height: 24px; font-weight: 700; box-shadow: none !important;
}
.wc-block-components-order-summary-item__description p { display: none; }
.wc-block-components-totals-item__label, .wc-block-components-totals-item__value { font-size: 15px; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-size: 18px !important; font-weight: 700; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 24px !important; font-weight: 800; color: var(--ava-color-texto); }
.wc-block-components-panel__button { color: var(--ava-color-verde-oscuro) !important; font-weight: 600; }

/* Cupón: casilla + botón "Aplicar" en la misma línea */
.wc-block-components-totals-coupon__form { gap: 8px; align-items: stretch; }
.wc-block-components-totals-coupon__button { min-height: 54px; padding: 0 22px !important; }

/* Completa tu rutina (productos sugeridos) */
.ava-sugeridos { margin-top: 18px; background: #fff; border: 1px solid #ebe6db; border-radius: 20px; padding: 18px; }
.ava-sugeridos__titulo { font-weight: 800; font-size: 16px; margin: 0; }
.ava-sugeridos__sub { color: var(--ava-color-texto-suave); font-size: 13px; margin: 2px 0 12px; }
.ava-sugerido { display: grid; grid-template-columns: 64px 1fr auto; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid #f0ece4; }
.ava-sugeridos__sub + .ava-sugerido { border-top: 0; }
.ava-sugerido img { width: 64px; height: 64px; object-fit: contain; border-radius: 12px; border: 1px solid #ebe6db; background: #fff; }
.ava-sugerido__nombre { display: block; font-size: 13.5px; font-weight: 600; line-height: 1.3; }
.ava-sugerido__precio { display: block; font-size: 14px; font-weight: 700; color: var(--ava-color-verde-oscuro); margin-top: 2px; }
.ava-sugerido__btn {
  background: var(--ava-color-verde); color: #fff; border: 0; border-radius: 999px; padding: 10px 16px;
  font: 700 13px var(--ava-fuente); cursor: pointer; white-space: nowrap;
}
.ava-sugerido__btn:hover { background: var(--ava-color-verde-oscuro); }
.ava-sugerido__btn:disabled { background: #cfe9dc; color: var(--ava-color-verde-oscuro); cursor: default; }

/* Carrito */
.wc-block-cart-item__image img { border-radius: 12px; border: 1px solid #ebe6db; }
.wc-block-components-quantity-selector { border-radius: 999px !important; overflow: hidden; }
.wc-block-components-quantity-selector::after { border-radius: 999px !important; }

@media (max-width: 700px) {
  .ava-sugerido { grid-template-columns: 52px 1fr; }
  .ava-sugerido img { width: 52px; height: 52px; }
  .ava-sugerido__btn { grid-column: 1 / -1; width: 100%; }
}

/* Carrito: líneas divisorias en verde Ava */
.wc-block-cart .wc-block-cart-items,
.wc-block-cart .wc-block-cart-items th,
.wc-block-cart .wc-block-cart-items td,
.wc-block-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block,
.wc-block-cart .wp-block-woocommerce-cart-order-summary-totals-block,
.wc-block-cart .wc-block-components-totals-wrapper,
.wc-block-cart .wc-block-cart__totals-title { border-color: var(--ava-color-verde) !important; }
.wc-block-cart .wc-block-components-quantity-selector { border-color: var(--ava-color-verde) !important; }
.wc-block-cart .wc-block-components-quantity-selector::after { border-color: var(--ava-color-verde) !important; }

/* Página de pago: líneas divisorias en verde Ava (igual que el carrito) */
.wc-block-checkout .wc-block-components-checkout-order-summary__title,
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block,
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-totals-block,
.wc-block-checkout .wc-block-components-totals-wrapper,
.wc-block-checkout .wc-block-components-address-card,
.wc-block-checkout .wc-block-components-radio-control--highlight-checked,
.wc-block-checkout .wc-block-components-radio-control-accordion-option,
.ava-sugeridos, .ava-sugerido { border-color: var(--ava-color-verde) !important; }
.wc-block-checkout .wc-block-components-radio-control--highlight-checked::after { border-color: var(--ava-color-verde) !important; }
.ava-sugerido { border-top-color: rgba(14, 143, 92, .35) !important; }
