/* EconomiBuy — presentacion abierta canonica de tarjetas de producto.
   Compatibilidad: se conserva el nombre historico del archivo para no romper referencias existentes. */

:root{
  --rc432-card-blue:#e8f0ff;
  --rc432-line-blue:#2f69d9;
  --rc432-navy:#071348;
  --rc432-copy:#3d5077;
  --rc432-meta:#1f56b3;
}

/* Base compartida: Home, catalogo completo y paginas de tiendas. */
body.page-home.rc46 .shop-card,
body.page-catalog.rc46 .shop-card,
body.page-store.rc46 .product-card{
  display:flex!important;
  flex-direction:column!important;
  align-self:stretch!important;
  width:100%!important;
  height:100%!important;
  min-width:0;
  border:0!important;
  border-radius:16px!important;
  overflow:visible!important;
  background:transparent!important;
  box-shadow:0 0 0 0 rgba(7,19,72,0)!important;

  transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease!important;
}

body.page-home.rc46 .shop-body,
body.page-catalog.rc46 .shop-body,
body.page-store.rc46 .card-body{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  width:100%;
  min-height:0;
  box-sizing:border-box;
  gap:3px!important;
  padding:8px 9px 10px!important;
  border:0!important;
  background:transparent!important;
  color:var(--rc432-navy)!important;
}

body.page-home.rc46 .shop-meta,
body.page-home.rc46 .shop-merchant,
body.page-home.rc46 .shop-tag,
body.page-catalog.rc46 .shop-merchant,
body.page-catalog.rc46 .shop-tag,
body.page-store.rc46 .tag{
  border:0;
  background:transparent;
  color:var(--rc432-meta);
}

body.page-home.rc46 .shop-title,
body.page-catalog.rc46 .shop-title,
body.page-store.rc46 .card-body h2,
body.page-home.rc46 .shop-card .internal,
body.page-home.rc46 .shop-link,
body.page-catalog.rc46 .shop-link,
body.page-store.rc46 .card-link{
  color:var(--rc432-navy)!important;
}

body.page-home.rc46 .shop-title,
body.page-catalog.rc46 .shop-title,
body.page-store.rc46 .card-body h2{

  font-weight:700!important;
}

body.page-home.rc46 .shop-meta,
body.page-home.rc46 .shop-merchant,
body.page-home.rc46 .shop-tag,
body.page-catalog.rc46 .shop-merchant,
body.page-catalog.rc46 .shop-tag,
body.page-store.rc46 .tag,
body.page-home.rc46 .shop-card .internal,
body.page-home.rc46 .shop-link,
body.page-catalog.rc46 .shop-link,
body.page-store.rc46 .card-link{
  font-family:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight:700;
}

body.page-home.rc46 .shop-price-status,
body.page-home.rc46 .shop-note,
body.page-catalog.rc46 .shop-note,
body.page-store.rc46 .card-body p,
body.page-store.rc46 .rc46-card-price{
  color:var(--rc432-copy);
}

body.page-home.rc46 .shop-price-status,
body.page-home.rc46 .shop-note,
body.page-catalog.rc46 .shop-note,
body.page-store.rc46 .card-body p,
body.page-store.rc46 .rc46-card-price{
  font-family:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif ;
  font-weight:400;
}

body.page-home.rc46 .shop-image,
body.page-catalog.rc46 .shop-image,
body.page-store.rc46 .product-image{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  aspect-ratio:1/1.04!important;
  padding:12px!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:none!important;
}

body.page-home.rc46 .shop-image img,
body.page-catalog.rc46 .shop-image img,
body.page-store.rc46 .product-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:transparent!important;
  transform-origin:center center!important;
  transition:transform .2s ease!important;
}

body.page-home.rc46 .shop-image .fallback,
body.page-catalog.rc46 .shop-image .fallback{
  position:absolute;inset:0;display:none;place-items:center;text-align:center;padding:18px;
  background:linear-gradient(145deg,#f8f9fd,#eef2ff);color:#5b6380;font-size:.72rem;font-weight:800;
}

/* Cuadrícula canónica única para Home, Catálogo y tiendas: 5 / 4 / 3 / 2. */
body.page-home.rc46 .product-grid,
body.page-catalog.rc46 .product-grid,
body.page-store.rc46 .product-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:22px 16px!important;
  align-items:stretch!important;
}
@media(max-width:1199px){
  body.page-home.rc46 .product-grid,
  body.page-catalog.rc46 .product-grid,
  body.page-store.rc46 .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:900px){
  body.page-home.rc46 .product-grid,
  body.page-catalog.rc46 .product-grid,
  body.page-store.rc46 .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* Altura uniforme canonica: la cuadricula estira cada ficha y el contenido usa zonas estables. */
body.page-home.rc46 .product-grid,
body.page-catalog.rc46 .product-grid{
  align-items:stretch!important;
}

body.page-home.rc46 .shop-meta,
body.page-catalog.rc46 .shop-merchant{
  min-height:2.3em;
  max-height:2.3em;
  overflow:hidden;
  line-height:1.15;
}

body.page-store.rc46 .tag{
  display:-webkit-box;
  min-height:2.3em;
  max-height:2.3em;
  overflow:hidden;
  line-height:1.15;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
}

body.page-home.rc46 .shop-title,
body.page-catalog.rc46 .shop-title,
body.page-store.rc46 .card-body h2{
  display:-webkit-box!important;
  overflow:hidden!important;
  line-height:1.2!important;
  text-align:left!important;
  text-wrap:balance;
  overflow-wrap:normal!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  line-clamp:2!important;
}

body.page-home.rc46 .shop-price-status,
body.page-catalog.rc46 .shop-note,
body.page-store.rc46 .card-body p{
  display:-webkit-box;
  overflow:hidden;
  line-height:1.35;
  text-align:left;
  text-wrap:pretty;
  overflow-wrap:normal;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
}

body.page-home.rc46 .shop-card .internal,
body.page-home.rc46 .shop-link,
body.page-catalog.rc46 .shop-link,
body.page-store.rc46 .card-body>a:last-child{
  align-self:flex-start;
  margin-top:auto;
  padding-top:7px;
}

/* R7: Home usa la geometría compartida de imagen y cuerpo. */

body.page-home.rc46 .shop-meta,
body.page-home.rc46 .shop-merchant,
body.page-home.rc46 .shop-title,
body.page-home.rc46 .shop-price-status,
body.page-home.rc46 .shop-note,
body.page-home.rc46 .shop-card .internal,
body.page-home.rc46 .shop-link{
  margin:0!important;
  padding:0!important;
}

body.page-home.rc46 .shop-title,
body.page-home.rc46 .shop-price-status,
body.page-home.rc46 .shop-note{
  margin-top:4px!important;
}

body.page-home.rc46 .shop-card .internal,
body.page-home.rc46 .shop-link{
  align-self:flex-start;
  margin-top:auto;
  padding-top:7px;
}

/* R7: Catálogo usa la geometría compartida de imagen y cuerpo. */

/* Tiendas: ficha mas visual, texto compacto y titulos completos. */
body.page-store.rc46 .product-grid{
  align-items:stretch!important;
}

body.page-store.rc46 .product-image{border-bottom:0!important}
body.page-store.rc46 .card-body{flex:1 1 auto!important}

body.page-store.rc46 .tag{
  font-size:.65rem;
  line-height:1.15;
  letter-spacing:.045em;
}

body.page-store.rc46 .card-body h2{
  display:-webkit-box!important;
  margin:2px 0 0!important;
  overflow:hidden!important;
  line-height:1.2!important;
  text-align:left!important;
  text-wrap:balance;
  overflow-wrap:normal!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  line-clamp:2!important;
}

body.page-store.rc46 .card-body p{
  display:-webkit-box;
  margin:3px 0 0;
  overflow:hidden;
  font-size:.74rem;
  line-height:1.35;
  text-align:left;
  text-wrap:pretty;
  overflow-wrap:normal;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
}

body.page-store.rc46 .card-link{
  align-self:flex-start;
  margin:3px 0 0;
  padding:0;
  font-size:.8rem;
  line-height:1.2;
  text-decoration:none;
}

body.page-store.rc46 .rc46-card-price{
  display:-webkit-box;
  min-height:2.5em;
  max-height:2.5em;
  margin:3px 0 0;
  overflow:hidden;
  font-size:.68rem;
  line-height:1.25;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
}

body.page-home.rc46 .shop-card:has(.eb-product-card-link:focus-visible),
body.page-catalog.rc46 .shop-card:has(.eb-product-card-link:focus-visible),
body.page-store.rc46 .product-card:has(.eb-product-card-link:focus-visible){
  border:0!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:0 0 0 2px rgba(85,184,0,.26),0 10px 24px rgba(7,19,72,.09)!important;
}

@media (hover:hover) and (pointer:fine){
  body.page-home.rc46 .shop-card:hover,
  body.page-catalog.rc46 .shop-card:hover,
  body.page-store.rc46 .product-card:hover{
    transform:translateY(-2px)!important;
    border:0!important;
    background:rgba(255,255,255,.78)!important;
    box-shadow:0 0 0 1px rgba(7,19,72,.09),0 10px 24px rgba(7,19,72,.09)!important;
  }

  body.page-home.rc46 .shop-card:hover .shop-image img,
  body.page-catalog.rc46 .shop-card:hover .shop-image img,
  body.page-store.rc46 .product-card:hover .product-image img{
    transform:scale(1.025);
  }
}

/* Mobile product system: same density and image proportion across Home, catalog, stores and related lists. */
@media (max-width:760px){
  body.page-home.rc46 .product-grid,
  body.page-catalog.rc46 .product-grid,
  body.page-store.rc46 .product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
    align-items:stretch!important;
  }

  body.page-home.rc46 .shop-image,
  body.page-catalog.rc46 .shop-image,
  body.page-store.rc46 .product-image{
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:1/1.04!important;
    padding:12px!important;
  }
  body.page-home.rc46 .shop-image img,
  body.page-catalog.rc46 .shop-image img,
  body.page-store.rc46 .product-image img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
  }

  body.page-home.rc46 .shop-body,
  body.page-catalog.rc46 .shop-body,
  body.page-store.rc46 .card-body{
    gap:3px!important;
    padding:8px 9px 10px!important;
  }
  body.page-home.rc46 .shop-meta,
  body.page-catalog.rc46 .shop-merchant,
  body.page-store.rc46 .tag{
    font-size:.55rem;
    line-height:1.15;
  }
  body.page-home.rc46 .shop-price-status,
  body.page-home.rc46 .shop-note,
  body.page-catalog.rc46 .shop-note,
  body.page-store.rc46 .card-body p,
  body.page-store.rc46 .rc46-card-price{
    font-size:.65rem;
    line-height:1.3;
  }
  body.page-home.rc46 .shop-card .internal,
  body.page-home.rc46 .shop-link,
  body.page-catalog.rc46 .shop-link,
  body.page-store.rc46 .card-link,
  body.page-store.rc46 .card-body>a:last-child{
    font-size:.75rem;
    line-height:1.2;
  }
}

@media (max-width:360px){
  body.page-home.rc46 .product-grid,
  body.page-catalog.rc46 .product-grid,
  body.page-store.rc46 .product-grid{gap:7px!important}
}

@media (prefers-reduced-motion:reduce){
  body.page-home.rc46 .shop-card,
  body.page-catalog.rc46 .shop-card,
  body.page-store.rc46 .product-card{
    transition:none!important;
  }

  body.page-home.rc46 .shop-card:hover,
  body.page-catalog.rc46 .shop-card:hover,
  body.page-store.rc46 .product-card:hover{
    transform:none!important;
  }
}

/* R12g — marco blanco uniforme en tarjetas. */
body.rc46 .shop-card .shop-image,body.rc46 .shop-card .product-image,body.rc46 .product-card .product-image{background:#fff!important}
