/* Easy School 0.1.100 – Widget-CSS: wochenplan */
.eschool-wochenplan-widget {
	width: 100%;
	max-width: 100%;
	container-type: inline-size;
	--eschool-wp-card-min: 330px;
}

.eschool-wp-layout-cards {
	display: block;
}

.eschool-wp-days {
	display: grid;
	gap: 18px;
}

.eschool-wp-day-section {
	border: 1px solid transparent;
	border-radius: 18px;
	overflow: hidden;
	background: rgba(0,0,0,0.018);
}

.eschool-wp-day-header,
.eschool-wp-header th {
	background-color: var(--e-global-color-primary, #333);
	color: #fff;
	text-align: left;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 0.9em;
}

.eschool-wp-day-header {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 12px;
	padding: 13px 18px;
}

.eschool-wp-day-name {
	min-width: 0;
	overflow-wrap: anywhere;
}

.eschool-wp-day-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--eschool-wp-card-min)), 1fr));
	gap: 14px;
	padding: 14px;
}

.eschool-wp-columns-1 .eschool-wp-day-cards {
	grid-template-columns: 1fr;
}

.eschool-wp-columns-2 .eschool-wp-day-cards {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media ( max-width: 767px ) {
.eschool-wp-columns-2 .eschool-wp-day-cards {
		grid-template-columns: 1fr;
	}
}

.eschool-wp-card {
	min-width: 0;
	padding: 16px 18px;
	border: 1px solid #e8e8e8;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(0,0,0,0.045);
	color: var(--e-global-color-text, #333);
}

.eschool-wp-card-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
	min-width: 0;
}

.eschool-wp-card-title {
	margin: 0;
	min-width: 0;
	color: var(--e-global-color-accent, #333);
	font-size: 1.12em;
	font-weight: 700;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.eschool-wp-card-time {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	flex: 0 0 auto;
	max-width: 100%;
	color: var(--e-global-color-text, #333);
	font-weight: 700;
	line-height: 1.3;
	white-space: nowrap;
}

.eschool-wp-card-meta {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 16px;
	margin-top: 14px;
}

.eschool-wp-card-meta-item {
	display: flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
	color: var(--e-global-color-text, #333);
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.eschool-wp-meta-label,
.eschool-wp-cell-label {
	flex: 0 0 auto;
	font-weight: 700;
	color: var(--e-global-color-primary, #333);
}

.eschool-wp-meta-value,
.eschool-wp-cell-value,
.eschool-wp-card-meta-item > span:not(.eschool-wp-icon),
.eschool-wp-card-meta-item > a {
	min-width: 0;
	overflow-wrap: anywhere;
}

.eschool-wp-card-contact {
	grid-column: 1 / -1;
	display: grid;
	gap: 9px;
	padding: 12px 14px;
	border: 1px solid rgba(0,0,0,0.08);
	border-left: 4px solid var(--e-global-color-primary, #333);
	border-radius: 12px;
	background: #f7f7f7;
}

.eschool-wp-card-contact-heading {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	color: var(--e-global-color-primary, #333);
	font-size: 0.78em;
	font-weight: 800;
	line-height: 1.25;
	text-transform: uppercase;
	letter-spacing: 0.055em;
}

.eschool-wp-card-contact-title {
	min-width: 0;
	overflow-wrap: anywhere;
}

.eschool-wp-card-contact-lines {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
	gap: 6px 14px;
}

.eschool-wp-contact-stack {
	display: inline-grid;
	gap: 3px;
	min-width: 0;
}

.eschool-wp-contact-row {
	display: flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
	overflow-wrap: anywhere;
}

.eschool-wp-card-contact-person {
	display: grid;
	gap: 5px;
	min-width: 0;
	align-content: start;
}

.eschool-wp-card-contact-person + .eschool-wp-card-contact-person {
	padding-top: 8px;
	border-top: 1px solid rgba(0,0,0,0.07);
}

.eschool-wp-card-contact-line {
	display: flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
	color: var(--e-global-color-text, #333);
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.eschool-wp-card-contact-line .eschool-wp-icon {
	margin-right: 0;
}

.eschool-wp-cell-label {
	display: none;
}

.eschool-wp-empty-day {
	padding: 16px 18px;
	font-style: italic;
	opacity: 0.65;
	color: var(--e-global-color-text, #333);
}

.eschool-wp-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: auto;
}

.eschool-wp-header th {
	padding: 10px 14px;
}

.eschool-wp-table td {
	padding: 10px 14px;
	vertical-align: middle;
	border-bottom: 1px solid #e8e8e8;
	color: var(--e-global-color-text, #333);
	font-size: inherit;
	line-height: 1.4;
}

.eschool-wp-table tbody tr.eschool-wp-termin-row:nth-child(even) td {
	background-color: rgba(0,0,0,0.025);
}

.eschool-wp-td-zeit {
	white-space: nowrap;
	font-weight: 600;
}

.eschool-wp-td-angebot {
	font-weight: 600;
}

.eschool-wp-td-zeit,
.eschool-wp-td-ort,
.eschool-wp-td-kontaktperson,
.eschool-wp-td-mail,
.eschool-wp-td-tel,
.eschool-wp-td-mindestalter,
.eschool-wp-td-max-teilnehmer {
	min-width: 0;
}

.eschool-wp-td-zeit,
.eschool-wp-td-ort,
.eschool-wp-td-kontaktperson,
.eschool-wp-td-mail,
.eschool-wp-td-tel,
.eschool-wp-td-mindestalter,
.eschool-wp-td-max-teilnehmer {
	white-space: nowrap;
}

.eschool-wp-angebot-link {
	text-decoration: none;
	color: var(--e-global-color-accent, #333);
}

.eschool-wp-angebot-link:hover {
	text-decoration: underline;
}

.eschool-wp-wiederholung {
	font-weight: 400;
	font-size: 0.82em;
	opacity: 0.6;
}

.eschool-wp-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 1em;
	height: 1em;
	margin-right: 4px;
	opacity: 0.65;
	vertical-align: -0.12em;
	color: currentColor;
}

.eschool-wp-card .eschool-wp-icon,
.eschool-ical-button .eschool-wp-icon {
	margin-right: 0;
}

.eschool-wp-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.eschool-wp-kontakt-link {
	min-width: 0;
	color: var(--e-global-color-text, #333);
	text-decoration: none;
	overflow-wrap: anywhere;
}

.eschool-wp-kontakt-link:hover {
	text-decoration: underline;
}

.eschool-wp-td-leer {
	font-style: italic;
	opacity: 0.5;
	font-size: 0.88em;
}

@container ( max-width: 680px ) {
.eschool-wp-card-top {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

.eschool-wp-card-time {
		white-space: normal;
	}

.eschool-wp-card-meta,
	.eschool-wp-card-contact-lines {
		grid-template-columns: 1fr;
	}
}

@media ( max-width: 767px ) {
.eschool-wp-table,
	.eschool-wp-table tbody,
	.eschool-wp-table tr,
	.eschool-wp-table td,
	.eschool-wp-table th {
		display: block !important;
		width: 100% !important;
		box-sizing: border-box;
	}

.eschool-wp-termin-row {
		margin-bottom: 10px;
		border: 1px solid #e8e8e8;
		border-radius: 6px;
		overflow: hidden;
		background: #fff;
	}

.eschool-wp-table tbody tr.eschool-wp-termin-row:nth-child(even) td {
		background-color: transparent !important;
	}

.eschool-wp-table td {
		padding: 7px 14px !important;
		border-bottom: none !important;
		display: flex !important;
		align-items: center;
		gap: 8px;
		white-space: normal;
		overflow-wrap: anywhere;
	}

.eschool-wp-cell-label {
		display: inline;
	}

.eschool-wp-td-zeit {
		padding-top: 12px !important;
	}

.eschool-wp-termin-row td:last-child {
		padding-bottom: 12px !important;
	}

.eschool-wp-td-leer-zelle {
		display: none !important;
	}

.eschool-wp-day-cards {
		grid-template-columns: 1fr;
		padding: 10px;
	}

.eschool-wp-day-section {
		border-radius: 14px;
	}

.eschool-wp-day-header {
		padding: 12px 14px;
	}

.eschool-wp-card {
		padding-left: 14px;
		padding-right: 14px;
	}

.eschool-wp-card-top {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

.eschool-wp-card-time {
		white-space: normal;
	}

.eschool-wp-card-meta,
	.eschool-wp-card-contact-lines {
		grid-template-columns: 1fr;
	}
}

.eschool-ical-wrap {
	margin-top: 16px;
}

.eschool-ical-button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 20px;
	background-color: var(--e-global-color-primary, #333);
	color: #fff;
	border-radius: 4px;
	text-decoration: none;
	font-size: 0.9em;
	font-weight: 600;
	transition: opacity 200ms ease;
}

.eschool-ical-button:hover {
	opacity: 0.85;
	color: #fff;
	text-decoration: none;
}

.eschool-ical-button svg {
	width: 1.1em;
	height: 1.1em;
	flex-shrink: 0;
}

.eschool-tz-widget > .eschool-ical-wrap {
	box-sizing: border-box;
	padding-inline: 18px 14px;
}

@container ( max-width: 560px ) {
.eschool-tz-widget > .eschool-ical-wrap {
		padding-inline: 18px 14px;
	}
}

.eschool-wochenplan-widget {
	container-type: inline-size;
	overflow-x: clip;
}

.eschool-wp-table {
	min-width: 0;
}

.eschool-wp-table td {
	overflow-wrap: anywhere;
}

@container ( max-width: 980px ) and ( min-width: 641px ) {
.eschool-wp-table,
	.eschool-wp-table tbody {
		display: block;
		width: 100%;
	}

.eschool-wp-header,
	.eschool-wp-header th {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}

.eschool-wp-header th {
		border-radius: 8px 8px 0 0;
	}

.eschool-wp-termin-row {
		display: grid;
		grid-template-columns: minmax(110px, 0.45fr) minmax(180px, 1fr);
		gap: 7px 18px;
		align-items: start;
		padding: 12px 14px;
		border: 1px solid #e8e8e8;
		border-top: 0;
		background: #fff;
	}

.eschool-wp-table tbody tr.eschool-wp-termin-row:nth-child(even) td {
		background-color: transparent;
	}

.eschool-wp-table td {
		display: block;
		padding: 0 !important;
		border-bottom: 0;
		background: transparent;
		min-width: 0;
	}

.eschool-wp-cell-label {
		display: inline;
	}

.eschool-wp-td-zeit {
		grid-column: 1;
		white-space: normal;
	}

.eschool-wp-td-angebot {
		grid-column: 2;
	}

.eschool-wp-td-ort,
	.eschool-wp-td-kontaktperson,
	.eschool-wp-td-mail,
	.eschool-wp-td-tel {
		grid-column: 2;
		white-space: normal;
		font-size: 0.92em;
	}

.eschool-wp-leer-row,
	.eschool-wp-leer-row td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
}

.eschool-tz-hinweis-box,
.eschool-wp-no-fixed-card {
	padding: 16px 18px;
	border: 1px solid rgba(0,0,0,0.08);
	border-left: 4px solid #d71920;
	border-radius: 12px;
	background: #f7f7f7;
	color: #222222;
}

.eschool-tz-hinweis-text,
.eschool-wp-no-fixed-text {
	line-height: 1.55;
}

.eschool-tz-hinweis-text p,
.eschool-wp-no-fixed-text p {
	margin: 0 0 0.75em;
}

.eschool-tz-hinweis-text p:last-child,
.eschool-wp-no-fixed-text p:last-child {
	margin-bottom: 0;
}

.eschool-wp-no-fixed-section {
	margin-top: 22px;
}

.eschool-wp-no-fixed-title {
	margin: 0 0 12px;
	font-size: 1.05em;
	font-weight: 800;
	line-height: 1.25;
	color: #222222;
}

.eschool-wp-no-fixed-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--eschool-wp-card-min, 330px)), 1fr));
	gap: 14px;
}

.eschool-wp-no-fixed-card {
	background: #fff;
	box-shadow: 0 8px 24px rgba(0,0,0,0.04);
}

.eschool-wp-no-fixed-offer {
	margin: 0 0 8px;
	font-size: 1.08em;
	font-weight: 800;
	line-height: 1.25;
	color: #222222;
}

.eschool-wp-no-fixed-offer a {
	color: inherit;
}

.eschool-wochenplan-hinweise-only {
	width: 100%;
	max-width: 100%;
}

.eschool-wochenplan-hinweise-only .eschool-wp-no-fixed-section {
	margin-top: 0;
	margin-bottom: 0;
}

.eschool-wochenplan-hinweise-only .eschool-wp-no-fixed-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--eschool-wp-card-min, 330px)), 1fr));
	align-items: start;
}

.eschool-wochenplan-hinweise-only .eschool-wp-no-fixed-section + .eschool-ical-wrap {
	margin-top: 14px;
}

@media (max-width: 767px) {
.eschool-wochenplan-hinweise-only .eschool-wp-no-fixed-section {
		padding-inline: 0;
	}

.eschool-wochenplan-hinweise-only .eschool-wp-no-fixed-grid {
		grid-template-columns: 1fr;
	}

.eschool-wochenplan-hinweise-only .eschool-wp-no-fixed-card {
		margin-bottom: 0;
	}
}

.elementor-widget-eschool_wochenplan,
.elementor-widget-eschool_wochenplan > .elementor-widget-container {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.eschool-wochenplan-root {
	--eschool-wp-mobile-inner: 30px;
	display: flow-root;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	clear: both;
}

.eschool-wochenplan-root,
.eschool-wochenplan-root * {
	box-sizing: border-box;
}

.eschool-wochenplan-root > :first-child {
	margin-top: 0;
}

.eschool-wochenplan-root > :last-child {
	margin-bottom: 0;
}

.eschool-wochenplan-root .eschool-wochenplan-widget {
	container-type: normal;
	overflow-x: visible;
}

@media (max-width: 680px) {
.eschool-wochenplan-root .eschool-wp-card-top {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

.eschool-wochenplan-root .eschool-wp-card-time {
		white-space: normal;
	}

.eschool-wochenplan-root .eschool-wp-card-meta,
	.eschool-wochenplan-root .eschool-wp-card-contact-lines {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 980px) and (min-width: 641px) {
.eschool-wochenplan-root .eschool-wp-table,
	.eschool-wochenplan-root .eschool-wp-table tbody {
		display: block;
		width: 100%;
	}

.eschool-wochenplan-root .eschool-wp-header,
	.eschool-wochenplan-root .eschool-wp-header th {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}

.eschool-wochenplan-root .eschool-wp-header th {
		border-radius: 8px 8px 0 0;
	}

.eschool-wochenplan-root .eschool-wp-termin-row {
		display: grid;
		grid-template-columns: minmax(110px, 0.45fr) minmax(180px, 1fr);
		gap: 7px 18px;
		align-items: start;
		padding: 12px 14px;
		border: 1px solid #e8e8e8;
		border-top: 0;
		background: #fff;
	}

.eschool-wochenplan-root .eschool-wp-table tbody tr.eschool-wp-termin-row:nth-child(even) td {
		background-color: transparent;
	}

.eschool-wochenplan-root .eschool-wp-table td {
		display: block;
		padding: 0 !important;
		border-bottom: 0;
		background: transparent;
		min-width: 0;
	}

.eschool-wochenplan-root .eschool-wp-cell-label {
		display: inline;
	}

.eschool-wochenplan-root .eschool-wp-td-zeit {
		grid-column: 1;
		white-space: normal;
	}

.eschool-wochenplan-root .eschool-wp-td-angebot,
	.eschool-wochenplan-root .eschool-wp-td-ort,
	.eschool-wochenplan-root .eschool-wp-td-kontaktperson,
	.eschool-wochenplan-root .eschool-wp-td-mail,
	.eschool-wochenplan-root .eschool-wp-td-tel {
		grid-column: 2;
	}

.eschool-wochenplan-root .eschool-wp-td-ort,
	.eschool-wochenplan-root .eschool-wp-td-kontaktperson,
	.eschool-wochenplan-root .eschool-wp-td-mail,
	.eschool-wochenplan-root .eschool-wp-td-tel {
		white-space: normal;
		font-size: 0.92em;
	}

.eschool-wochenplan-root .eschool-wp-leer-row,
	.eschool-wochenplan-root .eschool-wp-leer-row td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
}

@media (max-width: 767px) {
.eschool-wochenplan-root--mobile-full {
		width: 100vw;
		max-width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		padding-left: var(--eschool-wp-mobile-inner, 30px);
		padding-right: var(--eschool-wp-mobile-inner, 30px);
	}

.eschool-wochenplan-root .eschool-wochenplan-hinweise-only,
	.eschool-wochenplan-root .eschool-wochenplan-widget,
	.eschool-wochenplan-root .eschool-wp-no-fixed-section,
	.eschool-wochenplan-root .eschool-wp-no-fixed-grid,
	.eschool-wochenplan-root .eschool-wp-no-fixed-card,
	.eschool-wochenplan-root .eschool-ical-wrap {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

.eschool-wochenplan-root .eschool-wp-no-fixed-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}


/* Ab 0.1.123: Karteninhalt bewusst einspaltig, damit Titel, Rhythmus, Zeit und Ort nicht gegeneinander gedrückt werden. */
.eschool-wp-layout-cards .eschool-wp-card {
	display: grid;
	gap: 14px;
	align-content: start;
}

.eschool-wp-layout-cards .eschool-wp-card-top {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}

.eschool-wp-layout-cards .eschool-wp-card-time {
	display: flex;
	align-items: center;
	gap: 7px;
	width: 100%;
	white-space: normal;
}

.eschool-wp-layout-cards .eschool-wp-card-meta {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	margin-top: 0;
}

.eschool-wp-layout-cards .eschool-wp-card-meta-item {
	display: flex;
	align-items: flex-start;
	gap: 7px;
}

.eschool-wp-layout-cards .eschool-wp-card-time .eschool-wp-meta-label,
.eschool-wp-layout-cards .eschool-wp-card-time .eschool-wp-meta-value {
	min-width: 0;
	overflow-wrap: anywhere;
}

.eschool-wp-wiederholung {
	font-weight: inherit;
	opacity: 0.72;
}
