.cookie-consent-banner[hidden],
.cookie-consent-manage[hidden],
.cookie-consent-preferences[hidden] { display: none !important; }

.cookie-consent-banner {
  position: fixed;
  z-index: 10000;
  inset: auto 20px 20px;
  max-width: 920px;
  margin-inline: auto;
  color: #20271f;
  background: #fff;
  border: 1px solid #dce4d8;
  border-top: 3px solid #1c9100;
  box-shadow: 0 14px 48px rgba(15, 33, 18, .22);
}

.cookie-consent-banner__inner { padding: 22px 26px 20px; }
.cookie-consent-banner__eyebrow { margin: 0 0 5px; color: #176f0a; font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.cookie-consent-banner h2 { margin: 0 0 8px; font: 700 20px/1.3 Manrope, 'DM Sans', Arial, sans-serif; letter-spacing: -.025em; }
.cookie-consent-banner__copy { max-width: 790px; margin: 0; color: #586157; font-size: 13px; line-height: 1.65; }
.cookie-consent-banner__copy a { color: #176f0a; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.cookie-consent-banner__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; margin-top: 17px; }
.cookie-consent-button { min-height: 42px; padding: 9px 15px; border: 1px solid #176f0a; border-radius: 2px; cursor: pointer; font: 700 12px/1.2 'DM Sans', Arial, sans-serif; }
.cookie-consent-button:focus-visible, .cookie-consent-manage:focus-visible, .cookie-consent-option input:focus-visible { outline: 3px solid #80c76c; outline-offset: 3px; }
.cookie-consent-button--secondary { color: #176f0a; background: #fff; }
.cookie-consent-button--primary { color: #fff; background: #1c9100; }
.cookie-consent-button:hover { filter: brightness(.96); }

.cookie-consent-preferences { margin-top: 17px; padding-top: 15px; border-top: 1px solid #e3e8df; }
.cookie-consent-preferences h3 { margin: 0 0 9px; font: 700 15px/1.4 Manrope, 'DM Sans', Arial, sans-serif; }
.cookie-consent-option { display: flex; align-items: flex-start; gap: 10px; padding: 9px 0; border-bottom: 1px solid #edf0ea; cursor: pointer; }
.cookie-consent-option input { flex: 0 0 auto; width: 17px; height: 17px; margin: 2px 0 0; accent-color: #1c9100; }
.cookie-consent-option span { display: grid; gap: 2px; }
.cookie-consent-option strong { font-size: 12px; }
.cookie-consent-option small { color: #697168; font-size: 11px; line-height: 1.5; }
.cookie-consent-banner__actions--preferences { margin-top: 13px; }

.cookie-consent-manage { position: fixed; z-index: 9999; right: 18px; bottom: 18px; min-height: 38px; padding: 8px 13px; border: 1px solid #176f0a; border-radius: 2px; color: #fff; background: #176f0a; box-shadow: 0 4px 16px rgba(15, 33, 18, .18); cursor: pointer; font: 700 11px/1.2 'DM Sans', Arial, sans-serif; }
.cookie-consent-manage:hover { background: #125c08; }

@media (max-width: 620px) {
  .cookie-consent-banner { inset: auto 10px 10px; max-height: min(86dvh, 680px); overflow-y: auto; }
  .cookie-consent-banner__inner { padding: 18px 16px 15px; }
  .cookie-consent-banner h2 { font-size: 18px; }
  .cookie-consent-banner__actions { display: grid; grid-template-columns: 1fr; gap: 7px; }
  .cookie-consent-button { width: 100%; min-height: 42px; }
  .cookie-consent-manage { right: 12px; bottom: 12px; }
}

@media (prefers-reduced-motion: no-preference) {
  .cookie-consent-banner { animation: cookie-consent-enter .18s ease-out both; }
  @keyframes cookie-consent-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
}
