
/* Hover-Bridge für Desktop-Dropdowns */
.nav-bridge {
  position: relative;
}
.nav-bridge::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -10px;      /* Höhe der Brücke nach oben */
  height: 10px;   /* Brückenstärke – ggf. auf 12–14px erhöhen */
  pointer-events: auto;
  /* unsichtbar, nur Hover-Zone */
}

/* --------------------------------------- */


.service-card {
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.service-card:hover {
	transform: translateY(-6px);
}
.service-card:hover img {
	transform: scale(1.02);
}
.card-image {
	transition: transform 0.4s ease;
}

/* Flexbox Layout für einheitliche Button-Position */
.card-content {
	display: flex;
	flex-direction: column;
	min-height: 320px;
}
.card-description {
	flex: 1;
}

.hero-gradient {
	background: linear-gradient(135deg, #f5f7fa 0%, #e9ecef 100%);
}

/* --------------------------------------- */

footer a:not(.btn) {
	color: #4a90ff !important;
	text-decoration: none;
	font-weight: 500;
}

footer a:not(.btn):hover {
	color: #000066 !important;
}

.dark footer a:not(.btn) {
	color: #6ba3ff !important;
}

.dark footer a:not(.btn):hover {
	color: #93c5fd !important;
}


/* --------------------------------------- */

.object-card {
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.object-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 24px rgba(0,0,0,0.1);
}
.object-card:hover img {
	transform: scale(1.05);
}
.card-image {
	transition: transform 0.4s ease;
}

/* --------------------------------------- */

/* CKEditor Content Styling */

/* CKEditor Content Styling für bessere Darstellung */

.prose {
	color: inherit;
	line-height: 1.6;
}
.prose h1, 
.prose h2, 
.prose h3, 
.prose h4, 
.prose h5, 
.prose h6 {
	color: rgb(17 24 39);
}

/* Dark Mode Überschriften */
.dark .prose h1,
.dark .prose h2,
.dark .prose h3,
.dark .prose h4,
.dark .prose h5,
.dark .prose h6 {
	color: rgb(255 255 255);
}

/* Überschriften */
.prose h1 {
	font-size: 2rem;
	font-weight: 700;
	margin: 1.5rem 0 1rem 0;
}
.prose h2 {
	font-size: 1.5rem;
	font-weight: 600;
	margin: 1.25rem 0 0.75rem 0;
}
.prose h3 {
	font-size: 1.25rem;
	font-weight: 600;
	margin: 1rem 0 0.5rem 0;
}
.prose h4, .prose h5, .prose h6 {
	font-size: 1.125rem;
	font-weight: 600;
	margin: 0.75rem 0 0.5rem 0;
}

/* Links - deutlich sichtbar */
.prose a {
	color: #4a90ff !important;
	text-decoration: underline;
	font-weight: 500;
}
.prose a:hover {
	color: #000066 !important;
	text-decoration: underline;
}
.dark .prose a {
	color: #6ba3ff !important;
}
.dark .prose a:hover {
	color: #93c5fd !important;
}

.prose ul {
	list-style-type: disc;
	margin-left: 1.5rem;
}
.prose ol {
	list-style-type: decimal;
	margin-left: 1.5rem;
}

/* Absätze */
.prose p {
	margin: 0.75rem 0;
	color: rgb(75 85 99);
}
.dark .prose p {
	color: rgb(209 213 219);
}

.prose li {
	margin: 0.25rem 0;
}

/* Fett/Kursiv */
.prose strong {
	font-weight: 600;
	color: rgb(17 24 39);
}
.dark .prose strong {
	color: rgb(255 255 255);
}
.prose em {
	font-style: italic;
}

/* Blockquotes */
.prose blockquote {
	border-left: 4px solid #4a90ff;
	padding-left: 1rem;
	margin: 1rem 0;
	font-style: italic;
	color: rgb(107 114 128);
}
.dark .prose blockquote {
	border-left-color: #6ba3ff;
	color: rgb(156 163 175);
}

/* Tabellen */
.prose table {
	width: 100%;
	border-collapse: collapse;
	margin: 1rem 0;
}
.prose th,
.prose td {
	border: 1px solid rgb(209 213 219);
	padding: 0.5rem;
	text-align: left;
}
.dark .prose th,
.dark .prose td {
	border-color: rgb(75 85 99);
}
.prose th {
	background-color: rgb(249 250 251);
	font-weight: 600;
}
.dark .prose th {
	background-color: rgb(55 65 81);
}

.not-prose {
	/* Überschreibt prose-Styles für spezielle Bereiche */
}

/* --------------------------------------- */

/* Globale CKEditor-Styles für alle Textfelder (nicht nur .prose) 
.text-sm a,
.leading-relaxed a,
div[class*="text-"] a {
	color: #4a90ff !important;
	text-decoration: none;
	font-weight: 500;
} */


.text-sm a:not(.btn),
.leading-relaxed a:not(.btn),
div[class*="text-"] a:not(.btn) {
	color: #4a90ff !important;
	text-decoration: none;
	font-weight: 500;
}

.text-sm a:hover,
.leading-relaxed a:hover,
div[class*="text-"] a:hover {
	color: #000066 !important;
}
.dark .text-sm a,
.dark .leading-relaxed a,
.dark div[class*="text-"] a {
	color: #6ba3ff !important;
}
.dark .text-sm a:hover,
.dark .leading-relaxed a:hover,
.dark div[class*="text-"] a:hover {
	color: #93c5fd !important;
}

/* Listen in allen Textfeldern */
.text-sm ul,
.leading-relaxed ul,
div[class*="text-"] ul {
	list-style-type: disc;
	margin: 0.75rem 0;
	padding-left: 1.5rem;
}
.text-sm ol,
.leading-relaxed ol,
div[class*="text-"] ol {
	list-style-type: decimal;
	margin: 0.75rem 0;
	padding-left: 1.5rem;
}
.text-sm li,
.leading-relaxed li,
div[class*="text-"] li {
	margin: 0.25rem 0;
	line-height: 1.5;
}

/* Listen-Marker */
.text-sm ul li::marker,
.leading-relaxed ul li::marker,
div[class*="text-"] ul li::marker {
	color: #4a90ff;
}
.text-sm ol li::marker,
.leading-relaxed ol li::marker,
div[class*="text-"] ol li::marker {
	color: #4a90ff;
	font-weight: 600;
}

/* Überschriften in Textfeldern */
.text-sm h1, .text-sm h2, .text-sm h3, .text-sm h4,
.leading-relaxed h1, .leading-relaxed h2, .leading-relaxed h3, .leading-relaxed h4,
div[class*="text-"] h1, div[class*="text-"] h2, div[class*="text-"] h3, div[class*="text-"] h4 {
	font-weight: 600;
	margin: 1rem 0 0.5rem 0;
	color: rgb(17 24 39);
}
.dark .text-sm h1, .dark .text-sm h2, .dark .text-sm h3, .dark .text-sm h4,
.dark .leading-relaxed h1, .dark .leading-relaxed h2, .dark .leading-relaxed h3, .dark .leading-relaxed h4,
.dark div[class*="text-"] h1, .dark div[class*="text-"] h2, .dark div[class*="text-"] h3, .dark div[class*="text-"] h4 {
	color: rgb(255 255 255);
}

/* Fett-Text */
.text-sm strong,
.leading-relaxed strong,
div[class*="text-"] strong {
	font-weight: 600;
	color: rgb(17 24 39);
}
.dark .text-sm strong,
.dark .leading-relaxed strong,
.dark div[class*="text-"] strong {
	color: rgb(255 255 255);
}

/* -------------DATATABLES--------------- */

.dataTables_wrapper { overflow-x: auto; }
table.dataTable { width: 100% !important; }

/* ---------------------------------- */

.version-badge {
	background: linear-gradient(135deg, #4a90ff 0%, #000066 100%);
	animation: pulse-slow 3s ease-in-out infinite;
}
.current-version {
	border-left: 4px solid #4a90ff;
	background: linear-gradient(135deg, rgba(74,144,255,0.1) 0%, rgba(0,0,102,0.05) 100%);
}

