/*
Theme Name: Ollie
Theme URI: olliewp.com
Author: Mike McAlister
Author URI: mikemcalister.com
Description: Launch a blazing-fast, pixel-perfect website with the Ollie WordPress block theme! Ollie features over 50 beautiful pattern designs, 7 full-page pattern layouts, and a fully-customizable design system with Global Styles. Ollie integrates seamlessly with all of the powerful new WordPress editor features, giving you the most lightweight and powerful website builder on the planet — no expensive page builder plugin required! ✶ Full demo: https://demo.olliewp.com ✶
Tags: blog, portfolio, entertainment, grid-layout, one-column, two-columns, three-columns, four-columns, block-patterns, block-styles, custom-logo, custom-menu, editor-style, featured-images, full-site-editing, full-width-template, rtl-language-support, style-variations, template-editing, theme-options, translation-ready, wide-blocks
Tested up to: 7.1
Requires PHP: 7.3
Version: 1.6.5
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ollie

Ollie WordPress Theme, (C) 2026 Mike McAlister.
Ollie is distributed under the terms of the GNU GPL.
*/

/* CSS Reset
---------------------------------------------------------------------------- */

*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

b,
strong {
	font-weight: var(--wp--custom--font-weight--semi-bold);
}

ol,
ul {
	padding: 0;
}

ol:where(:not([class*="wp-block"])),
ol:where(.wp-block-list),
ul:where(:not([class*="wp-block"])),
ul:where(.wp-block-list) {
	padding-inline-start: var(--wp--preset--spacing--medium);
}

div[class*="wp-block-"] figcaption {
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--x-small);
	margin-bottom: 0;
	margin-top: 20px;
	text-align: center;
}

img,
figure {
	max-width: 100%;
	height: auto;
}

/* Temporary fix for text-decoration-thickness in Firefox */
@-moz-document url-prefix() {
	a {
		text-decoration-thickness: .1rem !important;
	}
}

/* Standardize form styling
--------------------------------------------- */

input,
button,
textarea,
select {
	font: inherit;
}

input[type="button"],
input[type="email"],
input[type="search"],
input[type="submit"],
input[type="text"],
textarea {
	-webkit-appearance: none;
	appearance: none;
}

input:not([type="submit"]):not([type="radio"]),
select,
textarea,
.wp-block-post-comments-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.wp-block-post-comments-form textarea {
	color: var(--wp--preset--color--main);
	border-radius: 5px;
	border: solid 1px color-mix(in srgb, var(--wp--preset--color--tertiary) 100%, var(--wp--preset--color--main) 20%);
	padding: .5em 1em;
	font-size: var(--wp--preset--font-size--small);
	background-color: #fff;
	box-shadow: 
		0 1px 2px rgba(0, 0, 0, 0.02),
		0 0.5px 1px rgba(0, 0, 0, 0.04);
}

input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline-color: var(--wp--preset--color--main);
	outline-offset: 1px;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

select {
	-webkit-appearance: none;
	appearance: none;
	background: var(--wp--preset--color--base) url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItY2hldnJvbi1kb3duIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSI+PC9wb2x5bGluZT48L3N2Zz4=) no-repeat;
    background-size: 16px;
    background-position: calc(100% - 12px) 50%;
	padding-right: 2.2em;
}

label {
	width: 100%;
	display: block;
}

::placeholder {
	color: var(--wp--preset--color--secondary);
	opacity: 0.75;
}

/* Helper styles
---------------------------------------------------------------------------- */

a.more-link {
	display: block;
}

/* Inline code */
*:not(.wp-block-code) > code {
	background-color: var(--wp--preset--color--tertiary);
	padding: 3px 5px;
	position: relative;
	border-radius: 3px;
}

.wp-block-categories {
	position: relative;
}

/* Remove margin on term description on archive pages */
.wp-block-term-description p:last-child {
	margin-bottom: 0;
}

/* Remove last separator on post list */
.remove-border-and-padding .wp-block-post-template li:last-child .wp-block-separator {
	display: none;
}

/* Hide post meta div if no tags assigned */
.single .wp-block-group:has(> .post-meta:empty) {
	display: none;
}

.wp-block-group:empty:has(+ .comment-respond) {
	display: none;
}

.row-logos > figure {
	flex-shrink: 1 !important;
}

/* Sticky header */

body:not(.wp-admin) header:has(>.is-position-sticky) {
	position: sticky;
	top: calc( 0px + var( --wp-admin--admin-bar--height, 0px ) );
	z-index: 100;
}

/* Account for admin bar on mobile */

@media (max-width: 600px) {
	header:has(>.is-position-sticky) {
		top: 0;
	}
}

/* Partial sticky header: when one row inside the header is sticky, dissolve
   the header wrappers so that row can stick on its own while rows above
   scroll away. Wrapper styling won't render while dissolved. */

body:not(.wp-admin) header.wp-block-template-part:has(> .wp-block-group > .is-position-sticky):not(:has(> .is-position-sticky)),
body:not(.wp-admin) header.wp-block-template-part:has(> .wp-block-group > .is-position-sticky):not(:has(> .is-position-sticky)) > .wp-block-group {
	display: contents;
}

/* Cancel alignfull negative margins — the dissolved wrapper's compensating
   padding no longer renders. */

body:not(.wp-admin) header.wp-block-template-part:has(> .wp-block-group > .is-position-sticky):not(:has(> .is-position-sticky)) > .wp-block-group > .alignfull {
	margin-left: 0;
	margin-right: 0;
}

body:not(.wp-admin) header.wp-block-template-part:has(> .wp-block-group > .is-position-sticky) .is-position-sticky {
	z-index: 100;
}

/* Mobile helper classes */

@media (max-width: 781px) {
	.ollie-hide-on-mobile {
		display: none;
	}

	.ollie-unstick-mobile {
		position: static;
	}

	header:has(>.ollie-unstick-mobile) {
		position: static;
	}
}

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

.wp-block-table table {
	background: var(--wp--preset--color--base);
	border-radius: 5px;
	border: solid 1px var(--wp--preset--color--border-light);
	font-size: var(--wp--preset--font-size--x-small);
}
.wp-block-table.is-style-stripes {
	border-bottom: none;
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background-color: var(--wp--preset--color--tertiary);
}

.wp-block-table td, 
.wp-block-table th,
.wp-block-table thead {
	border: none;
	border-bottom: solid 1px color-mix(in srgb, var(--wp--preset--color--border-light) 50%, var(--wp--preset--color--base) 5%);
}

.wp-block-table th,
.wp-block-table tfoot {
	text-align: left;
	background-color: color-mix(in srgb, var(--wp--preset--color--tertiary) 75%, var(--wp--preset--color--base) 5%);
}

.wp-block-table td, 
.wp-block-table th {
	padding: .8em 1em;
}

.wp-block-table tfoot {
	border-top: solid 1px var(--wp--preset--color--border-light);
}

.wp-block-table tfoot td {
	border-bottom: none;
}

/*
Theme Name: KIBiS Celle – Ollie Child
Theme URI: https://kibis-celle.de/
Description: Update-sichere KIBiS-Anpassungen auf Basis des Ollie Block Themes.
Author: KIBiS Celle
Template: ollie
Version: 1.0.0
Text Domain: kibis-ollie-child
*/


:root {
	--kibis-dark: #08075f;
	--kibis-background: #111166;
	--kibis-card: #1a287a;
	--kibis-light-blue: #66c7e8;
	--kibis-red: #d31335;
	--kibis-red-hover: #b80f2d;
	--kibis-white: #ffffff;
	--kibis-footer-link: #d9d9e8;
	--kibis-divider: #29296f;
	--kibis-radius: 14px;
}

body {
	margin: 0;
}

.site-header,
.site-footer,
.kibis-site-header,
.kibis-site-footer {
	margin-block-start: 0;
}

.kibis-site-main {
	min-height: 20rem;
	padding-block: 3rem;
}

/* Header */

.kibis-site-header {
	background: var(--kibis-dark);
	border-bottom: 2px solid var(--kibis-red);
	color: var(--kibis-white);
	min-height: 90px;
	padding-block: 14px;
	padding-inline: 24px;
	position: relative;
	z-index: 100;
}

.kibis-header__inner {
	align-items: center;
	display: flex;
	gap: 30px;
	justify-content: space-between;
	margin-inline: auto;
	max-width: 1280px;
	min-height: 88px;
	position: relative;
	width: 100%;
}

.kibis-header__logo {
	flex: 0 0 auto;
	margin: 0;
}

.kibis-header__logo a {
	display: block;
	line-height: 0;
}

.kibis-header__logo img {
	display: block;
	height: auto;
	max-width: none;
	width: 170px;
}

.kibis-primary-nav {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	position: static;
}

/* Centrally managed classic WordPress menu in the header. */
.kibis-primary-nav--classic {
	display: flex;
	justify-content: flex-end;
}

.kibis-primary-menu,
.kibis-primary-menu .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.kibis-primary-menu {
	align-items: center;
	display: flex;
}

.kibis-primary-menu li {
	position: relative;
}

.kibis-primary-menu a {
	color: var(--kibis-white);
	display: block;
	padding: 10px 9px;
	position: relative;
	text-decoration: none;
}

.kibis-primary-menu > li > a::after {
	background: var(--kibis-red);
	bottom: 1px;
	content: "";
	height: 2px;
	left: 9px;
	position: absolute;
	right: 9px;
	scale: 0 1;
	transform-origin: center;
	transition: scale 160ms ease;
}

.kibis-primary-menu > li:hover > a::after,
.kibis-primary-menu > .current-menu-item > a::after,
.kibis-primary-menu > .current-menu-ancestor > a::after {
	scale: 1 1;
}

.kibis-primary-menu .sub-menu {
	background: var(--kibis-dark);
	display: none;
	font-size: 15px;
	font-weight: 400;
	left: 0;
	min-width: 260px;
	padding-block: 6px;
	position: absolute;
	top: 100%;
	z-index: 10;
}

.kibis-primary-menu li:hover > .sub-menu,
.kibis-primary-menu li:focus-within > .sub-menu,
.kibis-primary-menu li.is-submenu-open > .sub-menu {
	display: block;
}

.kibis-primary-menu .sub-menu a {
	padding: 12px 18px;
}

.kibis-primary-menu .sub-menu a:hover,
.kibis-primary-menu .sub-menu a:focus-visible {
	background: var(--kibis-card);
}

.kibis-primary-menu .sub-menu .sub-menu {
	left: 100%;
	top: -6px;
}

.kibis-primary-nav__toggle,
.kibis-primary-nav__submenu-toggle {
	background: transparent;
	border: 0;
	color: var(--kibis-white);
	cursor: pointer;
}

.kibis-primary-nav__toggle,
.kibis-primary-nav__submenu-toggle {
	display: none;
}

.kibis-primary-nav .wp-block-navigation__container {
	gap: 0;
}

.kibis-primary-nav .wp-block-navigation-item__content {
	color: var(--kibis-white);
	padding: 10px 9px;
	position: relative;
	text-decoration: none !important;
}

.kibis-primary-nav > .wp-block-navigation__responsive-container:not(.is-menu-open) > .wp-block-navigation__responsive-close > .wp-block-navigation__responsive-dialog > .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	background: var(--kibis-red);
	bottom: 1px;
	content: "";
	height: 2px;
	left: 9px;
	position: absolute;
	right: 9px;
	scale: 0 1;
	transform-origin: center;
	transition: scale 160ms ease;
}

.kibis-primary-nav > .wp-block-navigation__responsive-container:not(.is-menu-open) > .wp-block-navigation__responsive-close > .wp-block-navigation__responsive-dialog > .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.kibis-primary-nav > .wp-block-navigation__responsive-container:not(.is-menu-open) > .wp-block-navigation__responsive-close > .wp-block-navigation__responsive-dialog > .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content::after,
.kibis-primary-nav > .wp-block-navigation__responsive-container:not(.is-menu-open) > .wp-block-navigation__responsive-close > .wp-block-navigation__responsive-dialog > .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-item__content::after {
	scale: 1 1;
}

.kibis-primary-nav .wp-block-navigation__submenu-icon {
	color: var(--kibis-white);
	margin-left: 6px;
}

.kibis-primary-nav .wp-block-navigation-submenu__toggle svg {
	height: 12px !important;
	width: 12px !important;
}

.kibis-primary-nav .wp-block-navigation__submenu-container {
	background: var(--kibis-dark) !important;
	border: 0;
	color: var(--kibis-white) !important;
	font-size: 15px;
	font-weight: 400;
	min-width: 300px !important;
	padding-block: 6px;
}

.kibis-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item {
	background: var(--kibis-dark) !important;
	color: var(--kibis-white) !important;
	margin: 0 !important;
	padding: 0 !important;
}

.kibis-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	background: transparent !important;
	color: var(--kibis-white) !important;
	padding: 12px 18px !important;
	width: 100%;
}

.kibis-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.kibis-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	background: var(--kibis-card) !important;
	color: var(--kibis-white) !important;
	text-decoration: none !important;
}

@media (min-width: 1025px) {
	.kibis-primary-nav .wp-block-navigation__submenu-container > li.wp-block-navigation-submenu {
		align-items: stretch;
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 44px;
	}

	.kibis-primary-nav .wp-block-navigation__submenu-container > li.wp-block-navigation-submenu > .wp-block-navigation-item__content {
		grid-column: 1 / 3;
		grid-row: 1;
		padding-right: 52px !important;
	}

	.kibis-primary-nav .wp-block-navigation__submenu-container > li.wp-block-navigation-submenu > .wp-block-navigation-submenu__toggle {
		align-items: center;
		align-self: stretch;
		background: transparent !important;
		border: 0 !important;
		display: flex;
		grid-column: 2;
		grid-row: 1;
		height: auto !important;
		justify-content: center;
		margin: 0 !important;
		min-height: 44px;
		padding: 0 !important;
		width: 44px;
		z-index: 1;
	}

	.kibis-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
		left: 100% !important;
		right: auto !important;
		top: -6px !important;
	}
}

.kibis-site-header a:focus-visible,
.kibis-site-header button:focus-visible {
	border-radius: 3px;
	outline: 3px solid var(--kibis-white);
	outline-offset: 3px;
}

.kibis-primary-nav .wp-block-navigation__responsive-container-open,
.kibis-primary-nav .wp-block-navigation__responsive-container-close {
	background: transparent;
	border: 0;
	color: var(--kibis-white);
	padding: 8px;
}

.kibis-primary-nav .wp-block-navigation__responsive-container-open svg,
.kibis-primary-nav .wp-block-navigation__responsive-container-close svg {
	height: 28px;
	width: 28px;
}

/* Footer */

.kibis-site-footer {
	background: var(--kibis-dark);
	border-top: 2px solid var(--kibis-red);
	color: var(--kibis-white);
	font-size: 15px;
	line-height: 1.5;
	padding: 40px 24px 20px;
}

.kibis-footer__inner {
	margin-inline: auto;
	max-width: 1200px;
}

.kibis-footer__inner :where(h2, p, figure, ul) {
	margin-block-start: 0;
}

.kibis-footer__inner a {
	color: var(--kibis-white);
}

.kibis-footer__cards {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kibis-footer__cards > *,
.kibis-footer__navigation > *,
.kibis-footer__closing > * {
	margin-block: 0;
}

.kibis-footer-card {
	background: var(--kibis-background);
	border: 1px solid var(--kibis-divider);
	min-height: 166px;
	padding: 24px;
}

.kibis-footer-card--phone,
.kibis-footer-card--member {
	align-items: center;
	display: flex;
	gap: 20px;
}

.kibis-footer-card h2,
.kibis-footer-nav-column h2 {
	color: var(--kibis-white);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
	margin-bottom: 10px;
}

.kibis-footer-card p {
	color: var(--kibis-white);
	font-size: 15px;
	line-height: 1.45;
	margin-bottom: 4px;
}

.kibis-footer-card__primary {
	font-size: 20px !important;
	font-weight: 700;
	line-height: 1.15 !important;
}

.kibis-footer-card__primary a {
	text-decoration: none;
}

.kibis-footer-card__icon {
	align-items: center;
	background: var(--kibis-red);
	border-radius: 50%;
	display: inline-flex;
	flex: 0 0 58px;
	height: 58px;
	justify-content: center;
	width: 58px;
}

.kibis-footer-card__icon svg {
	fill: var(--kibis-white);
	height: 28px;
	width: 28px;
}

.kibis-footer-card__member-logo {
	flex: 0 0 70px;
	margin: 0;
}

.kibis-footer-card__member-logo img {
	display: block;
	height: auto;
	width: 70px;
}

.kibis-contact-line {
	min-height: 28px;
	padding-left: 34px;
	position: relative;
}

.kibis-contact-line::before {
	color: var(--kibis-white);
	font-size: 20px;
	left: 0;
	line-height: 1;
	position: absolute;
	top: 1px;
}

.kibis-contact-line--location::before {
	content: "●";
}

.kibis-contact-line--mail::before {
	content: "✉";
}

.kibis-contact-line--web::before {
	content: "◎";
}

.kibis-contact-line a {
	text-decoration: none;
}

.kibis-footer__navigation {
	display: grid;
	gap: 32px;
	grid-template-columns: 0.2fr 0.18fr 0.2fr 0.42fr;
	padding-block: 52px 42px;
}

.kibis-footer-nav-column h2 {
	border-bottom: 2px solid var(--kibis-red);
	padding-bottom: 6px;
}

.kibis-footer-nav {
	font-size: 15px;
	font-weight: 400;
}

.kibis-footer-nav .kibis-footer-menu {
	align-items: flex-start;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}

.kibis-footer-nav .menu-item {
	width: 100%;
}

.kibis-footer-nav .menu-item a {
	color: var(--kibis-white);
	display: block;
	padding-block: 6px;
	text-decoration: none;
	width: 100%;
}

.kibis-footer-nav .menu-item a:hover {
	color: var(--kibis-white);
	text-decoration: underline;
	text-decoration-color: var(--kibis-red);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.kibis-footer-nav-column--about p {
	color: var(--kibis-white);
	margin: 18px 0 0;
}

.kibis-footer__closing {
	align-items: center;
	border-top: 1px solid var(--kibis-divider);
	display: grid;
	gap: 32px;
	grid-template-columns: 1fr auto 1fr;
	padding: 42px 0 26px;
}

.kibis-footer__accessibility {
	justify-self: start;
}

.kibis-footer__accessibility .kibis-ally {
	margin-bottom: 16px;
}

.kibis-footer__accessibility .ally-widget-trigger {
	align-items: center;
	background: url("/wp-content/uploads/kibis-ally-footer-icon.svg") left center / 80px 80px no-repeat;
	color: var(--kibis-white);
	display: flex;
	font-size: 20px;
	font-weight: 700;
	min-height: 80px;
	padding-left: 96px;
	text-decoration: none;
}

.kibis-footer__accessibility > p {
	font-size: 14px;
	margin: 10px 0 0;
}

.kibis-footer__accessibility > p a,
.kibis-footer__cookies a {
	color: var(--kibis-footer-link);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-decoration-skip-ink: none;
	text-underline-offset: 3px;
}

.kibis-footer__socials {
	gap: 12px;
	grid-column: 2;
	justify-self: center;
}

.kibis-footer__socials .wp-social-link {
	transition: background-color 160ms ease, transform 160ms ease;
}

.kibis-footer__socials .wp-social-link:hover {
	background: var(--kibis-red) !important;
	color: var(--kibis-white) !important;
	transform: none;
}

.kibis-footer__copyright {
	color: var(--kibis-white);
	font-size: 14px;
	grid-column: 3;
	justify-self: end;
	margin: 0;
}

.kibis-footer__cookies {
	gap: 12px 28px;
	padding-top: 8px;
}

.kibis-footer__cookies > * {
	margin: 0;
}

.kibis-footer__cookies .rcb-sc-link {
	border-bottom: 1px solid currentColor;
	text-decoration: none;
}

.kibis-footer__cookies > *:not(:last-child)::after {
	color: var(--kibis-footer-link);
	content: "·";
	margin-left: 28px;
}

.kibis-site-footer a:focus-visible,
.kibis-site-footer button:focus-visible {
	border-radius: 3px;
	outline: 3px solid var(--kibis-white);
	outline-offset: 4px;
}

@media (max-width: 1024px) {
	.kibis-site-header {
		padding-inline: 20px;
	}

	.kibis-primary-nav--classic {
		align-items: center;
		position: relative;
	}

	.kibis-primary-nav--classic .kibis-primary-nav__toggle {
		display: block;
		font-size: 28px;
		line-height: 1;
		padding: 8px;
	}

	.kibis-primary-nav--classic .kibis-primary-menu {
		background: var(--kibis-dark);
		display: none;
		left: auto;
		min-width: min(360px, calc(100vw - 30px));
		padding: 8px 0 18px;
		position: absolute;
		right: 0;
		top: calc(100% + 20px);
		width: 100vw;
		z-index: 10;
	}

	.kibis-primary-nav--classic.is-open .kibis-primary-menu {
		display: block;
	}

	.kibis-primary-nav--classic .kibis-primary-menu > li {
		align-items: stretch;
		display: grid;
		grid-template-columns: minmax(0, 1fr) 52px;
	}

	.kibis-primary-nav--classic .kibis-primary-menu > li > a {
		font-size: 18px;
		grid-column: 1 / 3;
		grid-row: 1;
		padding-inline: 52px;
		text-align: center;
	}

	.kibis-primary-nav--classic .kibis-primary-nav__submenu-toggle {
		display: block;
		font-size: 22px;
		grid-column: 2;
		grid-row: 1;
		z-index: 1;
	}

	.kibis-primary-nav--classic .kibis-primary-menu .sub-menu {
		background: var(--kibis-dark);
		grid-column: 1 / 3;
		grid-row: 2;
		min-width: 0;
		padding: 0;
		position: static;
		width: 100%;
	}

	.kibis-primary-nav--classic .kibis-primary-menu .sub-menu a {
		font-size: 16px;
		padding-block: 9px;
		text-align: center;
	}

	.kibis-primary-nav--classic .kibis-primary-menu li:hover > .sub-menu {
		display: none;
	}

	.kibis-primary-nav--classic .kibis-primary-menu li.is-submenu-open > .sub-menu {
		display: block;
	}

	.kibis-header__logo img {
		width: 150px !important;
	}

	.kibis-primary-nav .wp-block-navigation__responsive-container-open {
		display: flex !important;
	}

	.has-modal-open .kibis-primary-nav .wp-block-navigation__responsive-container-open {
		opacity: 0;
		pointer-events: none;
	}

	.kibis-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}

	.kibis-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
		background: var(--kibis-dark) !important;
		bottom: auto;
		color: var(--kibis-white);
		left: 0;
		min-height: 0;
		padding: 8px 0 18px;
		position: absolute;
		right: 0;
		top: 100%;
		width: 100%;
	}

	.kibis-primary-nav .wp-block-navigation__responsive-container-close {
		position: absolute;
		right: 0;
		top: -70px;
		z-index: 2;
	}

	.kibis-primary-nav .wp-block-navigation__responsive-container-content,
	.kibis-primary-nav .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
		align-items: stretch !important;
		gap: 0 !important;
		width: 100%;
	}

	.kibis-primary-nav .wp-block-navigation__responsive-container-content {
		padding-top: 0 !important;
	}

	.kibis-primary-nav .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
		align-items: stretch;
		background: var(--kibis-dark) !important;
		margin: 0 !important;
		padding: 0 !important;
		width: 100%;
	}

	.kibis-primary-nav .wp-block-navigation__responsive-container.is-menu-open li.wp-block-navigation-submenu {
		align-items: stretch;
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 52px;
	}

	.kibis-primary-nav .wp-block-navigation__responsive-container.is-menu-open li.wp-block-navigation-submenu > .wp-block-navigation-item__content {
		grid-column: 1 / 3;
		grid-row: 1;
		padding-inline: 52px !important;
	}

	.kibis-primary-nav .wp-block-navigation__responsive-container.is-menu-open li.wp-block-navigation-submenu > .wp-block-navigation-submenu__toggle {
		align-items: center;
		align-self: stretch;
		background: transparent !important;
		border: 0 !important;
		display: flex;
		grid-column: 2;
		grid-row: 1;
		height: 44px !important;
		justify-content: center;
		justify-self: stretch;
		margin: 0 !important;
		min-height: 44px;
		padding: 0 !important;
		width: 52px;
		z-index: 1;
	}

	.kibis-primary-nav .wp-block-navigation__responsive-container.is-menu-open li.wp-block-navigation-submenu > .wp-block-navigation__submenu-container {
		grid-column: 1 / 3;
		grid-row: 2;
	}

	.kibis-primary-nav .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
		background: transparent !important;
		color: var(--kibis-white) !important;
		font-size: 18px;
		justify-content: center;
		padding: 10px 20px !important;
		text-align: center;
		text-decoration: none !important;
		width: 100%;
	}

	.kibis-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
	.kibis-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible,
	.kibis-primary-nav .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content,
	.kibis-primary-nav .wp-block-navigation__responsive-container.is-menu-open .current-menu-ancestor > .wp-block-navigation-item__content {
		background: var(--kibis-card) !important;
		color: var(--kibis-white) !important;
	}

	.kibis-primary-nav .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
		background: var(--kibis-dark) !important;
		left: auto !important;
		min-width: 100% !important;
		padding: 0;
		position: static !important;
		right: auto !important;
		top: auto !important;
		width: 100% !important;
	}

	.kibis-primary-nav .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		font-size: 16px;
		padding-block: 9px;
	}

	.kibis-primary-nav .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle {
		color: var(--kibis-white) !important;
		justify-content: center;
	}

	.kibis-footer__cards {
		grid-template-columns: 1fr;
	}

	.kibis-footer-card {
		min-height: 0;
	}

	.kibis-footer__navigation {
		grid-template-columns: 1fr 1fr;
	}

	.kibis-footer__accessibility .ally-widget-trigger {
		font-size: 15px;
	}
}

@media (max-width: 767px) {
	.kibis-site-main {
		padding-block: 2.25rem;
	}

	.kibis-site-header {
		min-height: 80px;
		padding-block: 10px;
		padding-inline: 15px;
	}

	.kibis-header__inner {
		min-height: 78px;
	}

	.kibis-header__logo img {
		width: 145px !important;
	}

	.kibis-primary-nav .wp-block-navigation__responsive-container-close {
		right: 0;
		top: -65px;
	}

	.kibis-site-footer {
		padding-inline: 20px;
	}

	.kibis-footer-card--phone,
	.kibis-footer-card--member {
		align-items: center;
		flex-direction: column;
		text-align: center;
	}

	.kibis-footer__navigation {
		grid-template-columns: 1fr;
		padding-block: 42px 34px;
	}

	.kibis-footer__closing {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
	}

	.kibis-footer__accessibility,
	.kibis-footer__copyright {
		justify-self: center;
	}

	.kibis-footer__socials,
	.kibis-footer__copyright {
		grid-column: auto;
	}

	.kibis-footer__accessibility .ally-widget-trigger {
		font-size: 20px;
	}

	.kibis-footer__cookies {
		align-items: center;
		flex-direction: column;
		gap: 12px;
	}

	.kibis-footer__cookies > *:not(:last-child)::after {
		content: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kibis-site-header *,
	.kibis-site-footer * {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
/* KIBiS – Einheitliche Directorist-Rückmeldungen
 * Gilt für Frontend-Formulare, Dashboard, Eintragsansicht und Claim-Prozess.
 */

body .directorist-alert,
body .atbdp-flush-message-item,
body .directorist-contact-message-display,
body #directorist-report-abuse-message-display > *,
body .directorist-form-feedback,
body .directorist-register-error,
body #directorist-claimer__submit-notification.text-success,
body #directorist-claimer__warning-notification.text-warning {
	box-sizing: border-box;
	margin: 0 0 1.25rem;
	padding: 1rem 1.125rem;
	border: 1px solid rgba(102, 199, 232, 0.7);
	border-left: 5px solid var(--kibis-light-blue, #66c7e8);
	border-radius: 8px;
	background: var(--kibis-card, #1a287a);
	color: var(--kibis-white, #ffffff);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.55;
	box-shadow: 0 6px 18px rgba(8, 7, 95, 0.16);
}

body .atbdp-flush-message-container {
	margin: 0 0 1.5rem;
}

body .atbdp-flush-message-container .atbdp-flush-message-item {
	margin-bottom: 0.75rem;
}

body .directorist-alert :is(p, span, strong, a),
body .atbdp-flush-message-item :is(p, span, strong, a),
body .directorist-contact-message-display :is(p, span, strong, a),
body #directorist-report-abuse-message-display :is(p, span, strong, a),
body .directorist-form-feedback :is(p, span, strong, a),
body .directorist-register-error :is(p, span, strong, a) {
	color: inherit;
}

body .directorist-alert a,
body .atbdp-flush-message-item a,
body .directorist-contact-message-display a,
body #directorist-report-abuse-message-display a,
body .directorist-form-feedback a,
body .directorist-register-error a {
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}

body .directorist-alert-success,
body .atbdp-flush-message-item.type-success,
body .atbdp-flush-message-item.type-succes,
body .directorist-contact-message-display.success,
body #directorist-report-abuse-message-display .success {
	border-color: rgba(97, 211, 138, 0.8);
	border-left-color: #61d38a;
	background: var(--kibis-card, #1a287a);
}

body #directorist-claimer__submit-notification.text-success {
	border-color: rgba(97, 211, 138, 0.8);
	border-left-color: #61d38a;
	background: var(--kibis-card, #1a287a);
}

/* Directorist behält die Erfolgs-Klasse beim erneuten Öffnen des Modals,
 * leert aber seinen Inhalt. Solche Platzhalter dürfen nicht sichtbar sein. */
body #directorist-claimer__submit-notification.text-success:empty {
	display: none;
}

body .directorist-alert-danger,
body .atbdp-flush-message-item.type-error,
body .atbdp-flush-message-item.type-danger,
body .atbdp-flush-message-item.type-failed,
body .directorist-contact-message-display.error,
body #directorist-report-abuse-message-display .error,
body .directorist-register-error {
	border-color: rgba(255, 120, 144, 0.8);
	border-left-color: #ff7890;
	background: #8d1830;
}

body #directorist-claimer__warning-notification.text-warning {
	border-color: rgba(255, 191, 47, 0.85);
	border-left-color: #ffbf2f;
	background: var(--kibis-card, #1a287a);
	color: var(--kibis-white, #ffffff);
}

body .directorist-alert-warning,
body .atbdp-flush-message-item.type-warning,
body .atbdp-flush-message-item.type-notice {
	border-color: rgba(255, 191, 47, 0.85);
	border-left-color: #ffbf2f;
}

body .directorist-alert-info,
body .atbdp-flush-message-item.type-info {
	border-left-color: var(--kibis-light-blue, #66c7e8);
}

body .directorist-alert__close {
	margin-left: 0.75rem;
	padding: 0.15rem 0.45rem;
	border: 0;
	border-radius: 4px;
	background: transparent;
	color: inherit;
	font-size: 1.35rem;
	line-height: 1;
}

body .directorist-alert__close:hover,
body .directorist-alert__close:focus-visible {
	background: rgba(255, 255, 255, 0.16);
}

body .directorist-alert__close:focus-visible,
body .directorist-alert :is(a, button):focus-visible,
body .atbdp-flush-message-item a:focus-visible {
	outline: 3px solid #ffbf2f;
	outline-offset: 3px;
}

@media (max-width: 600px) {
	body .directorist-alert,
	body .atbdp-flush-message-item,
	body .directorist-contact-message-display,
	body #directorist-report-abuse-message-display > *,
	body .directorist-form-feedback,
	body .directorist-register-error,
	body #directorist-claimer__submit-notification.text-success,
	body #directorist-claimer__warning-notification.text-warning {
		padding: 0.875rem 1rem;
	}
}
.kibis-header__actions { align-items: center; display: flex; gap: 14px; margin-left: auto; }
.kibis-accessibility { position: relative; }
.kibis-accessibility button { font: inherit; }
.kibis-accessibility__trigger { background: var(--kibis-white); border: 2px solid var(--kibis-white); border-radius: 8px; color: var(--kibis-dark); cursor: pointer; font-size: .9375rem; font-weight: 700; line-height: 1.25; min-height: 44px; padding: 8px 12px; }
.kibis-accessibility__trigger:hover, .kibis-accessibility__trigger[aria-expanded="true"] { background: var(--kibis-light-blue); border-color: var(--kibis-light-blue); }
.kibis-accessibility__panel { background: var(--kibis-white); border: 2px solid var(--kibis-light-blue); border-radius: var(--kibis-radius); box-shadow: 0 12px 28px rgba(0,0,0,.3); color: #111; padding: 20px; position: absolute; right: 0; top: calc(100% + 10px); width: min(360px, calc(100vw - 30px)); z-index: 120; }
.kibis-accessibility__panel[hidden] { display: none; }
.kibis-accessibility__panel-header { align-items: center; display: flex; gap: 12px; justify-content: space-between; margin-bottom: 16px; }
.kibis-accessibility__title { color: var(--kibis-dark); font-size: 1.25rem; margin: 0; }
.kibis-accessibility__close { flex: 0 0 auto; }
.kibis-accessibility__group { border-top: 1px solid #b8c4d0; margin-top: 14px; padding-top: 14px; }
.kibis-accessibility__group > p { color: #111; font-weight: 700; margin: 0 0 8px; }
.kibis-accessibility__font-buttons, .kibis-accessibility__contrast-buttons, .kibis-accessibility__read-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.kibis-accessibility__panel button:not(.kibis-accessibility__trigger) { background: var(--kibis-dark); border: 2px solid var(--kibis-dark); border-radius: 6px; color: var(--kibis-white); cursor: pointer; font-size: .9375rem; font-weight: 700; min-height: 44px; padding: 8px 10px; }
.kibis-accessibility__panel button:hover, .kibis-accessibility__panel button[aria-pressed="true"] { background: var(--kibis-red); border-color: var(--kibis-red); }
.kibis-accessibility__panel button:disabled { cursor: not-allowed; opacity: .55; }
.kibis-accessibility__switch { align-items: center; color: #111; display: flex; font-weight: 700; gap: 10px; margin-top: 10px; min-height: 44px; }
.kibis-accessibility__switch input { accent-color: var(--kibis-red); block-size: 20px; inline-size: 20px; }
.kibis-accessibility__status { color: #222; font-size: .875rem; margin: 10px 0 0; }
.kibis-accessibility__reset { margin-top: 18px; width: 100%; }
.kibis-accessibility__statement { margin: 14px 0 0; text-align: center; }
.kibis-accessibility__statement a { color: #003e9b; font-size: .9375rem; font-weight: 700; }
.kibis-accessibility :is(button, input):focus-visible { outline: 3px solid var(--kibis-red); outline-offset: 3px; }

body.kibis-contrast-dark, body.kibis-contrast-dark :not(.kibis-accessibility):not(.kibis-accessibility *) { background-color: #111 !important; border-color: #fff !important; color: #fff !important; }
body.kibis-contrast-light, body.kibis-contrast-light :not(.kibis-accessibility):not(.kibis-accessibility *) { background-color: #fff !important; border-color: #111 !important; color: #111 !important; }
body.kibis-contrast-high, body.kibis-contrast-high :not(.kibis-accessibility):not(.kibis-accessibility *) { background-color: #000 !important; border-color: #fff !important; color: #fff !important; }
body:is(.kibis-contrast-dark, .kibis-contrast-high) :not(.kibis-accessibility):not(.kibis-accessibility *) a { color: #7cddff !important; text-decoration: underline !important; text-decoration-thickness: 2px !important; }
body.kibis-contrast-light :not(.kibis-accessibility):not(.kibis-accessibility *) a { color: #003e9b !important; text-decoration: underline !important; text-decoration-thickness: 2px !important; }
body:is(.kibis-contrast-dark, .kibis-contrast-light, .kibis-contrast-high) :focus-visible { outline: 4px solid #ffea00 !important; outline-offset: 3px; }
body:is(.kibis-contrast-dark, .kibis-contrast-light, .kibis-contrast-high) :not(.kibis-accessibility):not(.kibis-accessibility *)::before,
body:is(.kibis-contrast-dark, .kibis-contrast-light, .kibis-contrast-high) :not(.kibis-accessibility):not(.kibis-accessibility *)::after { border-color: currentColor !important; }
body.kibis-contrast-light :not(.kibis-accessibility):not(.kibis-accessibility *) { color: #111 !important; }
body.kibis-contrast-light :not(.kibis-accessibility):not(.kibis-accessibility *) :is(svg, path, use) { fill: currentColor !important; stroke: currentColor !important; }
body:is(.kibis-contrast-dark, .kibis-contrast-light, .kibis-contrast-high) :is(.kibis-audio-item, .kibis-section-title, .kibis-event, .kibis-event-date, .kibis-event-info, .directorist-card, .directorist-listing-single) { box-shadow: inset 0 0 0 2px currentColor !important; }
/* The report and appointment cards use gradients.  A background colour alone
   cannot replace those, leaving a blue edge visible in contrast modes. */
body:is(.kibis-contrast-dark, .kibis-contrast-light, .kibis-contrast-high) :is(.kibis-bericht-inhalt, .kibis-section-heading, .kibis-section-line, .kibis-audio-item, .kibis-event, .kibis-event-date, .kibis-event-info, .kibis-dashboard-card, .directorist-user-dashboard__contents, .directorist-user-dashboard__nav) { background-image: none !important; }
body.kibis-contrast-light :is(.kibis-event-title, .kibis-event-title a, .kibis-event-meta, .kibis-event-meta *, .kibis-audio-titel, .kibis-audio-titel *) { color: #111 !important; }
/* The homepage event styles use a highly specific, important shorthand.
   Override that rule explicitly so no blue card or white text remains. */
.home.page-id-2939.kibis-contrast-dark .kibis-home .em-events-list > .kibis-event { background: #111 !important; color: #fff !important; }
.home.page-id-2939.kibis-contrast-high .kibis-home .em-events-list > .kibis-event { background: #000 !important; color: #fff !important; }
.home.page-id-2939.kibis-contrast-light .kibis-home .em-events-list > .kibis-event { background: #fff !important; color: #111 !important; }
.home.page-id-2939.kibis-contrast-light .kibis-home :is(.kibis-event-date, .kibis-event-title a, .kibis-event-title a:visited, .kibis-event-meta, .kibis-event-meta *, .kibis-event-time, .kibis-event-location) { color: #111 !important; }
html.kibis-grayscale { filter: grayscale(1); }
html[data-kibis-font-scale] :is(h1, h2, h3, h4, h5, h6, p, a, button, label, td, th) { max-width: 100% !important; overflow-wrap: anywhere !important; white-space: normal !important; }
html[data-kibis-font-scale] :is(.wp-block-group, .wp-block-column, .directorist-listing-single, .directorist-card, .em-event, .em-event-content) { min-width: 0; }

@media (max-width: 1024px) { .kibis-header__actions { gap: 8px; } .kibis-accessibility__trigger { font-size: .875rem; } }
@media (max-width: 767px) { .kibis-header__inner { flex-wrap: wrap !important; gap: 8px; } .kibis-header__actions { flex: 1 1 100%; justify-content: flex-end; position: relative; } .kibis-primary-nav--classic { position: static; } .kibis-primary-nav--classic .kibis-primary-menu { left: 0; min-width: 0; right: 0; top: calc(100% + 12px); width: 100%; } .kibis-accessibility__trigger { min-height: 40px; } .kibis-accessibility__panel { max-height: calc(100vh - 30px); overflow-y: auto; position: fixed; right: 15px; top: 15px; width: calc(100vw - 30px); } }
@media (prefers-reduced-motion: reduce) { .kibis-accessibility *, .kibis-accessibility *::before, .kibis-accessibility *::after { animation-duration: .01ms !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }

/* ==========================================================
   KIBiS STARTSEITE – OLLIE / GUTENBERG
   Alle Regeln sind auf die Startseite begrenzt.
   ========================================================== */

.home.page-id-2939 .kibis-site-main {
    overflow: clip;
    padding-top: 0;
}

.home.page-id-2939 .kibis-home {
    width: min(1200px, calc(100% - 48px));
    max-width: none !important;
    margin: clamp(28px, 4vw, 56px) auto clamp(48px, 7vw, 88px) !important;
    padding: 0;
    box-sizing: border-box;
}

.home.page-id-2939 .kibis-home > * {
    margin-block-start: 32px;
}

.home.page-id-2939 .kibis-home > :first-child {
    margin-block-start: 0;
}

.home.page-id-2939 .kibis-home h1,
.home.page-id-2939 .kibis-home h2,
.home.page-id-2939 .kibis-home h3,
.home.page-id-2939 .kibis-home p,
.home.page-id-2939 .kibis-home ul {
    margin-top: 0;
}

.home.page-id-2939 .kibis-home h2,
.home.page-id-2939 .kibis-home h3 {
    margin-bottom: 18px;
}

.home.page-id-2939 .kibis-home__hero {
    max-width: 920px;
    margin-inline: auto;
    padding: 8px 24px 0;
    text-align: center;
}

.home.page-id-2939 .kibis-home__hero h1 {
    margin-bottom: 14px;
    font-size: clamp(2rem, 4.4vw, 3rem);
    line-height: 1.15;
}

.home.page-id-2939 .kibis-home__hero p {
    margin-bottom: 0;
    font-size: clamp(1rem, 1.8vw, 1.25rem);
    line-height: 1.55;
}

.home.page-id-2939 .kibis-home__card {
    padding: clamp(22px, 3vw, 30px);
    border-radius: var(--wp--custom--kibis--radius, 14px);
    background: var(--wp--preset--color--kibis-card, #1a287a);
    color: var(--wp--preset--color--white, #fff);
    box-sizing: border-box;
}

.home.page-id-2939 .kibis-home__intro p:last-child,
.home.page-id-2939 .kibis-home__feature p,
.home.page-id-2939 .kibis-home__cta p {
    margin-bottom: 0;
}

.home.page-id-2939 .kibis-home__section > h2 {
    margin-bottom: 20px;
}

.home.page-id-2939 .kibis-home__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.home.page-id-2939 .kibis-home__grid > *,
.home.page-id-2939 .kibis-home__cta-grid > * {
    margin: 0;
}

.home.page-id-2939 .kibis-home__feature {
    min-height: 150px;
    display: flex;
    align-items: flex-start;
    font-size: 1.0625rem;
    line-height: 1.55;
}

.home.page-id-2939 .kibis-home__support .wp-block-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 48px;
    margin-bottom: 0;
}

.home.page-id-2939 .kibis-home__support .wp-block-column {
    margin: 0 !important;
}

.home.page-id-2939 .kibis-home__support ul {
    margin-bottom: 0;
    padding-left: 1.3em;
}

.home.page-id-2939 .kibis-home__support li + li {
    margin-top: 10px;
}

.home.page-id-2939 .kibis-home__cta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.home.page-id-2939 .kibis-home__cta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.home.page-id-2939 .kibis-home__cta .wp-block-buttons {
    margin-top: auto;
    padding-top: 22px;
}

.home.page-id-2939 .kibis-home .wp-block-button__link,
.home.page-id-2939 .kibis-home .wp-block-button__link:visited,
.home.page-id-2939 .kibis-home .wp-block-button__link:hover,
.home.page-id-2939 .kibis-home .wp-block-button__link:focus {
    color: #fff !important;
}

/* 24. Celler Selbsthilfetag: sichtbar, aber bewusst ruhiger als das Plakat. */
.home.page-id-2939 .kibis-self-help-day {
    display: grid;
    grid-template-columns: minmax(116px, 168px) minmax(0, 1fr);
    gap: clamp(20px, 3vw, 36px);
    align-items: center;
    max-width: 920px;
    margin-inline: auto;
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid #d8bd24;
    border-radius: var(--wp--custom--kibis--radius, 14px);
    background: var(--wp--preset--color--kibis-card, #1a287a);
    color: var(--wp--preset--color--white, #fff);
    box-shadow: 0 8px 24px rgb(8 7 95 / 18%);
    box-sizing: border-box;
}

.home.page-id-2939 .kibis-self-help-day__image {
    display: block;
    margin: 0 !important;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgb(8 7 95 / 16%);
}

.home.page-id-2939 .kibis-self-help-day__image img {
    display: block;
    width: 100%;
    height: auto;
}

.home.page-id-2939 .kibis-self-help-day__eyebrow {
    margin-bottom: 7px;
    color: #f4da38;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.home.page-id-2939 .kibis-self-help-day h2 {
    margin-bottom: 10px;
    color: inherit;
    font-size: clamp(1.55rem, 3vw, 2rem);
    line-height: 1.16;
}

.home.page-id-2939 .kibis-self-help-day__text {
    margin-bottom: 16px;
    font-size: 1.0625rem;
    line-height: 1.5;
}

.home.page-id-2939 .kibis-self-help-day__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
    margin-bottom: 18px;
    font-weight: 700;
    line-height: 1.45;
}

.home.page-id-2939 .kibis-self-help-day__meta span + span::before {
    content: "·";
    margin-right: 16px;
    color: #f4da38;
}

.home.page-id-2939 .kibis-self-help-day__link {
    color: var(--wp--preset--color--white, #fff);
    font-weight: 700;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

.home.page-id-2939 .kibis-self-help-day__link:hover,
.home.page-id-2939 .kibis-self-help-day__link:focus {
    color: #f4da38;
}

.home.page-id-2939 .kibis-self-help-day__link a,
.home.page-id-2939 .kibis-self-help-day__link a:visited {
    color: inherit;
}

/* Events Manager */
.home.page-id-2939 .kibis-home .em-events-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.home.page-id-2939 .kibis-home .em-events-list > p {
    display: none !important;
}

.home.page-id-2939 .kibis-home .em-events-list > .kibis-event {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    width: 100% !important;
    min-height: 84px;
    margin: 0 !important;
    padding: 12px 20px !important;
    border-radius: var(--wp--custom--kibis--radius, 14px);
    background: var(--wp--preset--color--kibis-card, #1a287a) !important;
    box-sizing: border-box;
}

.home.page-id-2939 .kibis-home .kibis-event-date {
    flex: 0 0 60px;
    width: 60px;
    min-height: 60px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgb(255 255 255 / 10%);
    color: #fff;
    text-align: center;
}

.home.page-id-2939 .kibis-home .kibis-event-day {
    display: block;
    font-size: 1.625rem;
    font-weight: 700;
    line-height: 1;
}

.home.page-id-2939 .kibis-home .kibis-event-month {
    display: block;
    margin-top: 5px;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1;
    text-transform: uppercase;
}

.home.page-id-2939 .kibis-home .kibis-event-info {
    flex: 1;
    min-width: 0;
}

.home.page-id-2939 .kibis-home .kibis-event-title {
    margin-bottom: 7px;
}

.home.page-id-2939 .kibis-home .kibis-event-title a,
.home.page-id-2939 .kibis-home .kibis-event-title a:visited {
    color: #fff !important;
    font-size: 1.1875rem;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
}

.home.page-id-2939 .kibis-home .kibis-event-title a:hover,
.home.page-id-2939 .kibis-home .kibis-event-title a:focus {
    color: #fff !important;
    text-decoration: underline;
}

.home.page-id-2939 .kibis-home .kibis-event-meta {
    display: flex !important;
    flex-wrap: wrap;
    gap: 6px 32px;
    color: #fff;
    font-size: 1rem;
    line-height: 1.4;
}

.home.page-id-2939 .kibis-home .kibis-event-time::before {
    content: "◷";
    margin-right: 7px;
}

.home.page-id-2939 .kibis-home .kibis-event-location::before {
    content: "⌖";
    margin-right: 7px;
}

@media (max-width: 900px) {
    .home.page-id-2939 .kibis-home__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .home.page-id-2939 .kibis-home {
        width: calc(100% - 32px);
        margin-top: 28px !important;
        margin-bottom: 56px !important;
    }

    .home.page-id-2939 .kibis-home > * {
        margin-block-start: 28px;
    }

    .home.page-id-2939 .kibis-home__hero {
        padding-inline: 4px;
    }

    .home.page-id-2939 .kibis-home__grid,
    .home.page-id-2939 .kibis-home__support .wp-block-columns,
    .home.page-id-2939 .kibis-home__cta-grid {
        grid-template-columns: 1fr;
    }

    .home.page-id-2939 .kibis-home__feature {
        min-height: 0;
    }

    .home.page-id-2939 .kibis-self-help-day {
        grid-template-columns: 92px minmax(0, 1fr);
        gap: 18px;
        padding: 18px;
    }

    .home.page-id-2939 .kibis-self-help-day__meta {
        display: block;
    }

    .home.page-id-2939 .kibis-self-help-day__meta span {
        display: block;
    }

    .home.page-id-2939 .kibis-self-help-day__meta span + span::before {
        display: none;
    }

    .home.page-id-2939 .kibis-home .em-events-list > .kibis-event {
        align-items: flex-start !important;
        gap: 14px !important;
        padding: 16px !important;
    }

    .home.page-id-2939 .kibis-home .kibis-event-date {
        flex-basis: 64px;
        width: 64px;
        min-height: 64px;
    }

    .home.page-id-2939 .kibis-home .kibis-event-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }
}
