/* Hercules WPForms + bbPress compatibility */
:root{
  --hercules-integration-accent: var(--hercules-accent, #2563eb);
  --hercules-integration-text: #182230;
  --hercules-integration-muted: #667085;
  --hercules-integration-border: #e3e8ef;
  --hercules-integration-surface: #ffffff;
  --hercules-integration-soft: #f8fafc;
}

/* WPForms */
.wpforms-container{
  width:100%;
  max-width:100%;
  margin:0;
}
.wpforms-container .wpforms-field{
  padding:0 0 18px;
}
.wpforms-container .wpforms-field-label{
  display:block;
  margin:0 0 7px;
  color:var(--hercules-integration-text);
  font-weight:700;
  line-height:1.35;
}
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="tel"],
.wpforms-container input[type="url"],
.wpforms-container input[type="number"],
.wpforms-container select,
.wpforms-container textarea{
  width:100%!important;
  max-width:100%!important;
  min-height:48px;
  margin:0!important;
  padding:11px 13px!important;
  border:1px solid var(--hercules-integration-border)!important;
  border-radius:10px!important;
  background:var(--hercules-integration-surface)!important;
  color:var(--hercules-integration-text)!important;
  box-shadow:none!important;
}
.wpforms-container textarea{
  min-height:150px;
  resize:vertical;
}
.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus{
  border-color:var(--hercules-integration-accent)!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.10)!important;
  outline:0!important;
}
.wpforms-container .wpforms-submit-container{
  padding-top:4px;
}
.wpforms-container button[type="submit"],
.wpforms-container .wpforms-submit{
  min-height:46px!important;
  padding:0 22px!important;
  border:0!important;
  border-radius:10px!important;
  background:var(--hercules-integration-accent)!important;
  color:#fff!important;
  font-weight:800!important;
  box-shadow:none!important;
  cursor:pointer;
}
.wpforms-container button[type="submit"]:hover,
.wpforms-container .wpforms-submit:hover{
  filter:brightness(.94);
  transform:translateY(-1px);
}
.wpforms-container .wpforms-error{
  color:#b42318!important;
}
.wpforms-container .wpforms-confirmation-container-full{
  border:1px solid #abefc6;
  border-radius:10px;
  background:#ecfdf3;
  color:#067647;
}

/* bbPress */
.hercules-bbpress-page #bbpress-forums,
.hercules-forums-shell #bbpress-forums,
#bbpress-forums{
  width:min(1180px, calc(100% - 36px));
  max-width:1180px;
  margin:32px auto 64px;
  color:var(--hercules-integration-text);
  font-size:15px;
  line-height:1.6;
}
#bbpress-forums ul.bbp-forums,
#bbpress-forums ul.bbp-topics,
#bbpress-forums ul.bbp-replies{
  overflow:hidden;
  border:1px solid var(--hercules-integration-border);
  border-radius:14px;
  background:var(--hercules-integration-surface);
}
#bbpress-forums li.bbp-header,
#bbpress-forums li.bbp-footer{
  padding:14px 16px;
  border:0;
  background:var(--hercules-integration-soft);
  color:var(--hercules-integration-text);
  font-weight:800;
}
#bbpress-forums li.bbp-body ul.forum,
#bbpress-forums li.bbp-body ul.topic{
  padding:15px 16px;
  border-top:1px solid var(--hercules-integration-border);
}
#bbpress-forums a{
  color:var(--hercules-integration-accent);
  text-decoration:none;
}
#bbpress-forums a:hover{
  text-decoration:underline;
}
#bbpress-forums .bbp-topic-form,
#bbpress-forums .bbp-reply-form,
#bbpress-forums .bbp-search-form{
  margin:24px 0;
}
#bbpress-forums fieldset.bbp-form{
  padding:18px;
  border:1px solid var(--hercules-integration-border);
  border-radius:14px;
  background:var(--hercules-integration-surface);
}
#bbpress-forums input[type="text"],
#bbpress-forums input[type="password"],
#bbpress-forums input[type="email"],
#bbpress-forums select,
#bbpress-forums textarea{
  width:100%;
  max-width:100%;
  padding:10px 12px;
  border:1px solid var(--hercules-integration-border);
  border-radius:9px;
  background:#fff;
  color:var(--hercules-integration-text);
  box-sizing:border-box;
}
#bbpress-forums input:focus,
#bbpress-forums select:focus,
#bbpress-forums textarea:focus{
  border-color:var(--hercules-integration-accent);
  outline:0;
  box-shadow:0 0 0 3px rgba(37,99,235,.10);
}
#bbpress-forums .button,
#bbpress-forums button{
  min-height:42px;
  padding:0 17px;
  border:0;
  border-radius:9px;
  background:var(--hercules-integration-accent);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
#bbpress-forums .bbp-breadcrumb{
  margin-bottom:18px;
  color:var(--hercules-integration-muted);
}
#bbpress-forums .bbp-pagination{
  margin:16px 0;
}
.hercules-integration-notice{
  padding:14px 16px;
  border:1px solid var(--hercules-integration-border);
  border-radius:10px;
  background:var(--hercules-integration-soft);
  color:var(--hercules-integration-muted);
}

@media(max-width:768px){
  #bbpress-forums{
    width:calc(100% - 24px);
    margin-top:20px;
  }
  #bbpress-forums .bbp-forum-info,
  #bbpress-forums .bbp-topic-title{
    width:68%;
  }
  #bbpress-forums .bbp-forum-topic-count,
  #bbpress-forums .bbp-forum-reply-count,
  #bbpress-forums .bbp-topic-voice-count,
  #bbpress-forums .bbp-topic-reply-count{
    width:16%;
  }
  #bbpress-forums .bbp-forum-freshness,
  #bbpress-forums .bbp-topic-freshness{
    display:none;
  }
}

@media(max-width:520px){
  .wpforms-container button[type="submit"],
  .wpforms-container .wpforms-submit{
    width:100%!important;
  }
}
