/* =========================================================
   TSVOST Trainingszeiten – Final Accordion Styling
   Ziel: Optik wie Screenshot 2
   ========================================================= */

.elementor-widget-tsvost_training_widget{
	margin-top: -1px;
}

/* ---------------------------------------------------------
   Accordion Wrapper
--------------------------------------------------------- */

.tsvost-accordion {
	width: 100%;
	border: 1px solid #dddddd;
	border-radius: 0 !important;
	background: transparent;
	overflow: hidden;
}

/* ---------------------------------------------------------
   Accordion Header
--------------------------------------------------------- */

.tsvost-accordion-header {
	position: relative !important;
	width: 100% !important;
	padding: 16px 48px 16px 16px !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	border-bottom: 1px solid #e0e0e0 !important;
	text-align: left !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	color: #222222 !important;
	cursor: pointer;
	transform: none !important;
	transition: none !important;
	opacity: 0.5;
	transition: 0.25s;
}

.tsvost-accordion-header {
	pointer-events: auto !important;
	z-index: 5;
	position: relative;
}

.tsvost-accordion-header::after {
	pointer-events: none;
}

.tsvost-accordion-header:hover{
	color: var(--e-global-color-accent) !important;
	opacity: 1;
	transition: 0.25s;
}

.tsvost-accordion-header.is-odd {
	background: #ffffff !important;
}
 
.tsvost-accordion-header.is-even{
	background: #f7f7f7 !important;
}

.elementor-editor-active .tsvost-accordion-header{
	pointer-events: auto !important;
}

/* Chevron (CSS-only, no icon font needed) */
.tsvost-accordion-header::after {
	content: "\e994";
	position: absolute;
	right: 25px;
	margin-top: -5px;
	top: 50%;
	width: 8px;
	height: 8px;
	transform: translateY(-50%) rotate(0deg);
	transition: transform 0.25s ease;
    transform-origin: bottom right;
    font-family: elementskit !important;
    font-style: normal;
    font-weight: 400;
}

/* Open state → rotate */
.tsvost-accordion-header[aria-expanded="true"]::after {
	transform: translateY(-50%)  rotate(-180deg);
}

.tsvost-accordion-header[aria-expanded="true"]{
	border-bottom: none !important;
	background: #fff !important;
	color: var(--e-global-color-accent) !important;
	opacity: 1 !important;
}

/* Hover */
.tsvost-accordion-header:hover {
	background: #f5f5f5;
}

/* ---------------------------------------------------------
   Accordion Content
--------------------------------------------------------- */

.tsvost-accordion-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
}

.tsvost-accordion-content.is-open {
	max-height: 3000px;
}

.tsvost-accordion-content {
        overflow: hidden;
        max-height: 0;
        opacity: 0;
        transition:
                max-height 0.35s ease,
                opacity 0.25s ease;
}

.tsvost-accordion-content.is-open {
        max-height: 3000px;
        opacity: 1;
}

/* ---------------------------------------------------------
   Table Layout
--------------------------------------------------------- */

.tsvost-training-table {
	width: 100%;
}

/* Header row (shown once) */
.tsvost-training-head {
	background: #fff !important;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	padding: 0.5rem 1rem;
	font-weight: 600;
	font-size: 16px;
	color: #777777;
	border-bottom: 1px solid #aaa;
}

/* Data rows */
.tsvost-training-row {
	display: grid;
	font-size: 16px;
	grid-template-columns: repeat(5, 1fr);
	padding: 0.5rem 1rem;
}

.tsvost-training-head,
.tsvost-training-row {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
        column-gap: 1.5rem;
        align-items: center;
}

.tsvost-training-item:last-child .tsvost-training-row{
	padding-bottom: 1.5rem;
}

/* Cells */
.tsvost-training-head > div{
	padding: 0;
}
.tsvost-training-row > div {
	padding: 0;
}

/* ---------------------------------------------------------
   Zebra Striping
--------------------------------------------------------- */

.tsvost-training-item.is-even .tsvost-training-row {
}

.tsvost-training-item.is-odd .tsvost-training-text,
.tsvost-training-item.is-odd .tsvost-training-row {
	background: #f3f3f3;
}

/* Hover */
.tsvost-training-item .tsvost-training-row:hover {
	background: #ededed;
}

/* ---------------------------------------------------------
   Highlight
--------------------------------------------------------- */
.tsvost-training-item.is-highlight .tsvost-training-text,
.tsvost-training-item.is-highlight .tsvost-training-row {
	color: var(--e-global-color-accent);;
	font-weight: 600;
}

.tsvost-training-text{
	font-size: 16px;
	padding: 0.5rem 1rem;
	background: transparent;
}

.tsvost-accordion-content .tsvost-training-item:last-child .tsvost-training-text{
	padding-bottom: 2rem;
}

/* ---------------------------------------------------------
   Responsive
--------------------------------------------------------- */

@media (max-width: 768px) {

	.tsvost-training-head {
		display: none;
	}

	.tsvost-training-row {
		grid-template-columns: 1fr;
	}

	.tsvost-training-row > div {
		display: flex;
		justify-content: space-between;
	}

	.tsvost-training-row > div::before {
		content: attr(data-label);
		font-weight: 600;
		color: #777777;
	}
}

