.cn-consent[hidden] { display: none; }
.cn-consent { position: fixed; z-index: 1000; inset: auto 18px 18px; color: #15352b; }
.cn-consent__inner { position: relative; width: min(100%, 1120px); margin: 0 auto; padding: 24px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(210px, 310px); gap: 28px; align-items: center; border: 1px solid rgba(21,53,43,.18); border-radius: 20px; background: #fff; box-shadow: 0 24px 80px rgba(9,31,24,.25); }
.cn-consent__copy { min-width: 0; }
.cn-consent__eyebrow { margin: 0 0 5px; color: #47685d; font-size: 11px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.cn-consent h2 { margin: 0 38px 8px 0; color: #0c281f; font-size: clamp(1.25rem, 2.3vw, 1.75rem); line-height: 1.12; letter-spacing: -.03em; }
.cn-consent__copy > p:not(.cn-consent__eyebrow, .cn-consent__status) { max-width: 720px; margin: 0 0 8px; color: #47685d; font-size: 14px; line-height: 1.55; }
.cn-consent__copy > a { color: #15352b; font-size: 13px; font-weight: 800; text-underline-offset: 4px; }
.cn-consent__status { min-height: 19px; margin: 5px 0; color: #47685d; font-size: 12px; }
.cn-consent__actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
.cn-consent__actions button { width: 100%; min-height: 48px; padding: 9px 18px; border: 2px solid #15352b; border-radius: 9px; background: #15352b; color: #fff; font-weight: 850; cursor: pointer; }
.cn-consent__actions button + button { background: #fff; color: #15352b; }
.cn-consent__actions button:hover { transform: translateY(-1px); }
.cn-consent__close { position: absolute; top: 12px; right: 14px; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #15352b; font-size: 28px; line-height: 1; cursor: pointer; }
.cn-consent__close:hover { background: #f1f3ed; }
.cn-consent :where(a, button):focus-visible, .cn-consent-manage:focus-visible, .cn-privacy-consent-button:focus-visible { outline: 3px solid #97cc2e; outline-offset: 3px; }
.cn-consent-manage { min-height: 36px; padding: 0; border: 0; background: transparent; color: rgba(255,255,255,.78); font: inherit; font-size: 13px; text-align: left; cursor: pointer; }
.cn-consent-manage:hover { color: #bde34c; }
.cn-privacy-consent-button { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; font-weight: 750; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }

@media (max-width: 700px) {
  .cn-consent { inset: auto 10px 10px; }
  .cn-consent__inner { max-height: calc(100vh - 20px); overflow-y: auto; grid-template-columns: 1fr; gap: 17px; padding: 21px 18px 18px; border-radius: 16px; }
  .cn-consent h2 { font-size: 1.3rem; }
  .cn-consent__copy > p:not(.cn-consent__eyebrow, .cn-consent__status) { font-size: 13px; }
  .cn-consent__actions { grid-template-columns: 1fr 1fr; }
  .cn-consent__actions button { min-height: 52px; padding-inline: 10px; font-size: 13px; }
}

@media (max-width: 420px) {
  .cn-consent__actions { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .cn-consent__actions button { transform: none !important; }
}
