
.jcg-question-form,.jcg-faq-list{max-width:920px;margin:2rem auto}
.jcg-question-form{background:#fff;border:1px solid #d8e1e7;border-radius:16px;padding:24px}
.jcg-question-form label{display:block;font-weight:700}
.jcg-question-form input[type=text],.jcg-question-form input[type=email],.jcg-question-form textarea,.jcg-question-form select,.jcg-faq-filter{width:100%;box-sizing:border-box;padding:12px;border:1px solid #aebbc5;border-radius:8px;margin-top:6px}
.jcg-question-form button{background:#174c72;color:#fff;border:0;border-radius:999px;padding:12px 22px;font-weight:700}
.jcg-form-note{background:#f2f7fa;border-left:4px solid #174c72;padding:15px;margin:18px 0}
.jcg-check label{font-weight:400;display:flex;align-items:flex-start;gap:8px}
.jcg-check input{margin-top:4px}.jcg-honeypot{position:absolute;left:-9999px}
.jcg-faq-notice{padding:14px;border-radius:8px;margin:0 0 18px}.jcg-faq-notice.success{background:#e7f6ea}
.jcg-faq-filter{margin-bottom:18px}
.jcg-faq-item{background:#fff;border:1px solid #d8e1e7;border-radius:14px;padding:20px;margin:0 0 18px}
.jcg-faq-item h3{margin:0 0 14px;color:#174c72;font-size:1.35rem}
.jcg-faq-answer{line-height:1.65}
.jcg-related-conditions{border-top:1px solid #e1e7eb;margin-top:18px;padding-top:14px}
.jcg-related-conditions ul{margin:8px 0 0;padding-left:20px}


/* Two-level FAQ browser */
.jcg-faq-browser{max-width:920px;margin:2rem auto}
.jcg-faq-categories{display:grid;gap:14px}
.jcg-faq-category{border:2px solid #d8e1e7;border-radius:16px;background:#fff;overflow:hidden}
.jcg-faq-category>summary{display:flex;justify-content:space-between;align-items:center;gap:18px;cursor:pointer;padding:18px 20px;font-weight:800;font-size:1.2rem;color:#174c72;list-style:none}
.jcg-faq-category>summary::-webkit-details-marker{display:none}
.jcg-faq-category>summary::after{content:"+";font-size:1.5rem;line-height:1}
.jcg-faq-category[open]>summary::after{content:"−"}
.jcg-faq-count{font-size:.92rem;font-weight:600;color:#5f6f7a;white-space:nowrap}
.jcg-faq-question-list{padding:0 14px 14px}
.jcg-faq-question-list .jcg-faq-item{padding:0;margin:10px 0;border:1px solid #d8e1e7;border-radius:12px;background:#fff;overflow:hidden}
.jcg-faq-question-list .jcg-faq-item>summary{cursor:pointer;padding:15px 18px;font-weight:700;color:#243238;list-style:none;display:flex;justify-content:space-between;gap:14px}
.jcg-faq-question-list .jcg-faq-item>summary::-webkit-details-marker{display:none}
.jcg-faq-question-list .jcg-faq-item>summary::after{content:"+";font-size:1.25rem}
.jcg-faq-question-list .jcg-faq-item[open]>summary::after{content:"−"}
.jcg-faq-question-list .jcg-faq-answer{padding:0 18px 18px}
.jcg-faq-single{padding:20px}
@media(max-width:600px){
  .jcg-faq-category>summary{padding:16px;font-size:1.08rem}
  .jcg-faq-question-list{padding:0 8px 8px}
  .jcg-faq-question-list .jcg-faq-item>summary{padding:14px}
  .jcg-faq-count{font-size:.82rem}
}

.jcg-faq-search-status{min-height:1.5em;margin:-8px 0 16px;color:#4f606b;font-weight:600}

mark.jcg-search-highlight{
  background:#fff09a;
  color:inherit;
  padding:0 .08em;
  border-radius:3px;
  box-shadow:0 0 0 1px rgba(166,132,0,.12);
}

.jcg-faq-search-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  margin-bottom:8px;
}
.jcg-faq-clear-search{
  min-height:46px;
  padding:10px 18px;
  border:2px solid #174c72;
  border-radius:9px;
  background:#fff;
  color:#174c72;
  font-weight:700;
  cursor:pointer;
}
.jcg-faq-clear-search:hover,
.jcg-faq-clear-search:focus{
  background:#eef5fa;
}
@media(max-width:600px){
  .jcg-faq-search-row{grid-template-columns:1fr}
  .jcg-faq-clear-search{width:100%}
}

.jcg-faq-search-panel{
  background:#f4f8fb;
  border:1px solid #d8e1e7;
  border-radius:14px;
  padding:20px;
  margin-bottom:22px;
}
.jcg-faq-search-panel h3{
  margin:0 0 6px;
  color:#174c72;
}
.jcg-faq-search-panel p{
  margin:0 0 14px;
  color:#52636f;
}
.jcg-faq-browse-heading{
  margin:0 0 14px;
  color:#243238;
}

/* Ask-a-question popup */
.jcg-faq-popup-launcher{display:inline-block}
.jcg-faq-popup-button,
.jcg-faq-popup-close-button{background:#174c72;color:#fff;border:0;border-radius:999px;padding:12px 22px;font-weight:700;cursor:pointer}
.jcg-faq-popup-button:hover,
.jcg-faq-popup-button:focus,
.jcg-faq-popup-close-button:hover,
.jcg-faq-popup-close-button:focus{background:#103b59;color:#fff}
.jcg-faq-popup-link{appearance:none;background:none;border:0;padding:0;color:#174c72;text-decoration:underline;font:inherit;font-weight:700;cursor:pointer}
.jcg-faq-popup-link:hover,
.jcg-faq-popup-link:focus{color:#103b59}
body.jcg-faq-popup-open{overflow:hidden}
.jcg-faq-popup{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:20px}
.jcg-faq-popup.is-open{display:flex}
.jcg-faq-popup-backdrop{position:absolute;inset:0;background:rgba(15,31,43,.72)}
.jcg-faq-popup-dialog{position:relative;z-index:1;width:min(760px,100%);max-height:calc(100vh - 40px);display:flex;flex-direction:column;background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.3);overflow:hidden}
.jcg-faq-popup-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid #d8e1e7;background:#f4f8fb}
.jcg-faq-popup-header h2{margin:0;color:#174c72;font-size:1.45rem}
.jcg-faq-popup-x{width:42px;height:42px;flex:0 0 42px;border:0;border-radius:50%;background:#fff;color:#243238;font-size:2rem;line-height:1;cursor:pointer}
.jcg-faq-popup-x:hover,
.jcg-faq-popup-x:focus{background:#e8eef2}
.jcg-faq-popup-content{overflow-y:auto;padding:20px 22px}
.jcg-faq-popup-intro{margin:0 0 16px;color:#52636f}
.jcg-faq-popup .jcg-question-form{max-width:none;margin:0;border:0;border-radius:0;padding:0}
.jcg-faq-popup .jcg-question-form>h2{display:none}
.jcg-faq-popup-followup{margin:16px 0 0;padding:14px;border-radius:10px;background:#f2f7fa;font-weight:700;color:#174c72}
.jcg-faq-popup-footer{display:flex;justify-content:flex-end;padding:14px 22px;border-top:1px solid #d8e1e7;background:#f8fafb}
@media(max-width:600px){
  .jcg-faq-popup{padding:8px;align-items:stretch}
  .jcg-faq-popup-dialog{max-height:calc(100vh - 16px);border-radius:12px}
  .jcg-faq-popup-header,.jcg-faq-popup-content,.jcg-faq-popup-footer{padding-left:16px;padding-right:16px}
  .jcg-faq-popup-header h2{font-size:1.2rem}
}
