/* Ajustements téléphone/tablette ; le thème desktop reste inchangé. */
@media (max-width:900px) {
  .campaign-page .impact-badges-bar {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(116px,1fr));
    gap:12px;
    margin:18px 0 24px;
  }
  .campaign-page .impact-badge { width:auto; max-width:none; padding:12px 10px; }
  .campaign-page .impact-badge-icon { width:52px; height:52px; margin-bottom:8px; }
  .campaign-page .impact-badge-label { font-size:13px; }
  .campaign-page .impact-badge-amount { font-size:14px; }
  .campaign-page .goals-outline .kpi-goal { padding:16px; margin:6px 0; }
  .campaign-page .kpi-row { padding:8px 0 12px; gap:12px; }
  .campaign-page .kpi-progress { margin-top:12px; }
}
@media (max-width:600px) {
  body:is(.home-page,.campaign-page) .olami-public-header {
    flex-wrap:nowrap;
    align-items:center;
    gap:12px;
    padding:10px 14px;
  }
  body:is(.home-page,.campaign-page) .olami-public-header nav {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:6px;
    justify-items:end;
    flex:1;
    min-width:0;
  }
  body:is(.home-page,.campaign-page) .olami-public-header .public-account-links {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    max-width:100%;
  }
  body:is(.home-page,.campaign-page) .olami-public-header nav :is(.header-login,.header-register) {
    min-width:0;
    min-height:44px;
    padding:10px;
  }
  body:is(.home-page,.campaign-page) .olami-public-header .lang-switcher__btn {
    min-height:44px;
    padding:6px 9px;
  }
  body.home-page .home-hero { padding:24px 0 28px; }
  .home-page .home-hero .section-eyebrow {
    margin:0 0 12px;
    font-size:11px;
    letter-spacing:.07em;
  }
  .home-page .home-hero h1 {
    margin:0 0 16px;
    font-size:clamp(28px,7vw,32px);
    line-height:1.18;
  }
  .home-page .home-lead { font-size:16px; line-height:1.5; }
  .home-page .home-actions { margin-top:20px; gap:10px; }
  .home-page .home-actions .home-secondary { width:100%; justify-content:center; }
  .home-page .home-section { margin-bottom:32px; }
  .home-page .home-section-heading { margin-bottom:16px; }
  .home-page .home-section-heading h2 { font-size:24px; }
  .home-page .campaign-card { padding:20px; gap:12px; }
  .home-page .campaign-card h3 { margin:0; font-size:20px; }
  .home-page .campaign-card-description { margin:0; }
  .home-page .campaign-card-date { margin:0; }
  .home-page .campaign-card .button { min-height:44px; }
  .campaign-page .goals-outline { padding:10px; }
  .campaign-page .goals-outline .kpi-goal { padding:12px 10px; }
  .campaign-page .kpi-title { font-size:16px; }
  .campaign-page .kpi-main { font-size:clamp(24px,7vw,32px); overflow-wrap:anywhere; }
  .campaign-page .kpi-donors { font-size:30px; }
  .campaign-page :is(.kpi-sub,.kpi-donors-label) { font-size:14px; }
  .campaign-page .kpi-days-wrap { flex-direction:column; gap:6px; }
  .campaign-page .time-ring { width:52px; height:52px; flex-basis:52px; }
  .campaign-page .impact-badges-bar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .campaign-page .impact-badge { padding:12px 10px; }
}
