@import url("./main.css");

:root {
  --card-w: 450px;
  --avatar: 70px;
}
/* Main Section */
.tree {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
main .aboutTitle img {
  width: 20%;
  margin-bottom: 20px;
}
.level {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  animation: float 4s ease-in-out infinite;
  margin: 15px 0;
  gap: 40px;
}
.l2 {
  gap: 50px;
}
.aboutTexts {
  margin: 50px;
  padding: 40px 30px;
}
.texts {
  max-width: 700px;
  margin: 20px auto;
  font-size: 1.1rem;
}
.photo {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid rgba(241, 221, 248, 0.37);
  box-shadow: 0 0 10px rgba(241, 221, 248, 0.6),
    0 0 15px rgba(241, 221, 248, 0.4);
  transition: all 0.3s linear;
}
.photo:hover {
  cursor: pointer;
  transform: scale(1.3);
}

.photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@keyframes float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}

/* Opinions Section*/
#opinions {
  margin-bottom: 30px;
}
.wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 80px;
}

/* left column */
.orbit-wrap {
  position: relative;
  width: 200px;
  height: 420px;
}
svg.orbit {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.orbit path {
  stroke: none;
  fill: none;
}
.avatars {
  position: absolute;
  inset: 0;
}
.avatar {
  position: absolute;
  width: var(--avatar);
  height: var(--avatar);
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.02);
  box-shadow: 0 6px 30px rgba(0, 0, 0, 0.15);
  transition: transform 0.45s ease, top 0.45s ease, left 0.45s ease,
    box-shadow 0.45s ease;
}
.avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
.avatar.active {
  transform: scale(1.35);
  box-shadow: 0 14px 28px rgba(22, 29, 37, 0.18);
  border: 2px solid rgba(241, 221, 248, 0.37);
  box-shadow: 0 0 10px rgba(241, 221, 248, 0.6),
    0 0 15px rgba(241, 221, 248, 0.4);
  outline: 1px solid var(--light-lavender);
}
.avatar.active:hover {
  transform: scale(1.5);
}

/* arrows */
.controls {
  position: absolute;
  right: -64px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.controls button {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 0;
  cursor: pointer;
  color: var(--white);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.02);
  box-shadow: 0 6px 30px rgba(0, 0, 0, 0.15);
  font-size: 18px;
  transition: transform 0.15s ease, background 0.25s ease;
}
.controls button:hover {
  color: var(--deep-purple);
  background: var(--light-lavender);
  transform: scale(1.06);
}

/* right column */
.panel {
  width: var(--card-w);
  padding: 28px 40px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.02);
  box-shadow: 0 6px 30px rgba(0, 0, 0, 0.15);
}
.name {
  font-size: 22px;
  margin: 0 0 6px;
  font-weight: 700;
}
.meta {
  color: var(--deep-purple);
  margin-bottom: 14px;
}
.meta::first-letter {
  font-size: 1.5rem;
  color: var(--white);
  text-shadow: #f1ddf8 1px 0 10px;
}
.text {
  font-style: italic;
  line-height: 1.7;
  color: #45505d;
  font-size: 1rem;
}
@media (max-width: 900px) {
  main h1 {
    font-size: 2rem;
  }
  main .aboutTitle img {
    width: 50%;
    margin-bottom: 20px;
  }
  .l2 {
    gap: 40px;
  }
  .texts {
    padding: 20px 10px;
    font-size: 1rem;
  }
  .aboutTexts {
    margin: 20px;
    padding: 40px 0px;
  }
  .photo {
    width: 80px;
    height: 80px;
  }
  .wrap {
    flex-direction: column;
    gap: 20px;
  }
  .orbit-wrap {
    height: 240px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
  }
  svg.orbit {
    width: 100%;
    height: 240px;
  }
  .avatars {
    margin-left: -20px;
    justify-content: center;
    width: 100%;
    height: 240px;
  }
  .controls {
    flex-direction: row;
    top: auto;
    bottom: 10px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }
  .panel {
    max-width: 90%;
    text-align: center;
  }
  .opinions h1 {
    padding: 0px 20px;
  }
}
