/* ── components.css — règles partagées entre plusieurs pages ── */

/* ── Dégradé doré H1 ── */
.gold-gradient {
  background: linear-gradient(90deg, #f2efe9 0%, #f2efe9 10%, #d6b980 55%, #b8872a 80%, #c8912a 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  display: inline;
}

/* ── Situation list ── */
.sit-list { display:flex; flex-direction:column; gap:10px; margin-top:24px; max-width:700px; }
.sit-item { display:flex; align-items:flex-start; gap:14px; padding:14px 18px; background:var(--s2); border:1px solid var(--br); border-radius:10px; }
.sit-num { font-family:var(--ffm); font-size:.65rem; color:var(--amber); flex-shrink:0; margin-top:2px; letter-spacing:.05em; }
.sit-item p { font-size:.88rem; color:var(--t2); line-height:1.6; margin:0; }

/* ── Offer grid ── */
.offer-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; margin-top:24px; }
.offer-card { padding:18px 20px; background:var(--raised); border:1px solid var(--br); border-radius:12px; }
.offer-card h3 { font-family:var(--ffd); font-size:1rem; color:var(--t1); margin-bottom:8px; }
.offer-card p { font-size:.85rem; color:var(--t2); line-height:1.65; margin:0; }

/* ── Cert modules grid ── */
.cert-modules-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:10px; margin-top:24px; }
.cert-module-card { padding:16px 18px; background:var(--s2); border:1px solid var(--br); border-radius:10px; display:flex; gap:14px; align-items:flex-start; }
.cert-module-icon {
  width:34px; height:34px; border-radius:8px;
  background:rgba(200,145,42,.1); border:1px solid rgba(200,145,42,.25);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; font-size:.68rem; font-weight:700; color:#c8912a; font-family:var(--ffm);
}
.cert-module-info strong { display:block; font-size:.83rem; color:var(--t1); margin-bottom:3px; }
.cert-module-info span { font-family:var(--ffm); font-size:.63rem; color:var(--t3); line-height:1.4; display:block; }

/* ── Credib bar ── */
.credib-bar {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  padding:20px 28px;
  margin:18px auto 0;
  background:var(--s2);
  border:1px solid var(--br);
  border-radius:12px;
}

.credib-stat {
  text-align:center;
}

.credib-stat .val {
  font-family:var(--ffd);
  font-size:1.5rem;
  font-weight:800;
  color:var(--t1);
  line-height:1;
}

.credib-stat .lbl-s {
  font-family:var(--ffm);
  font-size:.58rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--t3);
  margin-top:4px;
}

.credib-sep {
  width:1px;
  align-self:stretch;
  background:var(--br);
  opacity:.5;
}

@media (max-width:640px) {
  .credib-bar {
    flex-wrap:wrap;
    gap:16px;
    padding:16px 18px;
  }
  .credib-sep {
    display:none;
  }
}

/* ── Check list ── */
.check-list { display:flex; flex-direction:column; gap:10px; margin-top:20px; }
.check-item { display:flex; align-items:flex-start; gap:12px; }
.check-icon {
  width:20px; height:20px; border-radius:50%;
  background:rgba(200,145,42,.12); border:1px solid rgba(200,145,42,.3);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; font-size:.6rem; color:var(--amber); margin-top:1px;
}
.check-item p { font-size:.87rem; color:var(--t2); line-height:1.65; margin:0; }

/* ── Grid 3 colonnes auto-fit ── */
.grid-3 { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; }

/* ── Card raised modifier ── */
.card--raised {
  background:var(--raised);
  border:1px solid var(--br);
  border-radius:12px;
  padding:24px;
  transition:border-color .2s;
}
.card--raised:hover { border-color:rgba(200,145,42,.35); }

/* ── Labels mono ── */
.mono-label {
  font-family:var(--ffm);
  font-size:.65rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--amber);
  margin-bottom:16px;
  display:block;
}
.section-label {
  font-family:var(--ffm);
  font-size:.65rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--amber);
  margin-bottom:12px;
  display:block;
}

/* ── FAQ ── */
.faq-list { display:flex; flex-direction:column; gap:1px; background:var(--b0); border-radius:12px; overflow:hidden; max-width:720px; margin-top:24px; }
.faq-item { background:var(--raised); }
.faq-item summary {
  padding:16px 22px; cursor:pointer; list-style:none;
  display:flex; justify-content:space-between; align-items:center; gap:12px;
  font-family:var(--ffd); font-size:.92rem; font-weight:600; color:var(--t1);
}
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary .ico { color:var(--amber); font-size:.9rem; flex-shrink:0; transition:transform .2s; }
details[open] .ico { transform:rotate(45deg); }
details[open] { background:var(--hover) !important; }
.faq-body { padding:0 22px 16px; color:var(--t2); font-size:.85rem; line-height:1.75; }
.faq-body p { margin:0; }
