/* Apollon Child: κάρτες και σελίδες post types (αντικαθιστούν JetEngine listings και Pro templates). */

/* ---------- Κοινά ---------- */

.ap-single :where(h1, h2, h3, p, figure) {
	margin: 0;
}

.ap-titlebar {
	margin-top: 40px;
	padding: 10px;
	background: var(--ap-primary);
}

.ap-titlebar__title {
	max-width: 1140px;
	margin: 0 auto;
	font-family: var(--ap-font-display);
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
	color: var(--ap-white);
	text-align: center;
}

.ap-section-title {
	font-family: var(--ap-font-display);
	font-size: 20px;
	font-weight: 400;
	line-height: 1;
	color: var(--ap-primary);
	text-align: center;
	text-transform: none;
}

.ap-single__row {
	display: flex;
	padding: 10px;
}

.ap-single__main {
	flex: 0 1 100%;
	min-width: 0;
	padding: 0 10px;
}

.ap-single__inner {
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: 800px;
	margin: 10px auto;
}

.ap-single__side {
	flex: 0 1 700px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	padding: 10px;
}

.ap-single__image {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 5px;
}

.ap-single__text {
	align-self: center;
	max-width: 720px;
	font-family: var(--ap-font-text);
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 1px;
	color: #252525;
}

.ap-single__text p {
	margin: 0 0 .9em;
}

.ap-video {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 5px;
}

.ap-video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.ap-standings {
	align-self: flex-end;
	width: 100%;
}

/* ---------- Πλέγμα καρτών (αντί για jet-listing-grid) ---------- */

.ap-grid {
	display: grid;
	grid-template-columns: repeat(var(--ap-cols, 1), minmax(0, 1fr));
	margin: 0 -10px;
}

.ap-grid--cols-1 { --ap-cols: 1; }
.ap-grid--cols-2 { --ap-cols: 2; }
.ap-grid--cols-3 { --ap-cols: 3; }
.ap-grid--cols-4 { --ap-cols: 4; }

.ap-grid__item {
	display: flex;
	min-width: 0;
	padding: 10px;
}

.ap-grid__item > * {
	flex: 1 1 auto;
}

.ap-single__side .ap-grid {
	margin: 0 -10px;
}

/* ---------- Κάρτα νέου (listing 6124) ---------- */

.ap-card-news {
	display: flex;
	flex-direction: column;
	max-width: 600px;
	padding: 10px;
	background: var(--ap-menu-bg);
	border-radius: 10px;
	box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, .25);
	color: var(--ap-primary);
	text-decoration: none;
}

.ap-card-news:hover,
.ap-card-news:focus-visible {
	color: var(--ap-primary);
}

.ap-card-news__title {
	margin: 0;
	font-family: var(--ap-font-display);
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
	color: var(--ap-primary);
	text-align: center;
}

.ap-card-news__row {
	display: flex;
	gap: 20px;
	padding: 10px;
}

.ap-card-news__img {
	flex: 0 0 150px;
	width: 150px;
}

.ap-card-news__img img {
	display: block;
	width: 150px;
	height: 150px;
	object-fit: cover;
	border-radius: 10px;
}

.ap-card-news__text {
	align-self: center;
	margin: 10px 0 0;
	font-family: var(--ap-font-text);
	font-size: 14px;
	font-weight: 400;
	line-height: 21px;
	color: var(--ap-primary);
	text-align: justify;
}

.ap-card-news__date {
	align-self: flex-end;
	padding: 0;
	font-family: var(--ap-font-text);
	font-size: 12px;
	font-weight: 600;
	line-height: 18px;
	color: var(--ap-primary);
}

/* ---------- Κάρτα αγώνα (listing 6091) ---------- */

.ap-card-match {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	width: 100%;
	max-width: 400px;
	margin: 0 auto;
	padding: 10px;
	box-sizing: border-box;
	background-color: var(--ap-primary);
	background-image: linear-gradient(135deg, rgba(255, 255, 255, .3) 0%, rgba(0, 4, 113, .3) 100%);
	border: 1px solid rgba(255, 255, 255, .35);
	border-radius: 24px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .35);
	-webkit-backdrop-filter: blur(20px);
	backdrop-filter: blur(20px);
	overflow: hidden;
}

.ap-card-match__logo {
	flex: 0 1 120px;
	min-width: 0;
}

.ap-card-match__logo img {
	display: block;
	width: 100%;
	max-width: 120px;
	height: auto;
}

.ap-card-match__mid {
	flex: 0 1 160px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	padding: 10px;
	color: var(--ap-white);
	text-align: center;
}

.ap-card-match__date {
	font-family: var(--ap-font-text);
	font-size: 16px;
	line-height: 24px;
}

.ap-card-match__score {
	padding: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	font-family: var(--ap-font-display);
	font-size: 22px;
	line-height: 33px;
}

.ap-card-match__dash {
	font-family: "Trebuchet MS", sans-serif;
	font-weight: 700;
	line-height: 22px;
}

.ap-card-match__comp {
	font-family: var(--ap-font-text);
	font-size: 16px;
	line-height: 16px;
}

/* ---------- Κινητό ---------- */

@media (max-width: 767px) {
	.ap-single__row {
		flex-direction: column;
	}
	.ap-single__side {
		flex-basis: auto;
	}
	.ap-grid--cols-2,
	.ap-grid--cols-3,
	.ap-grid--cols-4 {
		--ap-cols: 1;
	}
	.ap-card-news__row {
		flex-wrap: wrap;
		justify-content: center;
		gap: 0;
	}
	.ap-card-news__img {
		flex-basis: 200px;
		width: 200px;
	}
	.ap-card-news__img img {
		width: 200px;
		height: 200px;
	}
	.ap-card-match {
		max-width: 500px;
	}
	.ap-card-match__logo {
		flex-basis: 70px;
	}
	.ap-card-match__mid {
		flex-basis: 120px;
		padding: 0;
	}
}

/* ---------- Κοινά στοιχεία του Elementor kit ---------- */

.ap-kit-title {
	margin: 0;
	font-family: "Trebuchet MS", sans-serif;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	color: var(--ap-primary);
	text-align: center;
}

.ap-kit-title--underline {
	padding-bottom: 0;
	border-bottom: 2px solid var(--ap-primary);
}

.ap-kit-text {
	margin: 0;
	font-family: "Trebuchet MS", sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--ap-primary);
}

.ap-tabbar {
	display: flex;
	flex-direction: column;
	background: var(--ap-primary);
}

.ap-tabbar--right {
	align-items: flex-end;
}

.ap-tabbar--left {
	align-items: flex-start;
}

.ap-tabbar__tab {
	margin: 0;
	padding: 2px 20px;
	background: var(--ap-white);
	border-bottom: 1px solid var(--ap-primary);
	font-family: "Trebuchet MS", sans-serif;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	color: var(--ap-primary);
}

.ap-tabbar--right .ap-tabbar__tab {
	border-radius: 0 0 0 30px;
}

.ap-tabbar--left .ap-tabbar__tab {
	border-radius: 0 0 30px 0;
}

.ap-button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 24px;
	background: var(--ap-primary);
	border: 1px solid var(--ap-primary);
	border-radius: 10px;
	font-family: Roboto, "Chivo", sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1;
	color: var(--ap-white);
	text-decoration: none;
	transition: background-color .3s, color .3s;
}

.ap-button .ap-icon {
	width: auto;
	height: 1em;
	fill: currentColor;
}

.ap-button:hover,
.ap-button:focus-visible {
	background: var(--ap-white);
	color: var(--ap-primary);
}

/* ---------- Σελίδα γηπέδου (1709) ---------- */

.ap-pitch__row {
	display: flex;
	gap: 20px;
	padding: 10px;
}

.ap-pitch__map {
	flex: 1 1 0;
	min-width: 0;
	overflow: hidden;
	border-radius: 40px;
}

.ap-pitch__map iframe {
	display: block;
	width: 100%;
	height: 460px;
	border: 0;
	filter: brightness(91%);
	transition: filter .7s;
}

.ap-pitch__map:hover iframe {
	filter: none;
}

.ap-pitch__info {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 10px;
}

.ap-pitch__cta {
	margin: 0;
	text-align: center;
}

/* ---------- Σελίδα αγώνα (1277) ---------- */

.ap-match__row {
	display: flex;
	gap: 20px;
	padding: 0 10px;
}

.ap-match__main {
	flex: 0 1 100%;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 10px;
}

.ap-match__side {
	flex: 0 1 53%;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 10px;
}

.ap-match__image {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 20px;
}

.ap-match__text {
	align-self: center;
	width: 75%;
	font-family: "Trebuchet MS", sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	color: #000;
	text-align: justify;
}

.ap-grid--reports {
	margin: 0;
}

.ap-grid--reports .ap-grid__item {
	padding: 10px 0 40px;
}

/* ---------- Κάρτα αποτελέσματος (listing 325) ---------- */

.ap-card-report {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ap-card-report__bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px;
	background: var(--ap-primary);
	border-radius: 5px;
	font-family: "Trebuchet MS", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
	color: var(--ap-white);
}

.ap-card-report__field {
	padding: 2px;
	border-radius: 5px;
	color: var(--ap-white);
	line-height: 1;
	text-decoration: none;
	transition: background-color .3s, color .3s;
}

a.ap-card-report__field:hover,
a.ap-card-report__field:focus-visible {
	background: var(--ap-white);
	color: var(--ap-primary);
}

.ap-card-report__teams {
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: var(--ap-primary);
	text-decoration: none;
}

.ap-card-report__logo {
	flex: 0 0 100px;
	width: 100px;
	text-align: center;
}

.ap-card-report__logo img {
	display: block;
	width: 100%;
	height: auto;
}

.ap-card-report__score {
	padding: 10px;
	background: var(--ap-primary);
	border-radius: 5px;
	font-family: "Trebuchet MS", sans-serif;
	font-size: 28px;
	font-weight: 700;
	line-height: 1;
	color: var(--ap-white);
}

.ap-card-report__dash {
	font-family: "Trebuchet MS", sans-serif;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	color: var(--ap-primary);
}

.ap-card-report__names {
	display: flex;
	justify-content: space-between;
	gap: 10px;
}

.ap-card-report__names span {
	padding: 10px;
	background: var(--ap-white);
	border-radius: 5px;
	font-family: "Trebuchet MS", sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	color: var(--ap-primary);
	text-align: center;
}

.ap-card-report__details {
	background: var(--ap-primary);
	border-radius: 10px;
	overflow: hidden;
}

.ap-card-report__details summary {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	padding: 10px;
	font-family: "Trebuchet MS", sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--ap-white);
	cursor: pointer;
	list-style: none;
}

.ap-card-report__details summary::-webkit-details-marker {
	display: none;
}

.ap-card-report__details summary .ap-icon {
	width: 15px;
	height: 15px;
	fill: currentColor;
	transition: transform .2s;
}

.ap-card-report__details[open] summary .ap-icon {
	transform: rotate(180deg);
}

.ap-card-report__comments {
	padding: 10px;
	background: var(--ap-white);
	text-align: center;
}

@media (max-width: 767px) {
	.ap-pitch__row,
	.ap-match__row {
		flex-direction: column;
	}
	.ap-match__side {
		flex-basis: auto;
	}
	.ap-match__text {
		width: 100%;
	}
	.ap-card-report__bar {
		flex-direction: column;
	}
}
/* ---------- Σελίδες προσώπων (488, 529, 535) ---------- */

.ap-spacer {
	height: var(--h, 50px);
}

.ap-pill {
	display: block;
	margin: 0;
	padding: 4px;
	background: var(--ap-primary);
	border-radius: 5px;
	font-family: "Trebuchet MS", sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	color: var(--ap-white);
	text-align: center;
}

.ap-profile__value {
	display: block;
	margin: 0;
	font-family: "Trebuchet MS", sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--ap-primary);
	text-align: center;
	align-self: center;
}

.ap-profile {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin: 0;
	padding: 10px;
}

.ap-person {
	display: flex;
	gap: 20px;
	max-width: 78%;
	margin: 10px auto 0;
	padding: 10px;
}

.ap-person__media {
	flex: 0 1 60%;
	min-width: 0;
}

.ap-person__info {
	flex: 0 1 100%;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}

.ap-person__info .ap-profile {
	align-self: stretch;
}

.ap-person__photo {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 20px;
}

.ap-kit-title--fit {
	align-self: center;
	width: fit-content;
	margin: 0 auto;
}

.ap-section-head {
	padding: 0 10px;
	text-align: start;
}

.ap-section-head--end {
	text-align: end;
}

.ap-person__firsts {
	display: flex;
	gap: 20px;
	max-width: 90%;
	margin: 15px auto 0;
	padding: 10px;
}

.ap-person__firsts > div {
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}

.ap-seasons {
	margin-top: 20px;
	padding: 10px;
}

.ap-seasons__head,
.ap-seasons__row {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
}

.ap-seasons__head .ap-pill {
	padding: 5px;
}

.ap-seasons__row {
	padding: 10px;
	border-bottom: 5px solid var(--ap-primary);
}

.ap-seasons__row > span {
	font-family: "Trebuchet MS", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--ap-primary);
	text-align: center;
}

.ap-seasons__c1 { flex: 0 0 100px; }
.ap-seasons__c2 { flex: 0 0 250px; }
.ap-seasons__c3 { flex: 0 0 150px; }
.ap-seasons__c4 { flex: 0 0 200px; }
.ap-seasons__c5 { flex: 0 0 100px; }
.ap-seasons__c6 { flex: 0 0 100px; }

.ap-person__cols {
	display: flex;
	gap: 20px;
}

.ap-person__cols > div {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 10px;
}

.ap-career__row {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 10px;
	border-bottom: 2px solid var(--ap-primary);
	font-family: "Trebuchet MS", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--ap-primary);
}

.ap-kit-body {
	font-family: "Trebuchet MS", sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--ap-primary);
}

.ap-kit-body p {
	margin: 0 0 .9em;
}

.ap-kit-body--justify {
	text-align: justify;
}

.ap-coach {
	display: flex;
	gap: 20px;
	padding: 0 10px;
}

.ap-coach__left,
.ap-coach__right {
	flex: 0 1 50%;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 10px;
}

.ap-coach__left {
	align-items: center;
}

.ap-coach__photo {
	width: 63%;
	margin-top: 30px;
}

.ap-coach__profile {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ap-grid--teamtabs {
	align-self: flex-end;
	width: 49%;
	gap: 10px;
	overflow: hidden;
}

.ap-team-tab {
	display: block;
	padding: 2px 2px 2px 20px;
	background: var(--ap-primary);
	border-radius: 20px 0 0 20px;
	font-family: "Trebuchet MS", sans-serif;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--ap-white);
	text-decoration: none;
	transition: transform .3s;
}

.ap-team-tab:hover,
.ap-team-tab:focus-visible {
	color: var(--ap-white);
	transform: translateX(-10px);
}

@media (max-width: 1024px) {
	.ap-person {
		max-width: 100%;
	}
	.ap-seasons {
		overflow-x: auto;
	}
}

@media (max-width: 767px) {
	.ap-person,
	.ap-person__firsts,
	.ap-person__cols,
	.ap-coach {
		flex-direction: column;
		max-width: 100%;
	}
	.ap-person__media,
	.ap-coach__left,
	.ap-coach__right {
		flex-basis: auto;
	}
	.ap-profile {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.ap-seasons {
		overflow: visible;
	}
	.ap-seasons__head {
		display: none;
	}
	.ap-seasons__row {
		flex-direction: column;
		gap: 6px;
	}
	.ap-seasons__row > span {
		flex: none;
	}
	.ap-seasons__row > span:empty {
		display: none;
	}
	.ap-grid--teamtabs {
		width: 100%;
	}
	.ap-spacer {
		height: calc(var(--h, 50px) / 2);
	}
}
/* ---------- Αξιολόγηση παίκτη (573) ---------- */

.ap-review__meta {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	max-width: 60%;
	margin: 0 auto;
	padding: 15px 10px;
	align-items: center;
}

.ap-review__chip {
	display: block;
	padding: 0 10px;
	background: var(--ap-primary);
	border-radius: 10px;
	font-family: "Trebuchet MS", sans-serif;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--ap-white);
	text-align: center;
	min-height: 33px;
}

.ap-eval {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
	margin-top: 10px;
	padding: 10px;
}

.ap-eval__box {
	flex: 0 1 calc((100% - 40px) / 3);
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ap-eval--k13_17 .ap-eval__box--psy {
	flex-basis: 500px;
}

.ap-eval--k7_12 .ap-eval__box {
	flex-basis: calc((100% - 20px) / 2);
}

.ap-eval__title {
	margin: 0;
	padding: 4px;
	background: var(--ap-primary);
	border-radius: 5px;
	font-family: "Trebuchet MS", sans-serif;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	color: var(--ap-white);
	text-align: center;
}

.ap-eval__list {
	display: grid;
	grid-template-columns: 1fr 29%;
	gap: 20px 0;
	margin: 0;
	padding: 10px;
	align-items: center;
}

.ap-eval__list dt,
.ap-eval__list dd {
	margin: 0;
	padding: 3px;
	font-family: "Trebuchet MS", sans-serif;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	color: var(--ap-primary);
	text-align: center;
}

.ap-review__comments {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	padding: 10px;
}

.ap-review__text {
	width: 50%;
	padding: 20px;
	border: 2px solid var(--ap-primary);
	border-radius: 20px;
	font-family: "Trebuchet MS", sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--ap-primary);
	text-align: justify;
}

.ap-review__text p {
	margin: 0;
}

/* ---------- Παίκτης ακαδημίας (286) ---------- */

.ap-kid__denied {
	padding: 40px 10px;
}

.ap-kid {
	display: flex;
	gap: 20px;
	padding: 10px;
}

.ap-kid__media,
.ap-kid__info {
	flex: 1 1 0;
	min-width: 0;
}

.ap-kid__media {
	text-align: center;
}

.ap-kid__photo {
	display: inline-block;
	width: 70%;
	height: auto;
	border: 2px solid var(--ap-primary);
	border-radius: 20px;
}

.ap-kid__info {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ap-kid__form {
	padding: 10px;
}

.ap-kid__cols {
	display: flex;
}

.ap-kid__col {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ap-grid--reviews {
	margin: 0;
}

.ap-card-review {
	display: flex;
	flex-direction: column;
	gap: 20px;
	height: 100%;
	padding: 8px;
	border-bottom: 3px solid var(--ap-primary);
	border-radius: 20px;
	box-shadow: -5px 0 53px -15px #000;
	text-decoration: none;
	transition: transform .3s;
}

.ap-card-review:hover,
.ap-card-review:focus-visible {
	transform: translateY(-10px) scale(1.05);
}

.ap-card-review__img {
	display: block;
	padding: 15px;
}

.ap-card-review__img img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 10px;
}

.ap-card-review__title {
	margin: 0;
	padding: 2px;
	border-bottom: 2px solid var(--ap-primary);
	font-family: "Trebuchet MS", sans-serif;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	color: var(--ap-primary);
}

.ap-card-review__date {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 10px;
	font-family: "Trebuchet MS", sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: var(--ap-primary);
}

.ap-card-review__date .ap-icon {
	width: 32px;
	height: 32px;
	fill: var(--ap-primary);
}

.ap-kid__progress {
	padding: 10px;
	max-width: 1140px;
	margin: 0 auto;
}

@media (max-width: 1024px) {
	.ap-eval__box,
	.ap-eval--k13_17 .ap-eval__box--psy {
		flex-basis: calc((100% - 20px) / 2);
	}
	.ap-review__meta {
		max-width: 100%;
	}
}

@media (max-width: 767px) {
	.ap-review__meta {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.ap-review__meta > :nth-child(2) {
		order: 3;
	}
	.ap-review__meta > :nth-child(3) {
		order: 2;
	}
	.ap-review__meta > :nth-child(4) {
		order: 4;
	}
	.ap-review__meta .ap-kit-title,
	.ap-review__chip {
		font-size: 18px;
	}
	.ap-eval__box,
	.ap-eval--k13_17 .ap-eval__box--psy,
	.ap-eval--k7_12 .ap-eval__box {
		flex-basis: 100%;
	}
	.ap-eval__list dt,
	.ap-eval__list dd {
		font-size: 18px;
	}
	.ap-review__text {
		width: 100%;
	}
	.ap-kid,
	.ap-kid__cols {
		flex-direction: column;
	}
}

/* ---------- MY APOLLON: σύνδεση ---------- */

.ap-account {
	display: flex;
	justify-content: center;
	padding: 60px 16px 80px;
}

.ap-account__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	width: 100%;
	max-width: 420px;
	padding: 36px 32px;
	background: var(--ap-menu-bg);
	border-radius: 20px;
	box-shadow: 0 4px 24px rgba(23, 81, 196, .15);
	color: var(--ap-primary);
	text-align: center;
}

.ap-account__logo {
	display: block;
	width: 140px;
	height: auto;
}

.ap-account__title {
	margin: 0;
	font-family: var(--ap-font-display);
	font-size: 32px;
	font-weight: 400;
	line-height: 1.1;
	color: var(--ap-primary);
}

.ap-account__lead,
.ap-account__hello {
	margin: 0;
	font-family: var(--ap-font-text);
	font-size: 15px;
	line-height: 1.5;
}

.ap-account__error {
	width: 100%;
	margin: 0;
	padding: 10px 14px;
	background: #fdf3f2;
	border: 1px solid #e0c9c7;
	border-radius: 10px;
	font-size: 14px;
	color: #8a2a2a;
}

.ap-account__notice {
	width: 100%;
	margin: 0;
	padding: 12px 14px;
	background: #eef4fb;
	border: 1px solid #c9d8ea;
	border-radius: 10px;
	font-family: var(--ap-font-text);
	font-size: 14px;
	line-height: 1.5;
	color: #1d3f6e;
}

.ap-account__form {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
	text-align: start;
}

.ap-account__form label {
	font-family: var(--ap-font-display);
	font-size: 12px;
	color: var(--ap-primary);
}

.ap-account__form input[type="text"],
.ap-account__form input[type="password"] {
	width: 100%;
	margin-bottom: 8px;
	padding: 10px 12px;
	background: #fff;
	border: 1px solid var(--ap-primary);
	border-radius: 8px;
	font-family: var(--ap-font-text);
	font-size: 16px;
	color: #222;
}

.ap-account__form input:focus-visible {
	outline: 2px solid var(--ap-primary);
	outline-offset: 1px;
}

.ap-account .ap-account__remember {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
	font-family: var(--ap-font-text);
	font-size: 14px;
}

.ap-account__button {
	display: inline-flex;
	justify-content: center;
	width: 100%;
	padding: 12px 20px;
	background: var(--ap-primary);
	border: 1px solid var(--ap-primary);
	border-radius: 8px;
	font-family: var(--ap-font-text);
	font-size: 16px;
	font-weight: 500;
	color: #fff;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .3s, color .3s;
}

.ap-account__button:hover,
.ap-account__button:focus-visible {
	background: #fff;
	color: var(--ap-primary);
}

.ap-account__lost {
	font-family: var(--ap-font-text);
	font-size: 14px;
	color: var(--ap-primary);
}

.ap-account__menu {
	display: flex;
	flex-direction: column;
	gap: 6px;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ap-account__menu a {
	display: block;
	padding: 10px 12px;
	background: #fff;
	border: 1px solid rgba(23, 81, 196, .25);
	border-radius: 8px;
	font-family: var(--ap-font-display);
	font-size: 14px;
	color: var(--ap-primary);
	text-decoration: none;
}

.ap-account__menu a:hover,
.ap-account__menu a:focus-visible {
	background: var(--ap-primary);
	color: #fff;
}

/* ---------- Φόρμα φωτογραφίας παιδιού (αντί για JFB 1402) ---------- */

.apfrm-photo {
	max-width: 520px;
	margin: 0 auto;
}

.apfrm-photo__form {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 20px;
	background: var(--ap-menu-bg);
	border-radius: 20px;
	color: var(--ap-primary);
}

.apfrm-photo__label {
	font-family: var(--ap-font-display);
	font-size: 16px;
}

.apfrm-photo__desc {
	font-family: var(--ap-font-text);
	font-size: 13px;
}

.apfrm-photo__btn {
	align-self: flex-start;
	padding: 10px 20px;
	background: var(--ap-primary);
	border: 1px solid var(--ap-primary);
	border-radius: 8px;
	font-family: var(--ap-font-text);
	font-size: 15px;
	color: #fff;
	cursor: pointer;
}

.apfrm-photo__btn:hover,
.apfrm-photo__btn:focus-visible {
	background: #fff;
	color: var(--ap-primary);
}

.apfrm-photo .apgr-note {
	margin-bottom: 10px;
	padding: 10px 14px;
	border: 1px solid;
	border-radius: 10px;
}

.apfrm-photo .apfrm-ok {
	background: #eef8f0;
	border-color: #b9dfc1;
	color: #1d6b33;
}

.apfrm-photo .apfrm-err {
	background: #fdf3f2;
	border-color: #e0c9c7;
	color: #8a2a2a;
}
