/* =============================================================
   biografiko.css — CV / Biography page sections
   ============================================================= */

/* ── 1. Profile — white bg, 2-col grid (photo + ΙΔΙΟΤΗΤΕΣ) ── */

.cv-profile {
	background-color: var(--color-white);
}

.cv-profile__inner {
	padding-top: var(--section-py-sm);
	padding-bottom: var(--section-py-sm);
}

.cv-profile__grid {
	display: grid;
	grid-template-columns: var(--grid-photo-w) 1fr;
	gap: var(--grid-2col-gap);
	align-items: start;
}

.cv-profile__image {
	overflow: hidden;
	box-shadow: var(--shadow-image);
	border-radius: var(--radius-none);
	width: var(--grid-photo-w);
	height: var(--grid-photo-h);
}

.cv-profile__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.cv-profile__heading {
	font-family: var(--font-primary);
	font-size: var(--text-h2-sm);
	font-weight: var(--weight-medium);
	color: var(--color-primary);
	line-height: var(--lh-h2-sm);
	margin-bottom: var(--gap-lg);
}

/* ── 2. Anchor nav — section links inside ΙΔΙΟΤΗΤΕΣ col ── */

.cv-anchors {
	margin-top: var(--gap-lg);
}

.cv-anchors__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap-xs);
	list-style: none;
	padding: 0;
	margin: 0;
}

.cv-anchors__link {
	display: inline-block;
	font-family: var(--font-primary);
	font-size: var(--text-body-sm);
	font-weight: var(--weight-medium);
	color: var(--color-primary);
	text-decoration: none;
	border: 1px solid var(--color-primary);
	padding: 0.375rem 0.875rem;
	transition: background-color 0.2s, color 0.2s;
}

.cv-anchors__link:hover {
	background-color: var(--color-primary);
	color: var(--color-white);
}

/* ── 3. Repeater sections — alternating cream / white ── */

.cv-section--cream {
	background-color: var(--color-cream);
}

.cv-section--white {
	background-color: var(--color-white);
}

.cv-section__inner {
	padding-top: var(--section-py-sm);
	padding-bottom: var(--section-py-sm);
}

.cv-section__heading {
	font-family: var(--font-primary);
	font-size: var(--text-h2-sm);
	font-weight: var(--weight-medium);
	color: var(--color-primary);
	line-height: var(--lh-h2-sm);
	margin-bottom: var(--gap-lg);
}

/* ── Shared WYSIWYG body styles ── */

.cv-profile__body,
.cv-section__body {
	font-family: var(--font-primary);
	font-size: var(--text-body);
	font-weight: var(--weight-regular);
	color: var(--color-text);
	line-height: var(--lh-body);
	text-align: left;
}

.cv-profile__body p,
.cv-section__body p {
	margin-bottom: var(--paragraph-gap);
}

.cv-profile__body p:last-child,
.cv-section__body p:last-child {
	margin-bottom: 0;
}

.cv-profile__body a,
.cv-section__body a {
	color: var(--color-primary);
	text-decoration: underline;
	transition: opacity 0.2s;
}

.cv-profile__body a:hover,
.cv-section__body a:hover {
	opacity: 0.7;
}

.cv-section__body ul {
	list-style: disc;
	padding-left: 1.5rem;
	margin-bottom: var(--paragraph-gap);
}

.cv-section__body ol {
	list-style: decimal;
	padding-left: 1.5rem;
	margin-bottom: var(--paragraph-gap);
}

.cv-section__body li {
	margin-bottom: var(--gap-xs);
}

/* ── Responsive ── */

@media (max-width: 1024px) {
	.cv-profile__grid {
		grid-template-columns: 1fr 1fr;
	}

	.cv-profile__image {
		width: 100%;
		height: auto;
		aspect-ratio: 3 / 4;
	}
}

@media (max-width: 768px) {
	.cv-profile__grid {
		grid-template-columns: 1fr;
	}

	.cv-profile__image {
		max-width: 384px;
		margin: 0 auto;
	}
}
