/*
Theme Name: KSX
Theme URI: https://konsultaix.de/
Description: Child Theme von Hello Elementor für individuelle Anpassungen
Author: EP
Template: hello-elementor
Version: 1.0.0
*/

body {
    overflow-x: hidden !important;
    width: 100%;
    max-width: 100%;
}
.kx-posts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 20px;
}

.kx-posts-grid .kx-slide {
    width: 100%;
    height: auto;
}

.kx-posts-grid .swiper-slide-content {
    height: 100%;
}

.carousel-post-item {
    transition: all 0.2s ease;
}


.archive-grid-ajax-numeric-pagination .page-numbers .page-numbers:hover {
    background-color: #182D42 !important;
    color: #fff !important;
    border-color: #182D42 !important;
}
.archive-grid-ajax-numeric-pagination .page-numbers .page-numbers.current {
    background-color: #182D42 !important;
    color: #fff !important;
    border-color: #182D42 !important;
}

.kate-menu-list .elementor-icon-list-item.active a {
    border: 1px solid #182D42 !important;
    border-radius: 6px;
    padding: 4px 12px;
    text-decoration: none !important;
}

.kate-menu-list .elementor-icon-list-item a {
    border: 1px solid transparent;
    border-radius: 6px;
    padding: 4px 12px;
    text-decoration: none !important;
    transition: all 0.2s ease;
}

.kate-menu-list .elementor-icon-list-item a:hover {
    border-color: #182D42;
    text-decoration: none !important;
}
.kate-menu-list .elementor-icon-list-item a:focus {
    border-color: #182D42;
    text-decoration: none !important;
}

.elementor-sticky--active {
    box-shadow: 0 8px 10px -8px rgba(0, 0, 0, 0.4) !important;
}

@media (max-width: 767px) {
    .kx-posts-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
    .kx-posts-grid { grid-template-columns: repeat(1, 1fr); }
}


/* Submenu: active page looks same as hover */
.elementor-19 .elementor-element.elementor-element-83f3e01 .elementor-nav-menu--dropdown a.elementor-sub-item:hover,
.elementor-19 .elementor-element.elementor-element-83f3e01 .elementor-nav-menu--dropdown a.elementor-sub-item:focus,
.elementor-19 .elementor-element.elementor-element-83f3e01 .elementor-nav-menu--dropdown a.elementor-sub-item.elementor-item-active,
.elementor-19 .elementor-element.elementor-element-3fa1d88 .elementor-nav-menu--dropdown a:hover,
.elementor-19 .elementor-element.elementor-element-3fa1d88 .elementor-nav-menu--dropdown a:focus,
.elementor-19 .elementor-element.elementor-element-3fa1d88 .elementor-nav-menu--dropdown a.elementor-item-active,
.elementor-19 .elementor-element.elementor-element-3fa1d88 .elementor-nav-menu--dropdown .menu-item.current-menu-item > a,
.elementor-19 .elementor-element.elementor-element-3fa1d88 .elementor-nav-menu--dropdown .menu-item.current-menu-parent > a,
.elementor-19 .elementor-element.elementor-element-3fa1d88 .elementor-nav-menu--dropdown .menu-item.current-menu-ancestor > a,
.elementor-19 .elementor-element.elementor-element-3fa1d88 .elementor-nav-menu--dropdown a.has-submenu[aria-expanded="true"] {
    background-color: #5B6B7B !important;
    color: #fff !important;
    text-decoration: none !important;
}

  .elementor-19 .elementor-element.elementor-element-83f3e01 .elementor-nav-menu--main a.elementor-item {
    font-size: 1rem !important;
    padding: 15px 10px !important;
  }




/* Inline category pills */
.kate-menu-list .elementor-icon-list-items.elementor-inline-items {
  margin-inline: 0 !important;
  gap: 6px 10px;
  justify-content: center;
}

.kate-menu-list .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item {
  margin-inline: 0 !important;
}

.kate-menu-list .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after {
  display: none !important;
}

.kate-menu-list.elementor-list-item-link-full_width .elementor-icon-list-item a {
  width: auto !important;
  padding: 3px 10px !important;
}

.kate-menu-list .elementor-icon-list-text {
  font-size: 16px !important;
  line-height: 1.3 !important;
}

/* Full-width category bar */
.elementor-9866 .elementor-element-1af5bb6,
.elementor-10602 .elementor-element-e94637a {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
}

@media (max-width: 767px) {
  .kate-menu-list .elementor-icon-list-text {
    font-size: 12px !important;
  }

  .kate-menu-list .elementor-icon-list-items.elementor-inline-items {
    gap: 4px 6px;
  }

  .kate-menu-list .elementor-icon-list-item a {
    padding: 2px 6px !important;
  }
}

/* Category sections: search inline with title, subtitle below */
.posts-carousel .carousel-header-wrapper {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  gap: 10px 20px;
  align-items: start;
}

.posts-carousel .carousel-header-content {
  display: contents;
}

.posts-carousel .header-carousel-title {
  grid-column: 1;
  grid-row: 1;
  margin: 0 !important;
}

.posts-carousel .header-carousel-subtitle {
  grid-column: 1 / -1;
  grid-row: 2;
  margin: 0 !important;
}

.posts-carousel .carousel-filter-container {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  justify-self: end;
  width: auto !important;
  margin-top: 4px;
}

/* Smaller search bar */
.posts-carousel .ajax-search-field-wrapper {
  display: flex;
  align-items: center;
  gap: 6px;
}

.posts-carousel .ajax-search-input {
  font-size: 13px !important;
  padding: 4px 8px 4px 34px !important;
  height: 32px;
  min-height: 32px;
  width: 200px;
  max-width: 200px;
  background-size: 15px !important;
  background-position-x: 10px !important;
}

.posts-carousel .ajax-search-button {
  font-size: 12px !important;
  padding: 5px 10px !important;
  min-height: 32px;
  line-height: 1.2;
}

.posts-carousel .ajax-search-button .elementor-button-text {
  font-size: 12px !important;
}

@media (max-width: 767px) {
  .posts-carousel .carousel-header-wrapper {
    gap: 8px 10px;
  }

  .posts-carousel .carousel-filter-container {
    width: auto !important;
  }

  .posts-carousel .ajax-search-input {
    width: 110px;
    max-width: 110px;
    font-size: 12px !important;
    padding-left: 30px !important;
  }

  .posts-carousel .ajax-search-button {
    font-size: 11px !important;
    padding: 4px 8px !important;
    min-height: 30px;
  }
}

/* CTA link + green underline: consistent tight gap */
.elementor-widget-text-editor:has(+ .elementor-widget-divider) p {
  margin-bottom: 0 !important;
}

.elementor-widget-text-editor + .elementor-widget-divider {
  margin-top: calc(-1 * var(--widgets-spacing-row, 20px)) !important;
}

/* Wissen page: align card buttons on one line */
.elementor-9484 .checked-list > .e-con-inner {
  align-items: stretch !important;
}
.elementor-9484 .checked-list .box-shadow.e-con.e-child {
  height: 100% !important;
}
.elementor-9484 .checked-list .box-shadow.e-con.e-child > .elementor-widget-button:last-child {
  margin-top: auto !important;
}
/* Post carousel cards – tighter gap */
.elementor-ajax-carousel-wrapper .swiper-slide {
  margin-right: 2px !important;
}
/* Sections with spaceBetween 25 → ~6px */
.elementor-ajax-carousel-wrapper[data-carousel-config*="spaceBetween&quot;:25"] .swiper-slide {
  margin-right: 6px !important;
  padding: 10px 6px 10px 6px !important;

}
.elementor-ajax-carousel-wrapper .swiper-slide {
  padding: 10px 6px 10px 6px !important;

}
.kx-posts-grid {
  gap: 2px !important;
}
.elementor-page-9866 .post-btn,
.elementor-page-9866 .post-btn:hover {
  border-bottom-color: var(--e-global-color-primary, #182D42) !important;
}
/* Match live footer spacing on staging */
.elementor-149 .e-con {
  --row-gap: 0px !important;
  --gap: 0px 20px !important;
  row-gap: 0 !important;
  gap: 0px 20px !important;
}
/* Post carousel cards */
.elementor-ajax-carousel-wrapper .carousel-post-item,
.kx-posts-grid .carousel-post-item {
  display: flex !important;
  flex-direction: column !important;
  overflow: visible !important;
  border-radius: 14px !important;
  box-shadow:
    0 -4px 8px 0 rgba(0, 0, 0, 0.15),
    0 4px 25px 0 #5B6B7B !important;
  transition: transform 0.4s ease, box-shadow 0.3s ease !important;
}

.elementor-ajax-carousel-wrapper .carousel-post-item .post-thumbnail,
.kx-posts-grid .carousel-post-item .post-thumbnail {
  overflow: hidden;
  border-radius: 14px 14px 0 0;
}

.elementor-ajax-carousel-wrapper .carousel-post-item:hover,
.kx-posts-grid .carousel-post-item:hover {
  box-shadow:
    0 -4px 8px 0 rgba(0, 0, 0, 0.15),
    0 4px 12px 0 #5B6B7B !important;
  transform: translateY(-10px);
	overflow: visible !important;
}

/* Related posts — same shadow treatment */
.elementor-widget-ajax-archive-related-posts .archive-grid-card-item,
.elementor-305 .archive-grid-card-item {
  overflow: visible !important;
  box-shadow:
    0 -4px 8px 0 rgba(0, 0, 0, 0.15),
    0 4px 35px 0 #5B6B7B !important;
}

.elementor-widget-ajax-archive-related-posts .archive-grid-card-item .post-thumbnail,
.elementor-305 .archive-grid-card-item .post-thumbnail {
  overflow: hidden;
  border-radius: 14px 14px 0 0;
}

.elementor-widget-ajax-archive-related-posts .archive-grid-card-item:hover,
.elementor-305 .archive-grid-card-item:hover {
  box-shadow:
    0 -4px 8px 0 rgba(0, 0, 0, 0.15),
    0 4px 12px 0 #5B6B7B !important;
  transform: translateY(-10px);
	overflow: visible !important;
}

/* Let card shadow render outside slide */
.elementor-ajax-carousel-wrapper .swiper-slide {
  overflow: visible !important;
}


.post-btn i.eicon-chevron-right {
  display: none;
}

@media (min-width: 1025px) {
  /* Logo + tagline: match live 20px gap */
  .elementor-19 .elementor-element.elementor-element-40e6fd8 {
    gap: 0 20px !important;
    --gap: 0 20px !important;
    --e-con-flex-gap: 20px !important;
    --column-gap: 20px !important;
    --row-gap: 0px !important;
  }
  .elementor-19 .elementor-element.elementor-element-2bc4620 {
    margin: 0 0 10px 0 !important;
    margin-left: 0 !important;
  }
}


.chevron-right {
	display:inline-flex;
	align-items:center;
}

a.post-btn::after,
.post-btn a::after,
.chevron-right a::after{
  content: "";
  display: inline-block;
  width: .7em;
  height: .7em;
  margin-left: 5px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23168400' fill-opacity='0.949' d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: rotate(-90deg);
  vertical-align: middle;
  transition: all .3s;
}

a.post-btn::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23182D42' fill-opacity='0.949' d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z'/%3E%3C/svg%3E");
}

a.post-btn:hover::after {
	 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23168400' fill-opacity='0.949' d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z'/%3E%3C/svg%3E");
}


a.post-btn {
	border-color: #182D42!important;
}
a.post-btn:hover {
	border-color: #168400!important;
	color: #168400!important;
}



.post-btn a,
.chevron-right a {
	width:100%!important;
}

a.post-btn:hover::after,
.post-btn a:hover::after,
.chevron-right a:hover::after{
	  margin-left: 14px;
}

/* Related-Posts-Widget komplett ausblenden, wenn keine passenden Beiträge existieren.
   Die leere Variante rendert <p class="archive-no-posts-found">; darüber greift :has(). */
.elementor-widget-ajax-archive-related-posts:has(.archive-no-posts-found) {
  display: none;
}

/* Übersichtsseite: Kategorie-Karussell-Sektion ausblenden, wenn die Kategorie
   keine Beiträge hat. Das ajax-posts-carousel-Widget rendert dann
   <p class="no-posts-found">; die ganze e-child-Sektion (Überschrift + Button +
   leeres Karussell) verschwindet. Der zugehörige Menü-Button wird von
   syncMenuVisibility() automatisch mit ausgeblendet, weil die Sektion display:none wird. */
.e-con.e-child:has(.no-posts-found) {
  display: none;
}

/* Single post: related posts grid */
.elementor-widget-ajax-archive-related-posts .archive-grid-card-item,
.elementor-305 .archive-grid-card-item {
  display: flex !important;
  flex-direction: column !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 35px 0 #5B6B7B !important;
  overflow: hidden !important;
  transition: transform 0.2s ease !important;
}

.elementor-widget-ajax-archive-related-posts .archive-grid-card-item:hover,
.elementor-305 .archive-grid-card-item:hover {
  box-shadow: 0 4px 35px 0 #5B6B7B !important;
  transform: translateY(-10px);
}

.elementor-widget-ajax-archive-related-posts .archive-grid-card-item .post-content-wrap,
.elementor-305 .archive-grid-card-item .post-content-wrap {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
}

.elementor-widget-ajax-archive-related-posts .archive-grid-card-item .post-excerpt,
.elementor-305 .archive-grid-card-item .post-excerpt {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.elementor-widget-ajax-archive-related-posts .archive-grid-card-item .post-btn,
.elementor-305 .archive-grid-card-item .post-btn {
  margin-top: auto !important;
  align-self: flex-start !important;
  white-space: nowrap !important;
}

.elementor-widget-ajax-archive-related-posts .post-btn .eicon,
.elementor-305 .post-btn .eicon {
  font-family: eicons !important;
  margin-left: 4px;
}


/* Post carousel cards */
.elementor-ajax-carousel-wrapper .carousel-post-item,
.kx-posts-grid .carousel-post-item,
.elementor-widget-ajax-archive-related-posts .archive-grid-card-item,
.elementor-305 .archive-grid-card-item {
  display: flex !important;
  flex-direction: column !important;
  overflow: visible !important;
  border-radius: 14px !important;
  box-shadow:
    0 -4px 8px 0 rgba(0, 0, 0, 0.15),
    0 4px 25px 0 #5B6B7B !important;
  transition: transform 0.4s ease, box-shadow 0.3s ease !important;
}

.elementor-ajax-carousel-wrapper .carousel-post-item .post-thumbnail,
.kx-posts-grid .carousel-post-item .post-thumbnail,
.elementor-widget-ajax-archive-related-posts .archive-grid-card-item .post-thumbnail,
.elementor-305 .archive-grid-card-item .post-thumbnail {
  overflow: hidden;
  border-radius: 14px 14px 0 0;
}

.elementor-ajax-carousel-wrapper .carousel-post-item:hover,
.kx-posts-grid .carousel-post-item:hover,
.elementor-widget-ajax-archive-related-posts .archive-grid-card-item:hover,
.elementor-305 .archive-grid-card-item:hover {
  box-shadow:
    0 -4px 8px 0 rgba(0, 0, 0, 0.15),
    0 4px 12px 0 #5B6B7B !important;
  transform: translateY(-10px);
  overflow: visible !important;
}
/* ============================================
   KSX Single Post — both templates (305 + 10657)
   ============================================ */

/* --- TOC (shared layout) --- */
.single-post .kx-post-toc {
  list-style: none;
  margin: 0;
  padding: 0;
}

.single-post .kx-post-toc .elementor-icon-list-item {
  margin-bottom: 12px;
}

.single-post .kx-post-toc a {
  text-decoration: none;
}

.single-post .kx-post-toc a:hover .elementor-icon-list-text {
  opacity: 0.85;
}

/* BLUE template 305 — TOC links match "Inhaltsverzeichnis" */
.elementor-page-305 .kx-post-toc .elementor-icon-list-text {
  color: var(--e-global-color-primary, #182D42) !important;
  line-height: 1.4;
}

/* GREEN template 10657 — TOC same as "Inhaltsverzeichnis" heading */
.elementor-page-10657 .kx-post-toc a,
.elementor-page-10657 .kx-post-toc .elementor-icon-list-text {
  color: var(--e-global-color-primary, #182D42) !important;
  line-height: 1.4;
}

/* --- Section body (both templates) --- */
.single-post .kx-article-sections .kx-section {
  margin-bottom: 40px;
}

.single-post .kx-article-sections .kx-section h2 {
  margin-bottom: 16px;
}

.single-post .kx-section-image {
  margin: 16px 0 24px;
}

.single-post .kx-section-image img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

.single-post .kx-section-content img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 24px 0 !important;
  clear: both;
}

.single-post .kx-section-content p {
  margin-bottom: 1em;
  color: var(--e-global-color-text, #282F3A);
  font-size: 16px;
  line-height: 1.4;
}

/* --- Kurz erklärt / [kx_info] — BLUE template 305 --- */
.elementor-page-305 .kx-info-widget {
  background-color: #EBF4FF;
  margin: 0 0 24px;
  padding: 16px;
}

.elementor-page-305 .kx-info-widget .elementor-testimonial-wrapper {
  text-align: start;
}

.elementor-page-305 .kx-info-widget .elementor-testimonial-content {
  color: #282F3A;
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 12px;
}

.elementor-page-305 .kx-info-widget .elementor-testimonial-meta-inner {
  display: flex;
  align-items: center;
  gap: 12px;
}

.elementor-page-305 .kx-info-widget .elementor-testimonial-image img {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: block;
}

.elementor-page-305 .kx-info-widget .elementor-testimonial-name {
  color: var(--e-global-color-primary, #182D42);
  font-weight: 600;
  font-size: 16px;
}

/* --- Kurz erklärt / [kx_info] — GREEN template 10657 --- */
.elementor-page-10657 .kx-info-widget {
  background-color: #F2FFEB;
  margin: 0 0 24px;
  padding: 16px;
}

.elementor-page-10657 .kx-info-widget .elementor-testimonial-wrapper {
  text-align: start;
}

.elementor-page-10657 .kx-info-widget .elementor-testimonial-content {
  color: #282F3A;
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 12px;
}

.elementor-page-10657 .kx-info-widget .elementor-testimonial-meta-inner {
  display: flex;
  align-items: center;
  gap: 12px;
}

.elementor-page-10657 .kx-info-widget .elementor-testimonial-image img {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: block;
}

.elementor-page-10657 .kx-info-widget .elementor-testimonial-name {
  color: var(--e-global-color-primary, #182D42);
  font-weight: 600;
  font-size: 16px;
}

/* --- Author / [kx_author] (both templates) --- */
.single-post .kx-author-widget .elementor-post-info {
  margin: 0;
  padding: 0;
  list-style: none;
}

.single-post .kx-author-widget .elementor-icon-list-item a {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: var(--e-global-color-primary, #182D42);
}

.single-post .kx-author-widget .elementor-icon-list-icon {
  width: 55px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.single-post .kx-author-widget .elementor-avatar {
  width: 55px;
  height: 55px;
  border-radius: 50%;
  display: block;
}

.single-post .kx-author-widget .elementor-icon-list-text {
  color: var(--e-global-color-primary, #182D42) !important;
  font-size: 16px;
}

/* GREEN template 10657 — show lightbulb in [kx_info] */
.elementor-page-10657 .kx-info-widget .elementor-testimonial-meta-inner {
  display: flex !important;
  align-items: center;
  gap: 12px;
}

.elementor-page-10657 .kx-info-widget .elementor-testimonial-image {
  width: 42px !important;
  min-width: 42px !important;
  flex-shrink: 0 !important;
  display: block !important;
}
/* =========================================================
   KSX single post — typography, author gap, info placement
   Paste into Appearance → Customize → Additional CSS
   ========================================================= */

/* One font family across the post template (blue + green) */
body.single-post.elementor-page-305,
body.single-post.elementor-page-10657 {
  font-family: 'Inter', sans-serif;
}

body.single-post.elementor-page-305 .kx-post-toc,
body.single-post.elementor-page-305 .kx-post-toc a,
body.single-post.elementor-page-305 .kx-post-toc .elementor-icon-list-text,
body.single-post.elementor-page-305 .kx-section,
body.single-post.elementor-page-305 .kx-section h2,
body.single-post.elementor-page-305 .kx-section-content,
body.single-post.elementor-page-305 .kx-section-content p,
body.single-post.elementor-page-305 .kx-section-content li,
body.single-post.elementor-page-305 .kx-section-content pre,
body.single-post.elementor-page-305 .kx-info-widget,
body.single-post.elementor-page-305 .kx-info-widget p,
body.single-post.elementor-page-305 .kx-info-widget .elementor-testimonial-name,
body.single-post.elementor-page-305 .kx-author-widget,
body.single-post.elementor-page-305 .kx-author-widget .elementor-icon-list-text,
body.single-post.elementor-page-10657 .kx-post-toc,
body.single-post.elementor-page-10657 .kx-post-toc a,
body.single-post.elementor-page-10657 .kx-post-toc .elementor-icon-list-text,
body.single-post.elementor-page-10657 .kx-section,
body.single-post.elementor-page-10657 .kx-section h2,
body.single-post.elementor-page-10657 .kx-section-content,
body.single-post.elementor-page-10657 .kx-section-content p,
body.single-post.elementor-page-10657 .kx-section-content li,
body.single-post.elementor-page-10657 .kx-section-content pre,
body.single-post.elementor-page-10657 .kx-info-widget,
body.single-post.elementor-page-10657 .kx-info-widget p,
body.single-post.elementor-page-10657 .kx-info-widget .elementor-testimonial-name,
body.single-post.elementor-page-10657 .kx-author-widget,
body.single-post.elementor-page-10657 .kx-author-widget .elementor-icon-list-text,
body.single-post.elementor-page-305 .elementor-heading-title,
body.single-post.elementor-page-305 .ep-dynamic-text,
body.single-post.elementor-page-10657 .elementor-heading-title,
body.single-post.elementor-page-10657 .ep-dynamic-text {
  font-family: 'Inter', sans-serif !important;
	
}

/* Safety net if ACF still outputs <pre> */
.kx-section-content pre {
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 1em !important;
  white-space: pre-wrap !important;
}

/* Author: more space between photo and name */
.kx-author-widget .elementor-inline-items {
  gap: 18px !important;
  align-items: center !important;
}

.kx-author-widget .elementor-icon-list-item,
.kx-author-widget .kx-author-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 18px !important;
}

.kx-author-widget .elementor-icon-list-icon {
  margin-right: 0 !important;
  flex: 0 0 auto;
}

.kx-author-widget .elementor-avatar {
  display: block;
  border-radius: 50%;
}

/* Info box between section 1 and section 2 */
.kx-info-widget.kx-info-after-section-1 {
  margin: 36px 0 44px;
}

.elementor-page-305 .kx-info-widget.kx-info-after-section-1 {
  background-color: #EBF4FF;
  border-radius: 12px;
  padding: 24px;
	margin-bottom:30px
}

.elementor-page-10657 .kx-info-widget.kx-info-after-section-1 {
  background-color: #F2FFEB;
  border-radius: 12px;
  padding: 24px;
	margin-bottom:30px
}

/* Hide duplicate empty [kx_info] widget container if left in template */
.elementor-widget-shortcode:has(.elementor-shortcode:empty) {
  display: none;
}


.elementor-page-10657 .kx-info-widget .elementor-testimonial-image img {
  width: 42px !important;
  height: 42px !important;
  max-width: none !important;
  display: block !important;
  border-radius: 50%;
}
/* Green template — lamp image visible */
.elementor-page-10657 .kx-info-widget .elementor-testimonial-image {
  width: 42px !important;
  min-width: 42px !important;
  flex-shrink: 0 !important;
}

.elementor-page-10657 .kx-info-widget .elementor-testimonial-image img {
  width: 42px !important;
  height: 42px !important;
  max-width: none !important;
  display: block !important;
 
}

/* Single post hero: prevent long titles from painting under the image */
.elementor-page-305 .elementor-element-0c9d99b .ep-dynamic-text,
.elementor-page-10657 .elementor-element-90cb6e7 .ep-dynamic-text {
  overflow-wrap: anywhere;
  hyphens: auto;
}

@media (min-width: 768px) {
  .elementor-page-305 .elementor-element-7898cbe8,
  .elementor-page-10657 .elementor-element-36dd1720 {
    gap: 0 32px !important;
    --column-gap: 32px !important;
  }

  .elementor-page-305 .elementor-element-74d76544,
  .elementor-page-10657 .elementor-element-2d05f5f3 {
    align-items: flex-start !important;
    padding-right: 24px !important;
  }
}

.single-post .kx-section-content,
.single-post .kx-section-content p,
.single-post .kx-section-content ul,
.single-post .kx-section-content ol,
.single-post .kx-section-content li {
  font-size: 16px;
  line-height: 1.4;
  color: var(--e-global-color-text, #282F3A);
}

.single-post .kx-section-content p {
  margin-bottom: 1em;
}

.single-post .kx-section-content ul,
.single-post .kx-section-content ol {
  margin: 0 0 1em;
  padding-left: 1.25em;
}

.kx-author-widget .elementor-icon-list-icon {
  width: 55px;
  height: 55px;
  overflow: hidden;
  border-radius: 50%;
  flex: 0 0 55px;
}

.kx-author-widget .elementor-avatar {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  object-position: center top;
  display: block;
}
/* Steuertipps hub — Lesen stays navy on hover */
body.elementor-page-9866 .post-btn:hover,
body.elementor-page-9866 .carousel-post-item .post-btn:hover,
body.elementor-page-9866 .archive-grid-card-item .post-btn:hover {
  color: #182d42 !important;
  border-bottom-color: #182d42 !important;
}
/* ==========================================================================
   Hub pages mobile — Steuertipps (9866) + Zusammenarbeit (10602)
   Paste into Additional CSS if not yet in theme style.css, header menu issue
   ========================================================================== */

@media (max-width: 767px) {

  .posts-carousel .carousel-header-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  .posts-carousel .carousel-header-content {
    display: block !important;
    width: 100% !important;
    text-align: center;
  }

  .posts-carousel .header-carousel-title,
  .posts-carousel .header-carousel-subtitle {
    grid-column: unset !important;
    grid-row: unset !important;
    width: 100% !important;
    text-align: center;
  }

  .posts-carousel .header-carousel-subtitle {
    margin-top: 8px !important;
  }

  .posts-carousel .carousel-filter-container {
    grid-column: unset !important;
    grid-row: unset !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 0 !important;
    align-self: stretch !important;
    justify-self: stretch !important;
  }

  .posts-carousel .ajax-search-field-wrapper {
    width: 100% !important;
    gap: 8px;
  }

  .posts-carousel .ajax-search-input {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 40px !important;
    min-height: 40px !important;
    font-size: 14px !important;
    padding: 8px 12px 8px 38px !important;
  }

  .posts-carousel .ajax-search-button {
    flex: 0 0 auto !important;
    min-height: 40px !important;
    padding: 8px 16px !important;
    font-size: 14px !important;
  }

  .posts-carousel .ajax-search-button .elementor-button-text {
    font-size: 14px !important;
  }

  .posts-carousel .elementor-ajax-carousel-wrapper {
    overflow: hidden !important;
    margin-left: -4px;
    margin-right: -4px;
  }

  .posts-carousel .elementor-ajax-carousel-wrapper .swiper-container {
    overflow: hidden !important;
  }
  .posts-carousel .elementor-ajax-carousel-wrapper .swiper-slide {
    max-width: calc(100% - 16px) !important;
    box-sizing: border-box !important;
  }

  .posts-carousel .elementor-ajax-carousel-wrapper .swiper-slide .carousel-post-item {
    width: 100% !important;
  }

  body.elementor-page-9866 .elementor-widget-button.relative-mobile,
  body.elementor-page-10602 .elementor-widget-button.relative-mobile {
    width: 100% !important;
  }

  body.elementor-page-9866 .elementor-widget-button.relative-mobile .elementor-button,
  body.elementor-page-10602 .elementor-widget-button.relative-mobile .elementor-button {
    display: flex !important;
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 12px 20px !important;
  }

  body.elementor-page-9866 .posts-carousel .ajax-search-button,
  body.elementor-page-9866 .elementor-widget-button.relative-mobile .elementor-button {
    background-color: #182d42 !important;
    border-color: #182d42 !important;
    color: #fff !important;
  }

  body.elementor-page-10602 .posts-carousel .ajax-search-button,
  body.elementor-page-10602 .elementor-widget-button.relative-mobile .elementor-button {
    background-color: #1a9301 !important;
    border-color: #1a9301 !important;
    color: #fff !important;
  }
}

.posts-carousel .elementor-ajax-carousel-wrapper .swiper-slide {
  --carousel-gap: 15px;
}


@media (min-width: 768px) and (max-width: 1024px) {
  .posts-carousel .elementor-ajax-carousel-wrapper .swiper-slide {
    width: calc((var(--carousel-width) - 2 * var(--carousel-gap)) / 3);
  }
}

/* @media (max-width: 767px) {
  .posts-carousel .elementor-ajax-carousel-wrapper .swiper-slide {
    width: 100%;
  } */
.swiper-slide .post-title {
    hyphens: auto !important;
    overflow-wrap: break-word !important;
}


h1,h2,h3,h4,h5,h6,p {
  hyphens: auto;
  overflow-wrap: break-word;
}

@media (max-width:360px) {
   .elementor-button span.elementor-button-content-wrapper span.elementor-button-text {
		font-size: 13px!important;
	}
}

body.home footer .elementor-element-494de9c{
	background-color: #fff!important;
}


/* ==========================================================================
   Mobile/Tablet burger menu — dark overlay behind open dropdown
   ========================================================================== */
body:has(.elementor-menu-toggle.elementor-active)::before {
  content: '';
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 9996;
}

/* Header must be a sibling of the overlay (not its ancestor) to stay fully above it */
header.elementor-location-header {
  position: relative;
  z-index: 9999;
}


#mym-insert-here-205696 .mym-widget-video-button {
	max-width: 100% !important;
	max-height: 100% !important;
}
	
#unsere-leistungen-grid .e-con-inner {
  row-gap: 0 !important;
}