/* Hot Milk Magazine : bibliothèque de l'espace pro (Hot Milk Pro V1). Mobile d'abord.
   Jetons du thème (--hm-*) + accent rose de la maquette (--hm-pro). Classes hmm-r-* (bibliothèque, fiche,
   patientes, favoris, recherche), hmm-favori (bouton ♡), hmm-r-type (étiquettes de type colorées).
   1. Jetons  2. Boutons, étiquettes  3. Recherche, filtres  4. Thèmes, résultats, cartes  5. Fiche
   6. Favoris  7. Patientes, recherche unifiée, connexion  8. Page publique d'une ressource  9. Impression */

/* ---------- 1. Jetons ---------- */
:root {
	/* Palette B (11/10/2026) : l'espace pro passe du rose #e0457b au bleu nuit de la charte. */
	--hm-pro: #3d5a72;          /* accent : filets, icônes, états actifs (décoratif) */
	--hm-pro-fonce: #22364a;    /* fond des boutons pleins (blanc dessus : 5,1:1) */
	--hm-pro-texte: #22364a;    /* texte rose sur blanc ou rose pâle (6:1 / 5:1) */
	--hm-pro-pale: #dfe7ee;
	--hm-pro-brume: #eef2f6;
	/* Étiquettes de type : texte foncé sur fond pâle (≥ 4,5:1) */
	--hm-r-violet: #22364a; --hm-r-violet-pale: #dfe7ee; /* palette B : deux bleus nuit, deux rouges */
	--hm-r-orange: #9e1c2e; --hm-r-orange-pale: #fcf0f1;
	--hm-r-bleu: #3d5a72;   --hm-r-bleu-pale: #eef2f6;
	--hm-r-vert: #9e1c2e;   --hm-r-vert-pale: #f6dadd;
}
.hmm-r { min-width: 0; }
.hmm-r *, .hmm-r *::before, .hmm-r *::after { box-sizing: border-box; }
.hmm-r img { max-width: 100%; height: auto; }

/* ---------- 2. Boutons, étiquettes ---------- */
.hmm-r-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 11px 22px; border-radius: 999px; border: 1.5px solid transparent; background: var(--hm-surface-2, #e9eeec); color: var(--hm-encre, #16202b); font: inherit; font-weight: 700; font-size: 16px; line-height: 1.2; text-decoration: none; text-align: center; cursor: pointer; transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.2s var(--hm-ease, ease), box-shadow 0.2s var(--hm-ease, ease); }
.hmm-r-btn:hover { transform: translateY(-1px); box-shadow: var(--hm-ombre-1, 0 2px 8px rgba(22, 32, 43, 0.08)); }
.hmm-r-btn:focus-visible { outline: 3px solid var(--hm-pro, #e0457b); outline-offset: 3px; }
.hmm-r-btn--plein { background: var(--hm-pro-fonce, #c73469); color: #fff; }
.hmm-r-btn--plein:hover { background: #ad2a5a; color: #fff; }
.hmm-r-btn--contour { background: var(--hm-surface, #fff); border-color: var(--hm-filet-fort, rgba(22, 32, 43, 0.22)); color: var(--hm-encre, #16202b); }
.hmm-r-btn--contour:hover { border-color: var(--hm-pro, #e0457b); color: var(--hm-pro-texte, #b8285c); }
.hmm-r-btn--fantome { background: transparent; color: var(--hm-pro-texte, #b8285c); }
.hmm-r-btn--fantome:hover { background: var(--hm-pro-pale, #fbe4ec); box-shadow: none; transform: none; }
.hmm-r-btn--sm { min-height: 44px; padding: 8px 16px; font-size: 15px; }
.hmm-r-btn svg { flex: none; }
html.hm-js .hmm-r-btn--js-cache { display: none; }

.hmm-r-type { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; background: var(--hm-surface-2, #e9eeec); color: var(--hm-secondaire, #56626f); font-family: var(--hm-police, inherit); font-size: 12px; font-weight: 800; letter-spacing: 0.1em; line-height: 1.5; text-transform: uppercase; white-space: nowrap; }
.hmm-r-type--violet { background: var(--hm-r-violet-pale); color: var(--hm-r-violet); }
.hmm-r-type--orange { background: var(--hm-r-orange-pale); color: var(--hm-r-orange); }
.hmm-r-type--rose { background: var(--hm-pro-pale); color: var(--hm-pro-texte); }
.hmm-r-type--bleu { background: var(--hm-r-bleu-pale); color: var(--hm-r-bleu); }
.hmm-r-type--vert { background: var(--hm-r-vert-pale); color: var(--hm-r-vert); }
.hmm-r-type--lagune { background: var(--hm-lagune-pale, #d9ecea); color: var(--hm-lagune, #1d6b67); }
.hmm-r-type--brume { background: var(--hm-brume-pale, #dfe7ee); color: var(--hm-brume, #3d5a72); }
.hmm-r-type--prune { background: var(--hm-prune-pale, #ece3ee); color: var(--hm-prune, #5b3a5e); }
.hmm-r-type--ocre { background: var(--hm-ocre-pale, #f5ecd6); color: var(--hm-ocre, #7d5a12); }
.hmm-r-type--framboise { background: var(--hm-framboise-pale, #fbe9eb); color: var(--hm-framboise, #b4404d); }
.hmm-r-type--argile { background: var(--hm-argile-pale, #f4e7e2); color: var(--hm-argile, #9a5646); }
.hmm-r-type--olive { background: var(--hm-olive-pale, #eaeedb); color: var(--hm-olive, #5c6b2a); }
.hmm-r-pro { display: inline-flex; align-items: center; padding: 2px 9px; border-radius: 999px; border: 1.5px solid var(--hm-pro, #e0457b); color: var(--hm-pro-texte, #b8285c); font-size: 12px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; }
.hmm-r-theme-pastille { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; background: var(--hm-surface-2, #e9eeec); color: var(--hm-secondaire, #56626f); font-size: 13px; font-weight: 700; }

/* ---------- 3. Recherche, filtres ---------- */
.hmm-r-recherche { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 16px; }
.hmm-r-recherche__icone { position: absolute; left: 16px; top: 13px; color: var(--hm-secondaire, #56626f); pointer-events: none; }
.hmm-r-recherche .hmm-r-recherche__champ { flex: 1 1 240px; min-width: 0; width: auto; min-height: 48px; padding: 10px 16px 10px 46px; border: 1.5px solid var(--hm-filet-fort, rgba(22, 32, 43, 0.22)); border-radius: 999px; background: var(--hm-surface, #fff); color: var(--hm-encre, #16202b); font: inherit; }
.hmm-r-recherche .hmm-r-recherche__champ:focus { outline: none; border-color: var(--hm-pro, #e0457b); box-shadow: 0 0 0 4px var(--hm-pro-pale, #fbe4ec); }
.hmm-r-recherche .hmm-r-btn { flex: none; }
.hmm-r-recherche--large { margin-bottom: 24px; }
.hmm-r-recherche--large .hmm-r-recherche__champ { min-height: 54px; font-size: 17px; }
.hmm-r-recherche--large .hmm-r-recherche__icone { top: 16px; }

/* Revue UX du 11/10 : recherche et filtres réunis dans une seule barre d'outils. */
.hmm-r-outils { display: grid; gap: 12px; margin: 0 0 18px; padding: 14px; border: 1px solid var(--hm-filet, rgba(22, 32, 43, 0.1)); border-radius: var(--hm-r, 18px); background: var(--hm-surface, #fff); }
.hmm-r-outils .hmm-r-recherche { margin: 0; }
.hmm-r-filtres { margin: 0; }
.hmm-r-outils .hmm-r-filtres__accordeon { border: 0; border-radius: 0; background: none; }
.hmm-r-outils .hmm-r-filtres__resume { padding: 6px 4px; min-height: 40px; }
.hmm-r-outils .hmm-r-filtres__champs { padding: 4px 0 0; }
.hmm-r-filtres__accordeon { border: 1px solid var(--hm-filet, rgba(22, 32, 43, 0.1)); border-radius: var(--hm-r, 18px); background: var(--hm-surface, #fff); }
.hmm-r-filtres__resume { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 10px 18px; cursor: pointer; font-weight: 700; color: var(--hm-encre, #16202b); list-style: none; }
.hmm-r-filtres__resume::-webkit-details-marker { display: none; }
.hmm-r-filtres__resume::after { content: "+"; margin-left: auto; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--hm-pro-pale, #fbe4ec); color: var(--hm-pro-texte, #b8285c); font-weight: 800; }
.hmm-r-filtres__accordeon[open] .hmm-r-filtres__resume::after { content: "−"; }
.hmm-r-filtres__nb { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: var(--hm-pro-fonce, #c73469); color: #fff; font-size: 12px; }
.hmm-r-filtres__champs { display: grid; gap: 12px; padding: 4px 18px 18px; }
.hmm-r-filtre { display: grid; gap: 4px; min-width: 0; font-weight: 400; }
.hmm-r-filtre__label { font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--hm-secondaire, #56626f); }
.hmm-r-filtre select { width: 100%; min-width: 0; min-height: 46px; padding: 8px 28px 8px 12px; text-overflow: ellipsis; border: 1.5px solid var(--hm-filet-fort, rgba(22, 32, 43, 0.22)); border-radius: 10px; background: var(--hm-surface, #fff); color: var(--hm-encre, #16202b); font: inherit; }
.hmm-r-filtre select:focus { outline: none; border-color: var(--hm-pro, #e0457b); box-shadow: 0 0 0 4px var(--hm-pro-pale, #fbe4ec); }
.hmm-r-filtres__boutons { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
@media (min-width: 640px) {
	.hmm-r-filtres__champs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hmm-r-filtres__boutons { grid-column: 1 / -1; }
}
@media (min-width: 900px) {
	.hmm-r-filtres__accordeon { border: 0; background: none; border-radius: 0; }
	.hmm-r-filtres__resume { display: none; }
	.hmm-r-filtres__champs { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); padding: 0; align-items: end; }
	.hmm-r-filtres__boutons:has(> .hmm-r-btn--js-cache:only-child) { display: none; }
	.hmm-r-filtres__boutons { grid-column: auto; }
}

/* ---------- 4. Thèmes, résultats, cartes ---------- */
.hmm-r-biblio__corps { display: grid; gap: 20px; min-width: 0; }
.hmm-r-themes { min-width: 0; }
.hmm-r-themes__liste { display: flex; gap: 6px; margin: 0; padding: 0 0 6px; list-style: none; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.hmm-r-themes__liste::-webkit-scrollbar { display: none; }
.hmm-r-theme { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 14px; border-radius: 999px; background: var(--hm-surface, #fff); border: 1px solid var(--hm-filet, rgba(22, 32, 43, 0.1)); color: var(--hm-texte, #2a3542); font-size: 15px; font-weight: 600; white-space: nowrap; text-decoration: none; transition: background 0.15s, color 0.15s, border-color 0.15s; }
.hmm-r-theme:hover { border-color: var(--hm-pro, #e0457b); color: var(--hm-pro-texte, #b8285c); }
.hmm-r-theme.is-cur { background: var(--hm-pro-pale, #fbe4ec); border-color: var(--hm-pro-pale, #fbe4ec); color: var(--hm-pro-texte, #b8285c); }
.hmm-r-theme__nb { display: inline-grid; place-items: center; min-width: 24px; height: 22px; padding: 0 7px; border-radius: 999px; background: var(--hm-surface-2, #e9eeec); color: var(--hm-secondaire, #56626f); font-size: 12px; font-weight: 700; }
.hmm-r-theme.is-cur .hmm-r-theme__nb { background: #fff; color: var(--hm-pro-texte, #b8285c); }
h2 .hmm-r-theme__nb, .hmm-r-groupe__titre .hmm-r-theme__nb { vertical-align: middle; font-family: var(--hm-police, inherit); }
@media (min-width: 900px) {
	/* Plus de colonne des thèmes à gauche (elle s'ajoutait à la colonne de l'espace pro) : pastilles sur toute la largeur. */
	.hmm-r-themes__liste { flex-wrap: wrap; gap: 8px; padding: 0; overflow: visible; }
	.hmm-r-theme { min-height: 38px; padding: 6px 12px; font-size: 14px; }
}

.hmm-r-resultats { min-width: 0; }
.hmm-r-resultats__tete { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 20px; margin: 0 0 14px; }
.hmm-r-compte { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; color: var(--hm-encre, #16202b); }
.hmm-r-compte__detail { color: var(--hm-secondaire, #56626f); }
.hmm-r-tri { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: 15px; color: var(--hm-secondaire, #56626f); }
.hmm-r-tri__lien { display: inline-flex; align-items: center; min-height: 36px; padding: 4px 10px; border-radius: 999px; color: var(--hm-encre, #16202b); font-weight: 700; text-decoration: none; }
.hmm-r-tri__lien:hover { background: var(--hm-surface, #fff); }
.hmm-r-tri__lien.is-cur { background: var(--hm-pro-pale, #fbe4ec); color: var(--hm-pro-texte, #b8285c); }

.hmm-r-liste { display: grid; gap: 14px; min-width: 0; }
.hmm-r-grille { display: grid; gap: 16px; min-width: 0; }
@media (min-width: 640px) { .hmm-r-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .hmm-r-grille { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.hmm-r-carte { position: relative; display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: var(--hm-surface, #fff); border: 1px solid var(--hm-filet, rgba(22, 32, 43, 0.1)); border-radius: var(--hm-r, 18px); box-shadow: var(--hm-ombre-1, 0 2px 8px rgba(22, 32, 43, 0.05)); transition: transform 0.3s var(--hm-ease, ease), box-shadow 0.3s var(--hm-ease, ease), opacity 0.3s; }
.hmm-r-carte:hover { transform: translateY(-2px); box-shadow: var(--hm-ombre-2, 0 16px 36px -12px rgba(22, 32, 43, 0.22)); }
.hmm-r-carte.is-retiree { opacity: 0; transform: scale(0.97); }
.hmm-r-carte__vignette { display: block; flex: none; aspect-ratio: 16 / 9; overflow: hidden; background: var(--hm-pro-brume, #fdf3f6); }
.hmm-r-carte__vignette img { width: 100%; height: 100%; object-fit: cover; }
.hmm-r-carte__vide { display: grid; place-items: center; width: 100%; height: 100%; font-family: var(--hm-police-titre, inherit); font-size: 44px; font-weight: 700; color: var(--hm-pro-texte, #b8285c); background: var(--hm-pro-pale, #fbe4ec); }
.hmm-r-carte__vide--violet { background: var(--hm-r-violet-pale); color: var(--hm-r-violet); }
.hmm-r-carte__vide--orange { background: var(--hm-r-orange-pale); color: var(--hm-r-orange); }
.hmm-r-carte__vide--bleu { background: var(--hm-r-bleu-pale); color: var(--hm-r-bleu); }
.hmm-r-carte__vide--vert { background: var(--hm-r-vert-pale); color: var(--hm-r-vert); }
.hmm-r-carte__vide--lagune { background: var(--hm-lagune-pale, #d9ecea); color: var(--hm-lagune, #1d6b67); }
.hmm-r-carte__vide--brume { background: var(--hm-brume-pale, #dfe7ee); color: var(--hm-brume, #3d5a72); }
.hmm-r-carte__vide--prune { background: var(--hm-prune-pale, #ece3ee); color: var(--hm-prune, #5b3a5e); }
.hmm-r-carte__vide--ocre { background: var(--hm-ocre-pale, #f5ecd6); color: var(--hm-ocre, #7d5a12); }
.hmm-r-carte__vide--framboise { background: var(--hm-framboise-pale, #fbe9eb); color: var(--hm-framboise, #b4404d); }
.hmm-r-carte__vide--argile { background: var(--hm-argile-pale, #f4e7e2); color: var(--hm-argile, #9a5646); }
.hmm-r-carte__vide--olive { background: var(--hm-olive-pale, #eaeedb); color: var(--hm-olive, #5c6b2a); }
.hmm-r-carte__vide--neutre { background: var(--hm-surface-2, #e9eeec); color: var(--hm-secondaire, #56626f); }
.hmm-r-carte__corps { display: flex; flex-direction: column; flex: 1; gap: 8px; min-width: 0; padding: 16px 18px 18px; }
.hmm-r-carte__tete { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.hmm-r-carte__favori { margin-left: auto; }
.hmm-r-carte__titre { margin: 0; font-family: var(--hm-police-titre, inherit); font-size: 19px; font-weight: 700; line-height: 1.25; overflow-wrap: anywhere; }
.hmm-r-carte__titre a { color: var(--hm-encre, #16202b); text-decoration: none; }
.hmm-r-carte__titre a:hover { color: var(--hm-pro-texte, #b8285c); }
.hmm-r-carte__sous { margin: 0; font-size: 15px; color: var(--hm-secondaire, #56626f); }
.hmm-r-carte__meta { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0; padding: 0; list-style: none; font-size: 14px; color: var(--hm-secondaire, #56626f); }
.hmm-r-carte__meta li { display: inline-flex; align-items: center; gap: 5px; min-width: 0; }
.hmm-r-carte__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 8px; }
.hmm-r-carte--compacte .hmm-r-carte__corps { padding: 14px 16px 16px; }
@media (min-width: 640px) {
	.hmm-r-liste .hmm-r-carte { flex-direction: row; }
	.hmm-r-liste .hmm-r-carte__vignette { width: 150px; aspect-ratio: auto; align-self: stretch; }
	.hmm-r-liste .hmm-r-carte__vide { font-size: 36px; }
	.hmm-r-liste .hmm-r-carte__corps { padding: 16px 20px; }
	.hmm-r-liste .hmm-r-carte__actions { justify-content: flex-end; }
}
@media (min-width: 900px) {
	.hmm-r-liste .hmm-r-carte__vignette { width: 180px; }
}

.hmm-r-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; margin: 24px 0 0; }
.hmm-r-page { display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-width: 44px; min-height: 44px; padding: 6px 12px; border-radius: 999px; background: var(--hm-surface, #fff); border: 1px solid var(--hm-filet, rgba(22, 32, 43, 0.1)); color: var(--hm-encre, #16202b); font-weight: 700; text-decoration: none; }
.hmm-r-page:hover { border-color: var(--hm-pro, #e0457b); color: var(--hm-pro-texte, #b8285c); }
.hmm-r-page.is-cur { background: var(--hm-pro-fonce, #c73469); border-color: var(--hm-pro-fonce, #c73469); color: #fff; }
.hmm-r-page--points { border: 0; background: none; }
.hmm-r-vide { display: grid; gap: 12px; }
.hmm-r-vide p { margin: 0; }

/* ---------- 5. Fiche ---------- */
.hmm-r-ariane { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 0 0 18px; font-size: 15px; color: var(--hm-secondaire, #56626f); }
.hmm-r-ariane a { display: inline-flex; align-items: center; gap: 4px; min-height: 32px; color: var(--hm-pro-texte, #b8285c); font-weight: 700; text-decoration: none; }
.hmm-r-ariane a:hover { text-decoration: underline; }
.hmm-r-fiche__tete { display: grid; gap: 20px; margin: 0 0 24px; }
.hmm-r-fiche__infos { display: grid; gap: 14px; min-width: 0; align-content: start; }
.hmm-r-fiche__etiquettes { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.hmm-r-fiche__titre-print, .hmm-r-fiche__sous-print, .hmm-r-mention-print { display: none; }
.hmm-r-fiche__meta { margin: 0; font-size: 15px; color: var(--hm-secondaire, #56626f); }
.hmm-r-fiche__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 4px; }
/* Boutons ronds à icône seule (Imprimer, Favori) à côté du bouton principal */
.hmm-r-btn--icone { width: 48px; min-width: 48px; padding: 0; }
.hmm-favori.hmm-favori--rond .hmm-favori__btn { width: 48px; height: 48px; min-height: 48px; border-color: var(--hm-filet-fort, rgba(22, 32, 43, 0.22)); background: var(--hm-surface, #fff); color: var(--hm-encre, #16202b); }
.hmm-favori.hmm-favori--rond .hmm-favori__btn:hover { border-color: var(--hm-pro, #e0457b); }
.hmm-favori.hmm-favori--rond .hmm-favori__btn.is-actif { border-color: var(--hm-pro, #e0457b); background: var(--hm-pro-pale, #fbe4ec); }
.hmm-r-fiche__image { margin: 0; overflow: hidden; border-radius: var(--hm-r, 18px); background: var(--hm-pro-brume, #fdf3f6); }
.hmm-r-fiche__image img { width: 100%; height: auto; max-height: 360px; object-fit: cover; }
@media (min-width: 900px) {
	.hmm-r-fiche__tete:has(> .hmm-r-fiche__image) { grid-template-columns: minmax(0, 1fr) 360px; align-items: start; gap: 40px; }
	.hmm-r-fiche__image img { aspect-ratio: 4 / 3; height: 100%; }
}
.hmm-r-fichiers { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; font-size: 15px; }
.hmm-r-fichiers li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; padding: 8px 14px; border-radius: 10px; background: var(--hm-pro-brume, #fdf3f6); }
.hmm-r-fichiers a { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; color: var(--hm-pro-texte, #b8285c); font-weight: 700; text-decoration: none; }
.hmm-r-fichiers a:hover { text-decoration: underline; }
.hmm-r-fichiers li > span { color: var(--hm-secondaire, #56626f); }
.hmm-r-onglets.hmm-pro-onglets { margin-bottom: 24px; }
.hmm-r-onglets .hmm-pro-onglet[aria-selected="true"], .hmm-r-onglets .hmm-pro-onglet[aria-current="true"] { color: var(--hm-pro-texte, #b8285c); border-bottom-color: var(--hm-pro, #e0457b); }
.hmm-r-onglets .hmm-pro-onglet[aria-selected="true"] .hmm-pro-onglet__nb { background: var(--hm-pro-pale, #fbe4ec); color: var(--hm-pro-texte, #b8285c); }
.hmm-r-onglets .hmm-pro-onglet:focus-visible { outline: 3px solid var(--hm-pro, #e0457b); outline-offset: -3px; }
.hmm-r-panneau { min-width: 0; }
.hmm-r-intro { max-width: var(--hm-mesure, 64ch); margin: 0 0 22px; }
.hmm-r-intro h3, .hmm-r-points h3 { margin: 0 0 8px; font-family: var(--hm-police-titre, inherit); font-size: 22px; font-weight: 700; color: var(--hm-encre, #16202b); }
.hmm-r-intro p { margin: 0; font-size: 17px; }
.hmm-r-points { max-width: var(--hm-mesure, 64ch); margin: 0 0 26px; padding: 20px 22px; border-radius: var(--hm-r, 18px); background: var(--hm-surface, #fff); border: 1px solid var(--hm-pro-pale, #fbe4ec); border-left: 4px solid var(--hm-pro, #e0457b); box-shadow: var(--hm-ombre-1, 0 2px 8px rgba(22, 32, 43, 0.05)); }
.hmm-r-points ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.hmm-r-points li { position: relative; padding-left: 22px; }
.hmm-r-points li::before { content: ""; position: absolute; left: 4px; top: 0.6em; width: 9px; height: 9px; border-radius: 50%; background: var(--hm-pro, #e0457b); }
.hmm-r-corps { max-width: var(--hm-mesure, 64ch); }
.hmm-r-corps h2 { font-size: var(--hm-t-h3, 22px); }
.hmm-r-sources { display: grid; gap: 12px; max-width: 800px; margin: 0 0 24px; }
.hmm-r-sources div { display: grid; gap: 2px; padding: 12px 16px; border-radius: 10px; background: var(--hm-surface, #fff); border: 1px solid var(--hm-filet, rgba(22, 32, 43, 0.1)); }
.hmm-r-sources dt { font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--hm-secondaire, #56626f); }
.hmm-r-sources dd { margin: 0; overflow-wrap: anywhere; }
@media (min-width: 640px) { .hmm-r-sources { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.hmm-r-droits { display: grid; gap: 10px; margin: 32px 0 0; padding: 20px 22px; border-radius: var(--hm-r, 18px); background: var(--hm-surface, #fff); border: 1px solid var(--hm-filet, rgba(22, 32, 43, 0.1)); border-left: 4px solid var(--hm-pro, #e0457b); }
.hmm-r-droits h2 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 20px; color: var(--hm-pro-texte, #b8285c); }
.hmm-r-droits p { margin: 0; }
.hmm-r-droits__liste { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; padding: 0; list-style: none; font-size: 15px; }
.hmm-r-droits__liste li { position: relative; padding-left: 20px; }
.hmm-r-droits__liste li::before { content: "✓"; position: absolute; left: 0; top: 0; font-weight: 800; color: var(--hm-olive, #5c6b2a); }
.hmm-r-droits__liste li.is-non { color: var(--hm-secondaire, #56626f); }
.hmm-r-droits__liste li.is-non::before { content: "–"; color: var(--hm-secondaire, #56626f); }

/* ---------- 6. Favoris ---------- */
.hmm-favori { display: inline-flex; margin: 0; }
.hmm-favori__btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 10px 18px; border-radius: 999px; border: 1.5px solid var(--hm-filet-fort, rgba(22, 32, 43, 0.22)); background: var(--hm-surface, #fff); color: var(--hm-encre, #16202b); font: inherit; font-weight: 700; font-size: 15px; line-height: 1.2; cursor: pointer; transition: color 0.15s, border-color 0.15s, background 0.15s, transform 0.2s; }
.hmm-favori__btn:hover { border-color: var(--hm-pro, #e0457b); color: var(--hm-pro-texte, #b8285c); }
.hmm-favori__btn:focus-visible { outline: 3px solid var(--hm-pro, #e0457b); outline-offset: 3px; }
.hmm-favori__btn.is-actif { border-color: var(--hm-pro, #e0457b); background: var(--hm-pro-pale, #fbe4ec); color: var(--hm-pro-texte, #b8285c); }
.hmm-favori__btn.is-actif .hmm-favori__coeur { fill: var(--hm-pro, #e0457b); stroke: var(--hm-pro, #e0457b); }
.hmm-favori__btn.is-attente { opacity: 0.6; cursor: wait; }
.hmm-favori__btn.is-anime .hmm-favori__coeur { animation: hmm-favori-pop 0.45s var(--hm-ease, ease); }
.hmm-favori__coeur { flex: none; }
.hmm-favori--compact .hmm-favori__btn { width: 44px; height: 44px; min-height: 44px; padding: 0; border-color: transparent; background: transparent; color: var(--hm-secondaire, #56626f); }
.hmm-favori--compact .hmm-favori__btn:hover { background: var(--hm-pro-pale, #fbe4ec); color: var(--hm-pro-texte, #b8285c); }
.hmm-favori--compact .hmm-favori__btn.is-actif { background: transparent; color: var(--hm-pro-texte, #b8285c); }
.hmm-favori-fin { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 28px 0 0; padding: 16px 20px; border-radius: var(--hm-r, 18px); background: var(--hm-pro-brume, #fdf3f6); border: 1px solid var(--hm-pro-pale, #fbe4ec); }
.hmm-favori-fin__texte { margin: 0; font-weight: 700; color: var(--hm-encre, #16202b); }
@keyframes hmm-favori-pop { 0% { transform: scale(1); } 40% { transform: scale(1.35); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .hmm-favori__btn.is-anime .hmm-favori__coeur { animation: none; } .hmm-r-carte, .hmm-r-btn { transition: none; } }
.hmm-r-favoris__groupe { margin: 0 0 32px; }

/* ---------- 7. Patientes, recherche unifiée, connexion ---------- */
.hmm-r-bandeau { display: grid; gap: 6px; margin: 0 0 20px; padding: 16px 20px; border-radius: var(--hm-r, 18px); background: var(--hm-pro-pale, #fbe4ec); color: var(--hm-encre, #16202b); }
.hmm-r-bandeau h2 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 17px; color: var(--hm-pro-texte, #b8285c); }
.hmm-r-bandeau p { margin: 0; font-size: 15px; }
.hmm-r-suggestions { display: grid; gap: 8px; }
.hmm-r-suggestions p { margin: 0; color: var(--hm-secondaire, #56626f); }
.hmm-r-suggestions ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.hmm-r-suggestion { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border-radius: 999px; background: var(--hm-surface, #fff); border: 1px solid var(--hm-filet, rgba(22, 32, 43, 0.1)); color: var(--hm-encre, #16202b); font-weight: 600; text-decoration: none; }
.hmm-r-suggestion:hover { border-color: var(--hm-pro, #e0457b); color: var(--hm-pro-texte, #b8285c); }
.hmm-r-groupe { margin: 24px 0 0; }
.hmm-r-groupe__title, .hmm-r-groupe__titre { font-size: 15px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--hm-pro-texte, #b8285c); }
.hmm-r-vides { margin: 24px 0 0; font-size: 15px; color: var(--hm-secondaire, #56626f); }
.hmm-r-reserve { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 20px auto 0; padding: 14px 20px; border-radius: var(--hm-r, 18px); background: var(--hm-pro-pale, #fbe4ec); border-left: 4px solid var(--hm-pro, #e0457b); }
.hmm-r-reserve__badge { display: inline-flex; align-items: center; padding: 4px 12px; border-radius: 999px; background: var(--hm-pro-fonce, #c73469); color: #fff; font-size: 12px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; white-space: nowrap; }
.hmm-r-reserve p { flex: 1 1 320px; margin: 0; }
.hmm-r-reserve a { color: var(--hm-pro-texte, #b8285c); font-weight: 700; }

/* ---------- 8. Page publique d'une ressource ---------- */
.hmm-ressource__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 24px; }
.hmm-ressource__actions .hmm-btn { min-height: 48px; }

/* ---------- 9. Impression : contenu seul, titre, source, mention ---------- */
@media print {
	.hm-pro--ressource .hm-entete, .hm-pro--ressource .hm-pied, .hm-pro--ressource .hm-barre, .hm-pro--ressource .hm-tiroir, .hm-pro--ressource .hm-fab, .hm-pro--ressource #hmm-cookies,
	.hm-pro--ressource .hmm-pro-bandeau, .hm-pro--ressource .hmm-pro-nav, .hm-pro--ressource .hmm-r-ariane, .hm-pro--ressource .hmm-r-fiche__meta, .hm-pro--ressource .hmm-r-fiche__actions,
	.hm-pro--ressource .hmm-r-fiche__image, .hm-pro--ressource .hmm-r-fichiers, .hm-pro--ressource .hmm-r-onglets, .hm-pro--ressource #fiche-associees, .hm-pro--ressource #fiche-sources,
	.hm-pro--ressource .hmm-r-droits, .hm-pro--ressource .hmm-favori, .hm-pro--ressource .hmm-pro-panneau__titre, .hm-pro--ressource .hmm-r-pro, .hm-pro--ressource .hmm-r-theme-pastille,
	.hmm-compagnon-flottant, .hmm-compagnon-pastille, .hmm-compagnon-volet, .hmm-favori-fin { display: none !important; }
	.hm-pro--ressource body, body.hm-pro--ressource { background: #fff; color: #000; padding: 0; }
	.hm-pro--ressource .hmm-pro-conteneur, .hm-pro--ressource .hmm-pro-section { max-width: none; padding: 0; margin: 0; }
	.hm-pro--ressource .hmm-r-fiche__tete { display: block; margin: 0 0 12pt; }
	.hm-pro--ressource .hmm-r-fiche__titre-print { display: block; margin: 6pt 0 4pt; font-family: var(--hm-police-titre, inherit); font-size: 22pt; font-weight: 700; line-height: 1.15; color: #000; }
	.hm-pro--ressource .hmm-r-fiche__sous-print { display: block; margin: 0 0 8pt; font-size: 13pt; color: #333; }
	.hm-pro--ressource .hmm-r-print[hidden] { display: block !important; }
	.hm-pro--ressource .hmm-r-print { display: block !important; }
	.hm-pro--ressource .hmm-r-intro, .hm-pro--ressource .hmm-r-points, .hm-pro--ressource .hmm-r-corps { max-width: none; }
	.hm-pro--ressource .hmm-r-points { border: 1px solid #999; background: #fff; border-radius: 6pt; padding: 10pt 14pt; break-inside: avoid; }
	.hm-pro--ressource .hmm-r-points li::before { background: #000; }
	.hm-pro--ressource .hmm-r-mention-print { display: block; margin: 18pt 0 0; padding-top: 8pt; border-top: 1px solid #999; font-size: 9.5pt; color: #333; }
	.hm-pro--ressource a { color: inherit; text-decoration: none; }
	/* Page publique d'une ressource */
	.hmm-page--ressource .hmm-ressource__actions, .hmm-page--ressource .hmm-ressource__fichiers, .hmm-page--ressource .hmm-ressource__infos, .hmm-page--ressource .hmm-etiquette a, .hmm-page--ressource .hmm-favori { display: none !important; }
	.hmm-page--ressource .hmm-r-mention-print { display: block; margin: 18pt 0 0; padding-top: 8pt; border-top: 1px solid #999; font-size: 9.5pt; color: #333; }
}

/* Pastilles de thème (revue UX du 11/10/2026, 2) : seules à rester, plus nettes, la choisie en bleu nuit plein. */
.hmm-r-biblio .hmm-r-themes { margin: 0 0 20px; }
.hmm-r-biblio .hmm-r-theme { min-height: 42px; padding: 8px 16px; border: 1.5px solid var(--hm-filet-fort, rgba(22, 32, 43, 0.22)); background: var(--hm-surface, #fff); color: var(--hm-encre, #16202b); font-weight: 700; font-size: 15px; white-space: nowrap; transition: border-color 0.15s, background 0.15s, color 0.15s; }
.hmm-r-biblio .hmm-r-theme:hover { border-color: var(--hm-pro-fonce, #22364a); color: var(--hm-pro-fonce, #22364a); }
.hmm-r-biblio .hmm-r-theme.is-cur { background: var(--hm-pro-fonce, #22364a); border-color: var(--hm-pro-fonce, #22364a); color: #fff; }
.hmm-r-biblio .hmm-r-theme:focus-visible { outline: 3px solid var(--hm-lagune-2, #d03a4e); outline-offset: 2px; }

/* Aperçu du document dans la fiche (revue UX du 11/10/2026) : le lecteur PDF du magazine, ou l'image du fichier. */
.hmm-r-apercu { margin: 0 0 24px; }
.hmm-r-apercu .hmm-lecteur { margin: 0; }
.hmm-r-apercu .hmm-lecteur__scene { height: min(78vh, 760px); }
.hmm-r-apercu--image img { display: block; max-width: 100%; height: auto; margin-inline: auto; border-radius: var(--hm-r-sm, 10px); box-shadow: var(--hm-ombre-2, 0 16px 36px -12px rgba(22, 32, 43, 0.22)); }
@media print { .hmm-r-apercu { display: none !important; } }

/* Favoris : une seule grille, la carte remplit sa case ; pastilles de filtre (11/10/2026) */
.hmm-r-favoris__filtres { margin: 0 0 20px; }
.hmm-r-favoris__filtres .hmm-r-theme { cursor: pointer; font: inherit; font-weight: 700; }
.hmm-r-favoris__filtres .hmm-r-theme.is-cur { background: var(--hm-pro-fonce, #22364a); border-color: var(--hm-pro-fonce, #22364a); color: #fff; }
.hmm-r-favoris__filtres .hmm-r-theme.is-cur .hmm-r-theme__nb { background: rgba(255, 255, 255, 0.2); color: #fff; }
.hmm-r-favoris__item { display: flex; min-width: 0; }
.hmm-r-favoris__item[hidden] { display: none; }
.hmm-r-favoris__item > .hmm-r-carte { flex: 1; }
