/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/

main {
	hyphens: auto;
}

/* === Trio Personal – CF7 Formular (Avada) === */
.trio-form{
  --trio-green:#1F951B;
  --trio-green-dark:#1F951B;
  --trio-ink:#414A4D;
  --trio-muted:#8A9196;
  --trio-border:#DCE1E4;
  --trio-focus:rgba(105,177,45,.18);
  --trio-dropzone:#F5FAEF;
  --trio-radius:10px;
}

/* Abstand zwischen den Reihen */
.trio-form .fusion-layout-column{ margin-bottom:20px !important; }

/* Labels */
.trio-form > p label,
.trio-form .fusion-layout-column > label,
.trio-form label{
  display:block;
  font-size:14px;
  font-weight:600;
  color:var(--trio-ink);
  line-height:1.4;
}

/* Eingabefelder, Selects, Textareas */
.trio-form input[type="text"],
.trio-form input[type="email"],
.trio-form input[type="tel"],
.trio-form input[type="number"],
.trio-form input[type="date"],
.trio-form select,
.trio-form textarea{
  width:100% !important;
  margin-top:7px !important;
  padding:12px 14px !important;
  font-size:15px !important;
  line-height:1.4 !important;
  color:var(--trio-ink) !important;
  background-color:#fff !important;
  border:1px solid var(--trio-border) !important;
  border-radius:var(--trio-radius) !important;
  box-shadow:none !important;
  transition:border-color .15s ease, box-shadow .15s ease !important;
}
.trio-form textarea{ min-height:120px; resize:vertical; }

/* Fokus */
.trio-form input[type="text"]:focus,
.trio-form input[type="email"]:focus,
.trio-form input[type="tel"]:focus,
.trio-form input[type="number"]:focus,
.trio-form input[type="date"]:focus,
.trio-form select:focus,
.trio-form textarea:focus{
  border-color:var(--trio-green) !important;
  box-shadow:0 0 0 3px var(--trio-focus) !important;
  outline:none !important;
}

/* Dropdowns: Avadas Pfeil-Kästchen weg, eigener integrierter Pfeil */
/* Dropdowns – verstärkt: Avada-Pfeilkästchen killen, eigenen Pfeil erzwingen */
.fusion-body .trio-form select,
.trio-form select.wpcf7-form-control{
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  appearance:none !important;
  background-color:#fff !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23414A4D' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 14px center !important;
  padding-right:40px !important;
}
.trio-form .avada-select-parent:before,
.trio-form .avada-select-parent:after,
.trio-form .fusion-select-wrapper:before,
.trio-form .fusion-select-wrapper:after,
.trio-form .select-arrow,
.trio-form .fusion-form-input-arrow{
  display:none !important;
  content:none !important;
}

/* Radio-Buttons (Ja / Nein) */
.trio-form .wpcf7-radio{ display:inline-flex; gap:24px; margin-top:9px; }
.trio-form .wpcf7-list-item{ margin:0 !important; }
.trio-form .wpcf7-list-item label{
  display:inline-flex; align-items:center; gap:8px;
  font-weight:400; font-size:15px; cursor:pointer; margin:0;
}
.trio-form .wpcf7-list-item label:before,
.trio-form .wpcf7-list-item label:after{ display:none !important; }
.trio-form input[type="radio"]{
  -webkit-appearance:none !important;
  appearance:none !important;
  width:18px !important;
  height:18px !important;
  border:2px solid var(--trio-border) !important;
  border-radius:50% !important;
  background:#fff !important;
  margin:0 8px 0 0 !important;
  padding:0 !important;
  cursor:pointer;
  vertical-align:middle;
  box-shadow:none !important;
}
.trio-form input[type="radio"]:checked{
  border-color:var(--trio-green) !important;
  background:radial-gradient(circle at center, var(--trio-green) 0 4px, #fff 5px) !important;
}

/* Drag & Drop Upload */
.trio-form label:has(.codedropz-upload-handler){
  display:block !important;
  clear:both !important;
  margin-top:26px !important;
}
.trio-form .codedropz-upload-handler{
  border:2px dashed var(--trio-green) !important;
  border-radius:12px !important;
  background:var(--trio-dropzone) !important;
  padding:26px 20px !important;
  transition:background .15s ease;
}
.trio-form .codedropz-upload-handler:hover{ background:#EEF7E4 !important; }
.trio-form .codedropz-upload-inner h3,
.trio-form .codedropz-upload-inner h2{
  font-size:18px !important;
  font-weight:600 !important;
  color:var(--trio-ink) !important;
  margin:0 0 4px !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}
.trio-form .codedropz-upload-inner span{ color:var(--trio-muted); font-size:14px; }
.trio-form .codedropz-upload-inner .cd-upload-btn,
.trio-form a.cd-upload-btn{ color:var(--trio-green) !important; font-weight:600; }
.trio-form .dnd-upload-counter{ color:var(--trio-muted); font-size:13px; }
.trio-form .codedropz-btn-remove{ color:#e25555 !important; }

/* Senden-Button */
.trio-form input[type="submit"],
.trio-form .wpcf7-submit{
  background-color:var(--trio-green) !important;
  color:#fff !important;
  border:none !important;
  border-radius:var(--trio-radius) !important;
  padding:13px 34px !important;
  font-size:15px !important;
  font-weight:600 !important;
  cursor:pointer !important;
  box-shadow:0 2px 6px rgba(105,177,45,.25) !important;
  transition:background-color .15s ease, transform .05s ease, box-shadow .15s ease !important;
}
.trio-form input[type="submit"]:hover,
.trio-form .wpcf7-submit:hover{
  background-color:var(--trio-green-dark) !important;
  box-shadow:0 4px 12px rgba(83,143,34,.3) !important;
}
.trio-form input[type="submit"]:active,
.trio-form .wpcf7-submit:active{ transform:translateY(1px); }

/* Validierung */
.trio-form .wpcf7-not-valid{
  border-color:#e25555 !important;
  box-shadow:0 0 0 3px rgba(226,85,85,.12) !important;
}
.trio-form .wpcf7-not-valid-tip{ color:#e25555; font-size:13px; margin-top:5px; }
.trio-form .wpcf7-response-output{
  border-radius:var(--trio-radius) !important;
  border-width:1px !important;
  padding:12px 16px !important;
  font-size:14px; margin:16px 0 0 !important;
}
.trio-form .wpcf7-spinner{ margin-left:10px; }

/* === COOKIE BANNER (unverändert – nicht löschen) === */
.wt-cli-manage-consent-link{ cursor:pointer !important; }
.cli-modal-backdrop{ z-index:99999 !important; }
#cookie-law-info-bar{ z-index:99999999999 !important; }
#cliSettingsPopup{ z-index:999999999999 !important; }

/* COOKIE BANER */
.wt-cli-manage-consent-link {
	cursor: pointer !important;
}

.cli-modal-backdrop {
	z-index: 99999!important;
}

#cookie-law-info-bar {
	z-index: 99999999999 !important;
}

#cliSettingsPopup {
	z-index: 999999999999 !important;
}


/* -- JOB PLUGIN -- */

/* -- SEARCH FORM -- */

#zrjb-item-search-container.zrjb-item-search-wrapper {
	padding-top: 60px !important;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    max-width: 1380px !important;
    margin: 0 auto;
}

#zrjb-item-search-container .zrjb-filter-keywords-wrapper {
  grid-column: 1;
  grid-row: 1;
  height: 50px;
}

#zrjb-item-search-container .zrjb-filter-umkreis-wrapper {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  height: 50px;
}

#zrjb-item-search-container .zrjb-submit-button-wrapper {
  grid-column: 3;
  grid-row: 1;
  justify-self: flex-end;
}

#zrjb-item-search-container .zrjb-filter-reset-link-wrapper {
  grid-column: 3;
  grid-row: 1;
  justify-self: flex-start;
}

.zrjb-filter-keywords-wrapper {
	border-radius: 40px;
}

.zrjb-filter-umkreis-wrapper {
	max-width: 280px !important;
	border-radius: 40px;
}

@media(max-width: 600px) {
	.zrjb-filter-umkreis-wrapper {
		max-width: 100% !important;
		box-shadow: none;
	}
}

@media(max-width: 1350px) {
	#zrjb-item-search-container.zrjb-item-search-wrapper {
		grid-template-columns: repeat(2, 1fr);
		padding-left: 30px;
		padding-right: 30px;
	}
	
	#zrjb-item-search-container .zrjb-filter-keywords-wrapper {
	  grid-column: 1;
	  grid-row: 1;
	}

	#zrjb-item-search-container .zrjb-filter-umkreis-wrapper {
	  grid-column: 2;
	  grid-row: 1;
		width: calc(100% - 160px);
		max-width: 100% !important;
	}

	#zrjb-item-search-container .zrjb-submit-button-wrapper {
	  grid-column: 2;
	  grid-row: 2;
	}

	/* 3. Spalte: Reset-Link direkt darunter */
	#zrjb-item-search-container .zrjb-filter-reset-link-wrapper {
	  grid-column: 1;
	  grid-row: 2;
	}
}

@media(max-width: 1024px) {
	#zrjb-item-search-container.zrjb-item-search-wrapper {
		grid-template-columns: repeat(1, 1fr);
	}
	
	#zrjb-item-search-container .zrjb-filter-keywords-wrapper {
	  grid-column: 1;
	  grid-row: 1;
	}

	#zrjb-item-search-container .zrjb-filter-umkreis-wrapper {
	  grid-column: 1;
	  grid-row: 2;
	}

	#zrjb-item-search-container .zrjb-submit-button-wrapper {
	  grid-column: 1;
	  grid-row: 3;
	}

	/* 3. Spalte: Reset-Link direkt darunter */
	#zrjb-item-search-container .zrjb-filter-reset-link-wrapper {
	  grid-column: 1;
	  grid-row: 3;
	}
}

@media(max-width: 600px) {
	#zrjb-item-search-container .zrjb-filter-keywords-wrapper {
	  grid-column: 1;
	  grid-row: 1;
	}

	#zrjb-item-search-container .zrjb-filter-umkreis-wrapper {
		width: 100%;
	  grid-column: 1;
	  grid-row: 2;
	}

	#zrjb-item-search-container .zrjb-submit-button-wrapper {
	  grid-column: 1;
	  grid-row: 4;
	}

	#zrjb-item-search-container .zrjb-filter-reset-link-wrapper {
	  grid-column: 1;
	  grid-row: 3;
		margin-top: 70px !important;
	}
}


#zrjb-radius-select-box {
	display: inline !important;
	min-width: 150px !important;
	position: absolute;
	margin-left: 10px;
	border-radius: 40px;
}

@media(max-width: 600px) {
	#zrjb-radius-select-box {
		display: block !important;
		min-width: 100% !important;
		position: relative;
		margin-left: 0;
		margin-top: 30px !important;
	}
}

.select2-container {
	width: 100% !important;
}

#zrjb-item-search-container .zrjb-filter-umkreis-wrapper .select2-selection--single {
	background-color: #ffffff !important;
	border: none !important;
	border: 2px solid #1D951B !important;
	color: #000000 !important;
	height: 50px !important;
	border-radius: 40px !important;
}

#select2-zrjb-select-location-container,
#select2-zrjb-select-radius-container {
	position: relative;
	height: 50px !important;
	display: flex;
	align-items: center;
	color: #000000 !important;
	font-size: 16px !important;
}

#select2-zrjb-select-location-container::after,
#select2-zrjb-select-radius-container::after {
	content: url(./assets/icons/angle-down.svg);
	position:absolute;
	top: 5px;
	right: 15px;
}

.select2-search__field {
	color: #000000 !important;
}

.zrjb-filter-umkreis-wrapper .select2-selection__placeholder {
	color: #000000 !important;
	font-size: 16px !important;
}

.zrjb-filter-umkreis-wrapper .select2-selection__arrow {
	display: none !important;
}

.zrjb-filter-abteilung-wrapper {
	grid-area: department;
	width: 100% !important;
}

@media(max-width: 1024px) {
	.zrjb-filter-abteilung-wrapper {
		margin-top: 15px;
	}
}

.zrjb-filter-vertragsart-wrapper {
	grid-area: contract-type;
	width: 100% !important;
}

@media(max-width: 1024px) {
	.zrjb-filter-vertragsart-wrapper {
		margin-top: 15px;
	}
}

.zrjb-filter-reset-link-wrapper {
	grid-area: reset-filters;
}

.zrjb-submit-button-wrapper {
	grid-area: search-button;
}

#zrjb-filter-keywords {
	width: 100%;
	height: 50px;
	padding-left: 20px;
	border-radius: 40px;
	border: none;
	background-color: #ffffff;
	color: #000000;
	font-size: 20px;
	border: 2px solid #1D951B !important;
}

#zrjb-filter-keywords::placeholder {
	color: #000000;
	opacity: 1;
	font-size: 18px;
}

.zrjb-filter-abteilung-wrapper,
.zrjb-filter-vertragsart-wrapper{
	background-color: #ffffff;
	border: 1px solid #ffffff;
	color: #c4c4c4;
	height: 40px;
	border-radius: 40px;
}

.select2-selection.select2-selection--multiple {
	background-color: #ffffff;
	border: 0;
	padding-left: 15px;
}

.select2-selection.select2-selection--multiple::after {
	content: url(./assets/icons/angle-down.svg);
	position:absolute;
	top: 10px;
	right: 15px;
}

.select2-container--default.select2-container--focus .select2-selection--multiple {
	border: none;
}

.select2-search__field {
	color: #ffffff;
}

.select2-search__field::placeholder {
	color: #ffffff !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
	background-color: #ffffff !important;
	color: #000000 !important;
	font-size: 12px !important;
}

.zrjb-filter-reset-link-wrapper {
	display: flex;
	align-items: flex-end;
	margin-top: 15px!important;
}

#zrjb-filter-reset-link-container a {
	color: #000000;
	padding-bottom: 2px;
	border-bottom: 1px solid #000000;
}

#zrjb-filter-reset-link-container a::before {
	content: url(./assets/icons/rotate-left.svg);
	margin-right: 10px;
}

#zrjb-submit-button-container #zrjb-submit-button {
	width: 200px;
	background-color: #ffffff !important;
	color: #000000 !important;
	padding: 12px 30px 12px 25px !important;
	border: none !important;
	border-radius: 65px !important;
	font-size: 18px;
	font-weight: bold !important;
	text-transform: uppercase !important;
	border-radius: 65px !important;
	cursor: pointer !important;
	box-shadow: 0px 1px 5px 0px rgba(175,175,175,0.8) !important;
	transition: background-color .2s, transform .2s;
}

#zrjb-submit-button:hover {
	transform: scale(1.05);
}

#zrjb-submit-button::before {
	content: url(./assets/icons/search.svg);
	margin-right: 15px;
}

@media(max-width: 600px) {
	#zrjb-submit-button-container #zrjb-submit-button {
		margin-top: 15px !important;
	}
}

@media(max-width: 490px) {
	#zrjb-submit-button-container #zrjb-submit-button {
		margin-top: 0px !important;
	}
}


/* -- JOBS LIST -- */
.job-list {
	padding-top: 60px !important;
	display: grid;
	grid-template-columns: 1fr;
	gap: 30px;
	max-width: 1380px!important;
	margin: 0 auto;
	hyphens: auto;
	word-break: break-all;
}

.job-list-single {
	box-shadow: 0px 1px 5px 0px rgba(175,175,175,0.5) !important;
	background-color: #ffffff;
	padding: 20px 30px;
	transition: box-shadow .2s, border-bottom .2s;
	border-bottom: 4px solid transparent;
}

.job-list-single:hover {
	box-shadow: 0px 1px 6px 0px rgba(175,175,175,0.8) !important;
	border-bottom: 4px solid #1d951b;
}

.job-list-single-date time {
	background-color: #f5f5f5;
	color: #000000;
	padding: 5px 10px;
	font-weight: lighter;
	border-radius: 3px;
	box-shadow: 0px 1px 5px 0px rgba(175,175,175,0.4) !important;
}

.job-list-single h2 {
	font-size: 30px !important;
	font-weight: bold !important;
	line-height: 34px !important;
	margin-top: 20px !important;
	margin-bottom: 0 !important;
	hyphens: auto !important;
}

.job-list-single a {
	hyphens: auto !important;
	font-size: 25px !important;
}

.job-list-single a:hover {
	color: #1d951b;
}

.job-list-single-location {
	margin-top: 20px;
	font-size: 18px !important;
	font-weight: lighter;
}

.job-list-single-location::before {
	content: url(./assets/icons/map.svg);
	margin-right: 10px;
}

@media(max-width: 768px) {
	.job-list {
		grid-template-columns: repeat(1, 1fr);
		margin-left: 4%;
    	margin-right: 4%;
	}
	
	.job-list-single h2 {
		font-size: 25px !important;
	}
	
	.job-list-single-location {
		font-size: 18px !important;
	}
}

/* -- PAGINATION -- */

#zrjb-pagination-form {
	max-width: 1380px!important;
	margin: 0 auto;
}

#zrjb-list-pagination-line {
	margin-top: 30px !important;
	display: flex;
	justify-content: center;
}

#zrjb-list-pagination-line > button {
	width: 40px;
	height: 40px;
	border: none;
	background-color: #ffffff;
	color: #000000;
	font-size: 18px;
	border-radius: 100%;
	box-shadow: 0px 1px 5px 0px rgba(175,175,175,0.4) !important;
	cursor: pointer;
	transition: background-color .2s, color .2s;
}

#zrjb-list-pagination-line > button:hover {
	background-color: #1D951B;
	color: #ffffff;
}

#zrjb-list-pagination-line > button + button {
	margin-left: 10px;
}

#zrjb-list-pagination-line > button[disabled] {
	background-color: #5F5F5F;
	opacity: 0.5;
	cursor: not-allowed;
}

@media(max-width: 768px) {
	#zrjb-pagination-form {
		margin-left: 4%;
    	margin-right: 4%;
	}
}

/* -- SINGLE JOB -- */

#zrjb-back2list-button-link {
	pointer-events: none;
	visibility: hidden;
}

#zrjb-job-detail-title {
	position: relative;
	font-size: 30px !important;
	padding-bottom: 10px;
	width: fit-content!important;
	hyphens: auto !important;
}

#zrjb-job-detail-title::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100px;
	height: 4px;
	background-color: #1d951b;
}

#zrjb-bewerben-button-label {
	position: relative !important;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 15px 15px 15px 50px;
	color: #000000;
	font-weight: bold;
	background-color: #F2F3F5;
	margin-top: 30px;
	width: fit-content;
	transition: background-color .2s;
	border-radius: 5px;
	border-bottom: 5px solid #1d951b;
	text-transform: uppercase;
}

#zrjb-bewerben-button-label::before {
	content: url(./assets/icons/arrow-right-black.svg);
	position: absolute;
	top: 18px;
	left: 15px;
}

#zrjb-bewerben-button-label:hover{
	background-color: #1d951b;
	color: #ffffff;
}

#zrjb-bewerben-button-label:hover::before {
	content: url(./assets/icons/arrow-right.svg);
}

#zrjb-job-jobdetais-label {
	font-weight: bold;
	margin-right: 10px;
}

#zrjb-job-jobdetais-label::after {
	content: ':';
}

#zrjb-job-description-header {
	font-size: 25px;
	font-weight: bold;
}

.extra-privacy-security-info  a {
	color: #000000 !important;
	border-bottom: 1px solid #1E951A;
	transition: color .2s;
}


.extra-privacy-security-info  a:hover {
	color: #1E951A !important;
}

/* -- APPLICATION FORM -- */

#zrjb-application-form-titel div {
	font-size: 30px !important;
	border-bottom: 4px solid #1d951b!important;
	padding-bottom: 10px;
	width: fit-content!important;
	hyphens: auto !important;
	font-weight: bold;
	line-height: 1.2;
}

#zrjb-application-form-infotext {
	font-size: 18px;
	margin-top: 30px;
	padding: 10px 20px;
	box-shadow: 0px 1px 5px 0px rgba(175,175,175,0.5) !important;
}

#zrjb-application-form {
	margin-top: 50px;
}

#zrjb-application-form-input-container label {
	display: block;
	font-size: 18px;
}

#zrjb-application-form-input-container div+div {
	margin-top: 20px;
}


#zrjb-application-form-input-container input,
#zrjb-application-form-input-container select {
	height: 50px;
	border: 2px solid #000000;
}

#zrjb-application-form-input-container input:focus {
	border: 2px solid #1D951B;
}

#zrjb-application-form-input-container select {
	width: 150px;
}

#zrjb-attachment-container h4 {
	font-size: 18px !important;
	font-weight: normal !important;
	margin-bottom: 10px;
}

#zrjb-attachment-container p {
	padding: 10px 20px;
	box-shadow: 0px 1px 5px 0px rgba(175,175,175,0.5) !important;
	font-size: 14px;
}

#zrjb-file-upload-button {
	font-size: 18px;
	background-color: #f0f0f0;
	color: #000000;
	box-shadow: 0px 1px 5px 0px rgba(175,175,175,0.5) !important;
	transition: background-color .2s, color .2s;
}

#zrjb-file-upload-button:hover {
	color: #ffffff;
	background-color: #5F5F5F;
}

#zrjb-datenschutz-infotext {
	margin-top: 20px;
	font-size: 18px;
}

#senden-info {
	margin-top: 10px;
	font-size: 14px;
}

#zrjb-send-form-button {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
	font-weight: bold;
	padding: 15px 15px 15px 50px;
	background-color: #F2F3F5;
	border: none;
	color: #000000;
	cursor: pointer;
	transition: background-color .2s;
	border-radius: 5px;
	border-bottom: 5px solid #1d951b;
	text-transform: uppercase;
}

#zrjb-send-form-button::before {
	content: url(./assets/icons/arrow-right-black.svg);
	position: absolute;
	top: 18px;
	left: 15px;
}

#zrjb-send-form-button:hover  {
	background-color: #1d951b;
	color: #ffffff;
}

#zrjb-send-form-button:hover::before {
	content: url(./assets/icons/arrow-right.svg);
}

#zrjb-whatsapp-button-label {
	position: relative;
	display: flex;
	width: fit-content;
	font-size: 16px;
	font-weight: bold;
	padding: 15px 15px 15px 50px;
	background-color: #1D951B;
	border: none;
	color: #ffffff;
	cursor: pointer;
	transition: background-color .2s;
	border-radius: 5px;
}

#zrjb-whatsapp-button-label:hover  {
	background-color: #212326;
	box-shadow: 0px 1px 5px 0px rgba(175,175,175,0.5) !important;
}

#zrjb-whatsapp-button-label::before {
	content: url(./assets/icons/whatsapp.svg);
	position: absolute;
	top: 18px;
	left: 15px;
}

#zrjb-whatsapp-button-link {
	display: flex;
	flex-direction: column-reverse;
}

#zrjb-whatsapp-qrimage {
	width: 310px;
	height: auto;
}


/* -- NEWSLETTER POPUP -- */
.rmPopup.rmPopup--modal.rmLayout--vertical.rmBase {
	top: 30% !important;
}

/* -- THEME OVERWRITE -- */

.button-no-padding {
	padding: 0px 10px 10px 0px !important;
}

/* -- FOOTER OVERWRITE -- */
#custom_html-6 {
	margin-bottom: 25px !important;
}



/* -- EAA -- */

/* General rule for all keyboard-accessible elements */
a:focus-visible,
input:focus-visible,
button:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

/* Apply focus style to parent <div> when its <a> child is focused */
div:has(> a:focus-visible) {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

/* Add focus ring to the container when the child link is focused */
.fusion-image-element:has(> span > a:focus-visible) {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

/* INPUT search widget */
/* Remove native focus style from input */
#zrjb-filter-keywords:focus-visible {
  outline: none;
  box-shadow: none;
}

/* Show focus on the parent wrapper */
.zrjb-filter-keywords-wrapper:has(> #zrjb-filter-keywords:focus-visible) {
  outline: 2px solid #000000;
  outline-offset: 2px;
  border-radius: none;
}
/* SELECT search widget */
/* Remove any default outline on the visible part of Select2 */
.select2-selection {
  outline: none !important;
  box-shadow: none !important;
}

/* ✅ Focus ring on Ort select when it is focused */
.zrjb-filter-umkreis-wrapper:focus-within {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

/* ✅ Focus ring on Radius select when it is focused */
#zrjb-radius-select-box:focus-within {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

footer.fusion-footer-widget-area a:focus-visible,
footer.fusion-footer-widget-area [tabindex]:focus-visible,
footer.fusion-footer-widget-area button:focus-visible,
footer.fusion-footer-widget-area .fusion-social-network-icon:focus-visible,
footer.fusion-footer-widget-area i:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}

/* General focus styles inside the application form */
#zrjb-application-form input:focus-visible,
#zrjb-application-form select:focus-visible,
#zrjb-application-form textarea:focus-visible,
#zrjb-application-form button:focus-visible,
#zrjb-application-form [tabindex]:focus-visible {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

/* Optional: add visible focus to file upload button's internal input */
#zrjb-file-upload-button input[type="file"]:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}

































