:root {
  --legal-consent-bg: rgba(2, 11, 13, 0.78);
  --legal-consent-panel: #102124;
  --legal-consent-panel-strong: #102023;
  --legal-consent-text: #f4fdff;
  --legal-consent-muted: rgba(244, 253, 255, 0.72);
  --legal-consent-primary: #01d6f5;
  --legal-consent-primary-dark: #01b9d4;
  --legal-consent-border: rgba(1, 214, 245, 0.18);
}

.legalConsentOverlay,
.legalConsentOverlay *,
.legalDocModalOverlay,
.legalDocModalOverlay * {
  box-sizing: border-box !important;
}

.legalConsentOverlay,
.legalDocModalOverlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  background: var(--legal-consent-bg) !important;
  backdrop-filter: blur(4px);
}

.legalDocModalOverlay {
  z-index: 2147483001 !important;
  background: rgba(2, 11, 13, 0.76) !important;
  backdrop-filter: blur(5px);
}

.legalConsentDialog,
.legalConsentDialog *:not(svg):not(path),
.legalDocModal,
.legalDocModal *:not(svg):not(path) {
  font-family: 'Poppins', Arial, sans-serif !important;
  font-style: normal !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-shadow: none !important;
}

.legalConsentDialog {
  width: min(480px, 100%) !important;
  max-height: calc(100vh - 48px) !important;
  overflow: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--legal-consent-border) !important;
  border-radius: 8px !important;
  background: var(--legal-consent-panel) !important;
  color: var(--legal-consent-text) !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.55) !important;
}

.legalConsentHeader {
  margin: 0 !important;
  padding: 20px 22px 10px !important;
}

.legalConsentTitle {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--legal-consent-text) !important;
  font-size: 22px !important;
  line-height: 1.22 !important;
  font-weight: 800 !important;
}

.legalConsentBody {
  margin: 0 !important;
  padding: 0 22px 22px !important;
}

.legalConsentText {
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: var(--legal-consent-muted) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  font-weight: 500 !important;
}

.legalConsentLinks {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
}

.legalConsentDocButton,
.legalConsentButton,
.legalDocModalClose,
.legalDocModalBack,
.legalDocModal .docBtn {
  appearance: none !important;
  -webkit-appearance: none !important;
  font: inherit !important;
  text-transform: none !important;
}

.legalConsentDocButton {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 1px solid rgba(1, 214, 245, 0.22) !important;
  border-radius: 7px !important;
  background: rgba(1, 214, 245, 0.055) !important;
  color: var(--legal-consent-primary) !important;
  box-shadow: none !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.legalConsentDocButton:hover,
.legalConsentDocButton:focus-visible {
  border-color: rgba(1, 214, 245, 0.4) !important;
  background: rgba(1, 214, 245, 0.1) !important;
  color: #61eafb !important;
  outline: none !important;
}

.legalConsentCheck {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  align-items: start !important;
  column-gap: 10px !important;
  width: 100% !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(244, 253, 255, 0.86) !important;
  text-align: left !important;
}

.legalConsentCheckControl {
  position: relative !important;
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
  line-height: 0 !important;
}

.legalConsentCheckControl input,
.legalConsentCheckControl input[type='checkbox'] {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.legalConsentCheckBox {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(244, 253, 255, 0.42) !important;
  border-radius: 5px !important;
  background: rgba(0, 0, 0, 0.18) !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.legalConsentCheckBox::before,
.legalConsentCheckBox::after {
  content: none !important;
  display: none !important;
}

.legalConsentCheck.isChecked .legalConsentCheckBox {
  border-color: var(--legal-consent-primary) !important;
  background: var(--legal-consent-primary) !important;
}

.legalConsentCheck.isChecked .legalConsentCheckBox::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  left: 50% !important;
  top: 47% !important;
  width: 6px !important;
  height: 11px !important;
  border: solid #071417 !important;
  border-width: 0 2px 2px 0 !important;
  transform: translate(-50%, -58%) rotate(45deg) !important;
  transform-origin: center center !important;
}

.legalConsentCheck > span:last-child {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 1px 0 0 !important;
  color: rgba(244, 253, 255, 0.86) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
}

.legalConsentActions {
  display: flex !important;
  justify-content: stretch !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.legalConsentButton {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 1px solid var(--legal-consent-primary-dark) !important;
  border-radius: 7px !important;
  background: var(--legal-consent-primary-dark) !important;
  color: #071417 !important;
  box-shadow: none !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: background 0.14s ease, border-color 0.14s ease, opacity 0.14s ease !important;
}

.legalConsentButton:hover:not(:disabled),
.legalConsentButton:focus-visible:not(:disabled) {
  border-color: #61eafb !important;
  background: #61eafb !important;
  outline: none !important;
}

.legalConsentButton:disabled {
  cursor: not-allowed !important;
  opacity: 0.48 !important;
}

.legalConsentError {
  overflow-wrap: anywhere;
  display: none !important;
  margin: 0 0 14px !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(255, 77, 88, 0.25) !important;
  border-radius: 7px !important;
  background: rgba(255, 77, 88, 0.08) !important;
  color: #ff9aa2 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
}

.legalConsentError.isVisible {
  display: block !important;
}

body.legalConsentLocked {
  overflow: hidden !important;
}

.legalDocModal {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  width: min(760px, 86vw) !important;
  max-height: calc(100vh - 36px) !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 26px 0 24px !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 8px !important;
  background: linear-gradient(135deg, #0f2426 0%, #081112 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.65) !important;
}

.legalDocModalTitle {
  margin: 0 56px 4px !important;
  padding: 0 !important;
  color: #ffffff !important;
  text-align: center !important;
  font-size: 30px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
}

.legalDocModalClose {
  position: absolute !important;
  top: 22px !important;
  right: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(255, 255, 255, 0.82) !important;
  box-shadow: none !important;
  font-size: 32px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

.legalDocModalClose:hover,
.legalDocModalClose:focus-visible {
  color: #ffffff !important;
  background: transparent !important;
  outline: none !important;
}

.legalDocModalBody {
  margin: 0 !important;
  padding: 0 24px !important;
  overflow: hidden !important;
}

.legalDocModalBody .termsModalContent {
  text-align: left !important;
}

.legalDocModalBody .termsModalSubtitle {
  margin: 0 0 20px !important;
  min-height: 21px !important;
  color: #cfd8e3 !important;
  text-align: center !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
}

.legalDocModalBody .docViewer {
  width: 100% !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

.legalDocModalBody .docControls,
.legalDocModalBody .docControlsBottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 62px !important;
  margin: 0 !important;
  padding: 0 20px !important;
  border-radius: 0 !important;
  background: #263f89 !important;
  color: #ffffff !important;
}

.legalDocModalBody .docControls {
  border-top-left-radius: 8px !important;
  border-top-right-radius: 8px !important;
}

.legalDocModalBody .docControlsBottom {
  border-bottom-left-radius: 8px !important;
  border-bottom-right-radius: 8px !important;
}

.legalDocModalBody .docPages {
  height: clamp(420px, 58dvh, 620px) !important;
  overflow-y: auto !important;
  background: #ffffff !important;
}

.legalDocModalBody .docPage {
  display: none !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 36px 44px !important;
  background: #ffffff !important;
  color: #111827 !important;
}

.legalDocModalBody .docPage.active {
  display: block !important;
}

.legalDocModalBody .docPage h2 {
  margin: 0 0 18px !important;
  padding: 0 0 10px !important;
  border: 0 !important;
  border-bottom: 2px solid var(--legal-consent-primary) !important;
  color: #000000 !important;
  font-size: 24px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
}

.legalDocModalBody .docPage p,
.legalDocModalBody .docPage li {
  margin: 0 0 16px !important;
  color: #1f2937 !important;
  text-align: left !important;
  font-size: 16px !important;
  line-height: 1.62 !important;
  font-weight: 400 !important;
}

.legalDocModalBody .docPage ul {
  margin: 0 0 16px !important;
  padding-left: 24px !important;
}

.legalDocModalBody .docPage strong,
.legalDocModalBody .docPage b {
  font-weight: 800 !important;
}

.legalDocModalBody .docPage a {
  color: #00bfe0 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.legalDocModalBody .docActions {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.legalDocModalBody .docBtn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.legalDocModalBody .docBtn:disabled {
  cursor: not-allowed !important;
  opacity: 0.36 !important;
}

.legalDocModalBody .docBtn svg {
  width: 20px !important;
  height: 20px !important;
}

.legalDocModalBody .docPageInfo {
  margin: 0 !important;
  color: #ffffff !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}

.legalDocModalBody .docDots {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
}

.legalDocModalBody .docDot {
  display: block !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.32) !important;
}

.legalDocModalBody .docDot.active {
  background: var(--legal-consent-primary) !important;
}

.legalDocModalActions {
  display: flex !important;
  justify-content: center !important;
  margin-top: 26px !important;
}

.legalDocModalBack {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: #7662df !important;
  color: #ffffff !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

.legalDocModalBack:hover,
.legalDocModalBack:focus-visible {
  background: #8471ee !important;
  outline: none !important;
}

@media (max-width: 560px) {
  .legalConsentOverlay {
    padding: 16px !important;
  }

  .legalConsentDialog {
    width: min(100%, 360px) !important;
    max-height: calc(100dvh - 32px) !important;
  }

  .legalConsentHeader {
    padding: 18px 18px 10px !important;
  }

  .legalConsentTitle {
    font-size: 21px !important;
  }

  .legalConsentBody {
    padding: 0 18px 18px !important;
  }

  .legalConsentLinks {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  .legalDocModalOverlay {
    padding: 16px !important;
  }

  .legalDocModal {
    width: min(92vw, 760px) !important;
  }

  .legalDocModalTitle {
    margin-right: 44px !important;
    margin-left: 44px !important;
    font-size: 26px !important;
  }

  .legalDocModalBody {
    padding: 0 12px !important;
  }

  .legalDocModalBody .docPages {
    height: clamp(360px, 58dvh, 520px) !important;
  }

  .legalDocModalBody .docPage {
    padding: 28px 22px !important;
  }

  .legalDocModalBody .docControlsBottom {
    gap: 12px !important;
    flex-wrap: wrap !important;
  }
}
