:root {
  --blanc: #ffffff; --noir: #0a0a0a; --vert: #06b67a;
  --gris-doux: rgba(10, 10, 10, .62);
  --font-texte: "Manrope", "Inter", -apple-system, "Segoe UI", sans-serif;
}
.cc-voile { position: fixed; inset: 0; z-index: 249; background: rgba(10, 10, 10, .4); }
.cc .cc-btn { border: 0; cursor: pointer; font: 700 1rem var(--font-texte); line-height: 1.2; border-radius: 10px; text-align: center; transition: filter .15s ease; }
.cc .cc-btn:hover { filter: brightness(.97); }
.cc-acc { background: var(--vert); color: var(--blanc); }
.cc .cc-sec { background: var(--blanc); color: var(--noir); border: 1.5px solid #b0aeaa; }
.cc-perso-lien { background: none; border: 0; cursor: pointer; font: 500 .8rem var(--font-texte); color: var(--noir); text-decoration: underline; padding: 8px; }
.cc-refus-lien { background: none; border: 0; cursor: pointer; font: 500 .74rem var(--font-texte); color: var(--gris-doux); text-decoration: underline; }
.cc-perso { background: rgba(10, 10, 10, .04); border: 1px solid rgba(10, 10, 10, .1); border-radius: 10px; padding: 12px 14px; margin-top: 10px; text-align: left; }
.cc-perso[hidden] { display: none; }
.cc-perso .cc-ligne { display: flex; align-items: center; justify-content: space-between; font-size: .85rem; font-weight: 600; padding: 6px 0; }
.cc-inter { position: relative; width: 42px; height: 24px; border-radius: 999px; background: rgba(10, 10, 10, .18); border: 0; cursor: pointer; transition: background .2s; flex: none; }
.cc-inter i { position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: var(--blanc); transition: left .2s; }
.cc-inter.on { background: var(--vert); }
.cc-inter.on i { left: 21px; }
.cc-perso .cc-btn { margin-top: 8px; padding: 12px; font-size: .9rem; width: 100%; }
.cc-m { position: fixed; z-index: 250; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(94vw, 430px); max-height: 88vh; overflow: auto; background: var(--blanc); border-radius: 22px; box-shadow: 0 30px 90px -18px rgba(10, 10, 10, .6); text-align: center; animation: cc-entree .3s ease; }
.cc-haut { position: relative; padding: 40px 22px 24px; border-radius: 22px 22px 0 0; background: #efede6; }
.cc-refus-haut { position: absolute; top: 12px; right: 14px; }
.cc-ico { display: block; }
.cc-ico svg { width: 46px; height: 46px; display: block; margin: 0 auto; }
.cc-m-titre { font-size: 1.35rem; font-weight: 800; line-height: 1.25; margin-top: 10px; }
.cc-corps { padding: 22px 24px 4px; text-align: left; }
.cc-s b { display: block; font-size: .95rem; margin-bottom: 4px; }
.cc-s b::before { content: "●"; color: var(--noir); font-size: .55rem; margin-right: 8px; vertical-align: 2px; }
.cc-s p { font-size: .86rem; line-height: 1.6; color: #2a2a28; margin-bottom: 14px; }
.cc-s a { color: inherit; font-weight: 600; }
.cc-bas { padding: 8px 24px 24px; display: flex; flex-direction: column; gap: 6px; align-items: center; }
.cc-bas .cc-acc { width: 100%; padding: 18px 20px; font-size: 1.08rem; }
.cc-d { position: fixed; z-index: 250; left: 0; right: 0; bottom: 0; padding: 40px 5%; background: var(--blanc); border-top: 1px solid rgba(10, 10, 10, .08); box-shadow: 0 -14px 40px -22px rgba(10, 10, 10, .35); display: flex; align-items: center; gap: 40px; text-align: left; animation: cc-entree-pc .3s ease; }
.cc-d-texte { flex: 1; }
.cc-d-titre { font-size: 1.28rem; font-weight: 700; margin-bottom: 5px; }
.cc-d-p { font-size: 1rem; line-height: 1.6; color: #2a2a28; }
.cc-d-p a { color: inherit; }
.cc-d-boutons { flex: none; width: 300px; display: flex; flex-direction: column; gap: 10px; }
.cc-d-boutons .cc-btn { width: 100%; }
.cc-d-boutons .cc-btn { padding: 19px 20px; font-size: 1.02rem; }
@media (min-width: 721px) {
  .cc-m, .cc-voile { display: none; }
}
@media (max-width: 720px) {
  .cc-d { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .cc-m, .cc-d { animation: none; }
}
