/* Template: Terminal */
.sm-terminal {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
	min-height: 100svh;
	padding: 40px 18px;
	gap: 20px;
}

.sm-term-window {
	width: 100%;
	max-width: var(--sm-width);
	background: var(--sm-card);
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	overflow: hidden;
	box-shadow: 0 30px 70px rgba(0, 0, 0, .55);
	text-align: left;
}

.sm-term-bar {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 16px;
	background: rgba(255, 255, 255, .05);
	border-bottom: 1px solid var(--sm-border);
}

.sm-dot {
	width: 11px;
	height: 11px;
	border-radius: 50%;
	display: inline-block;
}

.sm-dot-r { background: #ff5f57; }
.sm-dot-y { background: #febc2e; }
.sm-dot-g { background: #28c840; }

.sm-term-title {
	margin-left: 10px;
	font-size: 13px;
	color: var(--sm-muted);
}

.sm-term-body {
	padding: clamp(22px, 4vw, 40px);
}

.sm-term-line {
	margin: 0 0 8px;
	font-size: 14px;
	color: var(--sm-muted);
}

.sm-term-status {
	color: var(--sm-accent);
	font-weight: 600;
}

.sm-prompt {
	color: var(--sm-accent);
	margin-right: 8px;
}

.sm-terminal .sm-headline {
	margin: 22px 0 14px;
	font-size: clamp(22px, 4vw, var(--sm-heading-size));
}

.sm-caret {
	display: inline-block;
	width: 10px;
	height: 1em;
	margin-left: 6px;
	background: var(--sm-accent);
	vertical-align: -2px;
	animation: sm-blink 1.05s step-end infinite;
}

.sm-terminal .sm-countdown {
	justify-content: flex-start;
}

.sm-terminal .sm-social,
.sm-terminal .sm-contact {
	justify-content: flex-start;
}

@keyframes sm-blink {
	50% { opacity: 0; }
}

body.sm-no-anim .sm-caret {
	animation: none;
}
