/*
Theme Name: Bloghexe Herbst 2026
Theme URI: https://bloghexe.de
Author: Anne Schwarz
Author URI: https://bloghexe.de
Description: Bloghexe ab Herbst 2026
Version: 2026.1
Text Domain: bloghexe
*/

/* comfortaa-regular - latin */
@font-face {
  font-display: swap; 
  font-family: 'Comfortaa';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/comfortaa-v47-latin-regular.woff2') format('woff2'); 
}

/* comfortaa-600 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Comfortaa';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/comfortaa-v47-latin-600.woff2') format('woff2'); 
}

/* berkshire-swash-regular - latin */
@font-face {
  font-display: swap; 
  font-family: 'Berkshire Swash';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/berkshire-swash-v22-latin-regular.woff2') format('woff2'); 
}

/* gilda-display-regular - latin */
@font-face {
  font-display: swap; 
  font-family: 'Gilda Display';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/gilda-display-v20-latin-regular.woff2') format('woff2');
}

/*
Media Query Breakpoints:
36rem	~576px – große Handys quer 
48rem	~768px – Tablets 
64rem	~1024px – kleine Laptops 
80rem	~1280px – Desktop 
*/


:root {
	--color-braun: #ede7e9;
	--color-braun-hell: #f6f3f4;
	--color-braun-dunkel: #b5abad;
	
	--color-grau: #4a4448;
	/*--color-grau-hell: #6c6467;*/
	--color-grau-hell: #ebd2e0;
	
	--color-lila: #8c559c;
	--color-lila-dunkel: #413563;
	--color-lila-hell: #d8ccdf;
	--color-pink: #db679c;
	--color-pink-hell: #ebd2e0;
	--color-gelb: #F3D86B;
	--color-gelb-hell: #f9efdc;
	--color-weiss: #fff;

	--bg-body: var(--color-braun-hell);
	--bg-content: var(--color-weiss);
	--bg-sidebar-box: var(--color-braun);
	--bg-footer: var(--color-lila);
	--bg-copyright: var(--color-lila-dunkel);
	
	--text: var(--color-lila-dunkel);
	--text-hell: var(--color-lila);
	--link: var(--color-pink);
	--link-active: var(--text);
	
	--meta-bg: var(--color-braun);
    
	/* Inputs */
	--input-bg: var(--color-weiss);
	--input-border: var(--color-braun-dunkel);
	--input-hover-border: var(--color-grau);
	--input-focus-border: var(--color-pink);
	
	/* Dropdown */
	--dropdown-bg: var(--color-braun-hell);
	--dropdown-border: var(--color-braun-dunkel);
	--dropdown-text: var(--text);
	--dropdown-hover-bg: var(--color-pink-hell);
	--dropdown-hover-text: var(--color-pink);
	
	/* Menüleiste */
	--nav-bg: var(--color-lila-hell);
	
	/* verlinkte Icons */
	--icon-color: var(--text);
	--icon-hover-color: var(--color-pink);

}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.card:focus-within {
    outline: 1px solid var(--color-pink);
    outline-offset: 1px;
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
    outline: 1px solid var(--color-pink);
    outline-offset: 1px;
}

::selection { 
	background: var(--color-pink); 
	color: var(--color-weiss); 
}

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

html {
	scroll-behavior: smooth;
}


a,
button,
input,
.button,
.card,
[class*="hover"] {
	transition: color 0.4s ease, background-color 0.4s ease, background-size .4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
}

body {
	background: var(--bg-body);
	color: var(--text);
	font-family: Comfortaa, sans-serif;
	font-size: 15px;
	line-height: 1.4rem;
	margin: 0;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ##############################
Typographie
##############################*/

h1, h2, h3, h4 {
	font-weight: 600; 
	line-height: 1.2;
	font-size: 1.6rem;
	font-family: 'Berkshire Swash', serif;
	margin-top: 0;
}

h1 {
	font-size: 1.6rem;
}

h2 {
	font-size: 1.4rem;
}

h3 {
	font-size: 1.3rem;
}

.grid-container + h3 {
    margin-top: 30px;
}

h4 { 
	font-size: 1rem;
	margin: 1rem 0 .5rem;
}

a {
	color: var(--link);
	text-decoration: none;
	background-image: linear-gradient(rgb(243 216 107 / 60%), rgb(243 216 107 / 60%));
	background-repeat: no-repeat;
	background-size: 100% 0%;
	background-position: 0 100%;
	transition: color 250ms ease, background-size 300ms ease;
}

a:hover {
	color: var(--link-active);
	background-size: 100% 40%;
	background-position: 0 75%
}

strong {
	font-weight: 600;
}


pre {
    border-radius: 4px;
    padding: 20px;
    background: var(--color-braun-hell);    
    overflow-x: auto;
}

.rotate {
  display: inline-block;
  margin-right: .4em;
  line-height: 1;
  color: var(--color-pink);
}

blockquote {
  position: relative;
  margin: 2rem 0;
  padding: .5rem 1.5rem .5rem 4rem;
}

blockquote::before {
  content: "\201E";                 
  position: absolute;
  left: .3rem;
  top: -.4rem;
  font-family: 'Gilda Display', serif;  
  font-size: 5rem;
  line-height: 1;
  color: var(--color-pink);
}

blockquote p:last-child { 
	margin-bottom: 0; 
}

blockquote cite { 
	display: block; 
	margin-top: .5rem; 
	font-size: .9em; 
}

.wp-block-separator {
	border: 0 !important;
}

hr {
  position: relative;
  border: 0;
  background: none;
  height: 1.5em;
  width: 100%;
  max-width: 100%;
  margin: 2.5rem auto;
  overflow: visible;
}

/* gepunktete Linie mit Lücke in der Mitte */
hr::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	border-top: 3px dotted var(--color-pink);
	-webkit-mask-image: linear-gradient(90deg, #000 calc(50% - 1.6em), transparent calc(50% - 1.6em), transparent calc(50% + 1.6em), #000 calc(50% + 1.6em));
		  mask-image: linear-gradient(90deg, #000 calc(50% - 1.6em), transparent calc(50% - 1.6em), transparent calc(50% + 1.6em), #000 calc(50% + 1.6em));
}

/* Icon in der Mitte todo */
hr::after {
	content: "\f004";                    
	font-family: "Font Awesome 7 Free";
	font-weight: 900;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	font-size: 1rem;
	line-height: 1;
	color: var(--color-pink);
}

@media (min-width: 48rem) {
	h1 {
		font-size: 1.8rem;
		line-height: 1.2;
	}
}

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

.center {
	text-align: center !important;
}

.vcenter {
	align-self: center;
}

.left {
    text-align: left !important;
}

.right {
    text-align: right;
}

.justify {
	text-align: justify;
}

/* ##############################
Formulare
##############################*/

input, 
select, 
textarea {
    font-family: inherit;
    font-size: inherit;
}

input {
	padding: 10px;
	border: 1px solid var(--input-border);
	border-radius: 4px;
	background: var(--input-bg);
	color: var(--text);
}

input:hover,
textarea:hover {
	border-color: var(--input-hover-border);
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 1px solid var(--input-focus-border);
    outline-offset: 1px;
}

input::placeholder {
	font-style: italic;
}

textarea {
	width: 100%;
	padding: 10px;
}


/* ##############################
Buttons
##############################*/

/* --- Große CTA-Buttons --- */
button, a.button, .cta-button {
	display: inline-block;
	padding: 10px 22px;
	color: var(--color-weiss);
	background: var(--color-pink);
	border: 2px solid var(--color-pink);
	border-radius: 4px;
	text-decoration: none;
	font-size: 0.85rem;
	letter-spacing: 1px;
	text-transform: uppercase;
	transition: box-shadow 400ms ease;
}

button:hover, a.button:hover, .cta-button:hover {
	box-shadow:
		0 0 8px rgb(219 103 156 / 45%),
		0 0 20px rgb(219 103 156 / 30%),
		0 0 35px rgb(219 103 156 / 18%);
	cursor: pointer;
}

/* --- Outline-Buttons --- */
.outline-button {
	display: inline-block;
	padding: 0 5px 2px;
	color: var(--text);
	border: 0;
	border-bottom: 2px solid var(--color-pink);
	background: transparent;
	text-decoration: none;
	font-size: 0.8rem;
	letter-spacing: 1px;
  	transition: color 250ms ease;
}

.outline-button:hover {
	color: var(--color-pink);
}

/* --- Lupen-Icon bei der Suche */
.icon-button {
	color: var(--text);
	background: transparent;
	border: 0;
	padding: 0 0 0 5px;
	cursor: pointer;
	transition: color 250ms ease, transform 250ms ease, font-size 0.4s ease;
}

.icon-button:hover {
	color: var(--color-pink);
	font-size: 16px;
	box-shadow: none;
}

.icon-button:focus-visible {
	outline: 1px solid var(--color-gelb);
	outline-offset: 1px;
}

/* ##############################
Layout
##############################*/

.wrapper {
	margin: 0 auto;
	padding: 10px;
	width: 100%;
	max-width: 1200px;
}

.page-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr); 
	gap: 2rem;
	width: 100%;
}

.grid-container {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
	gap: 2rem;
}

@media (min-width: 48rem) {
	.wrapper {
		padding: 20px 40px;       
	}
}

@media (min-width: 64rem) {
	.page-layout {
    	grid-template-columns: minmax(0, 1fr) 300px; 
  	}
}


/* ##############################
Header
##############################*/

/* --- Topbar --- */
#topbar {
	display: none;
	background: var(--nav-bg);
}

/* --- Logo --- */
#logobox {
	text-align: center;
	margin: 2rem auto 0;
}

#logobox .wrapper {
	padding: 0;
}

#logobox a:hover {
	background: none;
}

#logobox img {
	transition: transform 0.3s ease-in-out;
}

#logobox img:hover {
	transform: rotate(3deg);
}

@media (min-width: 48rem) {
	#topbar .wrapper {
		padding: 10px 40px;
	}

	#topbar .suche input {
		transition: width 0.3s ease;
		width: 180px;
	}
	
	#topbar .suche input:focus {
		width: 300px;
	}
	
}

@media (min-width: 64rem) {
	#topbar {
		display: block;
	}

	#topbar .grid-container {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

}


/* ##############################
Social Icons
##############################*/
.social {
    margin: 0;
    padding: 0;
    list-style: none;
}

.social li {
    display: inline;
    padding: 0 .5rem 0 0;
}

.social li:last-child {
	padding: 0;
}

.social a {
	text-decoration: none;
	color: var(--icon-color);
	font-size: 1.4rem; 
	background: none;
	transition: color 250ms ease, transform 250ms ease;
	display: inline-block;
}

.social a:hover {
	color: var(--icon-hover-color);
	transform: scale(1.1);
} 

/* ##############################
Hauptnavi
##############################*/
#hauptnavi {
	position: relative;
	margin: 1rem 0;
	font-size: 0.9rem;
}

#hauptnavi .wrapper {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	position: relative;
}


/* --- Hamburger-Button --- */
#hauptnavi .nav-toggle {
	display: block;
	padding: 0.5rem;
	background: transparent;
	border: 0;
	color: var(--text);
	cursor: pointer;
}

#hauptnavi .hamburger-icon,
#hauptnavi .hamburger-icon::before,
#hauptnavi .hamburger-icon::after {
	display: block;
	width: 24px;
	height: 2px;
	background: currentColor;
	transition: transform 300ms ease, background-color 250ms ease;
}

#hauptnavi .hamburger-icon {
	position: relative;
}

#hauptnavi .hamburger-icon::before,
#hauptnavi .hamburger-icon::after {
	content: "";
	position: absolute;
	left: 0;
}

#hauptnavi .hamburger-icon::before {
	top: -8px;
}

#hauptnavi .hamburger-icon::after {
	top: 8px;
}

#hauptnavi .nav-toggle:hover {
	color: var(--color-pink);
}

#hauptnavi .nav-toggle.is-open .hamburger-icon {
	background: transparent;
}

#hauptnavi .nav-toggle,
#hauptnavi .nav-toggle:hover,
#hauptnavi .nav-toggle:focus,
#hauptnavi .nav-toggle:focus-visible,
#hauptnavi .nav-toggle.is-open {
	box-shadow: none;
	filter: none;
}

#hauptnavi .nav-toggle:focus-visible {
	outline: 2px solid var(--color-pink);
	outline-offset: 4px;
}

#hauptnavi .nav-toggle.is-open .hamburger-icon::before {
	transform: translateY(8px) rotate(45deg);
}

#hauptnavi .nav-toggle.is-open .hamburger-icon::after {
	transform: translateY(-8px) rotate(-45deg);
}

#hauptnavi .nav-toggle:focus-visible {
	outline: 2px solid var(--color-pink);
	outline-offset: 4px;
}


/* --- Mobile-Navigation --- */
#primary-menu {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 10;
	display: none;
	margin: 0;
	padding: 0;
	list-style: none;
	background: var(--dropdown-bg);
	border-top: 1px solid var(--dropdown-border, #ddd);
}

#primary-menu.is-open {
	display: block;
}

#primary-menu li {
	position: relative;
	margin: 0;
	border-bottom: 1px solid var(--dropdown-border, #ddd);
}

#primary-menu li:hover {
	background: var(--dropdown-hover-bg);
}

#primary-menu li > a {
	display: block;
	padding: 1rem 1.5rem;
	color: var(--text);
	text-decoration: none;
	font-size: 1rem;
	transition: color 250ms ease;
	background: transparent;
	background-image: none;
}

#primary-menu li > a:hover,
#primary-menu li > a:focus-visible {
	color: var(--color-pink);
	background: transparent;
	background-image: none;
}

#primary-menu .current-menu-item > a,
#primary-menu .current_page_item > a,
#primary-menu .current-menu-ancestor > a,
#primary-menu .current-menu-parent > a {
	color: var(--color-pink);
}

#primary-menu .sub-menu {
	display: none;
	list-style: none;
	margin: 0;
	padding: .25rem 0 .5rem .75rem;
	background: transparent;
	border-left: 2px solid var(--color-pink);
}

#primary-menu .menu-item-has-children.is-open > .sub-menu {
	display: block;
}

#primary-menu .sub-menu li {
	margin: 0;
	border-bottom: 0;
}

#primary-menu .sub-menu {
	display: none;
	list-style: none;
	margin: 0;
	padding: 0.25rem 0 0.5rem 1rem;
	background: transparent;
	border-left: 0;
}

#primary-menu .menu-item-has-children.is-open > .sub-menu {
	display: block;
}

#primary-menu .sub-menu li {
	margin: 0;
	border-bottom: 0;
}

#primary-menu .sub-menu a {
	display: flex;
	align-items: center;
	min-height: 48px;
	padding: .75rem 1rem;
	font-size: .95rem;
	line-height: 1.5;
	color: var(--text);
	background: transparent;
	background-image: none;
	border-left: 2px solid var(--color-pink);
	transition:
		color 250ms ease,
		background-color 250ms ease,
		border-color 250ms ease;
}

#primary-menu .sub-menu a:hover,
#primary-menu .sub-menu a:focus-visible {
	color: var(--color-pink);
	background-color: rgb(219 103 156 / 7%);
	border-left-color: var(--color-pink);
}

#primary-menu li.menu-item-has-children > a {
	position: relative;
	padding-right: 2.5rem;
}

#primary-menu li.menu-item-has-children > a::before {
	content: "";
	position: absolute;
	right: 1.5rem;
	top: 50%;
	width: 6px;
	height: 6px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-70%) rotate(45deg);
	transition: transform 250ms ease;
}

#primary-menu li.menu-item-has-children.is-open > a::before {
	transform: translateY(-30%) rotate(225deg);
}

@media (min-width: 64rem) {
	#hauptnavi,
	#hauptnavi .wrapper,
	#hauptnavi .menu-hauptnavi-container {
		width: 100%;
	}

	#hauptnavi .wrapper {
		justify-content: center;
		display: block;
	}

	#hauptnavi .nav-toggle {
		display: none;
	}

	#primary-menu {
		position: static;
		display: flex !important;
		justify-content: center;
		align-items: center;
		background: var(--nav-bg);
		border: 0;
		border-radius: 4px;
		box-sizing: border-box;
		width: 100%;
	}

	#primary-menu > li {
		margin: 0 1.5rem;
		padding: 0.75rem 0;
		border: 0;
		background: transparent;
	}

	#primary-menu > li:hover {
		background: transparent;
	}

	#hauptnavi .menu > li > a {
		position: relative;
		display: inline-block;
		padding: 0;
		color: var(--text);
		background: none;
		font-size: 0.9rem;
		font-weight: 600;
		letter-spacing: 1px;
		text-transform: uppercase;
		text-decoration: none;
		white-space: nowrap;
		transition: color 250ms ease;
	}

	#hauptnavi .menu > li > a::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: -4px;
		width: 100%;
		height: 2px;
		background: var(--color-pink);
		clip-path: inset(0 50% 0 50%);
		transition: clip-path 300ms ease;
	}

	#hauptnavi .menu > li > a:hover,
	#hauptnavi .menu > li > a:focus-visible {
		color: var(--color-pink);
	}

	#hauptnavi .menu > li > a:hover::after,
	#hauptnavi .menu > li > a:focus-visible::after,
	#hauptnavi .menu > li.current-menu-item > a::after,
	#hauptnavi .menu > li.current_page_item > a::after,
	#hauptnavi .menu > li.current-menu-ancestor > a::after,
	#hauptnavi .menu > li.current-menu-parent > a::after {
		clip-path: inset(0);
	}

	#hauptnavi .menu > li.current-menu-item > a,
	#hauptnavi .menu > li.current_page_item > a,
	#hauptnavi .menu > li.current-menu-ancestor > a,
	#hauptnavi .menu > li.current-menu-parent > a {
		color: var(--color-pink);
	}

	#primary-menu > li.menu-item-has-children > a {
		padding-right: 1em;
	}

	#primary-menu > li.menu-item-has-children > a::before {
		right: 0;
		top: 40%;
	}

	/* Dropdown */
	#primary-menu .sub-menu {
		position: absolute;
		top: 100%;
		left: 0;
		z-index: 20;
		display: block;
		min-width: 200px;
		margin: 0;
		padding: 6px;
		background: var(--dropdown-bg);
		border: 1px solid var(--dropdown-border, #ddd);
		border-radius: 6px;
		text-align: left;
		opacity: 0;
		visibility: hidden;
		transform: translateY(-4px);

		transition:
			opacity 250ms ease,
			transform 250ms ease,
			visibility 250ms ease;
	}

	#primary-menu .sub-menu::before {
		content: "";
		position: absolute;
		top: -12px;
		left: 0;
		right: 0;
		height: 12px;
	}

	#primary-menu .menu-item-has-children:hover > .sub-menu,
	#primary-menu .menu-item-has-children:focus-within > .sub-menu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	#primary-menu .sub-menu li {
		margin: 0;
		padding: 0;
		border: 0;
		background: transparent;
	}

	#primary-menu .sub-menu a {
		display: block;
		padding: 8px 10px;
		color: var(--dropdown-text);
		border: 0;
		min-height: 0;
		background: transparent;
		border-radius: 4px;
		font-size: 0.85rem;
		font-weight: 400;
		letter-spacing: normal;
		text-transform: none;
		text-decoration: none;
		white-space: normal;
		transition: color 200ms ease, background-color 200ms ease;
	}

	#hauptnavi .sub-menu a::after,
	#hauptnavi .sub-menu a:hover::after,
	#hauptnavi .sub-menu a:focus-visible::after {
		content: none;
		display: none;
	}

	#primary-menu .sub-menu a:hover,
	#primary-menu .sub-menu a:focus-visible {
		color: var(--dropdown-hover-text);
		background: var(--dropdown-hover-bg);
	}

	#primary-menu .sub-menu .current-menu-item > a,
	#primary-menu .sub-menu .current_page_item > a {
		color: var(--color-pink);
	}
}

/* --- Bewegungen reduzieren --- */
@media (prefers-reduced-motion: reduce) {
	#hauptnavi *,
	#hauptnavi *::before,
	#hauptnavi *::after {
		transition-duration: 0.01ms !important;
	}
}

/* ##############################
Sidebar
##############################*/

#sidebar section {
	background: var(--bg-sidebar-box);
	padding: 20px;
	margin: 0 0 2rem;
	border-radius: 4px;
}

#sidebar h3 {
	font-family: 'Berkshire Swash';
	text-align: center;
	margin: 0 0 1rem;
	font-size: 1.4rem;
}

#sidebar p,
#sidebar li {
	font-size: .85rem;
	line-height: 1.4;
}

#sidebar p {
	text-align: justify;
}

.profilbild {
	filter: brightness(115%) contrast(100%) saturate(100%) blur(0) hue-rotate(0deg);
	transition-duration: 1s;
	border: 5px solid var(--color-braun-hell);
	border-radius: 50%;
	box-shadow: 10px 20px 45px -40px rgb(0 0 0 / .5);
	width: 75%;
}

.profilbild:hover {
	transform: rotate(4deg);
}

.neue-beitraege {
	list-style: none;
	padding: 0;
}

.neue-beitraege li {
	margin: 0 0 10px;
	padding: 0 5px 10px;
}

.neue-beitraege li:last-child {
	margin: 0;
	padding: 0 5px;
}

.neue-beitraege span {
	display: block;
}

.neue-beitraege span,
.wp-block-latest-comments__comment-date {
	font-size: .8rem;
	color: var(--text-hell);
}

/* ##############################
Content
##############################*/
.box {
	background: var(--color-weiss);
	border-radius: 4px;
	margin: 0 0 40px;
	padding: 20px; 
}

@media (min-width: 48rem) {
	.box {
		padding: 40px;
	}
}

/* ##############################
Beitrag
##############################*/

.beitrag {
	background: var(--bg-content);
	border-radius: 4px;
}

.beitrag h1,
.breadcrumbs,
.beitrag .content, 
.beitrag footer,
#kommentare {
	padding: 10px 20px;
}

@media (min-width: 48rem) {
	.beitrag h1,
	.breadcrumbs,
	.beitrag .content, 
	.beitrag footer,
	#kommentare {
		padding: 10px 30px;
	}
}

.beitragsbild img {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
}

.beitrag h1 {
	text-align: center;
}

.subhead {
	font-weight: bold;
	font-size: 1rem;
	text-align: center;
}

#main ul {
    list-style: none;
    padding-left: 1.2em;
}

#main ul li {
    position: relative;
    padding-left: 0.4em;
}

#main ul li::before {
    content: "\f004";
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    color: #e85b91;
    font-size: 0.8em;
    position: absolute;
    left: -1.2em;
}

.meta {
	color: var(--text-hell);
	background: var(--meta-bg);
	padding: 20px;
	border-radius: 4px;
	text-align: center;
	font-size: .8rem;
	line-height: 1;
   	width: auto; 
    display: flex;
    flex-direction: row; 
    justify-content: space-between; 
    align-items: center;
    gap: 0.75rem;
}

.beitrag .meta {
    margin: 0 20px;
    flex-direction: column;
    text-align: center;
}

.beitrag .meta span {
    width: 100%;
}

.autorenbox {
	margin: 20px;
	color: var(--text-hell);
	background: var(--meta-bg);
	padding: 20px;
	border-radius: 4px;
	font-size: .8rem;
	text-align: center;
}

.autorenbox .grid-container {
	gap: 0;
	grid-template-columns: 1fr;
        justify-items: center;
}

.autorenbox h3 {
    margin-top: 0;
    font-size: 1.1rem;
}

.autorenbox .profilbild {
	max-width: 200px;
}

.autorenbox-link a {
    color: inherit;
}

.autorenbox-link {
    margin-bottom: 0;
}

.verwandte-beitraege {
	margin: 20px;
}

.beitrag-teilen {
	margin: 20px;
}

.teilen-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 0;
    list-style: none;
}

.teilen-links a {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 7px 15px;
    border: 1px solid var(--color-pink);
    border-radius: 4px;
    color: inherit;
    text-decoration: none;
    transition: box-shadow 400ms ease;
}

.teilen-links a:hover {
    box-shadow:
        0 0 8px rgb(219 103 156 / 45%),
        0 0 20px rgb(219 103 156 / 30%);
    background: none;
}

.teilen-links a:focus-visible,
.autorenbox a:focus-visible {
    outline: 2px solid var(--color-pink);
    outline-offset: 3px;
}

#main .teilen-links {
	padding: 0;
}

#main .teilen-links li::before {
	content: '';
	padding: 0;
}


@media (min-width: 48rem) {
    .meta {
		margin: 0;
        gap: 1rem;
    }
    
    .beitrag .meta {
        flex-direction: row;
        justify-content: space-between;
        margin: 0 30px;
    }
    
    .beitrag .meta span {
        width: auto;
        text-align: left;
    }
    
    .autorenbox,
    .verwandte-beitraege {
		margin: 20px 30px;
	}
	
	.autorenbox {
		text-align: left;
	}
	
	.autorenbox .grid-container {
		grid-template-columns: 200px minmax(0, 1fr);
		gap: 0;
	}
	
	.autorenbox .profilbild {
		text-align: left;
	}
    
    .beitrag-teilen {
    	margin: 20px 30px;
    }
}

.meta a {
	color: var(--text-hell);	
	text-decoration: none;
}

.meta a:hover {
	background: none;
	color: var(--color-pink);
}

.big-icon {
	color: var(--color-pink);
	display: inline-block;
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 20px;
	font-family: 'Berkshire Swash', serif;
}

.seite h1 {
	padding-top: 2rem;
	margin-bottom: 0;
}
/* ##############################
Kommentarbereich
##############################*/

#kommentare h3 {
	text-align: center;
}

#kommentare cite::before {
	content: '';
}

#kommentare .comments-title {
    margin-bottom: 2rem;
    font-size: 1.5rem;
    font-weight: 700;
}

#kommentare .comment-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

#kommentare .comment-list .comment {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
   
#kommentare .comment-list .children {
    list-style: none;
    margin-top: 20px;
    margin-left: 20px;
    padding-left: 0;
}

#kommentare .comment-body {
    display: flex;
    flex-direction: column;
}

#kommentare .comment-author.vcard {
    display: inline-flex;
    align-items: baseline;
    gap: 0.25rem;
    margin-bottom: 0.25rem;
}

#kommentare .comment-author .fn {
    font-weight: 600;
    font-style: normal;
}

#kommentare .comment-author a.url {
	color: var(--text);
	text-decoration: none;
	letter-spacing: 2px;
	text-transform: uppercase;
	font-family: 'Karla', sans-serif;
	opacity: .5;
}

#kommentare .comment-author .says {
    display: none;
}

#kommentare .comment-meta.commentmetadata {
    font-size: 0.8rem;
    margin-bottom: 1rem;
}

#kommentare .comment-meta.commentmetadata a {
	color: var(--text);
	text-decoration: none;
}

#kommentare .comment-content {
    line-height: 1.6;
    margin-bottom: 1rem;
}

#kommentare .comment-content p {
    margin: 0 0 1rem 0;
}

#kommentare .comment-content p:last-child {
    margin-bottom: 0;
}

#kommentare .reply {
    font-size: 0.9rem;
    font-weight: 600;
}

#kommentare .comment-respond {
    margin-top: 40px;
}

#kommentare .logged-in-as {
	font-size: .8rem;
}

#kommentare .comment-form {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-bottom: 20px;
}

#kommentare .comment-form input[type="text"],
#kommentare .comment-form input[type="email"],
#kommentare .comment-form input[type="url"],
#kommentare .comment-form textarea {
    width: 100%;
}

#kommentare .comment-form p {
	margin: 0;
}

#kommentare .comment-form textarea {
    min-height: 150px;
    resize: vertical;
}

#kommentare .comment-form button {
    width: 100%;
}

#kommentare .comment-form-cookies-consent {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.9rem;
}

#kommentare .comment-form-cookies-consent input {
    margin-top: 0.2rem;
}

@media (min-width: 48rem) {
    #kommentare .comment-list .children {
        margin-left: 2rem;
    }
    
    #kommentare .comment-form input[type="text"],
	#kommentare .comment-form input[type="email"],
	#kommentare .comment-form input[type="url"] {
		max-width: 300px;
		display: block;
	}

    #kommentare .comment-form button {
        width: auto;
        align-self: flex-start;
    }
}

/* ##############################
Pagination
##############################*/
.pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 30px auto;
    text-align: center;
}

/* Seitenzahlen und Navigation */
.pagination a,
.pagination .current,
.pagination .dots {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
    padding: 8px 12px;
    border: 1px solid var(--color-braun-dunkel);
    border-radius: 4px;
    font-family: Comfortaa, sans-serif;
    font-size: .85rem;
    line-height: 1.2;
}

/* Verlinkte Seitenzahlen */
.pagination a {
    color: var(--text);
    background: var(--bg-content);
    background-image: none;
    text-decoration: none;
    transition:
        color 250ms ease,
        background-color 250ms ease,
        border-color 250ms ease;
}

/* Hover – passend zu deiner Navigation */
.pagination a:hover,
.pagination a:focus-visible {
    color: var(--color-pink);
    background: var(--dropdown-hover-bg);
    background-image: none;
    border-color: var(--color-pink);
}

/* Aktuelle Seite */
.pagination .current {
    color: var(--color-weiss);
    background: var(--color-pink);
    border-color: var(--color-pink);
    font-weight: 600;
}

/* Auslassungspunkte */
.pagination .dots {
    color: var(--text-hell);
    background: transparent;
    border-color: transparent;
}

/* Fokus */
.pagination a:focus-visible {
    outline: 2px solid var(--color-pink);
    outline-offset: 3px;
}

/* Mobile */
@media (max-width: 36rem) {
    .pagination {
        gap: 6px;
    }

    .pagination a,
    .pagination .current,
    .pagination .dots {
        min-width: 36px;
        min-height: 36px;
        padding: 7px 9px;
        font-size: .8rem;
    }
}

/* ##############################
Beitragsvorschau
##############################*/
.beitragsvorschau {
	background: var(--bg-body);
	margin: 0 0 40px;
	border-radius: 4px;
}

.beitragsvorschau header > a {
	position: relative;
	display: block;
	overflow: hidden;
	isolation: isolate;
	aspect-ratio: 3 / 2;
	border-radius: 4px;         
	background: none;              
}

.beitragsvorschau header > a img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .7s cubic-bezier(.2, .6, .2, 1), filter .4s ease;
}

.beitragsvorschau header > a::after {
	content: "";
	position: absolute;
	inset: 7px;
	border: 1px solid rgba(255, 255, 255, .75);
	border-radius: 4px;
	opacity: 0;
	transform: scale(1.04);
	transition: opacity .4s ease, transform .7s cubic-bezier(.2, .6, .2, 1);
	pointer-events: none;
}

@media (hover: hover) {
	.beitragsvorschau:hover header > a img {
		transform: scale(1.05);
		filter: brightness(1.03) contrast(1.04);
	}
	
	.beitragsvorschau:hover header > a::after {
		opacity: 1;
		transform: scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.beitragsvorschau header > a img { transition: none; }
	.beitragsvorschau:hover header > a img { transform: none; }
}

.beitragsvorschau h3 {
	text-align: center;
	margin-top: 10px;
}

.beitragsvorschau h3 a {
	color: var(--text);
}

@media (min-width: 64rem) {
	.beitragsvorschau {
		padding: 20px;
		margin: 0;
	}
}

/* ##############################
Sections auf der Startseite
##############################*/
section {
	position: relative;
	margin: 2rem 0;
	padding: 2rem 0;
}

section header {
	text-align: center;
	margin: 0 0 1rem;
}

.section-intro {
	font-size: .8rem;
	color: var(--text-hell);
	text-transform: uppercase;
	letter-spacing: 2px;
}

.section-intro::before {
	content: "— ";
	color: var(--text-hell);
}

.section-intro::after {
	content: " —";
	color: var(--text-hell);
}

section h2 {
	margin: 0 0 .5rem;
}

/* --- Startseite - Intro --- */
#intro {
	background: var(--color-pink-hell);
}

#intro h1 {
	color: var(--color-pink);
}

/* --- Startseite - Blog und Forum --- */
#auswahl {
	padding: 0;
	background: none;
}

#auswahl .grid-item {
	padding: 20px;
}

#auswahl .grid-item:first-child {
	background: var(--color-gelb-hell);
}

#auswahl .grid-item:last-child {
	background: var(--color-lila-hell);
}

/* --- Startseite - Über mich --- */
#ueber-mich .grid-item:first-child {
	text-align: center;
}


#ueber-mich img {
	border-radius: 4px;
	box-shadow: 10px 20px 45px -35px rgb(0 0 0 / .5);
	transition-duration: 1s;
	width: 90%;
}

#ueber-mich img:hover {
	transform: rotate(4deg);
}

.seitlich {
	font-size: .8rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	text-align: center;
}

@media (min-width: 64rem) {
	
	#ueber-mich {
		position: relative;
		display: flex;
		align-items: center; 
		padding-left: 60px;
	}
	
	.seitlich {		
		position: absolute;
		left: 30px;  
		top: 50%;
		transform: translateY(-50%) rotate(180deg); 
		writing-mode: vertical-lr; 
		text-align: center;
		white-space: nowrap; 
	}
	
	#ueber-mich .grid-item:first-child {
		text-align: left;
	}
}

/* --- Startseite - Zahlen --- */
.counter-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin: 40px auto 0;
	gap: 30px;
}

.counter-box {
	text-align: center;
	flex: 1;
}

.counter-wrapper {
	font-size: 3rem;
	font-weight: bold;
	font-family: 'Gilda Display', serif;
	display: block;
}

.counter-box p {
	margin: 20px 0 0;
	font-size: .8rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	display: inline-block; 
	position: relative;
	z-index: 1;          
}

.counter-box p::after {
  content: "";
  position: absolute;
  left: -10px;       
  right: -10px;        
  bottom: 2px; 
  height: 55%; 
  background: var(--color-gelb); 
  z-index: -1;           
  transform: rotate(-0.5deg); 
}

/* --- Startseite - Karten --- */

.card {
	background: var(--color-braun-hell);
	padding: 20px;
	border-radius: 10px;
	text-align: center;
	transition: box-shadow 400ms ease, transform 400ms ease, border-color 400ms ease; 
}

.card:hover { 
	transform: translateY(-3px); 
	border-color: var(--color-pink); 
	box-shadow: 0 0 8px rgb(219 103 156 / 25%), 0 0 20px rgb(219 103 156 / 16%), 0 4px 12px rgb(0 0 0 / 5%); 
}

.card p {
	font-size: .9rem;
}

.card ul, .card ol {
	text-align: left;
}

/* ##############################
Footer
##############################*/



cite::before {
	content: "— ";
}

/* --- dreispaltiges Layout --- */
#footer {
	background: var(--bg-footer);
	color: var(--color-grau-hell);
	margin-top: 20px;
	padding: 0 10px;
	text-align: center;
}

#footer section {
	margin: 0;
}

#footer h3 {
	text-align: center;
}

#footer .grid-container {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 2rem;
	align-items: start;
}

#footer .grid-container > .grid-item {
	width: 100%;
	min-width: 0;
	margin: 0;
}

@media (min-width: 64rem) {
	#footer .grid-container {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, 1fr);
		column-gap: 2rem;
		row-gap: 2rem;
	}
}

/* --- Menu (linke Spalte) */
#footer-menu {
	list-style: none;
	padding: 0;
}

#footer-menu li {
	padding: 5px 0;
}

#footer-menu li a {
	position: relative;
	display: inline-block;
	padding-bottom: 3px;

	color: var(--color-grau-hell);
	text-decoration: none;

	transition: color 250ms ease;
	background: transparent;
	background-image: none;
}

#footer-menu li a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;

	width: 100%;
	height: 1px;
	background: var(--color-pink);

	transform: scaleX(0);
	transform-origin: center;

	transition: transform 250ms ease;
}

#footer-menu li a:hover,
#footer-menu li a:focus-visible {
	color: var(--color-pink);
}

#footer-menu li a:hover::after,
#footer-menu li a:focus-visible::after {
	transform: scaleX(1);
}

/* --- Newsletter --- */
#footer .newsletter {
	margin: 1rem 0;
	padding: 20px;
}

/* --- meine anderen Projekte --- */
#footer .projekte a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	padding: 0.55rem 0.75rem;
	margin: 0 5px;
	color: var(--color-grau-hell);
	background: transparent;
	border: 1px solid var(--color-grau-hell);
	border-radius: 4px;
	font-size: 0.8rem;
	line-height: 1.3;
	text-decoration: none;

	transition: color 250ms ease;
}

#footer .projekte a:hover,
#footer .projekte a:focus-visible {
	color: var(--color-pink);
	border-color: var(--color-pink);
	background: transparent;
}

/* --- Kategorien --- */
#footer .kategorien ul {
	list-style: none;
}

#footer .kategorien li {
	border-bottom: 1px solid var(--color-lila-dunkel);
	padding: 5px;
}

#footer .kategorien li:last-child {
	border: 0;
}

#footer .kategorien a {
	color: var(--color-grau-hell);
}

#footer .kategorien a:hover,
#footer .kategorien a:focus-visible {
	color: var(--color-pink);

	background: transparent !important;
}


/* --- Social --- */
#footer .social a {
	color: var(--color-grau-hell);
}


/* --- Toplink --- */
.toplink a {
	color: var(--color-braun-hell);
	font-size: 30px;
}

.toplink a:hover {
	color: var(--icon-hover-color);
	background: none;
}

/* --- Copyright --- */
#copyright {
	margin: 0;
	padding: 0 10px;
	text-align: center;
	font-size: .8rem;
	background:var(--bg-copyright);
	color: var(--color-braun-hell);
}

#copyright .grid-container {
	align-items: center;
}

#copyright p {
	margin: 0;
}




@media (min-width: 64rem) {
	#footer,
	#copyright {
		padding: 0;
		text-align: left;
	}
	
	#footer .grid-item {
		border: 0;
		padding-bottom: 0;
	}
	
	.toplink {
		text-align: right;
	}
	
	#footer-menu {
		width: 70%;
	}
	
	#zitat {
		font-size: 2rem;
	}
}





/* ################################ 
   PLUGINS
################################ */

/* ##### Open Street Map ##### */
.wp-block-stepbyteservice-openstreetmap {
    margin-bottom: 1rem;
}

/* ##### MailPoet ##### */ 

#mailpoet_form_1 form.mailpoet_form {
	padding: 0 !important;
}

#mailpoet_form_1 .mailpoet_form_paragraph  {
	font-size: .8rem;
	margin: 0 !important;
	text-align: center !important;
	line-height: auto !important;
}

#mailpoet_form_1 .mailpoet_form_paragraph :first-child {
	margin: 0 0 10px !important;
}

.mailpoet_submit {
	padding: .55rem .75rem !important;
	color: var(--text);
	border: 1px solid var(--color-pink) !important;
	border-radius: 4px;
	font-size: .8rem;
	line-height: 1.3;
	width: auto !important;
	margin: 0 auto !important;
  	display: block !important;
}

.mailpoet_submit:hover {
    box-shadow:
        0 0 8px rgb(219 103 156 / 45%),
        0 0 20px rgb(219 103 156 / 30%);
    background: none;
}
/*
#mailpoet_form_1 .mailpoet_paragraph {
    line-height: 1.6 !important;
}

form.mailpoet-manage-subscription .mailpoet_text_label, 
form.mailpoet-manage-subscription .mailpoet_select_label, 
form.mailpoet-manage-subscription .mailpoet_segment_label{
    display: block;
    font-weight:bold;
}
form.mailpoet-manage-subscription .mailpoet_select, 
form.mailpoet-manage-subscription .mailpoet_text{
	width: 50%;
	padding: 12px;
}
form.mailpoet-manage-subscription .mailpoet_paragraph{
	margin-bottom:20px
}
form.mailpoet-manage-subscription .mailpoet_submit{
    padding: 20px;
    width: 50%;
    font-weight: bold;
    font-size: 11pt;
}*/

/* ##### Recipe Maker ##### */ 
.wprm-recipe-template-vl {
    padding: 2rem !important;
}

.wprm-decoration-line {
    border-color: var(--secondary-color) !important;
}

.wprm-recipe-template-vl .wprm-recipe-name, 
.wprm-recipe-template-vl .wprm-recipe-header {
    font-family: 'Berkshire Swash', serif !important;
}

.wprm-recipe-template-vl p, 
.wprm-recipe-template-vl li {
    font-size: 1.1rem !important;
}

.wprm-recipe-template-vl .wprm-recipe-name {
    text-align: center;
}

/* #### Easy Table of Contents #### */
#ez-toc-container {
    padding: 25px;
    margin: 10px 0;
    border-radius: 0 !important;
    border: 0 !important;
    background: var(--light-color) !important;
}

/* ##### Rank Math ##### */
#rank-math-rich-snippet-wrapper {
    border: 1px solid var(--secondary-color);
    padding: 2rem;
}


/* ##### Complianz ##### */
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
    height: auto !important;
}

/* ################################ 
   SHORTCODES
################################ */

/* [affiliate] */
.sponsored {
	display: none;
}

.fazit,
.tipp {
    padding: 20px;
    margin-bottom: 20px;
    border-radius: 4px;
    background: var(--color-braun-hell);
}

.fazit h2 {
    margin: 0;
    padding: 0 0 1rem;
    text-align: center;
}
