/* VWA AI Resumes — builder UI. Scoped under .vwa-air to avoid theme clashes. */

.vwa-air {
	--vwa-green: #26ae61;
	--vwa-green-dark: #1e8f50;
	--vwa-ink: #32373c;
	--vwa-muted: #6b7280;
	--vwa-line: #e5e7eb;
	--vwa-bg-soft: #f6f8f7;
	max-width: 780px;
	margin: 0 auto;
	padding: 0 0 48px;
	color: var(--vwa-ink);
	font-size: 16px;
	line-height: 1.55;
}

.vwa-air-banner {
	background: #fff8e6;
	border: 1px solid #f0d98c;
	border-radius: 10px;
	padding: 10px 16px;
	font-size: 13.5px;
	margin-bottom: 28px;
	color: #7a5d00;
}
.vwa-air-linkbtn {
	background: none;
	border: none;
	padding: 0;
	font-size: inherit;
	font-weight: 600;
	color: #7a5d00;
	text-decoration: underline;
	cursor: pointer;
}

.vwa-air-hero { text-align: center; margin-bottom: 30px; }
.vwa-air-hero h2 { font-size: 32px; margin: 0 0 10px; color: var(--vwa-ink); }
.vwa-air-hero p { max-width: 600px; margin: 0 auto 16px; color: var(--vwa-muted); }

/* screens — theme resets can clobber the [hidden] attribute on <section>,
   so force it back with an id-scoped !important rule */
#vwa-air [hidden] { display: none !important; }
.vwa-air-screen h3 { font-size: 22px; margin: 0 0 14px; }
.vwa-air-intro { color: var(--vwa-muted); margin: 0 0 18px; }

.vwa-air-label {
	display: block;
	font-weight: 600;
	font-size: 14.5px;
	margin: 18px 0 6px;
}
.vwa-air-hint {
	display: block;
	font-weight: 400;
	font-size: 13px;
	color: var(--vwa-muted);
	margin-top: 2px;
}

.vwa-air input[type="text"],
.vwa-air input[type="email"],
.vwa-air input[type="number"],
.vwa-air select,
.vwa-air textarea {
	width: 100%;
	border: 1.5px solid var(--vwa-line);
	border-radius: 8px;
	padding: 10px 12px;
	font-size: 15px;
	background: #fff;
	color: var(--vwa-ink);
	margin-bottom: 8px;
	box-sizing: border-box;
}
.vwa-air input:focus, .vwa-air select:focus, .vwa-air textarea:focus {
	outline: none;
	border-color: var(--vwa-green);
	box-shadow: 0 0 0 3px rgba(38, 174, 97, .15);
}

.vwa-air-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 640px) { .vwa-air-row { grid-template-columns: 1fr; } }

/* country cards */
.vwa-air-cards { display: flex; gap: 12px; }
.vwa-air-card {
	flex: 1;
	background: #fff;
	border: 2px solid var(--vwa-line);
	border-radius: 12px;
	padding: 18px 8px;
	font-size: 30px;
	cursor: pointer;
	transition: all .15s ease;
}
.vwa-air-card span { display: block; font-size: 14.5px; font-weight: 600; margin-top: 6px; color: var(--vwa-ink); }
.vwa-air-card:hover { border-color: #9ad4b4; }
.vwa-air-card.is-selected { border-color: var(--vwa-green); background: var(--vwa-bg-soft); box-shadow: 0 0 0 3px rgba(38,174,97,.12); }

/* chips */
.vwa-air-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.vwa-air-chip {
	background: #fff;
	border: 1.5px solid var(--vwa-line);
	border-radius: 999px;
	padding: 8px 16px;
	font-size: 14px;
	font-weight: 500;
	color: var(--vwa-ink);
	cursor: pointer;
	transition: all .15s ease;
}
.vwa-air-chip:hover { border-color: #9ad4b4; }
.vwa-air-chip.is-selected { background: var(--vwa-green); border-color: var(--vwa-green); color: #fff; }

/* dropzone */
.vwa-air-dropzone {
	border: 2px dashed #bfd9cb;
	border-radius: 12px;
	background: var(--vwa-bg-soft);
	text-align: center;
	padding: 32px 16px;
	color: var(--vwa-muted);
	cursor: pointer;
	margin-bottom: 8px;
	transition: border-color .15s ease;
}
.vwa-air-dropzone:hover { border-color: var(--vwa-green); }
.vwa-air-dropzone.is-filled { border-style: solid; border-color: var(--vwa-green); color: var(--vwa-ink); }
.vwa-air-dropzone.is-drag { border-color: var(--vwa-green); background: #e7f4ec; }
.vwa-air-dropzone-icon { font-size: 30px; display: block; margin-bottom: 6px; }
.vwa-air-fileerr { color: #b42318; font-size: 14px; text-align: center; margin: 6px 0 0; }

.vwa-air-startfresh { text-align: center; margin-top: 14px; }

/* "make it stronger" teaser on the result screen */
.vwa-air-booster {
	background: var(--vwa-bg-soft);
	border: 1px solid #d8e8de;
	border-left: 4px solid var(--vwa-green);
	border-radius: 10px;
	padding: 12px 16px;
	font-size: 14px;
	margin-bottom: 18px;
}

/* buttons */
.vwa-air-btn {
	background: var(--vwa-green);
	color: #fff;
	border: 2px solid var(--vwa-green);
	border-radius: 8px;
	padding: 11px 22px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: all .15s ease;
}
.vwa-air-btn:hover:not(:disabled) { background: var(--vwa-green-dark); border-color: var(--vwa-green-dark); }
.vwa-air-btn:disabled { opacity: .45; cursor: not-allowed; }
.vwa-air-btn--ghost { background: transparent; color: var(--vwa-green-dark); }
.vwa-air-btn--ghost:hover:not(:disabled) { background: var(--vwa-bg-soft); color: var(--vwa-green-dark); }
.vwa-air-btn--big { font-size: 17px; padding: 14px 30px; }

/* processing */
.vwa-air-screen { text-align: left; }
#vwa-air-processing { text-align: center; padding: 60px 0; }
.vwa-air-spinner {
	width: 46px; height: 46px;
	border: 4px solid var(--vwa-line);
	border-top-color: var(--vwa-green);
	border-radius: 50%;
	margin: 0 auto 18px;
	animation: vwa-spin .8s linear infinite;
}
@keyframes vwa-spin { to { transform: rotate(360deg); } }

/* verify email (check your inbox) */
#vwa-air-verify { text-align: center; padding: 40px 0; }
.vwa-air-verify-icon { font-size: 46px; margin-bottom: 10px; }
#vwa-air-verify .vwa-air-intro { max-width: 460px; margin: 0 auto 14px; }
.vwa-air-verify-note { font-size: 13.5px; color: var(--vwa-muted); margin: 0 auto 22px; max-width: 420px; }

/* detected-from-CV bar + adjust panel */
.vwa-air-detected {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	background: var(--vwa-bg-soft);
	border: 1px solid #d8e8de;
	border-radius: 10px;
	padding: 10px 16px;
	font-size: 14px;
	margin-bottom: 18px;
}
.vwa-air-detected-edit {
	background: none;
	border: none;
	color: var(--vwa-green-dark);
	font-size: 14px;
	font-weight: 600;
	text-decoration: underline;
	cursor: pointer;
	padding: 0;
}
.vwa-air-adjust {
	border: 1px solid var(--vwa-line);
	border-radius: 10px;
	padding: 4px 16px 16px;
	margin-bottom: 18px;
}
.vwa-air-adjust .vwa-air-card { padding: 10px 6px; font-size: 22px; }
.vwa-air-adjust .vwa-air-card span { font-size: 13px; }

/* gap report */
.vwa-air-report-head { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; }
.vwa-air-report-head h3 { font-size: 24px; margin: 0; }
.vwa-air-score {
	background: #fdecec;
	color: #b42318;
	border-radius: 999px;
	padding: 6px 16px;
	font-size: 14px;
}
.vwa-air-finding {
	display: flex;
	gap: 14px;
	background: #fff;
	border: 1px solid var(--vwa-line);
	border-left: 4px solid var(--vwa-green);
	border-radius: 10px;
	padding: 14px 16px;
	margin: 12px 0;
}
.vwa-air-finding--warn { border-left-color: #e8a13c; }
.vwa-air-finding--flag { border-left-color: #d9534f; }
.vwa-air-finding-icon { font-size: 22px; line-height: 1; }
.vwa-air-finding h4 { margin: 0 0 4px; font-size: 15.5px; }
.vwa-air-finding p { margin: 0; font-size: 14px; color: var(--vwa-muted); }
.vwa-air-finding .vwa-air-tag {
	display: inline-block;
	font-size: 11.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--vwa-green-dark);
	margin-bottom: 4px;
}
.vwa-air-cta { text-align: center; margin-top: 26px; }
.vwa-air-cta small { display: block; margin-top: 8px; color: var(--vwa-muted); }
.vwa-air-cta--top { margin: 4px 0 26px; }

/* resume preview */
.vwa-air-result-bar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.vwa-air-result-bar h3 { margin: 0; font-size: 24px; }
.vwa-air-resume {
	background: #fff;
	border: 1px solid var(--vwa-line);
	border-radius: 4px;
	box-shadow: 0 8px 28px rgba(50, 55, 60, .12);
	padding: 44px 50px;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 14.5px;
	line-height: 1.5;
}
/* Force this serif on every element inside the résumé so the theme's heading
   font (WorkScout styles h1/h2 directly) can't leak a second typeface in. */
.vwa-air-resume,
.vwa-air-resume * {
	font-family: Georgia, 'Times New Roman', serif !important;
}
@media (max-width: 640px) { .vwa-air-resume { padding: 26px 20px; } }
.vwa-air-resume h1 { font-size: 25px; margin: 0; letter-spacing: .01em; }
.vwa-air-resume .vwa-r-head { border-bottom: 2.5px solid var(--vwa-ink); padding-bottom: 12px; margin-bottom: 16px; }
.vwa-air-resume .vwa-r-title { font-size: 15px; font-weight: 600; color: var(--vwa-green-dark); margin: 3px 0 6px; }
.vwa-air-resume .vwa-r-contact { font-size: 12.5px; color: var(--vwa-muted); }
.vwa-air-resume h2 {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .09em;
	border-bottom: 1px solid var(--vwa-line);
	padding-bottom: 3px;
	margin: 20px 0 8px;
	color: var(--vwa-ink);
}
.vwa-air-resume .vwa-r-job { margin-bottom: 12px; }
.vwa-air-resume .vwa-r-job-head { display: flex; justify-content: space-between; font-weight: 700; }
.vwa-air-resume .vwa-r-job-head em { font-weight: 400; font-style: normal; color: var(--vwa-muted); font-size: 13px; }
.vwa-air-resume .vwa-r-org { font-size: 13px; color: var(--vwa-muted); margin-bottom: 4px; }
.vwa-air-resume ul { margin: 4px 0 0 18px; padding: 0; }
.vwa-air-resume li { margin-bottom: 3px; }
.vwa-air-resume .vwa-r-skillline { margin: 4px 0 0; }

.vwa-air-scorejump {
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
	background: var(--vwa-bg-soft);
	border: 1px solid #d8e8de;
	border-left: 4px solid var(--vwa-green);
	border-radius: 10px;
	padding: 16px 20px;
	margin-bottom: 18px;
}
.vwa-air-scorejump-nums { display: flex; align-items: baseline; gap: 8px; }
.vwa-air-scorejump-old { font-size: 26px; color: var(--vwa-muted); text-decoration: line-through; }
.vwa-air-scorejump-arrow { font-size: 22px; color: var(--vwa-muted); }
.vwa-air-scorejump-new { font-size: 40px; font-weight: 700; line-height: 1; color: var(--vwa-green-dark); }
.vwa-air-scorejump-max { font-size: 16px; color: var(--vwa-muted); }
.vwa-air-scorejump-text { flex: 1; min-width: 220px; font-size: 14.5px; }

/* "what we changed" summary on the result screen */
.vwa-air-changes {
	background: #fff;
	border: 1px solid var(--vwa-line);
	border-left: 4px solid var(--vwa-green);
	border-radius: 10px;
	padding: 16px 20px;
	margin-bottom: 18px;
}
.vwa-air-changes h4 { margin: 0 0 10px; font-size: 16px; }
.vwa-air-changes-list { list-style: none; margin: 0; padding: 0; }
.vwa-air-changes-list li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	padding: 7px 0;
	font-size: 14px;
	line-height: 1.5;
	border-top: 1px solid var(--vwa-line);
}
.vwa-air-changes-list li:first-child { border-top: none; }
.vwa-air-changes-list .vwa-air-change-icon { font-size: 17px; line-height: 1.3; flex: 0 0 auto; }
.vwa-air-changes-note {
	margin: 12px 0 0;
	padding: 12px 14px;
	background: var(--vwa-bg-soft);
	border-radius: 8px;
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--vwa-ink);
}

/* next step — publish the saved-but-hidden resume. Deliberately the loudest
   thing on the screen: it is the one action left in the flow. Repeated above
   the document so it is visible without scrolling, and below it for readers. */
.vwa-air-next {
	background: var(--vwa-bg-soft);
	border: 1px solid #d8e8de;
	border-top: 4px solid var(--vwa-green);
	border-radius: 10px;
	padding: 20px 22px;
	margin: 22px 0 16px;
	text-align: center;
}
.vwa-air-next h4 {
	margin: 0 0 6px;
	font-size: 18px;
	color: var(--vwa-ink);
}
.vwa-air-next p {
	margin: 0 0 16px;
	font-size: 14.5px;
	line-height: 1.5;
}
/* the consequence of skipping — stated plainly, not shouted */
.vwa-air-next .vwa-air-next-warn {
	margin: -6px 0 16px;
	font-size: 13.5px;
	font-weight: 600;
	color: #a05a00;
}
.vwa-air-next .vwa-air-btn { text-decoration: none; display: inline-block; }
/* the top copy butts up against the result bar, so it needs no leading gap */
.vwa-air-next--top { margin-top: 0; margin-bottom: 20px; }
.vwa-air-next small {
	display: block;
	margin-top: 10px;
	font-size: 13px;
	color: var(--vwa-text-soft, #566);
}
/* the decline — a real exit, kept quiet next to the CTA */
.vwa-air-next .vwa-air-next-skip {
	display: inline-block;
	margin-top: 10px;
	font-size: 13px;
	color: var(--vwa-text-soft, #566);
	text-decoration: underline;
}

.vwa-air-consent {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin: 14px 0 4px;
	font-size: 13.5px;
	line-height: 1.45;
	color: var(--vwa-text-soft, #566);
	cursor: pointer;
}

.vwa-air-consent input[type="checkbox"] {
	margin-top: 2px;
	flex: 0 0 auto;
}
