/* ================================================================
   DreamyGlobes — WooCommerce Block Cart v4 — FINAL
   ================================================================ */

/* ── Variables de WC Blocks — forzar ancho sidebar ── */
.wp-block-woocommerce-cart {
  --wc-blocks-cart-totals-width: 420px !important;
}

/* ── Ocultar breadcrumb y título de WP ── */
body.woocommerce-cart h1.entry-title,
body.woocommerce-cart .entry-title,
body.woocommerce-cart .woocommerce-breadcrumb,
body.woocommerce-cart .entry-header { display: none !important; }
body.woocommerce-cart .entry-content { padding-top: 0 !important; margin-top: 0 !important; }

/* ── Bloque principal ── */
.wp-block-woocommerce-cart.alignwide {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 24px clamp(16px,4vw,48px) 64px !important;
}

/* ── Layout filled cart ── */
.wp-block-woocommerce-filled-cart-block {
  display: flex !important;
  flex-direction: row !important;
  gap: 28px !important;
  align-items: flex-start !important;
}

/* Items — crece para llenar espacio */
.wp-block-woocommerce-cart-items-block {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  background: rgba(255,255,255,0.92) !important;
  border-radius: 20px !important;
  padding: clamp(16px,2vw,24px) !important;
  border: 1px solid rgba(244,167,185,0.15) !important;
}

/* Totales — ancho fijo grande */
.wp-block-woocommerce-cart-totals-block {
  flex: 0 0 400px !important;
  width: 400px !important;
  max-width: 400px !important;
  min-width: 0 !important;
  background: rgba(255,255,255,0.95) !important;
  border-radius: 20px !important;
  padding: 24px !important;
  border: 1px solid rgba(244,167,185,0.15) !important;
  position: sticky !important;
  top: 86px !important;
  box-sizing: border-box !important;
}

/* Order summary dentro del sidebar */
.wp-block-woocommerce-cart-order-summary-block {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* ── Heading sidebar ── */
.wp-block-woocommerce-cart-order-summary-heading-block h2 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  color: #2D3070 !important;
  margin: 0 0 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(244,167,185,0.2) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  white-space: normal !important;
  word-break: normal !important;
}

/* ── Tabla de items ── */
.wp-block-woocommerce-cart-line-items-block table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-family: 'Jost', sans-serif !important;
}
.wp-block-woocommerce-cart-line-items-block thead th {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: #2D3070 !important;
  padding: 0 8px 14px !important;
  border-bottom: 1.5px solid rgba(244,167,185,0.2) !important;
  text-align: left !important;
}
.wp-block-woocommerce-cart-line-items-block tbody td {
  padding: 16px 8px !important;
  border-bottom: 1px solid rgba(244,167,185,0.1) !important;
  vertical-align: middle !important;
  font-size: 13px !important;
}
.wp-block-woocommerce-cart-line-items-block tbody tr:last-child td {
  border-bottom: none !important;
}
/* Imagen */
.wp-block-woocommerce-cart-line-items-block .wc-block-cart-item__image img {
  width: 72px !important; height: 72px !important;
  object-fit: cover !important; border-radius: 12px !important;
  border: 1px solid rgba(244,167,185,0.2) !important;
}
/* Nombre */
.wc-block-components-product-name,
.wc-block-components-product-name a {
  font-family: 'Jost', sans-serif !important;
  font-size: 14px !important; font-weight: 600 !important;
  color: #2D3070 !important; text-decoration: none !important;
}
.wc-block-components-product-name a:hover { color: #F4A7B9 !important; }
/* Precio */
.wc-block-components-product-price,
.wc-block-components-product-price .wc-block-components-product-price__value {
  font-family: 'Jost', sans-serif !important;
  font-size: 14px !important; font-weight: 600 !important; color: #2D3070 !important;
}
/* Cantidad */
.wc-block-components-quantity-selector {
  display: inline-flex !important; align-items: center !important;
  border: 1.5px solid rgba(244,167,185,0.4) !important;
  border-radius: 12px !important; background: rgba(255,255,255,0.9) !important;
  overflow: hidden !important;
}
.wc-block-components-quantity-selector__button {
  background: transparent !important; border: none !important;
  padding: 8px 12px !important; font-size: 16px !important;
  color: #2D3070 !important; cursor: pointer !important;
}
.wc-block-components-quantity-selector__button:hover { background: rgba(244,167,185,0.1) !important; }
.wc-block-components-quantity-selector input {
  width: 42px !important; border: none !important; text-align: center !important;
  font-family: 'Jost', sans-serif !important; font-size: 14px !important;
  font-weight: 600 !important; color: #2D3070 !important; background: transparent !important;
  outline: none !important;
}
/* Eliminar */
.wc-block-components-product-remove-button {
  background: rgba(198,40,40,0.07) !important; border: none !important;
  border-radius: 50% !important; width: 30px !important; height: 30px !important;
  cursor: pointer !important; display: inline-flex !important;
  align-items: center !important; justify-content: center !important;
  transition: background .2s !important; color: #C62828 !important; padding: 0 !important;
}
.wc-block-components-product-remove-button:hover { background: rgba(198,40,40,0.18) !important; }

/* ── Totales: cada fila ── */
.wc-block-components-totals-item {
  display: flex !important; justify-content: space-between !important;
  align-items: center !important; padding: 10px 0 !important;
  border-bottom: 1px solid rgba(244,167,185,0.1) !important;
  font-family: 'Jost', sans-serif !important; font-size: 14px !important;
  width: 100% !important; box-sizing: border-box !important;
  white-space: normal !important;
}
.wc-block-components-totals-item__label {
  font-weight: 500 !important; color: #2D3070 !important;
  flex: 1 !important; padding-right: 12px !important;
}
.wc-block-components-totals-item__value {
  font-weight: 400 !important; color: #3a3a5c !important; text-align: right !important;
}
/* Total final */
.wc-block-components-totals-footer-item {
  border-top: 2px solid rgba(244,167,185,0.2) !important;
  border-bottom: none !important; padding-top: 14px !important; margin-top: 4px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 18px !important; font-weight: 700 !important; color: #2D3070 !important;
}

/* ── Cupón ── */
.wc-block-components-panel__button {
  background: transparent !important; border: none !important;
  cursor: pointer !important; display: flex !important;
  align-items: center !important; justify-content: space-between !important;
  padding: 10px 0 !important; width: 100% !important;
  font-family: 'Jost', sans-serif !important; font-size: 13px !important;
  font-weight: 500 !important; color: #2D3070 !important;
  border-bottom: 1px solid rgba(244,167,185,0.1) !important;
}
.wc-block-components-totals-coupon input[type="text"] {
  padding: 10px 16px !important; border: 1.5px solid rgba(244,167,185,0.35) !important;
  border-radius: 30px !important; font-family: 'Jost', sans-serif !important;
  font-size: 13px !important; width: 100% !important; box-sizing: border-box !important;
  margin-bottom: 8px !important; outline: none !important;
}
.wc-block-components-totals-coupon input:focus { border-color: #F4A7B9 !important; }
.wc-block-components-totals-coupon__button,
.wc-block-components-button:not(.wc-block-cart__submit-button) {
  background: transparent !important; border: 1.5px solid rgba(45,48,112,0.3) !important;
  color: #2D3070 !important; border-radius: 30px !important;
  padding: 8px 18px !important; font-family: 'Jost', sans-serif !important;
  font-size: 12px !important; font-weight: 600 !important; cursor: pointer !important;
}

/* ── Botón Finalizar compra ── */
.wp-block-woocommerce-proceed-to-checkout-block {
  width: 100% !important; display: block !important; box-sizing: border-box !important;
}
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button {
  display: block !important; width: 100% !important;
  background: #2D3070 !important; color: white !important;
  text-align: center !important; border-radius: 30px !important;
  padding: 15px 20px !important; font-family: 'Jost', sans-serif !important;
  font-size: 15px !important; font-weight: 700 !important;
  border: none !important; cursor: pointer !important; margin-top: 16px !important;
  box-sizing: border-box !important; white-space: nowrap !important;
  transition: all .2s !important;
}
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button:hover {
  background: #3D4A8A !important; transform: translateY(-1px) !important;
}

/* ── CARRITO VACÍO ── */
.wp-block-woocommerce-empty-cart-block {
  max-width: 800px !important;
  margin: 0 auto !important;
  padding: clamp(40px,6vw,72px) clamp(20px,4vw,40px) !important;
}
/* Icono triste — reemplazar con estilo DG */
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(24px,3.5vw,38px) !important;
  font-weight: 600 !important; color: #2D3070 !important;
  text-align: center !important; margin: 0 0 12px !important;
  display: flex !important; flex-direction: column !important;
  align-items: center !important; gap: 16px !important;
}
/* Ocultar icono feo de WC */
.wc-block-cart__empty-cart__title .wc-block-cart__empty-cart__icon,
.wc-block-cart__empty-cart__title svg { display: none !important; }
/* Separador de puntos */
.wp-block-woocommerce-empty-cart-block .wp-block-separator.is-style-dots {
  display: none !important;
}
/* Título "Nuevo en la tienda" */
.wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title) {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(20px,2.5vw,28px) !important; font-weight: 600 !important;
  color: #2D3070 !important; text-align: center !important;
  margin: 24px 0 20px !important;
  padding-top: 24px !important;
  border-top: 1px solid rgba(244,167,185,0.2) !important;
}
/* Grid de productos sugeridos */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(200px,1fr)) !important;
  gap: 20px !important; list-style: none !important;
  padding: 0 !important; margin: 0 !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
  background: rgba(255,255,255,0.9) !important; border-radius: 16px !important;
  overflow: hidden !important; border: 1px solid rgba(244,167,185,0.15) !important;
  transition: transform .2s, box-shadow .2s !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 32px rgba(45,48,112,0.1) !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
  width: 100% !important; aspect-ratio: 1/1 !important;
  object-fit: cover !important; display: block !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
  font-family: 'Jost', sans-serif !important; font-size: 13px !important;
  font-weight: 600 !important; color: #2D3070 !important;
  padding: 10px 12px 4px !important; display: block !important;
  text-decoration: none !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
  font-family: 'Jost', sans-serif !important; font-size: 14px !important;
  font-weight: 700 !important; color: #2D3070 !important;
  padding: 0 12px 8px !important; display: block !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart button {
  display: block !important; width: calc(100% - 24px) !important;
  margin: 0 12px 12px !important; background: #2D3070 !important;
  color: white !important; border: none !important; border-radius: 20px !important;
  padding: 9px 16px !important; font-family: 'Jost', sans-serif !important;
  font-size: 12px !important; font-weight: 700 !important;
  text-align: center !important; text-decoration: none !important;
  cursor: pointer !important; transition: background .2s !important;
  box-sizing: border-box !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a:hover,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart button:hover {
  background: #3D4A8A !important;
}

/* ── Notices ── */
.wc-block-components-notice-banner {
  font-family: 'Jost', sans-serif !important; font-size: 13px !important;
  border-radius: 14px !important; border-left: none !important;
  padding: 12px 16px !important; margin-bottom: 16px !important;
}

/* ── Hero inject ── */
.dg-cart-hero-inject {
  text-align: center !important;
  padding: clamp(36px,5vw,52px) 0 clamp(16px,2vw,24px) !important;
}
.dg-cart-hero-inject h1 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(28px,4vw,44px) !important; font-weight: 600 !important;
  color: #2D3070 !important; margin: 0 0 6px !important;
}
.dg-cart-hero-inject p {
  font-family: 'Jost', sans-serif !important; font-size: 14px !important;
  font-weight: 300 !important; color: #6B7280 !important; margin: 0 !important;
}

/* ── Responsive ── */
@media(max-width:860px) {
  .wp-block-woocommerce-filled-cart-block {
    flex-direction: column !important;
  }
  .wp-block-woocommerce-cart-totals-block {
    flex: 1 1 auto !important; width: 100% !important;
    max-width: 100% !important; position: static !important;
  }
}


/* ================================================================
   CARRITO — Fixes finales v5
   ================================================================ */

/* ── 1. Ocultar "DreamyGlobes / Carrito" breadcrumb y título ── */
body.woocommerce-cart .woocommerce-breadcrumb,
body.woocommerce-cart nav.woocommerce-breadcrumb,
body.woocommerce-cart .entry-header,
body.woocommerce-cart h1.entry-title,
body.woocommerce-cart .page-title,
.woocommerce-cart .posted_in,
/* Hello Elementor theme title area */
body.woocommerce-cart .page .entry-header,
body.woocommerce-cart .page-header,
/* Cualquier h1 fuera del bloque WC */
body.woocommerce-cart > div > main h1:not(.wc-block-cart__empty-cart__title),
body.woocommerce-cart .site-main > article > header,
body.woocommerce-cart article.page > header {
  display: none !important;
}
body.woocommerce-cart .entry-content,
body.woocommerce-cart article.page > .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* ── 2. Fix cupón — empalme de textos ── */
.wc-block-components-totals-coupon {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 12px 0 !important;
}
.wc-block-components-totals-coupon .wc-block-components-totals-coupon__form {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  width: 100% !important;
}
.wc-block-components-totals-coupon .wc-block-components-form-token-field-wrapper,
.wc-block-components-totals-coupon .wc-block-components-text-input {
  width: 100% !important;
  box-sizing: border-box !important;
  position: relative !important;
  line-height: 1.5 !important;
}
.wc-block-components-totals-coupon input[type="text"],
.wc-block-components-totals-coupon .wc-block-components-text-input input {
  width: 100% !important;
  padding: 11px 16px !important;
  border: 1.5px solid rgba(244,167,185,0.4) !important;
  border-radius: 12px !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #1a1a2e !important;
  background: white !important;
  outline: none !important;
  box-sizing: border-box !important;
  display: block !important;
  margin: 0 !important;
}
.wc-block-components-totals-coupon input:focus {
  border-color: #F4A7B9 !important;
}
/* Label flotante del input — quitar posicionamiento absoluto conflictivo */
.wc-block-components-totals-coupon .wc-block-components-text-input label,
.wc-block-components-totals-coupon label {
  display: block !important;
  position: static !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #6B7280 !important;
  margin-bottom: 4px !important;
  transform: none !important;
  top: auto !important;
  left: auto !important;
}
.wc-block-components-totals-coupon .wc-block-components-button {
  align-self: flex-start !important;
  background: #2D3070 !important;
  color: white !important;
  border: none !important;
  border-radius: 30px !important;
  padding: 10px 22px !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background .2s !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
}
.wc-block-components-totals-coupon .wc-block-components-button:hover {
  background: #3D4A8A !important;
}
/* Mensaje de error del cupón */
.wc-block-components-validation-error,
.wc-block-components-totals-coupon .wc-block-components-validation-error p {
  font-family: 'Jost', sans-serif !important;
  font-size: 12px !important;
  color: #C62828 !important;
  margin: 4px 0 0 !important;
  line-height: 1.4 !important;
}

/* ── 3. Carrito vacío — fix completo ── */
.wp-block-woocommerce-empty-cart-block {
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: clamp(32px,5vw,60px) clamp(16px,4vw,40px) clamp(40px,6vw,72px) !important;
  text-align: center !important;
}
/* Ocultar el icono SVG feo */
.wp-block-woocommerce-empty-cart-block svg,
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__icon {
  display: none !important;
}
/* Añadir emoji bonito vía pseudo-elemento */
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title::before {
  content: "🛒" !important;
  display: block !important;
  font-size: 52px !important;
  margin-bottom: 16px !important;
  line-height: 1 !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(24px,3.5vw,38px) !important;
  font-weight: 600 !important;
  color: #2D3070 !important;
  text-align: center !important;
  margin: 0 0 8px !important;
  display: block !important;
}
/* Separador puntos — ocultar */
.wp-block-woocommerce-empty-cart-block .wp-block-separator { display: none !important; }

/* Subtítulo "Nuevo en la tienda" */
.wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title) {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(20px,2.5vw,28px) !important;
  font-weight: 600 !important;
  color: #2D3070 !important;
  margin: 28px 0 20px !important;
  padding-top: 24px !important;
  border-top: 1px solid rgba(244,167,185,0.2) !important;
}

/* Grid de productos sugeridos */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: left !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
  background: rgba(255,255,255,0.92) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  border: 1px solid rgba(244,167,185,0.15) !important;
  transition: transform .2s, box-shadow .2s !important;
  display: flex !important;
  flex-direction: column !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 32px rgba(45,48,112,0.1) !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link {
  text-decoration: none !important;
  display: block !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
  width: 100% !important;
  aspect-ratio: 1/1 !important;
  object-fit: cover !important;
  display: block !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #2D3070 !important;
  padding: 10px 12px 4px !important;
  display: block !important;
  line-height: 1.4 !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
  font-family: 'Jost', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #2D3070 !important;
  padding: 0 12px 10px !important;
  display: block !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart {
  margin-top: auto !important;
  padding: 0 12px 12px !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart button {
  display: block !important;
  width: 100% !important;
  background: #2D3070 !important;
  color: white !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 9px 12px !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background .2s !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a:hover,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart button:hover {
  background: #3D4A8A !important;
  color: white !important;
}


/* ================================================================
   CARRITO VACÍO — Fix completo v6
   ================================================================ */

/* Ocultar el ícono del carrito que se superpone sobre la cara triste */
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title::before {
  display: none !important;
}

/* Ocultar la cara triste SVG de WooCommerce */
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title svg,
.wp-block-woocommerce-empty-cart-block svg.wc-block-cart__empty-cart__icon {
  display: none !important;
}

/* Wrapper del bloque vacío — centrado y con padding */
.wp-block-woocommerce-empty-cart-block {
  max-width: 1140px !important;
  margin: 0 auto !important;
  padding: 0 clamp(16px,4vw,48px) clamp(40px,6vw,72px) !important;
  text-align: center !important;
}

/* Título "¡Tu carrito está actualmente vacío!" */
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(22px,3vw,34px) !important;
  font-weight: 600 !important;
  color: #2D3070 !important;
  text-align: center !important;
  margin: 0 0 12px !important;
  display: block !important;
  padding: 0 !important;
}

/* Separador — ocultar */
.wp-block-woocommerce-empty-cart-block hr.wp-block-separator {
  display: none !important;
}

/* Subtítulo "Nuevo en la tienda" */
.wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title) {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(20px,2.5vw,28px) !important;
  font-weight: 600 !important;
  color: #2D3070 !important;
  text-align: center !important;
  margin: 24px 0 20px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(244,167,185,0.2) !important;
}

/* ── Grid de productos sugeridos ── */
.wp-block-woocommerce-empty-cart-block .wc-block-grid {
  width: 100% !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: left !important;
  width: 100% !important;
}
@media(max-width:900px) {
  .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media(max-width:480px) {
  .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* Tarjeta de producto sugerido */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
  background: rgba(255,255,255,0.92) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  border: 1px solid rgba(244,167,185,0.15) !important;
  transition: transform .2s, box-shadow .2s !important;
  display: flex !important;
  flex-direction: column !important;
  list-style: none !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 32px rgba(45,48,112,0.1) !important;
}

/* Imagen */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link {
  display: block !important;
  text-decoration: none !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image {
  width: 100% !important;
  aspect-ratio: 1/1 !important;
  overflow: hidden !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .4s !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover .wc-block-grid__product-image img {
  transform: scale(1.04) !important;
}

/* Nombre */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #2D3070 !important;
  padding: 10px 12px 4px !important;
  display: block !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
}

/* Precio */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
  font-family: 'Jost', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #2D3070 !important;
  padding: 0 12px 10px !important;
  display: block !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price .woocommerce-Price-amount {
  font-family: 'Jost', sans-serif !important;
  font-weight: 700 !important;
  color: #2D3070 !important;
}

/* Botón añadir al carrito */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart {
  margin-top: auto !important;
  padding: 0 12px 14px !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart button {
  display: block !important;
  width: 100% !important;
  background: #2D3070 !important;
  color: white !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 9px 12px !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background .2s !important;
  box-sizing: border-box !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a:hover,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart button:hover {
  background: #3D4A8A !important;
  color: white !important;
}


/* ================================================================
   CARRITO VACÍO — Fix grid productos has-4-columns
   ================================================================ */

/* El bloque wc-block-grid tiene CSS interno que limita el ancho */
/* Necesitamos sobrescribir las variables CSS de WC Blocks */
.wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns {
  --wc-blocks-grid-columns: 4 !important;
  width: 100% !important;
  max-width: 100% !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  box-sizing: border-box !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
  float: none !important;
  background: rgba(255,255,255,0.92) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  border: 1px solid rgba(244,167,185,0.15) !important;
  transition: transform .2s, box-shadow .2s !important;
  display: flex !important;
  flex-direction: column !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 32px rgba(45,48,112,0.1) !important;
}
/* Imagen cuadrada */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link {
  display: block !important;
  text-decoration: none !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image {
  width: 100% !important;
  aspect-ratio: 1/1 !important;
  overflow: hidden !important;
  display: block !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .4s !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover img {
  transform: scale(1.04) !important;
}
/* Título */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #2D3070 !important;
  padding: 10px 12px 4px !important;
  display: block !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  white-space: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
/* Precio */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
  font-family: 'Jost', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #2D3070 !important;
  padding: 0 12px 10px !important;
  display: block !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price * {
  font-family: 'Jost', sans-serif !important;
  font-weight: 700 !important;
  color: #2D3070 !important;
}
/* Botón */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart,
.wp-block-woocommerce-empty-cart-block .wp-block-button.wc-block-grid__product-add-to-cart {
  margin-top: auto !important;
  padding: 0 12px 14px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart button {
  display: block !important;
  width: 100% !important;
  background: #2D3070 !important;
  color: white !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 9px 12px !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background .2s !important;
  box-sizing: border-box !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a:hover,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart button:hover,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
  background: #3D4A8A !important;
  color: white !important;
}

@media(max-width:900px) {
  .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media(max-width:480px) {
  .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
}


/* ── Botón Añadir al carrito — centrado ── */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart,
.wp-block-woocommerce-empty-cart-block .wp-block-button.wc-block-grid__product-add-to-cart {
  padding: 0 12px 14px !important;
  text-align: center !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
  background: #2D3070 !important;
  color: white !important;
  border-radius: 20px !important;
  padding: 10px 16px !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: background .2s !important;
  border: none !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a:hover,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
  background: #3D4A8A !important;
  color: white !important;
}


/* ── WC Block notices — estilizados ── */
.wc-block-components-notice-banner {
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  border-radius: 14px !important;
  padding: 14px 18px !important;
  margin-bottom: 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border: 1px solid rgba(198,40,40,0.2) !important;
  background: rgba(198,40,40,0.06) !important;
  color: #C62828 !important;
  border-left: none !important;
}
.wc-block-components-notice-banner.is-error {
  border-color: rgba(198,40,40,0.25) !important;
  background: rgba(198,40,40,0.06) !important;
  color: #C62828 !important;
}
.wc-block-components-notice-banner.is-success {
  border-color: rgba(46,125,82,0.25) !important;
  background: rgba(46,125,82,0.08) !important;
  color: #2E7D52 !important;
}
.wc-block-components-notice-banner.is-info {
  border-color: rgba(244,167,185,0.3) !important;
  background: rgba(244,167,185,0.08) !important;
  color: #2D3070 !important;
}
.wc-block-components-notice-banner__content {
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  flex: 1 !important;
}
.wc-block-components-notice-banner__content a {
  color: inherit !important;
  font-weight: 700 !important;
}
.wc-block-components-notice-banner button[aria-label="Dismiss this notice"] {
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  opacity: 0.6 !important;
  color: inherit !important;
  font-size: 18px !important;
  padding: 0 !important;
  transition: opacity .2s !important;
}
.wc-block-components-notice-banner button:hover { opacity: 1 !important; }

/* ── Quitar outline nativo de botones +/- al hacer click ── */
.wc-block-components-quantity-selector__button:focus,
.wc-block-components-quantity-selector__button:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
  background: rgba(244,167,185,0.1) !important;
}

/* ============================================================
   MÓVIL — Centrar contenido de items del carrito
   Solo aplica en pantallas móviles. No afecta desktop.
   ============================================================ */
@media(max-width:768px) {
  .wp-block-woocommerce-cart-items-block {
    padding: 12px !important;
  }
  .wp-block-woocommerce-cart-line-items-block table {
    width: 100% !important;
    table-layout: fixed !important;
  }
  .wp-block-woocommerce-cart-line-items-block tbody td {
    padding: 12px 6px !important;
  }
  .wp-block-woocommerce-cart-line-items-block .wc-block-cart-item__image img {
    width: 64px !important;
    height: 64px !important;
  }
  /* Nombre y detalles del producto — evitar desbordamiento */
  .wc-block-components-product-name,
  .wc-block-components-product-name a {
    font-size: 13px !important;
    word-break: break-word !important;
  }
  /* Precio — no empujar a la derecha */
  .wc-block-cart-item__total {
    text-align: right !important;
    padding-right: 4px !important;
  }
}
