/*!
Theme Name:  Weinstube zum Pfauen (Child-Theme)
Author:      Dreamland GmbH &amp; Co. KG
Author URI:  https://www.dreamland.de
Description: Child-Theme des Page Builder Frameworks
Version:     1.0.0
License:     GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Template:    page-builder-framework
Text Domain: page-builder-framework-child
*/


/* ----- DEFAULT ----- */
.reihe-default {
	margin-top: 8vw;
	margin-bottom: 8vw;
}

.reihe-first {
	margin-top: 5vw;
	margin-bottom: 8vw;
}

h1, h2, h3 {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
  overflow-wrap: break-word;
  word-break: normal;
}

h2.vc_do_custom_heading {margin-bottom:40px;}
h3.vc_do_custom_heading {margin-bottom:50px;}



/* ----- ANKER + Smooth-Scroll ----- */
html {scroll-behavior: smooth; }

.anker {scroll-margin-top: 170px;}



/* ----- DEFAULT >> EINZELBILDER ----- */
.wpb_single_image img {border-radius: 15px;}



/* ----- BOXEN ----- */
.infobox {
	background-color: #63173B;
	border-radius: 25px;
	padding: 1vw 3vw 3vw 3vw;
	color: #fcfcfc;
	margin-top: -170px;
	font-size: 18px;
}

	.infobox a {color: #fcfcfc;}
	.binfobox a:hover {color: #DCC9AB;}


	/* ----- BOX BORDEAUX ----- */
	.box-bordeaux  {
		background-color: #63173B;
		border-radius: 25px;
		padding: 4vw;
		color: #fcfcfc;
	}
	
		.box-bordeaux a {color: #fcfcfc;}
		.box-bordeaux a:hover {color: #DCC9AB;}


	/* ----- BOX BEIGE (Öffnungszeiten/Küchenzeiten) ----- */
	.box-beige  {
		background-color: rgba(255, 240, 213, 0.7);
		border-radius: 25px;
		padding: 3vw;
	}
	
		.box-beige em {font-size: 17px;}
		
		.box-beige table, .box-beige table td {border: none;}
		
		.box-beige table tr {border-bottom: 1px solid #161714;}
		.box-beige table tr:last-child {border-bottom: none;}
		
		.box-beige table td {
			padding-top: 20px;
			padding-bottom: 20px;
		}


@media (max-width: 768px) {
	.box-bordeaux  {
		padding: 50px 20px;
		margin: 0px;
	}
	
	.box-beige  {
		padding: 50px 20px;
		margin: 0px;
	}
	
		.box-beige em {font-size: 12px;}
}



	
/* ----- FOOTER ----- */
.wpbf-padding-large {padding-bottom: 10px;}

h4.wpbf-widgettitle { font-size: 23px;}



/* ----- RECHTLICHES (Impressum & Datenschutzerklärung) ----- */
.rechtlich h2 {font-size: 35px; margin-top: 40px; margin-bottom:0px;}
.rechtlich h3 {font-size: 32px; margin-top: 40px; margin-bottom:0px;}
.rechtlich h4 {font-size: 28px; margin-top: 30px; margin-bottom:0px;}


/* AGB */
.agb h1 {padding-bottom: 50px;}

	.agb ol li {margin-bottom: 30px;}
		.agb ol li ol {margin-top: 30px;}


@media (max-width: 768px) {
	.rechtlich h2 {font-size: 27px; margin-top: 40px; margin-bottom:15px;}
	.rechtlich h3 {font-size: 25px; margin-top: 40px; margin-bottom:15px;}
	.rechtlich h4 {font-size: 22px; line-height: 1.2; margin-top: 30px; margin-bottom:10px;}
	
	.rechtlich ul,
	.agb ol {padding-left: 20px;}
		.rechtlich ul li {margin-bottom: 10px;}
	
}


/* ----- BUTTONS ----- */
.vc_btn3-container.vc_btn3-center .vc_btn3-block.vc_btn3-size-md,
.vc_btn3.vc_btn3-size-md {
	font-size: 20px;
	padding: 16px 40px 14px 40px;
	border-radius: 15px !important;
}

	/* ----- BTN Bordeaux ----- */
	.vc_btn3.vc_btn3-color-mulled-wine, 
	.vc_btn3.vc_btn3-color-mulled-wine.vc_btn3-style-flat {
		background-color: #63173B;
		color: #fcfcfc;
	}
	
		.vc_btn3.vc_btn3-color-mulled-wine.vc_btn3-style-flat:focus, 
		.vc_btn3.vc_btn3-color-mulled-wine.vc_btn3-style-flat:hover, 
		.vc_btn3.vc_btn3-color-mulled-wine:focus, 
		.vc_btn3.vc_btn3-color-mulled-wine:hover {
			background-color: #63173B;
			color: #DCC9AB;
		}

	/* ----- BTN Beige ----- */
	.vc_btn3.vc_btn3-color-chino, 
	.vc_btn3.vc_btn3-color-chino.vc_btn3-style-flat {
		background-color: transparent;
		border: 2px solid #DCC9AB;
		color: #fcfcfc;
	}

		.vc_btn3.vc_btn3-color-chino.vc_btn3-style-flat:focus, 
		.vc_btn3.vc_btn3-color-chino.vc_btn3-style-flat:hover, 
		.vc_btn3.vc_btn3-color-chino:focus, 
		.vc_btn3.vc_btn3-color-chino:hover {
			background-color: #DCC9AB;
			color: #161714;
		}


@media (max-width: 768px) {
	.vc_btn3-container.vc_btn3-center .vc_btn3-block.vc_btn3-size-md,
	.vc_btn3.vc_btn3-size-md {
		font-size: 17px;
		padding: 12px 40px 10px 40px;
		border-radius: 15px !important;
	}
}


/* ----- SPEISEKARTEN ----- */
.speisekarten-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
}

.speisekarte-box {
	width: calc(33.333% - 40px);
	position: relative;
}

.speisekarte-frame {
	border: 2px solid #63173B;
	border-radius: 25px;
	min-height: 450px;
}

	.speisekarte-frame img {
		width: 100%;
		height: auto;
		display: block;
		border-radius: 25px;
	}

.speisekarte-button {
	position: absolute;
	left: 50%;
	bottom: -25px;
	transform: translateX(-50%);
	padding: 10px 42px;
	background: #63173B;
	color: #fcfcfc;
	border-radius: 15px;
	text-decoration: none;
	font-size: 18px;
	text-align: center;
	white-space: nowrap;
}

	.speisekarte-button:hover {
		color: #DCC9AB;
	}

	.btn-desktop {display: inline;}
	.btn-mobile {display: none;}


@media(max-width: 768px) {
	.speisekarten-wrapper {gap: 20px;}
	
	.speisekarte-box {width: 100%;}

	.speisekarte-frame {display: none;}

	.speisekarte-button {
		position: static; 
		transform: none;
		width: 100%;  
		margin-top: 0px;
		display: block;
		text-align: center;
	}

	.btn-desktop {display: none;}
	.btn-mobile {display: inline;}
}



/* Gemeinsame Basis */
.feder {
	position: absolute;
	width: 170px;
	height: 170px;
	background-image: url("../../../wp-content/uploads/2025/11/pfauen-feder.svg");
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
	z-index: -1; 
}

	/* Feder 1 – links */
	.feder--1 {
		top: 1000px;
		left: -190px;
		transform: rotate(-6deg);
	}
	
	/* Feder 2 – rechts */
	.feder--2 {
		top: 2900px;
		right: -190px;
		transform: scaleX(-1) rotate(6deg);
	}
	
	/* Feder 3 – links*/
	.feder--3 {
		top: 4900px;
		left: -190px;
		transform: rotate(-4deg);
	}
	
	/* Feder 4 – rechts*/
	.feder--4 {
		top: 6300px;
		right: -190px;
		transform: scaleX(-1) rotate(6deg);
	}

/* Mobil ausblenden */
@media (max-width: 1550px) {
	.feder {display: none;}
}


/* GAP 35px -Zeile mobil */
@media (max-width: 768px) {
	.vc_row.vc_column-gap-35 {
		margin-left: 0;
		margin-right: 0;
	}
	
		.vc_row.vc_column-gap-35>.vc_column_container {
			padding: 20px 0px;
		}
		
		.vc_row.vc_column-gap-35 .vc_column_container>.vc_column-inner {
			padding-left: 0px;
			padding-right: 0px;
		}
}

