/* ===== OFFICE & PARTNER PAGES ===== */
/* Office page, partner profiles, team, and membership styles */
/* ===== PROJECT FILTERS ===== */
.project-filters {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin-bottom: var(--masonry-gap);
}

.project-filters button {
  color: var(--text-color);
  border: none;
  cursor: pointer;
  background: none;
}

.has-hover .project-filters button:hover {
  font-weight: bold;
}

.project-filters button.active {
  color: var(--accent-color);
}
/* ===== OFFICE PAGE LAYOUT ===== */
.officeWrapper {
  margin-bottom: var(--bottom-gap);
}

.officeWrapper h2 {
  text-align: left;
  margin-bottom: var(--header-gap);
  color: var(--text-color);
}

.contentPartner,
.contentTeam,
.contentProfil {
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  margin-bottom: var(--bottom-gap);
  max-width: min(100vh - 2 * var(--header-size), 100%);
  min-height: 300px;
  margin: 0 auto;
  position: relative;
}

/* ===== CLICKABLE LINK AREAS ===== */
.link-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  columns: 2;
}

.linkDiv {
  width: 50%;
  z-index: 1;
  height: 100%;
  display: block;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
}

.linkDiv.left {
  left: 0;
}

.linkDiv.right {
  right: 0;
}

/* ===== OFFICE IMAGES ===== */
.officeImg {
  width: 100%;
  object-fit: contain;
  display: block;
  margin-bottom: var(--img-text-gap);
}

/* ===== PARTNER TEXT LAYOUT ===== */
.partnerText {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2vw;
  width: 100%;
}

.partnerText h2 {
  color: var(--text-color);
}

.partner-title {
  font-size: calc(var(--paragraph-size) * 0.85);
}

.leftPartner,
.rightPartner {
  text-align: left;
}

/* ===== TEAM & PROFILE TEXT ===== */
.teamText,
.profilText {
  width: 100%;
  text-align: justify;
}

/* ===== MEMBERSHIPS ===== */
.memberships h4 {
  margin-top: var(--masonry-gap);
}

.membership-logos {
  display: flex;
  flex-wrap: wrap;
  gap: calc(var(--masonry-gap) * 2);
  padding-top: var(--masonry-gap);
}

.membership-logo {
  flex: 1 1 calc(20% - var(--masonry-gap));
  margin-bottom: var(--masonry-gap);
}

.membership-logo img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}

/* ===== PARTNER PROFILE PAGE ===== */
.partner-profile {
  max-height: calc(100vh - 3 * var(--header-size));
  overflow: hidden;
  display: block;
  columns: 2;
  column-gap: var(--masonry-gap);
  direction: rtl;
  text-align: left;
}

.partner-text {
  height: calc(100vh - 3 * var(--header-size));
  display: flex;
  flex-direction: column;
  justify-content: center;
  direction: ltr;
  text-align: justify;
}

.partner-title {
  margin-bottom: var(--header-gap);
}

.partner-cv {
  margin-top: var(--img-text-gap);
}

.cv-item {
  display: grid;
  grid-template-columns: minmax(100px, 100px) 1fr;
  margin-bottom: calc(var(--header-gap) / 2);
}

.cv-event {
  text-align: left;
}

.cv-year {
  font-weight: var(--bold-font-weight);
  margin-right: var(--img-text-gap);
}

.partner-profile img {
  max-height: calc(100vh - 3 * var(--header-size));
  width: auto;
  object-fit: contain;
  display: block;
  margin-bottom: var(--img-text-gap);
}

/* ===== MOBILE ADJUSTMENTS ===== */
@media (max-width: 768px) {
  .mobile .partner-profile {
    columns: 1;
    column-gap: 0;
    max-height: none;
    display: flex;
    flex-direction: column-reverse;
  }

  .mobile .partner-text {
    width: 100%;
    text-align: left;
    height: auto;
    margin-bottom: var(--masonry-gap);
  }

  .mobile .partner-profile img {
    max-height: 50vh;
    width: 100%;
    margin-bottom: var(--img-text-gap);
  }
}
