.ep-consent { position: fixed; z-index: 9999; inset: auto 1rem 1rem auto; max-width: min(480px, calc(100vw - 2rem)); background: #1b1f16; color: #f5f2e8; border-radius: 14px; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .5); font-size: .9rem; line-height: 1.5; animation: ep-consent-in .5s cubic-bezier(.2, .7, .2, 1); }
.ep-consent[hidden] { display: none; }
@keyframes ep-consent-in { from { opacity: 0; transform: translateY(20px); } }
.ep-consent__inner { padding: 1.3rem 1.4rem; }
.ep-consent__title { margin: 0 0 .4rem; font-weight: 600; font-size: 1rem; }
.ep-consent__title::before { content: ""; display: inline-block; width: .6em; height: .6em; margin-right: .5em; border-radius: 50%; background: #a2c614; }
.ep-consent__text { margin: 0 0 1rem; color: #cfcbbf; }
.ep-consent a { color: #a2c614; }
.ep-consent__prefs { display: grid; gap: .7rem; margin: 0 0 1rem; padding: .9rem 0; border-block: 1px solid rgba(245, 242, 232, .15); }
.ep-consent__prefs[hidden] { display: none; }
.ep-consent__opt { display: grid; grid-template-columns: auto 1fr; gap: .7rem; align-items: start; cursor: pointer; color: #cfcbbf; }
.ep-consent__opt strong { color: #f5f2e8; }
.ep-consent__opt input { width: 1.35rem; height: 1.35rem; flex: none; margin-top: .2rem; accent-color: #a2c614; }
.ep-consent__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.ep-consent__btn { flex: 1 1 auto; font: inherit; font-weight: 600; font-size: .85rem; padding: .7rem 1rem; border-radius: 999px; border: 1px solid #f5f2e8; background: #f5f2e8; color: #1b1f16; cursor: pointer; transition: background-color .2s, color .2s, border-color .2s; }
.ep-consent__btn[hidden] { display: none; }
.ep-consent__btn:hover { background: #a2c614; border-color: #a2c614; color: #1b1f16; }
.ep-consent__btn--ghost { background: transparent; color: #f5f2e8; }
.ep-consent__btn:focus-visible { outline: 2px solid #a2c614; outline-offset: 2px; }
@media (max-width: 520px) { .ep-consent { inset: auto .5rem .5rem .5rem; max-width: none; } .ep-consent__btn { flex-basis: 100%; } }

/* Espace réservé des contenus externes bloqués */
.ep-gate { position: relative; }
.ep-gate__ph { display: grid; place-items: center; gap: .6rem; text-align: center; min-height: 220px; padding: 2rem 1.2rem; background: repeating-linear-gradient(135deg, rgba(27, 31, 22, .04) 0 12px, transparent 12px 24px), #ece7d8; border: 1px dashed rgba(27, 31, 22, .3); border-radius: 8px; color: #1b1f16; }
.ep-gate__ph p { margin: 0; max-width: 42ch; font-size: .9rem; }
.ep-gate__btn { font: inherit; font-weight: 600; font-size: .85rem; padding: .7rem 1.2rem; border-radius: 999px; border: 0; background: #1b1f16; color: #f5f2e8; cursor: pointer; }
.ep-gate__btn:hover { background: #a2c614; color: #1b1f16; }
.ep-gate__more { font-size: .8rem; color: inherit; }
/* Gestion des cookies : gras dans le vert du site (vert mousse sur fond encre). */
.ep-consent strong, .ep-consent b, .ep-consent__opt strong { color: #a2c614; }
.ep-consent__title { color: #a2c614; }
