/* Profieltemplate medewerkers. Alleen geladen op een medewerker. */

.nov-person-optional:not(:has(.nov-person-fill)),
.nov-person-hero .elementor-widget-shortcode:not(:has(.nov-person-fill)),
.nov-person-hero .elementor-widget-novatore_person_role:not(:has(.nov-person-fill)),
.nov-person-hero .elementor-widget-novatore_person_focus:not(:has(.nov-person-fill)),
.nov-person-hero .elementor-widget-novatore_person_contact:not(:has(.nov-person-fill)) {
  display: none !important;
}

.nov-person-empty {
  max-width: 40em;
  margin: 0;
  padding: 22px 24px;
  border: 1px dashed #00535b;
  color: #5f6869;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
}

.nov-person-hero .nov-title h1.elementor-heading-title,
.nov-person-hero h1.elementor-heading-title {
  margin: 0;
  color: #00535b;
  font-size: clamp(40px, 4.4vw, 64px);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.02;
}

.nov-person-hero .nov-person-role,
.nov-person-hero .nov-person-role p {
  margin: 0;
  color: #5f6869;
  font-size: 18px;
  line-height: 1.4;
}

.nov-person-focus {
  max-width: 28em;
  margin: 4px 0 0;
  color: #16383c;
  font-size: 17px;
  line-height: 1.5;
}

.nov-person-contact {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin-top: 8px;
}

.nov-person-contact a {
  color: #00535b;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
}

.nov-person-contact a:hover {
  text-decoration: underline;
}

.nov-person-contact .nov-person-li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.nov-person-contact .nov-person-li::before {
  content: "";
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2300535b' d='M20.45 20.45h-3.55v-5.57c0-1.33-.03-3.04-1.85-3.04-1.85 0-2.14 1.45-2.14 2.94v5.67H9.35V9h3.41v1.56h.05c.48-.9 1.64-1.85 3.37-1.85 3.6 0 4.27 2.37 4.27 5.46v6.28zM5.34 7.43a2.06 2.06 0 1 1 0-4.13 2.06 2.06 0 0 1 0 4.13zM7.12 20.45H3.56V9h3.56v11.45zM22.23 0H1.77C.79 0 0 .77 0 1.73v20.54C0 23.23.79 24 1.77 24h20.45C23.2 24 24 23.23 24 22.27V1.73C24 .77 23.2 0 22.23 0z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.nov-person-hero .nov-person-photo,
.nov-person-hero .elementor-widget-theme-post-featured-image.nov-person-photo {
  width: 100%;
}

.nov-person-hero .nov-person-photo img,
.nov-person-hero .elementor-widget-theme-post-featured-image.nov-person-photo img {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: 720px;
  aspect-ratio: 4 / 5;
  object-fit: cover !important;
  object-position: center 18%;
}

.nov-person-optional .nov-person-fill > h2,
.nov-person-fill > h2,
.nov-person-others .elementor-heading-title {
  margin: 0 0 32px;
  color: #00535b;
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

.nov-person-quote {
  max-width: 720px;
  margin: 0;
  padding: 0;
  border: 0;
}

.nov-person-quote p {
  margin: 0 0 18px;
  color: #003f46;
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.35;
}

.nov-person-quote p:last-child {
  margin-bottom: 0;
}

.nov-person-quote.is-long {
  max-width: 820px;
}

.nov-person-quote.is-long p {
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 500;
  line-height: 1.45;
}

.nov-person-quote::before {
  content: "";
  display: block;
  width: 28px;
  height: 4px;
  margin-bottom: 28px;
  background: #00535b;
}

.nov-person-about__text {
  max-width: 68ch;
  color: #222;
  font-size: 18px;
  line-height: 1.7;
}

.nov-person-about__text p {
  margin: 0 0 16px;
}

.nov-person-about__text p:last-child {
  margin-bottom: 0;
}

.nov-person-expertise,
.nov-person-traits,
.nov-person-hobbies {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px 36px;
}

.nov-person-expertise article,
.nov-person-hobbies article {
  padding-top: 18px;
  border-top: 1px solid #00535b;
}

.nov-person-expertise h3,
.nov-person-traits h3,
.nov-person-hobbies h3 {
  margin: 0 0 10px;
  color: #00535b;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
}

.nov-person-expertise p,
.nov-person-traits p,
.nov-person-hobbies p {
  margin: 0;
  color: #3c4748;
  font-size: 16px;
  line-height: 1.6;
}

.nov-person-traits article > span {
  display: block;
  margin-bottom: 16px;
  color: #00535b;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.nov-person-timeline {
  max-width: 760px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nov-person-timeline li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: start;
  margin: 0;
  padding: 22px 0 22px 28px;
  border-left: 1px solid #d5dddd;
  position: relative;
}

.nov-person-timeline li::before {
  content: "";
  position: absolute;
  left: -4px;
  top: 30px;
  width: 7px;
  height: 7px;
  background: #00535b;
}

.nov-person-timeline strong {
  display: block;
  color: #16383c;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
}

.nov-person-timeline span {
  display: block;
  margin-top: 2px;
  color: #5f6869;
  font-size: 15px;
  line-height: 1.4;
}

.nov-person-timeline b {
  color: #00535b;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}

.nov-person-cta .nov-person-cta-title,
.nov-person-cta h2 {
  max-width: 16em;
  margin: 0;
  color: #fff !important;
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.nov-person-others .nov-personcard h3.nov-title,
.nov-person-others .nov-title .elementor-heading-title {
  font-size: 18px;
}

@media (max-width: 1024px) {
  .nov-person-expertise {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nov-person-traits,
  .nov-person-hobbies {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .nov-person-hero .nov-person-photo img,
  .nov-person-hero .elementor-widget-theme-post-featured-image.nov-person-photo img {
    max-height: 640px;
    aspect-ratio: 4 / 5;
  }
}

@media (max-width: 767px) {
  .nov-person-expertise {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .nov-person-timeline li {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .nov-person-cta .elementor-widget-button,
  .nov-person-cta .elementor-button {
    width: 100%;
    justify-content: center;
  }

  .nov-person-hero .nov-person-photo img,
  .nov-person-hero .elementor-widget-theme-post-featured-image.nov-person-photo img {
    max-height: none;
  }
}
/* ------------------------------------------------------------------
   Collega's-sectie (Loop Carousel) — toegevoegd 2026-10-07
   Tokens matchen de bestaande profielstijl (#00535b teal, #5f6869 muted).
   ------------------------------------------------------------------ */

/* Eyebrow: klein, kapitaal, teal streepje ervoor (overschrijft de
   algemene h2-stijl die .nov-person-others aan alle headings geeft). */
.nov-person-others .nov-collegas-eyebrow .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  color: #00535b;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
}

.nov-person-others .nov-collegas-eyebrow .elementor-heading-title::before {
  content: "";
  width: 18px;
  height: 2px;
  flex-shrink: 0;
  background: currentColor;
}

/* Kaart */
.nov-person-others .nov-mate {
  display: flex;
  flex-direction: column;
  text-decoration: none;
}

.nov-person-others .nov-mate .nov-mate-img {
  position: relative;
  display: block;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #eef0f0;
}

.nov-person-others .nov-mate .nov-mate-img a {
  display: block;
  height: 100%;
}

.nov-person-others .nov-mate .nov-mate-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 15%;
  filter: grayscale(1);
  transition: filter 0.4s, transform 0.5s;
}

.nov-person-others .nov-mate .nov-mate-img::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 4px;
  background: #00535b;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s;
}

.nov-person-others .nov-mate:hover .nov-mate-img img,
.nov-person-others .nov-mate:has(:focus-visible) .nov-mate-img img {
  filter: none;
  transform: scale(1.04);
}

.nov-person-others .nov-mate:hover .nov-mate-img::after,
.nov-person-others .nov-mate:has(:focus-visible) .nov-mate-img::after {
  transform: scaleX(1);
}

.nov-person-others .nov-mate .nov-mate-name .elementor-heading-title {
  margin: 14px 0 0;
  color: #00535b;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
}

.nov-person-others .nov-mate .nov-mate-name a {
  color: inherit;
  text-decoration: none;
}

.nov-person-others .nov-mate .nov-mate-role,
.nov-person-others .nov-mate .nov-mate-role p {
  margin: 4px 0 0;
  color: #5f6869;
  font-size: 13px;
  line-height: 1.4;
}

/* Carousel structuur */
.nov-person-others .nov-collegas-carousel .swiper-slide {
  height: auto;
}

/* Pijlen: tealkleurig, gedempt als ze aan de rand staan.
   Met minder dan één rij aan collega's verdwijnen ze helemaal,
   zodat de sectie er dan als een raster uitziet. */
.nov-person-others .nov-collegas-carousel .elementor-swiper-button {
  color: #00535b;
  transition: opacity 0.2s;
}

.nov-person-others .elementor-widget.nov-collegas-carousel .elementor-swiper-button.swiper-button-disabled {
  opacity: 0;
  pointer-events: none;
}

.nov-person-others .nov-collegas-carousel .elementor-swiper-button:focus-visible {
  opacity: 1;
  outline: 2px solid #00535b;
  outline-offset: 2px;
}

/* Mobiel: iets rustiger kopblok, swipe doet de rest */
@media (max-width: 767px) {
  .nov-person-others .nov-collegas-eyebrow .elementor-heading-title {
    margin-bottom: 10px;
  }

  .nov-person-others .elementor-heading-title {
    margin-bottom: 24px;
  }

  .nov-person-others .nov-mate .nov-mate-name .elementor-heading-title {
    font-size: 15px;
  }
}/* =====================================================================
   Herontwerp teamlidpagina — EXACT volgens novatore-teamlid-template.html.
   Tokens: --nv-teal #00535B, --nv-teal-dark #003F46, --nv-teal-mid #356F78,
   --nv-cream #FAF9F5, --nv-grey #EEF0F0, --nv-text #222, --nv-muted #5F6869,
   --nv-line #DCE2E2, --nv-wrap 1200px. Font: Raleway 18px/1.7 (mobiel 17px).
   ===================================================================== */

/* ---------- Raleway over de hele teamlid-pagina ---------- */
.nov-person,
.nov-person-more,
.nov-person-others,
.nov-person-cta {
  font-family: Raleway, Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 1.7;
  color: #222;
}

.nov-person-hero .elementor-heading-title,
.nov-person-others .elementor-heading-title,
.nov-person-more .nov-person-more-title,
.nov-person-cta .nov-person-cta-title {
  font-family: Raleway, Helvetica, Arial, sans-serif !important;
}

/* ---------- Hero (cream, padding 32 0 88) ---------- */
.nov-person-crumbs {
  margin: 0 0 48px;
  color: #5f6869;
  font-size: 13px;
  line-height: 1.7;
}

.nov-person-crumbs a {
  color: #5f6869;
  text-decoration: none;
}

.nov-person-crumbs a:hover,
.nov-person-crumbs a:focus-visible {
  color: #00535b;
}

.nov-person-crumbs i {
  font-style: normal;
  margin: 0 8px;
  opacity: 0.5;
}

/* Eyebrow: 12px 700 .12em uppercase, streepje 18x2, gap 10 */
.nov-person-hero .nov-kicker .elementor-heading-title,
.nov-person-more .nov-kicker .elementor-heading-title,
.nov-person-cta .nov-kicker .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: #00535b;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.7;
  text-transform: uppercase;
}

.nov-person-hero .nov-kicker .elementor-heading-title::before,
.nov-person-more .nov-kicker .elementor-heading-title::before,
.nov-person-cta .nov-kicker .elementor-heading-title::before {
  content: "";
  width: 18px;
  height: 2px;
  flex-shrink: 0;
  background: currentColor;
}

/* H1: clamp(38,4.6vw,60) 800 -.025em lh 1.05, margin 16px 0 10px */
.nov-person-hero .nov-title h1.elementor-heading-title,
.nov-person-hero h1.elementor-heading-title {
  margin: 16px 0 10px !important;
  color: #00535b !important;
  font-size: clamp(38px, 4.6vw, 60px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.05 !important;
}

/* Functie: 20px/600 teal-mid, margin 0 0 32px */
.nov-person-hero .nov-person-role,
.nov-person-hero .nov-person-role p {
  margin: 0 0 32px !important;
  color: #356f78;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.7;
}

/* Bio: p 18px/1.7, eerste 20px/1.6 #1b1b1b, margin 0 0 18px */
.nov-person-hero .nov-person-about {
  margin: 0;
}

.nov-person-hero .nov-person-about h2 {
  display: none;
}

.nov-person-hero .nov-person-about__text {
  max-width: none;
}

.nov-person-hero .nov-person-about__text p {
  margin: 0 0 18px;
  line-height: 1.7;
}

.nov-person-hero .nov-person-about__text p:first-child {
  color: #1b1b1b;
  font-size: 20px;
  line-height: 1.6;
}

/* Tags: margin 28px 0 0, gap 8, 13px/700, padding 8 14, bg #fff */
.nov-person-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 28px 0 0;
}

.nov-person-tags a,
.nov-person-tags span {
  padding: 8px 14px;
  border: 1px solid #dce2e2;
  background: #fff;
  color: #00535b;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.7;
  text-decoration: none;
  transition: 0.2s;
}

.nov-person-tags a:hover,
.nov-person-tags a:focus-visible {
  background: #00535b;
  border-color: #00535b;
  color: #fff;
}

/* Contact: margin-top 36, padding-top 32, border-top, grid 3 auto, gap 12,
   chips padding 14 18, 15px/600, svg 18px stroke teal */
.nov-person-contact {
  display: grid;
  grid-template-columns: repeat(3, auto);
  justify-content: start;
  gap: 12px;
  margin: 36px 0 0;
  padding: 32px 0 0;
  border-top: 1px solid #dce2e2;
}

.nov-person-contact a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  border: 1px solid #dce2e2;
  background: #fff;
  color: #222;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.7;
  text-decoration: none;
  transition: 0.2s;
}

.nov-person-contact a:hover,
.nov-person-contact a:focus-visible {
  border-color: #00535b;
  color: #00535b;
}

.nov-person-contact svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  stroke: #00535b;
  fill: none;
  stroke-width: 2;
}

.nov-person-contact .nov-person-li svg {
  fill: #00535b;
  stroke: none;
}

/* Oude linkedin-icoon via ::before overslaan (nu echte svg) */
.nov-person-contact .nov-person-li::before {
  content: none;
}

/* Portret: 4:5, margin 0 16 16 0, teal blok inset 16 -16 -16 16 */
.nov-person-photo-col {
  position: relative;
  margin: 0 16px 16px 0;
}

.nov-person-photo-col::after {
  content: "";
  position: absolute;
  inset: 16px -16px -16px 16px;
  background: var(--nv-schaduw, #00535b);
}

.nov-person-hero .elementor-widget-theme-post-featured-image.nov-person-photo {
  position: relative;
  z-index: 1;
}

.nov-person-hero .nov-person-photo img,
.nov-person-hero .elementor-widget-theme-post-featured-image.nov-person-photo img {
  width: 100%;
  max-height: none;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: 50% 15%;
  background: #eef0f0;
}

/* ---------- Meer over (padding 104 0; grid .85/.75fr gap 80) ---------- */
.nov-person-more .nov-person-more-head {
  position: sticky;
  top: 40px;
}

/* nv-h2: clamp(28,3.2vw,40) 800 -.02em lh 1.15, margin 14px 0 0 */
.nov-person-more .nov-person-more-title {
  margin: 14px 0 0;
  color: #00535b;
  font-size: clamp(28px, 3.2vw, 40px);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

/* Motto: margin 40px 0 0, padding 32px 0 0, border-top 4px teal */
.nov-person-more .nov-person-quote {
  max-width: none;
  margin: 40px 0 0;
  padding: 32px 0 0;
  border-top: 4px solid #00535b;
}

.nov-person-more .nov-person-quote::before {
  display: none;
}

.nov-person-more .nov-person-quote p {
  margin: 0;
  color: #003f46;
  font-size: clamp(24px, 2.4vw, 32px);
  font-weight: 600;
  font-style: italic;
  line-height: 1.3;
}

.nov-person-more .nov-person-quote small {
  display: block;
  margin-top: 14px;
  color: #5f6869;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.7;
  text-transform: uppercase;
}

/* Verhaal: lopende alinea's (tekst-editor), 18px/1.7, margin 0 0 22px */
.nov-person-more .nov-person-story-text p {
  margin: 0 0 22px;
  color: #222;
  font-size: 18px;
  line-height: 1.7;
}

.nov-person-more .nov-person-story-text p:last-child {
  margin-bottom: 0;
}

/* ---------- Collega's (padding 96 0; grid 6 kolommen gap 20) ---------- */
/* nv-h2 exact, zonder ondermarge; raster margin-top 40px */
.nov-person-others .nov-person-others-title .elementor-heading-title {
  margin: 14px 0 0 !important;
  color: #00535b !important;
  font-size: clamp(28px, 3.2vw, 40px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.15 !important;
}

.nov-person-others .nov-collegas-carousel {
  margin-top: 40px;
}

/* ---------- CTA (padding 88 0) ---------- */
.nov-person-cta .nov-kicker .elementor-heading-title {
  color: #fff;
  opacity: 0.75;
}

.nov-person-cta .nov-person-cta-title {
  max-width: none;
  margin: 12px 0 0;
  color: #fff !important;
  font-size: clamp(28px, 3.4vw, 44px);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.1;
}

.nov-person-cta-btns {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 12px;
}

.nov-person-cta .nov-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 24px;
  border: 1.5px solid transparent;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  transition: 0.2s;
}

.nov-person-cta .nov-btn svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
}

.nov-person-cta .nov-person-cta-btns a.nov-btn.nov-btn--light,
.nov-person-cta .nov-person-cta-btns a.nov-btn.nov-btn--light:hover,
.nov-person-cta .nov-person-cta-btns a.nov-btn.nov-btn--light:focus-visible {
  background: #fff;
  border-color: #fff;
  color: #00535b;
}

.nov-person-cta .nov-person-cta-btns a.nov-btn.nov-btn--light:hover,
.nov-person-cta .nov-person-cta-btns a.nov-btn.nov-btn--light:focus-visible {
  background: transparent;
  color: #fff;
}

.nov-person-cta .nov-person-cta-btns a.nov-btn.nov-btn--ghost-light,
.nov-person-cta .nov-person-cta-btns a.nov-btn.nov-btn--ghost-light:hover,
.nov-person-cta .nov-person-cta-btns a.nov-btn.nov-btn--ghost-light:focus-visible {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.5);
  color: #fff;
}

.nov-person-cta .nov-person-cta-btns a.nov-btn.nov-btn--ghost-light:hover,
.nov-person-cta .nov-person-cta-btns a.nov-btn.nov-btn--ghost-light:focus-visible {
  background: #fff;
  border-color: #fff;
  color: #00535b;
}

/* ---------- Lege blokken verbergen ----------
   Geen motto én geen verhaal? Hele sectie weg.
   Alleen een motto (geen verhaal)? Kop + motto op volledige breedte. */
.nov-person-more:not(:has(.nov-person-quote)):not(:has(.nov-person-more-story p)) {
  display: none;
}

.nov-person-more-grid:not(:has(.nov-person-more-story p)) .nov-person-more-head {
  width: 100% !important;
  flex-basis: 100%;
}

/* ---------- Mobiel (proposal: 1024 en 760) ---------- */
@media (max-width: 1024px) {
  .nov-person-contact {
    grid-template-columns: 1fr 1fr;
  }

  .nov-person-hero .nov-person-photo-col {
    order: -1;
  }
}

@media (max-width: 767px) {
  .nov-person,
  .nov-person-more,
  .nov-person-others,
  .nov-person-cta {
    font-size: 17px;
  }

  .nov-person-crumbs {
    margin-bottom: 28px;
  }

  .nov-person-photo-col {
    margin: 0 0 16px;
    max-width: 340px;
  }

  .nov-person-photo-col::after {
    inset: 12px -12px -12px 12px;
  }

  .nov-person-hero .nov-person-about__text p:first-child {
    font-size: 18px;
  }

  .nov-person-contact {
    grid-template-columns: 1fr;
  }

  .nov-person-more .nov-person-more-head {
    position: static;
  }

  .nov-person-cta-btns {
    justify-content: flex-start;
  }

  .nov-person-cta .nov-btn {
    width: 100%;
    justify-content: center;
  }
}/* =====================================================================
   Mobiel: collega's-carousel swipe-hint + strakkere pagina  (2026-10-07)
   Alleen <=767px. Desktop blijft 1-op-1 gelijk (dots worden daar verborgen).
   Peek komt van de widget-instelling slides_to_show_mobile = 1.3
   (fractionele waarde; Swiper rekent breedte en snap-points zelf correct).
   ===================================================================== */

/* Desktop: dots verbergen — pijlen zijn daar de navigatie (zoals eerder). */
.nov-person-others .nov-collegas-carousel .swiper-pagination {
  display: none;
}

/* ---------- Mobiel ---------- */
@media (max-width: 767px) {

  /* Pijlen weg op mobiel (te kleine tap-doelen); dots nemen het over.
     Specificiteit (0,4,0) zodat e-swiper.css (0,3,0, laadt later) niet wint. */
  .nov-person-others .elementor-widget.nov-collegas-carousel .elementor-swiper-button {
    display: none;
  }

  /* Dots: zichtbaar, links uitgelijnd met de eerste kaart.
     Elementor centreert de bullets (left:50% + translateX(-50%));
     die centering draaien we terug zodat de linkerkaart en dots op
     dezelfde rand beginnen. */
  .nov-person-others .elementor-widget.nov-collegas-carousel .swiper-pagination {
    display: block;
    position: static;
    left: auto;
    transform: none;
    margin-top: 18px;
    text-align: left;
  }

  .nov-person-others .nov-collegas-carousel .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 8px 0 0 !important;
    background: #dce2e2;
    opacity: 1;
    border-radius: 4px;
    transition: width 0.25s, background 0.25s;
  }

  .nov-person-others .nov-collegas-carousel .swiper-pagination-bullet-active {
    width: 20px;
    background: #00535b;
  }

  /* ----- Strakker: verticale ritme ----- */

  /* Sectie-padding mobiel 64/64 → 44 (CTA 88 → 48), hero-onder 64 → 48. */
  .nov-person-hero > .e-con-inner {
    padding-bottom: 48px;
  }

  .nov-person-more > .e-con-inner,
  .nov-person-others > .e-con-inner {
    padding-top: 44px;
    padding-bottom: 44px;
  }

  .nov-person-cta > .e-con-inner {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  /* Carousel zit dichter onder de kop. */
  .nov-person-others .nov-collegas-carousel {
    margin-top: 24px;
  }

  .nov-person-others .elementor-heading-title {
    margin-bottom: 20px;
  }
}/* =====================================================================
   Strakkere verticale witruimte op de teamlidpagina (2026-10-07)
   Desktop: sectie-paddings 104/96/88 -> 72/64. Mobiel: 44/48 -> 36/40.
   Dit bestand komt na mobiel-carousel-append.css zodat de mobiele
   waarden hieronder die van daar overschrijven.
   Specificiteit (0,3,0) zodat Elementor's gegenereerde CSS
   (.elementor-element-{id} > .e-con-inner, (0,2,0)) niet wint.
   Bewust NIET aangepast: alinea-afstanden, kop-marges, kaart-internes,
   hero-interne afstanden, header, footer.
   ===================================================================== */

/* ---------- Desktop ---------- */

.nov-person-crumbs {
  margin-bottom: 32px;
}

.e-con-boxed.nov-person-hero > .e-con-inner {
  padding-bottom: 64px;
}

.e-con-boxed.nov-person-more > .e-con-inner,
.e-con-boxed.nov-person-others > .e-con-inner {
  padding-top: 72px;
  padding-bottom: 72px;
}

.e-con-boxed.nov-person-cta > .e-con-inner {
  padding-top: 64px;
  padding-bottom: 64px;
}

.nov-person-others .nov-collegas-carousel {
  margin-top: 28px;
}

/* ---------- Fijnafstelling ---------- */

/* Tekst -> scheidingslijn boven social links: 36 -> 20px (desktop + mobiel). */
.nov-person-hero .nov-person-contact {
  margin-top: 20px;
}

/* Functietitel -> bio: marge-onder weg.
   !important + (0,3,0) om de !important-regel uit redesign-append.css te winnen. */
.e-con-boxed.nov-person-hero .nov-person-role {
  margin-bottom: 0px !important;
}

/* Bio-alinea's: marge tussen alinea's weg (op verzoek). */
.nov-person-hero .nov-person-about__text p {
  margin: 0;
}

/* H1-marge weg (was 16px 0 10px); !important om de !important-basisregel te winnen. */
.nov-person-hero .nov-title h1.elementor-heading-title,
.nov-person-hero h1.elementor-heading-title {
  margin: 0 !important;
}

/* "Meer over"-titel: marge-top weg (was 14px 0 0). */
.nov-person-more .nov-person-more-title {
  margin: 0px 0 0;
}

/* ---------- Mobiel ---------- */
@media (max-width: 767px) {

  .nov-person-crumbs {
    margin-bottom: 24px;
  }

  .e-con-boxed.nov-person-hero > .e-con-inner {
    padding-bottom: 40px;
  }

  .e-con-boxed.nov-person-more > .e-con-inner,
  .e-con-boxed.nov-person-others > .e-con-inner {
    padding-top: 36px;
    padding-bottom: 36px;
  }

  .e-con-boxed.nov-person-cta > .e-con-inner {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .nov-person-others .nov-collegas-carousel {
    margin-top: 20px;
  }
}