/**
 * ΣΚΜΖΑ — όλο το CSS του θέματος.
 *
 * Γραμμένο από το μηδέν: κανένα Bootstrap, καμία γραμματοσειρά εικονιδίων,
 * τίποτα από CDN. Το παλιό site κουβαλούσε 95 KB template.css + 119 KB
 * bootstrap + τρεις οικογένειες εικονιδίων για ένα site με επτά σελίδες.
 */

/* ---------------------------------------------------------------- tokens */

:root {
	--brand: #7d0101;
	--brand-dark: #5a0000;
	--brand-tint: #fbf3f3;
	--teal: #1f6f78;
	--teal-dark: #17555c;
	--ink: #17242a;
	--muted: #5c6b72;
	--line: #e2ddd3;
	--sand: #f7f5f0;
	--white: #fff;
	--shadow: 0 1px 2px rgba(23, 36, 42, .06), 0 8px 24px rgba(23, 36, 42, .07);
	--radius: 6px;
	--wrap: 1160px;
	--reading: 46rem;
	--font: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* ----------------------------------------------------------------- reset */

*,
*::before,
*::after {
	box-sizing: border-box;
}

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

body {
	margin: 0;
	background: var(--white);
	color: var(--ink);
	font-family: var(--font);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

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

a {
	color: var(--brand);
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

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

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 .6em;
	line-height: 1.22;
	font-weight: 700;
	letter-spacing: -.01em;
}

h1 { font-size: clamp(1.8rem, 1.3rem + 1.8vw, 2.6rem); }
h2 { font-size: clamp(1.4rem, 1.1rem + 1.1vw, 1.9rem); }
h3 { font-size: 1.25rem; }
h4 { font-size: 1.08rem; }

p, ul, ol, table, figure, blockquote {
	margin: 0 0 1.1em;
}

hr {
	height: 1px;
	margin: 2.5rem 0;
	border: 0;
	background: var(--line);
}

:focus-visible {
	outline: 3px solid var(--teal);
	outline-offset: 2px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100;
	padding: 10px 16px;
	background: var(--ink);
	color: #fff;
}

.skip-link:focus {
	left: 8px;
	top: 8px;
	color: #fff;
}

/* ---------------------------------------------------------------- layout */

.wrap {
	width: 100%;
	max-width: var(--wrap);
	margin: 0 auto;
	padding: 0 20px;
}

.section {
	padding: 54px 0;
}

.section--sand {
	background: var(--sand);
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}

.section__head {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 26px;
}

.section__head h2 {
	margin: 0;
}

.section__head .section__more {
	font-weight: 600;
	font-size: .95rem;
}

.grid {
	display: grid;
	gap: 24px;
}

.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--4 { grid-template-columns: repeat(4, 1fr); }
.grid--2 { grid-template-columns: repeat(2, 1fr); }

@media (max-width: 900px) {
	.grid--3, .grid--4 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
	.grid--2, .grid--3, .grid--4 { grid-template-columns: 1fr; }
}

/* ---------------------------------------------------------------- header */

.topbar {
	background: var(--ink);
	color: #cfd8dc;
	font-size: .85rem;
}

.topbar .wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
	align-items: center;
	justify-content: flex-end;
	min-height: 38px;
}

.topbar ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.topbar a {
	color: #fff;
	text-decoration: none;
}

.topbar a:hover {
	color: #fff;
	text-decoration: underline;
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255, 255, 255, .96);
	backdrop-filter: saturate(1.4) blur(8px);
	border-bottom: 1px solid var(--line);
}

.site-header__inner {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 28px;
	align-items: center;
	justify-content: space-between;
	padding-top: 14px;
	padding-bottom: 14px;
	max-width: 1320px;
}

.site-brand {
	display: flex;
	gap: 14px;
	align-items: center;
	text-decoration: none;
	color: var(--ink);
}

.site-brand img {
	width: auto;
	height: 68px;
	max-width: none;
}

.site-brand__text {
	display: block;
	max-width: 17ch;
	font-size: .82rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -.01em;
	text-transform: uppercase;
	color: var(--brand);
}

.site-brand__text span {
	display: block;
	font-weight: 500;
	font-size: .76rem;
	letter-spacing: 0;
	text-transform: none;
	color: var(--muted);
}

/* ------------------------------------------------------------------- nav */

.nav-toggle {
	display: none;
	gap: 8px;
	align-items: center;
	padding: 9px 13px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--white);
	color: var(--ink);
	font: inherit;
	font-size: .9rem;
	font-weight: 600;
	cursor: pointer;
}

.nav-toggle__bars,
.nav-toggle__bars::before,
.nav-toggle__bars::after {
	display: block;
	width: 18px;
	height: 2px;
	background: var(--ink);
	content: "";
}

.nav-toggle__bars {
	position: relative;
}

.nav-toggle__bars::before { position: absolute; top: -6px; }
.nav-toggle__bars::after  { position: absolute; top: 6px; }

.main-nav ul {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}

.main-nav > ul {
	gap: 4px 6px;
}

.main-nav li {
	position: relative;
}

.main-nav a {
	display: block;
	padding: 10px 9px;
	color: var(--ink);
	font-size: .88rem;
	font-weight: 600;
	text-decoration: none;
	border-radius: var(--radius);
}

/* Το πρώτο επίπεδο μένει πάντα σε μία γραμμή — ένα μενού που σπάει στη μέση
   μοιάζει με χαλασμένο, και κάτω από 1320px γίνεται ούτως ή άλλως hamburger. */
.main-nav > ul > li > a {
	white-space: nowrap;
}

.main-nav a:hover,
.main-nav a:focus,
.main-nav .current-menu-item > a,
.main-nav .current-menu-ancestor > a {
	background: var(--brand-tint);
	color: var(--brand);
}

.main-nav .menu-item-has-children > a::after {
	content: "";
	display: inline-block;
	width: .4em;
	height: .4em;
	margin-left: .5em;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
}

.main-nav .sub-menu {
	position: absolute;
	left: 0;
	top: 100%;
	z-index: 20;
	display: block;
	min-width: 260px;
	padding: 8px;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .16s ease, transform .16s ease, visibility .16s;
}

.main-nav .sub-menu .sub-menu {
	left: 100%;
	top: -9px;
}

.main-nav li:hover > .sub-menu,
.main-nav li:focus-within > .sub-menu,
.main-nav li.is-open > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.main-nav .sub-menu ul {
	display: block;
}

.main-nav .sub-menu a {
	padding: 8px 12px;
	font-weight: 500;
	white-space: normal;
}

@media (max-width: 1320px) {
	.nav-toggle {
		display: inline-flex;
	}

	.main-nav {
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		max-height: 76vh;
		overflow-y: auto;
		padding: 10px 20px 22px;
		background: var(--white);
		border-bottom: 1px solid var(--line);
		box-shadow: var(--shadow);
		display: none;
	}

	.main-nav.is-open {
		display: block;
	}

	.main-nav ul {
		display: block;
	}

	.main-nav a {
		padding: 11px 6px;
		border-bottom: 1px solid var(--line);
		border-radius: 0;
	}

	.main-nav .sub-menu {
		position: static;
		min-width: 0;
		padding: 0 0 0 16px;
		border: 0;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
		display: none;
	}

	.main-nav li.is-open > .sub-menu {
		display: block;
	}

	.main-nav .menu-item-has-children > a::after {
		float: right;
		margin-top: .55em;
	}
}

/* ---------------------------------------------------------------- button */

.btn,
.wp-block-button__link,
button.btn {
	display: inline-block;
	padding: 11px 22px;
	border: 1px solid transparent;
	border-radius: var(--radius);
	background: var(--brand);
	color: #fff;
	font: inherit;
	font-size: .97rem;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
	cursor: pointer;
	transition: background .15s ease;
}

.btn:hover,
.btn:focus {
	background: var(--brand-dark);
	color: #fff;
}

.btn--ghost {
	background: transparent;
	border-color: currentColor;
	color: var(--brand);
}

.btn--ghost:hover,
.btn--ghost:focus {
	background: var(--brand);
	color: #fff;
}

.btn--teal {
	background: var(--teal);
}

.btn--teal:hover,
.btn--teal:focus {
	background: var(--teal-dark);
}

.btn--light {
	background: #fff;
	color: var(--brand);
}

.btn--light:hover,
.btn--light:focus {
	background: var(--sand);
	color: var(--brand-dark);
}

/* ------------------------------------------------------------- slideshow */

.hero {
	position: relative;
	background: var(--ink);
}

.hero__slides {
	position: relative;
	overflow: hidden;
}

.hero__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity .7s ease;
}

.hero__slide.is-active {
	position: relative;
	opacity: 1;
}

.hero__media {
	position: relative;
	display: block;
	min-height: 340px;
	height: 46vw;
	max-height: 520px;
	overflow: hidden;
}

/* Στην επιφάνεια γραφείου η διαφάνεια γεμίζει την οθόνη μέχρι τη μπλε μπάντα
   «Βρείτε κτηνίατρο», ώστε στο πρώτο άνοιγμα να φαίνονται μαζί κεφαλίδα,
   διαφάνεια και μπάντα, χωρίς άσπρο κενό κάτω. */
@media (min-width: 901px) {
	.hero__media {
		height: clamp(420px, calc(100vh - 300px), 860px);
		max-height: none;
	}
}

/* Σύρσιμο αριστερά-δεξιά: το κάθετο scroll της σελίδας μένει κανονικό. */
.hero__slides {
	touch-action: pan-y;
	cursor: grab;
	user-select: none;
	-webkit-user-select: none;
}

.hero__slides.is-dragging {
	cursor: grabbing;
}

.hero__slides img {
	-webkit-user-drag: none;
	user-drag: none;
	pointer-events: none;
}

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

.hero__media::after {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(180deg, rgba(10, 18, 22, .15) 0%, rgba(10, 18, 22, .55) 55%, rgba(10, 18, 22, .88) 100%);
}

.hero__body {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	padding: 0 0 clamp(26px, 4vw, 54px);
	color: #fff;
}

.hero__kicker {
	display: inline-block;
	margin-bottom: 10px;
	padding: 4px 11px;
	border-radius: 100px;
	background: var(--brand);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.hero__title {
	max-width: 22ch;
	margin: 0 0 10px;
	color: #fff;
	font-size: clamp(1.5rem, 1rem + 2.2vw, 2.5rem);
	text-shadow: 0 2px 18px rgba(0, 0, 0, .4);
}

.hero__title a {
	color: #fff;
	text-decoration: none;
	/* Η υπογράμμιση μεγαλώνει από αριστερά αντί να εμφανίζεται ξαφνικά. */
	background-image: linear-gradient(currentColor, currentColor);
	background-repeat: no-repeat;
	background-position: 0 100%;
	background-size: 0% 2px;
	transition: background-size .35s ease;
}

.hero__title a:hover,
.hero__title a:focus {
	color: #fff;
	text-decoration: none;
	background-size: 100% 2px;
}

.hero__excerpt {
	max-width: 56ch;
	margin: 0;
	color: rgba(255, 255, 255, .88);
	font-size: 1rem;
}

.hero__nav {
	position: absolute;
	right: 20px;
	bottom: 20px;
	z-index: 3;
	display: flex;
	gap: 8px;
}

.hero__dot {
	width: 11px;
	height: 11px;
	padding: 0;
	border: 2px solid #fff;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}

.hero__dot[aria-current="true"] {
	background: #fff;
}

.hero__arrow {
	position: absolute;
	top: 50%;
	z-index: 3;
	width: 44px;
	height: 44px;
	margin-top: -22px;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, .4);
	color: #fff;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}

.hero__arrow:hover,
.hero__arrow:focus {
	background: var(--brand);
}

.hero__arrow--prev { left: 14px; }
.hero__arrow--next { right: 14px; }

@media (max-width: 700px) {
	.hero__arrow { display: none; }
	.hero__media { height: 62vw; }
}

/* --------------------------------------------------------- find-a-vet CTA */

.finder {
	background: linear-gradient(135deg, var(--teal) 0%, var(--teal-dark) 100%);
	color: #fff;
}

.finder .wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	align-items: center;
	justify-content: space-between;
	padding-top: 34px;
	padding-bottom: 34px;
}

.finder h2 {
	margin: 0 0 6px;
	color: #fff;
	font-size: 1.5rem;
}

.finder p {
	margin: 0;
	max-width: 54ch;
	color: rgba(255, 255, 255, .9);
}

.finder__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

/* ----------------------------------------------------------------- cards */

.card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	overflow: hidden;
	transition: box-shadow .18s ease, transform .18s ease;
}

.card:hover {
	box-shadow: var(--shadow);
	transform: translateY(-2px);
}

.card__media {
	display: block;
	aspect-ratio: 16 / 9;
	background: var(--sand);
	overflow: hidden;
}

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

.card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 8px;
	padding: 18px 20px 20px;
}

.card__meta {
	color: var(--muted);
	font-size: .8rem;
	letter-spacing: .02em;
	text-transform: uppercase;
}

.card__title {
	margin: 0;
	font-size: 1.1rem;
	line-height: 1.3;
}

.card__title a {
	color: var(--ink);
	text-decoration: none;
}

.card__title a:hover,
.card__title a:focus {
	color: var(--brand);
}

.card__excerpt {
	margin: 0;
	color: var(--muted);
	font-size: .95rem;
}

.card__more {
	margin-top: auto;
	padding-top: 6px;
	font-size: .9rem;
	font-weight: 600;
}

/* -------------------------------------------------------- widget modules */

.module {
	margin-bottom: 28px;
}

.module:last-child {
	margin-bottom: 0;
}

.module__title {
	margin: 0 0 14px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--brand);
	font-size: 1.15rem;
}

.module__body > *:last-child {
	margin-bottom: 0;
}

/* Οι τρεις κάρτες κάτω από τα νέα (χάρτης / μέλος / επικοινωνία). */
.promo .module {
	height: 100%;
	margin: 0;
	padding: 24px;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
}

.promo .module img {
	width: 72px;
	height: auto;
	margin: 0 0 10px;
	float: none !important;
}

.promo .module__title {
	border-bottom: 0;
	padding-bottom: 0;
}

/* Τα τέσσερα banner της αρχικής (grid13). Το Joomla τα έβγαζε με {grid3}. */
.banners .module {
	margin: 0;
}

.banners .grid_three {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.banner-card {
	padding: 24px 20px;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	text-align: center;
}

.banner-card h2 {
	margin: 12px 0 8px;
	font-size: 1.05rem;
}

.banner-card h2 a {
	color: var(--ink);
	text-decoration: none;
}

.banner-card h2 a:hover,
.banner-card h2 a:focus {
	color: var(--brand);
}

.banner-card p {
	margin: 0;
	color: var(--muted);
	font-size: .92rem;
	text-align: left;
}

.banners img {
	width: 86px;
	height: auto;
	margin: 0 auto;
	float: none !important;
}

/* ---------------------------------------------------------------- content */

.page-head {
	padding: 34px 0 0;
}

.page-head h1 {
	margin-bottom: .2em;
}

.page-head__meta {
	color: var(--muted);
	font-size: .9rem;
}

.breadcrumbs {
	padding: 14px 0 0;
	color: var(--muted);
	font-size: .85rem;
}

.breadcrumbs a {
	color: var(--muted);
}

.breadcrumbs span + span::before {
	content: "›";
	margin: 0 .5em;
	color: var(--line);
}

.content-area {
	padding: 26px 0 60px;
}

.layout {
	display: grid;
	gap: 40px;
	grid-template-columns: minmax(0, 1fr) 300px;
	align-items: start;
}

.layout--full {
	grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 900px) {
	.layout {
		grid-template-columns: minmax(0, 1fr);
	}
}

.entry-content {
	max-width: var(--reading);
}

.entry-content--wide {
	max-width: none;
}

.entry-content img {
	height: auto;
	border-radius: 4px;
}

.entry-content a[href$=".pdf"]::after {
	content: " (PDF)";
	color: var(--muted);
	font-size: .85em;
}

.entry-content ul,
.entry-content ol {
	padding-left: 1.3em;
}

.entry-content li {
	margin-bottom: .35em;
}

.entry-content blockquote {
	margin: 1.6em 0;
	padding: 2px 0 2px 20px;
	border-left: 3px solid var(--brand);
	color: var(--muted);
	font-style: italic;
}

/* Κληρονομιά από το Joomla: το {grid3} γινόταν div.grid_three. */
.entry-content .grid_three {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.entry-content .grid_three > p,
.entry-content .grid_three > h2 {
	margin-bottom: .5em;
}

/* ---------------------------------------------------------------- tables */

.entry-content table,
table.styled_table,
table.table {
	width: 100%;
	border-collapse: collapse;
	font-size: .95rem;
}

.entry-content th,
table.styled_table th,
table.table th {
	padding: 10px 12px;
	background: var(--teal);
	color: #fff;
	text-align: left;
	font-weight: 700;
	border: 1px solid var(--teal-dark);
}

.entry-content td,
table.styled_table td,
table.table td {
	padding: 9px 12px;
	border: 1px solid var(--line);
	vertical-align: top;
}

table.styled_table tbody tr:nth-child(even),
table.table tbody tr:nth-child(even),
.entry-content tbody tr:nth-child(even) {
	background: var(--sand);
}

.table-scroll {
	overflow-x: auto;
}

/* --------------------------------------------------------------- sidebar */

.sidebar .module {
	padding: 20px;
	background: var(--sand);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	font-size: .95rem;
}

.sidebar .module__title {
	font-size: 1.02rem;
}

.sidebar img {
	border-radius: 4px;
}

.sidebar ul {
	margin: 0;
	padding-left: 1.1em;
}

/* ----------------------------------------------------------------- vets */

.vet-card {
	display: grid;
	gap: 10px 26px;
	grid-template-columns: max-content 1fr;
	max-width: 44rem;
	margin: 0 0 26px;
	padding: 22px 24px;
	background: var(--sand);
	border: 1px solid var(--line);
	border-radius: var(--radius);
}

.vet-card dt {
	color: var(--muted);
	font-size: .82rem;
	letter-spacing: .02em;
	text-transform: uppercase;
	padding-top: .2em;
}

.vet-card dd {
	margin: 0;
	font-weight: 600;
}

@media (max-width: 560px) {
	.vet-card {
		grid-template-columns: 1fr;
		gap: 2px;
	}

	.vet-card dd {
		margin-bottom: 12px;
	}
}

/* -------------------------------------------------------------- archives */

.pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 36px;
}

.pagination .page-numbers {
	display: inline-block;
	min-width: 40px;
	padding: 8px 12px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	color: var(--ink);
	text-align: center;
	text-decoration: none;
	font-size: .95rem;
}

.pagination .page-numbers:hover {
	border-color: var(--brand);
	color: var(--brand);
}

.pagination .page-numbers.current {
	background: var(--brand);
	border-color: var(--brand);
	color: #fff;
}

/* ---------------------------------------------------------------- search */

.search-form {
	display: flex;
	gap: 8px;
	max-width: 420px;
}

.search-form input[type="search"] {
	flex: 1;
	min-width: 0;
	height: 42px;
	padding: 8px 12px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	font: inherit;
	font-size: .95rem;
}

/* ---------------------------------------------------------------- footer */

.site-footer {
	margin-top: auto;
	background: var(--ink);
	color: #b9c4c9;
	font-size: .94rem;
}

.site-footer a {
	color: #fff;
}

.site-footer__cols {
	display: grid;
	gap: 34px;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	padding: 46px 0 32px;
}

.site-footer .module {
	margin: 0;
}

.site-footer .module__title {
	border-bottom-color: rgba(255, 255, 255, .18);
	color: #fff;
	font-size: 1rem;
}

.site-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer li {
	margin-bottom: 6px;
}

.site-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	justify-content: space-between;
	padding: 16px 0 26px;
	border-top: 1px solid rgba(255, 255, 255, .13);
	font-size: .85rem;
}

/* ------------------------------------------------------------- utilities */

.page-wrap {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.lede {
	color: var(--muted);
	font-size: 1.08rem;
}

.to-top {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 40;
	display: none;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: var(--ink);
	color: #fff;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	box-shadow: var(--shadow);
}

.to-top.is-visible {
	display: block;
}

@media print {
	.site-header, .topbar, .site-footer, .to-top, .hero__nav, .hero__arrow {
		display: none !important;
	}
}

/* Επιφάνεια γραφείου: λογότυπο και μενού στην ίδια γραμμή. Το μενού παίρνει
   όλο το υπόλοιπο πλάτος του (μέχρι 1400px) και στοιχίζεται δεξιά. */
@media (min-width: 1321px) {
	.site-header__inner {
		flex-wrap: nowrap;
		gap: 56px;
		padding-top: 18px;
		padding-bottom: 18px;
		min-height: 0;
		max-width: 1500px;
	}

	.main-nav {
		flex: 1 1 auto;
		min-width: 0;
	}

	.main-nav > ul {
		justify-content: flex-end;
		gap: 2px 8px;
		padding: 0;
	}
}

/* Κινητό: λογότυπο λίγο μικρότερο, το κουμπί «Μενού» πέφτει κάτω αν δεν χωράει. */
@media (max-width: 560px) {
	.site-header__inner {
		padding-top: 10px;
		padding-bottom: 10px;
		min-height: 0;
	}

	.site-brand img {
		height: 52px;
	}

	.nav-toggle {
		margin-left: auto;
	}
}

/* ---------------------------------------------------------------- κίνηση
   Λεπτές μεταβάσεις στα hover και στην είσοδο των ενοτήτων. Όποιος έχει
   ζητήσει λιγότερη κίνηση στο λειτουργικό του δεν βλέπει τίποτα από αυτά. */

a {
	transition: color .2s ease;
}

.main-nav a,
.topbar a {
	transition: background-color .2s ease, color .2s ease;
}

.btn,
.wp-block-button__link,
button.btn {
	transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.btn:hover,
.btn:focus,
.wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(23, 36, 42, .18);
}

.btn:active {
	transform: translateY(0);
	box-shadow: none;
}

.card__title a {
	transition: color .2s ease;
}

.hero__dot {
	transition: background-color .2s ease, transform .2s ease;
}

.hero__dot:hover {
	transform: scale(1.25);
}

.hero__arrow {
	transition: background-color .2s ease, transform .2s ease;
}

.hero__arrow:hover {
	transform: scale(1.08);
}

.to-top {
	transition: opacity .25s ease, transform .25s ease;
}

/* Οι ενότητες εμφανίζονται όταν φτάνουν στην οθόνη (ρυθμίζεται από το skmza.js). */
.js .reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .7s ease, transform .7s ease;
}

.js .reveal.is-visible {
	opacity: 1;
	transform: none;
}

/* Το κείμενο της διαφάνειας μπαίνει μαζί με τη διαφάνεια. */
.hero__slide.is-active .hero__kicker,
.hero__slide.is-active .hero__title,
.hero__slide.is-active .hero__excerpt {
	animation: skmza-rise .7s ease both;
}

.hero__slide.is-active .hero__title {
	animation-delay: .08s;
}

.hero__slide.is-active .hero__excerpt {
	animation-delay: .16s;
}

@keyframes skmza-rise {
	from {
		opacity: 0;
		transform: translateY(14px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation: none !important;
		transition: none !important;
	}

	.js .reveal {
		opacity: 1;
		transform: none;
	}
}

/* Πίνακες που είναι πιο φαρδιοί από την οθόνη (π.χ. ο κατάλογος κτηνιάτρων)
   σκρολάρουν οριζόντια μέσα στη θέση τους, δεν σπρώχνουν όλη τη σελίδα. */
@media (max-width: 1320px) {
	.skmza-catalog-table {
		display: block;
		max-width: 100%;
		overflow-x: auto;
	}
}

/* Φινίρισμα: PDF με κουμπί, κεφαλίδα σε μία γραμμή στο κινητό, διαδρομή πλοήγησης, κείμενο διαφάνειας πάνω από τις κουκκίδες. */

/* Ο σύνδεσμος με κουμπί PDF δεν παίρνει επιπλέον «(PDF)». */
.entry-content a[href$=".pdf"]:has(> .btn)::after {
	content: none;
}

/* Κείμενο διαφάνειας: πάνω από τις κουκκίδες. */
.hero__body {
	bottom: 62px;
}

/* Διαδρομή πλοήγησης: μικρό περιθώριο αριστερά. */
.breadcrumbs {
	padding: 14px 24px 0;
}

/* Κάτω από 1321px το λογότυπο και το κουμπί μένουν στην ίδια γραμμή. */
@media (max-width: 1320px) {
	.site-header__inner {
		flex-wrap: nowrap;
	}

	.nav-toggle {
		padding: 10px 12px;
	}
}

@media (max-width: 560px) {
	.site-brand img {
		height: 40px;
		max-width: none;
	}

	.site-header__inner {
		gap: 12px;
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.nav-toggle {
		flex: 0 0 auto;
		gap: 0;
	}
}

/* Κινητό: ο τίτλος και το κείμενο της διαφάνειας περιορίζονται, ώστε να χωράει όλη η διαφάνεια. */
@media (max-width: 700px) {
	.hero__title {
		font-size: clamp(1.15rem, 5.2vw, 1.5rem);
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.hero__excerpt {
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		font-size: .92rem;
		margin-bottom: 0;
	}
}
