/* =====================================================================
 * La Bulle — Espace membres
 * Typographie du site : Vollkorn (titres), Open Sans (texte),
 * Overpass (surtitres). Bleu de marque #005B89.
 * ===================================================================== */

.lbem-space {
	--lb-deep:   #00405F;
	--lb-blue:   #005B89;
	--lb-cyan:   #4EC3E0;
	--lb-ink:    #22394A;
	--lb-muted:  #6A7C89;
	--lb-line:   #E4EDF3;
	--lb-tint:   #F2F8FC;
	--lb-serif:  'Vollkorn', Georgia, 'Times New Roman', serif;
	--lb-sans:   'Open Sans', Arial, sans-serif;
	--lb-eyebrow:'Overpass', 'Open Sans', Helvetica, Arial, sans-serif;
	--lb-radius: 22px;
	--lb-radius-sm: 12px;
	--lb-shadow: 0 1px 2px rgba(16,44,64,.05), 0 28px 60px -34px rgba(0,64,95,.42);
}

/* ---------- Gabarit : pleine largeur, fond dégradé ---------- */

.lbem-space #sidebar { display: none !important; }
.lbem-space #left-area {
	width: 100% !important; float: none !important; padding-right: 0 !important;
}
.lbem-space #main-content .container:before { display: none !important; }
.lbem-space #main-content .container { width: 90%; max-width: 1040px; }
.lbem-space #main-content {
	background:
		radial-gradient(1100px 460px at 50% -160px, rgba(78,195,224,.20), rgba(78,195,224,0) 68%),
		linear-gradient(180deg, #F2F8FC 0px, #FBFDFE 460px, #FFFFFF 760px);
}
.lbem-space .et_pb_post { margin-bottom: 0; padding-bottom: 6rem; }
.lbem-space #main-content .entry-content { padding-top: 0; }

/* Le titre WordPress est remplacé par notre propre en-tête */
.lbem-space .entry-title { display: none; }
.lbem-hero-back { margin: 1.4rem 0 0; font-family: var(--lb-sans); font-size: 14px; }
.lbem-hero-back .lbem-sep { color: #A9BAC6; margin: 0 .55rem; }

/* ---------- En-tête ---------- */

.lbem-hero { text-align: center; padding: 3.2rem 0 2.6rem; }
.lbem-eyebrow {
	font-family: var(--lb-eyebrow); font-size: 11px; font-weight: 700;
	letter-spacing: .22em; text-transform: uppercase; color: var(--lb-blue);
	margin: 0 0 1rem; opacity: .8;
}
.lbem-hero-title {
	font-family: var(--lb-serif); font-weight: 600;
	font-size: clamp(34px, 4.6vw, 50px); line-height: 1.12;
	color: var(--lb-deep); margin: 0 0 .55rem; letter-spacing: -.015em;
}
.lbem-hero-sub {
	font-family: var(--lb-sans); font-size: 16px; line-height: 1.65;
	color: var(--lb-muted); margin: 0 auto; max-width: 46ch;
}
.lbem-rule {
	width: 132px; height: 3px; margin: 1.6rem auto 0; border-radius: 3px;
	background: linear-gradient(90deg, var(--lb-cyan), var(--lb-blue));
}
.lbem-chips { list-style: none; margin: 1.5rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; }
.lbem-chips li {
	font-family: var(--lb-eyebrow); font-size: 11px; font-weight: 700;
	letter-spacing: .12em; text-transform: uppercase;
	color: var(--lb-blue); background: #fff;
	border: 1px solid rgba(0,91,137,.16); border-radius: 999px;
	padding: .5rem .95rem; line-height: 1;
	box-shadow: 0 6px 18px -12px rgba(0,64,95,.5);
}
.lbem-chips li.is-muted { color: var(--lb-muted); border-color: var(--lb-line); }
/* Le thème ajoute une puce devant chaque élément de liste : on la retire. */
.lbem-space ul.lbem-chips, .lbem-space ul.lbem-list { list-style: none !important; }
.lbem-space .lbem-chips li:before,
.lbem-space .lbem-list li:before { content: none !important; display: none !important; }

/* ---------- Carte ---------- */

.lbem-card {
	background: #fff; border: 1px solid rgba(0,91,137,.10);
	border-radius: var(--lb-radius); box-shadow: var(--lb-shadow);
	padding: clamp(1.8rem, 3.4vw, 3.2rem);
}
.lbem-card + .lbem-card { margin-top: 2.4rem; }

.lbem-section + .lbem-section { margin-top: 3rem; padding-top: 2.8rem; border-top: 1px solid var(--lb-line); }
.lbem-section-title {
	font-family: var(--lb-serif); font-size: 21px; font-weight: 600;
	color: var(--lb-blue); margin: 0 0 .35rem; letter-spacing: -.005em;
}
.lbem-section-hint {
	font-family: var(--lb-sans); font-size: 13.5px; color: var(--lb-muted);
	margin: 0 0 1.8rem; line-height: 1.65;
}

/* ---------- Champs ---------- */

.lbem-field { margin: 0 0 1.6rem; }
.lbem-field > label,
.lbem-label {
	display: block; font-family: var(--lb-sans); font-size: 12.5px; font-weight: 600;
	letter-spacing: .04em; text-transform: uppercase; color: var(--lb-muted);
	margin: 0 0 .5rem;
}
.lbem-field small { text-transform: none; letter-spacing: 0; font-weight: 400; }

.lbem-space input[type="text"].lbem-input,
.lbem-space input[type="email"].lbem-input,
.lbem-space input[type="password"].lbem-input,
.lbem-space input[type="url"].lbem-input,
.lbem-space input[type="tel"].lbem-input,
.lbem-space textarea.lbem-input,
.lbem-space select.lbem-input {
	width: 100%; box-sizing: border-box;
	font-family: var(--lb-sans); font-size: 15.5px; color: var(--lb-ink);
	background: #fff; border: 1px solid #DCE7EF; border-radius: var(--lb-radius-sm);
	padding: 13px 16px; line-height: 1.5; box-shadow: inset 0 1px 2px rgba(16,44,64,.03);
	transition: border-color .18s ease, box-shadow .18s ease;
}
.lbem-space textarea.lbem-input { resize: vertical; min-height: 110px; }
.lbem-space .lbem-input:focus {
	outline: none; border-color: var(--lb-blue);
	box-shadow: 0 0 0 4px rgba(78,195,224,.28);
}
.lbem-space .lbem-input::placeholder { color: #A9BAC6; }

.lbem-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: .4rem 1.8rem; }

/* ---------- Bloc identité ---------- */

.lbem-identity { display: grid; grid-template-columns: 168px 1fr; gap: 2rem; align-items: start; }
.lbem-photo { text-align: center; }
.lbem-photo-frame {
	width: 168px; height: 168px; border-radius: 50%; overflow: hidden;
	background: var(--lb-tint); border: 1px solid var(--lb-line);
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 18px 40px -26px rgba(0,64,95,.55);
}
.lbem-photo-frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lbem-photo-frame .lbem-nophoto {
	font-family: var(--lb-sans); font-size: 12.5px; color: var(--lb-muted); padding: 0 1rem;
}
.lbem-photo-action {
	display: inline-block; margin-top: .9rem; cursor: pointer;
	font-family: var(--lb-sans); font-size: 13px; font-weight: 600; color: var(--lb-blue);
	border-bottom: 1px solid rgba(0,91,137,.3); padding-bottom: 1px;
}
.lbem-photo-action:hover { color: var(--lb-deep); border-color: var(--lb-deep); }
.lbem-photo input[type=file] { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.lbem-photo-name { display: block; margin-top: .5rem; font-family: var(--lb-sans); font-size: 12px; color: var(--lb-muted); }

/* ---------- Réseaux sociaux ---------- */

.lbem-social-row {
	display: grid; grid-template-columns: 200px 1fr; gap: .7rem; margin-bottom: .7rem;
}

/* ---------- Barre d'action ---------- */

.lbem-actions {
	margin-top: 2.4rem; padding-top: 1.8rem; border-top: 1px solid var(--lb-line);
	display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
}
.lbem-btn {
	display: inline-flex; align-items: center; justify-content: center;
	font-family: var(--lb-sans); font-size: 15px; font-weight: 600; letter-spacing: .01em;
	color: #fff !important; text-decoration: none !important;
	background: linear-gradient(180deg, #00699E, var(--lb-blue));
	border: 0; border-radius: var(--lb-radius-sm); padding: 14px 30px; cursor: pointer;
	box-shadow: 0 12px 26px -14px rgba(0,64,95,.75);
	transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.lbem-btn:hover { transform: translateY(-1px); filter: brightness(1.06); box-shadow: 0 18px 32px -16px rgba(0,64,95,.8); }
.lbem-btn:active { transform: translateY(0); }
.lbem-btn-ghost {
	background: #fff; color: var(--lb-blue) !important;
	border: 1px solid rgba(0,91,137,.22); box-shadow: none;
}
.lbem-btn-ghost:hover { background: var(--lb-tint); filter: none; }
.lbem-link {
	font-family: var(--lb-sans); font-size: 14px; font-weight: 600; color: var(--lb-blue);
	text-decoration: none; border-bottom: 1px solid rgba(0,91,137,.28); padding-bottom: 1px;
}
.lbem-link:hover { color: var(--lb-deep); }

/* ---------- Messages ---------- */

.lbem-notice {
	font-family: var(--lb-sans); font-size: 15px; line-height: 1.6; color: var(--lb-ink);
	background: var(--lb-tint); border: 1px solid rgba(0,91,137,.14);
	border-left: 4px solid var(--lb-blue);
	border-radius: var(--lb-radius-sm); padding: 1.1rem 1.3rem;
}
.lbem-ok {
	font-family: var(--lb-sans); font-size: 15px; color: #1f5c3d;
	background: #EEF8F1; border: 1px solid rgba(46,139,87,.22); border-left: 4px solid #2E8B57;
	border-radius: var(--lb-radius-sm); padding: 1rem 1.3rem; margin-bottom: 1.8rem;
}

/* ---------- Raccourcis de gestion ---------- */

.lbem-tools { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; }
.lbem-tool {
	display: block; text-decoration: none !important; background: #fff;
	border: 1px solid rgba(0,91,137,.12); border-radius: 16px; padding: 1.2rem 1.3rem;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
	box-shadow: 0 1px 2px rgba(16,44,64,.04);
}
.lbem-tool:hover { transform: translateY(-2px); border-color: rgba(0,91,137,.28); box-shadow: 0 20px 40px -26px rgba(0,64,95,.5); }
.lbem-tool strong {
	display: block; font-family: var(--lb-serif); font-size: 17px; font-weight: 600;
	color: var(--lb-blue); margin-bottom: .3rem;
}
.lbem-tool span { font-family: var(--lb-sans); font-size: 13.5px; color: var(--lb-muted); line-height: 1.55; }

/* =====================================================================
 * Ultimate Member : connexion, compte, mot de passe
 * ===================================================================== */

.lbem-space .um { max-width: none; font-family: var(--lb-sans); }
.lbem-space .um .um-form {
	background: #fff; border: 1px solid rgba(0,91,137,.10);
	border-radius: var(--lb-radius); box-shadow: var(--lb-shadow);
	padding: clamp(1.6rem, 3.2vw, 2.8rem);
}
.lbem-space.um-page-login .um,
.lbem-space.um-page-password-reset .um { max-width: 480px; margin: 0 auto; }

.lbem-space .um .um-field-label label,
.lbem-space .um .um-field-label {
	font-family: var(--lb-sans) !important; font-size: 12.5px !important; font-weight: 600 !important;
	letter-spacing: .04em !important; text-transform: uppercase !important;
	color: var(--lb-muted) !important;
}
.lbem-space .um .um-form input[type=text],
.lbem-space .um .um-form input[type=email],
.lbem-space .um .um-form input[type=password],
.lbem-space .um .um-form input[type=tel],
.lbem-space .um .um-form input[type=url],
.lbem-space .um .um-form input[type=number],
.lbem-space .um .um-form textarea,
.lbem-space .um .um-form select {
	font-family: var(--lb-sans) !important; font-size: 15.5px !important; color: var(--lb-ink) !important;
	background: #fff !important; border: 1px solid #DCE7EF !important;
	border-radius: var(--lb-radius-sm) !important; padding: 13px 16px !important;
	height: auto !important; line-height: 1.5 !important;
	box-shadow: inset 0 1px 2px rgba(16,44,64,.03) !important;
	transition: border-color .18s ease, box-shadow .18s ease !important;
}
.lbem-space .um .um-form input:focus,
.lbem-space .um .um-form textarea:focus,
.lbem-space .um .um-form select:focus {
	border-color: var(--lb-blue) !important; outline: none !important;
	box-shadow: 0 0 0 4px rgba(78,195,224,.28) !important;
}
.lbem-space .um .um-button,
.lbem-space .um input[type=submit].um-button,
.lbem-space .um a.um-button {
	font-family: var(--lb-sans) !important; font-size: 15px !important; font-weight: 600 !important;
	letter-spacing: .01em !important; color: #fff !important;
	background: linear-gradient(180deg, #00699E, #005B89) !important;
	border: 0 !important; border-radius: var(--lb-radius-sm) !important;
	padding: 14px 30px !important; height: auto !important; line-height: 1.4 !important;
	text-shadow: none !important; box-shadow: 0 12px 26px -14px rgba(0,64,95,.75) !important;
	transition: transform .18s ease, filter .18s ease !important;
}
.lbem-space .um .um-button:hover,
.lbem-space .um input[type=submit].um-button:hover,
.lbem-space .um a.um-button:hover { transform: translateY(-1px); filter: brightness(1.06); }
.lbem-space .um .um-link-alt,
.lbem-space .um .um-col-alt-b a {
	font-family: var(--lb-sans) !important; font-size: 14px !important;
	font-weight: 600 !important; color: var(--lb-blue) !important;
}
.lbem-space .um .um-field-checkbox-option { font-family: var(--lb-sans); color: var(--lb-ink); font-size: 14px; }

/* Colonne d'onglets du compte */
.lbem-space .um .um-account-side { border: 0 !important; }
.lbem-space .um .um-account-side li a {
	border: 1px solid transparent !important; border-radius: var(--lb-radius-sm) !important;
	background: var(--lb-tint) !important; margin-bottom: .5rem !important;
	transition: background .18s ease, border-color .18s ease !important;
}
.lbem-space .um .um-account-side li a span.um-account-title {
	font-family: var(--lb-sans) !important; font-size: 14px !important; font-weight: 600 !important;
	color: var(--lb-ink) !important;
}
.lbem-space .um .um-account-side li a span.um-account-icon { color: var(--lb-blue) !important; }
.lbem-space .um .um-account-side li a:hover { background: #E7F2F9 !important; border-color: rgba(0,91,137,.18) !important; }
.lbem-space .um .um-account-side li a.current,
.lbem-space .um .um-account-side li a.current:hover {
	background: linear-gradient(180deg, #00699E, #005B89) !important;
	border-color: transparent !important;
	box-shadow: 0 12px 26px -16px rgba(0,64,95,.8) !important;
}
.lbem-space .um .um-account-side li a.current span.um-account-title,
.lbem-space .um .um-account-side li a.current span.um-account-icon,
.lbem-space .um .um-account-side li a.current span.um-account-arrow,
.lbem-space .um .um-account-side li a.current:hover span.um-account-title,
.lbem-space .um .um-account-side li a.current:hover span.um-account-icon { color: #fff !important; }

.lbem-space .um .um-account-heading {
	font-family: var(--lb-serif) !important; font-size: 21px !important; font-weight: 600 !important;
	color: var(--lb-blue) !important; border-bottom: 1px solid var(--lb-line) !important;
	padding-bottom: .8rem !important; margin-bottom: 1.6rem !important;
}
.lbem-space .um .um-account-name a {
	font-family: var(--lb-serif) !important; font-size: 19px !important;
	color: var(--lb-deep) !important; font-weight: 600 !important;
}
.lbem-space .um .um-account-profile-link a { font-family: var(--lb-sans) !important; color: var(--lb-blue) !important; font-size: 13.5px !important; }
.lbem-space .um .um-account-meta img,
.lbem-space .um .um-account-profile-pic img { border-radius: 50% !important; }
.lbem-space .um .um-notice { border-radius: var(--lb-radius-sm) !important; font-family: var(--lb-sans) !important; }

/* =====================================================================
 * Navigation de l'espace
 * ===================================================================== */

.lbem-nav {
	display: flex; align-items: center; flex-wrap: wrap; gap: .35rem;
	margin: 0 0 2.2rem; padding: .45rem;
	background: rgba(255,255,255,.78);
	border: 1px solid rgba(0,91,137,.10); border-radius: 999px;
	box-shadow: 0 1px 2px rgba(16,44,64,.04), 0 22px 44px -34px rgba(0,64,95,.45);
	backdrop-filter: saturate(140%) blur(6px);
}
.lbem-nav-item {
	font-family: var(--lb-sans); font-size: 14px; font-weight: 600; letter-spacing: .005em;
	color: var(--lb-blue) !important; text-decoration: none !important;
	padding: 10px 15px; border-radius: 999px; white-space: nowrap;
	transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}
.lbem-nav-item:hover { background: var(--lb-tint); }
.lbem-nav-item.is-active {
	color: #fff !important;
	background: linear-gradient(180deg, #00699E, var(--lb-blue));
	box-shadow: 0 10px 22px -12px rgba(0,64,95,.8);
}
.lbem-nav-sep { flex: 1 1 auto; }
.lbem-nav-quiet { color: var(--lb-muted) !important; font-weight: 500; font-size: 13px; padding-left: 12px; padding-right: 12px; }
.lbem-nav-quiet:hover { color: var(--lb-blue) !important; }

/* ---------- Barre d'action au-dessus des listes ---------- */

.lbem-barre {
	display: flex; align-items: center; justify-content: space-between;
	gap: 1rem 1.4rem; flex-wrap: wrap; margin: 0 0 1.4rem;
}
.lbem-filtres { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin: 0; }
.lbem-space form.lbem-filtres input.lbem-input,
.lbem-space form.lbem-filtres select.lbem-input {
	width: 260px; min-width: 0; flex: 0 0 auto; padding: 11px 15px; font-size: 14.5px;
}
.lbem-space form.lbem-filtres select.lbem-input { width: 210px; padding-right: 40px; }
.lbem-space .lbem-filtres .lbem-btn { flex-shrink: 0; }
.lbem-compte {
	font-family: var(--lb-eyebrow); font-size: 11px; font-weight: 700;
	letter-spacing: .18em; text-transform: uppercase; color: var(--lb-muted);
	margin: 0 0 .9rem; padding-left: .2rem;
}

/* ---------- Sous-navigation (À venir / Passés) ---------- */

.lbem-sous-nav {
	display: inline-flex; gap: .25rem; padding: .3rem;
	background: #fff; border: 1px solid rgba(0,91,137,.12); border-radius: 999px;
}
.lbem-sous-item {
	font-family: var(--lb-sans); font-size: 13.5px; font-weight: 600;
	color: var(--lb-muted) !important; text-decoration: none !important;
	padding: 8px 18px; border-radius: 999px; transition: background .18s ease, color .18s ease;
}
.lbem-sous-item:hover { background: var(--lb-tint); color: var(--lb-blue) !important; }
.lbem-sous-item.is-active { background: var(--lb-tint); color: var(--lb-blue) !important; box-shadow: inset 0 0 0 1px rgba(0,91,137,.16); }

/* ---------- Variantes de carte ---------- */

.lbem-card-plate { padding: .4rem clamp(.9rem, 2vw, 1.6rem); }
.lbem-card-etroite { max-width: 480px; margin: 0 auto; }
.lbem-centre { text-align: center; }

/* =====================================================================
 * Listes
 * ===================================================================== */

.lbem-list { list-style: none; margin: 0; padding: 0; }
.lbem-list li { list-style: none; margin: 0; padding: 0; }
.lbem-row {
	display: flex; align-items: center; justify-content: space-between;
	gap: 1rem 1.6rem; flex-wrap: wrap;
	padding: 1.15rem .6rem; border-top: 1px solid var(--lb-line);
	transition: background .16s ease;
}
.lbem-list > .lbem-row:first-child { border-top: 0; }
.lbem-row:hover { background: rgba(242,248,252,.7); }
.lbem-row-main { display: flex; flex-direction: column; gap: .22rem; min-width: 0; flex: 1 1 320px; }
.lbem-row-title {
	font-family: var(--lb-serif); font-size: 17.5px; font-weight: 600; line-height: 1.3;
	color: var(--lb-deep) !important; text-decoration: none !important;
}
a.lbem-row-title:hover { color: var(--lb-blue) !important; }
.lbem-row-meta { font-family: var(--lb-sans); font-size: 13.5px; color: var(--lb-muted); line-height: 1.5; }
.lbem-row-side { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; flex-shrink: 0; }
.lbem-row-date { font-family: var(--lb-sans); font-size: 13px; color: #A9BAC6; }

/* ---------- Pastilles d'état ---------- */

.lbem-badge {
	display: inline-flex; align-items: center;
	font-family: var(--lb-eyebrow); font-size: 10.5px; font-weight: 700;
	letter-spacing: .12em; text-transform: uppercase;
	padding: 6px 12px; border-radius: 999px; white-space: nowrap;
	background: var(--lb-tint); color: var(--lb-blue);
	border: 1px solid rgba(0,91,137,.14); text-decoration: none !important;
}
.lbem-badge-ok { background: #EEF8F1; color: #24734C; border-color: rgba(46,139,87,.24); }
.lbem-badge-off { background: #F3F5F7; color: #7C8B97; border-color: rgba(124,139,151,.22); }
.lbem-badge-attention { background: #FEF6EC; color: #96601C; border-color: rgba(190,128,40,.24); }
a.lbem-badge-compte { transition: background .18s ease, border-color .18s ease; }
a.lbem-badge-compte:hover { background: #E4F1F9; border-color: rgba(0,91,137,.3); }

.lbem-btn-petit { font-size: 13.5px; padding: 9px 20px; box-shadow: 0 8px 18px -12px rgba(0,64,95,.7); }

/* =====================================================================
 * Cases à cocher et boutons radio
 * ===================================================================== */

.lbem-checks { display: flex; flex-direction: column; gap: .55rem; }
.lbem-check {
	display: flex; align-items: flex-start; gap: .7rem; cursor: pointer;
	font-family: var(--lb-sans); font-size: 14.5px; color: var(--lb-ink); line-height: 1.5;
	background: #fff; border: 1px solid var(--lb-line); border-radius: var(--lb-radius-sm);
	padding: 12px 16px; transition: border-color .18s ease, background .18s ease;
}
.lbem-check:hover { border-color: rgba(0,91,137,.28); background: rgba(242,248,252,.6); }
.lbem-check input { margin: 2px 0 0; accent-color: var(--lb-blue); width: 17px; height: 17px; flex-shrink: 0; }
.lbem-check span { flex: 1 1 auto; }
.lbem-check + .lbem-check { margin-top: 0; }

/* =====================================================================
 * Annuaire interne
 * ===================================================================== */

.lbem-annuaire {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.1rem;
}
.lbem-vcard {
	display: flex; align-items: flex-start; gap: 1.1rem;
	background: #fff; border: 1px solid rgba(0,91,137,.10);
	border-radius: 18px; padding: 1.25rem 1.35rem;
	box-shadow: 0 1px 2px rgba(16,44,64,.04);
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.lbem-vcard:hover { transform: translateY(-2px); border-color: rgba(0,91,137,.26); box-shadow: 0 22px 44px -28px rgba(0,64,95,.5); }
.lbem-vcard-photo {
	width: 64px; height: 64px; flex-shrink: 0; border-radius: 50%; overflow: hidden;
	background: var(--lb-tint); border: 1px solid var(--lb-line);
	display: flex; align-items: center; justify-content: center;
}
.lbem-vcard-photo img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 50%; }
.lbem-vcard-initiales {
	font-family: var(--lb-serif); font-size: 26px; font-weight: 600; color: var(--lb-blue); line-height: 1;
}
.lbem-vcard-body { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.lbem-vcard-nom {
	font-family: var(--lb-serif); font-size: 17px; font-weight: 600;
	color: var(--lb-deep) !important; text-decoration: none !important; line-height: 1.3;
}
.lbem-vcard-nom:hover { color: var(--lb-blue) !important; }
.lbem-vcard-metier { font-family: var(--lb-sans); font-size: 13.5px; color: var(--lb-ink); line-height: 1.45; }
.lbem-vcard-bulle {
	font-family: var(--lb-eyebrow); font-size: 10.5px; font-weight: 700;
	letter-spacing: .14em; text-transform: uppercase; color: var(--lb-cyan);
	margin-top: .15rem;
}
.lbem-vcard-contact { display: flex; flex-direction: column; gap: .1rem; margin-top: .45rem; }
.lbem-vcard-contact a {
	font-family: var(--lb-sans); font-size: 13px; color: var(--lb-blue);
	text-decoration: none; word-break: break-word;
}
.lbem-vcard-contact a:hover { text-decoration: underline; }

/* =====================================================================
 * Tableau des inscrits
 * ===================================================================== */

.lbem-table-scroll { overflow-x: auto; margin: .6rem 0 0; -webkit-overflow-scrolling: touch; }
.lbem-space table.lbem-table {
	width: 100%; border-collapse: collapse; margin: 0;
	font-family: var(--lb-sans); font-size: 14px; color: var(--lb-ink);
}
.lbem-space table.lbem-table th {
	font-family: var(--lb-eyebrow); font-size: 10.5px; font-weight: 700;
	letter-spacing: .14em; text-transform: uppercase; color: var(--lb-muted);
	text-align: left; padding: .7rem .9rem; border-bottom: 1px solid var(--lb-line);
	background: transparent; white-space: nowrap;
}
.lbem-space table.lbem-table td {
	padding: .95rem .9rem; border-bottom: 1px solid var(--lb-line);
	vertical-align: top; line-height: 1.5; background: transparent;
}
.lbem-space table.lbem-table tr:last-child td { border-bottom: 0; }
.lbem-space table.lbem-table tbody tr:hover td { background: rgba(242,248,252,.7); }
.lbem-space table.lbem-table td a { color: var(--lb-blue); text-decoration: none; }
.lbem-space table.lbem-table td a:hover { text-decoration: underline; }
.lbem-num { white-space: nowrap; font-variant-numeric: tabular-nums; color: var(--lb-muted); }
.lbem-tel { display: block; font-size: 13px; color: var(--lb-muted); }
.lbem-invites { display: block; font-size: 12.5px; color: var(--lb-muted); font-style: italic; }

/* ---------- Grande image (évènement) ---------- */

.lbem-photo-large {
	position: relative; width: 100%; max-width: 460px; aspect-ratio: 16 / 9;
	border-radius: 16px; overflow: hidden; margin-bottom: .9rem;
	background: var(--lb-tint); border: 1px solid var(--lb-line);
	display: flex; align-items: center; justify-content: center;
}
.lbem-photo-large img { width: 100%; height: 100%; object-fit: cover; display: block; }

.lbem-actions-side { display: inline-flex; align-items: center; gap: 1.4rem; flex-wrap: wrap; }

/* ---------- Champs complémentaires ---------- */

.lbem-space input[type="search"].lbem-input,
.lbem-space input[type="date"].lbem-input,
.lbem-space input[type="time"].lbem-input,
.lbem-space input[type="number"].lbem-input {
	width: 100%; box-sizing: border-box;
	font-family: var(--lb-sans); font-size: 15.5px; color: var(--lb-ink);
	background: #fff; border: 1px solid #DCE7EF; border-radius: var(--lb-radius-sm);
	padding: 13px 16px; line-height: 1.5; box-shadow: inset 0 1px 2px rgba(16,44,64,.03);
	transition: border-color .18s ease, box-shadow .18s ease;
}
.lbem-space select.lbem-input {
	-webkit-appearance: none; appearance: none; padding-right: 42px; cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23005B89' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 16px center;
}
.lbem-space .lbem-field small { font-weight: 400; color: var(--lb-muted); font-size: 12.5px; }
.lbem-space .lbem-form input[type="file"] { display: none; }

/* ---------- Responsive ---------- */

@media (max-width: 780px) {
	.lbem-identity { grid-template-columns: 1fr; justify-items: center; text-align: center; }
	.lbem-identity .lbem-identity-fields { width: 100%; text-align: left; }
	.lbem-social-row { grid-template-columns: 1fr; }
	.lbem-actions { flex-direction: column; align-items: stretch; }
	.lbem-actions .lbem-btn { width: 100%; }
	.lbem-hero { padding: 2.2rem 0 1.8rem; }
	.lbem-nav { border-radius: 18px; justify-content: center; }
	.lbem-nav-sep { display: none; }
	.lbem-nav-item { padding: 9px 15px; font-size: 13.5px; }
	.lbem-barre { flex-direction: column; align-items: stretch; }
	.lbem-barre .lbem-btn { width: 100%; }
	.lbem-filtres { flex-direction: column; align-items: stretch; }
	.lbem-filtres .lbem-input { width: 100%; min-width: 0; }
	.lbem-sous-nav { justify-content: center; }
	.lbem-row { align-items: flex-start; }
	.lbem-row-side { width: 100%; justify-content: flex-start; }
	.lbem-annuaire { grid-template-columns: 1fr; }
	.lbem-actions-side { flex-direction: column; align-items: stretch; gap: .7rem; }
}

/* =====================================================================
 * Coque dédiée : l'espace membre n'emprunte plus l'en-tête ni le pied
 * de page du site, il a les siens.
 * ===================================================================== */

.lbem-space #top-header,
.lbem-space #main-header,
.lbem-space #et-secondary-nav,
.lbem-space #main-footer { display: none !important; }
.lbem-space #page-container { padding-top: 0 !important; margin-top: 0 !important; }

.lbem-space .lbem-topbar {
	position: sticky; top: 0; z-index: 9000;
	background: rgba(255,255,255,.94);
	-webkit-backdrop-filter: saturate(150%) blur(10px);
	backdrop-filter: saturate(150%) blur(10px);
	border-bottom: 1px solid var(--lb-line);
	box-shadow: 0 10px 30px -26px rgba(0,64,95,.55);
}
.lbem-space.admin-bar .lbem-topbar { top: 32px; }
.lbem-topbar-in {
	width: 92%; max-width: 1180px; margin: 0 auto;
	display: flex; align-items: center; gap: 1.5rem; min-height: 76px;
}
.lbem-brand { display: flex; align-items: center; gap: .8rem; flex: 0 0 auto; text-decoration: none; }
.lbem-brand-logo { height: 40px; width: auto; display: block; }
.lbem-brand-mark { font-family: var(--lb-serif); font-size: 20px; font-weight: 600; color: var(--lb-deep); }
.lbem-brand-txt {
	font-family: var(--lb-eyebrow); font-size: 10px; font-weight: 700;
	letter-spacing: .2em; text-transform: uppercase; color: var(--lb-blue);
	border-left: 1px solid var(--lb-line); padding-left: .8rem; opacity: .75;
}
.lbem-topnav {
	display: flex; align-items: center; gap: .2rem; flex: 1 1 auto;
	overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.lbem-topnav::-webkit-scrollbar { display: none; }
.lbem-space .lbem-topnav-item {
	font-family: var(--lb-sans); font-size: 14px; font-weight: 600;
	color: var(--lb-ink) !important; text-decoration: none; white-space: nowrap;
	padding: 9px 15px; border-radius: 999px; line-height: 1.2;
	transition: background .18s ease, color .18s ease;
}
.lbem-space .lbem-topnav-item:hover { background: var(--lb-tint); }
.lbem-space .lbem-topnav-item.is-active {
	background: linear-gradient(120deg, var(--lb-blue), var(--lb-deep));
	color: #fff !important;
	box-shadow: 0 12px 24px -16px rgba(0,64,95,.85);
}
.lbem-topuser { display: flex; align-items: center; gap: 1rem; flex: 0 0 auto; }
.lbem-topuser-name {
	font-family: var(--lb-eyebrow); font-size: 11px; font-weight: 700;
	letter-spacing: .12em; text-transform: uppercase; color: var(--lb-muted);
	padding-right: 1rem; border-right: 1px solid var(--lb-line);
}
.lbem-space .lbem-topuser-link {
	font-family: var(--lb-sans); font-size: 13.5px; font-weight: 600;
	color: var(--lb-muted) !important; text-decoration: none; white-space: nowrap;
}
.lbem-space .lbem-topuser-link:hover { color: var(--lb-blue) !important; }
.lbem-space .lbem-topuser-out { color: var(--lb-blue) !important; }

.lbem-footer {
	background: #00405F; color: rgba(255,255,255,.66);
	font-family: 'Open Sans', Arial, sans-serif; font-size: 13.5px;
}
.lbem-footer-in {
	width: 92%; max-width: 1180px; margin: 0 auto;
	display: flex; align-items: center; gap: 1rem; min-height: 78px; flex-wrap: wrap;
}
.lbem-footer-mark { font-family: 'Vollkorn', Georgia, serif; font-size: 17px; color: #fff; }
.lbem-footer-txt { opacity: .7; }
.lbem-space .lbem-footer-link {
	margin-left: auto; color: rgba(255,255,255,.8) !important;
	text-decoration: none; font-weight: 600;
}
.lbem-space .lbem-footer-link:hover { color: #fff !important; }

/* ---------- Aération ---------- */

.lbem-hero { padding: 3.8rem 0 2.8rem; }
.lbem-card + .lbem-card { margin-top: 2.4rem; }
.lbem-section + .lbem-section { margin-top: 3.4rem; padding-top: 3rem; }
.lbem-space .et_pb_post { padding-bottom: 6rem; }
.lbem-space #main-content .entry-content { padding-bottom: 0; }
/* De l'air avant le pied de page, quelle que soit la page. */
.lbem-space #main-content { padding-bottom: 5.5rem; }

@media (max-width: 1240px) {
	.lbem-topbar-in { flex-wrap: wrap; gap: .9rem 1.1rem; padding: .9rem 0; min-height: 0; }
	.lbem-topnav { order: 3; width: 100%; flex: 1 1 100%; }
	.lbem-topuser, .lbem-user { margin-left: auto; }
}
@media (max-width: 782px) {
	.lbem-space.admin-bar .lbem-topbar { top: 46px; }
}
@media (max-width: 620px) {
	.lbem-brand-logo { height: 32px; }
	.lbem-brand-txt { display: none; }
	.lbem-topuser-name { display: none; }
	.lbem-hero { padding: 2.8rem 0 2.2rem; }
	.lbem-footer-in { min-height: 0; padding: 1.4rem 0; }
	.lbem-space .lbem-footer-link { margin-left: 0; width: 100%; }
}

/* ---------- Lien vers la fiche, éditeur riche et Markdown ---------- */

.lbem-fiche-lien {
	display: flex; align-items: center; gap: .8rem; flex-wrap: wrap;
	margin: 0 0 1.1rem; padding: 0 .2rem;
	font-family: var(--lb-sans); font-size: 14px;
}
.lbem-field-editeur .lbem-label { margin-bottom: .6rem; }
.lbem-space .lbem-field-editeur .wp-editor-container {
	border: 1px solid var(--lb-line); border-radius: var(--lb-radius-sm); overflow: hidden; background: #fff;
}
.lbem-space .lbem-field-editeur .mce-panel { border-color: var(--lb-line) !important; }
.lbem-space .lbem-field-editeur .mce-toolbar-grp { background: #FAFCFE !important; border-bottom: 1px solid var(--lb-line) !important; }
.lbem-space .lbem-field-editeur .wp-editor-area { border: 0 !important; padding: 14px 16px; font-family: var(--lb-sans); font-size: 15px; }
.lbem-space .lbem-field-editeur iframe { background: #fff; }

.lbem-md {
	margin: 0 0 1.25rem; padding: .95rem 1.15rem;
	background: var(--lb-tint); border: 1px solid var(--lb-line); border-radius: var(--lb-radius-sm);
}
.lbem-space .lbem-md summary {
	cursor: pointer; list-style: none;
	font-family: var(--lb-sans); font-size: 13.5px; font-weight: 600; color: var(--lb-blue);
}
.lbem-space .lbem-md summary::-webkit-details-marker { display: none; }
.lbem-space .lbem-md summary:before { content: "+ "; font-weight: 700; }
.lbem-space .lbem-md[open] summary:before { content: "– "; }
.lbem-space .lbem-md .lbem-section-hint { margin: .9rem 0 .8rem; }
.lbem-space .lbem-md textarea.lbem-input { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13.5px; }
.lbem-md-actions { display: flex; align-items: center; gap: .9rem; flex-wrap: wrap; margin: .9rem 0 0; }
.lbem-md-etat { font-family: var(--lb-sans); font-size: 13px; color: var(--lb-muted); }

/* ---------- Menus déroulants de la barre, avatar, fil d'Ariane ---------- */

.lbem-topnav { overflow: visible; flex-wrap: wrap; }
.lbem-menu { position: relative; }
.lbem-space .lbem-menu-btn {
	display: inline-flex; align-items: center; gap: .45rem;
	background: none; border: 0; cursor: pointer; font: inherit;
	font-family: var(--lb-sans); font-size: 14px; font-weight: 600; color: var(--lb-ink);
	padding: 9px 15px; border-radius: 999px; line-height: 1.2;
}
.lbem-caret {
	width: 0; height: 0; display: inline-block;
	border-left: 4px solid transparent; border-right: 4px solid transparent;
	border-top: 5px solid currentColor; opacity: .55; transition: transform .18s ease;
}
.lbem-menu.is-ouvert .lbem-caret { transform: rotate(180deg); }
.lbem-menu-pop {
	position: absolute; top: calc(100% + 10px); left: 0; z-index: 40;
	min-width: 220px; padding: .5rem; opacity: 0; visibility: hidden;
	transform: translateY(-6px); transition: opacity .16s ease, transform .16s ease, visibility .16s;
	background: #fff; border: 1px solid rgba(0,91,137,.10); border-radius: 14px;
	box-shadow: 0 24px 48px -20px rgba(0,64,95,.34);
}
.lbem-menu-pop-droite { left: auto; right: 0; }
.lbem-menu.is-ouvert .lbem-menu-pop { opacity: 1; visibility: visible; transform: translateY(0); }
.lbem-space .lbem-menu-item {
	display: block; padding: 10px 14px; border-radius: 9px;
	font-family: var(--lb-sans); font-size: 14px; font-weight: 600;
	color: var(--lb-ink) !important; text-decoration: none; white-space: nowrap;
}
.lbem-space .lbem-menu-item:hover { background: var(--lb-tint); color: var(--lb-blue) !important; }
.lbem-space .lbem-menu-item.is-active { color: var(--lb-blue) !important; background: var(--lb-tint); }
.lbem-space .lbem-menu-sortie {
	margin-top: .35rem; padding-top: .7rem; border-top: 1px solid var(--lb-line);
	color: var(--lb-muted) !important; font-weight: 500; border-radius: 0 0 9px 9px;
}

.lbem-space .lbem-user-btn {
	display: inline-flex; align-items: center; gap: .6rem;
	background: none; border: 0; cursor: pointer; font: inherit;
	padding: 5px 10px 5px 5px; border-radius: 999px; transition: background .18s ease;
}
.lbem-space .lbem-user-btn:hover { background: var(--lb-tint); }
.lbem-avatar {
	width: 38px; height: 38px; border-radius: 50%; overflow: hidden; flex: none;
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(140deg, var(--lb-blue), var(--lb-deep));
	box-shadow: 0 6px 16px -8px rgba(0,64,95,.7);
}
.lbem-avatar img, .lbem-space .lbem-avatar-img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 50%; }
.lbem-avatar-init { font-family: var(--lb-eyebrow); font-size: 15px; font-weight: 700; color: #fff; }
.lbem-user-nom {
	font-family: var(--lb-sans); font-size: 14px; font-weight: 600; color: var(--lb-ink);
	max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.lbem-fil {
	display: flex; align-items: center; justify-content: center; gap: .55rem;
	margin: 0 0 1.1rem; font-family: var(--lb-sans); font-size: 13.5px;
}
.lbem-space .lbem-fil-lien { color: var(--lb-blue) !important; text-decoration: none; font-weight: 600; }
.lbem-space .lbem-fil-lien:hover { text-decoration: underline; }
.lbem-fil-sep { color: #B7C7D2; }
.lbem-fil-ici { color: var(--lb-muted); }

/* ---------- Cartes de l'annuaire entièrement cliquables ---------- */

.lbem-vcard { position: relative; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.lbem-vcard:hover { transform: translateY(-2px); border-color: rgba(0,91,137,.22); box-shadow: 0 20px 40px -26px rgba(0,64,95,.55); }
.lbem-space .lbem-vcard-nom:after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.lbem-vcard-contact { position: relative; z-index: 2; }
.lbem-vcard-photo { position: relative; z-index: 2; pointer-events: none; }

@media (max-width: 620px) {
	.lbem-user-nom { display: none; }
	.lbem-menu-pop { min-width: 190px; }
}

/* ---------- Listes plus aérées ----------
   La remise à zéro des puces (.lbem-list li) l'emportait sur .lbem-row et
   annulait son rembourrage : les lignes se touchaient. On repasse devant. */

.lbem-space .lbem-list > .lbem-row {
	padding: 1.5rem .75rem;
	gap: 1.1rem 2rem;
}
.lbem-space .lbem-list > .lbem-row + .lbem-row { border-top: 1px solid var(--lb-line); }
.lbem-space .lbem-list > .lbem-row:first-child { padding-top: .6rem; border-top: 0; }
.lbem-space .lbem-list > .lbem-row:last-child { padding-bottom: .6rem; }
.lbem-row-main { gap: .45rem; }
.lbem-row-title { font-size: 18px; line-height: 1.35; }
.lbem-row-meta { font-size: 14px; line-height: 1.7; }
.lbem-row-side { gap: 1.1rem; }
.lbem-space .lbem-barre { margin-bottom: 2.2rem; gap: 1.2rem 1.4rem; }
.lbem-space .lbem-compte { margin: 0 0 1.1rem; }
.lbem-space nav.lbem-sous-nav + .lbem-compte { margin-top: 1.5rem; }
.lbem-space .lbem-sous-nav + .lbem-card { margin-top: 2rem; }

/* ---------- Adhésion, renouvellements et invités ---------- */

.lbem-discret { color: #A9BAC6; }
.lbem-tool-alerte { border-color: rgba(169,105,26,.35) !important; background: #FDF7EE !important; }
.lbem-tool-alerte strong { color: #8A5514 !important; }
.lbem-field-etroit { max-width: 260px; }

.lbem-invites-champs { margin: .4rem 0 1.4rem; }
.lbem-invite-ligne {
	display: grid; grid-template-columns: 28px 1fr 1fr; gap: .7rem;
	align-items: center; margin: 0 0 .7rem;
}
.lbem-invite-num {
	width: 28px; height: 28px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: var(--lb-tint); color: var(--lb-blue);
	font-family: var(--lb-eyebrow); font-size: 12px; font-weight: 700;
}
.lbem-space ul.lbem-invites {
	list-style: none !important; margin: .4rem 0 0; padding: 0;
	font-family: var(--lb-sans); font-size: 13px; color: var(--lb-muted);
}
.lbem-space ul.lbem-invites li { margin: 0; padding: 0 0 0 .9rem; position: relative; line-height: 1.6; }
.lbem-space ul.lbem-invites li:before { content: "+" !important; display: block !important; position: absolute; left: 0; color: #A9BAC6; }

@media (max-width: 620px) {
	.lbem-invite-ligne { grid-template-columns: 28px 1fr; }
	.lbem-invite-ligne input:last-child { grid-column: 2; }
}


/* Rôle d'un compte, dans la liste des membres */
.lbem-space .lbem-badge-role {
	background: #14293d;
	color: #fff;
	border-color: #14293d;
}

/* Barre d'actions de la liste des membres */
.lbem-space .lbem-barre-actions {
	display: flex;
	gap: .6rem;
	align-items: center;
	flex-wrap: wrap;
}

/* Case « payé » dans la liste des inscrits */
.lbem-space .lbem-paye {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	cursor: pointer;
	white-space: nowrap;
}
.lbem-space .lbem-paye input {
	width: 18px;
	height: 18px;
	accent-color: #1c7ed6;
	cursor: pointer;
}
.lbem-space .lbem-paye-texte {
	font-size: .82rem;
	color: #5b7186;
}
.lbem-space .lbem-paye input:checked + .lbem-paye-texte {
	color: #1c7ed6;
	font-weight: 600;
}


/* Glisser-déposer d'une image sur l'aperçu */
.lbem-space .lbem-depot {
	position: relative;
	cursor: pointer;
	outline: 2px dashed transparent;
	outline-offset: 4px;
	transition: outline-color .15s ease, background-color .15s ease;
}
.lbem-space .lbem-depot:hover::after,
.lbem-space .lbem-depot.is-survol::after {
	content: "Cliquez ou glissez une image ici";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: .4rem .5rem;
	background: rgba(20, 41, 61, .78);
	color: #fff;
	font-size: .72rem;
	letter-spacing: .02em;
	text-align: center;
	pointer-events: none;
}
.lbem-space .lbem-depot.is-survol {
	outline-color: #1c7ed6;
	background-color: #eef6fd;
}


/* Inscrits : le membre, puis ses invités en retrait */
.lbem-space .lbem-membre-nom { font-weight: 600; color: var(--lb-ink); }
.lbem-space ul.lbem-invites {
	margin-top: .45rem;
	padding-left: .75rem;
	border-left: 2px solid var(--lb-line);
}
.lbem-space ul.lbem-invites li { padding-left: 0; }
.lbem-space ul.lbem-invites li:before {
	content: "invité" !important;
	display: inline !important;
	position: static;
	margin-right: .4rem;
	font-size: 10px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #A9BAC6;
}
.lbem-space .lbem-invite-vide { font-style: italic; opacity: .75; }


/* Barre de gestion, sous la navigation, sur toutes les pages de l'espace */
.lbem-gestionbar {
	background: #F7FAFD;
	border-bottom: 1px solid var(--lb-line);
}
.lbem-gestionbar-in {
	max-width: 1180px;
	margin: 0 auto;
	padding: .55rem 1.5rem;
	display: flex;
	align-items: center;
	gap: 1.2rem;
	flex-wrap: wrap;
}
.lbem-gestionbar-titre {
	font-family: var(--lb-eyebrow);
	font-size: 10.5px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #8FA3B4;
	white-space: nowrap;
}
.lbem-gestionnav {
	display: flex;
	align-items: center;
	gap: .3rem;
	flex-wrap: wrap;
}
.lbem-gestionnav-item {
	display: inline-block;
	padding: .35rem .8rem;
	border-radius: 999px;
	font-family: var(--lb-sans);
	font-size: 13.5px;
	line-height: 1.4;
	color: var(--lb-muted);
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease;
}
.lbem-gestionnav-item:hover { background: #EAF2FA; color: var(--lb-ink); }
.lbem-gestionnav-item.is-active { background: var(--lb-blue); color: #fff; }

@media (max-width: 620px) {
	.lbem-gestionbar-in { padding: .5rem 1rem; gap: .6rem; }
	.lbem-gestionbar-titre { width: 100%; }
}


/* =====================================================================
   Rendez-vous : cartes
   ===================================================================== */

.lbem-space .lbem-bloc { margin: 0 0 2.6rem; }
.lbem-space .lbem-bloc-tete {
	display: flex; align-items: baseline; justify-content: space-between;
	gap: 1rem; flex-wrap: wrap; margin-bottom: .2rem;
}
.lbem-space .lbem-bloc-tete .lbem-section-title { margin: 0; }
.lbem-space .lbem-bloc-note {
	font-family: var(--lb-eyebrow); font-size: 10.5px; letter-spacing: .1em;
	text-transform: uppercase; color: var(--lb-blue);
}

.lbem-space .lbem-ev-grille {
	display: grid; gap: 1.4rem; margin-top: 1.1rem;
	grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
}

.lbem-space .lbem-ev {
	display: flex; flex-direction: column; overflow: hidden;
	background: #fff; border: 1px solid var(--lb-line); border-radius: 18px;
	box-shadow: 0 1px 2px rgba(20, 41, 61, .04);
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.lbem-space .lbem-ev:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(20, 41, 61, .10);
	border-color: #CFE0EE;
}
.lbem-space .lbem-ev.est-inscrit { border-color: #B7E0C4; }

.lbem-space .lbem-ev-visuel {
	position: relative; display: block; aspect-ratio: 3 / 2;
	background: linear-gradient(135deg, #14293d 0%, #1c7ed6 100%);
	overflow: hidden; text-decoration: none;
}
.lbem-space .lbem-ev-visuel img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lbem-space .lbem-ev-vide {
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	color: rgba(255, 255, 255, .92); font-size: 1.5rem; text-align: center; padding: 1rem;
}
.lbem-space .lbem-ev-date {
	position: absolute; left: 14px; bottom: 14px; min-width: 54px;
	background: #fff; border-radius: 12px; padding: .45rem .3rem .35rem;
	text-align: center; box-shadow: 0 4px 12px rgba(20, 41, 61, .18);
}
.lbem-space .lbem-ev-date b { display: block; font-size: 20px; line-height: 1; color: var(--lb-ink); }
.lbem-space .lbem-ev-date i {
	display: block; font-style: normal; font-size: 10px; letter-spacing: .08em;
	text-transform: uppercase; color: var(--lb-muted); margin-top: 2px;
}
.lbem-space .lbem-ev-bulle {
	position: absolute; right: 14px; top: 14px;
	background: rgba(255, 255, 255, .94); color: var(--lb-ink);
	border-radius: 999px; padding: .25rem .7rem;
	font-size: 11px; letter-spacing: .04em; text-transform: uppercase;
}

.lbem-space .lbem-ev-corps { display: flex; flex-direction: column; gap: .7rem; padding: 1.25rem 1.35rem 1.35rem; flex: 1; }
.lbem-space .lbem-ev-titre { margin: 0; font-size: 1.12rem; line-height: 1.3; }
.lbem-space .lbem-ev-titre a { color: var(--lb-ink); text-decoration: none; }
.lbem-space .lbem-ev-titre a:hover { color: var(--lb-blue); }

.lbem-space ul.lbem-ev-infos { list-style: none !important; margin: 0; padding: 0; display: grid; gap: .25rem; }
.lbem-space ul.lbem-ev-infos li {
	margin: 0; padding: 0 0 0 1.35rem; position: relative;
	font-size: 13.5px; color: var(--lb-muted); line-height: 1.5;
}
.lbem-space ul.lbem-ev-infos li:before {
	position: absolute; left: 0; top: 0; font-size: 12px; opacity: .8;
	display: inline !important;
}
.lbem-space .lbem-ev-quand:before { content: "🗓" !important; }
.lbem-space .lbem-ev-ou:before { content: "📍" !important; }
.lbem-space .lbem-ev-prix:before { content: "💶" !important; }
.lbem-space .lbem-ev-quand { color: var(--lb-ink); font-weight: 600; }

.lbem-space .lbem-ev-extrait { margin: 0; font-size: 13.5px; line-height: 1.65; color: var(--lb-muted); }

.lbem-space .lbem-ev-pied {
	margin-top: auto; padding-top: .9rem; border-top: 1px solid var(--lb-line);
	display: flex; align-items: center; justify-content: space-between; gap: .8rem; flex-wrap: wrap;
}
.lbem-space .lbem-ev-monde { font-size: 12.5px; color: var(--lb-muted); }
.lbem-space .lbem-ev-limite { margin: 0; font-size: 12px; color: #B26A00; }

/* Variante « à la une » */
.lbem-space .lbem-ev-grande { margin-top: 1.1rem; }
@media (min-width: 860px) {
	.lbem-space .lbem-ev-grande { flex-direction: row; }
	.lbem-space .lbem-ev-grande .lbem-ev-visuel { flex: 0 0 46%; aspect-ratio: auto; }
	.lbem-space .lbem-ev-grande .lbem-ev-corps { padding: 1.9rem 2rem; gap: .9rem; }
	.lbem-space .lbem-ev-grande .lbem-ev-titre { font-size: 1.5rem; }
	.lbem-space .lbem-ev-grande .lbem-ev-extrait { font-size: 14.5px; }
}

/* Ligne d'inscription avec vignette */
.lbem-space .lbem-row-ev { display: flex; align-items: center; gap: 1rem; }
.lbem-space .lbem-row-vignette {
	flex: 0 0 auto; width: 54px; height: 54px; border-radius: 12px;
	background: linear-gradient(135deg, #14293d 0%, #1c7ed6 100%) center / cover no-repeat;
}
.lbem-space .lbem-vide { text-align: center; color: var(--lb-muted); }
.lbem-space .lbem-vide p { margin: 0 0 .9rem; }
.lbem-space .lbem-passees summary { font-size: 14px; }


/* =====================================================================
   Tableau de bord des leaders et du gérant
   ===================================================================== */

.lbem-space .lbem-stats {
	display: grid; gap: 1.1rem; margin-top: 1.2rem;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.lbem-space .lbem-stat {
	display: block; padding: 1.5rem 1.6rem;
	background: #fff; border: 1px solid var(--lb-line); border-radius: 18px;
	text-decoration: none; color: inherit;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.lbem-space .lbem-stat:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 26px rgba(20, 41, 61, .09);
	border-color: #CFE0EE;
}
.lbem-space .lbem-stat b {
	display: block; font-size: 2.35rem; line-height: 1; color: var(--lb-deep);
}
.lbem-space .lbem-stat span {
	display: block; margin-top: .55rem; font-size: 14px; font-weight: 600; color: var(--lb-ink);
}
.lbem-space .lbem-stat i {
	display: block; margin-top: .3rem; font-style: normal; font-size: 12.5px; color: var(--lb-muted);
}
.lbem-space .lbem-stat.est-alerte { border-color: #F2C98A; background: #FFFCF5; }
.lbem-space .lbem-stat.est-alerte b { color: #B26A00; }

/* Ligne de suivi d'un rendez-vous */
.lbem-space .lbem-row-suivi { align-items: flex-start; }
.lbem-space .lbem-row-suivi .lbem-row-main { display: grid; gap: .35rem; }
.lbem-space .lbem-jauge {
	display: block; width: 190px; max-width: 100%; height: 6px; margin-top: .35rem;
	background: var(--lb-tint); border-radius: 999px; overflow: hidden;
}
.lbem-space .lbem-jauge-part { display: block; height: 100%; background: #2E9E5B; border-radius: 999px; }
.lbem-space .lbem-suivi { display: flex; align-items: center; gap: 1.4rem; flex-wrap: wrap; justify-content: flex-end; }
.lbem-space .lbem-suivi-chiffre { font-size: 12.5px; color: var(--lb-muted); white-space: nowrap; }
.lbem-space .lbem-suivi-chiffre b { display: block; font-size: 17px; color: var(--lb-ink); line-height: 1.2; }
.lbem-space .lbem-suivi-chiffre.est-alerte b { color: #B26A00; }
.lbem-space .lbem-suivi-libre { font-style: italic; }

/* Puces de suivi des membres */
.lbem-space .lbem-puces { display: flex; flex-wrap: wrap; gap: .7rem; margin: 1.1rem 0 1.3rem; }
.lbem-space .lbem-puce {
	display: inline-flex; align-items: baseline; gap: .45rem;
	padding: .6rem 1.1rem; border-radius: 999px;
	background: #fff; border: 1px solid var(--lb-line);
	font-size: 13.5px; color: var(--lb-muted); text-decoration: none;
	transition: border-color .15s ease, background-color .15s ease;
}
.lbem-space .lbem-puce b { font-size: 16px; color: var(--lb-ink); }
.lbem-space .lbem-puce:hover { border-color: #CFE0EE; background: #F7FBFF; }
.lbem-space .lbem-puce.est-alerte { border-color: #F2C98A; background: #FFFCF5; }
.lbem-space .lbem-puce.est-alerte b { color: #B26A00; }

@media (max-width: 720px) {
	.lbem-space .lbem-row-suivi { flex-direction: column; }
	.lbem-space .lbem-suivi { justify-content: flex-start; gap: 1.1rem; }
}

/* Navigation : onglets collés à droite, juste avant le compte connecté */
@media (min-width: 901px) {
	.lbem-space .lbem-topnav {
		flex: 0 1 auto;
		margin-left: auto;
		overflow: visible;
		justify-content: flex-end;
	}
	.lbem-space .lbem-user { flex: 0 0 auto; }
}


/* Décision de renouvellement, en un clic depuis la liste */
.lbem-space .lbem-renouv {
	display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; margin-top: .55rem;
}
.lbem-space .lbem-renouv-titre {
	font-size: 11px; letter-spacing: .05em; text-transform: uppercase; color: #8FA3B4; margin-right: .2rem;
}
.lbem-space .lbem-mini {
	font-family: var(--lb-sans); font-size: 12.5px; line-height: 1;
	padding: .42rem .8rem; border-radius: 999px; cursor: pointer;
	background: #fff; border: 1px solid var(--lb-line); color: var(--lb-muted);
	transition: border-color .15s ease, color .15s ease, background-color .15s ease;
}
.lbem-space .lbem-mini:hover { border-color: #CFE0EE; color: var(--lb-ink); }
.lbem-space .lbem-mini.est-actif { background: var(--lb-blue); border-color: var(--lb-blue); color: #fff; }


/* Cases a cocher en liste (referents d'un organisateur) */
.lbem-space .lbem-field-large { grid-column: 1 / -1; }
.lbem-space ul.lbem-cases { list-style: none !important; margin: .7rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: .5rem .9rem; }
.lbem-space ul.lbem-cases li { margin: 0; }
.lbem-space ul.lbem-cases li:before { display: none !important; }
.lbem-space .lbem-case { display: flex; align-items: center; gap: .6rem; padding: .55rem .8rem; border: 1px solid var(--lb-line); border-radius: var(--lb-radius-sm); background: #fff; cursor: pointer; font-size: 14px; color: var(--lb-ink); transition: border-color .15s ease, background .15s ease; }
.lbem-space .lbem-case:hover { border-color: var(--lb-cyan); background: var(--lb-tint); }
.lbem-space .lbem-case input { margin: 0; }
.lbem-space .lbem-case small { display: block; color: var(--lb-muted); font-size: 12px; }

/* Zone de suppression */
.lbem-space .lbem-card-danger { border: 1px solid #F3D9D4; background: #FFFAF9; }
.lbem-space .lbem-card-danger .lbem-section-title { color: #A4372A; }
.lbem-space .lbem-btn-danger { background: #fff !important; color: #A4372A !important; border: 1px solid #E4B7AF !important; box-shadow: none !important; }
.lbem-space .lbem-btn-danger:hover { background: #A4372A !important; color: #fff !important; border-color: #A4372A !important; }

/* =====================================================================
 * Liste des membres : une ligne, cinq colonnes, lues de gauche a droite
 * ================================================================== */
.lbem-space .lbem-mtete,
.lbem-space .lbem-mrow {
	display: grid;
	grid-template-columns: 52px minmax(0, 1.4fr) minmax(0, .9fr) 132px minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: center;
}
.lbem-space .lbem-mtete {
	padding: 1.2rem 1.8rem .9rem;
	border-bottom: 1px solid var(--lb-line);
	font-family: var(--lb-eyebrow);
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--lb-muted);
}
.lbem-space ul.lbem-mlist { list-style: none !important; margin: 0; padding: 0; }
.lbem-space ul.lbem-mlist li:before { display: none !important; }
.lbem-space .lbem-mlist > li + li { border-top: 1px solid var(--lb-line); }
.lbem-space .lbem-mvide { padding: 1.6rem; color: var(--lb-muted); }
.lbem-space .lbem-mrow { padding: 1.35rem 1.8rem; transition: background .15s ease; }
.lbem-space .lbem-mrow:hover { background: var(--lb-tint); }
.lbem-space .lbem-mrow.est-masquee .lbem-mphoto,
.lbem-space .lbem-mrow.est-masquee .lbem-mid { opacity: .55; }

.lbem-space .lbem-mphoto { display: block; width: 52px; height: 52px; border-radius: 50%; overflow: hidden; background: var(--lb-tint); text-decoration: none; }
.lbem-space .lbem-mphoto img { width: 52px; height: 52px; object-fit: cover; display: block; border-radius: 50%; }
.lbem-space .lbem-mphoto-vide { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; font-family: var(--lb-serif); font-size: 20px; color: var(--lb-blue); }

.lbem-space .lbem-mid { min-width: 0; }
.lbem-space .lbem-mnom { font-family: var(--lb-serif); font-size: 17px; line-height: 1.25; color: var(--lb-deep); text-decoration: none; }
.lbem-space .lbem-mnom:hover { color: var(--lb-blue); }
.lbem-space .lbem-mrole { display: inline-block; margin-left: .45rem; padding: .1rem .5rem; border-radius: 999px; background: var(--lb-tint); border: 1px solid var(--lb-line); color: var(--lb-blue); font-family: var(--lb-eyebrow); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; vertical-align: 3px; }
.lbem-space .lbem-mjob { display: block; margin-top: .15rem; font-size: 13px; color: var(--lb-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.lbem-space .lbem-mcol { min-width: 0; font-size: 13px; color: var(--lb-ink); }
.lbem-space .lbem-met { display: none; }
.lbem-space .lbem-chip { display: inline-block; margin: 0 .3rem .25rem 0; padding: .15rem .55rem; border-radius: 999px; background: var(--lb-tint); border: 1px solid var(--lb-line); color: var(--lb-ink); font-size: 12px; }
.lbem-space .lbem-mval { display: block; color: var(--lb-ink); }
.lbem-space .lbem-mech { display: block; margin-top: .1rem; font-size: 12px; color: var(--lb-muted); }
.lbem-space .lbem-mech.est-proche { color: #B26A00; font-weight: 600; }
.lbem-space .lbem-mvid { display: block; color: var(--lb-muted); font-style: italic; font-size: 12px; }

.lbem-space .lbem-etat { display: inline-flex; align-items: center; gap: .45rem; font-size: 13px; color: var(--lb-ink); }
.lbem-space .lbem-etat:before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #C9D6DF; }
.lbem-space .lbem-etat.est-ok:before { background: #3FA36B; }
.lbem-space .lbem-manque { display: block; margin-top: .3rem; font-size: 12px; color: #B26A00; }

.lbem-space .lbem-mact { text-align: right; }
.lbem-space .lbem-mrow .lbem-renouv { grid-column: 2 / -1; margin-top: .6rem; }

@media (max-width: 860px) {
	.lbem-space .lbem-mtete { display: none; }
	.lbem-space .lbem-mrow { grid-template-columns: 44px 1fr auto; gap: .4rem .9rem; }
	.lbem-space .lbem-mphoto, .lbem-space .lbem-mphoto img { width: 44px; height: 44px; }
	.lbem-space .lbem-mid { grid-column: 2; }
	.lbem-space .lbem-mact { grid-column: 3; grid-row: 1; }
	.lbem-space .lbem-mcol { grid-column: 2 / -1; margin-top: .35rem; }
	.lbem-space .lbem-met { display: block; font-family: var(--lb-eyebrow); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--lb-muted); }
	.lbem-space .lbem-mrow .lbem-renouv { grid-column: 2 / -1; }
}


/* =====================================================================
 * Fiche membre : des cartes distinctes, une barre d'action qui suit
 * ================================================================== */
.lbem-space .lbem-form-fiche .lbem-card + .lbem-card {
	margin-top: 2.4rem;
	padding-top: clamp(1.8rem, 3.4vw, 3.2rem);
	border-top: 0;
}

.lbem-space .lbem-bandeau {
	display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
	margin: 0 0 2rem; padding: 1.1rem 1.6rem;
	background: #fff; border: 1px solid var(--lb-line); border-radius: var(--lb-radius-sm);
}
.lbem-space .lbem-bandeau-chips { display: inline-flex; flex-wrap: wrap; gap: .3rem; flex: 1 1 auto; }
.lbem-space .lbem-bandeau .lbem-link { margin-left: auto; }

.lbem-space .lbem-chip.est-option { background: #FFF7E8; border-color: #F0DCB4; color: #8A6516; }
.lbem-space .lbem-chips-ligne { display: flex; flex-wrap: wrap; gap: .3rem; margin: 0; }

.lbem-space .lbem-checks-grille {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: .55rem;
}
.lbem-space .lbem-checks-grille .lbem-check { align-items: center; padding: 10px 14px; }

.lbem-space .lbem-recap {
	margin: .4rem 0 0; padding: .9rem 1.2rem;
	background: var(--lb-tint); border-radius: var(--lb-radius-sm);
	font-family: var(--lb-sans); font-size: 13.5px; color: var(--lb-ink); line-height: 1.6;
}

.lbem-space .lbem-actions-collante {
	position: sticky; bottom: 1rem; z-index: 5;
	margin-top: 2.4rem; padding: 1.2rem clamp(1.8rem, 3.4vw, 3.2rem);
	background: rgba(255,255,255,.94); backdrop-filter: blur(8px);
	border: 1px solid var(--lb-line); border-radius: var(--lb-radius);
	box-shadow: 0 -8px 30px -22px rgba(0,64,95,.7);
}

/* Bulles et mises en avant */
.lbem-space ul.lbem-tlist { margin: .6rem 0 0; }
.lbem-space .lbem-trow { padding: 1.05rem 0; }
.lbem-space .lbem-trow + .lbem-trow { border-top: 1px solid var(--lb-line); }
.lbem-space .lbem-trow-form {
	display: grid; grid-template-columns: minmax(0, 1fr) 90px 190px auto;
	gap: .8rem; align-items: center;
}
.lbem-space .lbem-trow-nb { font-size: 13px; color: var(--lb-muted); }
.lbem-space .lbem-trow .lbem-input { padding: 9px 12px; font-size: 14px; }
@media (max-width: 720px) {
	.lbem-space .lbem-trow-form { grid-template-columns: 1fr auto; }
	.lbem-space .lbem-trow-nb { text-align: right; }
	.lbem-space .lbem-trow-type { grid-column: 1 / -1; }
}


/* Liste des rendez-vous : meme grille que les membres, avec la vignette */
.lbem-space .lbem-mtete-ev,
.lbem-space .lbem-mrow-ev {
	grid-template-columns: 76px minmax(0, 1.9fr) minmax(0, .75fr) minmax(0, .85fr) 100px auto;
	gap: .9rem;
}
.lbem-space .lbem-mrow-ev .lbem-mjob { white-space: normal; }
.lbem-space .lbem-mrow-ev .lbem-mnom { font-size: 16px; }
.lbem-space .lbem-mvign {
	display: block; width: 76px; height: 54px; border-radius: 10px;
	background: var(--lb-tint) center / cover no-repeat; border: 1px solid var(--lb-line);
}
.lbem-space .lbem-mvign.est-vide { background-image: linear-gradient(135deg, #EAF3F9, #F7FBFD); }
.lbem-space .lbem-lien-inscrits { color: var(--lb-blue); text-decoration: none; }
.lbem-space .lbem-lien-inscrits:hover { text-decoration: underline; }
@media (max-width: 860px) {
	.lbem-space .lbem-mrow-ev { grid-template-columns: 62px 1fr auto; }
	.lbem-space .lbem-mvign { width: 62px; height: 46px; }
}


/* =====================================================================
 * Paiement par QR code
 * ================================================================== */
.lbem-space .lbem-paiement { grid-column: 1 / -1; width: 100%; margin-top: .9rem; }
.lbem-space .lbem-paiement > summary {
	display: inline-flex; align-items: center; gap: .5rem; cursor: pointer; list-style: none;
	font-family: var(--lb-sans); font-size: 13.5px; font-weight: 600; color: var(--lb-blue);
	background: var(--lb-tint); border: 1px solid var(--lb-line); border-radius: 999px;
	padding: .5rem 1.1rem; transition: border-color .18s ease, background .18s ease;
}
.lbem-space .lbem-paiement > summary::-webkit-details-marker { display: none; }
.lbem-space .lbem-paiement > summary:hover { border-color: var(--lb-cyan); background: #fff; }
.lbem-space .lbem-paiement[open] > summary { margin-bottom: 1.1rem; }

.lbem-space .lbem-paiement-corps {
	display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 1.6rem; align-items: start;
	padding: 1.4rem; background: #fff; border: 1px solid var(--lb-line); border-radius: var(--lb-radius-sm);
}
.lbem-space .lbem-paiement-qr svg { display: block; width: 190px; height: 190px; }
.lbem-space .lbem-paiement-infos .lbem-section-hint { margin-bottom: 1rem; }
.lbem-space .lbem-paiement-detail {
	display: grid; grid-template-columns: auto 1fr; gap: .45rem 1.1rem; margin: 0;
	font-family: var(--lb-sans); font-size: 13.5px; align-items: baseline;
}
.lbem-space .lbem-paiement-detail span {
	font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--lb-muted);
}
.lbem-space .lbem-paiement-detail strong { color: var(--lb-ink); font-weight: 600; word-break: break-word; }
.lbem-space .lbem-paiement-ok { grid-column: 1 / -1; margin-top: .6rem; font-size: 13px; color: #3FA36B; }

@media (max-width: 700px) {
	.lbem-space .lbem-paiement-corps { grid-template-columns: 1fr; justify-items: center; }
	.lbem-space .lbem-paiement-detail { grid-template-columns: 1fr; gap: .1rem; }
	.lbem-space .lbem-paiement-detail strong { margin-bottom: .5rem; }
}


/* Prompt a copier dans une intelligence artificielle */
.lbem-space .lbem-prompt .lbem-prompt-texte {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 12.5px; line-height: 1.65; background: #FBFDFE; color: var(--lb-ink);
	min-height: 260px;
}
.lbem-space .lbem-prompt .lbem-md-actions { margin-top: .9rem; }


/* Pagination de la liste des membres */
.lbem-space .lbem-pages { display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; margin: 1.8rem 0 0; }
.lbem-space .lbem-page {
	display: inline-flex; align-items: center; justify-content: center; min-width: 38px;
	padding: .5rem .8rem; border-radius: 10px; border: 1px solid var(--lb-line); background: #fff;
	font-family: var(--lb-sans); font-size: 13.5px; color: var(--lb-blue); text-decoration: none;
}
.lbem-space a.lbem-page:hover { border-color: var(--lb-cyan); background: var(--lb-tint); }
.lbem-space .lbem-page.est-actif { background: var(--lb-blue); border-color: var(--lb-blue); color: #fff; }

/* Trace de la derniere modification */
.lbem-space .lbem-trace { margin: -1.4rem 0 2rem; font-size: 12.5px; color: var(--lb-muted); text-align: right; }

/* ---------------------------------------------------------------------
   Fin de contrat : carte de gestion, choix du membre, remerciement
   --------------------------------------------------------------------- */

.lbem-space .lbem-card-contrat {
	border-left: 4px solid #005B89;
}

.lbem-space .lbem-choix {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1.8rem;
	margin: 2.4rem 0 1.6rem;
}

.lbem-space .lbem-choix-carte {
	display: flex;
	flex-direction: column;
	gap: .9rem;
	padding: clamp(1.6rem, 2.6vw, 2.4rem);
	background: #F2F8FC;
	border: 1px solid rgba(0, 91, 137, .12);
	border-radius: 16px;
}

.lbem-space .lbem-choix-carte h3 {
	margin: 0;
	font-family: Vollkorn, Georgia, serif;
	font-size: 21px;
	color: #005B89;
}

.lbem-space .lbem-choix-carte p {
	margin: 0;
	flex: 1 1 auto;
	font-size: 15px;
	line-height: 1.6;
	color: #44586A;
}

.lbem-space .lbem-choix-carte .lbem-btn {
	align-self: flex-start;
	margin-top: .6rem;
}

.lbem-space .lbem-btn-doux {
	background: transparent !important;
	color: #005B89 !important;
	border: 1px solid rgba(0, 91, 137, .35) !important;
	box-shadow: none !important;
}

.lbem-space .lbem-btn-doux:hover {
	background: rgba(0, 91, 137, .07) !important;
}

.lbem-space .lbem-merci p {
	font-size: 16px;
	line-height: 1.7;
}

.lbem-space .lbem-card-contrat .lbem-actions-contrat {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1.2rem 1.8rem;
	margin: 1.8rem 0 0;
}

.lbem-space .lbem-card-contrat .lbem-actions-contrat .lbem-trace {
	margin: 0;
	text-align: right;
}

.lbem-space .lbem-form-fiche .lbem-card-contrat {
	margin-top: 2.4rem;
}

/* ---------------------------------------------------------------------
   Onglets de formulaire
   --------------------------------------------------------------------- */

.lbem-space .lbem-onglets {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	margin: 0 0 2.4rem;
	padding: .5rem;
	background: #F2F8FC;
	border: 1px solid rgba(0, 91, 137, .10);
	border-radius: 999px;
}

.lbem-space .lbem-onglet {
	-webkit-appearance: none;
	appearance: none;
	border: 0;
	cursor: pointer;
	padding: .85rem 1.7rem;
	border-radius: 999px;
	background: transparent;
	font-family: "Open Sans", Helvetica, Arial, sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	color: #44586A;
	transition: background .18s ease, color .18s ease;
}

.lbem-space .lbem-onglet:hover {
	background: rgba(0, 91, 137, .08);
	color: #005B89;
}

.lbem-space .lbem-onglet.est-actif {
	background: #005B89;
	color: #fff;
	box-shadow: 0 10px 22px -12px rgba(0, 91, 137, .85);
}

.lbem-space .lbem-onglet:focus-visible {
	outline: 2px solid #005B89;
	outline-offset: 2px;
}

.lbem-space [hidden] {
	display: none !important;
}

@media (max-width: 700px) {
	.lbem-space .lbem-onglets {
		border-radius: 18px;
	}

	.lbem-space .lbem-onglet {
		flex: 1 1 100%;
		text-align: left;
		border-radius: 12px;
	}
}

/* L'onglet de suppression se distingue des autres */
.lbem-space .lbem-onglet.est-danger {
	color: #A4372A;
}

.lbem-space .lbem-onglet.est-danger:hover {
	background: rgba(164, 55, 42, .08);
	color: #A4372A;
}

.lbem-space .lbem-onglet.est-danger.est-actif {
	background: #A4372A;
	color: #fff;
	box-shadow: 0 10px 22px -12px rgba(164, 55, 42, .85);
}

.lbem-space .lbem-form-fiche .lbem-card-danger {
	margin-top: 2.4rem;
}

/* ---------------------------------------------------------------------
   Application installable : bandeau d'invitation
   --------------------------------------------------------------------- */

.lbem-install {
	position: fixed;
	left: 50%;
	transform: translateX(-50%);
	bottom: 18px;
	z-index: 9500;
	width: min(560px, calc(100% - 32px));
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	padding: 18px 20px;
	background: #fff;
	border: 1px solid rgba(0, 91, 137, .14);
	border-radius: 18px;
	box-shadow: 0 24px 48px -24px rgba(0, 64, 95, .5);
}

.lbem-install p {
	margin: 0;
	flex: 1 1 220px;
	font-family: "Open Sans", Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 1.55;
	color: #14293d;
}

.lbem-install button {
	-webkit-appearance: none;
	appearance: none;
	border: 0;
	cursor: pointer;
	border-radius: 999px;
	padding: 10px 18px;
	font-family: "Open Sans", Helvetica, Arial, sans-serif;
	font-size: 14px;
	font-weight: 600;
}

.lbem-install .lbem-install-oui { background: #005B89; color: #fff; }
.lbem-install .lbem-install-non { background: transparent; color: #5a6f80; }
.lbem-install .lbem-install-non:hover { color: #005B89; }

/* ---------------------------------------------------------------------
   Sur téléphone, l'espace se comporte comme une application :
   navigation en bas, sous le pouce, et en-tête réduit au strict utile
   --------------------------------------------------------------------- */

@media (max-width: 760px) {
	/* Un filtre d arriere-plan sur la barre du haut en ferait le repere des
	   elements en position fixe : la navigation du bas se retrouverait collee
	   sous le logo au lieu du bas de l ecran. */
	.lbem-space .lbem-topbar {
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
		background: #fff;
	}

	.lbem-space .lbem-topbar-in { min-height: 58px; gap: .7rem; }
	.lbem-space .lbem-brand-txt,
	.lbem-space .lbem-user-nom { display: none; }
	.lbem-space .lbem-brand-logo { height: 32px; }

	.lbem-space .lbem-topnav {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 9400;
		display: flex;
		justify-content: space-around;
		gap: 0;
		padding: 8px 6px;
		padding-bottom: calc(8px + env(safe-area-inset-bottom));
		background: rgba(255, 255, 255, .97);
		-webkit-backdrop-filter: saturate(150%) blur(12px);
		backdrop-filter: saturate(150%) blur(12px);
		border-top: 1px solid var(--lb-line);
		box-shadow: 0 -12px 30px -26px rgba(0, 64, 95, .8);
		overflow: visible;
	}

	.lbem-space .lbem-topnav-item {
		flex: 1 1 0;
		min-width: 0;
		text-align: center;
		font-size: 12px;
		line-height: 1.25;
		padding: 9px 4px;
		border-radius: 12px;
		white-space: normal;
	}

	.lbem-space .lbem-gestionnav { justify-content: flex-start; }
	.lbem-space .lbem .lbem-card { border-radius: 16px; }
	.lbem-space .lbem { padding-bottom: 96px; }
	.lbem-space .lbem-actions-collante { bottom: 74px; }
	.lbem-install { bottom: 88px; }
}

/* En mode application installée, on récupère la zone de la barre d'état
   et on retire la dernière trace de navigateur. */
.lbem-app .lbem-space .lbem-topbar { padding-top: env(safe-area-inset-top); }
.lbem-app .lbem-space .lbem-espace-lien { display: none; }

/* ---------------------------------------------------------------------
   Écran de connexion : le formulaire vient de WordPress, on lui donne
   la même tenue que le reste de l'espace
   --------------------------------------------------------------------- */

.lbem-space #loginform p { margin: 0 0 1.6rem; }
.lbem-space #loginform p:last-child { margin-bottom: 0; }

.lbem-space #loginform label {
	display: block;
	font-family: var(--lb-sans);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--lb-muted);
	margin: 0 0 .5rem;
}

.lbem-space #loginform input[type="text"],
.lbem-space #loginform input[type="password"] {
	width: 100%;
	box-sizing: border-box;
	font-family: var(--lb-sans);
	font-size: 15.5px;
	color: var(--lb-ink);
	background: #fff;
	border: 1px solid #DCE7EF;
	border-radius: var(--lb-radius-sm);
	padding: 13px 16px;
	line-height: 1.5;
	box-shadow: inset 0 1px 2px rgba(16, 44, 64, .03);
	transition: border-color .18s ease, box-shadow .18s ease;
}

.lbem-space #loginform input[type="text"]:focus,
.lbem-space #loginform input[type="password"]:focus {
	outline: 0;
	border-color: var(--lb-blue);
	box-shadow: 0 0 0 3px rgba(0, 91, 137, .12);
}

.lbem-space #loginform .login-remember label {
	display: flex;
	align-items: center;
	gap: .6rem;
	margin: 0;
	font-family: var(--lb-sans);
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--lb-ink);
}

.lbem-space #loginform .login-remember input { margin: 0; width: auto; }

.lbem-space #loginform .login-submit { margin-top: 2rem; }

.lbem-space #loginform input[type="submit"] {
	display: block;
	width: 100%;
	font-family: var(--lb-sans);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .01em;
	color: #fff !important;
	text-shadow: none;
	background: linear-gradient(180deg, #00699E, var(--lb-blue));
	border: 0;
	border-radius: var(--lb-radius-sm);
	padding: 15px 30px;
	cursor: pointer;
	box-shadow: 0 12px 26px -14px rgba(0, 64, 95, .8);
	transition: transform .18s ease, box-shadow .18s ease;
}

.lbem-space #loginform input[type="submit"]:hover {
	transform: translateY(-1px);
	box-shadow: 0 16px 30px -14px rgba(0, 64, 95, .9);
}

/* Les messages que WordPress glisse au-dessus du formulaire */
.lbem-space .lbem-card #login_error,
.lbem-space .lbem-card .lbem-erreur {
	margin: 0 0 1.6rem;
	padding: 14px 18px;
	border-radius: var(--lb-radius-sm);
	background: #FFF6F4;
	border: 1px solid #F3D9D4;
	color: #A4372A;
	font-family: var(--lb-sans);
	font-size: 14.5px;
	line-height: 1.6;
}

.lbem-space .lbem-card #login_error a,
.lbem-space .lbem-card .lbem-erreur a { color: #A4372A; }

/* ---------- Mode application installee ---------- */

.lbem-app .lbem-topuser,
.lbem-app .lbem-footer-link,
.lbem-app .lbem-install { display: none !important; }
.lbem-app .lbem-footer-in { justify-content: center; text-align: center; }
.lbem-app .lbem-brand { cursor: default; }

/* ---------- Navigation du bas : petits dessins et noms courts ---------- */

.lbem-nav-ico,
.lbem-nav-court { display: none; }

.lbem-space .grecaptcha-badge { display: none !important; }

@media (max-width: 760px) {
	.lbem-space .lbem-topnav-item {
		display: block;
		white-space: nowrap;
		font-size: 10.5px;
		line-height: 1.15;
		letter-spacing: .01em;
		padding: 7px 2px 5px;
	}
	.lbem-space .lbem-nav-long { display: none; }
	.lbem-space .lbem-nav-court { display: block; }
	.lbem-space .lbem-nav-ico { display: block; margin: 0 auto 3px; line-height: 0; }

	.lbem-space .lbem-gestionbar-titre { display: none; }
	.lbem-space .lbem-gestionbar-in { flex-wrap: nowrap; }
	.lbem-space .lbem-gestionnav {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.lbem-space .lbem-gestionnav::-webkit-scrollbar { display: none; }
	.lbem-space .lbem-gestionnav-item { flex: 0 0 auto; white-space: nowrap; }

	.lbem-space .lbem-footer { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
}

.lbem-app .lbem-footer { display: none !important; }

/* ---------- Listes sur petit ecran : le bouton passe dessous ---------- */

@media (max-width: 560px) {
	.lbem-space .lbem-mrow { grid-template-columns: 44px minmax(0, 1fr); }
	.lbem-space .lbem-mrow-ev { grid-template-columns: 62px minmax(0, 1fr); }
	.lbem-space .lbem-mid { grid-column: 2; }
	.lbem-space .lbem-mcol { grid-column: 1 / -1; }
	.lbem-space .lbem-mact {
		grid-column: 1 / -1;
		grid-row: auto;
		margin-top: .7rem;
	}
	.lbem-space .lbem-mact > * {
		display: block;
		width: 100%;
		text-align: center;
	}
	.lbem-space .lbem-mnom { font-size: 16px; }
}

/* ---------- Le fil de progression et la reponse au doigt ---------- */

.lbem-progres {
	position: fixed;
	top: 0;
	left: 0;
	height: 3px;
	width: 100%;
	transform: scaleX(0);
	transform-origin: 0 50%;
	background: linear-gradient(90deg, var(--lb-cyan), var(--lb-blue));
	box-shadow: 0 0 10px rgba(0, 91, 137, .35);
	z-index: 99999;
	opacity: 0;
	pointer-events: none;
	transition: transform .45s ease, opacity .25s ease;
}
.lbem-progres.est-active { opacity: 1; }

.lbem-space .lbem-topnav-item,
.lbem-space .lbem-gestionnav-item,
.lbem-space .lbem-btn,
.lbem-space .lbem-tool { touch-action: manipulation; }

@media (max-width: 760px) {
	.lbem-space .lbem-topnav-item { transition: transform .12s ease, background-color .15s ease, color .15s ease; }
	.lbem-space .lbem-topnav-item:active { transform: scale(.93); }
	.lbem-space .lbem-tool:active,
	.lbem-space .lbem-btn:active { transform: scale(.985); }
}

/* ---------- Rappel de paiement dans la liste des participants ---------- */

.lbem-space .lbem-btn-mini {
	padding: .5rem 1rem;
	font-size: 13px;
	border-radius: 999px;
	white-space: nowrap;
}
.lbem-space .lbem-relance-cell { white-space: nowrap; }
.lbem-space .lbem-relance-note {
	display: block;
	margin-top: .35rem;
	font-size: 12px;
	color: var(--lb-muted);
}

/* ---------- Lignes de liste sur petit ecran ---------- */

/* Sous 780 px la ligne passe en colonne. Le flex-basis de 320 px, prevu pour
   la largeur, devient alors une hauteur imposee : la grille interieure etire
   ses rangees pour la remplir et on se retrouve avec de grands trous entre le
   titre, la date et les chiffres. */
@media (max-width: 780px) {
	.lbem-space .lbem-row-main {
		flex: 0 1 auto;
		align-content: start;
	}
	.lbem-space .lbem-row-suivi .lbem-suivi { justify-content: flex-start; }
}

/* ---------- Suivi des rendez-vous : le bouton reste a cote ---------- */

/* Sur telephone, les trois chiffres et le bouton tiennent sur une seule
   rangee. La mention libre du rendez-vous, du genre Auberge espagnole, se
   met sur deux lignes plutot que de repousser le bouton en dessous : toutes
   les lignes se ressemblent, quel que soit le texte. */
@media (max-width: 780px) {
	.lbem-space .lbem-row-suivi .lbem-suivi {
		display: grid;
		grid-template-columns: auto auto minmax(0, 1fr) auto;
		align-items: center;
		gap: .5rem .55rem;
		width: 100%;
	}
	.lbem-space .lbem-row-suivi .lbem-suivi > .lbem-btn {
		grid-column: -2 / -1;
		justify-self: end;
		padding: .5rem .9rem;
		font-size: 12px;
	}
	.lbem-space .lbem-row-suivi .lbem-suivi-libre {
		white-space: normal;
		line-height: 1.25;
	}
}

/* ---------- L oeil des champs de mot de passe ---------- */

.lbem-space .lbem-mdp { position: relative; display: block; }
.lbem-space .lbem-mdp > input,
.lbem-space #loginform .lbem-mdp > input { width: 100%; padding-right: 48px; }
.lbem-space .lbem-oeil {
	position: absolute;
	top: 50%;
	right: 5px;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 50%;
	color: var(--lb-muted);
	line-height: 0;
	cursor: pointer;
	transition: color .15s ease, background-color .15s ease;
}
.lbem-space .lbem-oeil:hover { color: var(--lb-blue); background: var(--lb-tint); }
.lbem-space .lbem-oeil:focus-visible { outline: 2px solid var(--lb-blue); outline-offset: 2px; }

/* ---------- Barre de filtres : le bouton sur la ligne du champ ---------- */

.lbem-space .lbem-filtres { align-items: flex-end; }
.lbem-space .lbem-filtres .lbem-field { margin: 0; }
.lbem-space .lbem-filtres .lbem-btn { margin-bottom: 1px; }

/* ---------- Ligne de bulle : la place du bouton Supprimer ---------- */

.lbem-space .lbem-trow-form { grid-template-columns: minmax(0, 1fr) 90px 190px auto auto; }
@media (max-width: 720px) {
	.lbem-space .lbem-trow-form { grid-template-columns: 1fr auto auto; }
}


/* ============================================================
   Les participants : une carte par inscription, une case par
   personne, invites compris. Plus lisible qu un grand tableau.
   ============================================================ */

.lbem-space .lbem-inscrits {
	display: grid;
	gap: .9rem;
	margin: 1.1rem 0 1.4rem;
}

.lbem-space .lbem-insc {
	position: relative;
	border: 1px solid var(--lb-line);
	border-radius: var(--lb-radius-sm);
	background: #fff;
	padding: .95rem 1.05rem;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.lbem-space .lbem-insc:hover {
	border-color: #cfe2ee;
	box-shadow: 0 10px 24px -20px rgba(0, 64, 95, .5);
}

.lbem-space .lbem-insc.est-payee {
	background: linear-gradient(90deg, rgba(78, 195, 224, .09), rgba(255, 255, 255, 0) 42%);
}

.lbem-space .lbem-insc-tete {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .55rem .8rem;
}

.lbem-space .lbem-insc-qui {
	flex: 1 1 190px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: .1rem;
}

.lbem-space .lbem-insc-nom {
	font-family: var(--lb-serif);
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--lb-deep);
	line-height: 1.25;
}

.lbem-space .lbem-insc-soc {
	font-size: .84rem;
	color: var(--lb-muted);
}

.lbem-space .lbem-coche {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	padding: .34rem .68rem .34rem .5rem;
	border: 1px solid var(--lb-line);
	border-radius: 999px;
	background: var(--lb-tint);
	color: var(--lb-muted);
	font-family: var(--lb-eyebrow);
	font-size: .74rem;
	letter-spacing: .04em;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
	user-select: none;
	transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.lbem-space .lbem-coche input[type="checkbox"] {
	width: 1.05rem;
	height: 1.05rem;
	margin: 0;
	accent-color: var(--lb-blue);
	cursor: pointer;
}

.lbem-space .lbem-coche:hover {
	border-color: #bcd9e8;
}

.lbem-space .lbem-coche-presence:has(input:checked) {
	background: #e8f7ee;
	border-color: #a9dcbf;
	color: #1d6b43;
}

.lbem-space .lbem-coche-presence:has(input:checked) input[type="checkbox"] {
	accent-color: #2e8b57;
}

.lbem-space .lbem-coche-paye:has(input:checked) {
	background: #e6f4fa;
	border-color: #9fd2e6;
	color: var(--lb-blue);
}

.lbem-space .lbem-insc-meta {
	display: flex;
	flex-wrap: wrap;
	gap: .2rem .9rem;
	margin: .6rem 0 0;
	font-size: .85rem;
	color: var(--lb-muted);
}

.lbem-space .lbem-insc-meta a {
	color: var(--lb-blue);
	word-break: break-word;
}

.lbem-space .lbem-insc-invites {
	list-style: none;
	margin: .75rem 0 0;
	padding: .75rem 0 0;
	border-top: 1px dashed var(--lb-line);
	display: grid;
	gap: .45rem;
}

.lbem-space .lbem-insc-invites li {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .5rem .7rem;
}

.lbem-space .lbem-insc-invite {
	min-width: 0;
	font-size: .93rem;
	color: var(--lb-ink);
}

.lbem-space .lbem-insc-invite.lbem-invite-vide {
	font-style: italic;
	color: var(--lb-muted);
}

.lbem-space .lbem-insc-relance {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .5rem .7rem;
	margin: .75rem 0 0;
	padding: .7rem 0 0;
	border-top: 1px dashed var(--lb-line);
}

@media (max-width: 560px) {

	.lbem-space .lbem-insc {
		padding: .85rem .9rem;
	}

	.lbem-space .lbem-insc-qui {
		flex: 1 1 100%;
		order: -1;
	}

	.lbem-space .lbem-insc-meta {
		gap: .15rem .7rem;
	}
}


/* ============================================================
   « Réservé aux membres » : une petite case sous le champ.
   ============================================================ */

.lbem-space .lbem-prive {
	display: inline-flex;
	align-items: center;
	gap: .38rem;
	margin: .4rem 0 0;
	color: var(--lb-muted);
	font-family: var(--lb-eyebrow);
	font-size: .68rem;
	letter-spacing: .04em;
	text-transform: uppercase;
	cursor: pointer;
	user-select: none;
	transition: color .18s ease;
}

.lbem-space .lbem-prive input[type="checkbox"] {
	width: .95rem;
	height: .95rem;
	margin: 0;
	accent-color: var(--lb-blue);
	cursor: pointer;
}

.lbem-space .lbem-prive:hover {
	color: var(--lb-blue);
}

.lbem-space .lbem-prive:has(input:checked) {
	color: var(--lb-blue);
	font-weight: 600;
}

.lbem-space .lbem-prive-ligne {
	margin: 0 0 1rem;
}


/* ---------- Un envoi a la fois : le bouton se met en veille ---------- */

.lbem-envoi button[type="submit"],
.lbem-envoi input[type="submit"] {
	opacity: .55;
	pointer-events: none;
	cursor: default;
}


/* ============================================================
   Les deux barres du haut voyagent ensemble.
   La barre de gestion est collée sous la navigation et reste
   sous les yeux pendant qu on descend dans une longue liste.
   ============================================================ */

.lbem-barres {
	position: sticky;
	top: 0;
	z-index: 9000;
}

.lbem-barres .lbem-topbar {
	position: static;
	top: auto;
	z-index: auto;
	box-shadow: none;
}

.lbem-barres .lbem-gestionbar {
	margin-top: 0;
	box-shadow: 0 10px 30px -26px rgba(0, 64, 95, .55);
}


/* ============================================================
   Dupliquer, répéter, et les variables du texte.
   ============================================================ */

.lbem-space .lbem-inline {
	display: inline;
	margin: 0;
}

.lbem-space .lbem-mact {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem;
	align-items: center;
}

.lbem-space .lbem-actions-ligne {
	margin: .9rem 0 0;
}

.lbem-space .lbem-variables {
	margin: .9rem 0 0;
	border: 1px solid var(--lb-line);
	border-radius: var(--lb-radius-sm);
	background: var(--lb-tint);
	padding: .2rem .9rem;
}

.lbem-space .lbem-variables > summary {
	padding: .65rem 0;
	color: var(--lb-blue);
	font-family: var(--lb-eyebrow);
	font-size: .78rem;
	letter-spacing: .04em;
	text-transform: uppercase;
	cursor: pointer;
	list-style: none;
}

.lbem-space .lbem-variables > summary::-webkit-details-marker {
	display: none;
}

.lbem-space .lbem-variables > summary::before {
	content: "+ ";
	font-weight: 700;
}

.lbem-space .lbem-variables[open] > summary::before {
	content: "– ";
}

.lbem-space .lbem-variables-corps {
	padding: 0 0 .8rem;
}

.lbem-space .lbem-variables-liste {
	list-style: none;
	margin: .6rem 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: .35rem .9rem;
}

.lbem-space .lbem-variables-liste li {
	display: flex;
	align-items: baseline;
	gap: .45rem;
	font-size: .85rem;
	color: var(--lb-muted);
}

.lbem-space .lbem-variables-liste code {
	padding: .1rem .35rem;
	border-radius: 6px;
	background: #fff;
	border: 1px solid var(--lb-line);
	color: var(--lb-deep);
	font-size: .82rem;
	white-space: nowrap;
}

/* ---------- Facturation ---------- */

.lbem-fact-bandeau {
	background: linear-gradient(180deg, #F2F8FC 0%, #FFFFFF 100%);
}

.lbem-fact-gros {
	margin: 0 0 .2rem;
	font-family: var(--lbem-serif, Georgia, serif);
	font-size: 1.35rem;
	font-weight: 600;
	color: #00405F;
	line-height: 1.25;
}

.lbem-fact-retard {
	background: #FBEDEB !important;
	color: #A4372A !important;
	border-color: #E8C4BE !important;
}

.lbem-fact-danger {
	color: #A4372A !important;
	border-color: #E8C4BE !important;
}

.lbem-fact-petit {
	max-width: 150px;
	padding: .35rem .5rem !important;
	font-size: .88rem !important;
}

.lbem-fact-champs {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
	align-items: center;
	justify-content: flex-end;
}

.lbem-fact-ligne .lbem-row-main { min-width: 220px; }

.lbem-fact-form { margin: 0; }

.lbem-fact-form + .lbem-fact-form { margin-top: .4rem; }

textarea.lbem-input {
	min-height: 180px;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .86rem;
	line-height: 1.6;
	resize: vertical;
}

@media (max-width: 640px) {
	.lbem-fact-champs { justify-content: flex-start; }
	.lbem-fact-petit { max-width: 100%; }
}

/* ---------- Facturation : tableau de bord ---------- */

.lbem-fact-tuiles {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(158px, 1fr));
	gap: 12px;
	margin: 0 0 22px;
}

.lbem-fact-tuile {
	background: #fff;
	border: 1px solid rgba(0,91,137,.12);
	border-radius: 14px;
	padding: 14px 16px;
}

.lbem-fact-tuile b {
	display: block;
	font-size: 1.45rem;
	font-weight: 600;
	color: #00405F;
	line-height: 1.15;
	letter-spacing: -.01em;
}

.lbem-fact-tuile span {
	display: block;
	margin-top: .2rem;
	font-size: .8rem;
	color: #6A7C89;
	line-height: 1.35;
}

.lbem-fact-tuile.est-alerte b { color: #A4372A; }

.lbem-sous-nav { flex-wrap: wrap; max-width: 100%; }

.lbem-fact-pastille {
	display: inline-block;
	margin-left: .4rem;
	min-width: 1.3rem;
	padding: 0 .35rem;
	border-radius: 999px;
	background: rgba(0,91,137,.12);
	font-size: .72rem;
	line-height: 1.55;
	text-align: center;
}

.lbem-sous-item.is-active .lbem-fact-pastille { background: rgba(255,255,255,.28); }

.lbem-fact-recherche {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
	margin: 0 0 16px;
}

.lbem-fact-recherche .lbem-input { max-width: 300px; }

.lbem-fact-qui {
	display: flex;
	align-items: center;
	gap: .9rem;
	margin: 0 0 18px;
}

.lbem-fact-portrait {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	object-fit: cover;
	flex: 0 0 auto;
}

.lbem-fact-initiale {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #E4EDF3;
	color: #00405F;
	font-weight: 600;
	font-size: 1.3rem;
}

.lbem-fact-qui-txt strong {
	display: block;
	font-size: 1.05rem;
	color: #00405F;
}

.lbem-fact-qui-txt span {
	display: block;
	font-size: .85rem;
	color: #6A7C89;
}

.lbem-sous-item.is-active {
	background: #005B89 !important;
	color: #FFFFFF !important;
	box-shadow: 0 1px 2px rgba(0,64,95,.25);
}
