:root{
  --faq-head-fg: var(--h2-text, #fff);
}

.page-template-page-app .faq{
  background:#fff;border:0;border-radius:14px;
  box-shadow:0 6px 18px rgba(0,0,0,.05);
  margin:22px 0;overflow:hidden;
}

.page-template-page-app .faq .faq-head{
  background:none;color:var(--faq-head-fg);
  padding:14px 16px;text-align:center;
}

.page-template-page-app .faq .faq-title,
.page-template-page-app .faq .faq-title *{
  white-space:normal!important;word-break:normal;overflow-wrap:anywhere;
}
.page-template-page-app .faq .faq-title{
  position:relative;z-index:0;margin:0;display:block;max-width:100%;
  padding:var(--h2-pad-y) var(--h2-pad-x);
  color:var(--h2-text);
  font:800 clamp(22px,2.2vw + 12px,30px)/1.25 system-ui,-apple-system,Segoe UI,Roboto,Arial,Helvetica,sans-serif;
  letter-spacing:.2px;text-align:center;
  background:none!important;border:0!important;box-shadow:none!important;
}
.page-template-page-app .faq .faq-title::before{
  content:"";position:absolute;inset:0;margin-inline:2%;z-index:-1;
  transform:skewX(var(--h2-skew));
  background:linear-gradient(135deg,
    var(--h2-grad-a) 0%,
    var(--h2-grad-b) 30%,
    var(--h2-grad-c) 65%,
    var(--h2-grad-d) 100%);
  clip-path:polygon(
    var(--h2-tip) 0%,
    calc(100% - var(--h2-tip)) 0%,
    100% 50%,
    calc(100% - var(--h2-tip)) 100%,
    var(--h2-tip) 100%,
    0% 50%
  );
  overflow:hidden;
}

.page-template-page-app .faq .faq-list{ padding:10px 12px 14px; }
.page-template-page-app .faq .faq-list details{
  background:#fff;border:0;border-radius:10px;margin:0;box-shadow:none;
}
.page-template-page-app .faq .faq-list details + details{
  border-top:1px solid rgba(0,0,0,.06);padding-top:8px;
}

.page-template-page-app .faq .faq-list summary,
.page-template-page-app .faq .faq-list summary *{
  white-space:normal!important;word-break:normal;overflow-wrap:anywhere;
}
.page-template-page-app .faq .faq-list summary{
  position:relative;z-index:0;list-style:none;cursor:pointer;
  display:flex;align-items:center;gap:10px;
  padding:12px 16px;margin:10px 0;color:inherit;border:0;
  background:
    linear-gradient(to bottom, rgba(255,255,255,.06), rgba(0,0,0,.06)),
    linear-gradient(135deg,
      var(--h2-grad-a) 0%,
      var(--h2-grad-b) 30%,
      var(--h2-grad-c) 65%,
      var(--h2-grad-d) 100%);
  border-radius:999px;box-shadow:0 2px 10px rgba(0,0,0,.08);
  font-style:italic;font-weight:750;
}
.page-template-page-app .faq .faq-list summary::-webkit-details-marker{ display:none; }
.page-template-page-app .faq .faq-list summary:hover{ filter:brightness(1.02); }

.page-template-page-app .faq .faq-list summary::after{
  content:"+";margin-left:auto;font-weight:700;transform:translateY(-1px);
  transition:transform .15s ease;
}
.page-template-page-app .faq .faq-list details[open] > summary::after{ content:"–"; }

.page-template-page-app .faq .faq-list .a{ padding:8px 6px 10px;color:var(--text);line-height:1.6; }
.page-template-page-app .faq .faq-list a{
  color:var(--brand);text-decoration:none;border-bottom:1px dashed transparent;
  transition:border-color .15s ease;
}
.page-template-page-app .faq .faq-list a:hover{ border-color:var(--brand); }

@media (max-width:480px){
  .page-template-page-app .faq .faq-head{ padding:12px; }
  .page-template-page-app .faq .faq-title{ font-size:clamp(20px,5.6vw,24px); }
  .page-template-page-app .faq .faq-list{ padding:8px 10px 12px; }
  .page-template-page-app .faq .faq-list summary{ padding:11px 14px;gap:8px; }
}
