.KT-faq-rainbow{
      max-width: 760px;
    margin: 40px auto;
    padding: 30px;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    border-radius: 32px;
    font-family: Arial, sans-serif;
    background: radial-gradient(circle at 15% 10%, rgba(177 2 2), transparent 18%), radial-gradient(circle at 85% 15%, rgb(207 3 3), transparent 25%), radial-gradient(circle at 20% 90%, rgb(207 3 3), transparent 25%), linear-gradient(135deg, #c70000, #8e0b0b, #960e0e, #c30000);
    border: 2px solid rgba(177 2 2);
    box-shadow: 0 0 25px rgb(207 3 3), 0 0 55px rgba(223 0 0), inset 0 0 35px rgba(145 0 0);
}

.KT-shine{
  position:absolute;
  top:-90px;
  left:-120px;
  width:260px;
  height:520px;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.55),transparent);
  transform:rotate(25deg);
  animation:KTShine 4s infinite;
  pointer-events:none;
}

@keyframes KTShine{
  0%{left:-180px;}
  55%{left:110%;}
  100%{left:110%;}
}

.KT-faq-top{
  position:relative;
  text-align:center;
  margin-bottom:24px;
}

.KT-faq-top span{
  display:inline-block;
  padding:8px 22px;
  border-radius:999px;
  background:rgba(185 0 0 / 0%);
  color:#dbdbdb;
  font-size:12px;
  font-weight:900;
  letter-spacing:2px;
  border:1px solid rgba(215 215 215 / 62%);
  box-shadow:inset 0 0 14px rgba(255,255,255,.25);
}

.KT-faq-top h2{
  margin:16px 0 8px;
  color:#000000;
  font-size:34px;
  line-height:1.15;
  text-shadow:
    0 0 10px rgba(177 0 0),
    0 0 22px rgba(173 0 0);
}

.KT-faq-top p{
  margin:0;
  color:#f3ffff;
  font-size:14px;
}

.KT-rainbow-item{
  position:relative;
  overflow:hidden;
  margin-bottom:14px;
  border-radius:20px;
  background:rgba(255,255,255,.20);
  border:1px solid rgba(255,255,255,.48);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.6),
    0 10px 25px rgba(0,0,0,.18);
  backdrop-filter:blur(10px);
}

.KT-rainbow-item:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:45%;
  background:linear-gradient(rgba(255,255,255,.32),rgba(255,255,255,.04));
  pointer-events:none;
}

.KT-rainbow-item button{
  width:100%;
  padding:18px 58px 18px 20px;
  border:0;
  background: #af0000;
  color:#dbdbdb;
  text-align:left;
  cursor:pointer;
  font-size:15px;
  font-weight:900;
  position:relative;
  z-index:2;
  text-shadow:0 2px 6px rgba(0,0,0,.35);
}

.KT-rainbow-item button:after{
  content:"+";
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border-radius:50%;
  background:linear-gradient(135deg,#b10000, #9b0000);
  color:#d1d1d1;
  text-align:center;
  line-height:34px;
  font-size:24px;
  font-weight:900;
  box-shadow:
    0 0 14px rgba(255,255,255,.8),
    inset 0 -4px 8px rgba(0,0,0,.18);
}

.KT-rainbow-item.active button:after{
  content:"−";
  background:linear-gradient(135deg,#ff0000, #5b0000);
}

.KT-rainbow-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .35s ease;
  position:relative;
  z-index:2;
}

.KT-rainbow-item.active .KT-rainbow-answer{
  max-height:170px;
}

.KT-rainbow-answer p{
  margin:0;
  padding:0 20px 18px;
  color:#dbdbdb;
  font-size:14px;
  line-height:1.7;
  text-shadow:0 2px 5px rgba(0 0 0);
}

@media(max-width:600px){
  .KT-faq-rainbow{
    margin:25px 12px;
    padding:22px;
    border-radius:24px;
  }

  .KT-faq-top h2{
    font-size:26px;
  }
}
