.app-header .toggle-main-menu .icon {
    width: 50px;
 }

.h1, h1 {
    font-size: clamp(2.2rem, 3.5vw, 3.375rem);
}

.h2, h2 {
    font-size: clamp(2rem, 3.5vw, 2.875rem);
}

.hero-one h1 {
	
	font-size: clamp(2.2rem, 2.5vw, 3.375rem);
}

.btn-scroll {

  color: var(--dark);
}

.impressum-template p {
	
	padding-bottom: 2rem;
}

.app-content-section strong {
	
	color: #A26402;
	font-weight: 500;
}

.app-content-section ul {
	
	margin: 30px 0;
	margin-left: 110px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.app-content-section ul li {
	
	position: relative;
}

.app-content-section ul li::before {
	
	content: '';
	position: absolute;
	left: -50px;
	top: 0px;
	width: 28px;
	height: 28px;
	background-image: url('./images/icons/plus-list.svg');
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}

.app-container {
	
	max-width: 1620px;
}

.second-line {
	
	display: block;
}

.app-section.padding-bottom {
	
	margin-bottom: unset;
	padding-bottom: calc(var(--section-padding) / 2);
}

.app-section.padding-top {
	
	margin-top: unset;
    padding-top: calc(var(--section-padding) / 2);
}

.app-main-menu__wrapper {
	
	opacity: 0;
    transition: all .35s ease-in-out;
}

.menu-open .app-main-menu__wrapper {
    opacity: 1;
}

.form-row input, 
.form-row select, 
.form-row textarea {
	
	height: 80px;
	font-family: Montserrat, sans-serif;
}

.image-section#section-1 {
	
	margin-top: var(--section-padding);
	padding-top: 0;
}

#section-1 {
	
	margin-top: var(--section-padding);
	padding-top: 0;
}



.image-section__left {
    position: relative;
    max-width: 588px;
}

.image-section__left img {
    max-height: 755px;
    object-fit: cover;
    width: 100%;
    object-position: top;
}

.image-section__right {

    max-width: 741px;
}

.boxes-two-section__wrapper .box {
	
	cursor: initial;
}

.boxes-one-section__wrapper .box {
	
	height: 100%;
}

.boxes-one-section__wrapper .box:last-child {
	
	grid-column: unset;
}

.boxes-one-section__wrapper > .box:last-child:nth-child(odd):nth-child(n+5) {
	
	grid-column: span 2;
}


.boxes-one-section{
		
  opacity: 1 !important;
}

.sitemap-section h2 {

  margin-bottom: 2rem;
}

.sitemap-section ul li {

  margin-bottom: 1rem;
  padding-inline-start: 2.75rem;
}

.sitemap-section ul li a {

  text-decoration: none;
}

.sitemap-section .children {

  margin-top: 0.8rem;
}

.jobs-section .item-header .header-wrap::before,
.jobs-section .item-header .header-wrap::after {

  display: none !important;
}

.section-error-404 h1 {
	
	display: flex;
    flex-direction: column;
}

@media (max-width: 1200px) {

  .image-section .app-section-grid {
    gap: 3rem;
    display: flex;
    flex-direction: column-reverse;
	align-items: flex-start;
  }

  .image-section__right {

    padding-top: 0;
    gap: 1.5rem;
  }
	
    .boxes-one-section__wrapper > .box:last-child:nth-child(odd):nth-child(n+5) {
	
	    grid-column: span 1;
	}
}


.wpcf7-form-control.wpcf7-select {
	cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='21' height='12' viewBox='0 0 21 12' fill='none'><path d='M20.7204 1.22344C20.3477 0.865646 19.7433 0.865584 19.3705 1.2235L10.5002 9.73872L1.62951 1.22344C1.25679 0.865646 0.652368 0.865584 0.279586 1.2235C-0.0931955 1.58135 -0.0931955 2.1615 0.279586 2.51935L9.8253 11.6825C10.0043 11.8544 10.2471 11.9509 10.5002 11.9509C10.7534 11.9509 10.9962 11.8543 11.1752 11.6825L20.7204 2.51929C21.0932 2.1615 21.0932 1.58129 20.7204 1.22344Z' fill='black'/></svg>") 
  no-repeat right 1rem center/21px 12px;
  padding-right: 2.5rem; 
}



@media (max-width: 768px) {
	
	    .hero-one__wrapper>div {
        flex: 0 0 100%;
        max-width: 100%;
        min-height: unset;
    }
	
	.hero-one .second-line {
		
		padding-left: 1rem;
	}
	
	    .hero-one__wrapper {
        flex-direction: column;
        justify-content: center;
        flex-direction: column-reverse;
        gap: 2rem;
        padding-top: 8rem;
    }
	    .hero-one__wrapper>div {
        flex: 0 0 100%;
        max-width: 100%;
        min-height: unset;
    }
	
	.hero-one__right {
		
		display: block;
	}
	    .hero-one__right .hero-one__media {
        padding: 0 20px;
    }
	    .hero-one__right img {
        max-width: 100%;
    }
	.hero-one .btn-scroll {
        left: 1.8rem;
        position: initial;
        width: max-content;
    }
	
	.hero-one .btn-scroll::before {
		
		display: none;
	}
	.image-section#section-1 {
	
		padding-top: 4rem;
	}
	.jobs-section .app-section-header,
	.contact-form-section .app-section-title,
	.contact-us-section .app-section-title{
		margin-bottom: 2rem;
	}
	
	.boxes-two-section__wrapper .section-title {
		
		padding-bottom: 0;
	}
	
	.app-section.padding-bottom {
	
		margin-bottom: unset;
		padding-bottom: calc(var(--section-padding));
	}

	.app-section.padding-top {

		margin-top: unset;
		padding-top: calc(var(--section-padding));
	}
	
	.image-section#section-1 {
	
		padding-top: var(--section-padding);
	}
	
	#section-1 {
	
		padding-top: var(--section-padding);
	}
	
	.app-content-section ul {
		
		margin-left: 65px;
	}
	
	.app-content-section ul li::before {
		
		left: -35px;
		top: 2px;
		width: 20px;
		height: 20px;
	}
	
	 .app-header .toggle-main-menu .icon {
        width: 34px;
    }
	
	.contact-us-section .app-section-links {
    	padding-inline-start: 2.5rem;
	}
}





.wpcf7-form-control-wrap[data-name="application"] {
  position: relative;
  display: block;
}

.wpcf7-form-control.wpcf7-file {
  inline-size: 100%;
  cursor: pointer;
  padding: 0; 
  font: inherit;
}

.wpcf7-form-control.wpcf7-file::file-selector-button {
  opacity: 0;
  inline-size: 100%;
  block-size: 100%;
  margin: 0;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.wpcf7-form-control.wpcf7-file::-webkit-file-upload-button {
  opacity: 0;          
  inline-size: 100%;
  block-size: 100%;
  margin: 0;
  border: 0;
  padding: 0;
  cursor: pointer;
}

.wpcf7-form-control-wrap[data-name="application"]::before {
  content: "Bewerbung hochladen *";
  position: absolute;
  inset-inline: 1.5rem; 
  inset-block: 0;
  display: flex;
  align-items: center;
  pointer-events: none;   
  height: 80px; 
}

.wpcf7-form-control-wrap[data-name="application"]::after {
  content: "";
  position: absolute;
  inset-inline-end: 16px;
  inset-block: 0;
  inline-size: 42px;
  block-size: 42px;
  margin-block: 26px;
  background: no-repeat center / 42px 42px
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='42' height='43' viewBox='0 0 42 43' fill='none'><path d='M38 18.0156C38 22.1166 35.663 25.4531 31.5625 25.4531H30.25C29.6627 25.4531 29.1875 24.9774 29.1875 24.3906C29.1875 23.8039 29.6627 23.3281 30.25 23.3281H31.5625C34.4915 23.3281 35.875 20.9447 35.875 18.0156C35.875 15.0866 33.4915 12.7031 30.5625 12.7031H29.5C28.9127 12.7031 28.4375 12.2274 28.4375 11.6406C28.4375 7.53964 25.1005 4.20312 21 4.20312C16.8995 4.20312 13.5625 7.53964 13.5625 11.6406C13.5625 12.2274 13.0873 12.7031 12.5 12.7031H11.4375C8.50845 12.7031 6.125 15.0866 6.125 18.0156C6.125 20.9447 7.50845 23.3281 10.4375 23.3281H11.75C12.3373 23.3281 12.8125 23.8039 12.8125 24.3906C12.8125 24.9774 12.3373 25.4531 11.75 25.4531H10.4375C6.33705 25.4531 4 22.1166 4 18.0156C4 13.9146 7.33705 10.5781 11.4375 10.5781H11.4967C12.0269 5.80352 16.0859 2.07812 21 2.07812C25.9141 2.07812 29.9731 5.80352 30.5033 10.5781H30.5625C34.6632 10.5781 38 13.9146 38 18.0156Z' fill='%23687450'/><path d='M25.8113 21.8137L22.375 19.3774V31.75C22.375 32.3368 21.8998 32.8125 21.3125 32.8125C20.7252 32.8125 20.25 32.3368 20.25 31.75V19.3774L16.8137 21.8137C16.3985 22.2289 15.7262 22.2289 15.3113 21.8137C14.8964 21.3985 14.8961 20.7262 15.3113 20.3113L20.5613 16.0613C20.7687 15.8539 21.0407 15.75 21.3125 15.75C21.5842 15.75 21.8562 15.8539 22.0637 16.0613L27.3137 20.3113C27.7288 20.7265 27.7288 21.3988 27.3137 21.8137C26.8985 22.2286 26.2262 22.2289 25.8113 21.8137Z' fill='%23687450'/></svg>");
  pointer-events: none;    
}

.wpcf7-form-control.wpcf7-file:focus-visible {
  outline: 2px solid #687450;
  outline-offset: 2px;
}


.wpcf7-form-control-wrap[data-name="application"].has-file::before {
  content: attr(data-filename);
  font-weight: 500;
  color: #222;
}

.wpcf7-not-valid-tip {

  margin-top: 5px;
}


fieldset {

  border: unset;
}







html.js .reveal {
  opacity: 0;
  transform: translateY(25px);
  transition: opacity 600ms ease, transform 600ms ease;
  will-change: opacity, transform;
}

html.js .reveal.is-visible {
  opacity: 1;
  transform: none;
}

.reveal:focus-within {
  opacity: 1 !important;
  transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
  html.js .reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

@media print {
  .reveal { opacity: 1 !important; transform: none !important; }
}

/* WCAG 2.1 AA Focus-Visible Styles for Forms */

/* Enhanced focus styles for all form inputs */
input,
select,
textarea {
  transition: all 0.3s ease;
}

input:focus,
select:focus,
textarea:focus {
  border-color: #A26402 !important;
  outline: none;
}

/* Focus-visible styles for WCAG 2.1 AA compliance */
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  border-color: #A26402 !important;
  outline: 3px solid -webkit-focus-ring-color;
  outline-offset: 2px;
}

/* Error state focus */
input[aria-invalid="true"]:focus-visible,
select[aria-invalid="true"]:focus-visible,
textarea[aria-invalid="true"]:focus-visible {
  border-color: #dc3545;
  outline: 3px solid -webkit-focus-ring-color;
  outline-offset: 2px;
}

/* Contact Form 7 specific focus styles */
.wpcf7-form input[type="text"]:focus-visible,
.wpcf7-form input[type="email"]:focus-visible,
.wpcf7-form input[type="tel"]:focus-visible,
.wpcf7-form input[type="password"]:focus-visible,
.wpcf7-form input[type="url"]:focus-visible,
.wpcf7-form input[type="search"]:focus-visible,
.wpcf7-form input[type="number"]:focus-visible,
.wpcf7-form input[type="file"]:focus-visible,
.wpcf7-form select:focus-visible,
.wpcf7-form textarea:focus-visible {
  border-color: #A26402 !important;
  outline: 3px solid -webkit-focus-ring-color;
  outline-offset: 2px;
}

/* File input specific styles */
.wpcf7-form input[type="file"]:focus-visible {
  outline: 3px solid -webkit-focus-ring-color;
  outline-offset: 2px;
}

/* Button focus styles */
.wpcf7-form button:focus-visible,
.wpcf7-form input[type="submit"]:focus-visible,
.wpcf7-form input[type="button"]:focus-visible,
.wpcf7-form input[type="reset"]:focus-visible {
  outline: 3px solid -webkit-focus-ring-color;
  outline-offset: 2px;
}

/* Checkbox focus styles */
.wpcf7-checkbox input[type="checkbox"]:focus-visible + .wpcf7-list-item-label::before {
  outline: 3px solid -webkit-focus-ring-color;
  outline-offset: 2px;
}

/* Error state focus for checkbox */
.wpcf7-checkbox input[type="checkbox"][aria-invalid="true"] + .wpcf7-list-item-label::before {
  border-color: #dc3545;
}

.wpcf7-checkbox input[type="checkbox"][aria-invalid="true"]:focus-visible + .wpcf7-list-item-label::before {
  outline: 3px solid -webkit-focus-ring-color;
  outline-offset: 2px;
}

/* Radio button focus (if used) */
.wpcf7-form input[type="radio"]:focus-visible {
  outline: 3px solid -webkit-focus-ring-color;
  outline-offset: 2px;
}

/* Fieldset and legend focus (for screen readers) */
.wpcf7-form fieldset:focus-visible {
  outline: 2px solid -webkit-focus-ring-color;
  outline-offset: 2px;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  .wpcf7-form input:focus-visible,
  .wpcf7-form select:focus-visible,
  .wpcf7-form textarea:focus-visible {
    outline-width: 4px;
  }
  
  .wpcf7-form input[aria-invalid="true"]:focus-visible,
  .wpcf7-form select[aria-invalid="true"]:focus-visible,
  .wpcf7-form textarea[aria-invalid="true"]:focus-visible {
    outline-width: 4px;
  }
  
  .wpcf7-checkbox input[type="checkbox"]:focus-visible + .wpcf7-list-item-label::before {
    outline-width: 4px;
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  .wpcf7-form input,
  .wpcf7-form select,
  .wpcf7-form textarea,
  .wpcf7-form button {
    transition: none;
  }
}

/* Additional accessibility enhancements */
.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
  border-color: #A26402 !important;
}

/* Ensure proper focus for all interactive elements */
.wpcf7-form .wpcf7-form-control:focus-visible {
  outline: 3px solid -webkit-focus-ring-color;
  outline-offset: 2px;
}

/* Custom form control focus */
.form-control:focus-visible {
  border-color: #A26402 !important;
  outline: 3px solid -webkit-focus-ring-color;
  outline-offset: 2px;
}

/* Submit button specific focus */
.btn:focus-visible,
.btn-primary:focus-visible {
  outline: 3px solid -webkit-focus-ring-color;
  outline-offset: 2px;
}

/* Error validation enhancement */
.wpcf7-not-valid {
  border-color: #dc3545 !important;
}

.wpcf7-not-valid:focus-visible {
  border-color: #dc3545 !important;
  outline: 3px solid -webkit-focus-ring-color;
  outline-offset: 2px;
}

#altEmail_container, .altEmail_container {
	
	display: none !important;
}

/* Accessible Accordion Styles for Jobs Block */

/* Accordion container */
.app-accordion[role="tablist"] {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Accordion item */
.accordion-item[role="tab"] {
  margin-bottom: 1rem;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  overflow: hidden;
}

/* Accordion button */
.accordion-item button[role="button"] {
  width: 100%;
  padding: 1rem;
  background: #fff;
  border: none;
  text-align: left;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: background-color 0.3s ease;
  position: relative;
}

.accordion-item button[role="button"]:hover {
  background-color: #f8f9fa;
}

.accordion-item button[role="button"]:focus-visible {
  outline: 3px solid -webkit-focus-ring-color;
  outline-offset: 2px;
  background-color: #f8f9fa;
}

/* Accordion indicator */
.accordion-indicator {
  font-size: 1.2rem;
  font-weight: bold;
  color: #666;
  transition: transform 0.3s ease;
  min-width: 20px;
  text-align: center;
}

.accordion-item button[role="button"][aria-expanded="true"] .accordion-indicator {
  transform: rotate(0deg);
}

.accordion-item button[role="button"][aria-expanded="false"] .accordion-indicator {
  transform: rotate(0deg);
}

/* Accordion content panel */
.accordion-item .item-content[role="tabpanel"] {
  padding: 0 1rem 1rem 1rem;
  background: #fff;
  border-top: 1px solid #e0e0e0;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
}

.accordion-item .item-content[role="tabpanel"][aria-hidden="false"] {
  max-height: 1000px;
  padding: 1rem;
}

.accordion-item .item-content[role="tabpanel"][aria-hidden="true"] {
  max-height: 0;
  padding: 0 1rem;
}

/* Job title and description in accordion */
.accordion-item button[role="button"] h3 {
  margin: 0 0 0.5rem 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: #333;
}

.accordion-item button[role="button"] p {
  margin: 0;
  font-size: 0.9rem;
  color: #666;
  line-height: 1.4;
}

/* Apply button in accordion content */
.accordion-item .app-section-links {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #f0f0f0;
}

.accordion-item .app-section-links .btn {
  margin: 0;
}

/* No jobs message */
.no-jobs-message[role="alert"] {
  padding: 2rem;
  text-align: center;
  color: #666;
  font-style: italic;
  background: #f8f9fa;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  .accordion-item {
    border-color: #000;
  }
  
  .accordion-item button[role="button"]:focus-visible {
    outline-width: 4px;
    outline-color: #000;
  }
  
  .accordion-indicator {
    color: #000;
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  .accordion-item button[role="button"],
  .accordion-item .item-content[role="tabpanel"],
  .accordion-indicator {
    transition: none;
  }
}
