.consent-panel {
  position: fixed;
  z-index: 1000;
  right: 22px;
  bottom: 22px;
  width: min(520px, calc(100% - 32px));
  padding: 25px;
  border: 1px solid rgba(23, 62, 48, .18);
  border-radius: 18px;
  color: #262d28;
  background: #fffdf8;
  box-shadow: 0 20px 60px rgba(23, 62, 48, .2);
  font-family: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 14px;
  line-height: 1.55;
}

.consent-panel[hidden],
.consent-settings[hidden],
.consent-option[hidden],
.privacy-settings[hidden] { display: none !important; }

.consent-panel h2 { margin: 0 0 9px; color: #173e30; font-family: 'Playfair Display', Georgia, serif; font-size: 25px; font-weight: 500; }
.consent-panel p { margin: 0; color: #667068; }
.consent-panel a { color: #1e513c; font-weight: 700; text-underline-offset: 2px; }
.consent-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 19px; }
.consent-button {
  min-height: 42px;
  padding: 9px 15px;
  border: 1px solid #1e513c;
  border-radius: 999px;
  cursor: pointer;
  color: white;
  background: #1e513c;
  font: inherit;
  font-weight: 900;
}
.consent-button--secondary { color: #1e513c; background: transparent; }
.consent-button:hover { filter: brightness(.96); }
.consent-settings { display: grid; gap: 12px; margin-top: 19px; padding-top: 17px; border-top: 1px solid rgba(23, 62, 48, .15); }
.consent-option { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; }
.consent-option input { width: 18px; height: 18px; margin-top: 2px; accent-color: #1e513c; }
.consent-option strong { display: block; color: #173e30; }
.consent-option small { display: block; margin-top: 2px; color: #667068; font-size: 12px; }
.privacy-settings { padding: 0; border: 0; cursor: pointer; color: inherit; background: transparent; font: inherit; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 600px) {
  .consent-panel { right: 16px; bottom: 16px; padding: 21px; }
  .consent-actions { display: grid; }
  .consent-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .consent-panel *, .consent-panel *::before, .consent-panel *::after { transition-duration: .01ms !important; }
}
