/* ==========================================================================
   My English Afternoon — bibliothèque de ressources & espace abonnés
   ========================================================================== */

/* ---------- Boutons génériques ---------- */
.mea-btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 40px;
	padding: .55rem 1.1rem;
	border-radius: 999px;
	border: 1px solid var(--mea-outline);
	background: var(--wp--preset--color--vert);
	color: #FFFDFA;
	font: 600 .875rem/1.2 var(--wp--preset--font-family--texte);
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .12s var(--mea-ease);
}
.mea-btn:hover { background: var(--wp--preset--color--vert-fonce); color: #FFFDFA; }
.mea-btn--contour { background: var(--wp--preset--color--blanc); color: var(--wp--preset--color--texte); }
.mea-btn--contour:hover { background: var(--wp--preset--color--creme); color: var(--wp--preset--color--texte); }

/* ---------- Lien « Se connecter / Mon espace » de l'en-tête ---------- */
.mea-entete .wp-block-shortcode, .mea-entete p:has(> .mea-compte) { margin: 0; }
.mea-compte {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 12px;
	border-radius: 999px;
	font-size: .875rem;
	font-weight: 600;
	color: var(--wp--preset--color--texte);
	text-decoration: none;
	white-space: nowrap;
}
.mea-compte::before {
	content: "";
	width: 16px;
	height: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A4039' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E") center / contain no-repeat;
}
.mea-compte:hover { background: var(--wp--preset--color--creme); color: var(--wp--preset--color--texte); }

/* ---------- Bandeau d'état ---------- */
.mea-bibliotheque { scroll-margin-top: 90px; }
.mea-etat {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	padding: 16px 20px;
	margin-bottom: 24px;
	border: 1px solid var(--mea-line);
	border-radius: var(--mea-r-lg);
	background: var(--wp--preset--color--blanc);
}
.mea-etat p { margin: 0; flex: 1 1 320px; font-size: .9375rem; }
.mea-etat span { display: inline-flex; flex-wrap: wrap; gap: 8px; }
.mea-etat--abonne { background: var(--wp--preset--color--vert-pale); }
.mea-etat--abonne a { font-weight: 600; }

/* ---------- Filtres ---------- */
.mea-filtres { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-bottom: 28px; }
.mea-filtres-ligne { display: flex; flex-wrap: wrap; gap: 8px; }
.mea-filtre {
	padding: 8px 14px;
	border-radius: 999px;
	border: 1px solid var(--mea-line);
	background: var(--wp--preset--color--blanc);
	color: var(--wp--preset--color--texte);
	font-size: .875rem;
	font-weight: 600;
	text-decoration: none;
}
.mea-filtre:hover { background: var(--wp--preset--color--creme); color: var(--wp--preset--color--texte); }
.mea-filtres-ligne:first-child .mea-filtre.is-current { background: var(--wp--preset--color--vert); border-color: var(--mea-outline); color: #FFFDFA; }
.mea-filtres-ligne + .mea-filtres-ligne .mea-filtre.is-current { background: var(--wp--preset--color--jaune); border-color: var(--mea-outline); }

/* ---------- Grille de cartes ---------- */
.mea-res-grille { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.mea-res-carte {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	background: var(--wp--preset--color--blanc);
	border: 1px solid var(--mea-line);
	border-radius: var(--mea-r-lg);
	box-shadow: var(--mea-shadow-sm);
	overflow: hidden;
	transition: box-shadow .2s var(--mea-ease), transform .2s var(--mea-ease);
}
.mea-res-carte:hover { box-shadow: var(--mea-shadow-md); transform: translateY(-2px); }
.mea-res-carte__image {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4 / 3;
	border-bottom: 1px solid var(--mea-line);
	text-decoration: none;
	overflow: hidden;
}
.mea-res-carte__image img { width: 100%; height: 100%; object-fit: cover; }
.mea-res-carte__vide {
	padding: 20px;
	font-family: var(--wp--preset--font-family--titres);
	font-size: 1.375rem;
	text-align: center;
	color: var(--wp--preset--color--texte);
	opacity: .7;
}
.mea-res-offerte {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 6px 10px;
	border-radius: 999px;
	background: var(--wp--preset--color--blanc);
	box-shadow: var(--mea-shadow-md);
	font-size: .75rem;
	font-weight: 600;
	color: var(--wp--preset--color--texte);
	transform: rotate(-3deg);
}
.mea-res-carte__corps { padding: 16px 20px 0; flex: 1; }
.mea-res-carte .mea-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.mea-res-carte .mea-badge { height: 24px; padding: 0 10px; font-size: .6875rem; }
.mea-res-carte__titre { margin: 12px 0 0; font-size: 1.375rem; line-height: 1.2; }
.mea-res-carte__titre a { color: inherit; text-decoration: none; }
.mea-res-carte__titre a:hover { color: var(--wp--preset--color--vert); }
.mea-res-carte__sous { margin: 4px 0 0; font-size: .75rem; color: var(--wp--preset--color--texte-doux); }
.mea-res-carte__resume { margin: 10px 0 0; font-size: .875rem; line-height: 1.5; }
.mea-res-carte__pied { padding: 16px 20px 20px; }
.mea-res-boutons { display: flex; flex-wrap: wrap; gap: 8px; }
.mea-bientot { font-size: .875rem; font-weight: 600; color: var(--wp--preset--color--texte-doux); }
.mea-vide { padding: 40px 20px; text-align: center; border: 1.5px dashed var(--wp--preset--color--trait); border-radius: var(--mea-r-lg); color: var(--wp--preset--color--texte-doux); }

/* ---------- Encadré de téléchargement (page d'une ressource) ---------- */
.mea-telechargements p { margin: 0 0 14px; }
.mea-etiquettes { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.mea-telechargements__sous { font-weight: 600; }
.mea-telechargements .mea-res-boutons { flex-direction: column; }
.mea-telechargements .mea-btn { width: 100%; min-height: 48px; font-size: 1rem; }

/* ---------- Formules d'abonnement ---------- */
.mea-formules { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; margin-top: 12px; }
.mea-formule {
	box-sizing: border-box;
	flex: 0 1 320px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 28px;
	background: var(--wp--preset--color--blanc);
	border: 1px solid var(--mea-line);
	border-radius: var(--mea-r-xl);
	box-shadow: var(--mea-shadow-sm);
	text-align: center;
}
.mea-formule p { margin: 0; }
.mea-formule__nom { font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.mea-formule__prix { color: var(--wp--preset--color--texte-doux); }
.mea-formule__prix span { font-family: var(--wp--preset--font-family--titres); font-size: 2.75rem; line-height: 1; color: var(--wp--preset--color--texte); }
.mea-formule__desc { font-size: .9375rem; flex: 1; }
.mea-formule__desc p + p { margin-top: 6px; }
.mea-formule .mea-btn { min-height: 48px; font-size: 1rem; }

/* ---------- Pages de Paid Memberships Pro (inscription, connexion, compte) ---------- */
.pmpro, .pmpro_login_wrap, .pmpro_checkout { font-family: var(--wp--preset--font-family--texte); }
.pmpro_card, .pmpro_section, .pmpro .pmpro_card {
	border: 1px solid var(--mea-line) !important;
	border-radius: var(--mea-r-lg) !important;
	box-shadow: var(--mea-shadow-sm) !important;
	background: var(--wp--preset--color--blanc) !important;
}
.pmpro h2, .pmpro h3, .pmpro_card_title, .pmpro_section_title { font-family: var(--wp--preset--font-family--titres) !important; font-weight: 400 !important; }
.pmpro input[type="text"], .pmpro input[type="email"], .pmpro input[type="password"], .pmpro input[type="tel"], .pmpro select, .pmpro textarea,
.pmpro_form_input, #loginform input[type="text"], #loginform input[type="password"] {
	min-height: 44px;
	padding: 10px 14px !important;
	border: 1.5px solid var(--wp--preset--color--trait) !important;
	border-radius: var(--mea-r-md) !important;
	font: 400 1rem/1.5 var(--wp--preset--font-family--texte) !important;
	box-shadow: none !important;
}
.pmpro input:focus, .pmpro select:focus, #loginform input:focus { border-color: var(--wp--preset--color--vert) !important; box-shadow: 0 0 0 4px var(--wp--preset--color--jaune-pale) !important; outline: none; }
.pmpro_btn, .pmpro .pmpro_btn, .pmpro input[type="submit"], .pmpro button[type="submit"], #loginform input[type="submit"], .pmpro_btn-submit-checkout {
	border-radius: 999px !important;
	border: 1px solid var(--mea-outline) !important;
	background: var(--wp--preset--color--vert) !important;
	color: #FFFDFA !important;
	font: 600 1rem/1.2 var(--wp--preset--font-family--texte) !important;
	padding: .8rem 1.4rem !important;
	text-decoration: none !important;
	box-shadow: none !important;
}
.pmpro_btn:hover, .pmpro input[type="submit"]:hover, #loginform input[type="submit"]:hover { background: var(--wp--preset--color--vert-fonce) !important; }
.pmpro_btn-cancel, .pmpro_btn.pmpro_btn-outline { background: var(--wp--preset--color--blanc) !important; color: var(--wp--preset--color--texte) !important; }
.pmpro_message { border-radius: var(--mea-r-md) !important; }
.pmpro_tag { border-radius: 999px !important; }

/* ---------- Recherche et filtres ---------- */
.mea-recherche { display: flex; flex-direction: column; gap: 12px; margin-bottom: 8px; }
.mea-recherche__ligne { display: flex; gap: 8px; }
.mea-recherche__champ { flex: 1; }
.mea-recherche__ligne .mea-btn { min-height: 52px; padding-left: 1.4rem; padding-right: 1.4rem; font-size: 1rem; }
.mea-recherche__intitule { font-size: .875rem; font-weight: 600; color: var(--wp--preset--color--texte-doux); margin-right: 2px; }
.mea-recherche__champ input {
	box-sizing: border-box;
	width: 100%;
	min-height: 52px;
	padding: 12px 18px 12px 46px;
	border: 1.5px solid var(--wp--preset--color--trait);
	border-radius: 999px;
	background: var(--wp--preset--color--blanc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23655A4F' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") 18px center / 18px no-repeat;
	font: 400 1rem/1.4 var(--wp--preset--font-family--texte);
	color: var(--wp--preset--color--texte);
	outline: none;
}
.mea-recherche__champ input:focus { border-color: var(--wp--preset--color--vert); box-shadow: 0 0 0 4px var(--wp--preset--color--jaune-pale); }
.mea-recherche__filtres { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.mea-recherche__filtre select {
	width: 9.25rem;
	text-overflow: ellipsis;
	min-height: 40px;
	padding: 8px 34px 8px 14px;
	border: 1px solid var(--mea-line);
	border-radius: 999px;
	background: var(--wp--preset--color--blanc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A4039' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 12px center / 14px no-repeat;
	font: 600 .875rem/1.2 var(--wp--preset--font-family--texte);
	color: var(--wp--preset--color--texte);
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
}
.mea-recherche__filtre.is-actif select { background-color: var(--wp--preset--color--vert-pale); border-color: var(--wp--preset--color--vert); }
.mea-recherche__effacer { font-size: .875rem; font-weight: 600; }
.mea-resultats { margin: 8px 0 16px; font-size: .875rem; color: var(--wp--preset--color--texte-doux); min-height: 1em; }

/* ---------- Cartes des collections ---------- */
.mea-collections { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.mea-collection {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 24px;
	border: 1px solid var(--mea-line);
	border-radius: var(--mea-r-xl);
	box-shadow: var(--mea-shadow-sm);
	color: var(--wp--preset--color--texte);
	text-decoration: none;
	transition: box-shadow .2s var(--mea-ease), transform .2s var(--mea-ease);
}
.mea-collection:hover { box-shadow: var(--mea-shadow-md); transform: translateY(-2px); color: var(--wp--preset--color--texte); }
.mea-collection__nb { width: fit-content; padding: 4px 10px; border-radius: 999px; background: var(--wp--preset--color--blanc); font-size: .75rem; font-weight: 700; letter-spacing: .04em; }
.mea-collection__titre { font-family: var(--wp--preset--font-family--titres); font-size: 1.6rem; line-height: 1.15; }
.mea-collection__desc { font-size: .9375rem; flex: 1; }
.mea-collection__lien { font-weight: 600; font-size: .9375rem; }
.mea-collection__lien::after { content: " \2192"; }
.mea-collection-entete h1 { margin: 12px 0 8px; }
.mea-collection-entete .is-style-etiquette { margin: 0; }

/* ---------- Mobile ---------- */
@media (max-width: 960px) {
	.mea-res-grille { grid-template-columns: repeat(2, 1fr); }
	.mea-collections { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.mea-res-grille { grid-template-columns: 1fr; }
	.mea-recherche__filtre { flex: 1 1 45%; }
	.mea-recherche__filtre select { width: 100%; }
	.mea-recherche__intitule { width: 100%; }
	.mea-recherche__ligne .mea-btn { padding-left: 1rem; padding-right: 1rem; }
}

/* Bouton « Afficher le mot de passe » : discret */
.pmpro .pmpro_btn-password-toggle, .pmpro_btn.pmpro_btn-password-toggle {
	background: transparent !important;
	color: var(--wp--preset--color--texte-doux) !important;
	border: 0 !important;
	padding: 4px 8px !important;
	font-size: .8125rem !important;
	min-height: 0 !important;
}

/* Aperçu « Voir le site comme… » (visible seulement par l'administratrice) */
.mea-apercu-bandeau {
	position: fixed;
	left: 50%;
	bottom: 16px;
	transform: translateX(-50%);
	z-index: 99;
	padding: 10px 18px;
	border-radius: 999px;
	background: var(--wp--preset--color--texte);
	color: #FFFDFA;
	font-size: .875rem;
	box-shadow: var(--mea-shadow-md);
}
.mea-apercu-bandeau a { color: var(--wp--preset--color--jaune); font-weight: 600; margin-left: 6px; }
#wpadminbar .mea-apercu-actif > .ab-item { background: #DCB546 !important; color: #4A4039 !important; }

/* Page « Créer mon compte » */
.mea-form--compte { gap: 16px; }
.mea-mdp { position: relative; display: block; }
.mea-mdp input { padding-right: 92px !important; }
.mea-mdp__voir {
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	padding: 6px 12px;
	border: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--creme);
	font: 600 .8125rem/1.2 var(--wp--preset--font-family--texte);
	color: var(--wp--preset--color--texte);
	cursor: pointer;
}
.mea-compte__deja { margin: 0; text-align: center; font-size: .9375rem; }
.mea-bienvenue {
	position: fixed;
	left: 50%;
	bottom: 20px;
	transform: translateX(-50%);
	z-index: 99;
	max-width: calc(100% - 32px);
	padding: 12px 20px;
	border-radius: var(--mea-r-lg);
	background: var(--wp--preset--color--vert);
	color: #FFFDFA;
	font-weight: 600;
	box-shadow: var(--mea-shadow-md);
	animation: mea-disparait 6s forwards;
}
@keyframes mea-disparait { 0%, 85% { opacity: 1; } 100% { opacity: 0; visibility: hidden; } }
