/*
Theme Name: Perfect Child
Theme URI: https://netperfection.de
Author: NetPerfection
Author URI: https://netperfection.de
Description: Child Theme of twentytwentyfour
Template: twentytwentyfour
Version: 0.1
License: GNU General Public License v3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Text Domain: twentytwentyfour
Tags: one-column, two-columns, three-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-menu, featured-images, post-formats, sticky-post, theme-options, threaded-comments, translation-ready
*/
/* =Theme customization starts here-------------------------------------------------------------- */


:root {
    /* Sizes */
    --logo-width-desktop: 330px;
    --logo-width-mobile: 220px;
    --header-height: 100px;
    --header-height-mobile: 160px;

    --page-padding-sides: 25px;
    --page-padding-sides-form: 50px;
    --page-padding-top: 100px;
    --page-padding-bottom: 140px;

    --content-width-thin: 800px;
    --content-width: 1200px;
    --content-width-wide: 1480px;

    /* Colors */
    --background-color: #fff;
    --text-color: #1D1D1B;
    --border-color: #56717f;
    --text-color-light: #8095a1;
    --gradient-grey-dark: #dce1e5;
    --gradient-grey-light: #f0f4f6;
    --error-color: #d70b0b;
	--gradient-orange-dark: #123DDD;
    --gradient-orange-light: #5A77E5;

    /* Button */
    --button-height: 48px;
    --button-height-small: 32px;
    --button-color: var(--primary-color);
    --button-text-color: #fff;
    --button-text-size: 15px;

    /* Inputs */
    --input-height: 44px;

    /* Accordion */
    --accordion-height: 50px;
}

/* exo-2-300 - latin-ext_latin */
@font-face {
  font-family: 'Exo 2';
  font-style: normal;
  font-weight: 300;
  src: url('./assets/fonts/exo-2-v18-latin-ext_latin-300.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('./assets/fonts/exo-2-v18-latin-ext_latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('./assets/fonts/exo-2-v18-latin-ext_latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('./assets/fonts/exo-2-v18-latin-ext_latin-300.woff') format('woff'), /* Modern Browsers */
       url('./assets/fonts/exo-2-v18-latin-ext_latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('./assets/fonts/exo-2-v18-latin-ext_latin-300.svg#Exo2') format('svg'); /* Legacy iOS */
}

/* exo-2-regular - latin-ext_latin */
@font-face {
  font-family: 'Exo 2';
  font-style: normal;
  font-weight: 400;
  src: url('./assets/fonts/exo-2-v18-latin-ext_latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('./assets/fonts/exo-2-v18-latin-ext_latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('./assets/fonts/exo-2-v18-latin-ext_latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('./assets/fonts/exo-2-v18-latin-ext_latin-regular.woff') format('woff'), /* Modern Browsers */
       url('./assets/fonts/exo-2-v18-latin-ext_latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('./assets/fonts/exo-2-v18-latin-ext_latin-regular.svg#Exo2') format('svg'); /* Legacy iOS */
}

/* open-sans-300 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: url('assets/fonts/open-sans-v34-latin-300.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('assets/fonts/open-sans-v34-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('assets/fonts/open-sans-v34-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('assets/fonts/open-sans-v34-latin-300.woff') format('woff'), /* Modern Browsers */
       url('assets/fonts/open-sans-v34-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('assets/fonts/open-sans-v34-latin-300.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('assets/fonts/open-sans-v34-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('assets/fonts/open-sans-v34-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('assets/fonts/open-sans-v34-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('assets/fonts/open-sans-v34-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('assets/fonts/open-sans-v34-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('assets/fonts/open-sans-v34-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-600 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: url('assets/fonts/open-sans-v34-latin-600.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('assets/fonts/open-sans-v34-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('assets/fonts/open-sans-v34-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
       url('assets/fonts/open-sans-v34-latin-600.woff') format('woff'), /* Modern Browsers */
       url('assets/fonts/open-sans-v34-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
       url('assets/fonts/open-sans-v34-latin-600.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-italic - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  src: url('assets/fonts/open-sans-v34-latin-italic.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('assets/fonts/open-sans-v34-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('assets/fonts/open-sans-v34-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('assets/fonts/open-sans-v34-latin-italic.woff') format('woff'), /* Modern Browsers */
       url('assets/fonts/open-sans-v34-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('assets/fonts/open-sans-v34-latin-italic.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* frank-ruhl-libre-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Frank Ruhl Libre';
  font-style: normal;
  font-weight: 400;
  src: url('./assets/fonts/frank-ruhl-libre-v20-latin-regular.eot'); /* IE9 Compat Modes */
  src: url('./assets/fonts/frank-ruhl-libre-v20-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('./assets/fonts/frank-ruhl-libre-v20-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('./assets/fonts/frank-ruhl-libre-v20-latin-regular.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('./assets/fonts/frank-ruhl-libre-v20-latin-regular.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('./assets/fonts/frank-ruhl-libre-v20-latin-regular.svg#FrankRuhlLibre') format('svg'); /* Legacy iOS */
}

label input, label select, label textarea {
  margin-top: 8px;
}

input, textarea, select {
  border: none;
  background-color: #fff;
  height: var(--input-height);
  padding: 10px 15px;
  box-sizing: border-box;
  outline: none;
  width: 100%;
  font-size: 15px;
  font-family: 'Inter';
}

label {
  display: block;
  font-size: 14px;
  line-height: 16px;
  font-weight: bold;
  color: #444b51;
  margin: 2px 0 6px;
}

input:read-only {
  background-color: #eff3f7;
  outline: none;
}

input[type="checkbox"], input[type="radio"] {
  width: 20px;
  height: 20px;
  margin: 0;
  flex-shrink: 0;
  outline: none;
}

/*### BUTTON ######*/

input[type="submit"] {
    color: #fff;
    padding: 12px 20px;
    background: var(--gradient-orange-dark);
    background: linear-gradient(90deg, var(--gradient-orange-dark) 0%, var(--gradient-orange-light) 100%);
    border: none;
    font-weight: bold;
    font-size: 17px;
    cursor: pointer;
}
input[type="submit"]:hover {
    background: var(--gradient-orange-dark);
}

:where(.wp-site-blocks :focus) {
  outline-width: 0px !important;
  outline-style:hidden !important;
}

.logo, .logo img,.logo a{
		width:150px;
	}

.perfect-link a {
  color: #f2167d !important;
  text-decoration: none;
}

.page,.single{
	padding-top:80px;
}

@media (min-width: 1200px){
	.right-padding{
		padding-right:100px;
	}
	.img-padding{
		padding-right:50px;
	}
	.img-padding-left{
		padding-left:150px;
	}
	.pe-3{
		padding-right:7rem;
	}
	/*### FORMS ###############*/

	.two-cols {
		display: flex; /* Aktiviert Flexbox */
		gap: 20px;
		padding-top:10px;
	}

	.two-cols div {
		flex: 1; /* Lässt beide <div> Elemente den verfügbaren Platz gleichmäßig aufteilen */
	}

	.two-cols p {
		margin:0;
	}
	.perfect-container{
		max-width:60% !important;
	}
	.logo, .logo img,.logo a{
		width:200px;
	}
}

/*###############################*/
/*### HEADER NAV #####*/
/*###############################*/

/* Fixiert den Header beim Scrollen */
header.wp-block-template-part {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999;
  background-color: white; /* Setze die Hintergrundfarbe, um Überlappungen zu vermeiden */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Optional: fügt einen Schatten hinzu */
}

.header-scrolled {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); /* Optional: fügt einen stärkeren Schatten beim Scrollen hinzu */
}

/* Füge einen Platzhalter hinzu, um Layout-Verschiebungen zu vermeiden */
	.header-placeholder {
	  height: 80px; /* Höhe des Headers anpassen */
	}
.home .header-placeholder {
	  height: 0px; /* Höhe des Headers anpassen */
	margin-top:0;
	}

@media (min-width: 1101px) {
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: block;
    width: 100%;
    position: relative;
    z-index: auto;
    background-color: inherit;
  }
  /* Füge einen Platzhalter hinzu, um Layout-Verschiebungen zu vermeiden */
	.header-placeholder {
	  height: 120px; /* Höhe des Headers anpassen */
	}
	.home .header-placeholder {
	  height: 0px; /* Höhe des Headers anpassen */
	}
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close {
    display: none;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container {
    left: 0;
  }
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: none;
  }
}

@media (max-width: 1100px) {
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: none;
  }
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex;
  }
}

header .has-modal-open .wp-block-navigation.items-justified-right {
	width:100%;
  --navigation-layout-justification-setting: center;
  --navigation-layout-justify: center;
}

/* Initialer Zustand des Logos */
.logo img {
    width: 300px; /* Ursprüngliche Breite, falls anders, anpassen */
    transition: width 0.3s ease; /* Smooth Transition */
}

/* Zustand des Logos nach Scroll */
.logo.shrink img {
    width: 150px; /* Zielbreite */
}


/*###############################*/
/*### Beitrags-Loop Vorlage Eigene #####*/
/*###############################*/

.perfect-posts-query .wp-block-post-template-is-layout-grid {
	grid-template-columns: repeat(1, minmax(0, 1fr));
	  gap: var(--wp--preset--spacing--30);
}

.perfect-posts-query .wp-block-post-template-is-layout-grid li{
	margin-top:30px;
}

@media (min-width: 768px) {
	.perfect-posts-query .wp-block-post-template-is-layout-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	  gap: var(--wp--preset--spacing--30);
	}
	.perfect-posts-query .wp-block-post-template-is-layout-grid li{
		margin-top:10px;
	}
	.perfect-company p{
		font-size:1rem;
		font-weight:normal;
	}
	.perfect-company h2{
		font-size:1.3rem;
		font-weight:bold;
	}
	.perfect-company h4{
		font-size:1.1rem;
		font-weight:bold;
	}
}

@media (min-width: 1201px) {
	.perfect-posts-query .wp-block-post-template-is-layout-grid {
	  grid-template-columns: repeat(4, minmax(0, 1fr));
	  gap: var(--wp--preset--spacing--30);
	}
}

/*###############################*/
/*### Veranstaltungskalender #####*/
/*###############################*/

@media (max-width: 600px) {
	.wpcalendars-picker-navigation,.wpcalendars-filter-navigation,.wpcalendars-ical-subscription{
		display:none;
	}
}

.wpcalendars-block .wpcalendars-list-calendar .wpcalendars-event-item {
    border-radius:3px;
}
/* Füge einen anderen Hintergrund zu jedem zweiten .wpcalendars-event-item hinzu */
.wpcalendars-block .wpcalendars-list-calendar .wpcalendars-event-item:nth-child(even) {
    background-color:#E0E0E0; /* Ändere diese Farbe nach Bedarf */
}

/* Optional: Stil für die ungeraden Elemente */
.wpcalendars-block .wpcalendars-list-calendar .wpcalendars-event-item:nth-child(odd) {
    background-color: #ffffff; /* Ändere diese Farbe nach Bedarf */
}

.wpcalendars-block .wpcalendars-list-calendar .wpcalendars-event-summary {
	margin-top:0;
}
.black-text *{
	color:#000000;
}

.wpcalendars-event-more a{
	color:#123ddd;
	text-decoration:none;
}
.wpcalendars-event-more,.wpcalendars-event-summary{
	display:none;
}

/*#############################################*/
/*#### Woocommerce Allgemein #############################*/
/*#############################################*/

.woocommerce div.product form.cart button.single_add_to_cart_button,
.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button,
.wc-block-components-button:not(.is-link){
	background-color:#FBD92D;
	color:#000000;
}

.woocommerce div.product form.cart button.single_add_to_cart_button:hover,
.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button:hover,
.wc-block-components-button:not(.is-link):hover{
	background-color:#FAD517;
}

/*#############################################*/
/*#### Warenkorb #############################*/
/*#############################################*/

.variations_form.cart{
	background-color:rgba(217,216,216,1.00);
	border:1px solid #000000;
	border-radius:5px;
  	padding: 30px;
}

.woocommerce-page .variations label {
  margin-bottom: 0;
}
.woocommerce div.product form.cart table.variations td select{
	background-color:#ffffff;
}.woocommerce div.product form.cart div.quantity .qty {
  margin-right: .5rem;
  width: 100px;
}
.wp-block-woocommerce-add-to-cart-form .variations_button > .quantity:not(.wc-block-components-quantity-selector) .qty{
	height:100%;
}

.woocommerce div.product form.cart .reset_variations{
	background-color:#DA7071;
	padding:15px 30px;
	border:1px solid #DA7071;
}
.woocommerce div.product form.cart .reset_variations:hover{
	background-color:#EB5B5D;
	border:1px solid #EB5B5D;
}
.woocommerce .wp-block-woocommerce-product-meta{
	display:none;
}

/*#############################################*/
/*#### Übersicht #############################*/
/*#############################################*/

.wc-gzd-additional-info.tax-info,
.wc-gzd-additional-info.shipping-costs-info,
.wp-container-core-group-is-layout-6{
    display: none !important;
}


.woocommerce div.product form.cart .reset_variations{
	display:none !important;
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]{
	padding:0;
}

/* Stil für den Download-Button */
td[data-column="Ticket"] a {
    display: inline-block;
    background-color: #FBD92D; /* Grüner Hintergrund */
    color: #000000; /* Weiße Schrift */
    padding: 10px 15px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    text-align: center;
    transition: background-color 0.3s ease;
}

/* Hover-Effekt */
td[data-column="Ticket"] a:hover {
    background-color: #D8B710; /* Dunkleres Grün bei Hover */
}

/* Standardverhalten: gestapelt unter 1025px */
.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
  width: 100%;
  flex-basis: 100%;
}

@media (max-width: 990px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) {
    display: block !important;
  }

  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    width: 100% !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
	
  .woocommerce .wp-block-woocommerce-product-image-gallery {
	clear: both;
	max-width: 100% !important;
	position: relative;
  }
	
}


/* Ab 1025px: Spalten nebeneinander */
@media (min-width: 991px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 0;
    flex-grow: 1;
    width: auto;
  }

  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:first-child {
    flex-basis: 315px !important;
  }
}