/**
 * Base — γενικά στοιχεία. Μόνο tokens.
 */

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

/* Ομαλό scroll σε anchors (π.χ. #of-body-parts), μόνο αν δεν έχει ζητηθεί λιγότερη κίνηση */
@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

body {
	color: var(--color-text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

::selection {
	background-color: var(--color-primary);
	color: var(--color-on-primary);
}

a {
	color: var(--color-link);
	transition: color var(--transition-fast);
}

a:hover,
a:focus {
	color: var(--color-link-hover);
}

/* Links μέσα σε κείμενο: υπογράμμιση, ώστε η πληροφορία να μη δίνεται μόνο με χρώμα (§15) */
.entry-content a:where(:not(.of-btn, .button, .wp-block-button__link, .wp-element-button)) {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

/* Εμφανές focus για πληκτρολόγιο (§15) */
:focus-visible {
	outline: var(--focus-outline);
	outline-offset: var(--focus-offset);
}

img,
video {
	max-width: 100%;
	height: auto;
}

/* Κλίμακα κειμένου (§3) */
.of-text-lg {
	font-size: var(--fs-body-lg);
}

small,
.of-text-sm {
	font-size: var(--fs-small);
}

.of-text-xs {
	font-size: var(--fs-xs);
	font-weight: var(--fw-medium);
}

.of-text-muted {
	color: var(--color-text-muted);
}

/* Κρυφό οπτικά, διαθέσιμο σε screen readers */
.of-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}
