.jdmh-shell{--jdmh-gap:14px;--jdmh-row-gap:14px;--jdmh-side-opacity:.38;--jdmh-mobile-width:82%;position:relative;width:100%;box-sizing:border-box}.jdmh-shell *{box-sizing:border-box}.jdmh-stage{position:relative;overflow:visible}.jdmh-source{display:none!important}.jdmh-swiper{overflow:hidden;width:100%}.jdmh-swiper>.swiper-wrapper{align-items:stretch}.jdmh-page{height:auto}.jdmh-page__grid{display:grid;grid-template-columns:repeat(var(--jdmh-cols,2),minmax(0,1fr));gap:var(--jdmh-row-gap) var(--jdmh-gap);height:100%}.jdmh-cell{min-width:0;display:flex}.jdmh-card{display:grid;grid-template-columns:var(--jdmh-image-width,36%) minmax(0,1fr);width:100%;height:100%;min-width:0;border:1px solid #e7e7e7;overflow:hidden}.jdmh-card__image{display:flex;align-items:center;justify-content:center;min-width:0;border-right-style:solid;border-right-width:1px;border-right-color:#eee}.jdmh-card__image img{display:block;width:100%;height:100%;max-height:190px;object-fit:contain}.jdmh-card__content{display:flex;flex-direction:column;min-width:0;padding-left:20px;padding-top:0}.jdmh-card__price{font-size:32px;font-weight:800;line-height:1.1;margin-bottom:10px}.jdmh-card__title{font-size:16px;font-weight:600;line-height:1.25;text-decoration:none;display:-webkit-box;-webkit-line-clamp:var(--jdmh-title-lines,2);-webkit-box-orient:vertical;overflow:hidden;min-height:calc(1.25em * var(--jdmh-title-lines,2))}.jdmh-card__button{margin-top:auto;display:flex!important;align-items:center;justify-content:center;gap:8px;width:100%;border:2px solid #222;text-decoration:none;text-align:center;line-height:1.1;min-height:38px}.jdmh-arrow{position:absolute;z-index:6;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:1px solid #ddd;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.12)}.jdmh-arrow svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.jdmh-prev{left:-21px}.jdmh-next{right:-21px}.jdmh-footer{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:18px}.jdmh-progress{width:min(420px,70%);height:5px;border-radius:999px;overflow:hidden}.jdmh-progress__fill{display:block;height:100%;width:0;border-radius:inherit;transition:width .3s ease}.jdmh-counter{font-size:14px}.jdmh-no-overflow .jdmh-arrow{display:none}.jdmh-mobile-center .jdmh-swiper{overflow:visible}.jdmh-mobile-center .swiper-slide{height:auto;opacity:var(--jdmh-side-opacity);transform:scale(.94);transition:opacity .3s ease,transform .3s ease}.jdmh-mobile-center .swiper-slide-active{opacity:1;transform:scale(1)}.jdmh-mobile-center .jdmh-card{display:flex;flex-direction:column}.jdmh-mobile-center .jdmh-card__image{width:100%;height:260px;border-right:0;border-bottom:1px solid #eee}.jdmh-mobile-center .jdmh-card__content{padding:18px}.jdmh-mobile-horizontal .jdmh-swiper{overflow:visible}.jdmh-mobile-horizontal .swiper-slide{height:auto;opacity:var(--jdmh-side-opacity);transform:scale(.95);transition:opacity .3s ease,transform .3s ease}.jdmh-mobile-horizontal .swiper-slide-active{opacity:1;transform:scale(1)}
@media(max-width:767px){.jdmh-shell{overflow:hidden;padding-left:0!important;padding-right:0!important}.jdmh-stage{padding:0}.jdmh-arrow{width:38px;height:38px}.jdmh-prev{left:10px}.jdmh-next{right:10px}.jdmh-card__price{font-size:27px}.jdmh-card__title{font-size:15px}.jdmh-mobile-grid .jdmh-page__grid{grid-template-columns:1fr}.jdmh-mobile-horizontal .jdmh-card{min-height:210px}.jdmh-mobile-center .jdmh-card__image img{max-height:240px}}

/* 2.2.1 — aislamiento del botón frente a estilos globales del tema/WooCommerce. */
.jdmh-shell a.jdmh-card__button,
.jdmh-shell a.jdmh-card__button:link,
.jdmh-shell a.jdmh-card__button:visited,
.jdmh-shell a.jdmh-card__button:hover,
.jdmh-shell a.jdmh-card__button:focus,
.jdmh-shell a.jdmh-card__button:active {
  position: static !important;
  float: none !important;
  clear: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  align-self: stretch !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 38px;
  height: 38px;
  margin: 12px 0 0 !important;
  padding: 0 16px;
  border-style: solid !important;
  border-width: 2px !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
  text-indent: 0 !important;
  letter-spacing: normal;
  white-space: nowrap;
  overflow: hidden;
  box-shadow: none;
  transform: none;
}
.jdmh-shell .jdmh-card__button > span {
  display: inline-flex;
  align-items: center;
  line-height: 1;
  margin: 0;
  padding: 0;
}
.jdmh-shell .jdmh-card__content {
  justify-content: flex-start;
  padding-top: 0;
}
.jdmh-shell .jdmh-card__title {
  margin: 0;
}

/* 2.2.3 — el fondo entre tarjetas pertenece al carrusel, no a las tarjetas. */
.jdmh-shell .jdmh-stage,
.jdmh-shell .jdmh-swiper,
.jdmh-shell .jdmh-swiper > .swiper-wrapper,
.jdmh-shell .jdmh-page,
.jdmh-shell .jdmh-page__grid {
  background-color: transparent;
}
