/* =========================================================
   Morbihan Event Pro — salon
   Palette : marine (ink), golfe (sea), granit, ajonc.
   Les composants héritent de la typographie du thème.
   ======================================================= */

.mep {
	--mep-ink: #12324A;
	--mep-sea: #1E7F86;
	--mep-granit: #EEF1F0;
	--mep-line: #D3DCD9;
	--mep-text: #1D2B36;
	--mep-muted: #5B6B75;
	--mep-gorse: #E3B23C;
	--mep-ok: #23855A;
	--mep-warn: #C27612;
	--mep-bad: #B23A2B;
	--mep-radius: 6px;
	color: var(--mep-text);
	line-height: 1.55;
}
.mep *, .mep *::before, .mep *::after { box-sizing: border-box; }
.mep img { max-width: 100%; height: auto; }
.mep a { color: var(--mep-sea); }
.mep :focus-visible { outline: 3px solid var(--mep-gorse); outline-offset: 2px; }
.mep .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.mep-h2 { font-size: 1.5em; font-weight: 700; line-height: 1.2; margin: 0 0 .6em; color: var(--mep-ink); letter-spacing: 0; }
.mep-h3 { font-size: 1.15em; font-weight: 700; margin: 0 0 1rem; color: var(--mep-ink); letter-spacing: 0; }
.mep-lead { color: var(--mep-muted); max-width: 62ch; }
.mep-label { font-weight: 600; margin: 0 0 .5rem; }
.mep-empty { color: var(--mep-muted); padding: 2rem 0; }
.mep-context { background: var(--mep-granit); border-left: 4px solid var(--mep-sea); padding: .8rem 1rem; border-radius: 0 var(--mep-radius) var(--mep-radius) 0; }

/* ---------- Boutons ---------- */
.mep-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	background: var(--mep-sea); color: #fff !important; border: 2px solid var(--mep-sea);
	font: inherit; font-weight: 600; line-height: 1.2; text-decoration: none !important;
	padding: .75em 1.2em; border-radius: var(--mep-radius); cursor: pointer;
	transition: background-color .15s, border-color .15s;
}
.mep-btn:hover { background: var(--mep-ink); border-color: var(--mep-ink); }
.mep-btn--ghost { background: transparent; color: var(--mep-ink) !important; border-color: var(--mep-line); }
.mep-btn--ghost:hover { background: var(--mep-granit); border-color: var(--mep-ink); }
.mep-btn--lg { font-size: 1.08em; padding: .9em 1.6em; }
.mep-btn[disabled] { opacity: .55; cursor: wait; }
.mep-link { color: var(--mep-muted) !important; font-size: .92em; }

/* ---------- Messages ---------- */
.mep-notice { padding: .9rem 1.1rem; border-radius: var(--mep-radius); margin: 0 0 1.5rem; border: 1px solid; }
.mep-notice--success { background: #E8F4EE; border-color: #A9D3BD; color: #174F36; }
.mep-notice--error { background: #FBECEA; border-color: #E6B1AA; color: #7B241A; }
.mep-notice--warning { background: #FCF4E3; border-color: #EBCF91; color: #6A4A06; }
.mep-notice--info { background: #E9F2F4; border-color: #B4D2D6; color: #17434A; }

/* ---------- Formulaires ---------- */
.mep-form { margin: 0; }
.mep-grid2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 1rem 1.25rem; }
.mep-field { margin: 0; border: 0; padding: 0; min-width: 0; }
.mep-field--full { grid-column: 1 / -1; }
.mep-field > label, .mep-field > legend { display: block; font-weight: 600; font-size: .95em; margin: 0 0 .35rem; padding: 0; }
.mep-req { color: var(--mep-bad); }
.mep input[type=text], .mep input[type=email], .mep input[type=tel], .mep input[type=url],
.mep input[type=password], .mep input[type=search], .mep select, .mep textarea {
	width: 100%; font: inherit; color: var(--mep-text); background: #fff;
	border: 1px solid #B9C5C1; border-radius: var(--mep-radius); padding: .65em .8em; min-height: 2.8em;
	box-shadow: none;
}
.mep textarea { min-height: 6em; resize: vertical; }
.mep input:focus, .mep select:focus, .mep textarea:focus { border-color: var(--mep-sea); outline: 2px solid color-mix(in srgb, var(--mep-sea) 30%, transparent); outline-offset: 0; }
.mep-field--error input, .mep-field--error select, .mep-field--error textarea { border-color: var(--mep-bad); }
.mep-field__hint { color: var(--mep-muted); font-size: .86em; margin: .35rem 0 0; }
.mep-field__error { color: var(--mep-bad); font-size: .88em; font-weight: 600; margin: .35rem 0 0; }
.mep-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.mep-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.mep-chip { position: relative; cursor: pointer; margin: 0; }
.mep-chip input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.mep-chip span { display: inline-block; padding: .5em .95em; border: 1px solid #B9C5C1; border-radius: 999px; background: #fff; font-size: .94em; transition: background-color .12s, border-color .12s; }
.mep-chip input:checked + span { background: var(--mep-ink); border-color: var(--mep-ink); color: #fff; }
.mep-chip input:focus-visible + span { outline: 3px solid var(--mep-gorse); outline-offset: 2px; }

.mep-consents { margin: 1.5rem 0 1rem; display: grid; gap: .8rem; }
.mep-check { display: flex; gap: .7rem; align-items: flex-start; cursor: pointer; font-size: .95em; }
.mep-check input { width: 1.25em; height: 1.25em; margin: .15em 0 0; flex: none; accent-color: var(--mep-sea); }
.mep-form--inline { display: flex; gap: .75rem; align-items: flex-end; flex-wrap: wrap; }
.mep-form--inline .mep-field { flex: 1 1 240px; }

/* ---------- Mises en page ---------- */
.mep-split { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 2rem; align-items: start; }
.mep-panel { background: #fff; border: 1px solid var(--mep-line); border-radius: var(--mep-radius); padding: clamp(1.1rem, 3vw, 2rem); }
.mep-panel--quiet { background: var(--mep-granit); border-color: transparent; }
.mep-panel--quiet .login-username, .mep-panel--quiet .login-password { margin: 0 0 .9rem; }
.mep-panel--quiet label { display: block; font-weight: 600; margin-bottom: .3rem; }
.mep-panel--quiet input[type=submit] { background: var(--mep-ink); color: #fff; border: 0; padding: .75em 1.3em; border-radius: var(--mep-radius); font: inherit; font-weight: 600; cursor: pointer; }
.mep-panel--quiet .login-remember label { font-weight: 400; display: flex; gap: .5em; align-items: center; }
@media (max-width: 820px) { .mep-split { grid-template-columns: 1fr; } }
@container (max-width: 760px) { .mep-split { grid-template-columns: 1fr; } }

/* ---------- Tableau de bord exposant ---------- */
.mep-dash-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; flex-wrap: wrap; border-bottom: 3px solid var(--mep-ink); padding-bottom: .9rem; margin-bottom: 1.25rem; }
.mep-dash-head .mep-h2 { margin: 0; }
.mep-dash-head__kicker { margin: 0 0 .2rem; color: var(--mep-muted); }
.mep-status { margin: 0; padding: .35em .8em; border-radius: 999px; font-weight: 600; font-size: .9em; }
.mep-status--publish { background: #E2F1E9; color: #1B5E3E; }
.mep-status--pending, .mep-status--draft { background: #FBF0D6; color: #6E4D05; }
.mep-dash-actions { display: flex; gap: .6rem; flex-wrap: wrap; align-items: center; margin-bottom: 2rem; }
.mep-dash-actions .mep-link { margin-left: auto; }
.mep-block { border-top: 1px solid var(--mep-line); padding: 1.5rem 0; }
.mep-media { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: 2rem; }
@media (max-width: 680px) { .mep-media { grid-template-columns: 1fr; } }
.mep-logo-preview { height: 160px; background: var(--mep-granit); border-radius: var(--mep-radius); display: flex; align-items: center; justify-content: center; overflow: hidden; margin-bottom: .75rem; color: var(--mep-muted); padding: .75rem; }
.mep .mep-logo-preview img { display: block; width: auto !important; height: auto !important; max-width: 100% !important; max-height: 136px !important; object-fit: contain; margin: 0; }
.mep-file { display: inline-block; position: relative; cursor: pointer; }
.mep-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
.mep-file span { display: inline-block; border: 2px dashed #9FB1AC; border-radius: var(--mep-radius); padding: .6em 1em; font-weight: 600; color: var(--mep-ink); }
.mep-file:hover span, .mep-file input:focus-visible + span { border-color: var(--mep-sea); background: var(--mep-granit); }
.mep-thumbs { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: .75rem; }
.mep-thumbs figure { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--mep-radius); background: var(--mep-granit); }
.mep-thumbs img { width: 100%; height: 100%; object-fit: cover; }
.mep-thumbs__del { display: flex; gap: .35em; align-items: center; font-size: .86em; margin-top: .3rem; color: var(--mep-muted); }
.mep-thumbs--new:empty { display: none; }
.mep-thumbs--new { margin-top: 1rem; }
.mep-sticky-save { position: sticky; bottom: 0; background: linear-gradient(to top, #fff 70%, transparent); padding: 1rem 0 .75rem; z-index: 2; }

/* ---------- Annuaire ---------- */
.mep-filtres { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem 1rem; align-items: center; margin-bottom: 1rem; }
.mep-filtres .mep-chips { grid-column: 1 / -1; order: 3; }
.mep-search input { padding-left: .9em; }
.mep-select select { min-width: 190px; }
.mep-chip-btn { font: inherit; font-size: .85em; line-height: 1.3; padding: .5em 1em; border: 1px solid #B9C5C1; background: #fff; color: var(--mep-text); border-radius: 999px; cursor: pointer; }
.mep-chip-btn.is-active { background: var(--mep-ink); color: #fff; border-color: var(--mep-ink); }
.mep-count { color: var(--mep-muted); font-size: .92em; margin: 0 0 1rem; }
@media (max-width: 600px) {
	.mep-filtres { grid-template-columns: 1fr; }
	.mep-select select { width: 100%; }
	.mep-filtres .mep-chips { flex-wrap: nowrap; overflow-x: auto; margin: 0 -1rem; padding: 0 1rem .25rem; scrollbar-width: none; }
	.mep-filtres .mep-chips::-webkit-scrollbar { display: none; }
	.mep-chip-btn { flex: none; }
}

.mep-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 1.25rem; }
.mep-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--mep-line); border-radius: var(--mep-radius); overflow: hidden; margin: 0; }
.mep-card[hidden] { display: none; }
.mep-card__logo { display: flex; align-items: center; justify-content: center; height: 170px; width: 100%; overflow: hidden; background: #fff; border-bottom: 1px solid var(--mep-line); padding: 1rem 1.5rem; }
.mep .mep-card__logo img { display: block; width: auto !important; height: auto !important; max-width: 100% !important; max-height: 138px !important; object-fit: contain; margin: 0; }
.mep-card__initial { font-size: 3rem; font-weight: 700; color: var(--mep-sea); }
.mep-card__body { padding: 1rem 1.1rem 1.1rem; display: flex; flex-direction: column; flex: 1; }
.mep-card__title { font-size: 1.15em; font-weight: 700; line-height: 1.25; margin: 0 0 .45rem; letter-spacing: 0; }
.mep-card__title a { color: var(--mep-ink); text-decoration: none; }
.mep-card__title a:hover { text-decoration: underline; }
.mep-card__person { margin: 0 0 .7rem; font-size: .9em; line-height: 1.4; color: var(--mep-muted); }
.mep-card__person strong { color: var(--mep-text); }
.mep-card__contact { list-style: none; margin: 0 0 .9rem; padding: 0; font-size: .85em; display: grid; gap: .3rem; }
.mep-card__contact li { display: flex; gap: .5rem; align-items: center; min-width: 0; margin: 0; }
.mep-card__contact a { color: var(--mep-text); text-decoration: none; overflow-wrap: anywhere; }
.mep-card__contact a:hover { color: var(--mep-sea); text-decoration: underline; }
.mep-ico { width: 1.05em; height: 1.05em; flex: none; color: var(--mep-sea); }
.mep-card__foot { margin-top: auto; display: flex; align-items: center; gap: .4rem; }
.mep-tag { font-size: .8em; background: var(--mep-granit); color: var(--mep-ink); padding: .25em .7em; border-radius: 999px; margin-right: auto; }
.mep-iconlink { display: grid; place-items: center; width: 2.1rem; height: 2.1rem; border-radius: 50%; border: 1px solid var(--mep-line); }
.mep-iconlink .mep-ico { color: var(--mep-ink); }
.mep-iconlink:hover { border-color: var(--mep-sea); background: var(--mep-granit); }

/* ---------- Fiche exposant ---------- */
.mep-fiche__head { display: grid; grid-template-columns: minmax(0, 220px) 1fr; gap: 1.5rem; align-items: center; margin-bottom: 1.5rem; }
.mep-fiche__logo { background: #fff; border: 1px solid var(--mep-line); border-radius: var(--mep-radius); height: 170px; display: flex; align-items: center; justify-content: center; overflow: hidden; padding: 1rem; }
.mep-fiche__logo:empty { display: none; }
.mep .mep-fiche__logo img { display: block; width: auto !important; height: auto !important; max-width: 100% !important; max-height: 138px !important; object-fit: contain; margin: 0; }
.mep-fiche__meta { font-weight: 600; color: var(--mep-ink); margin: 0 0 .25rem; }
.mep-fiche__reseaux, .mep-fiche__stand { margin: 0; color: var(--mep-muted); }
.mep-fiche__stand { display: inline-block; margin-top: .5rem; background: var(--mep-ink); color: #fff; padding: .2em .7em; border-radius: var(--mep-radius); font-weight: 600; }
@media (max-width: 560px) { .mep-fiche__head { grid-template-columns: 1fr; } .mep-fiche__logo { max-width: 220px; } }

.mep-gallery { display: grid; gap: .5rem; margin-bottom: 2rem; grid-template-columns: repeat(4, 1fr); grid-auto-rows: clamp(90px, 14vw, 170px); }
.mep-gallery__item { display: block; overflow: hidden; border-radius: var(--mep-radius); background: var(--mep-granit); }
.mep-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.mep-gallery__item:hover img { transform: scale(1.03); }
.mep-gallery--1 { grid-template-columns: 1fr; grid-auto-rows: clamp(200px, 40vw, 420px); }
.mep-gallery--2 { grid-template-columns: 1fr 1fr; grid-auto-rows: clamp(160px, 26vw, 320px); }
.mep-gallery--3 { grid-template-columns: 2fr 1fr; }
.mep-gallery--3 .mep-gallery__item:first-child { grid-row: span 2; }
.mep-gallery--4 { grid-template-columns: 2fr 1fr 1fr; }
.mep-gallery--4 .mep-gallery__item:first-child { grid-row: span 2; }
.mep-gallery--4 .mep-gallery__item:last-child { grid-column: span 2; }
.mep-gallery--5 .mep-gallery__item:first-child { grid-column: span 2; grid-row: span 2; }
@media (max-width: 600px) {
	.mep-gallery, .mep-gallery--3, .mep-gallery--4 { grid-template-columns: 1fr 1fr; }
	.mep-gallery .mep-gallery__item:first-child { grid-column: span 2; grid-row: span 1; }
	.mep-gallery--4 .mep-gallery__item:last-child { grid-column: span 2; }
}

.mep-fiche__cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 340px); gap: 2.5rem; align-items: start; }
.mep-fiche, .mep-espace, .mep-monbadge { container-type: inline-size; }
@container (max-width: 760px) { .mep-fiche__cols { grid-template-columns: 1fr; } .mep-fiche__aside { position: static; } }
.mep-fiche__text { max-width: 68ch; }
.mep-fiche__aside { display: grid; gap: 1rem; position: sticky; top: 1.5rem; }
.mep-contactcard { border: 1px solid var(--mep-line); border-radius: var(--mep-radius); padding: 1.1rem; }
.mep-contactcard__name { font-weight: 700; font-size: 1.05rem; margin: 0; color: var(--mep-ink); }
.mep-contactcard__role { margin: 0 0 .8rem; color: var(--mep-muted); }
.mep-contactcard .mep-card__contact { margin: 0; }

.mep-recontact { background: var(--mep-ink); color: #fff; border-radius: var(--mep-radius); padding: 1.2rem; }
.mep-recontact--stand { background: var(--mep-sea); box-shadow: 0 0 0 4px color-mix(in srgb, var(--mep-sea) 25%, transparent); }
.mep-recontact__title { font-weight: 700; font-size: 1.05rem; margin: 0 0 .4rem; }
.mep-recontact__text { margin: 0 0 .8rem; opacity: .92; }
.mep-recontact a { color: #fff; }
.mep-recontact .mep-btn { background: #fff; color: var(--mep-ink) !important; border-color: #fff; width: 100%; }
.mep-recontact .mep-btn:hover { background: var(--mep-granit); }
.mep-recontact input[type=email] { margin-bottom: .6rem; border-color: transparent; }
.mep-recontact__done { display: flex; gap: .6rem; align-items: flex-start; }
.mep-recontact__done svg { flex: none; width: 1.6rem; height: 1.6rem; }
.mep-recontact__small { font-size: .88em; opacity: .85; margin: .7rem 0 0; }
.mep-back { margin-top: 2.5rem; }

.mep-lightbox { position: fixed; inset: 0; background: rgba(9, 22, 32, .92); display: grid; place-items: center; z-index: 99999; padding: 1rem; cursor: zoom-out; }
.mep-lightbox img { max-width: 100%; max-height: 92vh; border-radius: 4px; }

/* ---------- Badge visiteur (écran) ---------- */
.mep-badgecard {
	max-width: 360px; margin: 0 auto; background: #fff; border-radius: 14px; overflow: hidden;
	border: 1px solid var(--mep-line); box-shadow: 0 18px 40px -22px rgba(18, 50, 74, .55);
	text-align: center;
}
.mep-badgecard__top { display: flex; justify-content: space-between; gap: .5rem; background: var(--mep-ink); color: #fff; padding: .8rem 1.1rem; font-size: .85em; font-weight: 600; text-align: left; }
.mep-badgecard__who { padding: 1.4rem 1.2rem .4rem; }
.mep-badgecard__name { font-size: 1.7rem; line-height: 1.1; font-weight: 700; margin: 0 0 .4rem; color: var(--mep-ink); overflow-wrap: anywhere; }
.mep-badgecard__name span { display: block; letter-spacing: .02em; }
.mep-badgecard__org { margin: 0; color: var(--mep-text); font-weight: 600; }
.mep-badgecard__org small { font-weight: 400; color: var(--mep-muted); }
.mep-badgecard__qr { width: 210px; margin: .8rem auto 0; }
.mep-badgecard__qr svg { display: block; width: 100%; height: auto; }
.mep-qr-svg .dark, .mep-qr-svg path { fill: var(--mep-ink); }
.mep-badgecard__code { font-family: ui-monospace, Menlo, Consolas, monospace; letter-spacing: .12em; color: var(--mep-muted); margin: .2rem 0 1rem; font-size: .9em; }
.mep-badgecard__foot {
	position: relative; background: var(--mep-sea); color: #fff; font-weight: 700; font-size: 1.1rem; padding: 1.3rem 1rem .8rem;
}
.mep-badgecard__foot::before {
	content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 14px;
	background: radial-gradient(14px 10px at 14px 0, #fff 96%, transparent 100%) 0 0 / 28px 14px repeat-x;
}
.mep-badgecard__actions { text-align: center; margin: 1rem 0 2rem; }
.mep-minilist { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.mep-minilist li { display: flex; gap: .75rem; align-items: center; margin: 0; }
.mep-minilist img { width: 44px; height: 44px; object-fit: contain; border: 1px solid var(--mep-line); border-radius: 4px; background: #fff; }

@media print {
	body * { visibility: hidden !important; }
	.mep-badgecard, .mep-badgecard * { visibility: visible !important; }
	.mep-badgecard { position: absolute; left: 0; top: 0; box-shadow: none; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* ---------- Page minimale (badge scanné par un appareil photo) ---------- */
body.mep-bare { margin: 0; min-height: 100vh; display: grid; place-items: center; background: var(--mep-granit); font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; padding: 1rem; }
.mep-bare__box { background: #fff; border-radius: 10px; padding: 2rem; max-width: 420px; width: 100%; border-top: 6px solid var(--mep-sea); }
.mep-bare__box h1 { margin: 0 0 .3rem; color: var(--mep-ink); font-size: 1.6rem; }
.mep-bare__kicker { color: var(--mep-muted); margin: 0 0 .3rem; }

@media (prefers-reduced-motion: reduce) {
	.mep *, .mep *::before, .mep *::after { transition: none !important; animation: none !important; }
}

/* ---------- Équipe ---------- */
.mep-societe-info { background: #E9F2F4; border-left: 4px solid var(--mep-sea); padding: .75rem 1rem; border-radius: 0 var(--mep-radius) var(--mep-radius) 0; margin: 0; }
[data-mep-new-company][hidden] { display: none; }
.mep-team { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .9rem; counter-reset: none; }
.mep-team__row { border: 1px solid var(--mep-line); border-radius: var(--mep-radius); padding: .9rem 1rem; background: #fff; margin: 0; }
.mep-team__row:first-child { border-color: var(--mep-ink); box-shadow: inset 4px 0 0 var(--mep-ink); }
.mep-team__head { display: flex; justify-content: space-between; align-items: center; gap: .75rem; margin-bottom: .7rem; font-size: .9em; }
.mep-team__main { display: flex; gap: .4rem; align-items: center; font-weight: 600; cursor: pointer; }
.mep-team__main input { accent-color: var(--mep-ink); }
.mep-team__badge { font-size: .8em; font-weight: 600; padding: .2em .7em; border-radius: 999px; background: #E2F1E9; color: #1B5E3E; }
.mep-team__badge--off { background: var(--mep-granit); color: var(--mep-muted); }
.mep-team__fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: .6rem .8rem; }
.mep-team__fields label { display: grid; gap: .2rem; font-size: .85em; font-weight: 600; }
.mep-team__fields input { min-height: 2.5em; padding: .45em .65em; font-weight: 400; }
.mep-team__fields input[readonly] { background: var(--mep-granit); color: var(--mep-muted); }
.mep-team__opts { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; margin-top: .7rem; font-size: .88em; }
.mep-team__opts label { display: flex; gap: .4rem; align-items: center; cursor: pointer; }
.mep-team__opts input { accent-color: var(--mep-sea); }
.mep-team__del { color: var(--mep-bad); margin-left: auto; }
.mep-team__add { border: 2px dashed #B9C5C1; border-radius: var(--mep-radius); padding: .8rem 1rem; margin-bottom: 1rem; }
.mep-team__add summary { cursor: pointer; font-weight: 600; color: var(--mep-ink); }
.mep-team__add[open] summary { margin-bottom: .8rem; }
.mep-demandes { background: #FCF4E3; border: 1px solid #EBCF91; border-radius: var(--mep-radius); padding: .9rem 1rem; margin-bottom: 1.2rem; }
.mep-demandes ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .7rem; }
.mep-demandes li { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin: 0; }
.mep-demandes form { display: flex; gap: .5rem; }
.mep-demandes .mep-btn { padding: .5em .9em; }

.mep-card__more { margin: -.4rem 0 .9rem; font-size: .85em; }
.mep-card__more a { color: var(--mep-sea); }
.mep-contactcard__label { margin: 0 0 .7rem; font-weight: 700; color: var(--mep-ink); }
.mep-person + .mep-person { border-top: 1px solid var(--mep-line); margin-top: .8rem; padding-top: .8rem; }
.mep-person--company .mep-contactcard__name { font-size: .95em; }
.mep-person .mep-card__contact { margin: 0; }
.mep-contactcard__role { font-size: .9em; }
.mep-team__row:not(:first-child) .mep-team__main { font-weight: 400; color: var(--mep-muted); }

/* ---------- Page « Les membres exposants » ---------- */
.mep-members { margin: 0 0 3.5rem; }
.mep-members__title { text-align: center; font-size: 1.35em; font-weight: 600; margin: 0 0 2rem; color: var(--mep-text); letter-spacing: 0; }
.mep-member { list-style: none; margin: 0; text-align: center; display: flex; flex-direction: column; align-items: center; min-width: 0; }
.mep-member__logo { display: flex; align-items: center; justify-content: center; width: 100%; height: 120px; overflow: hidden; margin-bottom: 1rem; text-decoration: none; }
.mep .mep-member__logo img { display: block; width: auto !important; height: auto !important; max-width: min(100%, 140px) !important; max-height: 120px !important; object-fit: contain; margin: 0; }
.mep-member__initial { width: 100px; height: 100px; border-radius: 50%; display: grid; place-items: center; background: var(--mep-granit); color: var(--mep-ink); font-size: 2.4rem; font-weight: 700; }
.mep-member__name { font-size: 1.05em; font-weight: 600; line-height: 1.25; margin: 0 0 .3rem; letter-spacing: 0; }
.mep-member__name a { color: var(--mep-text); text-decoration: none; }
.mep-member__name a:hover { color: var(--mep-sea); text-decoration: underline; }
.mep-member__role { font-size: .78em; font-weight: 700; line-height: 1.35; margin: 0 0 1rem; color: var(--mep-text); }
.mep-member__lines { list-style: none; margin: 0 0 .9rem; padding: 0; width: 100%; display: grid; gap: .35rem; font-size: .75em; text-align: left; }
.mep-member__lines li { display: flex; gap: .45rem; align-items: flex-start; margin: 0; min-width: 0; }
.mep-member__lines .mep-ico { margin-top: .15em; color: var(--mep-muted); width: 1.1em; height: 1.1em; }
.mep-member__lines a, .mep-member__lines span { color: var(--mep-text); text-decoration: none; overflow-wrap: anywhere; }
.mep-member__lines a:hover { color: var(--mep-sea); text-decoration: underline; }
.mep-member__more { font-size: .75em; margin: -.3rem 0 .8rem; }
.mep-member__more a { color: var(--mep-sea); }
.mep-member__social { display: flex; justify-content: center; gap: .5rem; margin: auto 0 0; padding-top: .3rem; }
.mep-member__social a { display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: var(--mep-ink); }
.mep-member__social a:hover { background: var(--mep-sea); }
.mep-member__social .mep-ico { color: #fff; width: .95rem; height: .95rem; }

/* Organisateurs : trois colonnes fixes, sans cadre */
.mep-orga { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem 3rem; max-width: 900px; }
.mep-member--orga .mep-member__lines { max-width: 240px; }
@media (max-width: 700px) { .mep-orga { grid-template-columns: 1fr; max-width: 320px; } }

/* Exposants : grille de cartes */
.mep-expo { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--mep-cols, 5), minmax(0, 1fr)); gap: 1rem; }
.mep-member--expo { background: #fff; border: 1px solid #E3E6E8; border-radius: 4px; padding: 1.2rem 1rem 1rem; box-shadow: 0 1px 2px rgba(18, 50, 74, .04); }
.mep-member--expo[hidden] { display: none; }
@media (max-width: 1100px) { .mep-expo { grid-template-columns: repeat(min(var(--mep-cols, 5), 4), minmax(0, 1fr)); } }
@media (max-width: 860px) { .mep-expo { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 620px) { .mep-expo { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; } .mep-member--expo { padding: 1rem .7rem .8rem; } .mep-member__logo { height: 90px; } .mep .mep-member__logo img { max-height: 90px !important; } }
@media (max-width: 380px) { .mep-expo { grid-template-columns: 1fr; } }

.mep-member__company { font-size: .8em; font-weight: 700; line-height: 1.3; margin: -.4rem 0 .6rem; color: var(--mep-sea); overflow-wrap: anywhere; }
.mep-member__company a { color: inherit; text-decoration: none; }
.mep-member__company a:hover { text-decoration: underline; }

.mep .mep-card__more a, .mep .mep-member__more a, .mep .mep-member__company a { color: var(--mep-sea) !important; }
.mep .mep-card__contact a, .mep .mep-member__lines a { color: var(--mep-text); }
.mep .mep-ico { color: var(--mep-sea); }
.mep .mep-member__lines .mep-ico { color: var(--mep-muted); }
.mep .mep-member__social .mep-ico, .mep .mep-iconlink .mep-ico { color: inherit; }
.mep .mep-member__social a { color: #fff; }
.mep .mep-iconlink { color: var(--mep-ink); }
.mep-logo-inline { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
.mep-logo-inline .mep-logo-preview { width: 180px; height: 110px; margin: 0; }
.mep .mep-logo-inline .mep-logo-preview img { max-height: 86px !important; }
.mep-fiche__name { font-size: 1.6em; font-weight: 700; line-height: 1.15; color: var(--mep-ink); margin: 0 0 .35rem; }
.mep-fiche__h { font-size: 1.15em; font-weight: 700; color: var(--mep-ink); margin: 0 0 .6rem; letter-spacing: 0; }
.mep-fiche__cols--notext { grid-template-columns: minmax(0, 420px); }
.mep-fiche__cols--notext .mep-fiche__aside { position: static; }
