.consent-panel[hidden] { display: none; }

.consent-panel {
  position: fixed;
  z-index: 1000;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  left: max(1rem, env(safe-area-inset-left));
  width: min(720px, calc(100% - 2rem));
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 1.15rem 1.3rem;
  border: 1px solid #cfc9ba;
  border-radius: 18px;
  background: #fffdf7;
  color: #122033;
  box-shadow: 0 18px 50px rgba(18, 32, 51, 0.24);
  font: 400 0.95rem/1.5 "Manrope", "IBM Plex Sans", "Segoe UI", sans-serif;
}

.consent-copy { min-width: 0; }
.consent-title {
  margin: 0 0 0.25rem;
  color: #122033;
  font: 800 1.05rem/1.3 "Manrope", "IBM Plex Sans", "Segoe UI", sans-serif;
  letter-spacing: 0;
}
.consent-copy p { margin: 0 0 0.25rem; }
.consent-policy, .consent-settings {
  color: #075d51;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.consent-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 0.55rem; }
.consent-button {
  min-height: 44px;
  padding: 0.6rem 0.9rem;
  border-radius: 999px;
  border: 1px solid #075d51;
  cursor: pointer;
  font: 700 0.9rem/1.2 "Manrope", "IBM Plex Sans", "Segoe UI", sans-serif;
}
.consent-button-primary { color: #fff; background: #075d51; }
.consent-button-secondary { color: #075d51; background: #fff; }
.consent-button:hover { box-shadow: 0 3px 10px rgba(18, 32, 51, 0.16); }
.consent-settings {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-left: 0.35rem;
  padding: 0.35rem 0.5rem;
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
}
.consent-panel :focus-visible, .consent-settings:focus-visible {
  outline: 3px solid #a9461d;
  outline-offset: 3px;
}
@media (max-width: 600px) {
  .consent-panel { flex-direction: column; align-items: stretch; gap: 0.8rem; }
  .consent-actions { width: 100%; }
  .consent-button { flex: 1 1 8rem; }
}
