﻿/* Avenir Conso forms. Colours follow the theme: red #cc0000, text #3b3b3b. */
.ac-search, .ac-form { --ac-red: #cc0000; --ac-red-dark: #aa0000; --ac-border: #c8c8c8; --ac-muted: #6f6a64; margin-top: 8px; }
.ac-hint { font-size: 13px; color: var(--ac-muted); text-align: left !important; }
.ac-muted { font-size: 13px; color: var(--ac-muted); }
.ac-required { color: var(--ac-red); }
/* Elements styled with a display value would otherwise stay visible when hidden. */
.ac-search [hidden], .ac-form [hidden] { display: none !important; }
.ac-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.ac-field { margin: 0 0 20px; }
.ac-field > label, .ac-radios > legend { display: block; margin-bottom: 6px; font-weight: 700; }
.ac-field input[type=text], .ac-field input[type=search], .ac-field input[type=email], .ac-field input[type=tel],
.ac-field input[type=date], .ac-field textarea {
	width: 100%; max-width: 560px; padding: 10px 12px; border: 1px solid var(--ac-border); border-radius: 4px;
	font: inherit; color: inherit; background: #fff;
}
.ac-field input[type=date] { max-width: 220px; }
.ac-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* File upload. Without JavaScript: the native input, framed. With forms.js
   (.is-enhanced): a drop zone; the transparent input covers it, so a click or
   a drop anywhere in the zone reaches the input. */
.ac-upload { --ac-upload: var(--ac-red); --ac-upload-tint: #fdf3f3; position: relative; max-width: 560px; }
.ac-field input[type=file] { display: block; width: 100%; box-sizing: border-box; padding: 12px; border: 2px dashed var(--ac-border); border-radius: 6px; background: #fafafa; font: inherit; font-size: 15px; color: var(--ac-muted); cursor: pointer; }
.ac-field input[type=file]::file-selector-button {
	margin-right: 14px; padding: 8px 16px; border: 1px solid var(--ac-upload, var(--ac-red)); border-radius: 3px; background: #fff;
	color: var(--ac-upload, var(--ac-red)); font: inherit; font-weight: 700; cursor: pointer;
}
.ac-upload__ui, .ac-upload:not(.is-enhanced) .ac-upload__remove { display: none; }
.ac-upload.is-enhanced .ac-upload__ui {
	display: flex; align-items: center; gap: 14px; min-height: 74px; box-sizing: border-box; padding: 14px 18px;
	border: 2px dashed var(--ac-border); border-radius: 6px; background: #fafafa; transition: border-color .15s, background-color .15s;
}
.ac-form .ac-upload.is-enhanced input[type=file] { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; opacity: 0; cursor: pointer; }
.ac-upload__icon { position: relative; flex: none; width: 38px; height: 38px; border-radius: 50%; background: var(--ac-upload-tint); }
.ac-upload__icon::before {
	content: ""; position: absolute; inset: 9px; background: var(--ac-upload);
	-webkit-mask: var(--ac-upload-icon) center / contain no-repeat; mask: var(--ac-upload-icon) center / contain no-repeat;
}
.ac-upload { --ac-upload-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16V4m0 0-5 5m5-5 5 5'/%3E%3Cpath d='M4 16v3a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-3'/%3E%3C/svg%3E"); }
.ac-upload.is-filled { --ac-upload-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E"); }
.ac-upload__text { min-width: 0; color: var(--ac-muted); font-size: 15px; overflow-wrap: anywhere; }
.ac-upload__button { display: inline-block; margin-right: 4px; padding: 6px 14px; border: 1px solid var(--ac-upload); border-radius: 3px; background: #fff; color: var(--ac-upload); font-weight: 700; }
.ac-upload.is-enhanced:hover .ac-upload__ui, .ac-upload.is-dragover .ac-upload__ui { border-color: var(--ac-upload); background: var(--ac-upload-tint); }
.ac-upload.is-enhanced:hover .ac-upload__button { background: var(--ac-upload-tint); }
.ac-upload:focus-within .ac-upload__ui, .ac-upload:not(.is-enhanced) input[type=file]:focus-visible { outline: 2px solid var(--ac-upload); outline-offset: 2px; }
.ac-upload.is-enhanced.is-filled .ac-upload__ui { border-style: solid; border-color: #2e7d32; background: #f3f9f3; }
.ac-upload.is-filled:focus-within .ac-upload__ui { outline-color: #2e7d32; }
.ac-upload.is-filled .ac-upload__icon { background: #e1f0e1; }
.ac-upload.is-filled .ac-upload__icon::before { background: #2e7d32; }
.ac-upload__name { color: #3b3b3b; font-weight: 700; }
.ac-upload__remove { position: absolute; top: 50%; right: 14px; z-index: 2; transform: translateY(-50%); padding: 5px 10px; border: 1px solid var(--ac-border); border-radius: 3px; background: #fff; color: #3b3b3b; font: inherit; font-size: 13px; cursor: pointer; }
.ac-upload__remove:hover { border-color: var(--ac-upload); color: var(--ac-upload); }
.ac-upload.is-filled .ac-upload__ui { padding-right: 104px; }
.ac-field--error .ac-upload__ui, .ac-upload.is-enhanced.is-invalid .ac-upload__ui, .ac-field--error input[type=file] { border-color: var(--ac-red) !important; background: #fdf3f3 !important; outline-color: var(--ac-red) !important; }
.ac-upload.is-invalid { --ac-upload-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 5v9M12 19h.01'/%3E%3C/svg%3E"); }
.ac-upload.is-invalid .ac-upload__icon { background: #f9dede; }
.ac-upload.is-invalid .ac-upload__icon::before { background: var(--ac-red); }
.ac-field input:focus-visible, .ac-field textarea:focus-visible { outline: 2px solid var(--ac-red); outline-offset: 1px; border-color: var(--ac-red); }
.ac-field--error input, .ac-field--error textarea { border-color: var(--ac-red); }
.ac-error { margin: 4px 0 0 !important; font-size: 13px; color: var(--ac-red); font-weight: 700; }

.ac-radios { border: 0; padding: 0; min-width: 0; }
.ac-choices { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.ac-choice { display: inline-flex; align-items: flex-start; gap: 8px; font-weight: 400; cursor: pointer; }
.ac-choice input { margin-top: 4px; accent-color: var(--ac-red); }

.ac-button { display: inline-block; padding: 9px 22px; border: 1px solid var(--ac-red); border-radius: 2px; background: var(--ac-red); color: #fff !important;
	font: inherit; line-height: 1.3; text-decoration: none !important; cursor: pointer; }
.ac-button:hover { background: var(--ac-red-dark); border-color: var(--ac-red-dark); }
.ac-button:focus-visible { outline: 3px solid #3b3b3b; outline-offset: 2px; }
.ac-button--secondary { background: #fff; color: var(--ac-red) !important; }
.ac-button--secondary:hover { background: #fbeaea; }
.ac-button--small { padding: 5px 12px; font-size: 13px; white-space: nowrap; }
.ac-button[disabled] { opacity: .6; cursor: default; }
.ac-nav { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }

.ac-alert { margin: 0 0 16px; padding: 12px 16px; border-left: 4px solid; background: #f7f7f7; }
.ac-alert p { margin: 0 0 6px !important; text-align: left !important; }
.ac-alert p:last-child { margin-bottom: 0 !important; }
.ac-alert ul { margin: 6px 0 0; padding-left: 20px; list-style: disc; }
.ac-page-content .ac-alert ul li { padding-left: 0; }
.ac-page-content .ac-alert ul li::before { content: none; }
.ac-alert--error { border-color: var(--ac-red); background: #fdf0f0; }
.ac-alert--warning { border-color: #c98a00; background: #fff8e6; }
.ac-alert--success { border-color: #2e7d32; background: #eef7ee; }

/* Search : sans boîte grise, aéré. */
.ac-search__form { padding: 2px 0 22px; margin-bottom: 26px; border-bottom: 2px solid #f0dede; }
.ac-search .ac-hint { margin-bottom: 14px; }
.ac-search__fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 22px; }
.ac-search__fields .ac-field { margin-bottom: 12px; }
.ac-results__count { font-weight: 700; }
.ac-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.ac-table th { padding: 8px; border-bottom: 2px solid var(--ac-red); text-align: left; color: var(--ac-red); font-weight: 400; }
.ac-table td { padding: 8px; border-bottom: 1px solid #e5e5e5; vertical-align: top; }
.ac-pagination { margin: 16px 0; }
.ac-pagination .page-numbers { display: inline-block; min-width: 32px; padding: 4px 8px; margin: 0 2px 4px 0; border: 1px solid #e0e0e0; text-align: center; text-decoration: none; }
.ac-pagination .current { background: var(--ac-red); border-color: var(--ac-red); color: #fff; }

/* Public mediator directory */
.ac-mediators { --ac-red: #cc0000; --ac-red-dark: #aa0000; --ac-muted: #6f6a64; }
.ac-mediators__filters { padding: 16px; margin: 8px 0 20px; background: #f7f7f7; }
.ac-mediators__name { max-width: 420px; }
.ac-mediators__sectors { margin: 12px 0 16px; padding: 0; border: 0; }
.ac-mediators__sectors legend { margin-bottom: 8px; font-weight: 700; }
.ac-mediators__sector-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 18px; }
.ac-mediators__sector { display: flex; align-items: flex-start; gap: 7px; font-size: 14px; line-height: 1.4; cursor: pointer; }
.ac-mediators__sector input { flex: 0 0 auto; margin-top: 4px; accent-color: var(--ac-red); }
.ac-mediators__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.ac-mediators__table th:nth-child(1) { width: 22%; }
.ac-mediators__table th:nth-child(3) { width: 82px; }
.ac-mediators__member { display: flex; flex-direction: column; gap: 3px; text-decoration: none; }
.ac-mediators__member strong { color: var(--ac-red); }
.ac-mediators__member span { color: inherit; }
.ac-mediators__sector-tags { margin: 0; padding-left: 18px; }
.ac-mediators__sector-tags li { margin: 0 0 3px; }
.ac-mediators__photo img { display: block; width: 58px; height: 68px; object-fit: cover; }
.single-ac_mediateur .ac-mediators__profile-photo { max-width: 140px; height: auto; float: right; margin: 0 0 16px 24px; }

/* Forms */
.ac-form fieldset { margin: 0 0 24px; padding: 0; border: 0; min-width: 0; }
.ac-form > fieldset > legend, .ac-etape > legend { width: 100%; margin-bottom: 16px; padding-bottom: 6px; border-bottom: 1px solid #e5e5e5; color: var(--ac-red); font-size: 18px; }
.ac-progress { font-size: 13px; color: var(--ac-muted); }
.ac-progress:empty { display: none; }
.ac-pro { margin-bottom: 20px; padding: 12px 16px; border: 1px solid #e5e5e5; }
.ac-pro p { margin: 0 0 4px !important; }
.ac-pro__label { font-size: 13px; color: var(--ac-muted); }
.ac-pro__name { font-size: 17px; font-weight: 700; }
.ac-readonly { margin-bottom: 16px; padding: 10px 16px; background: #f7f7f7; }
.ac-readonly p { margin: 0 0 4px !important; }
.ac-readonly span { display: inline-block; min-width: 260px; color: var(--ac-muted); }
.ac-instructions { margin: 12px 0; padding: 12px 16px; border: 1px solid #e5e5e5; background: #fafafa; }
.ac-instructions p { text-align: left !important; }

/* Demande de médiation : plus d'air, moins de gris, couleurs du site. */
.ac-form[data-kind="mediation"] { max-width: none; }
.ac-form[data-kind="mediation"] .ac-field input:not([type=date]):not([type=radio]):not([type=checkbox]),
.ac-form[data-kind="mediation"] .ac-field textarea,
.ac-form[data-kind="mediation"] .ac-upload { max-width: none; }
/* Indicateur d'étapes : pastilles numérotées reliées par une barre. */
.ac-progress { margin: 0 0 32px; }
.ac-progress__text { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.ac-stepper { display: grid; grid-auto-columns: minmax(0, 1fr); grid-auto-flow: column; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.ac-page-content .ac-stepper li, .ac-stepper__item { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; margin: 0; padding: 0; text-align: center; }
.ac-page-content .ac-stepper li::before { content: none; }
.ac-stepper__item::after { content: ""; position: absolute; top: 17px; right: 50%; width: 100%; height: 3px; background: #e5e5e5; }
.ac-stepper__item:first-child::after { content: none; }
.ac-stepper__item.is-done::after, .ac-stepper__item.is-current::after { background: var(--ac-red); }
.ac-stepper__dot { position: relative; z-index: 1; display: flex; width: 36px; height: 36px; box-sizing: border-box; align-items: center; justify-content: center; border: 2px solid #d6d6d6; border-radius: 50%; background: #fff; color: var(--ac-muted); font-size: 15px; font-weight: 700; line-height: 1; }
.ac-stepper__item.is-done .ac-stepper__dot { border-color: var(--ac-red); color: var(--ac-red); }
.ac-stepper__item.is-current .ac-stepper__dot { border-color: var(--ac-red); background: var(--ac-red); color: #fff; box-shadow: 0 0 0 5px #fbe5e5; }
.ac-stepper__label { max-width: 15em; color: var(--ac-muted); font-size: 13px; line-height: 1.3; }
.ac-stepper__item.is-done .ac-stepper__label { color: #3f3d39; }
.ac-stepper__item.is-current .ac-stepper__label { color: #3f3d39; font-weight: 700; }
@media (max-width: 600px) {
	.ac-stepper__label { display: none; }
}
.ac-form[data-kind="mediation"] .ac-etape > legend { margin-bottom: 22px; padding-bottom: 8px; border-bottom: 1px solid var(--ac-red); font-size: 20px; }
.ac-form[data-kind="mediation"] .ac-field { margin-bottom: 22px; }
.ac-form[data-kind="mediation"] .ac-pro { margin-bottom: 28px; padding: 10px 16px; border: 0; border-left: 3px solid var(--ac-red); border-radius: 0 4px 4px 0; background: #fcf4f4; }
.ac-form[data-kind="mediation"] .ac-pro__name { font-size: 19px; }
.ac-form[data-kind="mediation"] .ac-readonly { margin: 0 0 24px; padding: 0; background: none; }
.ac-form[data-kind="mediation"] .ac-readonly p { margin: 0 0 8px !important; }
.ac-form[data-kind="mediation"] .ac-radios { margin-bottom: 22px; }
.ac-form[data-kind="mediation"] .ac-choices { gap: 10px 28px; }
.ac-form[data-kind="mediation"] .ac-nav { margin-top: 32px; gap: 14px; }
/* Étape « Vos coordonnées » : deux colonnes pour mieux occuper l'espace. */
.ac-form[data-kind="mediation"] .ac-etape[data-step="2"] { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
.ac-form[data-kind="mediation"] .ac-etape[data-step="2"] > legend,
.ac-form[data-kind="mediation"] .ac-etape[data-step="2"] > .ac-nav,
.ac-form[data-kind="mediation"] .ac-etape[data-step="2"] > div:nth-of-type(5),
.ac-form[data-kind="mediation"] .ac-etape[data-step="2"] > div:nth-of-type(8) { grid-column: 1 / -1; }

@media (max-width: 780px) {
	.ac-search__fields { grid-template-columns: 1fr 1fr; }
	.ac-mediators__sector-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ac-table thead { display: none; }
	.ac-table, .ac-table tbody, .ac-table tr, .ac-table td { display: block; width: 100%; }
	.ac-table tr { padding: 10px 0; border-bottom: 1px solid #e5e5e5; }
	.ac-table td { padding: 2px 0; border: 0; }
	.ac-table td[data-label="Code postal"], .ac-table td[data-label="Ville"] { display: inline; }
	.ac-table td .ac-button { margin-top: 6px; }
	.ac-mediators__table tr { display: grid; grid-template-columns: minmax(0, 1fr) 72px; gap: 0 12px; }
	.ac-mediators__table td[data-label="Membre médiateur"], .ac-mediators__table td[data-label="Secteurs"] { grid-column: 1; }
	.ac-mediators__table td[data-label="Photo"] { grid-column: 2; grid-row: 1 / span 2; }
	.ac-readonly span { min-width: 0; display: block; }
	.ac-form[data-kind="mediation"] .ac-etape[data-step="2"] { grid-template-columns: 1fr; }
	.ac-form[data-kind="mediation"] .ac-etape[data-step="2"] > div { grid-column: 1 / -1; }
}

/* Convention deposit page: preserve the three original stages with clearer cards. */
.ac-form[data-kind="convention"] { max-width: 900px; margin: 0 auto 28px; }
.ac-form[data-kind="convention"] > .ac-convention-step {
	margin: 0 0 18px; padding: 0 18px 8px; border: 1px solid #dce1e7; border-radius: 9px;
	background: #fff; box-shadow: 0 2px 8px rgba(32, 48, 64, .05);
}
.ac-form[data-kind="convention"] > .ac-convention-step > legend {
	width: auto; max-width: 100%; margin: 0 0 14px; padding: 8px 12px; border: 0; border-radius: 5px;
	background: #cc0000; color: #fff; font-size: 16px; font-weight: 600; line-height: 1.35;
}
.ac-form[data-kind="convention"] .ac-convention-step--identity { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0 16px; }
.ac-form[data-kind="convention"] .ac-convention-step--identity > legend { grid-column: 1 / -1; }
.ac-form[data-kind="convention"] .ac-convention-step--identity > .ac-field:nth-of-type(1),
.ac-form[data-kind="convention"] .ac-convention-step--identity > .ac-field:nth-of-type(2) { grid-column: span 3; }
.ac-form[data-kind="convention"] .ac-convention-step--identity > .ac-field:nth-of-type(3) { grid-column: span 3; }
.ac-form[data-kind="convention"] .ac-convention-step--identity > .ac-field:nth-of-type(4) { grid-column: span 1; }
.ac-form[data-kind="convention"] .ac-convention-step--identity > .ac-field:nth-of-type(5) { grid-column: span 2; }
.ac-form[data-kind="convention"] .ac-convention-step--identity > .ac-field:nth-of-type(6) { grid-column: span 3; }
.ac-form[data-kind="convention"] .ac-convention-step--identity > .ac-field:nth-of-type(7) { grid-column: span 3; }
.ac-form[data-kind="convention"] .ac-field { margin: 0 0 15px; }
.ac-form[data-kind="convention"] .ac-field > label,
.ac-form[data-kind="convention"] .ac-radios > legend { margin-bottom: 6px; color: #454b52; font-size: 14px; font-weight: 600; }
.ac-form[data-kind="convention"] .ac-field input:is([type="text"], [type="email"], [type="date"]) {
	max-width: none; min-height: 43px; padding: 9px 11px; border-color: #cbd2db; border-radius: 5px; background: #fff;
}
.ac-form[data-kind="convention"] .ac-field input[type="date"] { max-width: 280px; }
.ac-form[data-kind="convention"] .ac-upload { --ac-upload: #436b8d; --ac-upload-tint: #f2f6fa; max-width: none; }
.ac-form[data-kind="convention"] .ac-field input:focus-visible { outline-color: #436b8d; border-color: #436b8d; }
.ac-form[data-kind="convention"] .ac-payment .ac-radios { margin-bottom: 12px; }
.ac-form[data-kind="convention"] .ac-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ac-form[data-kind="convention"] .ac-choice { align-items: center; min-height: 46px; padding: 10px 12px; border: 1px solid #dce1e7; border-radius: 6px; background: #fafbfd; }
.ac-form[data-kind="convention"] .ac-choice:hover { border-color: #436b8d; background: #f2f6fa; }
.ac-form[data-kind="convention"] .ac-choice input { margin: 0; accent-color: #436b8d; }
.ac-form[data-kind="convention"] .ac-instructions { border-color: #dce1e7; border-radius: 6px; background: #f5f7f9; }
.ac-form[data-kind="convention"] > p:last-child { margin: 20px 0 0; }
.ac-form[data-kind="convention"] .ac-button { padding: 11px 24px; border-color: #436b8d; border-radius: 5px; background: #436b8d; font-weight: 600; }
.ac-form[data-kind="convention"] .ac-button:hover { border-color: #35566f; background: #35566f; }

@media (max-width: 640px) {
	.ac-form[data-kind="convention"] > .ac-convention-step { padding-right: 13px; padding-left: 13px; }
	.ac-form[data-kind="convention"] .ac-convention-step--identity { grid-template-columns: 1fr 1fr; gap: 0 12px; }
	.ac-form[data-kind="convention"] .ac-convention-step--identity > .ac-field { grid-column: 1 / -1 !important; }
	.ac-form[data-kind="convention"] .ac-choices { grid-template-columns: 1fr; }
}

/* Convention model chooser */
.ac-convention-catalog { --ac-blue: #436b8d; max-width: 900px; margin: 20px auto; padding: 22px; border: 1px solid #dce1e7; border-radius: 9px; background: #fff; box-shadow: 0 2px 8px rgba(32, 48, 64, .05); }
.ac-convention-catalog [hidden] { display: none !important; }
.ac-catalog-intro { margin: 0 0 18px !important; text-align: left !important; }
.ac-catalog-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ac-convention-catalog .ac-field { margin: 0 0 16px; }
.ac-convention-catalog .ac-field label { display: block; margin-bottom: 6px; font-weight: 600; }
.ac-convention-catalog select { width: 100%; min-height: 46px; padding: 9px 34px 9px 11px; border: 1px solid #cbd2db; border-radius: 5px; background: #fff; color: inherit; font: inherit; }
.ac-convention-catalog select:focus-visible { outline: 2px solid var(--ac-blue); outline-offset: 1px; border-color: var(--ac-blue); }
.ac-convention-catalog select:disabled { color: #6f6a64; background: #f5f6f8; }
.ac-catalog-result { margin-top: 4px; padding: 16px; border-left: 4px solid #436b8d; border-radius: 0 6px 6px 0; background: #f3f6f9; }
.ac-catalog-result__label { margin: 0 0 12px !important; font-weight: 600; text-align: left !important; }
.ac-convention-catalog .ac-button { border-color: #436b8d; border-radius: 5px; background: #436b8d; font-weight: 600; }
.ac-convention-catalog .ac-button:hover { border-color: #35566f; background: #35566f; }
.ac-catalog-next { margin: 12px 0 0 !important; font-size: 14px; text-align: left !important; }
.ac-catalog-next a { color: #cc0000; font-weight: 600; }
.ac-catalog-unavailable { margin: 16px 0 0 !important; padding: 12px 14px; border-left: 3px solid #c98a00; border-radius: 0 5px 5px 0; background: #fff8e6; font-size: 14px; text-align: left !important; }
.ac-catalog-unavailable a { color: #cc0000; font-weight: 600; }

@media (max-width: 640px) {
	.ac-convention-catalog { padding: 16px; }
	.ac-catalog-fields { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 480px) {
	.ac-search__fields { grid-template-columns: 1fr; }
	.ac-mediators__sector-list { grid-template-columns: 1fr; }
}

/* Espace réservé réseau (fédérations / enseignes). */
.ac-convention { width: 100%; max-width: none; }
.ac-convention h2 { color: #cc0000; font-size: 20px; margin: 0 0 16px; }
.ac-convention__user { font-size: 14px; color: #6f6a64; margin: 0 0 20px !important; }
.ac-convention a { color: #cc0000; }
.ac-convention__intro { margin-bottom: 24px; }
.ac-convention__step { display: flex; align-items: baseline; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid #cc0000; }
.ac-convention__step span { color: #3f3d39; font-size: 19px; font-weight: 500; }
.ac-convention__choices { display: grid; gap: 0; }
.ac-convention__choice { padding: 16px 20px 18px; border: 1px solid #eadfdf; background: #fff; }
.ac-convention__choice h3 { margin: 0 0 6px; color: #cc0000; font-size: 20px; }
.ac-convention__choice p { margin: 0 0 10px; }
.ac-convention__choice--other { margin-top: 16px; background: #fafafa; }
.ac-convention__or { margin: 0 !important; padding: 8px 20px; color: #5a5550; font-size: 15px; font-weight: 700; }
.ac-convention__files { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.ac-page-content .ac-convention__files li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 0; padding: 8px 0; border-bottom: 1px solid #eee; }
.ac-page-content .ac-convention__files li::before { content: none; }
.ac-convention__files li:last-child { border-bottom: 0; }
.ac-convention__files a { font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.ac-convention__files a:hover { text-decoration: underline; }
.ac-convention__files a:focus-visible { outline: 2px solid #cc0000; outline-offset: 3px; }
.ac-convention__meta { font-size: 12px; color: #6f6a64; white-space: nowrap; }
.ac-mediator-documents { max-width: none; }
.ac-mediator-documents__intro { margin: 0 0 30px; }
.ac-mediator-documents__list-heading { display: grid; grid-template-columns: minmax(0, 1fr) 100px; gap: 18px; align-items: center; padding: 12px 22px; border-bottom: 1px solid #42afc2; color: #cc0000; font-size: 16px; }
.ac-mediator-documents__list-heading span:last-child { text-align: right; }
.ac-mediator-documents__files { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.ac-page-content .ac-mediator-documents__files li { display: grid; grid-template-columns: minmax(0, 1fr) 100px; gap: 18px; align-items: center; min-height: 78px; margin: 0; padding: 12px 22px; border-bottom: 1px solid #42afc2; background: #fff; }
.ac-page-content .ac-mediator-documents__files li:nth-child(even) { background: #eef5f6; }
.ac-page-content .ac-mediator-documents__files li::before { content: none; }
.ac-mediator-documents__link { display: flex; min-width: 0; align-items: center; gap: 18px; color: #cc0000; font-size: 16px; font-weight: 600; line-height: 1.4; text-decoration: none; }
.ac-mediator-documents__link:hover { text-decoration: underline; }
.ac-mediator-documents__icon { position: relative; display: flex; width: 36px; height: 44px; flex: 0 0 36px; align-items: flex-end; justify-content: center; padding-bottom: 5px; border: 1px solid #9aa8ac; border-radius: 2px; background: linear-gradient(135deg, transparent 0 9px, #fff 9px); box-shadow: 0 1px 2px rgba(0,0,0,.12); }
.ac-mediator-documents__icon::before { position: absolute; top: -1px; right: -1px; width: 10px; height: 10px; border-bottom: 1px solid #9aa8ac; border-left: 1px solid #9aa8ac; background: #eef5f6; content: ""; }
.ac-mediator-documents__icon span { max-width: 28px; padding: 2px 3px; background: #cc0000; color: #fff; font-size: 8px; font-weight: 700; line-height: 1; }
.ac-mediator-documents__name { min-width: 0; overflow-wrap: anywhere; }
.ac-mediator-documents__size { color: #4c5356; font-size: 15px; text-align: right; white-space: nowrap; }
.ac-mediator-documents__link:focus-visible { outline: 2px solid #cc0000; outline-offset: 4px; }
.ac-mediator-documents--login { max-width: 420px; }
.ac-mediator-documents__page-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "edit logout" "title title"; align-items: center; gap: 4px 16px; }
.ac-mediator-documents__edit-profile, .ac-mediator-documents__edit-placeholder { grid-area: edit; }
.ac-mediator-documents__edit-profile { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; gap: 8px; padding: 0 12px; border: 1px solid #e2caca; border-radius: 5px; color: #cc0000; font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap; transition: background-color .15s ease, color .15s ease; }
.ac-mediator-documents__edit-profile:hover { background: #fff3f3; color: #aa0000; text-decoration: none; }
.ac-mediator-documents__edit-profile svg { width: 17px; height: 17px; flex: 0 0 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.ac-mediator-documents__page-title { grid-area: title; min-width: 0; }
.ac-mediator-documents__page-title .ac-page-title { margin-bottom: 15px !important; }
.ac-mediator-documents__logout { display: inline-flex; grid-area: logout; min-height: 38px; align-items: center; justify-content: center; gap: 8px; padding: 0 12px; border: 1px solid #e2caca; border-radius: 5px; color: #cc0000; font-size: 13px; font-weight: 600; text-decoration: none; transition: background-color .15s ease, color .15s ease; }
.ac-mediator-documents__logout:hover { background: #cc0000; color: #fff; text-decoration: none; }
.ac-mediator-documents__logout svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.ac-mediator-documents__logout:focus-visible, .ac-mediator-documents__edit-profile:focus-visible { outline: 2px solid #cc0000; outline-offset: 3px; }
@media (max-width: 600px) {
	.ac-mediator-documents__page-heading { gap: 4px 12px; }
	.ac-mediator-documents__page-title .ac-page-title { margin-bottom: 15px !important; }
	.ac-mediator-documents__list-heading { grid-template-columns: minmax(0, 1fr) 65px; padding: 10px 12px; font-size: 14px; }
	.ac-page-content .ac-mediator-documents__files li { grid-template-columns: minmax(0, 1fr) 65px; gap: 10px; min-height: 68px; padding: 10px 12px; }
	.ac-mediator-documents__link { gap: 10px; font-size: 14px; }
	.ac-mediator-documents__icon { width: 30px; height: 38px; flex-basis: 30px; }
	.ac-mediator-documents__size { font-size: 13px; }
}
.ac-convention.ac-convention--login { box-sizing: border-box; width: 100%; max-width: 460px; margin: 24px auto; padding: 32px 32px 24px; border: 1px solid #e6e8eb; border-radius: 16px; background: #fff; text-align: center; }
.ac-convention.ac-convention--login h2 { margin: 0 0 6px !important; color: #25272b; font-size: 22px; font-weight: 600; text-align: center; }
.ac-convention--login > p { margin: 0 0 20px; color: #6b7079; text-align: center !important; }
@media (max-width: 640px) { .ac-convention.ac-convention--login { padding: 24px 18px 18px; } }

/* Login form, shared by /connexion/, the convention page and the pop-in of the logo grid.
   Compact fields: the label sits inside the field, the placeholder gives an example. */
.ac-login-form { --acl-red: #cc0000; --acl-field: #d5d9de; --acl-muted: #6b7079; --acl-ring: rgba(204, 0, 0, .14); }
.ac-login-form p { margin: 0 0 12px !important; text-align: left !important; }
.ac-login-form .ac-login-form__field { position: relative; }
.ac-login-form .ac-login-form__field > label { position: absolute; top: 1px; right: 14px; left: 1px; z-index: 1; display: block; margin: 0; padding: 9px 0 2px 14px; border-radius: 12px 12px 0 0; background: #fff; color: var(--acl-muted); font-size: 12px; font-weight: 600; line-height: 1.2; pointer-events: none; }
.ac-login-form .ac-login-form__field > input { box-sizing: border-box; width: 100%; min-height: 58px; margin: 0; padding: 27px 14px 9px; border: 1px solid var(--acl-field); border-radius: 12px; background: #fff; color: #25272b; font: inherit; font-size: 16px; line-height: 1.4; box-shadow: none; transition: border-color .15s ease, box-shadow .15s ease; }
.ac-login-form .ac-login-form__field > input::placeholder { color: #a2a7ae; opacity: 1; }
.ac-login-form .ac-login-form__field > input:hover { border-color: #b9bec5; }
.ac-login-form .ac-login-form__field > input:focus { border-color: var(--acl-red); outline: 0; box-shadow: 0 0 0 4px var(--acl-ring); }
.ac-login-form .ac-login-form__field:focus-within > label { color: var(--acl-red); }
.ac-login-form .ac-login-form__remember { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin: 4px 0 18px !important; font-size: 14px; }
.ac-login-form .ac-login-form__remember label { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-weight: 400; cursor: pointer; }
.ac-login-form__remember input { accent-color: var(--acl-red); }
.ac-login-form__remember a, .ac-login-form__actions a, .ac-login-denied__links a { color: var(--acl-red, #cc0000); text-decoration: none; }
.ac-login-form__remember a:hover, .ac-login-form__actions a:hover, .ac-login-denied__links a:hover { text-decoration: underline; }
.ac-login-form__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.ac-login-form .ac-button { display: inline-flex; flex: 1 1 auto; min-height: 50px; align-items: center; justify-content: center; padding: 10px 24px; border: 1px solid var(--acl-red); border-radius: 12px; background: var(--acl-red); color: #fff; font: inherit; font-weight: 600; cursor: pointer; transition: background-color .15s ease, border-color .15s ease; }
.ac-login-form .ac-button:hover { background: #aa0000; border-color: #aa0000; }
.ac-login-form .ac-button:focus-visible { outline: 0; box-shadow: 0 0 0 4px var(--acl-ring); }
.ac-login-form .ac-button[disabled] { opacity: .6; cursor: progress; }
.ac-login-form__error { padding: 12px 14px; border-radius: 12px; background: #fdf1f1; color: #a00000; font-size: 15px; font-weight: 600; }
.ac-login-denied__message { font-weight: 600; }
.ac-login-denied__links { display: flex; flex-wrap: wrap; gap: 8px 20px; }

/* Pages /connexion/, /mot-de-passe/, /se-deconnecter/ : carte centrée. */
.ac-auth { box-sizing: border-box; max-width: 460px; margin: 32px auto; padding: 36px 32px 28px; border: 1px solid #e6e8eb; border-radius: 16px; background: #fff; color: #25272b; }
.ac-auth > p { margin: 0 0 16px !important; text-align: left !important; }
.ac-auth__head { margin: 0 0 24px; text-align: center; }
.ac-auth__badge { display: flex; width: 56px; height: 56px; align-items: center; justify-content: center; margin: 0 auto 14px; border-radius: 16px; background: #fdf1f1; color: #cc0000; }
.ac-auth__badge svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ac-auth .ac-auth__head h2 { margin: 0 0 6px !important; padding: 0; border: 0; color: #25272b; font-size: 24px; font-weight: 600; line-height: 1.25; }
.ac-auth__head p { margin: 0 !important; color: #6b7079; font-size: 15px; text-align: center !important; }
.ac-auth__notice { padding: 14px 16px; border-radius: 12px; background: #ebf6ee; color: #1d5a2b; font-weight: 600; }
.ac-auth__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 20px; }
.ac-auth__links a { color: #cc0000; text-decoration: none; }
.ac-auth__links a:hover { text-decoration: underline; }
.ac-auth a.ac-button { display: flex; min-height: 50px; align-items: center; justify-content: center; padding: 10px 24px; border-radius: 12px; background: #cc0000; color: #fff !important; font-weight: 600; text-decoration: none; }
.ac-auth a.ac-button:hover { background: #aa0000; }
@media (max-width: 640px) {
	.ac-auth { margin: 20px auto; padding: 28px 18px 20px; border-radius: 14px; }
}

/* Pop-in. */
.ac-login-dialog { width: min(440px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0; border: 0; border-top: 4px solid #cc0000; border-radius: 6px; background: #fff; color: #3b3b3b; box-shadow: 0 18px 50px rgba(0, 0, 0, .25); }
.ac-login-dialog::backdrop { background: rgba(30, 30, 30, .55); }
.ac-login-dialog__box { position: relative; padding: 22px 24px 8px; }
.ac-login-dialog h2 { margin: 0 32px 4px 0; font-size: 22px; color: #cc0000; }
.ac-login-dialog__name { margin: 0 0 14px !important; font-weight: 700; }
.ac-login-dialog__name:empty { display: none; }
.ac-login-dialog__login > p:first-child { margin: 0 0 16px !important; color: #6f6a64; font-size: 14px; }
.ac-login-dialog__close { position: absolute; top: 10px; right: 12px; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: none; color: #3b3b3b; font-size: 26px; line-height: 1; cursor: pointer; }
.ac-login-dialog__close:hover { background: #f2f2f2; }
.ac-login-dialog__close:focus-visible { outline: 2px solid #cc0000; }
.ac-convention-catalogue__grid a[aria-busy="true"] { cursor: progress; opacity: .6; }
@media (max-width: 600px) {
	.ac-login-dialog { width: 100vw; max-width: none; height: 100%; max-height: none; margin: 0; border-radius: 0; }
}

.ac-convention__session { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 20px; padding: 12px 14px; border-left: 3px solid #cc0000; background: #f7f7f7; }
.ac-convention__session a { color: #cc0000; font-weight: 600; text-decoration: none; }
.ac-convention__session a:hover { text-decoration: underline; }
.ac-convention__after-files, .ac-convention__footer { margin-top: 28px; }
.ac-convention__footer > .ac-convention__step { margin-top: 32px; }
.ac-convention__footer > .ac-convention__step:first-child { margin-top: 0; }
.ac-convention__footer .ac-convention__choice ul { margin: 0 0 10px; }
.ac-convention__footer .ac-convention__choice > :last-child { margin-bottom: 0; }
.ac-convention__footer > hr { margin: 24px 0; border: 0; border-top: 1px solid #eadfdf; }
.ac-convention__footer ul, .ac-convention__after-files ul { margin: 0 0 16px !important; padding: 0 0 0 4px !important; list-style: none !important; }
.ac-convention__footer ul li, .ac-convention__after-files ul li { position: relative; margin: 0 0 6px; padding-left: 22px; list-style: none; }
.ac-convention__footer ul li::before, .ac-convention__after-files ul li::before { content: "" !important; position: absolute; top: .45em; left: 0; width: 10px; height: 10px; background: #cc0000; border-radius: 0; }
.ac-convention-catalogue__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 22px 18px; margin: 20px 0 !important; padding: 0 !important; list-style: none !important; }
.ac-page-content .ac-convention-catalogue__grid li { display: flex; min-width: 0; min-height: 130px; align-items: center; justify-content: center; margin: 0; padding: 12px; border: 1px solid #e5e5e5; background: #fff; }
.ac-page-content .ac-convention-catalogue__grid li::before { content: none; }
.ac-convention-catalogue__grid a { display: flex; width: 100%; height: 100%; flex-direction: column; align-items: center; justify-content: center; gap: 10px; color: #cc0000; font-weight: 600; text-align: center; text-decoration: none; }
.ac-convention-catalogue__grid a:hover { text-decoration: underline; }
.ac-convention-catalogue__grid img { display: block; width: auto; max-width: 100%; max-height: 84px; object-fit: contain; }
.ac-convention-catalogue__grid a:focus-visible { outline: 2px solid #cc0000; outline-offset: 3px; }
@media (max-width: 780px) { .ac-convention-catalogue__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) {
	.ac-convention__session { align-items: flex-start; flex-direction: column; }
	.ac-convention-catalogue__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}


/* Paiement par carte : badge du mode test. */
.ac-badge-test { display: inline-block; margin-left: 8px; padding: 2px 10px; border-radius: 999px; background: #fff3cd; color: #7a5a00; font-size: 12px; font-weight: 600; }

/* Demande de médiation : limite commune aux pièces jointes. */
.ac-files__limit { margin: 0 0 16px; padding: 10px 14px; border-radius: 8px; background: #f6f7f8; color: #3b3b3b; font-size: 14px; }
.ac-files__error { margin: 0 0 16px; }
