/**
 * Smart list of /projets (js/projects-list.js, owner 2026-11-10).
 * Mobile first; brand: navy #003a63, blue #0077be, yellow #f2c200.
 */
html.gpl-on #obp-list > .ob-filters, html.gpl-on #obp-list > .gc-gx__count, html.gpl-on #obp-list > .ob-projects, html.gpl-on #obp-list > .ob-em__pager, html.gpl-on #obp-list > .ob-empty { display: none !important; }
html.gpl-on #obp-list { display: block !important; }
.gpl { display: grid; gap: .75rem; min-width: 0; }
.gpl__bar { display: grid; gap: .6rem; padding: .75rem; border-radius: 16px; background: #fff; border: 1px solid rgba(0, 58, 99, .12); box-shadow: 0 2px 10px rgba(0, 58, 99, .05); }
@media (min-width: 768px) { .gpl__bar { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); align-items: end; } }
.gpl__search { position: relative; display: block; }
.gpl__search .fa-icon { position: absolute; left: .85rem; top: 50%; transform: translateY(-50%); color: #5f6672; }
.gpl__search input { width: 100%; min-height: 48px; padding: .6rem .9rem .6rem 2.4rem; border: 1px solid #c9d3dc; border-radius: 12px; font: inherit; font-size: 1rem; background: #f8fafc; }
.gpl__search input:focus { outline: 3px solid rgba(0, 119, 190, .35); outline-offset: 0; border-color: #0077be; background: #fff; }
.gpl__select { display: grid; gap: .2rem; font-size: .78rem; font-weight: 700; color: #4d6478; }
.gpl__select select { min-height: 48px; padding: .5rem .7rem; border: 1px solid #c9d3dc; border-radius: 12px; font: inherit; font-size: .95rem; font-weight: 400; color: #0b2a45; background: #fff; }
.gpl__chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.gpl__chips--scroll { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .25rem; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
@media (min-width: 1100px) { .gpl__chips--scroll { flex-wrap: wrap; overflow: visible; } }
.gpl-chip { --sc: #003a63; display: inline-flex; flex: none; align-items: center; gap: .35rem; min-height: 40px; padding: .35rem .8rem; border: 1px solid #d5dee6; border-radius: 999px; background: #fff; color: #0b2a45; font: inherit; font-size: .86rem; cursor: pointer; white-space: nowrap; }
.gpl-chip .fa-icon { color: var(--sc); }
.gpl-chip b { min-width: 1.4rem; padding: 0 .35rem; border-radius: 999px; background: #eef3f7; font-size: .75rem; text-align: center; }
.gpl-chip:hover, .gpl-chip:focus-visible { border-color: var(--sc); outline: 0; }
.gpl-chip[aria-pressed="true"] { border-color: var(--sc); background: var(--sc); color: #fff; }
.gpl-chip[aria-pressed="true"] .fa-icon { color: #fff; }
.gpl-chip[aria-pressed="true"] b { background: rgba(255, 255, 255, .25); }
.gpl-dot { display: inline-block; width: .6rem; height: .6rem; border-radius: 50%; background: #5f6672; }
.gpl-dot--g1 { background: #0077be; } .gpl-dot--g2 { background: #2e9e5b; } .gpl-dot--c1 { background: #eca327; } .gpl-dot--c2 { background: #c8102e; }
.gpl__count { margin: .25rem 0 0; color: #33475b; }
.gpl__count strong { color: #0b2a45; }
.gpl__count small { color: #5f6672; }
.gpl__reset { padding: 0; border: 0; background: none; color: #0077be; font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; }
.gpl__grid { display: grid; gap: .9rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 700px) { .gpl__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .gpl__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.gpl-card { --sc: #475569; min-width: 0; }
.gpl-card > a { position: relative; display: flex; flex-direction: column; gap: .55rem; height: 100%; padding: 1rem 1rem .9rem; border: 1px solid rgba(0, 58, 99, .12); border-top: 4px solid var(--sc); border-radius: 16px; background: #fff; color: #0b2a45; text-decoration: none; transition: box-shadow .15s, transform .15s; }
.gpl-card > a:hover, .gpl-card > a:focus-visible { box-shadow: 0 8px 24px rgba(0, 58, 99, .12); transform: translateY(-2px); outline: 0; }
.gpl-card > a:focus-visible { outline: 3px solid rgba(0, 119, 190, .45); }
.gpl-card__top { display: flex; align-items: center; gap: .5rem; min-width: 0; }
.gpl-card__icon { display: inline-grid; flex: none; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 12px; background: color-mix(in srgb, var(--sc) 12%, #fff); color: var(--sc); font-size: 1.05rem; }
.gpl-card__sector { flex: 1; min-width: 0; overflow: hidden; color: var(--sc); font-size: .74rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; text-overflow: ellipsis; white-space: nowrap; }
.gpl-status { flex: none; padding: .15rem .55rem; border-radius: 999px; background: #eef1f4; color: #4b5563; font-size: .72rem; font-weight: 800; }
.gpl-status--g1 { background: #e0f0fa; color: #005a90; }
.gpl-status--g2 { background: #e3f4ea; color: #1d6b3d; }
.gpl-status--c1 { background: #fff1d6; color: #8a5a00; }
.gpl-status--c2 { background: #fde4e7; color: #9b0c22; }
.gpl-card__title { display: -webkit-box; overflow: hidden; font-size: 1rem; line-height: 1.35; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.gpl-card__place { color: #4d6478; font-size: .84rem; }
.gpl-card__place .fa-icon { color: #c8102e; }
.gpl-card__money { display: flex; flex-wrap: wrap; align-items: baseline; gap: .2rem .5rem; margin-top: auto; }
.gpl-card__money b { font-family: var(--font-display, inherit); font-size: 1.2rem; color: #003a63; }
.gpl-card__money--none { color: #5f6672; font-size: .82rem; font-style: italic; }
.gpl-card__money small { color: #5f6672; font-size: .78rem; }
.gpl-card__progress { display: flex; align-items: center; gap: .5rem; font-weight: 700; font-size: .8rem; }
.gpl-card__bar { flex: 1; height: 8px; border-radius: 999px; background: #e8eef3; overflow: hidden; }
.gpl-card__bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #0077be, #2e9e5b); }
.gpl-card__foot { display: flex; flex-wrap: wrap; gap: .35rem .7rem; padding-top: .5rem; border-top: 1px solid #eef1f4; color: #5f6672; font-size: .78rem; }
.gpl-card__foot:empty { display: none; }
.gpl-card__foot .is-late { color: #c8102e; font-weight: 700; }
.gpl-tag { padding: .05rem .5rem; border-radius: 999px; background: #eef1f4; color: #4b5563; font-weight: 700; }
.gpl-tag--occ { background: #fde4e7; color: #9b0c22; }
.gpl__none { grid-column: 1 / -1; padding: 1.2rem; border: 1px dashed #c9cfd7; border-radius: 12px; background: #fafaf9; color: #4d6478; }
.gpl__more { margin: .5rem 0 0; text-align: center; }
.gpl__more .btn { min-height: 48px; min-width: 14rem; }
@media (prefers-reduced-motion: reduce) { .gpl-card > a { transition: none; } .gpl-card > a:hover { transform: none; } }
/* The projects page with the GovCheck brand (2026-11-11, owner): a tighter
   header: title, short introduction and « Signaler un projet » beside the
   results card; no badge, big icon nor « Voir les projets » (the list is
   right below). */
@media (min-width: 992px) {
  .mc2-hero .mc2-hero__inner { padding-block: 1.6rem 1.8rem !important; align-items: center; }
  .mc2-hero :is(.mc2-hero__meta, .svp-id__icon, .svp-btn--ghost) { display: none !important; }
  .mc2-hero .svp-hero__name { font-size: 2.4rem !important; }
  .mc2-hero .obp-hero__lead { max-width: 34rem; }
  .mc2-hero .obp-hero__ask { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; padding: .6rem .9rem !important; font-size: .9rem !important; }
}
/* No header on the projects page (2026-11-11, owner: « no hero »). */
html.gpl-on .mc2-hero { display: none !important; }
