/*
Theme Name: Salient Child Theme
Description: This is a custom child theme for Salient
Theme URI:   https://themeforest.net/item/salient-responsive-multipurpose-theme/4363266
Author: ThemeNectar
Author URI:  https://themeforest.net/user/themenectar
Template: salient
Version: 1.1.7
*/



.wp-block-search__label { font-family: arial, sans-serif; padding-bottom: 25px; }
.wp-block-archives__label { font-family: arial, sans-serif; font-size: 14px; padding-bottom: 25px; }

/* Lucide Icon mit Text - Text-Größe fix */
.lucide-icon-text .lucide-text,
.lucide-icon-text .lucide-text *,
.lucide-icon-text .lucide-text p,
.lucide-icon-text .lucide-text span {
	font-size: inherit !important;
	font-weight: inherit !important;
}

/* ============================================
   Optimierte Autorenbox Styles
   ============================================ */

#author-bio.author-bio-optimized {
	margin: 60px 0;
	padding: 0;
}

#author-bio.author-bio-optimized .author-bio-inner {
	background: #ffffff;
	border: 1px solid #e5e5e5;
	border-radius: 12px;
	padding: 40px;
	display: flex;
	gap: 30px;
	align-items: flex-start;
	transition: all 0.3s ease;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

#author-bio.author-bio-optimized .author-bio-inner:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
	border-color: #d0d0d0;
}

/* Avatar Bereich */
#author-bio.author-bio-optimized .author-avatar-wrapper {
	flex-shrink: 0;
}

#author-bio.author-bio-optimized .author-avatar-wrapper img {
	border-radius: 50%;
	width: 120px;
	height: 120px;
	object-fit: cover;
	border: 4px solid #f5f5f5;
	transition: transform 0.3s ease, border-color 0.3s ease;
}

#author-bio.author-bio-optimized .author-bio-inner:hover .author-avatar-wrapper img {
	transform: scale(1.05);
	border-color: #e0e0e0;
}

/* Content Bereich */
#author-bio.author-bio-optimized .author-content-wrapper {
	flex: 1;
	min-width: 0;
}

/* Header mit Name und Social Links */
#author-bio.author-bio-optimized .author-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 20px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}

#author-bio.author-bio-optimized .author-title-section {
	flex: 1;
	min-width: 0;
}

#author-bio.author-bio-optimized .author-label {
	display: block;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #888;
	margin-bottom: 8px;
}

#author-bio.author-bio-optimized .author-name {
	font-size: 28px;
	line-height: 1.3;
	margin: 0;
	color: #000;
	word-wrap: break-word;
}

#author-bio.author-bio-optimized .author-name a {
	color: #000;
	text-decoration: none;
	transition: color 0.3s ease;
}

#author-bio.author-bio-optimized .author-name a:hover {
	color: #666;
}

/* Social Links */
#author-bio.author-bio-optimized .author-social-links {
	display: flex;
	gap: 12px;
	flex-shrink: 0;
}

#author-bio.author-bio-optimized .author-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #f5f5f5;
	color: #333;
	transition: all 0.3s ease;
	text-decoration: none;
}

#author-bio.author-bio-optimized .author-social-link:hover {
	background: #000;
	color: #fff;
	transform: translateY(-2px);
}

#author-bio.author-bio-optimized .author-social-link svg {
	width: 20px;
	height: 20px;
}

/* Beschreibung */
#author-bio.author-bio-optimized .author-description {
	margin: 20px 0;
}

#author-bio.author-bio-optimized .author-description p {
	font-size: 18px;
	line-height: 1.7;
	color: #333;
	margin: 0;
}

/* Footer mit Link */
#author-bio.author-bio-optimized .author-footer {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid #f0f0f0;
}

#author-bio.author-bio-optimized .author-posts-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	color: #000;
	text-decoration: none;
	transition: all 0.3s ease;
	padding: 12px 24px;
	border: 2px solid #000;
	border-radius: 6px;
	background: transparent;
}

#author-bio.author-bio-optimized .author-posts-link:hover {
	background: #000;
	color: #fff !important;
}

#author-bio.author-bio-optimized .author-posts-link:hover span {
	color: #fff !important;
}

#author-bio.author-bio-optimized .author-posts-link svg {
	transition: transform 0.3s ease;
}

#author-bio.author-bio-optimized .author-posts-link:hover svg {
	transform: translateX(4px);
}

/* Responsive Design */
@media only screen and (max-width: 999px) {
	#author-bio.author-bio-optimized .author-bio-inner {
		padding: 30px;
		gap: 24px;
	}
	
	#author-bio.author-bio-optimized .author-avatar-wrapper img {
		width: 100px;
		height: 100px;
	}
	
	#author-bio.author-bio-optimized .author-name {
		font-size: 24px;
	}
	
	#author-bio.author-bio-optimized .author-description p {
		font-size: 17px;
	}
}

@media only screen and (max-width: 690px) {
	#author-bio.author-bio-optimized {
		margin: 40px 0;
	}
	
	#author-bio.author-bio-optimized .author-bio-inner {
		flex-direction: column;
		align-items: center;
		text-align: center;
		padding: 24px;
		gap: 20px;
	}
	
	#author-bio.author-bio-optimized .author-avatar-wrapper img {
		width: 90px;
		height: 90px;
	}
	
	#author-bio.author-bio-optimized .author-header {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 16px;
	}
	
	#author-bio.author-bio-optimized .author-name {
		font-size: 22px;
	}
	
	#author-bio.author-bio-optimized .author-description p {
		font-size: 16px;
	}
	
	#author-bio.author-bio-optimized .author-social-links {
		justify-content: center;
	}
	
	#author-bio.author-bio-optimized .author-posts-link {
		width: 100%;
		justify-content: center;
		font-size: 15px;
		padding: 10px 20px;
	}
}

/* Dark Mode Support (optional) */
@media (prefers-color-scheme: dark) {
	body.dark-mode #author-bio.author-bio-optimized .author-bio-inner {
		background: #1a1a1a;
		border-color: #333;
	}
	
	body.dark-mode #author-bio.author-bio-optimized .author-name,
	body.dark-mode #author-bio.author-bio-optimized .author-name a {
		color: #fff;
	}
	
	body.dark-mode #author-bio.author-bio-optimized .author-description p {
		color: #ccc;
	}
	
	body.dark-mode #author-bio.author-bio-optimized .author-posts-link {
		color: #fff;
		border-color: #fff;
	}
	
	body.dark-mode #author-bio.author-bio-optimized .author-posts-link:hover {
		background: #fff;
		color: #000;
	}
}

/* ============================================
   PERSON CARD & MODAL STYLES
   ============================================ */

/* ============================================
   BLOG KATEGORIE SEITE - KARTEN OHNE SCHATTEN ABER MIT RAHMEN
   ============================================ */

/* Entferne nur Schatten von Blog-Post-Karten und setze Rahmen */
/*
.archive article,
.archive .nectar-post-grid-item,
.archive .post-area article,
.blog article,
.blog .nectar-post-grid-item {
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	border: 1px solid #e5e7eb !important;
	overflow: visible !important;
	height: auto !important;
	min-height: auto !important;
}

.archive article .inner-wrap,
.archive .nectar-post-grid-item .inner,
.blog article .inner-wrap,
.blog .nectar-post-grid-item .inner {
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	border: none !important;
	overflow: visible !important;
	height: auto !important;
	padding-bottom: 20px !important;
}
*/

/* Post Content - kein Overflow */
/*
.archive article .post-content,
.blog article .post-content,
.nectar-post-grid-item .post-content {
	overflow: visible !important;
	height: auto !important;
	padding-bottom: 20px !important;
}
*/

/* Padding für Grid Container und Post Area */
/*
.nectar-post-grid-wrap,
.post-area,
.archive .post-area,
.blog .post-area {
	padding: 0 2% !important;
}
*/

/* Margin zwischen den Cards für Luftigkeit */
/*
.archive article,
.blog article,
.nectar-post-grid-item {
	margin-bottom: 2% !important;
}
*/

/* Mobile: Mehr Padding */
/*
@media only screen and (max-width: 768px) {
	.nectar-post-grid-wrap,
	.post-area,
	.archive .post-area,
	.blog .post-area {
		padding: 0 4% !important;
	}
	
	.archive article,
	.blog article,
	.nectar-post-grid-item {
		margin-bottom: 4% !important;
	}
	
	.archive article .inner-wrap,
	.archive .nectar-post-grid-item .inner,
	.blog article .inner-wrap,
	.blog .nectar-post-grid-item .inner {
		padding-bottom: 30px !important;
	}
}
*/

/* Person Card Styles - UPDATED VERSION */
.person-card {
	background: #ffffff !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 16px !important;
	padding: 20px 24px !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
	box-shadow: none !important;
	position: relative !important;
}

.person-card:hover {
	border-color: #d1d5db !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

/* Hover Text - erscheint rechts beim Hover */
.person-card-hover-text {
	position: absolute !important;
	right: 24px !important;
	top: 50% !important;
	transform: translateY(-50%) translateX(10px) !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #223B19 !important;
	opacity: 0 !important;
	pointer-events: none !important;
	transition: all 0.3s ease !important;
	white-space: nowrap !important;
}

.person-card-hover-text svg {
	width: 20px !important;
	height: 20px !important;
	flex-shrink: 0 !important;
}

.person-card:hover .person-card-hover-text {
	opacity: 1 !important;
	transform: translateY(-50%) translateX(0) !important;
}

.person-card-image {
	width: 80px !important;
	height: 80px !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	flex-shrink: 0 !important;
}

.person-card-content {
	flex: 1 !important;
}

.person-card-name {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #000000 !important;
	margin: 0 0 4px 0 !important;
	line-height: 1.2 !important;
}

.person-card-position {
	font-size: 16px !important;
	font-weight: 400 !important;
	color: #6b7280 !important;
	margin: 0 !important;
	line-height: 1.4 !important;
}

/* Modal Overlay - ABSOLUT HÖCHSTER Z-INDEX */
body > .person-modal-overlay,
.person-modal-overlay {
	display: none !important;
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	min-height: 100vh !important;
	background: rgba(0, 0, 0, 0.95) !important;
	z-index: 999999999 !important;
	opacity: 0 !important;
	transition: opacity 0.3s ease !important;
	overflow-y: scroll !important;
	overflow-x: hidden !important;
	-webkit-overflow-scrolling: touch !important;
	overscroll-behavior: contain !important;
	pointer-events: auto !important;
	padding: 100px 0 80px 0 !important;
}

body > .person-modal-overlay.active,
.person-modal-overlay.active {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* Body-Klasse wenn Modal offen ist */
body.modal-open {
	position: fixed !important;
	width: 100% !important;
	overflow: hidden !important;
}

/* Modal Container */
body > .person-modal-overlay .person-modal,
.person-modal-overlay .person-modal,
.person-modal {
	background: #ffffff !important;
	border-radius: 16px !important;
	max-width: 600px !important;
	width: 90% !important;
	min-height: auto !important;
	max-height: none !important;
	overflow: visible !important;
	position: relative !important;
	transform: scale(0.9);
	transition: transform 0.3s ease;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3) !important;
	z-index: 1000000000 !important;
	margin: 0 auto !important;
	display: block !important;
	pointer-events: auto !important;
}

body > .person-modal-overlay.active .person-modal,
.person-modal-overlay.active .person-modal {
	transform: scale(1) !important;
}

/* Close Button */
.person-modal-close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #f3f4f6;
	border: 1px solid #e5e7eb;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
	z-index: 999999999 !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.person-modal-close:hover {
	background: #e5e7eb;
	transform: scale(1.05);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.person-modal-close svg {
	width: 24px;
	height: 24px;
	stroke: #4b5563;
	stroke-width: 2.5;
}

/* Modal Header - WICHTIG: Flex Layout für Bild links, Info rechts */
.person-modal-header {
	padding: 40px 40px 24px !important;
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 20px !important;
	border-bottom: 1px solid #e5e7eb !important;
	text-align: left !important;
}

.person-modal-image {
	width: 120px !important;
	height: 120px !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	flex-shrink: 0 !important;
	margin: 0 !important;
	display: block !important;
}

.person-modal-info {
	flex: 1 !important;
	text-align: left !important;
}

.person-modal-name {
	font-size: 28px !important;
	font-weight: 700 !important;
	color: #1f2937 !important;
	margin: 0 0 8px 0 !important;
	text-align: left !important;
}

.person-modal-position {
	font-size: 18px !important;
	font-weight: 500 !important;
	color: #6b7280 !important;
	margin: 0 0 4px 0 !important;
	text-align: left !important;
}

.person-modal-company {
	font-size: 16px !important;
	font-weight: 400 !important;
	color: #9ca3af !important;
	margin: 0 !important;
	text-align: left !important;
}

/* Modal Body */
.person-modal-body {
	padding: 32px 40px !important;
	text-align: left !important;
	max-height: none !important;
	overflow: visible !important;
}

.person-modal-description {
	font-size: 16px !important;
	line-height: 1.6 !important;
	color: #4b5563 !important;
	margin: 0 0 32px 0 !important;
	text-align: left !important;
}

/* Career Stations */
.person-modal-career-title {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #6b7280 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	margin: 0 0 16px 0 !important;
	text-align: left !important;
}

.person-career-stations-wrapper {
	background: #f9fafb !important;
	border-radius: 8px !important;
	padding: 20px !important;
	max-height: none !important;
	overflow: visible !important;
}

.person-career-station {
	display: flex !important;
	justify-content: space-between !important;
	align-items: baseline !important;
	gap: 20px !important;
	padding: 12px 0 !important;
	border-bottom: 1px solid #e5e7eb !important;
}

.person-career-station:first-child {
	padding-top: 0 !important;
}

.person-career-station:last-child {
	border-bottom: none !important;
	padding-bottom: 0 !important;
}

.person-career-date {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #374151 !important;
	margin: 0 !important;
	flex-shrink: 0 !important;
	text-align: left !important;
}

.person-career-role {
	font-size: 16px !important;
	font-weight: 400 !important;
	color: #6b7280 !important;
	margin: 0 !important;
	text-align: right !important;
}

/* Responsive */
@media (max-width: 768px) {
	.person-card {
		flex-direction: column !important;
		text-align: center !important;
	}
	
	/* Hover-Text auf Mobile ausblenden */
	.person-card-hover-text {
		display: none !important;
	}
	
	body > .person-modal-overlay,
	.person-modal-overlay {
		padding: 120px 10px 100px 10px !important;
	}
	
	body > .person-modal-overlay .person-modal,
	.person-modal-overlay .person-modal,
	.person-modal {
		width: 95% !important;
		margin: 0 auto !important;
		max-height: none !important;
	}
	
	.person-modal-header {
		padding: 32px 24px 20px !important;
		flex-direction: column !important;
		text-align: center !important;
	}
	
	.person-modal-info {
		text-align: center !important;
	}
	
	.person-modal-name,
	.person-modal-position,
	.person-modal-company {
		text-align: center !important;
	}
	
	.person-modal-body {
		padding: 24px !important;
		padding-bottom: 40px !important;
	}
	
	.person-modal-name {
		font-size: 24px !important;
	}
	
	.person-career-station {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 4px !important;
	}
	
	.person-career-role {
		text-align: left !important;
	}
	
	/* Close Button auf Mobile größer und besser sichtbar */
	.person-modal-close {
		top: 12px !important;
		right: 12px !important;
		width: 44px !important;
		height: 44px !important;
		background: #f3f4f6 !important;
		border: 2px solid #e5e7eb !important;
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important;
	}
	
	.person-modal-close svg {
		width: 26px !important;
		height: 26px !important;
		stroke: #4b5563 !important;
		stroke-width: 3 !important;
	}
}

/* ============================================
   BLOG POST ÜBERSCHRIFTEN - INDIVIDUELLE SCHRIFTGRÖSSEN
   ============================================ */

/* H1 in Blog-Beiträgen (Einzelansicht) */
.single-post .post-title h1,
.single-post h1.entry-title,
.single-post article h1:first-of-type,
body.single .entry-title {
	font-size: 36px !important;
	line-height: 1.3 !important;
}

/* H2 in Blog-Beiträgen */
.single-post article h2,
.single-post .post-content h2,
body.single article h2 {
	font-size: 28px !important;
	line-height: 1.4 !important;
	margin-top: 32px !important;
	margin-bottom: 16px !important;
}

/* H3 in Blog-Beiträgen */
.single-post article h3,
.single-post .post-content h3,
body.single article h3 {
	font-size: 22px !important;
	line-height: 1.4 !important;
	margin-top: 24px !important;
	margin-bottom: 12px !important;
}

/* Responsive Anpassungen für Blog Überschriften */
@media only screen and (max-width: 999px) {
	.single-post .post-title h1,
	.single-post h1.entry-title,
	.single-post article h1:first-of-type,
	body.single .entry-title {
		font-size: 32px !important;
	}
	
	.single-post article h2,
	.single-post .post-content h2,
	body.single article h2 {
		font-size: 24px !important;
	}
	
	.single-post article h3,
	.single-post .post-content h3,
	body.single article h3 {
		font-size: 20px !important;
	}
}

@media only screen and (max-width: 690px) {
	.single-post .post-title h1,
	.single-post h1.entry-title,
	.single-post article h1:first-of-type,
	body.single .entry-title {
		font-size: 28px !important;
	}
	
	.single-post article h2,
	.single-post .post-content h2,
	body.single article h2 {
		font-size: 22px !important;
	}
	
	.single-post article h3,
	.single-post .post-content h3,
	body.single article h3 {
		font-size: 18px !important;
	}
}

/* ============================================================
   COOKIE-EINSTELLUNGEN LINK STYLING
   ============================================================ */

/* Cookie-Einstellungen Link - Standard (weiß) */
body a[onclick*="openUsercentricsSettings"],
body .cookie-settings-link,
body a.cookie-settings-link,
#footer-outer a[onclick*="openUsercentricsSettings"],
.container-wrap a[onclick*="openUsercentricsSettings"] {
	font-size: 14px !important;
	line-height: 1.5 !important;
	color: #ffffff !important;
	transition: color 0.3s ease !important;
}

/* Cookie-Einstellungen Link - Hover (wird grün #B5DB9E) */
body a[onclick*="openUsercentricsSettings"]:hover,
body .cookie-settings-link:hover,
body a.cookie-settings-link:hover,
#footer-outer a[onclick*="openUsercentricsSettings"]:hover,
.container-wrap a[onclick*="openUsercentricsSettings"]:hover,
a[onclick*="openUsercentricsSettings"]:hover {
	color: #B5DB9E !important;
	text-decoration: none !important;
}
