/*
 * Initiative application styling: apply/success/error modals, apply-flow
 * form fields, and the apply/login call-to-action blocks on the
 * single-initiative template. Page layout and section styling lives in
 * initiative.css.
 */

#initiative-apply-modal .table-avatar,
#initiative-apply-modal-member .table-avatar ,
#initiative-apply-modal-member-followup .table-avatar {
  display: flex;
  gap: 12px;
  flex-direction: column;
  margin: 20px 0;
}

#initiative-apply-modal .avatar-container,
#initiative-apply-modal-member .avatar-container ,
#initiative-apply-modal-member-followup .avatar-container {
  width: 90px;
  height: 90px;
  border-radius: 8px;
}

#initiative-apply-modal .member-info,
#initiative-apply-modal-member .member-info ,
#initiative-apply-modal-member-followup .member-info {
  display: flex;
  gap: 4px;
  flex-direction: column;
  justify-content: center;
}

#initiative-apply-modal p,
#initiative-apply-modal-member p ,
#initiative-apply-modal-member-followup p {
  margin-bottom: 0;
}

#initiative-apply-modal .member-name,
#initiative-apply-modal-member .member-name ,
#initiative-apply-modal-member-followup .member-name {
  font-size: 20px;
}

#initiative-apply-modal #initiative-email,
#initiative-apply-modal-member #initiative-email ,
#initiative-apply-modal-member-followup #initiative-email {
  font-weight: normal;
}

/* Avatar */
#initiative-apply-modal .table-avatar,
#initiative-apply-modal-member .table-avatar ,
#initiative-apply-modal-member-followup .table-avatar {
  margin-top: 12px;
}

#initiative-apply-modal #initiative-avatar,
#initiative-apply-modal-member #initiative-avatar-member ,
#initiative-apply-modal-member-followup #initiative-avatar-member {
  font-size: 48px;
}

/* Select Clinic */
#initiative-apply-modal #modalClinicSelect,
#initiative-apply-modal-member #modalClinicSelectMember ,
#initiative-apply-modal-member-followup #modalClinicSelectMember {
  background: #c2e0e7;
  border-radius: unset;
  border-color: #676767;
  color: #676767;
}

/* Clinic radio group (replaces the clinic <select>) */
.vdfp-clinic-radio-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px 14px;
  box-sizing: border-box;
}

.vdfp-clinic-radio-option {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 0.5em;
  font-weight: 400;
  color: #676767;
  cursor: pointer;
}

.vdfp-clinic-radio-option input[type="radio"] {
  margin-top: 3px;
  accent-color: #016d89;
  flex-shrink: 0;
  cursor: pointer;
}

.vdfp-clinic-radio-status {
  margin: 0;
  color: #676767;
  font-style: italic;
}

/* Custom Modal Title */
#initiative-apply-modal h2,
#initiative-sucess-modal h2,
#initiative-apply-modal-member h2,
#initiative-apply-modal-member-followup h2,
#initiative-sucess-modal-member h2,
#initiative-unable-to-process h2 {
  color: #016d89;
  margin-bottom: 24px;
}

/* Custom Modal Content */
#initiative-apply-modal .custom-modal-content,
#initiative-sucess-modal .custom-modal-content,
#initiative-apply-modal-member .custom-modal-content,
#initiative-apply-modal-member-followup .custom-modal-content,
#initiative-sucess-modal-member .custom-modal-content,
#initiative-unable-to-process .custom-modal-content, #initiative-apply-modal-member-step-1 .custom-modal-content{
  border-radius: unset;
}

/* Custom Modal HTML */
#initiative-apply-modal .custom-modal-custom-html,
#initiative-sucess-modal .custom-modal-custom-html,
#initiative-apply-modal-member .custom-modal-custom-html,
#initiative-apply-modal-member-followup .custom-modal-custom-html,
#initiative-sucess-modal-member .custom-modal-custom-html,
#initiative-unable-to-process .custom-modal-custom-html {
  color: #676767;
}

#initiative-apply-modal label,
#initiative-apply-modal-member label ,
#initiative-apply-modal-member-followup label {
  margin-bottom: 12px;
  font-weight:400;
}

#initiative-apply-modal #modalClinicSelect {
  margin-bottom: 24px;
}

/* Custom Buttons */

#initiative-apply-modal-member .custom-modal-buttons ,
#initiative-apply-modal-member-followup .custom-modal-buttons {
  margin-top: 24px;
}

#initiative-apply-modal .custom-modal-buttons,
#initiative-apply-modal-member .custom-modal-buttons ,
#initiative-apply-modal-member-followup .custom-modal-buttons {
  flex-direction: column;
  gap: 12px;
}

#initiative-apply-modal .cancel-button,
#initiative-apply-modal-member .cancel-button ,
#initiative-apply-modal-member-followup .cancel-button {
  background: #949494;
  border: #949494;
}

#initiative-apply-modal .cancel-button:hover,
#initiative-apply-modal-member .cancel-button:hover ,
#initiative-apply-modal-member-followup .cancel-button:hover {
  background: #838383;
  border: #838383;
}

#initiative-sucess-modal button,
#initiative-sucess-modal-member button,
#initiative-unable-to-process button {
  flex: 1;
}

/* Error messages */

.initiative-error-container,
.initiative-error-container-member {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: 1px solid #b3261e;
  background: #b3261e;
  color: white;
  margin: 24px 0;
  padding: 5px 10px;
}

.initiative-error-container i,
.initiative-error-container-member i {
  cursor: pointer;
}

/* peer */
#initiative-apply-modal,
#initiative-apply-modal-member h3,
#initiative-apply-modal-member-followup h3,
#initiative-apply-modal,
#initiative-apply-modal-member small ,
#initiative-apply-modal-member-followup small {
  color: #016d89;
}
#initiative-apply-modal-member label > small ,
#initiative-apply-modal-member-followup label > small {
  font-weight:400;
}
#initiative-apply-modal-member textarea ,
#initiative-apply-modal-member-followup textarea {
  border-radius: 12px;
  height: auto;
  min-height: 5.5em; /* ~3 lines of text */
  display: block;
  margin-bottom: 0; /* keep .char-count snug against the input */
}

#initiative-apply-modal-member #participants_number_member ,
#initiative-apply-modal-member-followup #participants_number_member {
  width: 110px;
  max-width: 100%;
}

/* Validation: outline (not border) so flagging never shifts layout */
#initiative-apply-modal-member .field-error ,
#initiative-apply-modal-member-followup .field-error {
  outline: 2px solid #b3261e;
  outline-offset: 3px;
  border-radius: 4px;
}

/* Inline field errors (shown as soon as an invalid value is chosen) */
#initiative-apply-modal-member .inline-error ,
#initiative-apply-modal-member-followup .inline-error {
  color: #b3261e;
  font-weight: 400;
}

.char-count {
  font-size: 0.8em;
  color: #666;
  text-align: right;
  margin-top: 2px;
  line-height: 1.2;
}

/* Outcome rows: input with a remove (X) button on the right */
.outcome-input-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.outcome-input-row input {
  flex: 1;
}

.remove-outcome-btn {
  background: none;
  border: none;
  color: #b3261e;
  font-size: 1.5em;
  line-height: 1;
  cursor: pointer;
  padding: 4px 8px;
}

.remove-outcome-btn:hover {
  color: #7f1a15;
}

/* Participants: number input and invite list side by side */
#initiative-apply-modal-member .participants-two-col ,
#initiative-apply-modal-member-followup .participants-two-col {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  flex-wrap: wrap;
}

#initiative-apply-modal-member .participants-two-col .participants-col ,
#initiative-apply-modal-member-followup .participants-two-col .participants-col {
  flex: 1 1 220px;
  min-width: 0;
  display: flex;
  flex-direction:column;
  gap: 24px;
}

/* Routing notices (initiative_member_apply_button_shortcode) */
/* Scoped to the apply box to outrank its descendant p/button rules below */
.vdfp-initiative-single__apply-box .vdfp-routing-notice {
  margin: 1em 0;
}

/* Disabled follow-up apply button (initiative_member_apply_button_shortcode) */
.vdfp-initiative-single__apply-box .vdfp-followup-blocked-btn {
  background-color: #4A4A4A;
  border-color: #4A4A4A;
  cursor: not-allowed;
}

.vdfp-initiative-single__apply-box .vdfp-followup-blocked-btn:hover {
  background-color: #4A4A4A;
  border-color: #4A4A4A;
}

/* Previous-topic reference block (Members follow-up application modal) */
.vdfp-prev-topic {
  margin: 4px 0 16px;
  padding: 4px 0 4px 12px;
  border-left: 3px solid #ccc;
  font-style: italic;
  color: #666;
}

/* "I understand" checklist */
.agree-terms-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.agree-terms-list label {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-weight: 400;
}

.agree-terms-list input {
  margin-top: 4px;
  flex-shrink: 0;
}

.peer-engagement-contact-info {
  background-color: #e4e4e4;
  padding: 16px;
}

.outcome-container label {
  margin-bottom: 0;
  align-content: center;
  font-size:0.9em;
}

@media (min-width: 768px) {
  .outcome-container labels {
    font-size:1em;
  }
}

.outcome-container input {
  border-radius: 12px;
}

.margin-top {
  margin-top: 6px;
}

#participants_member {
  display: flex;
  flex-direction: column;
}

#participants_member label {
  display: flex;
  gap: 12px;
  align-items: center;
  font-weight: 400;
  margin-bottom: 6px;
}

#participants_member input {
  border-radius: 12px;
  height: 30px;
}

.field-wrapper {
  display: flex;
  flex-direction: column;
}

.field-wrapper input {
  /* height matches the outcome inputs (theme default) */
  border-radius: 12px;
}


.event-date-container input {
  max-width: fit-content;
}

.input-label-container {
  display: flex;
  align-items: center;
  gap: 12px;
}

.field-wrapper img {
  border-radius: 12px;
}

.section-form-wrapper {
  margin: 24px 0;
}

#add-outcome,
#add-outcome-member {
  background: none;
  color: #016d89;
  font-weight: bold !important;
  border: none;
  padding: 0;
  font: inherit;
  cursor: pointer;
  outline: inherit;
}

#initiative-apply-modal-member-step-1 .custom-modal-custom-html label {
  color: #676767;
}

#initiative-apply-modal-member-step-1 .custom-modal-custom-html {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

#initiative-apply-modal-member-step-1 p {
  font-style: italic;
}

#initiative-apply-modal-member-step-1 h2,
#initiative-apply-modal-member-success h2 {
  color: #016d89;
  font-weight: 600;
}

#initiative-apply-modal-member-step-1 .custom-modal-buttons {
  flex-direction: column;
  gap: 12px;
}

#initiative-apply-modal-member-step-1 .cancel-button {
  background: #949494;
  border: #949494;
}

#initiative-apply-modal-member-step-1 .cancel-button:hover {
  background: #838383;
  border: #838383;
}

#initiative-apply-modal-member-step-1 .custom-modal-buttons,
#initiative-apply-modal-member-step-1 .custom-modal-content

#initiative-apply-modal-member-step-1 .custom-modal-buttons,
#initiative-apply-modal-member-step-1 .custom-modal-content

#initiative-apply-modal-member-success .custom-modal-buttons,
#initiative-apply-modal-member-success .custom-modal-content{
  border-radius: unset;
}

#initiative-apply-modal-member input ,
#initiative-apply-modal-member-followup input {
  accent-color: #016D89;
}

/* Apply button (used by initiative_apply_button_case shortcode) */
.apply-init-btn {
  color: white !important;
  font-weight: 600;
  background: #CD6C33;
  width: 100%;
  display: block;
  text-align: center;
  padding: 4px;
}

.select-other-site {
  display: flex;
  align-items: center;
  gap: 0.5em;
}


.select-other-site__edit-btn {
  display: flex !important;
  align-items: center;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  font: inherit !important;
  color: #0073aa !important;
  font-weight: bold !important;        
  cursor: pointer;
}
.select-other-site__edit-btn:hover {
  color: #005177;
}
.select-other-site__edit-btn svg {
  width: 1.2em;
  height: 1.2em;
  fill: currentColor;
  margin-right: 0.25em;
}

@media (min-width: 768px) {
  /* Clinic-select step (#initiative-apply-modal, Sites/Clinics) keeps the
     site-wide row-reverse default from modal.css: primary button left,
     Cancel right. Members step-1 (#initiative-apply-modal-member-step-1)
     and step-2 (#initiative-apply-modal-member / #initiative-apply-modal-member-followup)
     all use row instead: Cancel left, Next/Submit right. */
  #initiative-apply-modal-member-step-1 .custom-modal-buttons {
    flex-direction: row;
  }

  #initiative-apply-modal-member-step-1 .custom-modal-buttons button,
  #initiative-apply-modal-member-success .custom-modal-buttons button {
    flex: 1;
  }

  .field-wrapper img {
    max-width: 250px;
    align-self: baseline;
  }
  .outcome-container {
    display: grid;
    grid-template-columns: 0.1fr 0.9fr;

    gap: 12px;
  }
  .field-wrapper {
    flex-direction: column;
    align-items: flex-start;
  }
  #initiative-apply-modal .table-avatar,
  #initiative-apply-modal-member .table-avatar ,
  #initiative-apply-modal-member-followup .table-avatar {
    flex-direction: row;
    gap: 28px;
  }

  #initiative-apply-modal .member-info,
  #initiative-apply-modal-member .member-info ,
  #initiative-apply-modal-member-followup .member-info {
    gap: unset;
    height: 90px;
  }

  #initiative-apply-modal .custom-modal-buttons {
    flex-direction: row-reverse;
  }

  #initiative-apply-modal-member .custom-modal-buttons ,
  #initiative-apply-modal-member-followup .custom-modal-buttons {
    flex-direction: row;
  }

  #initiative-apply-modal .custom-modal-buttons button,
  #initiative-apply-modal-member .custom-modal-buttons button ,
  #initiative-apply-modal-member-followup .custom-modal-buttons button {
    flex: 1;
  }
}

/* Apply box */
.vdfp-initiative-single__apply-box {
	background-color: #016D89;
	padding: 30px 20px;
	text-align: center;
	color: #FFFFFF;
	margin-top: 20px;
}
.vdfp-initiative-single__apply-box p {
	color: #FFFFFF;
	margin: 0 0 15px;
}
.vdfp-initiative-single__apply-box img {
	max-width: 100%;
	height: auto;
	margin-bottom: 15px;
}
.vdfp-initiative-single__apply-box button {
	width: 100%;
	background-color: #CD6C33;
	color: #FFFFFF;
	font-weight: 600;
	font-size: 1em;
	padding: 12px 30px;
	border: 1px solid #CD6C33;
	cursor: pointer;
	transition: background-color 0.3s, border-color 0.3s;
}
.vdfp-initiative-single__apply-box button:hover {
	background-color: #016D89;
	border-color: #FFFFFF;
	color: #FFFFFF;
}

/* Login button */
.vdfp-initiative-single__login-btn {
	margin-top: 30px;
	margin-bottom: 30px;
	text-align: center;
}
.vdfp-initiative-single__login-trigger {
	display: inline-block;
	background-color: #016D89;
	color: #FFFFFF;
	border: 1px solid #016D89;
	border-radius: 0;
	padding: 12px 30px;
	font-size: 15px;
	font-weight: 500;
	cursor: pointer;
	transition: background-color 0.3s, border-color 0.3s;
}
.vdfp-initiative-single__login-trigger:hover {
	background-color: #CD6C33;
	border-color: #CD6C33;
	color: #FFFFFF;
}
