/* =====================================================================
   MediContrat — Annonces (formulaire + liste)
   Charte unifiée « bleu MediContrat ». Préfixe .an-
   Palette : #0c4a6e / #0369a1 / #0284c7 · accents type : bleu/teal/ambre
   ===================================================================== */

:root{
  --an-primary:#0369a1;
  --an-primary-d:#0284c7;
  --an-primary-deep:#0c4a6e;
  --an-cyan:#0891b2;
  --an-amber:#b45309;
  --an-ink:#0f172a;
  --an-muted:#64748b;
  --an-line:#e2e8f0;
  --an-soft:#f0f9ff;
  --an-soft-border:#bae6fd;
  --an-bg:#f7f9fc;
}

/* ── Conteneur ─────────────────────────────────────────────────────── */
.an-page{max-width:860px;margin:0 auto;padding:24px 18px 72px}
/* Variante pleine largeur : la page occupe tout .mc-main (1320px) */
.an-page--wide{max-width:none;padding:0 0 48px}
.an-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--an-muted);text-decoration:none;margin-bottom:12px}
.an-back:hover{color:var(--an-primary)}
.an-h1{font-size:24px;font-weight:800;color:var(--an-ink);margin:0 0 4px;letter-spacing:-.01em}
.an-lead{font-size:14px;color:var(--an-muted);margin:0 0 22px;line-height:1.55}

/* ── Cartes ────────────────────────────────────────────────────────── */
.an-card{background:#fff;border:1px solid var(--an-line);border-radius:16px;
  padding:22px 22px 24px;margin-bottom:16px;box-shadow:0 2px 10px rgba(15,23,42,.04)}
.an-eyebrow{font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--an-primary);margin-bottom:16px}

/* ── Sélecteur de type ─────────────────────────────────────────────── */
.an-type-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.an-type-card{position:relative;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;
  background:#fff;border:1.5px solid var(--an-line);border-radius:14px;padding:14px 14px;
  font-family:inherit;transition:border-color .15s,box-shadow .15s,transform .1s}
.an-type-card:hover{border-color:var(--an-soft-border);transform:translateY(-1px)}
.an-type-card.on{border-color:var(--an-primary);box-shadow:0 0 0 3px rgba(3,105,161,.12)}
.an-type-ico{font-size:22px;line-height:1;flex-shrink:0}
.an-type-txt{display:flex;flex-direction:column;min-width:0}
.an-type-title{font-size:14px;font-weight:800;color:var(--an-ink)}
.an-type-sub{font-size:11.5px;color:var(--an-muted);line-height:1.3}
.an-type-check{position:absolute;top:8px;right:10px;width:18px;height:18px;border-radius:50%;
  background:var(--an-primary);color:#fff;font-size:11px;font-weight:800;display:none;
  align-items:center;justify-content:center;line-height:1}
.an-type-card.on .an-type-check{display:flex}

/* ── Champs ────────────────────────────────────────────────────────── */
.an-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.an-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.an-field.full{grid-column:1 / -1}
.an-label{font-size:12.5px;font-weight:700;color:#334155}
.an-req{color:#ef4444}
.an-input,.an-textarea,.an-select{width:100%;box-sizing:border-box;border:1.5px solid var(--an-line);
  border-radius:11px;padding:11px 13px;font-size:14px;font-family:inherit;color:var(--an-ink);
  background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}
.an-input:focus,.an-textarea:focus,.an-select:focus{border-color:var(--an-primary);box-shadow:0 0 0 3px rgba(3,105,161,.12)}
.an-textarea{min-height:120px;resize:vertical;line-height:1.55}
.an-select{appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;padding-right:36px;cursor:pointer}
.an-datepicker-multi,.an-datepicker{cursor:pointer;background-color:#fff}
.an-hint{font-size:11.5px;color:#94a3b8}
.an-type-block{display:none}

/* ── Barre d'actions ───────────────────────────────────────────────── */
.an-actions-bar{position:sticky;bottom:0;display:flex;gap:12px;flex-wrap:wrap;align-items:center;
  background:linear-gradient(180deg,rgba(246,247,251,0),var(--an-bg) 40%);
  padding:18px 0 6px;margin-top:8px}
.an-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;
  border:1.5px solid transparent;border-radius:12px;padding:12px 20px;font-size:14px;font-weight:800;
  font-family:inherit;text-decoration:none;transition:transform .1s,box-shadow .15s,background .15s}
.an-btn-primary{background:linear-gradient(135deg,var(--an-primary),var(--an-primary-d));color:#fff;
  box-shadow:0 6px 18px rgba(3,105,161,.28)}
.an-btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(3,105,161,.36)}
.an-btn-ghost{background:#fff;border-color:var(--an-line);color:#334155}
.an-btn-ghost:hover{background:#f8fafc}
.an-btn-lg{padding:13px 24px;font-size:14.5px}

/* ── Bandeau erreurs ───────────────────────────────────────────────── */
.an-errors{border:1px solid #fca5a5;background:#fef2f2;border-radius:12px;padding:13px 16px;margin-bottom:16px}
.an-errors ul{margin:0;padding-left:18px;color:#991b1b;font-size:13px}

/* =====================================================================
   LISTE DES ANNONCES
   ===================================================================== */
.an-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  background:linear-gradient(135deg,#0c4a6e 0%,#0369a1 55%,#0891b2 100%);
  border-radius:18px;padding:26px 30px;color:#fff;margin-bottom:20px;position:relative;overflow:hidden;
  box-shadow:0 12px 30px rgba(3,105,161,.22)}
.an-hero::after{content:"";position:absolute;right:-30px;top:-30px;width:170px;height:170px;
  background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%);border-radius:50%}
.an-hero-txt h1{margin:0 0 4px;font-size:22px;font-weight:800}
.an-hero-txt p{margin:0;font-size:13.5px;color:rgba(255,255,255,.88)}
.an-hero .an-btn{position:relative;z-index:1}
.an-hero .an-btn-white{background:#fff;color:var(--an-primary);box-shadow:0 6px 18px rgba(15,23,42,.18)}
.an-hero .an-btn-white:hover{transform:translateY(-1px)}
.an-hero-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.an-hero-stat{font-size:12px;font-weight:600;color:rgba(255,255,255,.9);background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.25);border-radius:100px;padding:5px 13px}
.an-hero-stat strong{font-weight:800;color:#fff}
.an-hero-stat--new{background:rgba(255,255,255,.92);color:#0369a1;border-color:#fff}
.an-hero-stat--new strong{color:#0369a1}

.an-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.an-filter{font-size:12.5px;font-weight:700;text-decoration:none;border-radius:100px;padding:7px 15px;
  border:1.5px solid var(--an-line);color:#475569;background:#fff;transition:all .15s}
.an-filter:hover{border-color:var(--an-soft-border)}
.an-filter.on{background:var(--an-primary);border-color:var(--an-primary);color:#fff}

.an-list{display:flex;flex-direction:column;gap:14px}
/* Variante grille : cartes réparties sur la largeur */
.an-list--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(440px,1fr));gap:14px}
.an-list--grid .an-item{display:flex;flex-direction:column}
.an-list--grid .an-actions{margin-top:auto;padding-top:14px}
.an-list--grid .an-badges,.an-list--grid .an-title,.an-list--grid .an-meta{flex-shrink:0}
@media(max-width:640px){.an-list--grid{grid-template-columns:1fr}}
.an-item{position:relative;background:#fff;border:1px solid var(--an-line);border-radius:16px;
  padding:18px 20px 16px 22px;box-shadow:0 2px 10px rgba(15,23,42,.04);transition:box-shadow .15s,transform .1s}
.an-item:hover{box-shadow:0 8px 24px rgba(15,23,42,.08);transform:translateY(-1px)}
.an-item::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:0 4px 4px 0;
  background:var(--an-accent,#0369a1)}
.an-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px;align-items:center}
.an-badge{font-size:11px;font-weight:800;border-radius:100px;padding:4px 11px;color:#fff;letter-spacing:.01em}
.an-badge-statut{font-size:11px;font-weight:700;border-radius:100px;padding:4px 11px}
.an-title{font-size:16.5px;font-weight:800;color:var(--an-ink);margin:0 0 2px}
.an-meta{font-size:13px;color:var(--an-muted);display:flex;gap:16px;flex-wrap:wrap;margin-top:8px}
.an-meta span{display:inline-flex;align-items:center;gap:5px}
.an-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid #f1f5f9}
.an-a{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;text-decoration:none;
  border-radius:9px;padding:8px 13px;border:1.5px solid var(--an-line);color:#334155;background:#fff;transition:all .15s;cursor:pointer}
.an-a:hover{background:#f8fafc;border-color:#cbd5e1}
.an-a-danger{color:#b91c1c;border-color:#fecaca}
.an-a-danger:hover{background:#fef2f2;border-color:#fca5a5}

.an-empty{text-align:center;padding:64px 24px;border:1.5px dashed #cbd5e1;border-radius:18px;background:#fff}
.an-empty-ico{font-size:40px;margin-bottom:12px}
.an-empty p{margin:0 0 18px;color:#94a3b8;font-size:14px}

/* ── Accent flatpickr ──────────────────────────────────────────────── */
.flatpickr-day.selected,.flatpickr-day.selected:hover{background:var(--an-primary);border-color:var(--an-primary)}
.flatpickr-day.today{border-color:var(--an-primary)}
.flatpickr-months .flatpickr-month{color:var(--an-primary)}

/* ── Responsive ────────────────────────────────────────────────────── */
@media (max-width:640px){
  .an-page{padding:18px 14px 64px}
  .an-card{padding:18px 16px}
  .an-grid{grid-template-columns:1fr}
  .an-type-cards{grid-template-columns:1fr}
  .an-type-card{padding:13px 14px}
  .an-hero{padding:20px 18px}
  .an-hero-txt h1{font-size:20px}
  .an-actions-bar .an-btn{flex:1 1 100%}
  .an-h1{font-size:21px}
}