.aeqj-submission-form { max-width: 1000px; }
.aeqj-form-section { border: 1px solid #dcdcde; border-radius: 8px; padding: 1rem 1.25rem 1.25rem; margin: 0 0 1.25rem; }
.aeqj-form-section legend { font-weight: 700; padding: 0 .4rem; }
.aeqj-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.25rem; }
.aeqj-form-grid p { margin: 0; }
.aeqj-form-grid label { display: block; font-weight: 600; margin-bottom: .35rem; }
.aeqj-form-grid input, .aeqj-form-grid select, .aeqj-form-grid textarea { box-sizing: border-box; width: 100%; max-width: 100%; }
.aeqj-field-full { grid-column: 1 / -1; }
.aeqj-consent { margin: 1.25rem 0; }
.aeqj-form-note, .aeqj-form-required { font-size: .95em; }
.aeqj-form-message { border-left: 4px solid currentColor; padding: .8rem 1rem; margin: 0 0 1.25rem; }
.aeqj-form-success { background: #edf7ed; color: #1e4620; }
.aeqj-form-error { background: #fdf0f0; color: #8a2424; }
.aeqj-hp { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.aeqj-directory, .aeqj-opportunity-detail, .aeqj-my-submissions { --aeqj-border:#d9dde3; --aeqj-muted:#5f6772; --aeqj-surface:#fff; --aeqj-soft:#f6f8fa; --aeqj-accent:#285c86; --aeqj-accent-dark:#1d4565; max-width: 1100px; }
.aeqj-filters { background: var(--aeqj-soft); border: 1px solid var(--aeqj-border); border-radius: 10px; padding: 1rem; margin: 0 0 1.25rem; }
.aeqj-filter-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem 1rem; }
.aeqj-filter-field label { display:block; font-weight:700; margin:0 0 .3rem; }
.aeqj-filter-field input, .aeqj-filter-field select { box-sizing:border-box; width:100%; min-height:42px; }
.aeqj-filter-actions { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:1rem; flex-wrap:wrap; }
.aeqj-checkbox { display:flex; gap:.45rem; align-items:center; }
.aeqj-checkbox input { margin:0; }
.aeqj-button { display:inline-block; border:0; border-radius:4px; background:var(--aeqj-accent); color:#fff !important; padding:.65rem 1rem; text-decoration:none !important; font-weight:700; cursor:pointer; line-height:1.25; }
.aeqj-button:hover, .aeqj-button:focus { background:var(--aeqj-accent-dark); color:#fff !important; }
.aeqj-button-secondary { background:#fff; color:var(--aeqj-accent) !important; border:1px solid var(--aeqj-accent); }
.aeqj-button-secondary:hover, .aeqj-button-secondary:focus { background:#edf4f9; color:var(--aeqj-accent-dark) !important; }
.aeqj-results-summary { margin:0 0 .8rem; font-weight:700; }
.aeqj-opportunity-list { display:grid; gap:1rem; }
.aeqj-opportunity-card { background:var(--aeqj-surface); border:1px solid var(--aeqj-border); border-radius:10px; padding:1.15rem 1.25rem; }
.aeqj-opportunity-card h3 { margin:.55rem 0 .25rem; font-size:1.25rem; }
.aeqj-opportunity-card h3 a { text-decoration:none; }
.aeqj-card-event, .aeqj-event-name { color:var(--aeqj-muted); margin:.2rem 0 .8rem; }
.aeqj-card-badges, .aeqj-detail-badges { display:flex; gap:.45rem; flex-wrap:wrap; }
.aeqj-badge { display:inline-block; border-radius:999px; background:#eaf1f7; color:#264d6b; font-size:.85rem; padding:.2rem .55rem; }
.aeqj-card-meta, .aeqj-detail-meta dl { margin:.8rem 0; display:grid; gap:.45rem; }
.aeqj-card-meta div, .aeqj-detail-meta dl div { display:grid; grid-template-columns:minmax(105px, 145px) 1fr; gap:.5rem; }
.aeqj-card-meta dt, .aeqj-detail-meta dt { font-weight:700; }
.aeqj-card-meta dd, .aeqj-detail-meta dd { margin:0; }
.aeqj-card-description { margin:.75rem 0; }
.aeqj-card-action { margin:1rem 0 0; }
.aeqj-empty-state, .aeqj-public-notice { border:1px solid var(--aeqj-border); border-left:4px solid var(--aeqj-accent); padding:1rem; background:#fff; }
.aeqj-public-notice-error { border-left-color:#b32d2e; background:#fff6f6; }
.aeqj-back { margin:0 0 1rem; }
.aeqj-detail-header { border-bottom:1px solid var(--aeqj-border); padding-bottom:.9rem; margin-bottom:1rem; }
.aeqj-detail-header h2 { margin:.5rem 0 .2rem; }
.aeqj-detail-grid { display:grid; grid-template-columns:minmax(0, 2fr) minmax(260px, 1fr); gap:1.5rem; }
.aeqj-detail-main h3 { margin:1.25rem 0 .35rem; }
.aeqj-detail-main h3:first-child { margin-top:0; }
.aeqj-detail-meta { background:var(--aeqj-soft); border:1px solid var(--aeqj-border); border-radius:10px; padding:1rem; align-self:start; }
.aeqj-detail-links { display:flex; gap:.6rem; flex-wrap:wrap; margin-top:1rem; }

@media (max-width: 800px) {
    .aeqj-filter-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .aeqj-detail-grid { grid-template-columns:1fr; }
}
@media (max-width: 700px) {
    .aeqj-form-grid, .aeqj-filter-grid { grid-template-columns:1fr; }
    .aeqj-field-full { grid-column:auto; }
    .aeqj-card-meta div, .aeqj-detail-meta dl div { grid-template-columns:1fr; gap:.1rem; }
}

/* Carte des occasions */
.aeqj-map-section { margin: 0 0 1.25rem; }
.aeqj-map-heading { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; flex-wrap:wrap; margin:0 0 .5rem; }
.aeqj-map-heading h3 { margin:0; }
.aeqj-map-note { color:var(--aeqj-muted); font-size:.9rem; }
.aeqj-map { width:100%; height:430px; border:1px solid var(--aeqj-border); border-radius:10px; overflow:hidden; background:#eef2f5; }
.aeqj-map-unavailable { border:1px dashed var(--aeqj-border); background:var(--aeqj-soft); border-radius:10px; padding:.85rem 1rem; margin:0 0 1.25rem; color:var(--aeqj-muted); }
.aeqj-map-unavailable p { margin:0; }
.aeqj-map-popup-title { display:block; font-size:1rem; margin-bottom:.2rem; }
.aeqj-map-popup-event, .aeqj-map-popup-meta { margin-top:.15rem; }
.aeqj-map-popup-event { color:#5f6772; }
.aeqj-map-popup-action { margin:.65rem 0 0; }
.aeqj-map-popup .aeqj-button { font-size:.9rem; padding:.45rem .7rem; }
.aeqj-detail-meta dd { overflow-wrap:anywhere; }

@media (max-width: 700px) {
    .aeqj-map { height:340px; }
}

/* Finitions UX 0.7.0 */
.aeqj-results-toolbar { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin:.9rem 0; flex-wrap:wrap; }
.aeqj-active-filters { display:flex; flex-wrap:wrap; gap:.45rem; margin:-.45rem 0 .9rem; }
.aeqj-filter-chip { display:inline-flex; align-items:center; border-radius:999px; background:#eef3f7; border:1px solid #d6e1e9; color:#294d68; padding:.3rem .65rem; font-size:.88rem; }
.aeqj-badge-open { background:#e8f5e9; color:#1f6b2b; }
.aeqj-section-heading { display:flex; align-items:center; gap:.6rem; margin-bottom:1rem; }
.aeqj-section-heading h2 { margin:0; }
.aeqj-count-pill { display:inline-flex; min-width:1.8rem; height:1.8rem; padding:0 .45rem; border-radius:999px; background:#eaf1f7; color:#264d6b; align-items:center; justify-content:center; font-weight:700; }
.aeqj-submission-list { display:grid; gap:.9rem; }
.aeqj-submission-card { background:#fff; border:1px solid var(--aeqj-border, #d9dde3); border-radius:10px; padding:1rem 1.15rem; }
.aeqj-submission-card-top { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; }
.aeqj-submission-status { display:inline-flex; align-items:center; border-radius:999px; padding:.22rem .55rem; font-size:.82rem; font-weight:700; white-space:nowrap; background:#eef1f4; color:#46515b; }
.aeqj-status-publie { background:#e8f5e9; color:#1f6b2b; }
.aeqj-status-a_valider { background:#fff3cd; color:#7a5a00; }
.aeqj-status-valide { background:#e8f1fb; color:#27527a; }
.aeqj-status-rejete, .aeqj-status-expire { background:#fbe9e9; color:#8a2424; }
.aeqj-map-popup-badges { display:flex; flex-wrap:wrap; gap:.3rem; margin-bottom:.35rem; }
.aeqj-map-popup-badge { display:inline-block; border-radius:999px; padding:.12rem .42rem; font-size:.76rem; background:#eaf1f7; color:#264d6b; }
.aeqj-map-popup-open { margin-top:.35rem; font-weight:700; color:#1f6b2b; }

@media (max-width: 700px) {
    .aeqj-submission-card-top { flex-direction:column; gap:.45rem; }
}

/* Filtres multisélection 0.8.0 */
.aeqj-filter-field-multiple { min-width:0; }
.aeqj-checkgroup { margin:0; padding:0; border:0; min-width:0; }
.aeqj-checkgroup legend { display:block; width:100%; font-weight:700; margin:0 0 .2rem; padding:0; }
.aeqj-filter-help { display:block; color:var(--aeqj-muted); font-size:.82rem; margin:0 0 .45rem; }
.aeqj-checkgroup-options { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:.3rem .55rem; max-height:220px; overflow:auto; padding:.55rem .65rem; border:1px solid var(--aeqj-border); border-radius:6px; background:#fff; }
.aeqj-filter-field .aeqj-check-option { display:flex; align-items:flex-start; gap:.42rem; margin:0; font-weight:400; line-height:1.25; cursor:pointer; }
.aeqj-filter-field .aeqj-check-option input { width:auto; min-height:0; margin:.12rem 0 0; flex:0 0 auto; }
.aeqj-filter-field .aeqj-check-option span { min-width:0; overflow-wrap:anywhere; }

@media (max-width: 950px) {
    .aeqj-checkgroup-options { grid-template-columns:1fr; }
}

/* 0.11.0 - images et signalement public */
.aeqj-card-image-link{display:flex;align-items:center;justify-content:center;margin:-1.15rem -1.25rem 1rem;overflow:hidden;border-radius:10px 10px 0 0;background:#f2f5f7;min-height:150px;height:clamp(165px,20vw,220px)}.aeqj-card-image{display:block;width:100%;height:100%;box-sizing:border-box}.aeqj-card-image.aeqj-image-mode-cover{object-fit:cover}.aeqj-card-image.aeqj-image-mode-contain{object-fit:contain;padding:14px}.aeqj-detail-image-wrap{display:flex;align-items:center;justify-content:center;margin:0 0 1.25rem;overflow:hidden;border-radius:10px;background:#f2f5f7;max-height:540px}.aeqj-detail-image{display:block;max-width:100%;box-sizing:border-box}.aeqj-detail-image.aeqj-image-mode-cover{width:100%;max-height:520px;aspect-ratio:16/9;object-fit:cover}.aeqj-detail-image.aeqj-image-mode-contain{width:auto;height:auto;max-height:520px;object-fit:contain;padding:18px}.aeqj-report-box{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--aeqj-border)}.aeqj-report-details>summary{list-style:none;width:max-content}.aeqj-report-details>summary::-webkit-details-marker{display:none}.aeqj-report-panel{margin-top:1rem;padding:1rem 1.15rem;border:1px solid var(--aeqj-border);border-radius:10px;background:var(--aeqj-soft)}.aeqj-report-panel h3{margin-top:0}.aeqj-report-panel form{margin-top:1rem}.aeqj-report-panel input[type=file]{width:100%}.aeqj-field-help{display:block;margin-top:.3rem;color:var(--aeqj-muted);font-size:.88rem}
@media(max-width:700px){.aeqj-card-image-link{height:165px}.aeqj-card-image.aeqj-image-mode-contain{padding:10px}.aeqj-detail-image.aeqj-image-mode-cover,.aeqj-detail-image.aeqj-image-mode-contain{max-height:360px}.aeqj-detail-image.aeqj-image-mode-contain{padding:10px}}

/* 0.11.3 - miniature recadree non destructive */
.aeqj-card-body{min-width:0}
.aeqj-card-image.aeqj-image-mode-thumbnail{object-fit:cover}
.aeqj-detail-image.aeqj-image-mode-thumbnail{width:auto;height:auto;max-height:520px;object-fit:contain;padding:18px}
.aeqj-opportunity-card.aeqj-card-layout-thumbnail{display:grid;grid-template-columns:240px minmax(0,1fr);gap:1.15rem;align-items:start}
.aeqj-card-layout-thumbnail .aeqj-card-image-link-thumbnail{margin:0;width:240px;height:160px;min-height:0;border-radius:8px;background:#f2f5f7}
.aeqj-card-layout-thumbnail .aeqj-card-image-link-thumbnail .aeqj-card-image{width:100%;height:100%;padding:0}
.aeqj-card-layout-thumbnail .aeqj-card-body h3{margin-top:.45rem}
@media(max-width:700px){
  .aeqj-opportunity-card.aeqj-card-layout-thumbnail{grid-template-columns:1fr;gap:.85rem}
  .aeqj-card-layout-thumbnail .aeqj-card-image-link-thumbnail{width:100%;height:180px;margin:0}
  .aeqj-detail-image.aeqj-image-mode-thumbnail{max-height:360px;padding:10px}
}

/* 0.12.0 - qualité de l'information et communication */
.aeqj-filter-search{margin:0 0 1rem}.aeqj-filter-search label{display:block;font-weight:700;margin:0 0 .35rem}.aeqj-filter-search-row input{box-sizing:border-box;width:100%;min-height:44px;padding:.55rem .7rem}.aeqj-badge-soon{background:#fff3cd;color:#765a00}.aeqj-badge-closed{background:#fbe9e9;color:#8a2424}.aeqj-badge-unknown{background:#eef1f4;color:#46515b}.aeqj-deadline-note{margin:.55rem 0;color:#765a00;font-weight:700}.aeqj-detail-image-wrap{flex-direction:column}.aeqj-detail-image-wrap figcaption{width:100%;box-sizing:border-box;padding:.35rem .65rem .55rem;color:var(--aeqj-muted);font-size:.85rem;text-align:right}.aeqj-share-box{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-top:1.25rem}.aeqj-share-status{font-size:.9rem;color:var(--aeqj-muted)}
