.card {
	--bs-card-spacer-y: 1.5rem;
	--bs-card-spacer-x: 1.5rem;
	--bs-card-title-spacer-y: 0.5rem;
	--bs-card-title-color: var(--bs-primary);
	--bs-card-subtitle-color: var(--bs-primary);
	--bs-card-border-width: 0;
	--bs-card-border-color: var(--bs-border-color-translucent);
	--bs-card-border-radius: var(--bs-border-radius-xl);
	--bs-card-box-shadow: ;
	--bs-card-inner-border-radius: calc(var(--bs-card-border-radius) - (var(--bs-border-width)));
	--bs-card-cap-padding-y: 0rem;
	--bs-card-cap-padding-x: 0rem;
	--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
	--bs-card-cap-color: var(--bs-primary);
	--bs-card-height: ;
	--bs-card-color: var(--bs-primary);
	--bs-card-bg: var(--bs-body-bg);
	--bs-card-img-overlay-padding: 1rem;
	--bs-card-group-margin: 0.75rem;
	color: var(--bs-body-color);
	word-wrap: break-word;
}
.card .inner-shadow {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: linear-gradient(to top, rgba(var(--bs-primary-rgb), 0.15) 0%, transparent 20%);
  pointer-events: none; /* Предотвращает взаимодействие с внутренней тенью */
}
.announcement-card  {
  width: 100%;
}
.announcement-card {
  max-width: 390px;
}
.announcement-card, .announcement-line,
.announcement-card a, .announcement-line a,
.announcement-card h3, .announcement-line h3
.announcement-card .date-display, .announcement-line .date-display {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-card-color), var(--bs-text-opacity));
}
.announcement-card h3 {
	font-size: 1rem !important;
	margin-bottom: 0 !important;
}
.announcement-card a:hover {
	opacity: 0.9;
}
.announcement-card .card-body {
	padding: 0 var(--bs-card-spacer-x);
	background-color: unset;
}
.announcement-card .card-footer {
	padding: 0 var(--bs-card-spacer-x) var(--bs-card-spacer-y);
	background-color: unset;
}
.announcement-card.highlighted:not(.archive) :is(div, i, a, h3) {
  color: var(--bs-light) !important;
}
.announcement-card.highlighted:not(.archive) {
  background-color: var(--bs-primary);
}
.announcement-card.highlighted .buy-ticket :is(button, a) {
  background: var(--bs-light) !important;
  color: var(--bs-primary) !important;
}
.announcement-card.archive  {
  background-color: var(--bs-light);
}

.date-display, .time-display {
	font-size: 1.6rem;
	line-height: .9;
	font-family: var(--bs-font-sans-serif) !important;
	font-weight: 700;
}

.event-line {
  width: 100%;
}
.event-line .buy-ticket {
  width: 220px;
  min-width: 220px;
}
a {
	text-decoration: unset;
}


/* BUY TICKET BUTTON */
.buy-ticket button,
.buy-ticket span,
.buy-ticket a {
  display: block;
  width: 100%;
	opacity: .95 !important;
	padding: 1rem 2rem !important;
	font-family: var(--bs-font-sans-serif) !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	color: var(--bs-light) !important;
	text-align: center;
	border-radius: 50rem !important;
	text-shadow: unset !important;
	text-transform: unset !important;
	text-decoration: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	box-shadow: unset !important;
}
.buy-ticket button,
.buy-ticket a {
	cursor: pointer;
	background: var(--bs-primary) !important;
	transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
	--bs-btn-bg: var(--bs-primary);
}
.buy-ticket button:hover,
.buy-ticket button:hover:active,
.buy-ticket a:hover {
	color: var(--bs-btn-hover-color) !important;
	opacity: 1 !important;
	--bs-btn-hover-color: var(--bs-white);
}
.buy-ticket.sold-out span,
.buy-ticket.sold-out button,
.buy-ticket.sold-out span {
  background: var(--bs-primary-border-subtle) !important;
}
.btn-group-sm > .btn, .btn-sm {
	padding: .4rem 1.1rem .5rem !important;
}
button h3 {
	margin: 0;
	font-size: inherit !important;
	color: inherit;
}

@media (max-width: 575px) {
  .announcement-card h3 {
	  font-size: 1.2rem !important;
  }
}

/* SMALL > 576px) */
@media (min-width: 576px) {
}
@media (min-width: 608px) {
  .announcement-card {
	  width: 280px;
	}
}
/* MEDIUM > 768px */
@media (min-width: 768px) {
}
/* LARGE > 992px */
@media (min-width: 992px) {
  .announcement-card {
	  width: 295px;
	}
}
/* XL > 1200px */
@media (min-width: 1200px) {
  .upcoming-events .announcement-card:nth-child(4) {
    display: none !important;
  }
}
/* XXL > 1400px */
@media (min-width: 1400px) {
  .upcoming-events .announcement-card:nth-child(4) {
    display: flex !important;
  }
}
