

    /* Nav */

    /* Page */
    .page-header{padding:80px 48px 48px}
    .page-header h1{font-family:var(--font-display);font-size:clamp(36px,5vw,64px);font-weight:700;letter-spacing:-.02em;margin-bottom:16px}
    .page-header p{font-size:clamp(16px,1.2vw,20px);color:var(--muted-color);max-width:65ch}

    /* Search */
    .search-section{padding:24px 48px 48px}
    .search-form{display:flex;gap:12px;margin-bottom:24px}
    .search-input{flex:1;padding:14px 20px;border:1px solid var(--border-color);background:transparent;color:var(--text-color);font-size:18px;font-family:var(--font-body);outline:none}
    .search-input:focus{border-color:var(--accent-color)}
    .search-btn{padding:14px 28px;border:1px solid var(--accent-color);background:var(--accent-color);color:var(--bg-color);font-size:16px;font-family:var(--font-display);white-space:nowrap}
    .search-btn:disabled{opacity:.5;cursor:not-allowed}

    /* Filters */
    .filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;font-family:var(--font-display)}
    .filter-label{font-size:13px;font-weight:600;color:var(--muted-color);margin-right:4px}
    .chip{padding:4px 12px;border:1px solid var(--border-color);background:transparent;color:var(--text-color);font-size:13px;font-family:var(--font-display);cursor:pointer;transition:all .15s}
    .chip:hover{opacity:.7}
    .chip.active{background:var(--accent-color);color:var(--bg-color);border-color:var(--accent-color)}

    /* Results */
    .results{padding:0 48px 48px;display:flex;flex-direction:column;gap:16px}
    .result-count{font-family:var(--font-display);font-size:14px;color:var(--muted-color);margin-bottom:8px}
    .article-card{border:1px solid var(--border-color);padding:24px}
    .article-title{font-family:var(--font-display);font-size:18px;font-weight:600;line-height:1.35;margin-bottom:8px}
    .article-meta{font-family:var(--font-display);font-size:13px;color:var(--muted-color);margin-bottom:12px}
    .article-abstract{font-size:15px;line-height:1.6;color:var(--muted-color);margin-bottom:12px;display:none}
    .article-abstract.open{display:block}
    .article-abstract-full{margin-top:8px;padding:16px;border-left:3px solid var(--border-color);font-size:15px;line-height:1.6}
    .article-abstract-full p{margin:0 0 8px}
    .article-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
    .action-btn{padding:6px 14px;border:1px solid var(--border-color);background:transparent;color:var(--text-color);font-size:13px;font-family:var(--font-display);cursor:pointer;text-decoration:none;display:inline-block}
    .action-btn:hover{opacity:.7;border-bottom:1px solid var(--border-color)}
    .action-btn.primary{border-color:var(--accent-color);background:var(--accent-color);color:var(--bg-color)}
    .load-more{width:100%;padding:14px;border:1px dashed var(--border-color);background:transparent;color:var(--text-color);font-size:16px;font-family:var(--font-display);cursor:pointer;margin-top:8px}
    .load-more:disabled{opacity:.5;cursor:not-allowed}

    /* Loading skeleton */
    .skeleton{background:var(--border-color);border-radius:2px;animation:pulse 1.5s infinite}
    .skeleton-title{height:20px;width:80%;margin-bottom:8px}
    .skeleton-text{height:14px;width:60%;margin-bottom:6px}
    @keyframes pulse{0%,100%{opacity:.4}50%{opacity:.8}}

    /* Empty state */
    .empty-state{text-align:center;padding:80px 48px;color:var(--muted-color);font-size:18px}

    /* Footer */
    footer{border-top:1px solid var(--border-color);padding:48px;font-family:var(--font-display);font-size:13px;color:var(--muted-color);text-align:center}
    footer a{color:var(--muted-color);border-bottom:none;margin:0 12px}
    footer a:hover{color:var(--text-color);opacity:1}

    @media(max-width:768px){
      .container{padding:0 24px}
      .page-header,.search-section,.results{padding-left:24px;padding-right:24px}
      .search-form{flex-direction:column}
      .nav-center{display:none}
    }

/* Contenu éditorial — enrichissement page */
.pm-content { max-width: 1100px; margin: 48px auto 0; padding: 0 48px; }
.pm-content-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}
.pm-content .info-card { padding: 24px 26px; }
.pm-content .info-card h2 { font-size: 1.1rem; margin: 0 0 10px; }
.pm-content .info-card h3 { font-size: 1rem; margin: 0 0 8px; }
.pm-content .info-card p { margin: 0; line-height: 1.6; color: var(--muted-color, #555); }
.pm-faq { margin-top: 32px; display: grid; gap: 16px; }
.pm-faq > h2 { font-size: 1.25rem; margin: 8px 0; }
@media (max-width: 768px) {
  .pm-content { padding: 0 24px; }
}
