/* MCGS line forms — Business Bridge + Workforce Australia.
   Frosted glass, gold on black, matching the rest of the site. */

.mcgs-lineforms {
	--ff-glass: #F1F1F5;
	--ff-border: rgba(21, 20, 26, .12);
	--ff-gold: #146B6B;
	--ff-gold-light: #146B6B;
	--ff-glow: #5FE8E3;
	--ff-text: #15141A;
	--ff-dim: #5C6B6B;
	--ff-blur: 0px;
	margin-top: 2rem;
}

/* ---------- chooser ---------- */
.mcgs-lineforms__choice {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}
.mcgs-lineforms__choice--single { grid-template-columns: 1fr; max-width: 34rem; }
@media (max-width: 620px) {
	.mcgs-lineforms__choice { grid-template-columns: 1fr; }
}
.mcgs-lineforms__btn {
	display: flex;
	flex-direction: column;
	gap: .4rem;
	text-align: left;
	padding: 1.1rem 1.2rem;
	border-radius: 4px;
	cursor: pointer;
	color: var(--ff-text, #15141A);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, .8), rgba(255, 255, 255, .3) 60%),
		rgba(20, 107, 107, .06);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(20, 107, 107, .3);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75), 0 1px 2px rgba(21, 20, 26, .04);
	transition: border-color .15s ease, background .15s ease, box-shadow .15s ease, transform .15s ease;
}
.mcgs-lineforms__btn:hover,
.mcgs-lineforms__btn:focus-visible {
	border-color: var(--ff-gold, #146B6B);
	transform: translateY(-1px);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, .55) 60%),
		rgba(20, 107, 107, .1);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75), 0 0 0 3px rgba(95, 232, 227, .22);
}
.mcgs-lineforms__btn[aria-expanded="true"] {
	border-color: var(--ff-gold, #146B6B);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, .6), rgba(255, 255, 255, .2) 60%),
		rgba(20, 107, 107, .16);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75), 0 0 0 3px rgba(95, 232, 227, .26);
}
.mcgs-lineforms__btn-title {
	font-family: var(--mcgs-font-head, "Fraunces", Georgia, serif);
	font-weight: 600;
	font-size: 1.02rem;
	color: var(--ff-gold, #146B6B);
}
.mcgs-lineforms__btn-intro {
	font-size: .88rem;
	line-height: 1.5;
	color: var(--ff-dim);
}

/* ---------- panel ---------- */
.mcgs-lineforms__panel {
	margin-top: 1.6rem;
	animation: mcgs-ff-in .25s ease both;
}
.mcgs-lineforms__panel[hidden] { display: none; }
@keyframes mcgs-ff-in {
	from { opacity: 0; transform: translateY(-6px); }
	to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	.mcgs-lineforms__panel { animation: none; }
}
.mcgs-lineforms__panel-title {
	font-family: var(--mcgs-font-head, "Fraunces", Georgia, serif);
	font-weight: 600;
	font-size: 1.15rem;
	color: var(--ff-text);
	margin: 0 0 1.2rem;
}

/* ---------- form ---------- */
.mcgs-ff {
	display: grid;
	gap: 1.1rem;
	max-width: 640px;
}
.mcgs-ff__hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px; height: 1px; overflow: hidden;
}
.mcgs-ff__row { display: grid; gap: .4rem; }
.mcgs-ff__row[hidden] { display: none; }
.mcgs-ff__label {
	font-family: var(--mcgs-font-head, "Fraunces", Georgia, serif);
	font-weight: 600;
	font-size: .82rem;
	letter-spacing: .03em;
	text-transform: uppercase;
	color: var(--ff-text);
}
.mcgs-ff__req { color: var(--ff-gold); font-style: normal; }
.mcgs-ff__q {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.15rem;
	height: 1.15rem;
	margin-left: .1rem;
	padding: 0;
	border-radius: 50%;
	border: 1px solid var(--ff-gold, #146B6B);
	background: transparent;
	color: var(--ff-gold, #146B6B);
	font-family: var(--mcgs-font-body, "Manrope", system-ui, sans-serif);
	font-size: .72rem;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	vertical-align: middle;
}
.mcgs-ff__q:hover { background: rgba(20, 107, 107, .14); }
.mcgs-ff__q[aria-expanded="true"] { background: var(--ff-gold, #146B6B); color: #FCFCFD; }
.mcgs-ff__help {
	font-size: .8rem;
	line-height: 1.5;
	color: var(--ff-dim);
	opacity: .85;
	margin: .1rem 0 .1rem;
}
.mcgs-ff__help[hidden] { display: none; }
.mcgs-ff__input {
	width: 100%;
	box-sizing: border-box;
	font-family: var(--mcgs-font-body, "Manrope", system-ui, sans-serif);
	font-size: 1rem;
	color: var(--ff-text);
	background: #FFFFFF;
	border: 1px solid rgba(21, 20, 26, .32);
	border-radius: 4px;
	padding: .8rem .95rem;
	box-shadow: inset 0 1px 2px rgba(21, 20, 26, .06);
	transition: border-color .15s ease, box-shadow .15s ease;
}
textarea.mcgs-ff__input { min-height: 90px; resize: vertical; }
select.mcgs-ff__input {
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%235C6B6B' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right .9rem center;
	padding-right: 2.2rem;
}
select.mcgs-ff__input option { background: #FFFFFF; color: var(--ff-text); }
.mcgs-ff__input:focus {
	outline: none;
	border-color: rgba(20, 107, 107, .55);
	box-shadow: 0 0 0 3px rgba(20, 107, 107, .12);
}
.mcgs-ff__input::placeholder { color: var(--ff-dim); opacity: .55; }
.mcgs-ff__input:disabled { opacity: .5; }

.mcgs-ff__filecur {
	font-size: .8rem;
	color: var(--ff-gold-light);
	opacity: .85;
}
.mcgs-ff__file {
	font-family: var(--mcgs-font-body, "Manrope", system-ui, sans-serif);
	font-size: .9rem;
	color: var(--ff-dim);
	background: var(--ff-glass);
	border: 1px dashed var(--ff-border);
	border-radius: 4px;
	padding: .7rem .9rem;
	width: 100%;
	box-sizing: border-box;
}
.mcgs-ff__file::file-selector-button {
	font-family: var(--mcgs-font-head, "Fraunces", Georgia, serif);
	font-size: .82rem;
	font-weight: 600;
	color: var(--ff-gold-light);
	background: rgba(20, 107, 107, .16);
	border: 1px solid rgba(20, 107, 107, .42);
	border-radius: 4px;
	padding: .4rem .8rem;
	margin-right: .8rem;
	cursor: pointer;
}

.mcgs-ff__radios { display: grid; gap: .5rem; }

/* Split phone: small country-code box on the left, number on the right. */
.mcgs-ff__telsplit { display: flex; gap: .5rem; align-items: stretch; }
.mcgs-ff__telsplit-fixed {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	padding: 0 .8rem;
	border-radius: 4px;
	background: var(--ff-glass, #F1F1F5);
	border: 1px solid var(--ff-border, rgba(21, 20, 26, .12));
	color: var(--ff-dim, #5C6B6B);
	font-size: .95rem;
}
.mcgs-ff__licexp-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: .8rem;
	padding: .7rem 0;
	border-bottom: 1px solid var(--ff-border, rgba(21, 20, 26, .12));
}
.mcgs-ff__licexp-row:last-child { border-bottom: none; }
.mcgs-ff__licexp-name { flex: 1 1 160px; align-self: center; color: var(--ff-text, #15141A); font-size: .9rem; }
.mcgs-ff__licexp-field { display: flex; flex-direction: column; gap: .3rem; font-size: .78rem; color: var(--ff-dim, #5C6B6B); text-transform: uppercase; letter-spacing: .04em; }
.mcgs-ff__licexp-field .mcgs-ff__input { max-width: 160px; }
.mcgs-ff__licexp-noexp { display: flex; align-items: center; gap: .4rem; font-size: .85rem; color: var(--ff-dim, #5C6B6B); white-space: nowrap; }
.mcgs-ff__licexp-field .mcgs-ff__input:disabled { opacity: .4; }
.mcgs-ff__licexp-file { display: flex; flex-direction: column; gap: .3rem; font-size: .78rem; color: var(--ff-dim, #5C6B6B); flex: 1 1 100%; }
.mcgs-ff__licexp-file input[type="file"] { font-size: .82rem; max-width: 320px; }
.mcgs-ff__telsplit .mcgs-ff__input--code {
	flex: 0 0 84px;
	width: 84px;
	min-width: 0;
	text-align: center;
	padding-left: .5rem;
	padding-right: .5rem;
}
.mcgs-ff__telsplit .mcgs-ff__input:not(.mcgs-ff__input--code) {
	flex: 1 1 auto;
	min-width: 0;
}

/* Multi-select checkbox group. */
.mcgs-ff__multicheck {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: .45rem .9rem;
}
.mcgs-ff__radio, .mcgs-ff__check {
	display: flex;
	align-items: flex-start;
	gap: .6rem;
	font-family: var(--mcgs-font-body, "Manrope", system-ui, sans-serif);
	font-size: .95rem;
	line-height: 1.5;
	color: var(--ff-text);
	cursor: pointer;
}
.mcgs-ff__radio input, .mcgs-ff__check input {
	margin-top: .2rem;
	accent-color: var(--ff-gold);
	flex: none;
}
.mcgs-ff__row--checkbox { margin-top: .2rem; }

.mcgs-ff__ir { display: grid; gap: .55rem; }
.mcgs-ff__grid { display: grid; gap: .55rem; }
.mcgs-ff__grid-row {
	display: grid;
	grid-template-columns: minmax(0, 9rem) 1fr;
	align-items: center;
	gap: .8rem;
}
.mcgs-ff__grid-row > span { font-size: .9rem; color: var(--ff-dim); }
@media (max-width: 480px) {
	.mcgs-ff__grid-row { grid-template-columns: 1fr; gap: .3rem; }
}

.mcgs-ff__err {
	font-size: .82rem;
	color: #B23B3B;
}
.mcgs-ff__row.is-error .mcgs-ff__input,
.mcgs-ff__row.is-error .mcgs-ff__file { border-color: #A15757; }

/* ---------- standalone note + CV prefill ---------- */
.mcgs-ff__note {
	margin: .2rem 0 -.3rem;
	font-size: .9rem;
	line-height: 1.55;
	color: var(--ff-gold-light);
}
.mcgs-ff__cvstatus {
	margin: .5rem 0 0;
	font-size: .85rem;
	line-height: 1.5;
}
.mcgs-ff__cvstatus.is-loading { color: var(--ff-dim); }
.mcgs-ff__cvstatus.is-ok { color: var(--ff-gold-light); }
.mcgs-ff__cvstatus.is-warn { color: #B23B3B; }
.mcgs-ff__cvtag {
	display: inline-block;
	margin-left: .5rem;
	font-family: var(--mcgs-font-body, "Manrope", system-ui, sans-serif);
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: none;
	color: var(--ff-gold-light);
	background: rgba(20, 107, 107, .14);
	border: 1px solid var(--ff-gold-border);
	border-radius: 999px;
	padding: .05rem .5rem;
	vertical-align: middle;
}
.mcgs-ff__row--fromcv .mcgs-ff__input { border-color: rgba(20, 107, 107, .32); }

.mcgs-ff__actions { margin-top: .4rem; }
.mcgs-ff__savedtoast {
	margin: .7rem 0 0;
	font-size: .88rem;
	color: var(--ff-gold-light);
}
.mcgs-ff__submit[disabled] { opacity: .5; cursor: default; }
.mcgs-ff__formerror {
	margin: .4rem 0 0;
	font-size: .85rem;
	color: #B23B3B;
}

/* Self-contained on purpose: JS moves this modal to <body>, outside the
   .mcgs-lineforms scope where the --ff-* vars live, so every value here is
   hardcoded light so the message is always readable wherever it lands. */
.mcgs-ff__done {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
	background: rgba(21, 20, 26, .55);
}
.mcgs-ff__done[hidden] { display: none; }
.mcgs-ff__done-box {
	position: relative;
	width: 100%;
	max-width: 460px;
	padding: 2.4rem 1.9rem 1.8rem;
	border-radius: 4px;
	text-align: center;
	background: #FCFCFD;
	border: 1px solid rgba(21, 20, 26, .12);
	box-shadow: 0 30px 70px -20px rgba(21, 20, 26, .35);
}
.mcgs-ff__done-close {
	position: absolute;
	top: .6rem;
	right: .7rem;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	border: 1px solid rgba(21, 20, 26, .12);
	background: transparent;
	color: #5C6B6B;
	font-size: 1.4rem;
	line-height: 1;
	cursor: pointer;
	transition: border-color .15s ease, color .15s ease;
}
.mcgs-ff__done-close:hover { border-color: #146B6B; color: #146B6B; }
.mcgs-ff__done-text {
	margin: 0 0 1.5rem;
	color: #15141A;
	font-size: 1.02rem;
	line-height: 1.6;
}
.mcgs-ff__done-exit {
	/* Self-contained on purpose: this modal gets moved to <body> in JS (to
	   guarantee it centers on the real viewport), which can land it outside a
	   page's ".mcgs-btn" styling (the portal page in particular only styles
	   buttons scoped under ".mcgs-portal"). So it never depends on ambient
	   button classes -- it always looks right, wherever it ends up. */
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--mcgs-font-head, "Fraunces", Georgia, serif);
	font-weight: 700;
	font-size: .95rem;
	letter-spacing: -0.005em;
	cursor: pointer;
	padding: .75rem 1.9rem;
	border-radius: 4px;
	border: 1px solid #146B6B;
	background: #146B6B;
	color: #FCFCFD;
	box-shadow: 0 8px 26px -10px rgba(20, 107, 107, .55), inset 0 1px 0 rgba(255, 255, 255, .35);
	transition: transform .15s ease, box-shadow .15s ease;
}
.mcgs-ff__done-exit:hover {
	transform: translateY(-1px);
	box-shadow: 0 12px 32px -10px rgba(20, 107, 107, .7), inset 0 1px 0 rgba(255, 255, 255, .45);
}

/* section divider inside long forms (talent pool, job requirement) */
.mcgs-ff__heading {
	font-family: var(--mcgs-font-head, "Fraunces", Georgia, serif);
	font-weight: 600;
	font-size: .82rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ff-gold);
	margin: 1.9rem 0 .2rem;
	padding-bottom: .45rem;
	border-bottom: 1px solid rgba(20, 107, 107, .28);
}
.mcgs-ff__heading:first-child { margin-top: .4rem; }
.mcgs-ff__help--heading { margin: 0 0 .3rem; opacity: .8; }

/* ---- "add a language" list ---- */
.mcgs-ff__langs-add {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
}
.mcgs-ff__langs-add select { flex: 1 1 8rem; min-width: 7rem; }
.mcgs-ff__langs-add [data-lang-other] { flex: 1 1 8rem; }
.mcgs-ff__langs-add [data-lang-add] {
	flex: 0 0 auto;
	padding: .55rem 1.1rem;
	border: 1px solid var(--ff-gold-border, rgba(20, 107, 107,.42));
	background: transparent;
	color: var(--ff-gold, #146B6B);
	border-radius: 4px;
	font: inherit;
	font-size: .9rem;
	cursor: pointer;
}
.mcgs-ff__langs-chips { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: .55rem; }
.mcgs-ff__chip {
	display: inline-flex;
	align-items: center;
	gap: .1rem;
	background: rgba(20, 107, 107,.12);
	border: 1px solid var(--ff-gold-border, rgba(20, 107, 107,.42));
	color: var(--ff-text, #15141A);
	border-radius: 999px;
	padding: .28rem .3rem .28rem .75rem;
	font-size: .86rem;
}
.mcgs-ff__chip button {
	border: 0;
	background: none;
	color: inherit;
	font-size: 1.05rem;
	line-height: 1;
	cursor: pointer;
	padding: 0 .35rem;
	opacity: .7;
}
.mcgs-ff__chip button:hover { opacity: 1; }

/* --- repeatable "work experience" block --- */
.mcgs-ff__exp { display: flex; flex-direction: column; gap: .75rem; }
.mcgs-ff__exp-rows { display: flex; flex-direction: column; gap: .75rem; }
.mcgs-ff__exp-row {
	position: relative;
	border: 1px solid var(--ff-gold-border, rgba(20, 107, 107,.42));
	border-radius: 4px;
	padding: .9rem .9rem .8rem;
	background: rgba(20, 107, 107,.05);
	display: flex;
	flex-direction: column;
	gap: .55rem;
}
.mcgs-ff__exp-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .55rem;
}
.mcgs-ff__exp-grid > select,
.mcgs-ff__exp-grid > input { min-width: 0; }
.mcgs-ff__input--sm { font-size: .9rem; }
.mcgs-ff__exp-cur {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	font-size: .86rem;
	color: var(--ff-dim, #5C6B6B);
	align-self: center;
}
.mcgs-ff__exp-del {
	position: absolute;
	top: .35rem;
	right: .45rem;
	border: 0;
	background: none;
	color: var(--ff-dim, #5C6B6B);
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
	opacity: .6;
	padding: .1rem .3rem;
}
.mcgs-ff__exp-del:hover { opacity: 1; color: var(--ff-gold, #146B6B); }
.mcgs-ff__exp-add {
	align-self: flex-start;
	padding: .5rem 1.1rem;
	border: 1px solid var(--ff-gold-border, rgba(20, 107, 107,.42));
	background: transparent;
	color: var(--ff-gold, #146B6B);
	border-radius: 4px;
	font: inherit;
	font-size: .9rem;
	cursor: pointer;
}
.mcgs-ff__exp-add:disabled { opacity: .4; cursor: default; }
@media (max-width: 560px) {
	.mcgs-ff__exp-grid { grid-template-columns: 1fr; }
}

/* --- repeatable record lists (experience / studies / certifications) --- */
.mcgs-ff__rl { display: flex; flex-direction: column; gap: .75rem; }
.mcgs-ff__rl-rows { display: flex; flex-direction: column; gap: .75rem; }
.mcgs-ff__rl-row {
	position: relative;
	border: 1px solid var(--ff-gold-border, rgba(20, 107, 107,.42));
	border-radius: 4px;
	padding: .9rem .9rem .85rem;
	background: rgba(20, 107, 107,.05);
}
.mcgs-ff__rl-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .7rem;
}
.mcgs-ff__rl-f {
	display: flex;
	flex-direction: column;
	gap: .25rem;
	min-width: 0;
}
.mcgs-ff__rl-lbl {
	font-family: var(--mcgs-font-body, "Manrope", system-ui, sans-serif);
	font-size: .72rem;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--ff-dim, #5C6B6B);
}
.mcgs-ff__rl-f--textarea { grid-column: 1 / -1; }
.mcgs-ff__rl-f--checkbox {
	flex-direction: row;
	align-items: center;
	gap: .45rem;
	align-self: end;
	padding-bottom: .4rem;
	font-size: .9rem;
	color: var(--ff-text, #15141A);
	text-transform: none;
	letter-spacing: 0;
}
.mcgs-ff__rl-del {
	position: absolute;
	top: .35rem;
	right: .45rem;
	border: 0;
	background: none;
	color: var(--ff-dim, #5C6B6B);
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
	opacity: .6;
	padding: .1rem .3rem;
}
.mcgs-ff__rl-del:hover { opacity: 1; color: var(--ff-gold, #146B6B); }
.mcgs-ff__rl-add {
	align-self: flex-start;
	padding: .5rem 1.1rem;
	border: 1px solid var(--ff-gold-border, rgba(20, 107, 107,.42));
	background: transparent;
	color: var(--ff-gold, #146B6B);
	border-radius: 4px;
	font: inherit;
	font-size: .9rem;
	cursor: pointer;
}
.mcgs-ff__rl-add:disabled { opacity: .4; cursor: default; }

/* --- dependent "City" field --- */
.mcgs-ff__city { display: flex; flex-direction: column; gap: .5rem; position: relative; }
.mcgs-ff__hint { margin: 0; font-size: .84rem; color: var(--ff-gold-light, #146B6B); }
.mcgs-ff__hint:empty { display: none; }
.mcgs-ff__suggest {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 20;
	margin-top: .3rem;
	max-height: 260px;
	overflow-y: auto;
	background: #FFFFFF;
	border: 1px solid var(--ff-border, rgba(21, 20, 26, .12));
	border-radius: 4px;
	box-shadow: 0 10px 30px -12px rgba(21, 20, 26, .18);
}
.mcgs-ff__suggest[hidden] { display: none; }
.mcgs-ff__suggest-item {
	display: block;
	width: 100%;
	text-align: left;
	padding: .55rem .8rem;
	background: none;
	border: 0;
	border-bottom: 1px solid var(--ff-border, rgba(21, 20, 26, .08));
	color: var(--ff-text, #15141A);
	font: inherit;
	font-size: .9rem;
	cursor: pointer;
}
.mcgs-ff__suggest-item:last-child { border-bottom: 0; }
.mcgs-ff__suggest-item:hover, .mcgs-ff__suggest-item:focus {
	background: rgba(20, 107, 107, .14);
	color: var(--ff-gold-light, #146B6B);
}

@media (max-width: 560px) {
	.mcgs-ff__rl-grid { grid-template-columns: 1fr; }
	.mcgs-ff__rl-f--checkbox { align-self: start; padding-bottom: 0; }
}

/* keyboard focus (§10) */
.mcgs-lineforms .mcgs-btn:focus-visible,
.mcgs-ff__submit:focus-visible,
.mcgs-ff__q:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(95, 232, 227, .45);
}
