/* Shared visual language; Avada pages remain editable in Fusion Builder. */
:root { --syss-red:#c61428; --syss-hover:#98121f; --syss-ink:#171414; --syss-muted:#625b58; --syss-cream:#fffaf6; --syss-line:#e7d8ce; }
html { scroll-padding-top:110px; }
body .awb-menu, body .fluentform, body .fluentform input, body .fluentform textarea, body .fluentform select, body .fluentform button { font-family:Outfit,Arial,Helvetica,sans-serif; }
body a:focus-visible, body button:focus-visible, body input:focus-visible, body select:focus-visible, body textarea:focus-visible { outline:3px solid var(--syss-ink); outline-offset:4px; }
body .syss-button, body .fluentform button.ff-btn-submit { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 22px; border:1px solid var(--syss-red); border-radius:999px; background:var(--syss-red); color:#fff; font-weight:600; font-size:16px; line-height:1.35; text-decoration:none; cursor:pointer; }
body .syss-button:hover, body .fluentform button.ff-btn-submit:hover { background:var(--syss-hover); border-color:var(--syss-hover); color:#fff; }
.syss-course-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:26px 0; }
.syss-course-card { background:#fff; border:1px solid var(--syss-line); border-radius:18px; overflow:hidden; display:flex; flex-direction:column; scroll-margin-top:115px; }
.syss-course-card__image { display:block; aspect-ratio:16/10; overflow:hidden; }
.syss-course-card__image img { width:100%; height:100%; object-fit:cover; display:block; }
.syss-course-card__body { padding:24px; display:flex; flex-direction:column; flex:1; }
.syss-course-card__label { color:#76252d; font-size:13px; font-weight:650; margin-bottom:10px; }
body .syss-course-card h3 { margin:0 0 12px; font-size:23px; line-height:1.22; }
.syss-course-card h3 a { color:var(--syss-ink); }
.syss-course-card p { font-size:16px; line-height:1.6; color:var(--syss-muted); margin:0 0 18px; }
.syss-course-card__times { list-style:none; padding:0; margin:0 0 24px; font-size:14px; color:var(--syss-muted); }
.syss-course-card__times li + li { margin-top:5px; }
.syss-course-card__actions { margin-top:auto; display:flex; align-items:center; flex-wrap:wrap; gap:14px; }
.syss-course-card__actions > a:not(.syss-button) { color:var(--syss-red); font-size:14px; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.syss-notice { background:#fff4d8; color:var(--syss-ink); border-left:4px solid #f5aa19; padding:20px; border-radius:8px; }
body .fluentform { font-size:16px; }
body .fluentform .ff-el-form-control { border-color:#cabdb4; border-radius:9px; min-height:48px; font-size:16px; color:var(--syss-ink); }
body .fluentform textarea.ff-el-form-control { min-height:140px; }
body .fluentform .ff-el-form-control::placeholder { color:#716966; opacity:1; }
body .fluentform .ff-el-form-check label { line-height:1.6; }
body .fluentform a { text-decoration:underline; text-underline-offset:3px; }
body .syss-prose { max-width:74ch; }
body .syss-prose p { line-height:1.7; }
body .syss-page-intro { max-width:780px; }
body .syss-page-intro h1 { font-size:clamp(32px,4.3vw,52px); line-height:1.12; }
body .stec-event-counter, body .stec-event-counter-status { display:none; }
body .stec-tags-list > * { color:var(--syss-ink)!important; background:#f4e5c7!important; font-size:12px; }
body .stec-thumbnail-date { color:var(--syss-ink); }
body .stec-event-description a { text-decoration:underline; text-underline-offset:3px; }
body .stec-event-share-and-export { border-top:1px solid var(--syss-line); padding-top:20px; }
body .syss-footer-menu .awb-menu__main-a { line-height:1.6; padding-top:6px; padding-bottom:6px; }
@media(max-width:1000px) { .syss-course-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) {
 .syss-course-grid { grid-template-columns:1fr; gap:20px; }
 .syss-course-card__body { padding:22px; }
 body .stec-agenda-event-description { font-size:14px; line-height:1.55; }
 body .awb-menu[aria-label="Hauptnavigation"] { --awb-mobile-bg:#fffaf6; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
/* German compound words must remain readable on narrow screens. */
body #main h1, body #main h2, body #main h3 { overflow-wrap:anywhere; hyphens:auto; }
@media(max-width:640px) {
 body .syss-editorial-section h1 { font-size:34px; line-height:1.16; }
}

/* Replace STEC's typed start-address form with direct, location-aware navigation. */
body .stec-single-page .stec-event-location-directions .syss-event-navigation-links {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:12px;
	width:100%;
}
body .stec-single-page .syss-event-navigation-links__link {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	min-height:52px;
	padding:12px 16px;
	border:1px solid transparent;
	border-radius:12px;
	color:#fff;
	font-size:15px;
	font-weight:600;
	line-height:1.25;
	text-align:center;
	text-decoration:none;
	transition:background-color .18s ease, transform .18s ease;
}
body .stec-single-page .syss-event-navigation-links__link:hover,
body .stec-single-page .syss-event-navigation-links__link:focus-visible {
	color:#fff;
	transform:translateY(-1px);
}
body .stec-single-page .syss-event-navigation-links__link--google { background:#c61428; }
body .stec-single-page .syss-event-navigation-links__link--google:hover,
body .stec-single-page .syss-event-navigation-links__link--google:focus-visible { background:#98121f; }
body .stec-single-page .syss-event-navigation-links__link--apple { background:#171414; }
body .stec-single-page .syss-event-navigation-links__link--apple:hover,
body .stec-single-page .syss-event-navigation-links__link--apple:focus-visible { background:#38302e; }
body .stec-single-page .syss-event-navigation-links__link svg { flex:0 0 22px; width:22px; height:22px; }
@media(max-width:640px) {
	body .stec-single-page .stec-event-location-directions .syss-event-navigation-links { grid-template-columns:1fr; }
	body .stec-single-page .syss-event-navigation-links__link { min-height:50px; }
}

/* Make the STEC event tabs read as tabs and keep the location panel balanced. */
body .stec-single-page .stec-content-tabs {
	gap:8px;
	padding:0 12px;
	border-bottom:1px solid var(--syss-line);
}
body .stec-single-page .stec-content-tab {
	box-sizing:border-box;
	border:1px solid #d8c7bc;
	border-bottom:3px solid transparent;
	border-radius:10px 10px 0 0;
	transition:border-color .18s ease, background-color .18s ease;
}
body .stec-single-page .stec-content-tab.active {
	border-color:#d8c7bc;
	border-bottom-color:var(--syss-red);
	box-shadow:0 2px 8px rgba(69,27,19,.06);
}
body .stec-single-page .stec-content-tabs-content {
	border:1px solid var(--syss-line);
	border-top:0;
	border-radius:0 0 12px 12px;
	background:#fff;
}
body .stec-single-page .stec-content-tabs-content .stec-row:has(.stec-event-location-address) {
	grid-template-columns:minmax(0,1fr) !important;
	justify-items:center;
	align-content:start;
	text-align:center;
}
body .stec-single-page .stec-content-tabs-content .stec-row:has(.stec-event-location-address) > .stec-column {
	box-sizing:border-box;
	width:min(100%,720px);
	margin-inline:auto;
}
body .stec-single-page .stec-event-location-address {
	width:min(100%,640px);
	margin:0 auto;
	text-align:center;
}
body .stec-single-page .stec-event-location-address > stec-div {
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:3px;
	padding:10px 12px;
	border-bottom:1px solid #efe6e0;
}
body .stec-single-page .stec-event-location-address > stec-div > stec-span:first-child {
	color:var(--syss-muted);
	font-size:12px;
	font-weight:600;
	letter-spacing:.06em;
	text-transform:uppercase;
}
body .stec-single-page .stec-event-location-address > stec-div > stec-span:last-child {
	font-size:16px;
	font-weight:600;
}
body .stec-single-page .stec-event-location-directions {
	width:min(100%,620px);
	margin:18px auto 0 !important;
}
body .stec-single-page .stec-event-location-directions .syss-event-navigation-links {
	margin-inline:auto;
}

/* On narrow event pages, keep the date tile above the readable event details. */
@media(max-width:640px) {
	body .stec-single-page .stec-event-preview {
		position:relative;
		flex-wrap:wrap;
		align-items:flex-start;
	}
	body .stec-single-page .stec-event-preview > .stec-thumbnail {
		flex:0 0 56px;
		width:56px;
		height:56px;
		min-width:56px;
	}
	body .stec-single-page .stec-event-preview > .stec-event-preview-content {
		flex:0 0 100%;
		width:100%;
		margin:14px 0 0;
		align-items:stretch;
		position:static;
	}
	body .stec-single-page .stec-event-preview-content > stec-div:first-child,
	body .stec-single-page .stec-event-preview-content-primary,
	body .stec-single-page .stec-event-preview-content-secondary {
		width:100%;
	}
	body .stec-single-page .stec-event-preview-content-primary .stec-tags-list {
		display:flex;
		align-items:center;
		flex-wrap:wrap;
		gap:6px;
	}
	body .stec-single-page .stec-event-preview-content-primary .stec-tags-list > * {
		display:inline-flex;
		align-items:center;
		margin:0;
	}
	body .stec-single-page .stec-event-preview-aside {
		position:absolute;
		top:16px;
		right:16px;
		padding:0;
	}
}
/* Home refinement: real choice cards, centered stacked actions, upcoming course. */
body .syss-course-card__actions { flex-direction:column; align-items:center; justify-content:flex-end; gap:12px; padding-top:8px; }
body .syss-course-card__actions > a { width:100%; text-align:center; justify-content:center; }
body .syss-course-card__actions > a:not(.syss-button) { display:flex; align-items:center; justify-content:center; min-height:46px; padding:10px 18px; border:1px solid #dec9c3; border-radius:999px; text-decoration:none; }
body .syss-course-card__actions > a:not(.syss-button):hover { border-color:var(--syss-red); background:#fff7f4; }
.syss-eyebrow { text-align:center; color:var(--syss-red); font-size:12px; font-weight:700; letter-spacing:.14em; margin-bottom:12px; }
.syss-home-actions { display:flex; flex-direction:column; align-items:center; gap:12px; margin:28px auto 0; }
.syss-home-actions .syss-button { min-width:245px; }
body .syss-button--outline { background:transparent; color:var(--syss-red); }
body .syss-button--outline:hover { background:var(--syss-red); color:white; }
.syss-path-column .fusion-column-wrapper, .syss-path-column .fusion-text { height:100%; }
.syss-path-card { height:100%; display:flex; flex-direction:column; align-items:center; text-align:center; background:#fffaf6; border:1px solid #e3d4c8; border-radius:24px; padding:30px 24px; box-shadow:0 8px 24px rgba(69,27,19,.04); }
.syss-path-number { width:54px; height:54px; border-radius:50%; background:#f3e2da; color:#8c202d; display:grid; place-items:center; font-size:18px; font-weight:700; margin:0 0 25px; }
.syss-path-card .syss-path-kicker { color:#8c202d; font-weight:600; font-size:13px; margin:0 0 8px; }
body .syss-path-card h3 { font-size:25px; line-height:1.2; margin:0 0 16px; color:var(--syss-ink); }
.syss-path-card > p:not(.syss-path-kicker) { color:var(--syss-muted); line-height:1.65; font-size:16px; margin:0 0 28px; }
.syss-path-card .syss-button { margin-top:auto; width:100%; padding:12px 14px; font-size:15px; }
.syss-learning-feature { text-align:center; padding:18px 18px 0; }
.syss-learning-feature > span { display:inline-grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#e8d9d1; color:#8c202d; font-size:18px; }
body .syss-learning-feature h3 { margin:16px 0 10px; font-size:22px; }
.syss-learning-feature p { color:var(--syss-muted); font-size:16px; line-height:1.6; }
.syss-kizomba-promo { display:grid; grid-template-columns:1.2fr 1fr; gap:40px; align-items:center; padding:44px; background:linear-gradient(115deg,#2b1117,#52151f); color:#fffaf6; border-radius:26px; overflow:hidden; }
.syss-promo-badge { display:inline-block; padding:7px 12px; border:1px solid #93606a; border-radius:999px; font-size:12px; font-weight:650; letter-spacing:.08em; color:#f8dfcc; }
body .syss-kizomba-promo h2 { color:#fffaf6; font-size:42px; line-height:1.1; margin:20px 0 16px; }
.syss-kizomba-promo p { font-size:16px; line-height:1.65; margin:0 0 14px; color:#f5e8e2; }
.syss-kizomba-promo .syss-kizomba-time { color:#f1c697; font-size:22px; font-weight:600; }
.syss-kizomba-promo .syss-kizomba-note { font-size:13px; color:#e2c7c5; margin-bottom:0; }
.syss-kizomba-promo__action { display:flex; flex-direction:column; align-items:center; text-align:center; gap:18px; }
.syss-kizomba-word { color:#c88c8a; font-size:clamp(32px,4.7vw,66px); line-height:1; font-weight:750; letter-spacing:.04em; }
.syss-kizomba-promo__action > span:last-child { color:#e2c7c5; font-size:13px; }
body .syss-kizomba-promo .syss-button { background:#fff4e8; border-color:#fff4e8; color:#52151f; }
body .syss-kizomba-promo .syss-button:hover { background:#f1d6bf; }
.syss-partner-note { border-left:3px solid var(--syss-red); padding:20px 24px; background:#fffaf6; border-radius:0 14px 14px 0; }
.syss-partner-note p { margin:8px 0 0; color:var(--syss-muted); }
@media(max-width:800px) { .syss-kizomba-promo { grid-template-columns:1fr; gap:30px; padding:30px; } .syss-kizomba-word { font-size:42px; } }
@media(max-width:640px) { body .syss-kizomba-promo h2 { font-size:34px; } .syss-kizomba-promo { padding:26px 22px; } .syss-home-actions .syss-button { width:100%; min-width:0; } .syss-path-card { padding:28px 22px; } }
body .syss-home-participate > .fusion-builder-row { align-items:stretch; }
body .syss-path-card > p:empty { display:none; }
body .syss-path-card > p:last-child { width:100%; margin:auto 0 0; padding-top:8px; }
body .syss-path-card > p:last-child .syss-button { width:100%; }
@media(max-width:640px) {
 body.home .syss-editorial-section { padding-left:30px!important; padding-right:30px!important; }
 body.home .syss-path-card .syss-button { font-size:14px; }
}
/* Typographic cover for a new course before a dedicated photograph is available. */
.syss-course-card__image--type { display:flex; align-items:center; justify-content:center; padding:24px; background:linear-gradient(135deg,#2b1117,#662330); }
.syss-course-card__image--type span { color:#f8dfcc; font-size:clamp(26px,3vw,42px); font-weight:700; letter-spacing:.06em; text-transform:uppercase; text-align:center; }
