/**
 * Theme Name: Twenty Twenty-Five Child
 * Template:   twentytwentyfive
 * Text Domain: twentytwentyfive-child
 * Version:    1.0
 */

body.contrast-mode {
  background-color: #141414 !important;
  color: #fff !important;
}

html body.contrast-mode {
  background-color: #141414 !important;
}


/* Kontrastmodus */
body.contrast-mode .has-background,
body.contrast-mode .has-text-color,
body.contrast-mode .has-background-color,
body.contrast-mode .has-primary-background-color,
body.contrast-mode .has-secondary-background-color,
body.contrast-mode .has-foreground-color,
body.contrast-mode .has-contrast-color,
body.contrast-mode .has-accent-color {
  background-color: #141414 !important;
  color: #fff !important;
}

body.contrast-mode a,
body.contrast-mode p a,
body.contrast-mode h1 a,
body.contrast-mode h2 a,
body.contrast-mode h3 a,
body.contrast-mode h4 a,
body.contrast-mode h5 a,
body.contrast-mode h6 a {
  position: relative;
  color: inherit; /* optional: keep text color */
  text-decoration: none; /* remove default underline */
  background-image: linear-gradient(
    to right,
    var(--wp--preset--color--accent-3, #FFFFFF80),
    var(--wp--preset--color--accent-3, #FFFFFF80)
  );
  background-position: 0 100%;
  background-size: 0% 0.1em;
  background-repeat: no-repeat;
  transition: background-size 0.3s ease;
}

body.contrast-mode a:hover,
body.contrast-mode p a:hover,
body.contrast-mode h1 a:hover,
body.contrast-mode h2 a:hover,
body.contrast-mode h3 a:hover,
body.contrast-mode h4 a:hover,
body.contrast-mode h5 a:hover,
body.contrast-mode h6 a:hover {
  color: #FFFFFF;
	background-size: 100% 0.1em;
}


body.contrast-mode .wp-block {
  background-color: transparent !important;
  color: #fff !important;
}

body.contrast-mode::before {
  background-image: none !important;
}

body.contrast-mode .has-accent-1-background-color {
  background-color: transparent !important;
  color: #fff !important;
}

body.contrast-mode .has-accent-3-background-color {
  background-color: transparent !important;
  color: #fff !important;
}

body.contrast-mode .has-accent-4-background-color {
  background-color: transparent !important;
  color: #fff !important;
}

body::before.contrast-mode {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-image: none;
  z-index: -1;
  pointer-events: none;
}

/* Body Contrast Mode Margin */

/* Default Link Stil */

a {
  position: relative;
  color: inherit; /* optional: keep text color */
  text-decoration: none; /* remove default underline */
  background-image: linear-gradient(
    to right,
    var(--wp--preset--color--accent-6, #004D4380),
    var(--wp--preset--color--accent-6, #004D4380)
  );
  background-position: 0 100%;
  background-size: 0% 0.1em;
  background-repeat: no-repeat;
  transition: background-size 0.3s ease;
}

a:hover,
a:focus {
  color: var(--wp--preset--color--accent-1, #004d43);
	background-size: 100% 0.1em;
}

/* Link ohne Hover Styling */
a.nostyle {
  position: static !important;
  color: inherit !important;
  text-decoration: underline !important;
  background-image: none !important;
  background-position: initial !important;
  background-size: initial !important;
  background-repeat: initial !important;
  transition: none !important;
}

a.nostyle:hover,
a.nostyle:focus {
  color: inherit !important;
  background-size: initial !important;
}

/* Hintergrund Netzmuster */
body {
  background-color: #004d43;
  position: relative;
  z-index: 0;
}

body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: url('assets/images/bg.svg') no-repeat left / contain;
  z-index: -1; /* lower than footer */
  pointer-events: none;
}

/* Menu */
.wp-block-navigation__responsive-container-open::after {
    content: "Menü";
    font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.51), 1.2rem);
    padding-left: 1rem;
}
.wp-block-navigation__responsive-container-close {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}

/* Menu Font */
.menu-font-l {
  font-family: var(--wp--preset--font-family--akagi-pro-bold);
  font-size: clamp(1.502rem, 1.502rem + ((1vw - 0.2rem) * 1.565), 2.5rem);
  font-style: normal;
  font-weight: 400;
  }

/*remove focus highlight on cliked links*/
a:focus,
button:focus,
input:focus,
textarea:focus {
    outline: 0 !important;
    box-shadow: 0 !important;
    border: 0 !important;
}


/* Menü Links (Fullscreen) – Stil wie normale Links, aber mit weißer Farbe und Linie */
.wp-block-navigation__responsive-container.is-menu-open a {
  position: relative;
  color: inherit; /* optional: keep text color */
  text-decoration: none; /* remove default underline */
  background-image: linear-gradient(
    to right,
    var(--wp--preset--color--accent-3, #FFFFFF80),
    var(--wp--preset--color--accent-3, #FFFFFF80)
  );
  background-position: 0 100%;
  background-size: 0% 0.1em;
  background-repeat: no-repeat;
  transition: background-size 0.3s ease;
}


.wp-block-navigation__responsive-container.is-menu-open a:hover {
	color: #FFFFFF;
	background-size: 100% 0.1em;
}

body.contrast-mode .wp-block-navigation__responsive-container.is-menu-open a {
  position: relative;
  color: inherit; /* optional: keep text color */
  text-decoration: none; /* remove default underline */
  background-image: linear-gradient(
    to right,
    var(--wp--preset--color--accent-3, #FFFFFF80),
    var(--wp--preset--color--accent-3, #FFFFFF80)
  );
  background-position: 0 100%;
  background-size: 0% 0.1em;
  background-repeat: no-repeat;
  transition: background-size 0.3s ease;
}

body.contrast-mode .wp-block-navigation__responsive-container.is-menu-open a:hover {
  color: #FFFFFF;
  background-size: 100% 0.1em;
}


.wp-block-navigation-item__label, .wp-block-navigation__responsive-container-close {
  color: #fff;
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{
  background-color: #004d43;
}

body.contrast-mode .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{
  background-color: #141414;
}



/* Search Icon */
.wp-block-search__button svg {
  fill: var(--wp--preset--color--contrast);
}

body.contrast-mode .wp-block-search__button svg {
  fill: #fff;
}


/* Breadcrumbs */
.breadcrumb-nav {
  font-size: 14px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1em;
}

.breadcrumb-nav a {
  text-decoration: none;
  color: #141414;
}

.breadcrumb-nav a:hover {
  text-decoration: none;
}

.breadcrumb-nav span {
  color: #141414;
}

.breadcrumb-separator {
  color: #141414;
  font-weight: normal;
}

body.contrast-mode .breadcrumb-nav span {
  color: #fff;
  text-decoration: none;
}

body.contrast-mode .breadcrumb-nav a {
  color: #fff;
  text-decoration: none;
}

/* Sticky Header */
header.wp-block-template-part {
    position: sticky;
    top: var(--wp-admin--admin-bar--height, 0);
    z-index: 10;
}

/* Hide on Mobile */
.hide-on-mobile {
  display: block;
}
	

@media screen and (max-width: 768px) {
  .hide-on-mobile {
    display: none !important;
  }
}

/* Hide on Tablet */
.hide-on-tablet {
  display: block;
}


/* Nur auf Tablets (Zwischenstufe) ausblenden */
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .hide-on-tablet {
    display: none !important;
  }
}

/* Menü für Tablet Table % 
@media screen and (min-width: 769px) and (max-width: 1023px) {
	.flex-basis65 {
	flex-basis: 65% !important;
	}	
}
*/

/* Menü für Mobile Table % */
@media screen and (max-width: 768px) {
	.flex-basis65 {
	flex-basis: 65% !important;
	}	
}

/* Home Slider */
/* Home Slider */
.custom-slider {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-height: 550px;
  overflow: hidden;
}

.slider-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: translateX(0%);
  z-index: 0;
  pointer-events: none;
}

/* Startzustände OHNE Transition */
.slider-slide.from-right {
  transform: translateX(100%);
  z-index: 3;
}
.slider-slide.from-left {
  transform: translateX(-100%);
  z-index: 3;
}

/* Slide, die aktiv wird, bekommt Transition */
.slider-slide.slide-current {
  transition: transform 0.5s ease;
  transform: translateX(0%);
  z-index: 2;
  pointer-events: auto;
}

/* Bild und Text */
.slider-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.slider-overlay {
  position: relative;
  width: 50%;
  height: 100%;
  background-color: rgba(229, 237, 236, 0.8);
  backdrop-filter: blur(10px);
  padding: 2rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  z-index: 2;
  color: #141414;
}

body.contrast-mode .slider-overlay {
	background-color:  rgba(255, 255, 255, 1);
}

.slider-text h1, .slider-text h2, .slider-text h3, .slider-text h4, .slider-text h5,
.slider-text p, .slider-text a {
	color: var(--wp--preset--color--contrast, #141414);
  hyphens: auto;
  overflow-wrap: break-word;
  margin-top: 0;
  margin-bottom: 1rem;
}

body.contrast-mode .slider-text h1, .slider-text h2, .slider-text h3, .slider-text h4, .slider-text h5,
.slider-text a, .slider-text p {
	color: var(--wp--preset--color--contrast, #141414);
	text-decoration: none;
	text-decoration-style: none;
}

/* Steuerungselemente */
.slider-indicator {
  position: absolute;
  bottom: 2rem;
  left: 2rem;
  display: flex;
  gap: 0.5rem;
  z-index: 3;
  cursor: pointer;
}

.slider-indicator .dot {
  width: 10px;
  height: 10px;
  background-color: var(--wp--preset--color--contrast, #141414);
  border-radius: 0;
}

.slider-indicator .dot.active {
  background-color: #e9ec6b;
}

.slider-nav {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  flex-direction: row;
  gap: 0;
  z-index: 3;
}

.slider-btn {
  background-color: rgba(229, 237, 236, 0.8);
  backdrop-filter: blur(10px);
  border: none;
  width: 40px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.slider-btn svg {
  width: 24px;
  height: 24px;
  stroke: #000;
  stroke-width: 2;
  fill: none;
}

/* Responsive */
@media (max-width: 768px) {
  .slider-overlay {
    width: 100%;
    height: auto;
    position: absolute;
    bottom: 0;
    background-color: rgba(208, 229, 221, 0.7);
    backdrop-filter: blur(3px);
    padding: 2rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: flex-end; /* Text nach unten */
    z-index: 2;
  }

  .slider-text h1,
  .slider-text p {
    margin-top: 0;
    margin-bottom: 1rem;
  }

  .slider-indicator {
    position: absolute;
    top: 1rem;
    left: 1rem;
    bottom: unset;
    z-index: 3;
    display: flex;
    gap: 0.5rem;
  }

  .slider-nav {
    position: absolute;
    top: 0;
    right: 0;
    transform: none;
    z-index: 3;
    display: flex;
    flex-direction: row;
  }

  .slider-btn {
    height: 60px;
    width: 40px;
    padding: 0;
    border-radius: 0;
  }

  .slider-controls {
    display: none; /* falls du sie getrennt behandeln willst */
  }
}

/*Logo Fixed */

@media screen and (max-width: 768px) {
  .fixed {
  position: fixed;
  top: 1rem;
  right: 30px;
  width: 80px;
  z-index: 9999;
}
}