.jmseo-consent[hidden] { display: none !important; }
.jmseo-consent {
  box-sizing: border-box; position: fixed; inset: auto 1rem 1rem auto;
  width: min(34rem, calc(100% - 2rem)); max-height: calc(100dvh - 2rem);
  overflow: auto; z-index: 999999; padding: 1.25rem; border: 2px solid #263744;
  border-radius: .45rem; background: #fff; color: #172936;
  box-shadow: 0 6px 30px #0003; font: 400 1rem/1.5 system-ui, sans-serif;
  text-align: left;
}
.jmseo-consent .jmseo-consent__title { margin: 0 0 .6rem; font: 700 1.2rem/1.35 system-ui, sans-serif; color: #172936; }
.jmseo-consent .jmseo-consent__description, .jmseo-consent .jmseo-consent__details, .jmseo-consent .jmseo-consent__status { margin: .65rem 0; font: inherit; color: inherit; }
.jmseo-consent a { color: #064b7b; text-decoration: underline; }
.jmseo-consent .jmseo-consent__actions { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin-top: 1rem; }
.jmseo-consent .jmseo-consent__button {
  appearance: none; min-height: 48px; padding: .65rem .7rem; border: 2px solid #263744;
  border-radius: .25rem; background: #f4f6f7; color: #172936; cursor: pointer;
  font: 700 1rem/1.3 system-ui, sans-serif; text-align: center; box-shadow: none;
}
.jmseo-consent .jmseo-consent__button:hover { background: #e0e7eb; color: #172936; }
.jmseo-consent-preferences { margin: 1rem; text-align: center; }
.jmseo-consent-preferences .jmseo-consent-preferences__button {
  appearance: none; display: inline-block; min-height: 44px; padding: .5rem .75rem;
  border: 1px solid #445560; border-radius: .25rem; color: #172936; background: #fff;
  cursor: pointer; font: 400 .9rem/1.4 system-ui, sans-serif; text-decoration: underline;
}
.jmseo-consent :focus-visible, .jmseo-consent-preferences :focus-visible { outline: 3px solid #005ba6; outline-offset: 3px; }
@media (max-width: 380px) { .jmseo-consent .jmseo-consent__actions { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .jmseo-consent, .jmseo-consent * { scroll-behavior: auto; transition: none; } }
