/* Element 14 - Speisekarte V2 (with Metaboxes) */

/* Base Speisekarte Styles */
.element14 .speisekarte{
	font-family:'Nothing You Could Do';
	background-color:#fff;
}
.element14 .speisekarte:before{
	display:block;
	position:absolute;
	content:'';
	height:calc(100% + 30px);
	width:80%;
	left:0;
	top:-15px;
	background:transparent;
	z-index:-1;
	border:4px solid #fff;
}

@media(min-width:992px){
	.element14 .speisekarte{
		padding-left:4vw !important;padding-right:4vw !important;
		padding-top:4vh !important;padding-bottom:4vh !important;
	}
}

/* Entry Styles */
.element14 .speisekarte .speisekarte-entry{
	display:flex;
	flex-direction:column;
}
.element14 .speisekarte .speisekarte-entry:not(:last-of-type){
	padding-bottom:2vh;
}
.element14 .speisekarte .speisekarte-entry .entry-inner{
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
}
.element14 .speisekarte .speisekarte-entry .desc{
	display:flex;
	flex-direction:column;
}
.element14 .speisekarte .speisekarte-entry .desc span.inner-desc{
	display:flex;
	align-items:center;
}
.element14 .speisekarte .speisekarte-entry .price span.inner-price{
	display:block;
}

.element14 .speisekarte .speisekarte-entry .desc span.inner-desc:not(.no-parting-line):after{
	display:block;
	position:absolute;
	content:'';
	width:20%;
	left:60%;
	height:1px;
	background: linear-gradient(to right, transparent 50%, #fff 50%), linear-gradient(to right, #868686, #868686);
	background-size: 16px 1px, 100% 1px;
}
@media(min-width:576px){
	.element14 .speisekarte .speisekarte-entry .desc span.inner-desc:not(.no-parting-line):after{
		width:40%;
		left:50%;
	}
}
@media(min-width:768px){
	.element14 .speisekarte .speisekarte-entry .desc span.inner-desc:not(.no-parting-line):after{
		width:50%;
		left:40%;
	}
}
@media(min-width:992px){
	.element14 .speisekarte .speisekarte-entry .desc span.inner-desc:not(.no-parting-line):after{
		width:52.5%;
		left:35%;
	}
}

.element14 .speisekarte .speisekarte-entry .parting-line{
	padding:0 1vw;
}
.element14 .speisekarte .speisekarte-entry .parting-line hr{
	border-top:1px dashed #2e2e2e66;
}

/* Links & Navigation */
.element14 .speisekarte .speisekarte-links{
	display:flex;
	justify-content:space-between;
	flex-direction:column;
}

.element14 .speisekarte .speisekarte-links .speisekarte-nav{
	display:flex;
	position:relative;
	justify-content:space-between;
}

.element14 .speisekarte .speisekarte-links .nav-trigger{
	display:flex;
	align-items:center;
	justify-content:center;
	opacity:1 !important;
	cursor:pointer;
	transition:all .5s ease;
	transition-property:opacity,filter;
}
.element14 .speisekarte .speisekarte-links .nav-trigger .text{
	display:none;
}
@media(min-width:576px){
	.element14 .speisekarte .speisekarte-links .nav-trigger .text{
		display:inline-block;
	}
}

.element14 .speisekarte .speisekarte-links .nav-trigger .caret-left{
	transform:rotate(135deg);
}
.element14 .speisekarte .speisekarte-links .nav-trigger .caret-right{
	transform:rotate(-45deg);
}

.element14 .speisekarte .speisekarte-links .nav-trigger.slick-disabled{
	filter:blur(4px);
	pointer-events:none;
}

/* Typography */
.element14 .speisekarte .speisekarte-title h3{
	font-size:1.4rem !important;
	font-weight:bold;
}
.element14 .speisekarte .speisekarte-entry{
	font-size:1.1rem;
}
.element14 .speisekarte .speisekarte-links{
	text-decoration:underline;
	font-weight:bold;
}
.element14 .speisekarte .speisekarte-links .nav-trigger{
	font-size:1.1rem;
}

.element14 .speisekarte .allergy a{
	color:#2e2e2e;
}

@media(min-width:992px){
	.element14 .speisekarte .speisekarte-title h3{
		font-size:1.6rem !important;
	}
	.element14 .speisekarte .speisekarte-entry{
		font-size:1.2rem;
	}
	.element14 .speisekarte .speisekarte-links .nav-trigger{
		font-size:1.2rem;
	}
}
@media(min-width:1200px){
	.element14 .speisekarte .speisekarte-title h3{
		font-size:1.8rem !important;
	}
}
@media(min-width:1400px){
	.element14 .speisekarte .speisekarte-title h3{
		font-size:2rem !important;
	}
}

/* Width Distributions */
.element14 .speisekarte .speisekarte-entry .desc{
	width:60%;
}
.element14 .speisekarte .speisekarte-entry .parting-line{
	width:30%;
}
.element14 .speisekarte .speisekarte-entry .price{
	width:20%;
}
@media(min-width:576px){
	.element14 .speisekarte .speisekarte-entry .desc{
		width:50%;
	}
	.element14 .speisekarte .speisekarte-entry .parting-line{
		width:40%;
	}
	.element14 .speisekarte .speisekarte-entry .price{
		width:10%;
	}
}
@media(min-width:768px){
	.element14 .speisekarte .speisekarte-entry .desc{
		width:40%;
	}
	.element14 .speisekarte .speisekarte-entry .parting-line{
		width:50%;
	}
	.element14 .speisekarte .speisekarte-entry .price{
		width:10%;
	}
}
@media(min-width:992px){
	.element14 .speisekarte .speisekarte-entry .desc{
		width:35%;
	}
	.element14 .speisekarte .speisekarte-entry .parting-line{
		width:60%;
	}
}

/* Category Images */
.element14 .speisekarte-category-img{
	position:absolute;
	width:25%;
	height:auto;
	z-index:1;
    transform: rotate(6.5deg);
	box-shadow: 3px 3px 30px 0px rgba(0,0,0,0.4);
	-webkit-box-shadow: 3px 3px 30px 0px rgba(0,0,0,0.4);
	-moz-box-shadow: 3px 3px 30px 0px rgba(0,0,0,0.4);
}
.element14 .speisekarte-category-img.img-0{
	bottom:8%;
	left:-2.5%;
}
.element14 .speisekarte-category-img.img-1{
	top:0;
	right:-2.5%;
}

/* Category Navigation */
.element14 .speisekarte-category-nav {
	display: flex;
	gap: 1rem;
	flex-wrap: nowrap;
	overflow-x: auto;
	padding-bottom: .5rem;
	margin-bottom: 2rem;
	scrollbar-color: #57121D transparent;
}

.element14 .speisekarte-category-nav::-webkit-scrollbar {
	height: 6px;
}

.element14 .speisekarte-category-nav::-webkit-scrollbar-track {
	background: transparent;
}

.element14 .speisekarte-category-nav::-webkit-scrollbar-thumb {
	background: #57121D;
	border-radius: 3px;
}

/* .element14 .speisekarte-category-nav::-webkit-scrollbar-button {
    width: 0;
    height: 0;
    display: none;
} */

.element14 .speisekarte-category-nav::-webkit-scrollbar-button:increment,
.element14 .speisekarte-category-nav::-webkit-scrollbar-button:decrement {
    display: none;
    width: 0;
    height: 0;
}

.element14 .speisekarte-category-nav .category-nav-item {
	cursor: pointer;
	padding: 0.5rem 1rem;
	background: transparent;
	border: 2px solid #57121D;
	border-radius: 4px;
	transition: all 0.3s ease;
	color: #57121D;
	white-space: nowrap;
	flex-shrink: 0;
}

.element14 .speisekarte-category-nav .category-nav-item:hover,
.element14 .speisekarte-category-nav .category-nav-item.active {
	background: #57121D;
	color: #fff;
}

/* Title Wrapper with Search */
.element14 .speisekarte-title-wrapper {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.element14 .title-search-toggle {
	width: 100%;
}

.element14 .search-toggle-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 2px solid #57121D;
	border-radius: 4px;
	padding: 0.5rem;
	cursor: pointer;
	color: #57121D;
	transition: all 0.3s ease;
}

.element14 .search-toggle-btn:hover {
	background: #57121D;
	color: #fff;
}

.element14 .search-toggle-btn svg {
	width: 20px;
	height: 20px;
}

.element14 .speisekarte-search {
	width: 100%;
	display: none;
	animation: slideDown 0.3s ease;
}

.element14 .speisekarte-search.active {
	display: block;
}

@keyframes slideDown {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.element14 .search-input-wrapper {
	position: relative;
	width: 100%;
}

.element14 .search-input-icon {
	position: absolute;
	left: 1rem;
	top: 50%;
	transform: translateY(-50%);
	color: #57121D;
	pointer-events: none;
	z-index: 1;
}

.element14 .category-search-input {
	padding: 0.5rem 1rem 0.5rem 2.75rem;
	border: 2px solid #57121D;
	background: transparent;
	border-radius: 4px;
	color: #57121D;
	width: 100%;
}

.element14 .category-search-input::placeholder {
	color: #57121D;
	opacity: 0.7;
}

.element14 .category-search-input:focus {
	outline: none;
	border-color: #57121D;
	background: rgba(87, 18, 29, 0.05);
}

/* No Results Message */
.element14 .no-results-message {
	padding: 2rem 1rem;
	text-align: center;
	color: #57121D;
	font-family: 'Nothing You Could Do', cursive;
	font-size: 1.2rem;
	opacity: 0.8;
}

.element14 .no-results-message p {
	margin: 0;
}

/* Desktop View */
@media(min-width: 992px) {
	.element14 .speisekarte-title-wrapper {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}
	
	.element14 .search-toggle-btn {
		display: none;
	}
	
	.element14 .speisekarte-search {
		display: block !important;
		width: auto;
		flex: 0 0 auto;
	}
	
	.element14 .search-input-wrapper {
		min-width: 280px;
	}
	
	.element14 .category-search-input {
		min-width: 280px;
		width: auto;
	}
}

/* Entry Description */
.element14 .entry-description {
	margin-top: 0.5rem;
}
