/*
Theme Name: GeneratePress Child
Theme URI: https://deineseite.de
Description: Child Theme für GeneratePress
Author: Dein Name
Template: generatepress
Version: 1.0
*/

.invisible {
	display:none!important;
}

.main-navigation .main-nav ul li[class*="current-menu-"] > a {
	color:#000 !important
}

.sl-image img {
	max-width:none!important;
}

@font-face {
  font-family: 'Montserrat';
  src: url('./fonts/montserrat/Montserrat-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('./fonts/montserrat/Montserrat-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('./fonts/montserrat/Montserrat-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Inter';
  src: url('./fonts/inter/Inter-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Inter';
  src: url('./fonts/inter/Inter-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Inter';
  src: url('./fonts/inter/Inter-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

body {
	background: #FFFFFF;
	font-family: 'Inter';
	font-size: 18px;
}

.wp-block-button {
	min-width: 250px !important;
}

/* Button-Stil für Menüpunkt */
.main-navigation .btn a, .wpcf7-form .wpcf7-submit {
    background-color: #ffbd59;
    color: #000;
    padding: 12px 24px;
    border-radius: 5px;
    font-weight: bold;
    display: inline-block;
    text-decoration: none;
    transition: background-color 0.3s ease;
	line-height: 20px !important;
}

/* Hover-Effekt */
.main-navigation .btn a:hover, .wpcf7-form .wpcf7-submit:hover {
    background-color: #eca843;
	color: #000!important;
}


.widget ul li {
	margin-bottom: 0;
}

.footer-top-row {
  background-color: #596b81;
  color: white;
}

.footer-top-columns {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}

.footer-top-left,
.footer-top-right {
  flex: 1 1 45%;
}

.footer-top-left ul {
	margin-left: 1.5em;
}

.footer-top-row strong {
  font-size: 1.2em;
  display: block;
  margin-bottom: 10px;
}



.site-info {
	background-color: #b7c9d3;
	text-align: left;
}

.inside-site-info {
	padding: 0;
}

.footer-bar {  
  width: 100%;
  padding: 10px 20px;
  margin: 0;
}

.footer-bar .wp-block-columns {
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.footer-bar p,
.footer-bar a {
  margin: 0;
  color: #000;
}

.footer-widgets .widget {
  margin-bottom: 10px;
}

.footer-bar a {
  text-decoration: none;
  font-weight: normal;
	text-decoration: none;
}

.footer-bar a:hover {
  text-decoration: underline;
}

.footer-bar .widget_nav_menu li {
  margin: 0 4px;
}


.footer-bar ul.menu li a:hover {
  text-decoration: underline;
}

.inside-article {
	padding: 0 40px 40px 40px!important;
}

.footer_top {
	padding: 40px 40px 20px 40px !important;
	margin-top: 60px;
}

.footer-top-row li, .site-footer li, .site-footer p {
	font-size: 15px;
	line-height: 20px;
	padding-bottom: 5px;
}


.site-main {
	margin: 0!important;
}

h1, h2 {
	font-size:38px;
	position: relative;
	font-weight: bold;
	margin-top: 60px;
	padding-bottom: 12px;
	margin-bottom: 30px;
}

h1::before, h2::before {
  content: "";
  position: absolute;
  bottom: 0; /* Abstand zur Schrift */
  left: 0;
  width: 80px;
  height: 4px;
  background-color: #c7964d; /* Dein Goldton */
}


.calendar h2 {
	font-weight: normal;
	margin-bottom: 0px;
}

.calendar h2::before {
	display:none;
}

h3 {
	font-size: 24px;
	font-weight: bold;
}

h5 {
	font-size:25px;
	font-weight:bold;
}

.overview_location {
	font-size:14px;
	color: #545454;
	margin-top: 5px;
	margin-bottom: 2px;
}

.overview_name {
	font-size: 20px;
	margin-bottom: 10px;
}

.overview_description {
	font-size:14px;
	color: #545454;
	margin-bottom: 20px;
}


.header_headline {
	font-family: 'Montserrat';
	font-weight: bold;
	font-size: 55px !important;
	line-height: 70px !important;
	margin-bottom: 0;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
}

.header_subheadline {
	font-family: 'Montserrat';
	font-size: 53px !important;
	line-height: 67px !important;
	margin-bottom: 0;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
}


:where(.wp-block-columns.is-layout-flex) {
  gap: 1em;
}

:where(.wp-block-columns) {
  margin-bottom: 0;
}

img {
  border-radius: 10px;
  max-width: 1120px;
}

.no_radius img {
	border-radius: 0px !important;
}

figure {
	margin-left: 0!important;
	width: 100%!important;
	max-width: 100%!important;
}

.pb_40 {
	padding-bottom: 40px;
}

.site-branding {
	width: 80%;
}

.has-inline-mobile-toggle #site-navigation.toggled {
  margin-top: 0.5em;
}

.main-navigation.toggled .main-nav li {
  width: 100%;
  text-align: center;
}

.menu-toggle {
  padding: 0 10px;
}

@media (min-width: 768px) {
	/* Trenner zwischen Footer-Menü-Links */
	.footer-bar ul.menu li:not(:last-child)::after {
	  content: "|";
	  margin-left: 8px;
	  color: #000; /* Farbe des Trennstrichs */
	}
	
	.menu-footer-container {
		display: flex;
		justify-content: flex-end;
	}
}
@media (max-width: 768px) {
	
	.footer-bar .widget_nav_menu > div > ul {
		display: block;
	}
	
	.footer-bar .widget_nav_menu li {
  text-align: center;
}
	
	.inside-header {
		padding: 10px 10px 10px 20px;
	}
	
	.wp-block-cover {
		min-height: 200px;
	}
	
	.wp-block-cover img {
		border-radius: 0!important;
	}
	
	.footer-top-columns {
      flex-direction: column; /* stapelt Spalten untereinander */
      gap: 20px; /* geringerer Abstand mobil */
  }

  .footer-top-left,
  .footer-top-right {
      width: 100%; /* volle Breite auf mobilen Geräten */
  }

  .footer-top-left ul {
      padding-left: 0;
      list-style-position: inside; /* sorgt für bessere Zentrierung der Listenpunkte */
  }
	
	.main-title {
		font-size: 18px;
	}
	
	.inside-article {
		padding: 0 0px 40px 0px!important;
	}
	
	.footer_top {
		padding: 20px !important;
	}
	
	.wp-block-group__inner-container {
		padding: 10px!important;
	}
	
	h1, h2 {
		font-size:24px;
	}
	
	.header_headline {
		font-size: 30px !important;
		line-height: 35px !important;
	}

	.header_subheadline {
		font-size: 32px !important;
		line-height: 37px !important;
	}
	
	.overview_name {
		font-size: 18px;
	}
	
	.m_center {
		text-align: center;
	}
	
	:where(.wp-block-columns.is-layout-flex) {
	  gap: 5em;
	}
	
	.wp-block-button {
		width: 100%!important;
	}
	
	.alignwide {
		margin-left: -10px!important;
		width: calc(100% + 20px)!important;
		max-width: calc(100% + 20px)!important;
	}
	
	.site-main {
		padding: 0 20px!important;
	}
	
	.footer-bar {
    	flex-direction: column-reverse;
		gap:2em;
		margin-bottom: 0;
		padding-bottom: 0;
	}
}

.form-row {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.form-col {
  flex: 1 1 48%;
}

.pm_0 {
	margin-bottom: 0;
	padding-bottom: 0;
}

.ueberblick > div{
	padding-bottom: 10px;
	font-size: 15px;
}

.icon img{
	border-radius: 0!important;
	vertical-align: middle;
}

@media (max-width: 768px) {
  .form-col {
    flex: 1 1 100%;
  }
	 
	
  .form-row {
	  gap: 0px;
	}
}

.wpcf7-form input,
.wpcf7-form textarea {
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 6px;
  width: 100%;
  box-sizing: border-box;
}

.wpcf7-form label {
  font-size:20px;
  line-height 40px;
}

.wpcf7-form .wpcf7-submit {
	width: 30%;
	margin-top:50px;
}

.ausstattung ul {
  margin: 0 0 1em 0em;
}


.ausstattung .wp-block-list li {
  list-style-type: none;           /* Standard-Bullets entfernen */
  position: relative;              /* Für das Pseudo-Element */
  padding-left: 2em;             /* Platz für den Haken schaffen */
  font-size: 16px;
}

.ausstattung p {
	font-size: 15px;
} 

.ausstattung .wp-block-list li::before {
  content: "✓";                    /* Hier kannst du auch \2713 nutzen */
  position: absolute;
  left: 0;
  color: black;     
}

.umgebung .wp-block-columns, .beschreibung, .ausstattung .wp-block-columns {
	padding-bottom: 5px;
	gap: 10px;
}

.umgebung p {
	margin-bottom:0;
	font-size: 16px;
}

.right {
	text-align:right;
}

@media (min-width: 768px) {
	.spacing_10 {
		gap: 50px!important;
	}
}


/* Basis-Styling für das Akkordeon */
.wp-block-details {
  border: none;
  margin-bottom: 5px;
  font-family: inherit;
  background-color: #d4e0e0; /* hellblau */
  border-radius: 3px;
  overflow: hidden;
}

/* Fragezeile (Summary) */
.wp-block-details summary {
  padding: 1rem;
  cursor: pointer;
  font-weight: bold;
  position: relative;
  list-style: none; /* Bullet entfernen */
}

/* Antwortbereich (Content) */
.wp-block-details[open] p {
  padding: 1rem;
  background-color: #f8f5f2; /* leichtes Beige wie im Screenshot */
  margin: 0;
  border-top: 1px solid #ccc;
}

/* Pfeil hinzufügen (rechts) */
.wp-block-details summary::after {
  content: "▾";
  font-size: 1rem;
  position: absolute;
  right: 1rem;
  top: 1rem;
  transform: rotate(0deg);
  transition: transform 0.3s ease;
}

/* Pfeil drehen bei geöffnetem Akkordeon */
.wp-block-details[open] summary::after {
  transform: rotate(180deg);
}

.ort{
	margin-bottom: 0;
}

.ngg-galleryoverview {
	margin: 0 0 20px 0;
}

.ngg-galleryoverview img {
	border-radius: 5px;
}

#ngg-image-0, #ngg-image-1 {
	width:50%;
}

#ngg-image-0 img, #ngg-image-1 img {
	margin: 0;
	width: 100%;
}

.ngg-navigation {
	display:none!important;
}

.sl-prev, .sl-next {
	padding-bottom: 53px !important;
    border-radius: 10px !important;
	background-color: #eca843 !important;
}

.ngg-gallery-thumbnail-box {
	padding: 2px;
}

#ngg-image-7, #ngg-image-8, #ngg-image-9, #ngg-image-10, #ngg-image-11, #ngg-image-12, #ngg-image-13, #ngg-image-14, #ngg-image-15, #ngg-image-16, #ngg-image-17, #ngg-image-18, #ngg-image-19, #ngg-image-20, #ngg-image-21, #ngg-image-22, #ngg-image-23, #ngg-image-24, #ngg-image-25, #ngg-image-26, #ngg-image-27, #ngg-image-28  {
	display:none;
}	

@media (max-width: 800px) {
	#ngg-image-6 {
		display:none;
	}	
}

@media (max-width: 600px) {
	#ngg-image-5 {
		display:none;
	}	
}

#booking-tool-iFrame-allApartments {
	max-width: 100%!important;
}

.blankLayout {
	margin: 0 !important;
}

#booking {
	position: relative;
	max-width: 1000px;
	margin: auto;
}

.calendar {
	margin:auto;
	max-width:1000px;
}

#booking #apartmentIframeAll {
  width: 100%;
  max-width: 1000px;
  margin-top: -60px;
  border-radius: 5px;
  overflow: hidden;
  z-index:100;
}

@media (max-width: 768px) {
  	#booking #apartmentIframeAll {
    	position:inherit;
		top:-20px;  
	}
	
	.desktop {
		display: none;
	}
	
	.mpt_0 {
		margin-top:0px!important;
	}
}


.sl-overlay {
  background: #3e3e3e;
}

	
.multiCalendarWidget > .logo {
	display:none;
}