/* Section library styles. Loaded on every page and in the editor. */

/*
 * Coral as small text must reach 4.5:1. The palette coral (#e63e54) stays for bands, markers,
 * borders and large text; these two darker/lighter tones are for text only.
 * #c92f45: 5.28:1 on white, 4.90:1 on cream. #f26b7c: 5.53:1 on navy.
 */
:root {
	--ea-coral-strong: #c92f45;
	--ea-coral-text: var(--ea-coral-strong);
	--ea-coral-text-on-navy: #f26b7c;
	/* Dates and reading times, on white and on cream: #5f6e76 gives 5.28:1 on white and 4.90:1 on cream. */
	--ea-meta-grey: #5f6e76;
}

.ea-section {
	padding-block: clamp(3.5rem, 6vw, 5.5rem);
}

/* Sections are separated by the mockup's 3 px navy rule, unless joined to the previous one. */
.ea-section + .ea-section {
	border-top: 3px solid var(--wp--preset--color--navy);
}

.ea-section + .ea-section--joined {
	padding-top: 0;
	border-top: 0;
}

/* Full-width sections touch each other: no block-gap strip of page background between them. */
.ea-section.alignfull {
	margin-block: 0;
}

.wp-site-blocks > :is(main, footer) {
	margin-block-start: 0;
}

.ea-section--article-header {
	padding-bottom: var(--wp--preset--spacing--40);
}

/* Header and body share one column (the theme's content width) so the title lines up with the text below. */
.ea-section--article-header > * {
	max-width: var(--wp--style--global--content-size);
}

.ea-section--article-header + .ea-section--article-body {
	border-top: 0;
}

.ea-section--article-header h1 {
	margin-block: 14px;
}

.ea-article-meta {
	align-items: center;
	gap: 6px 16px;
	margin-block: 0 28px;
	color: var(--ea-meta-grey);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.8125rem;
}

.ea-article-meta > * {
	margin: 0;
}

/* The featured image is the widest thing in the header: keep it on the title's column but framed like a card. */
.ea-section--article-header .wp-block-post-featured-image {
	margin: 0;
}

.ea-section--article-header .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	border: 3px solid var(--wp--preset--color--navy);
	border-radius: 14px;
	box-shadow: var(--wp--preset--shadow--offset);
}

.ea-section--article-body {
	padding-top: 0;
}

/* Step numbers share the heading font; each variant sets its own size and colour. */
.ea-step__number {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
}

/* Search field: pill shaped like the buttons. */
.wp-block-search__input {
	padding: 0.6rem 1rem;
	border: 1px solid var(--wp--preset--color--grey-200);
	border-radius: 999px;
}

/* ===== Redesign — shared pieces ===== */

/* Navy surfaces (sections and cards): lilac text, white headings. */
:is(.ea-section, .ea-card).has-navy-background-color {
	color: var(--wp--preset--color--purple-200);
}

:is(.ea-section, .ea-card).has-navy-background-color :is(h1, h2, h3) {
	color: var(--wp--preset--color--white);
}

/* On navy surfaces the keyboard focus ring and the small coral text switch to colours that read on dark. */
:is(.ea-section, .ea-card).has-navy-background-color {
	--ea-focus: var(--wp--preset--color--white);
	--ea-coral-text: var(--ea-coral-text-on-navy);
}

/* Narrower content columns (1072 px; 952 px for the FAQ and the stats), still left-aligned like the mockup. */
.is-layout-constrained > .alignwide.ea-narrow {
	max-width: 1072px;
}

.is-layout-constrained > .alignwide.ea-narrow--sm {
	max-width: 952px;
}

.ea-eyebrow {
	margin: 0;
	color: var(--ea-coral-text);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ea-eyebrow--yellow {
	color: var(--wp--preset--color--yellow);
}

.ea-eyebrow--purple {
	color: var(--wp--preset--color--purple);
}

.ea-mono {
	color: var(--wp--preset--color--navy);
	font-family: var(--wp--preset--font-family--mono);
}

/* Speech bubble with a tail at the bottom left (two stacked triangles: navy outline, filled inside). */
.ea-bubble {
	--ea-bubble-bg: var(--wp--preset--color--yellow);
	position: relative;
	padding: 1rem 1.5rem;
	border: 3px solid var(--wp--preset--color--navy);
	border-radius: 24px;
	background: var(--ea-bubble-bg);
	box-shadow: 2px 2px 0 var(--wp--preset--color--navy);
	color: var(--wp--preset--color--navy);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 1.125rem;
	line-height: 1.4;
}

.ea-bubble--white {
	--ea-bubble-bg: var(--wp--preset--color--white);
}

.ea-bubble::before,
.ea-bubble::after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
}

.ea-bubble::before {
	bottom: -16px;
	left: 28px;
	border-width: 16px 12px 0;
	border-color: var(--wp--preset--color--navy) transparent transparent;
}

.ea-bubble::after {
	bottom: -10px;
	left: 32px;
	border-width: 11px 8px 0;
	border-color: var(--ea-bubble-bg) transparent transparent;
}

/*
 * Stacked containers: children in a column separated by --ea-stack-gap. Each member redeclares
 * the gap so a nested stack (a card inside the contact aside) never inherits its parent's value.
 */
:is(.ea-card, .ea-hero__content, .ea-split__col, .ea-story__text, .ea-cta, .ea-cta__content, .ea-contact__aside) {
	--ea-stack-gap: 18px;
	display: flex;
	flex-direction: column;
	gap: var(--ea-stack-gap);
}

:is(.ea-card, .ea-hero__content, .ea-split__col, .ea-story__text, .ea-cta, .ea-cta__content, .ea-contact__aside) > * {
	margin-block: 0;
}

/* Cards: the band variant gets a 6 px coral strip on top. */
.ea-card {
	padding: 30px 26px;
	border: 3px solid var(--wp--preset--color--navy);
	border-radius: 14px;
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--offset);
}

.ea-card--band {
	position: relative;
	overflow: hidden;
	padding-top: calc(30px + 6px);
}

.ea-card--band::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 6px;
	background: var(--wp--preset--color--coral);
}

/* A card on a white section turns cream, as in the mockup. */
.ea-section.has-white-background-color .ea-card:not(.has-background) {
	background: var(--wp--preset--color--cream);
}

.ea-buttons--large .wp-block-button__link {
	padding: 1rem 2rem;
	font-size: 1.125rem;
}

.ea-buttons--full,
.ea-buttons--full .wp-block-button,
.ea-buttons--full .wp-block-button__link {
	width: 100%;
}

/* Lists with ✦ (spark) or ✕ (cross) markers. */
.wp-block-list:is(.is-style-spark, .is-style-cross) {
	display: grid;
	gap: 10px;
	padding-left: 0;
	list-style: none;
}

.wp-block-list:is(.is-style-spark, .is-style-cross) li {
	display: flex;
	gap: 10px;
}

.wp-block-list:is(.is-style-spark, .is-style-cross) li::before {
	flex: none;
	color: var(--wp--preset--color--coral);
	font-weight: 700;
}

.wp-block-list.is-style-spark li::before {
	content: "✦" / "";
}

.wp-block-list.is-style-cross li::before {
	content: "✕" / "";
}

.ea-tags {
	gap: 12px;
}

/* Small uppercase pills: the hero tags and the contact links. */
:is(.ea-tag, .ea-pill a) {
	display: inline-block;
	padding: 0.25rem 0.6rem;
	border-radius: 999px;
	color: var(--wp--preset--color--white);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-transform: uppercase;
}

.ea-tag {
	margin: 0;
	background: var(--ea-coral-strong); /* white text on it: 5.28:1, also inside navy heroes */
}

/* ===== Hero ===== */
.ea-hero {
	display: grid;
	gap: 56px;
	align-items: center;
}

@media (min-width: 782px) {
	.ea-hero:has(.ea-hero__image) {
		grid-template-columns: 1fr 1fr;
	}
}

.ea-hero__content {
	--ea-stack-gap: 22px;
}

.ea-hero h1 em {
	color: var(--wp--preset--color--yellow);
	font-style: inherit;
}

.ea-hero--compact h1 {
	font-size: clamp(2rem, 5vw, 3.625rem);
}

.ea-hero__text {
	max-width: 520px;
	font-size: clamp(1.0625rem, 2.4vw, 1.1875rem);
	line-height: 1.6;
}

.ea-hero__tagline {
	color: var(--wp--preset--color--white);
	font-size: 1.1875rem;
	font-weight: 700;
}

.ea-hero__image {
	margin: 0;
	text-align: center;
}

.ea-hero__image img {
	width: auto;
	max-width: 100%;
	max-height: 540px;
	filter: drop-shadow(0 18px 40px rgb(0 0 0 / 45%));
}

.is-layout-constrained > .ea-hero--center {
	max-width: 900px;
	margin-inline: auto;
	text-align: center;
}

.ea-hero--center .ea-hero__content {
	align-items: center;
}

/* ===== Accueil sections ===== */
.ea-split__col {
	--ea-stack-gap: 20px;
}

.ea-section--split-text h2 {
	max-width: 600px;
}

.ea-section--split-text p:not(.ea-bubble) {
	font-size: 1.125rem;
	line-height: 1.65;
}

.ea-split__lead {
	color: var(--wp--preset--color--navy);
	font-weight: 700;
}

.ea-section--band {
	padding-block: 4rem;
	text-align: center;
}

.ea-section--newsletter {
	padding-block: 4.5rem;
}

.ea-section--band h2 {
	font-size: clamp(1.75rem, 4vw, 2.375rem);
}

.ea-section--band .ea-mono {
	color: var(--wp--preset--color--yellow);
	font-size: 1.0625rem;
}

.ea-offer {
	padding: 40px 36px;
}

.ea-offer strong {
	color: var(--ea-coral-text);
}

.ea-offer .wp-block-buttons {
	margin-top: auto;
}

.ea-section--cards h2,
.ea-section--steps h2,
.ea-section--faq h2 {
	max-width: 660px;
	font-size: clamp(1.75rem, 4vw, 2.625rem);
}

.ea-feature h3 {
	font-size: 1.375rem;
}

.ea-card__number {
	color: var(--ea-coral-text);
	font-size: 0.875rem;
	font-weight: 700;
}

.ea-card__pill {
	align-self: flex-start;
	padding: 3px 12px;
	border: 2px solid var(--wp--preset--color--navy);
	border-radius: 999px;
	background: var(--wp--preset--color--cream);
	color: var(--wp--preset--color--navy);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.8125rem;
}

/* Navy cards (ea-card + navy background) with a yellow numbered disc. */
.ea-steps--cards .ea-step {
	--ea-stack-gap: 14px;
	padding: 32px 28px;
}

.ea-steps--cards .ea-step__number {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	margin: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--yellow);
	color: var(--wp--preset--color--navy);
	font-size: 1.375rem;
	font-style: italic;
	font-weight: 800;
}

.ea-steps--cards h3 {
	font-size: 1.4375rem;
}

.ea-step__body {
	margin: 0;
}

.ea-step__body > * {
	margin-block: 0 0.5rem;
}

.ea-story {
	gap: 56px;
	align-items: center;
}

.ea-story__image img {
	width: 100%;
	height: auto;
	border: 4px solid var(--wp--preset--color--navy);
	border-radius: 14px;
	box-shadow: var(--wp--preset--shadow--offset);
}

.ea-story__text p {
	font-size: 1.0625rem;
}

.ea-story__text strong {
	color: var(--ea-coral-text);
}

.ea-section--stats {
	text-align: center;
}

.ea-section--stats h2 {
	font-size: clamp(1.6rem, 3.5vw, 2.125rem);
}

.ea-stat > * {
	margin: 0;
}

.ea-stat__value {
	color: var(--wp--preset--color--yellow);
	font-size: clamp(2.5rem, 5vw, 3.25rem);
	font-style: italic;
	font-weight: 800;
	line-height: 1;
}

.ea-stat__label {
	margin-top: 0.5rem;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.9375rem;
}

.ea-testimonials {
	gap: 48px;
	align-items: center;
}

.ea-testimonials__image {
	margin: 0;
	text-align: center;
}

.ea-testimonials__image img {
	width: 280px;
	max-width: 100%;
	height: auto;
}

/* FAQ cards: native <details>, +/− in purple. */
.ea-faq {
	display: grid;
	gap: 16px;
}

.ea-faq .wp-block-details {
	margin: 0;
	padding: 22px 26px;
	border: 3px solid var(--wp--preset--color--navy);
	border-radius: 14px;
	background: var(--wp--preset--color--cream);
}

.ea-faq .wp-block-details > :not(summary) {
	margin-block: 10px 0;
}

.ea-faq .wp-block-details > summary + * {
	margin-block-start: 12px;
}

.ea-faq .wp-block-details[open] {
	box-shadow: var(--wp--preset--shadow--offset);
}

.ea-faq .wp-block-details summary {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	list-style: none;
	cursor: pointer;
	color: var(--wp--preset--color--navy);
	font-size: 1.25rem;
	font-style: italic;
	font-weight: 800;
}

.ea-faq .wp-block-details summary::-webkit-details-marker {
	display: none;
}

.ea-faq .wp-block-details summary::after {
	content: "+";
	color: var(--wp--preset--color--purple);
	font-size: 1.5rem;
	font-style: normal;
	line-height: 1;
}

.ea-faq .wp-block-details[open] summary::after {
	content: "−";
}

.ea-faq__more {
	align-items: center;
	gap: 14px;
	margin-top: 36px;
}

.ea-faq__more > * {
	margin: 0;
}

.ea-cta {
	--ea-stack-gap: 24px;
	align-items: center;
	text-align: center;
}

.ea-cta--split {
	display: grid;
	gap: 40px;
	align-items: center;
	text-align: left;
}

.ea-cta__content {
	--ea-stack-gap: 24px;
}

.ea-section--cta h2 {
	font-size: clamp(2rem, 4.5vw, 3rem);
}

.ea-cta__image {
	margin: 0;
	text-align: center;
}

.ea-cta__image img {
	width: 260px;
	max-width: 100%;
	height: auto;
}

.ea-cta__link a {
	color: var(--wp--preset--color--purple-200);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.875rem;
	text-decoration: none;
}

/* ===== Mockup spacing and two-column grids ===== */

/*
 * Core sizes grid columns from the theme block gap (24 px); with the mockup's wider gaps two
 * columns no longer fit and the grid collapses to one. esprit_allie_grid() tags a capped grid
 * with ea-grid--cols-N: pin the two columns on wide screens (the extra class matches core's
 * container selector specificity). The gallery pins its four columns below.
 */
@media (min-width: 782px) {
	.ea-grid--cols-2.is-layout-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.ea-split.is-layout-grid,
.ea-cta--split.is-layout-grid {
	gap: 40px;
}

.ea-offer-grid.is-layout-grid {
	gap: 28px;
}

/* Eyebrow sits 12 px above its title; grids and FAQ lists start 44 px under it. */
.ea-section .ea-eyebrow + h2 {
	margin-block-start: 12px;
}

.ea-section h2 + :is(.is-layout-grid, .ea-faq) {
	margin-block-start: 44px;
}

.ea-section--split-text h2 + .is-layout-grid {
	margin-block-start: 40px;
}

.ea-section--stats h2 + .is-layout-grid {
	margin-block-start: 40px;
}

.ea-section--hero {
	padding-block: clamp(3.5rem, 6.7vw, 6rem) clamp(3.5rem, 7.2vw, 6.5rem);
}

.ea-section--band h2 + .ea-mono {
	margin-block-start: 18px;
}

/* ===== Offer pages ===== */
.ea-list-card {
	padding: 36px 32px;
}

.ea-list-card__title {
	font-size: 1.625rem;
}

.ea-section--ribbon {
	padding-block: 14px;
	text-align: center;
}

.ea-section--ribbon p {
	margin: 0;
	color: var(--wp--preset--color--navy);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.9375rem;
}

.ea-section--ribbon.has-navy-background-color {
	padding-block: 18px;
}

.ea-section--ribbon.has-navy-background-color p {
	color: var(--wp--preset--color--yellow);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.125rem;
	font-style: italic;
	font-weight: 800;
	text-transform: uppercase;
	word-spacing: 0.4em;
}

.ea-steps--list .ea-step {
	display: grid;
	grid-template-columns: 92px 1fr;
	gap: 24px;
	padding-block: 24px;
	border-bottom: 1px solid var(--wp--preset--color--grey-200);
}

.ea-steps--list .ea-step__number {
	margin: 0;
	color: var(--wp--preset--color--coral);
	font-size: 1.75rem;
	font-style: italic;
	font-weight: 800;
}

.ea-steps--list h3 {
	font-size: 1.375rem;
}

.ea-price-card {
	padding: 36px 32px;
}

.ea-price {
	color: var(--wp--preset--color--white);
	font-size: 2.875rem;
	font-style: italic;
	font-weight: 800;
	line-height: 1;
}

.ea-price em {
	color: var(--wp--preset--color--purple-200);
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 600;
}

.ea-pricing {
	align-items: stretch;
}

.ea-list-cards.is-layout-grid,
.ea-pricing.is-layout-grid {
	gap: 28px;
}

/* Offer pages: mockup measurements. */
.ea-hero--compact {
	align-items: center;
}

.ea-section--hero:has(.ea-hero--compact) {
	padding-block: 80px;
}

.ea-hero--compact .ea-hero__image img {
	width: 360px;
}

.ea-section--steps h2 + .ea-steps--list {
	margin-block-start: 40px;
}

.ea-cta:not(.ea-cta--split) {
	max-width: 852px;
	margin-inline: auto;
}

.ea-before,
.ea-after {
	padding: 32px;
}

.ea-after li {
	color: var(--wp--preset--color--white);
}

.ea-after .wp-block-list li::before {
	color: var(--wp--preset--color--yellow);
}

.ea-section--tiles h2 {
	font-size: clamp(1.75rem, 4vw, 2.5rem);
}

.ea-tile {
	display: flex;
	gap: 12px;
	margin: 0;
	padding: 18px 20px;
	border: 3px solid var(--wp--preset--color--navy);
	border-radius: 8px;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--navy);
	font-weight: 600;
}

.ea-tile::before {
	content: "✦" / "";
	color: var(--wp--preset--color--coral);
}

/* ===== À propos ===== */
.ea-hero--light h1 {
	font-size: clamp(2rem, 5vw, 3.5rem);
}

.ea-hero--light .ea-hero__text {
	color: var(--wp--preset--color--grey-700);
}

.ea-hero--light .ea-hero__image img {
	max-height: 760px;
	filter: none;
	border-radius: 14px;
}

.ea-section--prose h2 {
	font-size: clamp(1.75rem, 4vw, 2.375rem);
}

.ea-section--prose p {
	font-size: 1.125rem;
	line-height: 1.7;
}

.ea-gallery {
	gap: 32px;
	align-items: center;
}

.ea-gallery__image {
	margin: 0;
	text-align: center;
}

.ea-gallery__image img {
	width: auto;
	max-width: min(100%, 210px);
	max-height: 240px;
}

/* Four illustrations in a row on wide screens (same collapse issue as the grids above), stacked on mobile like the mockup. */
.ea-gallery.is-layout-grid {
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 782px) {
	.ea-gallery.is-layout-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* ===== Contact ===== */
.ea-contact {
	gap: 32px;
	align-items: start;
}

.ea-contact__form {
	padding: 36px 32px;
}

.ea-contact__form-title {
	font-size: 1.625rem;
}

.ea-contact__aside {
	--ea-stack-gap: 24px;
}

.ea-contact__booking {
	padding: 32px;
}

.ea-contact__booking h3,
.ea-contact__faq h3 {
	font-size: 1.5rem;
}

.ea-contact__faq {
	--ea-stack-gap: 14px;
	padding: 28px;
}

.ea-contact__faq-item {
	padding-bottom: 14px;
	border-bottom: 1px solid var(--wp--preset--color--grey-200);
}

.ea-contact__faq-item:last-child {
	border-bottom: 0;
}

.ea-contact__faq-item > * {
	margin: 0;
}

.ea-contact__question {
	color: var(--wp--preset--color--navy);
	font-weight: 700;
}

.ea-contact__faq-item p:not(.ea-contact__question) {
	font-size: 0.9375rem;
}

.ea-pills {
	gap: 12px;
}

.ea-pill {
	margin: 0;
}

.ea-pill a {
	background: var(--wp--preset--color--navy);
}

.ea-pill a:hover {
	background: var(--wp--preset--color--purple);
}

/* ===== Blog ===== */
.ea-blog-intro {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.ea-blog-intro > * {
	margin-block: 0;
}

.ea-blog-intro h1 {
	max-width: 720px;
	font-size: clamp(2.25rem, 5vw, 3.5rem);
}

.ea-blog-intro__text {
	max-width: 520px;
	font-size: 1.125rem;
}

.ea-filter ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
}

.ea-filter__pill {
	display: inline-block;
	padding: 7px 16px;
	border: 3px solid var(--wp--preset--color--navy);
	border-radius: 999px;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--navy);
	font-size: 0.875rem;
	font-weight: 700;
	line-height: normal;
	text-decoration: none;
}

.ea-filter__pill:hover,
.ea-filter__pill.is-active {
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--white);
}

.ea-post-grid .wp-block-post-template {
	margin-top: 56px;
}

/* Core's computed columns give 3 up to 1100 px; the mockup shows 2 on tablets, and 4 from the block's columnCount above that. */
@media (min-width: 600px) and (max-width: 1099px) {
	.ea-post-grid .wp-block-post-template.is-layout-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.ea-post-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	height: 100%;
	border: 3px solid var(--wp--preset--color--navy);
	border-radius: 14px;
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--offset);
}

.ea-post-card > * {
	margin-block: 0;
}

/* Dotted pattern shows when the post has no featured image (the image block then renders nothing). */
.ea-post-card__media {
	height: 150px;
	background: radial-gradient(var(--wp--preset--color--navy) 1.2px, transparent 1.3px) 0 0 / 8px 8px, var(--wp--preset--color--purple-100);
}

.ea-post-card__media .wp-block-post-featured-image,
.ea-post-card__media img {
	height: 100%;
	margin: 0;
	object-fit: cover;
}

.ea-post-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 12px;
	padding: 24px 24px 28px;
}

.ea-post-card__body > * {
	margin-block: 0;
}

.ea-post-card__meta {
	align-items: center;
	gap: 6px 10px;
}

/* One line per tag: a long theme name is cut with an ellipsis instead of pushing the date down. */
.ea-post-card__meta .wp-block-post-terms {
	min-width: 0;
	max-width: 100%;
}

.ea-post-card__meta .wp-block-post-terms a,
.ea-category-link a {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 999px;
	background: #f1f3f4;
	color: var(--wp--preset--color--navy);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-transform: uppercase;
}

.ea-post-card__meta .wp-block-post-terms a {
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: top;
}

.ea-post-card .wp-block-post-date {
	color: var(--ea-meta-grey);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.75rem;
}

.ea-post-card h3 {
	font-size: 1.3125rem;
	line-height: 1.1;
}

.ea-post-card h3 a {
	color: inherit;
	text-decoration: none;
}

.ea-post-card .wp-block-post-excerpt {
	font-size: 0.9375rem;
}

.ea-post-card .wp-block-post-excerpt__excerpt {
	margin: 0;
}

.ea-post-card .wp-block-read-more {
	margin-top: auto;
	color: var(--wp--preset--color--purple);
	font-size: 0.9375rem;
	font-weight: 700;
	text-decoration: none;
}

.ea-post-card .wp-block-read-more::after {
	content: " →" / "";
}
