/* =========================================================================
   FEC Team page — light FEC-token modernization (staging clone 3677).
   Scoped to body.fec-team + content-area classes ONLY. Never touches the
   global footer, the "Get in touch" contact form, the unterseite hero, or the
   right sidebar (those already match the rest of the redesign, e.g. Publications).
   Tokens: navy #283582 · cyan #3ca3dd · cyan-light #5fb8e8 · cool-white #ecf0f7
   · gray-200 #e3e6ec · gray-700 #4a5568. Fonts (Avenir/Rubik) load globally.
   Built 2026-06-29 (Paula Mail 34). Card grid + eager portraits 2026-07-01.
   ========================================================================= */

/* --- Content section headings: navy --- */
body.fec-team .text-image.our-team h2,
body.fec-team .team-mitglieder-ueberschrift.our-team h2 {
  color: #283582 !important;
  letter-spacing: 0.2px;
}

/* intro lead line ("Statement on the aim …") -> calm Rubik, not uppercase */
body.fec-team .text-image.our-team h4 {
  color: #4a5568 !important;
  font-family: 'Rubik', 'Helvetica Neue', sans-serif !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0;
}

/* meeting photos (the .img-radius row, 2 columns) -> EQUAL HEIGHT + rounded */
body.fec-team .img-radius .et_pb_image,
body.fec-team .img-radius .et_pb_image .et_pb_image_wrap {
  width: 100% !important;
  display: block;
}
body.fec-team .img-radius .et_pb_image .et_pb_image_wrap img {
  width: 100% !important;
  height: 320px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  display: block;
}
@media (max-width: 980px) {
  body.fec-team .img-radius .et_pb_image .et_pb_image_wrap img { height: 240px !important; }
}

/* --- Team members: refined card panels (the visible modernization).
   Members sit in a CSS grid (theme, 50px gap), so each member can become a
   clean white card without breaking the 2-column layout. --- */
body.fec-team .team-mitglieder .et_pb_team_member {
  background: #ffffff;
  border: 1px solid #e3e6ec;
  border-radius: 14px;
  padding: 22px 24px !important;
  box-shadow: 0 6px 20px rgba(40, 53, 130, 0.06);
  transition: box-shadow 0.2s cubic-bezier(.4,0,.2,1),
              transform 0.2s cubic-bezier(.4,0,.2,1),
              border-color 0.2s cubic-bezier(.4,0,.2,1);
}
body.fec-team .team-mitglieder .et_pb_team_member:hover {
  box-shadow: 0 16px 34px rgba(40, 53, 130, 0.13);
  transform: translateY(-3px);
  border-color: #cfd6e6;
}

/* Portrait: soft placeholder disc covers the lazy-load moment; the photo is a
   clean circle floating on the card (white ring + soft shadow, not a grey ring). */
body.fec-team .team-mitglieder .et_pb_team_member_image {
  background: #eef1f6;
  border-radius: 50%;
}
body.fec-team .team-mitglieder .et_pb_team_member_image img {
  border-radius: 50% !important;
  border: 3px solid #ffffff;
  box-shadow: 0 2px 10px rgba(40, 53, 130, 0.14);
  transition: border-color 0.2s cubic-bezier(.4,0,.2,1),
              box-shadow 0.2s cubic-bezier(.4,0,.2,1);
}
body.fec-team .team-mitglieder .et_pb_team_member:hover .et_pb_team_member_image img {
  border-color: #d8ecf8;
  box-shadow: 0 6px 18px rgba(60, 163, 221, 0.30);
}

/* name -> navy Avenir */
body.fec-team .team-mitglieder .et_pb_team_member_description h4.et_pb_module_header {
  color: #283582 !important;
  font-family: 'Avenir-Black', 'Avenir', 'Avenir Next', sans-serif !important;
  font-size: 19px !important;
  margin-bottom: 4px !important;
}
/* role/position -> refined gray-700 Rubik medium */
body.fec-team .team-mitglieder .et_pb_member_position {
  color: #4a5568 !important;
  font-family: 'Rubik', 'Helvetica Neue', sans-serif !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  letter-spacing: 0.2px;
  text-transform: none !important;
}
/* member bio paragraphs (if shown) -> quiet body text */
body.fec-team .team-mitglieder .et_pb_team_member_description p:not(.et_pb_member_position) {
  color: #6a6a6a !important;
  font-family: 'Rubik', 'Helvetica Neue', sans-serif !important;
  font-size: 15.5px !important;
  line-height: 1.6 !important;
}

/* --- Testimonial block: quiet cool-white card with a navy quote --- */
body.fec-team .testi.text-image h3 {
  color: #283582 !important;
}

/* --- Hide leftover empty/broken trailing sections ---
   After the team grid the original 140 has two stray sections: a lone
   "Experts-Meeting" image + an empty image module (no source) -> a large empty
   white gap before the footer. The main content is the et_section_specialty
   section; these two leftovers are the ONLY et_section_regular sections, so
   hiding them removes the gap cleanly (works the same at go-live on live 140). */
body.fec-team .et_pb_section.et_section_regular { display: none !important; }

/* ------------------------------------------------------------------
   BOTTOM white->navy transition — copied 1:1 from the homepage.
   The homepage rounds its content sections (radius 50px) and pulls the
   navy footer up behind them, so the white curves down into the navy.
   Here the white content <article> already carries the theme's rounded
   shape; we give it a clean 50px rounded BOTTOM and pull the navy
   #main-footer up behind it so the navy fills the curve. The hero (top
   transition) and the footer's own content stay ORIGINAL / untouched. */
body.fec-team #main-content > article {
  border-bottom-left-radius: 50px !important;
  border-bottom-right-radius: 50px !important;
}
body.fec-team #main-footer {
  margin-top: -50px !important;
}
@media (max-width: 980px) {
  body.fec-team #main-content > article {
    border-bottom-left-radius: 36px !important;
    border-bottom-right-radius: 36px !important;
  }
  body.fec-team #main-footer { margin-top: -36px !important; }
}

/* The "INTERESTED TO JOIN?" CTA sits at the very end of the team content, and
   the floating .formular card (pulled up ~110px) was crashing into it by ~35px.
   Add breathing room below the last content section so the form clears the CTA
   with a clean gap (~40px), like the homepage. This only grows the white space
   before the form; the rounded transition + footer stay as they are. */
body.fec-team .et_pb_section.news-page.et_section_specialty {
  padding-bottom: 150px !important;
}


/* ===== 2026-08-11 (Jonas): Schriftgroessen-Bump (Stefanie 21.07.) — 14/14.5 -> 15/15.5 oben ersetzt ===== */
/* Offenes CV-Overlay ueber nachfolgende Karten heben (Ueberlappungs-Bug) */
body.fec-team .team-mitglieder .et_pb_team_member { position: relative; }
body.fec-team .team-mitglieder .et_pb_team_member:has(.et_pb_team_member_description div.open) { z-index: 30; }

/* Join-Note unter den Interested-Buttons (Kundenfeedback 13.08., Block 4) */
body.fec-team .fec-join-note {
  margin-top: 14px;
  font-size: 15px;
  color: #6b7286;
}


/* ===== 2026-08-14 (Jonas): Ungleiche Kartenspalten in der Food-Contact-Sektion.
   Das Theme-Grid (style.css: 1fr 1fr) hat ein implizites auto-Minimum — Karten
   mit langen Positionszeilen blähen ihre Spur auf (gemessen 577px/249px statt
   413px/413px wie in der Sustainability-Sektion). minmax(0,1fr) erzwingt gleiche
   Spuren, min-width:0 lässt die Karten unter Inhaltsbreite schrumpfen. ===== */
body.fec-team .team-mitglieder .et_pb_column.et_pb_column_4_4 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.fec-team .team-mitglieder .et_pb_module.et_pb_team_member {
  min-width: 0;
  width: 100%;
}
@media (max-width: 980px) {
  body.fec-team .team-mitglieder .et_pb_column.et_pb_column_4_4 {
    grid-template-columns: minmax(0, 1fr);
  }
}
