.cocottes-consent[hidden], .cocottes-consent-settings[hidden], .cocottes-consent-actions[hidden] { display: none !important; }
html.cocottes-consent-open { overflow: hidden; }
.cocottes-consent { position: fixed; inset: 0; z-index: 999999; display: grid; place-items: end center; padding: 24px; background: rgba(5, 20, 15, .55); backdrop-filter: blur(5px); }
.cocottes-consent-card { width: min(1040px, 100%); max-height: min(720px, calc(100vh - 48px)); overflow: auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 28px; align-items: center; padding: 28px; border: 1px solid rgba(212,170,59,.32); border-radius: 24px; background: #fffdf7; box-shadow: 0 24px 70px rgba(5,20,15,.28); }
.cocottes-consent-summary h2 { margin: 2px 0 8px; color: var(--forest, #0f3b2e); font-size: clamp(1.45rem, 3vw, 2rem); }
.cocottes-consent-summary p { margin: 0 0 9px; max-width: 700px; color: #35493f; }
.cocottes-consent-summary a { color: var(--forest, #0f3b2e); font-weight: 700; text-underline-offset: 3px; }
.cocottes-consent-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.cocottes-consent .button { min-height: 44px; border-radius: 999px; white-space: nowrap; }
.cocottes-consent .button.secondary { border: 1px solid #b8c3bd; background: #fff; color: var(--forest, #0f3b2e); }
.cocottes-consent-settings { grid-column: 1 / -1; display: grid; gap: 12px; padding-top: 20px; border-top: 1px solid #dedfd8; }
.cocottes-consent-choice { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 18px; border: 1px solid #dde3df; border-radius: 15px; background: #fff; }
.cocottes-consent-choice span { display: grid; gap: 3px; }
.cocottes-consent-choice small { color: #64736b; }
.cocottes-consent-choice input { width: 22px; height: 22px; accent-color: var(--forest, #0f3b2e); }
.cocottes-consent-choice.is-required { background: #f1f5f2; }
.footer-cookie-manage { appearance: none; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 760px) {
  .cocottes-consent { padding: 12px; }
  .cocottes-consent-card { grid-template-columns: 1fr; gap: 20px; padding: 20px; border-radius: 18px; }
  .cocottes-consent-actions { justify-content: stretch; }
  .cocottes-consent-actions .button { flex: 1 1 100%; }
}
