.zp-acc{display:grid;gap:12px}
.zp-acc__item{
  border-radius:0;
  border:1px solid rgba(39,17,22,.12);
  background:#fff;
  box-shadow:0 12px 26px rgba(0,0,0,.08);
  overflow:hidden;
}
.zp-acc__btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 22px;
  border:0;
  background:transparent;
  cursor:pointer;
  text-align:left;
  color:#1c0c12;
  transition:background-color .2s;
}
.zp-acc__btn:hover{
  background:rgba(138,18,29,.06);
}
.zp-acc__q{font-weight:760;letter-spacing:.12em;font-size:.92rem;text-transform:uppercase;color:#12070a}
.zp-acc__icon{
  width:32px;
  height:32px;
  border-radius:0;
  border:1px solid rgba(39,17,22,.2);
  background:#fff;
  position:relative;
  flex:0 0 auto;
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,background-color .3s ease;
}
.zp-acc__icon::before,
.zp-acc__icon::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:12px;
  height:2px;
  background:#12070a;
  transform:translate(-50%,-50%);
  transition:background-color .3s;
}
.zp-acc__icon::after{transform:translate(-50%,-50%) rotate(90deg)}

.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 .zp-acc__btn{
  color:#8a121d;
}
.zp-acc__item.is-open .zp-acc__icon{
  transform:rotate(45deg);
  border-color:#8a121d;
  box-shadow:none;
  background:transparent;
}
.zp-acc__item.is-open .zp-acc__icon::before,
.zp-acc__item.is-open .zp-acc__icon::after{
  background:#8a121d;
}

.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:16px}
  .zp-acc__panel{padding:0 16px}
  .zp-acc__item.is-open .zp-acc__panel{padding-bottom:16px}
  .zp-acc__q{font-size:.85rem}
}
