/* CSS Basics V.2.4 */

/* Breakpoint Specific Block Enhancements */

/* Row */
@media (max-width: 599px) {
  .break-sm { flex-wrap: wrap !important; }
  .reverse-sm { flex-direction: column-reverse; }
}

@media (max-width: 992px) {
  .break-md { flex-wrap: wrap !important; }
  .reverse-md { flex-direction: column-reverse; }
}

@media (max-width: 1199px) {
  .break-lg { flex-wrap: wrap !important; }
  .reverse-lg { flex-direction: column-reverse; }
}

/* Tablet Breakpoint - Media & Text */
@media (max-width: 992px) {
  .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
    grid-column: 1;
    grid-row: 1;
  }
  .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content.wp-block-media-text__content {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
  .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
    grid-column: 1;
    grid-row: 1;
  }
  .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
    grid-column: 1;
    grid-row: 2;
  }
  .wp-block-media-text.is-stacked-on-mobile {
    grid-template-columns: 100% !important;
  }
}

/* Media & Text - No Padding */
.nopadding .wp-block-media-text__content { 
  padding: 0px !important; 
}

/* Off-Grid */

/* Wide width Sections */
.respect-grid-left {
  padding-left: max(var(--wp--style--root--padding-left), calc(50vw - calc(var(--wp--style--global--wide-size) / 2))) !important;
}
.respect-grid-right {
  padding-right: max(var(--wp--style--root--padding-left), calc(50vw - calc(var(--wp--style--global--wide-size) / 2))) !important;
}

/* Content width Sections */
.respect-contentgrid-left {
  padding-left: max(var(--wp--style--root--padding-left), calc(50vw - calc(var(--wp--style--global--content-size) / 2))) !important;
}
.respect-contentgrid-right {
  padding-right: max(var(--wp--style--root--padding-left), calc(50vw - calc(var(--wp--style--global--content-size) / 2))) !important;
}

/* Text Alignments */
@media (max-width: 599px) {
  .left-sm { text-align: left; }
  .right-sm { text-align: right; }
  .center-sm { text-align: center; }
}

@media (max-width: 992px) {
  .left-md { text-align: left; }
  .right-md { text-align: right; }
  .center-md { text-align: center; }
}

@media (max-width: 1199px) {
  .left-lg { text-align: left; }
  .right-lg { text-align: right; }
  .center-lg { text-align: center; }
}

/* Seperator Alignements*/
@media (max-width: 599px) {
  .float-left-sm { float: left; }
  .float-right-sm { float: right; }
}

@media (max-width: 992px) {
  .float-left-md { float: left; }
  .float-right-md { float: right; }
}

@media (max-width: 1199px) {
  .float-left-lg { float: left; }
  .float-right-lg { float: right; }
}

/* Grid Block Variation */

/* Grid-max-Columns */
@media (min-width: 1199px) {
  .grid-max-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  }
  .grid-max-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }
  .grid-max-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
  .grid-max-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  .grid-max-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .grid-max-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 992px) {
  .grid-max-8-md {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  }
  .grid-max-6-md {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }
  .grid-max-5-md {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
  .grid-max-4-md {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  .grid-max-3-md {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .grid-max-2-md {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


/* Z-Index */
.zpush-2 { z-index: 2; }
.zpush-3 { z-index: 3; }
.zpush-4 { z-index: 4; }
.zpush-101 { z-index: 101; }
.zpush-999 { z-index: 999; }

/* Slanted */

/* Full clip for both left and right skew */
.slanted-lr {
  /* background from global styles */
  clip-path: polygon(.6rem 0, 100% 0, calc(100% - .6rem) 100%, 0 100%);
  background-color: inherit;
width: fit-content;
}

.slanted-big-lr {
  /* background from global styles */
  clip-path: polygon(8vw 0, 100% 0, calc(100% - 8vw) 100%, 0 100%);
  background-color: inherit;
width: fit-content;
}

.slanted-img {margin-right: -7vw;}

/* Clip only right side
.slanted-r {
  clip-path: polygon(0 0, 100% 0, calc(100% - 1.2rem) 100%, 0 100%);
  background-color: inherit;
} */

/*Stretching*/
.stretch
{
  align-items: stretch;
}
/*Stretching Dynamic Templates - Insert Classname Dyn.Template Block*/
.dynamic-stretch{
  height: 100%;
}


/* Slanted Variant */

.angled-headline {
  font-size: var(--wp--preset--font-size--x-large);
  line-height: 1.2;
  margin: 0;
}

.angled-headline .line {
  display: inline-block;
  padding: 0.3em 1em;
color: var(--wp--preset--color--lightest);

  background-color: var(--wp--preset--color--foreground);

  /* Make each line a separate block */
  display: block;
  width: fit-content;
  margin-bottom: 0.3em;

  /* Apply angled shape */

clip-path: polygon(0.8rem 0, 100% 0, calc(100% - 0.8rem) 100%, 0 100%);
}

.wp-block-greyd-list p {line-height: 160%;}

/* Slanted background kommt von deiner Klasse .slanted-lr */

/* Utility: Uppercase */
.is-upper {
  text-transform: uppercase;
}

/* Style für den Banner */
.training-banner {
  display: inline-block;
  padding-left: var(--wp--preset--spacing--medium); padding-right: var(--wp--preset--spacing--medium);
padding-top: var(--wp--preset--spacing--tiny);
padding-bottom: var(--wp--preset--spacing--tiny);

  /* Font styling */
  /*font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;*/ /* passe ggf. an */
  font-weight: 500; /* entspricht Bold */
  color: #fff;      /* Textfarbe */
  
  /* Background */
  background-color: var(--wp--preset--color--foreground); 
  line-height: 1.0;
}

/* Abstand zwischen den Balken */
.line-gap {
  margin-top: 0.3em; /* nach Wunsch anpassen */
  display: inline-block;
}

/* Buttons */

.is-style-alternate.button{ font-family: var(--wp--preset--font-family--roboto-condensed) !important;}

/* iframe */

iframe{ border: none;
}

/* Extra Klasse zum Grid zentrieren */
.centering-grid {
justify-content: center;
}

@media (min-width: 2500px) {
  .centering-grid-child .greyd-posts-slider .query-page {
    grid-template-columns: repeat(5, minmax(0, 480px)) !important;
    justify-content: center;
  }
}

/* Map */

/* Hide Leaflet controls in top-right corner */
.leaflet-top.leaflet-right {
  display: none;
}

/* Adjust top offset for top controls 
.leaflet-top {
  top: 370px !important;
}*/

/* Remove default shadow and radius from map container */
.storefinder-map-container {
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Controls 

.wp-block-greyd-storefinder .storefinder-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 0;
  top: 68px;
  padding-left: 20px;
  padding-right: 20px;
  z-index: 500;
  position: relative;
}*/

.storefinder-search-position-below .storefinder-controls{ margin-top: 0;}

.wp-block-greyd-storefinder .storefinder-controls{
gap: 0;}

/* Search input styling */
.wp-block-greyd-storefinder
  .storefinder-controls
  .storefinder-search
  .storefinder-search-input-wrapper
  .storefinder-search-input {
  border: 2px solid #fff;
  border-radius: 0;
  font-size: 15px;
  padding: 10px 40px 10px 16px;
  transition: border-color 0.2s;
  width: 100%;
  background-color: #fff;
}

/* Search button */
.wp-block-greyd-storefinder
  .storefinder-controls
  .storefinder-search
  .storefinder-search-button {
  background: #439e35;
  border-radius: 0;
}

/* Search button hover state */
.wp-block-greyd-storefinder
  .storefinder-controls
  .storefinder-search
  .storefinder-search-button:hover:not(:disabled) {
  background: #439e35;
  border-radius: 0;
}

/* Remove default gap between input and button */
.wp-block-greyd-storefinder .storefinder-controls .storefinder-search {
  gap: 0;
}

/* Geolocation */

.wp-block-greyd-storefinder
  .storefinder-controls
  .storefinder-geolocation-button {
  border: 2px solid #fdc300;
  background-color: #fdc300;
  color: #373536;
  border-radius: 0;
}

.wp-block-greyd-storefinder
  .storefinder-controls
  .storefinder-geolocation-button:hover:not(:disabled) {
  border: 2px solid #fdc300;
  background-color: #fdc300;
  color: #373536;
  border-radius: 0;
}

/* Suggestions */

.wp-block-greyd-storefinder
  .storefinder-controls
  .storefinder-search
  .storefinder-search-input-wrapper
  .storefinder-search-suggestions {
  background-color: #fff;
  box-shadow: none;
  border-radius: 0;
  border: #fff;
  top: 48px;
  margin-left: 1px;
  margin-right: 2px;
}

/* Highlight search input when focused */
.wp-block-greyd-storefinder
  .storefinder-controls
  .storefinder-search
  .storefinder-search-input-wrapper
  .storefinder-search-input:focus {
  border-color: #439e35;
}

/* Hover state for suggestion item */
.storefinder-search-input-wrapper
  .storefinder-search-suggestions
  .storefinder-suggestion-item:hover {
  background-color: #dadada50 !important;
}

/* Hide default suggestion icon */
.storefinder-suggestion-icon {
  display: none !important;
}

/* Map UI */

/* Remove borders from zoom controls */
.leaflet-bar {
  border: none !important;
  border-radius: 0 !important;
}

/* Remove bottom border between zoom in/out buttons */
.leaflet-control-zoom a:first-child {
  border-bottom-color: transparent !important;
}

/* Custom marker size */
.storefinder-marker {
  width: 24px;
  height: 24px;
}

.storefinder-marker img {object-fit: contain !important;}

.storefinder-marker, .storefinder-marker.has-custom-image{
filter: none !important;}

.storefinder-marker.has-custom-image img{ border: none;}

.storefinder-marker-cluster-small .storefinder-cluster-icon, 
.storefinder-marker-cluster-medium .storefinder-cluster-icon, .storefinder-marker-cluster-large .storefinder-cluster-icon{ background-color: var(--wp--preset--color--primary);}

/*
.leaflet-container a{color: #fff !important;}
*/
/* Custom Popover Styling */

.wp-block-greyd-storefinder .leaflet-popup-content-wrapper{border-radius: 0px;}

@media (max-width: 600px) {
.wp-block-greyd-storefinder .storefinder-controls .storefinder-geolocation-button {
width: 100%;
justify-content: center;}
.wp-block-greyd-storefinder .storefinder-controls{
top: 140px;}
}

/* pagination */

.greyd-posts-slider .pgn.numbers a {height: 12px;}

/* FAQ Buttonhover */

.faqhover:hover {
  filter: drop-shadow(5px 7px 0 #439E35);
}