.zp-acc{display:grid;gap:16px}
.zp-acc__item{
  border-radius:26px;
  border:1px solid rgba(138,18,29,.1);
  background:#fff;
  box-shadow:0 16px 32px rgba(20,6,0,.08);
  overflow:hidden;
}
.zp-acc__btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 24px;
  border:0;
  background:transparent;
  cursor:pointer;
  text-align:left;
  color:#2a0c0f;
  font-size:1rem;
  transition:background .2s ease, color .2s ease;
}
.zp-acc__btn:hover{
  background:rgba(138,18,29,.05);
}
.zp-acc__q{font-weight:780;letter-spacing:.2em;font-size:.95rem;text-transform:uppercase;color:#12070a}
.zp-acc__icon{
  width:40px;
  height:40px;
  border-radius:14px;
  border:1px solid rgba(138,18,29,.25);
  background:#fff8f3;
  position:relative;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#8a121d;
  font-family:"Font Awesome 6 Free", "Font Awesome 5 Free", sans-serif;
  font-weight:900;
  font-size:0.9rem;
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,background-color .3s ease,color .3s ease;
}
.zp-acc__icon::before{
  content:"\f067";
}

.zp-acc__panel{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .4s cubic-bezier(.2,.8,.2,1), padding-bottom .4s ease, opacity .4s ease;
  padding:0 22px;
  opacity:0;
  visibility:hidden;
}
.zp-acc__inner{overflow:hidden}
.zp-acc__a{
  color:#4d3338;
  max-width:74ch;
  line-height:1.6;
}

.zp-acc__item.is-open{
  border-color:rgba(138,18,29,.25);
  box-shadow:0 20px 42px rgba(20,6,0,.14);
}
.zp-acc__item.is-open .zp-acc__btn{
  color:#8a121d;
}
.zp-acc__item.is-open .zp-acc__icon{
  background:#8a121d;
  color:#fff;
  border-color:transparent;
  box-shadow:0 6px 14px rgba(138,18,29,.3);
  transform:rotate(0);
}
.zp-acc__item.is-open .zp-acc__icon::before{
  content:"\f068";
}

.zp-acc__item.is-open .zp-acc__panel{
  grid-template-rows:1fr;
  padding-bottom:20px;
  opacity:1;
  visibility:visible;
}

@media (max-width:680px){
  .zp-acc__btn{padding:17px 18px}
  .zp-acc__panel{padding:0 16px}
  .zp-acc__item.is-open .zp-acc__panel{padding-bottom:16px}
  .zp-acc__q{font-size:.85rem}
}
