/* Veľký kalendár */
.tcp-calendar {
  width: 100%;
  background: #AA0000;
  color: #fff;
  font-family: 'Grandstander', cursive;
  padding: 200px 120px 150px;
  position: relative;
  box-sizing: border-box;
}
.tcp-month-header {
  font-size: 52px;
  color:white;
  text-transform: uppercase;
  text-align: center;
  margin: 0 0 80px;
  z-index: 20;
}
/* Nepárne mesiace (január, marec, máj, ...) */
.tcp-calendar.month-odd {
    background: #AA0000!important;
}
/* Párne mesiace (február, apríl, jún, ...) */
.tcp-calendar.month-even {
    background: #ffb40c!important;
}
.tcp-nav {
  position: fixed;
  top: 50%;
  left: 0;
  right: 0;
 cursor:pointer;
  text-align: center;
  pointer-events: none;
  z-index: 10;
}
.tcp-prev,
.tcp-next {
  font-size: 80px;
  color: #fff;
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: all;
}
.tcp-prev { left: 5%; }
.tcp-next { right: 5%; }
.tcp-events-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 30px;
  max-width: 700px;
  margin: 0 auto;
}
.tcp-day-event {
  flex: 0 0 calc(45% - 30px);
  display: flex;
  align-items: center;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  flex-direction: row;
  padding-bottom: 8px;
  border-bottom: 3px solid #fff;
  color: inherit;
}
.tcp-head {
  display: flex;
  align-items: center;
  margin-right: 25px;
  min-width: 110px;
}
.tcp-date{
  font-size: 70px;
  color: inherit;
  font-weight: normal;
  font-family: 'Baloo 2';
  line-height: 1;
  margin-right: 12px;
}
.tcp-date-white,
.tcp-date-red {
  font-size: 70px;
  font-family: 'Baloo 2';
  color: inherit;
  font-weight: normal;
  line-height: 1;
  margin-right: 12px;
}
.tcp-today {
  color: #ffeb3b !important;
  text-shadow: 0 0 14px #ffeb3b;
  transform: scale(1.14);
}
.tcp-weekday {
  font-size: 30px;
 color: inherit;
  text-transform: uppercase;
}
.tcp-event-line {
  display: flex;
  flex-direction: column;
  gap: 0px;
  padding-bottom: 24px;
  position: relative;           /* ← iba toto som pridal */
}
.tcp-times {
  min-width: 160px;
  white-space: nowrap;
  margin-right: 20px;
  font-size: 16px;
}
.tcp-day-event a {
  color: inherit;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 20px;
}
.tcp-new-day {
  animation: slideDownFade .8s ease-out forwards;
}
@keyframes slideDownFade {
  from { opacity: 0; transform: translateY(-50px); }
  to { opacity: 1; transform: translateY(0); }
}
/* Mini slider */
.tcp-mini-bar-link {
  display: block;
  text-decoration: none;
  flex-wrap: nowrap;
  overflow-x: auto;
  background: #426e81;
  color: #fff;
  padding: 30px 40px;
  gap: 60px;
  cursor: pointer;
  user-select: none;
}
.tcp-mini-bar.tcp-mini-bar-home {
    background:#AA0000!important;
	padding: 9.5px 40px!important;
}

.tcp-mini-bar.tcp-mini-bar-single{
    background: #426e81!important;
	padding: 30px 40px!important;
}
.tcp-mini-bar {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  color: #fff;
  background:#AA0000!important;
  padding: 30px 40px;
  gap: 60px;
  cursor: pointer;
  user-select: none;
}
.tcp-mini-bar:hover {
  opacity: 1;
}
.tcp-mini-item {
  flex: 0 0 380px;
  display: flex;
  align-items: center;
  gap: 0px;
  min-width: 380px;
  pointer-events: none;
}
.tcp-mini-left {
  flex-shrink: 0;
  text-align: center;
  display:flex;
  min-width: 100px;
}
.tcp-mini-day {
  font-size: 50px;
  font-weight: normal;
  line-height: 0.8;
}
.tcp-mini-wd {
  font-size: 20px;
  padding-left:8px;
  display: flex;
  align-items: center;
  text-transform: uppercase;
}
.tcp-mini-right {
  flex: 1;
}
.tcp-mini-times {
  font-size: 24px;
  margin-bottom: 8px;
}
.tcp-mini-title {
  font-size: 20px;
  text-transform: uppercase;
}
.tcp-title-row{
	max-width:150px
}
.tcp-event-line a:hover {
   text-decoration:underline;
   color:#fff;
}

/* === NOVÉ / UPRAVENÉ PRAVIDLO PRE IKONU === */
/* Predtým bola ikona vertikálne centrovaná na CELÝ riadok (top:50%), takže pri
   viacriadkovom názve (2-3 riadky) sa vzďaľovala od spodného riadku textu.
   Teraz je ukotvená ku spodnému okraju, takže kopíruje posledný riadok bez
   ohľadu na to, koľko riadkov má názov. */
.tcp-event-line .tcp-event-icon {
    position: absolute;
    bottom: 8px;                 /* zarovnané ku spodnému riadku textu, nie ku stredu bloku */
    top: auto;
    right: 0;                    /* pevne ku pravému okraju */
    transform: none;
    width: 34px;                 /* zmenšené (pôvodne 50px) */
    height: 34px;                /* zmenšené (pôvodne 50px) */
    margin-top: 0;
    padding-left: 0;
    z-index: 10;
}
@media (max-width: 600px) {
    .tcp-event-line .tcp-event-icon {
        width: 28px;
        height: 28px;
    }
}
.tcp-extra-text {
    text-align: right;
    font-size: 0.95rem;
    opacity: 0.9;
    margin-top: -26px;
}