/* Team — Meet the Team / Doctors list. Data: WP Admin → Team (ACF Options; Doctors / Team
   Members tabs). Shortcodes: [team_members] [team_doctors]. Place inside a normal Divi row. */

.eos-team { width: 100%; }

/* Rounded photo corners — Meet the Doctors + Meet the Team images. */
.eos-doctor__photo img,
.eos-team__photo img {
  border-radius: 0.6875rem;
}

/* Member row — image (40%) + text (60%), 15% gap (flex-basis self-corrects to ~34/51 + true 15%). */
.eos-team__member {
  display: flex;
  gap: 15%;
  align-items: stretch;
}
.eos-team__photo { flex: 0 1 40%; }   /* img carries .fill-image → covers this column */
.eos-team__text  { flex: 0 1 60%; margin-top: auto; }   /* text bottom-aligns to the image */

/* Typography — name+title (heading-sm), bio (body-lg), both jungle-green. */
.eos-team__name { color: var(--jungle-green); margin: 0 0 1rem; }
.eos-team__role { color: var(--jungle-green); }         /* inherits heading-sm from .eos-team__name */
.eos-team__bio  { color: var(--jungle-green); }
.eos-team__bio p { margin: 0 0 1rem; }
.eos-team__bio p:last-child { margin-bottom: 0; }

/* Divider between members — 5rem above/below. */
.eos-team__divider {
  border: 0;
  height: 2px;
  background: var(--jungle-green);
  margin: 5rem 0;
}

/* Tablet/mobile (≤980px) — image stacks on top of text; 3rem dividers. */
@media (max-width: 980px) {
  .eos-team__member {
    flex-direction: column;
    gap: 1.5rem;
  }
  .eos-team__photo,
  .eos-team__text {
    flex: 0 0 auto;
    width: 100%;
    margin-top: 0;
  }
  .eos-team__photo img { height: auto; }   /* natural aspect when stacked on top */
  .eos-team__divider { margin: 3rem 0; }
}


/* ═══ Doctors — Meet the Doctors: photo (40%) + content (60%) with accordions ═══ */
.eos-doctors { width: 100%; }

.eos-doctor {
  display: flex;
  gap: 5%;
  align-items: stretch;
}
.eos-doctor__photo   { flex: 0 1 40%; }   /* img carries .fill-image → covers this column */
.eos-doctor__content { flex: 0 1 60%; }

/* name + title (heading-md); bio (body-md) */
.eos-doctor__name  { color: var(--jungle-green); margin: 0 0 1rem; }
.eos-doctor__title { color: var(--jungle-green); }
.eos-doctor__bio   { color: var(--jungle-green); margin: 0 0 2rem; }
.eos-doctor__bio p:last-child { margin-bottom: 0; }

/* space between accordion rows — 3rem, clamping to 1.5rem on mobile */
.doctor_accordions {
  display: flex;
  flex-direction: column;
  gap: clamp(1.5rem, 1.08rem + 1.77vw, 3rem);
}

/* ── Accordions ── */
.eos-accordion { border-bottom: 2px solid var(--jungle-green); }
.eos-accordion__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  padding: 1rem 0;
  background: none;
  border: 0;
  cursor: pointer;
  text-align: left;
  color: var(--jungle-green);
}
.eos-accordion__title { color: var(--jungle-green); }        /* heading-sm */

/* open/close — js/team.js animates height 0 ↔ exact content height (smooth both ways) */
.eos-accordion__panel {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
.eos-accordion__body {
  color: var(--jungle-green);            /* body-md */
  padding-bottom: 1.25rem;
}

/* plus / minus icon — jungle-green circle; the vertical bar hides when open */
.eos-accordion__icon {
  position: relative;
  flex: none;
  width: 1.6875rem;
  height: 1.6875rem;
  border: 2px solid var(--jungle-green);
  border-radius: 50%;
}
.eos-accordion__icon::before,
.eos-accordion__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: var(--jungle-green);
}
.eos-accordion__icon::before { width: 0.78rem;  height: 0.125rem; }
.eos-accordion__icon::after  { width: 0.125rem; height: 0.78rem; transition: opacity 0.2s ease; }
.eos-accordion.is-open .eos-accordion__icon::after { opacity: 0; }

/* Divider between doctors — 2px jungle-green; 5rem desktop + tablet. */
.eos-doctor__divider {
  border: 0;
  height: 2px;
  background: var(--jungle-green);
  margin: 5rem 0;
}

/* Tablet + phone (≤980px) — hide the divider line (its spacing is kept). */
@media (max-width: 980px) {
  .eos-doctor__divider { background: transparent; }
}

/* Phone (≤767px) — stack photo on top; natural image; 3rem divider spacing. */
@media (max-width: 767px) {
  .eos-doctor { flex-direction: column; gap: 1.5rem; }
  .eos-doctor__photo,
  .eos-doctor__content { flex: 0 0 auto; width: 100%; }
  .eos-doctor__photo img { height: auto; }   /* natural aspect when stacked */
  .eos-doctor__divider { margin: 3rem 0; }
}
