/* Investment Files member journeys: account access, dashboard and submissions. */
.if-member,
.if-member-flow,
.if-submit,
.if-member *,
.if-member-flow *,
.if-submit * {
	box-sizing: border-box;
}

body.if-member-flow {
	min-height: 100vh;
	background: var(--if-warm, #f7f6f1);
	color: var(--if-text, #101828);
	font-family: var(--if-font-sans, "Montserrat", Arial, sans-serif);
}

body.if-member-flow #page,
body.if-member-flow #content,
body.if-member-flow .site-content,
body.if-member-flow .site-main,
body.if-member-flow article.page {
	margin: 0;
	padding: 0;
	background: transparent;
}

body.if-member-flow #page {
	display: flex;
	width: 100%;
	min-height: 100vh;
	flex-direction: column;
}

body.if-member-flow #content {
	width: 100%;
	flex: 1 0 auto;
}

body.if-member-flow #primary {
	float: none;
	width: 100%;
	margin: 0;
	padding: 0;
}

body.if-member-flow #secondary,
body.if-member-flow .entry-header {
	display: none !important;
}

body.if-member-flow .site-content > .ast-container,
body.if-member-flow .site-content .ast-container {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

body.if-member-flow .entry-content {
	margin: 0;
}

.if-member,
.if-member-flow,
.if-submit,
body.if-member-flow .woocommerce {
	color: var(--if-text, #101828);
	font-family: var(--if-font-sans, "Montserrat", Arial, sans-serif);
	font-size: 15px;
	line-height: 1.6;
}

.if-member :where(h1, h2, h3, h4, p, a, button, input, select, textarea, label, legend),
.if-member-flow :where(h1, h2, h3, h4, p, a, button, input, select, textarea, label, legend),
.if-submit :where(h1, h2, h3, h4, p, a, button, input, select, textarea, label, legend),
body.if-member-flow .woocommerce :where(h1, h2, h3, h4, p, a, button, input, select, textarea, label, legend) {
	font-family: var(--if-font-sans, "Montserrat", Arial, sans-serif) !important;
}

.if-member-shell,
.if-submit-shell,
body.if-member-flow .woocommerce {
	width: min(100% - 40px, 1180px);
	margin-inline: auto;
}

body.if-member-flow .woocommerce {
	padding-block: clamp(32px, 5vw, 64px);
}

.if-member-shell,
.if-submit-shell {
	padding-block: clamp(32px, 5vw, 72px);
}

.if-member-hero,
.if-submit__hero {
	max-width: 760px;
	margin-bottom: 24px;
}

.if-member-eyebrow,
.if-submit__eyebrow {
	margin: 0 0 7px;
	color: var(--if-blue, #2563eb);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.if-member-hero h1,
.if-submit__hero h1 {
	margin: 0 0 10px;
	color: var(--if-navy, #0b1f3a);
	font-size: clamp(30px, 4vw, 44px);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.12;
}

.if-member-hero p:last-child,
.if-submit__hero p:last-child {
	max-width: 680px;
	margin: 0;
	color: var(--if-muted, #526174);
}

.if-member-grid,
.if-submit__layout {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: 24px;
}

.if-submit__layout {
	grid-template-columns: minmax(0, 1fr) minmax(250px, 340px);
}

.if-member-card,
.if-submit__card,
.if-submit-form,
.if-submit-list,
body.if-member-flow .woocommerce-form,
body.if-member-flow .woocommerce-ResetPassword,
body.if-member-flow form.lost_reset_password,
body.if-member-flow .woocommerce-MyAccount-content {
	min-width: 0;
	padding: clamp(22px, 3vw, 34px);
	border: 1px solid var(--if-border, rgba(11, 31, 58, 0.12));
	border-radius: var(--if-radius, 16px);
	background: var(--if-white, #fff);
	box-shadow: var(--if-shadow, 0 14px 34px rgba(6, 20, 38, 0.07));
}

.if-member-card__header,
.if-submit__card-header,
.if-submit-form__header,
.if-submit-list__header {
	margin-bottom: 24px;
}

.if-member-card__header h2,
.if-submit__card-header h2,
.if-submit-form__header h2,
.if-submit-list__header h2 {
	margin: 0 0 7px;
	color: var(--if-navy, #0b1f3a);
	font-size: clamp(21px, 2.4vw, 27px);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.25;
}

.if-member-card__header p,
.if-submit__card-header p,
.if-submit-form__header p,
.if-submit-list__header p {
	margin: 0;
	color: var(--if-muted, #526174);
	font-size: 14px;
}

.if-submit-form__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(330px, 0.85fr);
	align-items: end;
	gap: 28px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--if-border, rgba(11, 31, 58, 0.12));
}

.if-submit-form__kicker {
	margin: 0 0 5px !important;
	color: var(--if-blue, #2563eb) !important;
	font-size: 11px !important;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.if-submit__form {
	display: grid;
	gap: 18px;
}

.if-submit-section {
	min-width: 0;
	margin: 0;
	padding: clamp(20px, 3vw, 28px);
	border: 1px solid var(--if-border, rgba(11, 31, 58, 0.12));
	border-radius: 14px;
	background: var(--if-white, #fff);
}

.if-submit-section > legend {
	display: flex;
	width: 100%;
	align-items: flex-start;
	gap: 12px;
	margin: 0 0 22px;
	padding: 0;
	color: var(--if-navy, #0b1f3a);
}

.if-submit-section > legend > span:last-child {
	display: grid;
	min-width: 0;
	gap: 3px;
}

.if-submit-section > legend strong {
	font-size: 18px;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.3;
}

.if-submit-section > legend small {
	color: var(--if-muted, #526174);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.55;
}

.if-submit-section__number {
	display: grid;
	width: 32px;
	height: 32px;
	place-items: center;
	border-radius: 9px;
	background: var(--if-blue, #2563eb);
	color: var(--if-white, #fff);
	font-size: 12px;
	font-weight: 800;
	flex: 0 0 32px;
}

.if-submit-section .if-submit-field {
	margin-bottom: 0;
}

.if-submit-section .if-submit-fields {
	gap: 18px 16px;
}

.if-submit-section--protected {
	border-color: rgba(37, 99, 235, 0.24);
	background: linear-gradient(145deg, #fff 0%, rgba(234, 243, 248, 0.65) 100%);
}

.if-submit-private-note {
	margin-bottom: 20px;
	padding: 15px 16px;
	border-inline-start: 4px solid var(--if-blue, #2563eb);
	border-radius: 10px;
	background: rgba(234, 243, 248, 0.9);
}

.if-submit-private-note strong {
	display: block;
	margin-bottom: 3px;
	color: var(--if-navy, #0b1f3a);
	font-size: 13px;
	font-weight: 800;
}

.if-submit-private-note p {
	margin: 0;
	color: var(--if-muted, #526174);
	font-size: 12px;
}

.if-submit-consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 18px;
	padding: 14px 15px;
	border: 1px solid var(--if-border, rgba(11, 31, 58, 0.12));
	border-radius: 10px;
	background: var(--if-white, #fff);
	color: var(--if-navy, #0b1f3a);
	font-size: 13px;
	font-weight: 650;
	cursor: pointer;
}

.if-submit-consent input {
	width: 19px;
	height: 19px;
	margin: 1px 0 0;
	accent-color: var(--if-blue, #2563eb);
	flex: 0 0 19px;
}

.if-submit-consent em {
	color: #b42318;
}

.if-member__gate h2,
.if-submit__gate h2,
body.if-member-flow .woocommerce .u-column1 > h2,
body.if-member-flow .woocommerce .u-column2 > h2 {
	margin: 0 0 8px;
	color: var(--if-navy, #0b1f3a);
	font-size: clamp(21px, 2.4vw, 27px);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.25;
}

.if-member__gate p,
.if-submit__gate p {
	margin: 0 0 18px;
	color: var(--if-muted, #526174);
}

.if-member__dashboard-panel {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 24px;
}

.if-member__dashboard-panel h2 {
	margin: 0 0 6px;
	color: var(--if-navy, #0b1f3a);
	font-size: clamp(21px, 2.4vw, 27px);
	font-weight: 800;
}

.if-member__dashboard-panel p,
.if-submit__actions p {
	margin: 0;
	color: var(--if-muted, #526174);
	font-size: 13px;
}

.if-member__dashboard-kicker {
	margin: 0 0 5px !important;
	color: var(--if-blue, #2563eb) !important;
	font-size: 11px !important;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.if-member__dashboard-copy {
	min-width: 0;
}

.if-member__quick-links {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 28px;
}

.if-member__quick-links a {
	display: flex;
	min-width: 0;
	min-height: 104px;
	justify-content: space-between;
	flex-direction: column;
	gap: 10px;
	padding: 17px;
	border: 1px solid var(--if-border, rgba(11, 31, 58, 0.12));
	border-radius: var(--if-radius-sm, 10px);
	background: var(--if-surface, #f7f9fc);
	color: var(--if-navy, #0b1f3a);
	text-decoration: none;
	transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.if-member__quick-links a:hover {
	border-color: rgba(37, 99, 235, 0.32);
	background: var(--if-sky, #eaf3f8);
	transform: translateY(-1px);
}

.if-member__quick-links span {
	color: var(--if-muted, #526174);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.if-member__quick-links strong {
	font-size: 14px;
	font-weight: 800;
}

/* WooCommerce login, registration and account fields. */
body.if-member-flow .woocommerce h2,
body.if-member-flow .woocommerce h3 {
	color: var(--if-navy, #0b1f3a);
	font-weight: 800;
	letter-spacing: -0.02em;
}

body.if-member-flow .woocommerce-form {
	margin: 0 !important;
}

body.if-member-flow .woocommerce-ResetPassword,
body.if-member-flow form.lost_reset_password {
	width: min(100%, 620px);
	margin: 0 !important;
}

body.if-member-flow .woocommerce .u-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

body.if-member-flow .woocommerce .u-columns::before,
body.if-member-flow .woocommerce .u-columns::after {
	display: none;
}

body.if-member-flow .woocommerce .u-column1,
body.if-member-flow .woocommerce .u-column2 {
	float: none;
	width: 100%;
}

body.if-member-flow .woocommerce .u-columns > .u-column1,
body.if-member-flow .woocommerce .u-columns > .u-column2 {
	padding: clamp(22px, 3vw, 32px);
	border: 1px solid var(--if-border, rgba(11, 31, 58, 0.12));
	border-radius: var(--if-radius, 16px);
	background: var(--if-white, #fff);
	box-shadow: var(--if-shadow, 0 14px 34px rgba(6, 20, 38, 0.07));
}

body.if-member-flow .woocommerce .u-columns > :where(.u-column1, .u-column2) > .woocommerce-form {
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

body.if-member-flow .woocommerce form .form-row,
.if-member-field,
.if-submit-field,
.if-submit .wpforms-field {
	float: none;
	width: 100%;
	margin: 0 0 18px;
	padding: 0;
}

.if-member-fields,
.if-submit-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 16px;
}

.if-member-field--wide,
.if-submit-field--wide,
.if-submit-fields > .wpforms-field {
	grid-column: 1 / -1;
}

body.if-member-flow .woocommerce form .form-row label,
.if-submit-field > span,
.if-member-field > label,
.if-member-field > legend,
.if-submit-field > label,
.if-submit-field > legend,
.if-submit .wpforms-field-label {
	display: block;
	margin: 0 0 7px;
	padding: 0;
	color: var(--if-navy, #0b1f3a);
	font-size: 13px;
	font-weight: 750;
	line-height: 1.45;
}

.if-submit__trap {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.if-member-field .required,
.if-submit-field .required,
.if-submit-field > span > em[aria-hidden="true"],
.if-submit .wpforms-required-label,
body.if-member-flow .woocommerce form .required {
	color: #b42318;
}

.if-submit-field > small {
	display: block;
	margin-top: 6px;
	color: var(--if-muted, #526174);
	font-size: 12px;
	line-height: 1.55;
}

body.if-member-flow .woocommerce form .input-text,
body.if-member-flow .woocommerce form select,
.if-member-field :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
.if-submit-field :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea),
.if-submit .wpforms-field :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea) {
	width: 100%;
	min-height: 48px;
	padding: 11px 13px;
	border: 1px solid var(--if-border, rgba(11, 31, 58, 0.12));
	border-radius: var(--if-radius-sm, 10px);
	outline: 0;
	background: var(--if-white, #fff);
	color: var(--if-text, #101828);
	font-size: 15px;
	line-height: 1.4;
	transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

body.if-member-flow .woocommerce form textarea.input-text,
.if-member-field textarea,
.if-submit-field textarea,
.if-submit .wpforms-field textarea {
	min-height: 132px;
	resize: vertical;
}

body.if-member-flow .woocommerce form .input-text::placeholder,
.if-member-field input::placeholder,
.if-member-field textarea::placeholder,
.if-submit-field input::placeholder,
.if-submit-field textarea::placeholder,
.if-submit .wpforms-field input::placeholder,
.if-submit .wpforms-field textarea::placeholder {
	color: var(--if-muted, #526174);
	opacity: 0.72;
}

body.if-member-flow .woocommerce form .input-text:focus,
body.if-member-flow .woocommerce form select:focus,
.if-member-field :where(input, select, textarea):focus,
.if-submit-field :where(input, select, textarea):focus,
.if-submit .wpforms-field :where(input, select, textarea):focus {
	border-color: var(--if-cyan, #27afc1);
	box-shadow: 0 0 0 3px rgba(39, 175, 193, 0.18);
}

body.if-member-flow .woocommerce form .input-text:disabled,
.if-member-field :where(input, select, textarea):disabled,
.if-submit-field :where(input, select, textarea):disabled {
	cursor: not-allowed;
	background: var(--if-surface, #f7f9fc);
	opacity: 0.7;
}

.if-member-help,
.if-submit-help,
.if-submit .wpforms-field-description,
body.if-member-flow .woocommerce-password-hint {
	display: block;
	margin-top: 6px;
	color: var(--if-muted, #526174);
	font-size: 12px;
	line-height: 1.55;
}

.if-member-choice,
.if-submit-choice,
body.if-member-flow .woocommerce-form__label-for-checkbox {
	display: inline-flex !important;
	align-items: flex-start;
	gap: 9px;
	color: var(--if-text, #101828);
	font-size: 13px;
	font-weight: 600;
}

.if-member-choice input,
.if-submit-choice input,
body.if-member-flow .woocommerce-form__label-for-checkbox input {
	width: 18px;
	height: 18px;
	margin: 2px 0 0;
	accent-color: var(--if-blue, #2563eb);
	flex: 0 0 18px;
}

.if-submit-field input[type="file"],
.if-submit .wpforms-field-file-upload input[type="file"] {
	width: 100%;
	min-height: 54px;
	padding: 7px;
	border: 1px dashed rgba(37, 99, 235, 0.36);
	border-radius: var(--if-radius-sm, 10px);
	background: var(--if-sky, #eaf3f8);
	color: var(--if-muted, #526174);
	font-size: 13px;
	cursor: pointer;
}

.if-submit-field input[type="file"]::file-selector-button,
.if-submit .wpforms-field-file-upload input[type="file"]::file-selector-button {
	min-height: 38px;
	margin-inline-end: 11px;
	padding: 8px 13px;
	border: 0;
	border-radius: 8px;
	background: var(--if-white, #fff);
	color: var(--if-blue, #2563eb);
	font: 750 12px/1.2 var(--if-font-sans, "Montserrat", Arial, sans-serif);
	cursor: pointer;
}

/* Shared actions and links. */
.if-member-actions,
.if-submit-actions,
.if-submit .wpforms-submit-container {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 8px;
}

.if-member-button,
.if-submit-button,
body.if-member-flow .woocommerce :where(button.button, a.button, input.button),
.if-submit .wpforms-submit {
	display: inline-flex;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 18px;
	border: 1px solid var(--if-blue, #2563eb) !important;
	border-radius: var(--if-radius-sm, 10px) !important;
	background: var(--if-blue, #2563eb) !important;
	box-shadow: none;
	color: var(--if-white, #fff) !important;
	font-size: 13px !important;
	font-weight: 750 !important;
	line-height: 1.2;
	text-decoration: none !important;
	cursor: pointer;
	transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.if-member-button:hover,
.if-submit-button:hover,
body.if-member-flow .woocommerce :where(button.button, a.button, input.button):hover,
.if-submit .wpforms-submit:hover {
	border-color: var(--if-navy, #0b1f3a) !important;
	background: var(--if-navy, #0b1f3a) !important;
	transform: translateY(-1px);
}

.if-member-button--secondary,
.if-submit-button--secondary {
	border-color: var(--if-border, rgba(11, 31, 58, 0.12)) !important;
	background: var(--if-white, #fff) !important;
	color: var(--if-navy, #0b1f3a) !important;
}

.if-member-link,
.if-submit-link,
body.if-member-flow .woocommerce-LostPassword a,
body.if-member-flow .woocommerce-MyAccount-content a:not(.button) {
	color: var(--if-blue, #2563eb);
	font-weight: 700;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

/* My Account navigation and content. */
body.logged-in.if-member-flow.woocommerce-account .woocommerce {
	display: grid;
	grid-template-columns: minmax(210px, 250px) minmax(0, 1fr);
	grid-template-areas: "account-navigation account-content";
	align-items: start;
	gap: 24px;
}

body.logged-in.if-member-flow.woocommerce-account .woocommerce::before,
body.logged-in.if-member-flow.woocommerce-account .woocommerce::after {
	display: none !important;
	content: none !important;
}

body.if-member-flow .woocommerce-MyAccount-navigation {
	grid-area: account-navigation;
	float: none;
	width: 100%;
	min-width: 0;
	padding: 10px;
	border: 1px solid var(--if-border, rgba(11, 31, 58, 0.12));
	border-radius: var(--if-radius, 16px);
	background: var(--if-white, #fff);
	box-shadow: 0 10px 28px rgba(6, 20, 38, 0.055);
}

body.if-member-flow .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.if-member-flow .woocommerce-MyAccount-navigation li {
	margin: 0;
	padding: 0;
	border: 0;
}

body.if-member-flow .woocommerce-MyAccount-navigation li + li {
	margin-top: 3px;
}

body.if-member-flow .woocommerce-MyAccount-navigation a {
	display: flex;
	min-height: 44px;
	align-items: center;
	padding: 10px 12px;
	border-radius: 9px;
	color: var(--if-muted, #526174);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

body.if-member-flow .woocommerce-MyAccount-navigation a:hover,
body.if-member-flow .woocommerce-MyAccount-navigation .is-active a {
	background: var(--if-sky, #eaf3f8);
	color: var(--if-blue, #2563eb);
}

body.if-member-flow .woocommerce-MyAccount-content {
	grid-area: account-content;
	float: none;
	width: 100%;
	min-width: 0;
}

body.if-account-dashboard .woocommerce-MyAccount-content > p {
	display: none;
}

body.logged-in.if-member-flow.woocommerce-account .woocommerce-MyAccount-content .if-member__dashboard-panel,
body.logged-in.if-member-flow.woocommerce-account .woocommerce-MyAccount-content .if-member__opportunities {
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

body.logged-in.if-member-flow.woocommerce-account .woocommerce-MyAccount-content .if-member__opportunities {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid var(--if-border, rgba(11, 31, 58, 0.12));
}

body.if-member-flow .woocommerce-MyAccount-content > :first-child {
	margin-top: 0;
}

body.if-member-flow .woocommerce-MyAccount-content > :last-child {
	margin-bottom: 0;
}

body.if-member-flow .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

body.if-member-flow .woocommerce-Address {
	float: none;
	width: 100%;
	padding: 18px;
	border: 1px solid var(--if-border, rgba(11, 31, 58, 0.12));
	border-radius: var(--if-radius-sm, 10px);
	background: var(--if-surface, #f7f9fc);
}

body.if-member-flow .woocommerce table.shop_table,
.if-submit-table {
	width: 100%;
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--if-border, rgba(11, 31, 58, 0.12));
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--if-radius-sm, 10px);
	background: var(--if-white, #fff);
}

body.if-member-flow .woocommerce table.shop_table th,
body.if-member-flow .woocommerce table.shop_table td,
.if-submit-table th,
.if-submit-table td {
	padding: 13px 14px;
	border: 0;
	border-bottom: 1px solid var(--if-border, rgba(11, 31, 58, 0.12));
	text-align: start;
}

body.if-member-flow .woocommerce table.shop_table th,
.if-submit-table th {
	background: var(--if-surface, #f7f9fc);
	color: var(--if-navy, #0b1f3a);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

body.if-member-flow .woocommerce table.shop_table tr:last-child td,
.if-submit-table tr:last-child td {
	border-bottom: 0;
}

/* Submission progress, lists and statuses. */
.if-submit-progress {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.if-submit-progress__item {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 8px;
	color: var(--if-muted, #526174);
	font-size: 11px;
	font-weight: 700;
}

.if-submit-progress__number {
	display: grid;
	width: 26px;
	height: 26px;
	place-items: center;
	border-radius: 50%;
	background: var(--if-sky, #eaf3f8);
	color: var(--if-blue, #2563eb);
	font-size: 11px;
	font-weight: 800;
	flex: 0 0 26px;
}

.if-submit-progress__item.is-active,
.if-submit-progress__item.is-complete {
	color: var(--if-navy, #0b1f3a);
	font-weight: 700;
}

.if-submit-progress__item.is-complete .if-submit-progress__number {
	background: var(--if-cyan, #27afc1);
	color: var(--if-white, #fff);
}

.if-submit-list__items {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.if-member__opportunity-list {
	display: grid;
	gap: 12px;
}

.if-member__opportunity-image {
	display: grid;
	width: 72px;
	height: 72px;
	overflow: hidden;
	place-items: center;
	border-radius: 9px;
	background: var(--if-sky, #eaf3f8);
	color: var(--if-blue, #2563eb);
	font-size: 13px;
	font-weight: 850;
}

.if-member__opportunity-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.if-member__opportunity-copy h3 {
	margin: 5px 0 3px;
}

.if-member__opportunity-copy {
	min-width: 0;
	overflow-wrap: anywhere;
}

.if-member__opportunity-copy p {
	margin: 0;
	color: var(--if-muted, #526174);
	font-size: 12px;
}

.if-member__opportunity-action {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	flex-direction: column;
	gap: 9px;
}

.if-submit-list__item {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;
	padding: 16px;
	border: 1px solid var(--if-border, rgba(11, 31, 58, 0.12));
	border-radius: var(--if-radius-sm, 10px);
	background: var(--if-surface, #f7f9fc);
}

.if-submit-list__item h3 {
	margin: 0 0 3px;
	color: var(--if-navy, #0b1f3a);
	font-size: 15px;
	font-weight: 750;
}

.if-submit-list__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 12px;
	color: var(--if-muted, #526174);
	font-size: 12px;
}

.if-status {
	display: inline-flex;
	min-height: 26px;
	align-items: center;
	justify-content: center;
	padding: 4px 9px;
	border-radius: 999px;
	background: var(--if-sky, #eaf3f8);
	color: var(--if-blue, #2563eb);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.045em;
	line-height: 1.2;
	text-transform: uppercase;
}

.if-status--pending {
	background: #fff4e5;
	color: #9a5b13;
}

.if-status--draft {
	background: #fff4e5;
	color: #9a5b13;
}

.if-status--private {
	background: #f1f3f7;
	color: #475467;
}

.if-status--approved,
.if-status--publish,
.if-status--published {
	background: #e8f7ef;
	color: #167347;
}

.if-status--rejected,
.if-status--error {
	background: #fff0ee;
	color: #b42318;
}

.if-submit-empty {
	padding: 28px 20px;
	border: 1px dashed var(--if-border, rgba(11, 31, 58, 0.12));
	border-radius: var(--if-radius-sm, 10px);
	background: var(--if-surface, #f7f9fc);
	color: var(--if-muted, #526174);
	text-align: center;
}

.if-submit-empty strong {
	display: block;
	margin-bottom: 5px;
	color: var(--if-navy, #0b1f3a);
	font-size: 16px;
	font-weight: 800;
}

.if-submit-empty p {
	margin: 0 0 16px;
}

/* Notices from WooCommerce, WPForms and custom flows. */
.if-alert,
.if-member .woocommerce-error,
.if-member .woocommerce-message,
.if-member .woocommerce-info,
body.if-member-flow .woocommerce-error,
body.if-member-flow .woocommerce-message,
body.if-member-flow .woocommerce-info,
.if-submit .wpforms-confirmation-container-full,
.if-submit .wpforms-error-container {
	position: relative;
	margin: 0 0 20px;
	padding: 14px 16px;
	border: 1px solid rgba(37, 99, 235, 0.2);
	border-inline-start: 4px solid var(--if-blue, #2563eb);
	border-radius: var(--if-radius-sm, 10px);
	background: var(--if-sky, #eaf3f8);
	color: var(--if-navy, #0b1f3a);
	font-size: 13px;
	list-style-position: inside;
}

.if-alert--success,
.if-member .woocommerce-message,
body.if-member-flow .woocommerce-message,
.if-submit .wpforms-confirmation-container-full {
	border-color: rgba(22, 115, 71, 0.2);
	border-inline-start-color: #167347;
	background: #edf9f2;
	color: #145c3b;
}

.if-alert--error,
.if-member .woocommerce-error,
body.if-member-flow .woocommerce-error,
.if-submit .wpforms-error-container {
	border-color: rgba(180, 35, 24, 0.2);
	border-inline-start-color: #b42318;
	background: #fff3f1;
	color: #8e1c14;
}

.if-alert ul {
	margin: 8px 0 0;
	padding-inline-start: 20px;
}

.if-alert li + li {
	margin-top: 4px;
}

.if-alert a {
	color: inherit;
	font-weight: 800;
	text-underline-offset: 3px;
}

.if-submit .wpforms-field.wpforms-has-error input,
.if-submit .wpforms-field.wpforms-has-error select,
.if-submit .wpforms-field.wpforms-has-error textarea,
.if-submit-field.has-error :where(input, select, textarea) {
	border-color: #b42318;
	box-shadow: 0 0 0 3px rgba(180, 35, 24, 0.1);
}

.if-submit .wpforms-error,
.if-submit-field__error {
	display: block;
	margin-top: 6px;
	color: #b42318;
	font-size: 12px;
	font-weight: 650;
}

/* Visible keyboard focus stays inside these member-only surfaces. */
.if-member :where(a, button, input, select, textarea):focus-visible,
.if-member-flow :where(a, button, input, select, textarea):focus-visible,
.if-submit :where(a, button, input, select, textarea):focus-visible,
body.if-member-flow summary:focus-visible,
body.if-member-flow .woocommerce :where(a, button, input, select, textarea):focus-visible {
	outline: 3px solid var(--if-cyan, #27afc1) !important;
	outline-offset: 3px;
}

@media (max-width: 900px) {
	.if-submit__layout,
	body.logged-in.if-member-flow.woocommerce-account .woocommerce {
		grid-template-columns: 1fr;
		grid-template-areas:
			"account-navigation"
			"account-content";
	}

	.if-submit-form__header {
		grid-template-columns: 1fr;
		align-items: start;
	}

	body.if-member-flow .woocommerce-MyAccount-navigation ul {
		display: flex;
		overflow-x: auto;
		gap: 5px;
		scrollbar-width: thin;
	}

	body.if-member-flow .woocommerce-MyAccount-navigation li + li {
		margin-top: 0;
	}

	body.if-member-flow .woocommerce-MyAccount-navigation a {
		white-space: nowrap;
	}
}

@media (max-width: 700px) {
	.if-member__dashboard-panel {
		align-items: flex-start;
		flex-direction: column;
	}

	.if-member-grid,
	body.if-member-flow .woocommerce .u-columns,
	body.if-member-flow .woocommerce-Addresses {
		grid-template-columns: 1fr;
	}

	.if-member__quick-links {
		grid-template-columns: 1fr;
	}

	.if-member__quick-links a {
		min-height: 88px;
	}

	.if-submit-progress {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.if-member-fields,
	.if-submit-fields {
		grid-template-columns: 1fr;
	}

	.if-member-field,
	.if-submit-field,
	.if-submit-fields > .wpforms-field {
		grid-column: auto;
	}

	body.if-member-flow .woocommerce table.shop_table,
	.if-submit-table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

@media (max-width: 480px) {
	.if-member-shell,
	.if-submit-shell,
	body.if-member-flow .woocommerce {
		width: min(100% - 24px, 1180px);
	}

	.if-member-card,
	.if-submit__card,
	.if-submit-form,
	.if-submit-list,
	body.if-member-flow .woocommerce-form,
	body.if-member-flow .woocommerce-ResetPassword,
	body.if-member-flow form.lost_reset_password,
	body.if-member-flow .woocommerce-MyAccount-content {
		padding: 20px 16px;
		border-radius: 13px;
	}

	.if-member-hero h1,
	.if-submit__hero h1 {
		font-size: 29px;
	}

	.if-member-actions,
	.if-submit-actions,
	.if-submit .wpforms-submit-container {
		align-items: stretch;
		flex-direction: column;
	}

	.if-member-button,
	.if-submit-button,
	body.if-member-flow .woocommerce :where(button.button, a.button, input.button),
	.if-submit .wpforms-submit {
		width: 100%;
	}

	.if-submit-list__item {
		grid-template-columns: 60px minmax(0, 1fr);
	}

	.if-submit-list__item > .if-member-button,
	.if-member__opportunity-action {
		grid-column: 1 / -1;
	}

	.if-member__opportunity-action {
		align-items: stretch;
	}

	.if-member__opportunity-image {
		width: 60px;
		height: 60px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.if-member *,
	.if-member-flow *,
	.if-submit *,
	body.if-member-flow .woocommerce * {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
