/* ABLOGUI — appels : cartes (accueil et page des appels), page des appels, fiche et encadré de dépôt */

/* Cartes (reprises de la maquette d'accueil) */
.pb2-grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.pb2-carte { display: flex; flex-direction: column; gap: 14px; padding: 28px; border-radius: 24px; background: var(--_f); }
.pb2-carte h3 { font-size: var(--ab-fs-l); font-weight: 900; line-height: 1.25; }
.pb2-limite { margin-top: auto; padding-top: 14px; border-top: 2px dotted color-mix(in srgb, var(--_c) 40%, transparent); }
.pb2-limite small { display: block; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--_c); }
.pb2-limite b { font-size: 1.6rem; font-weight: 900; }
.pb2-carte .ab-pilule { align-self: flex-start; min-height: 42px; padding: 8px 18px; }
@media (max-width: 960px) {
  .pb2-grille { grid-template-columns: 1fr; }
}
.pb2-ref { font-family: ui-monospace, Menlo, monospace; font-size: 12px; color: var(--ab-texte-doux); }
.pb2-carte { position: relative; }
.pb2-actions { display: flex; align-items: center; gap: 10px; }
.pb2-actions .ab-pilule { flex: 1; justify-content: center; min-height: 44px; padding: 8px 18px; }
.pb2-carte.est-clos { background: var(--ab-papier); border: 1px solid var(--ab-ligne); }
.pb2-carte.est-clos .lx-pastille { background: var(--ab-texte-doux); }
.pb2-carte.est-clos h3 { color: var(--ab-texte-doux); }
.pb2-carte > .ab-annotation { top: -22px; right: 22px; }
.ab-section--papier .pb2-carte:not(.est-clos) { box-shadow: 0 1px 2px rgba(0,0,0,.03); }
.pb2-carte.c-k { --_f: #ecebe7; }
.pb2-carte.c-n { --_f: #e3e9ef; }

/* ------------------------------------------------------------------ */
/* Page des appels                                                     */
/* ------------------------------------------------------------------ */
.ap-filtres { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; list-style: none; padding: 0; }
.ap-filtres a { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 6px 16px; border: 1px solid var(--ab-ligne-forte); border-radius: 999px; background: var(--ab-blanc); font-size: var(--ab-fs-s); font-weight: 800; }
.ap-filtres a:hover { border-color: var(--ab-noir); }
.ap-filtres a[aria-current] { background: var(--ab-noir); border-color: var(--ab-noir); color: #fff; }
.ap-filtres small { font-weight: 700; opacity: .7; }
.ap-titre { display: flex; align-items: baseline; gap: 14px; margin-bottom: clamp(24px, 3vw, 40px); }
.ap-titre small { font-size: var(--ab-fs-s); font-weight: 700; color: var(--ab-texte-doux); letter-spacing: 0; }
.ap-vide { max-width: 640px; padding: 28px; border-radius: 24px; background: var(--ab-papier); }
.ap-vide b { display: block; font-size: var(--ab-fs-l); font-weight: 900; }
.ap-vide p { margin: 8px 0 18px; color: var(--ab-texte-doux); }

/* Appels clos : une ligne par appel */
.ap-clos { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--ab-noir); }
.ap-clos li { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: 6px 24px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--ab-ligne); }
.ap-clos time { font-size: var(--ab-fs-xs); font-weight: 800; color: var(--ab-texte-doux); }
.ap-clos .lx-pastille { margin-right: 10px; vertical-align: 2px; }
.ap-clos h3 { display: inline; font-size: 1.0625rem; font-weight: 900; line-height: 1.35; }
.ap-clos h3 a:hover { color: var(--ab-vert-texte); }
.ap-clos .pb2-ref { display: block; margin-top: 4px; }
.ap-clos__etat { font-size: var(--ab-fs-xs); font-weight: 800; white-space: nowrap; }
.ap-clos__etat a { color: var(--ab-vert-texte); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 700px) { .ap-clos li { grid-template-columns: 1fr; } }

/* ------------------------------------------------------------------ */
/* Fiche d'un appel                                                    */
/* ------------------------------------------------------------------ */
.ap-statut { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px; border-radius: 999px; font-size: 12px; font-weight: 800; }
.ap-statut::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.ap-statut--ouvert { background: #d9f1e6; color: var(--ab-vert-texte); }
.ap-statut--urgent { background: #fdf1cc; color: #7a5b00; }
.ap-statut--clos, .ap-statut--annule { background: #ecebe7; color: var(--ab-texte-doux); }
.ap-statut--resultats { background: #e3e9ef; color: var(--ab-bleu-nuit); }
.ap-fiche-tete .bi-doc__meta { gap: 8px 12px; }
.ap-fiche-tete h1.ab-t { margin-top: 16px; max-width: 24ch; font-size: var(--ab-fs-xl); line-height: 1.12; letter-spacing: -.02em; }

.ap-corps { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: clamp(32px, 5vw, 72px); align-items: start; }
@media (max-width: 1000px) { .ap-corps { grid-template-columns: 1fr; } .ap-corps > aside { order: -1; } }
.ap-docs { margin-top: clamp(32px, 4vw, 48px); }
.ap-docs h2, .ap-autres h2 { margin-bottom: 14px; font-size: var(--ab-fs-xs); font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.ap-docs ul { list-style: none; margin: 0; padding: 0; }
.ap-docs a { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 14px 16px; border: 1px solid var(--ab-ligne); border-radius: 14px; background: #fff; }
.ap-docs li + li { margin-top: 10px; }
.ap-docs a:hover { border-color: var(--ab-noir); }
.ap-docs a > svg { width: 28px; height: 28px; color: var(--ab-rouge); }
.ap-docs b { display: block; font-weight: 800; line-height: 1.3; }
.ap-docs small { font-size: var(--ab-fs-xs); font-weight: 700; color: var(--ab-texte-doux); }

/* Encadré « Déposer un dossier » */
.ap-depot { position: sticky; top: 120px; padding: 28px; border: 2px solid var(--ab-noir); border-radius: 24px; background: var(--ab-blanc); box-shadow: var(--ab-ombre); }
.ap-depot h2 { font-size: var(--ab-fs-l); font-weight: 900; line-height: 1.2; }
.ap-depot__echeance { display: flex; align-items: center; gap: 16px; margin: 18px 0; padding: 14px 16px; border-radius: 16px; background: var(--_f, #d9f1e6); }
.ap-depot__echeance b { font-family: var(--ab-script); font-size: 2.6rem; font-weight: 400; line-height: 1; color: var(--_c, var(--ab-vert-texte)); }
.ap-depot__echeance span { font-size: var(--ab-fs-s); font-weight: 700; line-height: 1.35; }
.ap-depot__adresse { display: flex; align-items: center; gap: 8px; padding: 10px 10px 10px 14px; border: 1px solid var(--ab-ligne-forte); border-radius: 12px; font-weight: 800; word-break: break-all; }
.ap-depot__adresse span { flex: 1; }
.ap-depot__adresse .ab-rond-ico { width: 38px; height: 38px; }
.ap-depot ul { margin: 16px 0 20px; padding-left: 1.2em; font-size: var(--ab-fs-s); color: var(--ab-texte-doux); }
.ap-depot li + li { margin-top: 6px; }
.ap-depot .ab-pilule { width: 100%; justify-content: center; }
.ap-depot .ab-pilule:hover svg { transform: none; }
.ap-depot__note { display: block; margin-top: 12px; font-size: var(--ab-fs-xs); color: var(--ab-texte-doux); }
.ap-depot--clos { border-color: var(--ab-ligne-forte); box-shadow: none; background: var(--ab-papier); }
.ap-depot p { margin-top: 10px; color: var(--ab-texte-doux); }
.ap-depot .ap-docs { margin-top: 18px; }
@media (max-width: 1000px) { .ap-depot { position: static; } }
.ap-autres { margin-top: clamp(48px, 6vw, 80px); }
.ap-depot__echeance b { flex: none; white-space: nowrap; }
.ap-corps .ab-prose h2 { font-size: var(--ab-fs-l); }
.ap-corps .ab-prose h3 { font-size: var(--ab-fs-m); }
.ab-page-tete .ap-fiche-tete h1.ab-t { max-width: 30ch; }
