/*
Theme Name: Kreiskultur 2026
Template: twentyseventeen
Description: Vereins-Design im Stil der Mitgliederdatenbank – Regenbogenfarben, weiße Kopfleiste, helle Karten. Child-Theme von Twenty Seventeen; zum Zurückschalten einfach wieder „Twenty Seventeen“ aktivieren.
Author: Kreiskultur e.V.
Version: 1.0.0
Text Domain: kreiskultur-2026
*/

:root {
	--kkv-blau: #1f5673;
	--kkv-blau-d: #163f55;
	--kkv-terra: #c8553d;
	--kkv-senf: #e6b422;
	--kkv-gruen: #9fae4a;
	--kkv-tuerkis: #5fa8a3;
	--kkv-ink: #22303a;
	--kkv-muted: #6b7780;
	--kkv-line: #dfe5e8;
	--kkv-bg: #f6f4ef;
	--kkv-radius: 12px;
}

/* ---------- Grundlagen ---------- */
body.kkv-theme,
.kkv-theme .site-content-contain {
	background: var(--kkv-bg);
	color: var(--kkv-ink);
}
.kkv-theme .site-content-contain { border: 0; }
.kkv-theme a { color: var(--kkv-blau); }
.kkv-theme a:hover, .kkv-theme a:focus { color: var(--kkv-terra); }
.kkv-theme .entry-content a,
.kkv-theme .entry-summary a,
.kkv-theme .comment-content a,
.kkv-theme .widget a,
.kkv-theme .site-footer .widget-area a {
	color: var(--kkv-blau);
	box-shadow: inset 0 -1px 0 rgba(31, 86, 115, .35);
}
.kkv-theme .entry-content a:hover,
.kkv-theme .entry-content a:focus,
.kkv-theme .widget a:hover,
.kkv-theme .site-footer .widget-area a:hover {
	color: var(--kkv-terra);
	box-shadow: inset 0 -2px 0 var(--kkv-terra);
}
.kkv-theme h1, .kkv-theme h2, .kkv-theme h3, .kkv-theme h4 { color: var(--kkv-ink); }
.kkv-theme .entry-content h2 { color: var(--kkv-blau-d); }
.kkv-theme .entry-content h3 { color: var(--kkv-blau); }
.kkv-theme hr { background-color: var(--kkv-line); }
.kkv-theme ::selection { background: rgba(230, 180, 34, .35); }

/* ---------- Kopfleiste ---------- */
.kkv-theme .kkv-header { background: transparent; position: relative; z-index: 10; }
.kkv-bar { background: #fff; box-shadow: 0 1px 8px rgba(0, 0, 0, .06); }
.kkv-bar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding-top: 12px;
	padding-bottom: 12px;
	max-width: 1200px;
}
.kkv-theme .kkv-brand {
	display: flex;
	align-items: center;
	gap: 14px;
	text-decoration: none;
	color: var(--kkv-ink);
	box-shadow: none;
	flex: 0 0 auto;
}
.kkv-brand img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; display: block; }
.kkv-brand-text strong {
	display: block;
	font-size: 1.15rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	line-height: 1.2;
}
.kkv-brand-text small {
	display: block;
	color: var(--kkv-muted);
	font-size: .8rem;
	line-height: 1.35;
	max-width: 230px;
}
.kkv-theme .kkv-brand:hover strong { color: var(--kkv-blau); }

/* Navigation */
.kkv-theme .navigation-top {
	position: static !important;
	background: transparent;
	border: 0;
	font-size: 15px;
	width: auto;
	z-index: auto;
}
.kkv-theme .navigation-top .main-navigation { width: auto; }
.kkv-theme .menu-scroll-down { display: none !important; }
.kkv-theme .site-navigation-fixed.navigation-top { position: static !important; }

@media screen and (min-width: 48em) {
	.kkv-theme .navigation-top { flex: 1 1 auto; display: flex; justify-content: flex-end; }
	.kkv-theme .main-navigation > div > ul { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0; }
	.kkv-theme .main-navigation a {
		padding: 7px 10px;
		border-radius: 8px;
		color: var(--kkv-ink);
		font-weight: 600;
		font-size: 14px;
	}
	.kkv-theme .main-navigation a:hover,
	.kkv-theme .main-navigation a:focus { background: var(--kkv-bg); color: var(--kkv-blau); }
	.kkv-theme .main-navigation li.current-menu-item > a,
	.kkv-theme .main-navigation li.current-page-ancestor > a,
	.kkv-theme .main-navigation li.current_page_item > a { background: var(--kkv-blau); color: #fff; }
	.kkv-theme .main-navigation ul ul { border-radius: 10px; overflow: hidden; border-color: var(--kkv-line); }
	.kkv-theme .main-navigation ul ul a { border-radius: 0; }
}

@media screen and (max-width: 47.9375em) {
	.kkv-bar-inner { flex-wrap: wrap; gap: 8px; padding-left: 16px; padding-right: 16px; }
	.kkv-theme .kkv-brand { gap: 10px; flex: 1 1 auto; min-width: 0; }
	.kkv-brand img { width: 44px; height: 44px; }
	.kkv-brand-text strong { font-size: .95rem; letter-spacing: .05em; }
	.kkv-theme .navigation-top { margin-left: auto; }
	.kkv-theme .site-main > article:not(.twentyseventeen-panel),
	.kkv-theme .twentyseventeen-panel .panel-content { padding: 22px 18px; }
	.kkv-brand-text small { display: none; }
	.kkv-theme .navigation-top { flex: 0 0 auto; padding: 0; }
	.kkv-theme .menu-toggle {
		margin: 0;
		padding: 8px 12px;
		border-radius: 8px;
		background: var(--kkv-bg);
		color: var(--kkv-ink);
		font-weight: 700;
	}
	.kkv-theme .main-navigation.toggled-on { position: static; }
	.kkv-theme .main-navigation > div > ul { background: #fff; }
	.kkv-theme .toggled-on .menu,
	.kkv-theme .toggled-on > div > ul { margin-top: 8px; }
	.kkv-theme .navigation-top:has(.toggled-on) { flex: 1 1 100%; }
	.kkv-theme .main-navigation li { border-bottom-color: var(--kkv-line); }
	.kkv-theme .main-navigation a { color: var(--kkv-ink); }
	.kkv-theme .main-navigation li.current-menu-item > a { color: var(--kkv-blau); font-weight: 800; }
}

/* „Mitglied werden“-Störer unter die Kopfleiste setzen */
@media screen and (min-width: 901px) {
	.kkv-theme .kkv-member-stoerer { top: 120px !important; }
}

/* Hauptmenü in Regenbogenfarben (bis 8 Punkte) */
.kkv-theme #top-menu > li { --kkv-c: var(--kkv-blau); }
.kkv-theme #top-menu > li:nth-child(8n+1) { --kkv-c: #c8553d; }
.kkv-theme #top-menu > li:nth-child(8n+2) { --kkv-c: #e0892f; }
.kkv-theme #top-menu > li:nth-child(8n+3) { --kkv-c: #d9a81c; }
.kkv-theme #top-menu > li:nth-child(8n+4) { --kkv-c: #8fa03c; }
.kkv-theme #top-menu > li:nth-child(8n+5) { --kkv-c: #4f9c97; }
.kkv-theme #top-menu > li:nth-child(8n+6) { --kkv-c: #1f5673; }
.kkv-theme #top-menu > li:nth-child(8n+7) { --kkv-c: #7b5ea7; }
.kkv-theme #top-menu > li:nth-child(8n+8) { --kkv-c: #c45c8a; }
@media screen and (min-width: 48em) {
	.kkv-theme #top-menu > li > a { box-shadow: inset 0 -3px 0 var(--kkv-c); border-radius: 6px 6px 0 0; }
	.kkv-theme #top-menu > li > a:hover,
	.kkv-theme #top-menu > li > a:focus { background: color-mix(in srgb, var(--kkv-c) 14%, #fff); color: var(--kkv-ink); }
	.kkv-theme #top-menu > li.current-menu-item > a,
	.kkv-theme #top-menu > li.current-page-ancestor > a,
	.kkv-theme #top-menu > li.current_page_item > a { background: var(--kkv-c); color: #fff; box-shadow: none; border-radius: 6px; }
}
@media screen and (max-width: 47.9375em) {
	.kkv-theme #top-menu > li > a { border-left: 5px solid var(--kkv-c); padding-left: 12px; }
	.kkv-theme #top-menu > li.current-menu-item > a { color: var(--kkv-c); }
}

/* Regenbogen-Streifen */
.kkv-stripe { display: flex; height: 6px; }
.kkv-stripe i { flex: 1; }
.kkv-stripe i:nth-child(1) { background: var(--kkv-senf); }
.kkv-stripe i:nth-child(2) { background: var(--kkv-terra); }
.kkv-stripe i:nth-child(3) { background: var(--kkv-tuerkis); }
.kkv-stripe i:nth-child(4) { background: var(--kkv-blau); }
.kkv-stripe i:nth-child(5) { background: var(--kkv-gruen); }

/* Startseiten-Bild */
.kkv-hero { position: relative; background: var(--kkv-ink); }
.kkv-hero img {
	display: block;
	width: 100%;
	height: 56vh;
	min-height: 280px;
	max-height: 620px;
	object-fit: cover;
	object-position: center 55%;
}
.kkv-hero-text {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 60px 0 26px;
	background: linear-gradient(to top, rgba(22, 32, 40, .7), rgba(22, 32, 40, 0));
}
.kkv-hero-text p {
	margin: 0;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.3;
	max-width: 760px;
	text-shadow: 0 1px 8px rgba(0, 0, 0, .35);
}
.kkv-hero-small img { height: 24vh; min-height: 150px; max-height: 260px; object-position: center 38%; }
@media screen and (max-width: 47.9375em) {
	.kkv-hero img { height: 38vh; min-height: 200px; }
	.kkv-hero-small img { height: 18vh; min-height: 110px; }
	.kkv-hero-text p { font-size: 1.15rem; }
}

/* Großes Beitragsbild auf Einzelseiten etwas flacher */
.kkv-theme .single-featured-image-header { background: var(--kkv-ink); border: 0; }
.kkv-theme .single-featured-image-header img { max-height: 460px; object-fit: cover; width: 100%; }

/* ---------- Inhalt als Karte ---------- */
.kkv-theme .site-content { padding-top: 2.2em; }
.kkv-theme .site-main > article:not(.twentyseventeen-panel),
.kkv-theme.blog .site-main > article,
.kkv-theme.archive .site-main > article,
.kkv-theme.search .site-main > article,
.kkv-theme .twentyseventeen-panel .panel-content {
	background: #fff;
	border: 1px solid var(--kkv-line);
	border-radius: var(--kkv-radius);
	box-shadow: 0 1px 4px rgba(0, 0, 0, .03);
	padding: 28px 30px;
	margin-bottom: 2em;
	display: flow-root;
}
.kkv-theme .twentyseventeen-panel .panel-content { padding: 36px 30px; }
.kkv-theme .twentyseventeen-panel { background: transparent; }
.kkv-theme .twentyseventeen-panel .panel-content .wrap { padding: 0; }
.kkv-theme .twentyseventeen-panel { margin-bottom: 0; }
.kkv-theme.twentyseventeen-front-page .site-content { padding: 2.2em 0 0; }
.kkv-theme .panel-content { padding-top: 0; }

/* Seitentitel mit Farbleiste */
.kkv-theme .entry-header .entry-title,
.kkv-theme .page .panel-content .entry-title,
.kkv-theme.page-two-column .panel-content .entry-title,
.kkv-theme .page-header .page-title {
	font-size: 1.05rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--kkv-blau-d);
	padding-bottom: 12px;
	margin-bottom: 1.2em;
	background: linear-gradient(90deg, var(--kkv-senf) 0 20%, var(--kkv-terra) 20% 40%, var(--kkv-tuerkis) 40% 60%, var(--kkv-blau) 60% 80%, var(--kkv-gruen) 80% 100%) left bottom / 120px 4px no-repeat;
}
.kkv-theme.single-post .entry-title,
.kkv-theme.single-event .entry-title {
	font-size: 1.6rem;
	letter-spacing: 0;
	text-transform: none;
	color: var(--kkv-ink);
}
.kkv-theme .entry-header .edit-link { font-size: .8rem; }
.kkv-theme .entry-meta, .kkv-theme .entry-footer { color: var(--kkv-muted); }

/* Bilder */
.kkv-theme .entry-content img, .kkv-theme .wp-caption img { border-radius: 8px; }
.kkv-theme .wp-caption-text { color: var(--kkv-muted); }

/* ---------- Buttons & Formulare ---------- */
.kkv-theme button:not(.menu-toggle):not(.dropdown-toggle):not(.kkv-nl-toggle):not(.search-submit),
.kkv-theme input[type="submit"],
.kkv-theme input[type="button"],
.kkv-theme .wp-block-button__link,
.kkv-theme .button {
	background: var(--kkv-blau);
	color: #fff;
	border: 0;
	border-radius: 8px;
	padding: .8em 1.4em;
	font-weight: 700;
	box-shadow: none;
}
.kkv-theme button:not(.menu-toggle):not(.dropdown-toggle):not(.kkv-nl-toggle):not(.search-submit):hover,
.kkv-theme input[type="submit"]:hover,
.kkv-theme .wp-block-button__link:hover,
.kkv-theme .button:hover { background: var(--kkv-blau-d); color: #fff; }
.kkv-theme input[type="text"], .kkv-theme input[type="email"], .kkv-theme input[type="url"],
.kkv-theme input[type="password"], .kkv-theme input[type="search"], .kkv-theme input[type="number"],
.kkv-theme input[type="tel"], .kkv-theme input[type="date"], .kkv-theme select, .kkv-theme textarea {
	border: 1px solid #c5cfd4;
	border-radius: 8px;
	background: #fff;
	color: var(--kkv-ink);
}
.kkv-theme input:focus, .kkv-theme select:focus, .kkv-theme textarea:focus {
	outline: 3px solid rgba(95, 168, 163, .35);
	border-color: var(--kkv-tuerkis);
}

/* ---------- Seitenleiste ---------- */
.kkv-theme #secondary { padding-top: 0; }
.kkv-theme #secondary .widget {
	background: #fff;
	border: 1px solid var(--kkv-line);
	border-top: 4px solid var(--kkv-tuerkis);
	border-radius: var(--kkv-radius);
	padding: 18px 20px;
	margin-bottom: 1.5em;
}
.kkv-theme #secondary .widget:nth-child(4n+2) { border-top-color: var(--kkv-senf); }
.kkv-theme #secondary .widget:nth-child(4n+3) { border-top-color: var(--kkv-terra); }
.kkv-theme #secondary .widget:nth-child(4n+4) { border-top-color: var(--kkv-blau); }
.kkv-theme .widget-title { color: var(--kkv-blau-d); letter-spacing: .1em; }

/* ---------- Fußbereich ---------- */
.kkv-theme .site-footer {
	background: var(--kkv-blau-d);
	color: rgba(255, 255, 255, .85);
	border-top: 0;
	margin-top: 1em;
	position: relative;
}
.kkv-theme .site-footer::before {
	content: "";
	position: absolute;
	left: 0; right: 0; top: 0;
	height: 6px;
	background: linear-gradient(90deg, var(--kkv-senf) 0 20%, var(--kkv-terra) 20% 40%, var(--kkv-tuerkis) 40% 60%, var(--kkv-blau) 60% 80%, var(--kkv-gruen) 80% 100%);
}
.kkv-theme .site-footer .wrap { padding-top: 2.4em; }
.kkv-theme .site-footer a,
.kkv-theme .site-footer .widget-area a,
.kkv-theme .site-info a { color: #fff; box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .4); }
.kkv-theme .site-footer a:hover,
.kkv-theme .site-footer .widget-area a:hover,
.kkv-theme .site-info a:hover { color: var(--kkv-senf); box-shadow: inset 0 -2px 0 var(--kkv-senf); }
.kkv-theme .site-footer .widget-title { color: #fff; }
.kkv-theme .site-info { color: rgba(255, 255, 255, .7); }
.kkv-theme .social-navigation a { background: rgba(255, 255, 255, .15); color: #fff; box-shadow: none; }
.kkv-theme .social-navigation a:hover { background: var(--kkv-terra); }

/* ---------- Veranstaltungen (Events Manager) in Vereinsfarben ---------- */
.kkv-theme .em .kkv-ev.kkv-own a.kkv-ev-date { background: var(--kkv-terra) !important; }
.kkv-theme .em .kkv-ev a.kkv-ev-date { background: #fff !important; border: 1px solid var(--kkv-line) !important; }
.kkv-theme .em h2.kkv-month { color: var(--kkv-blau-d) !important; border-bottom-color: var(--kkv-blau-d) !important; }
.kkv-theme .em h3.kkv-ev-title a:hover { color: var(--kkv-terra) !important; }
.kkv-theme .em .kkv-tag { color: var(--kkv-terra) !important; border-color: var(--kkv-terra) !important; }
.kkv-theme .em .kkv-single.kkv-own .kkv-facts { border-left-color: var(--kkv-terra) !important; }
.kkv-theme .em .kkv-facts { background: #fff !important; border: 1px solid var(--kkv-line) !important; border-left: 4px solid var(--kkv-blau) !important; }
.kkv-theme .em .kkv-single-body a { color: var(--kkv-blau) !important; }
.kkv-theme .em .kkv-back a:hover, .kkv-theme .em .kkv-fact-v a:hover { color: var(--kkv-terra) !important; }


/* ---------- Kopfbild auf Unterseiten flacher ---------- */
.kkv-theme .kkv-hero-sub img,
.kkv-hero.kkv-hero-sub img { height: 26vh !important; min-height: 170px; max-height: 280px; width: 100%; object-fit: cover; }
@media screen and (max-width: 47.9375em) {
	.kkv-theme .kkv-hero-sub img,
	.kkv-hero.kkv-hero-sub img { height: 18vh !important; min-height: 120px; }
}


/* ---------- Seitenüberschrift in der Farbe des aktiven Menüpunkts ---------- */
.kkv-theme.kkv-mc-1 { --kkv-pc: #c8553d; }
.kkv-theme.kkv-mc-2 { --kkv-pc: #e0892f; }
.kkv-theme.kkv-mc-3 { --kkv-pc: #d9a81c; }
.kkv-theme.kkv-mc-4 { --kkv-pc: #8fa03c; }
.kkv-theme.kkv-mc-5 { --kkv-pc: #4f9c97; }
.kkv-theme.kkv-mc-6 { --kkv-pc: #1f5673; }
.kkv-theme.kkv-mc-7 { --kkv-pc: #7b5ea7; }
.kkv-theme.kkv-mc-8 { --kkv-pc: #c45c8a; }
.kkv-theme[class*="kkv-mc-"] .entry-header .entry-title,
.kkv-theme[class*="kkv-mc-"] .page .panel-content .entry-title,
.kkv-theme[class*="kkv-mc-"].page-two-column .panel-content .entry-title {
	display: inline-block;
	padding-bottom: 8px;
	background: linear-gradient(var(--kkv-pc), var(--kkv-pc)) left bottom / 100% 6px no-repeat;
}


/* ---------- Veranstaltung: kompakter Infokasten ---------- */
.kkv-theme .em .kkv-top { gap: 14px !important; margin-bottom: 1.4em !important; }
.kkv-theme .em .kkv-facts { padding: 8px 14px !important; border-radius: 0 8px 8px 0 !important; }
.kkv-theme .em .kkv-org { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--kkv-terra); padding: 2px 0 4px; }
.kkv-theme .em .kkv-fact { gap: 8px !important; padding: 3px 0 !important; font-size: 14px !important; line-height: 1.4 !important; }
.kkv-theme .em .kkv-fact + .kkv-fact { border-top: 0 !important; }
.kkv-theme .em .kkv-fact-l { flex: 0 0 66px !important; font-size: 10.5px !important; padding-top: 2px !important; }
.kkv-theme .em .kkv-fact-v a.kkv-map { color: var(--kkv-blau) !important; text-decoration: none !important; border-bottom: 1px dotted currentColor; white-space: normal; }
.kkv-theme .em .kkv-fact-v a.kkv-map:hover { color: var(--kkv-terra) !important; }
@media (max-width: 560px) { .kkv-theme .em .kkv-fact-l { flex-basis: 62px !important; } }


/* ---------- Veranstaltung: Kalender-Icons ---------- */
.kkv-theme .em .kkv-cals { display: flex !important; flex-wrap: wrap; gap: 6px; }
.kkv-theme .em .kkv-fact-v a.kkv-cal { display: inline-flex; align-items: center; gap: 5px; padding: 2px 9px 2px 6px; border: 1px solid var(--kkv-line); border-radius: 999px; background: #fff; font-size: 12.5px; line-height: 1.5; color: var(--kkv-blau) !important; text-decoration: none !important; }
.kkv-theme .em .kkv-fact-v a.kkv-cal::before { content: ""; width: 16px; height: 16px; flex: 0 0 16px; background: currentColor; -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.kkv-theme .em .kkv-cal-ics { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4M12 13v5M9.5 15.5 12 18l2.5-2.5'/%3E%3C/svg%3E"); }
.kkv-theme .em .kkv-cal-g { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4M12 12.5v6M9 15.5h6'/%3E%3C/svg%3E"); }
.kkv-theme .em .kkv-fact-v a.kkv-cal:hover { background: var(--kkv-blau); border-color: var(--kkv-blau); color: #fff !important; }
.kkv-theme .em .kkv-cal-g:hover { background: var(--kkv-gruen) !important; border-color: var(--kkv-gruen) !important; }


/* ---------- Veranstaltung: volle Breite (keine Seitenleiste) ---------- */
@media screen and (min-width: 48em) {
	.kkv-theme.single-event #primary { float: none !important; width: 100% !important; }
}
