/**
 * iTrain Kursverwaltung - Public Styles
 * Matches iTrain corporate (www.itrain.ch): navy blue #003366 / #0066a1, grays, clean whites.
 * No green buttons (primary CTAs are blue). Larger readable fonts on details. Nicer structured sections + consistent darkblue/gray icons.
 * Booki chat styles untouched (below).
 */

:root {
	--itkv-primary: #003366;
	--itkv-accent: #0066a1;
	--itkv-light: #f8f9fa;
	--itkv-border: #e0e0e0;
	--itkv-text: #222;
}

.itkv-course-card {
	background: #fff;
	border: 1px solid var(--itkv-border);
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	transition: transform .2s ease, box-shadow .2s ease;
	margin-bottom: 24px;
}

.itkv-course-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 6px 16px rgba(0, 51, 102, 0.12);
}

.itkv-course-card img {
	width: 100%;
	height: 180px;
	object-fit: cover;
	display: block;
}

.itkv-course-card-content {
	padding: 18px;
}

.itkv-course-card h3 {
	margin: 0 0 8px;
	font-size: 1.25rem;
	color: var(--itkv-primary);
}

.itkv-course-meta {
	font-size: 0.9rem;
	color: #555;
	margin-bottom: 12px;
}

.itkv-btn {
	display: inline-block;
	background: var(--itkv-primary);
	color: #fff;
	padding: 10px 20px;
	border-radius: 4px;
	text-decoration: none;
	font-weight: 600;
	border: none;
	cursor: pointer;
}

.itkv-btn:hover {
	background: var(--itkv-accent);
}

/* Primary CTA buttons: iTrain blue (filled) - replaces old green .itkv-btn-success */
.itkv-btn-primary,
.itkv-btn.itkv-btn-primary,
a.itkv-btn-primary {
	background: var(--itkv-primary);
	color: #fff;
	border: none;
}
.itkv-btn-primary:hover,
.itkv-btn.itkv-btn-primary:hover,
a.itkv-btn-primary:hover {
	background: var(--itkv-accent);
	color: #fff;
}

/* Secondary buttons (Mehr Infos etc): outline blue / light */
.itkv-btn-secondary,
.itkv-btn.itkv-btn-secondary,
a.itkv-btn-secondary {
	background: #fff;
	color: var(--itkv-primary);
	border: 1px solid var(--itkv-primary);
}
.itkv-btn-secondary:hover,
.itkv-btn.itkv-btn-secondary:hover,
a.itkv-btn-secondary:hover {
	background: #f0f4f8;
	color: var(--itkv-accent);
	border-color: var(--itkv-accent);
}

/* Outline primary button for "Kursinformation drucken": transparent bg + blue border/text (same blue as primary) */
.itkv-btn-outline-primary,
.itkv-btn.itkv-btn-outline-primary,
a.itkv-btn-outline-primary {
	display: inline-block;
	background: transparent;
	color: var(--itkv-primary);
	padding: 10px 20px;
	border-radius: 4px;
	text-decoration: none;
	font-weight: 600;
	border: 1px solid var(--itkv-primary);
	cursor: pointer;
	box-sizing: border-box;
}
.itkv-btn-outline-primary:hover,
.itkv-btn.itkv-btn-outline-primary:hover,
a.itkv-btn-outline-primary:hover {
	background: rgba(0, 51, 102, 0.08);
	color: var(--itkv-accent);
	border-color: var(--itkv-accent);
}

/* Legacy success (green) now mapped to blue primary for all "Jetzt anmelden" etc (no green in frontend) */
.itkv-btn-success,
.itkv-btn.itkv-btn-success,
a.itkv-btn-success,
.itkv-right-col .btn-success,
.itkv-right-col .itkv-btn-success {
	background: var(--itkv-primary) !important;
	color: #fff !important;
	border-color: var(--itkv-primary) !important;
	border: none !important;
}
.itkv-btn-success:hover,
.itkv-btn.itkv-btn-success:hover,
a.itkv-btn-success:hover,
.itkv-right-col .btn-success:hover,
.itkv-right-col .itkv-btn-success:hover {
	background: var(--itkv-accent) !important;
	color: #fff !important;
	border-color: var(--itkv-accent) !important;
}

.itkv-shortcode-placeholder {
	padding: 20px;
	background: #f0f4f8;
	border-left: 4px solid var(--itkv-primary);
	color: #333;
}

/* Courselist shortcodes */
.itkv-courselist-short {
	list-style: none;
	padding: 0;
	margin: 0;
}

.itkv-courselist-short li {
	padding: 6px 0 2px;
	border-bottom: 1px solid var(--itkv-border);
}

.itkv-courselist-short li:last-child {
	border-bottom: none;
}

/* New clean course list design (short + detailed) matching Kursdetailseite guidelines:
   - no images, no old card/offer layout
   - uses .itkv-info-head for month group titles
   - larger readable text, primary blue accents
   - sorted by start, grouped by month with section titles
*/
.itkv-courselist {
	max-width: 1080px;
	margin: 0 auto;
}

.itkv-courselist .itkv-info-section {
	margin-bottom: 18px;
}

.itkv-courselist .itkv-info-head {
	/* reuses/extends the detail page style, but ok for months too */
	font-size: 1rem;
	margin-bottom: 8px;
}

.itkv-courselist .itkv-info-body {
	font-size: 15px;
	line-height: 1.5;
}

.itkv-courselist .itkv-course-item {
	margin-bottom: 10px;
	padding-bottom: 8px;
	border-bottom: 1px solid #e8eef5;
}
.itkv-courselist .itkv-course-item:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.itkv-courselist .itkv-course-item-title {
	font-size: 1.15rem;
	font-weight: 600;
	margin-bottom: 2px;
}

.itkv-courselist .itkv-course-item-title a {
	color: var(--itkv-primary);
	text-decoration: none;
}
.itkv-courselist .itkv-course-item-title a:hover {
	text-decoration: underline;
}

.itkv-courselist .itkv-course-item-meta {
	font-size: 0.9rem;
	color: #555;
	margin-bottom: 3px;
}

.itkv-courselist .itkv-course-item-excerpt {
	font-size: 0.92rem;
	color: #444;
	margin: 2px 0 4px;
}

.itkv-courselist .itkv-course-item-actions {
	margin-top: 4px;
}

.itkv-courselist .itkv-course-item-actions .itkv-btn {
	padding: 5px 10px;
	font-size: 0.85rem;
}

/* Filter bar above detailed (and short) courselists:
   - larger (match 15px body font from .itkv-info-body)
   - same font-family as list content below
   - "Filter" label left-bündig with the date/content start in .itkv-course-item-meta
   - selects/inputs flex-fill to use the full width the .itkv-courselist (1080px) provides
   - no more tiny inline 0.8em styles from PHP
*/
.itkv-list-filters {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
	font-size: 15px;
	line-height: 1.4;
	margin-bottom: 10px;
	padding: 8px 0;
	background: #f8f9fa;
	border: 1px solid #e8eef5;
	border-radius: 4px;
	box-sizing: border-box;
}
.itkv-filter-label {
	font-weight: 600;
	margin-right: 2px;
	white-space: nowrap;
	color: #333;
	flex: 0 0 auto;
}
.itkv-list-filters select,
.itkv-list-filters input[type="text"] {
	font-size: 15px;
	font-family: inherit;
	padding: 4px 8px;
	border: 1px solid #c8d4e0;
	border-radius: 3px;
	background: #fff;
	box-sizing: border-box;
}
.itkv-list-filters select {
	min-width: 140px;
	flex: 1 1 160px;
}
.itkv-list-filters input.itkv-filter-search {
	flex: 1 1 140px;
	min-width: 120px;
}
.itkv-list-filters button {
	flex: 0 0 auto;
}

/* (legacy grid for old cards removed) */

.itkv-upcoming-instances {
	margin-top: 12px;
	font-size: 0.9rem;
}

.itkv-upcoming-instances ul {
	margin: 6px 0 0;
	padding-left: 18px;
}

.itkv-upcoming-instances li {
	margin-bottom: 4px;
}

.itkv-ort {
	color: #666;
	font-size: 0.85em;
}

.itkv-no-upcoming {
	font-size: 0.9rem;
	color: #666;
}

/* Booking form improvements */
.itkv-booking-wrapper {
	max-width: 800px;
	margin: 0 auto;
}

.itkv-booking-info {
	background: #f8f9fa;
	border: 1px solid var(--itkv-border);
	border-radius: 6px;
	padding: 20px;
	margin-bottom: 24px;
}

.itkv-booking-info h3 {
	margin-top: 0;
	color: var(--itkv-primary);
	border-bottom: 2px solid var(--itkv-primary);
	padding-bottom: 8px;
}

.itkv-instance-details,
.itkv-termine-list {
	margin-top: 12px;
}

.itkv-termine-list ul {
	margin: 8px 0 0;
	padding-left: 20px;
}

.itkv-booking-form {
	background: #fff;
	border: 1px solid var(--itkv-border);
	border-radius: 6px;
	padding: 24px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.itkv-booking-form p {
	margin-bottom: 16px;
}

.itkv-booking-form label {
	display: block;
	font-weight: 600;
	margin-bottom: 4px;
	color: var(--itkv-text);
}

.itkv-booking-form input[type="text"],
.itkv-booking-form input[type="email"],
.itkv-booking-form input[type="tel"],
.itkv-booking-form select,
.itkv-booking-form textarea {
	width: 100%;
	padding: 10px;
	border: 1px solid var(--itkv-border);
	border-radius: 4px;
	font-size: 15px;
	box-sizing: border-box;
}

.itkv-booking-form input:focus,
.itkv-booking-form select:focus,
.itkv-booking-form textarea:focus {
	border-color: var(--itkv-primary);
	outline: none;
	box-shadow: 0 0 0 2px rgba(0, 51, 102, 0.1);
}

.itkv-booking-form .itkv-submit-btn {
	width: 100%;
	padding: 14px;
	font-size: 16px;
	background: var(--itkv-primary);
	color: #fff;
	border: none;
	border-radius: 4px;
	cursor: pointer;
}

.itkv-booking-form .itkv-submit-btn:hover {
	background: var(--itkv-accent);
}

/* Nicer booking frontend */
.itkv-booking-info {
	background: #f8f9fa;
	border: 1px solid var(--itkv-border);
	border-radius: 8px;
	padding: 24px;
	margin-bottom: 24px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

.itkv-booking-info h3 {
	margin: 0 0 4px;
	color: var(--itkv-primary);
	font-size: 1.4rem;
}

.itkv-booking-info .itkv-course-excerpt {
	font-style: italic;
	color: #555;
	margin: 8px 0 12px;
}

.itkv-termine-list {
	margin-top: 16px;
}

.itkv-termine-list strong {
	display: block;
	margin-bottom: 8px;
	color: var(--itkv-primary);
	font-size: 0.95rem;
}

.itkv-termine-list ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.itkv-termine-list li {
	padding: 6px 0;
	border-bottom: 1px solid #e5e5e5;
	font-size: 0.95rem;
	line-height: 1.4;
}

.itkv-termine-list li:last-child {
	border-bottom: none;
}

.itkv-termine-list .itkv-termine-wd {
	font-weight: 700;
	color: var(--itkv-primary);
	margin-right: 4px;
}

.itkv-booking-form {
	background: #fff;
	border: 1px solid var(--itkv-border);
	border-radius: 8px;
	padding: 28px 24px;
	box-shadow: 0 2px 10px rgba(0, 51, 102, 0.06);
}

.itkv-booking-form .itkv-form-section {
	margin-bottom: 20px;
}

.itkv-booking-form .itkv-form-section h4 {
	margin: 0 0 12px;
	padding-bottom: 6px;
	border-bottom: 1px solid #eee;
	font-size: 1rem;
	color: var(--itkv-primary);
}

.itkv-booking-form .itkv-form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 16px;
}

.itkv-booking-form .itkv-form-row.single {
	grid-template-columns: 1fr;
}

.itkv-booking-form p {
	margin: 0;
}

.itkv-booking-form .itkv-form-field {
	margin-bottom: 14px;
}

.itkv-booking-form label {
	display: block;
	font-weight: 600;
	margin-bottom: 5px;
	font-size: 0.9rem;
	color: #333;
}

.itkv-booking-form label .required {
	color: #d63638;
}

.itkv-booking-form input[type="text"],
.itkv-booking-form input[type="email"],
.itkv-booking-form input[type="tel"],
.itkv-booking-form select,
.itkv-booking-form textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--itkv-border);
	border-radius: 4px;
	font-size: 15px;
	box-sizing: border-box;
	background: #fff;
}

.itkv-booking-form input:focus,
.itkv-booking-form select:focus,
.itkv-booking-form textarea:focus {
	border-color: var(--itkv-primary);
	outline: none;
	box-shadow: 0 0 0 3px rgba(0, 51, 102, 0.1);
}

.itkv-booking-form .itkv-checkbox {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: normal;
}

.itkv-booking-form .itkv-checkbox input {
	width: auto;
	margin: 0;
}

.itkv-booking-form .itkv-submit-btn {
	width: 100%;
	padding: 14px 20px;
	font-size: 16px;
	font-weight: 600;
	background: var(--itkv-primary);
	color: #fff;
	border: none;
	border-radius: 5px;
	cursor: pointer;
	margin-top: 8px;
	transition: background 0.2s ease;
}

.itkv-booking-form .itkv-submit-btn:hover {
	background: var(--itkv-accent);
}

.itkv-success {
	background: #d5f0d5;
	border: 1px solid #00a32a;
	color: #006400;
	padding: 20px;
	border-radius: 6px;
	text-align: center;
	font-weight: 500;
}

/* Old edoobox/offer detailed list CSS removed (new design uses clean sections matching Kursdetailseite, no images/cards). */





/* (old offer remnants cleaned) */

/* (legacy uoffer/offer meta rules removed - new lists use clean .itkv-course-item-meta) */

/* Consistent icon color for dates/loc/trainer etc (dark blue or gray, same for all) */
.itkv-icon {
	color: var(--itkv-primary);
	display: inline-block;
	width: 14px;
	height: 14px;
	vertical-align: -2px;
	margin-right: 3px;
	flex-shrink: 0;
}
.itkv-icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

/* Small outline variant for short list secondary buttons (Mehr Infos, Termine) - transparent bg + border only */
.itkv-btn-small.itkv-btn-outline-primary,
a.itkv-btn-small.itkv-btn-outline-primary {
	background: transparent;
	color: var(--itkv-primary);
	border: 1px solid var(--itkv-primary);
	padding: 2px 8px;
	font-size: 0.78rem;
	margin-left: 0;
}
.itkv-btn-small.itkv-btn-outline-primary:hover,
a.itkv-btn-small.itkv-btn-outline-primary:hover {
	background: rgba(0, 51, 102, 0.08);
	color: var(--itkv-accent);
	border-color: var(--itkv-accent);
}

/* Short list specific meta/actions for line structure (date/ort on own line, actions row below with Anmelden left + outline buttons beside) */
.itkv-short-meta {
	display: block;
	font-size: 0.9rem;
	color: #555;
	margin: 1px 0 1px; /* tighter */
}
.itkv-short-actions {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 0; /* direkt darunter, weniger vertical space */
	margin-bottom: 0;
}
.itkv-courselist-short li .itkv-short-actions .itkv-btn {
	margin-left: 0;
	margin-right: 4px;
}

/* Buttons matching edoobox/BS3 (legacy names kept for compat, now blue per iTrain design - see primary/secondary above) */
.itkv-btn-info {
	background: transparent;
	color: var(--itkv-primary);
	border: 1px solid var(--itkv-primary);
	margin-left: 4px;
}
.itkv-btn-info:hover {
	background: #f0f4f8;
	color: var(--itkv-accent);
	border-color: var(--itkv-accent);
}

.itkv-btn-small {
	padding: 2px 8px;
	font-size: 0.78rem;
	border-radius: 3px;
	background: var(--itkv-primary);
	color: #fff;
	text-decoration: none;
	margin-left: 6px;
}
.itkv-btn-small:hover {
	background: var(--itkv-accent);
}

/* Small secondary variant (e.g. "Alle Termine anzeigen" next to primary CTA) */
.itkv-btn-small.itkv-btn-secondary {
	background: #fff;
	color: var(--itkv-primary);
	border: 1px solid var(--itkv-primary);
	padding: 2px 8px;
}
.itkv-btn-small.itkv-btn-secondary:hover {
	background: #f0f4f8;
	color: var(--itkv-accent);
	border-color: var(--itkv-accent);
}

/* Small cleanup for older card styles when mixed */
/* (legacy card display none removed) */

/* Single course detail page to match edoobox example (without share icons) */
.itkv-course-detail {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 20px;
}
.itkv-course-detail .left {
  flex: 1 1 60%;
  min-width: 300px;
}
.itkv-course-detail .right {
  flex: 1 1 35%;
  min-width: 250px;
}
.itkv-detail-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 10px;
  font-size: 14px;
}
.itkv-detail-table td {
  padding: 6px 8px;
  border-bottom: 1px solid #e0e0e0;
  vertical-align: top;
}
.itkv-detail-table td:first-child {
  font-weight: bold;
  width: 35%;
  white-space: nowrap;
}
/* (legacy green success now blue via earlier rules) */
.itkv-lektionen-link {
  display: inline-block;
  margin-top: 10px;
  color: #337ab7;
  text-decoration: underline;
}

/* Single course detail page - iTrain blue design, larger readable text, nicely structured sections (no green).
   Left: clear labeled info blocks; right: key facts + primary blue CTA; bottom: full Terminliste.
   Consistent icon colors, bigger fonts for readability. */
.itkv-single-kurs {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 10px 20px;
	font-family: inherit;
}
.itkv-single-kurs h2 {
	font-size: 1.75rem;
	color: var(--itkv-primary);
	margin: 4px 0 16px;
	font-weight: 600;
	padding-bottom: 8px;
	border-bottom: 2px solid #e8eef5;
}
.itkv-detail-cols {
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
	margin-bottom: 22px;
}
/* float fallback (works without flex) */
.itkv-detail-cols:after {
	content: "";
	display: block;
	clear: both;
}
.itkv-left-col {
	flex: 1 1 57%;
	min-width: 280px;
	float: left;
	width: 57%;
	padding-right: 12px;
	box-sizing: border-box;
	font-size: 15.5px;
	line-height: 1.65;
	color: #222;
}
/* When no right column (no upcoming instances), left takes full width */
.itkv-detail-cols > .itkv-left-col:only-child {
	width: 100%;
	flex-basis: 100%;
	float: none;
	padding-right: 0;
}
.itkv-right-col {
	flex: 1 1 39%;
	min-width: 260px;
	float: right;
	width: 39%;
	box-sizing: border-box;
}
@media (max-width: 720px) {
	.itkv-detail-cols { display: block; }
	.itkv-left-col, .itkv-right-col { float: none; width: 100%; }
}
.itkv-left-col p {
	margin: 0 0 8px;
}

/* New nicer structured sections for course info (larger, blue heads, breathing room) */
.itkv-info-section {
	margin-bottom: 18px;
}
.itkv-info-head {
	display: block;
	font-size: 14px;
	font-weight: 700;
	color: var(--itkv-primary);
	margin: 0 0 5px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding-bottom: 3px;
	border-bottom: 2px solid #e0e8f2;
}
.itkv-info-body {
	font-size: 15.5px;
	line-height: 1.65;
	color: #222;
}
.itkv-info-body p {
	margin: 0 0 6px;
}
.itkv-info-body ul,
.itkv-info-body ol {
	margin: 4px 0 8px 18px;
}

/* legacy strong labels (if any old markup) */
.itkv-left-col p strong {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: #333;
	margin: 13px 0 2px;
	text-transform: uppercase;
	letter-spacing: 0.4px;
}
.itkv-left-col p strong:first-child,
.itkv-left-col > p:first-child strong {
	margin-top: 0;
}

/* Right column primary CTA (Jetzt anmelden) - full width block style for both legacy success and new primary */
.itkv-right-col .btn-success,
.itkv-right-col .itkv-btn-success,
.itkv-right-col .itkv-btn-primary,
.itkv-right-col .itkv-btn-outline-primary {
	padding: 10px 16px;
	font-size: 15px;
	font-weight: 600;
	border-radius: 3px;
	text-decoration: none;
	display: block;
	width: 100%;
	text-align: center;
	margin-bottom: 6px;
	box-shadow: none;
	transition: background-color .1s ease;
	box-sizing: border-box;
}

/* Ensure the info table is exactly as wide as the buttons above it (full container width) */
.itkv-right-col .itkv-detail-table {
	width: 100% !important;
	box-sizing: border-box;
	margin-top: 8px;
}

/* Info table (right) - condensed, bordered, label column right-aligned + light bg (like example) */
.itkv-detail-table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #d8e0e8;
	font-size: 14px;
	background: #fff;
	table-layout: fixed;
}
.itkv-detail-table td {
	padding: 6px 8px;
	border: 1px solid #d8e0e8;
	vertical-align: top;
	line-height: 1.4;
}
.itkv-detail-table td:first-child {
	background-color: #f4f8fc;
	font-weight: 600;
	color: var(--itkv-primary);
	text-align: right;
	width: 29%;
	white-space: nowrap;
	padding-right: 8px;
}
.itkv-detail-table a {
	color: #337ab7;
	text-decoration: none;
}
.itkv-detail-table a:hover {
	text-decoration: underline;
}

/* Bottom Terminliste (alektionen) - full width, condensed table, reserve highlighting */
.itkv-terminliste {
	clear: both;
	margin-top: 8px;
}

/* When wrapped inside the info-section like other sections (Terminübersicht on detail page), remove extra top margin */
.itkv-info-section .itkv-terminliste {
	margin-top: 0;
}
.itkv-alektionen,
.itkv-single-kurs .itkv-alektionen {
	width: 100%;
	border-collapse: collapse;
	font-size: 13.5px;
	border: 1px solid #d8e0e8;
	background: #fff;
}
.itkv-alektionen th,
.itkv-alektionen td,
.itkv-single-kurs .itkv-alektionen th,
.itkv-single-kurs .itkv-alektionen td {
	border: 1px solid #d8e0e8;
	padding: 5px 6px;
	text-align: left;
	vertical-align: middle;
}
.itkv-alektionen th,
.itkv-single-kurs .itkv-alektionen th {
	background-color: #e8f0f8;
	font-weight: 600;
	color: var(--itkv-primary);
}
.itkv-alektionen .reserve-label,
.itkv-single-kurs .itkv-alektionen .reserve-label {
	color: #c9302c;
	font-style: italic;
	font-size: 11px;
	font-weight: normal;
}
.itkv-reserve-row {
	background-color: #fffaf5;
}

/* Legacy .alektionen / .widget support (for old markup if any) + general table-condensed flavor */
.itkv-single-kurs .alektionen {
	width: 100%;
	border-collapse: collapse;
	font-size: 12px;
}
.itkv-single-kurs .alektionen th,
.itkv-single-kurs .alektionen td {
	border: 1px solid #ddd;
	padding: 4px 5px;
}
.itkv-single-kurs .alektionen th {
	background: #f0f0f0;
	font-weight: 600;
}
.itkv-single-kurs .widget {
	clear: both;
	margin-top: 12px;
}

/* Legacy .itkv-btn-success rules centralized above (blue primary now). */

/* Modal for "Alle Termine anzeigen" popup (printable) */
.itkv-modal {
  display: none;
  position: fixed;
  z-index: 99999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.5);
}
.itkv-modal-content {
  background-color: #fff;
  margin: 5% auto;
  padding: 20px;
  border: 1px solid #888;
  width: 90%;
  max-width: 700px;
  border-radius: 6px;
}
.itkv-modal-content h2 { margin-top: 0; }
.itkv-popup-dates { width: 100%; border-collapse: collapse; margin: 10px 0; table-layout: fixed; }
.itkv-popup-dates th, .itkv-popup-dates td { border: 1px solid #d8e0e8; padding: 8px; text-align: left; font-size: 14px; vertical-align: top; }
/* Equal column widths across all month tables in the popup */
.itkv-popup-dates th:nth-child(1), .itkv-popup-dates td:nth-child(1) { width: 8%; }   /* Nr. */
.itkv-popup-dates th:nth-child(2), .itkv-popup-dates td:nth-child(2) { width: 30%; }  /* Datum */
.itkv-popup-dates th:nth-child(3), .itkv-popup-dates td:nth-child(3) { width: 32%; }  /* Zeit */
.itkv-popup-dates th:nth-child(4), .itkv-popup-dates td:nth-child(4) { width: 30%; }  /* Trainer */
.itkv-popup-dates th { background: #e8f0f8; color: var(--itkv-primary); }
.itkv-popup-actions { margin-top: 15px; text-align: right; }
.itkv-popup-actions .itkv-btn { margin-left: 8px; }
@media print {
  .itkv-modal-content .itkv-popup-actions { display: none; }
  body * { visibility: hidden; }
  .itkv-modal-content, .itkv-modal-content * { visibility: visible; }
  .itkv-modal-content { position: absolute; left: 0; top: 0; width: 100%; }
}

/* Popup enhancements: larger month titles, more spacing, nice status labels */
.itkv-modal-content .itkv-popup-month-head {
	font-size: 1.15rem !important;
	margin-bottom: 6px;
}
.itkv-modal-content .itkv-info-section {
	margin-bottom: 14px;
}
.itkv-modal-content .itkv-info-body {
	margin-bottom: 4px;
}

/* Status labels in lists and popup - nice badges */
.itkv-status-label {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 3px;
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1.3;
	border: 1px solid transparent;
	vertical-align: middle;
}
.itkv-status-label.status-offen { background: #e8f4ff; color: #0066a1; border-color: #b3d7ff; }
.itkv-status-label.status-garantiert { background: #d5f0d5; color: #006400; border-color: #a8d5a8; }
.itkv-status-label.status-wenige { background: #fff3cd; color: #856404; border-color: #ffeaa7; }
.itkv-status-label.status-ausgebucht { background: #f8d7da; color: #721c24; border-color: #f5c6cb; }
.itkv-status-label.status-abgeschlossen { background: #d5f0d5; color: #006400; border-color: #a8d5a8; }

/* [mein_konto] styles - clean booking overview + status badges + download buttons */
.itkv-mein-konto {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 10px 20px;
}
.itkv-mein-konto h3 {
	font-size: 1.25rem;
	margin-bottom: 12px;
	color: var(--itkv-primary);
}
.itkv-mein-konto-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
	background: #fff;
	border: 1px solid #d8e0e8;
	table-layout: fixed; /* 1.6.1: ensure all three Kurslisten (laufend/künftig/vergangen) have identical column widths */
}
.itkv-mein-konto-table th,
.itkv-mein-konto-table td {
	border: 1px solid #d8e0e8;
	padding: 6px 8px;
	text-align: left;
	vertical-align: top;
}
.itkv-mein-konto-table th {
	background: #e8f0f8;
	font-weight: 600;
	font-size: 12.5px;
	white-space: nowrap;
	color: var(--itkv-primary);
}
.itkv-mein-konto-table .itkv-actions {
	width: 38%;
	min-width: 240px;
	text-align: left;
}

/* Updated for 3 columns (Gebucht am removed) + wider Aktionen column */
.itkv-mein-konto-table th:nth-child(1),
.itkv-mein-konto-table td:nth-child(1) { width: 42%; }
.itkv-mein-konto-table th:nth-child(2),
.itkv-mein-konto-table td:nth-child(2) { width: 20%; }
.itkv-mein-konto-table th:nth-child(3),
.itkv-mein-konto-table td:nth-child(3) { width: 38%; }

/* More generous buttons in Mein Konto for better touch/visibility (designer touch) */
.itkv-mein-konto .itkv-btn-small,
.itkv-mein-konto-table .itkv-actions .itkv-btn {
	padding: 7px 14px;
	font-size: 0.82rem;
	line-height: 1.2;
	border-radius: 4px;
}

/* Flex layout to have pairs side by side with equal width, and uniform height via min-height on buttons.
   .itkv-actions-buttons is column of rows.
   Each .itkv-actions-row is a flex row with 2 buttons (or 1 for full width).
   min-height ensures all buttons (including single cert) have same height. */
.itkv-mein-konto-table .itkv-actions-buttons {
	display: flex;
	flex-direction: column;
	gap: 6px;
	width: 100%;
}
.itkv-mein-konto-table .itkv-actions-buttons .itkv-actions-row {
	display: flex;
	gap: 6px;
	width: 100%;
}
.itkv-mein-konto-table .itkv-actions-buttons .itkv-actions-row .itkv-btn {
	flex: 0 0 calc(50% - 3px);
	min-width: 0;
	min-height: 34px; /* force uniform height */
	box-sizing: border-box;
	display: inline-flex !important;
	align-items: center;
	justify-content: flex-start;
	gap: 6px;
}
/* Single button in a row takes half width (consistent with paired buttons like PDF/ICS or Kursraum+Unterlagen); full width only if desired via other rules */
.itkv-mein-konto-table .itkv-actions-buttons .itkv-actions-row .itkv-btn:only-child {
	flex: 0 0 calc(50% - 3px);
}

/* 1.6.1: Nicer, more modern action buttons in Mein Konto Kurslisten (with icons + creative styling).
   All buttons same height + left-aligned (icon + text linksbündig) for consistent look
   across Laufende / Künftige / Vergangene Kurse (incl. single "Kursbestätigung" button). */
.itkv-mein-konto-table .itkv-actions-buttons .itkv-btn {
	min-width: 130px; /* fits two side-by-side in actions column without overflow on most themes */
	min-height: 32px; /* force ALL buttons same height, including the single "Kursbestätigung" in history */
	text-align: left;
	box-sizing: border-box;
	display: inline-flex !important;
	align-items: center;
	justify-content: flex-start; /* leftbündig for icon + label */
	gap: 6px;
	padding: 6px 12px;
	font-size: 0.82rem;
	border-radius: 5px;
	background: #003366 !important; /* force visible primary button look - fixes "empty" actions in history */
	color: #fff !important;
	border: none !important;
	transition: transform .08s ease, box-shadow .12s ease, background .1s ease;
}
.itkv-mein-konto-table .itkv-actions-buttons .itkv-btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 2px 6px rgba(0,51,102,0.15);
}
.itkv-mein-konto-table .itkv-actions-buttons .itkv-btn:active {
	transform: translateY(0);
}

/* Special highlight for the Kursbestätigung button (stands out as achievement / legacy proof) */
.itkv-mein-konto-table .itkv-actions-buttons .itkv-cert-btn {
	background: linear-gradient(180deg, #1a5a2e, #145225);
	border-color: #145225;
	color: #fff;
	font-weight: 600;
}
.itkv-mein-konto-table .itkv-actions-buttons .itkv-cert-btn:hover {
	background: linear-gradient(180deg, #206b38, #1a5a2e);
	box-shadow: 0 3px 8px rgba(26, 90, 46, 0.3);
}
.itkv-mein-konto-table td small {
	color: #666;
}

/* Designer improvements for Mein Konto table */
.itkv-mein-konto-table tbody tr:nth-child(even) {
	background: #fafcff;
}
.itkv-mein-konto-table tbody tr:hover {
	background: #f0f4f8;
}
.itkv-mein-konto-table .itkv-status-inline {
	display: inline-block;
	margin-top: 3px;
	font-size: 0.72rem;
	padding: 1px 6px;
	border-radius: 3px;
}
.itkv-mein-konto .itkv-ort {
	color: #666;
}

/* Zeitspanne in Mein Konto Tabellen grösser darstellen (nach Entfernen der Durchführungsbezeichnung) */
.itkv-mein-konto-table td:nth-child(2) strong {
	font-size: 1.05em;
}
.itkv-mein-konto .itkv-note {
	margin-top: 8px;
	color: #666;
}
.itkv-mein-konto h3 + table {
	margin-bottom: 10px;
}

/* Reuse / mirror admin status badges for public */
.itkv-mein-konto .itkv-status {
	display: inline-block;
	padding: 1px 7px;
	font-size: 11px;
	border-radius: 3px;
	font-weight: 600;
	line-height: 1.4;
	border: 1px solid transparent;
}
.itkv-mein-konto .status-neu {
	background: #f0f0f0;
	color: #555;
	border-color: #ddd;
}
.itkv-mein-konto .status-bestaetigt {
	background: #dff0d8;
	color: #3c763d;
	border-color: #d6e9c6;
}
.itkv-mein-konto .status-storniert {
	background: #f2dede;
	color: #a94442;
	border-color: #ebccd1;
}

.itkv-muted {
	color: #999;
	font-style: italic;
}

/* Nicer address overview in [mein_konto]: labels + values on same line, labels vertically aligned */
.itkv-mein-konto .itkv-profile-view {
	font-size: 15px;
	line-height: 1.5;
	border: 1px solid #c8d4e0;
	background: #f8fafc;
	padding: 18px 20px 16px; /* more breathing room / "Raum nach oben" inside the Visitenkarte */
	border-radius: 6px;
	box-shadow: 0 1px 2px rgba(0,0,0,0.04);
	margin-bottom: 10px;
	margin-top: 4px;
}
.itkv-mein-konto .itkv-addr-field {
	margin-bottom: 11px; /* more vertical space between fields */
}
.itkv-mein-konto .itkv-addr-field .label {
	display: block;
	font-size: 0.72rem;
	font-weight: 600;
	color: #555;
	margin-bottom: 1px;
	letter-spacing: 0.3px;
}
.itkv-mein-konto .itkv-addr-field .value {
	color: #222;
	font-weight: 500;
}
.itkv-mein-konto .itkv-addr-field:last-child {
	margin-bottom: 2px;
}

/* Nicer edit form (more generous spacing like a clean card) */
#itkv-profile-edit-form {
	padding: 18px 20px !important;
	background: #f8fafc;
	border: 1px solid #c8d4e0;
	border-radius: 6px;
	box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
#itkv-profile-edit-form input,
#itkv-profile-edit-form select {
	border: 1px solid #c8d4e0;
	border-radius: 4px;
	background: #fff;
	font-family: inherit;
	padding: 7px 10px;
	font-size: 15px;
	margin-top: 2px;
}
#itkv-profile-edit-form label {
	font-weight: 500;
	font-size: 14px;
	color: #333;
	margin-bottom: 2px;
	display: block;
}
#itkv-profile-edit-form > div[style*="flex:1"] {
	margin-bottom: 8px;
}

/* Grid handles spacing now; no need for old vertical margin between buttons */

/* Booki Chat Popup - casual, friendly chat style booking */
#itkv-booki-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.6);
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 10px;
}
#itkv-booki-modal.show {
  display: flex;
}
#itkv-booki-modal .chat-container {
  width: 100%;
  max-width: 580px;
  height: 680px;
  max-height: 93vh;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 40px rgba(0,0,0,0.25);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  font-family: system-ui, -apple-system, sans-serif;
}
#itkv-booki-modal .chat-header {
  background: #003366;
  color: #fff;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
#itkv-booki-modal .chat-avatar {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  flex-shrink: 0;
  overflow: hidden;
  background: #fff;
}
#itkv-booki-modal .chat-avatar.booki-avatar {
  background: #fff url('../img/booki-avatar.png') center / contain no-repeat;
}
#itkv-booki-modal .chat-avatar.booki-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
#itkv-booki-modal .chat-header-info {
  flex: 1;
  min-width: 0;
}
#itkv-booki-modal .chat-header-info strong {
  font-size: 17px;
  display: block;
  line-height: 1.15;
}
#itkv-booki-modal .chat-header-info small {
  opacity: 0.9;
  font-size: 12px;
}
#itkv-booki-modal .chat-close {
  background: rgba(255,255,255,0.2);
  border: none;
  color: #fff;
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  border-radius: 50%;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-family: system-ui, -apple-system, sans-serif;
  /* × sits optically low in most fonts */
  padding-bottom: 1px;
}
#itkv-booki-modal .chat-messages {
  flex: 1;
  overflow-y: auto;
  padding: 16px 14px;
  background: #f8f9fa;
  display: flex;
  flex-direction: column;
  gap: 12px;
  scroll-behavior: smooth;
}
#itkv-booki-modal .msg {
  display: flex;
  max-width: 88%;
}
#itkv-booki-modal .msg.booki {
  align-self: flex-start;
}
#itkv-booki-modal .msg.user {
  align-self: flex-end;
  flex-direction: row-reverse;
}
#itkv-booki-modal .msg-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #003366;
  color: #fff;
  font-size: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 8px;
  flex-shrink: 0;
  box-shadow: 0 1px 2px rgba(0,0,0,0.1);
  overflow: hidden;
}
#itkv-booki-modal .msg.user .msg-avatar {
  margin-right: 0;
  margin-left: 8px;
  background: #555;
}
#itkv-booki-modal .msg.booki .msg-avatar.booki-avatar {
  background: #003366 url('../img/booki-avatar.png') center / contain no-repeat;
  color: transparent;
}
#itkv-booki-modal .msg.booki .msg-avatar.booki-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
#itkv-booki-modal .msg-bubble {
  padding: 11px 15px;
  border-radius: 14px;
  font-size: 16px;
  line-height: 1.45;
  box-shadow: 0 1px 1px rgba(0,0,0,0.05);
}
#itkv-booki-modal .msg.booki .msg-bubble {
  background: #fff;
  color: #222;
  border-bottom-left-radius: 4px;
}
#itkv-booki-modal .msg.user .msg-bubble {
  background: #0066a1;
  color: #fff;
  border-bottom-right-radius: 4px;
}
#itkv-booki-modal .quick-replies {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}
#itkv-booki-modal .quick-replies button {
  background: #fff;
  border: 1px solid #003366;
  color: #003366;
  padding: 7px 13px;
  border-radius: 20px;
  font-size: 15px;
  cursor: pointer;
  transition: all 0.1s;
}
#itkv-booki-modal .quick-replies button:hover {
  background: #003366;
  color: #fff;
}
#itkv-booki-modal .chat-input-zone {
  padding: 10px 12px;
  background: #fff;
  border-top: 1px solid #eee;
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
#itkv-booki-modal .chat-input-zone input {
  flex: 1;
  border: 1px solid #ccc;
  border-radius: 20px;
  padding: 10px 15px;
  font-size: 16px;
  outline: none;
}
#itkv-booki-modal .chat-input-zone input:focus {
  border-color: #003366;
}
#itkv-booki-modal .chat-input-zone button {
  background: #003366;
  color: white;
  border: none;
  border-radius: 20px;
  padding: 0 18px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}
#itkv-booki-modal .chat-input-zone button:disabled {
  opacity: 0.6;
}
#itkv-booki-modal .chat-footer {
  padding: 7px;
  text-align: center;
  font-size: 12px;
  color: #888;
  background: #f8f9fa;
}

/* Typing indicator (3 dots) before Booki replies for realism */
#itkv-booki-modal .typing-indicator {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 15px;
  background: #f1f3f5;
  border-radius: 14px;
  border-bottom-left-radius: 4px;
  margin: 2px 0 6px 34px;
  box-shadow: 0 1px 1px rgba(0,0,0,0.04);
}
#itkv-booki-modal .typing-indicator .dot {
  width: 6px;
  height: 6px;
  background: #666;
  border-radius: 50%;
  animation: itkv-typing-bounce 1.2s infinite ease-in-out both;
}
#itkv-booki-modal .typing-indicator .dot:nth-child(2) { animation-delay: 0.2s; }
#itkv-booki-modal .typing-indicator .dot:nth-child(3) { animation-delay: 0.4s; }
@keyframes itkv-typing-bounce {
  0%, 80%, 100% { transform: scale(0); }
  40% { transform: scale(1.0); }
}

/* Mein Konto – Unterlagen-Liste im Popup (saubere, moderne Darstellung) */
#itkv-azure-materials-list > div {
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  overflow: hidden;
}
#itkv-azure-materials-list .itkv-material-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-bottom: 1px solid #eee;
  background: #fff;
  transition: background .1s ease;
}
#itkv-azure-materials-list .itkv-material-row:last-child {
  border-bottom: none;
}
#itkv-azure-materials-list .itkv-material-row:nth-child(even) {
  background: #fafafa;
}
#itkv-azure-materials-list .itkv-material-row:hover {
  background: #f0f4f8;
}

/* Nicer, more generous Kursunterlagen list in popup (designer polish) */
#itkv-azure-materials-list .itkv-material-row {
  padding: 12px 14px;
}
#itkv-azure-materials-list .itkv-material-name {
  font-size: 14.5px;
  font-weight: 600;
}
#itkv-azure-materials-list .itkv-material-meta {
  font-size: 12.5px;
  margin-top: 3px;
}
#itkv-azure-materials-list .itkv-actions .itkv-btn-small { /* the download inside list */
  padding: 5px 12px;
  font-size: 0.8rem;
}
#itkv-azure-materials-list .itkv-material-info {
  flex: 1;
  min-width: 0;
  padding-right: 12px;
}
#itkv-azure-materials-list .itkv-material-name {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.3;
  color: #222;
  word-break: break-all;
}
#itkv-azure-materials-list .itkv-material-meta {
  font-size: 12px;
  color: #666;
  margin-top: 2px;
}
#itkv-azure-materials-list .itkv-file-icon {
  display: inline-block;
  width: 20px;
  text-align: center;
  font-size: 15px;
  vertical-align: middle;
}

/* Top-right close X for the Kursunterlagen popup in Mein Konto */
.itkv-modal-close-x {
  position: absolute;
  top: 8px;
  right: 12px;
  background: none;
  border: none;
  font-size: 24px;
  line-height: 1;
  color: #666;
  cursor: pointer;
  padding: 0;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.15s ease;
  z-index: 2;
}
.itkv-modal-close-x:hover {
  background: #f0f0f0;
  color: #c00;
}

/* === 1.6.0 Mein Konto title + descriptions + three sections === */
.itkv-mein-konto .itkv-mk-main-title {
  font-size: 1.45rem;
  margin: 0 0 4px;
  color: #003366;
  font-weight: 600;
  line-height: 1.25;
}
.itkv-mein-konto .itkv-mk-desc,
.itkv-mein-konto .itkv-section-desc {
  color: #555;
  font-size: 0.95em;
  margin: 0 0 12px;
  line-height: 1.35;
}
.itkv-mein-konto .itkv-section-desc {
  font-size: 0.9em;
  margin-bottom: 8px;
  color: #5a5a5a;
}

/* === Beautiful Visitenkarte (business card style, no explicit "Visitenkarte" title) === */
.itkv-mein-konto .itkv-visitenkarte {
  border: 1px solid #c3d0e0;
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  border-radius: 8px;
  padding: 14px 16px 8px;
  box-shadow: 0 2px 8px rgba(0, 51, 102, 0.06);
  margin-bottom: 6px;
  overflow: hidden;
}
/* Subtle top accent bar to give "card" feel without a text header */
.itkv-mein-konto .itkv-visitenkarte::before {
  content: '';
  display: block;
  height: 3px;
  background: linear-gradient(to right, #003366, #4a7ab0);
  margin: -14px -16px 12px;
  border-radius: 8px 8px 0 0;
}
.itkv-mein-konto .itkv-vk-edit-header {
  background: #003366;
  color: #fff;
  padding: 7px 12px;
  font-size: 0.9rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 7px;
  margin: -1px -1px 0;
}
.itkv-mein-konto .itkv-vk-icon {
  font-size: 1.0em;
  opacity: 0.95;
}
.itkv-mein-konto .itkv-vk-title {
  letter-spacing: 0.2px;
}
.itkv-mein-konto .itkv-vk-body {
  padding: 0 0 6px;
}
.itkv-mein-konto .itkv-visitenkarte .itkv-addr-field {
  margin-bottom: 7px;
  display: flex;
  gap: 12px;
  align-items: baseline;
}
.itkv-mein-konto .itkv-visitenkarte .itkv-addr-field .label {
  display: inline-block;
  width: 82px;
  flex-shrink: 0;
  font-size: 0.72rem;
  font-weight: 600;
  color: #4a5568;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.itkv-mein-konto .itkv-visitenkarte .itkv-addr-field .value {
  color: #1f2a37;
  font-weight: 500;
  font-size: 0.97em;
}
.itkv-mein-konto .itkv-visitenkarte .itkv-addr-field:last-child {
  margin-bottom: 2px;
}
.itkv-mein-konto .itkv-vk-edit-btn {
  margin: 2px 0 6px;
}
.itkv-mein-konto .itkv-visitenkarte-edit {
  border: 1px solid #c3d0e0;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 51, 102, 0.06);
  overflow: hidden;
}
.itkv-mein-konto .itkv-vk-edit-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  padding: 14px 16px 6px;
}
.itkv-mein-konto .itkv-vk-field {
  flex: 1 1 210px;
  min-width: 180px;
}
.itkv-mein-konto .itkv-vk-field label {
  display: block;
  font-size: 12.5px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 3px;
}
.itkv-mein-konto .itkv-vk-field input,
.itkv-mein-konto .itkv-vk-field select {
  width: 100%;
  padding: 7px 10px;
  font-size: 15px;
  border: 1px solid #c8d4e0;
  border-radius: 5px;
  background: #fff;
  box-sizing: border-box;
}
.itkv-mein-konto .itkv-vk-edit-actions {
  padding: 10px 16px 14px;
  background: #f8fafc;
  border-top: 1px solid #e5e5e5;
  display: flex;
  gap: 8px;
  align-items: center;
}

/* === Overhauled Kursunterlagen list (icon left, date small underneath, background download) === */
#itkv-azure-materials-list .itkv-materials-list-inner {
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
#itkv-azure-materials-list .itkv-material-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 11px 13px;
  border-bottom: 1px solid #eee;
  background: #fff;
}
#itkv-azure-materials-list .itkv-material-row:last-child {
  border-bottom: none;
}
#itkv-azure-materials-list .itkv-material-row:nth-child(even) {
  background: #fafbfc;
}
#itkv-azure-materials-list .itkv-material-row:hover {
  background: #f4f7fb;
}
#itkv-azure-materials-list .itkv-material-icon {
  width: 26px;
  flex-shrink: 0;
  font-size: 18px;
  line-height: 22px;
  text-align: center;
  padding-top: 1px;
}
#itkv-azure-materials-list .itkv-material-info {
  flex: 1;
  min-width: 0;
}
#itkv-azure-materials-list .itkv-material-name {
  font-size: 14.2px;
  font-weight: 600;
  color: #1f2937;
  word-break: break-all;
  line-height: 1.25;
}
#itkv-azure-materials-list .itkv-material-date {
  font-size: 11.5px;
  color: #5f6b7a;
  margin-top: 2px;
  font-weight: 400;
}
#itkv-azure-materials-list .itkv-material-meta {
  font-size: 11.5px;
  color: #6b7280;
  margin-top: 1px;
}
#itkv-azure-materials-list .itkv-material-action {
  flex-shrink: 0;
  padding-top: 2px;
}
#itkv-azure-materials-list .itkv-material-action .itkv-btn {
  min-width: 92px;
  text-align: center;
}
