/* Wise CG Registration — Frontend Form Styles */

.wcgr-form-wrap {
  max-width: 680px;
  margin: 0 auto;
  font-family: inherit;
}

/* Header */
.wcgr-form-header { margin-bottom: 28px; }
.wcgr-form-header h2 { font-size: 22px; font-weight: 700; margin: 0 0 8px; }
.wcgr-form-header p  { color: #666; font-size: 14px; margin: 0; }

/* Errors */
.wcgr-errors {
  background: #fff0f0;
  border: 1px solid #ffa8a8;
  border-left: 4px solid #cc1818;
  border-radius: 4px;
  padding: 14px 16px;
  margin-bottom: 24px;
  font-size: 14px;
}
.wcgr-errors ul { margin: 8px 0 0 16px; }

/* Fieldsets */
.wcgr-fieldset {
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 20px 24px;
  margin-bottom: 20px;
}
.wcgr-fieldset legend {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #534AB7;
  padding: 0 8px;
}
.wcgr-fieldset-desc {
  font-size: 13px;
  color: #666;
  margin: 0 0 16px;
}

/* Row / field */
.wcgr-row { margin-bottom: 0; }
.wcgr-row + .wcgr-row { margin-top: 14px; }
.wcgr-row--half {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.wcgr-field { display: flex; flex-direction: column; gap: 5px; margin-top: 14px; }
.wcgr-field:first-child { margin-top: 0; }
.wcgr-field label { font-size: 13px; font-weight: 600; color: #333; }
.wcgr-field .req { color: #cc1818; }
.wcgr-field input,
.wcgr-field select,
.wcgr-field textarea {
  padding: 9px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  font-family: inherit;
  width: 100%;
  transition: border-color .15s, box-shadow .15s;
}
.wcgr-field input:focus,
.wcgr-field select:focus,
.wcgr-field textarea:focus {
  border-color: #534AB7;
  box-shadow: 0 0 0 2px rgba(83,74,183,.15);
  outline: none;
}
.wcgr-hint { font-size: 12px; color: #888; }

/* Group cards */
.wcgr-group-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.wcgr-group-card { cursor: pointer; }
.wcgr-group-card input[type="radio"] { display: none; }
.wcgr-group-card__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 14px 10px;
  border: 2px solid #e0e0e0;
  border-radius: 6px;
  text-align: center;
  transition: border-color .15s, box-shadow .15s;
}
.wcgr-group-card input:checked + .wcgr-group-card__inner {
  border-color: var(--gc);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--gc) 20%, transparent);
}
.wcgr-group-card__badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 700;
}
.wcgr-group-card__disc { font-size: 12px; color: #666; }

/* Submit */
.wcgr-submit-row { margin-top: 8px; }
.wcgr-submit-btn {
  display: block;
  width: 100%;
  padding: 14px;
  background: #534AB7;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s;
}
.wcgr-submit-btn:hover { background: #3C3489; }
.wcgr-login-prompt { text-align: center; font-size: 13px; color: #666; margin-top: 12px; }

/* Notice cards */
.wcgr-notice {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 20px 24px;
  border-radius: 8px;
  border: 1px solid;
  margin: 24px 0;
}
.wcgr-notice--pending  { background: #FAEEDA; border-color: #854F0B; color: #633806; }
.wcgr-notice--success  { background: #D9F2E2; border-color: #005C22; color: #003D16; }
.wcgr-notice--approved { background: #D9F2E2; border-color: #005C22; color: #003D16; }
.wcgr-notice--rejected { background: #F9E0E0; border-color: #7A1414; color: #5A0F0F; }
.wcgr-notice__icon { font-size: 24px; flex-shrink: 0; line-height: 1; }
.wcgr-notice__body h3 { margin: 0 0 6px; font-size: 16px; }
.wcgr-notice__body p  { margin: 0 0 8px; font-size: 14px; }
.wcgr-btn {
  display: inline-block;
  padding: 8px 18px;
  background: #534AB7;
  color: #fff;
  border-radius: 4px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
}

/* Responsive */
@media (max-width: 600px) {
  .wcgr-row--half    { grid-template-columns: 1fr; }
  .wcgr-group-cards  { grid-template-columns: repeat(2,1fr); }
  .wcgr-fieldset     { padding: 16px; }
}
