/* ===== Ethics Olympiad v2 — platform-style ===== */

/* Eyebrow label */
.eo-eyebrow {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--blue);
}

/* Divider: gold / silver / bronze medal dots (kept from v1 — encodes the awards) */
hr.eo-medal-divider,
.eo-medal-divider hr {
	border: none;
	background: none;
	width: 72px;
	height: 12px;
	margin-left: auto;
	margin-right: auto;
	background-image:
		radial-gradient(circle 5px at 6px 6px,  #E8B131 5px, transparent 5.5px),
		radial-gradient(circle 5px at 36px 6px, #AEB6BD 5px, transparent 5.5px),
		radial-gradient(circle 5px at 66px 6px, #C07A45 5px, transparent 5.5px);
	background-repeat: no-repeat;
	opacity: 1;
}

/* Highlighted word in hero */
.eo-underline {
	box-shadow: inset 0 -0.32em 0 rgba(61, 110, 158, 0.22);
	font-style: normal;
}

/* White card sections: any group with .eo-panel becomes a rounded white card */
.eo-panel {
	background: var(--wp--preset--color--paper);
	border: 1px solid #E2E8EE;
	border-radius: 16px;
	box-shadow: 0 1px 2px rgba(34, 48, 60, 0.04);
}

/* Stats */
.eo-stat p:first-child {
	font-size: clamp(2rem, 4vw, 2.8rem);
	font-weight: 800;
	line-height: 1;
	margin-bottom: 0.2rem;
	color: var(--wp--preset--color--blue);
}
.eo-stat p:last-child {
	color: var(--wp--preset--color--slate);
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

/* Cards */
.eo-card {
	background: var(--wp--preset--color--paper);
	border: 1px solid #E2E8EE;
	border-radius: 14px;
	padding: 1.5rem 1.4rem 1.3rem;
	height: 100%;
	box-shadow: 0 1px 2px rgba(34, 48, 60, 0.04);
	transition: transform 160ms ease, box-shadow 160ms ease;
}
.eo-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(34, 48, 60, 0.10);
}
.eo-card h3 { margin-top: 0; font-size: 1.15rem; }
.eo-card p { color: var(--wp--preset--color--slate); font-size: 0.95rem; }
.eo-card a { font-weight: 600; text-decoration: none; }

/* Age-level badges (brand rule: red/yellow/green reserved for levels) */
.eo-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.45em;
	padding: 0.2em 0.85em;
	border: 1px solid #E2E8EE;
	border-radius: 999px;
	background: var(--wp--preset--color--paper);
	font-size: 0.78rem !important;
	font-weight: 700;
	color: var(--wp--preset--color--ink) !important;
	text-transform: none;
}
.eo-badge::before {
	content: "";
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--wp--preset--color--slate);
}
.eo-badge-junior::before   { background: var(--wp--preset--color--junior); }
.eo-badge-middle::before   { background: var(--wp--preset--color--middle); }
.eo-badge-senior::before   { background: var(--wp--preset--color--senior); }
.eo-badge-tertiary::before { background: var(--wp--preset--color--blue); }

/* Quote */
.eo-quote blockquote,
blockquote.eo-quote {
	border: none;
	margin: 0;
	padding: 1.8rem 2rem;
	background: var(--wp--preset--color--paper);
	border: 1px solid #E2E8EE;
	border-radius: 16px;
	font-size: clamp(1.1rem, 2vw, 1.3rem);
	font-weight: 500;
	line-height: 1.5;
}
.eo-quote cite {
	display: block;
	margin-top: 0.9rem;
	font-size: 0.8rem;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--slate);
}

/* Rounded images */
.wp-block-image img { border-radius: 14px; }

/* Header: white bar, pill nav */
.eo-header {
	background: var(--wp--preset--color--paper);
	border-bottom: 1px solid #E2E8EE;
	position: sticky;
	top: 0;
	z-index: 50;
}
.eo-header .wp-block-site-title a {
	font-weight: 800;
	font-size: 1.2rem;
	text-decoration: none;
	color: var(--wp--preset--color--ink);
	letter-spacing: -0.01em;
}
.eo-header .wp-block-navigation a,
.eo-header .wp-block-page-list a {
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	padding: 0.4rem 0.9rem;
	border-radius: 999px;
	transition: background 120ms ease, color 120ms ease;
}
.eo-header .wp-block-navigation a:hover,
.eo-header .wp-block-page-list a:hover {
	background: var(--wp--preset--color--mist);
	color: var(--wp--preset--color--ink);
}
.eo-header .current-menu-item > a,
.eo-header .wp-block-pages-list__item.current-menu-item a {
	background: var(--wp--preset--color--blue);
	color: var(--wp--preset--color--paper) !important;
}

/* Outline button variant */
.is-style-outline .wp-block-button__link {
	background: var(--wp--preset--color--paper);
	color: var(--wp--preset--color--blue);
	border: 1.5px solid var(--wp--preset--color--blue);
}
.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--blue);
	color: var(--wp--preset--color--paper);
}

/* Footer */
.eo-footer { border-top: 1px solid #2E4258; }
.eo-footer a { color: #C9D6E2; }
.eo-footer a:hover { color: var(--wp--preset--color--junior); }

@media (prefers-reduced-motion: reduce) {
	.eo-card, .eo-card:hover { transition: none; transform: none; }
}
