/**
 * Valery Lingerie — WooCommerce CSS adicional
 * Estilos para tarjetas de producto, badges, tallas
 */

/* =========================================================
   TARJETAS DE PRODUCTO (content-product.php)
   ========================================================= */

.valery-product-card {
  position: relative;
  background: white;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition: var(--transition);
  display: flex;
  flex-direction: column;
}

.valery-product-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-hover);
}

/* Imagen */
.valery-card-img-wrap {
  display: block;
  position: relative;
  aspect-ratio: 3/4;
  overflow: hidden;
  background: var(--valery-gray-light);
}

.valery-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity 0.4s ease, transform 0.5s ease;
}

.valery-card-img.hover {
  position: absolute;
  inset: 0;
  opacity: 0;
}

.valery-product-card:hover .valery-card-img.primary {
  transform: scale(1.04);
}

.valery-product-card:hover .valery-card-img.hover {
  opacity: 1;
}

/* Badges */
.valery-card-badges {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.valery-badge {
  padding: 3px 10px;
  border-radius: var(--radius-full);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.6;
}

.valery-badge.sale     { background: var(--valery-pink);   color: white; }
.valery-badge.new      { background: var(--valery-gold);   color: white; }
.valery-badge.sold-out { background: rgba(0,0,0,0.6);      color: white; }

/* Info */
.valery-card-info {
  padding: 14px 14px 8px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.valery-card-cat {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--valery-pink);
}

.valery-card-title {
  font-family: var(--font-heading);
  font-size: 1rem;
  margin: 0;
  line-height: 1.3;
}

.valery-card-title a {
  color: var(--valery-dark);
}

.valery-card-title a:hover {
  color: var(--valery-pink);
}

.valery-card-rating {
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 1px;
}

.valery-card-price {
  font-weight: 700;
  font-size: 1rem;
  color: var(--valery-pink);
  margin-top: 4px;
}

.valery-card-price del {
  color: var(--valery-gray);
  font-weight: 400;
  font-size: 0.82rem;
  margin-right: 4px;
}

/* Tallas pills */
.valery-card-sizes {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  margin-top: 6px;
}

.valery-size-pill {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 7px;
  border: 1px solid var(--valery-border);
  border-radius: 4px;
  color: var(--valery-gray);
}

/* Footer de la tarjeta */
.valery-card-footer {
  padding: 0 14px 14px;
}

.valery-add-to-cart-btn,
.valery-card-footer .button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  padding: 10px 16px !important;
  font-size: 12px !important;
  border-radius: var(--radius-full) !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  transition: var(--transition) !important;
}

/* =========================================================
   PÁGINA ARCHIVO/TIENDA
   ========================================================= */

/* Header de tienda */
.woocommerce-products-header__title.page-title {
  font-family: var(--font-heading);
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  text-align: center;
  margin-bottom: 8px;
}

/* Descripción de categoría */
.term-description,
.woocommerce-product-archive-description {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 32px;
  color: var(--valery-gray);
  font-size: 15px;
  line-height: 1.7;
}

/* Toolbar (resultados + ordenar) */
.woocommerce-notices-wrapper + .woocommerce-products-header,
.woocommerce .woocommerce-result-count {
  font-size: 13px;
  color: var(--valery-gray);
}

/* Paginación */
.woocommerce nav.woocommerce-pagination ul {
  display: flex;
  gap: 8px;
  justify-content: center;
  list-style: none;
  padding: 40px 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-sm);
  font-weight: 600;
  font-size: 14px;
  transition: var(--transition);
  border: 2px solid var(--valery-border);
  color: var(--valery-dark);
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--valery-pink);
  color: white;
  border-color: var(--valery-pink);
}

/* =========================================================
   PRODUCTOS RELACIONADOS — grid propio, sin depender de Astra
   Template override: woocommerce/single-product/related.php
   ========================================================= */

.valery-related-section {
  margin-top: 70px;
  padding-top: 50px;
  border-top: 2px solid var(--valery-border);
  clear: both;
}

.valery-related-title {
  font-family: var(--font-heading);
  text-align: center;
  margin-bottom: 40px;
  font-size: 2rem;
  color: var(--valery-dark);
  display: block;
  width: 100%;
}

/* Grid de 3 columnas — clase propia, sin herencia de WooCommerce */
.valery-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  list-style: none;
  padding: 0;
  margin: 0 0 60px;
  float: none;
  clear: both;
}

/* Cada tarjeta ocupa toda su celda */
.valery-related-grid li {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  clear: none !important;
}

/* Imagen a proporción 3/4 */
.valery-related-grid .valery-card-img-wrap {
  aspect-ratio: 3/4;
  height: auto;
  width: 100%;
}

.valery-related-grid .valery-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 900px) {
  .valery-related-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}

@media (max-width: 480px) {
  .valery-related-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
}

/* UPSELLS — conservar estilos básicos */
.upsells.products {
  margin-top: 50px;
  padding-top: 40px;
  border-top: 2px solid var(--valery-border);
}

.upsells.products > h2 {
  font-family: var(--font-heading);
  text-align: center;
  margin-bottom: 40px;
  font-size: 2rem;
  color: var(--valery-dark);
}

/* =========================================================
   NOTIFICACIONES / MENSAJES
   ========================================================= */

.woocommerce-message .button,
.woocommerce-info .button {
  float: right;
  background: var(--valery-pink) !important;
  color: white !important;
  padding: 8px 20px !important;
  border-radius: var(--radius-full) !important;
  font-size: 12px !important;
}

/* =========================================================
   CARRITO VACÍO
   ========================================================= */

.woocommerce-cart .cart-empty {
  text-align: center;
  padding: 60px 20px;
  font-size: 1.1rem;
  color: var(--valery-gray);
}

.woocommerce-cart .return-to-shop {
  text-align: center;
}

.woocommerce-cart .return-to-shop .button {
  background: var(--valery-pink) !important;
  color: white !important;
  padding: 14px 32px !important;
  border-radius: var(--radius-full) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
}

/* =========================================================
   LOADING SPINNER — WooCommerce
   ========================================================= */

.blockUI.blockOverlay {
  background: rgba(249, 237, 240, 0.7) !important;
}

/* =========================================================
   CHECKOUT — PASOS VISUALES
   ========================================================= */

.woocommerce-checkout .checkout-steps {
  display: flex;
  justify-content: center;
  gap: 0;
  margin-bottom: 40px;
  counter-reset: step;
}

/* =========================================================
   ORDEN RECIBIDA (Thank You page)
   ========================================================= */

.woocommerce-order-received .woocommerce-thankyou-section {
  text-align: center;
  padding: 40px 20px;
}

.woocommerce-order .woocommerce-order-overview {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px;
  list-style: none;
  padding: 24px;
  background: var(--valery-pink-pale);
  border-radius: var(--radius-md);
  margin-bottom: 32px;
}

.woocommerce-order .woocommerce-order-overview li {
  text-align: center;
  font-size: 13px;
  color: var(--valery-gray);
}

.woocommerce-order .woocommerce-order-overview li strong {
  display: block;
  font-size: 15px;
  color: var(--valery-dark);
  margin-bottom: 4px;
}

/* =========================================================
   RESEÑAS DE PRODUCTOS
   ========================================================= */

#reviews .comment-respond .comment-form-rating label {
  font-weight: 600;
  font-size: 13px;
}

#reviews .stars a {
  color: var(--valery-pink);
  font-size: 20px;
}

#reviews .comment-form .form-submit input {
  background: var(--valery-pink) !important;
  color: white !important;
  border: none !important;
  padding: 12px 28px !important;
  border-radius: var(--radius-full) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  cursor: pointer;
}

/* =========================================================
   ESTILOS CSS PARA ANIMACIÓN "CART BOUNCE"
   ========================================================= */

@keyframes cartBounce {
  0%, 100% { transform: scale(1); }
  30%       { transform: scale(1.3); }
  60%       { transform: scale(0.95); }
}

.cart-bounce {
  animation: cartBounce 0.6s ease;
}

/* =========================================================
   CARRITO — Bloque WooCommerce (wp:woocommerce/cart)
   ========================================================= */

/* Contenedor principal */
.woocommerce-cart .woocommerce,
.wp-block-woocommerce-cart {
  max-width: 1100px;
  margin: 40px auto;
  padding: 0 20px;
}

/* Tabla del carrito */
.wc-block-cart__main-area table,
.woocommerce-cart-form table {
  border-collapse: collapse;
  width: 100%;
}

/* Encabezados de tabla */
.wc-block-cart-items__header span,
.wc-block-cart__header th {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #888;
  padding: 0 0 12px;
  border-bottom: 2px solid #ecdde0;
}

/* Fila del producto */
.wc-block-cart-item,
.wc-block-components-order-summary-item {
  border-bottom: 1px solid #f5eaeb !important;
  padding: 16px 0 !important;
}

/* Imagen en el carrito */
.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img {
  border-radius: 8px !important;
  width: 80px !important;
  height: 100px !important;
  object-fit: cover !important;
}

/* Nombre del producto */
.wc-block-cart-item__product-name a,
.wc-block-components-order-summary-item__description a {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: #282828 !important;
  text-decoration: none !important;
}
.wc-block-cart-item__product-name a:hover { color: #c85f63 !important; }

/* Precio en carrito */
.wc-block-cart-item__product-price,
.wc-block-components-totals-item__value,
.wc-block-components-order-summary-item__individual-prices {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  color: #c85f63 !important;
}

/* Botón eliminar */
.wc-block-cart-item__remove-link,
button.wc-block-cart-item__remove-link {
  color: #bbb !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}
.wc-block-cart-item__remove-link:hover { color: #c85f63 !important; }

/* Cantidad */
.wc-block-components-quantity-selector {
  border: 2px solid #ecdde0 !important;
  border-radius: 8px !important;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
}
.wc-block-components-quantity-selector__value {
  font-weight: 700 !important;
  font-family: 'Montserrat', sans-serif !important;
  border: none !important;
  text-align: center !important;
  width: 40px !important;
}
.wc-block-components-quantity-selector__button {
  background: #f9edf0 !important;
  border: none !important;
  color: #c85f63 !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  width: 32px !important;
  height: 36px !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}
.wc-block-components-quantity-selector__button:hover {
  background: #c85f63 !important;
  color: #fff !important;
}

/* Resumen del pedido (sidebar del carrito) */
.wc-block-cart__sidebar .wc-block-components-totals-wrapper,
.wp-block-woocommerce-cart-totals-block {
  background: #fdf3f4 !important;
  border-radius: 14px !important;
  padding: 24px !important;
  border: 1px solid #ecdde0 !important;
}

/* Líneas del resumen */
.wc-block-components-totals-item {
  padding: 10px 0 !important;
  border-bottom: 1px solid #f0dde0 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}
.wc-block-components-totals-item:last-child { border-bottom: none !important; }

/* Total final */
.wc-block-components-totals-footer-item {
  padding: 14px 0 4px !important;
  font-weight: 800 !important;
  font-size: 1.1rem !important;
  border-top: 2px solid #ecdde0 !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: #c85f63 !important;
  font-size: 1.2rem !important;
}

/* Título del resumen */
.wc-block-cart__totals-title,
h2.wc-block-cart__totals-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.2rem !important;
  color: #282828 !important;
  margin-bottom: 16px !important;
}

/* Botón "Ir a pagar" */
.wc-block-cart__submit-button,
.wc-block-components-checkout-return-to-cart-button {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}
.wc-block-cart__submit-button {
  background: #c85f63 !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 16px 32px !important;
  font-size: 14px !important;
  width: 100% !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 16px rgba(200,95,99,0.35) !important;
}
.wc-block-cart__submit-button:hover {
  background: #b04d51 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(200,95,99,0.45) !important;
}

/* Carrito vacío */
.wc-block-cart__empty-cart__title {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.8rem !important;
  color: #282828 !important;
  text-align: center !important;
}
.wc-block-cart .wp-block-button .wp-block-button__link,
.wc-block-cart .wc-block-cart__empty-cart .wp-block-button__link {
  background: #c85f63 !important;
  border-radius: 999px !important;
  padding: 14px 32px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* Cupón */
.wc-block-components-coupon .wc-block-components-text-input input {
  border: 2px solid #ecdde0 !important;
  border-radius: 8px 0 0 8px !important;
  padding: 10px 14px !important;
  font-family: 'Montserrat', sans-serif !important;
}
.wc-block-components-coupon .components-button {
  background: #c85f63 !important;
  color: #fff !important;
  border-radius: 0 8px 8px 0 !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  border: none !important;
  padding: 0 16px !important;
  height: 100% !important;
}

/* "También te puede interesar" section */
.wc-block-cart .wp-block-woocommerce-product-collection .wp-block-heading {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.5rem !important;
  color: #282828 !important;
  text-align: center !important;
  margin-bottom: 24px !important;
}

/* =========================================================
   CHECKOUT — Bloque WooCommerce (wp:woocommerce/checkout)
   ========================================================= */

.woocommerce-checkout .woocommerce,
.wp-block-woocommerce-checkout {
  max-width: 1100px;
  margin: 24px auto 40px;
  padding: 0 20px;
}

/* ---------- Barra de progreso (inyectada por PHP, fuera del React container) ---------- */
.valery-checkout-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  max-width: 1100px;
  margin: 0 auto 24px;
  padding: 13px 24px;
  background: #fff;
  border: 1px solid #ecdde0;
  border-radius: 12px;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 600;
  box-sizing: border-box;
}
.vcs-step {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #bbb;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.vcs-step.vcs-active { color: #c85f63; }
.vcs-step.vcs-done   { color: #4caf50; }
.vcs-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  font-size: 10px;
  font-weight: 800;
  flex-shrink: 0;
  line-height: 1;
}
.vcs-step             .vcs-num { background: #e8e8e8; color: #888; }
.vcs-step.vcs-active  .vcs-num { background: #c85f63; color: #fff; }
.vcs-step.vcs-done    .vcs-num { background: #4caf50; color: #fff; }
.vcs-arrow { color: #d0d0d0; font-size: 18px; line-height: 1; user-select: none; }

/* ---------- Título de cada sección del formulario ---------- */
.wc-block-checkout__step-title,
.wc-block-components-checkout-step__title {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.1rem !important;
  color: #282828 !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid #ecdde0 !important;
  margin-bottom: 20px !important;
}

/* ---------- Campos de formulario ---------- */
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-textarea textarea,
.wc-block-checkout input[type="text"],
.wc-block-checkout input[type="email"],
.wc-block-checkout input[type="tel"],
.wc-block-checkout select {
  border: 2px solid #e8d5d7 !important;
  border-radius: 10px !important;
  padding: 14px 16px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 15px !important;
  color: #282828 !important;
  background: #fff !important;
  transition: border-color 0.2s, box-shadow 0.2s, background 0.2s !important;
  width: 100% !important;
  box-sizing: border-box !important;
  min-height: 52px !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.wc-block-checkout input:focus,
.wc-block-checkout select:focus {
  border-color: #c85f63 !important;
  box-shadow: 0 0 0 4px rgba(200,95,99,0.10) !important;
  outline: none !important;
  background: #fffafb !important;
}
/* Campo válido (teléfono 10 dígitos) — clase añadida al wrapper */
.wc-block-components-text-input.valery-field-valid input {
  border-color: #4caf50 !important;
  background: #f6fff6 !important;
}
/* Campo con error */
.wc-block-components-text-input.has-error input,
.wc-block-components-validation-input-error input {
  border-color: #e53935 !important;
  background: #fff8f8 !important;
}

/* ---------- Labels (sólo inputs de texto, NUNCA checkboxes) ---------- */
.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-block-checkout input:not([type="checkbox"]) ~ label,
.wc-block-checkout select ~ label,
.wc-block-components-address-form label:not(.wc-block-components-checkbox label) {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  color: #5a5a5a !important;
  margin-bottom: 6px !important;
  display: block !important;
}

/* Checkbox container: restaurar flex para que SVG y texto queden alineados */
.wc-block-components-checkbox label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  cursor: pointer !important;
  position: relative !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: #5a5a5a !important;
  line-height: 1.5 !important;
  margin-bottom: 0 !important;
}

/* El SVG del checkmark (overlay sobre el input) */
.wc-block-components-checkbox__mark {
  position: absolute !important;
  left: 4px !important;
  top: 4px !important;
  pointer-events: none !important;
  color: #fff !important;
  z-index: 2 !important;
}

/* Input visible del checkbox: box cuadrado con bordes */
.wc-block-components-checkbox__input {
  flex-shrink: 0 !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  accent-color: #c85f63 !important;
  cursor: pointer !important;
  margin: 2px 0 0 !important;
}

/* Texto del label del checkbox */
.wc-block-components-checkbox__label {
  font-size: 13px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: #5a5a5a !important;
  line-height: 1.5 !important;
}
/* Aviso de compra como invitado — sutil, no alarmante */
.wc-block-checkout__guest-checkout-notice,
.wc-block-checkout__guest-notice,
.wc-block-checkout .wc-block-components-notice--info {
  font-size: 12px !important;
  color: #888 !important;
  background: #fafafa !important;
  border-color: #e8e8e8 !important;
  border-radius: 8px !important;
}

/* Label teléfono — siempre muestra "CELULAR / TELÉFONO" (React-proof via CSS).
   font-size:0 oculta el texto original sin romper el layout del floating label. */
.wc-block-components-text-input:has(> input[type="tel"]) > label {
  font-size: 0 !important;
}
.wc-block-components-text-input:has(> input[type="tel"]) > label::before {
  content: 'CELULAR / TELÉFONO';
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.07em;
  color: #5a5a5a;
  font-family: 'Montserrat', sans-serif;
}

/* Nota de teléfono debajo del campo (via PHP render_block) */
.valery-phone-note {
  font-size: 11px;
  color: #999;
  margin: 4px 0 0;
  font-family: 'Montserrat', sans-serif;
  line-height: 1.4;
}
/* Asterisco de campo requerido */
.wc-block-components-text-input label abbr,
.wc-block-components-select label abbr,
.wc-block-checkout label .required {
  color: #c85f63 !important;
  font-size: 14px !important;
  margin-left: 2px !important;
  text-decoration: none !important;
}

/* ---------- Texto de ayuda inyectado por JS ---------- */
.valery-field-hint {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  color: #888;
  margin: 5px 0 0;
  line-height: 1.4;
}

/* ---------- Nota de pago seguro inyectada por JS ---------- */
.valery-payment-note {
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  color: #4caf50;
  font-weight: 600;
  text-align: center;
  margin-top: 16px;
  padding: 10px 14px;
  background: #f6fff6;
  border-radius: 8px;
  border: 1px solid #c8e6c9;
}

/* ---------- Botón "Confirmar pedido" ---------- */
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout-actions-block button[type="submit"] {
  background: linear-gradient(135deg, #c85f63 0%, #b04d51 100%) !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 20px 40px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  width: 100% !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 6px 24px rgba(200,95,99,0.45) !important;
  margin-top: 10px !important;
  position: relative !important;
}
.wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-checkout-actions-block button[type="submit"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 32px rgba(200,95,99,0.55) !important;
}
.wc-block-components-checkout-place-order-button:active,
.wp-block-woocommerce-checkout-actions-block button[type="submit"]:active {
  transform: translateY(0) !important;
}
/* Estado procesando */
.wc-block-components-checkout-place-order-button.loading,
.wc-block-components-checkout-place-order-button[disabled] {
  opacity: 0.7 !important;
  cursor: not-allowed !important;
}

/* ---------- Resumen del pedido en checkout ---------- */
.wp-block-woocommerce-checkout-order-summary-block {
  background: linear-gradient(160deg, #fdf3f4 0%, #fff9fa 100%) !important;
  border-radius: 16px !important;
  padding: 24px !important;
  border: 1px solid #ecdde0 !important;
  box-shadow: 0 2px 16px rgba(200,95,99,0.07) !important;
}
/* Título del resumen */
.wc-block-components-order-summary__button {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #282828 !important;
}
/* Total en resumen */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: #c85f63 !important;
  font-weight: 800 !important;
  font-size: 1.15rem !important;
}

/* ---------- Métodos de pago ---------- */
.wc-block-components-radio-control__option {
  border: 2px solid #ecdde0 !important;
  border-radius: 10px !important;
  padding: 16px 18px !important;
  margin-bottom: 10px !important;
  background: #fff !important;
  transition: border-color 0.2s, background 0.2s, box-shadow 0.2s !important;
  cursor: pointer !important;
}
.wc-block-components-radio-control__option:has(input:checked),
.wc-block-components-radio-control__option.is-checked {
  border-color: #c85f63 !important;
  background: #fdf3f4 !important;
  box-shadow: 0 2px 12px rgba(200,95,99,0.1) !important;
}
.wc-block-components-radio-control__option-layout {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
.wc-block-components-radio-control__label {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: #282828 !important;
}
/* Descripción del método de pago */
.wc-block-components-radio-control__description {
  font-size: 12px !important;
  color: #888 !important;
  margin-top: 4px !important;
}

/* ---------- Política de privacidad ---------- */
.wc-block-checkout .wc-block-checkout__privacy-policy-text,
.wc-block-checkout__privacy-policy-text {
  font-size: 11px !important;
  color: #aaa !important;
  text-align: center !important;
  margin-top: 14px !important;
  line-height: 1.5 !important;
}

/* =========================================================
   ORDEN RECIBIDA — Thank You Page
   ========================================================= */

/* Pantalla de éxito */
.wc-block-order-confirmation-status {
  text-align: center !important;
  padding: 48px 20px 32px !important;
}

.wc-block-order-confirmation-status__title,
.woocommerce-order .woocommerce-thankyou-order-received {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(1.6rem, 4vw, 2.2rem) !important;
  color: #282828 !important;
  text-align: center !important;
  margin-bottom: 12px !important;
}

/* Ícono de éxito */
.wc-block-order-confirmation-status__icon {
  font-size: 56px !important;
  margin-bottom: 16px !important;
}

/* Tabla de detalles del pedido */
.wc-block-order-confirmation-summary,
.woocommerce-order .woocommerce-order-overview {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 16px !important;
  list-style: none !important;
  padding: 24px !important;
  background: #fdf3f4 !important;
  border-radius: 14px !important;
  border: 1px solid #ecdde0 !important;
  margin: 24px 0 !important;
}

.woocommerce-order .woocommerce-order-overview li {
  text-align: center !important;
  font-size: 13px !important;
  color: #5a5a5a !important;
}
.woocommerce-order .woocommerce-order-overview li strong {
  display: block !important;
  font-size: 15px !important;
  color: #282828 !important;
  margin-bottom: 4px !important;
}

/* Tabla de productos del pedido */
.wc-block-order-confirmation-totals table,
.woocommerce-order-details table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: 24px !important;
}
.wc-block-order-confirmation-totals th,
.woocommerce-order-details th {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #888 !important;
  padding: 8px 0 !important;
  border-bottom: 2px solid #ecdde0 !important;
}
.wc-block-order-confirmation-totals td,
.woocommerce-order-details td {
  padding: 14px 0 !important;
  border-bottom: 1px solid #f5eaeb !important;
  font-size: 14px !important;
  vertical-align: middle !important;
}

/* Botones de la thank-you page */
.wc-block-order-confirmation .wp-block-button__link {
  background: #c85f63 !important;
  border-radius: 999px !important;
  padding: 14px 32px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  color: #fff !important;
  transition: all 0.25s ease !important;
}
.wc-block-order-confirmation .wp-block-button__link:hover {
  background: #b04d51 !important;
  transform: translateY(-2px) !important;
}

/* Número de sección dentro del formulario WC blocks */
.wc-block-checkout__step-number,
.wc-block-components-checkout-step__index {
  background: #c85f63 !important;
  color: #fff !important;
  border-radius: 50% !important;
  width: 26px !important;
  height: 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 800 !important;
  font-size: 12px !important;
  flex-shrink: 0 !important;
  margin-right: 8px !important;
}

/* Trust badges bajo el botón "Confirmar pedido" */
.valery-checkout-trust {
  display: flex !important;
  gap: 10px !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  font-size: 11px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  color: #5a5a5a !important;
  margin-top: 14px !important;
  padding: 12px 16px !important;
  background: #fdf3f4 !important;
  border-radius: 8px !important;
  border: 1px solid #ecdde0 !important;
}
.valery-checkout-trust span {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  white-space: nowrap !important;
}

/* =========================================================
   CHECKOUT — Reducir fricción y mejorar conversión
   ========================================================= */

/* Ocultar empresa — innecesario para B2C */
.wc-block-components-address-form__company,
.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #shipping_company_field {
  display: none !important;
}

/* "Añadir 2ª línea de dirección" — mantener pero discreto */
.wc-block-components-address-form__address_2-toggle {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  color: #c85f63 !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
}

/* Resumen de pedido: sticky en desktop */
@media (min-width: 769px) {
  .wp-block-woocommerce-checkout-order-summary-block {
    position: sticky !important;
    top: 90px !important;
  }
}

/* Separador entre secciones del formulario */
.wc-block-components-checkout-step + .wc-block-components-checkout-step {
  padding-top: 28px !important;
  margin-top: 28px !important;
  border-top: 1px solid #f0e4e6 !important;
}

/* Título del paso: flex con número */
.wc-block-components-checkout-step__title {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

/* ---------- CusRev — sección de reseña ---------- */
.wc-block-checkout__additional-fields,
.woocommerce-additional-fields {
  background: #fdf3f4 !important;
  border: 1px solid #ecdde0 !important;
  border-radius: 10px !important;
  padding: 16px 20px !important;
  margin-top: 16px !important;
}
/* Checkbox CusRev grande y táctil */
.wc-block-checkout__additional-fields .wc-block-components-checkbox,
.ivole-checkout-consent {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  cursor: pointer !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: #5a5a5a !important;
}
.wc-block-checkout__additional-fields .wc-block-components-checkbox input[type="checkbox"],
.ivole-checkout-consent input[type="checkbox"] {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  accent-color: #c85f63 !important;
  cursor: pointer !important;
  margin-top: 2px !important;
}

/* Nota del pedido */
.wc-block-checkout__order-notes textarea {
  min-height: 80px !important;
  resize: vertical !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
}

/* =========================================================
   MINI CARRITO (drawer/popup)
   ========================================================= */
.astra-cart-drawer .cart-drawer-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.2rem !important;
  color: #282828 !important;
}
.astra-cart-drawer .woocommerce-mini-cart__total strong {
  color: #c85f63 !important;
  font-weight: 700 !important;
}
.astra-cart-drawer .checkout.wc-forward,
.astra-cart-drawer .button {
  background: #c85f63 !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
}

/* =========================================================
   RESPONSIVE — Carrito y Checkout en mobile
   ========================================================= */
/* Compactar pasos en tablet (2-columnas aún presentes) */
@media (max-width: 900px) {
  .valery-checkout-steps {
    font-size: 11px !important;
    gap: 6px !important;
    padding: 10px 14px !important;
    margin-bottom: 16px !important;
  }
  .vcs-label { display: none !important; } /* Solo números en tablet */
}

@media (max-width: 768px) {
  .wp-block-woocommerce-cart,
  .wp-block-woocommerce-checkout {
    padding: 0 10px !important;
    margin: 12px auto 32px !important;
  }
  /* Botón confirmar: más grande y fácil de tocar */
  .wc-block-components-checkout-place-order-button,
  .wp-block-woocommerce-checkout-actions-block button[type="submit"] {
    padding: 18px 24px !important;
    font-size: 15px !important;
    min-height: 58px !important;
  }
  /* Campos más grandes para el dedo */
  .wc-block-components-text-input input,
  .wc-block-checkout input[type="text"],
  .wc-block-checkout input[type="email"],
  .wc-block-checkout input[type="tel"],
  .wc-block-checkout select {
    min-height: 56px !important;
    font-size: 16px !important; /* evita zoom en iOS */
    padding: 14px 16px !important;
  }
  /* Cart item */
  .wc-block-cart-item__image img { width: 64px !important; height: 80px !important; }
  .wc-block-cart__main-area,
  .wc-block-cart__sidebar {
    width: 100% !important;
    float: none !important;
  }
  /* Trust badges apilados */
  .valery-checkout-trust {
    flex-direction: column !important;
    gap: 6px !important;
    text-align: center !important;
  }
}

@media (max-width: 480px) {
  .woocommerce-order .woocommerce-order-overview {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .wc-block-cart-items__header { display: none !important; }
  /* Mostrar labels en mobile para claridad */
  .vcs-label { display: inline !important; }
  .valery-checkout-steps { font-size: 11px !important; padding: 10px 12px !important; }
}
