#pfa-consent,
#pfa-consent *,
#pfa-consent *::before,
#pfa-consent *::after { box-sizing: border-box; }

#pfa-consent[hidden],
#pfa-consent [hidden] { display: none !important; }

a[data-pfa-consent-open][hidden],
a[href="#pfa-consent"][hidden] { display: none !important; }

#pfa-consent {
  --pfa-ink: #20262e;
  --pfa-muted: #59636f;
  --pfa-border: #d9dde2;
  --pfa-surface: #fff;
  --pfa-page: #f7f8fa;
  --pfa-blue: #123bc5;
  --pfa-blue-hover: #0d31ad;
  color: var(--pfa-ink);
  font: 16px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  position: fixed;
  z-index: 99999;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  width: min(360px, calc(100vw - 24px));
  max-height: calc(100dvh - 24px);
}

#pfa-consent[data-compact-position="bottom_left"] {
  left: max(18px, env(safe-area-inset-left)); right: auto; top: auto; bottom: max(18px, env(safe-area-inset-bottom));
}
#pfa-consent[data-compact-position="top_right"] {
  top: max(18px, env(safe-area-inset-top)); right: max(18px, env(safe-area-inset-right)); bottom: auto; left: auto;
}
#pfa-consent[data-compact-position="top_left"] {
  top: max(18px, env(safe-area-inset-top)); left: max(18px, env(safe-area-inset-left)); right: auto; bottom: auto;
}
#pfa-consent[data-compact-position="bottom_full"] {
  width: 100%; left: 0; right: 0; bottom: 0; max-height: min(42dvh, 240px);
}

#pfa-consent .pfa-consent-footer {
  max-height: calc(100dvh - 36px);
  overflow-y: auto;
  display: block;
  padding: 14px;
  border: 1px solid #dfe2e7;
  border-radius: 11px;
  background: #fbfcfe;
  box-shadow: 0 5px 24px rgba(24, 34, 53, .13);
}
#pfa-consent[data-compact-position="bottom_full"] .pfa-consent-footer {
  border-radius: 10px 10px 0 0;
  padding: 14px 18px max(14px, env(safe-area-inset-bottom));
}
#pfa-consent .pfa-consent-compact-title {
  color: var(--pfa-ink);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 5px;
}
#pfa-consent .pfa-consent-compact-description {
  color: var(--pfa-muted);
  font-size: 1rem;
  line-height: 1.45;
  margin: 0;
  max-width: 48ch;
  overflow-wrap: anywhere;
}
#pfa-consent .pfa-consent-compact-policy {
  color: var(--pfa-blue);
  display: inline-block;
  font-size: .94rem;
  font-weight: 600;
  margin-top: 7px;
  overflow-wrap: anywhere;
  text-underline-offset: .16em;
}
#pfa-consent .pfa-consent-compact-actions {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 12px;
}
#pfa-consent .pfa-consent-compact-action {
  appearance: none;
  border: 1px solid transparent;
  border-radius: 5px;
  background: transparent;
  color: var(--pfa-blue);
  cursor: pointer;
  font: inherit;
  font-size: 1rem;
  font-weight: 650;
  text-decoration: underline;
  line-height: 1.2;
  min-height: 38px;
  min-width: 0;
  overflow-wrap: anywhere;
  padding: 7px 5px;
  text-align: center;
}
#pfa-consent .pfa-consent-compact-action:hover { color: var(--pfa-blue-hover); background: #eaf0fb; border-color: #aebcda; }
#pfa-consent .pfa-consent-compact-action:disabled { cursor: not-allowed; opacity: .55; }
#pfa-consent .pfa-consent-gpc {
  display: block;
  color: var(--pfa-muted);
  font-size: .84rem;
  padding: 9px 2px 0;
}
#pfa-consent .pfa-consent-status {
  color: #8a351d;
  font-size: .88rem;
  margin: 0 0 8px;
  overflow-wrap: anywhere;
}
#pfa-consent .pfa-consent-status:empty { display: none; }

#pfa-consent .pfa-consent-overlay {
  align-items: center;
  background: rgba(20, 26, 36, .56);
  display: flex;
  inset: 0;
  justify-content: center;
  overflow: auto;
  padding: max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right))
    max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));
  pointer-events: auto;
  position: fixed;
  z-index: 100000;
}
#pfa-consent .pfa-consent-overlay[hidden] { display: none !important; }
#pfa-consent .pfa-consent-overlay[data-modal-position="top"] { align-items: flex-start; }
#pfa-consent .pfa-consent-overlay[data-modal-position="bottom"] { align-items: flex-end; }
#pfa-consent .pfa-consent-panel {
  background: var(--pfa-surface);
  border: 1px solid #d9dce1;
  border-radius: 5px;
  box-shadow: 0 18px 70px rgba(11, 20, 39, .25);
  color: var(--pfa-ink);
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  max-height: min(820px, calc(100dvh - 40px));
  max-width: 920px;
  min-height: 0;
  overflow: hidden;
  position: relative;
  width: 100%;
}
#pfa-consent .pfa-consent-header {
  align-items: center;
  border-bottom: 1px solid var(--pfa-border);
  display: flex;
  flex: 0 0 auto;
  min-height: 75px;
  padding: 17px 64px 16px 24px;
  position: relative;
}
#pfa-consent #pfa-consent-title {
  color: var(--pfa-ink);
  font: inherit;
  font-size: 1.26rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0;
  overflow-wrap: anywhere;
}
#pfa-consent .pfa-consent-plugin-name {
  color: var(--pfa-muted);
  font-size: .82rem;
  margin: 3px 0 0 14px;
}
#pfa-consent .pfa-consent-close {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: 3px;
  color: var(--pfa-ink);
  cursor: pointer;
  display: flex;
  font: inherit;
  font-size: 30px;
  height: 44px;
  justify-content: center;
  line-height: 1;
  margin: 0;
  padding: 0;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
}
#pfa-consent .pfa-consent-tabs {
  border-bottom: 1px solid var(--pfa-border);
  display: grid;
  flex: 0 0 auto;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
#pfa-consent .pfa-consent-tab {
  appearance: none;
  background: transparent;
  border: 0;
  border-bottom: 3px solid transparent;
  color: var(--pfa-ink);
  cursor: pointer;
  font: inherit;
  font-weight: 650;
  min-height: 55px;
  padding: 12px 8px 9px;
}
#pfa-consent .pfa-consent-tab[aria-selected="true"] {
  border-bottom-color: var(--pfa-blue);
  color: var(--pfa-blue);
}
#pfa-consent .pfa-consent-tab-panel {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 24px;
}
#pfa-consent .pfa-consent-message {
  color: var(--pfa-ink);
  margin: 0;
  overflow-wrap: anywhere;
  white-space: pre-line;
}
#pfa-consent .pfa-consent-actions {
  border-top: 1px solid var(--pfa-border);
  display: grid;
  gap: 9px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 24px -24px -24px;
  padding: 17px 24px;
}
#pfa-consent .pfa-consent-actions button,
#pfa-consent .pfa-consent-save {
  appearance: none;
  background: var(--pfa-blue);
  border: 1px solid var(--pfa-blue);
  border-radius: 4px;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: .98rem;
  font-weight: 650;
  line-height: 1.25;
  margin: 0;
  min-height: 48px;
  min-width: 0;
  overflow-wrap: anywhere;
  padding: 10px 12px;
  text-align: center;
}
#pfa-consent .pfa-consent-actions button:hover,
#pfa-consent .pfa-consent-save:hover { background: var(--pfa-blue-hover); border-color: var(--pfa-blue-hover); }
#pfa-consent button:disabled,
#pfa-consent input:disabled { cursor: not-allowed; opacity: .58; }
#pfa-consent .pfa-consent-save:disabled,
#pfa-consent .pfa-consent-accept:disabled {
  background: #e2e8f0;
  border-color: #cbd5e1;
  color: #64748b;
  opacity: 1;
  cursor: not-allowed;
}
#pfa-consent .pfa-consent-details { display: grid; gap: 0; }
#pfa-consent .pfa-consent-category {
  align-items: flex-start;
  border-bottom: 1px solid var(--pfa-border);
  display: flex;
  gap: 14px;
  min-height: 75px;
  padding: 16px 0;
}
#pfa-consent .pfa-consent-category:first-child { padding-top: 0; }
#pfa-consent .pfa-consent-category input {
  accent-color: var(--pfa-blue);
  flex: 0 0 auto;
  height: 21px;
  margin: 3px 0 0;
  width: 21px;
}
#pfa-consent .pfa-consent-category > span { display: block; min-width: 0; overflow-wrap: anywhere; }
#pfa-consent .pfa-consent-category strong { display: block; font-weight: 680; }
#pfa-consent .pfa-consent-category-description {
  color: var(--pfa-muted);
  display: block;
  font-size: .92rem;
  margin-top: 2px;
  overflow-wrap: anywhere;
}
#pfa-consent .pfa-consent-vendors {
  border-bottom: 1px solid var(--pfa-border);
  color: var(--pfa-muted);
  font-size: .92rem;
  margin: 0;
  padding: 12px 0 18px 22px;
  overflow-wrap: anywhere;
}
#pfa-consent .pfa-consent-vendors li + li { margin-top: 5px; }
#pfa-consent .pfa-consent-save { margin-top: 18px; max-width: 100%; }
#pfa-consent .pfa-consent-about-message {
  color: var(--pfa-ink);
  margin: 0;
  overflow-wrap: anywhere;
  white-space: pre-line;
}
#pfa-consent .pfa-consent-about-links { display: flex; flex-wrap: wrap; gap: 10px 24px; }
#pfa-consent .pfa-consent-policy {
  color: var(--pfa-blue);
  display: inline-block;
  margin-top: 16px;
  overflow-wrap: anywhere;
  text-underline-offset: .18em;
}
#pfa-consent :where(button, a, input):focus-visible {
  outline: 3px solid #5577df;
  outline-offset: 3px;
}

@media (max-width: 600px) {
  #pfa-consent .pfa-consent-overlay {
    padding: max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right))
      max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
  }
  #pfa-consent .pfa-consent-panel { max-height: calc(100dvh - 20px); }
  #pfa-consent .pfa-consent-header { min-height: 66px; padding-left: 17px; }
  #pfa-consent .pfa-consent-tab-panel { padding: 18px; }
  #pfa-consent .pfa-consent-actions {
    gap: 7px;
    margin: 20px -18px -18px;
    padding: 12px 14px;
  }
  #pfa-consent .pfa-consent-actions button { padding: 9px 5px; }
}
@media (max-width: 380px) {
  #pfa-consent { width: calc(100vw - 20px); right: 10px; bottom: max(10px, env(safe-area-inset-bottom)); }
  #pfa-consent .pfa-consent-footer { padding: 12px; }
  #pfa-consent[data-compact-position="bottom_full"] .pfa-consent-footer { padding-left: 12px; padding-right: 12px; }
  #pfa-consent .pfa-consent-compact-actions { gap: 5px; margin-top: 10px; }
  #pfa-consent .pfa-consent-compact-action { font-size: .78rem; padding: 7px 3px; }
  #pfa-consent .pfa-consent-plugin-name { font-size: .74rem; margin-left: 8px; }
  #pfa-consent .pfa-consent-actions { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  #pfa-consent *, #pfa-consent *::before, #pfa-consent *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
