.ct-sidebar {
	padding: 0!important;
}

.widget_search h2.widget-title {display: none;}

#menu-product-categories > .menu-item > a,
#menu-produkt-kategorien > .menu-item > a {
	font-weight: bold;
}



#menu-product-categories .current-menu-parent > a,
#menu-produkt-kategorien .current-menu-parent > a,
#menu-product-categories .current-menu-item > a,
#menu-produkt-kategorien .current-menu-item > a {
	background-color: #213A8F;
	display: block;
	color: #fff;
	font-weight: bold;
}

.sub-menu {display: none;}

.current-menu-parent .sub-menu,
.current-menu-item .sub-menu
{
	display: block;
	background-color: #8F9CC7;
}

.kcproduct .entry-title { height: 3rem}

#menu-product-categories .sub-menu .current-menu-item > a,
#menu-produkt-kategorien .sub-menu .current-menu-item > a {
	display: block;
	color: #fff;
}

#menu-product-categories a,
#menu-produkt-kategorien a {
	color: #000;
}

#menu-product-categories .sub-menu,
#menu-produkt-kategorien .sub-menu {
	padding: 0;
}

#menu-product-categories li,
#menu-produkt-kategorien li{
	padding: 0;
	border-bottom: 1px solid rgb(248, 248, 248);
}

#menu-product-categories a,
#menu-produkt-kategorien a {
	padding: 10px 0 10px 10px;
	display: block;
}

#menu-product-categories > li,
#menu-produkt-kategorien > li,
.widget_nav_menu {
	border-bottom: 5px solid #fff;
	background-color: #f0f0f0;
}



#custom-post-type-search-2 h2,
#custom-post-type-search-2 h2,
.kcproduct .entry-excerpt {
	display: none;
}

.widget_nav_menu.widget_search {
	margin: 0!important;
}


.pll-parent-menu-item .sub-menu {
	background-color: transparent;
  box-shadow: none;
}

.pll-parent-menu-item .sub-menu li a {
	padding-top: 3px;
	padding-bottom: 3px;
}

table.kcp-data {
  border: none;
  border-width: 0;
  border-collapse: collapse;
  margin: 0 0 1rem 0;
  padding: 0;
  width: 100%;
  table-layout: fixed;
}

table.kcp-data caption {
  font-size: 1.5em;
  margin: .5em 0 .75em;
}

table.kcp-data tr {
  padding: .35em;
}

table.kcp-data tr:nth-child(even) {background: #fff}
table.kcp-data tr:nth-child(odd) {background: #f0f0f0}

table.kcp-data th,
table.kcp-data td {
  padding: .625em;
  text-align: center;
  border: none;
}

table.kcp-data th {
  font-weight: bold;
  background: #f0f0f0;
  border-left: 10px solid #fff;
  border-right: 10px solid #fff;
}

table.kcp-data th:first-child {
	border-left: 0;
}

table.kcp-data th:last-child {
	border-right: 0;
}

@media screen and (max-width: 600px) {
  table.kcp-data {
    border: 0;
  }

  table.kcp-data caption {
    font-size: 1.3em;
  }
  
  table.kcp-data thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  
  table.kcp-data tr {
    display: block;
    margin-bottom: .625em;
  }
  
  table.kcp-data td {
    display: block;
    font-size: .8em;
    text-align: right;
  }
  
  table.kcp-data td::before {
    /*
    * aria-label has no advantage, it won't be read inside a table.kcp-data
    content: attr(aria-label);
    */
    content: attr(data-label);
    float: left;
    font-weight: bold;
  }
  
  table.kcp-data td:last-child {
    border-bottom: 0;
  }

}

.kcp-category-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px; /* Space between items */
    justify-content: center; /* Center items on the page */
    margin: 0px 0; /* was 20px 0 */
	padding: 20px 0;
}

/* Grid Item */
.kcp-category-item {
    flex: 1 1 calc(33.3% - 20px); /* Responsive width, 4 items per row with gap accounted for */
    max-width: calc(33.3% - 20px);
    box-sizing: border-box;
    text-align: center;
	margin-bottom: 2rem;
}

/* Adjust for smaller screens */
@media (max-width: 768px) {
    .kcp-category-item {
        flex: 1 1 calc(50% - 20px); /* 2 items per row */
        max-width: calc(50% - 20px);
    }
}

@media (max-width: 480px) {
    .kcp-category-item {
        flex: 1 1 100%; /* 1 item per row */
        max-width: 100%;
    }
}

/* Image Styles */
.kcp-category-thumbnail img:hover {
	filter: brightness(90%);
	transition: filter 0.2s ease-in-out;
}
.kcp-category-thumbnail img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
    margin: 0 auto;
}

/* Title Styles */
.kcp-category-title {
    margin-top: 10px;
    margin-bottom: 0px!important;
    font-size: 1.2rem;
	font-weight: bold;
    color: #213A8F;
}

.kcp-category-description {
    margin-top: 5px;
    font-size: 1.2rem;
	font-weight: 300;
	color: #213A8F;
	min-height: 4rem;
}



/* Grid layout */
.entries[data-layout="grid"] {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    justify-content: center;
    align-items: stretch;
}

/* Make entry cards flexible */
.entry-card {
    flex: 1 1 calc(33.33% - 1.25rem);
    max-width: calc(33.33% - 1.25rem);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    text-align: center;
    box-sizing: border-box;
}

/* Dynamically set equal title height */
.entry-title {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 1.25rem;
    font-weight: bold;
    min-height: 8rem; /* Adjust this if needed */
    max-height: 10rem; /* Ensures titles don’t get too large */
	word-wrap: break-word;       /* legacy */
	overflow-wrap: break-word;   /* modern */
	hyphens: auto;          
}

/* Ensure images align properly */
.kcp-featured-image {
    flex-shrink: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.kcp-featured-image img:hover {
	filter: brightness(90%);
	transition: filter 0.2s ease-in-out;
}
.kcp-featured-image img {
    width: auto;
    max-width: 100%;
    height: auto;
    border-radius: 0.5rem;
}



/* Ensure boxes align */
.entry-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.entry-excerpt {
    flex-grow: 1;
    font-size: 1rem;
}

/* Responsive Fix */
@media (max-width: 768px) {
    .entry-card {
        flex: 1 1 calc(50% - 1.25rem);
        max-width: calc(50% - 1.25rem);
    }
}

@media (max-width: 480px) {
    .entry-card {
        flex: 1 1 100%;
        max-width: 100%;
    }
}



.kcp-button {
	background: #112A7F;
	transition: background 0.2s ease-in-out;
}
.kcp-button {
	color: #fff;
	background: #213A8F;
	border-radius: 20px;
	padding: 10px 20px;
	font-weight: bold;
}

.kcp-button:hover {
	color: #fff;
	background: #112A7F;
}

.kcp-button-container {
	padding: 20px 0 10px;
	text-align: center;
}

/* Modal is hidden by default */
#featured-modal,
#modal-backdrop {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease-in-out;
}

/* When visible, fade in and allow interaction */
#featured-modal.visible,
#modal-backdrop.visible {
    opacity: 1;
    pointer-events: auto;
}

/* Modal positioning */
#featured-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1000;
}

/* Dark backdrop behind image */
#modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.8);
    z-index: 999;
}

/* Close button styling */
.modal-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    font-size: 2rem;
    cursor: pointer;
    color: white;
    z-index: 1001;
}

.single-kcproduct ul.entry-meta { display: none; }

.kcproduct-breadcrumbs a {
	text-decoration: none;
	color: #0073aa;
}
.kcproduct-breadcrumbs a:hover {
	text-decoration: underline;
}

.video-container {
            width: 100%;
            max-width: 100%;
            position: relative;
            padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
            height: 0;
            overflow: hidden;
        }
        .video-container video {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
        }