.umpt { --umpt-accent: #2563eb; --umpt-border: rgba(127,127,127,.3); max-width: 720px; }
.umpt-form label { display: block; font-weight: 600; margin-bottom: .3em; }
.umpt-form input[type="text"], .umpt-form textarea { width: 100%; box-sizing: border-box; }
.umpt-optional, .umpt-help { font-weight: 400; opacity: .7; font-size: .9em; }
.umpt-help { display: block; margin-top: .3em; }
.umpt-progress { margin: 1em 0; }
.umpt-bar { height: 12px; border-radius: 6px; background: var(--umpt-border); overflow: hidden; }
.umpt-bar span { display: block; height: 100%; width: 0; background: var(--umpt-accent); transition: width .3s ease; }
.umpt-progress-text { font-size: .9em; margin-top: .4em; font-variant-numeric: tabular-nums; }
.umpt-message, .umpt-notice { padding: .8em 1em; border-radius: 6px; margin: 1em 0; border-left: 4px solid; }
.umpt-error   { border-color: #dc2626; background: rgba(220,38,38,.08); }
.umpt-success { border-color: #16a34a; background: rgba(22,163,74,.08); }
.umpt-warning { border-color: #d97706; background: rgba(217,119,6,.08); }
.umpt-info    { border-color: var(--umpt-accent); background: rgba(37,99,235,.08); }
.umpt-actions button { margin-right: .5em; }
.umpt-videos { display: grid; gap: 1.2em; }
.umpt-video { border: 1px solid var(--umpt-border); border-radius: 8px; padding: 1em; }
.umpt-video-head { display: flex; justify-content: space-between; align-items: center; gap: 1em; flex-wrap: wrap; }
.umpt-video-date { font-size: .85em; opacity: .7; margin: .3em 0 .8em; }
.umpt-badge { font-size: .8em; padding: .2em .7em; border-radius: 99px; white-space: nowrap; }
.umpt-badge.umpt-published  { background: rgba(22,163,74,.15); }
.umpt-badge.umpt-processing { background: rgba(217,119,6,.15); }
.umpt-badge.umpt-failed, .umpt-badge.umpt-deleted { background: rgba(220,38,38,.15); }
.umpt-badge.umpt-unknown { background: var(--umpt-border); }
.umpt-embed { position: relative; aspect-ratio: 16 / 9; margin-bottom: .8em; }
.umpt-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; }
.umpt-delete { font-size: .85em; }

/* ---------- 1.1 : statuts, rubriques, articles ---------- */
.umpt-form select { max-width: 100%; }
.umpt-row { margin: 0 0 1.2em; }
.umpt-row > label { display: block; font-weight: 600; margin-bottom: .3em; }
.umpt-box { border: 1px solid var(--umpt-border); border-radius: 8px; padding: .8em 1.1em 0; margin: 0 0 1.4em; }
.umpt-box > legend { font-weight: 700; padding: 0 .4em; }
.umpt-choices { border: 0; padding: 0; margin: 0 0 1em; display: flex; flex-wrap: wrap; gap: .6em; }
.umpt-choices > legend { font-weight: 600; margin-bottom: .4em; padding: 0; width: 100%; }
.umpt-form label.umpt-choice { display: flex; align-items: flex-start; gap: .55em; font-weight: 400; margin: 0;
	border: 1px solid var(--umpt-border); border-radius: 8px; padding: .6em .8em; cursor: pointer; flex: 1 1 200px; }
.umpt-choice:has(input:checked) { border-color: var(--umpt-accent); box-shadow: 0 0 0 1px var(--umpt-accent); }
.umpt-choice input { margin-top: .25em; }
.umpt-choice span { display: flex; flex-direction: column; }
.umpt-choice small { opacity: .7; font-size: .85em; }
.umpt-inline { display: inline-flex !important; gap: .4em; align-items: center; font-weight: 400 !important; }
.umpt-req { color: #dc2626; }
.umpt-extra-field input:not([type=checkbox]):not([type=hidden]), .umpt-extra-field textarea, .umpt-extra-field > select { width: 100%; box-sizing: border-box; }
.umpt-vis-choice, .umpt-vis-fixed { display: block; font-size: .85em; opacity: .8; margin-top: .3em; }
.umpt-vis-choice select { font-size: .95em; padding: .1em .3em; }
.umpt-image-preview { display: block; max-width: 240px; max-height: 160px; margin-top: .6em; border-radius: 6px; object-fit: cover; }
.umpt-form.umpt-busy .umpt-box, .umpt-form.umpt-busy .umpt-row, .umpt-form.umpt-busy > p:not(.umpt-actions) { opacity: .6; pointer-events: none; }

/* Dans l'article publié */
.umpt-post-video { margin: 0 0 1.5em; }
.umpt-processing-box { padding: 1.2em; border-radius: 8px; background: rgba(127,127,127,.12); text-align: center; }
.umpt-fields { display: grid; gap: 0; margin: 1.5em 0; border: 1px solid rgba(127,127,127,.3); border-radius: 8px; overflow: hidden; }
.umpt-field-row { display: grid; grid-template-columns: minmax(120px, 30%) 1fr; border-top: 1px solid rgba(127,127,127,.2); }
.umpt-field-row:first-child { border-top: 0; }
.umpt-fields dt, .umpt-fields dd { margin: 0; padding: .6em .9em; }
.umpt-fields dt { font-weight: 600; background: rgba(127,127,127,.07); }
.umpt-vis-badge { display: inline-block; font-weight: 400; font-size: .75em; padding: .05em .5em; border-radius: 99px; background: rgba(217,119,6,.15); margin-left: .3em; }
@media (max-width: 560px) { .umpt-field-row { grid-template-columns: 1fr; } .umpt-fields dd { padding-top: 0; } }

/* Mes articles */
.umpt-articles { list-style: none; padding: 0; margin: 0; }
.umpt-articles li { display: flex; flex-wrap: wrap; align-items: center; gap: .6em; padding: .7em 0; border-bottom: 1px solid var(--umpt-border); }
.umpt-article-title { flex: 1 1 auto; font-weight: 600; }

/* ---------- 1.2 : aperçus et image d'attente ---------- */
/* Certains thèmes forcent display sur div/p/button : on garantit que « hidden » masque vraiment. */
.umpt [hidden], .umpt[hidden] { display: none !important; }
.umpt-video-preview { margin: 0 0 1.2em; }
.umpt-preview-title { font-weight: 600; font-size: .9em; margin-bottom: .4em; }
.umpt-embed.umpt-local { background: #000; border-radius: 6px; overflow: hidden; }
.umpt-embed video { position: absolute; inset: 0; width: 100%; height: 100%; background: #000; }
.umpt-poster { background: #1f2329; border-radius: 6px; overflow: hidden; display: block; }
.umpt-poster img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.55); }
.umpt-poster-label { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 85%;
	display: flex; flex-direction: column; align-items: center; gap: .7em; text-align: center; color: #fff; font-size: .95em; line-height: 1.4; text-shadow: 0 1px 3px rgba(0,0,0,.6); }
.umpt-spinner { width: 34px; height: 34px; border-radius: 50%; border: 3px solid rgba(255,255,255,.3); border-top-color: #fff; animation: umpt-spin 1s linear infinite; }
@keyframes umpt-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .umpt-spinner { animation-duration: 3s; } }

/* ---------- 1.4 : vidéothèque ---------- */
.umpt-library { max-width: none; }
.umpt-lib-player { margin: 0 0 1.6em; scroll-margin-top: 80px; }
.umpt-lib-player-head { display: flex; justify-content: space-between; align-items: center; gap: 1em; margin-bottom: .6em; }
.umpt-lib-title { margin: 0; font-size: 1.3em; line-height: 1.3; }
.umpt-lib-close { flex: none; font-size: .9em; }
.umpt-lib-note { padding: .6em .9em; border-radius: 6px; background: rgba(217,119,6,.12); font-size: .92em; margin: .4em 0; }
.umpt-lib-meta { font-size: .9em; opacity: .75; margin: .3em 0 0; }
.umpt-lib-toolbar { display: flex; flex-wrap: wrap; gap: .6em; align-items: center; margin: 0 0 1.2em; }
.umpt-lib-search { flex: 1 1 240px; min-width: 0; padding: .5em .7em; }
.umpt-lib-count { font-size: .9em; opacity: .7; margin-left: auto; }
.umpt-lib-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 1.1em; }
.umpt-lib-card { all: unset; box-sizing: border-box; display: flex; flex-direction: column; gap: .35em; cursor: pointer; border-radius: 8px; padding: 0 0 .3em; }
.umpt-lib-card:focus-visible { outline: 2px solid var(--umpt-accent); outline-offset: 3px; }
.umpt-lib-art { position: relative; display: block; aspect-ratio: 2 / 3; border-radius: 8px; overflow: hidden; background: #1f2329; }
.umpt-lib-art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.umpt-lib-art.no-art { background: linear-gradient(160deg, #2b3440, #151a20); }
.umpt-lib-art.no-art::before { content: "🎬"; position: absolute; inset: 0; display: grid; place-items: center; font-size: 2.6em; opacity: .5; }
.umpt-lib-play { position: absolute; left: 50%; top: 50%; width: 52px; height: 52px; margin: -26px 0 0 -26px; border-radius: 50%; background: rgba(0,0,0,.55); opacity: 0; transition: opacity .2s ease; }
.umpt-lib-play::after { content: ""; position: absolute; left: 20px; top: 15px; border-style: solid; border-width: 11px 0 11px 17px; border-color: transparent transparent transparent #fff; }
.umpt-lib-card:hover .umpt-lib-play, .umpt-lib-card:focus-visible .umpt-lib-play, .umpt-lib-card.is-current .umpt-lib-play { opacity: 1; }
.umpt-lib-card:hover .umpt-lib-art img { transform: scale(1.04); }
.umpt-lib-card.is-current .umpt-lib-art { box-shadow: 0 0 0 3px var(--umpt-accent); }
.umpt-lib-badge { position: absolute; top: 6px; right: 6px; font-size: .7em; font-weight: 700; padding: .15em .5em; border-radius: 4px; background: rgba(0,0,0,.65); color: #fff; }
.umpt-lib-card-title { font-weight: 600; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.umpt-lib-card-meta { font-size: .8em; opacity: .65; }
.umpt-lib-empty { grid-column: 1 / -1; opacity: .7; }
.umpt-lib-more-wrap { text-align: center; margin-top: 1.4em; }
@media (max-width: 520px) { .umpt-lib-grid { grid-template-columns: repeat(2, 1fr); gap: .8em; } }
@media (prefers-reduced-motion: reduce) { .umpt-lib-art img, .umpt-lib-play { transition: none; } }

/* ---------- 1.5 : événements ---------- */
.umpt-label { display: block; font-weight: 600; margin-bottom: .4em; }
.umpt-ev-panel { margin-top: 1em; }
.umpt-ev-toggle { margin-bottom: .6em; }
.umpt-ev-types { display: flex; flex-wrap: wrap; gap: .5em; }
.umpt-form label.umpt-ev-type, label.umpt-ev-type { display: inline-flex; align-items: center; gap: .45em; font-weight: 400; margin: 0; padding: .35em .75em; border: 1px solid var(--umpt-border, rgba(127,127,127,.3)); border-radius: 99px; cursor: pointer; }
.umpt-ev-type input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.umpt-ev-type:has(input:checked) { border-color: var(--ev); box-shadow: 0 0 0 1px var(--ev); background: color-mix(in srgb, var(--ev) 10%, transparent); font-weight: 600; }
.umpt-ev-type:has(input:focus-visible) { outline: 2px solid var(--ev); outline-offset: 2px; }
.umpt-ev-dot { flex: none; width: .8em; height: .8em; border-radius: 50%; background: var(--ev, #64748b); }
.umpt-ev-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: .4em 1em; align-items: end; margin-bottom: .8em; }
.umpt-ev-grid > label, .umpt-ev-card label { display: block; font-weight: 600; font-size: .95em; }
.umpt-ev-grid input:not([type=checkbox]), .umpt-ev-grid select, .umpt-ev-card textarea, .umpt-ev-card label > input:not([type=checkbox]) { width: 100%; box-sizing: border-box; font-weight: 400; }
.umpt-ev-fields .umpt-row input[type=text], .umpt-ev-fields .umpt-row input[type=email], .umpt-ev-fields .umpt-row input[type=tel] { width: 100%; box-sizing: border-box; }
.umpt-ev-dt { display: flex; gap: .4em; }
.umpt-ev-dt input[type=date] { flex: 1 1 auto; } .umpt-ev-dt input[type=time] { flex: 0 0 7em; }
.umpt-ev-search { display: flex; gap: .4em; }
.umpt-ev-search input { flex: 1 1 auto; min-width: 0; }
.umpt-ev-search button { flex: none; }
.umpt-ev-results { list-style: none; margin: .4em 0; padding: 0; border: 1px solid var(--umpt-border, #ccc); border-radius: 6px; max-height: 220px; overflow: auto; }
.umpt-ev-results li + li { border-top: 1px solid var(--umpt-border, #ddd); }
.umpt-ev-results button { all: unset; display: block; width: 100%; box-sizing: border-box; padding: .5em .7em; cursor: pointer; font-size: .9em; }
.umpt-ev-results button:hover, .umpt-ev-results button:focus-visible { background: rgba(37,99,235,.08); }
.umpt-ev-noresult { padding: .5em .7em; font-size: .9em; }
.umpt-ev-minimap { height: 260px; border-radius: 8px; margin: .5em 0 .3em; z-index: 0; }
.umpt-ev-sub { border: 1px dashed var(--umpt-border, #ccc); border-radius: 8px; padding: .6em 1em .4em; margin: 0 0 1em; }
.umpt-ev-sub > legend { font-weight: 600; padding: 0 .3em; }

/* Drapeaux */
.umpt-flag-wrap { background: none; border: 0; }
.umpt-flag { position: relative; display: block; width: 30px; height: 40px; filter: drop-shadow(0 1px 2px rgba(0,0,0,.35)); }
.umpt-flag-label { position: absolute; left: 22px; top: -6px; white-space: nowrap; font: 700 11px/1 system-ui, sans-serif; padding: 3px 6px; border-radius: 99px; background: #111827; color: #fff; }

/* Bloc dans l'article */
.umpt-ev { --ev: #64748b; max-width: none; border: 1px solid rgba(127,127,127,.3); border-left: 6px solid var(--ev); border-radius: 10px; padding: 1em 1.2em; margin: 0 0 1.6em; }
.umpt-ev-head { display: flex; gap: .6em; align-items: center; margin-bottom: .6em; }
.umpt-ev-badge { --ev: #64748b; display: inline-block; font-size: .8em; font-weight: 700; padding: .2em .7em; border-radius: 99px; background: var(--ev); color: #fff; }
.umpt-ev-past { font-size: .8em; padding: .2em .7em; border-radius: 99px; background: rgba(127,127,127,.2); }
.umpt-ev-info { display: grid; grid-template-columns: 1fr minmax(220px, 45%); gap: 1.2em; align-items: start; }
.umpt-ev-info p { margin: 0 0 .7em; }
.umpt-ev-link { font-size: .9em; }
.umpt-ev-map { height: 220px; border-radius: 8px; z-index: 0; }
@media (max-width: 640px) { .umpt-ev-info { grid-template-columns: 1fr; } }
.umpt-ev-actions { max-width: none; display: grid; gap: 1.2em; margin: 1.6em 0; }
.umpt-ev-card { border: 1px solid rgba(127,127,127,.3); border-radius: 10px; padding: 1em 1.2em; }
.umpt-ev-card h3 { margin: 0 0 .5em; font-size: 1.15em; }
.umpt-ev-card h4 { margin: 1em 0 .4em; font-size: 1em; }
.umpt-ev-card h5 { margin: .6em 0 .4em; font-size: .95em; }
.umpt-ev-card label { margin-bottom: .6em; }
.umpt-ev-count { opacity: .8; font-size: .92em; }
.umpt-ev-ok button, .umpt-ev-list button { margin-left: .5em; font-size: .85em; }
.umpt-ev-list { list-style: none; margin: 0; padding: 0; }
.umpt-ev-list li { display: flex; justify-content: space-between; align-items: center; gap: .8em; padding: .55em 0; border-bottom: 1px solid rgba(127,127,127,.2); }
.umpt-ev-car-forms { margin-top: 1em; }
.umpt-ev-car-forms summary { cursor: pointer; font-weight: 600; }
.umpt-ev-carform { border-top: 1px solid rgba(127,127,127,.2); margin-top: .6em; padding-top: .4em; }
.umpt-ev-msg { padding: .6em .9em; border-radius: 6px; }
.umpt-ev-msg.umpt-success { background: rgba(22,163,74,.1); } .umpt-ev-msg.umpt-error { background: rgba(220,38,38,.1); }
.umpt-hp { position: absolute !important; left: -9999px !important; }

/* Carte des événements */
.umpt-evmap { max-width: none; }
.umpt-evmap-filters { display: flex; flex-wrap: wrap; gap: .5em; align-items: center; margin-bottom: .8em; }
.umpt-evmap-chip { display: inline-flex; align-items: center; gap: .4em; padding: .3em .7em; border: 1px solid var(--ev); border-radius: 99px; cursor: pointer; font-size: .9em; user-select: none; }
.umpt-evmap-chip input { margin: 0; accent-color: var(--ev); }
.umpt-evmap-chip:has(input:not(:checked)) { opacity: .45; border-style: dashed; }
.umpt-evmap-period { margin-left: auto; }
.umpt-evmap-map { border-radius: 10px; z-index: 0; }
.umpt-evmap-count { font-size: .9em; opacity: .75; margin: .6em 0; }
.umpt-evmap-list { list-style: none; margin: 0; padding: 0; }
.umpt-evmap-list li { display: flex; align-items: center; gap: .7em; padding: .6em 0; border-bottom: 1px solid rgba(127,127,127,.2); }
.umpt-evmap-item { flex: 1 1 auto; }
.umpt-evmap-cd { display: inline-block; font-size: .75em; font-weight: 700; padding: .1em .55em; border-radius: 99px; background: #111827; color: #fff; vertical-align: middle; }
.umpt-evmap-show { flex: none; font-size: .85em; }
.umpt-evmap-nolatlng { opacity: .6; }
.umpt-evpop { display: flex; flex-direction: column; gap: .3em; font-size: 13px; }
.umpt-evpop img { width: 100%; max-height: 120px; object-fit: cover; border-radius: 6px; }
.umpt-evpop .umpt-ev-badge { align-self: flex-start; }
.umpt-evpop strong { font-size: 14px; }
.umpt-evpop-extra { opacity: .75; }
.umpt-ev-src { display: inline-block; margin-left: .4em; font-size: .75em; padding: .05em .45em; border-radius: 4px; background: rgba(127,127,127,.15); }

/* ---------- 1.7 : smartphones ---------- */
.umpt-form input[type=file] { max-width: 100%; }
.umpt-image-preview { max-width: 100%; }
@media (max-width: 640px) {
	/* 16 px minimum : sinon Safari (iPhone) zoome sur le champ à chaque saisie. */
	.umpt input:not([type=checkbox]):not([type=radio]), .umpt select, .umpt textarea,
	.umpt-ev-panel input:not([type=checkbox]):not([type=radio]), .umpt-ev-panel select { font-size: 16px !important; }
	.umpt input[type=text], .umpt input[type=email], .umpt input[type=tel], .umpt input[type=url],
	.umpt input[type=number], .umpt input[type=date], .umpt input[type=time], .umpt input[type=search],
	.umpt select, .umpt textarea { min-height: 44px; box-sizing: border-box; max-width: 100%; }
	/* Zones à toucher confortables. */
	.umpt button, .umpt .umpt-submit, .umpt .umpt-cancel { min-height: 44px; padding: .55em 1em; }
	.umpt-actions { display: flex; flex-direction: column; gap: .6em; }
	.umpt-actions button { width: 100%; margin: 0; }
	.umpt-form label.umpt-choice { flex: 1 1 100%; padding: .75em .9em; }
	.umpt-box { padding: .7em .8em 0; }
	.umpt-ev-dt { flex-wrap: wrap; }
	.umpt-ev-dt input[type=date], .umpt-ev-dt input[type=time] { flex: 1 1 45%; }
	.umpt-ev-search { flex-direction: column; }
	.umpt-ev-search button { width: 100%; }
	.umpt-ev-results button { padding: .8em .7em; }
	.umpt-ev-list li { flex-direction: column; align-items: stretch; }
	.umpt-ev-list button, .umpt-ev-ok button { margin: .4em 0 0; width: 100%; }
	.umpt-ev-minimap { height: 220px; }
	.umpt-evmap-map { height: 62vh !important; min-height: 320px; }
	.umpt-evmap-period { margin-left: 0; width: 100%; }
	.umpt-evmap-list li { flex-wrap: wrap; }
	.umpt-evmap-show { width: 100%; }
	.umpt-lib-toolbar > * { flex: 1 1 100%; }
	.umpt-video-head, .umpt-lib-player-head { flex-wrap: wrap; }
	/* L'éditeur de texte ne doit pas déborder de l'écran. */
	.umpt .wp-editor-wrap, .umpt .mce-tinymce { max-width: 100% !important; }
}

/* ---------- 1.8 : listes d'articles et d'événements ---------- */
.umpt-list { max-width: none; }
.umpt-filters { display: flex; flex-wrap: wrap; gap: .7em 1em; align-items: flex-end; padding: .9em 1em; margin: 0 0 1em; border: 1px solid rgba(127,127,127,.3); border-radius: 10px; background: rgba(127,127,127,.05); }
.umpt-filter { display: flex; flex-direction: column; gap: .25em; font-size: .9em; font-weight: 600; min-width: 150px; flex: 1 1 150px; }
.umpt-filter select, .umpt-filter input { font-weight: 400; width: 100%; box-sizing: border-box; }
.umpt-filter-search { flex: 2 1 220px; }
.umpt-filter-types { flex: 1 1 100%; border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .45em; }
.umpt-filter-types legend { font-size: .9em; font-weight: 600; margin-bottom: .35em; padding: 0; }
.umpt-filter-types legend small { font-weight: 400; opacity: .7; }
.umpt-filter-checks { display: flex; flex-wrap: wrap; gap: .4em 1.2em; font-size: .92em; }
.umpt-filter-actions { display: flex; align-items: center; gap: .9em; flex-wrap: wrap; }
.umpt-list-count { font-size: .9em; opacity: .75; margin: 0 0 1em; }
.umpt-tag { display: inline-block; font-size: .78em; padding: .15em .6em; border-radius: 99px; background: rgba(127,127,127,.14); }
.umpt-card-tags { display: flex; flex-wrap: wrap; gap: .35em; margin-bottom: .4em; }
.umpt-card-tags .umpt-ev-badge { --ev: inherit; }
/* Cartes d'articles */
.umpt-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1.3em; }
.umpt-card { display: flex; flex-direction: column; border: 1px solid rgba(127,127,127,.28); border-radius: 10px; overflow: hidden; background: rgba(255,255,255,.02); }
.umpt-card-img { position: relative; display: block; aspect-ratio: 16 / 9; background: rgba(127,127,127,.15); }
.umpt-card-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.umpt-card-img.no-img::before { content: "📰"; position: absolute; inset: 0; display: grid; place-items: center; font-size: 2.2em; opacity: .35; }
.umpt-card-play { position: absolute; right: 10px; bottom: 10px; width: 38px; height: 38px; border-radius: 50%; background: rgba(0,0,0,.6); }
.umpt-card-play::after { content: ""; position: absolute; left: 15px; top: 11px; border-style: solid; border-width: 8px 0 8px 12px; border-color: transparent transparent transparent #fff; }
.umpt-card-body { padding: .9em 1em 1em; display: flex; flex-direction: column; flex: 1; }
.umpt-card-title { margin: 0 0 .3em; font-size: 1.08em; line-height: 1.3; }
.umpt-card-title a { text-decoration: none; }
.umpt-card-title a:hover { text-decoration: underline; }
.umpt-card-meta { font-size: .82em; opacity: .7; margin: 0 0 .5em; }
.umpt-card-excerpt { font-size: .92em; margin: 0; opacity: .9; }
/* Liste d'événements */
.umpt-elist-month { font-size: 1.1em; margin: 1.4em 0 .6em; padding-bottom: .3em; border-bottom: 2px solid rgba(127,127,127,.25); }
.umpt-elist-month:first-of-type { margin-top: .4em; }
.umpt-elist-items { list-style: none; margin: 0; padding: 0; display: grid; gap: .8em; }
.umpt-elist-item { display: grid; grid-template-columns: 74px 1fr auto; gap: 1em; align-items: start; padding: .8em; border: 1px solid rgba(127,127,127,.28); border-left: 5px solid var(--ev); border-radius: 10px; }
.umpt-elist-item.is-past { opacity: .75; }
.umpt-elist-date { display: flex; flex-direction: column; align-items: center; text-decoration: none; color: inherit; border-radius: 8px; overflow: hidden; border: 1px solid rgba(127,127,127,.3); line-height: 1.1; }
.umpt-elist-dow { width: 100%; text-align: center; font-size: .72em; font-weight: 700; text-transform: uppercase; color: #fff; background: var(--ev); padding: .25em 0; }
.umpt-elist-day { font-size: 1.7em; font-weight: 700; padding-top: .1em; }
.umpt-elist-mon { font-size: .75em; text-transform: uppercase; opacity: .75; padding-bottom: .35em; }
.umpt-elist-title { margin: 0 0 .3em; font-size: 1.05em; }
.umpt-elist-title a { text-decoration: none; } .umpt-elist-title a:hover { text-decoration: underline; }
.umpt-elist-meta { margin: 0; font-size: .9em; opacity: .85; }
.umpt-elist-extra { margin: .45em 0 0; display: flex; gap: .35em; flex-wrap: wrap; }
.umpt-elist-img img { width: 120px; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; display: block; }
.umpt-elist-map { font-weight: 600; }
/* Pagination */
.umpt-pager { display: flex; flex-wrap: wrap; gap: .4em; justify-content: center; margin: 1.6em 0 .5em; }
.umpt-pager .page-numbers { display: inline-block; min-width: 2.4em; text-align: center; padding: .45em .7em; border-radius: 6px; border: 1px solid rgba(127,127,127,.3); text-decoration: none; }
.umpt-pager .page-numbers.current { background: var(--umpt-accent, #2563eb); border-color: var(--umpt-accent, #2563eb); color: #fff; }
.umpt-pager .dots { border: 0; }
@media (max-width: 640px) {
	.umpt-filter, .umpt-filter-search { flex: 1 1 100%; }
	.umpt-cards { grid-template-columns: 1fr; }
	.umpt-elist-item { grid-template-columns: 62px 1fr; }
	.umpt-elist-img { display: none; }
	.umpt-pager .page-numbers { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
}

/* ---------- 1.9 : aide aux rédacteurs ---------- */
.umpt-guide { margin: 0 0 1.4em; border: 1px solid rgba(37,99,235,.35); border-left: 5px solid var(--umpt-accent, #2563eb); border-radius: 10px; background: rgba(37,99,235,.05); }
.umpt-guide > summary { cursor: pointer; padding: .8em 1em; font-weight: 700; list-style-position: inside; }
.umpt-guide[open] > summary { border-bottom: 1px solid rgba(37,99,235,.2); }
.umpt-guide-body { padding: .6em 1.1em 1em; font-size: .95em; }
.umpt-guide-body p { margin: .5em 0; }
.umpt-guide-body ul, .umpt-guide-body ol { margin: .4em 0 .6em 1.2em; padding: 0; }
.umpt-guide-sub { font-weight: 700; margin-top: .9em !important; }
.umpt-guide-links { list-style: none !important; margin: .8em 0 0 !important; padding: 0; display: flex; flex-wrap: wrap; gap: .5em; }
.umpt-guide-links a { display: inline-block; padding: .4em .85em; border-radius: 99px; border: 1px solid var(--umpt-accent, #2563eb); text-decoration: none; font-weight: 600; font-size: .92em; }
.umpt-guide-links a:hover, .umpt-guide-links a:focus-visible { background: var(--umpt-accent, #2563eb); color: #fff; }
.umpt-message { white-space: pre-line; }
@media (max-width: 640px) { .umpt-guide-links a { display: block; text-align: center; padding: .7em; } .umpt-guide-links { flex-direction: column; } }

/* ---------- 1.9.1 : messages d'accès personnalisés ---------- */
.umpt-access { max-width: 720px; padding: 1.2em 1.4em; border: 1px solid rgba(127,127,127,.3); border-radius: 12px; background: rgba(127,127,127,.05); }
.umpt-access > :first-child { margin-top: 0; } .umpt-access > :last-child { margin-bottom: 0; }
.umpt-access img { max-width: 100%; height: auto; border-radius: 8px; }
.umpt-btn { display: inline-block; margin: .2em .4em .2em 0; padding: .6em 1.2em; border-radius: 8px; border: 1px solid var(--umpt-accent, #2563eb); color: var(--umpt-accent, #2563eb); font-weight: 600; text-decoration: none !important; line-height: 1.2; }
.umpt-btn-primary { background: var(--umpt-accent, #2563eb); color: #fff !important; }
.umpt-btn:hover, .umpt-btn:focus-visible { filter: brightness(1.08); box-shadow: 0 2px 8px rgba(0,0,0,.12); }
@media (max-width: 640px) { .umpt-btn { display: block; text-align: center; margin: .5em 0; min-height: 44px; box-sizing: border-box; } }

/* ---------- 1.10 : tarifs ---------- */
.umpt-ev-price-modes { display: flex; flex-wrap: wrap; gap: .4em 1.2em; margin-bottom: .7em; }
.umpt-ev-price-head, .umpt-ev-price-row { display: grid; grid-template-columns: 1fr 7.5em 2.6em; gap: .5em; align-items: center; }
.umpt-ev-price-head { font-size: .82em; font-weight: 600; opacity: .7; margin-bottom: .3em; }
.umpt-ev-price-row { margin-bottom: .45em; }
.umpt-ev-price-row input { width: 100%; box-sizing: border-box; }
.umpt-ev-price-row input[inputmode=decimal] { text-align: right; }
.umpt-ev-price-del { padding: .3em; line-height: 1; }
.umpt-ev-price { margin: 0 0 .7em; }
.umpt-ev-price-list { list-style: none; margin: .35em 0 0 1.6em; padding: 0; max-width: 360px; }
.umpt-ev-price-list li { display: flex; justify-content: space-between; gap: 1em; padding: .25em 0; border-bottom: 1px dotted rgba(127,127,127,.35); }
.umpt-ev-qty { border: 1px solid rgba(127,127,127,.3); border-radius: 8px; padding: .6em .9em .7em; margin: 0 0 .9em; }
.umpt-ev-qty > legend { font-weight: 600; padding: 0 .3em; }
.umpt-form .umpt-ev-qty-row, .umpt-ev-qty-row { display: flex !important; justify-content: space-between; align-items: center; gap: 1em; font-weight: 400 !important; padding: .3em 0; border-bottom: 1px dotted rgba(127,127,127,.3); margin: 0 !important; }
.umpt-ev-qty-row input { width: 5em !important; text-align: center; }
.umpt-ev-qty-label small { opacity: .75; margin-left: .3em; }
.umpt-ev-total { margin: .6em 0 .2em; }
.umpt-tag-price { background: rgba(22,163,74,.14); }
@media (max-width: 640px) { .umpt-ev-price-head, .umpt-ev-price-row { grid-template-columns: 1fr 6em 44px; } }
