.authv3-page,
.authv3-card,
.authv3-form,
.legal-consent-box,
.legal-consent-label,
.legal-consent-copy {
  box-sizing: border-box !important;
}

.authv3-form {
  width: 100% !important;
  min-width: 0 !important;
}

.authv3-form .legal-consent-box {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 4px 0 0 !important;
  padding: 14px 16px !important;
  overflow: hidden !important;
  border: 1px solid #dddff0 !important;
  border-radius: 16px !important;
  background: #f8f8fd !important;
}

.authv3-form .legal-consent-label {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  align-items: start !important;
  justify-content: start !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  color: #242735 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  text-align: left !important;
  white-space: normal !important;
}

.authv3-form .legal-consent-label input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  position: static !important;
  inset: auto !important;
  display: block !important;
  flex: none !important;
  width: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  height: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  border-radius: 4px !important;
  transform: none !important;
  box-shadow: none !important;
  accent-color: #6254e8 !important;
}

.authv3-form .legal-consent-copy {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  white-space: normal !important;
}

.authv3-form .legal-consent-copy a {
  display: inline !important;
  color: #5546db !important;
  font-weight: 800 !important;
  line-height: inherit !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
}

.authv3-register-actions {
  width: 100% !important;
  min-width: 0 !important;
}

.authv3-verify-card form {
  display: flex !important;
  justify-content: center !important;
}

.authv3-verify-card .authv3-submit {
  max-width: 100% !important;
}

@media (max-width: 600px) {
  .authv3-page {
    width: calc(100% - 20px) !important;
    max-width: 680px !important;
    margin: 12px auto 38px !important;
  }

  .authv3-card {
    width: 100% !important;
    min-width: 0 !important;
    padding: 24px 16px !important;
    overflow: hidden !important;
    border-radius: 22px !important;
  }

  .authv3-form {
    gap: 15px !important;
  }

  .authv3-form .legal-consent-box {
    padding: 13px 14px !important;
    border-radius: 15px !important;
  }

  .authv3-form .legal-consent-label {
    grid-template-columns: 21px minmax(0, 1fr) !important;
    gap: 9px !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  .authv3-form .legal-consent-label input[type="checkbox"] {
    width: 19px !important;
    min-width: 19px !important;
    max-width: 19px !important;
    height: 19px !important;
    min-height: 19px !important;
    max-height: 19px !important;
  }

  .authv3-register-actions #authv3-register-submit {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .authv3-verify-card h1 {
    font-size: 30px !important;
  }

  .authv3-verify-card .authv3-submit {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* Keep only the canonical password-match message from auth-v3.js. */
#authv3-register-form .vine-password-match-message,
#authv3-register-form #vine-password-status,
#authv3-reset-form .vine-password-match-message,
#authv3-reset-form #vine-password-status {
  display: none !important;
}

/* ===== Vine Cloud agreement mobile containment ===== */

.vc-setup-wrap,
.vc-setup-card,
.vc-setup-card form,
.vc-setup-card .legal-consent-box,
.vc-setup-card .legal-consent-label,
.vc-setup-card .legal-consent-copy {
  box-sizing: border-box !important;
  min-width: 0 !important;
}

.vc-setup-card form {
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

.vc-setup-card .vc-legal-consent-box {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 18px 0 22px !important;
  padding: 14px 16px !important;
  overflow: hidden !important;
  border: 1px solid #dfe3ed !important;
  border-radius: 16px !important;
  background: #f8f9fc !important;
}

.vc-setup-card .vc-legal-consent-label {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  align-items: start !important;
  justify-content: start !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  color: #202533 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  text-align: left !important;
  white-space: normal !important;
}

.vc-setup-card
.vc-legal-consent-label
input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  position: static !important;
  inset: auto !important;
  display: block !important;
  flex: none !important;
  width: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  height: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 4px !important;
  transform: none !important;
  box-shadow: none !important;
  accent-color: #6254e8 !important;
}

.vc-setup-card .vc-legal-consent-copy {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  white-space: normal !important;
}

.vc-setup-card .vc-legal-consent-copy a {
  display: inline !important;
  color: #5546db !important;
  font-weight: 800 !important;
  line-height: inherit !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
}

@media (max-width: 720px) {
  .vc-setup-wrap {
    width: calc(100% - 20px) !important;
    max-width: 980px !important;
    margin: 14px auto 38px !important;
    padding: 0 !important;
  }

  .vc-setup-card {
    width: 100% !important;
    max-width: 100% !important;
    padding: 24px 16px !important;
    overflow: hidden !important;
    border-radius: 22px !important;
  }

  .vc-setup-card .vc-page-title {
    font-size: 36px !important;
  }

  .vc-setup-card .vc-legal-consent-box {
    padding: 13px 14px !important;
    border-radius: 15px !important;
  }

  .vc-setup-card .vc-legal-consent-label {
    grid-template-columns: 21px minmax(0, 1fr) !important;
    gap: 9px !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  .vc-setup-card
  .vc-legal-consent-label
  input[type="checkbox"] {
    width: 19px !important;
    min-width: 19px !important;
    max-width: 19px !important;
    height: 19px !important;
    min-height: 19px !important;
    max-height: 19px !important;
  }

  .vc-setup-card .vc-submit-btn {
    width: 100% !important;
    max-width: 100% !important;
  }
}
