a {
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px;
  text-decoration-color: var(--wp--preset--color--backgrop-4)
}

a:hover,
a:focus {
  text-decoration: none;
}

:where(.wp-site-blocks :focus) {
  outline-width: 2px;
  outline-style: solid
}

.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
  margin-bottom: 3px
}

.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
  outline-offset: 4px
}

.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  outline-offset: 0
}

blockquote,
caption,
figcaption,
h1,
h2,
h3,
h4,
h5,
h6,
p {
  text-wrap: pretty
}

.more-link {
  display: block
}

:where(pre) {
  overflow-x: auto
}

.wp-block-accordion-panel[hidden="until-found"] {
  padding: 0 !important;
}

li::marker {
  color: #4c7296;
}

html {
  scroll-padding-top: 140px;
}

@supports (-moz-appearance: none) {
  ol.is-style-columns {
    columns: 2;
    counter-reset: toc;
  }

  ol.is-style-columns>li {
    counter-increment: toc;
  }

  ol.is-style-columns>li::marker {
    content: counter(toc) ". ";
  }
}

#rcb-buttons button{
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
    padding-top: var(--wp--preset--spacing--20);
    padding-bottom: var(--wp--preset--spacing--20);
    font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.213), 1rem);
    text-transform: none;
}

button#rcb-privacy-button,
button#rcb-history-button,
button#rcb-revoke-button {
    border: 0;
    padding: 12px;
    padding-top: var(--wp--preset--spacing--20);
    padding-bottom: var(--wp--preset--spacing--20);
    font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.213), 1rem);
    text-transform: none;
    border-radius: 12px;
    color: white;
    background: var(--wp--preset--color--primary);
    font-weight: 700;
    font-family: var(--wp--preset--font-family--montserrat);
    text-align: left;
}

nav.trp-language-switcher.trp-floating-switcher.trp-ls-inline.trp-switcher-position-top.trp-opposite-language {
  top: 108px;
  right: 20px;
}

.admin-bar nav.trp-language-switcher.trp-floating-switcher.trp-ls-inline.trp-switcher-position-top.trp-opposite-language {
  top: 140px;
  right: 20px;
}

.trp-language-switcher-inner img {
  transform: scale(1.5);
}

.wp-block-acf-html ul {
  padding-left: 20px;
}

.wp-block-acf-html ul {
  padding-left: 20px;
  list-style: square;
}

.wp-block-paragraph a[target="_blank"]::after,
.wp-block-button__link[target="_blank"]::after {
  content: " \2197";
  /* Unicode for ↗ */
  display: inline-block;
  margin-left: 10px;
}

.wp-block-paragraph a[target="_blank"]::after,
.wp-block-button__link[target="_blank"]::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-left: 8px;
	vertical-align: -1px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3 2H12V11H10V5.414L3.207 12.207L1.793 10.793L8.586 4H3Z'/%3E%3C/svg%3E") 0 0 / 14px 14px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3 2H12V11H10V5.414L3.207 12.207L1.793 10.793L8.586 4H3Z'/%3E%3C/svg%3E") 0 0 / 14px 14px no-repeat;
}

body {
	timeline-scope: --cf7-form;
}

.wpcf7 {
	view-timeline: --cf7-form block;
}

@supports (animation-timeline: view()) {
	.grecaptcha-badge {
		animation: recaptcha-badge linear both;
		animation-timeline: --cf7-form;
		animation-range: cover;
	}
}

@keyframes recaptcha-badge {
	0%, 100% {
		opacity: 0;
		visibility: hidden;
	}
	10%, 90% {
		opacity: 1;
		visibility: visible;
	}
}

/*
a[href^="mailto:"]::after {
  content: " \2709"; 
  margin-left: 0.35em;
  display: inline-block;
}

a[href^="tel:"]::after {
  content: " \260E"; 
  margin-left: 0.35em;
  display: inline-block;
}
*/

.stylized-table td {
  width: 15%;
}

@media screen and (max-width: 1023px) {
  .stylized-table td {
    width: 25%;
  }
}

@media screen and (max-width: 768px) {
  .wp-block-table .has-fixed-layout {
    width: auto;
  }
}

.stylized-table td:first-of-type {
  width: 55%;
}

.stylized-table td {
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #DDE3EC !important;
}

.stylized-table tr:last-of-type td {
  border-bottom: 0 !important;
  min-width: 120px;
}

.stylized-table td a[href*=".pdf"]:after {
  content: "(PDF)";
  padding-left: 10px;
  font-weight: 500;
}

.stylized-table td a[href*=".pdf"] {
  color: var(--wp--preset--color--accent-1);
  text-decoration: none;
  border-radius: 8px;
  background: var(--wp--preset--color--primary);
  padding-top: 0.5rem;
  padding-right: 1.375rem;
  padding-bottom: 0.5rem;
  padding-left: 1.375rem;
  font-weight: 700;
}

.stylized-table td a[href*=".pdf"]:hover,
.stylized-table td a[href*=".pdf"]:focus {
  color: var(--wp--preset--color--primary);
  background: var(--wp--preset--color--accent-1);
}

/* ============================================
   Default Form Input Styles (Tailwind-like)
   ============================================ */

/* Text inputs, email, password, number, tel, url, search */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
textarea,
select {
  box-sizing: border-box;
  width: 100%;
  padding: 0.75rem;
  /* 12px - equivalent to p-3 */
  border: 1px solid rgb(209 213 219 / var(--tw-border-opacity, 1));
  /* border-gray-300 */
  border-radius: 0.5rem;
  /* 8px - rounded-lg */
  font-family: sans-serif;
  font-size: 1.25rem;
  line-height: 1.5;
  color: var(--wp--preset--color--primary);
  /* text-gray-800 */
  background-color: #ffffff;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

/* Submit button */
button[type=submit]:not(.wp-block-search__button),
input[type=submit] {
  border-width: 2px;
  padding-top: var(--wp--preset--spacing--20);
  padding-right: 76px;
  padding-bottom: var(--wp--preset--spacing--20);
  padding-left: 28px;
  font-size: clamp(16.293px, 1.018rem + ((1vw - 3.2px) * 0.777), 25px);
  font-style: normal;
  font-weight: 600;
  color: white;
  border: 0;
  border-radius: 50px;
  cursor: pointer;
  height: 52px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='white' class='size-6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m12.75 15 3-3m0 0-3-3m3 3h-7.5M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z' /%3E%3C/svg%3E ");
  background-size: 48px;
  background-position: right 10px center;
  background-repeat: no-repeat;
}

button[type=submit]:not(.wp-block-search__button),
input[type=submit] {
  border-width: 2px;
  padding-top: 10px;
  padding-right: 64px;
  padding-bottom: 10px;
  padding-left: 28px;
  font-size: clamp(16.293px, 1.018rem + ((1vw - 3.2px) * 0.777), 20px);
  font-style: normal;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  color: var(--wp--preset--color--primary);
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='%230a2f64' class='size-6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m12.75 15 3-3m0 0-3-3m3 3h-7.5M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z' /%3E%3C/svg%3E");
  background-size: 32px;
  background-position: right 20px center;
  background-repeat: no-repeat;
  background-color: var(--wp--preset--color--accent-1);
  border-color: var(--wp--preset--color--accent-1);
  text-wrap: balance;
  min-height: 52px;
  height: auto;
  text-align: left;
}

button[type=submit]:not(.wp-block-search__button):hover,
button[type=submit]:not(.wp-block-search__button):focus,
input[type=submit]:hover,
input[type=submit]:focus {
  border-color: var(--wp--preset--color--primary);
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--accent-1);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='%2302ffee' class='size-6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m12.75 15 3-3m0 0-3-3m3 3h-7.5M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z' /%3E%3C/svg%3E");
}

#search-wrapper {
  transform: translateY(-100%) scale(0);
  opacity: 0;
  visibility: hidden;
  transform-origin: bottom center;
  transition: transform .15s ease-in-out, opacity .15s ease-in-out, visibility 0s linear .15s;
  padding: 5px !important;
}

#search-wrapper.is-visible {
  transform: translateY(0%) scale(1);
  opacity: 1;
  visibility: visible;
  transition: transform .15s ease-in-out, opacity .15s ease-in-out, visibility 0s;
}

#search-wrapper:not(.is-visible) {
  pointer-events: none;
  visibility: hidden;
}

button[type=submit].wp-block-search__button {
  margin-left: 0;
  aspect-ratio: 1;
  padding: 0;
  width: 68px;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

input[type=search].wp-block-search__input {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-right: 0 !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
}

:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) {
  padding: 0;
}

input.wpcf7-not-valid {
  border-color: #ff4d4f !important;
}

.wpcf7-not-valid-tip {
  display: none;
}

.wpcf7 form .wpcf7-response-output {
  margin: 1em 0 0;
  padding: 0.75em 1em;
  border: 2px solid #00a0d2;
  border-radius: 8px;
  font-weight: 500;
}

.submit-wrapper {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  margin-block-start: 30px;
}

/* Placeholder styling */
input::placeholder,
textarea::placeholder {
  color: #9ca3af;
  /* text-gray-400 */
  opacity: 1;
  font-size: 1rem;
}

.wpcf7 form.sent .wpcf7-response-output {
  border-color: rgb(169, 222, 174);
  background-color: rgb(169, 222, 174);
  color: rgb(22, 101, 52);
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  border-color: #ff4d4f;
  background-color: #ffdcdc;
  color: #ff4d4f;
}

.wpcf7 .cols-2 {
  display: flex;
  gap: 20px;
  flex-direction: row;
}

/* Disabled state */
input:disabled,
textarea:disabled,
select:disabled {
  background-color: #d9d9d9;
  color: #0a2f64;
  cursor: not-allowed;
  opacity: 1;
}

/* Invalid/Error state */
input:invalid:not(:placeholder-shown),
textarea:invalid:not(:placeholder-shown) {
  border-color: var(--wp--preset--color--custom-accent-2-dark);
  /* border-red-500 */
}

input:invalid:focus:not(:placeholder-shown),
textarea:invalid:focus:not(:placeholder-shown) {
  border-color: var(--wp--preset--color--custom-accent-2-dark);
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

/* Textarea specific */
textarea {
  height: 160px;
  min-height: 100px;
  resize: vertical;
}

/* Select specific */
select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
  padding-right: 2.5rem;
}

/* Label styling */
label {
  display: block;
  font-size: .875rem;
  /* text-sm */
  font-weight: 600;
  /* font-medium */
  color: var(--wp--preset--color--primary);
  /* text-gray-700 */
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

.wpcf7-form-control-wrap input,
.wpcf7-form-control-wrap textarea {
  position: relative;
  margin-top: 7px;
}

/* Helper text / description */
.form-helper-text,
.form-description {
  font-size: 0.875rem;
  color: #6b7280;
  /* text-gray-500 */
  margin-top: 0.25rem;
}

/* Error message */
.form-error,
.error-message {
  font-size: 0.875rem;
  color: #ef4444;
  /* text-red-500 */
  margin-top: 0.25rem;
}

/* Success message */
.form-success,
.success-message {
  font-size: 0.875rem;
  color: #10b981;
  /* text-green-500 */
  margin-top: 0.25rem;
}

/* Checkbox and Radio buttons */
input[type="checkbox"],
input[type="radio"] {}

input[type="radio"] {
  border-radius: 50%;
}

input[type="checkbox"]:focus,
input[type="radio"]:focus {
  outline: none;
}

/* File input */
input[type="file"] {
  width: auto;
  padding: 0.5rem;
  border: 1px dashed #d1d5db;
  border-radius: 0.5rem;
}

input[type="file"]:hover {
  border-color: #9ca3af;
}

/* Required field indicator */
.required::after,
label.required::after {
  content: " *";
  color: #ef4444;
  /* text-red-500 */
}

/* Form group spacing */
.form-group,
.field-group {
  margin-bottom: 1rem;
}

input[type="checkbox"] {
  /* Add if not using autoprefixer */
  -webkit-appearance: none;
  /* Remove most all native input styles */
  appearance: none;
  /* For iOS < 15 */
  background-color: white;
  /* Not removed via appearance */
  margin: 0 0 0 2px;

  font: inherit;
  color: currentColor;
  width: 1.1875rem;
  height: 1.1875rem;
  border: 2px solid currentColor;
  border-radius: 4px;
  transform: translateY(-0.075em);
  aspect-ratio: 1;
  display: grid;
  place-content: center;
}

input[type="checkbox"]::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
  transform: scale(0);
  transform-origin: bottom left;
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em var(--form-control-color);
  /* Windows High Contrast Mode */
  background-color: var(--icon-color);
}

input[type="checkbox"]:checked::before {
  transform: scale(1);
}

input[type="checkbox"]:disabled {
  --form-control-color: var(--form-control-disabled);

  color: var(--form-control-disabled);
  cursor: not-allowed;
}

/* Responsive adjustments */
@media (max-width: 781px) {

  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="number"],
  input[type="tel"],
  input[type="url"],
  input[type="search"],
  textarea,
  select {
    font-size: 16px;
    /* Prevents iOS zoom on focus */
  }

  .addon-item span {
    text-align: right;
    max-width: 70px;
  }
}

/** SP FORMULAR LAYOUT SYSTEM FÜR CF7 **/

.sp-form {
  --icon-color: currentcolor;
}

.sp-form br {
  display: none;
}

.sp-form .sp-row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 15px;
}

.sp-form p {
  max-width: 100% !important;
}

.sp-form .sp-row p {
  margin: 0;
  flex: 1 1 0;
  min-width: 0;
  max-width: 100% !important;
}

.sp-form .sp-row .sp-col-1 {
  flex: 1 1 100%;
}

.sp-form .sp-row .sp-col-2 {
  flex: 1 1 calc(50% - 10px);
}

.sp-form .sp-row .sp-col-3 {
  flex: 1 1 calc(33.333% - 14px);
}

.sp-form .sp-row .sp-col-4 {
  flex: 1 1 calc(25% - 15px);
}

.sp-form .sp-row-end {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 15px;
}

.sp-form .sp-row-end p {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}

.sp-form .sp-row-end .wpcf7-spinner {
  order: -1;
  margin: 0;
}

.sp-form .sp-row-end p {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}

.sp-form .sp-row-end .wpcf7-spinner {
  order: -1;
  margin: 0;
}

.sp-form .wpcf7-form-control.wpcf7-radio .wpcf7-list-item,
.sp-form .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item,
.sp-form .wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item {
  margin-left: 0;
  margin-right: 20px;
}

.sp-form .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item label,
.sp-form .wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item label {
  display: flex;
  flex-direction: row;
  gap: 10px;
}

.sp-form .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item label input,
.sp-form .wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item label input {
  margin-top: 4px;
}

.sp-form label {
  cursor: pointer;
}

.sp-section-wrap {
  background: white;
  padding: 5px 10px;
  border-radius: 8px;
  border: 1px solid #d4d8de;
  margin-bottom: 15px;
}

/* Generisches Conditional-Wrapper-System */
.sp-form .sp-cond-1 {
  display: none;
}

.sp-form:has(.sp-trigger-1:checked) .sp-cond-1 {
  display: block;
}

.sp-form .sp-cond-2 {
  display: none;
}

.sp-form:has(.sp-trigger-2:checked) .sp-cond-2 {
  display: block;
}

.sp-form .sp-cond-3 {
  display: none;
}

.sp-form:has(.sp-trigger-3:checked) .sp-cond-3 {
  display: block;
}

@media (max-width: 767px) {
  .sp-form .sp-row {
    flex-direction: column;
    gap: 0;
  }

  .sp-form .sp-row p {
    margin-bottom: 15px;
  }

  .sp-form .sp-row-end {
    justify-content: center;
  }

  nav.trp-language-switcher.trp-floating-switcher.trp-ls-inline.trp-switcher-position-top.trp-opposite-language {
    top: 15px;
    right: 80px;
  }
}