/*
Theme Name:   Astra Child - P'tits Korrigans
Theme URI:    https://ptitskorrigans.com
Description:  Thème enfant d'Astra. Contient les personnalisations du site (fiche Korrigan en PHP + ACF), à l'abri des mises à jour d'Astra.
Author:       Association des P'tits Korrigans
Template:     astra
Version:      1.0.0
Text Domain:  astra-child
*/

/* ---- Fiche Korrigan (remplace le modèle Elementor Pro) ---- */

.pk-fiche {
	margin: 2em 0;
	border: 1px solid rgba(0, 0, 0, .12);
	border-radius: 8px;
	overflow: hidden;
}

.pk-fiche__titre {
	margin: 0;
	padding: .75em 1em;
	font-size: 1.05em;
	font-weight: 600;
	background: rgba(0, 0, 0, .04);
	border-bottom: 1px solid rgba(0, 0, 0, .12);
}

.pk-fiche__liste {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 0;
	margin: 0;
}

.pk-fiche__liste dt,
.pk-fiche__liste dd {
	margin: 0;
	padding: .6em 1em;
	border-bottom: 1px solid rgba(0, 0, 0, .07);
}

.pk-fiche__liste dt {
	font-weight: 600;
	white-space: nowrap;
}

.pk-fiche__liste dd {
	overflow-wrap: anywhere;
}

.pk-fiche__liste dt:last-of-type,
.pk-fiche__liste dd:last-of-type {
	border-bottom: 0;
}

.pk-fiche__lien {
	padding: .8em 1em;
	border-top: 1px solid rgba(0, 0, 0, .12);
}

@media (max-width: 600px) {
	.pk-fiche__liste {
		grid-template-columns: 1fr;
	}

	.pk-fiche__liste dt {
		padding-bottom: 0;
		border-bottom: 0;
	}
}

/* ---- Onglets de filtre des grilles (remplacent ceux d'EA Pro) ---- */

.pk-onglets {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 14px; /* vertical, horizontal */
	margin: 0 0 1.5em;
}

.pk-onglet {
	padding: .5em 1.2em;
	border: 0;
	/* Taille, graisse et arrondi relevés sur les onglets d'EA Pro en ligne. */
	border-radius: 20px;
	background: #F4D384;
	color: #FFFFFF;
	font: inherit;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.3;
	/* Les onglets d'Essential Addons Pro s'affichaient en capitales
	   (.eael-filter-gallery-control > ul li). */
	text-transform: uppercase;
	letter-spacing: 1px;
	cursor: pointer;
	transition: background .2s ease;
}

.pk-onglet:hover,
.pk-onglet:focus-visible {
	background: #E0BC64;
}

.pk-onglet.is-actif {
	background: #563D2E;
}

.pk-onglet__n {
	display: inline-block;
	margin-left: .35em;
	opacity: .75;
	font-size: .85em;
	font-weight: 400;
}

/* Filtre réglé sans fiche pour le moment : proposé, mais en retrait. */
.pk-onglet--vide {
	opacity: .55;
}

.pk-onglet--vide.is-actif {
	opacity: 1;
}

.pk-onglets__vide {
	margin: 1em 0 0;
	text-align: center;
	font-style: italic;
	color: #563D2E;
}

.pk-grille-filtrable::after {
	content: "";
	display: table;
	clear: both;
}

/* ---- Grilles d'articles : alignement en vraie grille + coins arrondis ---- */

.eael-post-grid.eael-post-appender {
	display: grid;
	gap: 26px;
	height: auto !important; /* annule la hauteur posée par la mise en page masonry */
}

/* Les vignettes sont positionnées par la grille, plus par des flottants. */
.eael-post-grid.eael-post-appender > .eael-grid-post {
	position: static !important;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	left: auto !important;
	top: auto !important;
}

/* Cartes de hauteur égale, image alignée en haut, contenu qui remplit. */
.eael-post-grid.eael-post-appender > .eael-grid-post,
.eael-grid-post > .eael-grid-post-holder,
.eael-grid-post-holder > .eael-grid-post-holder-inner {
	height: 100%;
}

.eael-grid-post-holder-inner {
	display: flex;
	flex-direction: column;
}

.eael-grid-post-holder {
	border-radius: 10px;
	overflow: hidden;
}

.eael-grid-post .eael-entry-media,
.eael-grid-post .eael-entry-thumbnail img {
	border-radius: 0;
}

/* Nombre de colonnes, repris des classes posées par Essential Addons. */
.elementor-grid-eael-col-1 .eael-post-grid.eael-post-appender { grid-template-columns: 1fr; }
.elementor-grid-eael-col-2 .eael-post-grid.eael-post-appender { grid-template-columns: repeat(2, 1fr); }
.elementor-grid-eael-col-3 .eael-post-grid.eael-post-appender { grid-template-columns: repeat(3, 1fr); }
.elementor-grid-eael-col-4 .eael-post-grid.eael-post-appender { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 1024px) {
	.elementor-grid-tablet-eael-col-1 .eael-post-grid.eael-post-appender { grid-template-columns: 1fr; }
	.elementor-grid-tablet-eael-col-2 .eael-post-grid.eael-post-appender { grid-template-columns: repeat(2, 1fr); }
	.elementor-grid-tablet-eael-col-3 .eael-post-grid.eael-post-appender { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 767px) {
	.elementor-grid-mobile-eael-col-1 .eael-post-grid.eael-post-appender { grid-template-columns: 1fr; }
	.elementor-grid-mobile-eael-col-2 .eael-post-grid.eael-post-appender { grid-template-columns: repeat(2, 1fr); }
}

/* ---- Grille « À voir aussi » sous les fiches ---- */

.pk-lies {
	margin: 2.5em 0 1em;
}

.pk-lies__titre {
	margin: 0 0 .8em;
	font-size: 1.3em;
	color: #563D2E;
	text-align: center;
}

.pk-lies__grille {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 26px;
}

.pk-lies__item {
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 0 10px rgba(0, 0, 0, .2);
	background: #FFFFFF;
}

.pk-lies__lien {
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
	color: #563D2E;
}

.pk-lies__media img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.pk-lies__nom {
	padding: .8em 1em;
	text-align: center;
	font-weight: 600;
	line-height: 1.3;
}

.pk-lies__lien:hover .pk-lies__nom,
.pk-lies__lien:focus-visible .pk-lies__nom {
	color: #D0976C;
}

@media (max-width: 1024px) {
	.pk-lies__grille { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
	.pk-lies__grille { grid-template-columns: 1fr; }
}

/* ---- Boutons de partage (remplacent le widget Elementor Pro) ---- */

.pk-partage {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 1.2em 0;
}

.pk-partage__libelle {
	margin-right: .3em;
	color: #563D2E;
	font-weight: 600;
}

.pk-partage__bouton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #563D2E;
	color: #FFFFFF;
	font-size: 15px;
	line-height: 1;
	text-decoration: none;
	transition: background .2s ease, transform .2s ease;
}

.pk-partage__bouton:hover,
.pk-partage__bouton:focus-visible {
	background: #D0976C;
	color: #FFFFFF;
	transform: translateY(-2px);
}

/* ---- Titre à soulignement (remplace l'Animated Headline) ---- */

.pk-souligne {
	position: relative;
	white-space: nowrap;
}

.pk-souligne::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -.12em;
	height: .12em;
	border-radius: .06em;
	background: #FF5757;
}

/* ---- Bouton du menu en mode réduit ----
 *
 * Header Footer Elementor passe le bouton hamburger en `display: block` au
 * point de bascule : il occupe alors toute une ligne et glisse sous les boutons
 * de l'en-tête. Elementor Pro le gardait en ligne. On rétablit ce comportement
 * pour les menus posés en largeur automatique, c'est-à-dire ceux placés à côté
 * d'autres widgets sur la même rangée.
 */

@media (max-width: 1024px) {

	.elementor-widget-navigation-menu.elementor-widget__width-auto > .elementor-widget-container {
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}

	.elementor-widget-navigation-menu.elementor-widget__width-auto .hfe-nav-menu__toggle {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		margin: 0;
		line-height: 1;
	}

	/* Le conteneur du menu et sa boîte interne doivent centrer le bouton
	 * verticalement : sans cela il se cale en bas et déborde de l'en-tête. */
	.elementor-widget-navigation-menu.elementor-widget__width-auto .hfe-nav-menu {
		display: flex;
		align-items: center;
		height: 100%;
	}

	/* HFE ajoute `padding: 0.35em` autour de l'icône : à 35 px de police, cela
	 * ajoute ~24 px de hauteur et fait déborder le bouton de la bande d'en-tête.
	 * Elementor Pro n'en mettait pas. */
	.elementor-widget-navigation-menu.elementor-widget__width-auto .hfe-nav-menu-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0 !important;
		line-height: 1;
	}

	/* La rangée qui contient le menu (bouton de don, hamburger, second bouton)
	 * doit rester sur une seule ligne : sans cela, la boîte flexible d'Elementor
	 * renvoie les widgets sous l'en-tête dès qu'ils sont un peu à l'étroit. */
	.elementor-widget-wrap:has(> .elementor-widget-navigation-menu.elementor-widget__width-auto) {
		flex-wrap: nowrap;
		align-items: center;
		justify-content: flex-end;
		gap: 10px;
	}

	.elementor-widget-wrap:has(> .elementor-widget-navigation-menu.elementor-widget__width-auto) > .elementor-element {
		flex: 0 0 auto;
	}

	/* HFE masque le panneau du menu avec `height: 0; visibility: hidden`, et non
	 * `display: none` : il reste dans le flux et repousse le bouton vers le bas
	 * dès qu'il reprend de la hauteur, notamment sur les écrans peu hauts. On le
	 * sort du flux pour qu'il se déploie par-dessus la page, comme sur mobile. */
	.elementor-widget-navigation-menu.elementor-widget__width-auto > .elementor-widget-container,
	.elementor-widget-navigation-menu.elementor-widget__width-auto .hfe-nav-menu {
		position: relative;
	}

	.elementor-widget-navigation-menu.elementor-widget__width-auto .hfe-nav-menu__toggle + nav {
		position: absolute;
		top: calc(100% + 12px);
		right: 0;
		min-width: 260px;
		z-index: 999;
	}
}

/* Au retour en grande largeur, le script de HFE fige une largeur en style inline
 * sur le menu (`$nextElement.css('width', ...)` dans son frontend.js) : prévu
 * pour le panneau mobile, ce reliquat écrase la barre horizontale. On le
 * neutralise au-dessus du point de bascule — `!important` l'emporte sur un
 * style inline. */
@media (min-width: 1025px) {

	.elementor-widget-navigation-menu .hfe-nav-menu__toggle + nav,
	.elementor-widget-navigation-menu .hfe-nav-menu__toggle ~ nav.hfe-nav-menu__layout-horizontal {
		width: auto !important;
		left: auto !important;
		position: static !important;
	}
}

/* HFE ajoute une flèche sur chaque entrée à sous-menu (14 px + 10 px de marge).
 * Elementor Pro n'en affichait pas : avec 6 entrées concernées, ces ~145 px
 * suffisaient à faire passer la barre de menu sur deux lignes. La règle de
 * masquage de HFE vise `.parent-has-child`, une classe que ce menu ne porte
 * pas ; on masque donc directement. */
.hfe-submenu-icon-none .hfe-nav-menu .sub-arrow {
	display: none;
}

/* En mobile, c'est un second bouton « Faire un don » qui s'affiche (l'autre est
 * masqué), et il est placé avant le menu dans la structure : il se retrouvait
 * donc à gauche du hamburger. On inverse l'ordre d'affichage pour le garder à
 * droite, comme sur les autres tailles d'écran. */

@media (max-width: 767px) {

	.elementor-widget-wrap:has(> .elementor-widget-navigation-menu.elementor-widget__width-auto) > .elementor-widget-navigation-menu {
		order: 1;
	}

	.elementor-widget-wrap:has(> .elementor-widget-navigation-menu.elementor-widget__width-auto) > .elementor-widget-button {
		order: 2;
	}
}

/* ---- Largeurs intermédiaires (1025 → 1400 px) ----
 *
 * Entre le seuil du hamburger (1024 px) et la largeur confortable (~1400 px),
 * la barre de menu et le bouton de don ne tiennent pas ensemble sur une ligne :
 * le bouton passait dessous, et les dernières entrées débordaient sur l'image.
 * Le défaut existait déjà avec Elementor Pro. On resserre progressivement
 * l'espacement et la taille du texte pour tout garder sur une seule rangée.
 */

@media (min-width: 1025px) and (max-width: 1400px) {

	.elementor-widget-wrap:has(> .elementor-widget-navigation-menu.elementor-widget__width-auto) {
		flex-wrap: nowrap;
		align-items: center;
		justify-content: flex-end;
	}

	.elementor-widget-navigation-menu.elementor-widget__width-auto .hfe-nav-menu > li.menu-item:not(:last-child) {
		margin-left: 9px !important;
		margin-right: 9px !important;
	}

	.elementor-widget-navigation-menu.elementor-widget__width-auto .hfe-nav-menu li a,
	.elementor-widget-navigation-menu.elementor-widget__width-auto .hfe-nav-menu > li.menu-item > a.hfe-menu-item {
		font-size: 14px !important;
		white-space: nowrap;
	}

	/* Le conteneur de l'en-tête est plafonné à 1140 px : à 1280 px de fenêtre,
	 * 140 px sont perdus de chaque côté alors que la rangée en manque. On lui
	 * rend la largeur disponible, uniquement sur cette plage. */
	.ehf-header .elementor-section.elementor-section-boxed > .elementor-container {
		max-width: 96%;
	}

	/* Le bouton ne doit pas se couper en deux lignes quand la place se resserre. */
	.elementor-widget-wrap:has(> .elementor-widget-navigation-menu.elementor-widget__width-auto) .elementor-button {
		white-space: nowrap;
	}

	/* La liste elle-même est une boîte flexible qui passe à la ligne : c'est elle
	 * qui renvoyait « Contact » sous la barre. */
	.elementor-widget-navigation-menu.elementor-widget__width-auto .hfe-nav-menu,
	.elementor-widget-navigation-menu.elementor-widget__width-auto ul.hfe-nav-menu {
		flex-wrap: nowrap;
	}
}

/* Sous 1200 px, la rangée reste juste : on resserre un cran de plus pour que le
 * menu ne vienne pas chevaucher le logo. */


@media (min-width: 1025px) and (max-width: 1200px) {

	.elementor-widget-navigation-menu.elementor-widget__width-auto .hfe-nav-menu > li.menu-item:not(:last-child) {
		margin-left: 5px !important;
		margin-right: 5px !important;
	}

	.elementor-widget-navigation-menu.elementor-widget__width-auto .hfe-nav-menu li a,
	.elementor-widget-navigation-menu.elementor-widget__width-auto .hfe-nav-menu > li.menu-item > a.hfe-menu-item {
		font-size: 13px !important;
	}
}

@media (min-width: 1025px) and (max-width: 1100px) {

	.elementor-widget-navigation-menu.elementor-widget__width-auto .hfe-nav-menu > li.menu-item:not(:last-child) {
		margin-left: 3px !important;
		margin-right: 3px !important;
	}

	.elementor-widget-navigation-menu.elementor-widget__width-auto .hfe-nav-menu li a,
	.elementor-widget-navigation-menu.elementor-widget__width-auto .hfe-nav-menu > li.menu-item > a.hfe-menu-item {
		font-size: 12px !important;
	}
}

/* ---- Carrousels d'articles (Swiper) ------------------------------------- */

/* La grille redevient un bloc : Swiper pose lui-même sa piste en flex. */
.pk-carrousel.eael-post-grid.eael-post-appender {
	display: block;
	gap: 0;
}

.pk-carrousel .swiper-slide {
	height: auto;
}

/* Mêmes annulations que pour les grilles, un cran plus bas dans l'arbre :
   les vignettes ne sont plus enfants directs de la grille. */
.pk-carrousel .swiper-slide > .eael-grid-post {
	position: static !important;
	float: none !important;
	width: 100% !important;
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
	left: auto !important;
	top: auto !important;
}

/* Flèches : discrètes, elles doivent tenir dans une vignette de 250 px sans
   masquer l'animal. La taille par défaut de Swiper (44 px) est bien trop grande. */
.pk-carrousel {
	--swiper-navigation-size: 16px;
}

.pk-carrousel .swiper-button-prev,
.pk-carrousel .swiper-button-next {
	width: 32px;
	height: 32px;
	margin-top: -16px;
	border-radius: 50%;
	background: rgba(86, 61, 46, .55);
	color: #FFFFFF;
	transition: background .2s ease, opacity .2s ease;
}

.pk-carrousel .swiper-button-prev { left: 6px; }
.pk-carrousel .swiper-button-next { right: 6px; }

.pk-carrousel .swiper-button-prev:hover,
.pk-carrousel .swiper-button-next:hover {
	background: #563D2E;
}

.pk-carrousel .swiper-button-prev::after,
.pk-carrousel .swiper-button-next::after {
	font-weight: 700;
}

/* Image de remplacement d'une photo manquante : même cadrage que les vraies. */
.pk-carrousel .pk-image-secours {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pk-carrousel .swiper-pagination-bullet-active {
	background: #563D2E;
}

/* ---- Bandeau de logos défilant (« Nous soutenir ») ---------------------- */

/* La section qui l'accueille coupe le débordement horizontal : `100vw` inclut
   la barre de défilement verticale et ferait apparaître un défilement latéral. */
.elementor-section:has(> .elementor-container .pk-bandeau) {
	overflow-x: clip;
}

/* Sortie de la colonne centrale : le bandeau prend toute la largeur de l'écran. */
.pk-bandeau {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	padding: 12px 0;
	overflow: hidden;
	/* Fondu sur les bords : les logos entrent et sortent en douceur. */
	-webkit-mask-image: linear-gradient(to right, transparent, #000 10%, #000 90%, transparent);
	mask-image: linear-gradient(to right, transparent, #000 10%, #000 90%, transparent);
}

.pk-bandeau__piste {
	display: flex;
	width: max-content;
	animation: pk-bandeau-defile var(--pk-bandeau-duree, 60s) linear infinite;
}

.pk-bandeau:hover .pk-bandeau__piste {
	animation-play-state: paused;
}

/* Écart posé en moitié de chaque côté de la série : les deux moitiés de la
   piste ont ainsi exactement la même largeur, et le raccord est invisible. */
.pk-bandeau__serie {
	display: flex;
	align-items: center;
	gap: var(--pk-bandeau-ecart);
	margin: 0;
	padding: 0 calc(var(--pk-bandeau-ecart) / 2);
	list-style: none;
}

.pk-bandeau__item {
	flex: 0 0 auto;
	margin: 0;
}

/* `!important` indispensable : la page d'accueil porte une règle en ligne
   `#post-6 .elementor img { width: 100%; height: 100% }` dont l'identifiant
   l'emporte sur toute combinaison de classes. Sans lui, les logos s'affichent
   à leur taille d'origine. */
.pk-bandeau .pk-bandeau__logo {
	display: block;
	width: auto !important;
	max-width: none !important;
	height: var(--pk-bandeau-hauteur) !important;
	object-fit: contain;
}

@keyframes pk-bandeau-defile {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

@media (max-width: 767px) {
	.pk-bandeau__serie {
		gap: calc(var(--pk-bandeau-ecart) * .6);
		padding: 0 calc(var(--pk-bandeau-ecart) * .3);
	}

	.pk-bandeau .pk-bandeau__logo {
		height: calc(var(--pk-bandeau-hauteur) * .7) !important;
	}
}

/* Mouvement réduit demandé par le système : logos fixes, centrés, une seule fois. */
@media (prefers-reduced-motion: reduce) {
	.pk-bandeau {
		-webkit-mask-image: none;
		mask-image: none;
	}

	.pk-bandeau__piste {
		width: auto;
		justify-content: center;
		animation: none;
	}

	.pk-bandeau__serie {
		flex-wrap: wrap;
		justify-content: center;
	}

	.pk-bandeau__serie--copie,
	.pk-bandeau__item--repete {
		display: none;
	}
}

/* ---- Archives rendues par leur modèle Elementor (widget archive-posts) ---- */

/* Valeurs par défaut de la feuille widget-posts.css d'Elementor Pro, absente
   sans licence. Les réglages propres au modèle (colonnes, ratio, arrondi,
   couleurs) sont ajoutés par le widget lui-même. */
.pk-archive-posts {
	display: grid;
	column-gap: 30px;
	row-gap: 35px;
}

.pk-archive-posts .elementor-post {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.pk-archive-posts .elementor-post__thumbnail__link {
	display: block;
	position: relative;
	width: 100%;
	margin-bottom: 20px;
}

.pk-archive-posts .elementor-post__thumbnail {
	position: relative;
	overflow: hidden;
	padding-bottom: 66%;
}

.pk-archive-posts .elementor-post__thumbnail img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

.pk-archive-posts .elementor-post__title {
	font-size: 18px;
	margin: 0;
}

.pk-archive-posts .elementor-post__title a,
.pk-archive-posts .elementor-post__read-more {
	text-decoration: none;
}

.pk-archive-posts .elementor-post__meta-data {
	margin-bottom: 13px;
	color: #adadad;
	font-size: 12px;
	line-height: 1.3em;
}

.pk-archive-posts .elementor-post__excerpt {
	margin-bottom: 10px;
}

.pk-archive-posts .elementor-post__excerpt p {
	margin: 0;
	color: #777;
	font-size: 14px;
	line-height: 1.5em;
}

.pk-archive-posts .elementor-post__read-more {
	align-self: flex-start;
	font-size: 12px;
	font-weight: 700;
}

/* ---- Grilles converties depuis le widget « posts » d'Elementor Pro ---- */

/* Valeurs par défaut de Pro. Sans elles, la règle d'Astra
   `.entry-content h2 { font-size: 54px }` s'applique aux titres de la grille.
   Les réglages propres à chaque grille (générés par Essential Addons, plus
   spécifiques) l'emportent toujours. */
.elementor-widget-eael-post-grid .eael-entry-title {
	font-size: 18px;
}

.elementor-widget-eael-post-grid .eael-entry-meta,
.elementor-widget-eael-post-grid .eael-entry-meta .eael-posted-on {
	color: #adadad;
	font-size: 12px;
	line-height: 1.3em;
}

/* Pro n'affiche pas d'icône de calendrier devant la date. Essential Addons la
   pose à plusieurs endroits selon la position des métadonnées. */
.elementor-widget-eael-post-grid .eael-entry-meta span.eael-posted-on::before {
	content: none !important;
}

/* Listes converties (classe posée par la conversion) : les listes de Pro
   n'avaient ni cadre ni marge intérieure autour du texte. */
.pk-liste-articles .eael-grid-post-holder {
	border: 0;
}

.pk-liste-articles .eael-grid-post .eael-entry-wrapper {
	padding: 20px 0 0;
}

.elementor-widget-eael-post-grid .eael-grid-post-excerpt p {
	margin-bottom: 10px;
	color: #777;
	font-size: 14px;
	line-height: 1.5em;
}

.elementor-widget-eael-post-grid .eael-grid-post-excerpt .eael-post-elements-readmore-btn {
	display: inline-block;
	padding: 0;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
}
