/* GEU v2.2 — panel de carrito compacto, sin alterar el botón del header.
   Sustituye por completo las versiones anteriores de geu-cart-panel.css.
   Funciona con los TPL de Warehouse y con los TPL GEU entregados.
   Cargar DESPUÉS de Warehouse y geu-header.css. */

/* El ancho corresponde al panel, no al disparador de 48 px. */
#geu-header #blockcart { position: relative; overflow: visible !important; }
#geu-header #ps-shoppingcart,
#geu-header #ps-shoppingcart-wrapper,
#geu-header .geu-header-actions,
#geu-header .geu-header-cart { overflow: visible !important; }

#geu-header #ps-shoppingcart #_desktop_blockcart-content {
  box-sizing: border-box !important;
  position: absolute !important;
  top: 100% !important;
  right: 0 !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: 390px !important;
  min-width: 0 !important;
  max-width: calc(100vw - 24px) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: min(75vh, 620px) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  background: #fff !important;
  color: #102b4d !important;
  border: 1px solid #e4eaf1 !important;
  border-radius: 0 0 12px 12px !important;
  box-shadow: 0 16px 36px rgba(4, 20, 43, .20) !important;
  white-space: normal !important;
  text-align: left !important;
  z-index: 10010 !important;
  overscroll-behavior: contain;
}
/* Respetamos cómo Warehouse abre/cierra el dropdown: NO fijar display al panel. */
#geu-header #ps-shoppingcart #blockcart-content {
  /* Warehouse posiciona el contenido en absoluto: eso colapsa el panel padre a 2px. */
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 16px !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
  color: #102b4d !important;
  background: #fff !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  white-space: normal !important;
}
#geu-header #ps-shoppingcart #blockcart-content,
#geu-header #ps-shoppingcart #blockcart-content a,
#geu-header #ps-shoppingcart #blockcart-content span,
#geu-header #ps-shoppingcart #blockcart-content .label,
#geu-header #ps-shoppingcart #blockcart-content .value { text-shadow: none !important; }
#geu-header #ps-shoppingcart #blockcart-content .cart-title {
  display: flex !important;
  flex: none !important;
  align-items: center !important;
  justify-content: space-between !important;
  position: relative !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 0 10px !important;
  padding: 0 0 10px !important;
  border-bottom: 1px solid #e5eaf0 !important;
  color: #102b4d !important;
}
#geu-header #ps-shoppingcart #blockcart-content .cart-title hr { display: none !important; }
#geu-header #ps-shoppingcart #blockcart-content .cart-title .modal-title {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 17px !important;
  line-height: 1.3 !important;
  color: #102b4d !important;
  font-weight: 700 !important;
}
#geu-header #ps-shoppingcart #blockcart-content #js-cart-close {
  position: static !important;
  float: none !important;
  color: #102b4d !important;
  opacity: 1 !important;
  font-size: 22px !important;
}
/* Quita alturas mínimas/fijas de Warehouse que creaban el hueco blanco. */
#geu-header #ps-shoppingcart #blockcart-content .cart-products {
  display: block !important;
  flex: none !important;
  position: static !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: 260px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 0 !important;
  margin: 0 0 12px !important;
  list-style: none !important;
  background: #fff !important;
}
#geu-header #ps-shoppingcart #blockcart-content .cart-products > li {
  display: block !important;
  padding: 10px 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid #edf0f4 !important;
  min-height: 0 !important;
  height: auto !important;
  color: #102b4d !important;
}
/* Fila de producto: funciona tanto con clases originales como GEU. */
#geu-header #ps-shoppingcart #blockcart-content .cart-products > li > .row,
#geu-header #ps-shoppingcart #blockcart-content .geu-cart-product-row {
  display: flex !important;
  width: 100% !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  margin: 0 !important;
}
#geu-header #ps-shoppingcart #blockcart-content .cart-products > li > .row > .col-3,
#geu-header #ps-shoppingcart #blockcart-content .geu-cart-product-image-col {
  flex: 0 0 88px !important;
  width: 88px !important;
  max-width: 88px !important;
  padding: 0 10px 0 0 !important;
}
#geu-header #ps-shoppingcart #blockcart-content .product-image img {
  display: block !important;
  width: 76px !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}
#geu-header #ps-shoppingcart #blockcart-content .cart-products > li .col-info,
#geu-header #ps-shoppingcart #blockcart-content .geu-cart-product-info {
  flex: 1 1 0 !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  color: #102b4d !important;
}
#geu-header #ps-shoppingcart #blockcart-content .col-info a:not(.remove-from-cart),
#geu-header #ps-shoppingcart #blockcart-content .geu-cart-product-name a {
  color: #102b4d !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
#geu-header #ps-shoppingcart #blockcart-content .geu-cart-product-controls { display: flex !important; align-items: center !important; flex-wrap: nowrap !important; gap: 7px !important; }
#geu-header #ps-shoppingcart #blockcart-content .geu-cart-quantity-col { flex: 0 0 80px !important; width: 80px !important; min-width: 0 !important; margin-right: 0 !important; }
#geu-header #ps-shoppingcart #blockcart-content .block-cart-product-quantity,
#geu-header #ps-shoppingcart #blockcart-content .block-cart-product-quantity-gift {
  color: #102b4d !important;
  background: #fff !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 34px !important;
  font-size: 13px !important;
  text-align: center !important;
}
#geu-header #ps-shoppingcart #blockcart-content .cart-products .row.mt-2,
#geu-header #ps-shoppingcart #blockcart-content .geu-cart-product-controls { color: #102b4d !important; }
#geu-header #ps-shoppingcart #blockcart-content .cart-products .row.mt-2 > .col { min-width: 0 !important; }
#geu-header #ps-shoppingcart #blockcart-content .cart-products .row.mt-2 .col-auto { flex: 0 0 auto !important; }
#geu-header #ps-shoppingcart #blockcart-content .remove-from-cart { color: #7b8797 !important; }
/* Totales: legibles, sin ocupar huecos grandes ni ocultarse por estilos globales. */
#geu-header #ps-shoppingcart #blockcart-content .cart-subtotals,
#geu-header #ps-shoppingcart #blockcart-content .cart-totals {
  display: block !important;
  flex: none !important;
  position: static !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 8px 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: #fff !important;
  color: #102b4d !important;
}
#geu-header #ps-shoppingcart #blockcart-content .cart-totals { border-top: 1px solid #e4eaf1 !important; padding-top: 12px !important; font-weight: 700 !important; }
#geu-header #ps-shoppingcart #blockcart-content .cart-summary-line,
#geu-header #ps-shoppingcart #blockcart-content .cart-totals > div {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  gap: 6px !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 0 5px !important;
  padding: 0 !important;
  color: #102b4d !important;
}
#geu-header #ps-shoppingcart #blockcart-content .cart-summary-line > .label,
#geu-header #ps-shoppingcart #blockcart-content .cart-summary-line > .value,
#geu-header #ps-shoppingcart #blockcart-content .cart-totals .label,
#geu-header #ps-shoppingcart #blockcart-content .cart-totals .value {
  position: static !important;
  float: none !important;
  display: inline !important;
  visibility: visible !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  color: #102b4d !important;
  background: transparent !important;
  white-space: normal !important;
  font-size: 13px !important;
}
#geu-header #ps-shoppingcart #blockcart-content .cart-buttons {
  display: block !important;
  position: static !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 12px 0 0 !important;
  margin: 8px 0 0 !important;
  border-top: 1px solid #e4eaf1 !important;
  background: #fff !important;
}
#geu-header #ps-shoppingcart #blockcart-content .cart-buttons .btn {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 40px !important;
  margin: 0 0 8px !important;
  padding: 10px 12px !important;
  border-radius: 9px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  white-space: normal !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-align: center !important;
}
#geu-header #ps-shoppingcart #blockcart-content .cart-buttons .btn-primary {
  background: #ffc300 !important; border: 1px solid #ffc300 !important; color: #102b4d !important;
}
#geu-header #ps-shoppingcart #blockcart-content .cart-buttons .btn-secondary {
  background: #f0f4f8 !important; border: 1px solid #d9e1ea !important; color: #102b4d !important;
}
#geu-header #ps-shoppingcart #blockcart-content .no-items { display: block; padding: 20px 0; color: #102b4d !important; }
@media (max-width: 575px) {
  #geu-header #ps-shoppingcart #_desktop_blockcart-content { width: min(390px, calc(100vw - 16px)) !important; }
  #geu-header #ps-shoppingcart #blockcart-content { padding: 12px !important; }
}

/* ============================================================
   v2.2: estado cerrado. Warehouse retira .show al cerrar.
   Nunca dejar el panel blanco visible sin contenido.
   Las reglas del tema pueden forzar display:block al dropdown.
   ============================================================ */
#geu-header #ps-shoppingcart #_desktop_blockcart-content:not(.show) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
#geu-header #ps-shoppingcart #_desktop_blockcart-content.show {
  display: block !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
