/* Ψηφιακό Αρχείο «Η Φωνή της Χαλκιδικής» — όλοι οι κανόνες περιορίζονται μέσα στο .foni */
@font-face {
	font-family: "Foni Serif";
	src: url("fonts/NotoSerif-Greek.woff2") format("woff2");
	font-weight: 400 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Foni Serif";
	src: url("fonts/NotoSerif-Greek-Italic.woff2") format("woff2");
	font-weight: 400 700;
	font-style: italic;
	font-display: swap;
}

.foni {
	--foni-ink: #1f1b16;
	--foni-ink-2: #4a4339;
	--foni-muted: #6b6257;
	--foni-paper: #fbf8f2;
	--foni-card: #ffffff;
	--foni-rule: #ddd3c3;
	--foni-accent: #7a2418;
	--foni-accent-ink: #ffffff;
	--foni-mark: #f6df8f;
	--foni-focus: #1a5fb4;
	--foni-serif: "Foni Serif", "Noto Serif", "Palatino Linotype", "Book Antiqua", Georgia, serif;
	--foni-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", Arial, sans-serif;
	box-sizing: border-box;
	max-width: 960px;
	margin: 0 auto;
	padding: 0 16px 48px;
	color: var(--foni-ink);
	font-family: var(--foni-sans);
	font-size: 17px;
	line-height: 1.55;
	-webkit-text-size-adjust: 100%;
}
.foni *, .foni *::before, .foni *::after { box-sizing: inherit; }

/* Κεφαλίδα */
.foni-head {
	border-top: 3px double var(--foni-ink);
	border-bottom: 1px solid var(--foni-rule);
	padding: 22px 0 20px;
	margin-bottom: 24px;
	text-align: center;
}
.foni-kicker {
	margin: 0 0 6px;
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--foni-muted);
}
/* Ο τίτλος της εφημερίδας (εικόνα από την πρώτη σελίδα) */
.foni .foni-masthead { display: block; margin: 6px auto 4px; max-width: 460px; }
.foni .foni-masthead img { display: block; width: 100%; height: auto; margin: 0 auto; }
.foni .foni-motto {
	margin: 0 0 18px;
	padding: 5px 0;
	border-top: 1px solid var(--foni-ink);
	border-bottom: 1px solid var(--foni-ink);
	font-family: var(--foni-serif);
	font-size: 13px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--foni-ink-2);
}
@media (max-width: 480px) { .foni .foni-motto { font-size: 11px; letter-spacing: .08em; } }
.foni-title {
	margin: 0 0 12px;
	font-family: var(--foni-serif);
	font-weight: 700;
	font-size: clamp(26px, 5vw, 40px);
	line-height: 1.15;
	color: var(--foni-ink);
}
.foni-title span { display: block; color: var(--foni-accent); }
/* Πρώτη γραμμή στη γραμματοσειρά του θέματος (Roboto), δεύτερη («Η Φωνή της Χαλκιδικής») σε serif εφημερίδας */
.foni .foni-title { font-family: Roboto, var(--foni-sans); }
.foni .foni-title span { font-family: var(--foni-serif); font-size: 1.2em; font-weight: 700; }
.foni-intro {
	max-width: 46em;
	margin: 0 auto 16px;
	font-family: var(--foni-serif);
	color: var(--foni-ink-2);
}
.foni-facts {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 28px;
	margin: 0;
}
.foni-facts div { min-width: 110px; }
.foni-facts dt { font-size: 13px; color: var(--foni-muted); }
.foni-facts dd {
	margin: 0;
	font-family: var(--foni-serif);
	font-size: 24px;
	font-weight: 700;
	font-variant-numeric: lining-nums tabular-nums;
}

/* Φόρμα */
.foni-form {
	background: var(--foni-paper);
	border: 1px solid var(--foni-rule);
	border-radius: 6px;
	padding: 18px;
}
.foni-label { display: block; font-weight: 600; margin-bottom: 8px; }
.foni-searchrow { display: flex; gap: 8px; }
.foni-searchrow input {
	flex: 1;
	min-width: 0;
	height: 48px;
	padding: 0 14px;
	border: 1px solid #a89a86;
	border-radius: 4px;
	background: #fff;
	color: var(--foni-ink);
	font: inherit;
	font-size: 17px; /* ≥16px: το iPhone δεν κάνει zoom στο πεδίο */
}
.foni select, .foni input[type="number"] {
	width: 100%;
	height: 44px;
	padding: 0 10px;
	border: 1px solid #a89a86;
	border-radius: 4px;
	background: #fff;
	color: var(--foni-ink);
	font: inherit;
	font-size: 16px;
}
.foni-help { margin: 8px 0 0; font-size: 14px; color: var(--foni-muted); }

.foni-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid var(--foni-accent);
	border-radius: 4px;
	font: inherit;
	font-weight: 600;
	font-size: 16px;
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
}
.foni-btn-primary { background: var(--foni-accent); color: var(--foni-accent-ink) !important; }
.foni-btn-primary:hover { background: #5e1a10; }
.foni-btn-ghost { background: #fff; color: var(--foni-accent) !important; }
.foni-btn-ghost:hover { background: #f7ece8; }
.foni :focus-visible { outline: 3px solid var(--foni-focus); outline-offset: 2px; }

.foni-adv { margin-top: 14px; border-top: 1px solid var(--foni-rule); padding-top: 10px; }
.foni-adv summary {
	cursor: pointer;
	font-weight: 600;
	color: var(--foni-accent);
	min-height: 44px;
	display: flex;
	align-items: center;
}
.foni-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-top: 8px;
}
.foni-field label, .foni-field legend { display: block; font-size: 14px; font-weight: 600; margin-bottom: 4px; }
.foni-field-wide { grid-column: 1 / -1; border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 4px 20px; }
.foni-field-wide legend { width: 100%; }
.foni .foni-radio { display: inline-flex; align-items: center; gap: 8px; font-weight: 400; min-height: 40px; }
.foni-radio input { width: 20px; height: 20px; accent-color: var(--foni-accent); }
.foni-advbtns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }

/* Κατάσταση και αποτελέσματα */
.foni-status { margin: 22px 0 10px; min-height: 1em; }
.foni-count { margin: 0; color: var(--foni-ink-2); }
.foni-loading { color: var(--foni-muted); }
.foni-empty, .foni-error, .foni-notice {
	margin: 0;
	padding: 14px 16px;
	border-left: 4px solid var(--foni-accent);
	background: var(--foni-paper);
}
.foni-notice { margin: 16px 0; }
.foni.is-busy .foni-results { opacity: .45; transition: opacity .15s; }

.foni-results { list-style: none; margin: 0; padding: 0; }
.foni-card {
	background: var(--foni-card);
	border: 1px solid var(--foni-rule);
	border-radius: 6px;
	padding: 16px 18px;
	margin: 0 0 14px;
}
.foni-card-head { border-bottom: 1px solid var(--foni-rule); padding-bottom: 8px; margin-bottom: 10px; }
.foni-paper { margin: 0; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--foni-muted); }
.foni .foni-date {
	margin: 2px 0;
	font-family: var(--foni-serif);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--foni-ink);
}
.foni-meta { margin: 0; font-size: 14px; color: var(--foni-muted); }
.foni-where { margin: 0 0 8px; font-weight: 600; }
.foni-field-tag {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 8px;
	border-radius: 999px;
	background: #f1e7d9;
	color: var(--foni-ink-2);
	font-size: 13px;
	font-weight: 500;
}
.foni-titles { margin: 0 0 8px; padding: 0; list-style: none; }
.foni-titles li { margin: 0 0 4px; font-family: var(--foni-serif); font-weight: 600; }
.foni-snippet {
	margin: 0 0 8px;
	font-family: var(--foni-serif);
	color: var(--foni-ink-2);
	overflow-wrap: anywhere;
}
.foni-pg {
	display: inline-block;
	margin-right: 4px;
	font-family: var(--foni-sans);
	font-size: 12px;
	font-weight: 600;
	color: var(--foni-muted);
	white-space: nowrap;
}
.foni mark { background: var(--foni-mark); color: inherit; padding: 0 2px; border-radius: 2px; }
.foni-more {
	background: none;
	border: 0;
	padding: 6px 0;
	min-height: 40px;
	font: inherit;
	font-size: 15px;
	color: var(--foni-accent);
	text-decoration: underline;
	cursor: pointer;
}
.foni-hits { margin: 4px 0 8px; padding-left: 12px; border-left: 2px solid var(--foni-rule); }
.foni-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.foni-tip { margin: 8px 0 0; font-size: 14px; color: var(--foni-muted); }
.foni-unavail { font-size: 14px; color: var(--foni-muted); }
.foni-note { margin-top: 28px; font-size: 14px; color: var(--foni-muted); }

.foni-pager ul { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 18px 0 0; padding: 0; }
.foni-pager button {
	min-width: 44px;
	min-height: 44px;
	border: 1px solid var(--foni-rule);
	border-radius: 4px;
	background: #fff;
	color: var(--foni-ink);
	font: inherit;
	cursor: pointer;
}
.foni-pager button.is-current { background: var(--foni-ink); color: #fff; border-color: var(--foni-ink); }
.foni-gap { align-self: center; color: var(--foni-muted); }

.foni-sr {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

@media (max-width: 720px) {
	.foni { font-size: 16px; }
	.foni-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.foni-card { padding: 14px; }
}
@media (max-width: 420px) {
	.foni-searchrow { flex-direction: column; }
	.foni-searchrow input { flex: 0 0 auto; width: 100%; }
	.foni-searchrow .foni-btn { width: 100%; }
	.foni-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
	.foni-actions .foni-btn { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.foni * { transition: none !important; scroll-behavior: auto !important; }
}

/* Ουδετεροποίηση στυλ του θέματος (αρίθμηση/κουκκίδες λιστών, κεφαλαία σε κουμπιά) */
.foni .foni-results > li, .foni .foni-titles li, .foni .foni-hits li { list-style: none; }
.foni .foni-results > li::before, .foni .foni-titles li::before, .foni .foni-hits li::before { content: none; display: none; }
.foni .foni-results > li::marker, .foni .foni-titles li::marker, .foni .foni-hits li::marker { content: none; }
.foni button, .foni .foni-btn, .foni .foni-more { text-transform: none; letter-spacing: normal; }
