/* Portfolio modal — project entries + in-site viewer overlay.
   The tab shell reuses the shared .tabs system in base.css; these styles
   cover the per-project content and the "View project" iframe overlay. */

.portfolio-entry {
	max-width: 40em;
}

.portfolio-entry__title {
	font-family: var(--content-font);
	font-size: 1.4em;
	font-weight: 600;
	margin: 0 0 0.6em;
	color: #fff;
}

.portfolio-entry__desc {
	line-height: 1.6;
	color: #dcdcdc;
	margin: 0 0 1.5em;
}

.portfolio-entry__actions {
	display: flex;
	gap: 0.75em;
	flex-wrap: wrap;
}

.portfolio-entry__btn {
	font-family: inherit;
	font-size: 0.95em;
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	padding: 0.6em 1.15em;
	cursor: pointer;
	border: 1px solid var(--body-text-alt);
	background: none;
	color: #e0e0e0;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.portfolio-entry__btn .icon {
	width: 1.1em;
	height: 1.1em;
	margin: 0;
}

.portfolio-entry__btn--view {
	background: var(--body-text-alt);
	border-color: var(--body-text-alt);
	color: var(--body-bg);
}

.portfolio-entry__btn:hover,
.portfolio-entry__btn:focus-visible {
	background: var(--body-text-alt);
	border-color: var(--body-text-alt);
	color: var(--body-bg);
}

.portfolio-entry__btn--disabled,
.portfolio-entry__btn--disabled:hover,
.portfolio-entry__btn--disabled:focus-visible {
	opacity: 0.45;
	background: none;
	border-color: var(--link-text);
	color: var(--link-text);
	cursor: not-allowed;
}

/* In-site project viewer overlay */
.project-viewer {
	position: fixed;
	inset: 0;
	z-index: 2000;
	background: rgba(1, 1, 1, 0.92);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.project-viewer--open {
	opacity: 1;
	visibility: visible;
}

.project-viewer__frame {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	background: #000;
}

.project-viewer__close {
	position: absolute;
	top: 1em;
	right: 1em;
	z-index: 1;
	width: 2.6em;
	height: 2.6em;
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.6);
	color: #fff;
	cursor: pointer;
	transition: color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.project-viewer__close .icon {
	width: 1.4em;
	height: 1.4em;
	margin: 0;
}

.project-viewer__close:hover,
.project-viewer__close:focus-visible {
	color: var(--body-text-alt);
	background: rgba(0, 0, 0, 0.85);
	transform: scale(1.1);
}
