
.tv-termine-table {
	width: 100%;
	min-width: 700px; /* oder so breit wie nötig für alle Spalten */
	border-collapse: collapse;
	margin-bottom: 1em;
    width: 100%;
	/*table-layout: fixed;*/
}
.tv-termine-table th, .tv-termine-table td {
	border: 1px solid #fff;
	padding: 2px;
	vertical-align: top;
}

/* Tabelle: Zelle zentriert */
/* horizontal zentrieren */
.tv-image {
    display: block;	/* Bild als Block, damit margin funktioniert */
    max-width: 70px !important;
    height: auto;
    margin: 0 auto;	/* horizontal zentrieren */
}

/* Vertikale Zentrierung der Zelle, z.B. der td */
td {
	vertical-align: middle;
}

.tv-ics-download {
	font-size: 20px;
	text-decoration: none;
}
.tv-tooltip {
	position: relative;
	cursor: help;
}
.tv-tooltip:hover::after {
	content: attr(data-tip);
	position: absolute;
	white-space: pre-line;
	bottom: 125%;
	left: 50%;
	transform: translateX(-50%);
	background: rgba(0,0,0,0.75);
	color: #fff;
	padding: 6px 10px;
	border-radius: 5px;
	z-index: 9999;
	width: 200px;
	font-size: 13px;
}
.tv-termine-table th,
.tv-termine-table td {
	text-align: center;
	/*vertical-align: middle;*/
}

.tv-termine-table th {
    background-color: #404040; /* Beispiel: dunkles Blau */
    color: #d9d9d9;            /* Textfarbe weiß */
    font-weight: bold;
	text-transform: uppercase;
}

.tv-termine-table tbody tr:first-child td {
    background-color:  #d9d9d9;
	color: #404040;
    /*font-weight: bold;*/          /* fetter Text */
}
.tv-termine-table tbody tr td {
    background-color:  #d9d9d9;
	color: #404040;
    /*font-weight: bold;*/          /* fetter Text */
}

/* Responsive Tabellen-Wrapper */
.tv-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    width: 100%;
}


/*.tv-termine-table tr {
    background-color: #fff; /* optional: damit der Abstand sichtbar ist */
/*    border-radius: 6px;      /* optional: für etwas "Karten"-Look */
/*    box-shadow: 0 1px 3px rgba(0,0,0,0.1); /* optional: leichtes Shadowing */
/*}*/

.tv-termine-table td {
    padding: 2px;
}

.icon {
	display: block;	/* Bild als Block, damit margin funktioniert */
	max-height: 30px;
    height: auto;
    margin: 0 auto;	/* horizontal zentrieren */
}

.btn.center {
    display: inline-flex;
    align-items: center;      /* vertikal zentrieren */
    justify-content: center;  /* horizontal zentrieren */
    gap: 8px;                 /* Abstand zwischen Icon und Text */
    padding: 10px 20px;
    text-decoration: none;
    font-weight: bold;
    background-color: #d9d9d9;
    border-radius: 6px;
    color: #000;
}

.info-button {
    display: inline-block;
    background-color: #C8C8C8;
    color: #fff;
    padding: 6px 12px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.info-button:hover {
    background-color: #5d5d5d;
	color: #fff;
}

.mein-countdown {
    font-weight: bold;
    font-size: 1.4rem;
    color: #ffffff;
    text-align: center;
}

.countdown-zahl {
    font-weight: bold;
    font-size: 1.8rem;
    color: #ffffff;
    text-align: center;
}
.countdown-text {
    font-size: 1.0rem;
    color: #ffffff;
    text-align: center;
}