/* Deliberately scoped: no changes to the theme or existing article typography. */
.pm-consent, .pm-consent *, .pm-consent-open, .pm-embed-placeholder { box-sizing: border-box; }
.pm-consent { color: #20262d; background: #fff; border: 1px solid #c8cdd1; font: 16px/1.5 system-ui, sans-serif; text-align: left; }
.pm-consent [hidden], .pm-consent[hidden] { display: none !important; }
.pm-consent h2 { font: 700 22px/1.25 system-ui, sans-serif; color: #20262d; margin: 0 0 12px; letter-spacing: normal; text-transform: none; }
.pm-consent p { font: inherit; margin: 0 0 16px; color: inherit; }
.pm-consent a { color: #14636a; text-decoration: underline; }
#pm-consent-banner { position: fixed; z-index: 2147483000; left: 20px; bottom: 20px; width: min(660px, calc(100% - 40px)); max-height: calc(100dvh - 40px); overflow: auto; padding: 24px; box-shadow: 0 6px 28px #0002; }
.pm-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.pm-consent button, .pm-consent-open, .pm-embed-placeholder { font: 600 15px/1.35 system-ui, sans-serif; border-radius: 3px; padding: 12px 16px; min-height: 44px; cursor: pointer; border: 1px solid #14636a; background: #14636a; color: #fff; text-shadow: none; box-shadow: none; text-transform: none; letter-spacing: normal; }
.pm-actions button { flex: 1 1 auto; }
.pm-consent button:hover, .pm-consent-open:hover { background: #0e4950; color: #fff; }
.pm-consent button:focus-visible, .pm-consent input:focus-visible, .pm-consent a:focus-visible, .pm-consent-open:focus-visible, .pm-embed-placeholder:focus-visible { outline: 3px solid #bd5a0a; outline-offset: 3px; }
.pm-consent .pm-legal { font-size: 13px; margin: 14px 0 0; }
.pm-consent-open { position: fixed; z-index: 2147482000; bottom: 0; left: 12px; padding: 10px 14px; background: #fff; color: #14636a; border-bottom: 0; border-radius: 3px 3px 0 0; }
#pm-consent-open, #pm-consent-dialog, #pm-consent-banner { transform: none !important; animation: none !important; transition: none !important; }
#pm-consent-open { z-index: 2147483647; }
#pm-consent-dialog { width: min(760px, calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: 24px; margin: auto; overflow: auto; }
#pm-consent-dialog::backdrop { background: #111a; }
.pm-dialog-head { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.pm-consent .pm-close { padding: 4px 10px; min-width: 44px; font-size: 28px; line-height: 1; background: #fff; color: #14636a; }
.pm-purpose { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 0; border-top: 1px solid #d8dde0; cursor: pointer; font-weight: 400; }
.pm-purpose strong, .pm-purpose span span { display: block; }
.pm-purpose span span, .pm-purpose p { font-size: 14px; margin: 4px 0 0; }
.pm-purpose input { flex-shrink: 0; width: 24px; height: 24px; accent-color: #14636a; margin: 10px; cursor: pointer; }
.pm-required { display: block; cursor: default; }
.pm-consent .pm-note { font-size: 14px; padding: 12px; background: #f1f4f5; }
.pm-embed-placeholder { display: block; width: 100%; padding: 24px; margin: 12px 0; background: #f1f4f5; color: #14636a; }
.pm-noscript { padding: 16px; background: #fff; color: #222; }
@media (max-width: 520px) {
  #pm-consent-banner { left: 8px; bottom: 8px; width: calc(100% - 16px); padding: 18px; max-height: calc(100dvh - 16px); }
  #pm-consent-dialog { padding: 18px; width: calc(100% - 16px); max-height: calc(100dvh - 16px); }
  .pm-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .pm-actions button:last-child { grid-column: 1 / -1; }
  .pm-purpose { gap: 8px; }
}
