/* Block „RF Ansprechpartner“ – template-parts/blocks/rf-contact-person.php */

.rf-contact-person {
  position: relative;
  z-index: 1;
  margin-top: 80px;
  background: linear-gradient(30deg, var(--cyan) 0%, #0f91c7 60%, #1b7fb5 100%);
}
.rf-contact-person--inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 393px;
  gap: 40px;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  padding-right: 230px;
}
.rf-contact-person--text {
  padding: 110px 0 90px 105px;
  color: var(--white);
}
.rf-contact-person .rf-heading {
  font-size: 48px;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 30px;
}
.rf-contact-person p {
  margin-bottom: 10px;
  color: var(--white);
}
.rf-contact-person a {
  color: inherit;
}
.rf-contact-person--name {
  font-size: 34px;
  line-height: 1.3;
  font-weight: 700;
}
.rf-contact-person--role {
  margin-bottom: 25px !important;
}
.rf-contact-person--phone a,
.rf-contact-person--email a {
  font-weight: 700;
  text-decoration: none;
}
.rf-contact-person--email a {
  text-decoration: underline;
}
.rf-contact-person--phone::before,
.rf-contact-person--email::before {
  display: inline-block;
  width: 30px;
  font-weight: 700;
}
.rf-contact-person--phone::before {
  content: "";
  height: 18px;
  vertical-align: -3px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1l-2.3 2.2Z'/%3E%3C/svg%3E") left center / 18px 18px no-repeat;
}
.rf-contact-person--email::before {
  content: "@";
}
.rf-contact-person--image {
  display: block;
  width: 393px;
  height: calc(100% + 80px);
  min-height: 500px;
  margin-top: -80px;
  -o-object-fit: cover;
     object-fit: cover;
}
/* Mehrere Personen direkt untereinander: ohne Lücke und ohne Überstand */
.rf-contact-person + .rf-contact-person {
  margin-top: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
}
.rf-contact-person + .rf-contact-person .rf-contact-person--image {
  height: 100%;
  min-height: 420px;
  margin-top: 0;
}
.rf-contact-person + .rf-contact-person .rf-contact-person--arcs {
  display: none;
}
/* Bögen ragen oben und unten über den Abschnitt hinaus */
.rf-contact-person--arcs {
  --arcs-top: 78px;
  --arcs-bottom: 0px;
  position: absolute;
  right: 0;
  top: calc(var(--arcs-top) * -1);
  width: 36.3vw;
  height: calc(100% + var(--arcs-top) + var(--arcs-bottom));
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: left top;
     object-position: left top;
  pointer-events: none;
}
/* Nur wenn der Fragen-Block folgt, ragen die Wellen unten hinein. Der Footer bleibt frei. */
.rf-contact-person:has(+ .rf-faq) .rf-contact-person--arcs {
  --arcs-bottom: 140px;
}
@media (max-width: 1399px) {
  .rf-contact-person--inner {
    grid-template-columns: minmax(0, 1fr) 320px;
    padding-right: 19vw;
  }
  .rf-contact-person--text {
    padding-left: 0;
  }
  .rf-contact-person--image {
    width: 320px;
  }
}
@media (max-width: 1099px) {
  .rf-contact-person .rf-heading {
    font-size: 36px;
  }
  .rf-contact-person--name {
    font-size: 26px;
  }
}
@media (max-width: 991px) {
  .rf-contact-person {
    margin-top: 0;
  }
  .rf-contact-person--inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding-right: 50px;
  }
  .rf-contact-person--text {
    padding: 50px 0 35px;
  }
  .rf-contact-person--image {
    width: min(100%, 393px);
    height: auto;
    min-height: 0;
    margin-top: 0;
    aspect-ratio: 393 / 500;
  }
  .rf-contact-person--arcs {
    display: none;
  }
}
@media (max-width: 767px) {
  .rf-contact-person--inner {
    padding-right: 25px;
  }
}

/* Smartphone: Foto über dem Text, ragt oben aus der Fläche */
@media (max-width: 767px) {
  .rf-contact-person {
    margin-top: 105px;
    background: linear-gradient(180deg, var(--cyan) 0%, #0c94cb 100%);
  }
  /* Auf dem Smartphone ist die Schrift dunkel (wie im mobilen Design) */
  .rf-contact-person--text,
  .rf-contact-person .rf-heading,
  .rf-contact-person p {
    color: var(--navy);
  }
  .rf-contact-person--phone::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23003762'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1l-2.3 2.2Z'/%3E%3C/svg%3E");
  }
  .rf-contact-person:has(+ .rf-faq) .rf-contact-person--arcs {
    --arcs-bottom: 52px;
  }
  .rf-contact-person--inner {
    padding-bottom: 50px;
  }
  .rf-contact-person--image {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    width: 100%;
    height: auto;
    min-height: 0;
    margin-top: -105px;
    aspect-ratio: 324 / 260;
    -o-object-position: center top;
       object-position: center top;
  }
  .rf-contact-person--text {
    padding: 35px 0 0;
  }
  .rf-contact-person--arcs {
    display: block;
    --arcs-top: 105px;
    width: 120%;
    max-width: none;
  }
}
