Как сделать чтобы при наведении на service__btn изменялись стили у него и у service__card? Можно ли это сделать без JS и препроцессоров?

.service__card{
    height: 440px;
    text-align: center;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
}
.service__card h3{
    margin-bottom: 25px;
}
.service__card p{
    width: 280px;
    margin-bottom: 45px;
}
.fa-clipboard-list {
    font-size: 60px;
    color: #000;
    margin: 60px 0 40px 0;
}
.service__btn{
    border-color: #000;
    border: solid 2px;
    width: 150px;
    height: 55px;
    margin: 0 auto 0 auto;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    font-weight: bold;
}
<div class="service__card">
                    <i class="fas fa-clipboard-list"></i>
                    <h3>Research</h3>
                    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
                    tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
                    quis.</p>
                    <div class="service__btn">READ MORE</div>
                </div>


Ответы (1 шт):

Автор решения: nazarpunk

Селектора по родителю в css нет, но можете использовать трюк с order.

.flex {
  display: flex;
  flex-flow: column;
}

.service__btn {
  order: 2;
  margin-top: -80px !important;
}

.service__btn:hover {
  color: green;
}

.service__btn:hover+.service__card {
  background-color: red;
}


/* --- */

.service__card {
  height: 440px;
  text-align: center;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  background-color: gray;
}

.service__card h3 {
  margin-bottom: 25px;
}

.service__card p {
  width: 280px;
  margin-bottom: 45px;
}

.fa-clipboard-list {
  font-size: 60px;
  color: #000;
  margin: 60px 0 40px 0;
}

.service__btn {
  border-color: #000;
  border: solid 2px;
  width: 150px;
  height: 55px;
  margin: 0 auto 0 auto;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  font-weight: bold;
}
<div class="flex">
  <div class="service__btn">READ MORE</div>
  <div class="service__card">
    <i class="fas fa-clipboard-list"></i>
    <h3>Research</h3>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis.
    </p>
  </div>
</div>

→ Ссылка