.shop-status {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .25rem .6rem;
  border-radius: 999px;
  font-weight: 600;
  line-height: 1;
  background: rgba(0,0,0,.04);

  /* důležité: vlastní stacking kontext, ať vrstvy zůstanou viditelné */
  position: relative;
  isolation: isolate;
}

.shop-status__dot {
  font-size: 1rem;
  line-height: 1;
  position: relative;
  display: inline-block;
  z-index: 1;            /* ikona MDI nad pulsem */
  /* fallback animace přímo na tečce (kdyby pseudo-element selhal) */
  /* animation: shopDotBlink 1.8s ease-in-out infinite; */
}

/* === Otevřeno === */
.shop-status--open { color: #166534; background: #ecfdf5; }
.shop-status--open .shop-status__dot { color: #22c55e; }

/* viditelný puls pod ikonou (nezařezávat do pozadí) */
.shop-status--open .shop-status__dot::after {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  width: .85em; height: .85em;
  border-radius: 50%;
  background: currentColor;
  transform: translate(-50%, -50%) scale(1);
  opacity: .55;
  filter: blur(0.2px);
  z-index: 0;                          /* pod ikonou, ale nad pozadím badge díky isolation */
  pointer-events: none;
  animation: shopPulseGlow 1.8s ease-in-out infinite;
}

/* === Zavřeno === */
.shop-status--closed { color: #374151; background: #f3f4f6; }
.shop-status--closed .shop-status__dot { color: #9ca3af; }

/* „dýchací“ puls od středu */
@keyframes shopPulseGlow {
  0%   { transform: translate(-50%, -50%) scale(1);   opacity: .55; box-shadow: 0 0 0 0 rgba(34,197,94,.28); }
  50%  { transform: translate(-50%, -50%) scale(1.9); opacity: 0;   box-shadow: 0 0 0 10px rgba(34,197,94,.06); }
  100% { transform: translate(-50%, -50%) scale(1);   opacity: .55; box-shadow: 0 0 0 0 rgba(34,197,94,.28); }
}

/* Volitelné zmenšení */
.shop-status--sm { padding: .15rem .4rem; font-size: .9rem; }
.shop-status--sm .shop-status__dot { font-size: .9rem; }

/* Fallback čistě na tečce (povol, kdybys pseudo-element neviděl)
@keyframes shopDotBlink {
  0%,100% { transform: scale(1);   filter: brightness(1); }
  50%     { transform: scale(1.15); filter: brightness(1.25); }
}
*/


.project-overview-detail-list {
	line-height: 30px
}

.project-overview-details a {
	color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity));
	text-decoration: none
} 
.project-overview-details a:hover {
	color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity));
	text-decoration: underline
} 

.dropdown .dropdown-menu.show {
	z-index: 999999
}


.inner-box .image-box .category.blue-bg{
  background: #1c4489;
}

.shop-image .category.red-bg{
  background: #db0000;
}

.shop-image .category.yellow-bg{
  background: #ff8700;
}

.shop-image .category.black-bg{
  background: #000000;
}




.shop-image .category{
  position: absolute;
  display: inline-block;
  right: 0px;
  top: 20px;
  font-size: 12px;
  color: #fff;
  font-weight: 700;
  height: 27px;
  line-height: 27px;
  min-width: 75px;
  max-width: 180px;
  text-align: center;
  padding: 0 5px;
  border-radius: 21px;

  box-shadow: 5px 5px 25px rgba(0, 0, 0, 0.15);
}


.shop-image .format{
  position: absolute;
  display: inline-block;
  right: 0px;
  top: 55px;
  font-size: 18px;
  color: #000;
  border-radius: 21px;
  background: #ffffff;
  box-shadow:  5px 5px 25px rgba(0, 0, 0, 0.15);

  font-weight: 700;
  height: 27px;
  line-height: 27px;
  min-width: 75px;
  max-width: 180px;
  text-align: center;
  padding: 0 5px;
}

.product-title a:hover {text-decoration: none}


.shop-details .product-title:nth-child(1) {
	min-height: 60px; /* nebo jiná výška podle počtu řádků */
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
}

.shop-details .product-title a {
	display: -webkit-box;
	-webkit-line-clamp: 2; /* zobrazí max 2 řádky */
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}