/**
 * Wike Internships: additions to the Wike Academy styles (academy.css,
 * loaded first). Brand tokens come from the theme through the --wta-*
 * variables.
 */

/* Status badges for internship stages ------------------------------------ */
.wta-badge--interview { background: #ede4fb; color: #4b2a8a; }
.wta-badge--offered { background: #dcf3e4; color: #11622f; }
.wta-badge--confirmed { background: var(--wta-navy); color: #fff; }

/* Landing: programmes ---------------------------------------------------- */
.wti-tracks {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
	gap: 20px;
	margin: 32px 0 0;
	padding: 0;
	list-style: none;
}

.wti-track {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
	padding: 26px;
	border: 1px solid var(--wta-line);
	border-radius: var(--wta-r-lg) var(--wta-r-lg) var(--wta-r-lg) 0;
	background: #fff;
	scroll-margin-top: 120px;
}

.wti-track__head {
	display: flex;
	gap: 14px;
	align-items: center;
}

.wti-track__icon {
	display: grid;
	flex: none;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: var(--wta-r) var(--wta-r) var(--wta-r) 0;
	background: var(--wta-sky);
	color: var(--wta-navy);
}

.wti-track__title {
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.25;
	color: var(--wta-ink);
}

.wti-track__area {
	margin: 2px 0 0;
	font-size: 0.875rem;
	color: var(--wta-muted);
}

.wti-track__summary {
	margin: 0;
	color: var(--wta-text);
}

.wti-track__more summary,
.wti-faq summary,
.wti-terms summary {
	cursor: pointer;
	font-weight: 600;
	color: var(--wta-navy);
}

.wti-track__more summary:focus-visible,
.wti-faq summary:focus-visible,
.wti-terms summary:focus-visible {
	outline: 2px solid var(--wta-navy);
	outline-offset: 3px;
	border-radius: 4px;
}

.wti-track__more[open] summary {
	margin-bottom: 10px;
}

.wti-track__more .wta-label {
	margin: 14px 0 6px;
}

.wti-list {
	margin: 0;
	padding-left: 1.2em;
	color: var(--wta-text);
}

.wti-list li {
	margin: 0 0 6px;
}

.wti-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.wti-chips li {
	margin: 0;
	padding: 3px 11px;
	border-radius: 999px;
	background: var(--wta-sky);
	color: var(--wta-navy);
	font-size: 0.8125rem;
	font-weight: 600;
}

.wti-track__foot {
	margin-top: auto;
	padding-top: 8px;
}

.wti-track__closed {
	font-size: 0.875rem;
	color: var(--wta-muted);
}

/* Landing: how it works -------------------------------------------------- */
.wti-steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
	gap: 16px;
	margin: 32px 0 0;
	padding: 0;
	list-style: none;
	counter-reset: wti-step;
}

.wti-steps li {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 56px 20px 22px;
	border-radius: var(--wta-r-lg) var(--wta-r-lg) var(--wta-r-lg) 0;
	background: var(--wta-sky);
	counter-increment: wti-step;
}

.wti-steps li::before {
	content: counter(wti-step);
	position: absolute;
	top: 18px;
	left: 20px;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--wta-yellow);
	color: var(--wta-deep);
	font-weight: 700;
}

.wti-steps strong {
	color: var(--wta-ink);
}

.wti-steps span {
	font-size: 0.9375rem;
	color: var(--wta-text);
}

/* Landing: questions ----------------------------------------------------- */
.wti-faq {
	margin-top: 28px;
}

.wti-faq details {
	padding: 18px 0;
	border-bottom: 1px solid var(--wta-line);
}

.wti-faq details p {
	margin: 10px 0 0;
	color: var(--wta-text);
}

/* Landing: closing call to action ---------------------------------------- */
.wti-cta {
	background: var(--wta-deep) var(--wta-rings);
	color: rgba(255, 255, 255, 0.8);
}

.wti-cta__inner {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	align-items: center;
	justify-content: space-between;
}

.wti-cta__inner p {
	margin: 10px 0 0;
}

/* Form ------------------------------------------------------------------- */
.wti-file input[type="file"] {
	width: 100%;
	padding: 12px;
	border: 1.5px dashed var(--wta-line-strong);
	border-radius: var(--wta-r-sm);
	background: #fff;
	font: inherit;
	cursor: pointer;
}

.wti-file input[type="file"]:focus-visible {
	outline: 2px solid var(--wta-navy);
	outline-offset: 2px;
}

.wti-file input[aria-invalid="true"] {
	border-color: #b32d2e;
}

.wti-apply .wta-fee-card {
	margin-top: 8px;
}

.wti-terms {
	margin: 0 0 20px;
	padding: 16px 18px;
	border: 1px solid var(--wta-line);
	border-radius: var(--wta-r);
}

.wti-terms div {
	max-height: 260px;
	margin-top: 10px;
	overflow: auto;
	font-size: 0.9375rem;
	color: var(--wta-text);
}

@media (prefers-reduced-motion: reduce) {
	.wti-track,
	.wti-steps li {
		transition: none;
	}
}
